From 6db9a8d6eaf7cfe924da556a3086daebadac354e Mon Sep 17 00:00:00 2001 From: Ryan Myers Date: Tue, 25 Mar 2025 09:07:00 -0400 Subject: [PATCH] Splat merge (#470) * First pass * Fix n64crc and add submodules properly * Fix other versions * Match func_8005B818 for v80 code. * Formatting * Fix build for JPN in last commit. Still broken in post v77 roms though. * Fix builds for other versions. * Match load_menu_text for other versions. * Fix progress script * update m2c * Modify asset tools to remove the LD script code. * Fix asm file macro inclue * Get a working splat version for us_1.0 to build from the assets tool. * update asm differ * Update tools again * Fix the makefile to only compile assets when requested. This will build all versions successfully, and compile assets for us_1.0 when requested. * First round of suggestions * Small cleanup * Fix the gcc_generate.py path. * Make entrypointThreadStack * Small addition to the last commit * "Fix" score script. Still need to fix the score values themselves, but at least it runs and is kind of close. * Much closer matching score script * Fix the splat version due to a breaking change in 0.33.0 for this repo for now. * Fix the main function name * Add gitignore entries * Fix the padding problem to be handled by objcopy instead of a binary pad from splat. * Update the README and change dependencies to setup. * Have a hasm header that can be tweaked. * Still calculate the checksum on no_verify builds or they won't work. * Add support for boot_custom.bin * Fix custom boot ld code. * Fix score script * Fix gcc building. * Update m2c * Fix warning, stop ignoring mod assets, and add some handy make rules. * Uggh, serves me right for not testing. * First stab at modifiable entrypoint. * Fix typo, and small README change * Stop n64crd from defaulting to returning 6105, so we can properly fail if the CIC checksum fails. Also, fix the * Extract custom boot script * Update automated scripts. * Woops, fixed the MAXCONTROLLERS thing now. * Add the method for building binutils back. Sorry! * Only use -m32 when the longbit says we're on a 64 bit platform. * Woops.... * Hopefully fix arm detection for raspi ido downloads. --- .github/workflows/UpdateScore.yml | 25 +- .github/workflows/VerifyBuild.yml | 26 +- .github/workflows/VerifyNonEquivalent.yml | 24 +- .github/workflows/VerifyNonMatching.yml | 24 +- .gitignore | 104 +- .gitmodules | 15 +- Makefile | 719 +- README.md | 69 +- asm/assets/assets.s | 13928 ---------------- asm/assets/ucode_data.s | 14 - asm/assets/ucode_text.s | 16 - asm/boot/boot.bin | Bin 4032 -> 0 bytes asm/boot/rom_boot.s | 1 - asm/boot/rom_header.s | 20 - asm/collision/func_80031130.s | 265 - asm/collision/func_800314DC.s | 90 - asm/collision/func_80031600.s | 397 - asm/entrypoint.s | 35 - asm/get_stack_pointer.s | 15 - asm/gzip.s | 40 - asm/gzip/gzip_inflate_block.s | 74 - asm/gzip/gzip_inflate_codes.s | 216 - asm/gzip/gzip_inflate_dynamic.s | 295 - asm/gzip/gzip_inflate_fixed.s | 92 - asm/gzip/gzip_inflate_stored.s | 76 - asm/math_util/arctan2_f.s | 13 - asm/math_util/area_triangle_2d.s | 47 - asm/math_util/atan2s.s | 68 - asm/math_util/bad_int_sqrt.s | 7 - .../calc_dyn_lighting_for_level_segment.s | 98 - asm/math_util/coss.s | 29 - asm/math_util/coss_f.s | 15 - asm/math_util/disable_interrupts.s | 14 - asm/math_util/dmacopy_doubleword.s | 11 - asm/math_util/enable_interrupts.s | 13 - asm/math_util/f32_matrix_dot.s | 34 - asm/math_util/f32_matrix_from_position.s | 19 - .../f32_matrix_from_rotation_and_scale.s | 47 - asm/math_util/f32_matrix_from_scale.s | 16 - asm/math_util/f32_matrix_mult.s | 70 - asm/math_util/f32_matrix_scale.s | 13 - asm/math_util/f32_matrix_to_s16_matrix.s | 43 - asm/math_util/f32_matrix_to_s32_matrix.s | 30 - asm/math_util/f32_matrix_y_scale.s | 19 - .../f32_vec3_apply_object_rotation.s | 49 - .../f32_vec3_apply_object_rotation2.s | 49 - .../f32_vec3_apply_object_rotation3.s | 27 - asm/math_util/func_80070058.s | 55 - asm/math_util/get_gIntDisFlag.s | 4 - asm/math_util/guMtxXFMF.s | 42 - asm/math_util/load_rng_seed.s | 6 - asm/math_util/object_transform_to_matrix.s | 119 - asm/math_util/object_transform_to_matrix_2.s | 122 - .../point_triangle_2d_xz_intersection.s | 72 - asm/math_util/rng.s | 30 - asm/math_util/s16_matrix_rotate.s | 37 - asm/math_util/s16_matrix_to_s32_matrix.s | 16 - .../s16_vec3_apply_object_rotation.s | 81 - asm/math_util/s16_vec3_mult_by_s32_matrix.s | 54 - .../s16_vec3_mult_by_s32_matrix_full.s | 59 - asm/math_util/s32_matrix_cell_sqrt.s | 12 - asm/math_util/s32_matrix_to_s16_matrix.s | 27 - asm/math_util/save_rng_seed.s | 6 - asm/math_util/set_breakpoint.s | 13 - asm/math_util/set_gIntDisFlag.s | 4 - asm/math_util/sins_2.s | 21 - asm/math_util/sins_f.s | 15 - asm/math_util_data.s | 22 - .../audio_spatial/func_80008040.s | 68 - .../audio_spatial/func_80008174.s | 196 - .../audio_spatial/func_80008438.s | 866 - .../audio_spatial/func_80009968.s | 37 - .../audio_spatial/func_80009B7C.s | 134 - .../audio_spatial/func_80009D6C.s | 287 - .../audio_spatial/func_8000A184.s | 97 - .../audio_vehicle/func_80004B40.s | 382 - .../audio_vehicle/func_80005254.s | 766 - .../audio_vehicle/func_800063EC.s | 490 - .../audio_vehicle/func_80006FC8.s | 1107 -- asm/non_matchings/audiosfx/_handleEvent.s | 884 - asm/non_matchings/audiosfx/func_80004520.s | 66 - asm/non_matchings/audiosfx/func_80004668.s | 148 - asm/non_matchings/camera/func_80066CDC.s | 908 - asm/non_matchings/game_ui/func_8009F034.s | 1117 -- asm/non_matchings/game_ui/func_800A1E48.s | 315 - asm/non_matchings/game_ui/func_800A277C.s | 1061 -- asm/non_matchings/game_ui/func_800A6254.s | 794 - asm/non_matchings/game_ui/func_800AA600.s | 671 - asm/non_matchings/lights/func_80031CAC.s | 194 - asm/non_matchings/lights/func_80032C7C.s | 760 - asm/non_matchings/menu/func_8007FFEC.s | 343 - asm/non_matchings/menu/func_80083098.s | 311 - asm/non_matchings/menu/func_8008F618.s | 288 - asm/non_matchings/menu/func_8008FF1C.s | 397 - .../object_models/func_8006017C.s | 505 - .../object_models/func_80060910.s | 121 - .../object_models/func_80060AC8.s | 112 - .../object_models/func_80060EA8.s | 784 - .../calc_dynamic_lighting_for_object_1.s | 350 - .../objects/calc_env_mapping_for_object.s | 269 - .../objects/decrypt_magic_codes.s | 102 - asm/non_matchings/objects/func_8000B38C.s | 246 - asm/non_matchings/objects/func_8000B750.s | 248 - asm/non_matchings/objects/func_8000CC7C.s | 1439 -- asm/non_matchings/objects/func_8000E5EC.s | 121 - asm/non_matchings/objects/func_8000E79C.s | 70 - asm/non_matchings/objects/func_800101AC.s | 582 - asm/non_matchings/objects/func_80010994.s | 534 - asm/non_matchings/objects/func_80011134.s | 82 - asm/non_matchings/objects/func_80011264.s | 71 - asm/non_matchings/objects/func_80012F94.s | 364 - asm/non_matchings/objects/func_800135B8.s | 202 - asm/non_matchings/objects/func_80014090.s | 149 - asm/non_matchings/objects/func_80014814.s | 126 - asm/non_matchings/objects/func_800159C8.s | 774 - asm/non_matchings/objects/func_80017248.s | 461 - asm/non_matchings/objects/func_80017A18.s | 305 - asm/non_matchings/objects/func_80017E98.s | 492 - asm/non_matchings/objects/func_800185E4.s | 448 - asm/non_matchings/objects/func_80018CE0.s | 580 - asm/non_matchings/objects/func_80019808.s | 1113 -- asm/non_matchings/objects/func_8001C6C4.s | 382 - asm/non_matchings/objects/func_8001CC48.s | 66 - asm/non_matchings/objects/func_8001CD28.s | 318 - asm/non_matchings/objects/func_8001E93C.s | 366 - asm/non_matchings/objects/func_8001F460.s | 1952 --- asm/non_matchings/objects/func_80021600.s | 1031 -- asm/non_matchings/objects/spawn_object.s | 842 - asm/non_matchings/particles/func_800AE728.s | 478 - asm/non_matchings/particles/func_800AF404.s | 77 - asm/non_matchings/printf/func_800B653C.s | 296 - asm/non_matchings/printf/vsprintf.s | 1500 -- asm/non_matchings/racer/func_80042D20.s | 1242 -- asm/non_matchings/racer/func_8004447C.s | 897 - asm/non_matchings/racer/func_800452A0.s | 707 - asm/non_matchings/racer/func_80045C48.s | 607 - asm/non_matchings/racer/func_80049794.s | 2875 ---- asm/non_matchings/racer/func_8004CC20.s | 651 - asm/non_matchings/racer/func_80059208.s | 384 - .../racer/set_ghost_position_and_rotation.s | 377 - asm/non_matchings/racer/update_camera_car.s | 667 - asm/non_matchings/racer/update_camera_plane.s | 673 - asm/non_matchings/rcp/func_80078190.s | 398 - .../textures_sprites/build_tex_display_list.s | 2060 --- .../textures_sprites/func_8007C12C.s | 281 - .../textures_sprites/func_8007CA68.s | 161 - .../textures_sprites/func_8007CDC0.s | 213 - .../textures_sprites/load_texture.s | 300 - asm/non_matchings/tracks/func_80025510.s | 183 - asm/non_matchings/tracks/func_8002581C.s | 569 - asm/non_matchings/tracks/func_80026430.s | 541 - asm/non_matchings/tracks/func_80027184.s | 254 - asm/non_matchings/tracks/func_80027568.s | 252 - asm/non_matchings/tracks/func_80028050.s | 612 - asm/non_matchings/tracks/func_8002B0F4.s | 602 - asm/non_matchings/tracks/func_8002BAB0.s | 418 - asm/non_matchings/tracks/func_8002C0C4.s | 432 - asm/non_matchings/tracks/func_8002CC30.s | 462 - asm/non_matchings/tracks/func_8002E904.s | 404 - asm/non_matchings/tracks/func_8002EEEC.s | 259 - asm/non_matchings/tracks/func_8002F2AC.s | 110 - asm/non_matchings/tracks/func_8002F440.s | 413 - asm/non_matchings/tracks/func_8002FF6C.s | 369 - asm/non_matchings/tracks/func_800304C8.s | 109 - asm/non_matchings/waves/func_800B82B4.s | 611 - asm/non_matchings/waves/func_800B8C04.s | 428 - asm/non_matchings/waves/func_800B92F4.s | 322 - asm/non_matchings/waves/func_800B97A8.s | 302 - asm/non_matchings/waves/func_800B9C18.s | 440 - asm/non_matchings/waves/func_800BA4B8.s | 290 - asm/non_matchings/waves/func_800BA8E4.s | 672 - asm/non_matchings/waves/func_800BB2F4.s | 741 - asm/non_matchings/waves/func_800BBF78.s | 511 - asm/non_matchings/waves/func_800BC6C8.s | 404 - asm/non_matchings/waves/func_800BCC70.s | 1102 -- asm/non_matchings/waves/func_800BDC80.s | 659 - asm/non_matchings/waves/func_800BE654.s | 576 - .../weather/render_rain_overlay.s | 370 - asm/object_animate.s | 383 - asm/unknown_0251F0.s | 11 - .../calc_dynamic_lighting_for_object_2.s | 178 - asm/unknown_0251F0/func_800245F0.s | 94 - compile_all.sh | 13 + decompme_friendly_gfx_macros.c | 3468 ---- diff.sh | 4 +- diff_settings.py | 7 + find_sym.sh | 13 - first_diff.sh | 6 +- generate_ctx.sh | 4 +- get_symbol.sh | 1 - include/audio_internal.h | 2 - include/macro.inc | 6 + lib/asm/getcount.s | 20 - lib/asm/getsr.s | 20 - lib/asm/interrupt.s | 35 - lib/asm/libm_vals.s | 8 - lib/asm/params.s | 11 - lib/asm/setfpccsr.s | 19 - lib/asm/setsr.s | 20 - lib/asm/sqrtf.s | 18 - lib/src/audio/mips1/csplayer.c | 949 -- {lib => libultra}/src/audio/bnkf.c | 2 - {lib => libultra}/src/audio/cents2ratio.c | 2 - {lib => libultra}/src/audio/copy.c | 2 - {lib => libultra}/src/audio/cseq.c | 2 - {lib => libultra}/src/audio/cseq.h | 0 {lib => libultra}/src/audio/cseqp.h | 0 {lib => libultra}/src/audio/cspgetchlvol.c | 2 - {lib => libultra}/src/audio/cspgetstate.c | 2 - {lib => libultra}/src/audio/cspgettempo.c | 2 - {lib => libultra}/src/audio/cspplay.c | 2 - {lib => libultra}/src/audio/cspsetbank.c | 2 - {lib => libultra}/src/audio/cspsetchlvol.c | 2 - {lib => libultra}/src/audio/cspsetpan.c | 2 - {lib => libultra}/src/audio/cspsetseq.c | 2 - {lib => libultra}/src/audio/cspsettempo.c | 2 - {lib => libultra}/src/audio/cspsetvol.c | 2 - {lib => libultra}/src/audio/cspstop.c | 2 - {lib => libultra}/src/audio/env.c | 4 +- {lib => libultra}/src/audio/event.c | 2 - {lib => libultra}/src/audio/filter.c | 2 - {lib => libultra}/src/audio/heapalloc.c | 2 - {lib => libultra}/src/audio/heapinit.c | 2 - {lib => libultra}/src/audio/initfx.h | 0 {lib => libultra}/src/audio/load.c | 2 - {lib => libultra}/src/audio/mainbus.c | 2 - {lib => libultra}/src/audio/mips1/auxbus.c | 3 - .../src/audio/mips1/cspgetfadein.c | 3 - libultra/src/audio/mips1/csplayer.c | 944 ++ .../src/audio/mips1/cspsetfadein.c | 3 - {lib => libultra}/src/audio/mips1/drvrnew.c | 2 - {lib => libultra}/src/audio/mips1/reverb.c | 2 - .../src/audio/mips1/seqchannel.c | 3 - {lib => libultra}/src/audio/mips1/seqplayer.c | 2 - .../src/audio/mips1/synallocfx.c | 2 - {lib => libultra}/src/audio/mips1/synsetpan.c | 2 - .../src/audio/mips1/synstartvoiceparam.c | 2 - .../src/audio/mips1/synthesizer.c | 2 - .../src/audio/mips1/unknown_064690.c | 2 - {lib => libultra}/src/audio/resample.c | 2 - {lib => libultra}/src/audio/save.c | 2 - {lib => libultra}/src/audio/seq.h | 0 {lib => libultra}/src/audio/seqchannel.h | 0 {lib => libultra}/src/audio/seqp.h | 0 {lib => libultra}/src/audio/seqpgetfxmix.c | 2 - {lib => libultra}/src/audio/sl.c | 2 - {lib => libultra}/src/audio/synaddplayer.c | 2 - {lib => libultra}/src/audio/synallocvoice.c | 2 - {lib => libultra}/src/audio/syndelete.c | 2 - {lib => libultra}/src/audio/synfreevoice.c | 2 - {lib => libultra}/src/audio/synsetfxmix.c | 2 - {lib => libultra}/src/audio/synsetpitch.c | 2 - {lib => libultra}/src/audio/synsetpriority.c | 2 - {lib => libultra}/src/audio/synsetvol.c | 2 - {lib => libultra}/src/audio/synstartvoice.c | 2 - .../src/audio/synstartvoiceparam.h | 0 {lib => libultra}/src/audio/synstopvoice.c | 2 - {lib => libultra}/src/audio/synthInternals.h | 2 - {lib => libultra}/src/debug/assert.c | 3 - {lib => libultra}/src/debug/assert.h | 0 {lib => libultra}/src/debug/osint_debug.h | 0 {lib => libultra}/src/gu/cosf.c | 2 - {lib => libultra}/src/gu/guint.h | 0 libultra/src/gu/libm_vals.s | 5 + {lib => libultra}/src/gu/mtxutil.c | 2 - {lib => libultra}/src/gu/perspective.c | 3 +- {lib => libultra}/src/gu/sinf.c | 3 - libultra/src/gu/sqrtf.s | 13 + {lib => libultra}/src/io/ai.c | 3 - {lib => libultra}/src/io/aigetlen.c | 2 - {lib => libultra}/src/io/aisetfreq.c | 3 - {lib => libultra}/src/io/aisetnextbuf.c | 3 - {lib => libultra}/src/io/conteepprobe.c | 3 - {lib => libultra}/src/io/conteepread.c | 3 - {lib => libultra}/src/io/conteepwrite.c | 3 - {lib => libultra}/src/io/contpfs.c | 2 - {lib => libultra}/src/io/contramread.c | 2 - {lib => libultra}/src/io/contramwrite.c | 3 - {lib => libultra}/src/io/contreaddata.c | 3 - {lib => libultra}/src/io/controller.c | 3 - {lib => libultra}/src/io/crc.c | 3 - {lib => libultra}/src/io/devmgr.c | 3 - {lib => libultra}/src/io/dp.c | 3 - {lib => libultra}/src/io/dpgetstat.c | 3 - {lib => libultra}/src/io/dpsetnextbuf.c | 3 - {lib => libultra}/src/io/dpsetstat.c | 3 - {lib => libultra}/src/io/epirawdma.c | 3 - {lib => libultra}/src/io/epirawwrite.c | 3 - {lib => libultra}/src/io/leointerrupt.c | 3 - {lib => libultra}/src/io/motor.c | 3 - {lib => libultra}/src/io/pfsallocatefile.c | 3 - {lib => libultra}/src/io/pfschecker.c | 3 - {lib => libultra}/src/io/pfsdeletefile.c | 3 - {lib => libultra}/src/io/pfsfilestate.c | 3 - {lib => libultra}/src/io/pfsfreeblocks.c | 3 - {lib => libultra}/src/io/pfsinit.c | 3 - {lib => libultra}/src/io/pfsisplug.c | 3 - {lib => libultra}/src/io/pfsnumfiles.c | 3 - {lib => libultra}/src/io/pfsreadwritefile.c | 3 - {lib => libultra}/src/io/pfsreformat.c | 3 - {lib => libultra}/src/io/pfssearchfile.c | 3 - {lib => libultra}/src/io/piacs.c | 3 - {lib => libultra}/src/io/pidma.c | 3 - {lib => libultra}/src/io/pigetcmdq.c | 3 - {lib => libultra}/src/io/pimgr.c | 3 - {lib => libultra}/src/io/pirawdma.c | 3 - {lib => libultra}/src/io/pirawread.c | 45 +- {lib => libultra}/src/io/si.c | 3 - {lib => libultra}/src/io/siacs.c | 3 - {lib => libultra}/src/io/sirawdma.c | 48 +- {lib => libultra}/src/io/sirawread.c | 47 +- {lib => libultra}/src/io/sirawwrite.c | 47 +- {lib => libultra}/src/io/sp.c | 3 - {lib => libultra}/src/io/spgetstat.c | 3 - {lib => libultra}/src/io/sprawdma.c | 52 +- {lib => libultra}/src/io/spsetpc.c | 3 - {lib => libultra}/src/io/spsetstat.c | 3 - {lib => libultra}/src/io/sptask.c | 3 - {lib => libultra}/src/io/sptaskyield.c | 3 - {lib => libultra}/src/io/sptaskyielded.c | 3 - {lib => libultra}/src/io/vi.c | 3 - {lib => libultra}/src/io/viblack.c | 3 - {lib => libultra}/src/io/vigetcurrcontext.c | 3 - {lib => libultra}/src/io/vigetcurrframebuf.c | 3 - {lib => libultra}/src/io/vigetnextframebuf.c | 3 - {lib => libultra}/src/io/vimgr.c | 3 - {lib => libultra}/src/io/visetevent.c | 46 +- {lib => libultra}/src/io/visetmode.c | 43 +- {lib => libultra}/src/io/visetspecial.c | 3 - {lib => libultra}/src/io/viswapbuf.c | 47 +- {lib => libultra}/src/io/viswapcontext.c | 3 - {lib => libultra}/src/io/vitbl.c | 3 - {lib/asm => libultra/src/libc}/bcmp.s | 6 +- {lib/asm => libultra/src/libc}/bcopy.s | 9 +- {lib/asm => libultra/src/libc}/bzero.s | 6 +- {lib => libultra}/src/libc/ldiv.c | 3 - {lib => libultra}/src/libc/ll.c | 3 - {lib => libultra}/src/libc/llcvt.c | 10 +- {lib => libultra}/src/libc/rmonPrintf.c | 3 - {lib => libultra}/src/libc/rmonPrintf.h | 0 {lib => libultra}/src/libc/string.c | 3 - {lib => libultra}/src/libc/xldtob.c | 3 - {lib => libultra}/src/libc/xlitob.c | 3 - {lib => libultra}/src/libc/xprintf.c | 3 - {lib => libultra}/src/libc/xprintf.h | 0 {lib => libultra}/src/libc/xstdio.h | 0 {lib => libultra}/src/os/createmesgqueue.c | 3 - {lib => libultra}/src/os/createthread.c | 3 - {lib => libultra}/src/os/destroythread.c | 3 - {lib => libultra}/src/os/exceptasm.h | 0 {lib/asm => libultra/src/os}/exceptasm.s | 42 +- {lib => libultra}/src/os/getactivequeue.c | 3 - libultra/src/os/getcount.s | 14 + libultra/src/os/getsr.s | 15 + {lib => libultra}/src/os/getthreadpri.c | 3 - {lib => libultra}/src/os/gettime.c | 3 - {lib => libultra}/src/os/initialize.c | 3 - libultra/src/os/interrupt.s | 29 + {lib/asm => libultra/src/os}/invaldcache.s | 7 +- {lib/asm => libultra/src/os}/invalicache.s | 9 +- {lib => libultra}/src/os/jammesg.c | 3 - {lib/asm => libultra/src/os}/maptlbrdb.s | 8 +- {lib/asm => libultra/src/os}/probetlb.s | 8 +- {lib => libultra}/src/os/recvmesg.c | 3 - {lib => libultra}/src/os/resetglobalintmask.c | 3 - {lib => libultra}/src/os/sendmesg.c | 3 - {lib/asm => libultra/src/os}/setcompare.s | 7 +- {lib => libultra}/src/os/seteventmesg.c | 3 - libultra/src/os/setfpccsr.s | 17 + {lib => libultra}/src/os/sethwinterrupt.c | 3 - {lib/asm => libultra/src/os}/setintmask.s | 6 +- libultra/src/os/setsr.s | 18 + {lib => libultra}/src/os/setthreadpri.c | 3 - {lib => libultra}/src/os/settime.c | 3 - {lib => libultra}/src/os/settimer.c | 3 - {lib => libultra}/src/os/startthread.c | 3 - {lib => libultra}/src/os/stopthread.c | 3 - {lib => libultra}/src/os/thread.c | 3 - {lib => libultra}/src/os/threadasm.h | 0 {lib => libultra}/src/os/timerintr.c | 3 - {lib => libultra}/src/os/virtualtophysical.c | 3 - .../asm => libultra/src/os}/writebackdcache.s | 9 +- .../src/os}/writebackdcacheall.s | 8 +- {lib => libultra}/src/os/yieldthread.c | 3 - {lib => libultra}/src/sc/sched.c | 3 - livediff.sh | 4 +- macros.inc | 6 - mips_to_c.sh | 4 +- rename.sh | 2 +- requirements.txt | 9 + score.sh | 4 +- sha1/dkr.eu_1.0.sha1 | 1 - sha1/dkr.eu_1.1.sha1 | 1 - sha1/dkr.jp.sha1 | 1 - sha1/dkr.us_1.0.sha1 | 1 - sha1/dkr.us_1.1.sha1 | 1 - src/asset_loading.c | 109 +- src/audio.c | 5 +- src/audio_spatial.c | 17 +- src/audio_vehicle.c | 11 +- src/audiomgr.c | 3 - src/audiosfx.c | 9 +- src/borders.c | 3 - src/camera.c | 7 +- src/fade_transition.c | 3 - src/font.c | 664 +- src/game.c | 3 - src/game_text.c | 29 +- src/game_ui.c | 87 +- src/gzip.c | 3 - src/{ => hasm}/collision.c | 3 - src/hasm/collision.s | 753 + src/hasm/entrypoint.s | 38 + .../hasm/get_stack_pointer.s | 13 +- src/hasm/gzip_asm.s | 781 + src/hasm/header.s | 59 + {asm => src/hasm}/llmuldiv_gcc.s | 52 +- src/{ => hasm}/math_util.c | 3 - src/hasm/math_util.s | 1612 ++ src/hasm/object_animate.s | 383 + src/hasm/unknown_0251F0.s | 282 + src/joypad.c | 3 - src/lights.c | 7 +- src/main.c | 6 +- src/memory.c | 5 - src/memory_pool.c | 6 - src/menu.c | 1149 +- src/object_functions.c | 11 +- src/object_models.c | 41 +- src/objects.c | 63 +- src/os_yield_data.c | 4 + src/particles.c | 7 +- src/printf.c | 7 +- src/racer.c | 62 +- src/rcp_dkr.c | 6 +- src/save_data.c | 70 +- src/screen_asset.c | 5 +- src/set_rsp_segment.c | 3 - src/stacks.c | 5 +- src/textures_sprites.c | 13 +- src/thread0_epc.c | 5 +- src/thread30_track_loading.c | 3 - src/thread3_main.c | 16 +- src/tracks.c | 45 +- src/unused_string.c | 3 - src/vehicle_bluey.c | 3 - src/vehicle_bubbler.c | 3 - src/vehicle_rocket.c | 3 - src/vehicle_smokey.c | 3 - src/vehicle_tricky.c | 3 - src/vehicle_wizpig.c | 3 - src/video.c | 3 - src/waves.c | 29 +- src/weather.c | 5 +- tools/.gitignore | 1 - tools/Makefile | 31 +- tools/asm-differ | 1 + tools/asm-processor | 1 + tools/asm_processor | 1 - tools/dkr_assets_tool_settings.json | 3 - .../builder/buildTypes/buildMisc.cpp | 2 +- .../builder/buildTypes/buildObjectMap.cpp | 2 +- .../builder/buildTypes/buildTexture.cpp | 2 +- .../dkr_assets_tool_src/helpers/asmHeader.cpp | 4 + tools/dkr_assets_tool_src/helpers/asmHeader.h | 1 + tools/dkr_assets_tool_src/misc/constants.hpp | 3 - tools/dkr_assets_tool_src/misc/settings.hpp | 14 +- .../prebuild/linker/ld.cpp | 79 - .../dkr_assets_tool_src/prebuild/linker/ld.h | 46 - .../prebuild/makeIncludes/assetsAsm.cpp | 6 +- .../dkr_assets_tool_src/prebuild/prebuild.cpp | 342 +- tools/dkr_assets_tool_src/prebuild/prebuild.h | 31 +- tools/{python => }/first_diff.py | 6 +- tools/format.py | 2 +- tools/ido-static-recomp | 1 - tools/m2c | 1 + tools/m2ctx.py | 102 + tools/n64crc.c | 35 +- tools/permuter_settings.toml | 3 +- tools/python/CopyRom.py | 44 + tools/python/calc_func_checksums.py | 8 +- tools/python/check_if_need_to_extract.py | 10 +- tools/python/check_undefined_syms.py | 37 - tools/python/diff.py | 3454 ---- tools/python/diff_settings.py | 49 - tools/python/extract_config.py | 89 - tools/python/extract_custom_boot.py | 56 + tools/python/gcc_generate.py | 4 +- tools/python/generate_assets.py | 69 - tools/python/progress.py | 57 +- tools/python/rodata_move.py | 252 - tools/python/rom.py | 58 - tools/python/score.py | 44 +- tools/python/split_data_regions.py | 141 - tools/python/undefined_sym_fix.py | 110 - undefined_syms.txt | 65 - ver/splat/dkr.jpn.v79.yaml | 446 + ver/splat/dkr.pal.v77.yaml | 446 + ver/splat/dkr.pal.v80.yaml | 446 + ver/splat/dkr.us.v77.yaml | 446 + ver/splat/dkr.us.v80.yaml | 447 + ver/splat/update_baserom_names.py | 64 + ver/symbols/symbol_addrs.jpn.v79.txt | 4686 ++++++ ver/symbols/symbol_addrs.pal.v77.txt | 4320 +++++ ver/symbols/symbol_addrs.pal.v80.txt | 4255 +++++ ver/symbols/symbol_addrs.us.v77.txt | 4782 ++++++ ver/symbols/symbol_addrs.us.v80.txt | 4250 +++++ ver/symbols/undefined_syms.txt | 113 + ver/verification/dkr.jpn.v79.sha1 | 1 + ver/verification/dkr.pal.v77.sha1 | 1 + ver/verification/dkr.pal.v80.sha1 | 1 + ver/verification/dkr.us.v77.sha1 | 1 + ver/verification/dkr.us.v80.sha1 | 1 + 513 files changed, 33145 insertions(+), 85304 deletions(-) delete mode 100755 asm/assets/assets.s delete mode 100644 asm/assets/ucode_data.s delete mode 100644 asm/assets/ucode_text.s delete mode 100644 asm/boot/boot.bin delete mode 100755 asm/boot/rom_boot.s delete mode 100755 asm/boot/rom_header.s delete mode 100644 asm/collision/func_80031130.s delete mode 100644 asm/collision/func_800314DC.s delete mode 100644 asm/collision/func_80031600.s delete mode 100644 asm/entrypoint.s delete mode 100644 asm/get_stack_pointer.s delete mode 100644 asm/gzip.s delete mode 100644 asm/gzip/gzip_inflate_block.s delete mode 100644 asm/gzip/gzip_inflate_codes.s delete mode 100644 asm/gzip/gzip_inflate_dynamic.s delete mode 100644 asm/gzip/gzip_inflate_fixed.s delete mode 100644 asm/gzip/gzip_inflate_stored.s delete mode 100644 asm/math_util/arctan2_f.s delete mode 100644 asm/math_util/area_triangle_2d.s delete mode 100644 asm/math_util/atan2s.s delete mode 100644 asm/math_util/bad_int_sqrt.s delete mode 100644 asm/math_util/calc_dyn_lighting_for_level_segment.s delete mode 100644 asm/math_util/coss.s delete mode 100644 asm/math_util/coss_f.s delete mode 100644 asm/math_util/disable_interrupts.s delete mode 100644 asm/math_util/dmacopy_doubleword.s delete mode 100644 asm/math_util/enable_interrupts.s delete mode 100644 asm/math_util/f32_matrix_dot.s delete mode 100644 asm/math_util/f32_matrix_from_position.s delete mode 100644 asm/math_util/f32_matrix_from_rotation_and_scale.s delete mode 100644 asm/math_util/f32_matrix_from_scale.s delete mode 100644 asm/math_util/f32_matrix_mult.s delete mode 100644 asm/math_util/f32_matrix_scale.s delete mode 100644 asm/math_util/f32_matrix_to_s16_matrix.s delete mode 100644 asm/math_util/f32_matrix_to_s32_matrix.s delete mode 100644 asm/math_util/f32_matrix_y_scale.s delete mode 100644 asm/math_util/f32_vec3_apply_object_rotation.s delete mode 100644 asm/math_util/f32_vec3_apply_object_rotation2.s delete mode 100644 asm/math_util/f32_vec3_apply_object_rotation3.s delete mode 100644 asm/math_util/func_80070058.s delete mode 100644 asm/math_util/get_gIntDisFlag.s delete mode 100644 asm/math_util/guMtxXFMF.s delete mode 100644 asm/math_util/load_rng_seed.s delete mode 100644 asm/math_util/object_transform_to_matrix.s delete mode 100644 asm/math_util/object_transform_to_matrix_2.s delete mode 100644 asm/math_util/point_triangle_2d_xz_intersection.s delete mode 100644 asm/math_util/rng.s delete mode 100644 asm/math_util/s16_matrix_rotate.s delete mode 100644 asm/math_util/s16_matrix_to_s32_matrix.s delete mode 100644 asm/math_util/s16_vec3_apply_object_rotation.s delete mode 100644 asm/math_util/s16_vec3_mult_by_s32_matrix.s delete mode 100644 asm/math_util/s16_vec3_mult_by_s32_matrix_full.s delete mode 100644 asm/math_util/s32_matrix_cell_sqrt.s delete mode 100644 asm/math_util/s32_matrix_to_s16_matrix.s delete mode 100644 asm/math_util/save_rng_seed.s delete mode 100644 asm/math_util/set_breakpoint.s delete mode 100644 asm/math_util/set_gIntDisFlag.s delete mode 100644 asm/math_util/sins_2.s delete mode 100644 asm/math_util/sins_f.s delete mode 100644 asm/math_util_data.s delete mode 100644 asm/non_matchings/audio_spatial/func_80008040.s delete mode 100644 asm/non_matchings/audio_spatial/func_80008174.s delete mode 100644 asm/non_matchings/audio_spatial/func_80008438.s delete mode 100644 asm/non_matchings/audio_spatial/func_80009968.s delete mode 100644 asm/non_matchings/audio_spatial/func_80009B7C.s delete mode 100644 asm/non_matchings/audio_spatial/func_80009D6C.s delete mode 100644 asm/non_matchings/audio_spatial/func_8000A184.s delete mode 100644 asm/non_matchings/audio_vehicle/func_80004B40.s delete mode 100644 asm/non_matchings/audio_vehicle/func_80005254.s delete mode 100644 asm/non_matchings/audio_vehicle/func_800063EC.s delete mode 100644 asm/non_matchings/audio_vehicle/func_80006FC8.s delete mode 100644 asm/non_matchings/audiosfx/_handleEvent.s delete mode 100644 asm/non_matchings/audiosfx/func_80004520.s delete mode 100644 asm/non_matchings/audiosfx/func_80004668.s delete mode 100644 asm/non_matchings/camera/func_80066CDC.s delete mode 100644 asm/non_matchings/game_ui/func_8009F034.s delete mode 100644 asm/non_matchings/game_ui/func_800A1E48.s delete mode 100644 asm/non_matchings/game_ui/func_800A277C.s delete mode 100644 asm/non_matchings/game_ui/func_800A6254.s delete mode 100644 asm/non_matchings/game_ui/func_800AA600.s delete mode 100644 asm/non_matchings/lights/func_80031CAC.s delete mode 100644 asm/non_matchings/lights/func_80032C7C.s delete mode 100644 asm/non_matchings/menu/func_8007FFEC.s delete mode 100644 asm/non_matchings/menu/func_80083098.s delete mode 100644 asm/non_matchings/menu/func_8008F618.s delete mode 100644 asm/non_matchings/menu/func_8008FF1C.s delete mode 100644 asm/non_matchings/object_models/func_8006017C.s delete mode 100644 asm/non_matchings/object_models/func_80060910.s delete mode 100644 asm/non_matchings/object_models/func_80060AC8.s delete mode 100644 asm/non_matchings/object_models/func_80060EA8.s delete mode 100644 asm/non_matchings/objects/calc_dynamic_lighting_for_object_1.s delete mode 100644 asm/non_matchings/objects/calc_env_mapping_for_object.s delete mode 100644 asm/non_matchings/objects/decrypt_magic_codes.s delete mode 100644 asm/non_matchings/objects/func_8000B38C.s delete mode 100644 asm/non_matchings/objects/func_8000B750.s delete mode 100644 asm/non_matchings/objects/func_8000CC7C.s delete mode 100644 asm/non_matchings/objects/func_8000E5EC.s delete mode 100644 asm/non_matchings/objects/func_8000E79C.s delete mode 100644 asm/non_matchings/objects/func_800101AC.s delete mode 100644 asm/non_matchings/objects/func_80010994.s delete mode 100644 asm/non_matchings/objects/func_80011134.s delete mode 100644 asm/non_matchings/objects/func_80011264.s delete mode 100644 asm/non_matchings/objects/func_80012F94.s delete mode 100644 asm/non_matchings/objects/func_800135B8.s delete mode 100644 asm/non_matchings/objects/func_80014090.s delete mode 100644 asm/non_matchings/objects/func_80014814.s delete mode 100644 asm/non_matchings/objects/func_800159C8.s delete mode 100644 asm/non_matchings/objects/func_80017248.s delete mode 100644 asm/non_matchings/objects/func_80017A18.s delete mode 100644 asm/non_matchings/objects/func_80017E98.s delete mode 100644 asm/non_matchings/objects/func_800185E4.s delete mode 100644 asm/non_matchings/objects/func_80018CE0.s delete mode 100644 asm/non_matchings/objects/func_80019808.s delete mode 100644 asm/non_matchings/objects/func_8001C6C4.s delete mode 100644 asm/non_matchings/objects/func_8001CC48.s delete mode 100644 asm/non_matchings/objects/func_8001CD28.s delete mode 100644 asm/non_matchings/objects/func_8001E93C.s delete mode 100644 asm/non_matchings/objects/func_8001F460.s delete mode 100644 asm/non_matchings/objects/func_80021600.s delete mode 100644 asm/non_matchings/objects/spawn_object.s delete mode 100644 asm/non_matchings/particles/func_800AE728.s delete mode 100644 asm/non_matchings/particles/func_800AF404.s delete mode 100644 asm/non_matchings/printf/func_800B653C.s delete mode 100644 asm/non_matchings/printf/vsprintf.s delete mode 100644 asm/non_matchings/racer/func_80042D20.s delete mode 100644 asm/non_matchings/racer/func_8004447C.s delete mode 100644 asm/non_matchings/racer/func_800452A0.s delete mode 100644 asm/non_matchings/racer/func_80045C48.s delete mode 100644 asm/non_matchings/racer/func_80049794.s delete mode 100644 asm/non_matchings/racer/func_8004CC20.s delete mode 100644 asm/non_matchings/racer/func_80059208.s delete mode 100644 asm/non_matchings/racer/set_ghost_position_and_rotation.s delete mode 100644 asm/non_matchings/racer/update_camera_car.s delete mode 100644 asm/non_matchings/racer/update_camera_plane.s delete mode 100644 asm/non_matchings/rcp/func_80078190.s delete mode 100644 asm/non_matchings/textures_sprites/build_tex_display_list.s delete mode 100644 asm/non_matchings/textures_sprites/func_8007C12C.s delete mode 100644 asm/non_matchings/textures_sprites/func_8007CA68.s delete mode 100644 asm/non_matchings/textures_sprites/func_8007CDC0.s delete mode 100644 asm/non_matchings/textures_sprites/load_texture.s delete mode 100644 asm/non_matchings/tracks/func_80025510.s delete mode 100644 asm/non_matchings/tracks/func_8002581C.s delete mode 100644 asm/non_matchings/tracks/func_80026430.s delete mode 100644 asm/non_matchings/tracks/func_80027184.s delete mode 100644 asm/non_matchings/tracks/func_80027568.s delete mode 100644 asm/non_matchings/tracks/func_80028050.s delete mode 100644 asm/non_matchings/tracks/func_8002B0F4.s delete mode 100644 asm/non_matchings/tracks/func_8002BAB0.s delete mode 100644 asm/non_matchings/tracks/func_8002C0C4.s delete mode 100644 asm/non_matchings/tracks/func_8002CC30.s delete mode 100644 asm/non_matchings/tracks/func_8002E904.s delete mode 100644 asm/non_matchings/tracks/func_8002EEEC.s delete mode 100644 asm/non_matchings/tracks/func_8002F2AC.s delete mode 100644 asm/non_matchings/tracks/func_8002F440.s delete mode 100644 asm/non_matchings/tracks/func_8002FF6C.s delete mode 100644 asm/non_matchings/tracks/func_800304C8.s delete mode 100644 asm/non_matchings/waves/func_800B82B4.s delete mode 100644 asm/non_matchings/waves/func_800B8C04.s delete mode 100644 asm/non_matchings/waves/func_800B92F4.s delete mode 100644 asm/non_matchings/waves/func_800B97A8.s delete mode 100644 asm/non_matchings/waves/func_800B9C18.s delete mode 100644 asm/non_matchings/waves/func_800BA4B8.s delete mode 100644 asm/non_matchings/waves/func_800BA8E4.s delete mode 100644 asm/non_matchings/waves/func_800BB2F4.s delete mode 100644 asm/non_matchings/waves/func_800BBF78.s delete mode 100644 asm/non_matchings/waves/func_800BC6C8.s delete mode 100644 asm/non_matchings/waves/func_800BCC70.s delete mode 100644 asm/non_matchings/waves/func_800BDC80.s delete mode 100644 asm/non_matchings/waves/func_800BE654.s delete mode 100644 asm/non_matchings/weather/render_rain_overlay.s delete mode 100644 asm/object_animate.s delete mode 100644 asm/unknown_0251F0.s delete mode 100644 asm/unknown_0251F0/calc_dynamic_lighting_for_object_2.s delete mode 100644 asm/unknown_0251F0/func_800245F0.s create mode 100755 compile_all.sh delete mode 100644 decompme_friendly_gfx_macros.c create mode 100644 diff_settings.py delete mode 100755 find_sym.sh delete mode 100755 get_symbol.sh delete mode 100644 lib/asm/getcount.s delete mode 100644 lib/asm/getsr.s delete mode 100644 lib/asm/interrupt.s delete mode 100644 lib/asm/libm_vals.s delete mode 100644 lib/asm/params.s delete mode 100644 lib/asm/setfpccsr.s delete mode 100644 lib/asm/setsr.s delete mode 100644 lib/asm/sqrtf.s delete mode 100644 lib/src/audio/mips1/csplayer.c rename {lib => libultra}/src/audio/bnkf.c (97%) rename {lib => libultra}/src/audio/cents2ratio.c (85%) rename {lib => libultra}/src/audio/copy.c (91%) rename {lib => libultra}/src/audio/cseq.c (99%) rename {lib => libultra}/src/audio/cseq.h (100%) rename {lib => libultra}/src/audio/cseqp.h (100%) rename {lib => libultra}/src/audio/cspgetchlvol.c (90%) rename {lib => libultra}/src/audio/cspgetstate.c (90%) rename {lib => libultra}/src/audio/cspgettempo.c (91%) rename {lib => libultra}/src/audio/cspplay.c (91%) rename {lib => libultra}/src/audio/cspsetbank.c (91%) rename {lib => libultra}/src/audio/cspsetchlvol.c (92%) rename {lib => libultra}/src/audio/cspsetpan.c (92%) rename {lib => libultra}/src/audio/cspsetseq.c (91%) rename {lib => libultra}/src/audio/cspsettempo.c (92%) rename {lib => libultra}/src/audio/cspsetvol.c (91%) rename {lib => libultra}/src/audio/cspstop.c (91%) rename {lib => libultra}/src/audio/env.c (99%) rename {lib => libultra}/src/audio/event.c (98%) rename {lib => libultra}/src/audio/filter.c (91%) rename {lib => libultra}/src/audio/heapalloc.c (94%) rename {lib => libultra}/src/audio/heapinit.c (92%) rename {lib => libultra}/src/audio/initfx.h (100%) rename {lib => libultra}/src/audio/load.c (99%) rename {lib => libultra}/src/audio/mainbus.c (95%) rename {lib => libultra}/src/audio/mips1/auxbus.c (95%) rename {lib => libultra}/src/audio/mips1/cspgetfadein.c (55%) create mode 100644 libultra/src/audio/mips1/csplayer.c rename {lib => libultra}/src/audio/mips1/cspsetfadein.c (77%) rename {lib => libultra}/src/audio/mips1/drvrnew.c (98%) rename {lib => libultra}/src/audio/mips1/reverb.c (99%) rename {lib => libultra}/src/audio/mips1/seqchannel.c (85%) rename {lib => libultra}/src/audio/mips1/seqplayer.c (99%) rename {lib => libultra}/src/audio/mips1/synallocfx.c (92%) rename {lib => libultra}/src/audio/mips1/synsetpan.c (93%) rename {lib => libultra}/src/audio/mips1/synstartvoiceparam.c (96%) rename {lib => libultra}/src/audio/mips1/synthesizer.c (98%) rename {lib => libultra}/src/audio/mips1/unknown_064690.c (75%) rename {lib => libultra}/src/audio/resample.c (97%) rename {lib => libultra}/src/audio/save.c (95%) rename {lib => libultra}/src/audio/seq.h (100%) rename {lib => libultra}/src/audio/seqchannel.h (100%) rename {lib => libultra}/src/audio/seqp.h (100%) rename {lib => libultra}/src/audio/seqpgetfxmix.c (90%) rename {lib => libultra}/src/audio/sl.c (94%) rename {lib => libultra}/src/audio/synaddplayer.c (91%) rename {lib => libultra}/src/audio/synallocvoice.c (97%) rename {lib => libultra}/src/audio/syndelete.c (90%) rename {lib => libultra}/src/audio/synfreevoice.c (94%) rename {lib => libultra}/src/audio/synsetfxmix.c (94%) rename {lib => libultra}/src/audio/synsetpitch.c (93%) rename {lib => libultra}/src/audio/synsetpriority.c (90%) rename {lib => libultra}/src/audio/synsetvol.c (94%) rename {lib => libultra}/src/audio/synstartvoice.c (93%) rename {lib => libultra}/src/audio/synstartvoiceparam.h (100%) rename {lib => libultra}/src/audio/synstopvoice.c (93%) rename {lib => libultra}/src/audio/synthInternals.h (99%) rename {lib => libultra}/src/debug/assert.c (76%) rename {lib => libultra}/src/debug/assert.h (100%) rename {lib => libultra}/src/debug/osint_debug.h (100%) rename {lib => libultra}/src/gu/cosf.c (96%) rename {lib => libultra}/src/gu/guint.h (100%) create mode 100644 libultra/src/gu/libm_vals.s rename {lib => libultra}/src/gu/mtxutil.c (94%) rename {lib => libultra}/src/gu/perspective.c (93%) rename {lib => libultra}/src/gu/sinf.c (96%) create mode 100644 libultra/src/gu/sqrtf.s rename {lib => libultra}/src/io/ai.c (73%) rename {lib => libultra}/src/io/aigetlen.c (78%) rename {lib => libultra}/src/io/aisetfreq.c (95%) rename {lib => libultra}/src/io/aisetnextbuf.c (94%) rename {lib => libultra}/src/io/conteepprobe.c (80%) rename {lib => libultra}/src/io/conteepread.c (96%) rename {lib => libultra}/src/io/conteepwrite.c (97%) rename {lib => libultra}/src/io/contpfs.c (98%) rename {lib => libultra}/src/io/contramread.c (97%) rename {lib => libultra}/src/io/contramwrite.c (97%) rename {lib => libultra}/src/io/contreaddata.c (95%) rename {lib => libultra}/src/io/controller.c (96%) rename {lib => libultra}/src/io/crc.c (97%) rename {lib => libultra}/src/io/devmgr.c (96%) rename {lib => libultra}/src/io/dp.c (73%) rename {lib => libultra}/src/io/dpgetstat.c (62%) rename {lib => libultra}/src/io/dpsetnextbuf.c (89%) rename {lib => libultra}/src/io/dpsetstat.c (62%) rename {lib => libultra}/src/io/epirawdma.c (92%) rename {lib => libultra}/src/io/epirawwrite.c (81%) rename {lib => libultra}/src/io/leointerrupt.c (76%) rename {lib => libultra}/src/io/motor.c (98%) rename {lib => libultra}/src/io/pfsallocatefile.c (99%) rename {lib => libultra}/src/io/pfschecker.c (98%) rename {lib => libultra}/src/io/pfsdeletefile.c (97%) rename {lib => libultra}/src/io/pfsfilestate.c (96%) rename {lib => libultra}/src/io/pfsfreeblocks.c (88%) rename {lib => libultra}/src/io/pfsinit.c (92%) rename {lib => libultra}/src/io/pfsisplug.c (96%) rename {lib => libultra}/src/io/pfsnumfiles.c (87%) rename {lib => libultra}/src/io/pfsreadwritefile.c (96%) rename {lib => libultra}/src/io/pfsreformat.c (95%) rename {lib => libultra}/src/io/pfssearchfile.c (93%) rename {lib => libultra}/src/io/piacs.c (87%) rename {lib => libultra}/src/io/pidma.c (93%) rename {lib => libultra}/src/io/pigetcmdq.c (66%) rename {lib => libultra}/src/io/pimgr.c (96%) rename {lib => libultra}/src/io/pirawdma.c (92%) rename {lib => libultra}/src/io/pirawread.c (78%) rename {lib => libultra}/src/io/si.c (75%) rename {lib => libultra}/src/io/siacs.c (87%) rename {lib => libultra}/src/io/sirawdma.c (88%) rename {lib => libultra}/src/io/sirawread.c (74%) rename {lib => libultra}/src/io/sirawwrite.c (72%) rename {lib => libultra}/src/io/sp.c (78%) rename {lib => libultra}/src/io/spgetstat.c (62%) rename {lib => libultra}/src/io/sprawdma.c (83%) rename {lib => libultra}/src/io/spsetpc.c (71%) rename {lib => libultra}/src/io/spsetstat.c (63%) rename {lib => libultra}/src/io/sptask.c (95%) rename {lib => libultra}/src/io/sptaskyield.c (51%) rename {lib => libultra}/src/io/sptaskyielded.c (78%) rename {lib => libultra}/src/io/vi.c (91%) rename {lib => libultra}/src/io/viblack.c (77%) rename {lib => libultra}/src/io/vigetcurrcontext.c (64%) rename {lib => libultra}/src/io/vigetcurrframebuf.c (79%) rename {lib => libultra}/src/io/vigetnextframebuf.c (79%) rename {lib => libultra}/src/io/vimgr.c (97%) rename {lib => libultra}/src/io/visetevent.c (84%) rename {lib => libultra}/src/io/visetmode.c (84%) rename {lib => libultra}/src/io/visetspecial.c (96%) rename {lib => libultra}/src/io/viswapbuf.c (86%) rename {lib => libultra}/src/io/viswapcontext.c (95%) rename {lib => libultra}/src/io/vitbl.c (99%) rename {lib/asm => libultra/src/libc}/bcmp.s (96%) rename {lib/asm => libultra/src/libc}/bcopy.s (97%) rename {lib/asm => libultra/src/libc}/bzero.s (94%) rename {lib => libultra}/src/libc/ldiv.c (85%) rename {lib => libultra}/src/libc/ll.c (90%) rename {lib => libultra}/src/libc/llcvt.c (67%) rename {lib => libultra}/src/libc/rmonPrintf.c (87%) rename {lib => libultra}/src/libc/rmonPrintf.h (100%) rename {lib => libultra}/src/libc/string.c (85%) rename {lib => libultra}/src/libc/xldtob.c (98%) rename {lib => libultra}/src/libc/xlitob.c (92%) rename {lib => libultra}/src/libc/xprintf.c (98%) rename {lib => libultra}/src/libc/xprintf.h (100%) rename {lib => libultra}/src/libc/xstdio.h (100%) rename {lib => libultra}/src/os/createmesgqueue.c (81%) rename {lib => libultra}/src/os/createthread.c (92%) rename {lib => libultra}/src/os/destroythread.c (88%) rename {lib => libultra}/src/os/exceptasm.h (100%) rename {lib/asm => libultra/src/os}/exceptasm.s (98%) rename {lib => libultra}/src/os/getactivequeue.c (54%) create mode 100644 libultra/src/os/getcount.s create mode 100644 libultra/src/os/getsr.s rename {lib => libultra}/src/os/getthreadpri.c (65%) rename {lib => libultra}/src/os/gettime.c (84%) rename {lib => libultra}/src/os/initialize.c (98%) create mode 100644 libultra/src/os/interrupt.s rename {lib/asm => libultra/src/os}/invaldcache.s (94%) rename {lib/asm => libultra/src/os}/invalicache.s (89%) rename {lib => libultra}/src/os/jammesg.c (89%) rename {lib/asm => libultra/src/os}/maptlbrdb.s (89%) rename {lib/asm => libultra/src/os}/probetlb.s (93%) rename {lib => libultra}/src/os/recvmesg.c (89%) rename {lib => libultra}/src/os/resetglobalintmask.c (71%) rename {lib => libultra}/src/os/sendmesg.c (89%) rename {lib/asm => libultra/src/os}/setcompare.s (74%) rename {lib => libultra}/src/os/seteventmesg.c (88%) create mode 100644 libultra/src/os/setfpccsr.s rename {lib => libultra}/src/os/sethwinterrupt.c (87%) rename {lib/asm => libultra/src/os}/setintmask.s (96%) create mode 100644 libultra/src/os/setsr.s rename {lib => libultra}/src/os/setthreadpri.c (88%) rename {lib => libultra}/src/os/settime.c (73%) rename {lib => libultra}/src/os/settimer.c (92%) rename {lib => libultra}/src/os/startthread.c (91%) rename {lib => libultra}/src/os/stopthread.c (84%) rename {lib => libultra}/src/os/thread.c (86%) rename {lib => libultra}/src/os/threadasm.h (100%) rename {lib => libultra}/src/os/timerintr.c (96%) rename {lib => libultra}/src/os/virtualtophysical.c (73%) rename {lib/asm => libultra/src/os}/writebackdcache.s (89%) rename {lib/asm => libultra/src/os}/writebackdcacheall.s (81%) rename {lib => libultra}/src/os/yieldthread.c (70%) rename {lib => libultra}/src/sc/sched.c (99%) delete mode 100755 macros.inc create mode 100644 requirements.txt delete mode 100644 sha1/dkr.eu_1.0.sha1 delete mode 100644 sha1/dkr.eu_1.1.sha1 delete mode 100644 sha1/dkr.jp.sha1 delete mode 100644 sha1/dkr.us_1.0.sha1 delete mode 100644 sha1/dkr.us_1.1.sha1 rename src/{ => hasm}/collision.c (93%) create mode 100644 src/hasm/collision.s create mode 100644 src/hasm/entrypoint.s rename lib/asm/exceptasm.bss.s => src/hasm/get_stack_pointer.s (58%) create mode 100644 src/hasm/gzip_asm.s create mode 100644 src/hasm/header.s rename {asm => src/hasm}/llmuldiv_gcc.s (93%) rename src/{ => hasm}/math_util.c (99%) create mode 100644 src/hasm/math_util.s create mode 100644 src/hasm/object_animate.s create mode 100644 src/hasm/unknown_0251F0.s delete mode 100644 src/memory_pool.c create mode 100644 src/os_yield_data.c create mode 160000 tools/asm-differ create mode 160000 tools/asm-processor delete mode 160000 tools/asm_processor delete mode 100644 tools/dkr_assets_tool_src/prebuild/linker/ld.cpp delete mode 100644 tools/dkr_assets_tool_src/prebuild/linker/ld.h rename tools/{python => }/first_diff.py (91%) delete mode 160000 tools/ido-static-recomp create mode 160000 tools/m2c create mode 100644 tools/m2ctx.py create mode 100755 tools/python/CopyRom.py delete mode 100644 tools/python/check_undefined_syms.py delete mode 100644 tools/python/diff.py delete mode 100644 tools/python/diff_settings.py delete mode 100644 tools/python/extract_config.py create mode 100644 tools/python/extract_custom_boot.py delete mode 100644 tools/python/generate_assets.py delete mode 100755 tools/python/rodata_move.py delete mode 100644 tools/python/rom.py delete mode 100644 tools/python/split_data_regions.py delete mode 100644 tools/python/undefined_sym_fix.py delete mode 100755 undefined_syms.txt create mode 100644 ver/splat/dkr.jpn.v79.yaml create mode 100644 ver/splat/dkr.pal.v77.yaml create mode 100644 ver/splat/dkr.pal.v80.yaml create mode 100644 ver/splat/dkr.us.v77.yaml create mode 100644 ver/splat/dkr.us.v80.yaml create mode 100644 ver/splat/update_baserom_names.py create mode 100644 ver/symbols/symbol_addrs.jpn.v79.txt create mode 100644 ver/symbols/symbol_addrs.pal.v77.txt create mode 100644 ver/symbols/symbol_addrs.pal.v80.txt create mode 100644 ver/symbols/symbol_addrs.us.v77.txt create mode 100644 ver/symbols/symbol_addrs.us.v80.txt create mode 100644 ver/symbols/undefined_syms.txt create mode 100644 ver/verification/dkr.jpn.v79.sha1 create mode 100644 ver/verification/dkr.pal.v77.sha1 create mode 100644 ver/verification/dkr.pal.v80.sha1 create mode 100644 ver/verification/dkr.us.v77.sha1 create mode 100644 ver/verification/dkr.us.v80.sha1 diff --git a/.github/workflows/UpdateScore.yml b/.github/workflows/UpdateScore.yml index 330b4986..dd080f03 100644 --- a/.github/workflows/UpdateScore.yml +++ b/.github/workflows/UpdateScore.yml @@ -17,36 +17,27 @@ jobs: - name: Install packages run: | sudo apt-get update - sudo apt-get install -y build-essential pkg-config git python3 libssl-dev wget binutils-mips-linux-gnu + sudo apt-get install -y build-essential libssl-dev pkg-config git python3 python3-pip binutils-mips-linux-gnu python3-venv libpcre2-dev libpcre2-8-0 - name: Get ROM - run: wget -q -O baseroms/dkr.z64 ${{secrets.ROMURL}} + run: wget -q -O baseroms/baserom.us.v77.z64 ${{secrets.ROMURL}} - name: Verify ROM - run: if [[ $(echo "0cb115d8716dbbc2922fda38e533b9fe63bb9670 baseroms/dkr.z64" | sha1sum -c --quiet -) = "" ]]; then echo "Signature OK"; else echo "Failed"; exit 1; fi + run: if [[ $(echo "0cb115d8716dbbc2922fda38e533b9fe63bb9670 baseroms/baserom.us.v77.z64" | sha1sum -c --quiet -) = "" ]]; then echo "Signature OK"; else echo "Failed"; exit 1; fi - - name: Download Recomp + - name: Make Setup run: | - wget -q -O ido-static-recomp.tar.gz https://github.com/decompals/ido-static-recomp/releases/download/v1.2/ido-5.3-recomp-linux.tar.gz - mkdir -p tools/ido-static-recomp/build5.3/out - tar -xvzf ido-static-recomp.tar.gz -C tools/ido-static-recomp/build5.3/out + make setup -j4 - - name: Build Tools + - name: Make Extract run: | - cd tools - make -j4 - cd .. - - - name: Extract Assets - run: | - ./extract.sh - python3 tools/python/check_if_need_to_extract.py us_1.0 + make extract - name: Build ROM run: make -j4 - name: Verify Build - run: if [[ $(sha1sum -c --quiet sha1/dkr.us_1.0.sha1) = "" ]]; then echo "Signature OK"; else echo "Failed"; exit 1; fi + run: if [[ $(sha1sum -c --quiet ver/verification/dkr.us.v77.sha1) = "" ]]; then echo "Signature OK"; else echo "Failed"; exit 1; fi - name: Update Score run: ./update-score.sh diff --git a/.github/workflows/VerifyBuild.yml b/.github/workflows/VerifyBuild.yml index ebde5a03..f52d7b64 100644 --- a/.github/workflows/VerifyBuild.yml +++ b/.github/workflows/VerifyBuild.yml @@ -21,33 +21,25 @@ jobs: - name: Install packages run: | sudo apt-get update - sudo apt-get install -y build-essential pkg-config git python3 libssl-dev wget binutils-mips-linux-gnu + sudo apt-get install -y build-essential libssl-dev pkg-config git python3 python3-pip binutils-mips-linux-gnu python3-venv libpcre2-dev libpcre2-8-0 - name: Get ROM - run: wget -q -O baseroms/dkr.z64 ${{secrets.ROMURL}} + run: wget -q -O baseroms/baserom.us.v77.z64 ${{secrets.ROMURL}} - name: Verify ROM - run: if [[ $(echo "0cb115d8716dbbc2922fda38e533b9fe63bb9670 baseroms/dkr.z64" | sha1sum -c --quiet -) = "" ]]; then echo "Signature OK"; else echo "Failed"; exit 1; fi + run: if [[ $(echo "0cb115d8716dbbc2922fda38e533b9fe63bb9670 baseroms/baserom.us.v77.z64" | sha1sum -c --quiet -) = "" ]]; then echo "Signature OK"; else echo "Failed"; exit 1; fi - - name: Download Recomp - run: | - wget -q -O ido-static-recomp.tar.gz https://github.com/decompals/ido-static-recomp/releases/download/v1.2/ido-5.3-recomp-linux.tar.gz - mkdir -p tools/ido-static-recomp/build5.3/out - tar -xvzf ido-static-recomp.tar.gz -C tools/ido-static-recomp/build5.3/out + - name: Make Setup + run: make setup -j4 - - name: Build Tools - run: | - cd tools - make -j4 - cd .. + - name: Make Extract + run: make extract - name: Extract Assets - run: | - ./extract.sh - python3 tools/python/check_if_need_to_extract.py us_1.0 + run: make assets -j4 - name: Build ROM run: make -j4 - name: Verify Build - run: if [[ $(sha1sum -c --quiet sha1/dkr.us_1.0.sha1) = "" ]]; then echo "Signature OK"; else echo "Failed"; exit 1; fi \ No newline at end of file + run: if [[ $(sha1sum -c --quiet ver/verification/dkr.us.v77.sha1) = "" ]]; then echo "Signature OK"; else echo "Failed"; exit 1; fi \ No newline at end of file diff --git a/.github/workflows/VerifyNonEquivalent.yml b/.github/workflows/VerifyNonEquivalent.yml index 10e15024..b32a9439 100644 --- a/.github/workflows/VerifyNonEquivalent.yml +++ b/.github/workflows/VerifyNonEquivalent.yml @@ -21,30 +21,22 @@ jobs: - name: Install packages run: | sudo apt-get update - sudo apt-get install -y build-essential pkg-config git python3 libssl-dev wget binutils-mips-linux-gnu + sudo apt-get install -y build-essential libssl-dev pkg-config git python3 python3-pip binutils-mips-linux-gnu python3-venv libpcre2-dev libpcre2-8-0 - name: Get ROM - run: wget -q -O baseroms/dkr.z64 ${{secrets.ROMURL}} + run: wget -q -O baseroms/baserom.us.v77.z64 ${{secrets.ROMURL}} - name: Verify ROM - run: if [[ $(echo "0cb115d8716dbbc2922fda38e533b9fe63bb9670 baseroms/dkr.z64" | sha1sum -c --quiet -) = "" ]]; then echo "Signature OK"; else echo "Failed"; exit 1; fi + run: if [[ $(echo "0cb115d8716dbbc2922fda38e533b9fe63bb9670 baseroms/baserom.us.v77.z64" | sha1sum -c --quiet -) = "" ]]; then echo "Signature OK"; else echo "Failed"; exit 1; fi - - name: Download Recomp - run: | - wget -q -O ido-static-recomp.tar.gz https://github.com/decompals/ido-static-recomp/releases/download/v1.2/ido-5.3-recomp-linux.tar.gz - mkdir -p tools/ido-static-recomp/build5.3/out - tar -xvzf ido-static-recomp.tar.gz -C tools/ido-static-recomp/build5.3/out + - name: Make Setup + run: make setup -j4 - - name: Build Tools - run: | - cd tools - make -j4 - cd .. + - name: Make Extract + run: make extract - name: Extract Assets - run: | - ./extract.sh - python3 tools/python/check_if_need_to_extract.py us_1.0 + run: make assets -j4 - name: Verify NON_EQUIVALENT run: make -j4 NON_EQUIVALENT=1 diff --git a/.github/workflows/VerifyNonMatching.yml b/.github/workflows/VerifyNonMatching.yml index 43dc3b1c..d1fbe7ef 100644 --- a/.github/workflows/VerifyNonMatching.yml +++ b/.github/workflows/VerifyNonMatching.yml @@ -21,30 +21,22 @@ jobs: - name: Install packages run: | sudo apt-get update - sudo apt-get install -y build-essential pkg-config git python3 libssl-dev wget binutils-mips-linux-gnu + sudo apt-get install -y build-essential libssl-dev pkg-config git python3 python3-pip binutils-mips-linux-gnu python3-venv libpcre2-dev libpcre2-8-0 - name: Get ROM - run: wget -q -O baseroms/dkr.z64 ${{secrets.ROMURL}} + run: wget -q -O baseroms/baserom.us.v77.z64 ${{secrets.ROMURL}} - name: Verify ROM - run: if [[ $(echo "0cb115d8716dbbc2922fda38e533b9fe63bb9670 baseroms/dkr.z64" | sha1sum -c --quiet -) = "" ]]; then echo "Signature OK"; else echo "Failed"; exit 1; fi + run: if [[ $(echo "0cb115d8716dbbc2922fda38e533b9fe63bb9670 baseroms/baserom.us.v77.z64" | sha1sum -c --quiet -) = "" ]]; then echo "Signature OK"; else echo "Failed"; exit 1; fi - - name: Download Recomp - run: | - wget -q -O ido-static-recomp.tar.gz https://github.com/decompals/ido-static-recomp/releases/download/v1.2/ido-5.3-recomp-linux.tar.gz - mkdir -p tools/ido-static-recomp/build5.3/out - tar -xvzf ido-static-recomp.tar.gz -C tools/ido-static-recomp/build5.3/out + - name: Make Setup + run: make setup -j4 - - name: Build Tools - run: | - cd tools - make -j4 - cd .. + - name: Make Extract + run: make extract - name: Extract Assets - run: | - ./extract.sh - python3 tools/python/check_if_need_to_extract.py us_1.0 + run: make assets -j4 - name: Verify NON_MATCHING run: make -j4 NON_MATCHING=1 diff --git a/.gitignore b/.gitignore index c36d10fa..a5a35aa4 100755 --- a/.gitignore +++ b/.gitignore @@ -1,50 +1,76 @@ -# Baseroms is where the user will place their ROM files. -baseroms/* -nonmatchings/* +# ignore all rom files +*.z64 +*.n64 +*.v64 -# Ignore pycache -__pycache__ +#Ignore any custom boot files if any. +boot_custom.bin -# Automatically generated folders should be ignored -tools/dkr_assets_tool_src/_build/ +#compiled or ripped asm +asm/* +asm +build/* build/ -assets/ -ucode/ -!asm/assets/ -!mods/* -# Linker file is automatically generated, so it should be ignored -dkr.ld +#permuter folder +nonmatchings/* +nonmatchings/ -# CTX files for mips2c should be ignored as we generate those -ctx.c -ctx_includes.c -ctx.c.m2c +#binaries ripped from the ROMs +assets/* +assets_*/ +assets_*/* +bin/ +bin/* +ucode/* -#Folder for automatically decompiled functions output from mips2c -m2cfiles/ +#compiled object files +*.slo +*.lo +*.o +*.obj -# Misc stuff that should be ignored. -.*/ -!.github +#Precompiled Headers +*.gch +*.pch -# Ignore .deb packages -*.deb +#compiled dynamic libraries +*.so +*.dylib +*.dll -# Ignore batch and executable files. -*.exe +#static libraries +*.lai +*.la +*.a +*.lib + +#Windows stuff *.bat -dkr_hot_reload.py -lastRomPath.txt -gcc_safe_files.mk -*.DS_Store +*.exe -# Temp ignore for splat related stuff. -asm/data/ -asm/header.s -asm/nonmatchings/ -tools/asm-differ/ -tools/asm-processor/ -tools/ido-recomp/ -tools/m2c/ -ver/ +#misc +__pycache__/ +*__pycache__/ +expected/ +.*/ +*.ld +*/*.ld +*.map +*/*.map +*auto.txt +*_auto.*.txt +*.*auto.txt +*/.splat_cache +.splat_cache +.splat_cache* +ctx.c +ctx.c.m2c +ctx_includes.c +tools/n64crc +!tools/build +m2cfiles/ +gcc_safe_files.mk +tools/ido-recomp +tools/binutils +*.DS_Store diff --git a/.gitmodules b/.gitmodules index 6a724e7f..6f22c0c4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,12 @@ -[submodule "tools/ido-static-recomp"] - path = tools/ido-static-recomp - url = https://github.com/decompals/ido-static-recomp -[submodule "tools/asm_processor"] - path = tools/asm_processor - url = https://github.com/simonlindholm/asm-processor.git +[submodule "tools/asm-processor"] + path = tools/asm-processor + url = https://github.com/simonlindholm/asm-processor +[submodule "tools/asm-differ"] + path = tools/asm-differ + url = https://github.com/simonlindholm/asm-differ.git +[submodule "tools/m2c"] + path = tools/m2c + url = https://github.com/matt-kempster/m2c.git [submodule "tools/Flips"] path = tools/Flips url = https://github.com/Alcaro/Flips.git diff --git a/Makefile b/Makefile index 03e2ebf0..45855f7c 100755 --- a/Makefile +++ b/Makefile @@ -1,42 +1,18 @@ -# Makefile to build DKR - -############################ Shell ########################### - -SHELL := /bin/bash - -################## Preprocessor definitions ################## - -# Currently, only US 1.0 is supported. -VERSION := us_1.0 - +BASENAME = dkr +REGION := us +VERSION := v77 NON_MATCHING ?= 0 -$(eval $(call validate-option,NON_MATCHING,0 1)) # Experimental option for nonmatching builds. GCC may not function identically to ido. COMPILER ?= ido $(eval $(call validate-option,NON_MATCHING,ido gcc)) -LIBULTRA_VERSION_DEFINE := -DBUILD_VERSION=4 -DBUILD_VERSION_STRING=\"2.0G\" +# Define a custom boot file if desired to use something other than the vanilla one +BOOT_CUSTOM ?= boot_custom.bin +BOOT_CIC ?= 6102 +$(eval $(call validate-option,BOOT_CIC,6102 6103)) -ifeq ($(VERSION),us_1.0) - DEFINES += VERSION_US_1_0=1 - DEFINES += F3DDKR_GBI=1 - DEFINES += _FINALROM=1 - DEFINES += TARGET_N64=1 -endif -ifeq ($(NON_EQUIVALENT),1) - DEFINES += NON_EQUIVALENT=1 - DEFINES += NON_MATCHING=1 - NON_MATCHING = 1 -endif -ifeq ($(NON_MATCHING),1) - DEFINES += NON_MATCHING=1 - DEFINES += AVOID_UB=1 -else - DEFINES += ANTI_TAMPER=1 - # Override compiler choice on matching builds. - COMPILER := ido -endif +LIBULTRA_VERSION_DEFINE := -DBUILD_VERSION=4 -DBUILD_VERSION_STRING=\"2.0G\" # Whether to hide commands or not VERBOSE ?= 0 @@ -44,44 +20,25 @@ ifeq ($(VERBOSE),0) V := @ endif +PRINT = printf +GREP = grep -rl + +# Colors + # Whether to colorize build messages COLOR ?= 1 - -# Optimisation flag for nonmatching GCC builds. Can be -O2, -O3, -Os or -OFast, among others. -OPT_FLAGS_GCC := -O2 - -############################ Setup ########################### - -# Don't do setup checks if cleaning. -ifneq ($(MAKECMDGOALS),clean) -ifneq ($(MAKECMDGOALS),clean_lib) -ifneq ($(MAKECMDGOALS),clean_src) -ifneq ($(MAKECMDGOALS),distclean) -ifneq ($(MAKECMDGOALS),reset) - -################ Check if a baserom exists ################ - -numberOfFilesInBaseromsDirectory := $(words $(wildcard baseroms/*)) -ifeq ($(shell test $(numberOfFilesInBaseromsDirectory) -lt 1; echo $$?),0) - $(error Make sure you have a DKR rom in the /baseroms/ directory) -endif - -########## Make tools ########## - -DUMMY != $(MAKE) -s -C tools >&2 || echo FAIL -ifeq ($(DUMMY),FAIL) - $(error Failed to build tools) -endif - -PRINT = printf +GCC_COLOR := -fno-diagnostics-color ifeq ($(COLOR),1) NO_COL := \033[0m RED := \033[0;31m GREEN := \033[0;32m -BLUE := \033[0;34m YELLOW := \033[0;33m -BLINK := \033[33;5m +BLUE := \033[0;34m +PINK := \033[0;35m +CYAN := \033[0;36m +COLORIZE := -c +GCC_COLOR := endif # Common build print status function @@ -89,255 +46,197 @@ define print @$(PRINT) "$(GREEN)$(1) $(YELLOW)$(2)$(GREEN) -> $(BLUE)$(3)$(NO_COL)\n" endef -########## Recomp ########## +# Directories +BIN_DIRS = assets +BUILD_DIR = build +SRC_DIR = src +LIBULTRA_DIR = libultra +ASM_DIRS = asm asm/data asm/assets asm/nonmatchings +HASM_DIRS = $(SRC_DIR)/hasm $(LIBULTRA_DIR)/src/os $(LIBULTRA_DIR)/src/gu $(LIBULTRA_DIR)/src/libc +LIBULTRA_SRC_DIRS = $(LIBULTRA_DIR) $(LIBULTRA_DIR)/src $(LIBULTRA_DIR)/src/audio $(LIBULTRA_DIR)/src/audio/mips1 +LIBULTRA_SRC_DIRS += $(LIBULTRA_DIR)/src/debug $(LIBULTRA_DIR)/src/gu $(LIBULTRA_DIR)/src/io +LIBULTRA_SRC_DIRS += $(LIBULTRA_DIR)/src/libc $(LIBULTRA_DIR)/src/os $(LIBULTRA_DIR)/src/sc -RECOMP_PROJECT := ./tools/ido-static-recomp/ +# Files requiring pre/post-processing +GLOBAL_ASM_C_FILES := $(shell $(GREP) GLOBAL_ASM $(SRC_DIR) /dev/null) +GLOBAL_ASM_O_FILES := $(foreach file,$(GLOBAL_ASM_C_FILES),$(BUILD_DIR)/$(file).o) -DUMMY != ls $(RECOMP_PROJECT)ido >/dev/null || echo FAIL -ifeq ($(DUMMY),FAIL) -DUMMY != git submodule update --init -DUMMY != ls $(RECOMP_PROJECT)ido >/dev/null || echo FAIL -ifeq ($(DUMMY),FAIL) -$(error Missing submodule ido-static-recomp. Please run 'git submodule update --init') -endif +SRC_DIRS = $(SRC_DIR) $(LIBULTRA_SRC_DIRS) +SYMBOLS_DIR = ver/symbols + +TOOLS_DIR = tools + +UNAME_S := $(shell uname -s) +ifeq ($(OS),Windows_NT) + $(error Native Windows is currently unsupported for building this repository, use WSL instead c:) +else ifeq ($(UNAME_S),Linux) + DETECTED_OS := linux +else ifeq ($(UNAME_S),Darwin) + DETECTED_OS := macos endif -######## Extract Assets & Microcode ######## +RECOMP_DIR := $(TOOLS_DIR)/ido-recomp/$(DETECTED_OS) -DUMMY != python3 ./tools/python/check_if_need_to_extract.py $(VERSION) >&2 || echo FAIL +# Files -######## Prebuild step (Compile assets, generate linker file, etc.) ######## +S_FILES = $(foreach dir,$(ASM_DIRS) $(HASM_DIRS),$(wildcard $(dir)/*.s)) +C_FILES = $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) +BIN_FILES = $(foreach dir,$(BIN_DIRS),$(wildcard $(dir)/*.bin)) -DUMMY != ./tools/dkr_assets_tool -dkrv $(VERSION) prebuild >&2 || echo FAIL +O_FILES := $(foreach file,$(S_FILES),$(BUILD_DIR)/$(file).o) \ + $(foreach file,$(C_FILES),$(BUILD_DIR)/$(file).o) \ + $(foreach file,$(BIN_FILES),$(BUILD_DIR)/$(file).o) -################################ -endif -endif -endif -endif -endif -################ Target Executable and Sources ############### +find-command = $(shell which $(1) 2>/dev/null) -# BUILD_DIR is location where all build artifacts are placed -# TODO: Support other versions of DKR -BUILD_DIR = build/$(VERSION) +# Tools -##################### Compiler Options ####################### - -# Check if a binutils package is installed on the system. ifeq ($(shell type mips-linux-gnu-ld >/dev/null 2>/dev/null; echo $$?), 0) CROSS := mips-linux-gnu- else ifeq ($(shell type mips64-linux-gnu-ld >/dev/null 2>/dev/null; echo $$?), 0) CROSS := mips64-linux-gnu- else ifeq ($(shell type mips64-elf-ld >/dev/null 2>/dev/null; echo $$?), 0) CROSS := mips64-elf- -else # No binutil packages were found, so we have to download the source & build it. -ifeq ($(wildcard ./tools/binutils/.*),) - DUMMY != ./tools/get-binutils.sh >&2 || echo FAIL +ifeq ($(wildcard $(TOOLS_DIR)/binutils/.*),) + DUMMY != $(TOOLS_DIR)/get-binutils.sh >&2 || echo FAIL endif - CROSS := ./tools/binutils/mips64-elf- + CROSS := $(TOOLS_DIR)/binutils/mips64-elf- endif -AS = $(CROSS)as -CC := tools/ido-static-recomp/build/5.3/out/cc -LD = $(CROSS)ld -OBJDUMP = $(CROSS)objdump -# Pad to 12MB if matching, otherwise build to a necessary minimum of 1.004MB -ifeq ($(NON_MATCHING),0) - OBJCOPY = $(CROSS)objcopy --pad-to=0xC00000 --gap-fill=0xFF +AS = $(CROSS)as +LD = $(CROSS)ld +OBJCOPY = $(CROSS)objcopy +VENV = .venv +PYTHON = $(VENV)/bin/python3 +GCC = gcc + +#Options +CC = $(RECOMP_DIR)/cc +SPLAT ?= $(PYTHON) -m splat split +CRC = $(TOOLS_DIR)/n64crc $(BUILD_DIR)/$(BASENAME).$(REGION).$(VERSION).z64 $(COLORIZE) +FIXCHECKSUMS = $(PYTHON) $(TOOLS_DIR)/python/calc_func_checksums.py $(REGION) $(VERSION) + +OPT_FLAGS = -O2 + +MIPSISET = -mips1 + +DEFINES := _FINALROM NDEBUG TARGET_N64 F3DDKR_GBI +DEFINES += VERSION_$(REGION)_$(VERSION) + +VERIFY = verify + +ifeq ($(NON_MATCHING),1) + DEFINES += NON_MATCHING + DEFINES += AVOID_UB + VERIFY = no_verify + C_STANDARD := -std=gnu99 else - OBJCOPY = $(CROSS)objcopy --pad-to=0x101000 --gap-fill=0xFF + DEFINES += ANTI_TAMPER + # Override compiler choice on matching builds. + COMPILER := ido + C_STANDARD := -std=gnu99 endif -# Returns the path to the command $(1) if exists. Otherwise returns an empty string. -find-command = $(shell which $(1) 2>/dev/null) - -# Prefer clang as C preprocessor if installed on the system -ifneq (,$(call find-command,clang)) - CPP := clang - CPPFLAGS := -E -P -x c -Wno-trigraphs -I include -else - CPP := cpp - CPPFLAGS := -P -Wno-trigraphs -I include -endif - -MIPSISET := -mips1 -OPT_FLAGS := -O2 -Xfullwarn #include -Xfullwarn here since it's not supported with -O3 - -INCLUDE_DIRS := include $(BUILD_DIR) $(BUILD_DIR)/include src include/libc include/PR include/sys lib/src lib/src/audio lib/src/debug lib/src/gu lib/src/libc lib/src/os . - C_DEFINES := $(foreach d,$(DEFINES),-D$(d)) $(LIBULTRA_VERSION_DEFINE) -D_MIPS_SZLONG=32 -DEF_INC_CFLAGS := $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(C_DEFINES) +ASM_DEFINES = --defsym _MIPS_SIM=1 --defsym mips=1 --defsym VERSION_$(REGION)_$(VERSION)=1 + +# If NON_MATCHING and using a custom boot file, (Right now just 6102). +# Define this so it will change the entrypoint in the header +ifeq ($(NON_MATCHING),1) +ifneq ("$(wildcard $(BOOT_CUSTOM))","") +ASM_DEFINES += --defsym BOOT_$(BOOT_CIC)=1 +endif +endif + +INCLUDE_CFLAGS = -I . -I include -I include/libc -I include/PR -I include/sys -I $(BIN_DIRS) -I $(SRC_DIR) -I $(LIBULTRA_DIR) +INCLUDE_CFLAGS += -I $(LIBULTRA_DIR)/src/gu -I $(LIBULTRA_DIR)/src/libc -I $(LIBULTRA_DIR)/src/io -I $(LIBULTRA_DIR)/src/sc +INCLUDE_CFLAGS += -I $(LIBULTRA_DIR)/src/audio -I $(LIBULTRA_DIR)/src/os + +ASFLAGS = -march=vr4300 -32 -G0 $(ASM_DEFINES) $(INCLUDE_CFLAGS) +OBJCOPYFLAGS = -O binary + +# Pad to 12MB if matching, otherwise build to a necessary minimum of 1.004MB +ifeq ($(NON_MATCHING),1) + OBJCOPYFLAGS += --pad-to=0x101000 --gap-fill=0xFF +else + OBJCOPYFLAGS += --pad-to=0xC00000 --gap-fill=0xFF +endif #IDO Warnings to Ignore. These are coding style warnings we don't follow -IDO_IGNORE_WARNINGS = -woff 838,649,624 -ASFLAGS = -mtune=vr4300 -march=vr4300 -mabi=32 -I include $(foreach d,$(DEFINES),--defsym $(d)) -INCLUDE_CFLAGS := -I include -I $(BUILD_DIR) -I src -I . -I include/libc -CFLAGS = -c -Wab,-r4300_mul -non_shared -G 0 -Xcpluscomm -DNDEBUG $(OPT_FLAGS) $(MIPSISET) $(INCLUDE_CFLAGS) $(DEF_INC_CFLAGS) $(IDO_IGNORE_WARNINGS) -LDFLAGS = undefined_syms.txt -T $(BUILD_DIR)/$(LD_SCRIPT) -Map $(BUILD_DIR)/dkr.map +CC_WARNINGS := -fullwarn -Xfullwarn -woff 838,649,624 -####################### Other Tools ######################### - -# N64 tools -TOOLS_DIR = ./tools -FLIPS = $(TOOLS_DIR)/Flips/flips -EMULATOR = mupen64plus -EMU_FLAGS = --noosd -LOADER = loader64 -LOADER_FLAGS = -vwf - -N64CRC = $(TOOLS_DIR)/n64crc -FIXCHECKSUMS = python3 $(TOOLS_DIR)/python/calc_func_checksums.py $(VERSION) -BUILDER = $(TOOLS_DIR)/dkr_assets_tool -dkrv $(VERSION) build - -LIB_DIRS := lib -ASM_DIRS := asm asm/boot asm/assets lib/asm -SRC_DIRS := $(sort $(patsubst %/,%,$(dir $(wildcard src/* src/**/* lib/src/* lib/src/**/* lib/src/**/**/*)))) - -OS := $(shell uname) - -# MacOS has a slightly different name for grep, so check to see if it needs to be used. -ifeq ($(OS), Darwin) - GREP_FILE := ggrep -else - GREP_FILE := grep -endif - -GLOBAL_ASM_C_FILES != $(GREP_FILE) -rl 'GLOBAL_ASM(' $(SRC_DIRS) -GLOBAL_ASM_O_FILES = $(foreach file,$(GLOBAL_ASM_C_FILES),$(BUILD_DIR)/$(file:.c=.o)) - -S_FILES := $(foreach dir,$(ASM_DIRS),$(wildcard $(dir)/*.s)) -C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) - -# Object files -O_FILES := $(foreach file,$(S_FILES),$(BUILD_DIR)/$(file:.s=.o)) \ - $(foreach file,$(C_FILES),$(BUILD_DIR)/$(file:.c=.o)) - -# Automatic dependency files -DEP_FILES := $(O_FILES:.o=.d) $(BUILD_DIR)/$(LD_SCRIPT).d - -# Check code syntax with host compiler -CC_CHECK := gcc -ifeq ($(shell getconf LONG_BIT), 64) - # Ensure that gcc treats the code as 32-bit - CC_CHECK_CFLAGS += -m32 -endif - -ifeq ($(NON_MATCHING),0) - C_STANDARD := -std=gnu90 -else - C_STANDARD := -std=gnu99 -endif - -CC_CHECK_CFLAGS := -fsyntax-only -funsigned-char $(INCLUDE_CFLAGS) $(DEF_INC_CFLAGS) $(C_STANDARD) -Wall -Wextra -Wno-format-security -Wno-main -DNON_MATCHING -DAVOID_UB -D_LANGUAGE_C -DNDEBUG -Werror-implicit-function-declaration +CFLAGS := -G 0 -non_shared -verbose -Xcpluscomm -nostdinc -Wab,-r4300_mul +CFLAGS += $(C_DEFINES) +CFLAGS += $(INCLUDE_CFLAGS) +CHECK_WARNINGS := -Wall -Wextra -Wno-format-security -Wno-unknown-pragmas -Wunused-function -Wno-unused-parameter -Werror-implicit-function-declaration +CHECK_WARNINGS += -Werror-implicit-function-declaration -Wno-unused-variable -Wno-missing-braces -Wno-int-conversion -Wno-main +CHECK_WARNINGS += -Wno-builtin-declaration-mismatch -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast -Wno-switch # Disable GCC complaining about fakematches necessary to match if building a matching ROM. Example: "var2 = (0, var1)" ifeq ($(NON_MATCHING),0) - CC_CHECK_CFLAGS += -Wno-unused-value + CHECK_WARNINGS += -Wno-unused-value +endif +CC_CHECK := $(GCC) -fsyntax-only -fno-builtin -funsigned-char $(C_STANDARD) -D_LANGUAGE_C -DNON_MATCHING -DNON_EQUIVALENT $(CHECK_WARNINGS) $(INCLUDE_CFLAGS) $(C_DEFINES) $(GCC_COLOR) +ifeq ($(shell getconf LONG_BIT), 64) + # Ensure that gcc treats the code as 32-bit + CC_CHECK += -m32 endif -#Warnings to ignore -CC_CHECK_CFLAGS += -Wno-builtin-declaration-mismatch -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast -Wno-switch -####################### ASSETS ######################### +TARGET = $(BUILD_DIR)/$(BASENAME).$(REGION).$(VERSION) +LD_SCRIPT = ver/$(BASENAME).$(REGION).$(VERSION).ld -###### Define section files into the ALL_ASSETS_BUILT variable ###### - -UCODE_DIR = ucode/$(VERSION) -ASSETS := assets/$(VERSION) -#BUILD_DIR := ./build/$(VERSION) -ASSETS_BUILD_DIR := $(BUILD_DIR)/assets - -ASSETS_COPY = cp - -# Add .json files -JSON_FILES := $(shell find $(ASSETS) -type f -name '*.json') -# Ignore .meta.json files -IGNORE_JSON_FILES := $(shell find $(ASSETS) -type f -name '*.meta.json') -JSON_FILES := $(filter-out $(IGNORE_JSON_FILES),$(JSON_FILES)) -# Add .cbin files -#CBIN_FILES := $(shell find $(ASSETS) -type f -name '*.cbin') -# Add .bin files -#BIN_FILES := $(shell find $(ASSETS) -type f -name '*.bin') -ALL_FILES := $(JSON_FILES) - -ALL_FILES_OUT := $(foreach FILE,ALL_FILES,$($(FILE):$(ASSETS)%=$(ASSETS_BUILD_DIR)%)) -ALL_FILES_OUT := $(foreach FILE,ALL_FILES_OUT,$($(FILE):$.json%=$.bin%)) - -DIRECTORY = $(sort $(dir $(ALL_FILES_OUT))) $(addprefix $(BUILD_DIR)/,$(LIB_DIRS) $(ASM_DIRS) $(SRC_DIRS) ucode) - -DUMMY != mkdir -p $(DIRECTORY) >&2 || echo FAIL - -# $1 = asset path (e.g. assets/levels/models/...), $2 = cmd to run -define DEFINE_ASSET_TARGET -$(eval BASE_PATH := $(subst $(ASSETS),$(ASSETS_BUILD_DIR),$(basename $1))) -$$(BASE_PATH).bin: $1 - $2 -$(eval ALL_ASSETS_BUILT+=$(BASE_PATH).bin) -endef - -# $1 = Print message -define JSON_FILE_ACTION - $$(call print,$1:,$$<,$$@) - $$(V)$$(BUILDER) -i $$< -o $$@ -endef - -# Microcode -UCODE_IN_DIR = $(UCODE_DIR) -UCODE_OUT_DIR = $(BUILD_DIR)/ucode -UCODE = $(wildcard $(UCODE_IN_DIR)/*.bin) -ALL_ASSETS_BUILT += $(patsubst $(UCODE_IN_DIR)/%.bin,$(UCODE_OUT_DIR)/%.bin,$(UCODE)) +LD_FLAGS = -T $(LD_SCRIPT) -T $(SYMBOLS_DIR)/undefined_syms.txt -Map $(TARGET).map +ASM_PROCESSOR_DIR := $(TOOLS_DIR)/asm-processor +ASM_PROCESSOR = $(PYTHON) $(ASM_PROCESSOR_DIR)/build.py +### Optimisation Overrides ####################### LIBULTRA ######################### -$(BUILD_DIR)/$(LIB_DIRS)/%.o: OPT_FLAGS := -O2 -$(BUILD_DIR)/$(LIB_DIRS)/src/audio/%.o: OPT_FLAGS := -O3 -$(BUILD_DIR)/$(LIB_DIRS)/src/audio/mips1/%.o: OPT_FLAGS := -O2 -$(BUILD_DIR)/$(LIB_DIRS)/src/os/%.o: OPT_FLAGS := -O1 -$(BUILD_DIR)/$(LIB_DIRS)/src/io/%.o: OPT_FLAGS := -O1 -$(BUILD_DIR)/$(LIB_DIRS)/src/io/vimgr.o: OPT_FLAGS := -O2 -$(BUILD_DIR)/$(LIB_DIRS)/src/io/pimgr.o: OPT_FLAGS := -O2 -$(BUILD_DIR)/$(LIB_DIRS)/src/io/motor.o: OPT_FLAGS := -O2 -$(BUILD_DIR)/$(LIB_DIRS)/src/libc/xprintf.o : OPT_FLAGS := -O3 -$(BUILD_DIR)/$(LIB_DIRS)/src/audio/env.o: OPT_FLAGS := -g -$(BUILD_DIR)/$(LIB_DIRS)/src/libc/llcvt.o: OPT_FLAGS := -O1 -$(BUILD_DIR)/$(LIB_DIRS)/src/libc/llcvt.o: MIPSISET := -mips3 -32 -$(BUILD_DIR)/$(LIB_DIRS)/src/libc/ll.o: OPT_FLAGS := -O1 -$(BUILD_DIR)/$(LIB_DIRS)/src/libc/ll.o: MIPSISET := -mips3 -32 -$(BUILD_DIR)/$(LIB_DIRS)/src/libc/ldiv.o: OPT_FLAGS := -O3 -$(BUILD_DIR)/$(LIB_DIRS)/src/libc/ldiv.o: MIPSISET := -mips2 -$(BUILD_DIR)/$(LIB_DIRS)/src/libc/xldtob.o: OPT_FLAGS := -O3 -$(BUILD_DIR)/$(LIB_DIRS)/src/libc/xldtob.o: MIPSISET := -mips2 +$(BUILD_DIR)/$(LIBULTRA_DIR)/%.c.o: OPT_FLAGS := -O2 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/audio/%.c.o: OPT_FLAGS := -O3 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/audio/mips1/%.c.o: OPT_FLAGS := -O2 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/os/%.c.o: OPT_FLAGS := -O1 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/io/%.c.o: OPT_FLAGS := -O1 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/io/vimgr.c.o: OPT_FLAGS := -O2 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/io/pimgr.c.o: OPT_FLAGS := -O2 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/io/motor.c.o: OPT_FLAGS := -O2 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/libc/xprintf.c.o : OPT_FLAGS := -O3 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/audio/env.c.o: OPT_FLAGS := -g +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/libc/llcvt.c.o: OPT_FLAGS := -O1 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/libc/llcvt.c.o: MIPSISET := -mips3 -32 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/libc/ll.c.o: OPT_FLAGS := -O1 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/libc/ll.c.o: MIPSISET := -mips3 -32 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/libc/ldiv.c.o: OPT_FLAGS := -O3 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/libc/ldiv.c.o: MIPSISET := -mips2 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/libc/xldtob.c.o: OPT_FLAGS := -O3 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/libc/xldtob.c.o: MIPSISET := -mips2 -$(BUILD_DIR)/$(LIB_DIRS)/%.o: MIPSISET := -mips2 -$(BUILD_DIR)/$(LIB_DIRS)/src/audio/mips1/%.o: MIPSISET := -mips1 -$(BUILD_DIR)/$(LIB_DIRS)/src/io/pimgr.o: MIPSISET := -mips1 -$(BUILD_DIR)/$(LIB_DIRS)/src/sc/sched.o: MIPSISET := -mips1 -$(BUILD_DIR)/$(LIB_DIRS)/src/io/motor.o: MIPSISET := -mips1 -$(BUILD_DIR)/$(LIB_DIRS)/src/audio/env.o: MIPSISET := -mips1 +$(BUILD_DIR)/$(LIBULTRA_DIR)/%.c.o: MIPSISET := -mips2 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/audio/mips1/%.c.o: MIPSISET := -mips1 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/io/pimgr.c.o: MIPSISET := -mips1 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/sc/sched.c.o: MIPSISET := -mips1 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/io/motor.c.o: MIPSISET := -mips1 +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/audio/env.c.o: MIPSISET := -mips1 #Ignore warnings for libultra files -$(BUILD_DIR)/$(LIB_DIRS)/%.o: CC_WARNINGS := -w -$(BUILD_DIR)/$(LIB_DIRS)/%.o: CC_CHECK := : +$(BUILD_DIR)/$(LIBULTRA_DIR)/%.c.o: CC_WARNINGS := -w +$(BUILD_DIR)/$(LIBULTRA_DIR)/%.c.o: CC_CHECK := : -####################### MATH UTIL ######################### - -$(BUILD_DIR)/src/math_util.o: MIPSISET := -mips2 -$(BUILD_DIR)/src/collision.o: MIPSISET := -mips2 - -######################## Targets ############################# +### Targets ifeq ($(COMPILER),gcc) - DUMMY != python3 ./tools/python/gcc_generate.py gcc_safe_files.mk + DUMMY != $(PYTHON) $(TOOLS_DIR)/python/gcc_generate.py gcc_safe_files.mk include gcc_safe_files.mk endif $(GCC_SAFE_FILES): CC := $(CROSS)gcc - -$(GCC_SAFE_FILES): CFLAGS := -c -DNDEBUG -DAVOID_UB $(OPT_FLAGS_GCC) $(INCLUDE_CFLAGS) $(DEF_INC_CFLAGS) \ +$(GCC_SAFE_FILES): CC_WARNINGS := +$(GCC_SAFE_FILES): MIPSISET := -mips3 +$(GCC_SAFE_FILES): CFLAGS := -DNDEBUG -DAVOID_UB -DNON_MATCHING -O2 $(INCLUDE_CFLAGS) $(C_DEFINES) \ -EB \ -march=vr4300 \ -mabi=32 \ @@ -364,68 +263,110 @@ $(GCC_SAFE_FILES): CFLAGS := -c -DNDEBUG -DAVOID_UB $(OPT_FLAGS_GCC) $(INCLUDE_C default: all -TARGET = dkr -LD_SCRIPT = $(TARGET).ld +all: $(VERIFY) -all: $(BUILD_DIR)/$(TARGET).z64 +dirs: + $(foreach dir,$(SRC_DIRS) $(ASM_DIRS) $(HASM_DIRS) $(BIN_DIRS),$(shell mkdir -p $(BUILD_DIR)/$(dir))) -reset: -ifneq ($(wildcard ./build/.*),) - rm -r build +verify: $(TARGET).z64 + $(V)$(FIXCHECKSUMS) + $(V)$(CRC) +ifeq ($(NON_MATCHING),0) + @(sha1sum -c --quiet ver/verification/$(BASENAME).$(REGION).$(VERSION).sha1 \ + && $(PRINT) "$(GREEN)Verify:$(NO_COL)\ + $(YELLOW)OK$(NO_COL)\n") + $(V)$(PRINT) "$(YELLOW) __\n .\`_ _\`.\n| | \`| | |\n| |_|._| |\n \`. __ .\'$(NO_COL)\n\n" +else + $(V)$(PRINT) "$(GREEN)Build Complete!$(NO_COL)\n" endif -ifneq ($(wildcard ./assets/.*),) - rm -r assets + +no_verify: $(TARGET).z64 + $(V)$(CRC) + $(V)$(PRINT) "$(GREEN)Build Complete!$(NO_COL)\n" + +extract: + $(SPLAT) ver/splat/$(BASENAME).$(REGION).$(VERSION).yaml +#These are the only 4 jpn region functions that match elsewhere, but not for this region. As a temp hack for progress script reasons, just delete these for other regions. +ifneq ($(REGION),jpn) + @$(RM) asm/nonmatchings/menu/savemenu_render_element.s asm/nonmatchings/menu/pakmenu_render.s asm/nonmatchings/menu/results_render.s asm/nonmatchings/menu/menu_credits_loop.s endif -ifneq ($(wildcard ./ucode/.*),) - rm -r ucode -endif - @echo "Done." + +extractall: + $(SPLAT) ver/splat/$(BASENAME).us.v77.yaml + $(SPLAT) ver/splat/$(BASENAME).pal.v77.yaml + $(SPLAT) ver/splat/$(BASENAME).jpn.v79.yaml + $(SPLAT) ver/splat/$(BASENAME).us.v80.yaml + $(SPLAT) ver/splat/$(BASENAME).pal.v80.yaml + +setup: +#Set up a python venv so we don't get warnings about breaking system packages. + $(V)python3 -m venv $(VENV) +#Installing the splat dependencies + $(V)$(PYTHON) -m pip install -r requirements.txt + $(V)$(PYTHON) ver/splat/update_baserom_names.py + $(V)make -C $(TOOLS_DIR) clean: -ifneq ($(wildcard ./build/.*),) - rm -r build -else - @echo "/build/ directory has already been deleted." -endif - rm -f dkr.ld + rm -rf $(BUILD_DIR) -distclean: - rm -rf build - rm -rf assets - rm -rf ucode - rm -f dkr.ld - $(MAKE) -C tools distclean - -clean_lib: -ifneq ($(wildcard $(BUILD_DIR)/lib/.*),) - rm -r $(BUILD_DIR)/lib/src/*/*.o -else - @echo "build lib directory has already been deleted." -endif - -clean_asm: -ifneq ($(wildcard $(BUILD_DIR)/lib/.*),) - rm -r $(BUILD_DIR)/asm/*.o -else - @echo "build asm directory has already been deleted." -endif - -clean_src: clean_lib clean_asm -ifneq ($(wildcard $(BUILD_DIR)/src/.*),) - rm -r $(BUILD_DIR)/src/*.o - rm -f dkr.ld -else - @echo "/build/lib directory has already been deleted." -endif +clean_src: + rm -rf $(BUILD_DIR)/asm + rm -rf $(BUILD_DIR)/libultra + rm -rf $(BUILD_DIR)/src clean_assets: -ifneq ($(wildcard ./build/.*),) - rm -r build -else - @echo "/build/ directory has already been deleted." -endif - rm -r assets - rm -f dkr.ld + rm -rf $(ASM_DIRS) + rm -rf $(BIN_DIRS) + +cleanall: + rm -rf $(BUILD_DIR) + +distclean: clean + rm -rf $(ASM_DIRS) + rm -rf $(BIN_DIRS) + rm -f $(SYMBOLS_DIR)/*auto.$(REGION).$(VERSION).txt + rm -f $(LD_SCRIPT) + +distcleanall: cleanall + rm -rf asm + rm -rf assets + rm -f $(SYMBOLS_DIR)/*auto.*.txt + rm -f ver/dkr.us.v77.ld + rm -f ver/dkr.us.v80.ld + rm -f ver/dkr.pal.v77.ld + rm -f ver/dkr.pal.v80.ld + rm -f ver/dkr.jpn.v79.ld + rm -f $(SYMBOLS_DIR)/*auto.us.v77.txt + rm -f $(SYMBOLS_DIR)/*auto.pal.v77.txt + rm -f $(SYMBOLS_DIR)/*auto.jpn.v79.txt + rm -f $(SYMBOLS_DIR)/*auto.us.v80.txt + rm -f $(SYMBOLS_DIR)/*auto.pal.v80.txt + +#When you just need to wipe old symbol names and re-extract +cleanextract: distclean extract + +#Put the build folder into expected for use with asm-differ. Only run this with a matching build. +expected: verify + mkdir -p expected + rm -rf expected/$(BUILD_DIR) + cp -r $(BUILD_DIR)/ expected/ + +#Run this to use the asset builder to customize assets +assets: all + +# Only compile the assets when running `make assets` or if we're making a NON_MATCHING build +ifeq ($(MAKECMDGOALS),assets) + +ASSETS_VERSION := us_1.0 +ASSETS := assets/$(ASSETS_VERSION) +ASSETS_BUILD_DIR := $(BUILD_DIR)/assets +BUILDER = $(TOOLS_DIR)/dkr_assets_tool -dkrv $(ASSETS_VERSION) build + +######## Extract Assets & Microcode ######## +DUMMY != $(PYTHON) $(TOOLS_DIR)/python/check_if_need_to_extract.py $(ASSETS_VERSION) >&2 || echo FAIL + +######## Prebuild step (Compile assets, generate linker file, etc.) ######## +DUMMY != $(TOOLS_DIR)/dkr_assets_tool -dkrv $(ASSETS_VERSION) prebuild >&2 || echo FAIL # Helps fix an issue with parallel jobs. $(ALL_ASSETS_BUILT): | $(BUILD_DIR) @@ -433,88 +374,102 @@ $(ALL_ASSETS_BUILT): | $(BUILD_DIR) # This is here to prevent make from deleting all the asset files after the build completes/fails. dont_remove_asset_files: $(ALL_ASSETS_BUILT) -######## Asset Targets ######## +# Add .json files +JSON_FILES := $(shell find $(ASSETS) -type f -name '*.json') + +# Ignore .meta.json files +IGNORE_JSON_FILES := $(shell find $(ASSETS) -type f -name '*.meta.json') +JSON_FILES := $(filter-out $(IGNORE_JSON_FILES),$(JSON_FILES)) + +# $1 = asset path (e.g. assets/levels/models/...), $2 = cmd to run +define DEFINE_ASSET_TARGET +$(eval BASE_PATH := $(subst $(ASSETS),$(ASSETS_BUILD_DIR),$(basename $1))) +$$(BASE_PATH).bin: $1 + $2 +$(eval ALL_ASSETS_BUILT+=$(BASE_PATH).bin) +endef + +# $1 = Print message +define JSON_FILE_ACTION + $$(call print,$1:,$$<,$$@) + $$(V)$$(BUILDER) -i $$< -o $$@ +endef $(foreach FILE,$(JSON_FILES),$(eval $(call DEFINE_ASSET_TARGET,$(FILE),$(call JSON_FILE_ACTION,Building)))) -# Microcode target -$(UCODE_OUT_DIR)/%.bin: $(UCODE_IN_DIR)/%.bin - $(call print,Copying:,$<,$@) - $(V)$(ASSETS_COPY) $^ $@ +endif ############################### -$(BUILD_DIR)/%.o: %.s | $(ALL_ASSETS_BUILT) - $(call print,Assembling:,$<,$@) - $(V)$(AS) $(ASFLAGS) -MD $(BUILD_DIR)/$*.d -o $@ $< +$(GLOBAL_ASM_O_FILES): CC := $(ASM_PROCESSOR) $(CC) -- $(AS) $(ASFLAGS) -- -$(BUILD_DIR)/%.o: %.c | $(ALL_ASSETS_BUILT) +$(TARGET).elf: dirs $(LD_SCRIPT) $(O_FILES) | $(ALL_ASSETS_BUILT) + @$(PRINT) "$(GREEN)Linking: $(BLUE)$@$(NO_COL)\n" + $(V)$(LD) $(LD_FLAGS) -o $@ + +ifndef PERMUTER +$(GLOBAL_ASM_O_FILES): $(BUILD_DIR)/%.c.o: %.c | $(ALL_ASSETS_BUILT) $(call print,Compiling:,$<,$@) - @$(CC_CHECK) $(CC_CHECK_CFLAGS) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $< - $(V)$(CC) $(CFLAGS) -o $@ $< - -$(BUILD_DIR)/$(LIB_DIRS)/src/libc/llcvt.o: $(LIB_DIRS)/src/libc/llcvt.c | $(ALL_ASSETS_BUILT) - $(call print,Compiling mips3:,$<,$@) - $(V)$(CC) $(CFLAGS) -o $@ $< - $(V)python3 tools/python/patchmips3.py $@ || rm $@ - -$(BUILD_DIR)/$(LIB_DIRS)/src/libc/ll.o: $(LIB_DIRS)/src/libc/ll.c | $(ALL_ASSETS_BUILT) - $(call print,Compiling mips3:,$<,$@) - $(V)$(CC) $(CFLAGS) -o $@ $< - $(V)python3 tools/python/patchmips3.py $@ || rm $@ - -$(BUILD_DIR)/%.o: $(BUILD_DIR)/%.c | $(ALL_ASSETS_BUILT) - $(call print,Compiling:,$<,$@) - @$(CC_CHECK) $(CC_CHECK_CFLAGS) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $< - $(V)$(CC) $(CFLAGS) -o $@ $< - -$(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT) | $(ALL_ASSETS_BUILT) - $(call print,Preprocessing linker script:,$<,$@) - $(V)$(CPP) $(CPPFLAGS) $(VERSION_CFLAGS) -DBUILD_DIR=$(BUILD_DIR) -MMD -MP -MT $@ -MF $@.d -o $@ $< - -$(BUILD_DIR)/$(TARGET).elf: $(O_FILES) $(BUILD_DIR)/$(LD_SCRIPT) | $(ALL_ASSETS_BUILT) - @$(PRINT) "$(GREEN)Linking ELF file: $(BLUE)$@ $(NO_COL)\n" - $(V)$(LD) $(LDFLAGS) -o $@ $(O_FILES) $(LIBS) - -$(BUILD_DIR)/$(TARGET).bin: $(BUILD_DIR)/$(TARGET).elf | $(ALL_ASSETS_BUILT) - $(call print,Making .bin:,$<,$@) - $(V)$(OBJCOPY) $< $@ -O binary - -$(BUILD_DIR)/$(TARGET).z64: $(BUILD_DIR)/$(TARGET).bin | $(ALL_ASSETS_BUILT) - $(call print,Making final z64 ROM:,$<,$@) - $(V)cp $< $@ - $(V)$(FIXCHECKSUMS) - $(V)$(N64CRC) $@ -ifeq ($(NON_MATCHING),0) - @(sha1sum -c --quiet sha1/dkr.$(VERSION).sha1 \ - && $(PRINT) "$(BLUE)$@$(NO_COL)\ - : $(GREEN)OK$(NO_COL)\n") - @$(PRINT) "$(YELLOW) __\n .\`_ _\`.\n| | \`| | |\n| |_|._| |\n \`. __ .\'$(NO_COL)\n\n" -else - @$(PRINT) "$(GREEN)Build Complete!$(NO_COL)\n" + $(V)$(CC_CHECK) $< + $(V)$(CC) -c $(CFLAGS) $(CC_WARNINGS) $(OPT_FLAGS) $(MIPSISET) -o $@ $< endif -$(BUILD_DIR)/$(TARGET).hex: $(BUILD_DIR)/$(TARGET).z64 - xxd $< > $@ +# non asm-processor recipe +$(BUILD_DIR)/%.c.o: %.c | $(ALL_ASSETS_BUILT) + $(call print,Compiling:,$<,$@) + $(V)$(CC_CHECK) $< + $(V)$(CC) -c $(CFLAGS) $(CC_WARNINGS) $(OPT_FLAGS) $(MIPSISET) -o $@ $< -$(BUILD_DIR)/$(TARGET).objdump: $(BUILD_DIR)/$(TARGET).elf - $(OBJDUMP) -D $< > $@ +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/libc/llcvt.c.o: $(LIBULTRA_DIR)/src/libc/llcvt.c | $(ALL_ASSETS_BUILT) + $(call print,Compiling mips3:,$<,$@) + @$(CC) -c $(CFLAGS) $(CC_WARNINGS) $(OPT_FLAGS) $(MIPSISET) -o $@ $< + $(V)$(PYTHON) $(TOOLS_DIR)/python/patchmips3.py $@ || rm $@ -$(GLOBAL_ASM_O_FILES): CC := python3 tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/libc/ll.c.o: $(LIBULTRA_DIR)/src/libc/ll.c | $(ALL_ASSETS_BUILT) + $(call print,Compiling mips3:,$<,$@) + @$(CC) -c $(CFLAGS) $(CC_WARNINGS) $(OPT_FLAGS) $(MIPSISET) -o $@ $< + $(V)$(PYTHON) $(TOOLS_DIR)/python/patchmips3.py $@ || rm $@ -test: $(BUILD_DIR)/$(TARGET).z64 - $(EMULATOR) $(EMU_FLAGS) $< +$(BUILD_DIR)/%.s.o: %.s | $(ALL_ASSETS_BUILT) + $(call print,Assembling:,$<,$@) + $(V)$(AS) $(ASFLAGS) -o $@ $< -load: $(BUILD_DIR)/$(TARGET).z64 - $(LOADER) $(LOADER_FLAGS) $< +# Specifically override the assets bin output location to match what splat output to the ld file. +$(BUILD_DIR)/asm/assets/assets.s.o: asm/assets/assets.s | $(ALL_ASSETS_BUILT) + $(call print,Assembling Assets:,$<,$@) + $(V)$(AS) $(ASFLAGS) -o $(BUILD_DIR)/assets/assets.bin.o $< -ROM := $(BUILD_DIR)/$(TARGET).z64 -patch: $(ROM) - $(FLIPS) --create --bps ./baseroms/dkr.z64 $(ROM) $(BUILD_DIR)/$(TARGET).bps +# Specifically override the header file from what splat extracted to be replaced by what we have in the hasm folder +$(BUILD_DIR)/asm/header.s.o: src/hasm/header.s | $(ALL_ASSETS_BUILT) + $(call print,Assembling Header:,$<,$@) + $(V)$(AS) $(ASFLAGS) -o $(BUILD_DIR)/asm/header.s.o $< -.PHONY: all clean distclean default diff test +ifeq ($(NON_MATCHING),1) +# Specifically override llcvt file for NON_MATCHING builds +$(BUILD_DIR)/$(LIBULTRA_DIR)/src/libc/llcvt.c.o: src/hasm/llmuldiv_gcc.s | $(ALL_ASSETS_BUILT) + $(call print,Assembling llmuldiv_gcc:,$<,$@) + $(V)$(AS) $(ASFLAGS) --defsym NON_MATCHING=1 -o $(BUILD_DIR)/$(LIBULTRA_DIR)/src/libc/llcvt.c.o $< -# Remove built-in rules, to improve performance -MAKEFLAGS += --no-builtin-rules +# If doing a NON_MATCHING build, and the custom boot file exists, use that. +ifneq ("$(wildcard $(BOOT_CUSTOM))","") +$(BUILD_DIR)/assets/boot.bin.o: $(BOOT_CUSTOM) | $(ALL_ASSETS_BUILT) + $(call print,Linking Custom Boot:,$<,$@) + $(V)$(LD) -r -b binary -o $@ $< +endif +endif --include $(DEP_FILES) +$(BUILD_DIR)/%.bin.o: %.bin | $(ALL_ASSETS_BUILT) + $(call print,Linking Binary:,$<,$@) + $(V)$(LD) -r -b binary -o $@ $< + +$(TARGET).bin: $(TARGET).elf | $(ALL_ASSETS_BUILT) + $(call print,Objcopy:,$<,$@) + $(V)$(OBJCOPY) $(OBJCOPYFLAGS) $< $@ + +$(TARGET).z64: $(TARGET).bin | $(ALL_ASSETS_BUILT) + $(call print,CopyRom:,$<,$@) + $(V)$(PYTHON) $(TOOLS_DIR)/python/CopyRom.py $< $@ + +### Settings +.PHONY: all clean cleanextract default assets +SHELL = /bin/bash -e -o pipefail diff --git a/README.md b/README.md index ffd89501..3123bd56 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ This repo contains a work-in-progress decompilation of Diddy Kong Racing for the N64. You will need to have a original copy of the ROM to extract the game's assets. -Currently, only the US 1.0 version (SHA1 = 0cb115d8716dbbc2922fda38e533b9fe63bb9670) of the game is supported. US 1.1, EU 1.0, EU 1.1, and JP are not supported at this time. +All versions are supported, and the US 1.0 version (SHA1 = 0cb115d8716dbbc2922fda38e533b9fe63bb9670) of the game is the default if not specified. As of March 20, 2025, this is our current score: @@ -19,23 +19,19 @@ As of March 20, 2025, this is our current score: * `gcc`, Version 8.0 or higher * `make`, Version 4.2 or higher * `python3` -* `wget` * `libpcre2-dev` and `libpcre2-8-0` (Not technically required, but will speedup extracting/building some assets.) +* `gcc-mips-linux-gnu` is optionally used if compiling NON_MATCHING with COMPILER=gcc -`sudo apt install build-essential pkg-config git python3 wget libpcre2-dev libpcre2-8-0` - -### binutils - -You are not required to install a binutils package, but it does speed up the initial setup if you do have it installed. - -* Ubuntu/Debian (x86): `sudo apt install binutils-mips-linux-gnu` +`sudo apt install build-essential pkg-config git python3 python3-pip binutils-mips-linux-gnu python3-venv libpcre2-dev libpcre2-8-0` ## Setup / Building 1. Install the dependencies 2. Place the ROM file within the `baseroms` directory. - **a.** The name of the ROM file does not matter. It will be detected automatically from an md5 checksum. - **b.** If you use a byte-swapped or little-endian ROM, then it will automatically be converted to a big-endian (.z64) ROM file. -3. Run `make` in the main directory. + **a.** The name of the ROM file does not matter. It will be detected automatically from an sha1 checksum. +3. Grab tools: `git submodule update --init --recursive` +4. Run `make setup` to install the IDO compiler, python venv, and packages required. +5. Run `make extract` to run splat to extract all required files from the baserom. +6. Run `make` in the main directory. **a.** Use the `-jN` argument to use `N` number of threads to speed up building. For example, if you have a system with 4 cores / 4 threads, you should do `make -j4`. ### Building on macOS @@ -43,6 +39,16 @@ You are not required to install a binutils package, but it does speed up the ini 2. Place the ROM file within the `baseroms` directory. See [Setup](#setup--building) above for more info. 3. Run `gmake` from the main directory. Note that macOS built-in `make` will not work since it does not meet the version requirements. +### Building other versions +To build other versions of the ROM, just specifcy the region and version in the make command. All examples are below: +Baserom|REGION|VERSION|Command +---|--|---|- +US 1.0 | US | v77 | `make REGION=US VERSION=v77` +PAL 1.0 | PAL | v77 | `make REGION=PAL VERSION=v77` +JPN 1.0 | JPN | v79 | `make REGION=JPN VERSION=v79` +US 1.1 | US | v80 | `make REGION=US VERSION=v80` +PAL 1.1 | PAL | v80 | `make REGION=PAL VERSION=v80` + ## Modding If you are modifying the code in the repo, then you should add `NON_MATCHING=1` to the make command. Example: `make NON_MATCHING=1 -j4` @@ -85,21 +91,6 @@ Example: `./rename.sh D_A4001000 SP_IMEM` --- -#### `./get_symbol.sh |` - -Given either a RAM address or symbol, returns its `(symbol, address)` pairing as defined in `/build/us_1.0/dkr.map`. If specified, the RAM address must be in base 16. The `0x` prefix is not required. - -Example: -``` -./get_symbol.sh 0xA4001000 -0xA4001000 = SP_IMEM - -./get_symbol.sh osCicId -0x80000310 = osCicId -``` - ---- - #### `./score.sh` Prints out the current completion percentage of the decomp. You do need to have an `OK` build for this to work properly. @@ -153,27 +144,3 @@ As of March 20, 2025, this is our current score: ======================================================================= ``` - ---- - -## TODO list - -### Major - -What should be focused on. - -* Decompiling the non-matching asm files into matching C functions. -* Documenting variables & functions - -### Minor - -What can be done, but not essential. - -* Figuring out the formats for the assets in the /assets/ folder. -* Creating tools to modify assets - -### Future - -These features won't be complete anytime soon. - -* Add support for the other 4 versions. diff --git a/asm/assets/assets.s b/asm/assets/assets.s deleted file mode 100755 index c6050136..00000000 --- a/asm/assets/assets.s +++ /dev/null @@ -1,13928 +0,0 @@ -# This file is automatically generated. Any changes you make to this file will get overwritten. - -.include "macros.inc" - -/********** Asset Sections Table **********/ - -.word 50 # Number of entries in the table -.word ASSET_AI_BEHAVIOUR - ASSETS_START -.word ASSET_AI_BEHAVIOUR_TABLE - ASSETS_START -.word ASSET_TEXTURES_3D - ASSETS_START -.word ASSET_TEXTURES_3D_TABLE - ASSETS_START -.word ASSET_TEXTURES_2D - ASSETS_START -.word ASSET_TEXTURES_2D_TABLE - ASSETS_START -.word ASSET_GAME_TEXT - ASSETS_START -.word ASSET_GAME_TEXT_TABLE - ASSETS_START -.word ASSET_MENU_TEXT - ASSETS_START -.word ASSET_MENU_TEXT_TABLE - ASSETS_START -.word ASSET_SCREENS - ASSETS_START -.word ASSET_SCREENS_TABLE - ASSETS_START -.word ASSET_SPRITES - ASSETS_START -.word ASSET_SPRITES_TABLE - ASSETS_START -.word ASSET_EMPTY_14 - ASSETS_START -.word ASSET_MISC - ASSETS_START -.word ASSET_MISC_TABLE - ASSETS_START -.word ASSET_HUD_ELEMENT_IDS - ASSETS_START -.word ASSET_MENU_ELEMENT_IDS - ASSETS_START -.word ASSET_WEATHER_PARTICLES - ASSETS_START -.word ASSET_LEVEL_OBJECT_MAPS_TABLE - ASSETS_START -.word ASSET_LEVEL_OBJECT_MAPS - ASSETS_START -.word ASSET_LEVEL_HEADERS_TABLE - ASSETS_START -.word ASSET_LEVEL_HEADERS - ASSETS_START -.word ASSET_LEVEL_NAMES_TABLE - ASSETS_START -.word ASSET_LEVEL_NAMES - ASSETS_START -.word ASSET_LEVEL_MODELS_TABLE - ASSETS_START -.word ASSET_LEVEL_MODELS - ASSETS_START -.word ASSET_OBJECT_MODELS_TABLE - ASSETS_START -.word ASSET_OBJECT_MODELS - ASSETS_START -.word ASSET_ANIMATION_IDS - ASSETS_START -.word ASSET_OBJECT_ANIMATIONS_TABLE - ASSETS_START -.word ASSET_OBJECT_ANIMATIONS - ASSETS_START -.word ASSET_OBJECT_HEADERS_TABLE - ASSETS_START -.word ASSET_OBJECTS - ASSETS_START -.word ASSET_LEVEL_OBJECT_TRANSLATION_TABLE - ASSETS_START -.word ASSET_EMPTY_37_TABLE - ASSETS_START -.word ASSET_EMPTY_37 - ASSETS_START -.word ASSET_AUDIO_TABLE - ASSETS_START -.word ASSET_AUDIO - ASSETS_START -.word ASSET_PARTICLES_TABLE - ASSETS_START -.word ASSET_PARTICLES - ASSETS_START -.word ASSET_PARTICLE_BEHAVIORS_TABLE - ASSETS_START -.word ASSET_PARTICLE_BEHAVIORS - ASSETS_START -.word ASSET_FONTS - ASSETS_START -.word ASSET_BINARY_45 - ASSETS_START -.word ASSET_BINARY_46 - ASSETS_START -.word ASSET_BINARY_47 - ASSETS_START -.word ASSET_TTGHOSTS_TABLE - ASSETS_START -.word ASSET_TTGHOSTS - ASSETS_START -.word ASSETS_END - ASSETS_START - -/********** Asset Sections Table **********/ - -.balign 16 -glabel ASSETS_START - -/********** ASSET_AI_BEHAVIOUR **********/ - -.balign 16 -glabel ASSET_AI_BEHAVIOUR -glabel ASSET_AI_BEHAVIOUR_0 -.incbin "./build/us_1.0/assets/ai-racers/asset_ai_behaviour_0.bin" -glabel ASSET_AI_BEHAVIOUR_1 -.incbin "./build/us_1.0/assets/ai-racers/asset_ai_behaviour_1.bin" -glabel ASSET_AI_BEHAVIOUR_2 -.incbin "./build/us_1.0/assets/ai-racers/asset_ai_behaviour_2.bin" -glabel ASSET_AI_BEHAVIOUR_3 -.incbin "./build/us_1.0/assets/ai-racers/asset_ai_behaviour_3.bin" -glabel ASSET_AI_BEHAVIOUR_4 -.incbin "./build/us_1.0/assets/ai-racers/asset_ai_behaviour_4.bin" -glabel ASSET_AI_BEHAVIOUR_5 -.incbin "./build/us_1.0/assets/ai-racers/asset_ai_behaviour_5.bin" -glabel ASSET_AI_BEHAVIOUR_6 -.incbin "./build/us_1.0/assets/ai-racers/asset_ai_behaviour_6.bin" -glabel ASSET_AI_BEHAVIOUR_7 -.incbin "./build/us_1.0/assets/ai-racers/asset_ai_behaviour_7.bin" -glabel ASSET_AI_BEHAVIOUR_8 -.incbin "./build/us_1.0/assets/ai-racers/asset_ai_behaviour_8.bin" -glabel ASSET_AI_BEHAVIOUR_9 -.incbin "./build/us_1.0/assets/ai-racers/asset_ai_behaviour_9.bin" -glabel ASSET_AI_BEHAVIOUR_END - -/********** ASSET_AI_BEHAVIOUR_TABLE **********/ - -.balign 16 -glabel ASSET_AI_BEHAVIOUR_TABLE -.word ASSET_AI_BEHAVIOUR_0 - ASSET_AI_BEHAVIOUR -.word ASSET_AI_BEHAVIOUR_1 - ASSET_AI_BEHAVIOUR -.word ASSET_AI_BEHAVIOUR_2 - ASSET_AI_BEHAVIOUR -.word ASSET_AI_BEHAVIOUR_3 - ASSET_AI_BEHAVIOUR -.word ASSET_AI_BEHAVIOUR_4 - ASSET_AI_BEHAVIOUR -.word ASSET_AI_BEHAVIOUR_5 - ASSET_AI_BEHAVIOUR -.word ASSET_AI_BEHAVIOUR_6 - ASSET_AI_BEHAVIOUR -.word ASSET_AI_BEHAVIOUR_7 - ASSET_AI_BEHAVIOUR -.word ASSET_AI_BEHAVIOUR_8 - ASSET_AI_BEHAVIOUR -.word ASSET_AI_BEHAVIOUR_9 - ASSET_AI_BEHAVIOUR -.word ASSET_AI_BEHAVIOUR_END - ASSET_AI_BEHAVIOUR -.word 0xFFFFFFFF -glabel ASSET_AI_BEHAVIOUR_TABLE_END - -/********** ASSET_TEXTURES_3D **********/ - -.balign 16 -glabel ASSET_TEXTURES_3D -glabel ASSET_TEX3D_SPACE_WHITEWALL200496 -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_200496.bin" -glabel ASSET_TEX3D_SPACE_GREENWALL337 -.incbin "./build/us_1.0/assets/textures/3d/space/green_wall_337.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALL -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLWITHARROW -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_with_arrow.bin" -glabel ASSET_TEX3D_SPACE_NEONROCKETSIGN -.incbin "./build/us_1.0/assets/textures/3d/space/neon_rocket_sign.bin" -glabel ASSET_TEX3D_COMMON_WATER -.incbin "./build/us_1.0/assets/textures/3d/common/water.bin" -glabel ASSET_TEX3D_COMMON_WATER2 -.incbin "./build/us_1.0/assets/textures/3d/common/water2.bin" -glabel ASSET_TEX3D_OBJECTS_ZIPPER -.incbin "./build/us_1.0/assets/textures/3d/objects/zipper.bin" -glabel ASSET_TEX3D_SPACE_CEILINGLIGHTS -.incbin "./build/us_1.0/assets/textures/3d/space/ceiling_lights.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLALPHA_0 -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_alpha_0.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLALPHA_1 -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_alpha_1.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLBLUELINE -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_blue_line.bin" -glabel ASSET_TEX3D_COMMON_WATER3 -.incbin "./build/us_1.0/assets/textures/3d/common/water3.bin" -glabel ASSET_TEX3D_COMMON_WATERSTILL -.incbin "./build/us_1.0/assets/textures/3d/common/water_still.bin" -glabel ASSET_TEX3D_COMMON_REDARROWSIGN -.incbin "./build/us_1.0/assets/textures/3d/common/red_arrow_sign.bin" -glabel ASSET_TEX3D_COMMON_WATER4 -.incbin "./build/us_1.0/assets/textures/3d/common/water4.bin" -glabel ASSET_TEX3D_COMMON_LAVA -.incbin "./build/us_1.0/assets/textures/3d/common/lava.bin" -glabel ASSET_TEX3D_OBJECTS_ZIPPER2 -.incbin "./build/us_1.0/assets/textures/3d/objects/zipper2.bin" -glabel ASSET_TEX3D_TROPICAL_PIRATESHIPTAFFRAIL -.incbin "./build/us_1.0/assets/textures/3d/tropical/pirateship_taffrail.bin" -glabel ASSET_TEX3D_COMMON_YELLOWARROWSIGN -.incbin "./build/us_1.0/assets/textures/3d/common/yellow_arrow_sign.bin" -glabel ASSET_TEX3D_COMMON_FLOORTILE -.incbin "./build/us_1.0/assets/textures/3d/common/floor_tile.bin" -glabel ASSET_TEX3D_WINTER_ICE -.incbin "./build/us_1.0/assets/textures/3d/winter/ice.bin" -glabel ASSET_TEX3D_WINTER_ICE2 -.incbin "./build/us_1.0/assets/textures/3d/winter/ice2.bin" -glabel ASSET_TEX3D_WINTER_SNOWYWALL -.incbin "./build/us_1.0/assets/textures/3d/winter/snowy_wall.bin" -glabel ASSET_TEX3D_WINTER_CANDYCANE -.incbin "./build/us_1.0/assets/textures/3d/winter/candy_cane.bin" -glabel ASSET_TEX3D_WINTER_IGLOOBRICK -.incbin "./build/us_1.0/assets/textures/3d/winter/igloo_brick.bin" -glabel ASSET_TEX3D_COMMON_SAND -.incbin "./build/us_1.0/assets/textures/3d/common/sand.bin" -glabel ASSET_TEX3D_SPACE_BOOSTLOOP -.incbin "./build/us_1.0/assets/textures/3d/space/boost_loop.bin" -glabel ASSET_TEX3D_TROPICAL_DIRTWALLSANDY -.incbin "./build/us_1.0/assets/textures/3d/tropical/dirt_wall_sandy.bin" -glabel ASSET_TEX3D_TROPICAL_DIRTWALL -.incbin "./build/us_1.0/assets/textures/3d/tropical/dirt_wall.bin" -glabel ASSET_TEX3D_TROPICAL_ROCKGUARDRAIL -.incbin "./build/us_1.0/assets/textures/3d/tropical/rock_guardrail.bin" -glabel ASSET_TEX3D_COMMON_BLUEYELLOWARROWS -.incbin "./build/us_1.0/assets/textures/3d/common/blue_yellow_arrows.bin" -glabel ASSET_TEX3D_MEDIEVAL_CASTLEWINDOW -.incbin "./build/us_1.0/assets/textures/3d/medieval/castle_window.bin" -glabel ASSET_TEX3D_MEDIEVAL_CASTLEBRIDGE -.incbin "./build/us_1.0/assets/textures/3d/medieval/castle_bridge.bin" -glabel ASSET_TEX3D_MEDIEVAL_YELLOWSTONE -.incbin "./build/us_1.0/assets/textures/3d/medieval/yellow_stone.bin" -glabel ASSET_TEX3D_MEDIEVAL_YELLOWSTONEHILLSIDE -.incbin "./build/us_1.0/assets/textures/3d/medieval/yellow_stone_hillside.bin" -glabel ASSET_TEX3D_UNUSED_BETADKRLOGO -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_dkr_logo.bin" -glabel ASSET_TEX3D_SPACE_FINISHLINE_0 -.incbin "./build/us_1.0/assets/textures/3d/space/finish_line_0.bin" -glabel ASSET_TEX3D_SPACE_FINISHLINE_1 -.incbin "./build/us_1.0/assets/textures/3d/space/finish_line_1.bin" -glabel ASSET_TEX3D_SPACE_FINISHLINE_2 -.incbin "./build/us_1.0/assets/textures/3d/space/finish_line_2.bin" -glabel ASSET_TEX3D_SPACE_FINISHLINE_3 -.incbin "./build/us_1.0/assets/textures/3d/space/finish_line_3.bin" -glabel ASSET_TEX3D_SPACE_FINISHLINE_4 -.incbin "./build/us_1.0/assets/textures/3d/space/finish_line_4.bin" -glabel ASSET_TEX3D_SPACE_CAVEWALL -.incbin "./build/us_1.0/assets/textures/3d/space/cave_wall.bin" -glabel ASSET_TEX3D_MEDIEVAL_SMOKEYFENCE -.incbin "./build/us_1.0/assets/textures/3d/medieval/smokey_fence.bin" -glabel ASSET_TEX3D_COMMON_COBBLESTONEFLOOR -.incbin "./build/us_1.0/assets/textures/3d/common/cobblestone_floor.bin" -glabel ASSET_TEX3D_MEDIEVAL_HAY -.incbin "./build/us_1.0/assets/textures/3d/medieval/hay.bin" -glabel ASSET_TEX3D_MEDIEVAL_HAYEYE -.incbin "./build/us_1.0/assets/textures/3d/medieval/hay_eye.bin" -glabel ASSET_TEX3D_TROPICAL_SUNKINSHIPFLOORBOARD -.incbin "./build/us_1.0/assets/textures/3d/tropical/sunkin_ship_floorboard.bin" -glabel ASSET_TEX3D_WINTER_ICYFLOOR -.incbin "./build/us_1.0/assets/textures/3d/winter/icy_floor.bin" -glabel ASSET_TEX3D_MEDIEVAL_WINDMILLBASE -.incbin "./build/us_1.0/assets/textures/3d/medieval/windmill_base.bin" -glabel ASSET_TEX3D_MEDIEVAL_DIRTTRANSITION -.incbin "./build/us_1.0/assets/textures/3d/medieval/dirt_transition.bin" -glabel ASSET_TEX3D_MEDIEVAL_WHEATFIELD -.incbin "./build/us_1.0/assets/textures/3d/medieval/wheat_field.bin" -glabel ASSET_TEX3D_MEDIEVAL_CASTLEWALLSWITHSHADOW -.incbin "./build/us_1.0/assets/textures/3d/medieval/castle_walls_with_shadow.bin" -glabel ASSET_TEX3D_MEDIEVAL_CASTLEWALLS -.incbin "./build/us_1.0/assets/textures/3d/medieval/castle_walls.bin" -glabel ASSET_TEX3D_MEDIEVAL_CASTLEMERLON -.incbin "./build/us_1.0/assets/textures/3d/medieval/castle_merlon.bin" -glabel ASSET_TEX3D_DINO_ORANGEWALL -.incbin "./build/us_1.0/assets/textures/3d/dino/orange_wall.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLBRICKS -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_bricks.bin" -glabel ASSET_TEX3D_UNUSED_PROAM64BALLOONREDLINE -.incbin "./build/us_1.0/assets/textures/3d/unused/proam64_balloon_red_line.bin" -glabel ASSET_TEX3D_TROPICAL_FOG -.incbin "./build/us_1.0/assets/textures/3d/tropical/fog.bin" -glabel ASSET_TEX3D_MEDIEVAL_WINDSAIL -.incbin "./build/us_1.0/assets/textures/3d/medieval/windsail.bin" -glabel ASSET_TEX3D_WINTER_SNOWYREDARROWDOWN -.incbin "./build/us_1.0/assets/textures/3d/winter/snowy_red_arrow_down.bin" -glabel ASSET_TEX3D_MEDIEVAL_GARDENFENCE -.incbin "./build/us_1.0/assets/textures/3d/medieval/garden_fence.bin" -glabel ASSET_TEX3D_MEDIEVAL_VILLAGEWHITEWALL -.incbin "./build/us_1.0/assets/textures/3d/medieval/village_white_wall.bin" -glabel ASSET_TEX3D_COMMON_HANGINGMOSS -.incbin "./build/us_1.0/assets/textures/3d/common/hanging_moss.bin" -glabel ASSET_TEX3D_COMMON_HANGINGMOSS2 -.incbin "./build/us_1.0/assets/textures/3d/common/hanging_moss2.bin" -glabel ASSET_TEX3D_COMMON_GRASS -.incbin "./build/us_1.0/assets/textures/3d/common/grass.bin" -glabel ASSET_TEX3D_COMMON_GRASS2 -.incbin "./build/us_1.0/assets/textures/3d/common/grass2.bin" -glabel ASSET_TEX3D_WINTER_UNKNOWNROCKYTEXTURE -.incbin "./build/us_1.0/assets/textures/3d/winter/unknown_rocky_texture.bin" -glabel ASSET_TEX3D_TROPICAL_MOSSYROCK -.incbin "./build/us_1.0/assets/textures/3d/tropical/mossy_rock.bin" -glabel ASSET_TEX3D_TROPICAL_MOSSYROCK2 -.incbin "./build/us_1.0/assets/textures/3d/tropical/mossy_rock2.bin" -glabel ASSET_TEX3D_WINTER_SNOWYWALL2 -.incbin "./build/us_1.0/assets/textures/3d/tropical/snowy_wall2.bin" -glabel ASSET_TEX3D_COMMON_DEBUGREDYELLOW -.incbin "./build/us_1.0/assets/textures/3d/common/debug_chequered_redyellow.bin" -glabel ASSET_TEX3D_COMMON_DEBUGPURPLE -.incbin "./build/us_1.0/assets/textures/3d/common/debug_purple.bin" -glabel ASSET_TEX3D_WINTER_ICE3 -.incbin "./build/us_1.0/assets/textures/3d/winter/ice3.bin" -glabel ASSET_TEX3D_WINTER_SEMITRANSICE -.incbin "./build/us_1.0/assets/textures/3d/winter/semitransparent_ice.bin" -glabel ASSET_TEX3D_WINTER_SEMITRANSICE2 -.incbin "./build/us_1.0/assets/textures/3d/winter/semitransparent_ice2.bin" -glabel ASSET_TEX3D_WINTER_SEMITRANSICE3 -.incbin "./build/us_1.0/assets/textures/3d/winter/semitransparent_ice3.bin" -glabel ASSET_TEX3D_MEDIEVAL_TREEBRANCH -.incbin "./build/us_1.0/assets/textures/3d/medieval/tree_branch.bin" -glabel ASSET_TEX3D_WINTER_ICECEILING -.incbin "./build/us_1.0/assets/textures/3d/winter/ice_ceiling.bin" -glabel ASSET_TEX3D_WINTER_HANGINGICE_0 -.incbin "./build/us_1.0/assets/textures/3d/winter/hanging_ice_0.bin" -glabel ASSET_TEX3D_WINTER_HANGINGICE_1 -.incbin "./build/us_1.0/assets/textures/3d/winter/hanging_ice_1.bin" -glabel ASSET_TEX3D_WINTER_HANGINGICE_2 -.incbin "./build/us_1.0/assets/textures/3d/winter/hanging_ice_2.bin" -glabel ASSET_TEX3D_WINTER_CRYSTAL -.incbin "./build/us_1.0/assets/textures/3d/winter/crystal.bin" -glabel ASSET_TEX3D_WINTER_CRYSTALSHADOW -.incbin "./build/us_1.0/assets/textures/3d/winter/crystal_shadow.bin" -glabel ASSET_TEX3D_SPACE_DOCK64_0 -.incbin "./build/us_1.0/assets/textures/3d/space/dock64_0.bin" -glabel ASSET_TEX3D_SPACE_DOCK64_1 -.incbin "./build/us_1.0/assets/textures/3d/space/dock64_1.bin" -glabel ASSET_TEX3D_SPACE_DOCK64_2 -.incbin "./build/us_1.0/assets/textures/3d/space/dock64_2.bin" -glabel ASSET_TEX3D_SPACE_DOCK64_3 -.incbin "./build/us_1.0/assets/textures/3d/space/dock64_3.bin" -glabel ASSET_TEX3D_SPACE_DOCK64_4 -.incbin "./build/us_1.0/assets/textures/3d/space/dock64_4.bin" -glabel ASSET_TEX3D_SPACE_DOCK64_5 -.incbin "./build/us_1.0/assets/textures/3d/space/dock64_5.bin" -glabel ASSET_TEX3D_SPACE_DOCK64_6 -.incbin "./build/us_1.0/assets/textures/3d/space/dock64_6.bin" -glabel ASSET_TEX3D_SPACE_DOCK64_7 -.incbin "./build/us_1.0/assets/textures/3d/space/dock64_7.bin" -glabel ASSET_TEX3D_SPACE_DOCK64_8 -.incbin "./build/us_1.0/assets/textures/3d/space/dock64_8.bin" -glabel ASSET_TEX3D_SPACE_DOCK64_9 -.incbin "./build/us_1.0/assets/textures/3d/space/dock64_9.bin" -glabel ASSET_TEX3D_SPACE_DOCK64_10 -.incbin "./build/us_1.0/assets/textures/3d/space/dock64_10.bin" -glabel ASSET_TEX3D_SPACE_DOCK64_11 -.incbin "./build/us_1.0/assets/textures/3d/space/dock64_11.bin" -glabel ASSET_TEX3D_COMMON_WOOD -.incbin "./build/us_1.0/assets/textures/3d/common/wood.bin" -glabel ASSET_TEX3D_UNUSED_BETAN64LOGO_0 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_n64logo_0.bin" -glabel ASSET_TEX3D_UNUSED_BETAN64LOGO_1 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_n64logo_1.bin" -glabel ASSET_TEX3D_TROPICAL_BROWNBRICKTILE -.incbin "./build/us_1.0/assets/textures/3d/tropical/brown_brick_tile.bin" -glabel ASSET_TEX3D_WINTER_SNOW -.incbin "./build/us_1.0/assets/textures/3d/winter/snow.bin" -glabel ASSET_TEX3D_WINTER_SNOW2 -.incbin "./build/us_1.0/assets/textures/3d/winter/snow2.bin" -glabel ASSET_TEX3D_WINTER_SEMITRANSICE4 -.incbin "./build/us_1.0/assets/textures/3d/winter/semitransparent_ice4.bin" -glabel ASSET_TEX3D_COMMON_PORTAL -.incbin "./build/us_1.0/assets/textures/3d/common/portal.bin" -glabel ASSET_TEX3D_MEDIEVAL_STONETILE -.incbin "./build/us_1.0/assets/textures/3d/medieval/stone_tile.bin" -glabel ASSET_TEX3D_MEDIEVAL_STONETILE2 -.incbin "./build/us_1.0/assets/textures/3d/medieval/stone_tile2.bin" -glabel ASSET_TEX3D_WINTER_BRICKWALLWITHSNOW -.incbin "./build/us_1.0/assets/textures/3d/winter/brick_wall_with_snow.bin" -glabel ASSET_TEX3D_TROPICAL_BRICKWALL -.incbin "./build/us_1.0/assets/textures/3d/tropical/brick_wall.bin" -glabel ASSET_TEX3D_COMMON_WOODPLANKS -.incbin "./build/us_1.0/assets/textures/3d/common/wood_planks.bin" -glabel ASSET_TEX3D_TROPICAL_PIRATESHIPWOODPLANKS -.incbin "./build/us_1.0/assets/textures/3d/tropical/pirateship_wood_planks.bin" -glabel ASSET_TEX3D_COMMON_LIFEPRESERVERRING -.incbin "./build/us_1.0/assets/textures/3d/common/life_preserver_ring.bin" -glabel ASSET_TEX3D_TROPICAL_REDSTONE -.incbin "./build/us_1.0/assets/textures/3d/tropical/red_stone.bin" -glabel ASSET_TEX3D_COMMON_STONE -.incbin "./build/us_1.0/assets/textures/3d/common/stone.bin" -glabel ASSET_TEX3D_DINO_RARELOGOSTONE -.incbin "./build/us_1.0/assets/textures/3d/dino/rare_logo_stone.bin" -glabel ASSET_TEX3D_TROPICAL_STONEWALLSANDY -.incbin "./build/us_1.0/assets/textures/3d/tropical/stone_wall_sandy.bin" -glabel ASSET_TEX3D_COMMON_ARROWSIGNSHADOW -.incbin "./build/us_1.0/assets/textures/3d/common/arrow_sign_shadow.bin" -glabel ASSET_TEX3D_WINTER_ICEBRICKS -.incbin "./build/us_1.0/assets/textures/3d/winter/ice_bricks.bin" -glabel ASSET_TEX3D_WINTER_ICEBRICKSWITHSNOW -.incbin "./build/us_1.0/assets/textures/3d/winter/ice_bricks_with_snow.bin" -glabel ASSET_TEX3D_WINTER_HANGINGSNOW -.incbin "./build/us_1.0/assets/textures/3d/winter/hanging_snow.bin" -glabel ASSET_TEX3D_WINTER_HANGINGSNOW2 -.incbin "./build/us_1.0/assets/textures/3d/winter/hanging_snow2.bin" -glabel ASSET_TEX3D_COMMON_ELEMENTGRADIENT -.incbin "./build/us_1.0/assets/textures/3d/common/element_gradient.bin" -glabel ASSET_TEX3D_WINTER_SNOWTREESBILLBOARD_0 -.incbin "./build/us_1.0/assets/textures/3d/winter/snow_trees_billboard_0.bin" -glabel ASSET_TEX3D_WINTER_SNOWTREESBILLBOARD_1 -.incbin "./build/us_1.0/assets/textures/3d/winter/snow_trees_billboard_1.bin" -glabel ASSET_TEX3D_WINTER_ICYSNOW -.incbin "./build/us_1.0/assets/textures/3d/winter/icy_snow.bin" -glabel ASSET_TEX3D_WINTER_SNOWYFENCE -.incbin "./build/us_1.0/assets/textures/3d/winter/snowy_fence.bin" -glabel ASSET_TEX3D_WINTER_ICYPATH -.incbin "./build/us_1.0/assets/textures/3d/winter/icy_path.bin" -glabel ASSET_TEX3D_TROPICAL_JUNGLETREESBILLBOARD_0 -.incbin "./build/us_1.0/assets/textures/3d/tropical/jungle_trees_billboard_0.bin" -glabel ASSET_TEX3D_TROPICAL_JUNGLETREESBILLBOARD_1 -.incbin "./build/us_1.0/assets/textures/3d/tropical/jungle_trees_billboard_1.bin" -glabel ASSET_TEX3D_TROPICAL_MOSSYSHIPPLANKSBROKEN -.incbin "./build/us_1.0/assets/textures/3d/tropical/mossy_ship_planks_broken.bin" -glabel ASSET_TEX3D_TROPICAL_MOSSYSHIPPLANKS -.incbin "./build/us_1.0/assets/textures/3d/tropical/mossy_ship_planks.bin" -glabel ASSET_TEX3D_TROPICAL_MOSSYSHIPTORNSAIL -.incbin "./build/us_1.0/assets/textures/3d/tropical/mossy_ship_torn_sail.bin" -glabel ASSET_TEX3D_TROPICAL_PIRATESHIPREARDECORATION -.incbin "./build/us_1.0/assets/textures/3d/tropical/pirateship_rear_decoration.bin" -glabel ASSET_TEX3D_MEDIEVAL_THATCHROOFING -.incbin "./build/us_1.0/assets/textures/3d/medieval/thatch_roofing.bin" -glabel ASSET_TEX3D_MEDIEVAL_HOUSEWINDOWWITHPLANTS -.incbin "./build/us_1.0/assets/textures/3d/medieval/house_window_with_plants.bin" -glabel ASSET_TEX3D_MEDIEVAL_HOUSEDOOR -.incbin "./build/us_1.0/assets/textures/3d/medieval/house_door.bin" -glabel ASSET_TEX3D_MEDIEVAL_HOUSEROOFSUPPORT -.incbin "./build/us_1.0/assets/textures/3d/medieval/house_roof_support.bin" -glabel ASSET_TEX3D_MEDIEVAL_HOUSEWALLSUPPORT -.incbin "./build/us_1.0/assets/textures/3d/medieval/house_wall_support.bin" -glabel ASSET_TEX3D_COMMON_WHITE -.incbin "./build/us_1.0/assets/textures/3d/common/white.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINETAPE -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_tape.bin" -glabel ASSET_TEX3D_WINTER_ICEBRICKS2 -.incbin "./build/us_1.0/assets/textures/3d/winter/ice_bricks2.bin" -glabel ASSET_TEX3D_COMMON_WATERSTILL2 -.incbin "./build/us_1.0/assets/textures/3d/common/water_still2.bin" -glabel ASSET_TEX3D_COMMON_UNUSEDTRACKSELCTFRAMETEXTURE -.incbin "./build/us_1.0/assets/textures/3d/common/unused_track_select_frame_texture.bin" -glabel ASSET_TEX3D_COMMON_SANDDRY -.incbin "./build/us_1.0/assets/textures/3d/common/sand_dry.bin" -glabel ASSET_TEX3D_COMMON_SANDDRYTOWET -.incbin "./build/us_1.0/assets/textures/3d/common/sand_dry_to_wet.bin" -glabel ASSET_TEX3D_DINO_ANCIENTLAKESIGN -.incbin "./build/us_1.0/assets/textures/3d/dino/ancient_lake_sign.bin" -glabel ASSET_TEX3D_COMMON_LOGEXPOSEDSIDE -.incbin "./build/us_1.0/assets/textures/3d/common/log_exposed_side.bin" -glabel ASSET_TEX3D_WINTER_BRICKRAILWITHSNOWEDGE -.incbin "./build/us_1.0/assets/textures/3d/winter/brick_rail_with_snow_edge.bin" -glabel ASSET_TEX3D_WINTER_BRICKRAILWITHSNOW -.incbin "./build/us_1.0/assets/textures/3d/winter/brick_rail_with_snow.bin" -glabel ASSET_TEX3D_COMMON_COLOURFULARROW -.incbin "./build/us_1.0/assets/textures/3d/common/colourful_arrow.bin" -glabel ASSET_TEX3D_SPACE_BLUEFLOORTILE -.incbin "./build/us_1.0/assets/textures/3d/common/blue_floor_tile.bin" -glabel ASSET_TEX3D_TROPICAL_PIRATESHIPUNDERSIDE -.incbin "./build/us_1.0/assets/textures/3d/tropical/pirateship_underside.bin" -glabel ASSET_TEX3D_TROPICAL_PIRATESHIPSAILS -.incbin "./build/us_1.0/assets/textures/3d/tropical/pirateship_sails.bin" -glabel ASSET_TEX3D_TROPICAL_PIRATESHIPBOWSPIRIT -.incbin "./build/us_1.0/assets/textures/3d/tropical/pirateship_bowspirit.bin" -glabel ASSET_TEX3D_COMMON_SAND2 -.incbin "./build/us_1.0/assets/textures/3d/common/sand2.bin" -glabel ASSET_TEX3D_OBJECTS_TRACKSELECTFRAMEGOLD -.incbin "./build/us_1.0/assets/textures/3d/objects/trackselectframe_gold.bin" -glabel ASSET_TEX3D_TROPICAL_PIRATESHIPCANNON -.incbin "./build/us_1.0/assets/textures/3d/tropical/pirateship_cannon.bin" -glabel ASSET_TEX3D_COMMON_CHAINLINK -.incbin "./build/us_1.0/assets/textures/3d/common/chain_link.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINETAPE2 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_tape2.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEWATER -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_water.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINECHEQUEREDREDWHITE -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_chequered_red_and_white.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINECHEQUEREDREDYELLOW -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_chequered_red_and_yellow.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINECHEQUEREDPURPLEYELLOW -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_chequered_purple_and_yellow.bin" -glabel ASSET_TEX3D_COMMON_CYANYELLOWARROWSIGN -.incbin "./build/us_1.0/assets/textures/3d/common/cyan_yellow_arrow_sign.bin" -glabel ASSET_TEX3D_COMMON_BLUEYELLOWARROWS2_0 -.incbin "./build/us_1.0/assets/textures/3d/common/blue_yellow_arrows2_0.bin" -glabel ASSET_TEX3D_COMMON_BLUEYELLOWARROWS2_1 -.incbin "./build/us_1.0/assets/textures/3d/common/blue_yellow_arrows2_1.bin" -glabel ASSET_TEX3D_COMMON_BLUEYELLOWARROWS2_2 -.incbin "./build/us_1.0/assets/textures/3d/common/blue_yellow_arrows2_2.bin" -glabel ASSET_TEX3D_COMMON_TRANSPARENT -.incbin "./build/us_1.0/assets/textures/3d/common/transparent.bin" -glabel ASSET_TEX3D_UNUSED_STONEWITHGRASS -.incbin "./build/us_1.0/assets/textures/3d/unused/stone_with_grass.bin" -glabel ASSET_TEX3D_DINO_ORANGESTONE -.incbin "./build/us_1.0/assets/textures/3d/dino/orange_stone.bin" -glabel ASSET_TEX3D_DINO_THINCLOUD -.incbin "./build/us_1.0/assets/textures/3d/dino/thin_cloud.bin" -glabel ASSET_TEX3D_OBJECTS_DOMECLOUDS -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_clouds.bin" -glabel ASSET_TEX3D_OBJECTS_DOMECLOUDS2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_clouds2.bin" -glabel ASSET_TEX3D_DINO_TEMPLEBRICK -.incbin "./build/us_1.0/assets/textures/3d/dino/temple_brick.bin" -glabel ASSET_TEX3D_WINTER_SNOW3 -.incbin "./build/us_1.0/assets/textures/3d/winter/snow3.bin" -glabel ASSET_TEX3D_DINO_TEMPLEBRICKTILE -.incbin "./build/us_1.0/assets/textures/3d/dino/temple_brick_tile.bin" -glabel ASSET_TEX3D_TROPICAL_CASTLETOWERBLOCK -.incbin "./build/us_1.0/assets/textures/3d/tropical/castle_tower_block.bin" -glabel ASSET_TEX3D_UNUSED_BRIDGE -.incbin "./build/us_1.0/assets/textures/3d/unused/bridge.bin" -glabel ASSET_TEX3D_UNUSED_BRIDGE2 -.incbin "./build/us_1.0/assets/textures/3d/unused/bridge2.bin" -glabel ASSET_TEX3D_COMMON_FLASHINGARROW -.incbin "./build/us_1.0/assets/textures/3d/common/flashing_arrow.bin" -glabel ASSET_TEX3D_UNUSED_METALENVIRONMENTMAP -.incbin "./build/us_1.0/assets/textures/3d/unused/metal_environment_map.bin" -glabel ASSET_TEX3D_COMMON_GRASSTRANSITION -.incbin "./build/us_1.0/assets/textures/3d/common/grass_transition.bin" -glabel ASSET_TEX3D_COMMON_GRASS3 -.incbin "./build/us_1.0/assets/textures/3d/common/grass3.bin" -glabel ASSET_TEX3D_TROPICAL_PIRATESHIPGUARDRAIL -.incbin "./build/us_1.0/assets/textures/3d/tropical/pirateship_guardrail.bin" -glabel ASSET_TEX3D_OBJECTS_WOODBRIDGE -.incbin "./build/us_1.0/assets/textures/3d/objects/wood_bridge.bin" -glabel ASSET_TEX3D_WINTER_SNOWYPATH -.incbin "./build/us_1.0/assets/textures/3d/winter/snowy_path.bin" -glabel ASSET_TEX3D_TROPICAL_MOSSYOVERLAY -.incbin "./build/us_1.0/assets/textures/3d/winter/mossy_overlay.bin" -glabel ASSET_TEX3D_DINO_FOSSILCANYONSIGN -.incbin "./build/us_1.0/assets/textures/3d/dino/fossil_canyon_sign.bin" -glabel ASSET_TEX3D_OBJECTS_TROPHYCABBASE -.incbin "./build/us_1.0/assets/textures/3d/objects/trophy_cab_base.bin" -glabel ASSET_TEX3D_COMMON_ORANGESTONEWALLHILLSIDE -.incbin "./build/us_1.0/assets/textures/3d/common/orange_stone_wall_hillside.bin" -glabel ASSET_TEX3D_TROPICAL_BLUESTONEWALLSANDYWITHMOSS -.incbin "./build/us_1.0/assets/textures/3d/tropical/blue_stone_wall_sandy_with_moss.bin" -glabel ASSET_TEX3D_COMMON_DIRTBLUESTONETRANSITION -.incbin "./build/us_1.0/assets/textures/3d/common/dirt_blue_stone_transition.bin" -glabel ASSET_TEX3D_COMMON_BLUESTONE -.incbin "./build/us_1.0/assets/textures/3d/common/blue_stone.bin" -glabel ASSET_TEX3D_COMMON_BLUESTONESANDY -.incbin "./build/us_1.0/assets/textures/3d/common/blue_stone_sandy.bin" -glabel ASSET_TEX3D_DINO_HOTTOPVOLCANOSIGN -.incbin "./build/us_1.0/assets/textures/3d/dino/hot_top_volcano_sign.bin" -glabel ASSET_TEX3D_UNUSED_UNKNOWNICYTEXTURE -.incbin "./build/us_1.0/assets/textures/3d/unused/unknown_icy_texture.bin" -glabel ASSET_TEX3D_UNUSED_TRANSPARENT -.incbin "./build/us_1.0/assets/textures/3d/unused/transparent.bin" -glabel ASSET_TEX3D_TROPICAL_BLUESTONEWALLSANDYHEAVYMOSS -.incbin "./build/us_1.0/assets/textures/3d/tropical/blue_stone_wall_sandy_heavy_moss.bin" -glabel ASSET_TEX3D_UNUSED_MOSS -.incbin "./build/us_1.0/assets/textures/3d/unused/moss.bin" -glabel ASSET_TEX3D_DINO_JUNGLEFALLSSIGN -.incbin "./build/us_1.0/assets/textures/3d/dino/jungle_falls_sign.bin" -glabel ASSET_TEX3D_SPACE_BLINKINGCOMPUTERLIGHTS -.incbin "./build/us_1.0/assets/textures/3d/space/blinking_computer_lights.bin" -glabel ASSET_TEX3D_MEDIEVAL_YELLOWHOUSEWALL -.incbin "./build/us_1.0/assets/textures/3d/medieval/yellow_house_wall.bin" -glabel ASSET_TEX3D_COMMON_COLOUREDLAMP -.incbin "./build/us_1.0/assets/textures/3d/common/coloured_lamp.bin" -glabel ASSET_TEX3D_DINO_VOLCANOWALL -.incbin "./build/us_1.0/assets/textures/3d/dino/volcano_wall.bin" -glabel ASSET_TEX3D_DINO_VOLCANOWALLMAGMATRANSITION -.incbin "./build/us_1.0/assets/textures/3d/dino/volcano_wall_magma_transition.bin" -glabel ASSET_TEX3D_DINO_MAGMAHIGHLINETRANSITION -.incbin "./build/us_1.0/assets/textures/3d/dino/magma_high_line_transition.bin" -glabel ASSET_TEX3D_DINO_VOLCANOWALL2 -.incbin "./build/us_1.0/assets/textures/3d/dino/volcano_wall2.bin" -glabel ASSET_TEX3D_COMMON_YELLOWBRICKTILE -.incbin "./build/us_1.0/assets/textures/3d/common/yellow_brick_tile.bin" -glabel ASSET_TEX3D_COMMON_YELLOWBRICKTILE2 -.incbin "./build/us_1.0/assets/textures/3d/common/yellow_brick_tile2.bin" -glabel ASSET_TEX3D_TROPICAL_GRASSUNCOLORED -.incbin "./build/us_1.0/assets/textures/3d/tropical/grass_uncolored.bin" -glabel ASSET_TEX3D_SPACE_BLUEWALLWITHYELLOWARROWS -.incbin "./build/us_1.0/assets/textures/3d/space/blue_wall_with_yellow_arrows.bin" -glabel ASSET_TEX3D_SPACE_BLUEWALLSMALLLIGHT -.incbin "./build/us_1.0/assets/textures/3d/space/blue_wall_small_light.bin" -glabel ASSET_TEX3D_SPACE_BLUEWALL -.incbin "./build/us_1.0/assets/textures/3d/space/blue_wall.bin" -glabel ASSET_TEX3D_SPACE_WALLTILELIGHTS -.incbin "./build/us_1.0/assets/textures/3d/space/wall_tile_lights.bin" -glabel ASSET_TEX3D_COMMON_GRASS4 -.incbin "./build/us_1.0/assets/textures/3d/common/grass4.bin" -glabel ASSET_TEX3D_COMMON_GRASS5 -.incbin "./build/us_1.0/assets/textures/3d/common/grass5.bin" -glabel ASSET_TEX3D_COMMON_GRASS6 -.incbin "./build/us_1.0/assets/textures/3d/common/grass6.bin" -glabel ASSET_TEX3D_OBJECTS_TROPHYCABEDGE -.incbin "./build/us_1.0/assets/textures/3d/objects/trophy_cab_edge.bin" -glabel ASSET_TEX3D_WINTER_STONEWALLSNOWY -.incbin "./build/us_1.0/assets/textures/3d/winter/stone_wall_snowy.bin" -glabel ASSET_TEX3D_WINTER_BLUESTONEWALLSNOWY -.incbin "./build/us_1.0/assets/textures/3d/winter/blue_stone_wall_snowy.bin" -glabel ASSET_TEX3D_COMMON_STONEPATH -.incbin "./build/us_1.0/assets/textures/3d/common/stone_path.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESUNSHINING -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_sun_shining.bin" -glabel ASSET_TEX3D_COMMON_SANDWATERTRANSITION -.incbin "./build/us_1.0/assets/textures/3d/common/sand_water_transition.bin" -glabel ASSET_TEX3D_COMMON_NINTENDOLOGO -.incbin "./build/us_1.0/assets/textures/3d/common/nintendo_logo.bin" -glabel ASSET_TEX3D_UNUSED_TANSTONETILE -.incbin "./build/us_1.0/assets/textures/3d/unused/tan_stone_tile.bin" -glabel ASSET_TEX3D_DINO_ORANGESTONE2 -.incbin "./build/us_1.0/assets/textures/3d/dino/orange_stone2.bin" -glabel ASSET_TEX3D_DINO_VOLCANOWALL3 -.incbin "./build/us_1.0/assets/textures/3d/dino/volcano_wall3.bin" -glabel ASSET_TEX3D_COMMON_SAND3 -.incbin "./build/us_1.0/assets/textures/3d/common/sand3.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD_0 -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_trees_billboard_0.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD_1 -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_trees_billboard_1.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD_2 -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_trees_billboard_2.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD2_0 -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_trees_billboard2_0.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD2_1 -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_trees_billboard2_1.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD2_2 -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_trees_billboard2_2.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD2_3 -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_trees_billboard2_3.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD2_4 -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_trees_billboard2_4.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREELEAVES -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_tree_leaves.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREEBARKBROWN -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_tree_bark_brown.bin" -glabel ASSET_TEX3D_TROPICAL_ASSETTEX3DTROPICALPALMTREESBILLBOARD3 -.incbin "./build/us_1.0/assets/textures/3d/tropical/asset_tex3d_tropical_palmtreesbillboard3.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREEBARKWHITE -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_tree_bark_white.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREESHADOW -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_tree_shadow.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREEBARKWHITE2 -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_tree_bark_white2.bin" -glabel ASSET_TEX3D_COMMON_LIGHTSHAFT -.incbin "./build/us_1.0/assets/textures/3d/common/light_shaft.bin" -glabel ASSET_TEX3D_COMMON_LIGHTSHAFT2 -.incbin "./build/us_1.0/assets/textures/3d/common/light_shaft2.bin" -glabel ASSET_TEX3D_OBJECTS_SPACECOLUMNBLOCKSATURN -.incbin "./build/us_1.0/assets/textures/3d/objects/spacecolumn_block_saturn.bin" -glabel ASSET_TEX3D_TROPICAL_TOWERSPIRE -.incbin "./build/us_1.0/assets/textures/3d/tropical/tower_spire.bin" -glabel ASSET_TEX3D_TROPICAL_SHIPWOODPLANKS -.incbin "./build/us_1.0/assets/textures/3d/tropical/ship_wood_planks.bin" -glabel ASSET_TEX3D_COMMON_VINES -.incbin "./build/us_1.0/assets/textures/3d/common/vines.bin" -glabel ASSET_TEX3D_COMMON_VINES2 -.incbin "./build/us_1.0/assets/textures/3d/common/vines2.bin" -glabel ASSET_TEX3D_COMMON_TAJPADGRASS -.incbin "./build/us_1.0/assets/textures/3d/common/taj_pad_grass.bin" -glabel ASSET_TEX3D_MEDIEVAL_TREEBRANCHWITHVINES -.incbin "./build/us_1.0/assets/textures/3d/medieval/tree_branch_with_vines.bin" -glabel ASSET_TEX3D_COMMON_REDCARPET -.incbin "./build/us_1.0/assets/textures/3d/common/red_carpet.bin" -glabel ASSET_TEX3D_COMMON_LARGETREELOG -.incbin "./build/us_1.0/assets/textures/3d/common/large_tree_log.bin" -glabel ASSET_TEX3D_DINO_TEMPLESTONEDINO -.incbin "./build/us_1.0/assets/textures/3d/dino/temple_stone_dino.bin" -glabel ASSET_TEX3D_MEDIEVAL_WHITEWALLWITHFLAGS -.incbin "./build/us_1.0/assets/textures/3d/medieval/white_wall_with_flags.bin" -glabel ASSET_TEX3D_MEDIEVAL_TOWNCASTLESPRITE -.incbin "./build/us_1.0/assets/textures/3d/medieval/town_castle_sprite.bin" -glabel ASSET_TEX3D_WINTER_VILLAGEVIADUCTSHADOW -.incbin "./build/us_1.0/assets/textures/3d/winter/village_viaduct_shadow.bin" -glabel ASSET_TEX3D_DINO_DIRTPATH -.incbin "./build/us_1.0/assets/textures/3d/dino/dirt_path.bin" -glabel ASSET_TEX3D_UNUSED_PROAM64BALLOONROPE -.incbin "./build/us_1.0/assets/textures/3d/unused/proam64balloonrope.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky_3.bin" -glabel ASSET_TEX3D_TROPICAL_SHIPTORNSAIL -.incbin "./build/us_1.0/assets/textures/3d/tropical/ship_torn_sail.bin" -glabel ASSET_TEX3D_TROPICAL_SHIPSAILSHADOW -.incbin "./build/us_1.0/assets/textures/3d/tropical/ship_sail_shadow.bin" -glabel ASSET_TEX3D_COMMON_SANDTRANSITION -.incbin "./build/us_1.0/assets/textures/3d/common/sand_transition.bin" -glabel ASSET_TEX3D_COMMON_SANDUNDERWATER -.incbin "./build/us_1.0/assets/textures/3d/common/sand_underwater.bin" -glabel ASSET_TEX3D_OBJECTS_SPACECOLUMNBLOCK -.incbin "./build/us_1.0/assets/textures/3d/objects/spacecolumn_block.bin" -glabel ASSET_TEX3D_DINO_VOLCANOSTONE -.incbin "./build/us_1.0/assets/textures/3d/dino/volcano_stone.bin" -glabel ASSET_TEX3D_SPACE_MOONSTONE -.incbin "./build/us_1.0/assets/textures/3d/space/moon_stone.bin" -glabel ASSET_TEX3D_TROPICAL_TOWERWINDOW -.incbin "./build/us_1.0/assets/textures/3d/tropical/tower_window.bin" -glabel ASSET_TEX3D_COMMON_BROWNSTONEBRICK -.incbin "./build/us_1.0/assets/textures/3d/common/brown_stone_brick.bin" -glabel ASSET_TEX3D_DINO_SANDWETDRYTRANSITION -.incbin "./build/us_1.0/assets/textures/3d/dino/sand_wet_dry_transition.bin" -glabel ASSET_TEX3D_WINTER_DARKSTONEWALLSNOWY -.incbin "./build/us_1.0/assets/textures/3d/winter/dark_stone_wall_snowy.bin" -glabel ASSET_TEX3D_WINTER_SNOWTREESBILLBOARDSMALL -.incbin "./build/us_1.0/assets/textures/3d/winter/snow_trees_billboard_small.bin" -glabel ASSET_TEX3D_WINTER_SNOW4 -.incbin "./build/us_1.0/assets/textures/3d/winter/snow4.bin" -glabel ASSET_TEX3D_WINTER_HANGINGSNOW3 -.incbin "./build/us_1.0/assets/textures/3d/winter/hanging_snow3.bin" -glabel ASSET_TEX3D_WINTER_HANGINGSNOW4 -.incbin "./build/us_1.0/assets/textures/3d/winter/hanging_snow4.bin" -glabel ASSET_TEX3D_WINTER_DARKSTONEWALLSNOWY2 -.incbin "./build/us_1.0/assets/textures/3d/winter/dark_stone_wall_snowy2.bin" -glabel ASSET_TEX3D_WINTER_SNOWCHARBLUEEYE -.incbin "./build/us_1.0/assets/textures/3d/winter/snow_char_blue_eye.bin" -glabel ASSET_TEX3D_WINTER_SNOWCHARYELLOWEYE -.incbin "./build/us_1.0/assets/textures/3d/winter/snow_char_yellow_eye.bin" -glabel ASSET_TEX3D_WINTER_SNOWCHARBLUEGOGGLES -.incbin "./build/us_1.0/assets/textures/3d/winter/snow_char_blue_goggles.bin" -glabel ASSET_TEX3D_WINTER_VILLAGEWINDOWLIGHTS -.incbin "./build/us_1.0/assets/textures/3d/winter/village_window_lights.bin" -glabel ASSET_TEX3D_WINTER_VILLAGEWINDOWLIGHTSGLOW -.incbin "./build/us_1.0/assets/textures/3d/winter/village_window_lights_glow.bin" -glabel ASSET_TEX3D_WINTER_SNOWCHARNOSE -.incbin "./build/us_1.0/assets/textures/3d/winter/snow_char_nose.bin" -glabel ASSET_TEX3D_WINTER_CYANSTONE -.incbin "./build/us_1.0/assets/textures/3d/winter/cyan_stone.bin" -glabel ASSET_TEX3D_WINTER_SNOWTREESBILLBOARDSMALL2 -.incbin "./build/us_1.0/assets/textures/3d/winter/snow_trees_billboard_small2.bin" -glabel ASSET_TEX3D_WINTER_CYANSTONESNOW -.incbin "./build/us_1.0/assets/textures/3d/winter/cyan_stone_snow.bin" -glabel ASSET_TEX3D_WINTER_PINKWHITESNOW -.incbin "./build/us_1.0/assets/textures/3d/winter/pink_white_snow.bin" -glabel ASSET_TEX3D_SPACE_PURPLESTONE -.incbin "./build/us_1.0/assets/textures/3d/space/purple_stone.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGGREEN_0 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_green_0.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGGREEN_1 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_green_1.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGGREEN_2 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_green_2.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGGREEN_3 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_green_3.bin" -glabel ASSET_TEX3D_TROPICAL_STARFISH -.incbin "./build/us_1.0/assets/textures/3d/tropical/starfish.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGORANGE_0 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_orange_0.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGORANGE_1 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_orange_1.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGORANGE_2 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_orange_2.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGORANGE_3 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_orange_3.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGORANGE_4 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_orange_4.bin" -glabel ASSET_TEX3D_DINO_FINISHLINEPALMTREESSHADOW -.incbin "./build/us_1.0/assets/textures/3d/dino/finish_line_palm_trees_shadow.bin" -glabel ASSET_TEX3D_COMMON_WATERSCROLLING -.incbin "./build/us_1.0/assets/textures/3d/common/water_scrolling.bin" -glabel ASSET_TEX3D_DINO_FIREMOUNTAINLAVA -.incbin "./build/us_1.0/assets/textures/3d/dino/firemountain_lava.bin" -glabel ASSET_TEX3D_DINO_FIREMOUNTAINREDBASE -.incbin "./build/us_1.0/assets/textures/3d/dino/firemountain_red_base.bin" -glabel ASSET_TEX3D_DINO_FIREMOUNTAINYELLOWBASE -.incbin "./build/us_1.0/assets/textures/3d/dino/firemountain_yellow_base.bin" -glabel ASSET_TEX3D_DINO_FIREMOUNTAINGREENBASE -.incbin "./build/us_1.0/assets/textures/3d/dino/firemountain_green_base.bin" -glabel ASSET_TEX3D_DINO_FIREMOUNTAINBLUEBASE -.incbin "./build/us_1.0/assets/textures/3d/dino/firemountain_blue_base.bin" -glabel ASSET_TEX3D_COMMON_BROWNDIRTWALL -.incbin "./build/us_1.0/assets/textures/3d/common/brown_dirt_wall.bin" -glabel ASSET_TEX3D_COMMON_BROWNDIRTWALLHILLTOP -.incbin "./build/us_1.0/assets/textures/3d/common/brown_dirt_wall_hilltop.bin" -glabel ASSET_TEX3D_COMMON_BROWNDIRTWALLHILLTOPSANDY -.incbin "./build/us_1.0/assets/textures/3d/common/brown_dirt_wall_hilltop_sandy.bin" -glabel ASSET_TEX3D_COMMON_LIGHTSHAFT3 -.incbin "./build/us_1.0/assets/textures/3d/common/light_shaft_3.bin" -glabel ASSET_TEX3D_TROPICAL_LAGOONCASTLEMERLON -.incbin "./build/us_1.0/assets/textures/3d/tropical/lagoon_castle_merlon.bin" -glabel ASSET_TEX3D_MEDIEVAL_HOUSEGUARDRAILFLAGS -.incbin "./build/us_1.0/assets/textures/3d/medieval/house_guardrail_flags.bin" -glabel ASSET_TEX3D_MEDIEVAL_BLUEFLAG -.incbin "./build/us_1.0/assets/textures/3d/medieval/blue_flag.bin" -glabel ASSET_TEX3D_MEDIEVAL_WHITEFLAG -.incbin "./build/us_1.0/assets/textures/3d/medieval/white_flag.bin" -glabel ASSET_TEX3D_MEDIEVAL_YELLOWFLAG -.incbin "./build/us_1.0/assets/textures/3d/medieval/yellow_flag.bin" -glabel ASSET_TEX3D_DINO_VOLCANOCEILINGSHADOW -.incbin "./build/us_1.0/assets/textures/3d/dino/volcano_ceiling_shadow.bin" -glabel ASSET_TEX3D_TROPICAL_LAGOONCASTLEMERLON2 -.incbin "./build/us_1.0/assets/textures/3d/tropical/lagoon_castle_merlon2.bin" -glabel ASSET_TEX3D_COMMON_WATERFALL -.incbin "./build/us_1.0/assets/textures/3d/common/waterfall.bin" -glabel ASSET_TEX3D_OBJECTS_WHITEFENCE -.incbin "./build/us_1.0/assets/textures/3d/objects/white_fence.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEWHITE -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_white.bin" -glabel ASSET_TEX3D_COMMON_SANDABOVEWATER -.incbin "./build/us_1.0/assets/textures/3d/common/sand_abovewater.bin" -glabel ASSET_TEX3D_COMMON_WOODBARK -.incbin "./build/us_1.0/assets/textures/3d/common/wood_bark.bin" -glabel ASSET_TEX3D_TROPICAL_LAGOONCASTLETILE -.incbin "./build/us_1.0/assets/textures/3d/tropical/lagoon_castle_tile.bin" -glabel ASSET_TEX3D_OBJECTS_SPACECOLUMNGOLDHORN -.incbin "./build/us_1.0/assets/textures/3d/objects/spacecolumn_gold_horn.bin" -glabel ASSET_TEX3D_COMMON_SAND4 -.incbin "./build/us_1.0/assets/textures/3d/common/sand4.bin" -glabel ASSET_TEX3D_COMMON_SAND5 -.incbin "./build/us_1.0/assets/textures/3d/common/sand5.bin" -glabel ASSET_TEX3D_DINO_MAGMAFALL -.incbin "./build/us_1.0/assets/textures/3d/dino/magma_fall.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYBROWNFUR -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_brown_fur.bin" -glabel ASSET_TEX3D_OBJECTS_TTPLANEWING -.incbin "./build/us_1.0/assets/textures/3d/objects/tt_plane_wing.bin" -glabel ASSET_TEX3D_OBJECTS_BLUEYNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/bluey_nose.bin" -glabel ASSET_TEX3D_OBJECTS_TAJEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/taj_eye.bin" -glabel ASSET_TEX3D_MEDIEVAL_TOWERBELFRY -.incbin "./build/us_1.0/assets/textures/3d/medieval/tower_belfry.bin" -glabel ASSET_TEX3D_MEDIEVAL_TOWERBELFRY2 -.incbin "./build/us_1.0/assets/textures/3d/medieval/tower_belfry2.bin" -glabel ASSET_TEX3D_MEDIEVAL_TOWERBASE -.incbin "./build/us_1.0/assets/textures/3d/medieval/tower_base.bin" -glabel ASSET_TEX3D_MEDIEVAL_TOWERBASEWINDOW -.incbin "./build/us_1.0/assets/textures/3d/medieval/tower_base_window.bin" -glabel ASSET_TEX3D_OBJECTS_CARBACKLIGHTSLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/car_backlights_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERSTRIPES -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_stripes.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_back.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERFRONT -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_front.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERHEADFUR -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_head_fur.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERGLOVEPLUS -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_glove_plus.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERGOGGLESFRONT -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_goggles_front.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERREDPILOTCAP -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_red_pilot_cap.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERSHOULDERFUR -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_shoulder_fur.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_nose.bin" -glabel ASSET_TEX3D_OBJECTS_RACERCOMMONRED -.incbin "./build/us_1.0/assets/textures/3d/objects/racer_common_red.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERHEADFURLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_head_fur_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERFACELOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_face_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERBACKLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_back_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERGOGGLESSIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_goggles_side.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERHEADFURLIGHT -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_head_fur_light.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERGOGGLESSIDE2 -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_goggles_side2.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOBACKPACK -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_backpack.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOSHORTS -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_shorts.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOSHORTSCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_shorts_charselect.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOCHEST -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_chest.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOCHESTCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_chest_charselect.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOHAIRTOPCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_hair_top_charselect.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOWRISTANKLESCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_wrist_ankles_charselect.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOEARSHADOW -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_ear_shadow.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOEYES -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_eyes.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONBANJO_0 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_banjo_0.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONBANJO_1 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_banjo_1.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONBANJO_2 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_banjo_2.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONBANJO_3 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_banjo_3.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOSKIN -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_skin.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOCHESTLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_chest_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOHAIRFUR -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_hair_fur.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOARMFUR -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_arm_fur.bin" -glabel ASSET_TEX3D_OBJECTS_BANJONECK -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_neck.bin" -glabel ASSET_TEX3D_OBJECTS_BANJONECKFURBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_neck_fur_back.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOBACKLOWESTPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_back_lowestpoly.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOBACKPACKSTRAPS -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_backpack_straps.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOBACKLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_back_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_nose.bin" -glabel ASSET_TEX3D_OBJECTS_RACERCOMMONBLACK -.incbin "./build/us_1.0/assets/textures/3d/objects/racer_common_black.bin" -glabel ASSET_TEX3D_OBJECTS_TTVEHICLESILVER -.incbin "./build/us_1.0/assets/textures/3d/objects/tt_vehicle_silver.bin" -glabel ASSET_TEX3D_OBJECTS_BUBBLERTENTACLESTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/bubbler_tentacles_top.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKVEHICLECYAN -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_vehicle_cyan.bin" -glabel ASSET_TEX3D_OBJECTS_BETATIPTUPBALLOONENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/beta_tiptup_balloon_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOCARENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_car_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPCARENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_car_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_CONKERSHIRT -.incbin "./build/us_1.0/assets/textures/3d/objects/conker_shirt.bin" -glabel ASSET_TEX3D_OBJECTS_BONUS -.incbin "./build/us_1.0/assets/textures/3d/objects/bonus.bin" -glabel ASSET_TEX3D_OBJECTS_RACERCOMMONUNDERSIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/racer_common_underside.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERCAPBRIM -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_cap_brim.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERCAPBRIMCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_cap_brim_charselect.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERHANDS -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_hands.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKVEST -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_vest.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKBACKLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_back_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKBEAK -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_beak.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKFEATHERS -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_feathers.bin" -glabel ASSET_TEX3D_OBJECTS_TTAMULETEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/tt_amulet_eye.bin" -glabel ASSET_TEX3D_UNUSED_BETADRUMSTICKBALLOON_0 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_drumstick_balloon_0.bin" -glabel ASSET_TEX3D_UNUSED_BETADRUMSTICKBALLOON_1 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_drumstick_balloon_1.bin" -glabel ASSET_TEX3D_UNUSED_BETADRUMSTICKBALLOON_2 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_drumstick_balloon_2.bin" -glabel ASSET_TEX3D_UNUSED_BETADRUMSTICKBALLOON_3 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_drumstick_balloon_3.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKLOWERBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_lowerback.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKFRONTLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_front_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKFEETCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_feet_charselect.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKFEATHERS2 -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_feathers2.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKPANTSBOTTOMCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_pants_bottom_charselect.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYMOUTHCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_mouth_charselect.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKEYES -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_eyes.bin" -glabel ASSET_TEX3D_OBJECTS_RACERCOMMONPLANEUNDERSIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/racer_common_plane_underside.bin" -glabel ASSET_TEX3D_OBJECTS_BLUEYTUXEDOPIECE -.incbin "./build/us_1.0/assets/textures/3d/objects/bluey_tuxedo_piece.bin" -glabel ASSET_TEX3D_OBJECTS_CONKERFUR -.incbin "./build/us_1.0/assets/textures/3d/objects/conker_fur.bin" -glabel ASSET_TEX3D_OBJECTS_CONKEREYES -.incbin "./build/us_1.0/assets/textures/3d/objects/conker_eyes.bin" -glabel ASSET_TEX3D_OBJECTS_CONKEYMOUTH -.incbin "./build/us_1.0/assets/textures/3d/objects/conkey_mouth.bin" -glabel ASSET_TEX3D_OBJECTS_CONKERFURSOLID -.incbin "./build/us_1.0/assets/textures/3d/objects/conker_fur_solid.bin" -glabel ASSET_TEX3D_OBJECTS_CONKERSHOESCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/conker_shoes_charselect.bin" -glabel ASSET_TEX3D_OBJECTS_CONKERBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/conker_back.bin" -glabel ASSET_TEX3D_UNUSED_BETABANJOBALLOONENVMAP -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_banjo_balloon_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_RACERCOMMONBREAKLIGHT -.incbin "./build/us_1.0/assets/textures/3d/objects/racer_common_break_light.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOBREAKLIGHT1 -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_break_light1.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOBREAKLIGHT2 -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_break_light2.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOBREAKLIGHT3 -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_break_light3.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOBREAKLIGHT4 -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_break_light4.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOBREAKLIGHT5 -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_break_light5.bin" -glabel ASSET_TEX3D_UNUSED_RACERCOMMONPLANEBREAKLIGHT -.incbin "./build/us_1.0/assets/textures/3d/unused/racer_common_plane_break_light.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKSTRAPS -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_straps.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYLOWERBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_lower_back.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYLOWERFRONT -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_lower_front.bin" -glabel ASSET_TEX3D_UNUSED_DIDDYUNKNOWN -.incbin "./build/us_1.0/assets/textures/3d/unused/diddy_unknown.bin" -glabel ASSET_TEX3D_UNUSED_DIDDYEYENOBLINK -.incbin "./build/us_1.0/assets/textures/3d/unused/diddy_eye_noblink.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYCAPSTRAP -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_cap_strap.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYCAP -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_cap.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYBACKLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_back_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYBACKSTAR -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_back_star.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYWRIST -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_wrist.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_eye.bin" -glabel ASSET_TEX3D_OBJECTS_YELLOWDINOSAURFEET -.incbin "./build/us_1.0/assets/textures/3d/objects/yellow_dinosaur_feet.bin" -glabel ASSET_TEX3D_OBJECTS_GREENDINOSAURUNDERSIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/green_dinosaur_underside.bin" -glabel ASSET_TEX3D_OBJECTS_YELLOWDINOSAURNECKTRANSITION -.incbin "./build/us_1.0/assets/textures/3d/objects/yellow_dinosaur_neck_transition.bin" -glabel ASSET_TEX3D_OBJECTS_GREENDINOSAURFACESMILE -.incbin "./build/us_1.0/assets/textures/3d/objects/green_dinosaur_face_smile.bin" -glabel ASSET_TEX3D_OBJECTS_YELLOWDINOSAURNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/yellow_dinosaur_nose.bin" -glabel ASSET_TEX3D_OBJECTS_GREENDINOSAURNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/green_dinosaur_nose.bin" -glabel ASSET_TEX3D_OBJECTS_GREENDINOSAURSKIN -.incbin "./build/us_1.0/assets/textures/3d/objects/green_dinosaur_skin.bin" -glabel ASSET_TEX3D_OBJECTS_YELLOWDINOSAURNECKBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/yellow_dinosaur_neck_back.bin" -glabel ASSET_TEX3D_OBJECTS_YELLOWDINOSAURLIMBS -.incbin "./build/us_1.0/assets/textures/3d/objects/yellow_dinosaur_limbs.bin" -glabel ASSET_TEX3D_OBJECTS_RACERCOMMONSTEERINGWHEEL -.incbin "./build/us_1.0/assets/textures/3d/objects/racer_common_steering_wheel.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYFRONTNECKLOOP -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_front_neckloop.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYTRICKYTONGUE -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_tricky_tongue.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYARMSBACKSCALES -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_arms_back_scales.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYBACKHEADSCALES -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_back_head_scales.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYUNDERSIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_underside.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_eye.bin" -glabel ASSET_TEX3D_OBJECTS_SPACECOLUMNSMOKEYEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/spacecolumn_smokey_eye.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYFEETBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_feet_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYCHEEK -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_cheek.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKSTRAPSLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_straps_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKYCLOUDS_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky_clouds_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKYCLOUDS_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky_clouds_1.bin" -glabel ASSET_TEX3D_OBJECTS_RACERCOMMONCAREXHAUST -.incbin "./build/us_1.0/assets/textures/3d/objects/racer_common_car_exhaust.bin" -glabel ASSET_TEX3D_OBJECTS_RACERCOMMONCAREXHAUSTLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/racer_common_car_exhaust_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_EXIT -.incbin "./build/us_1.0/assets/textures/3d/objects/exit.bin" -glabel ASSET_TEX3D_OBJECTS_STOPWATCHEYE_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/stopwatch_eye_0.bin" -glabel ASSET_TEX3D_OBJECTS_STOPWATCHEYE_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/stopwatch_eye_1.bin" -glabel ASSET_TEX3D_OBJECTS_STOPWATCHEYE_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/stopwatch_eye_2.bin" -glabel ASSET_TEX3D_OBJECTS_FROGBELLY -.incbin "./build/us_1.0/assets/textures/3d/objects/frog_belly.bin" -glabel ASSET_TEX3D_UNUSED_BLUE -.incbin "./build/us_1.0/assets/textures/3d/unused/blue.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPSHELLOUTLINE -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_shell_outline.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONBUMPER_0 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_bumper_0.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONBUMPER_1 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_bumper_1.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONBUMPER_2 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_bumper_2.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONBUMPER_3 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_bumper_3.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPEREYES -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_eyes.bin" -glabel ASSET_TEX3D_OBJECTS_GOLDENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/gold_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_GOLDENVMAP2 -.incbin "./build/us_1.0/assets/textures/3d/objects/gold_envmap2.bin" -glabel ASSET_TEX3D_OBJECTS_GOLDBALLOONENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/gold_balloon_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_GREENENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/green_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYCARENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_car_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_RACERCOMMONPLANETAILLIGHT -.incbin "./build/us_1.0/assets/textures/3d/objects/racer_common_plane_tail_light.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERCARENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_car_envmap.bin" -glabel ASSET_TEX3D_COMMON_DEBUGGRAY -.incbin "./build/us_1.0/assets/textures/3d/common/debug_gray.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERCAPBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_cap_back.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERCAPFRONT -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_cap_front.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERCAPTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_cap_top.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERHEADFUR -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_head_fur.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERSTRIPESARMSNECKBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_stripes_arms_nape.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERSTRIPESARMSNECKBACKPLANE -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_stripes_arms_nape_plane.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERSTRIPESLIMBSBACKCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_stripes_limbs_back_charselect.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLWITHPIPES -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_with_pipes.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYLEGS -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_legs.bin" -glabel ASSET_TEX3D_SPACE_RINGSMETALENVMAP -.incbin "./build/us_1.0/assets/textures/3d/space/rings_metal_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHJACKETSIDES -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_jacket_sides.bin" -glabel ASSET_TEX3D_OBJECTS_DOTS -.incbin "./build/us_1.0/assets/textures/3d/objects/dots.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHSCUTES -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_scutes.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONKRUNCH_0 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_krunch_0.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONKRUNCH_1 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_krunch_1.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONKRUNCH_2 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_krunch_2.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONKRUNCH_3 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_krunch_3.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHUNDERSIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_underside.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_eye.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHEYELOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_eye_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHSKULL -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_skull.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHTOES -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_toes.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHSKIN -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_skin.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHHEADSIDES -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_head_sides.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHHEADTOPLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_head_top_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHMOUTH -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_mouth.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHBACKLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_back_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_EMPTYCARBREAKLIGHTS -.incbin "./build/us_1.0/assets/textures/3d/objects/empty_car_break_lights.bin" -glabel ASSET_TEX3D_COMMON_TROPHYRACEFLAG -.incbin "./build/us_1.0/assets/textures/3d/common/trophy_race_flag.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYSKIN -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_skin.bin" -glabel ASSET_TEX3D_OBJECTS_TAJTRUNKTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/taj_trunk_top.bin" -glabel ASSET_TEX3D_OBJECTS_MODE -.incbin "./build/us_1.0/assets/textures/3d/objects/mode.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYEARS -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_ears.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYHEADTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_head_top.bin" -glabel ASSET_TEX3D_WINTER_SNOWCHARBOW -.incbin "./build/us_1.0/assets/textures/3d/winter/snow_char_bow.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYBOW -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_bow.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYBELLY -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_belly.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYSAILORSUIT -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_sailor_suit.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYEYES -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_eyes.bin" -glabel ASSET_TEX3D_OBJECTS_PTERODACTYLEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/pterodactyl_eye.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPIPSY_0 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_pipsy_0.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPIPSY_1 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_pipsy_1.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPIPSY_2 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_pipsy_2.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPIPSY_3 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_pipsy_3.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYGLOVES -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_gloves.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYARMS -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_arms.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYNOSEWHISKERS -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_nose_whiskers.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYHEAD -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_head.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYBACKCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_back_charselect.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERMOUTHLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_mouth_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_GREENDINOSAURINSIDEMOUTH -.incbin "./build/us_1.0/assets/textures/3d/objects/green_dinosaur_inside_mouth.bin" -glabel ASSET_TEX3D_OBJECTS_STOPWATCHMOUTHWORRIED -.incbin "./build/us_1.0/assets/textures/3d/objects/stopwatch_mouth_worried.bin" -glabel ASSET_TEX3D_OBJECTS_STOPWATCHMOUTHHAPPY -.incbin "./build/us_1.0/assets/textures/3d/objects/stopwatch_mouth_happy.bin" -glabel ASSET_TEX3D_OBJECTS_STOPWATCHMOUTHOPENMOUTH -.incbin "./build/us_1.0/assets/textures/3d/objects/stopwatch_mouth_open_mouth.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERGOGGLESFRONTCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_goggles_front_charselect.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBEREARSLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_ears_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKCARENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_car_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_PLAYER1SELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/player_1_select.bin" -glabel ASSET_TEX3D_OBJECTS_PLAYER2SELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/player_2_select.bin" -glabel ASSET_TEX3D_OBJECTS_PLAYER3SELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/player_3_select.bin" -glabel ASSET_TEX3D_OBJECTS_PLAYER4SELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/player_4_select.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER1_0 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_1_0.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER1_1 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_1_1.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER1_2 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_1_2.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER1_3 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_1_3.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER2_0 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_2_0.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER2_1 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_2_1.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER2_2 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_2_2.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER2_3 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_2_3.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER3_0 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_3_0.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER3_1 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_3_1.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER3_2 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_3_2.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER3_3 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_3_3.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER4_0 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_4_0.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER4_1 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_4_1.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER4_2 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_4_2.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYER4_3 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_player_4_3.bin" -glabel ASSET_TEX3D_MEDIEVAL_SIGNSHIELD -.incbin "./build/us_1.0/assets/textures/3d/medieval/sign_shield.bin" -glabel ASSET_TEX3D_MEDIEVAL_COBBLEGROUND -.incbin "./build/us_1.0/assets/textures/3d/medieval/cobble_ground.bin" -glabel ASSET_TEX3D_MEDIEVAL_YELLOWCOBBLEGROUND -.incbin "./build/us_1.0/assets/textures/3d/medieval/yellow_cobble_ground.bin" -glabel ASSET_TEX3D_OBJECTS_BUBBLERSKINSIDESSMOOTH -.incbin "./build/us_1.0/assets/textures/3d/objects/bubbler_skin_sides_smooth.bin" -glabel ASSET_TEX3D_OBJECTS_BUBBLEREYE -.incbin "./build/us_1.0/assets/textures/3d/objects/bubbler_eye.bin" -glabel ASSET_TEX3D_OBJECTS_BUBBLERSKINSIDESDOTS -.incbin "./build/us_1.0/assets/textures/3d/objects/bubbler_skin_sides_dots.bin" -glabel ASSET_TEX3D_OBJECTS_BUBBLEREYESOCKET -.incbin "./build/us_1.0/assets/textures/3d/objects/bubbler_eye_socket.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPSHELL -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_shell.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHCARENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_car_envmap.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONKRUNCHENVMAP -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_krunch_envmap.bin" -glabel ASSET_TEX3D_MEDIEVAL_TURNSIGN -.incbin "./build/us_1.0/assets/textures/3d/medieval/turn_sign.bin" -glabel ASSET_TEX3D_OBJECTS_YELLOWDINOSAURBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/yellow_dinosaur_back.bin" -glabel ASSET_TEX3D_OBJECTS_GREENDINOSAURBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/green_dinosaur_back.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGCAPE -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_cape.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGNOSESIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_nose_side.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGNOSEFRONT -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_nose_front.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGHOOF -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_hoof.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYSKIN -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_skin.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYWINGSOUTLINE -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_wings_outline.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGAMULETNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_amulet_nose.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGHEADEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_head_eye.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSMOUTHEDGE -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_mouth_edge.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGHEADBELOWEARS -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_head_below_ears.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGFOREHEAD -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_forehead.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGCLOTHES -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_clothes.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGJEWELEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_jewel_eye.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGHAIR -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_hair.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGEAR -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_ear.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGHEADMOUTH -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_head_mouth.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSCHEEK -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_cheek.bin" -glabel ASSET_TEX3D_UNUSED_TRICKYTOPSUNKNOWN -.incbin "./build/us_1.0/assets/textures/3d/unused/trickytops_unknown.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSFRILLBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_frill_back.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSFRILLFRONT -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_frill_front.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSUNDERSIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_underside.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_back.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGSKINLINES -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_skin_lines.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSNAPE -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_nape.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_nose.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGSKIN -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_skin.bin" -glabel ASSET_TEX3D_COMMON_CHARSELECTHILLFENCE -.incbin "./build/us_1.0/assets/textures/3d/common/char_select_hill_fence.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPIPSYENVMAP -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_pipsy_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYCARENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_car_envmap.bin" -glabel ASSET_TEX3D_UNUSED_BETATAJPAD -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_taj_pad.bin" -glabel ASSET_TEX3D_UNUSED_BETATAJPAD2 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_taj_pad2.bin" -glabel ASSET_TEX3D_OBJECTS_TAJSKIN -.incbin "./build/us_1.0/assets/textures/3d/objects/taj_skin.bin" -glabel ASSET_TEX3D_OBJECTS_BLUEYTUSKS -.incbin "./build/us_1.0/assets/textures/3d/objects/bluey_tusks.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKFEATHERSCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_feathers_charselect.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONDRUMSTICKENVMAP -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_drumstick_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_TTCLOCKHAND -.incbin "./build/us_1.0/assets/textures/3d/objects/tt_clock_hand.bin" -glabel ASSET_TEX3D_OBJECTS_TTSCREW -.incbin "./build/us_1.0/assets/textures/3d/objects/tt_screw.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYHEADLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_head_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_nose.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPTOESCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_toes_charselect.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPSHELLBACKCENTER -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_shell_back_center.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPFRONT -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_front.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_eye.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPNECK -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_neck.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPFRONTFRAME -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_front_frame.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONPLAYERSENVMAP -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_players_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_CONKERCARENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/conker_car_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_CONKERBACKLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/conker_back_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYBACKLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_back_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_RACERCOMMONSTEERINGWHEEL2 -.incbin "./build/us_1.0/assets/textures/3d/objects/racer_common_steering_wheel2.bin" -glabel ASSET_TEX3D_OBJECTS_TTEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/tt_eye.bin" -glabel ASSET_TEX3D_UNUSED_TTEYESTILL -.incbin "./build/us_1.0/assets/textures/3d/unused/tt_eye_still.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKSTRAPSBUTTONLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_straps_button_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKSTRAPSBUTTON -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_straps_button.bin" -glabel ASSET_TEX3D_OBJECTS_TTCROWN -.incbin "./build/us_1.0/assets/textures/3d/objects/tt_crown.bin" -glabel ASSET_TEX3D_OBJECTS_TTGLOVE -.incbin "./build/us_1.0/assets/textures/3d/objects/tt_glove.bin" -glabel ASSET_TEX3D_OBJECTS_TTMOUTHSMILE -.incbin "./build/us_1.0/assets/textures/3d/objects/tt_mouth_smile.bin" -glabel ASSET_TEX3D_OBJECTS_TTRIM -.incbin "./build/us_1.0/assets/textures/3d/objects/tt_rim.bin" -glabel ASSET_TEX3D_OBJECTS_TTSHOE -.incbin "./build/us_1.0/assets/textures/3d/objects/tt_shoe.bin" -glabel ASSET_TEX3D_OBJECTS_BUBBLERTENTACLESBACKSIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/bubbler_tentacles_back_side.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYSHADOW -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_shadow.bin" -glabel ASSET_TEX3D_OBJECTS_YELLOWDINOSAUREYE -.incbin "./build/us_1.0/assets/textures/3d/objects/yellow_dinosaur_eye.bin" -glabel ASSET_TEX3D_OBJECTS_GREENDINOSAUREYE -.incbin "./build/us_1.0/assets/textures/3d/objects/green_dinosaur_eye.bin" -glabel ASSET_TEX3D_OBJECTS_RACERCOMMONBLACK2 -.incbin "./build/us_1.0/assets/textures/3d/objects/racer_common_black2.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERFRONT -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_front.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERMOUTH -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_mouth.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONTIMBER_0 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_timber_0.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONTIMBER_1 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_timber_1.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONTIMBER_2 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_timber_2.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONTIMBER_3 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_timber_3.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERFACEWHITEFUR -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_face_white_fur.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBEREYE -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_eye.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSSKINLIMBS -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_skin_limbs.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYMOUTH -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_mouth.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERFRONTCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_front_charselect.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_nose.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERFUR -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_fur.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERFOOT -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_foot.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERBACKLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_back_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERCHEEK -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_cheek.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERCHEEKPLANE -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_cheek_plane.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERCHEEKCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_cheek_charselect.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONTIPTUP_0 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_tiptup_0.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONTIPTUP_1 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_tiptup_1.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONTIPTUP_2 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_tiptup_2.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONTIPTUP_3 -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_tiptup_3.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPSKIN -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_skin.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPBACKLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_back_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPNAPE -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_nape.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_eye.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSLIMBS -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_limbs.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSBOTTOMLIGHT -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_bottom_light.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSFOREHEAD -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_forehead.bin" -glabel ASSET_TEX3D_UNUSED_WIZPIGROCKETUNUSEDSHADOW -.incbin "./build/us_1.0/assets/textures/3d/unused/wizpig_rocket_unused_shadow.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSTOES -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_toes.bin" -glabel ASSET_TEX3D_OBJECTS_WIDESCREEN -.incbin "./build/us_1.0/assets/textures/3d/objects/widescreen.bin" -glabel ASSET_TEX3D_OBJECTS_RACERCOMMONHOVERBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/racer_common_hover_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERHOVERTOPLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_hover_top_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPHOVERTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_hover_top.bin" -glabel ASSET_TEX3D_OBJECTS_CONKERHOVERTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/conker_hover_top.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOHOVERTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_hover_top.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYHOVERTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_hover_top.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERHOVERTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_hover_top.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHHOVERTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_hover_top.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYHOVERTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_hover_top.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKHOVERTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_hover_top.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERHOVERTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_hover_top.bin" -glabel ASSET_TEX3D_OBJECTS_TAJTURBAN -.incbin "./build/us_1.0/assets/textures/3d/objects/taj_turban.bin" -glabel ASSET_TEX3D_OBJECTS_TAJTUSKS -.incbin "./build/us_1.0/assets/textures/3d/objects/taj_tusks.bin" -glabel ASSET_TEX3D_OBJECTS_RACERCOMMONREDLOWPOLY -.incbin "./build/us_1.0/assets/textures/3d/objects/racer_common_red_lowpoly.bin" -glabel ASSET_TEX3D_OBJECTS_STOPWATCHFRAMEENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/stopwatch_frame_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_BLUEYSKINENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/bluey_skin_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_TAJFRONT -.incbin "./build/us_1.0/assets/textures/3d/objects/taj_front.bin" -glabel ASSET_TEX3D_OBJECTS_TAJCHEEK -.incbin "./build/us_1.0/assets/textures/3d/objects/taj_cheek.bin" -glabel ASSET_TEX3D_OBJECTS_TAJLIMBS -.incbin "./build/us_1.0/assets/textures/3d/objects/taj_limbs.bin" -glabel ASSET_TEX3D_OBJECTS_TAJVEST -.incbin "./build/us_1.0/assets/textures/3d/objects/taj_vest.bin" -glabel ASSET_TEX3D_OBJECTS_TAJLEGSIDES -.incbin "./build/us_1.0/assets/textures/3d/objects/taj_leg_sides.bin" -glabel ASSET_TEX3D_OBJECTS_BLUEYCHEEK -.incbin "./build/us_1.0/assets/textures/3d/objects/bluey_cheek.bin" -glabel ASSET_TEX3D_OBJECTS_RACERCOMMONWHITE -.incbin "./build/us_1.0/assets/textures/3d/objects/racer_common_white.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKWINGSTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_wings_top.bin" -glabel ASSET_TEX3D_OBJECTS_TIPTUPPLANEWING -.incbin "./build/us_1.0/assets/textures/3d/objects/tiptup_plane_wing.bin" -glabel ASSET_TEX3D_OBJECTS_CONKERPLANEWING -.incbin "./build/us_1.0/assets/textures/3d/objects/conker_plane_wing.bin" -glabel ASSET_TEX3D_OBJECTS_BANJOPLANEWING -.incbin "./build/us_1.0/assets/textures/3d/objects/banjo_plane_wing.bin" -glabel ASSET_TEX3D_OBJECTS_DIDDYPLANEWING -.incbin "./build/us_1.0/assets/textures/3d/objects/diddy_plane_wing.bin" -glabel ASSET_TEX3D_OBJECTS_TIMBERPLANEWING -.incbin "./build/us_1.0/assets/textures/3d/objects/timber_plane_wing.bin" -glabel ASSET_TEX3D_OBJECTS_KRUNCHPLANEWING -.incbin "./build/us_1.0/assets/textures/3d/objects/krunch_plane_wing.bin" -glabel ASSET_TEX3D_OBJECTS_PIPSYPLANEWING -.incbin "./build/us_1.0/assets/textures/3d/objects/pipsy_plane_wing.bin" -glabel ASSET_TEX3D_OBJECTS_DRUMSTICKPLANEWING -.incbin "./build/us_1.0/assets/textures/3d/objects/drumstick_plane_wing.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERPLANEWING -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_plane_wing.bin" -glabel ASSET_TEX3D_OBJECTS_BUMPERCARENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/bumper_car_envmap.bin" -glabel ASSET_TEX3D_UNUSED_BETABALLOONBUMPERENVMAP -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_balloon_bumper_envmap.bin" -glabel ASSET_TEX3D_UNUSED_GOLDBALLOONSTRIPES -.incbin "./build/us_1.0/assets/textures/3d/unused/gold_balloon_stripes.bin" -glabel ASSET_TEX3D_COMMON_BROWNDIRTPATH -.incbin "./build/us_1.0/assets/textures/3d/common/brown_dirt_path.bin" -glabel ASSET_TEX3D_DINO_FOSSILHOLES -.incbin "./build/us_1.0/assets/textures/3d/dino/fossil_holes.bin" -glabel ASSET_TEX3D_SPACE_GREENWALLWITHDIALS -.incbin "./build/us_1.0/assets/textures/3d/space/green_wall_with_dials.bin" -glabel ASSET_TEX3D_COMMON_DIRTWALLSANDY2 -.incbin "./build/us_1.0/assets/textures/3d/common/dirt_wall_sandy2.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLYELLOWARROWDOWN -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_yellow_arrow_down.bin" -glabel ASSET_TEX3D_SPACE_SPACESHIPEARTH -.incbin "./build/us_1.0/assets/textures/3d/space/spaceship_earth.bin" -glabel ASSET_TEX3D_SPACE_VENTFANGRATE -.incbin "./build/us_1.0/assets/textures/3d/space/vent_fan_grate.bin" -glabel ASSET_TEX3D_OBJECTS_FANBLADE -.incbin "./build/us_1.0/assets/textures/3d/objects/fan_blade.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEORANGESKY_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_orange_sky_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEORANGESKY_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_orange_sky_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEORANGESKY_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_orange_sky_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEORANGESKY_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_orange_sky_3.bin" -glabel ASSET_TEX3D_SPACE_GLASSWINDOW -.incbin "./build/us_1.0/assets/textures/3d/space/glass_window.bin" -glabel ASSET_TEX3D_SPACE_BLINKINGLIGHT -.incbin "./build/us_1.0/assets/textures/3d/space/blinking_light.bin" -glabel ASSET_TEX3D_COMMON_HANGINGMOSS3 -.incbin "./build/us_1.0/assets/textures/3d/common/hanging_moss3.bin" -glabel ASSET_TEX3D_MEDIEVAL_YELLOWHOUSEFRONT -.incbin "./build/us_1.0/assets/textures/3d/medieval/yellow_house_front.bin" -glabel ASSET_TEX3D_MEDIEVAL_YELLOWHOUSESIDE -.incbin "./build/us_1.0/assets/textures/3d/medieval/yellow_house_side.bin" -glabel ASSET_TEX3D_SPACE_GREENWALLGRAPH -.incbin "./build/us_1.0/assets/textures/3d/space/green_wall_graph.bin" -glabel ASSET_TEX3D_SPACE_GREENWALLTANKS -.incbin "./build/us_1.0/assets/textures/3d/space/green_wall_tanks.bin" -glabel ASSET_TEX3D_COMMON_BLUESTONESANDYMOSSY -.incbin "./build/us_1.0/assets/textures/3d/common/blue_stone_sandy_mossy.bin" -glabel ASSET_TEX3D_DINO_ORANGESTONESANDY -.incbin "./build/us_1.0/assets/textures/3d/dino/orange_stone_sandy.bin" -glabel ASSET_TEX3D_COMMON_DEBUGPURPLEHIT -.incbin "./build/us_1.0/assets/textures/3d/common/debug_purple_hit.bin" -glabel ASSET_TEX3D_SPACE_ARCHSUPPORT -.incbin "./build/us_1.0/assets/textures/3d/space/arch_support.bin" -glabel ASSET_TEX3D_SPACE_STARSSIGN -.incbin "./build/us_1.0/assets/textures/3d/space/stars_sign.bin" -glabel ASSET_TEX3D_SPACE_KILLERINSTINCTSIGN -.incbin "./build/us_1.0/assets/textures/3d/space/killer_instinct_sign.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEORANGESKY2_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_orange_sky2_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEORANGESKY2_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_orange_sky2_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEORANGESKY2_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_orange_sky2_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEORANGESKY2_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_orange_sky2_3.bin" -glabel ASSET_TEX3D_SPACE_BLUEWALLLIGHT -.incbin "./build/us_1.0/assets/textures/3d/space/blue_wall_light.bin" -glabel ASSET_TEX3D_SPACE_BLUEWALLLIGHT2 -.incbin "./build/us_1.0/assets/textures/3d/space/blue_wall_light2.bin" -glabel ASSET_TEX3D_SPACE_BLUEWALLSTRIPES -.incbin "./build/us_1.0/assets/textures/3d/space/blue_wall_stripes.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLBRICKSDETAILS -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_bricks_details.bin" -glabel ASSET_TEX3D_SPACE_BLUETUNNELLIGHT -.incbin "./build/us_1.0/assets/textures/3d/space/blue_tunnel_light.bin" -glabel ASSET_TEX3D_DINO_LILYPADEDGE -.incbin "./build/us_1.0/assets/textures/3d/dino/lilypad_edge.bin" -glabel ASSET_TEX3D_MEDIEVAL_BLUEWALLFRAME -.incbin "./build/us_1.0/assets/textures/3d/medieval/blue_wall_frame.bin" -glabel ASSET_TEX3D_MEDIEVAL_BLUEWALLWINDOWANDFLAGS -.incbin "./build/us_1.0/assets/textures/3d/medieval/blue_wall_window_and_flags.bin" -glabel ASSET_TEX3D_MEDIEVAL_BLUEWALLWINDOWANDDOOR -.incbin "./build/us_1.0/assets/textures/3d/medieval/blue_wall_window_and_door.bin" -glabel ASSET_TEX3D_MEDIEVAL_BLUEWALLROPE -.incbin "./build/us_1.0/assets/textures/3d/medieval/blue_wall_rope.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEGRASS_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_grass_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEGRASS_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_grass_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEGRASS_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_grass_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEGRASS_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_grass_3.bin" -glabel ASSET_TEX3D_OBJECTS_MONORAILN64LOGO -.incbin "./build/us_1.0/assets/textures/3d/objects/monorail_n64_logo.bin" -glabel ASSET_TEX3D_DINO_TEMPLEBRICK2 -.incbin "./build/us_1.0/assets/textures/3d/dino/temple_brick2.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLPIPES -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_pipes.bin" -glabel ASSET_TEX3D_TROPICAL_N64LOGOSHIPSAIL_0 -.incbin "./build/us_1.0/assets/textures/3d/tropical/n64_logo_ship_sail_0.bin" -glabel ASSET_TEX3D_TROPICAL_N64LOGOSHIPSAIL_1 -.incbin "./build/us_1.0/assets/textures/3d/tropical/n64_logo_ship_sail_1.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLN64TANK -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_n64_tank.bin" -glabel ASSET_TEX3D_UNUSED_BLACKUNKNOWN -.incbin "./build/us_1.0/assets/textures/3d/unused/black_unknown.bin" -glabel ASSET_TEX3D_SPACE_N64SIGNSQUARE -.incbin "./build/us_1.0/assets/textures/3d/space/n64_sign_square.bin" -glabel ASSET_TEX3D_SPACE_SUNNEONSIGN -.incbin "./build/us_1.0/assets/textures/3d/space/sun_neon_sign.bin" -glabel ASSET_TEX3D_SPACE_STREETROAD -.incbin "./build/us_1.0/assets/textures/3d/space/street_road.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY2_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky2_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY2_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky2_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY2_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky2_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY2_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky2_3.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEDESERT_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_desert_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEDESERT_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_desert_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEDESERT_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_desert_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEDESERT_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_desert_3.bin" -glabel ASSET_TEX3D_UNUSED_NINTENDOLOGONEGATIVE_0 -.incbin "./build/us_1.0/assets/textures/3d/unused/nintendo_logo_negative_0.bin" -glabel ASSET_TEX3D_UNUSED_NINTENDOLOGONEGATIVE_1 -.incbin "./build/us_1.0/assets/textures/3d/unused/nintendo_logo_negative_1.bin" -glabel ASSET_TEX3D_UNUSED_NINTENDOLOGONEGATIVE_2 -.incbin "./build/us_1.0/assets/textures/3d/unused/nintendo_logo_negative_2.bin" -glabel ASSET_TEX3D_UNUSED_NINTENDOLOGONEGATIVE_3 -.incbin "./build/us_1.0/assets/textures/3d/unused/nintendo_logo_negative_3.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACESTARS_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_stars_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACESTARS_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_stars_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACESTARS_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_stars_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEORANGESKY_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_orange_sky_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEORANGESKY_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_orange_sky_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEORANGESKY_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_orange_sky_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEYELLOWSKY_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_yellow_sky_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEYELLOWSKY_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_yellow_sky_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEYELLOWSKY_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_yellow_sky_2.bin" -glabel ASSET_TEX3D_MEDIEVAL_VILLAGESTONEWALL -.incbin "./build/us_1.0/assets/textures/3d/medieval/village_stone_wall.bin" -glabel ASSET_TEX3D_COMMON_REDARROWSIGN2 -.incbin "./build/us_1.0/assets/textures/3d/common/red_arrow_sign2.bin" -glabel ASSET_TEX3D_MEDIEVAL_VILLAGEROOFN64LOGO -.incbin "./build/us_1.0/assets/textures/3d/medieval/village_roof_n64_logo.bin" -glabel ASSET_TEX3D_SPACE_SKYSCRAPERLIGHTS -.incbin "./build/us_1.0/assets/textures/3d/space/skyscraper_lights.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLBRICKS2 -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_bricks2.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLN64LOGO -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_n64_logo.bin" -glabel ASSET_TEX3D_COMMON_WOODBRIDGEDARKBROWN -.incbin "./build/us_1.0/assets/textures/3d/common/wood_bridge_dark_brown.bin" -glabel ASSET_TEX3D_WINTER_FINISHLINEFLAGBLACKYELLOW -.incbin "./build/us_1.0/assets/textures/3d/winter/finish_line_flag_black_yellow.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY3_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky3_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY3_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky3_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY3_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky3_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY3_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky3_3.bin" -glabel ASSET_TEX3D_SPACE_SPACEGRASS -.incbin "./build/us_1.0/assets/textures/3d/space/space_grass.bin" -glabel ASSET_TEX3D_UNUSED_CASTLEWALLTILEMOSSY -.incbin "./build/us_1.0/assets/textures/3d/unused/castle_wall_tile_mossy.bin" -glabel ASSET_TEX3D_SPACE_VENTFANBORDER -.incbin "./build/us_1.0/assets/textures/3d/space/vent_fan_border.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLBLUEPIPE -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_blue_pipe.bin" -glabel ASSET_TEX3D_OBJECTS_DOMETOPBROWN -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_top_brown.bin" -glabel ASSET_TEX3D_MEDIEVAL_VILLAGEPLANKFENCE -.incbin "./build/us_1.0/assets/textures/3d/medieval/village_plank_fence.bin" -glabel ASSET_TEX3D_OBJECTS_PTERODACTYLUNDERSIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/pterodactyl_underside.bin" -glabel ASSET_TEX3D_OBJECTS_PTERODACTYLNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/pterodactyl_nose.bin" -glabel ASSET_TEX3D_OBJECTS_PTERODACTYLSKIN -.incbin "./build/us_1.0/assets/textures/3d/objects/pterodactyl_skin.bin" -glabel ASSET_TEX3D_OBJECTS_PTERODACTYLSPINEHEAD -.incbin "./build/us_1.0/assets/textures/3d/objects/pterodactyl_spine_head.bin" -glabel ASSET_TEX3D_OBJECTS_PTERODACTYLWINGS -.incbin "./build/us_1.0/assets/textures/3d/objects/pterodactyl_wings.bin" -glabel ASSET_TEX3D_SPACE_REDWALLSMALLLEVERS -.incbin "./build/us_1.0/assets/textures/3d/space/red_wall_small_levers.bin" -glabel ASSET_TEX3D_SPACE_REDWALLBIGLEVERS -.incbin "./build/us_1.0/assets/textures/3d/space/red_wall_big_levers.bin" -glabel ASSET_TEX3D_SPACE_REDWALLR4300 -.incbin "./build/us_1.0/assets/textures/3d/space/red_wall_r4300.bin" -glabel ASSET_TEX3D_SPACE_REDWALLCOMPUTER -.incbin "./build/us_1.0/assets/textures/3d/space/red_wall_computer.bin" -glabel ASSET_TEX3D_MEDIEVAL_ROOFTILESHINGLES -.incbin "./build/us_1.0/assets/textures/3d/medieval/roof_tile_shingles.bin" -glabel ASSET_TEX3D_SPACE_COLOREDSTONE -.incbin "./build/us_1.0/assets/textures/3d/space/colored_stone.bin" -glabel ASSET_TEX3D_MEDIEVAL_BLUECASTLEMERLON -.incbin "./build/us_1.0/assets/textures/3d/medieval/blue_castle_merlon.bin" -glabel ASSET_TEX3D_SPACE_RARESIGNFLASHING -.incbin "./build/us_1.0/assets/textures/3d/space/rare_sign_flashing.bin" -glabel ASSET_TEX3D_SPACE_REDGROUNDARROW -.incbin "./build/us_1.0/assets/textures/3d/space/red_ground_arrow.bin" -glabel ASSET_TEX3D_SPACE_REDWALLBIGLEVERS2 -.incbin "./build/us_1.0/assets/textures/3d/space/red_wall_big_levers2.bin" -glabel ASSET_TEX3D_MEDIEVAL_ORANGEHOUSEWALLWINDOW -.incbin "./build/us_1.0/assets/textures/3d/medieval/orange_house_wall_window.bin" -glabel ASSET_TEX3D_MEDIEVAL_ORANGEHOUSEGUARDRAIL -.incbin "./build/us_1.0/assets/textures/3d/medieval/orange_house_guard_rail.bin" -glabel ASSET_TEX3D_SPACE_ARCHSUPPORTBASE -.incbin "./build/us_1.0/assets/textures/3d/space/arch_support_base.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIPBOOSTER -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship_booster.bin" -glabel ASSET_TEX3D_SPACE_REDPILLARSPIKE -.incbin "./build/us_1.0/assets/textures/3d/space/red_pillar_spike.bin" -glabel ASSET_TEX3D_DINO_FOSSILBONE -.incbin "./build/us_1.0/assets/textures/3d/dino/fossil_bone.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLRARELOGO -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_rare_logo.bin" -glabel ASSET_TEX3D_MEDIEVAL_ROOFTILESHINGLESRED -.incbin "./build/us_1.0/assets/textures/3d/medieval/roof_tile_shingles_red.bin" -glabel ASSET_TEX3D_MEDIEVAL_ROOFTILESHINGLES2 -.incbin "./build/us_1.0/assets/textures/3d/medieval/roof_tile_shingles2.bin" -glabel ASSET_TEX3D_OBJECTS_CHARSELECTSHADOW -.incbin "./build/us_1.0/assets/textures/3d/objects/charselect_shadow.bin" -glabel ASSET_TEX3D_SPACE_BLUEPAVEMENT -.incbin "./build/us_1.0/assets/textures/3d/space/blue_pavement.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESUNRAYS -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_sun_rays.bin" -glabel ASSET_TEX3D_COMMON_DIRTROADSANDY -.incbin "./build/us_1.0/assets/textures/3d/common/dirt_road_sandy.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKYISLAND -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky_island.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLACKBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_black_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_snowy_night_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_snowy_night_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_snowy_night_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_snowy_night_3.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_4 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_snowy_night_4.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_5 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_snowy_night_5.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_6 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_snowy_night_6.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_7 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_snowy_night_7.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_8 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_snowy_night_8.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_9 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_snowy_night_9.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_10 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_snowy_night_10.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_11 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_snowy_night_11.bin" -glabel ASSET_TEX3D_COMMON_BLACKSEMITRANSPARENT -.incbin "./build/us_1.0/assets/textures/3d/common/black_semitransparent.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIPBLASTER -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship_blaster.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEVOLCANO_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_volcano_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEVOLCANO_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_volcano_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEVOLCANO_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_volcano_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEVOLCANO_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_volcano_3.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEVOLCANO_4 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_volcano_4.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEVOLCANO_5 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_volcano_5.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEVOLCANO_6 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_volcano_6.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEVOLCANO_7 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_volcano_7.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEVOLCANO_8 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_volcano_8.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEVOLCANO_9 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_volcano_9.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEVOLCANO_10 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_volcano_10.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEVOLCANO_11 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_volcano_11.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHTTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_snowy_night_top.bin" -glabel ASSET_TEX3D_WINTER_ICYPATHSNOWY -.incbin "./build/us_1.0/assets/textures/3d/winter/icy_path_snowy.bin" -glabel ASSET_TEX3D_SPACE_SPACEWALL -.incbin "./build/us_1.0/assets/textures/3d/space/space_wall.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_3.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_4 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_4.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_5 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_5.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_6 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_6.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_7 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_7.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_8 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_8.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_9 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_9.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_10 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_10.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_11 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_11.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_12 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_12.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_13 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_13.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_14 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_14.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_15 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_15.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_16 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_16.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_17 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_17.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_18 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_18.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_19 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_blue_19.bin" -glabel ASSET_TEX3D_SPACE_FINISHLINEWHITESPACE_0 -.incbin "./build/us_1.0/assets/textures/3d/space/finish_line_white_space_0.bin" -glabel ASSET_TEX3D_SPACE_FINISHLINEWHITESPACE_1 -.incbin "./build/us_1.0/assets/textures/3d/space/finish_line_white_space_1.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLBLOCKSLARGE -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_blocks_large.bin" -glabel ASSET_TEX3D_COMMON_FOGWHITE -.incbin "./build/us_1.0/assets/textures/3d/common/fog_white.bin" -glabel ASSET_TEX3D_SPACE_FINISHLINESPACE2_0 -.incbin "./build/us_1.0/assets/textures/3d/space/finish_line_space2_0.bin" -glabel ASSET_TEX3D_SPACE_FINISHLINESPACE2_1 -.incbin "./build/us_1.0/assets/textures/3d/space/finish_line_space2_1.bin" -glabel ASSET_TEX3D_SPACE_STADIUMLIGHTS -.incbin "./build/us_1.0/assets/textures/3d/space/stadium_lights.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEPINK_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_pink_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEPINK_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_pink_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEPINK_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_pink_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEPINK_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_pink_3.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESPACEPINKTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_space_pink_top.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLSMALLYELLOWARROW -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_small_yellow_arrow.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLVENT -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_vent.bin" -glabel ASSET_TEX3D_SPACE_POLE -.incbin "./build/us_1.0/assets/textures/3d/space/pole.bin" -glabel ASSET_TEX3D_SPACE_BUILDINGEDGE -.incbin "./build/us_1.0/assets/textures/3d/space/building_edge.bin" -glabel ASSET_TEX3D_DINO_ANCIENTSTONE -.incbin "./build/us_1.0/assets/textures/3d/dino/ancient_stone.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEORANGESKY3_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_orange_sky3_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEORANGESKY3_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_orange_sky3_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEORANGESKY3_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_orange_sky3_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEORANGESKY3_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_orange_sky3_3.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLBLUETANKS -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_blue_tanks.bin" -glabel ASSET_TEX3D_MEDIEVAL_TREETRUNKSWOODS_0 -.incbin "./build/us_1.0/assets/textures/3d/medieval/tree_trunks_woods_0.bin" -glabel ASSET_TEX3D_MEDIEVAL_TREETRUNKSWOODS_1 -.incbin "./build/us_1.0/assets/textures/3d/medieval/tree_trunks_woods_1.bin" -glabel ASSET_TEX3D_MEDIEVAL_TREETRUNKSWOODS_2 -.incbin "./build/us_1.0/assets/textures/3d/medieval/tree_trunks_woods_2.bin" -glabel ASSET_TEX3D_MEDIEVAL_THATCHROOFING2 -.incbin "./build/us_1.0/assets/textures/3d/medieval/thatch_roofing2.bin" -glabel ASSET_TEX3D_MEDIEVAL_VILLAGEDOORROUND -.incbin "./build/us_1.0/assets/textures/3d/medieval/village_door_round.bin" -glabel ASSET_TEX3D_MEDIEVAL_WHITEHOUSEWALL -.incbin "./build/us_1.0/assets/textures/3d/medieval/white_house_wall.bin" -glabel ASSET_TEX3D_MEDIEVAL_WHITEHOUSEWALLWINDOW -.incbin "./build/us_1.0/assets/textures/3d/medieval/white_house_wall_window.bin" -glabel ASSET_TEX3D_UNUSED_UTURN -.incbin "./build/us_1.0/assets/textures/3d/unused/uturn.bin" -glabel ASSET_TEX3D_WINTER_ICYWATERFALL -.incbin "./build/us_1.0/assets/textures/3d/winter/icy_waterfall.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLSCREEN -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_screen.bin" -glabel ASSET_TEX3D_OBJECTS_SILVERTROPHYEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/silver_trophy_eye.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY4_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky4_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY4_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_sky4_1.bin" -glabel ASSET_TEX3D_MEDIEVAL_VILLAGEWHITEWALL5 -.incbin "./build/us_1.0/assets/textures/3d/medieval/village_white_wall5.bin" -glabel ASSET_TEX3D_SPACE_WHITEWALLSTEELCYLINDER -.incbin "./build/us_1.0/assets/textures/3d/space/white_wall_steel_cylinder.bin" -glabel ASSET_TEX3D_SPACE_CITYLIGHTSYELLOWWHITE -.incbin "./build/us_1.0/assets/textures/3d/space/city_lights_yellow_white.bin" -glabel ASSET_TEX3D_UNUSED_BETABUMPERICON -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_bumper_icon.bin" -glabel ASSET_TEX3D_COMMON_LOGEXPOSEDSIDE2 -.incbin "./build/us_1.0/assets/textures/3d/common/log_exposed_side2.bin" -glabel ASSET_TEX3D_COMMON_LOGBARK -.incbin "./build/us_1.0/assets/textures/3d/common/log_bark.bin" -glabel ASSET_TEX3D_COMMON_LOGBARK2 -.incbin "./build/us_1.0/assets/textures/3d/common/log_bark2.bin" -glabel ASSET_TEX3D_COMMON_LOGEXPOSEDSIDE3 -.incbin "./build/us_1.0/assets/textures/3d/common/log_exposed_side3.bin" -glabel ASSET_TEX3D_OBJECTS_DOMECOAST_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_coast_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMECOAST_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_coast_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMECOAST_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_coast_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMECOAST_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_coast_3.bin" -glabel ASSET_TEX3D_OBJECTS_DOMECOAST_4 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_coast_4.bin" -glabel ASSET_TEX3D_OBJECTS_DOMECOAST_5 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_coast_5.bin" -glabel ASSET_TEX3D_OBJECTS_DOMECOAST_6 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_coast_6.bin" -glabel ASSET_TEX3D_OBJECTS_DOMECOAST_7 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_coast_7.bin" -glabel ASSET_TEX3D_COMMON_REDARROWSIGN3 -.incbin "./build/us_1.0/assets/textures/3d/common/red_arrow_sign3.bin" -glabel ASSET_TEX3D_OBJECTS_REDSPACESHIP -.incbin "./build/us_1.0/assets/textures/3d/objects/red_spaceship.bin" -glabel ASSET_TEX3D_UNUSED_UNKNOWNSIGNTEXTURE -.incbin "./build/us_1.0/assets/textures/3d/unused/unknown_sign_texture.bin" -glabel ASSET_TEX3D_SPACE_ARROWNEONFLASHING -.incbin "./build/us_1.0/assets/textures/3d/space/arrow_neon_flashing.bin" -glabel ASSET_TEX3D_TROPICAL_PIRATESHIPTRIM -.incbin "./build/us_1.0/assets/textures/3d/tropical/pirateship_trim.bin" -glabel ASSET_TEX3D_OBJECTS_DOORBOSSTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/door_boss_top.bin" -glabel ASSET_TEX3D_OBJECTS_DOORBOSSBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/door_boss_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_DOORBOSSWIZPIGDECO -.incbin "./build/us_1.0/assets/textures/3d/objects/door_boss_wizpig_deco.bin" -glabel ASSET_TEX3D_WINTER_WATERFROZEN -.incbin "./build/us_1.0/assets/textures/3d/winter/water_frozen.bin" -glabel ASSET_TEX3D_OBJECTS_BRONZETROPHYENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/bronze_trophy_envmap.bin" -glabel ASSET_TEX3D_COMMON_BROWNSTONE -.incbin "./build/us_1.0/assets/textures/3d/common/brown_stone.bin" -glabel ASSET_TEX3D_OBJECTS_MAGICCARPETMIDDLE -.incbin "./build/us_1.0/assets/textures/3d/objects/magic_carpet_middle.bin" -glabel ASSET_TEX3D_OBJECTS_MAGICCARPETEDGE -.incbin "./build/us_1.0/assets/textures/3d/objects/magic_carpet_edge.bin" -glabel ASSET_TEX3D_OBJECTS_RAREWARELOGOGOLD -.incbin "./build/us_1.0/assets/textures/3d/objects/rareware_logo_gold.bin" -glabel ASSET_TEX3D_UNUSED_BETATTDOORTOP -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_tt_door_top.bin" -glabel ASSET_TEX3D_UNUSED_BETATTDOORBOTTON -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_tt_door_botton.bin" -glabel ASSET_TEX3D_OBJECTS_CHECKPOINT -.incbin "./build/us_1.0/assets/textures/3d/objects/checkpoint.bin" -glabel ASSET_TEX3D_UNUSED_BETADRUMSTICKICON -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_drumstick_icon.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESUN -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_sun.bin" -glabel ASSET_TEX3D_OBJECTS_N64LOGOBLUE -.incbin "./build/us_1.0/assets/textures/3d/objects/n64_logo_blue.bin" -glabel ASSET_TEX3D_COMMON_ORANGEWOOD -.incbin "./build/us_1.0/assets/textures/3d/common/orange_wood.bin" -glabel ASSET_TEX3D_OBJECTS_N64LOGOGREEN -.incbin "./build/us_1.0/assets/textures/3d/objects/n64_logo_green.bin" -glabel ASSET_TEX3D_OBJECTS_SEAMONSTEREYE -.incbin "./build/us_1.0/assets/textures/3d/objects/seamonster_eye.bin" -glabel ASSET_TEX3D_UNUSED_SEAMONSTERUNKNOWN -.incbin "./build/us_1.0/assets/textures/3d/unused/seamonster_unknown.bin" -glabel ASSET_TEX3D_OBJECTS_YELLOWDINOSAURUNDERSIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/yellow_dinosaur_underside.bin" -glabel ASSET_TEX3D_OBJECTS_SEAMONSTERUNDERSIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/seamonster_underside.bin" -glabel ASSET_TEX3D_OBJECTS_SEAMONSTERHEADBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/seamonster_head_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_SEAMONSTERCHEEK -.incbin "./build/us_1.0/assets/textures/3d/objects/seamonster_cheek.bin" -glabel ASSET_TEX3D_OBJECTS_YELLOWDINOSAURCHEEK -.incbin "./build/us_1.0/assets/textures/3d/objects/yellow_dinosaur_cheek.bin" -glabel ASSET_TEX3D_OBJECTS_SEAMONSTERNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/seamonster_nose.bin" -glabel ASSET_TEX3D_OBJECTS_SEAMONSTERHEADTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/seamonster_head_top.bin" -glabel ASSET_TEX3D_OBJECTS_YELLOWDINOSAURMOUTH -.incbin "./build/us_1.0/assets/textures/3d/objects/yellow_dinosaur_mouth.bin" -glabel ASSET_TEX3D_OBJECTS_YELLOWDINOSAUREYEBROWS -.incbin "./build/us_1.0/assets/textures/3d/objects/yellow_dinosaur_eyebrows.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYEARS -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_ears.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_nose.bin" -glabel ASSET_TEX3D_OBJECTS_SMOKEYHEADTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/smokey_head_top.bin" -glabel ASSET_TEX3D_OBJECTS_N64LOGORED -.incbin "./build/us_1.0/assets/textures/3d/objects/n64_logo_red.bin" -glabel ASSET_TEX3D_SPACE_BLUESTONEFLOOR -.incbin "./build/us_1.0/assets/textures/3d/space/blue_stone_floor.bin" -glabel ASSET_TEX3D_OBJECTS_EXITSIGNSMALL -.incbin "./build/us_1.0/assets/textures/3d/objects/exit_sign_small.bin" -glabel ASSET_TEX3D_OBJECTS_EXITSIGN -.incbin "./build/us_1.0/assets/textures/3d/objects/exit_sign.bin" -glabel ASSET_TEX3D_TROPICAL_WOODGUARDRAIL -.incbin "./build/us_1.0/assets/textures/3d/tropical/wood_guardrail.bin" -glabel ASSET_TEX3D_WINTER_ICYPINKWALLSNOWY -.incbin "./build/us_1.0/assets/textures/3d/winter/icy_pink_wall_snowy.bin" -glabel ASSET_TEX3D_TROPICAL_FOG2 -.incbin "./build/us_1.0/assets/textures/3d/tropical/fog2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEYELLOWSKY_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_yellow_sky_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEYELLOWSKY_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_yellow_sky_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEYELLOWSKY_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_yellow_sky_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEYELLOWSKY_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_yellow_sky_3.bin" -glabel ASSET_TEX3D_DINO_DINOSAURTRACKS -.incbin "./build/us_1.0/assets/textures/3d/dino/dinosaur_tracks.bin" -glabel ASSET_TEX3D_TROPICAL_SANDPATHGRASSY -.incbin "./build/us_1.0/assets/textures/3d/tropical/sand_path_grassy.bin" -glabel ASSET_TEX3D_WINTER_VILLAGEHOUSEWALL -.incbin "./build/us_1.0/assets/textures/3d/winter/village_house_wall.bin" -glabel ASSET_TEX3D_OBJECTS_GOLDTROPHYSLEAVE -.incbin "./build/us_1.0/assets/textures/3d/objects/gold_trophy_sleave.bin" -glabel ASSET_TEX3D_OBJECTS_GOLDSILVERTROPHYMOUTH -.incbin "./build/us_1.0/assets/textures/3d/objects/gold_silver_trophy_mouth.bin" -glabel ASSET_TEX3D_OBJECTS_LIGHTHOUSEBRICKDARK -.incbin "./build/us_1.0/assets/textures/3d/objects/lighthouse_brick_dark.bin" -glabel ASSET_TEX3D_OBJECTS_LIGHTHOUSEBRICK -.incbin "./build/us_1.0/assets/textures/3d/objects/lighthouse_brick.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEPLANETS_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_planets_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEPLANETS_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_planets_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEPLANETS_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_planets_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEPLANETS_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_planets_3.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEPLANETS_4 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_planets_4.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEPLANETS_5 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_planets_5.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEPLANETS_6 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_planets_6.bin" -glabel ASSET_TEX3D_OBJECTS_DOMESKYGRADIENT -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_sky_gradient.bin" -glabel ASSET_TEX3D_OBJECTS_GOLDGRADIENTDARK -.incbin "./build/us_1.0/assets/textures/3d/objects/gold_gradient_dark.bin" -glabel ASSET_TEX3D_OBJECTS_GOLDGRADIENT -.incbin "./build/us_1.0/assets/textures/3d/objects/gold_gradient.bin" -glabel ASSET_TEX3D_OBJECTS_GOLDTROPHYSIGN -.incbin "./build/us_1.0/assets/textures/3d/objects/gold_trophy_sign.bin" -glabel ASSET_TEX3D_COMMON_GRASSCHARSELECT -.incbin "./build/us_1.0/assets/textures/3d/common/grass_charselect.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEGREENBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_green_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIP14 -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship_14.bin" -glabel ASSET_TEX3D_SPACE_SMALLGREENLIGHTS -.incbin "./build/us_1.0/assets/textures/3d/space/small_green_lights.bin" -glabel ASSET_TEX3D_COMMON_HANGINGMOSS4 -.incbin "./build/us_1.0/assets/textures/3d/common/hanging_moss4.bin" -glabel ASSET_TEX3D_SPACE_SPACEPOLEGREEN -.incbin "./build/us_1.0/assets/textures/3d/space/space_pole_green.bin" -glabel ASSET_TEX3D_SPACE_GREENWALLMODULE -.incbin "./build/us_1.0/assets/textures/3d/space/green_wall_module.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIP2SIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship2_side.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIP2CONNECTOR -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship2_connector.bin" -glabel ASSET_TEX3D_SPACE_REDWALLGREENSCREEN -.incbin "./build/us_1.0/assets/textures/3d/space/red_wall_green_screen.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIP2SMALLLIGHTS -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship2_small_lights.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIP214 -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship2_14.bin" -glabel ASSET_TEX3D_COMMON_GREYSTONE -.incbin "./build/us_1.0/assets/textures/3d/common/grey_stone.bin" -glabel ASSET_TEX3D_SPACE_COLOUREDSTONE -.incbin "./build/us_1.0/assets/textures/3d/space/coloured_stone.bin" -glabel ASSET_TEX3D_COMMON_GREYPAVEMENT -.incbin "./build/us_1.0/assets/textures/3d/common/grey_pavement.bin" -glabel ASSET_TEX3D_UNUSED_DOMEUNUSED -.incbin "./build/us_1.0/assets/textures/3d/unused/dome_unused.bin" -glabel ASSET_TEX3D_UNUSED_BETAAIRZIPPER -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_air_zipper.bin" -glabel ASSET_TEX3D_UNUSED_SIGN100 -.incbin "./build/us_1.0/assets/textures/3d/unused/sign_100.bin" -glabel ASSET_TEX3D_WINTER_SNOWWALLSMALL -.incbin "./build/us_1.0/assets/textures/3d/winter/snow_wall_small.bin" -glabel ASSET_TEX3D_WINTER_SNOWWALLLARGE -.incbin "./build/us_1.0/assets/textures/3d/winter/snow_wall_large.bin" -glabel ASSET_TEX3D_UNUSED_UNKNOWNDECAL -.incbin "./build/us_1.0/assets/textures/3d/unused/unknown_decal.bin" -glabel ASSET_TEX3D_UNUSED_UNKNOWNGREENDOTS -.incbin "./build/us_1.0/assets/textures/3d/unused/unknown_green_dots.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEGRASSYHILLS -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_grassy_hills.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEGRASS -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_grass.bin" -glabel ASSET_TEX3D_UNUSED_BETAKRUNCHICON -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_krunch_icon.bin" -glabel ASSET_TEX3D_OBJECTS_DOORLEVELBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/door_level_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_DOORLEVELTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/door_level_top.bin" -glabel ASSET_TEX3D_OBJECTS_DOORLEVELTOPDONE -.incbin "./build/us_1.0/assets/textures/3d/objects/door_level_top_done.bin" -glabel ASSET_TEX3D_UNUSED_DOORLEVELTOPUNUSED -.incbin "./build/us_1.0/assets/textures/3d/unused/door_level_top_unused.bin" -glabel ASSET_TEX3D_OBJECTS_DOORLEVELBOTTOMDONE -.incbin "./build/us_1.0/assets/textures/3d/objects/door_level_bottom_done.bin" -glabel ASSET_TEX3D_UNUSED_DOORLEVELBOTTOMUNUSED -.incbin "./build/us_1.0/assets/textures/3d/unused/door_level_bottom_unused.bin" -glabel ASSET_TEX3D_UNUSED_DOORLEVELBOTTOMUNUSEDQMARK -.incbin "./build/us_1.0/assets/textures/3d/unused/door_level_bottom_unused_qmark.bin" -glabel ASSET_TEX3D_OBJECTS_DOORNUMBERSONESDIGIT -.incbin "./build/us_1.0/assets/textures/3d/objects/door_numbers_ones_digit.bin" -glabel ASSET_TEX3D_OBJECTS_DOORNUMBERSTENSDIGIT -.incbin "./build/us_1.0/assets/textures/3d/objects/door_numbers_tens_digit.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIP2FRONT -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship2_front.bin" -glabel ASSET_TEX3D_OBJECTS_LIGHTHOUSEDOOR -.incbin "./build/us_1.0/assets/textures/3d/objects/lighthouse_door.bin" -glabel ASSET_TEX3D_OBJECTS_LIGHTHOUSEBRICK2 -.incbin "./build/us_1.0/assets/textures/3d/objects/lighthouse_brick2.bin" -glabel ASSET_TEX3D_OBJECTS_LIGHTHOUSEBEACONBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/lighthouse_beacon_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_LIGHTHOUSEROCKETWINGS -.incbin "./build/us_1.0/assets/textures/3d/objects/lighthouse_rocket_wings.bin" -glabel ASSET_TEX3D_OBJECTS_LIGHTHOUSEWINDOW -.incbin "./build/us_1.0/assets/textures/3d/objects/lighthouse_window.bin" -glabel ASSET_TEX3D_COMMON_ELECTRICITYANIMATED -.incbin "./build/us_1.0/assets/textures/3d/common/electricity_animated.bin" -glabel ASSET_TEX3D_OBJECTS_LIGHTHOUSEGLASSWINDOW -.incbin "./build/us_1.0/assets/textures/3d/objects/lighthouse_glass_window.bin" -glabel ASSET_TEX3D_SPACE_GLASSWINDOW2 -.incbin "./build/us_1.0/assets/textures/3d/space/glass_window2.bin" -glabel ASSET_TEX3D_OBJECTS_LOGEND -.incbin "./build/us_1.0/assets/textures/3d/objects/log_end.bin" -glabel ASSET_TEX3D_SPACE_LOOPGUARDRAIL -.incbin "./build/us_1.0/assets/textures/3d/space/loop_guardrail.bin" -glabel ASSET_TEX3D_OBJECTS_MIDIFADE -.incbin "./build/us_1.0/assets/textures/3d/objects/midi_fade.bin" -glabel ASSET_TEX3D_OBJECTS_MISSLEBODY -.incbin "./build/us_1.0/assets/textures/3d/objects/missle_body.bin" -glabel ASSET_TEX3D_OBJECTS_MISSLEBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/missle_back.bin" -glabel ASSET_TEX3D_UNUSED_MODE2 -.incbin "./build/us_1.0/assets/textures/3d/unused/mode2.bin" -glabel ASSET_TEX3D_OBJECTS_MONORAILFRONT -.incbin "./build/us_1.0/assets/textures/3d/objects/monorail_front.bin" -glabel ASSET_TEX3D_OBJECTS_MONORAILRAILSKIRT -.incbin "./build/us_1.0/assets/textures/3d/objects/monorail_rail_skirt.bin" -glabel ASSET_TEX3D_OBJECTS_MONORAILFRONTTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/monorail_front_top.bin" -glabel ASSET_TEX3D_UNUSED_BETAPIPSYICON -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_pipsy_icon.bin" -glabel ASSET_TEX3D_UNUSED_OLDFORESTTREEBARK -.incbin "./build/us_1.0/assets/textures/3d/unused/old_forest_tree_bark.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUETOP -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_blue_top.bin" -glabel ASSET_TEX3D_WINTER_ICETUNNELCEILING -.incbin "./build/us_1.0/assets/textures/3d/winter/ice_tunnel_ceiling.bin" -glabel ASSET_TEX3D_UNUSED_DOMEGREENUNKNOWN -.incbin "./build/us_1.0/assets/textures/3d/unused/dome_green_unknown.bin" -glabel ASSET_TEX3D_OBJECTS_TROPHYSIGNQMARK -.incbin "./build/us_1.0/assets/textures/3d/objects/trophy_sign_qmark.bin" -glabel ASSET_TEX3D_OBJECTS_BUBBLERHEAD -.incbin "./build/us_1.0/assets/textures/3d/objects/bubbler_head.bin" -glabel ASSET_TEX3D_OBJECTS_BUBBLERUNDERSIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/bubbler_underside.bin" -glabel ASSET_TEX3D_DINO_ORANGESTONE3 -.incbin "./build/us_1.0/assets/textures/3d/dino/orange_stone3.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREELEAVES2 -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_tree_leaves2.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREEBARKBROWN2 -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_tree_barkbrown2.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREESHADOW2 -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_tree_shadow2.bin" -glabel ASSET_TEX3D_UNUSED_PAPERCENTER -.incbin "./build/us_1.0/assets/textures/3d/unused/paper_center.bin" -glabel ASSET_TEX3D_UNUSED_PAPEREDGE -.incbin "./build/us_1.0/assets/textures/3d/unused/paper_edge.bin" -glabel ASSET_TEX3D_OBJECTS_SEAMONSTERSPINE -.incbin "./build/us_1.0/assets/textures/3d/objects/seamonster_spine.bin" -glabel ASSET_TEX3D_OBJECTS_DOORWIZPIG_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/door_wizpig_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOORWIZPIG_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/door_wizpig_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOORWIZPIG_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/door_wizpig_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOORWIZPIG_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/door_wizpig_3.bin" -glabel ASSET_TEX3D_COMMON_SEPIASTONE -.incbin "./build/us_1.0/assets/textures/3d/common/sepia_stone.bin" -glabel ASSET_TEX3D_WINTER_WATERFROZEN2 -.incbin "./build/us_1.0/assets/textures/3d/winter/water_frozen2.bin" -glabel ASSET_TEX3D_OBJECTS_GOLDTROPHYEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/gold_trophy_eye.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGMOUNTAINEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_mountain_eye.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGMOUNTAINNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_mountain_nose.bin" -glabel ASSET_TEX3D_OBJECTS_GOLDTROPHYNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/gold_trophy_nose.bin" -glabel ASSET_TEX3D_UNUSED_PROAM64BALLOONLOGO -.incbin "./build/us_1.0/assets/textures/3d/unused/proam64_balloon_logo.bin" -glabel ASSET_TEX3D_COMMON_RAINBOW -.incbin "./build/us_1.0/assets/textures/3d/common/rainbow.bin" -glabel ASSET_TEX3D_COMMON_BLUEDARK -.incbin "./build/us_1.0/assets/textures/3d/common/blue_dark.bin" -glabel ASSET_TEX3D_COMMON_RARELOGOGRAY -.incbin "./build/us_1.0/assets/textures/3d/common/rare_logo_gray.bin" -glabel ASSET_TEX3D_COMMON_RARELOGOGOLD -.incbin "./build/us_1.0/assets/textures/3d/common/rare_logo_gold.bin" -glabel ASSET_TEX3D_OBJECTS_RAREWARE -.incbin "./build/us_1.0/assets/textures/3d/objects/rareware.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIP5 -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship_5.bin" -glabel ASSET_TEX3D_SPACE_REDPATH -.incbin "./build/us_1.0/assets/textures/3d/space/red_path.bin" -glabel ASSET_TEX3D_COMMON_REDYELLOWLAMP -.incbin "./build/us_1.0/assets/textures/3d/common/red_yellow_lamp.bin" -glabel ASSET_TEX3D_SPACE_REDBRICKS -.incbin "./build/us_1.0/assets/textures/3d/space/red_bricks.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIPFRONT -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship_front.bin" -glabel ASSET_TEX3D_DINO_ERODEDCANYONROCKSHADOW -.incbin "./build/us_1.0/assets/textures/3d/dino/eroded_canyon_rock_shadow.bin" -glabel ASSET_TEX3D_TROPICAL_PIRATESHIPROPE -.incbin "./build/us_1.0/assets/textures/3d/tropical/pirateship_rope.bin" -glabel ASSET_TEX3D_COMMON_YELLOWBRICK -.incbin "./build/us_1.0/assets/textures/3d/common/yellow_brick.bin" -glabel ASSET_TEX3D_COMMON_YELLOWSTONEGROUND -.incbin "./build/us_1.0/assets/textures/3d/common/yellow_stone_ground.bin" -glabel ASSET_TEX3D_UNUSED_GRASSSANDYUNKNOWN -.incbin "./build/us_1.0/assets/textures/3d/unused/grass_sandy_unknown.bin" -glabel ASSET_TEX3D_COMMON_GREYPAVEMENTEDGE -.incbin "./build/us_1.0/assets/textures/3d/common/grey_pavement_edge.bin" -glabel ASSET_TEX3D_TROPICAL_YELLOWBRICKTILESANDY -.incbin "./build/us_1.0/assets/textures/3d/tropical/yellow_brick_tile_sandy.bin" -glabel ASSET_TEX3D_WINTER_DARKSTONEWALL -.incbin "./build/us_1.0/assets/textures/3d/winter/dark_stone_wall.bin" -glabel ASSET_TEX3D_DINO_ORANGESTONE4 -.incbin "./build/us_1.0/assets/textures/3d/dino/orange_stone4.bin" -glabel ASSET_TEX3D_DINO_ORANGESTONE5 -.incbin "./build/us_1.0/assets/textures/3d/dino/orange_stone5.bin" -glabel ASSET_TEX3D_UNUSED_PAPERUNKNOWN -.incbin "./build/us_1.0/assets/textures/3d/unused/paper_unknown.bin" -glabel ASSET_TEX3D_OBJECTS_SHIELDLEVEL1 -.incbin "./build/us_1.0/assets/textures/3d/objects/shield_level1.bin" -glabel ASSET_TEX3D_OBJECTS_SHIELDLEVEL2 -.incbin "./build/us_1.0/assets/textures/3d/objects/shield_level2.bin" -glabel ASSET_TEX3D_OBJECTS_SHIELDLEVEL3 -.incbin "./build/us_1.0/assets/textures/3d/objects/shield_level3.bin" -glabel ASSET_TEX3D_UNUSED_SIGNBALLOON -.incbin "./build/us_1.0/assets/textures/3d/unused/sign_balloon.bin" -glabel ASSET_TEX3D_UNUSED_SIGNWHITE -.incbin "./build/us_1.0/assets/textures/3d/unused/sign_white.bin" -glabel ASSET_TEX3D_UNUSED_SIGNYELLOW -.incbin "./build/us_1.0/assets/textures/3d/unused/sign_yellow.bin" -glabel ASSET_TEX3D_OBJECTS_SILVERTROPHYENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/silver_trophy_envmap.bin" -glabel ASSET_TEX3D_UNUSED_SIGN60 -.incbin "./build/us_1.0/assets/textures/3d/unused/sign_60.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/domebluesky5_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/domebluesky5_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/domebluesky5_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/domebluesky5_3.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_4 -.incbin "./build/us_1.0/assets/textures/3d/objects/domebluesky5_4.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_5 -.incbin "./build/us_1.0/assets/textures/3d/objects/domebluesky5_5.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_6 -.incbin "./build/us_1.0/assets/textures/3d/objects/domebluesky5_6.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_7 -.incbin "./build/us_1.0/assets/textures/3d/objects/domebluesky5_7.bin" -glabel ASSET_TEX3D_SPACE_WALLTILELIGHTS2 -.incbin "./build/us_1.0/assets/textures/3d/space/wall_tile_lights2.bin" -glabel ASSET_TEX3D_UNUSED_PAPERDECORATION -.incbin "./build/us_1.0/assets/textures/3d/unused/paper_decoration.bin" -glabel ASSET_TEX3D_SPACE_WALLTILELIGHTSLARGE -.incbin "./build/us_1.0/assets/textures/3d/space/wall_tile_lights_large.bin" -glabel ASSET_TEX3D_WINTER_VILLAGEDOOR -.incbin "./build/us_1.0/assets/textures/3d/winter/village_door.bin" -glabel ASSET_TEX3D_WINTER_HANGINGSNOW5 -.incbin "./build/us_1.0/assets/textures/3d/winter/hanging_snow5.bin" -glabel ASSET_TEX3D_WINTER_WOODENGUARDRAILSNOWY -.incbin "./build/us_1.0/assets/textures/3d/winter/wooden_guardrail_snowy.bin" -glabel ASSET_TEX3D_WINTER_DARKSTONEWALLSNOWY3 -.incbin "./build/us_1.0/assets/textures/3d/winter/dark_stone_wall_snowy3.bin" -glabel ASSET_TEX3D_WINTER_HANGINGSNOW6 -.incbin "./build/us_1.0/assets/textures/3d/winter/hanging_snow6.bin" -glabel ASSET_TEX3D_OBJECTS_SNOWBALLFACE -.incbin "./build/us_1.0/assets/textures/3d/objects/snowball_face.bin" -glabel ASSET_TEX3D_WINTER_SNOW5 -.incbin "./build/us_1.0/assets/textures/3d/winter/snow5.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEPLANETS2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_planets2.bin" -glabel ASSET_TEX3D_SPACE_BLUELIGHTSTONE -.incbin "./build/us_1.0/assets/textures/3d/space/blue_light_stone.bin" -glabel ASSET_TEX3D_SPACE_PURPLEPATH -.incbin "./build/us_1.0/assets/textures/3d/space/purple_path.bin" -glabel ASSET_TEX3D_SPACE_PINKSTONE -.incbin "./build/us_1.0/assets/textures/3d/space/pink_stone.bin" -glabel ASSET_TEX3D_SPACE_ARCHINNER -.incbin "./build/us_1.0/assets/textures/3d/space/arch_inner.bin" -glabel ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN5 -.incbin "./build/us_1.0/assets/textures/3d/unused/spaceship_unknown5.bin" -glabel ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN6 -.incbin "./build/us_1.0/assets/textures/3d/unused/spaceship_unknown6.bin" -glabel ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN7 -.incbin "./build/us_1.0/assets/textures/3d/unused/spaceship_unknown7.bin" -glabel ASSET_TEX3D_COMMON_MOON -.incbin "./build/us_1.0/assets/textures/3d/common/moon.bin" -glabel ASSET_TEX3D_UNUSED_SATURN -.incbin "./build/us_1.0/assets/textures/3d/unused/saturn.bin" -glabel ASSET_TEX3D_UNUSED_SPACESHIPFRONTLOWRES -.incbin "./build/us_1.0/assets/textures/3d/unused/spaceship_front_lowres.bin" -glabel ASSET_TEX3D_OBJECTS_ASTEROID -.incbin "./build/us_1.0/assets/textures/3d/objects/asteroid.bin" -glabel ASSET_TEX3D_COMMON_SUN -.incbin "./build/us_1.0/assets/textures/3d/common/sun.bin" -glabel ASSET_TEX3D_COMMON_SUN2 -.incbin "./build/us_1.0/assets/textures/3d/common/sun2.bin" -glabel ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN8 -.incbin "./build/us_1.0/assets/textures/3d/unused/spaceship_unknown8.bin" -glabel ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN9 -.incbin "./build/us_1.0/assets/textures/3d/unused/spaceship_unknown9.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGORANGE2_0 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_orange2_0.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGORANGE2_1 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_orange2_1.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY_0 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_snowy_0.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY_1 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_snowy_1.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY_2 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_snowy_2.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY_3 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_snowy_3.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY_4 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_snowy_4.bin" -glabel ASSET_TEX3D_COMMON_LEVELNAMEBORDER -.incbin "./build/us_1.0/assets/textures/3d/common/level_name_border.bin" -glabel ASSET_TEX3D_OBJECTS_BRONZETROPHYEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/bronze_trophy_eye.bin" -glabel ASSET_TEX3D_OBJECTS_BRONZETROPHYSMILE -.incbin "./build/us_1.0/assets/textures/3d/objects/bronze_trophy_smile.bin" -glabel ASSET_TEX3D_OBJECTS_BRONZETROPHYSCREW -.incbin "./build/us_1.0/assets/textures/3d/objects/bronze_trophy_screw.bin" -glabel ASSET_TEX3D_OBJECTS_EFFECTBOX -.incbin "./build/us_1.0/assets/textures/3d/objects/effect_box.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEYELLOWSUN -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_yellow_sun.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEBOTTOMSNOW -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_bottom_snow.bin" -glabel ASSET_TEX3D_UNUSED_SEAMONSTERUNKNOWN2 -.incbin "./build/us_1.0/assets/textures/3d/unused/seamonster_unknown2.bin" -glabel ASSET_TEX3D_UNUSED_SEAMONSTERUNKNOWNEYE -.incbin "./build/us_1.0/assets/textures/3d/unused/seamonster_unknown_eye.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEMOONCRESCENT -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_moon_crescent.bin" -glabel ASSET_TEX3D_OBJECTS_LIGHTHOUSEROCKETBOOSTER -.incbin "./build/us_1.0/assets/textures/3d/objects/lighthouse_rocket_booster.bin" -glabel ASSET_TEX3D_UNUSED_BETATIPTUPICON -.incbin "./build/us_1.0/assets/textures/3d/unused/beta_tiptup_icon.bin" -glabel ASSET_TEX3D_DINO_FALLENTREELOGSHADOW -.incbin "./build/us_1.0/assets/textures/3d/dino/fallen_tree_log_shadow.bin" -glabel ASSET_TEX3D_UNUSED_SIGN30 -.incbin "./build/us_1.0/assets/textures/3d/unused/sign_30.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSFACEEYEBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_face_eye_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_TRICKYTOPSEYESOCKET -.incbin "./build/us_1.0/assets/textures/3d/objects/trickytops_eyesocket.bin" -glabel ASSET_TEX3D_DINO_TRICKYTOPSSTATUEEYE -.incbin "./build/us_1.0/assets/textures/3d/dino/trickytops_statue_eye.bin" -glabel ASSET_TEX3D_OBJECTS_BRONZETROPHYDECORATION -.incbin "./build/us_1.0/assets/textures/3d/objects/bronze_trophy_decoration.bin" -glabel ASSET_TEX3D_OBJECTS_GOLDTROPHYDECORATION -.incbin "./build/us_1.0/assets/textures/3d/objects/gold_trophy_decoration.bin" -glabel ASSET_TEX3D_OBJECTS_GOLDTROPHYNUMBER -.incbin "./build/us_1.0/assets/textures/3d/objects/gold_trophy_number.bin" -glabel ASSET_TEX3D_OBJECTS_SILVERTROPHYNUMBER -.incbin "./build/us_1.0/assets/textures/3d/objects/silver_trophy_number.bin" -glabel ASSET_TEX3D_OBJECTS_BRONZETROPHYNUMBER -.incbin "./build/us_1.0/assets/textures/3d/objects/bronze_trophy_number.bin" -glabel ASSET_TEX3D_OBJECTS_SILVERTROPHYDECORATION -.incbin "./build/us_1.0/assets/textures/3d/objects/silver_trophy_decoration.bin" -glabel ASSET_TEX3D_WINTER_BLUEYSTATUEEYE -.incbin "./build/us_1.0/assets/textures/3d/winter/bluey_statue_eye.bin" -glabel ASSET_TEX3D_COMMON_WATER5 -.incbin "./build/us_1.0/assets/textures/3d/common/water5.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_island_coast_0.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_island_coast_1.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_island_coast_2.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_island_coast_3.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_4 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_island_coast_4.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_5 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_island_coast_5.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_6 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_island_coast_6.bin" -glabel ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_7 -.incbin "./build/us_1.0/assets/textures/3d/objects/dome_island_coast_7.bin" -glabel ASSET_TEX3D_OBJECTS_DOORWORLDGATEBACKBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/door_worldgate_back_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_DOORWORLDGATESIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/door_worldgate_side.bin" -glabel ASSET_TEX3D_OBJECTS_DOORWORLDGATEFRONTTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/door_worldgate_front_top.bin" -glabel ASSET_TEX3D_OBJECTS_DOORWORLDGATEFRONTBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/door_worldgate_front_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_DOORWORLDGATEBACKTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/door_worldgate_back_top.bin" -glabel ASSET_TEX3D_OBJECTS_WHALEUNDERSIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/whale_underside.bin" -glabel ASSET_TEX3D_OBJECTS_WHALEFIN -.incbin "./build/us_1.0/assets/textures/3d/objects/whale_fin.bin" -glabel ASSET_TEX3D_OBJECTS_WHALEEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/whale_eye.bin" -glabel ASSET_TEX3D_OBJECTS_WHALEBLOWHOLE -.incbin "./build/us_1.0/assets/textures/3d/objects/whale_blowhole.bin" -glabel ASSET_TEX3D_OBJECTS_WHALEMOUTHTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/whale_mouth_top.bin" -glabel ASSET_TEX3D_OBJECTS_WHALEMOUTHBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/whale_mouth_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_WHALENOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/whale_nose.bin" -glabel ASSET_TEX3D_COMMON_WATERFALL2 -.incbin "./build/us_1.0/assets/textures/3d/common/waterfall2.bin" -glabel ASSET_TEX3D_SPACE_REDGLASSWINDOW -.incbin "./build/us_1.0/assets/textures/3d/space/red_glass_window.bin" -glabel ASSET_TEX3D_OBJECTS_WOODBLOCK -.incbin "./build/us_1.0/assets/textures/3d/objects/wood_block.bin" -glabel ASSET_TEX3D_OBJECTS_WOODSIGN -.incbin "./build/us_1.0/assets/textures/3d/objects/wood_sign.bin" -glabel ASSET_TEX3D_OBJECTS_DOORLEVELSINGLEDONETOP -.incbin "./build/us_1.0/assets/textures/3d/objects/door_level_single_done_top.bin" -glabel ASSET_TEX3D_OBJECTS_DOORLEVELSINGLEDONEBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/door_level_single_done_bottom.bin" -glabel ASSET_TEX3D_UNUSED_DOORLEVELCHECKMARK -.incbin "./build/us_1.0/assets/textures/3d/unused/door_level_checkmark.bin" -glabel ASSET_TEX3D_UNUSED_DOORLEVELDONECHECKMARKTOP -.incbin "./build/us_1.0/assets/textures/3d/unused/door_level_done_checkmark_top.bin" -glabel ASSET_TEX3D_UNUSED_DOORLEVELDONECHECKMARKBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/unused/door_level_done_checkmark_bottom.bin" -glabel ASSET_TEX3D_UNUSED_WOODUNKNOWN -.incbin "./build/us_1.0/assets/textures/3d/unused/wood_unknown.bin" -glabel ASSET_TEX3D_UNUSED_WHALEBAYPROGRAMMERARTSIGN -.incbin "./build/us_1.0/assets/textures/3d/unused/whale_bay_programmer_art_sign.bin" -glabel ASSET_TEX3D_UNUSED_TREASURECAVESPROGRAMMERARTSIGN -.incbin "./build/us_1.0/assets/textures/3d/unused/treasure_caves_programmer_art_sign.bin" -glabel ASSET_TEX3D_UNUSED_CRESCENTISLANDPROGRAMMERARTSIGN -.incbin "./build/us_1.0/assets/textures/3d/unused/crescent_island_programmer_art_sign.bin" -glabel ASSET_TEX3D_UNUSED_PIRATELAGOONPROGRAMMERARTSIGN -.incbin "./build/us_1.0/assets/textures/3d/unused/pirate_lagoon_programmer_art_sign.bin" -glabel ASSET_TEX3D_UNUSED_WOODUNKNOWN2 -.incbin "./build/us_1.0/assets/textures/3d/unused/wood_unknown2.bin" -glabel ASSET_TEX3D_UNUSED_VOLCANOSTONE -.incbin "./build/us_1.0/assets/textures/3d/unused/volcano_stone.bin" -glabel ASSET_TEX3D_OBJECTS_DOORTTICONLEFT -.incbin "./build/us_1.0/assets/textures/3d/objects/door_tt_icon_left.bin" -glabel ASSET_TEX3D_OBJECTS_DOORTTICONRIGHT -.incbin "./build/us_1.0/assets/textures/3d/objects/door_tt_icon_right.bin" -glabel ASSET_TEX3D_OBJECTS_DOORTTTOPRIGHT -.incbin "./build/us_1.0/assets/textures/3d/objects/door_tt_top_right.bin" -glabel ASSET_TEX3D_OBJECTS_DOORTTBOTTOMRIGHT -.incbin "./build/us_1.0/assets/textures/3d/objects/door_tt_bottom_right.bin" -glabel ASSET_TEX3D_OBJECTS_DOORTTTOPRIGHTACTIVE -.incbin "./build/us_1.0/assets/textures/3d/objects/door_tt_top_right_active.bin" -glabel ASSET_TEX3D_OBJECTS_DOORTTBOTTOMRIGHTTOPACTIVE -.incbin "./build/us_1.0/assets/textures/3d/objects/door_tt_bottom_right_top_active.bin" -glabel ASSET_TEX3D_OBJECTS_DOORTTBOTTOMRIGHTACTIVE -.incbin "./build/us_1.0/assets/textures/3d/objects/door_tt_bottom_right_active.bin" -glabel ASSET_TEX3D_OBJECTS_DOORBOSSBOTTOM2 -.incbin "./build/us_1.0/assets/textures/3d/objects/door_boss_bottom2.bin" -glabel ASSET_TEX3D_MEDIEVAL_ROOFTILESHINGLES4 -.incbin "./build/us_1.0/assets/textures/3d/medieval/roof_tile_shingles4.bin" -glabel ASSET_TEX3D_MEDIEVAL_VILLAGEWHITEWALL2 -.incbin "./build/us_1.0/assets/textures/3d/medieval/village_white_wall2.bin" -glabel ASSET_TEX3D_UNUSED_TAJPADSNOW -.incbin "./build/us_1.0/assets/textures/3d/unused/taj_pad_snow.bin" -glabel ASSET_TEX3D_OBJECTS_DOORCHALLENGETOP -.incbin "./build/us_1.0/assets/textures/3d/objects/door_challenge_top.bin" -glabel ASSET_TEX3D_OBJECTS_DOORCHALLENGEBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/door_challenge_bottom.bin" -glabel ASSET_TEX3D_UNUSED_VINESONWOOD -.incbin "./build/us_1.0/assets/textures/3d/unused/vines_on_wood.bin" -glabel ASSET_TEX3D_WINTER_HANGINGICE2 -.incbin "./build/us_1.0/assets/textures/3d/winter/hanging_ice2.bin" -glabel ASSET_TEX3D_UNUSED_UNKNOWNBALCONY -.incbin "./build/us_1.0/assets/textures/3d/unused/unknown_balcony.bin" -glabel ASSET_TEX3D_UNUSED_GROUNDCOBBLE -.incbin "./build/us_1.0/assets/textures/3d/unused/ground_cobble.bin" -glabel ASSET_TEX3D_UNUSED_GREENBRICKWALL -.incbin "./build/us_1.0/assets/textures/3d/unused/green_brick_wall.bin" -glabel ASSET_TEX3D_UNUSED_OLDBRICKWALL -.incbin "./build/us_1.0/assets/textures/3d/unused/old_brick_wall.bin" -glabel ASSET_TEX3D_MEDIEVAL_ORANGEGATETIP -.incbin "./build/us_1.0/assets/textures/3d/medieval/orange_gate_tip.bin" -glabel ASSET_TEX3D_COMMON_SANDWETDRYTRANSITION2 -.incbin "./build/us_1.0/assets/textures/3d/common/sand_wet_dry_transition2.bin" -glabel ASSET_TEX3D_MEDIEVAL_ROOFTILESHINGLES3 -.incbin "./build/us_1.0/assets/textures/3d/medieval/roof_tile_shingles3.bin" -glabel ASSET_TEX3D_MEDIEVAL_STEELGATE -.incbin "./build/us_1.0/assets/textures/3d/medieval/steel_gate.bin" -glabel ASSET_TEX3D_MEDIEVAL_STEELGATETIP -.incbin "./build/us_1.0/assets/textures/3d/medieval/steel_gate_tip.bin" -glabel ASSET_TEX3D_COMMON_DIRTWALLMOSSY -.incbin "./build/us_1.0/assets/textures/3d/common/dirt_wall_mossy.bin" -glabel ASSET_TEX3D_SPACE_BLUELIGHTNINGBOLT -.incbin "./build/us_1.0/assets/textures/3d/space/blue_lightning_bolt.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGSHIPEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpigship_eye.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGSHIPNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpigship_nose.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGSHIPEXHASTBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpigship_exhast_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGSHIPEXHASTTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpigship_exhast_top.bin" -glabel ASSET_TEX3D_OBJECTS_REDSTRIPESFORSPACESHIP -.incbin "./build/us_1.0/assets/textures/3d/objects/red_stripes_for_spaceship.bin" -glabel ASSET_TEX3D_OBJECTS_PARTYPOST_0 -.incbin "./build/us_1.0/assets/textures/3d/objects/party_post_0.bin" -glabel ASSET_TEX3D_OBJECTS_PARTYPOST_1 -.incbin "./build/us_1.0/assets/textures/3d/objects/party_post_1.bin" -glabel ASSET_TEX3D_OBJECTS_PARTYPOST_2 -.incbin "./build/us_1.0/assets/textures/3d/objects/party_post_2.bin" -glabel ASSET_TEX3D_OBJECTS_PARTYPOST_3 -.incbin "./build/us_1.0/assets/textures/3d/objects/party_post_3.bin" -glabel ASSET_TEX3D_OBJECTS_PARTYPOST_4 -.incbin "./build/us_1.0/assets/textures/3d/objects/party_post_4.bin" -glabel ASSET_TEX3D_OBJECTS_PARTYPOST_5 -.incbin "./build/us_1.0/assets/textures/3d/objects/party_post_5.bin" -glabel ASSET_TEX3D_OBJECTS_DOORBOSSTAJTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/door_boss_taj_top.bin" -glabel ASSET_TEX3D_OBJECTS_DOORBOSSTAJBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/door_boss_taj_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_DOORLEVELGBNUMBERTOPRIGHT -.incbin "./build/us_1.0/assets/textures/3d/objects/door_level_gb_number_top_right.bin" -glabel ASSET_TEX3D_OBJECTS_DOORLEVELGBNUMBERTOPLEFT -.incbin "./build/us_1.0/assets/textures/3d/objects/door_level_gb_number_top_left.bin" -glabel ASSET_TEX3D_OBJECTS_DOORLEVELGBNUMBERBOTTOMRIGHT -.incbin "./build/us_1.0/assets/textures/3d/objects/door_level_gb_number_bottom_right.bin" -glabel ASSET_TEX3D_OBJECTS_DOORLEVELGBNUMBERBOTTOMLEFT -.incbin "./build/us_1.0/assets/textures/3d/objects/door_level_gb_number_bottom_left.bin" -glabel ASSET_TEX3D_UNUSED_FORESTBILLBOARD -.incbin "./build/us_1.0/assets/textures/3d/unused/forest_billboard.bin" -glabel ASSET_TEX3D_COMMON_BROWNSTONE2 -.incbin "./build/us_1.0/assets/textures/3d/common/brown_stone2.bin" -glabel ASSET_TEX3D_UNUSED_GREYSTONELARGE -.incbin "./build/us_1.0/assets/textures/3d/unused/grey_stone_large.bin" -glabel ASSET_TEX3D_COMMON_LOGLARGEMOSSY -.incbin "./build/us_1.0/assets/textures/3d/common/log_large_mossy.bin" -glabel ASSET_TEX3D_COMMON_LOGEXPOSEDSIDE4 -.incbin "./build/us_1.0/assets/textures/3d/common/log_exposed_side4.bin" -glabel ASSET_TEX3D_MEDIEVAL_WATERFOUNTAIN -.incbin "./build/us_1.0/assets/textures/3d/medieval/water_fountain.bin" -glabel ASSET_TEX3D_UNUSED_UNKNOWNPURPLE -.incbin "./build/us_1.0/assets/textures/3d/unused/unknown_purple.bin" -glabel ASSET_TEX3D_UNUSED_UNKNOWNRED -.incbin "./build/us_1.0/assets/textures/3d/unused/unknown_red.bin" -glabel ASSET_TEX3D_UNUSED_UNKNOWNRED2 -.incbin "./build/us_1.0/assets/textures/3d/unused/unknown_red2.bin" -glabel ASSET_TEX3D_MEDIEVAL_VILLAGEWHITEWALL3 -.incbin "./build/us_1.0/assets/textures/3d/unused/village_white_wall3.bin" -glabel ASSET_TEX3D_COMMON_WOODGUARDRAILTOP -.incbin "./build/us_1.0/assets/textures/3d/common/wood_guardrail_top.bin" -glabel ASSET_TEX3D_UNUSED_VILLAGEGREYWALL -.incbin "./build/us_1.0/assets/textures/3d/unused/village_grey_wall.bin" -glabel ASSET_TEX3D_MEDIEVAL_VILLAGEWHITEWALL4 -.incbin "./build/us_1.0/assets/textures/3d/medieval/village_white_wall4.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEREDTAPE -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_red_tape.bin" -glabel ASSET_TEX3D_OBJECTS_BLUEYEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/bluey_eye.bin" -glabel ASSET_TEX3D_COMMON_TRANSPARENT2 -.incbin "./build/us_1.0/assets/textures/3d/common/transparent2.bin" -glabel ASSET_TEX3D_UNUSED_GREENCYANGRADIENT -.incbin "./build/us_1.0/assets/textures/3d/unused/green_cyan_gradient.bin" -glabel ASSET_TEX3D_UNUSED_GOLDUNKNOWN -.incbin "./build/us_1.0/assets/textures/3d/unused/gold_unknown.bin" -glabel ASSET_TEX3D_MEDIEVAL_SHRUBBERY -.incbin "./build/us_1.0/assets/textures/3d/medieval/shrubbery.bin" -glabel ASSET_TEX3D_COMMON_CYANYELLOWARROWSIGN2 -.incbin "./build/us_1.0/assets/textures/3d/common/cyan_yellow_arrow_sign2.bin" -glabel ASSET_TEX3D_COMMON_DEBUGYELLOWBLUEINVISIBLE -.incbin "./build/us_1.0/assets/textures/3d/common/debug_yellow_blue_invisible.bin" -glabel ASSET_TEX3D_COMMON_BROWNSTONEGRASSY -.incbin "./build/us_1.0/assets/textures/3d/common/brown_stone_grassy.bin" -glabel ASSET_TEX3D_COMMON_BROWNSTONEGRASSY2 -.incbin "./build/us_1.0/assets/textures/3d/common/brown_stone_grassy2.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGMOUTH -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_mouth.bin" -glabel ASSET_TEX3D_WINTER_WALRUSCOVESIGN -.incbin "./build/us_1.0/assets/textures/3d/winter/walrus_cove_sign.bin" -glabel ASSET_TEX3D_WINTER_EVERFROSTPEAKSIGN -.incbin "./build/us_1.0/assets/textures/3d/winter/everfrost_peak_sign.bin" -glabel ASSET_TEX3D_WINTER_FROSTYVILLAGESIGN -.incbin "./build/us_1.0/assets/textures/3d/winter/frosty_village_sign.bin" -glabel ASSET_TEX3D_WINTER_SNOWBALLVALLEY -.incbin "./build/us_1.0/assets/textures/3d/winter/snowball_valley.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGROBELOWRES -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_robe_lowres.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGSKINLOWRES -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_skin_lowres.bin" -glabel ASSET_TEX3D_COMMON_CYANYELLOWARROWNSIGNWITHBORDER -.incbin "./build/us_1.0/assets/textures/3d/common/cyan_yellow_arrown_sign_with_border.bin" -glabel ASSET_TEX3D_TROPICAL_WHALEBAYSIGN -.incbin "./build/us_1.0/assets/textures/3d/tropical/whale_bay_sign.bin" -glabel ASSET_TEX3D_TROPICAL_TREASURECAVESSIGN -.incbin "./build/us_1.0/assets/textures/3d/tropical/treasure_caves_sign.bin" -glabel ASSET_TEX3D_TROPICAL_CRESCENTISLANDSIGN -.incbin "./build/us_1.0/assets/textures/3d/tropical/crescent_island_sign.bin" -glabel ASSET_TEX3D_TROPICAL_PIRATELAGOONSIGN -.incbin "./build/us_1.0/assets/textures/3d/tropical/pirate_lagoon_sign.bin" -glabel ASSET_TEX3D_OBJECTS_ROCKETENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/rocket_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_WIZPIGBELTLOWRES -.incbin "./build/us_1.0/assets/textures/3d/objects/wizpig_belt_lowres.bin" -glabel ASSET_TEX3D_SPACE_PURPLEWIZPIGSTONEDARK -.incbin "./build/us_1.0/assets/textures/3d/space/purple_wizpig_stone_dark.bin" -glabel ASSET_TEX3D_SPACE_PURPLEWIZPIGSTONE -.incbin "./build/us_1.0/assets/textures/3d/space/purple_wizpig_stone.bin" -glabel ASSET_TEX3D_SPACE_PURPLEWIZPIGSTONEWALL -.incbin "./build/us_1.0/assets/textures/3d/space/purple_wizpig_stone_wall.bin" -glabel ASSET_TEX3D_SPACE_PURPLEWIZPIGSAND -.incbin "./build/us_1.0/assets/textures/3d/space/purple_wizpig_sand.bin" -glabel ASSET_TEX3D_SPACE_WIZPIGCHAIRSEATCUSHION -.incbin "./build/us_1.0/assets/textures/3d/space/wizpig_chair_seat_cushion.bin" -glabel ASSET_TEX3D_SPACE_WIZPIGCHARSEAT -.incbin "./build/us_1.0/assets/textures/3d/space/wizpig_char_seat.bin" -glabel ASSET_TEX3D_OBJECTS_ROCKETENVMAP2 -.incbin "./build/us_1.0/assets/textures/3d/objects/rocket_envmap2.bin" -glabel ASSET_TEX3D_MEDIEVAL_HAUNTEDWOODSIGN -.incbin "./build/us_1.0/assets/textures/3d/medieval/haunted_wood_sign.bin" -glabel ASSET_TEX3D_MEDIEVAL_WINDMILLPLAINSSIGN -.incbin "./build/us_1.0/assets/textures/3d/medieval/windmill_plains_sign.bin" -glabel ASSET_TEX3D_MEDIEVAL_BOULDERCANYONSIGN -.incbin "./build/us_1.0/assets/textures/3d/medieval/boulder_canyon_sign.bin" -glabel ASSET_TEX3D_MEDIEVAL_GREENWOODVILLAGESIGN_0 -.incbin "./build/us_1.0/assets/textures/3d/medieval/greenwood_village_sign_0.bin" -glabel ASSET_TEX3D_MEDIEVAL_GREENWOODVILLAGESIGN_1 -.incbin "./build/us_1.0/assets/textures/3d/medieval/greenwood_village_sign_1.bin" -glabel ASSET_TEX3D_SPACE_SPACEDUSTALLEYSIGN -.incbin "./build/us_1.0/assets/textures/3d/space/spacedust_alley_sign.bin" -glabel ASSET_TEX3D_SPACE_DARKMOONCAVERNSSIGN_0 -.incbin "./build/us_1.0/assets/textures/3d/space/darkmoon_caverns_sign_0.bin" -glabel ASSET_TEX3D_SPACE_DARKMOONCAVERNSSIGN_1 -.incbin "./build/us_1.0/assets/textures/3d/space/darkmoon_caverns_sign_1.bin" -glabel ASSET_TEX3D_UNUSED_TWILIGHTCITYSIGN -.incbin "./build/us_1.0/assets/textures/3d/unused/twilight_city_sign.bin" -glabel ASSET_TEX3D_SPACE_SPACEPORTALPHASIGN -.incbin "./build/us_1.0/assets/textures/3d/space/spaceport_alpha_sign.bin" -glabel ASSET_TEX3D_SPACE_WIZPIGROOMARCHSIDETOP -.incbin "./build/us_1.0/assets/textures/3d/space/wizpig_room_arch_side_top.bin" -glabel ASSET_TEX3D_SPACE_WIZPIGROOMARCHFRONT -.incbin "./build/us_1.0/assets/textures/3d/space/wizpig_room_arch_front.bin" -glabel ASSET_TEX3D_SPACE_WIZPIGROOMARCHBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/space/wizpig_room_arch_bottom.bin" -glabel ASSET_TEX3D_SPACE_WIZPIGROOMARCHSIDEBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/space/wizpig_room_arch_side_bottom.bin" -glabel ASSET_TEX3D_UNUSED_KEITHPIGDOOR -.incbin "./build/us_1.0/assets/textures/3d/unused/keith_pig_door.bin" -glabel ASSET_TEX3D_UNUSED_KEITHPIGDOOR2 -.incbin "./build/us_1.0/assets/textures/3d/unused/keith_pig_door2.bin" -glabel ASSET_TEX3D_UNUSED_KEITHPIGDOOR3 -.incbin "./build/us_1.0/assets/textures/3d/unused/keith_pig_door3.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIPSIDEBOOSTER -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship_side_booster.bin" -glabel ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN -.incbin "./build/us_1.0/assets/textures/3d/unused/spaceship_unknown.bin" -glabel ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN2 -.incbin "./build/us_1.0/assets/textures/3d/unused/spaceship_unknown2.bin" -glabel ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN3 -.incbin "./build/us_1.0/assets/textures/3d/unused/spaceship_unknown3.bin" -glabel ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN4 -.incbin "./build/us_1.0/assets/textures/3d/unused/spaceship_unknown4.bin" -glabel ASSET_TEX3D_SPACE_BIGPLANET -.incbin "./build/us_1.0/assets/textures/3d/space/big_planet.bin" -glabel ASSET_TEX3D_UNUSED_WIZPIGROCKETTRANSPARENT -.incbin "./build/us_1.0/assets/textures/3d/unused/wizpig_rocket_transparent.bin" -glabel ASSET_TEX3D_WINTER_CANDYCANE2 -.incbin "./build/us_1.0/assets/textures/3d/winter/candy_cane2.bin" -glabel ASSET_TEX3D_COMMON_DEBUGREDGREEN -.incbin "./build/us_1.0/assets/textures/3d/common/debug_red_green.bin" -glabel ASSET_TEX3D_COMMON_FIRSTPLACE_0 -.incbin "./build/us_1.0/assets/textures/3d/common/first_place_0.bin" -glabel ASSET_TEX3D_COMMON_FIRSTPLACE_1 -.incbin "./build/us_1.0/assets/textures/3d/common/first_place_1.bin" -glabel ASSET_TEX3D_COMMON_FIRSTPLACE_2 -.incbin "./build/us_1.0/assets/textures/3d/common/first_place_2.bin" -glabel ASSET_TEX3D_COMMON_FIRSTPLACE_3 -.incbin "./build/us_1.0/assets/textures/3d/common/first_place_3.bin" -glabel ASSET_TEX3D_UNUSED_SMALLBOLT -.incbin "./build/us_1.0/assets/textures/3d/unused/small_bolt.bin" -glabel ASSET_TEX3D_UNUSED_LARGEBOLT -.incbin "./build/us_1.0/assets/textures/3d/unused/large_bolt.bin" -glabel ASSET_TEX3D_UNUSED_PURPLEPATH -.incbin "./build/us_1.0/assets/textures/3d/unused/purple_path.bin" -glabel ASSET_TEX3D_UNUSED_PURPLEPATHEDGE -.incbin "./build/us_1.0/assets/textures/3d/unused/purple_path_edge.bin" -glabel ASSET_TEX3D_COMMON_YELLOWBRICKTILE3 -.incbin "./build/us_1.0/assets/textures/3d/common/yellow_brick_tile3.bin" -glabel ASSET_TEX3D_WINTER_HANGINGICE3 -.incbin "./build/us_1.0/assets/textures/3d/winter/hanging_ice3.bin" -glabel ASSET_TEX3D_WINTER_BROWNSTONESNOWY -.incbin "./build/us_1.0/assets/textures/3d/winter/brown_stone_snowy.bin" -glabel ASSET_TEX3D_OBJECTS_GOLDENTAJEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/golden_taj_eye.bin" -glabel ASSET_TEX3D_OBJECTS_YELLOWTRICKYTOPSTOES -.incbin "./build/us_1.0/assets/textures/3d/objects/yellow_trickytops_toes.bin" -glabel ASSET_TEX3D_OBJECTS_YELLOWTRICKYTOPSFRILL -.incbin "./build/us_1.0/assets/textures/3d/objects/yellow_trickytops_frill.bin" -glabel ASSET_TEX3D_OBJECTS_YELLOWTRICKYTOPSBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/yellow_trickytops_back.bin" -glabel ASSET_TEX3D_OBJECTS_PINKTRICKYTOPSTOES -.incbin "./build/us_1.0/assets/textures/3d/objects/pink_trickytops_toes.bin" -glabel ASSET_TEX3D_OBJECTS_PINKTRICKYTOPSUNDERSIDE -.incbin "./build/us_1.0/assets/textures/3d/objects/pink_trickytops_underside.bin" -glabel ASSET_TEX3D_OBJECTS_PINKTRICKYTOPSNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/pink_trickytops_nose.bin" -glabel ASSET_TEX3D_OBJECTS_PINKTRICKYTOPSFRILL -.incbin "./build/us_1.0/assets/textures/3d/objects/pink_trickytops_frill.bin" -glabel ASSET_TEX3D_OBJECTS_PINKTRICKYTOPSBACK -.incbin "./build/us_1.0/assets/textures/3d/objects/pink_trickytops_back.bin" -glabel ASSET_TEX3D_OBJECTS_PINKTRICKYTOPSEYE -.incbin "./build/us_1.0/assets/textures/3d/objects/pink_trickytops_eye.bin" -glabel ASSET_TEX3D_OBJECTS_PINKTRICKYTOPSSKIN -.incbin "./build/us_1.0/assets/textures/3d/objects/pink_trickytops_skin.bin" -glabel ASSET_TEX3D_OBJECTS_MAGNETFX -.incbin "./build/us_1.0/assets/textures/3d/objects/magnetfx.bin" -glabel ASSET_TEX3D_OBJECTS_MINISHIPNOSE -.incbin "./build/us_1.0/assets/textures/3d/objects/miniship_nose.bin" -glabel ASSET_TEX3D_OBJECTS_MINISHIPHULL -.incbin "./build/us_1.0/assets/textures/3d/objects/miniship_hull.bin" -glabel ASSET_TEX3D_OBJECTS_MINISHIPEXHAST -.incbin "./build/us_1.0/assets/textures/3d/objects/miniship_exhast.bin" -glabel ASSET_TEX3D_OBJECTS_MINISHIPBOOSTER -.incbin "./build/us_1.0/assets/textures/3d/objects/miniship_booster.bin" -glabel ASSET_TEX3D_OBJECTS_MINISHIPBOOSTEREXHAST -.incbin "./build/us_1.0/assets/textures/3d/objects/miniship_booster_exhast.bin" -glabel ASSET_TEX3D_SPACE_FANUPDRAFT -.incbin "./build/us_1.0/assets/textures/3d/space/fan_updraft.bin" -glabel ASSET_TEX3D_OBJECTS_N64LOGOYELLOW -.incbin "./build/us_1.0/assets/textures/3d/objects/n64_logo_yellow.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_0 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_0.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_1 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_1.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_2 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_2.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_3 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_3.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_4 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_4.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_5 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_5.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_6 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_6.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_7 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_7.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_8 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_8.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_9 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_9.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_10 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_10.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_11 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_11.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_12 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_12.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_13 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_13.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_14 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_14.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_15 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_15.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_16 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_16.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_17 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_17.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_18 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_18.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_19 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_19.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_20 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_20.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_21 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_21.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_22 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_22.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_23 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_23.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_24 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_24.bin" -glabel ASSET_TEX3D_UNUSED_MENUTEX_25 -.incbin "./build/us_1.0/assets/textures/3d/unused/menu_tex_25.bin" -glabel ASSET_TEX3D_UNUSED_PLANESHADOW -.incbin "./build/us_1.0/assets/textures/3d/unused/plane_shadow.bin" -glabel ASSET_TEX3D_UNUSED_MAGICCARPETSHADOW -.incbin "./build/us_1.0/assets/textures/3d/unused/magic_carpet_shadow.bin" -glabel ASSET_TEX3D_UNUSED_UNKNOWNEFFECT -.incbin "./build/us_1.0/assets/textures/3d/unused/unknown_effect.bin" -glabel ASSET_TEX3D_OBJECTS_TRADEMARK -.incbin "./build/us_1.0/assets/textures/3d/objects/trademark.bin" -glabel ASSET_TEX3D_MEDIEVAL_TANSTONETILE -.incbin "./build/us_1.0/assets/textures/3d/medieval/tanstonetile.bin" -glabel ASSET_TEX3D_WINTER_ICICLEPYRAMIDTOPENTRANCETEXUNKNOWN -.incbin "./build/us_1.0/assets/textures/3d/winter/icicle_pyramid_top_entrance_tex_unknown.bin" -glabel ASSET_TEX3D_SPACE_STARCITYSIGN -.incbin "./build/us_1.0/assets/textures/3d/space/star_city_sign.bin" -glabel ASSET_TEX3D_OBJECTS_LEVELDOORSILVERBALLOONTOPRIGHT -.incbin "./build/us_1.0/assets/textures/3d/objects/level_door_silver_balloon_top_right.bin" -glabel ASSET_TEX3D_OBJECTS_LEVELDOORSILVERBALLOONTOPLEFT -.incbin "./build/us_1.0/assets/textures/3d/objects/level_door_silver_balloon_top_left.bin" -glabel ASSET_TEX3D_OBJECTS_LEVELDOORSILVERBALLOONBOTTOMRIGHT -.incbin "./build/us_1.0/assets/textures/3d/objects/level_door_silver_balloon_bottom_right.bin" -glabel ASSET_TEX3D_OBJECTS_LEVELDOORSILVERBALLOONBOTTOMLEFT -.incbin "./build/us_1.0/assets/textures/3d/objects/level_door_silver_balloon_bottom_left.bin" -glabel ASSET_TEX3D_OBJECTS_LEVELDOORSILVERBALLOONBOTTOMFULLCLEAR -.incbin "./build/us_1.0/assets/textures/3d/objects/level_door_silver_balloon_bottom_fullclear.bin" -glabel ASSET_TEX3D_OBJECTS_LEVELDOORSILVERBALLOONTOPFULLCLEAR -.incbin "./build/us_1.0/assets/textures/3d/objects/level_door_silver_balloon_top_fullclear.bin" -glabel ASSET_TEX3D_OBJECTS_SILVERBALLOONENVMAP -.incbin "./build/us_1.0/assets/textures/3d/objects/silver_balloon_envmap.bin" -glabel ASSET_TEX3D_OBJECTS_LEVELDOORSILVERNUMBERTOP -.incbin "./build/us_1.0/assets/textures/3d/objects/level_door_silver_number_top.bin" -glabel ASSET_TEX3D_OBJECTS_LEVELDOORSILVERNUMBERBOTTOM -.incbin "./build/us_1.0/assets/textures/3d/objects/level_door_silver_number_bottom.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIP3WINDOW -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship3_window.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIP3HULL -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship3_hull.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIP3BOOSTER -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship3_booster.bin" -glabel ASSET_TEX3D_OBJECTS_SPACESHIP3FRONT -.incbin "./build/us_1.0/assets/textures/3d/objects/spaceship3_front.bin" -glabel ASSET_TEX3D_COMMON_YELLOWBRICKTILE4 -.incbin "./build/us_1.0/assets/textures/3d/common/yellow_brick_tile4.bin" -glabel ASSET_TEX3D_COMMON_VOID -.incbin "./build/us_1.0/assets/textures/3d/common/void.bin" -glabel ASSET_TEX3D_COMMON_DEBUGFIREMOUNTAINCEILING -.incbin "./build/us_1.0/assets/textures/3d/common/debug_fire_mountain_ceiling.bin" -glabel ASSET_TEX3D_UNUSED_YELLOWARROWSIGN2 -.incbin "./build/us_1.0/assets/textures/3d/unused/yellow_arrow_sign2.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY2_0 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_snowy2_0.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY2_1 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_snowy2_1.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY2_2 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_snowy2_2.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY2_3 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_snowy2_3.bin" -glabel ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY2_4 -.incbin "./build/us_1.0/assets/textures/3d/common/finish_line_flag_snowy2_4.bin" -glabel ASSET_TEX3D_COMMON_WATERFALL3 -.incbin "./build/us_1.0/assets/textures/3d/common/waterfall3.bin" -glabel ASSET_TEX3D_COMMON_YELLOWBRICKTILE5 -.incbin "./build/us_1.0/assets/textures/3d/common/yellow_brick_tile5.bin" -glabel ASSET_TEX3D_COMMON_REDARROWSIGN4 -.incbin "./build/us_1.0/assets/textures/3d/common/red_arrow_sign4.bin" -glabel ASSET_TEX3D_COMMON_YELLOWBRICKTILE6 -.incbin "./build/us_1.0/assets/textures/3d/common/yellow_brick_tile6.bin" -glabel ASSET_TEX3D_MEDIEVAL_VILLAGEGREYWALL2 -.incbin "./build/us_1.0/assets/textures/3d/medieval/village_grey_wall2.bin" -glabel ASSET_TEX3D_COMMON_YELLOWBRICKTILE7 -.incbin "./build/us_1.0/assets/textures/3d/common/yellow_brick_tile7.bin" -glabel ASSET_TEX3D_COMMON_SAND6 -.incbin "./build/us_1.0/assets/textures/3d/common/sand6.bin" -glabel ASSET_TEX3D_TROPICAL_PALMTREESHADOWLONG -.incbin "./build/us_1.0/assets/textures/3d/tropical/palm_tree_shadow_long.bin" -glabel ASSET_TEX3D_COMMON_DEBUGBLACKWHITE -.incbin "./build/us_1.0/assets/textures/3d/common/debug_black_white.bin" -glabel ASSET_TEX3D_SPACE_RAREWARESIGNNONBLINKING -.incbin "./build/us_1.0/assets/textures/3d/space/rareware_sign_non_blinking.bin" -glabel ASSET_TEXTURES_3D_END - -/********** ASSET_TEXTURES_3D_TABLE **********/ - -.balign 16 -glabel ASSET_TEXTURES_3D_TABLE -.word ASSET_TEX3D_SPACE_WHITEWALL200496 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_GREENWALL337 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLWITHARROW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_NEONROCKETSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WATER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WATER2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_ZIPPER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_CEILINGLIGHTS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLALPHA_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLALPHA_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLBLUELINE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WATER3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WATERSTILL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_REDARROWSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WATER4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_LAVA - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_ZIPPER2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PIRATESHIPTAFFRAIL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_YELLOWARROWSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FLOORTILE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICE2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWYWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_CANDYCANE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_IGLOOBRICK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SAND - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BOOSTLOOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_DIRTWALLSANDY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_DIRTWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_ROCKGUARDRAIL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BLUEYELLOWARROWS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_CASTLEWINDOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_CASTLEBRIDGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_YELLOWSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_YELLOWSTONEHILLSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETADKRLOGO - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_FINISHLINE_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_FINISHLINE_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_FINISHLINE_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_FINISHLINE_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_FINISHLINE_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_CAVEWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_SMOKEYFENCE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_COBBLESTONEFLOOR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_HAY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_HAYEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_SUNKINSHIPFLOORBOARD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICYFLOOR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_WINDMILLBASE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_DIRTTRANSITION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_WHEATFIELD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_CASTLEWALLSWITHSHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_CASTLEWALLS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_CASTLEMERLON - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_ORANGEWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLBRICKS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_PROAM64BALLOONREDLINE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_FOG - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_WINDSAIL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWYREDARROWDOWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_GARDENFENCE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_VILLAGEWHITEWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_HANGINGMOSS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_HANGINGMOSS2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_GRASS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_GRASS2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_UNKNOWNROCKYTEXTURE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_MOSSYROCK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_MOSSYROCK2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWYWALL2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_DEBUGREDYELLOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_DEBUGPURPLE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICE3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SEMITRANSICE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SEMITRANSICE2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SEMITRANSICE3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_TREEBRANCH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICECEILING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_HANGINGICE_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_HANGINGICE_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_HANGINGICE_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_CRYSTAL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_CRYSTALSHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_DOCK64_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_DOCK64_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_DOCK64_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_DOCK64_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_DOCK64_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_DOCK64_5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_DOCK64_6 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_DOCK64_7 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_DOCK64_8 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_DOCK64_9 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_DOCK64_10 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_DOCK64_11 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WOOD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETAN64LOGO_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETAN64LOGO_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_BROWNBRICKTILE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOW2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SEMITRANSICE4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_PORTAL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_STONETILE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_STONETILE2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_BRICKWALLWITHSNOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_BRICKWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WOODPLANKS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PIRATESHIPWOODPLANKS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_LIFEPRESERVERRING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_REDSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_STONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_RARELOGOSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_STONEWALLSANDY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_ARROWSIGNSHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICEBRICKS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICEBRICKSWITHSNOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_HANGINGSNOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_HANGINGSNOW2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_ELEMENTGRADIENT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWTREESBILLBOARD_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWTREESBILLBOARD_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICYSNOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWYFENCE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICYPATH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_JUNGLETREESBILLBOARD_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_JUNGLETREESBILLBOARD_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_MOSSYSHIPPLANKSBROKEN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_MOSSYSHIPPLANKS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_MOSSYSHIPTORNSAIL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PIRATESHIPREARDECORATION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_THATCHROOFING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_HOUSEWINDOWWITHPLANTS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_HOUSEDOOR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_HOUSEROOFSUPPORT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_HOUSEWALLSUPPORT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WHITE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINETAPE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICEBRICKS2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WATERSTILL2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_UNUSEDTRACKSELCTFRAMETEXTURE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SANDDRY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SANDDRYTOWET - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_ANCIENTLAKESIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_LOGEXPOSEDSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_BRICKRAILWITHSNOWEDGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_BRICKRAILWITHSNOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_COLOURFULARROW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BLUEFLOORTILE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PIRATESHIPUNDERSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PIRATESHIPSAILS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PIRATESHIPBOWSPIRIT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SAND2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRACKSELECTFRAMEGOLD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PIRATESHIPCANNON - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_CHAINLINK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINETAPE2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEWATER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINECHEQUEREDREDWHITE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINECHEQUEREDREDYELLOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINECHEQUEREDPURPLEYELLOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_CYANYELLOWARROWSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BLUEYELLOWARROWS2_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BLUEYELLOWARROWS2_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BLUEYELLOWARROWS2_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_TRANSPARENT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_STONEWITHGRASS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_ORANGESTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_THINCLOUD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMECLOUDS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMECLOUDS2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_TEMPLEBRICK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOW3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_TEMPLEBRICKTILE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_CASTLETOWERBLOCK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BRIDGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BRIDGE2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FLASHINGARROW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_METALENVIRONMENTMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_GRASSTRANSITION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_GRASS3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PIRATESHIPGUARDRAIL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WOODBRIDGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWYPATH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_MOSSYOVERLAY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_FOSSILCANYONSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TROPHYCABBASE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_ORANGESTONEWALLHILLSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_BLUESTONEWALLSANDYWITHMOSS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_DIRTBLUESTONETRANSITION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BLUESTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BLUESTONESANDY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_HOTTOPVOLCANOSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_UNKNOWNICYTEXTURE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_TRANSPARENT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_BLUESTONEWALLSANDYHEAVYMOSS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MOSS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_JUNGLEFALLSSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BLINKINGCOMPUTERLIGHTS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_YELLOWHOUSEWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_COLOUREDLAMP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_VOLCANOWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_VOLCANOWALLMAGMATRANSITION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_MAGMAHIGHLINETRANSITION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_VOLCANOWALL2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_YELLOWBRICKTILE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_YELLOWBRICKTILE2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_GRASSUNCOLORED - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BLUEWALLWITHYELLOWARROWS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BLUEWALLSMALLLIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BLUEWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WALLTILELIGHTS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_GRASS4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_GRASS5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_GRASS6 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TROPHYCABEDGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_STONEWALLSNOWY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_BLUESTONEWALLSNOWY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_STONEPATH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESUNSHINING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SANDWATERTRANSITION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_NINTENDOLOGO - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_TANSTONETILE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_ORANGESTONE2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_VOLCANOWALL3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SAND3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD2_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD2_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD2_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD2_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREESBILLBOARD2_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREELEAVES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREEBARKBROWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_ASSETTEX3DTROPICALPALMTREESBILLBOARD3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREEBARKWHITE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREESHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREEBARKWHITE2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_LIGHTSHAFT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_LIGHTSHAFT2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACECOLUMNBLOCKSATURN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_TOWERSPIRE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_SHIPWOODPLANKS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_VINES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_VINES2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_TAJPADGRASS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_TREEBRANCHWITHVINES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_REDCARPET - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_LARGETREELOG - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_TEMPLESTONEDINO - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_WHITEWALLWITHFLAGS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_TOWNCASTLESPRITE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_VILLAGEVIADUCTSHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_DIRTPATH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_PROAM64BALLOONROPE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_SHIPTORNSAIL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_SHIPSAILSHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SANDTRANSITION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SANDUNDERWATER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACECOLUMNBLOCK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_VOLCANOSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_MOONSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_TOWERWINDOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BROWNSTONEBRICK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_SANDWETDRYTRANSITION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_DARKSTONEWALLSNOWY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWTREESBILLBOARDSMALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOW4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_HANGINGSNOW3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_HANGINGSNOW4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_DARKSTONEWALLSNOWY2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWCHARBLUEEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWCHARYELLOWEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWCHARBLUEGOGGLES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_VILLAGEWINDOWLIGHTS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_VILLAGEWINDOWLIGHTSGLOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWCHARNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_CYANSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWTREESBILLBOARDSMALL2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_CYANSTONESNOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_PINKWHITESNOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_PURPLESTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGGREEN_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGGREEN_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGGREEN_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGGREEN_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_STARFISH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGORANGE_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGORANGE_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGORANGE_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGORANGE_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGORANGE_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_FINISHLINEPALMTREESSHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WATERSCROLLING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_FIREMOUNTAINLAVA - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_FIREMOUNTAINREDBASE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_FIREMOUNTAINYELLOWBASE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_FIREMOUNTAINGREENBASE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_FIREMOUNTAINBLUEBASE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BROWNDIRTWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BROWNDIRTWALLHILLTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BROWNDIRTWALLHILLTOPSANDY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_LIGHTSHAFT3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_LAGOONCASTLEMERLON - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_HOUSEGUARDRAILFLAGS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_BLUEFLAG - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_WHITEFLAG - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_YELLOWFLAG - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_VOLCANOCEILINGSHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_LAGOONCASTLEMERLON2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WATERFALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WHITEFENCE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEWHITE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SANDABOVEWATER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WOODBARK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_LAGOONCASTLETILE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACECOLUMNGOLDHORN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SAND4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SAND5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_MAGMAFALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYBROWNFUR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TTPLANEWING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BLUEYNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TAJEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_TOWERBELFRY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_TOWERBELFRY2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_TOWERBASE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_TOWERBASEWINDOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_CARBACKLIGHTSLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERSTRIPES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERFRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERHEADFUR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERGLOVEPLUS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERGOGGLESFRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERREDPILOTCAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERSHOULDERFUR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RACERCOMMONRED - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERHEADFURLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERFACELOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERBACKLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERGOGGLESSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERHEADFURLIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERGOGGLESSIDE2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOBACKPACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOSHORTS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOSHORTSCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOCHEST - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOCHESTCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOHAIRTOPCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOWRISTANKLESCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOEARSHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOEYES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONBANJO_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONBANJO_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONBANJO_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONBANJO_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOSKIN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOCHESTLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOHAIRFUR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOARMFUR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJONECK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJONECKFURBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOBACKLOWESTPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOBACKPACKSTRAPS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOBACKLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RACERCOMMONBLACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TTVEHICLESILVER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUBBLERTENTACLESTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKVEHICLECYAN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BETATIPTUPBALLOONENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOCARENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPCARENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_CONKERSHIRT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BONUS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RACERCOMMONUNDERSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERCAPBRIM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERCAPBRIMCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERHANDS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKVEST - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKBACKLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKBEAK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKFEATHERS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TTAMULETEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETADRUMSTICKBALLOON_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETADRUMSTICKBALLOON_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETADRUMSTICKBALLOON_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETADRUMSTICKBALLOON_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKLOWERBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKFRONTLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKFEETCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKFEATHERS2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKPANTSBOTTOMCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYMOUTHCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKEYES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RACERCOMMONPLANEUNDERSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BLUEYTUXEDOPIECE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_CONKERFUR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_CONKEREYES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_CONKEYMOUTH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_CONKERFURSOLID - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_CONKERSHOESCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_CONKERBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABANJOBALLOONENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RACERCOMMONBREAKLIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOBREAKLIGHT1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOBREAKLIGHT2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOBREAKLIGHT3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOBREAKLIGHT4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOBREAKLIGHT5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_RACERCOMMONPLANEBREAKLIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKSTRAPS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYLOWERBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYLOWERFRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_DIDDYUNKNOWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_DIDDYEYENOBLINK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYCAPSTRAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYCAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYBACKLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYBACKSTAR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYWRIST - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_YELLOWDINOSAURFEET - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GREENDINOSAURUNDERSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_YELLOWDINOSAURNECKTRANSITION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GREENDINOSAURFACESMILE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_YELLOWDINOSAURNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GREENDINOSAURNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GREENDINOSAURSKIN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_YELLOWDINOSAURNECKBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_YELLOWDINOSAURLIMBS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RACERCOMMONSTEERINGWHEEL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYFRONTNECKLOOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYTRICKYTONGUE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYARMSBACKSCALES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYBACKHEADSCALES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYUNDERSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACECOLUMNSMOKEYEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYFEETBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYCHEEK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKSTRAPSLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKYCLOUDS_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKYCLOUDS_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RACERCOMMONCAREXHAUST - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RACERCOMMONCAREXHAUSTLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_EXIT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_STOPWATCHEYE_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_STOPWATCHEYE_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_STOPWATCHEYE_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_FROGBELLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BLUE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPSHELLOUTLINE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONBUMPER_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONBUMPER_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONBUMPER_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONBUMPER_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPEREYES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GOLDENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GOLDENVMAP2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GOLDBALLOONENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GREENENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYCARENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RACERCOMMONPLANETAILLIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERCARENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_DEBUGGRAY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERCAPBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERCAPFRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERCAPTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERHEADFUR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERSTRIPESARMSNECKBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERSTRIPESARMSNECKBACKPLANE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERSTRIPESLIMBSBACKCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLWITHPIPES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYLEGS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_RINGSMETALENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHJACKETSIDES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOTS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHSCUTES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONKRUNCH_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONKRUNCH_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONKRUNCH_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONKRUNCH_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHUNDERSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHEYELOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHSKULL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHTOES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHSKIN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHHEADSIDES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHHEADTOPLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHMOUTH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHBACKLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_EMPTYCARBREAKLIGHTS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_TROPHYRACEFLAG - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYSKIN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TAJTRUNKTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MODE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYEARS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYHEADTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWCHARBOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYBOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYBELLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYSAILORSUIT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYEYES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PTERODACTYLEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPIPSY_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPIPSY_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPIPSY_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPIPSY_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYGLOVES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYARMS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYNOSEWHISKERS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYHEAD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYBACKCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERMOUTHLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GREENDINOSAURINSIDEMOUTH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_STOPWATCHMOUTHWORRIED - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_STOPWATCHMOUTHHAPPY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_STOPWATCHMOUTHOPENMOUTH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERGOGGLESFRONTCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBEREARSLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKCARENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PLAYER1SELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PLAYER2SELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PLAYER3SELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PLAYER4SELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER1_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER1_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER1_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER1_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER2_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER2_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER2_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER2_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER3_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER3_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER3_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER3_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER4_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER4_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER4_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYER4_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_SIGNSHIELD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_COBBLEGROUND - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_YELLOWCOBBLEGROUND - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUBBLERSKINSIDESSMOOTH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUBBLEREYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUBBLERSKINSIDESDOTS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUBBLEREYESOCKET - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPSHELL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHCARENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONKRUNCHENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_TURNSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_YELLOWDINOSAURBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GREENDINOSAURBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGCAPE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGNOSESIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGNOSEFRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGHOOF - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYSKIN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYWINGSOUTLINE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGAMULETNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGHEADEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSMOUTHEDGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGHEADBELOWEARS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGFOREHEAD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGCLOTHES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGJEWELEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGHAIR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGEAR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGHEADMOUTH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSCHEEK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_TRICKYTOPSUNKNOWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSFRILLBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSFRILLFRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSUNDERSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGSKINLINES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSNAPE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGSKIN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_CHARSELECTHILLFENCE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPIPSYENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYCARENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETATAJPAD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETATAJPAD2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TAJSKIN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BLUEYTUSKS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKFEATHERSCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONDRUMSTICKENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TTCLOCKHAND - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TTSCREW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYHEADLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPTOESCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPSHELLBACKCENTER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPFRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPNECK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPFRONTFRAME - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONPLAYERSENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_CONKERCARENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_CONKERBACKLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYBACKLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RACERCOMMONSTEERINGWHEEL2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TTEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_TTEYESTILL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKSTRAPSBUTTONLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKSTRAPSBUTTON - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TTCROWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TTGLOVE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TTMOUTHSMILE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TTRIM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TTSHOE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUBBLERTENTACLESBACKSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYSHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_YELLOWDINOSAUREYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GREENDINOSAUREYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RACERCOMMONBLACK2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERFRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERMOUTH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONTIMBER_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONTIMBER_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONTIMBER_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONTIMBER_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERFACEWHITEFUR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBEREYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSSKINLIMBS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYMOUTH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERFRONTCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERFUR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERFOOT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERBACKLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERCHEEK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERCHEEKPLANE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERCHEEKCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONTIPTUP_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONTIPTUP_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONTIPTUP_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONTIPTUP_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPSKIN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPBACKLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPNAPE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSLIMBS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSBOTTOMLIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSFOREHEAD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_WIZPIGROCKETUNUSEDSHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSTOES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIDESCREEN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RACERCOMMONHOVERBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERHOVERTOPLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPHOVERTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_CONKERHOVERTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOHOVERTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYHOVERTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERHOVERTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHHOVERTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYHOVERTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKHOVERTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERHOVERTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TAJTURBAN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TAJTUSKS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RACERCOMMONREDLOWPOLY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_STOPWATCHFRAMEENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BLUEYSKINENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TAJFRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TAJCHEEK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TAJLIMBS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TAJVEST - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TAJLEGSIDES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BLUEYCHEEK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RACERCOMMONWHITE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKWINGSTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIPTUPPLANEWING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_CONKERPLANEWING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BANJOPLANEWING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DIDDYPLANEWING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TIMBERPLANEWING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_KRUNCHPLANEWING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PIPSYPLANEWING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DRUMSTICKPLANEWING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERPLANEWING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUMPERCARENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABALLOONBUMPERENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_GOLDBALLOONSTRIPES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BROWNDIRTPATH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_FOSSILHOLES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_GREENWALLWITHDIALS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_DIRTWALLSANDY2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLYELLOWARROWDOWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_SPACESHIPEARTH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_VENTFANGRATE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_FANBLADE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEORANGESKY_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEORANGESKY_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEORANGESKY_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEORANGESKY_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_GLASSWINDOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BLINKINGLIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_HANGINGMOSS3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_YELLOWHOUSEFRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_YELLOWHOUSESIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_GREENWALLGRAPH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_GREENWALLTANKS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BLUESTONESANDYMOSSY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_ORANGESTONESANDY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_DEBUGPURPLEHIT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_ARCHSUPPORT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_STARSSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_KILLERINSTINCTSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEORANGESKY2_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEORANGESKY2_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEORANGESKY2_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEORANGESKY2_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BLUEWALLLIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BLUEWALLLIGHT2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BLUEWALLSTRIPES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLBRICKSDETAILS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BLUETUNNELLIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_LILYPADEDGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_BLUEWALLFRAME - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_BLUEWALLWINDOWANDFLAGS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_BLUEWALLWINDOWANDDOOR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_BLUEWALLROPE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEGRASS_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEGRASS_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEGRASS_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEGRASS_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MONORAILN64LOGO - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_TEMPLEBRICK2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLPIPES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_N64LOGOSHIPSAIL_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_N64LOGOSHIPSAIL_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLN64TANK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BLACKUNKNOWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_N64SIGNSQUARE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_SUNNEONSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_STREETROAD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY2_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY2_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY2_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY2_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEDESERT_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEDESERT_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEDESERT_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEDESERT_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_NINTENDOLOGONEGATIVE_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_NINTENDOLOGONEGATIVE_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_NINTENDOLOGONEGATIVE_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_NINTENDOLOGONEGATIVE_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACESTARS_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACESTARS_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACESTARS_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEORANGESKY_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEORANGESKY_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEORANGESKY_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEYELLOWSKY_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEYELLOWSKY_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEYELLOWSKY_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_VILLAGESTONEWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_REDARROWSIGN2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_VILLAGEROOFN64LOGO - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_SKYSCRAPERLIGHTS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLBRICKS2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLN64LOGO - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WOODBRIDGEDARKBROWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_FINISHLINEFLAGBLACKYELLOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY3_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY3_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY3_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY3_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_SPACEGRASS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_CASTLEWALLTILEMOSSY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_VENTFANBORDER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLBLUEPIPE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMETOPBROWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_VILLAGEPLANKFENCE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PTERODACTYLUNDERSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PTERODACTYLNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PTERODACTYLSKIN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PTERODACTYLSPINEHEAD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PTERODACTYLWINGS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_REDWALLSMALLLEVERS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_REDWALLBIGLEVERS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_REDWALLR4300 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_REDWALLCOMPUTER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_ROOFTILESHINGLES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_COLOREDSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_BLUECASTLEMERLON - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_RARESIGNFLASHING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_REDGROUNDARROW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_REDWALLBIGLEVERS2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_ORANGEHOUSEWALLWINDOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_ORANGEHOUSEGUARDRAIL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_ARCHSUPPORTBASE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIPBOOSTER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_REDPILLARSPIKE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_FOSSILBONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLRARELOGO - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_ROOFTILESHINGLESRED - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_ROOFTILESHINGLES2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_CHARSELECTSHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BLUEPAVEMENT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESUNRAYS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_DIRTROADSANDY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKYISLAND - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLACKBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_6 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_7 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_8 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_9 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_10 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHT_11 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BLACKSEMITRANSPARENT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIPBLASTER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEVOLCANO_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEVOLCANO_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEVOLCANO_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEVOLCANO_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEVOLCANO_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEVOLCANO_5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEVOLCANO_6 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEVOLCANO_7 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEVOLCANO_8 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEVOLCANO_9 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEVOLCANO_10 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEVOLCANO_11 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESNOWYNIGHTTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICYPATHSNOWY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_SPACEWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_6 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_7 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_8 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_9 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_10 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_11 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_12 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_13 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_14 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_15 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_16 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_17 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_18 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEBLUE_19 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_FINISHLINEWHITESPACE_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_FINISHLINEWHITESPACE_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLBLOCKSLARGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FOGWHITE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_FINISHLINESPACE2_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_FINISHLINESPACE2_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_STADIUMLIGHTS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEPINK_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEPINK_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEPINK_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEPINK_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESPACEPINKTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLSMALLYELLOWARROW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLVENT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_POLE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BUILDINGEDGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_ANCIENTSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEORANGESKY3_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEORANGESKY3_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEORANGESKY3_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEORANGESKY3_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLBLUETANKS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_TREETRUNKSWOODS_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_TREETRUNKSWOODS_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_TREETRUNKSWOODS_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_THATCHROOFING2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_VILLAGEDOORROUND - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_WHITEHOUSEWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_WHITEHOUSEWALLWINDOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_UTURN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICYWATERFALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLSCREEN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SILVERTROPHYEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY4_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY4_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_VILLAGEWHITEWALL5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WHITEWALLSTEELCYLINDER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_CITYLIGHTSYELLOWWHITE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETABUMPERICON - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_LOGEXPOSEDSIDE2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_LOGBARK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_LOGBARK2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_LOGEXPOSEDSIDE3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMECOAST_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMECOAST_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMECOAST_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMECOAST_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMECOAST_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMECOAST_5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMECOAST_6 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMECOAST_7 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_REDARROWSIGN3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_REDSPACESHIP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_UNKNOWNSIGNTEXTURE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_ARROWNEONFLASHING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PIRATESHIPTRIM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORBOSSTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORBOSSBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORBOSSWIZPIGDECO - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_WATERFROZEN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BRONZETROPHYENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BROWNSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MAGICCARPETMIDDLE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MAGICCARPETEDGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RAREWARELOGOGOLD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETATTDOORTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETATTDOORBOTTON - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_CHECKPOINT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETADRUMSTICKICON - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESUN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_N64LOGOBLUE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_ORANGEWOOD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_N64LOGOGREEN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SEAMONSTEREYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SEAMONSTERUNKNOWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_YELLOWDINOSAURUNDERSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SEAMONSTERUNDERSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SEAMONSTERHEADBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SEAMONSTERCHEEK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_YELLOWDINOSAURCHEEK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SEAMONSTERNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SEAMONSTERHEADTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_YELLOWDINOSAURMOUTH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_YELLOWDINOSAUREYEBROWS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYEARS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SMOKEYHEADTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_N64LOGORED - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BLUESTONEFLOOR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_EXITSIGNSMALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_EXITSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_WOODGUARDRAIL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICYPINKWALLSNOWY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_FOG2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEYELLOWSKY_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEYELLOWSKY_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEYELLOWSKY_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEYELLOWSKY_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_DINOSAURTRACKS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_SANDPATHGRASSY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_VILLAGEHOUSEWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GOLDTROPHYSLEAVE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GOLDSILVERTROPHYMOUTH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LIGHTHOUSEBRICKDARK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LIGHTHOUSEBRICK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEPLANETS_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEPLANETS_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEPLANETS_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEPLANETS_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEPLANETS_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEPLANETS_5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEPLANETS_6 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMESKYGRADIENT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GOLDGRADIENTDARK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GOLDGRADIENT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GOLDTROPHYSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_GRASSCHARSELECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEGREENBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIP14 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_SMALLGREENLIGHTS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_HANGINGMOSS4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_SPACEPOLEGREEN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_GREENWALLMODULE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIP2SIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIP2CONNECTOR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_REDWALLGREENSCREEN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIP2SMALLLIGHTS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIP214 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_GREYSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_COLOUREDSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_GREYPAVEMENT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_DOMEUNUSED - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETAAIRZIPPER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SIGN100 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWWALLSMALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWWALLLARGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_UNKNOWNDECAL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_UNKNOWNGREENDOTS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEGRASSYHILLS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEGRASS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETAKRUNCHICON - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORLEVELBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORLEVELTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORLEVELTOPDONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_DOORLEVELTOPUNUSED - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORLEVELBOTTOMDONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_DOORLEVELBOTTOMUNUSED - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_DOORLEVELBOTTOMUNUSEDQMARK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORNUMBERSONESDIGIT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORNUMBERSTENSDIGIT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIP2FRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LIGHTHOUSEDOOR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LIGHTHOUSEBRICK2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LIGHTHOUSEBEACONBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LIGHTHOUSEROCKETWINGS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LIGHTHOUSEWINDOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_ELECTRICITYANIMATED - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LIGHTHOUSEGLASSWINDOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_GLASSWINDOW2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LOGEND - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_LOOPGUARDRAIL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MIDIFADE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MISSLEBODY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MISSLEBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MODE2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MONORAILFRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MONORAILRAILSKIRT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MONORAILFRONTTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETAPIPSYICON - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_OLDFORESTTREEBARK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUETOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICETUNNELCEILING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_DOMEGREENUNKNOWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TROPHYSIGNQMARK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUBBLERHEAD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BUBBLERUNDERSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_ORANGESTONE3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREELEAVES2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREEBARKBROWN2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREESHADOW2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_PAPERCENTER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_PAPEREDGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SEAMONSTERSPINE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORWIZPIG_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORWIZPIG_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORWIZPIG_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORWIZPIG_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SEPIASTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_WATERFROZEN2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GOLDTROPHYEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGMOUNTAINEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGMOUNTAINNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GOLDTROPHYNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_PROAM64BALLOONLOGO - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_RAINBOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BLUEDARK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_RARELOGOGRAY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_RARELOGOGOLD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_RAREWARE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIP5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_REDPATH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_REDYELLOWLAMP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_REDBRICKS - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIPFRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_ERODEDCANYONROCKSHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PIRATESHIPROPE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_YELLOWBRICK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_YELLOWSTONEGROUND - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_GRASSSANDYUNKNOWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_GREYPAVEMENTEDGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_YELLOWBRICKTILESANDY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_DARKSTONEWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_ORANGESTONE4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_ORANGESTONE5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_PAPERUNKNOWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SHIELDLEVEL1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SHIELDLEVEL2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SHIELDLEVEL3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SIGNBALLOON - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SIGNWHITE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SIGNYELLOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SILVERTROPHYENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SIGN60 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_6 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBLUESKY5_7 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WALLTILELIGHTS2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_PAPERDECORATION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WALLTILELIGHTSLARGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_VILLAGEDOOR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_HANGINGSNOW5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_WOODENGUARDRAILSNOWY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_DARKSTONEWALLSNOWY3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_HANGINGSNOW6 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SNOWBALLFACE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOW5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEPLANETS2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BLUELIGHTSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_PURPLEPATH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_PINKSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_ARCHINNER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN6 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN7 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_MOON - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SATURN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SPACESHIPFRONTLOWRES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_ASTEROID - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SUN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SUN2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN8 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN9 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGORANGE2_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGORANGE2_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_LEVELNAMEBORDER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BRONZETROPHYEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BRONZETROPHYSMILE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BRONZETROPHYSCREW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_EFFECTBOX - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEYELLOWSUN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEBOTTOMSNOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SEAMONSTERUNKNOWN2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SEAMONSTERUNKNOWNEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEMOONCRESCENT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LIGHTHOUSEROCKETBOOSTER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_BETATIPTUPICON - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_FALLENTREELOGSHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SIGN30 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSFACEEYEBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRICKYTOPSEYESOCKET - ASSET_TEXTURES_3D -.word ASSET_TEX3D_DINO_TRICKYTOPSSTATUEEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BRONZETROPHYDECORATION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GOLDTROPHYDECORATION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GOLDTROPHYNUMBER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SILVERTROPHYNUMBER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BRONZETROPHYNUMBER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SILVERTROPHYDECORATION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_BLUEYSTATUEEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WATER5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_6 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOMEISLANDCOAST_7 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORWORLDGATEBACKBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORWORLDGATESIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORWORLDGATEFRONTTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORWORLDGATEFRONTBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORWORLDGATEBACKTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WHALEUNDERSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WHALEFIN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WHALEEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WHALEBLOWHOLE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WHALEMOUTHTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WHALEMOUTHBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WHALENOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WATERFALL2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_REDGLASSWINDOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WOODBLOCK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WOODSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORLEVELSINGLEDONETOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORLEVELSINGLEDONEBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_DOORLEVELCHECKMARK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_DOORLEVELDONECHECKMARKTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_DOORLEVELDONECHECKMARKBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_WOODUNKNOWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_WHALEBAYPROGRAMMERARTSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_TREASURECAVESPROGRAMMERARTSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_CRESCENTISLANDPROGRAMMERARTSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_PIRATELAGOONPROGRAMMERARTSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_WOODUNKNOWN2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_VOLCANOSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORTTICONLEFT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORTTICONRIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORTTTOPRIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORTTBOTTOMRIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORTTTOPRIGHTACTIVE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORTTBOTTOMRIGHTTOPACTIVE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORTTBOTTOMRIGHTACTIVE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORBOSSBOTTOM2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_ROOFTILESHINGLES4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_VILLAGEWHITEWALL2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_TAJPADSNOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORCHALLENGETOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORCHALLENGEBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_VINESONWOOD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_HANGINGICE2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_UNKNOWNBALCONY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_GROUNDCOBBLE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_GREENBRICKWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_OLDBRICKWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_ORANGEGATETIP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SANDWETDRYTRANSITION2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_ROOFTILESHINGLES3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_STEELGATE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_STEELGATETIP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_DIRTWALLMOSSY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BLUELIGHTNINGBOLT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGSHIPEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGSHIPNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGSHIPEXHASTBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGSHIPEXHASTTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_REDSTRIPESFORSPACESHIP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PARTYPOST_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PARTYPOST_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PARTYPOST_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PARTYPOST_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PARTYPOST_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PARTYPOST_5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORBOSSTAJTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORBOSSTAJBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORLEVELGBNUMBERTOPRIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORLEVELGBNUMBERTOPLEFT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORLEVELGBNUMBERBOTTOMRIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_DOORLEVELGBNUMBERBOTTOMLEFT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_FORESTBILLBOARD - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BROWNSTONE2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_GREYSTONELARGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_LOGLARGEMOSSY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_LOGEXPOSEDSIDE4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_WATERFOUNTAIN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_UNKNOWNPURPLE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_UNKNOWNRED - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_UNKNOWNRED2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_VILLAGEWHITEWALL3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WOODGUARDRAILTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_VILLAGEGREYWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_VILLAGEWHITEWALL4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEREDTAPE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_BLUEYEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_TRANSPARENT2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_GREENCYANGRADIENT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_GOLDUNKNOWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_SHRUBBERY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_CYANYELLOWARROWSIGN2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_DEBUGYELLOWBLUEINVISIBLE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BROWNSTONEGRASSY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_BROWNSTONEGRASSY2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGMOUTH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_WALRUSCOVESIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_EVERFROSTPEAKSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_FROSTYVILLAGESIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_SNOWBALLVALLEY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGROBELOWRES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGSKINLOWRES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_CYANYELLOWARROWNSIGNWITHBORDER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_WHALEBAYSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_TREASURECAVESSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_CRESCENTISLANDSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PIRATELAGOONSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_ROCKETENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_WIZPIGBELTLOWRES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_PURPLEWIZPIGSTONEDARK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_PURPLEWIZPIGSTONE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_PURPLEWIZPIGSTONEWALL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_PURPLEWIZPIGSAND - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WIZPIGCHAIRSEATCUSHION - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WIZPIGCHARSEAT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_ROCKETENVMAP2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_HAUNTEDWOODSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_WINDMILLPLAINSSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_BOULDERCANYONSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_GREENWOODVILLAGESIGN_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_GREENWOODVILLAGESIGN_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_SPACEDUSTALLEYSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_DARKMOONCAVERNSSIGN_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_DARKMOONCAVERNSSIGN_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_TWILIGHTCITYSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_SPACEPORTALPHASIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WIZPIGROOMARCHSIDETOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WIZPIGROOMARCHFRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WIZPIGROOMARCHBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_WIZPIGROOMARCHSIDEBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_KEITHPIGDOOR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_KEITHPIGDOOR2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_KEITHPIGDOOR3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIPSIDEBOOSTER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SPACESHIPUNKNOWN4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_BIGPLANET - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_WIZPIGROCKETTRANSPARENT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_CANDYCANE2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_DEBUGREDGREEN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FIRSTPLACE_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FIRSTPLACE_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FIRSTPLACE_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FIRSTPLACE_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_SMALLBOLT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_LARGEBOLT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_PURPLEPATH - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_PURPLEPATHEDGE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_YELLOWBRICKTILE3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_HANGINGICE3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_BROWNSTONESNOWY - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_GOLDENTAJEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_YELLOWTRICKYTOPSTOES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_YELLOWTRICKYTOPSFRILL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_YELLOWTRICKYTOPSBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PINKTRICKYTOPSTOES - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PINKTRICKYTOPSUNDERSIDE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PINKTRICKYTOPSNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PINKTRICKYTOPSFRILL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PINKTRICKYTOPSBACK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PINKTRICKYTOPSEYE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_PINKTRICKYTOPSSKIN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MAGNETFX - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MINISHIPNOSE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MINISHIPHULL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MINISHIPEXHAST - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MINISHIPBOOSTER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_MINISHIPBOOSTEREXHAST - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_FANUPDRAFT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_N64LOGOYELLOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_6 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_7 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_8 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_9 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_10 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_11 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_12 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_13 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_14 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_15 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_16 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_17 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_18 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_19 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_20 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_21 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_22 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_23 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_24 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MENUTEX_25 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_PLANESHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_MAGICCARPETSHADOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_UNKNOWNEFFECT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_TRADEMARK - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_TANSTONETILE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_WINTER_ICICLEPYRAMIDTOPENTRANCETEXUNKNOWN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_STARCITYSIGN - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LEVELDOORSILVERBALLOONTOPRIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LEVELDOORSILVERBALLOONTOPLEFT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LEVELDOORSILVERBALLOONBOTTOMRIGHT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LEVELDOORSILVERBALLOONBOTTOMLEFT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LEVELDOORSILVERBALLOONBOTTOMFULLCLEAR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LEVELDOORSILVERBALLOONTOPFULLCLEAR - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SILVERBALLOONENVMAP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LEVELDOORSILVERNUMBERTOP - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_LEVELDOORSILVERNUMBERBOTTOM - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIP3WINDOW - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIP3HULL - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIP3BOOSTER - ASSET_TEXTURES_3D -.word ASSET_TEX3D_OBJECTS_SPACESHIP3FRONT - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_YELLOWBRICKTILE4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_VOID - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_DEBUGFIREMOUNTAINCEILING - ASSET_TEXTURES_3D -.word ASSET_TEX3D_UNUSED_YELLOWARROWSIGN2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY2_0 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY2_1 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY2_2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY2_3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_FINISHLINEFLAGSNOWY2_4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_WATERFALL3 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_YELLOWBRICKTILE5 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_REDARROWSIGN4 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_YELLOWBRICKTILE6 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_MEDIEVAL_VILLAGEGREYWALL2 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_YELLOWBRICKTILE7 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_SAND6 - ASSET_TEXTURES_3D -.word ASSET_TEX3D_TROPICAL_PALMTREESHADOWLONG - ASSET_TEXTURES_3D -.word ASSET_TEX3D_COMMON_DEBUGBLACKWHITE - ASSET_TEXTURES_3D -.word ASSET_TEX3D_SPACE_RAREWARESIGNNONBLINKING - ASSET_TEXTURES_3D -.word ASSET_TEXTURES_3D_END - ASSET_TEXTURES_3D -.word 0xFFFFFFFF -glabel ASSET_TEXTURES_3D_TABLE_END - -/********** ASSET_TEXTURES_2D **********/ - -.balign 16 -glabel ASSET_TEXTURES_2D -glabel ASSET_TEX2D_SMALLFONT_0 -.incbin "./build/us_1.0/assets/textures/2d/font/smallfont/smallfont_0.bin" -glabel ASSET_TEX2D_SMALLFONT_1 -.incbin "./build/us_1.0/assets/textures/2d/font/smallfont/smallfont_1.bin" -glabel ASSET_TEX2D_SMALLFONT_2 -.incbin "./build/us_1.0/assets/textures/2d/font/smallfont/smallfont_2.bin" -glabel ASSET_TEX2D_HUD_RETICLESQUARE -.incbin "./build/us_1.0/assets/textures/2d/hud/reticle_square.bin" -glabel ASSET_TEX2D_HUD_RETICLECIRCLE -.incbin "./build/us_1.0/assets/textures/2d/hud/reticle_circle.bin" -glabel ASSET_TEX2D_HUD_RETICLEX -.incbin "./build/us_1.0/assets/textures/2d/hud/reticle_x.bin" -glabel ASSET_TEX2D_UNUSED_CAROUTLINE -.incbin "./build/us_1.0/assets/textures/2d/unused/car_outline.bin" -glabel ASSET_TEX2D_UNUSED_TRANSPARENT -.incbin "./build/us_1.0/assets/textures/2d/unused/transparent.bin" -glabel ASSET_TEX2D_SHADOW_CAR -.incbin "./build/us_1.0/assets/textures/2d/shadow/car.bin" -glabel ASSET_TEX2D_SHADOW_CIRCLE -.incbin "./build/us_1.0/assets/textures/2d/shadow/circle.bin" -glabel ASSET_TEX2D_SHADOW_PLANE -.incbin "./build/us_1.0/assets/textures/2d/shadow/plane.bin" -glabel ASSET_TEX2D_SHADOW_MAGICCARPET -.incbin "./build/us_1.0/assets/textures/2d/shadow/magic_carpet.bin" -glabel ASSET_TEX2D_SHADOW_WIZPIGROCKET -.incbin "./build/us_1.0/assets/textures/2d/shadow/wizpig_rocket.bin" -glabel ASSET_TEX2D_SHADOW_UNKNOWN -.incbin "./build/us_1.0/assets/textures/2d/shadow/unknown.bin" -glabel ASSET_TEX2D_SHADOW_PTERODACTYL -.incbin "./build/us_1.0/assets/textures/2d/shadow/pterodactyl.bin" -glabel ASSET_TEX2D_SHADOW_SMOKEY -.incbin "./build/us_1.0/assets/textures/2d/shadow/smokey.bin" -glabel ASSET_TEX2D_OBJECTS_GROUNDZIPPER -.incbin "./build/us_1.0/assets/textures/2d/objects/ground_zipper.bin" -glabel ASSET_TEX2D_MINIMAP_FOSSILCANYON -.incbin "./build/us_1.0/assets/textures/2d/minimap/fossil_canyon.bin" -glabel ASSET_TEX2D_MINIMAP_ANCIENTLAKE -.incbin "./build/us_1.0/assets/textures/2d/minimap/ancient_lake.bin" -glabel ASSET_TEX2D_MINIMAP_PIRATELAGOON -.incbin "./build/us_1.0/assets/textures/2d/minimap/pirate_lagoon.bin" -glabel ASSET_TEX2D_MINIMAP_WHALEBAY -.incbin "./build/us_1.0/assets/textures/2d/minimap/whale_bay.bin" -glabel ASSET_TEX2D_MINIMAP_SNOWBALLVALLEY -.incbin "./build/us_1.0/assets/textures/2d/minimap/snowball_valley.bin" -glabel ASSET_TEX2D_MINIMAP_HOTTOPVOLCANO -.incbin "./build/us_1.0/assets/textures/2d/minimap/hot_top_volcano.bin" -glabel ASSET_TEX2D_MINIMAP_CRESCENTISLAND -.incbin "./build/us_1.0/assets/textures/2d/minimap/crescent_island.bin" -glabel ASSET_TEX2D_MINIMAP_UNUSED -.incbin "./build/us_1.0/assets/textures/2d/minimap/unused.bin" -glabel ASSET_TEX2D_MINIMAP_EVERFROSTPEAK -.incbin "./build/us_1.0/assets/textures/2d/minimap/everfrost_peak.bin" -glabel ASSET_TEX2D_MINIMAP_UNUSED2 -.incbin "./build/us_1.0/assets/textures/2d/minimap/unused2.bin" -glabel ASSET_TEX2D_MINIMAP_WALRUSCOVE -.incbin "./build/us_1.0/assets/textures/2d/minimap/walrus_cove.bin" -glabel ASSET_TEX2D_MINIMAP_UNUSED3 -.incbin "./build/us_1.0/assets/textures/2d/minimap/unused3.bin" -glabel ASSET_TEX2D_MINIMAP_BOULDERCANYON -.incbin "./build/us_1.0/assets/textures/2d/minimap/boulder_canyon.bin" -glabel ASSET_TEX2D_MINIMAP_SMOKEYCASTLE -.incbin "./build/us_1.0/assets/textures/2d/minimap/smokey_castle.bin" -glabel ASSET_TEX2D_MINIMAP_CENTRALAREA -.incbin "./build/us_1.0/assets/textures/2d/minimap/central_area.bin" -glabel ASSET_TEX2D_MINIMAP_FIREMOUNTAIN -.incbin "./build/us_1.0/assets/textures/2d/minimap/fire_mountain.bin" -glabel ASSET_TEX2D_MINIMAP_SPACEPORTALPHA -.incbin "./build/us_1.0/assets/textures/2d/minimap/space_port_alpha.bin" -glabel ASSET_TEX2D_MINIMAP_SPACEDUSTALLEY -.incbin "./build/us_1.0/assets/textures/2d/minimap/spacedust_alley.bin" -glabel ASSET_TEX2D_MINIMAP_TREASURECAVES -.incbin "./build/us_1.0/assets/textures/2d/minimap/treasure_caves.bin" -glabel ASSET_TEX2D_MINIMAP_GREENWOODVILLAGE -.incbin "./build/us_1.0/assets/textures/2d/minimap/greenwood_village.bin" -glabel ASSET_TEX2D_MINIMAP_DARKMOONCAVERNS -.incbin "./build/us_1.0/assets/textures/2d/minimap/darkmoon_caverns.bin" -glabel ASSET_TEX2D_MINIMAP_STARCITY -.incbin "./build/us_1.0/assets/textures/2d/minimap/star_city.bin" -glabel ASSET_TEX2D_MINIMAP_WINDMILLPLAINS -.incbin "./build/us_1.0/assets/textures/2d/minimap/windmill_plains.bin" -glabel ASSET_TEX2D_MINIMAP_FROSTYVILLAGE -.incbin "./build/us_1.0/assets/textures/2d/minimap/frosty_village.bin" -glabel ASSET_TEX2D_MINIMAP_DARKWATERBEACH -.incbin "./build/us_1.0/assets/textures/2d/minimap/darkwater_beach.bin" -glabel ASSET_TEX2D_MINIMAP_JUNGLEFALLS -.incbin "./build/us_1.0/assets/textures/2d/minimap/jungle_falls.bin" -glabel ASSET_TEX2D_MINIMAP_ICICLEPYRAMID -.incbin "./build/us_1.0/assets/textures/2d/minimap/icicle_pyramid.bin" -glabel ASSET_TEX2D_MINIMAP_HAUNTEDWOODS -.incbin "./build/us_1.0/assets/textures/2d/minimap/haunted_woods.bin" -glabel ASSET_TEX2D_MINIMAP_BLUEY -.incbin "./build/us_1.0/assets/textures/2d/minimap/bluey.bin" -glabel ASSET_TEX2D_MINIMAP_BUBBLER -.incbin "./build/us_1.0/assets/textures/2d/minimap/bubbler.bin" -glabel ASSET_TEX2D_MINIMAP_SMOKEY -.incbin "./build/us_1.0/assets/textures/2d/minimap/smokey.bin" -glabel ASSET_TEX2D_MINIMAP_TRICKYTOPS -.incbin "./build/us_1.0/assets/textures/2d/minimap/trickytops.bin" -glabel ASSET_TEX2D_MINIMAP_WIZPIG1 -.incbin "./build/us_1.0/assets/textures/2d/minimap/wizpig1.bin" -glabel ASSET_TEX2D_MINIMAP_WIZPIG2 -.incbin "./build/us_1.0/assets/textures/2d/minimap/wizpig2.bin" -glabel ASSET_TEX2D_WEATHER_SNOWFLAKE -.incbin "./build/us_1.0/assets/textures/2d/weather/snowflake.bin" -glabel ASSET_TEX2D_WEATHER_RAIN -.incbin "./build/us_1.0/assets/textures/2d/weather/rain.bin" -glabel ASSET_TEX2D_WEATHER_UNKNOWN -.incbin "./build/us_1.0/assets/textures/2d/weather/unknown.bin" -glabel ASSET_TEX2D_WEATHER_RAINDROP_0 -.incbin "./build/us_1.0/assets/textures/2d/weather/rain_drop_0.bin" -glabel ASSET_TEX2D_WEATHER_RAINDROP_1 -.incbin "./build/us_1.0/assets/textures/2d/weather/rain_drop_1.bin" -glabel ASSET_TEX2D_WEATHER_RAINDROP_2 -.incbin "./build/us_1.0/assets/textures/2d/weather/rain_drop_2.bin" -glabel ASSET_TEX2D_WEATHER_RAINDROP_3 -.incbin "./build/us_1.0/assets/textures/2d/weather/rain_drop_3.bin" -glabel ASSET_TEX2D_WEATHER_RAINDROP_4 -.incbin "./build/us_1.0/assets/textures/2d/weather/rain_drop_4.bin" -glabel ASSET_TEX2D_WEATHER_SNOWFLAKE2 -.incbin "./build/us_1.0/assets/textures/2d/weather/snowflake2.bin" -glabel ASSET_TEX2D_PARTICLE_SMOKE -.incbin "./build/us_1.0/assets/textures/2d/particles/smoke.bin" -glabel ASSET_TEX2D_PARTICLE_SMOKE2 -.incbin "./build/us_1.0/assets/textures/2d/particles/smoke2.bin" -glabel ASSET_TEX2D_UNKNOWN_ANIMATEDUNKNOWN -.incbin "./build/us_1.0/assets/textures/2d/unknown/animated_unknown.bin" -glabel ASSET_TEX2D_UNKNOWN_ANIMATEDUNKNOWN2 -.incbin "./build/us_1.0/assets/textures/2d/unknown/animated_unknown2.bin" -glabel ASSET_TEX2D_OBJECTS_LENSFLARE1 -.incbin "./build/us_1.0/assets/textures/2d/objects/lensflare_1.bin" -glabel ASSET_TEX2D_OBJECTS_LENSFLARE2 -.incbin "./build/us_1.0/assets/textures/2d/objects/lensflare_2.bin" -glabel ASSET_TEX2D_OBJECTS_LENSFLARE3 -.incbin "./build/us_1.0/assets/textures/2d/objects/lensflare_3.bin" -glabel ASSET_TEX2D_UNKNOWN_WATERFALL -.incbin "./build/us_1.0/assets/textures/2d/unknown/waterfall.bin" -glabel ASSET_TEX2D_UNKNOWN_WATERFALL2 -.incbin "./build/us_1.0/assets/textures/2d/unknown/waterfall2.bin" -glabel ASSET_TEX2D_UNKNOWN_WHITECLOUDS -.incbin "./build/us_1.0/assets/textures/2d/unknown/white_clouds.bin" -glabel ASSET_TEX2D_PARTICLES_TREELEAF -.incbin "./build/us_1.0/assets/textures/2d/particles/tree_leaf.bin" -glabel ASSET_TEX2D_UNKNOWN_REDGREENUNKNOWN -.incbin "./build/us_1.0/assets/textures/2d/unknown/red_green_unknown.bin" -glabel ASSET_TEX2D_UNKNOWN_SCHOOLOFFISH -.incbin "./build/us_1.0/assets/textures/2d/unknown/school_of_fish.bin" -glabel ASSET_TEX2D_UNKNOWN_BUTTERFLYORANGE -.incbin "./build/us_1.0/assets/textures/2d/unknown/butterfly_orange.bin" -glabel ASSET_TEX2D_UNKNOWN_BUTTERFLYPURPLE -.incbin "./build/us_1.0/assets/textures/2d/unknown/butterfly_purple.bin" -glabel ASSET_TEX2D_UNKNOWN_BAT -.incbin "./build/us_1.0/assets/textures/2d/unknown/bat.bin" -glabel ASSET_TEX2D_UNKNOWN_FISH -.incbin "./build/us_1.0/assets/textures/2d/unknown/fish.bin" -glabel ASSET_TEX2D_UNKNOWN_BROWNEGG -.incbin "./build/us_1.0/assets/textures/2d/unknown/brown_egg.bin" -glabel ASSET_TEX2D_PARTICLES_SMOKE3 -.incbin "./build/us_1.0/assets/textures/2d/particles/smoke3.bin" -glabel ASSET_TEX2D_PARTICLES_SMOKE4_0 -.incbin "./build/us_1.0/assets/textures/2d/particles/smoke4_0.bin" -glabel ASSET_TEX2D_PARTICLES_SMOKE4_1 -.incbin "./build/us_1.0/assets/textures/2d/particles/smoke4_1.bin" -glabel ASSET_TEX2D_PARTICLES_SMOKE4_2 -.incbin "./build/us_1.0/assets/textures/2d/particles/smoke4_2.bin" -glabel ASSET_TEX2D_PARTICLES_SMOKE4_3 -.incbin "./build/us_1.0/assets/textures/2d/particles/smoke4_3.bin" -glabel ASSET_TEX2D_PARTICLES_SMOKE4_4 -.incbin "./build/us_1.0/assets/textures/2d/particles/smoke4_4.bin" -glabel ASSET_TEX2D_PARTICLES_SMOKE4_5 -.incbin "./build/us_1.0/assets/textures/2d/particles/smoke4_5.bin" -glabel ASSET_TEX2D_PARTICLES_SMOKE4_6 -.incbin "./build/us_1.0/assets/textures/2d/particles/smoke4_6.bin" -glabel ASSET_TEX2D_PARTICLES_BUBBLESSMALL_0 -.incbin "./build/us_1.0/assets/textures/2d/particles/bubbles_small_0.bin" -glabel ASSET_TEX2D_PARTICLES_BUBBLESSMALL_1 -.incbin "./build/us_1.0/assets/textures/2d/particles/bubbles_small_1.bin" -glabel ASSET_TEX2D_PARTICLES_SMOKE5 -.incbin "./build/us_1.0/assets/textures/2d/particles/smoke5.bin" -glabel ASSET_TEX2D_FUNFONT_0 -.incbin "./build/us_1.0/assets/textures/2d/font/funfont/funfont_0.bin" -glabel ASSET_TEX2D_FUNFONT_1 -.incbin "./build/us_1.0/assets/textures/2d/font/funfont/funfont_1.bin" -glabel ASSET_TEX2D_FUNFONT_2 -.incbin "./build/us_1.0/assets/textures/2d/font/funfont/funfont_2.bin" -glabel ASSET_TEX2D_FUNFONT_3 -.incbin "./build/us_1.0/assets/textures/2d/font/funfont/funfont_3.bin" -glabel ASSET_TEX2D_FUNFONT_4 -.incbin "./build/us_1.0/assets/textures/2d/font/funfont/funfont_4.bin" -glabel ASSET_TEX2D_FUNFONT_5 -.incbin "./build/us_1.0/assets/textures/2d/font/funfont/funfont_5.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTBGDINODOMAIN_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_bg_dino_domain_0.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTBGDINODOMAIN_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_bg_dino_domain_1.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTBGSHERBETISLAND_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_bg_sherbet_island_0.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTBGSHERBETISLAND_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_bg_sherbet_island_1.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTBGSNOWFLAKEMOUNTAIN_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_bg_snowflake_mountain_0.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTBGSNOWFLAKEMOUNTAIN_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_bg_snowflake_mountain_1.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTBGDRAGONFOREST_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_bg_dragon_forest_0.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTBGDRAGONFOREST_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_bg_dragon_forest_1.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTBGFUTUREFUNLAND_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_bg_future_fun_land_0.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTBGFUTUREFUNLAND_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_bg_future_fun_land_1.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKWHITETEX -.incbin "./build/us_1.0/assets/textures/2d/unknown/unk_white_tex.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTLOCKED_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_locked_0.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTLOCKED_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_locked_1.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTLOCKED_2 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_locked_2.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTUNLOCKED_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_unlocked_0.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTUNLOCKED_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_unlocked_1.bin" -glabel ASSET_TEX2D_MENU_TRACKSELECTUNLOCKED_2 -.incbin "./build/us_1.0/assets/textures/2d/menu/track_select_unlocked_2.bin" -glabel ASSET_TEX2D_MENU_ARROWBLUERIGHT -.incbin "./build/us_1.0/assets/textures/2d/menu/arrow_blue_right.bin" -glabel ASSET_TEX2D_MENU_ARROWBLUEUP -.incbin "./build/us_1.0/assets/textures/2d/menu/arrow_blue_up.bin" -glabel ASSET_TEX2D_MENU_ARROWBLUELEFT -.incbin "./build/us_1.0/assets/textures/2d/menu/arrow_blue_left.bin" -glabel ASSET_TEX2D_MENU_ARROWBLUEDOWN -.incbin "./build/us_1.0/assets/textures/2d/menu/arrow_blue_down.bin" -glabel ASSET_TEX2D_OBJECTS_BUBBLEWEAPON_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/bubble_weapon_0.bin" -glabel ASSET_TEX2D_OBJECTS_BUBBLEWEAPON_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/bubble_weapon_1.bin" -glabel ASSET_TEX2D_OBJECTS_BUBBLEWEAPON_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/bubble_weapon_2.bin" -glabel ASSET_TEX2D_OBJECTS_BUBBLEWEAPON_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/bubble_weapon_3.bin" -glabel ASSET_TEX2D_MENU_TTBEATENICON -.incbin "./build/us_1.0/assets/textures/2d/menu/tt_beaten_icon.bin" -glabel ASSET_TEX2D_HUD_EGGICON -.incbin "./build/us_1.0/assets/textures/2d/hud/egg_icon.bin" -glabel ASSET_TEX2D_HUD_KRUNCHICON -.incbin "./build/us_1.0/assets/textures/2d/hud/krunch_icon.bin" -glabel ASSET_TEX2D_HUD_BUMPERICON -.incbin "./build/us_1.0/assets/textures/2d/hud/bumper_icon.bin" -glabel ASSET_TEX2D_HUD_TIPTUPICON -.incbin "./build/us_1.0/assets/textures/2d/hud/tiptup_icon.bin" -glabel ASSET_TEX2D_HUD_TIMBERICON -.incbin "./build/us_1.0/assets/textures/2d/hud/timber_icon.bin" -glabel ASSET_TEX2D_HUD_CONKERICON -.incbin "./build/us_1.0/assets/textures/2d/hud/conker_icon.bin" -glabel ASSET_TEX2D_HUD_BANJOICON -.incbin "./build/us_1.0/assets/textures/2d/hud/banjo_icon.bin" -glabel ASSET_TEX2D_HUD_DRUMSTICKICON -.incbin "./build/us_1.0/assets/textures/2d/hud/drumstick_icon.bin" -glabel ASSET_TEX2D_HUD_PIPSYICON -.incbin "./build/us_1.0/assets/textures/2d/hud/pipsy_icon.bin" -glabel ASSET_TEX2D_HUD_TTICON -.incbin "./build/us_1.0/assets/textures/2d/hud/tt_icon.bin" -glabel ASSET_TEX2D_HUD_DIDDYICON -.incbin "./build/us_1.0/assets/textures/2d/hud/diddy_icon.bin" -glabel ASSET_TEX2D_UNKNOWN_SMALLGOLDCAP -.incbin "./build/us_1.0/assets/textures/2d/unknown/small_gold_cap.bin" -glabel ASSET_TEX2D_MENU_CARICON_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/car_icon_0.bin" -glabel ASSET_TEX2D_MENU_CARICON_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/car_icon_1.bin" -glabel ASSET_TEX2D_MENU_HOVERICON_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/hover_icon_0.bin" -glabel ASSET_TEX2D_MENU_HOVERICON_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/hover_icon_1.bin" -glabel ASSET_TEX2D_MENU_PLANEICON_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/plane_icon_0.bin" -glabel ASSET_TEX2D_MENU_PLANEICON_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/plane_icon_1.bin" -glabel ASSET_TEX2D_MENU_LABELCAROPTIONNONSELECTED -.incbin "./build/us_1.0/assets/textures/2d/menu/label_car_option_nonselected.bin" -glabel ASSET_TEX2D_MENU_LABELCAROPTIONSELECTED -.incbin "./build/us_1.0/assets/textures/2d/menu/label_car_option_selected.bin" -glabel ASSET_TEX2D_MENU_LABELHOVEROPTIONNONSELECTED -.incbin "./build/us_1.0/assets/textures/2d/menu/label_hover_option_nonselected.bin" -glabel ASSET_TEX2D_MENU_LABELHOVEROPTIONSELECTED -.incbin "./build/us_1.0/assets/textures/2d/menu/label_hover_option_selected.bin" -glabel ASSET_TEX2D_MENU_LABELPLANEOPTIONNONSELECTED -.incbin "./build/us_1.0/assets/textures/2d/menu/label_plane_option_nonselected.bin" -glabel ASSET_TEX2D_MENU_LABELPLANEOPTIONSELECTED -.incbin "./build/us_1.0/assets/textures/2d/menu/label_plane_option_selected.bin" -glabel ASSET_TEX2D_MENU_TIMETRIALONICON_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/time_trial_on_icon_0.bin" -glabel ASSET_TEX2D_MENU_TIMETRIALONICON_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/time_trial_on_icon_1.bin" -glabel ASSET_TEX2D_MENU_TIMETRIALOFFICON_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/time_trial_off_icon_0.bin" -glabel ASSET_TEX2D_MENU_TIMETRIALOFFICON_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/time_trial_off_icon_1.bin" -glabel ASSET_TEX2D_MENU_LABELONOPTIONNONSELECTED -.incbin "./build/us_1.0/assets/textures/2d/menu/label_on_option_nonselected.bin" -glabel ASSET_TEX2D_MENU_LABELONOPTIONSELECTED -.incbin "./build/us_1.0/assets/textures/2d/menu/label_on_option_selected.bin" -glabel ASSET_TEX2D_MENU_LABELOFFOPTIONNONSELECTED -.incbin "./build/us_1.0/assets/textures/2d/menu/label_off_option_nonselected.bin" -glabel ASSET_TEX2D_MENU_LABELOFFOPTIONSELECTED -.incbin "./build/us_1.0/assets/textures/2d/menu/label_off_option_selected.bin" -glabel ASSET_TEX2D_MENU_LABELPLAYER1 -.incbin "./build/us_1.0/assets/textures/2d/menu/label_player1.bin" -glabel ASSET_TEX2D_MENU_LABELPLAYER2 -.incbin "./build/us_1.0/assets/textures/2d/menu/label_player2.bin" -glabel ASSET_TEX2D_MENU_LABELPLAYER3 -.incbin "./build/us_1.0/assets/textures/2d/menu/label_player3.bin" -glabel ASSET_TEX2D_MENU_LABELPLAYER4 -.incbin "./build/us_1.0/assets/textures/2d/menu/label_player4.bin" -glabel ASSET_TEX2D_MENU_LABELTT -.incbin "./build/us_1.0/assets/textures/2d/menu/label_tt.bin" -glabel ASSET_TEX2D_MENU_LABELVEHICLE -.incbin "./build/us_1.0/assets/textures/2d/menu/label_vehicle.bin" -glabel ASSET_TEX2D_SUBTITLEFONT_0 -.incbin "./build/us_1.0/assets/textures/2d/font/subtitlefont/subtitlefont_0.bin" -glabel ASSET_TEX2D_SUBTITLEFONT_1 -.incbin "./build/us_1.0/assets/textures/2d/font/subtitlefont/subtitlefont_1.bin" -glabel ASSET_TEX2D_SUBTITLEFONT_2 -.incbin "./build/us_1.0/assets/textures/2d/font/subtitlefont/subtitlefont_2.bin" -glabel ASSET_TEX2D_BIGFONT_A -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_a.bin" -glabel ASSET_TEX2D_BIGFONT_B -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_b.bin" -glabel ASSET_TEX2D_BIGFONT_C -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_c.bin" -glabel ASSET_TEX2D_BIGFONT_D -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_d.bin" -glabel ASSET_TEX2D_BIGFONT_E -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_e.bin" -glabel ASSET_TEX2D_BIGFONT_F -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_f.bin" -glabel ASSET_TEX2D_BIGFONT_G -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_g.bin" -glabel ASSET_TEX2D_BIGFONT_H -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_h.bin" -glabel ASSET_TEX2D_BIGFONT_I -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_i.bin" -glabel ASSET_TEX2D_BIGFONT_J -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_j.bin" -glabel ASSET_TEX2D_BIGFONT_K -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_k.bin" -glabel ASSET_TEX2D_BIGFONT_L -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_l.bin" -glabel ASSET_TEX2D_BIGFONT_M -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_m.bin" -glabel ASSET_TEX2D_BIGFONT_N -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_n.bin" -glabel ASSET_TEX2D_BIGFONT_O -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_o.bin" -glabel ASSET_TEX2D_BIGFONT_P -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_p.bin" -glabel ASSET_TEX2D_BIGFONT_Q -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_q.bin" -glabel ASSET_TEX2D_BIGFONT_R -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_r.bin" -glabel ASSET_TEX2D_BIGFONT_S -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_s.bin" -glabel ASSET_TEX2D_BIGFONT_T -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_t.bin" -glabel ASSET_TEX2D_BIGFONT_U -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_u.bin" -glabel ASSET_TEX2D_BIGFONT_V -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_v.bin" -glabel ASSET_TEX2D_BIGFONT_W -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_w.bin" -glabel ASSET_TEX2D_BIGFONT_X -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_x.bin" -glabel ASSET_TEX2D_BIGFONT_Y -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_y.bin" -glabel ASSET_TEX2D_BIGFONT_Z -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_z.bin" -glabel ASSET_TEX2D_BIGFONT_QUESTIONMARK -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_questionmark.bin" -glabel ASSET_TEX2D_BIGFONT_PERIOD -.incbin "./build/us_1.0/assets/textures/2d/font/bigfont/bigfont_period.bin" -glabel ASSET_TEX2D_OBJECTS_SPARKLE_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/sparkle_0.bin" -glabel ASSET_TEX2D_OBJECTS_SPARKLE_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/sparkle_1.bin" -glabel ASSET_TEX2D_OBJECTS_SPARKLE_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/sparkle_2.bin" -glabel ASSET_TEX2D_OBJECTS_SPARKLE_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/sparkle_3.bin" -glabel ASSET_TEX2D_OBJECTS_SPARKLE_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/sparkle_4.bin" -glabel ASSET_TEX2D_OBJECTS_SPARKLE_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/sparkle_5.bin" -glabel ASSET_TEX2D_OBJECTS_SPARKLE_6 -.incbin "./build/us_1.0/assets/textures/2d/objects/sparkle_6.bin" -glabel ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONBLUE -.incbin "./build/us_1.0/assets/textures/2d/objects/bomb_explosion_blue.bin" -glabel ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONYELLOW -.incbin "./build/us_1.0/assets/textures/2d/objects/bomb_explosion_yellow.bin" -glabel ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONRED -.incbin "./build/us_1.0/assets/textures/2d/objects/bomb_explosion_red.bin" -glabel ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONGREEN -.incbin "./build/us_1.0/assets/textures/2d/objects/bomb_explosion_green.bin" -glabel ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONCYAN -.incbin "./build/us_1.0/assets/textures/2d/objects/bomb_explosion_cyan.bin" -glabel ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONWHITE -.incbin "./build/us_1.0/assets/textures/2d/objects/bomb_explosion_white.bin" -glabel ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONORANGE -.incbin "./build/us_1.0/assets/textures/2d/objects/bomb_explosion_orange.bin" -glabel ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONPURPLE -.incbin "./build/us_1.0/assets/textures/2d/objects/bomb_explosion_purple.bin" -glabel ASSET_TEX2D_UNKNOWN_WHITEGREYCHECKBOARD -.incbin "./build/us_1.0/assets/textures/2d/unknown/white_grey_checkboard.bin" -glabel ASSET_TEX2D_UNKNOWN_NEGATIVERED -.incbin "./build/us_1.0/assets/textures/2d/unknown/negative_red.bin" -glabel ASSET_TEX2D_UNKNOWN_NEGATIVEBLUE -.incbin "./build/us_1.0/assets/textures/2d/unknown/negative_blue.bin" -glabel ASSET_TEX2D_UNKNOWN_NEGATIVEGREEN -.incbin "./build/us_1.0/assets/textures/2d/unknown/negative_green.bin" -glabel ASSET_TEX2D_UNKNOWN_NEGATIVEPURPLE -.incbin "./build/us_1.0/assets/textures/2d/unknown/negative_purple.bin" -glabel ASSET_TEX2D_OBJECTS_RAINBOW_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/rainbow_0.bin" -glabel ASSET_TEX2D_OBJECTS_RAINBOW_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/rainbow_1.bin" -glabel ASSET_TEX2D_OBJECTS_EGG_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/egg_0.bin" -glabel ASSET_TEX2D_OBJECTS_EGG_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/egg_1.bin" -glabel ASSET_TEX2D_OBJECTS_EGG_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/egg_2.bin" -glabel ASSET_TEX2D_OBJECTS_EGG_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/egg_3.bin" -glabel ASSET_TEX2D_MENU_WOODPANEL -.incbin "./build/us_1.0/assets/textures/2d/menu/wood_panel.bin" -glabel ASSET_TEX2D_MENU_COBBLEPANEL -.incbin "./build/us_1.0/assets/textures/2d/menu/cobble_panel.bin" -glabel ASSET_TEX2D_MENU_PORTALPANEL -.incbin "./build/us_1.0/assets/textures/2d/menu/portal_panel.bin" -glabel ASSET_TEX2D_MENU_ICONRUBBISHBIN -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_rubbishbin.bin" -glabel ASSET_TEX2D_MENU_ICONN64 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_n64.bin" -glabel ASSET_TEX2D_MENU_ICONTIMES -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_times.bin" -glabel ASSET_TEX2D_MENU_ICONCONTROLLERPAK -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_controller_pak.bin" -glabel ASSET_TEX2D_MENU_ICONEXTERNALDATA -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_external_data.bin" -glabel ASSET_TEX2D_MENU_ICONGHOSTS -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_ghosts.bin" -glabel ASSET_TEX2D_OBJECTS_BOMB_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/bomb_0.bin" -glabel ASSET_TEX2D_OBJECTS_BOMB_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/bomb_1.bin" -glabel ASSET_TEX2D_PARTICLES_OILPUDDLE -.incbin "./build/us_1.0/assets/textures/2d/particles/oil_puddle.bin" -glabel ASSET_TEX2D_OBJECTS_OILSLICK -.incbin "./build/us_1.0/assets/textures/2d/objects/oil_slick.bin" -glabel ASSET_TEX2D_UNKNOWN_EYESINDARK -.incbin "./build/us_1.0/assets/textures/2d/unknown/eyes_in_dark.bin" -glabel ASSET_TEX2D_HUD_COLON -.incbin "./build/us_1.0/assets/textures/2d/hud/colon.bin" -glabel ASSET_TEX2D_HUD_RETICALHOMING_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/retical_homing_0.bin" -glabel ASSET_TEX2D_HUD_RETICALHOMING_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/retical_homing_1.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGREDSPHERE -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_red_sphere.bin" -glabel ASSET_TEX2D_HUD_FINISH_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/finish_0.bin" -glabel ASSET_TEX2D_HUD_FINISH_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/finish_1.bin" -glabel ASSET_TEX2D_HUD_FINISH_2 -.incbin "./build/us_1.0/assets/textures/2d/hud/finish_2.bin" -glabel ASSET_TEX2D_HUD_GETREADY_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/get_ready_0.bin" -glabel ASSET_TEX2D_HUD_GETREADY_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/get_ready_1.bin" -glabel ASSET_TEX2D_HUD_GETREADY_2 -.incbin "./build/us_1.0/assets/textures/2d/hud/get_ready_2.bin" -glabel ASSET_TEX2D_HUD_GO_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/go_0.bin" -glabel ASSET_TEX2D_HUD_GO_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/go_1.bin" -glabel ASSET_TEX2D_HUD_LAP -.incbin "./build/us_1.0/assets/textures/2d/hud/lap.bin" -glabel ASSET_TEX2D_HUD_FORWARDSLASH -.incbin "./build/us_1.0/assets/textures/2d/hud/forward_slash.bin" -glabel ASSET_TEX2D_HUD_TIME -.incbin "./build/us_1.0/assets/textures/2d/hud/time.bin" -glabel ASSET_TEX2D_HUD_PLACENUMBER_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/place_number_0.bin" -glabel ASSET_TEX2D_HUD_PLACENUMBER_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/place_number_1.bin" -glabel ASSET_TEX2D_HUD_PLACENUMBER_2 -.incbin "./build/us_1.0/assets/textures/2d/hud/place_number_2.bin" -glabel ASSET_TEX2D_HUD_PLACENUMBER_3 -.incbin "./build/us_1.0/assets/textures/2d/hud/place_number_3.bin" -glabel ASSET_TEX2D_HUD_PLACENUMBER_4 -.incbin "./build/us_1.0/assets/textures/2d/hud/place_number_4.bin" -glabel ASSET_TEX2D_HUD_PLACENUMBER_5 -.incbin "./build/us_1.0/assets/textures/2d/hud/place_number_5.bin" -glabel ASSET_TEX2D_HUD_PLACENUMBER_6 -.incbin "./build/us_1.0/assets/textures/2d/hud/place_number_6.bin" -glabel ASSET_TEX2D_HUD_PLACENUMBER_7 -.incbin "./build/us_1.0/assets/textures/2d/hud/place_number_7.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBER_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_0.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBER_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_1.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBER_2 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_2.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBER_3 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_3.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBER_4 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_4.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBER_5 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_5.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBER_6 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_6.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBER_7 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_7.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBER_8 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_8.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBER_9 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_9.bin" -glabel ASSET_TEX2D_HUD_COLONSMALL -.incbin "./build/us_1.0/assets/textures/2d/hud/colon_small.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBERSMALL_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_small_0.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBERSMALL_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_small_1.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBERSMALL_2 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_small_2.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBERSMALL_3 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_small_3.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBERSMALL_4 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_small_4.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBERSMALL_5 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_small_5.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBERSMALL_6 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_small_6.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBERSMALL_7 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_small_7.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBERSMALL_8 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_small_8.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBERSMALL_9 -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_number_small_9.bin" -glabel ASSET_TEX2D_HUD_GOSMALL -.incbin "./build/us_1.0/assets/textures/2d/hud/go_small.bin" -glabel ASSET_TEX2D_HUD_LAPSMALL -.incbin "./build/us_1.0/assets/textures/2d/hud/lap_small.bin" -glabel ASSET_TEX2D_HUD_GETREADYSMALL -.incbin "./build/us_1.0/assets/textures/2d/hud/get_ready_small.bin" -glabel ASSET_TEX2D_HUD_FINALSMALL -.incbin "./build/us_1.0/assets/textures/2d/hud/final_small.bin" -glabel ASSET_TEX2D_HUD_FINISHSMALL -.incbin "./build/us_1.0/assets/textures/2d/hud/finish_small.bin" -glabel ASSET_TEX2D_HUD_LAP2SMALL -.incbin "./build/us_1.0/assets/textures/2d/hud/lap_2_small.bin" -glabel ASSET_TEX2D_HUD_WAYSMALL -.incbin "./build/us_1.0/assets/textures/2d/hud/way_small.bin" -glabel ASSET_TEX2D_HUD_WRONGSMALL -.incbin "./build/us_1.0/assets/textures/2d/hud/wrong_small.bin" -glabel ASSET_TEX2D_OBJECTS_POSITIONARROW_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/position_arrow_0.bin" -glabel ASSET_TEX2D_OBJECTS_POSITIONARROW_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/position_arrow_1.bin" -glabel ASSET_TEX2D_OBJECTS_POSITIONARROW_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/position_arrow_2.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBERSSINGLETEX -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_numbers_singletex.bin" -glabel ASSET_TEX2D_HUD_TIMERNUMBERSSMALLSINGLETEX -.incbin "./build/us_1.0/assets/textures/2d/hud/timer_numbers_small_singletex.bin" -glabel ASSET_TEX2D_HUD_COLON2 -.incbin "./build/us_1.0/assets/textures/2d/hud/colon2.bin" -glabel ASSET_TEX2D_HUD_COLORSMALL2 -.incbin "./build/us_1.0/assets/textures/2d/hud/color_small2.bin" -glabel ASSET_TEX2D_HUD_LAP2 -.incbin "./build/us_1.0/assets/textures/2d/hud/lap2.bin" -glabel ASSET_TEX2D_HUD_TIME2 -.incbin "./build/us_1.0/assets/textures/2d/hud/time2.bin" -glabel ASSET_TEX2D_HUD_FORWARDSLASHSMALL -.incbin "./build/us_1.0/assets/textures/2d/hud/forward_slash_small.bin" -glabel ASSET_TEX2D_HUD_FORWARDSLASH2 -.incbin "./build/us_1.0/assets/textures/2d/hud/forward_slash2.bin" -glabel ASSET_TEX2D_HUD_X -.incbin "./build/us_1.0/assets/textures/2d/hud/x.bin" -glabel ASSET_TEX2D_HUD_PLACENUMBERSSINGLETEX -.incbin "./build/us_1.0/assets/textures/2d/hud/place_numbers_singletex.bin" -glabel ASSET_TEX2D_HUD_PLACENUMBERSUFFIXES -.incbin "./build/us_1.0/assets/textures/2d/hud/place_number_suffixes.bin" -glabel ASSET_TEX2D_HUD_XSMALL -.incbin "./build/us_1.0/assets/textures/2d/hud/x_small.bin" -glabel ASSET_TEX2D_HUD_SILVERCOINCOLLECTED -.incbin "./build/us_1.0/assets/textures/2d/hud/silver_coin_collected.bin" -glabel ASSET_TEX2D_HUD_GOLDENBALLOONICON -.incbin "./build/us_1.0/assets/textures/2d/hud/golden_balloon_icon.bin" -glabel ASSET_TEX2D_HUD_SILVERBALLOONICON -.incbin "./build/us_1.0/assets/textures/2d/hud/silver_balloon_icon.bin" -glabel ASSET_TEX2D_OBJECTS_LEVELNAME -.incbin "./build/us_1.0/assets/textures/2d/objects/level_name.bin" -glabel ASSET_TEX2D_MINIMAP_NPC -.incbin "./build/us_1.0/assets/textures/2d/minimap/npc.bin" -glabel ASSET_TEX2D_MINIMAP_PLAYER -.incbin "./build/us_1.0/assets/textures/2d/minimap/player.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONBOOST_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_boost_0.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONBOOST_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_boost_1.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONBOOST_2 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_boost_2.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONROCKET_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_rocket_0.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONROCKET_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_rocket_1.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONROCKET_2 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_rocket_2.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONTRAP_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_trap_0.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONTRAP_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_trap_1.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONTRAP_2 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_trap_2.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONSHIELD_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_shield_0.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONSHIELD_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_shield_1.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONSHIELD_2 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_shield_2.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONMAGNET_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_magnet_0.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONMAGNET_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_magnet_1.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONMAGNET_2 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_magnet_2.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_rocket_numbers_0.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_rocket_numbers_1.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_2 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_rocket_numbers_2.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_3 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_rocket_numbers_3.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_4 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_rocket_numbers_4.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_5 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_rocket_numbers_5.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_6 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_rocket_numbers_6.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_7 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_rocket_numbers_7.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_8 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_rocket_numbers_8.bin" -glabel ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_9 -.incbin "./build/us_1.0/assets/textures/2d/hud/weapon_icon_rocket_numbers_9.bin" -glabel ASSET_TEX2D_UNUSED_BETAICONKRUNCH -.incbin "./build/us_1.0/assets/textures/2d/unused/beta_icon_krunch.bin" -glabel ASSET_TEX2D_UNUSED_BETAICONBUMPER -.incbin "./build/us_1.0/assets/textures/2d/unused/beta_icon_bumper.bin" -glabel ASSET_TEX2D_UNUSED_BETAICONTIPTUP -.incbin "./build/us_1.0/assets/textures/2d/unused/beta_icon_tiptup.bin" -glabel ASSET_TEX2D_UNUSED_BETAICONCONKER -.incbin "./build/us_1.0/assets/textures/2d/unused/beta_icon_conker.bin" -glabel ASSET_TEX2D_UNUSED_BETAICONTIMBER -.incbin "./build/us_1.0/assets/textures/2d/unused/beta_icon_timber.bin" -glabel ASSET_TEX2D_UNUSED_BETAICONBANJO -.incbin "./build/us_1.0/assets/textures/2d/unused/beta_icon_banjo.bin" -glabel ASSET_TEX2D_UNUSED_BETAICONDRUMSTICK -.incbin "./build/us_1.0/assets/textures/2d/unused/beta_icon_drumstick.bin" -glabel ASSET_TEX2D_UNUSED_BETAICONPIPSY -.incbin "./build/us_1.0/assets/textures/2d/unused/beta_icon_pipsy.bin" -glabel ASSET_TEX2D_HUD_FINALLAP_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/final_lap_0.bin" -glabel ASSET_TEX2D_HUD_FINALLAP_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/final_lap_1.bin" -glabel ASSET_TEX2D_HUD_FINALLAP_2 -.incbin "./build/us_1.0/assets/textures/2d/hud/final_lap_2.bin" -glabel ASSET_TEX2D_HUD_FINALLAP_3 -.incbin "./build/us_1.0/assets/textures/2d/hud/final_lap_3.bin" -glabel ASSET_TEX2D_HUD_FINALLAP_4 -.incbin "./build/us_1.0/assets/textures/2d/hud/final_lap_4.bin" -glabel ASSET_TEX2D_HUD_FINAL_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/final_0.bin" -glabel ASSET_TEX2D_HUD_FINAL_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/final_1.bin" -glabel ASSET_TEX2D_HUD_LAPLARGE_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/lap_large_0.bin" -glabel ASSET_TEX2D_HUD_LAPLARGE_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/lap_large_1.bin" -glabel ASSET_TEX2D_HUD_LAP2_2 -.incbin "./build/us_1.0/assets/textures/2d/hud/lap2_2.bin" -glabel ASSET_TEX2D_HUD_WAY -.incbin "./build/us_1.0/assets/textures/2d/hud/way.bin" -glabel ASSET_TEX2D_HUD_WRONG_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/wrong_0.bin" -glabel ASSET_TEX2D_HUD_WRONG_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/wrong_1.bin" -glabel ASSET_TEX2D_UNUSED_PROAMLOGO_0 -.incbin "./build/us_1.0/assets/textures/2d/unused/proam_logo_0.bin" -glabel ASSET_TEX2D_UNUSED_PROAMLOGO_1 -.incbin "./build/us_1.0/assets/textures/2d/unused/proam_logo_1.bin" -glabel ASSET_TEX2D_UNUSED_PROAMLOGO_2 -.incbin "./build/us_1.0/assets/textures/2d/unused/proam_logo_2.bin" -glabel ASSET_TEX2D_HUD_SPEEDOMETERTICKS -.incbin "./build/us_1.0/assets/textures/2d/hud/speedometer_ticks.bin" -glabel ASSET_TEX2D_HUD_SPEEDOMETER0 -.incbin "./build/us_1.0/assets/textures/2d/hud/speedometer_0.bin" -glabel ASSET_TEX2D_HUD_SPEEDOMETER30 -.incbin "./build/us_1.0/assets/textures/2d/hud/speedometer_30.bin" -glabel ASSET_TEX2D_HUD_SPEEDOMETER60 -.incbin "./build/us_1.0/assets/textures/2d/hud/speedometer_60.bin" -glabel ASSET_TEX2D_HUD_SPEEDOMETER90 -.incbin "./build/us_1.0/assets/textures/2d/hud/speedometer_90.bin" -glabel ASSET_TEX2D_HUD_SPEEDOMETER120 -.incbin "./build/us_1.0/assets/textures/2d/hud/speedometer_120.bin" -glabel ASSET_TEX2D_HUD_SPEEDOMETER150 -.incbin "./build/us_1.0/assets/textures/2d/hud/speedometer_150.bin" -glabel ASSET_TEX2D_HUD_SPEEDOMETERARROW -.incbin "./build/us_1.0/assets/textures/2d/hud/speedometer_arrow.bin" -glabel ASSET_TEX2D_HUD_FIRSTPLACEONE_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/first_place_one_0.bin" -glabel ASSET_TEX2D_HUD_FIRSTPLACEONE_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/first_place_one_1.bin" -glabel ASSET_TEX2D_HUD_FIRSTPLACEST_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/first_place_st_0.bin" -glabel ASSET_TEX2D_HUD_FIRSTPLACEST_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/first_place_st_1.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_0.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_1.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_2.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_3.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_4.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_5.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_6 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_6.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_7 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_7.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_8 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_8.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_9 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_9.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_10 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_10.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_11 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_11.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_12 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_12.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_13 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_13.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_14 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_14.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_15 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_15.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_16 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_16.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_17 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_17.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_18 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_18.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSTRING_19 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_string_19.bin" -glabel ASSET_TEX2D_MENU_TITLE_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/title_0.bin" -glabel ASSET_TEX2D_MENU_TITLE_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/title_1.bin" -glabel ASSET_TEX2D_MENU_TITLE_2 -.incbin "./build/us_1.0/assets/textures/2d/menu/title_2.bin" -glabel ASSET_TEX2D_MENU_TITLE_3 -.incbin "./build/us_1.0/assets/textures/2d/menu/title_3.bin" -glabel ASSET_TEX2D_MENU_TITLE_4 -.incbin "./build/us_1.0/assets/textures/2d/menu/title_4.bin" -glabel ASSET_TEX2D_MENU_TITLE_5 -.incbin "./build/us_1.0/assets/textures/2d/menu/title_5.bin" -glabel ASSET_TEX2D_MENU_TITLE_6 -.incbin "./build/us_1.0/assets/textures/2d/menu/title_6.bin" -glabel ASSET_TEX2D_MENU_TITLE_7 -.incbin "./build/us_1.0/assets/textures/2d/menu/title_7.bin" -glabel ASSET_TEX2D_MENU_TITLE_8 -.incbin "./build/us_1.0/assets/textures/2d/menu/title_8.bin" -glabel ASSET_TEX2D_MENU_TITLE_9 -.incbin "./build/us_1.0/assets/textures/2d/menu/title_9.bin" -glabel ASSET_TEX2D_MENU_TRADEMARKSMALL -.incbin "./build/us_1.0/assets/textures/2d/menu/trademark_small.bin" -glabel ASSET_TEX2D_UNKNOWN_FIREBALLUNKNOWN_0 -.incbin "./build/us_1.0/assets/textures/2d/unknown/fireball_unknown_0.bin" -glabel ASSET_TEX2D_UNKNOWN_FIREBALLUNKNOWN_1 -.incbin "./build/us_1.0/assets/textures/2d/unknown/fireball_unknown_1.bin" -glabel ASSET_TEX2D_UNKNOWN_FIREBALLUNKNOWN_2 -.incbin "./build/us_1.0/assets/textures/2d/unknown/fireball_unknown_2.bin" -glabel ASSET_TEX2D_UNKNOWN_FIREBALLUNKNOWN_3 -.incbin "./build/us_1.0/assets/textures/2d/unknown/fireball_unknown_3.bin" -glabel ASSET_TEX2D_OBJECTS_FIREBALL_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/fireball_0.bin" -glabel ASSET_TEX2D_OBJECTS_FIREBALL_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/fireball_1.bin" -glabel ASSET_TEX2D_OBJECTS_FIREBALL_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/fireball_2.bin" -glabel ASSET_TEX2D_OBJECTS_FIREBALL_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/fireball_3.bin" -glabel ASSET_TEX2D_OBJECTS_FIREBALL_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/fireball_4.bin" -glabel ASSET_TEX2D_OBJECTS_FIREBALL_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/fireball_5.bin" -glabel ASSET_TEX2D_OBJECTS_FIREBALL_6 -.incbin "./build/us_1.0/assets/textures/2d/objects/fireball_6.bin" -glabel ASSET_TEX2D_OBJECTS_FIREBALL_7 -.incbin "./build/us_1.0/assets/textures/2d/objects/fireball_7.bin" -glabel ASSET_TEX2D_OBJECTS_FIREBALL_8 -.incbin "./build/us_1.0/assets/textures/2d/objects/fireball_8.bin" -glabel ASSET_TEX2D_OBJECTS_FIREBALL_9 -.incbin "./build/us_1.0/assets/textures/2d/objects/fireball_9.bin" -glabel ASSET_TEX2D_OBJECTS_WIZGHOST_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/wizghost_0.bin" -glabel ASSET_TEX2D_OBJECTS_WIZGHOST_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/wizghost_1.bin" -glabel ASSET_TEX2D_OBJECTS_WIZGHOST_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/wizghost_2.bin" -glabel ASSET_TEX2D_OBJECTS_WIZGHOST_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/wizghost_3.bin" -glabel ASSET_TEX2D_OBJECTS_WIZGHOST_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/wizghost_4.bin" -glabel ASSET_TEX2D_OBJECTS_WIZGHOST_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/wizghost_5.bin" -glabel ASSET_TEX2D_OBJECTS_WIZGHOST_6 -.incbin "./build/us_1.0/assets/textures/2d/objects/wizghost_6.bin" -glabel ASSET_TEX2D_OBJECTS_WIZGHOST_7 -.incbin "./build/us_1.0/assets/textures/2d/objects/wizghost_7.bin" -glabel ASSET_TEX2D_OBJECTS_WIZGHOST_8 -.incbin "./build/us_1.0/assets/textures/2d/objects/wizghost_8.bin" -glabel ASSET_TEX2D_OBJECTS_WIZGHOST_9 -.incbin "./build/us_1.0/assets/textures/2d/objects/wizghost_9.bin" -glabel ASSET_TEX2D_OBJECTS_WIZGHOST_10 -.incbin "./build/us_1.0/assets/textures/2d/objects/wizghost_10.bin" -glabel ASSET_TEX2D_OBJECTS_WIZGHOST_11 -.incbin "./build/us_1.0/assets/textures/2d/objects/wizghost_11.bin" -glabel ASSET_TEX2D_OBJECTS_WIZGHOST_12 -.incbin "./build/us_1.0/assets/textures/2d/objects/wizghost_12.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNLIGHT_0 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_light_0.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNLIGHT_1 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_light_1.bin" -glabel ASSET_TEX2D_UNKNOWN_SMALLSTAR -.incbin "./build/us_1.0/assets/textures/2d/unknown/small_star.bin" -glabel ASSET_TEX2D_OBJECTS_BUOY_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/buoy_0.bin" -glabel ASSET_TEX2D_OBJECTS_BUOY_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/buoy_1.bin" -glabel ASSET_TEX2D_OBJECTS_BUOY_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/buoy_2.bin" -glabel ASSET_TEX2D_OBJECTS_BUOY_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/buoy_3.bin" -glabel ASSET_TEX2D_OBJECTS_SMARTIETREE_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/smartie_tree_0.bin" -glabel ASSET_TEX2D_OBJECTS_SMARTIETREE_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/smartie_tree_1.bin" -glabel ASSET_TEX2D_OBJECTS_SMARTIETREE_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/smartie_tree_2.bin" -glabel ASSET_TEX2D_OBJECTS_SMARTIETREE_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/smartie_tree_3.bin" -glabel ASSET_TEX2D_OBJECTS_BEACHTREE_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/beach_tree_0.bin" -glabel ASSET_TEX2D_OBJECTS_BEACHTREE_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/beach_tree_1.bin" -glabel ASSET_TEX2D_OBJECTS_BEACHTREE_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/beach_tree_2.bin" -glabel ASSET_TEX2D_OBJECTS_BLUEBERRYBUSH_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/blue_berry_bush_0.bin" -glabel ASSET_TEX2D_OBJECTS_BLUEBERRYBUSH_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/blue_berry_bush_1.bin" -glabel ASSET_TEX2D_OBJECTS_BLUEBERRYBUSH_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/blue_berry_bush_2.bin" -glabel ASSET_TEX2D_OBJECTS_BLUEBERRYBUSH_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/blue_berry_bush_3.bin" -glabel ASSET_TEX2D_OBJECTS_BLUEBERRYBUSH_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/blue_berry_bush_4.bin" -glabel ASSET_TEX2D_OBJECTS_BLUEBERRYBUSH_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/blue_berry_bush_5.bin" -glabel ASSET_TEX2D_OBJECTS_RUBBERSNOWTREE_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/rubber_snow_tree_0.bin" -glabel ASSET_TEX2D_OBJECTS_RUBBERSNOWTREE_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/rubber_snow_tree_1.bin" -glabel ASSET_TEX2D_OBJECTS_RUBBERSNOWTREE_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/rubber_snow_tree_2.bin" -glabel ASSET_TEX2D_OBJECTS_RUBBERSNOWTREE_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/rubber_snow_tree_3.bin" -glabel ASSET_TEX2D_OBJECTS_SKINNYSNOWTREE_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/skinny_snow_tree_0.bin" -glabel ASSET_TEX2D_OBJECTS_SKINNYSNOWTREE_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/skinny_snow_tree_1.bin" -glabel ASSET_TEX2D_OBJECTS_SKINNYSNOWTREE_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/skinny_snow_tree_2.bin" -glabel ASSET_TEX2D_OBJECTS_SKINNYSNOWTREE_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/skinny_snow_tree_3.bin" -glabel ASSET_TEX2D_OBJECTS_XMASTREE_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/xmas_tree_0.bin" -glabel ASSET_TEX2D_OBJECTS_XMASTREE_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/xmas_tree_1.bin" -glabel ASSET_TEX2D_OBJECTS_XMASTREE_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/xmas_tree_2.bin" -glabel ASSET_TEX2D_OBJECTS_XMASTREE_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/xmas_tree_3.bin" -glabel ASSET_TEX2D_OBJECTS_ALPINESNOWTREE_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/alpine_snow_tree_0.bin" -glabel ASSET_TEX2D_OBJECTS_ALPINESNOWTREE_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/alpine_snow_tree_1.bin" -glabel ASSET_TEX2D_OBJECTS_ALPINESNOWTREE_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/alpine_snow_tree_2.bin" -glabel ASSET_TEX2D_OBJECTS_ALPINESNOWTREE_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/alpine_snow_tree_3.bin" -glabel ASSET_TEX2D_OBJECTS_RUBBERTREE_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/rubber_tree_0.bin" -glabel ASSET_TEX2D_OBJECTS_RUBBERTREE_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/rubber_tree_1.bin" -glabel ASSET_TEX2D_OBJECTS_RUBBERTREE_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/rubber_tree_2.bin" -glabel ASSET_TEX2D_OBJECTS_RUBBERTREE_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/rubber_tree_3.bin" -glabel ASSET_TEX2D_OBJECTS_PALMTREETOP_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/palm_tree_top_0.bin" -glabel ASSET_TEX2D_OBJECTS_PALMTREETOP_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/palm_tree_top_1.bin" -glabel ASSET_TEX2D_OBJECTS_PALMTREETOP_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/palm_tree_top_2.bin" -glabel ASSET_TEX2D_OBJECTS_PALMTREETOP_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/palm_tree_top_3.bin" -glabel ASSET_TEX2D_OBJECTS_PALMTREETOP_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/palm_tree_top_4.bin" -glabel ASSET_TEX2D_OBJECTS_PALMPLANT_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/palm_plant_0.bin" -glabel ASSET_TEX2D_OBJECTS_PALMPLANT_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/palm_plant_1.bin" -glabel ASSET_TEX2D_OBJECTS_PALMPLANT_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/palm_plant_2.bin" -glabel ASSET_TEX2D_OBJECTS_PALMTREETOPCHEA_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/palm_tree_top_chea_0.bin" -glabel ASSET_TEX2D_OBJECTS_PALMTREETOPCHEA_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/palm_tree_top_chea_1.bin" -glabel ASSET_TEX2D_OBJECTS_FIRTREE_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/fir_tree_0.bin" -glabel ASSET_TEX2D_OBJECTS_FIRTREE_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/fir_tree_1.bin" -glabel ASSET_TEX2D_OBJECTS_FIRTREE_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/fir_tree_2.bin" -glabel ASSET_TEX2D_OBJECTS_FIRTREE_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/fir_tree_3.bin" -glabel ASSET_TEX2D_OBJECTS_SPACETREE_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/space_tree_0.bin" -glabel ASSET_TEX2D_OBJECTS_SPACETREE_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/space_tree_1.bin" -glabel ASSET_TEX2D_OBJECTS_LAMPPOST_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/lamp_post_0.bin" -glabel ASSET_TEX2D_OBJECTS_LAMPPOST_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/lamp_post_1.bin" -glabel ASSET_TEX2D_OBJECTS_LAMPPOST_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/lamp_post_2.bin" -glabel ASSET_TEX2D_OBJECTS_LAMPPOST_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/lamp_post_3.bin" -glabel ASSET_TEX2D_OBJECTS_FLOWERS_WHITEBUTTERCUP_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/flowers/white_buttercup_0.bin" -glabel ASSET_TEX2D_OBJECTS_FLOWERS_WHITEBUTTERCUP_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/flowers/white_buttercup_1.bin" -glabel ASSET_TEX2D_OBJECTS_FLOWERS_YELLOWBELLFLOWER_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/flowers/yellow_bellflower_0.bin" -glabel ASSET_TEX2D_OBJECTS_FLOWERS_YELLOWBELLFLOWER_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/flowers/yellow_bellflower_1.bin" -glabel ASSET_TEX2D_OBJECTS_FLOWERS_YELLOWBUTTERCUP_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/flowers/yellow_buttercup_0.bin" -glabel ASSET_TEX2D_OBJECTS_FLOWERS_YELLOWBUTTERCUP_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/flowers/yellow_buttercup_1.bin" -glabel ASSET_TEX2D_OBJECTS_FLOWERS_BLUEBUTTERCUP_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/flowers/blue_buttercup_0.bin" -glabel ASSET_TEX2D_OBJECTS_FLOWERS_BLUEBUTTERCUP_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/flowers/blue_buttercup_1.bin" -glabel ASSET_TEX2D_OBJECTS_FLOWERS_WATERLILY_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/flowers/waterlily_0.bin" -glabel ASSET_TEX2D_OBJECTS_FLOWERS_WATERLILY_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/flowers/waterlily_1.bin" -glabel ASSET_TEX2D_OBJECTS_REEDNOLEAF_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/reed_no_leaf_0.bin" -glabel ASSET_TEX2D_OBJECTS_REEDNOLEAF_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/reed_no_leaf_1.bin" -glabel ASSET_TEX2D_OBJECTS_REEDLEAVES_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/reed_leaves_0.bin" -glabel ASSET_TEX2D_OBJECTS_REEDLEAVES_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/reed_leaves_1.bin" -glabel ASSET_TEX2D_OBJECTS_REEDLEAVES_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/reed_leaves_2.bin" -glabel ASSET_TEX2D_OBJECTS_REEDONELEAF_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/reed_one_leaf_0.bin" -glabel ASSET_TEX2D_OBJECTS_REEDONELEAF_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/reed_one_leaf_1.bin" -glabel ASSET_TEX2D_OBJECTS_REEDONELEAF_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/reed_one_leaf_2.bin" -glabel ASSET_TEX2D_OBJECTS_SNOWMANTOPHAT_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/snowman_tophat_0.bin" -glabel ASSET_TEX2D_OBJECTS_SNOWMANTOPHAT_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/snowman_tophat_1.bin" -glabel ASSET_TEX2D_OBJECTS_SNOWMANTOPHAT_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/snowman_tophat_2.bin" -glabel ASSET_TEX2D_OBJECTS_SNOWMANTOPHAT_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/snowman_tophat_3.bin" -glabel ASSET_TEX2D_OBJECTS_BELL -.incbin "./build/us_1.0/assets/textures/2d/objects/bell.bin" -glabel ASSET_TEX2D_OBJECTS_SNOWMAN_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/snowman_0.bin" -glabel ASSET_TEX2D_OBJECTS_SNOWMAN_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/snowman_1.bin" -glabel ASSET_TEX2D_OBJECTS_SNOWMAN_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/snowman_2.bin" -glabel ASSET_TEX2D_OBJECTS_SNOWMAN_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/snowman_3.bin" -glabel ASSET_TEX2D_UNUSED_TORCHWITHEYES -.incbin "./build/us_1.0/assets/textures/2d/unused/torch_with_eyes.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGORBRED -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_orb_red.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGORBYELLOW -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_orb_yellow.bin" -glabel ASSET_TEX2D_UNUSED_BETAANCIENTLAKESIGN_0 -.incbin "./build/us_1.0/assets/textures/2d/unused/beta_ancient_lake_sign_0.bin" -glabel ASSET_TEX2D_UNUSED_BETAANCIENTLAKESIGN_1 -.incbin "./build/us_1.0/assets/textures/2d/unused/beta_ancient_lake_sign_1.bin" -glabel ASSET_TEX2D_UNUSED_BETAANCIENTLAKESIGN_2 -.incbin "./build/us_1.0/assets/textures/2d/unused/beta_ancient_lake_sign_2.bin" -glabel ASSET_TEX2D_UNUSED_BETAANCIENTLAKESIGN_3 -.incbin "./build/us_1.0/assets/textures/2d/unused/beta_ancient_lake_sign_3.bin" -glabel ASSET_TEX2D_UNUSED_BETAANCIENTLAKESIGN_4 -.incbin "./build/us_1.0/assets/textures/2d/unused/beta_ancient_lake_sign_4.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGFOGCHANGER -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_fog_changer.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGANIMCAR -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_anim_car.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGSKYCONTROL -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_sky_control.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGCAMERACONTROL -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_camera_control.bin" -glabel ASSET_TEX2D_UNUSED_DEBUGUNKNOWNEXIT -.incbin "./build/us_1.0/assets/textures/2d/unused/debug_unknown_exit.bin" -glabel ASSET_TEX2D_UNUSED_DEBUGUNKNOWNTRAFFICLIGHT -.incbin "./build/us_1.0/assets/textures/2d/unused/debug_unknown_traffic_light.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGANIMATOR -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_animator.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGAUDIO -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_audio.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGAUDIOLINE -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_audio_line.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGAUDIOSEQLINE -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_audio_seq_line.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGAUDIOSEQ -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_audio_seq.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGAUDIOREVERB_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_audio_reverb_0.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGAUDIOREVERB_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_audio_reverb_1.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONBOOST_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_boost_0.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONBOOST_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_boost_1.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONBOOST_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_boost_2.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONMISSILE_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_missile_0.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONMISSILE_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_missile_1.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONMISSILE_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_missile_2.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONTRAP_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_trap_0.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONTRAP_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_trap_1.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONTRAP_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_trap_2.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSHIELD_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_shield_0.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSHIELD_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_shield_1.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSHIELD_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_shield_2.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONMAGNET_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_magnet_0.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONMAGNET_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_magnet_1.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONMAGNET_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_magnet_2.bin" -glabel ASSET_TEX2D_UNUSED_BALLOONMISSILEGIFT_0 -.incbin "./build/us_1.0/assets/textures/2d/unused/balloon_missile_gift_0.bin" -glabel ASSET_TEX2D_UNUSED_BALLOONMISSILEGIFT_1 -.incbin "./build/us_1.0/assets/textures/2d/unused/balloon_missile_gift_1.bin" -glabel ASSET_TEX2D_UNUSED_BALLOONMISSILEGIFT_2 -.incbin "./build/us_1.0/assets/textures/2d/unused/balloon_missile_gift_2.bin" -glabel ASSET_TEX2D_UNUSED_BALLOONBOOSTGIFT_0 -.incbin "./build/us_1.0/assets/textures/2d/unused/balloon_boost_gift_0.bin" -glabel ASSET_TEX2D_UNUSED_BALLOONBOOSTGIFT_1 -.incbin "./build/us_1.0/assets/textures/2d/unused/balloon_boost_gift_1.bin" -glabel ASSET_TEX2D_UNUSED_BALLOONBOOSTGIFT_2 -.incbin "./build/us_1.0/assets/textures/2d/unused/balloon_boost_gift_2.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONGOLD_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_gold_0.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONGOLD_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_gold_1.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONGOLD_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_gold_2.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSILVER_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_silver_0.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSILVER_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_silver_1.bin" -glabel ASSET_TEX2D_OBJECTS_BALLOONSILVER_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/balloon_silver_2.bin" -glabel ASSET_TEX2D_OBJECTS_BANANA_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/banana_0.bin" -glabel ASSET_TEX2D_OBJECTS_BANANA_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/banana_1.bin" -glabel ASSET_TEX2D_OBJECTS_BANANA_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/banana_2.bin" -glabel ASSET_TEX2D_OBJECTS_BANANA_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/banana_3.bin" -glabel ASSET_TEX2D_OBJECTS_BANANA_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/banana_4.bin" -glabel ASSET_TEX2D_OBJECTS_BANANA_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/banana_5.bin" -glabel ASSET_TEX2D_OBJECTS_BANANA_6 -.incbin "./build/us_1.0/assets/textures/2d/objects/banana_6.bin" -glabel ASSET_TEX2D_OBJECTS_BANANA_7 -.incbin "./build/us_1.0/assets/textures/2d/objects/banana_7.bin" -glabel ASSET_TEX2D_OBJECTS_SILVERCOIN_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/silver_coin_0.bin" -glabel ASSET_TEX2D_OBJECTS_SILVERCOIN_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/silver_coin_1.bin" -glabel ASSET_TEX2D_OBJECTS_SILVERCOIN_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/silver_coin_2.bin" -glabel ASSET_TEX2D_OBJECTS_SILVERCOIN_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/silver_coin_3.bin" -glabel ASSET_TEX2D_OBJECTS_SILVERCOIN_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/silver_coin_4.bin" -glabel ASSET_TEX2D_OBJECTS_SILVERCOIN_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/silver_coin_5.bin" -glabel ASSET_TEX2D_OBJECTS_SILVERCOIN_6 -.incbin "./build/us_1.0/assets/textures/2d/objects/silver_coin_6.bin" -glabel ASSET_TEX2D_OBJECTS_SILVERCOIN_7 -.incbin "./build/us_1.0/assets/textures/2d/objects/silver_coin_7.bin" -glabel ASSET_TEX2D_OBJECTS_SILVERCOIN_8 -.incbin "./build/us_1.0/assets/textures/2d/objects/silver_coin_8.bin" -glabel ASSET_TEX2D_OBJECTS_SILVERCOIN_9 -.incbin "./build/us_1.0/assets/textures/2d/objects/silver_coin_9.bin" -glabel ASSET_TEX2D_OBJECTS_SILVERCOIN_10 -.incbin "./build/us_1.0/assets/textures/2d/objects/silver_coin_10.bin" -glabel ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/checkpoint_flag_0.bin" -glabel ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/checkpoint_flag_1.bin" -glabel ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/checkpoint_flag_2.bin" -glabel ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/checkpoint_flag_3.bin" -glabel ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/checkpoint_flag_4.bin" -glabel ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/checkpoint_flag_5.bin" -glabel ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_6 -.incbin "./build/us_1.0/assets/textures/2d/objects/checkpoint_flag_6.bin" -glabel ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_7 -.incbin "./build/us_1.0/assets/textures/2d/objects/checkpoint_flag_7.bin" -glabel ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_8 -.incbin "./build/us_1.0/assets/textures/2d/objects/checkpoint_flag_8.bin" -glabel ASSET_TEX2D_UNUSED_RAREWARECOIN_0 -.incbin "./build/us_1.0/assets/textures/2d/unused/rareware_coin_0.bin" -glabel ASSET_TEX2D_UNUSED_RAREWARECOIN_1 -.incbin "./build/us_1.0/assets/textures/2d/unused/rareware_coin_1.bin" -glabel ASSET_TEX2D_UNUSED_RAREWARECOIN_2 -.incbin "./build/us_1.0/assets/textures/2d/unused/rareware_coin_2.bin" -glabel ASSET_TEX2D_UNUSED_RAREWARECOIN_3 -.incbin "./build/us_1.0/assets/textures/2d/unused/rareware_coin_3.bin" -glabel ASSET_TEX2D_UNUSED_RAREWARECOIN_4 -.incbin "./build/us_1.0/assets/textures/2d/unused/rareware_coin_4.bin" -glabel ASSET_TEX2D_UNUSED_RAREWARECOIN_5 -.incbin "./build/us_1.0/assets/textures/2d/unused/rareware_coin_5.bin" -glabel ASSET_TEX2D_UNUSED_RAREWARECOIN_6 -.incbin "./build/us_1.0/assets/textures/2d/unused/rareware_coin_6.bin" -glabel ASSET_TEX2D_UNUSED_RAREWARECOIN_7 -.incbin "./build/us_1.0/assets/textures/2d/unused/rareware_coin_7.bin" -glabel ASSET_TEX2D_UNUSED_RAREWARECOIN_8 -.incbin "./build/us_1.0/assets/textures/2d/unused/rareware_coin_8.bin" -glabel ASSET_TEX2D_UNUSED_RAREWARECOIN_9 -.incbin "./build/us_1.0/assets/textures/2d/unused/rareware_coin_9.bin" -glabel ASSET_TEX2D_UNUSED_RAREWARECOIN_10 -.incbin "./build/us_1.0/assets/textures/2d/unused/rareware_coin_10.bin" -glabel ASSET_TEX2D_UNUSED_SILVERCOINVERTICAL -.incbin "./build/us_1.0/assets/textures/2d/unused/silver_coin_vertical.bin" -glabel ASSET_TEX2D_HUD_BANANAICON_0 -.incbin "./build/us_1.0/assets/textures/2d/hud/banana_icon_0.bin" -glabel ASSET_TEX2D_HUD_BANANAICON_1 -.incbin "./build/us_1.0/assets/textures/2d/hud/banana_icon_1.bin" -glabel ASSET_TEX2D_PARTICLES_SPARKLE_0 -.incbin "./build/us_1.0/assets/textures/2d/particles/sparkle_0.bin" -glabel ASSET_TEX2D_PARTICLES_SPARKLE_1 -.incbin "./build/us_1.0/assets/textures/2d/particles/sparkle_1.bin" -glabel ASSET_TEX2D_PARTICLES_SPARKLE_2 -.incbin "./build/us_1.0/assets/textures/2d/particles/sparkle_2.bin" -glabel ASSET_TEX2D_PARTICLES_SPARKLE_3 -.incbin "./build/us_1.0/assets/textures/2d/particles/sparkle_3.bin" -glabel ASSET_TEX2D_PARTICLES_SPARKLE_4 -.incbin "./build/us_1.0/assets/textures/2d/particles/sparkle_4.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGEGGCREATOR_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_egg_creator_0.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGEGGCREATOR_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_egg_creator_1.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGEGGCREATOR_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_egg_creator_2.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGEGGCREATOR_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_egg_creator_3.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGEGGCREATOR_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_egg_creator_4.bin" -glabel ASSET_TEX2D_OBJECTS_DEBUGEGGCREATOR_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/debug_egg_creator_5.bin" -glabel ASSET_TEX2D_UNUSED_BONUSGEM_0 -.incbin "./build/us_1.0/assets/textures/2d/unused/bonus_gem_0.bin" -glabel ASSET_TEX2D_UNUSED_BONUSGEM_1 -.incbin "./build/us_1.0/assets/textures/2d/unused/bonus_gem_1.bin" -glabel ASSET_TEX2D_UNUSED_BONUSGEM_2 -.incbin "./build/us_1.0/assets/textures/2d/unused/bonus_gem_2.bin" -glabel ASSET_TEX2D_UNUSED_BONUSGEM_3 -.incbin "./build/us_1.0/assets/textures/2d/unused/bonus_gem_3.bin" -glabel ASSET_TEX2D_UNUSED_BONUSGEM_4 -.incbin "./build/us_1.0/assets/textures/2d/unused/bonus_gem_4.bin" -glabel ASSET_TEX2D_UNUSED_BONUSGEM_5 -.incbin "./build/us_1.0/assets/textures/2d/unused/bonus_gem_5.bin" -glabel ASSET_TEX2D_UNUSED_BONUSGEM_6 -.incbin "./build/us_1.0/assets/textures/2d/unused/bonus_gem_6.bin" -glabel ASSET_TEX2D_UNUSED_BONUSGEM_7 -.incbin "./build/us_1.0/assets/textures/2d/unused/bonus_gem_7.bin" -glabel ASSET_TEX2D_HUD_INDICATORICONCAUTION -.incbin "./build/us_1.0/assets/textures/2d/hud/indicatoricon_caution.bin" -glabel ASSET_TEX2D_HUD_INDICATORICONDOWN -.incbin "./build/us_1.0/assets/textures/2d/hud/indicatoricon_down.bin" -glabel ASSET_TEX2D_HUD_INDICATORICONUTURN -.incbin "./build/us_1.0/assets/textures/2d/hud/indicatoricon_uturn.bin" -glabel ASSET_TEX2D_HUD_INDICATORICONTURN -.incbin "./build/us_1.0/assets/textures/2d/hud/indicatoricon_turn.bin" -glabel ASSET_TEX2D_HUD_INDICATORICONSLIGHTTURN -.incbin "./build/us_1.0/assets/textures/2d/hud/indicatoricon_slight_turn.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_0.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_1.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_2.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_3.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_4.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_5.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_6 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_6.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_7 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_7.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_8 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_8.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_9 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_9.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_10 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_10.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_11 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_11.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_12 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_12.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_13 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_13.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_14 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_14.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEOBJECT_15 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_object_15.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKECLOUD_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_cloud_0.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKECLOUD_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_cloud_1.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKECLOUD_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_cloud_2.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKECLOUD_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_cloud_3.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKECLOUD_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_cloud_4.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKECLOUD_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_cloud_5.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKECLOUD_6 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_cloud_6.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKECLOUD_7 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_cloud_7.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKECLOUD_8 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_cloud_8.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEGRASS_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_grass_0.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEGRASS_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_grass_1.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEGRASS_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_grass_2.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEGRASS_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_grass_3.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEGRASS_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_grass_4.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEGRASS_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_grass_5.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEGRASS_6 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_grass_6.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEGRASS_7 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_grass_7.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEGRASS_8 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_grass_8.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEGRASS_9 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_grass_9.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEGRASS_10 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_grass_10.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEGRASS_11 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_grass_11.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEGRASS_12 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_grass_12.bin" -glabel ASSET_TEX2D_OBJECTS_SMOKEGRASS_13 -.incbin "./build/us_1.0/assets/textures/2d/objects/smoke_grass_13.bin" -glabel ASSET_TEX2D_OBJECTS_MIST_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/mist_0.bin" -glabel ASSET_TEX2D_OBJECTS_MIST_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/mist_1.bin" -glabel ASSET_TEX2D_OBJECTS_MIST_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/mist_2.bin" -glabel ASSET_TEX2D_OBJECTS_MIST_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/mist_3.bin" -glabel ASSET_TEX2D_OBJECTS_MIST_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/mist_4.bin" -glabel ASSET_TEX2D_OBJECTS_MIST_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/mist_5.bin" -glabel ASSET_TEX2D_OBJECTS_MIST_6 -.incbin "./build/us_1.0/assets/textures/2d/objects/mist_6.bin" -glabel ASSET_TEX2D_OBJECTS_MIST_7 -.incbin "./build/us_1.0/assets/textures/2d/objects/mist_7.bin" -glabel ASSET_TEX2D_OBJECTS_MIST_8 -.incbin "./build/us_1.0/assets/textures/2d/objects/mist_8.bin" -glabel ASSET_TEX2D_OBJECTS_MIST_9 -.incbin "./build/us_1.0/assets/textures/2d/objects/mist_9.bin" -glabel ASSET_TEX2D_OBJECTS_MIST_10 -.incbin "./build/us_1.0/assets/textures/2d/objects/mist_10.bin" -glabel ASSET_TEX2D_OBJECTS_FLAMINGTORCH_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/flaming_torch_0.bin" -glabel ASSET_TEX2D_OBJECTS_FLAMINGTORCH_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/flaming_torch_1.bin" -glabel ASSET_TEX2D_OBJECTS_FLAMINGTORCH_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/flaming_torch_2.bin" -glabel ASSET_TEX2D_OBJECTS_FLAMINGTORCH_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/flaming_torch_3.bin" -glabel ASSET_TEX2D_OBJECTS_FLAMINGTORCH_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/flaming_torch_4.bin" -glabel ASSET_TEX2D_OBJECTS_FLAMINGTORCH_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/flaming_torch_5.bin" -glabel ASSET_TEX2D_OBJECTS_FLAMINGTORCH_6 -.incbin "./build/us_1.0/assets/textures/2d/objects/flaming_torch_6.bin" -glabel ASSET_TEX2D_OBJECTS_FLAMINGTORCH_7 -.incbin "./build/us_1.0/assets/textures/2d/objects/flaming_torch_7.bin" -glabel ASSET_TEX2D_OBJECTS_FLAMINGTORCH_8 -.incbin "./build/us_1.0/assets/textures/2d/objects/flaming_torch_8.bin" -glabel ASSET_TEX2D_OBJECTS_FLAMINGTORCH_9 -.incbin "./build/us_1.0/assets/textures/2d/objects/flaming_torch_9.bin" -glabel ASSET_TEX2D_OBJECTS_FLAMINGTORCH_10 -.incbin "./build/us_1.0/assets/textures/2d/objects/flaming_torch_10.bin" -glabel ASSET_TEX2D_OBJECTS_FLAMINGTORCH_11 -.incbin "./build/us_1.0/assets/textures/2d/objects/flaming_torch_11.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_0 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_0.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_1 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_1.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_2 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_2.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_3 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_3.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_4 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_4.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_5 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_5.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_6 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_6.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_7 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_7.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_8 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_8.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_9 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_9.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_10 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_10.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_11 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_11.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_12 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_12.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_13 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_13.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_14 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_14.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_15 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_15.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_16 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_16.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_17 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_17.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_18 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_18.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_19 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_19.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_20 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_20.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_21 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_21.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_22 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_22.bin" -glabel ASSET_TEX2D_UNUSED_SPLASH_23 -.incbin "./build/us_1.0/assets/textures/2d/unused/splash_23.bin" -glabel ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_0 -.incbin "./build/us_1.0/assets/textures/2d/unused/weapon_balloon_pop_0.bin" -glabel ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_1 -.incbin "./build/us_1.0/assets/textures/2d/unused/weapon_balloon_pop_1.bin" -glabel ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_2 -.incbin "./build/us_1.0/assets/textures/2d/unused/weapon_balloon_pop_2.bin" -glabel ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_3 -.incbin "./build/us_1.0/assets/textures/2d/unused/weapon_balloon_pop_3.bin" -glabel ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_4 -.incbin "./build/us_1.0/assets/textures/2d/unused/weapon_balloon_pop_4.bin" -glabel ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_5 -.incbin "./build/us_1.0/assets/textures/2d/unused/weapon_balloon_pop_5.bin" -glabel ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_6 -.incbin "./build/us_1.0/assets/textures/2d/unused/weapon_balloon_pop_6.bin" -glabel ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_7 -.incbin "./build/us_1.0/assets/textures/2d/unused/weapon_balloon_pop_7.bin" -glabel ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_8 -.incbin "./build/us_1.0/assets/textures/2d/unused/weapon_balloon_pop_8.bin" -glabel ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_9 -.incbin "./build/us_1.0/assets/textures/2d/unused/weapon_balloon_pop_9.bin" -glabel ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_10 -.incbin "./build/us_1.0/assets/textures/2d/unused/weapon_balloon_pop_10.bin" -glabel ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_11 -.incbin "./build/us_1.0/assets/textures/2d/unused/weapon_balloon_pop_11.bin" -glabel ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_12 -.incbin "./build/us_1.0/assets/textures/2d/unused/weapon_balloon_pop_12.bin" -glabel ASSET_TEX2D_OBJECTS_LAVASPURT_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/lava_spurt_0.bin" -glabel ASSET_TEX2D_OBJECTS_LAVASPURT_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/lava_spurt_1.bin" -glabel ASSET_TEX2D_OBJECTS_LAVASPURT_2 -.incbin "./build/us_1.0/assets/textures/2d/objects/lava_spurt_2.bin" -glabel ASSET_TEX2D_OBJECTS_LAVASPURT_3 -.incbin "./build/us_1.0/assets/textures/2d/objects/lava_spurt_3.bin" -glabel ASSET_TEX2D_OBJECTS_LAVASPURT_4 -.incbin "./build/us_1.0/assets/textures/2d/objects/lava_spurt_4.bin" -glabel ASSET_TEX2D_OBJECTS_LAVASPURT_5 -.incbin "./build/us_1.0/assets/textures/2d/objects/lava_spurt_5.bin" -glabel ASSET_TEX2D_OBJECTS_LAVASPURT_6 -.incbin "./build/us_1.0/assets/textures/2d/objects/lava_spurt_6.bin" -glabel ASSET_TEX2D_OBJECTS_LAVASPURT_7 -.incbin "./build/us_1.0/assets/textures/2d/objects/lava_spurt_7.bin" -glabel ASSET_TEX2D_OBJECTS_LAVASPURT_8 -.incbin "./build/us_1.0/assets/textures/2d/objects/lava_spurt_8.bin" -glabel ASSET_TEX2D_OBJECTS_LAVASPURT_9 -.incbin "./build/us_1.0/assets/textures/2d/objects/lava_spurt_9.bin" -glabel ASSET_TEX2D_OBJECTS_LAVASPURT_10 -.incbin "./build/us_1.0/assets/textures/2d/objects/lava_spurt_10.bin" -glabel ASSET_TEX2D_OBJECTS_LAVASPURT_11 -.incbin "./build/us_1.0/assets/textures/2d/objects/lava_spurt_11.bin" -glabel ASSET_TEX2D_OBJECTS_LAVASPURT_12 -.incbin "./build/us_1.0/assets/textures/2d/objects/lava_spurt_12.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_0 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_small_pop_0.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_1 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_small_pop_1.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_2 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_small_pop_2.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_3 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_small_pop_3.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_4 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_small_pop_4.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_5 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_small_pop_5.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_6 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_small_pop_6.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_7 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_small_pop_7.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_8 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_small_pop_8.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_9 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_small_pop_9.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_10 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_small_pop_10.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_11 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_small_pop_11.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_12 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_small_pop_12.bin" -glabel ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_13 -.incbin "./build/us_1.0/assets/textures/2d/unknown/unknown_small_pop_13.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_0 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_0.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_1 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_1.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_2 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_2.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_3 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_3.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_4 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_4.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_5 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_5.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_6 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_6.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_7 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_7.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_8 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_8.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_9 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_9.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_10 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_10.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_11 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_11.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_12 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_12.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_13 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_13.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_14 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_14.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE0_15 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre0_15.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_0 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_0.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_1 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_1.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_2 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_2.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_3 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_3.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_4 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_4.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_5 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_5.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_6 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_6.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_7 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_7.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_8 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_8.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_9 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_9.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_10 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_10.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_11 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_11.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_12 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_12.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_13 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_13.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_14 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_14.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE1_15 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre1_15.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_0 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_0.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_1 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_1.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_2 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_2.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_3 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_3.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_4 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_4.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_5 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_5.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_6 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_6.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_7 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_7.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_8 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_8.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_9 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_9.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_10 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_10.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_11 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_11.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_12 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_12.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_13 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_13.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_14 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_14.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE2_15 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre2_15.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_0 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_0.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_1 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_1.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_2 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_2.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_3 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_3.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_4 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_4.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_5 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_5.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_6 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_6.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_7 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_7.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_8 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_8.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_9 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_9.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_10 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_10.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_11 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_11.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_12 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_12.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_13 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_13.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_14 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_14.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_TYRE3_15 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/tyre3_15.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_0 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_0.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_1 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_1.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_2 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_2.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_3 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_3.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_4 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_4.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_5 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_5.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_6 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_6.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_7 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_7.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_8 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_8.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_9 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_9.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_10 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_10.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_11 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_11.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_12 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_12.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_13 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_13.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_14 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_14.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN0_15 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan0_15.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_0 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_0.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_1 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_1.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_2 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_2.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_3 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_3.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_4 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_4.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_5 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_5.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_6 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_6.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_7 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_7.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_8 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_8.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_9 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_9.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_10 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_10.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_11 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_11.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_12 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_12.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_13 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_13.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_14 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_14.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_FAN1_15 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/fan1_15.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_0 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_0.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_1 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_1.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_2 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_2.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_3 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_3.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_4 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_4.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_5 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_5.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_6 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_6.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_7 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_7.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_8 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_8.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_9 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_9.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_10 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_10.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_11 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_11.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_12 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_12.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_13 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_13.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_14 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_14.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_15 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller0_15.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_0 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_0.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_1 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_1.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_2 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_2.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_3 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_3.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_4 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_4.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_5 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_5.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_6 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_6.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_7 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_7.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_8 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_8.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_9 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_9.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_10 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_10.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_11 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_11.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_12 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_12.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_13 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_13.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_14 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_14.bin" -glabel ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_15 -.incbin "./build/us_1.0/assets/textures/2d/vehicle_parts/propeller1_15.bin" -glabel ASSET_TEX2D_UNUSED_RARELETTERS_0 -.incbin "./build/us_1.0/assets/textures/2d/unused/rare_letters_0.bin" -glabel ASSET_TEX2D_UNUSED_RARELETTERS_1 -.incbin "./build/us_1.0/assets/textures/2d/unused/rare_letters_1.bin" -glabel ASSET_TEX2D_UNUSED_RARELETTERS_2 -.incbin "./build/us_1.0/assets/textures/2d/unused/rare_letters_2.bin" -glabel ASSET_TEX2D_OBJECTS_BOLTGLOW_0 -.incbin "./build/us_1.0/assets/textures/2d/objects/bolt_glow_0.bin" -glabel ASSET_TEX2D_OBJECTS_BOLTGLOW_1 -.incbin "./build/us_1.0/assets/textures/2d/objects/bolt_glow_1.bin" -glabel ASSET_TEX2D_MENU_ICONTROPHYNOTCOLLECTED -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_trophy_not_collected.bin" -glabel ASSET_TEX2D_MENU_ICONTROPHYCOLLECTED -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_trophy_collected.bin" -glabel ASSET_TEX2D_MENU_ICONKEYNOTCOLLECTED -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_key_not_collected.bin" -glabel ASSET_TEX2D_MENU_ICONKEYCOLLECTED -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_key_collected.bin" -glabel ASSET_TEX2D_MENU_ICONWIZPIGAMULET0_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_wizpig_amulet0_0.bin" -glabel ASSET_TEX2D_MENU_ICONWIZPIGAMULET0_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_wizpig_amulet0_1.bin" -glabel ASSET_TEX2D_MENU_ICONWIZPIGAMULET1_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_wizpig_amulet1_0.bin" -glabel ASSET_TEX2D_MENU_ICONWIZPIGAMULET1_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_wizpig_amulet1_1.bin" -glabel ASSET_TEX2D_MENU_ICONWIZPIGAMULET2_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_wizpig_amulet2_0.bin" -glabel ASSET_TEX2D_MENU_ICONWIZPIGAMULET2_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_wizpig_amulet2_1.bin" -glabel ASSET_TEX2D_MENU_ICONWIZPIGAMULET3_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_wizpig_amulet3_0.bin" -glabel ASSET_TEX2D_MENU_ICONWIZPIGAMULET3_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_wizpig_amulet3_1.bin" -glabel ASSET_TEX2D_MENU_ICONWIZPIGAMULET4_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_wizpig_amulet4_0.bin" -glabel ASSET_TEX2D_MENU_ICONWIZPIGAMULET4_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_wizpig_amulet4_1.bin" -glabel ASSET_TEX2D_MENU_ICONTTAMULET0_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_tt_amulet0_0.bin" -glabel ASSET_TEX2D_MENU_ICONTTAMULET0_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_tt_amulet0_1.bin" -glabel ASSET_TEX2D_MENU_ICONTTAMULET1_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_tt_amulet1_0.bin" -glabel ASSET_TEX2D_MENU_ICONTTAMULET1_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_tt_amulet1_1.bin" -glabel ASSET_TEX2D_MENU_ICONTTAMULET2_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_tt_amulet2_0.bin" -glabel ASSET_TEX2D_MENU_ICONTTAMULET2_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_tt_amulet2_1.bin" -glabel ASSET_TEX2D_MENU_ICONTTAMULET3_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_tt_amulet3_0.bin" -glabel ASSET_TEX2D_MENU_ICONTTAMULET3_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_tt_amulet3_1.bin" -glabel ASSET_TEX2D_MENU_ICONTTAMULET4_0 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_tt_amulet4_0.bin" -glabel ASSET_TEX2D_MENU_ICONTTAMULET4_1 -.incbin "./build/us_1.0/assets/textures/2d/menu/icon_tt_amulet4_1.bin" -glabel ASSET_TEXTURES_2D_END - -/********** ASSET_TEXTURES_2D_TABLE **********/ - -.balign 16 -glabel ASSET_TEXTURES_2D_TABLE -.word ASSET_TEX2D_SMALLFONT_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_SMALLFONT_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_SMALLFONT_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_RETICLESQUARE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_RETICLECIRCLE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_RETICLEX - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_CAROUTLINE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_TRANSPARENT - ASSET_TEXTURES_2D -.word ASSET_TEX2D_SHADOW_CAR - ASSET_TEXTURES_2D -.word ASSET_TEX2D_SHADOW_CIRCLE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_SHADOW_PLANE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_SHADOW_MAGICCARPET - ASSET_TEXTURES_2D -.word ASSET_TEX2D_SHADOW_WIZPIGROCKET - ASSET_TEXTURES_2D -.word ASSET_TEX2D_SHADOW_UNKNOWN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_SHADOW_PTERODACTYL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_SHADOW_SMOKEY - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_GROUNDZIPPER - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_FOSSILCANYON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_ANCIENTLAKE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_PIRATELAGOON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_WHALEBAY - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_SNOWBALLVALLEY - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_HOTTOPVOLCANO - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_CRESCENTISLAND - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_UNUSED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_EVERFROSTPEAK - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_UNUSED2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_WALRUSCOVE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_UNUSED3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_BOULDERCANYON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_SMOKEYCASTLE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_CENTRALAREA - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_FIREMOUNTAIN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_SPACEPORTALPHA - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_SPACEDUSTALLEY - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_TREASURECAVES - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_GREENWOODVILLAGE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_DARKMOONCAVERNS - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_STARCITY - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_WINDMILLPLAINS - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_FROSTYVILLAGE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_DARKWATERBEACH - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_JUNGLEFALLS - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_ICICLEPYRAMID - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_HAUNTEDWOODS - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_BLUEY - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_BUBBLER - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_SMOKEY - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_TRICKYTOPS - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_WIZPIG1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_WIZPIG2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_WEATHER_SNOWFLAKE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_WEATHER_RAIN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_WEATHER_UNKNOWN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_WEATHER_RAINDROP_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_WEATHER_RAINDROP_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_WEATHER_RAINDROP_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_WEATHER_RAINDROP_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_WEATHER_RAINDROP_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_WEATHER_SNOWFLAKE2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLE_SMOKE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLE_SMOKE2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_ANIMATEDUNKNOWN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_ANIMATEDUNKNOWN2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LENSFLARE1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LENSFLARE2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LENSFLARE3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_WATERFALL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_WATERFALL2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_WHITECLOUDS - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_TREELEAF - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_REDGREENUNKNOWN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_SCHOOLOFFISH - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_BUTTERFLYORANGE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_BUTTERFLYPURPLE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_BAT - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_FISH - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_BROWNEGG - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_SMOKE3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_SMOKE4_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_SMOKE4_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_SMOKE4_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_SMOKE4_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_SMOKE4_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_SMOKE4_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_SMOKE4_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_BUBBLESSMALL_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_BUBBLESSMALL_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_SMOKE5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_FUNFONT_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_FUNFONT_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_FUNFONT_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_FUNFONT_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_FUNFONT_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_FUNFONT_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTBGDINODOMAIN_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTBGDINODOMAIN_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTBGSHERBETISLAND_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTBGSHERBETISLAND_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTBGSNOWFLAKEMOUNTAIN_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTBGSNOWFLAKEMOUNTAIN_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTBGDRAGONFOREST_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTBGDRAGONFOREST_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTBGFUTUREFUNLAND_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTBGFUTUREFUNLAND_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKWHITETEX - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTLOCKED_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTLOCKED_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTLOCKED_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTUNLOCKED_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTUNLOCKED_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRACKSELECTUNLOCKED_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ARROWBLUERIGHT - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ARROWBLUEUP - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ARROWBLUELEFT - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ARROWBLUEDOWN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BUBBLEWEAPON_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BUBBLEWEAPON_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BUBBLEWEAPON_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BUBBLEWEAPON_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TTBEATENICON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_EGGICON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_KRUNCHICON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_BUMPERICON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIPTUPICON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMBERICON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_CONKERICON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_BANJOICON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_DRUMSTICKICON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_PIPSYICON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TTICON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_DIDDYICON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_SMALLGOLDCAP - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_CARICON_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_CARICON_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_HOVERICON_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_HOVERICON_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_PLANEICON_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_PLANEICON_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELCAROPTIONNONSELECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELCAROPTIONSELECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELHOVEROPTIONNONSELECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELHOVEROPTIONSELECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELPLANEOPTIONNONSELECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELPLANEOPTIONSELECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TIMETRIALONICON_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TIMETRIALONICON_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TIMETRIALOFFICON_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TIMETRIALOFFICON_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELONOPTIONNONSELECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELONOPTIONSELECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELOFFOPTIONNONSELECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELOFFOPTIONSELECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELPLAYER1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELPLAYER2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELPLAYER3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELPLAYER4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELTT - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_LABELVEHICLE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_SUBTITLEFONT_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_SUBTITLEFONT_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_SUBTITLEFONT_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_A - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_B - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_C - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_D - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_E - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_F - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_G - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_H - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_I - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_J - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_K - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_L - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_M - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_N - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_O - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_P - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_Q - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_R - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_S - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_T - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_U - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_V - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_W - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_X - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_Y - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_Z - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_QUESTIONMARK - ASSET_TEXTURES_2D -.word ASSET_TEX2D_BIGFONT_PERIOD - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SPARKLE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SPARKLE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SPARKLE_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SPARKLE_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SPARKLE_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SPARKLE_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SPARKLE_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONBLUE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONYELLOW - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONRED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONGREEN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONCYAN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONWHITE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONORANGE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BOMBEXPLOSIONPURPLE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_WHITEGREYCHECKBOARD - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_NEGATIVERED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_NEGATIVEBLUE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_NEGATIVEGREEN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_NEGATIVEPURPLE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_RAINBOW_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_RAINBOW_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_EGG_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_EGG_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_EGG_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_EGG_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_WOODPANEL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_COBBLEPANEL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_PORTALPANEL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONRUBBISHBIN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONN64 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONTIMES - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONCONTROLLERPAK - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONEXTERNALDATA - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONGHOSTS - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BOMB_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BOMB_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_OILPUDDLE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_OILSLICK - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_EYESINDARK - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_COLON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_RETICALHOMING_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_RETICALHOMING_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGREDSPHERE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FINISH_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FINISH_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FINISH_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_GETREADY_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_GETREADY_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_GETREADY_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_GO_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_GO_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_LAP - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FORWARDSLASH - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIME - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_PLACENUMBER_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_PLACENUMBER_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_PLACENUMBER_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_PLACENUMBER_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_PLACENUMBER_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_PLACENUMBER_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_PLACENUMBER_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_PLACENUMBER_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBER_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBER_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBER_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBER_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBER_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBER_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBER_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBER_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBER_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBER_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_COLONSMALL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBERSMALL_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBERSMALL_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBERSMALL_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBERSMALL_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBERSMALL_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBERSMALL_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBERSMALL_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBERSMALL_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBERSMALL_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBERSMALL_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_GOSMALL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_LAPSMALL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_GETREADYSMALL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FINALSMALL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FINISHSMALL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_LAP2SMALL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WAYSMALL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WRONGSMALL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_POSITIONARROW_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_POSITIONARROW_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_POSITIONARROW_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBERSSINGLETEX - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIMERNUMBERSSMALLSINGLETEX - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_COLON2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_COLORSMALL2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_LAP2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_TIME2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FORWARDSLASHSMALL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FORWARDSLASH2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_X - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_PLACENUMBERSSINGLETEX - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_PLACENUMBERSUFFIXES - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_XSMALL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_SILVERCOINCOLLECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_GOLDENBALLOONICON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_SILVERBALLOONICON - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LEVELNAME - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_NPC - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MINIMAP_PLAYER - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONBOOST_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONBOOST_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONBOOST_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONROCKET_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONROCKET_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONROCKET_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONTRAP_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONTRAP_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONTRAP_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONSHIELD_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONSHIELD_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONSHIELD_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONMAGNET_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONMAGNET_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONMAGNET_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WEAPONICONROCKETNUMBERS_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BETAICONKRUNCH - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BETAICONBUMPER - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BETAICONTIPTUP - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BETAICONCONKER - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BETAICONTIMBER - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BETAICONBANJO - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BETAICONDRUMSTICK - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BETAICONPIPSY - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FINALLAP_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FINALLAP_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FINALLAP_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FINALLAP_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FINALLAP_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FINAL_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FINAL_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_LAPLARGE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_LAPLARGE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_LAP2_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WAY - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WRONG_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_WRONG_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_PROAMLOGO_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_PROAMLOGO_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_PROAMLOGO_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_SPEEDOMETERTICKS - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_SPEEDOMETER0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_SPEEDOMETER30 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_SPEEDOMETER60 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_SPEEDOMETER90 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_SPEEDOMETER120 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_SPEEDOMETER150 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_SPEEDOMETERARROW - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FIRSTPLACEONE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FIRSTPLACEONE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FIRSTPLACEST_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_FIRSTPLACEST_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_13 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_14 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_15 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_16 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_17 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_18 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSTRING_19 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TITLE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TITLE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TITLE_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TITLE_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TITLE_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TITLE_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TITLE_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TITLE_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TITLE_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TITLE_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_TRADEMARKSMALL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_FIREBALLUNKNOWN_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_FIREBALLUNKNOWN_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_FIREBALLUNKNOWN_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_FIREBALLUNKNOWN_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FIREBALL_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FIREBALL_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FIREBALL_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FIREBALL_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FIREBALL_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FIREBALL_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FIREBALL_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FIREBALL_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FIREBALL_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FIREBALL_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_WIZGHOST_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_WIZGHOST_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_WIZGHOST_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_WIZGHOST_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_WIZGHOST_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_WIZGHOST_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_WIZGHOST_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_WIZGHOST_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_WIZGHOST_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_WIZGHOST_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_WIZGHOST_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_WIZGHOST_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_WIZGHOST_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNLIGHT_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNLIGHT_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_SMALLSTAR - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BUOY_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BUOY_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BUOY_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BUOY_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMARTIETREE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMARTIETREE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMARTIETREE_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMARTIETREE_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BEACHTREE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BEACHTREE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BEACHTREE_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BLUEBERRYBUSH_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BLUEBERRYBUSH_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BLUEBERRYBUSH_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BLUEBERRYBUSH_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BLUEBERRYBUSH_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BLUEBERRYBUSH_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_RUBBERSNOWTREE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_RUBBERSNOWTREE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_RUBBERSNOWTREE_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_RUBBERSNOWTREE_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SKINNYSNOWTREE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SKINNYSNOWTREE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SKINNYSNOWTREE_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SKINNYSNOWTREE_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_XMASTREE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_XMASTREE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_XMASTREE_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_XMASTREE_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_ALPINESNOWTREE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_ALPINESNOWTREE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_ALPINESNOWTREE_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_ALPINESNOWTREE_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_RUBBERTREE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_RUBBERTREE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_RUBBERTREE_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_RUBBERTREE_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_PALMTREETOP_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_PALMTREETOP_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_PALMTREETOP_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_PALMTREETOP_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_PALMTREETOP_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_PALMPLANT_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_PALMPLANT_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_PALMPLANT_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_PALMTREETOPCHEA_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_PALMTREETOPCHEA_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FIRTREE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FIRTREE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FIRTREE_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FIRTREE_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SPACETREE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SPACETREE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAMPPOST_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAMPPOST_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAMPPOST_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAMPPOST_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLOWERS_WHITEBUTTERCUP_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLOWERS_WHITEBUTTERCUP_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLOWERS_YELLOWBELLFLOWER_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLOWERS_YELLOWBELLFLOWER_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLOWERS_YELLOWBUTTERCUP_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLOWERS_YELLOWBUTTERCUP_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLOWERS_BLUEBUTTERCUP_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLOWERS_BLUEBUTTERCUP_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLOWERS_WATERLILY_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLOWERS_WATERLILY_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_REEDNOLEAF_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_REEDNOLEAF_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_REEDLEAVES_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_REEDLEAVES_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_REEDLEAVES_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_REEDONELEAF_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_REEDONELEAF_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_REEDONELEAF_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SNOWMANTOPHAT_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SNOWMANTOPHAT_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SNOWMANTOPHAT_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SNOWMANTOPHAT_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BELL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SNOWMAN_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SNOWMAN_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SNOWMAN_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SNOWMAN_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_TORCHWITHEYES - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGORBRED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGORBYELLOW - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BETAANCIENTLAKESIGN_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BETAANCIENTLAKESIGN_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BETAANCIENTLAKESIGN_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BETAANCIENTLAKESIGN_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BETAANCIENTLAKESIGN_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGFOGCHANGER - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGANIMCAR - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGSKYCONTROL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGCAMERACONTROL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_DEBUGUNKNOWNEXIT - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_DEBUGUNKNOWNTRAFFICLIGHT - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGANIMATOR - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGAUDIO - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGAUDIOLINE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGAUDIOSEQLINE - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGAUDIOSEQ - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGAUDIOREVERB_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGAUDIOREVERB_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONBOOST_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONBOOST_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONBOOST_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONMISSILE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONMISSILE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONMISSILE_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONTRAP_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONTRAP_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONTRAP_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSHIELD_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSHIELD_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSHIELD_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONMAGNET_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONMAGNET_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONMAGNET_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BALLOONMISSILEGIFT_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BALLOONMISSILEGIFT_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BALLOONMISSILEGIFT_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BALLOONBOOSTGIFT_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BALLOONBOOSTGIFT_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BALLOONBOOSTGIFT_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONGOLD_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONGOLD_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONGOLD_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSILVER_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSILVER_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BALLOONSILVER_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BANANA_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BANANA_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BANANA_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BANANA_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BANANA_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BANANA_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BANANA_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BANANA_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SILVERCOIN_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SILVERCOIN_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SILVERCOIN_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SILVERCOIN_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SILVERCOIN_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SILVERCOIN_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SILVERCOIN_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SILVERCOIN_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SILVERCOIN_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SILVERCOIN_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SILVERCOIN_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_CHECKPOINTFLAG_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_RAREWARECOIN_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_RAREWARECOIN_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_RAREWARECOIN_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_RAREWARECOIN_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_RAREWARECOIN_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_RAREWARECOIN_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_RAREWARECOIN_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_RAREWARECOIN_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_RAREWARECOIN_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_RAREWARECOIN_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_RAREWARECOIN_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SILVERCOINVERTICAL - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_BANANAICON_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_BANANAICON_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_SPARKLE_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_SPARKLE_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_SPARKLE_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_SPARKLE_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_PARTICLES_SPARKLE_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGEGGCREATOR_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGEGGCREATOR_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGEGGCREATOR_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGEGGCREATOR_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGEGGCREATOR_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_DEBUGEGGCREATOR_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BONUSGEM_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BONUSGEM_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BONUSGEM_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BONUSGEM_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BONUSGEM_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BONUSGEM_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BONUSGEM_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_BONUSGEM_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_INDICATORICONCAUTION - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_INDICATORICONDOWN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_INDICATORICONUTURN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_INDICATORICONTURN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_HUD_INDICATORICONSLIGHTTURN - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_13 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_14 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEOBJECT_15 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKECLOUD_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKECLOUD_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKECLOUD_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKECLOUD_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKECLOUD_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKECLOUD_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKECLOUD_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKECLOUD_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKECLOUD_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEGRASS_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEGRASS_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEGRASS_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEGRASS_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEGRASS_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEGRASS_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEGRASS_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEGRASS_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEGRASS_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEGRASS_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEGRASS_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEGRASS_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEGRASS_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_SMOKEGRASS_13 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_MIST_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_MIST_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_MIST_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_MIST_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_MIST_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_MIST_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_MIST_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_MIST_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_MIST_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_MIST_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_MIST_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLAMINGTORCH_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLAMINGTORCH_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLAMINGTORCH_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLAMINGTORCH_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLAMINGTORCH_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLAMINGTORCH_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLAMINGTORCH_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLAMINGTORCH_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLAMINGTORCH_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLAMINGTORCH_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLAMINGTORCH_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_FLAMINGTORCH_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_13 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_14 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_15 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_16 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_17 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_18 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_19 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_20 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_21 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_22 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_SPLASH_23 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_WEAPONBALLOONPOP_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAVASPURT_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAVASPURT_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAVASPURT_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAVASPURT_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAVASPURT_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAVASPURT_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAVASPURT_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAVASPURT_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAVASPURT_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAVASPURT_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAVASPURT_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAVASPURT_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_LAVASPURT_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNKNOWN_UNKNOWNSMALLPOP_13 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_13 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_14 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE0_15 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_13 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_14 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE1_15 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_13 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_14 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE2_15 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_13 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_14 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_TYRE3_15 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_13 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_14 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN0_15 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_13 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_14 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_FAN1_15 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_13 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_14 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER0_15 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_3 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_4 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_5 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_6 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_7 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_8 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_9 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_10 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_11 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_12 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_13 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_14 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_VEHICLE_PARTS_PROPELLER1_15 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_RARELETTERS_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_RARELETTERS_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_UNUSED_RARELETTERS_2 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BOLTGLOW_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_OBJECTS_BOLTGLOW_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONTROPHYNOTCOLLECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONTROPHYCOLLECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONKEYNOTCOLLECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONKEYCOLLECTED - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONWIZPIGAMULET0_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONWIZPIGAMULET0_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONWIZPIGAMULET1_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONWIZPIGAMULET1_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONWIZPIGAMULET2_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONWIZPIGAMULET2_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONWIZPIGAMULET3_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONWIZPIGAMULET3_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONWIZPIGAMULET4_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONWIZPIGAMULET4_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONTTAMULET0_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONTTAMULET0_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONTTAMULET1_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONTTAMULET1_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONTTAMULET2_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONTTAMULET2_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONTTAMULET3_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONTTAMULET3_1 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONTTAMULET4_0 - ASSET_TEXTURES_2D -.word ASSET_TEX2D_MENU_ICONTTAMULET4_1 - ASSET_TEXTURES_2D -.word ASSET_TEXTURES_2D_END - ASSET_TEXTURES_2D -.word 0xFFFFFFFF -glabel ASSET_TEXTURES_2D_TABLE_END - -/********** ASSET_GAME_TEXT **********/ - -.balign 16 -glabel ASSET_GAME_TEXT -glabel ASSET_GAME_TEXT_0 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_0.bin" -glabel ASSET_GAME_TEXT_1 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_1.bin" -glabel ASSET_GAME_TEXT_2 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_2.bin" -glabel ASSET_GAME_TEXT_3 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_3.bin" -glabel ASSET_GAME_TEXT_4 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_4.bin" -glabel ASSET_GAME_TEXT_5 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_5.bin" -glabel ASSET_GAME_TEXT_6 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_6.bin" -glabel ASSET_GAME_TEXT_7 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_7.bin" -glabel ASSET_GAME_TEXT_8 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_8.bin" -glabel ASSET_GAME_TEXT_9 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_9.bin" -glabel ASSET_GAME_TEXT_10 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_10.bin" -glabel ASSET_GAME_TEXT_11 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_11.bin" -glabel ASSET_GAME_TEXT_12 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_12.bin" -glabel ASSET_GAME_TEXT_13 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_13.bin" -glabel ASSET_GAME_TEXT_14 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_14.bin" -glabel ASSET_GAME_TEXT_15 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_15.bin" -glabel ASSET_GAME_TEXT_16 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_16.bin" -glabel ASSET_GAME_TEXT_17 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_17.bin" -glabel ASSET_GAME_TEXT_18 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_18.bin" -glabel ASSET_GAME_TEXT_19 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_19.bin" -glabel ASSET_GAME_TEXT_20 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_20.bin" -glabel ASSET_GAME_TEXT_21 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_21.bin" -glabel ASSET_GAME_TEXT_22 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_22.bin" -glabel ASSET_GAME_TEXT_23 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_23.bin" -glabel ASSET_GAME_TEXT_24 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_24.bin" -glabel ASSET_GAME_TEXT_25 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_25.bin" -glabel ASSET_GAME_TEXT_26 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_26.bin" -glabel ASSET_GAME_TEXT_27 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_27.bin" -glabel ASSET_GAME_TEXT_28 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_28.bin" -glabel ASSET_GAME_TEXT_29 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_29.bin" -glabel ASSET_GAME_TEXT_30 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_30.bin" -glabel ASSET_GAME_TEXT_31 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_31.bin" -glabel ASSET_GAME_TEXT_32 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_32.bin" -glabel ASSET_GAME_TEXT_33 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_33.bin" -glabel ASSET_GAME_TEXT_34 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_34.bin" -glabel ASSET_GAME_TEXT_35 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_35.bin" -glabel ASSET_GAME_TEXT_36 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_36.bin" -glabel ASSET_GAME_TEXT_37 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_37.bin" -glabel ASSET_GAME_TEXT_38 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_38.bin" -glabel ASSET_GAME_TEXT_39 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_39.bin" -glabel ASSET_GAME_TEXT_40 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_40.bin" -glabel ASSET_GAME_TEXT_41 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_41.bin" -glabel ASSET_GAME_TEXT_42 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_42.bin" -glabel ASSET_GAME_TEXT_43 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_43.bin" -glabel ASSET_GAME_TEXT_44 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_44.bin" -glabel ASSET_GAME_TEXT_45 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_45.bin" -glabel ASSET_GAME_TEXT_46 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_46.bin" -glabel ASSET_GAME_TEXT_47 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_47.bin" -glabel ASSET_GAME_TEXT_48 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_48.bin" -glabel ASSET_GAME_TEXT_49 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_49.bin" -glabel ASSET_GAME_TEXT_50 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_50.bin" -glabel ASSET_GAME_TEXT_51 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_51.bin" -glabel ASSET_GAME_TEXT_52 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_52.bin" -glabel ASSET_GAME_TEXT_53 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_53.bin" -glabel ASSET_GAME_TEXT_54 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_54.bin" -glabel ASSET_GAME_TEXT_55 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_55.bin" -glabel ASSET_GAME_TEXT_56 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_56.bin" -glabel ASSET_GAME_TEXT_57 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_57.bin" -glabel ASSET_GAME_TEXT_58 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_58.bin" -glabel ASSET_GAME_TEXT_59 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_59.bin" -glabel ASSET_GAME_TEXT_60 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_60.bin" -glabel ASSET_GAME_TEXT_61 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_61.bin" -glabel ASSET_GAME_TEXT_62 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_62.bin" -glabel ASSET_GAME_TEXT_63 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_63.bin" -glabel ASSET_GAME_TEXT_64 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_64.bin" -glabel ASSET_GAME_TEXT_65 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_65.bin" -glabel ASSET_GAME_TEXT_66 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_66.bin" -glabel ASSET_GAME_TEXT_67 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_67.bin" -glabel ASSET_GAME_TEXT_68 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_68.bin" -glabel ASSET_GAME_TEXT_69 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_69.bin" -glabel ASSET_GAME_TEXT_70 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_70.bin" -glabel ASSET_GAME_TEXT_71 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_71.bin" -glabel ASSET_GAME_TEXT_72 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_72.bin" -glabel ASSET_GAME_TEXT_73 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_73.bin" -glabel ASSET_GAME_TEXT_74 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_74.bin" -glabel ASSET_GAME_TEXT_75 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_75.bin" -glabel ASSET_GAME_TEXT_76 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_76.bin" -glabel ASSET_GAME_TEXT_77 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_77.bin" -glabel ASSET_GAME_TEXT_78 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_78.bin" -glabel ASSET_GAME_TEXT_79 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_79.bin" -glabel ASSET_GAME_TEXT_80 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_80.bin" -glabel ASSET_GAME_TEXT_81 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_81.bin" -glabel ASSET_GAME_TEXT_82 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_82.bin" -glabel ASSET_GAME_TEXT_83 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_83.bin" -glabel ASSET_GAME_TEXT_84 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_84.bin" -glabel ASSET_GAME_TEXT_85 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_85.bin" -glabel ASSET_GAME_TEXT_86 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_86.bin" -glabel ASSET_GAME_TEXT_87 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_87.bin" -glabel ASSET_GAME_TEXT_88 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_88.bin" -glabel ASSET_GAME_TEXT_89 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_89.bin" -glabel ASSET_GAME_TEXT_90 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_90.bin" -glabel ASSET_GAME_TEXT_91 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_91.bin" -glabel ASSET_GAME_TEXT_92 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_92.bin" -glabel ASSET_GAME_TEXT_93 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_93.bin" -glabel ASSET_GAME_TEXT_94 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_94.bin" -glabel ASSET_GAME_TEXT_95 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_95.bin" -glabel ASSET_GAME_TEXT_96 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_96.bin" -glabel ASSET_GAME_TEXT_97 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_97.bin" -glabel ASSET_GAME_TEXT_98 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_98.bin" -glabel ASSET_GAME_TEXT_99 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_99.bin" -glabel ASSET_GAME_TEXT_100 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_100.bin" -glabel ASSET_GAME_TEXT_101 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_101.bin" -glabel ASSET_GAME_TEXT_102 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_102.bin" -glabel ASSET_GAME_TEXT_103 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_103.bin" -glabel ASSET_GAME_TEXT_104 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_104.bin" -glabel ASSET_GAME_TEXT_105 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_105.bin" -glabel ASSET_GAME_TEXT_106 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_106.bin" -glabel ASSET_GAME_TEXT_107 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_107.bin" -glabel ASSET_GAME_TEXT_108 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_108.bin" -glabel ASSET_GAME_TEXT_109 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_109.bin" -glabel ASSET_GAME_TEXT_110 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_110.bin" -glabel ASSET_GAME_TEXT_111 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_111.bin" -glabel ASSET_GAME_TEXT_112 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_112.bin" -glabel ASSET_GAME_TEXT_113 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_113.bin" -glabel ASSET_GAME_TEXT_114 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_114.bin" -glabel ASSET_GAME_TEXT_115 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_115.bin" -glabel ASSET_GAME_TEXT_116 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_116.bin" -glabel ASSET_GAME_TEXT_117 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_117.bin" -glabel ASSET_GAME_TEXT_118 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_118.bin" -glabel ASSET_GAME_TEXT_119 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_119.bin" -glabel ASSET_GAME_TEXT_120 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_120.bin" -glabel ASSET_GAME_TEXT_121 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_121.bin" -glabel ASSET_GAME_TEXT_122 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_122.bin" -glabel ASSET_GAME_TEXT_123 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_123.bin" -glabel ASSET_GAME_TEXT_124 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_124.bin" -glabel ASSET_GAME_TEXT_125 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_125.bin" -glabel ASSET_GAME_TEXT_126 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_126.bin" -glabel ASSET_GAME_TEXT_127 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_127.bin" -glabel ASSET_GAME_TEXT_128 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_128.bin" -glabel ASSET_GAME_TEXT_129 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_129.bin" -glabel ASSET_GAME_TEXT_130 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_130.bin" -glabel ASSET_GAME_TEXT_131 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_131.bin" -glabel ASSET_GAME_TEXT_132 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_132.bin" -glabel ASSET_GAME_TEXT_133 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_133.bin" -glabel ASSET_GAME_TEXT_134 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_134.bin" -glabel ASSET_GAME_TEXT_135 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_135.bin" -glabel ASSET_GAME_TEXT_136 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_136.bin" -glabel ASSET_GAME_TEXT_137 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_137.bin" -glabel ASSET_GAME_TEXT_138 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_138.bin" -glabel ASSET_GAME_TEXT_139 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_139.bin" -glabel ASSET_GAME_TEXT_140 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_140.bin" -glabel ASSET_GAME_TEXT_141 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_141.bin" -glabel ASSET_GAME_TEXT_142 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_142.bin" -glabel ASSET_GAME_TEXT_143 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_143.bin" -glabel ASSET_GAME_TEXT_144 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_144.bin" -glabel ASSET_GAME_TEXT_145 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_145.bin" -glabel ASSET_GAME_TEXT_146 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_146.bin" -glabel ASSET_GAME_TEXT_147 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_147.bin" -glabel ASSET_GAME_TEXT_148 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_148.bin" -glabel ASSET_GAME_TEXT_149 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_149.bin" -glabel ASSET_GAME_TEXT_150 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_150.bin" -glabel ASSET_GAME_TEXT_151 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_151.bin" -glabel ASSET_GAME_TEXT_152 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_152.bin" -glabel ASSET_GAME_TEXT_153 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_153.bin" -glabel ASSET_GAME_TEXT_154 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_154.bin" -glabel ASSET_GAME_TEXT_155 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_155.bin" -glabel ASSET_GAME_TEXT_156 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_156.bin" -glabel ASSET_GAME_TEXT_157 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_157.bin" -glabel ASSET_GAME_TEXT_158 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_158.bin" -glabel ASSET_GAME_TEXT_159 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_159.bin" -glabel ASSET_GAME_TEXT_160 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_160.bin" -glabel ASSET_GAME_TEXT_161 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_161.bin" -glabel ASSET_GAME_TEXT_162 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_162.bin" -glabel ASSET_GAME_TEXT_163 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_163.bin" -glabel ASSET_GAME_TEXT_164 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_164.bin" -glabel ASSET_GAME_TEXT_165 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_165.bin" -glabel ASSET_GAME_TEXT_166 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_166.bin" -glabel ASSET_GAME_TEXT_167 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_167.bin" -glabel ASSET_GAME_TEXT_168 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_168.bin" -glabel ASSET_GAME_TEXT_169 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_169.bin" -glabel ASSET_GAME_TEXT_170 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_170.bin" -glabel ASSET_GAME_TEXT_171 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_171.bin" -glabel ASSET_GAME_TEXT_172 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_172.bin" -glabel ASSET_GAME_TEXT_173 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_173.bin" -glabel ASSET_GAME_TEXT_174 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_174.bin" -glabel ASSET_GAME_TEXT_175 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_175.bin" -glabel ASSET_GAME_TEXT_176 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_176.bin" -glabel ASSET_GAME_TEXT_177 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_177.bin" -glabel ASSET_GAME_TEXT_178 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_178.bin" -glabel ASSET_GAME_TEXT_179 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_179.bin" -glabel ASSET_GAME_TEXT_180 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_180.bin" -glabel ASSET_GAME_TEXT_181 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_181.bin" -glabel ASSET_GAME_TEXT_182 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_182.bin" -glabel ASSET_GAME_TEXT_183 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_183.bin" -glabel ASSET_GAME_TEXT_184 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_184.bin" -glabel ASSET_GAME_TEXT_185 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_185.bin" -glabel ASSET_GAME_TEXT_186 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_186.bin" -glabel ASSET_GAME_TEXT_187 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_187.bin" -glabel ASSET_GAME_TEXT_188 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_188.bin" -glabel ASSET_GAME_TEXT_189 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_189.bin" -glabel ASSET_GAME_TEXT_190 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_190.bin" -glabel ASSET_GAME_TEXT_191 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_191.bin" -glabel ASSET_GAME_TEXT_192 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_192.bin" -glabel ASSET_GAME_TEXT_193 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_193.bin" -glabel ASSET_GAME_TEXT_194 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_194.bin" -glabel ASSET_GAME_TEXT_195 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_195.bin" -glabel ASSET_GAME_TEXT_196 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_196.bin" -glabel ASSET_GAME_TEXT_197 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_197.bin" -glabel ASSET_GAME_TEXT_198 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_198.bin" -glabel ASSET_GAME_TEXT_199 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_199.bin" -glabel ASSET_GAME_TEXT_200 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_200.bin" -glabel ASSET_GAME_TEXT_201 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_201.bin" -glabel ASSET_GAME_TEXT_202 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_202.bin" -glabel ASSET_GAME_TEXT_203 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_203.bin" -glabel ASSET_GAME_TEXT_204 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_204.bin" -glabel ASSET_GAME_TEXT_205 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_205.bin" -glabel ASSET_GAME_TEXT_206 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_206.bin" -glabel ASSET_GAME_TEXT_207 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_207.bin" -glabel ASSET_GAME_TEXT_208 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_208.bin" -glabel ASSET_GAME_TEXT_209 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_209.bin" -glabel ASSET_GAME_TEXT_210 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_210.bin" -glabel ASSET_GAME_TEXT_211 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_211.bin" -glabel ASSET_GAME_TEXT_212 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_212.bin" -glabel ASSET_GAME_TEXT_213 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_213.bin" -glabel ASSET_GAME_TEXT_214 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_214.bin" -glabel ASSET_GAME_TEXT_215 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_215.bin" -glabel ASSET_GAME_TEXT_216 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_216.bin" -glabel ASSET_GAME_TEXT_217 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_217.bin" -glabel ASSET_GAME_TEXT_218 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_218.bin" -glabel ASSET_GAME_TEXT_219 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_219.bin" -glabel ASSET_GAME_TEXT_220 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_220.bin" -glabel ASSET_GAME_TEXT_221 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_221.bin" -glabel ASSET_GAME_TEXT_222 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_222.bin" -glabel ASSET_GAME_TEXT_223 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_223.bin" -glabel ASSET_GAME_TEXT_224 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_224.bin" -glabel ASSET_GAME_TEXT_225 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_225.bin" -glabel ASSET_GAME_TEXT_226 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_226.bin" -glabel ASSET_GAME_TEXT_227 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_227.bin" -glabel ASSET_GAME_TEXT_228 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_228.bin" -glabel ASSET_GAME_TEXT_229 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_229.bin" -glabel ASSET_GAME_TEXT_230 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_230.bin" -glabel ASSET_GAME_TEXT_231 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_231.bin" -glabel ASSET_GAME_TEXT_232 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_232.bin" -glabel ASSET_GAME_TEXT_233 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_233.bin" -glabel ASSET_GAME_TEXT_234 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_234.bin" -glabel ASSET_GAME_TEXT_235 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_235.bin" -glabel ASSET_GAME_TEXT_236 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_236.bin" -glabel ASSET_GAME_TEXT_237 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_237.bin" -glabel ASSET_GAME_TEXT_238 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_238.bin" -glabel ASSET_GAME_TEXT_239 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_239.bin" -glabel ASSET_GAME_TEXT_240 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_240.bin" -glabel ASSET_GAME_TEXT_241 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_241.bin" -glabel ASSET_GAME_TEXT_242 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_242.bin" -glabel ASSET_GAME_TEXT_243 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_243.bin" -glabel ASSET_GAME_TEXT_244 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_244.bin" -glabel ASSET_GAME_TEXT_245 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_245.bin" -glabel ASSET_GAME_TEXT_246 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_246.bin" -glabel ASSET_GAME_TEXT_247 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_247.bin" -glabel ASSET_GAME_TEXT_248 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_248.bin" -glabel ASSET_GAME_TEXT_249 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_249.bin" -glabel ASSET_GAME_TEXT_250 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_250.bin" -glabel ASSET_GAME_TEXT_251 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_251.bin" -glabel ASSET_GAME_TEXT_252 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_252.bin" -glabel ASSET_GAME_TEXT_253 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_253.bin" -glabel ASSET_GAME_TEXT_254 -.incbin "./build/us_1.0/assets/text/game/asset_game_text_254.bin" -glabel ASSET_GAME_TEXT_END - -/********** ASSET_GAME_TEXT_TABLE **********/ - -.balign 16 -glabel ASSET_GAME_TEXT_TABLE -.word (ASSET_GAME_TEXT_0 - ASSET_GAME_TEXT) | 0x80000000 -.word ASSET_GAME_TEXT_1 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_2 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_3 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_4 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_5 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_6 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_7 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_8 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_9 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_10 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_11 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_12 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_13 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_14 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_15 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_16 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_17 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_18 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_19 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_20 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_21 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_22 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_23 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_24 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_25 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_26 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_27 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_28 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_29 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_30 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_31 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_32 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_33 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_34 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_35 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_36 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_37 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_38 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_39 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_40 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_41 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_42 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_43 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_44 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_45 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_46 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_47 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_48 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_49 - ASSET_GAME_TEXT -.word (ASSET_GAME_TEXT_50 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_51 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_52 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_53 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_54 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_55 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_56 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_57 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_58 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_59 - ASSET_GAME_TEXT) | 0x80000000 -.word ASSET_GAME_TEXT_60 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_61 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_62 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_63 - ASSET_GAME_TEXT -.word (ASSET_GAME_TEXT_64 - ASSET_GAME_TEXT) | 0x80000000 -.word ASSET_GAME_TEXT_65 - ASSET_GAME_TEXT -.word (ASSET_GAME_TEXT_66 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_67 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_68 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_69 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_70 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_71 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_72 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_73 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_74 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_75 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_76 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_77 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_78 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_79 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_80 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_81 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_82 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_83 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_84 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_85 - ASSET_GAME_TEXT) | 0x80000000 -.word ASSET_GAME_TEXT_86 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_87 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_88 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_89 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_90 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_91 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_92 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_93 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_94 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_95 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_96 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_97 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_98 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_99 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_100 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_101 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_102 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_103 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_104 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_105 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_106 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_107 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_108 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_109 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_110 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_111 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_112 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_113 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_114 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_115 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_116 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_117 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_118 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_119 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_120 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_121 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_122 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_123 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_124 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_125 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_126 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_127 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_128 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_129 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_130 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_131 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_132 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_133 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_134 - ASSET_GAME_TEXT -.word (ASSET_GAME_TEXT_135 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_136 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_137 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_138 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_139 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_140 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_141 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_142 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_143 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_144 - ASSET_GAME_TEXT) | 0x80000000 -.word ASSET_GAME_TEXT_145 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_146 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_147 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_148 - ASSET_GAME_TEXT -.word (ASSET_GAME_TEXT_149 - ASSET_GAME_TEXT) | 0x80000000 -.word ASSET_GAME_TEXT_150 - ASSET_GAME_TEXT -.word (ASSET_GAME_TEXT_151 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_152 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_153 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_154 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_155 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_156 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_157 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_158 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_159 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_160 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_161 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_162 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_163 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_164 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_165 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_166 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_167 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_168 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_169 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_170 - ASSET_GAME_TEXT) | 0x80000000 -.word ASSET_GAME_TEXT_171 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_172 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_173 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_174 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_175 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_176 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_177 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_178 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_179 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_180 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_181 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_182 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_183 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_184 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_185 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_186 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_187 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_188 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_189 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_190 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_191 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_192 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_193 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_194 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_195 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_196 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_197 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_198 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_199 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_200 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_201 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_202 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_203 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_204 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_205 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_206 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_207 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_208 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_209 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_210 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_211 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_212 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_213 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_214 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_215 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_216 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_217 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_218 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_219 - ASSET_GAME_TEXT -.word (ASSET_GAME_TEXT_220 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_221 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_222 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_223 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_224 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_225 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_226 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_227 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_228 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_229 - ASSET_GAME_TEXT) | 0x80000000 -.word ASSET_GAME_TEXT_230 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_231 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_232 - ASSET_GAME_TEXT -.word ASSET_GAME_TEXT_233 - ASSET_GAME_TEXT -.word (ASSET_GAME_TEXT_234 - ASSET_GAME_TEXT) | 0x80000000 -.word ASSET_GAME_TEXT_235 - ASSET_GAME_TEXT -.word (ASSET_GAME_TEXT_236 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_237 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_238 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_239 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_240 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_241 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_242 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_243 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_244 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_245 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_246 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_247 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_248 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_249 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_250 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_251 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_252 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_253 - ASSET_GAME_TEXT) | 0x80000000 -.word (ASSET_GAME_TEXT_254 - ASSET_GAME_TEXT) | 0x80000000 -.word ASSET_GAME_TEXT_END - ASSET_GAME_TEXT -.word 0xFFFFFFFF -glabel ASSET_GAME_TEXT_TABLE_END - -/********** ASSET_MENU_TEXT **********/ - -.balign 16 -glabel ASSET_MENU_TEXT -glabel ASSET_MENU_TEXT_ENGLISH -.incbin "./build/us_1.0/assets/text/menu/english_menu_text.bin" -glabel ASSET_MENU_TEXT_FRENCH -.incbin "./build/us_1.0/assets/text/menu/french_menu_text.bin" -glabel ASSET_MENU_TEXT_GERMAN -.incbin "./build/us_1.0/assets/text/menu/german_menu_text.bin" -glabel ASSET_MENU_TEXT_JAPANESE -.incbin "./build/us_1.0/assets/text/menu/japanese_menu_text.bin" -glabel ASSET_MENU_TEXT_END - -/********** ASSET_MENU_TEXT_TABLE **********/ - -.balign 16 -glabel ASSET_MENU_TEXT_TABLE -.word 186 -.word ASSET_MENU_TEXT_ENGLISH - ASSET_MENU_TEXT -.word ASSET_MENU_TEXT_FRENCH - ASSET_MENU_TEXT -.word ASSET_MENU_TEXT_GERMAN - ASSET_MENU_TEXT -.word ASSET_MENU_TEXT_JAPANESE - ASSET_MENU_TEXT -.word ASSET_MENU_TEXT_END - ASSET_MENU_TEXT -.word 0xFFFFFFFF -glabel ASSET_MENU_TEXT_TABLE_END - -/********** ASSET_SCREENS **********/ - -.balign 16 -glabel ASSET_SCREENS -glabel ASSET_SCREENS_END - -/********** ASSET_SCREENS_TABLE **********/ - -.balign 16 -glabel ASSET_SCREENS_TABLE -.word ASSET_SCREENS_END - ASSET_SCREENS -.word 0xFFFFFFFF -glabel ASSET_SCREENS_TABLE_END - -/********** ASSET_SPRITES **********/ - -.balign 16 -glabel ASSET_SPRITES -glabel ASSET_SPRITE_MINIMAP_FOSSILCANYON -.incbin "./build/us_1.0/assets/sprites/minimap/fossil_canyon.bin" -glabel ASSET_SPRITE_MINIMAP_ANCIENTLAKE -.incbin "./build/us_1.0/assets/sprites/minimap/ancient_lake.bin" -glabel ASSET_SPRITE_MINIMAP_PIRATELAGOON -.incbin "./build/us_1.0/assets/sprites/minimap/pirate_lagoon.bin" -glabel ASSET_SPRITE_MINIMAP_WHALEBAY -.incbin "./build/us_1.0/assets/sprites/minimap/whale_bay.bin" -glabel ASSET_SPRITE_MINIMAP_SNOWBALLVALLEY -.incbin "./build/us_1.0/assets/sprites/minimap/snowball_valley.bin" -glabel ASSET_SPRITE_MINIMAP_HOTTOPVOLCANO -.incbin "./build/us_1.0/assets/sprites/minimap/hot_top_volcano.bin" -glabel ASSET_SPRITE_MINIMAP_CRESCENTISLAND -.incbin "./build/us_1.0/assets/sprites/minimap/crescent_island.bin" -glabel ASSET_SPRITE_MINIMAP_UNUSED -.incbin "./build/us_1.0/assets/sprites/minimap/unused.bin" -glabel ASSET_SPRITE_MINIMAP_EVERFROSTPEAK -.incbin "./build/us_1.0/assets/sprites/minimap/everfrost_peak.bin" -glabel ASSET_SPRITE_MINIMAP_UNUSED2 -.incbin "./build/us_1.0/assets/sprites/minimap/unused2.bin" -glabel ASSET_SPRITE_MINIMAP_WALRUSCOVE -.incbin "./build/us_1.0/assets/sprites/minimap/walrus_cove.bin" -glabel ASSET_SPRITE_MINIMAP_UNUSED3 -.incbin "./build/us_1.0/assets/sprites/minimap/unused3.bin" -glabel ASSET_SPRITE_MINIMAP_BOULDERCANYON -.incbin "./build/us_1.0/assets/sprites/minimap/boulder_canyon.bin" -glabel ASSET_SPRITE_MINIMAP_SMOKEYCASTLE -.incbin "./build/us_1.0/assets/sprites/minimap/smokey_castle.bin" -glabel ASSET_SPRITE_MINIMAP_CENTRALAREA -.incbin "./build/us_1.0/assets/sprites/minimap/central_area.bin" -glabel ASSET_SPRITE_MINIMAP_FIREMOUNTAIN -.incbin "./build/us_1.0/assets/sprites/minimap/fire_mountain.bin" -glabel ASSET_SPRITE_MINIMAP_SPACEPORTALPHA -.incbin "./build/us_1.0/assets/sprites/minimap/space_port_alpha.bin" -glabel ASSET_SPRITE_MINIMAP_SPACEDUSTALLEY -.incbin "./build/us_1.0/assets/sprites/minimap/spacedust_alley.bin" -glabel ASSET_SPRITE_MINIMAP_TREASURECAVES -.incbin "./build/us_1.0/assets/sprites/minimap/treasure_caves.bin" -glabel ASSET_SPRITE_MINIMAP_GREENWOODVILLAGE -.incbin "./build/us_1.0/assets/sprites/minimap/greenwood_village.bin" -glabel ASSET_SPRITE_MINIMAP_DARKMOONCAVERNS -.incbin "./build/us_1.0/assets/sprites/minimap/darkmoon_caverns.bin" -glabel ASSET_SPRITE_MINIMAP_STARCITY -.incbin "./build/us_1.0/assets/sprites/minimap/star_city.bin" -glabel ASSET_SPRITE_MINIMAP_WINDMILLPLAINS -.incbin "./build/us_1.0/assets/sprites/minimap/windmill_plains.bin" -glabel ASSET_SPRITE_MINIMAP_FROSTYVILLAGE -.incbin "./build/us_1.0/assets/sprites/minimap/frosty_village.bin" -glabel ASSET_SPRITE_MINIMAP_DARKWATERBEACH -.incbin "./build/us_1.0/assets/sprites/minimap/darkwater_beach.bin" -glabel ASSET_SPRITE_MINIMAP_JUNGLEFALLS -.incbin "./build/us_1.0/assets/sprites/minimap/jungle_falls.bin" -glabel ASSET_SPRITE_MINIMAP_ICICLEPYRAMID -.incbin "./build/us_1.0/assets/sprites/minimap/icicle_pyramid.bin" -glabel ASSET_SPRITE_MINIMAP_HAUNTEDWOODS -.incbin "./build/us_1.0/assets/sprites/minimap/haunted_woods.bin" -glabel ASSET_SPRITE_MINIMAP_BLUEY -.incbin "./build/us_1.0/assets/sprites/minimap/bluey.bin" -glabel ASSET_SPRITE_MINIMAP_BUBBLER -.incbin "./build/us_1.0/assets/sprites/minimap/bubbler.bin" -glabel ASSET_SPRITE_MINIMAP_SMOKEY -.incbin "./build/us_1.0/assets/sprites/minimap/smokey.bin" -glabel ASSET_SPRITE_MINIMAP_TRICKYTOPS -.incbin "./build/us_1.0/assets/sprites/minimap/trickytops.bin" -glabel ASSET_SPRITE_MINIMAP_WIZPIG1 -.incbin "./build/us_1.0/assets/sprites/minimap/wizpig1.bin" -glabel ASSET_SPRITE_MINIMAP_WIZPIG2 -.incbin "./build/us_1.0/assets/sprites/minimap/wizpig2.bin" -glabel ASSET_SPRITE_WEATHER_RAINDROP -.incbin "./build/us_1.0/assets/sprites/weather/rain_drop.bin" -glabel ASSET_SPRITE_WEATHER_SNOWFLAKE -.incbin "./build/us_1.0/assets/sprites/weather/snowflake.bin" -glabel ASSET_SPRITE_OBJECTS_LENSFLARE1 -.incbin "./build/us_1.0/assets/sprites/objects/lensflare1.bin" -glabel ASSET_SPRITE_OBJECTS_LENSFLARE2 -.incbin "./build/us_1.0/assets/sprites/objects/lensflare2.bin" -glabel ASSET_SPRITE_OBJECTS_LENSFLARE3 -.incbin "./build/us_1.0/assets/sprites/objects/lensflare3.bin" -glabel ASSET_SPRITE_UNKNOWN_BROWNEGG -.incbin "./build/us_1.0/assets/sprites/unknown/brown_egg.bin" -glabel ASSET_SPRITE_PARTICLES_SMOKE -.incbin "./build/us_1.0/assets/sprites/particles/smoke.bin" -glabel ASSET_SPRITE_PARTICLES_SMOKE2 -.incbin "./build/us_1.0/assets/sprites/particles/smoke2.bin" -glabel ASSET_SPRITE_PARTICLES_BUBBLESSMALL -.incbin "./build/us_1.0/assets/sprites/particles/bubbles_small.bin" -glabel ASSET_SPRITE_PARTICLES_SMOKE3 -.incbin "./build/us_1.0/assets/sprites/particles/smoke3.bin" -glabel ASSET_SPRITE_OBJECTS_BUBBLEWEAPON -.incbin "./build/us_1.0/assets/sprites/objects/bubble_weapon.bin" -glabel ASSET_SPRITE_OBJECTS_SPARKLE -.incbin "./build/us_1.0/assets/sprites/objects/sparkle.bin" -glabel ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONBLUE -.incbin "./build/us_1.0/assets/sprites/objects/bomb_explosion_blue.bin" -glabel ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONYELLOW -.incbin "./build/us_1.0/assets/sprites/objects/bomb_explosion_yellow.bin" -glabel ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONRED -.incbin "./build/us_1.0/assets/sprites/objects/bomb_explosion_red.bin" -glabel ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONGREEN -.incbin "./build/us_1.0/assets/sprites/objects/bomb_explosion_green.bin" -glabel ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONCYAN -.incbin "./build/us_1.0/assets/sprites/objects/bomb_explosion_cyan.bin" -glabel ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONWHITE -.incbin "./build/us_1.0/assets/sprites/objects/bomb_explosion_white.bin" -glabel ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONORANGE -.incbin "./build/us_1.0/assets/sprites/objects/bomb_explosion_orange.bin" -glabel ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONPURPLE -.incbin "./build/us_1.0/assets/sprites/objects/bomb_explosion_purple.bin" -glabel ASSET_SPRITE_OBJECTS_RAINBOW -.incbin "./build/us_1.0/assets/sprites/objects/rainbow.bin" -glabel ASSET_SPRITE_OBJECTS_EGG -.incbin "./build/us_1.0/assets/sprites/objects/egg.bin" -glabel ASSET_SPRITE_OBJECTS_BOMB -.incbin "./build/us_1.0/assets/sprites/objects/bomb.bin" -glabel ASSET_SPRITE_OBJECTS_OILSLICK -.incbin "./build/us_1.0/assets/sprites/objects/oil_slick.bin" -glabel ASSET_SPRITE_OBJECTS_EYESINDARK -.incbin "./build/us_1.0/assets/sprites/objects/eyes_in_dark.bin" -glabel ASSET_SPRITE_HUD_TIMERCOLON -.incbin "./build/us_1.0/assets/sprites/hud/timer_colon.bin" -glabel ASSET_SPRITE_HUD_RETICALHOMING -.incbin "./build/us_1.0/assets/sprites/hud/retical_homing.bin" -glabel ASSET_SPRITE_OBJECTS_DEBUGREDSPHERE -.incbin "./build/us_1.0/assets/sprites/objects/debug_red_sphere.bin" -glabel ASSET_SPRITE_HUD_FINISH -.incbin "./build/us_1.0/assets/sprites/hud/finish.bin" -glabel ASSET_SPRITE_HUD_GETREADY -.incbin "./build/us_1.0/assets/sprites/hud/get_ready.bin" -glabel ASSET_SPRITE_HUD_GO -.incbin "./build/us_1.0/assets/sprites/hud/go.bin" -glabel ASSET_SPRITE_HUD_LAP -.incbin "./build/us_1.0/assets/sprites/hud/lap.bin" -glabel ASSET_SPRITE_HUD_FORWARDSLASH -.incbin "./build/us_1.0/assets/sprites/hud/forward_slash.bin" -glabel ASSET_SPRITE_HUD_TIME -.incbin "./build/us_1.0/assets/sprites/hud/time.bin" -glabel ASSET_SPRITE_HUD_PLACENUMBERS -.incbin "./build/us_1.0/assets/sprites/hud/place_numbers.bin" -glabel ASSET_SPRITE_HUD_TIMERNUMBERS -.incbin "./build/us_1.0/assets/sprites/hud/timer_numbers.bin" -glabel ASSET_SPRITE_HUD_TIMERCOLORSMALL -.incbin "./build/us_1.0/assets/sprites/hud/timer_color_small.bin" -glabel ASSET_SPRITE_HUD_TIMERNUMBERSSMALL -.incbin "./build/us_1.0/assets/sprites/hud/timer_numbers_small.bin" -glabel ASSET_SPRITE_HUD_GOSMALL -.incbin "./build/us_1.0/assets/sprites/hud/go_small.bin" -glabel ASSET_SPRITE_HUD_LAPSMALL -.incbin "./build/us_1.0/assets/sprites/hud/lap_small.bin" -glabel ASSET_SPRITE_HUD_GETREADY2 -.incbin "./build/us_1.0/assets/sprites/hud/get_ready2.bin" -glabel ASSET_SPRITE_HUD_FINALSMALL -.incbin "./build/us_1.0/assets/sprites/hud/final_small.bin" -glabel ASSET_SPRITE_HUD_FINISHSMALL -.incbin "./build/us_1.0/assets/sprites/hud/finish_small.bin" -glabel ASSET_SPRITE_HUD_LAP2SMALL -.incbin "./build/us_1.0/assets/sprites/hud/lap2_small.bin" -glabel ASSET_SPRITE_HUD_WAYSMALL -.incbin "./build/us_1.0/assets/sprites/hud/way_small.bin" -glabel ASSET_SPRITE_HUD_WRONGSMALL -.incbin "./build/us_1.0/assets/sprites/hud/wrong_small.bin" -glabel ASSET_SPRITE_OBJECTS_POSITIONARROW -.incbin "./build/us_1.0/assets/sprites/objects/position_arrow.bin" -glabel ASSET_SPRITE_HUD_GOLDENBALLOONICON -.incbin "./build/us_1.0/assets/sprites/hud/golden_balloon_icon.bin" -glabel ASSET_SPRITE_HUD_SILVERBALLOONICON -.incbin "./build/us_1.0/assets/sprites/hud/silver_balloon_icon.bin" -glabel ASSET_SPRITE_OBJECTS_LEVELNAME -.incbin "./build/us_1.0/assets/sprites/objects/level_name.bin" -glabel ASSET_SPRITE_MINIMAP_NPC -.incbin "./build/us_1.0/assets/sprites/minimap/npc.bin" -glabel ASSET_SPRITE_MINIMAP_PLAYER -.incbin "./build/us_1.0/assets/sprites/minimap/player.bin" -glabel ASSET_SPRITE_HUD_WEAPONICONS -.incbin "./build/us_1.0/assets/sprites/hud/weapon_icons.bin" -glabel ASSET_SPRITE_HUD_WEAPONICONNUMBERS -.incbin "./build/us_1.0/assets/sprites/hud/weapon_icon_numbers.bin" -glabel ASSET_SPRITE_UNUSED_BETACHARACTERICON -.incbin "./build/us_1.0/assets/sprites/unused/beta_character_icon.bin" -glabel ASSET_SPRITE_HUD_FINALLAPFLAG -.incbin "./build/us_1.0/assets/sprites/hud/final_lap_flag.bin" -glabel ASSET_SPRITE_HUD_FINAL -.incbin "./build/us_1.0/assets/sprites/hud/final.bin" -glabel ASSET_SPRITE_HUD_LAPLARGE -.incbin "./build/us_1.0/assets/sprites/hud/lap_large.bin" -glabel ASSET_SPRITE_HUD_LAP22 -.incbin "./build/us_1.0/assets/sprites/hud/lap2_2.bin" -glabel ASSET_SPRITE_HUD_WAY -.incbin "./build/us_1.0/assets/sprites/hud/way.bin" -glabel ASSET_SPRITE_HUD_WRONG -.incbin "./build/us_1.0/assets/sprites/hud/wrong.bin" -glabel ASSET_SPRITE_UNUSED_PROAMLOGO -.incbin "./build/us_1.0/assets/sprites/unused/pro_am_logo.bin" -glabel ASSET_SPRITE_HUD_SPEEDOMETERARROW -.incbin "./build/us_1.0/assets/sprites/hud/speedometer_arrow.bin" -glabel ASSET_SPRITE_HUD_FIRSTPLACEONE -.incbin "./build/us_1.0/assets/sprites/hud/first_place_one.bin" -glabel ASSET_SPRITE_HUD_FIRSTPLACEST -.incbin "./build/us_1.0/assets/sprites/hud/first_place_st.bin" -glabel ASSET_SPRITE_OBJECTS_BALLOONSTRING -.incbin "./build/us_1.0/assets/sprites/objects/balloon_string.bin" -glabel ASSET_SPRITE_UNKNOWN_FIREBALLUNKNOWN -.incbin "./build/us_1.0/assets/sprites/unknown/fireball_unknown.bin" -glabel ASSET_SPRITE_OBJECTS_FIREBALL -.incbin "./build/us_1.0/assets/sprites/objects/fireball.bin" -glabel ASSET_SPRITE_OBJECTS_WIZGHOST -.incbin "./build/us_1.0/assets/sprites/objects/wizghost.bin" -glabel ASSET_SPRITE_UNKNOWN_UNKNOWNLIGHT -.incbin "./build/us_1.0/assets/sprites/unknown/unknown_light.bin" -glabel ASSET_SPRITE_UNKNOWN_SMALLSTAR -.incbin "./build/us_1.0/assets/sprites/unknown/small_star.bin" -glabel ASSET_SPRITE_OBJECTS_BUOY -.incbin "./build/us_1.0/assets/sprites/objects/buoy.bin" -glabel ASSET_SPRITE_OBJECTS_SMARTIETREE -.incbin "./build/us_1.0/assets/sprites/objects/smartie_tree.bin" -glabel ASSET_SPRITE_OBJECTS_BEACHTREE -.incbin "./build/us_1.0/assets/sprites/objects/beach_tree.bin" -glabel ASSET_SPRITE_OBJECTS_BLUEBERRYBUSH -.incbin "./build/us_1.0/assets/sprites/objects/blue_berry_bush.bin" -glabel ASSET_SPRITE_OBJECTS_RUBBERSNOWTREE -.incbin "./build/us_1.0/assets/sprites/objects/rubber_snow_tree.bin" -glabel ASSET_SPRITE_OBJECTS_SKINNYSNOWTREE -.incbin "./build/us_1.0/assets/sprites/objects/skinny_snow_tree.bin" -glabel ASSET_SPRITE_OBJECTS_XMASTREE -.incbin "./build/us_1.0/assets/sprites/objects/xmas_tree.bin" -glabel ASSET_SPRITE_OBJECTS_ALPINESNOWTREE -.incbin "./build/us_1.0/assets/sprites/objects/alpine_snow_tree.bin" -glabel ASSET_SPRITE_OBJECTS_RUBBERTREE -.incbin "./build/us_1.0/assets/sprites/objects/rubber_tree.bin" -glabel ASSET_SPRITE_OBJECTS_PALMTREETOP -.incbin "./build/us_1.0/assets/sprites/objects/palm_tree_top.bin" -glabel ASSET_SPRITE_OBJECTS_PALMPLANT -.incbin "./build/us_1.0/assets/sprites/objects/palm_plant.bin" -glabel ASSET_SPRITE_OBJECTS_PALMTREETOPCHEA -.incbin "./build/us_1.0/assets/sprites/objects/palm_tree_top_chea.bin" -glabel ASSET_SPRITE_OBJECTS_FIRTREE -.incbin "./build/us_1.0/assets/sprites/objects/fir_tree.bin" -glabel ASSET_SPRITE_OBJECTS_SPACETREE -.incbin "./build/us_1.0/assets/sprites/objects/space_tree.bin" -glabel ASSET_SPRITE_OBJECTS_LAMPPOST -.incbin "./build/us_1.0/assets/sprites/objects/lamp_post.bin" -glabel ASSET_SPRITE_FLOWERS_WHITEBUTTERCUP -.incbin "./build/us_1.0/assets/sprites/flowers/white_buttercup.bin" -glabel ASSET_SPRITE_FLOWERS_YELLOWBELLFLOWER -.incbin "./build/us_1.0/assets/sprites/flowers/yellow_bellflower.bin" -glabel ASSET_SPRITE_FLOWERS_YELLOWBUTTERCUP -.incbin "./build/us_1.0/assets/sprites/flowers/yellow_buttercup.bin" -glabel ASSET_SPRITE_FLOWERS_BLUEBUTTERCUP -.incbin "./build/us_1.0/assets/sprites/flowers/blue_buttercup.bin" -glabel ASSET_SPRITE_FLOWERS_WATERLILY -.incbin "./build/us_1.0/assets/sprites/flowers/water_lily.bin" -glabel ASSET_SPRITE_OBJECTS_REEDNOLEAF -.incbin "./build/us_1.0/assets/sprites/objects/reed_no_leaf.bin" -glabel ASSET_SPRITE_OBJECTS_REEDLEAVES -.incbin "./build/us_1.0/assets/sprites/objects/reed_leaves.bin" -glabel ASSET_SPRITE_OBJECTS_READONELEAF -.incbin "./build/us_1.0/assets/sprites/objects/read_one_leaf.bin" -glabel ASSET_SPRITE_OBJECTS_SNOWMANTOPHAT -.incbin "./build/us_1.0/assets/sprites/objects/snowman_tophat.bin" -glabel ASSET_SPRITE_OBJECTS_BELL -.incbin "./build/us_1.0/assets/sprites/objects/bell.bin" -glabel ASSET_SPRITE_OBJECTS_SNOWMAN -.incbin "./build/us_1.0/assets/sprites/objects/snowman.bin" -glabel ASSET_SPRITE_UNUSED_TORCHWITHEYES -.incbin "./build/us_1.0/assets/sprites/unused/torch_with_eyes.bin" -glabel ASSET_SPRITE_OBJECTS_DEBUGORBRED -.incbin "./build/us_1.0/assets/sprites/objects/debug_orb_red.bin" -glabel ASSET_SPRITE_OBJECTS_DEBUGORBYELLOW -.incbin "./build/us_1.0/assets/sprites/objects/debug_orb_yellow.bin" -glabel ASSET_SPRITE_UNUSED_BETAANCIENTLAKESIGN -.incbin "./build/us_1.0/assets/sprites/unused/beta_ancient_lake_sign.bin" -glabel ASSET_SPRITE_OBJECTS_DEBUGFOGCHANGER -.incbin "./build/us_1.0/assets/sprites/objects/debug_fog_changer.bin" -glabel ASSET_SPRITE_OBJECTS_DEBUGANIMCAR -.incbin "./build/us_1.0/assets/sprites/objects/debug_anim_car.bin" -glabel ASSET_SPRITE_OBJECTS_DEBUGSKYCONTROL -.incbin "./build/us_1.0/assets/sprites/objects/debug_sky_control.bin" -glabel ASSET_SPRITE_OBJECTS_DEBUGCAMERACONTROL -.incbin "./build/us_1.0/assets/sprites/objects/debug_camera_control.bin" -glabel ASSET_SPRITE_UNUSED_DEBUGUNKNOWNEXIT -.incbin "./build/us_1.0/assets/sprites/unused/debug_unknown_exit.bin" -glabel ASSET_SPRITE_UNUSED_DEBUGUNKNOWNTRAFFICLIGHT -.incbin "./build/us_1.0/assets/sprites/unused/debug_unknown_traffic_light.bin" -glabel ASSET_SPRITE_OBJECTS_DEBUGANIMATOR -.incbin "./build/us_1.0/assets/sprites/objects/debug_animator.bin" -glabel ASSET_SPRITE_OBJECTS_DEBUGAUDIO -.incbin "./build/us_1.0/assets/sprites/objects/debug_audio.bin" -glabel ASSET_SPRITE_OBJECTS_DEBUGAUDIOLINE -.incbin "./build/us_1.0/assets/sprites/objects/debug_audio_line.bin" -glabel ASSET_SPRITE_OBJECTS_DEBUGAUDIOSEQLINE -.incbin "./build/us_1.0/assets/sprites/objects/debug_audio_seq_line.bin" -glabel ASSET_SPRITE_OBJECTS_DEBUGAUDIOSEQ -.incbin "./build/us_1.0/assets/sprites/objects/debug_audio_seq.bin" -glabel ASSET_SPRITE_OBJECTS_DEBUGAUDIOREVERB -.incbin "./build/us_1.0/assets/sprites/objects/debug_audio_reverb.bin" -glabel ASSET_SPRITE_OBJECTS_BALLOONBOOST -.incbin "./build/us_1.0/assets/sprites/objects/balloon_boost.bin" -glabel ASSET_SPRITE_OBJECTS_BALLOONMISSLE -.incbin "./build/us_1.0/assets/sprites/objects/balloon_missle.bin" -glabel ASSET_SPRITE_OBJECTS_BALLOONTRAP -.incbin "./build/us_1.0/assets/sprites/objects/balloon_trap.bin" -glabel ASSET_SPRITE_OBJECTS_BALLOONSHIELD -.incbin "./build/us_1.0/assets/sprites/objects/balloon_shield.bin" -glabel ASSET_SPRITE_OBJECTS_BALLOONMAGNET -.incbin "./build/us_1.0/assets/sprites/objects/balloon_magnet.bin" -glabel ASSET_SPRITE_UNUSED_BALLOONMISSLEGIFT -.incbin "./build/us_1.0/assets/sprites/unused/balloon_missle_gift.bin" -glabel ASSET_SPRITE_UNUSED_BALLOONBOOSTGIFT -.incbin "./build/us_1.0/assets/sprites/unused/balloon_boost_gift.bin" -glabel ASSET_SPRITE_OBJECTS_BALLOONGOLD -.incbin "./build/us_1.0/assets/sprites/objects/balloon_gold.bin" -glabel ASSET_SPRITE_OBJECTS_BALLOONSILVER -.incbin "./build/us_1.0/assets/sprites/objects/balloon_silver.bin" -glabel ASSET_SPRITE_OBJECTS_BANANA -.incbin "./build/us_1.0/assets/sprites/objects/banana.bin" -glabel ASSET_SPRITE_OBJECTS_SILVERCOIN -.incbin "./build/us_1.0/assets/sprites/objects/silver_coin.bin" -glabel ASSET_SPRITE_OBJECTS_CHECKPOINTFLAG -.incbin "./build/us_1.0/assets/sprites/objects/checkpoint_flag.bin" -glabel ASSET_SPRITE_UNUSED_RAREWARECOIN -.incbin "./build/us_1.0/assets/sprites/unused/rareware_coin.bin" -glabel ASSET_SPRITE_UNUSED_SILVERCOINVERTICAL -.incbin "./build/us_1.0/assets/sprites/unused/silver_coin_vertical.bin" -glabel ASSET_SPRITE_HUD_BANANAICON -.incbin "./build/us_1.0/assets/sprites/hud/banana_icon.bin" -glabel ASSET_SPRITE_PARTICLES_SPARKLE -.incbin "./build/us_1.0/assets/sprites/particles/sparkle.bin" -glabel ASSET_SPRITE_OBJECTS_DEBUGEGGCREATOR -.incbin "./build/us_1.0/assets/sprites/objects/debug_egg_creator.bin" -glabel ASSET_SPRITE_UNUSED_BONUSGEM -.incbin "./build/us_1.0/assets/sprites/unused/bonus_gem.bin" -glabel ASSET_SPRITE_HUD_INDICATORICONCAUTION -.incbin "./build/us_1.0/assets/sprites/hud/indicator_icon_caution.bin" -glabel ASSET_SPRITE_HUD_INDICATORICONDOWN -.incbin "./build/us_1.0/assets/sprites/hud/indicator_icon_down.bin" -glabel ASSET_SPRITE_HUD_INDICATORICONUTURN -.incbin "./build/us_1.0/assets/sprites/hud/indicator_icon_uturn.bin" -glabel ASSET_SPRITE_HUD_INDICATORICONTURN -.incbin "./build/us_1.0/assets/sprites/hud/indicator_icon_turn.bin" -glabel ASSET_SPRITE_HUD_INDICATORICONSLIGHTTURN -.incbin "./build/us_1.0/assets/sprites/hud/indicator_icon_slight_turn.bin" -glabel ASSET_SPRITE_OBJECTS_SMOKEOBJECT -.incbin "./build/us_1.0/assets/sprites/objects/smoke_object.bin" -glabel ASSET_SPRITE_OBJECTS_SMOKECLOUD -.incbin "./build/us_1.0/assets/sprites/objects/smoke_cloud.bin" -glabel ASSET_SPRITE_OBJECTS_SMOKEGRASS -.incbin "./build/us_1.0/assets/sprites/objects/smoke_grass.bin" -glabel ASSET_SPRITE_OBJECTS_MIST -.incbin "./build/us_1.0/assets/sprites/objects/mist.bin" -glabel ASSET_SPRITE_OBJECTS_FLAMINGTORCH -.incbin "./build/us_1.0/assets/sprites/objects/flaming_torch.bin" -glabel ASSET_SPRITE_UNUSED_SPLASH -.incbin "./build/us_1.0/assets/sprites/unused/splash.bin" -glabel ASSET_SPRITE_UNUSED_WEAPONBALLOONPOP -.incbin "./build/us_1.0/assets/sprites/unused/weapon_balloon_pop.bin" -glabel ASSET_SPRITE_OBJECTS_LAVASPURT -.incbin "./build/us_1.0/assets/sprites/objects/lava_spurt.bin" -glabel ASSET_SPRITE_UNKNOWN_UNKNOWNSMALLPOP -.incbin "./build/us_1.0/assets/sprites/unknown/unknown_small_pop.bin" -glabel ASSET_SPRITE_VEHICLE_PARTS_TYRE0 -.incbin "./build/us_1.0/assets/sprites/vehicle_parts/tyre0.bin" -glabel ASSET_SPRITE_VEHICLE_PARTS_TYRE1 -.incbin "./build/us_1.0/assets/sprites/vehicle_parts/tyre1.bin" -glabel ASSET_SPRITE_VEHICLE_PARTS_TYRE2 -.incbin "./build/us_1.0/assets/sprites/vehicle_parts/tyre2.bin" -glabel ASSET_SPRITE_VEHICLE_PARTS_TYRE3 -.incbin "./build/us_1.0/assets/sprites/vehicle_parts/tyre3.bin" -glabel ASSET_SPRITE_VEHICLE_PARTS_FAN0 -.incbin "./build/us_1.0/assets/sprites/vehicle_parts/fan0.bin" -glabel ASSET_SPRITE_VEHICLE_PARTS_FAN1 -.incbin "./build/us_1.0/assets/sprites/vehicle_parts/fan1.bin" -glabel ASSET_SPRITE_VEHICLE_PARTS_PROPELLER0 -.incbin "./build/us_1.0/assets/sprites/vehicle_parts/propeller0.bin" -glabel ASSET_SPRITE_VEHICLE_PARTS_PROPELLER1 -.incbin "./build/us_1.0/assets/sprites/vehicle_parts/propeller1.bin" -glabel ASSET_SPRITE_UNUSED_RARELETTERS -.incbin "./build/us_1.0/assets/sprites/unused/rare_letters.bin" -glabel ASSET_SPRITE_OBJECTS_BOLTGLOW -.incbin "./build/us_1.0/assets/sprites/objects/bolt_glow.bin" -glabel ASSET_SPRITE_MENU_ICONTROPHY -.incbin "./build/us_1.0/assets/sprites/menu/icon_trophy.bin" -glabel ASSET_SPRITE_MENU_ICONKEY -.incbin "./build/us_1.0/assets/sprites/menu/icon_key.bin" -glabel ASSET_SPRITE_MENU_ICONWIZPIGAMULET -.incbin "./build/us_1.0/assets/sprites/menu/icon_wizpig_amulet.bin" -glabel ASSET_SPRITE_MENU_ICONTTAMULET -.incbin "./build/us_1.0/assets/sprites/menu/icon_tt_amulet.bin" -glabel ASSET_SPRITES_END - -/********** ASSET_SPRITES_TABLE **********/ - -.balign 16 -glabel ASSET_SPRITES_TABLE -.word ASSET_SPRITE_MINIMAP_FOSSILCANYON - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_ANCIENTLAKE - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_PIRATELAGOON - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_WHALEBAY - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_SNOWBALLVALLEY - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_HOTTOPVOLCANO - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_CRESCENTISLAND - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_UNUSED - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_EVERFROSTPEAK - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_UNUSED2 - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_WALRUSCOVE - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_UNUSED3 - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_BOULDERCANYON - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_SMOKEYCASTLE - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_CENTRALAREA - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_FIREMOUNTAIN - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_SPACEPORTALPHA - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_SPACEDUSTALLEY - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_TREASURECAVES - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_GREENWOODVILLAGE - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_DARKMOONCAVERNS - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_STARCITY - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_WINDMILLPLAINS - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_FROSTYVILLAGE - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_DARKWATERBEACH - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_JUNGLEFALLS - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_ICICLEPYRAMID - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_HAUNTEDWOODS - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_BLUEY - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_BUBBLER - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_SMOKEY - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_TRICKYTOPS - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_WIZPIG1 - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_WIZPIG2 - ASSET_SPRITES -.word ASSET_SPRITE_WEATHER_RAINDROP - ASSET_SPRITES -.word ASSET_SPRITE_WEATHER_SNOWFLAKE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_LENSFLARE1 - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_LENSFLARE2 - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_LENSFLARE3 - ASSET_SPRITES -.word ASSET_SPRITE_UNKNOWN_BROWNEGG - ASSET_SPRITES -.word ASSET_SPRITE_PARTICLES_SMOKE - ASSET_SPRITES -.word ASSET_SPRITE_PARTICLES_SMOKE2 - ASSET_SPRITES -.word ASSET_SPRITE_PARTICLES_BUBBLESSMALL - ASSET_SPRITES -.word ASSET_SPRITE_PARTICLES_SMOKE3 - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BUBBLEWEAPON - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_SPARKLE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONBLUE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONYELLOW - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONRED - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONGREEN - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONCYAN - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONWHITE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONORANGE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BOMBEXPLOSIONPURPLE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_RAINBOW - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_EGG - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BOMB - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_OILSLICK - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_EYESINDARK - ASSET_SPRITES -.word ASSET_SPRITE_HUD_TIMERCOLON - ASSET_SPRITES -.word ASSET_SPRITE_HUD_RETICALHOMING - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_DEBUGREDSPHERE - ASSET_SPRITES -.word ASSET_SPRITE_HUD_FINISH - ASSET_SPRITES -.word ASSET_SPRITE_HUD_GETREADY - ASSET_SPRITES -.word ASSET_SPRITE_HUD_GO - ASSET_SPRITES -.word ASSET_SPRITE_HUD_LAP - ASSET_SPRITES -.word ASSET_SPRITE_HUD_FORWARDSLASH - ASSET_SPRITES -.word ASSET_SPRITE_HUD_TIME - ASSET_SPRITES -.word ASSET_SPRITE_HUD_PLACENUMBERS - ASSET_SPRITES -.word ASSET_SPRITE_HUD_TIMERNUMBERS - ASSET_SPRITES -.word ASSET_SPRITE_HUD_TIMERCOLORSMALL - ASSET_SPRITES -.word ASSET_SPRITE_HUD_TIMERNUMBERSSMALL - ASSET_SPRITES -.word ASSET_SPRITE_HUD_GOSMALL - ASSET_SPRITES -.word ASSET_SPRITE_HUD_LAPSMALL - ASSET_SPRITES -.word ASSET_SPRITE_HUD_GETREADY2 - ASSET_SPRITES -.word ASSET_SPRITE_HUD_FINALSMALL - ASSET_SPRITES -.word ASSET_SPRITE_HUD_FINISHSMALL - ASSET_SPRITES -.word ASSET_SPRITE_HUD_LAP2SMALL - ASSET_SPRITES -.word ASSET_SPRITE_HUD_WAYSMALL - ASSET_SPRITES -.word ASSET_SPRITE_HUD_WRONGSMALL - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_POSITIONARROW - ASSET_SPRITES -.word ASSET_SPRITE_HUD_GOLDENBALLOONICON - ASSET_SPRITES -.word ASSET_SPRITE_HUD_SILVERBALLOONICON - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_LEVELNAME - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_NPC - ASSET_SPRITES -.word ASSET_SPRITE_MINIMAP_PLAYER - ASSET_SPRITES -.word ASSET_SPRITE_HUD_WEAPONICONS - ASSET_SPRITES -.word ASSET_SPRITE_HUD_WEAPONICONNUMBERS - ASSET_SPRITES -.word ASSET_SPRITE_UNUSED_BETACHARACTERICON - ASSET_SPRITES -.word ASSET_SPRITE_HUD_FINALLAPFLAG - ASSET_SPRITES -.word ASSET_SPRITE_HUD_FINAL - ASSET_SPRITES -.word ASSET_SPRITE_HUD_LAPLARGE - ASSET_SPRITES -.word ASSET_SPRITE_HUD_LAP22 - ASSET_SPRITES -.word ASSET_SPRITE_HUD_WAY - ASSET_SPRITES -.word ASSET_SPRITE_HUD_WRONG - ASSET_SPRITES -.word ASSET_SPRITE_UNUSED_PROAMLOGO - ASSET_SPRITES -.word ASSET_SPRITE_HUD_SPEEDOMETERARROW - ASSET_SPRITES -.word ASSET_SPRITE_HUD_FIRSTPLACEONE - ASSET_SPRITES -.word ASSET_SPRITE_HUD_FIRSTPLACEST - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BALLOONSTRING - ASSET_SPRITES -.word ASSET_SPRITE_UNKNOWN_FIREBALLUNKNOWN - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_FIREBALL - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_WIZGHOST - ASSET_SPRITES -.word ASSET_SPRITE_UNKNOWN_UNKNOWNLIGHT - ASSET_SPRITES -.word ASSET_SPRITE_UNKNOWN_SMALLSTAR - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BUOY - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_SMARTIETREE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BEACHTREE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BLUEBERRYBUSH - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_RUBBERSNOWTREE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_SKINNYSNOWTREE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_XMASTREE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_ALPINESNOWTREE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_RUBBERTREE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_PALMTREETOP - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_PALMPLANT - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_PALMTREETOPCHEA - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_FIRTREE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_SPACETREE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_LAMPPOST - ASSET_SPRITES -.word ASSET_SPRITE_FLOWERS_WHITEBUTTERCUP - ASSET_SPRITES -.word ASSET_SPRITE_FLOWERS_YELLOWBELLFLOWER - ASSET_SPRITES -.word ASSET_SPRITE_FLOWERS_YELLOWBUTTERCUP - ASSET_SPRITES -.word ASSET_SPRITE_FLOWERS_BLUEBUTTERCUP - ASSET_SPRITES -.word ASSET_SPRITE_FLOWERS_WATERLILY - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_REEDNOLEAF - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_REEDLEAVES - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_READONELEAF - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_SNOWMANTOPHAT - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BELL - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_SNOWMAN - ASSET_SPRITES -.word ASSET_SPRITE_UNUSED_TORCHWITHEYES - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_DEBUGORBRED - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_DEBUGORBYELLOW - ASSET_SPRITES -.word ASSET_SPRITE_UNUSED_BETAANCIENTLAKESIGN - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_DEBUGFOGCHANGER - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_DEBUGANIMCAR - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_DEBUGSKYCONTROL - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_DEBUGCAMERACONTROL - ASSET_SPRITES -.word ASSET_SPRITE_UNUSED_DEBUGUNKNOWNEXIT - ASSET_SPRITES -.word ASSET_SPRITE_UNUSED_DEBUGUNKNOWNTRAFFICLIGHT - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_DEBUGANIMATOR - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_DEBUGAUDIO - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_DEBUGAUDIOLINE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_DEBUGAUDIOSEQLINE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_DEBUGAUDIOSEQ - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_DEBUGAUDIOREVERB - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BALLOONBOOST - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BALLOONMISSLE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BALLOONTRAP - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BALLOONSHIELD - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BALLOONMAGNET - ASSET_SPRITES -.word ASSET_SPRITE_UNUSED_BALLOONMISSLEGIFT - ASSET_SPRITES -.word ASSET_SPRITE_UNUSED_BALLOONBOOSTGIFT - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BALLOONGOLD - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BALLOONSILVER - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BANANA - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_SILVERCOIN - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_CHECKPOINTFLAG - ASSET_SPRITES -.word ASSET_SPRITE_UNUSED_RAREWARECOIN - ASSET_SPRITES -.word ASSET_SPRITE_UNUSED_SILVERCOINVERTICAL - ASSET_SPRITES -.word ASSET_SPRITE_HUD_BANANAICON - ASSET_SPRITES -.word ASSET_SPRITE_PARTICLES_SPARKLE - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_DEBUGEGGCREATOR - ASSET_SPRITES -.word ASSET_SPRITE_UNUSED_BONUSGEM - ASSET_SPRITES -.word ASSET_SPRITE_HUD_INDICATORICONCAUTION - ASSET_SPRITES -.word ASSET_SPRITE_HUD_INDICATORICONDOWN - ASSET_SPRITES -.word ASSET_SPRITE_HUD_INDICATORICONUTURN - ASSET_SPRITES -.word ASSET_SPRITE_HUD_INDICATORICONTURN - ASSET_SPRITES -.word ASSET_SPRITE_HUD_INDICATORICONSLIGHTTURN - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_SMOKEOBJECT - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_SMOKECLOUD - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_SMOKEGRASS - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_MIST - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_FLAMINGTORCH - ASSET_SPRITES -.word ASSET_SPRITE_UNUSED_SPLASH - ASSET_SPRITES -.word ASSET_SPRITE_UNUSED_WEAPONBALLOONPOP - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_LAVASPURT - ASSET_SPRITES -.word ASSET_SPRITE_UNKNOWN_UNKNOWNSMALLPOP - ASSET_SPRITES -.word ASSET_SPRITE_VEHICLE_PARTS_TYRE0 - ASSET_SPRITES -.word ASSET_SPRITE_VEHICLE_PARTS_TYRE1 - ASSET_SPRITES -.word ASSET_SPRITE_VEHICLE_PARTS_TYRE2 - ASSET_SPRITES -.word ASSET_SPRITE_VEHICLE_PARTS_TYRE3 - ASSET_SPRITES -.word ASSET_SPRITE_VEHICLE_PARTS_FAN0 - ASSET_SPRITES -.word ASSET_SPRITE_VEHICLE_PARTS_FAN1 - ASSET_SPRITES -.word ASSET_SPRITE_VEHICLE_PARTS_PROPELLER0 - ASSET_SPRITES -.word ASSET_SPRITE_VEHICLE_PARTS_PROPELLER1 - ASSET_SPRITES -.word ASSET_SPRITE_UNUSED_RARELETTERS - ASSET_SPRITES -.word ASSET_SPRITE_OBJECTS_BOLTGLOW - ASSET_SPRITES -.word ASSET_SPRITE_MENU_ICONTROPHY - ASSET_SPRITES -.word ASSET_SPRITE_MENU_ICONKEY - ASSET_SPRITES -.word ASSET_SPRITE_MENU_ICONWIZPIGAMULET - ASSET_SPRITES -.word ASSET_SPRITE_MENU_ICONTTAMULET - ASSET_SPRITES -.word ASSET_SPRITES_END - ASSET_SPRITES -.word 0xFFFFFFFF -glabel ASSET_SPRITES_TABLE_END - -/********** ASSET_EMPTY_14 **********/ - -.balign 16 -glabel ASSET_EMPTY_14 -glabel ASSET_EMPTY_14_END - -/********** ASSET_MISC **********/ - -.balign 16 -glabel ASSET_MISC -glabel ASSET_MISC_0 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_0.bin" -glabel ASSET_MISC_1 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_1.bin" -glabel ASSET_MISC_2 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_2.bin" -glabel ASSET_MISC_3 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_3.bin" -glabel ASSET_MISC_4 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_4.bin" -glabel ASSET_MISC_5 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_5.bin" -glabel ASSET_MISC_6 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_6.bin" -glabel ASSET_MISC_7 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_7.bin" -glabel ASSET_MISC_8 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_8.bin" -glabel ASSET_MISC_RACER_WEIGHT -.incbin "./build/us_1.0/assets/misc/racer_stats/racer_weight_data.bin" -glabel ASSET_MISC_RACER_HANDLING -.incbin "./build/us_1.0/assets/misc/racer_stats/racer_handling_data.bin" -glabel ASSET_MISC_RACER_UNUSED_11 -.incbin "./build/us_1.0/assets/misc/racer_stats/racer_unused_11_data.bin" -glabel ASSET_MISC_BALLOON_DATA -.incbin "./build/us_1.0/assets/misc/unlabeled/balloon_data.bin" -glabel ASSET_MISC_13 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_13.bin" -glabel ASSET_MISC_14 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_14.bin" -glabel ASSET_MISC_15 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_15.bin" -glabel ASSET_MISC_16 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_16.bin" -glabel ASSET_MISC_17 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_17.bin" -glabel ASSET_MISC_18 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_18.bin" -glabel ASSET_MISC_RUMBLE_DATA -.incbin "./build/us_1.0/assets/misc/unlabeled/rumble_data.bin" -glabel ASSET_MISC_20 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_20.bin" -glabel ASSET_MISC_SHIELD_DATA -.incbin "./build/us_1.0/assets/misc/unlabeled/shield_data.bin" -glabel ASSET_MISC_MAGNET_DATA -.incbin "./build/us_1.0/assets/misc/unlabeled/magnet_data.bin" -glabel ASSET_MISC_23 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_23.bin" -glabel ASSET_MISC_GHOST_UNLOCK_TIMES -.incbin "./build/us_1.0/assets/misc/unlabeled/ghost_unlock_times.bin" -glabel ASSET_MISC_CINEMATIC_RACE -.incbin "./build/us_1.0/assets/misc/unlabeled/cinematic_race.bin" -glabel ASSET_MISC_TRACKS_MENU_IDS -.incbin "./build/us_1.0/assets/misc/track_ids/tracks_menu_ids.bin" -glabel ASSET_MISC_HUB_AREA_IDS -.incbin "./build/us_1.0/assets/misc/track_ids/hub_area_ids.bin" -glabel ASSET_MISC_MAIN_TRACKS_IDS -.incbin "./build/us_1.0/assets/misc/track_ids/main_tracks_ids.bin" -glabel ASSET_MISC_BATTLE_TRACKS_IDS -.incbin "./build/us_1.0/assets/misc/track_ids/battle_tracks_ids.bin" -glabel ASSET_MISC_BOSS_TRACKS_IDS -.incbin "./build/us_1.0/assets/misc/track_ids/boss_tracks_ids.bin" -glabel ASSET_MISC_CINEMATIC_TROPHY -.incbin "./build/us_1.0/assets/misc/unlabeled/cinematic_trophy.bin" -glabel ASSET_MISC_32 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_32.bin" -glabel ASSET_MISC_RACERACCELERATION_UNKNOWN0 -.incbin "./build/us_1.0/assets/misc/racer_stats/RacerAcceleration_Unknown0.bin" -glabel ASSET_MISC_RACERACCELERATION_DIDDY -.incbin "./build/us_1.0/assets/misc/racer_stats/RacerAcceleration_Diddy.bin" -glabel ASSET_MISC_RACERACCELERATION_TT -.incbin "./build/us_1.0/assets/misc/racer_stats/RacerAcceleration_TT.bin" -glabel ASSET_MISC_RACERACCELERATION_UNKNOWN1 -.incbin "./build/us_1.0/assets/misc/racer_stats/RacerAcceleration_Unknown1.bin" -glabel ASSET_MISC_RACERACCELERATION_KRUNCH -.incbin "./build/us_1.0/assets/misc/racer_stats/RacerAcceleration_Krunch.bin" -glabel ASSET_MISC_RACERACCELERATION_BUMPER -.incbin "./build/us_1.0/assets/misc/racer_stats/RacerAcceleration_Bumper.bin" -glabel ASSET_MISC_RACERACCELERATION_TIPTUP -.incbin "./build/us_1.0/assets/misc/racer_stats/RacerAcceleration_Tiptup.bin" -glabel ASSET_MISC_RACERACCELERATION_CONKER -.incbin "./build/us_1.0/assets/misc/racer_stats/RacerAcceleration_Conker.bin" -glabel ASSET_MISC_RACERACCELERATION_TIMBER -.incbin "./build/us_1.0/assets/misc/racer_stats/RacerAcceleration_Timber.bin" -glabel ASSET_MISC_RACERACCELERATION_BANJO -.incbin "./build/us_1.0/assets/misc/racer_stats/RacerAcceleration_Banjo.bin" -glabel ASSET_MISC_RACERACCELERATION_DRUMSTICK -.incbin "./build/us_1.0/assets/misc/racer_stats/RacerAcceleration_Drumstick.bin" -glabel ASSET_MISC_RACERACCELERATION_PIPSY -.incbin "./build/us_1.0/assets/misc/racer_stats/RacerAcceleration_Pipsy.bin" -glabel ASSET_MISC_RACERACCELERATION_UNKNOWN2 -.incbin "./build/us_1.0/assets/misc/racer_stats/RacerAcceleration_Unknown2.bin" -glabel ASSET_MISC_46 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_46.bin" -glabel ASSET_MISC_47 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_47.bin" -glabel ASSET_MISC_48 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_48.bin" -glabel ASSET_MISC_49 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_49.bin" -glabel ASSET_MISC_50 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_50.bin" -glabel ASSET_MISC_51 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_51.bin" -glabel ASSET_MISC_52 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_52.bin" -glabel ASSET_MISC_53 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_53.bin" -glabel ASSET_MISC_54 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_54.bin" -glabel ASSET_MISC_55 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_55.bin" -glabel ASSET_MISC_RACER_HITBOX_SIZE -.incbin "./build/us_1.0/assets/misc/unlabeled/racer_hitbox_size.bin" -glabel ASSET_MISC_57 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_57.bin" -glabel ASSET_MISC_58 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_58.bin" -glabel ASSET_MISC_59 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_59.bin" -glabel ASSET_MISC_60 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_60.bin" -glabel ASSET_MISC_61 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_61.bin" -glabel ASSET_MISC_62 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_62.bin" -glabel ASSET_MISC_63 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_63.bin" -glabel ASSET_MISC_64 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_64.bin" -glabel ASSET_MISC_MAGIC_CODES -.incbin "./build/us_1.0/assets/misc/cheats/magic_codes.bin" -glabel ASSET_MISC_TITLE_SCREEN_DEMO_IDS -.incbin "./build/us_1.0/assets/misc/title_screen/title_screen_demo_ids.bin" -glabel ASSET_MISC_67 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_67.bin" -glabel ASSET_MISC_68 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_68.bin" -glabel ASSET_MISC_69 -.incbin "./build/us_1.0/assets/misc/unlabeled/asset_misc_69.bin" -glabel ASSET_MISC_END - -/********** ASSET_MISC_TABLE **********/ - -.balign 16 -glabel ASSET_MISC_TABLE -.word (ASSET_MISC_0 - ASSET_MISC) / 4 -.word (ASSET_MISC_1 - ASSET_MISC) / 4 -.word (ASSET_MISC_2 - ASSET_MISC) / 4 -.word (ASSET_MISC_3 - ASSET_MISC) / 4 -.word (ASSET_MISC_4 - ASSET_MISC) / 4 -.word (ASSET_MISC_5 - ASSET_MISC) / 4 -.word (ASSET_MISC_6 - ASSET_MISC) / 4 -.word (ASSET_MISC_7 - ASSET_MISC) / 4 -.word (ASSET_MISC_8 - ASSET_MISC) / 4 -.word (ASSET_MISC_RACER_WEIGHT - ASSET_MISC) / 4 -.word (ASSET_MISC_RACER_HANDLING - ASSET_MISC) / 4 -.word (ASSET_MISC_RACER_UNUSED_11 - ASSET_MISC) / 4 -.word (ASSET_MISC_BALLOON_DATA - ASSET_MISC) / 4 -.word (ASSET_MISC_13 - ASSET_MISC) / 4 -.word (ASSET_MISC_14 - ASSET_MISC) / 4 -.word (ASSET_MISC_15 - ASSET_MISC) / 4 -.word (ASSET_MISC_16 - ASSET_MISC) / 4 -.word (ASSET_MISC_17 - ASSET_MISC) / 4 -.word (ASSET_MISC_18 - ASSET_MISC) / 4 -.word (ASSET_MISC_RUMBLE_DATA - ASSET_MISC) / 4 -.word (ASSET_MISC_20 - ASSET_MISC) / 4 -.word (ASSET_MISC_SHIELD_DATA - ASSET_MISC) / 4 -.word (ASSET_MISC_MAGNET_DATA - ASSET_MISC) / 4 -.word (ASSET_MISC_23 - ASSET_MISC) / 4 -.word (ASSET_MISC_GHOST_UNLOCK_TIMES - ASSET_MISC) / 4 -.word (ASSET_MISC_CINEMATIC_RACE - ASSET_MISC) / 4 -.word (ASSET_MISC_TRACKS_MENU_IDS - ASSET_MISC) / 4 -.word (ASSET_MISC_HUB_AREA_IDS - ASSET_MISC) / 4 -.word (ASSET_MISC_MAIN_TRACKS_IDS - ASSET_MISC) / 4 -.word (ASSET_MISC_BATTLE_TRACKS_IDS - ASSET_MISC) / 4 -.word (ASSET_MISC_BOSS_TRACKS_IDS - ASSET_MISC) / 4 -.word (ASSET_MISC_CINEMATIC_TROPHY - ASSET_MISC) / 4 -.word (ASSET_MISC_32 - ASSET_MISC) / 4 -.word (ASSET_MISC_RACERACCELERATION_UNKNOWN0 - ASSET_MISC) / 4 -.word (ASSET_MISC_RACERACCELERATION_DIDDY - ASSET_MISC) / 4 -.word (ASSET_MISC_RACERACCELERATION_TT - ASSET_MISC) / 4 -.word (ASSET_MISC_RACERACCELERATION_UNKNOWN1 - ASSET_MISC) / 4 -.word (ASSET_MISC_RACERACCELERATION_KRUNCH - ASSET_MISC) / 4 -.word (ASSET_MISC_RACERACCELERATION_BUMPER - ASSET_MISC) / 4 -.word (ASSET_MISC_RACERACCELERATION_TIPTUP - ASSET_MISC) / 4 -.word (ASSET_MISC_RACERACCELERATION_CONKER - ASSET_MISC) / 4 -.word (ASSET_MISC_RACERACCELERATION_TIMBER - ASSET_MISC) / 4 -.word (ASSET_MISC_RACERACCELERATION_BANJO - ASSET_MISC) / 4 -.word (ASSET_MISC_RACERACCELERATION_DRUMSTICK - ASSET_MISC) / 4 -.word (ASSET_MISC_RACERACCELERATION_PIPSY - ASSET_MISC) / 4 -.word (ASSET_MISC_RACERACCELERATION_UNKNOWN2 - ASSET_MISC) / 4 -.word (ASSET_MISC_46 - ASSET_MISC) / 4 -.word (ASSET_MISC_47 - ASSET_MISC) / 4 -.word (ASSET_MISC_48 - ASSET_MISC) / 4 -.word (ASSET_MISC_49 - ASSET_MISC) / 4 -.word (ASSET_MISC_50 - ASSET_MISC) / 4 -.word (ASSET_MISC_51 - ASSET_MISC) / 4 -.word (ASSET_MISC_52 - ASSET_MISC) / 4 -.word (ASSET_MISC_53 - ASSET_MISC) / 4 -.word (ASSET_MISC_54 - ASSET_MISC) / 4 -.word (ASSET_MISC_55 - ASSET_MISC) / 4 -.word (ASSET_MISC_RACER_HITBOX_SIZE - ASSET_MISC) / 4 -.word (ASSET_MISC_57 - ASSET_MISC) / 4 -.word (ASSET_MISC_58 - ASSET_MISC) / 4 -.word (ASSET_MISC_59 - ASSET_MISC) / 4 -.word (ASSET_MISC_60 - ASSET_MISC) / 4 -.word (ASSET_MISC_61 - ASSET_MISC) / 4 -.word (ASSET_MISC_62 - ASSET_MISC) / 4 -.word (ASSET_MISC_63 - ASSET_MISC) / 4 -.word (ASSET_MISC_64 - ASSET_MISC) / 4 -.word (ASSET_MISC_MAGIC_CODES - ASSET_MISC) / 4 -.word (ASSET_MISC_TITLE_SCREEN_DEMO_IDS - ASSET_MISC) / 4 -.word (ASSET_MISC_67 - ASSET_MISC) / 4 -.word (ASSET_MISC_68 - ASSET_MISC) / 4 -.word (ASSET_MISC_69 - ASSET_MISC) / 4 -.word (ASSET_MISC_END - ASSET_MISC) / 4 -.word 0xFFFFFFFF -glabel ASSET_MISC_TABLE_END - -/********** ASSET_HUD_ELEMENT_IDS **********/ - -.balign 16 -glabel ASSET_HUD_ELEMENT_IDS -.incbin "./build/us_1.0/assets/ids/hud_element_ids.bin" -glabel ASSET_HUD_ELEMENT_IDS_END - -/********** ASSET_MENU_ELEMENT_IDS **********/ - -.balign 16 -glabel ASSET_MENU_ELEMENT_IDS -.incbin "./build/us_1.0/assets/ids/menu_element_ids.bin" -glabel ASSET_MENU_ELEMENT_IDS_END - -/********** ASSET_WEATHER_PARTICLES **********/ - -.balign 16 -glabel ASSET_WEATHER_PARTICLES -.incbin "./build/us_1.0/assets/levels/weather_particles.bin" -glabel ASSET_WEATHER_PARTICLES_END - -/********** ASSET_LEVEL_OBJECT_MAPS_TABLE **********/ - -.balign 16 -glabel ASSET_LEVEL_OBJECT_MAPS_TABLE -.word ASSET_LEVEL_OBJECT_MAPS_0 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_1 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_2 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_3 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_4 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_5 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_6 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_7 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_8 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_9 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_10 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_11 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_12 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_13 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_14 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_15 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_16 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_17 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_18 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_19 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_20 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_21 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_22 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_23 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_24 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_25 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_26 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_27 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_28 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_29 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_30 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_31 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_32 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_33 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_34 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_35 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_36 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_37 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_38 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_39 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_40 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_41 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_42 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_43 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_44 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_45 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_46 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_47 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_48 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_49 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_50 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_51 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_52 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_53 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_54 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_55 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_56 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_57 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_58 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_59 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_60 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_61 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_62 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_63 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_64 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_65 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_66 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_67 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_68 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_69 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_70 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_71 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_72 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_73 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_74 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_75 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_76 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_77 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_78 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_79 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_80 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_81 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_82 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_83 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_84 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_85 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_86 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_87 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_88 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_89 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_90 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_91 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_92 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_93 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_94 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_95 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_96 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_97 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_98 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_99 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_100 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_101 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_102 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_103 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_104 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_105 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_106 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_107 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_108 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_109 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_110 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_111 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_112 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_113 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_114 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_115 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_116 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_117 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_118 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_119 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_120 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_121 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_122 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_123 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_124 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_125 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_126 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_127 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_128 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_129 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_130 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_131 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_132 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_133 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_134 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_135 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_136 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_137 - ASSET_LEVEL_OBJECT_MAPS -.word ASSET_LEVEL_OBJECT_MAPS_END - ASSET_LEVEL_OBJECT_MAPS -.word 0xFFFFFFFF -glabel ASSET_LEVEL_OBJECT_MAPS_TABLE_END - -/********** ASSET_LEVEL_OBJECT_MAPS **********/ - -.balign 16 -glabel ASSET_LEVEL_OBJECT_MAPS -glabel ASSET_LEVEL_OBJECT_MAPS_0 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_0.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_1 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_1.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_2 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_2.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_3 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_3.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_4 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_4.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_5 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_5.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_6 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_6.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_7 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_7.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_8 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_8.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_9 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_9.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_10 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_10.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_11 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_11.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_12 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_12.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_13 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_13.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_14 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_14.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_15 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_15.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_16 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_16.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_17 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_17.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_18 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_18.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_19 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_19.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_20 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_20.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_21 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_21.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_22 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_22.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_23 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_23.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_24 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_24.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_25 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_25.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_26 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_26.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_27 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_27.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_28 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_28.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_29 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_29.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_30 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_30.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_31 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_31.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_32 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_32.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_33 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_33.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_34 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_34.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_35 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_35.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_36 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_36.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_37 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_37.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_38 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_38.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_39 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_39.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_40 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_40.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_41 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_41.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_42 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_42.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_43 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_43.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_44 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_44.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_45 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_45.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_46 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_46.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_47 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_47.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_48 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_48.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_49 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_49.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_50 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_50.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_51 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_51.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_52 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_52.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_53 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_53.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_54 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_54.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_55 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_55.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_56 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_56.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_57 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_57.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_58 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_58.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_59 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_59.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_60 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_60.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_61 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_61.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_62 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_62.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_63 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_63.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_64 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_64.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_65 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_65.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_66 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_66.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_67 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_67.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_68 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_68.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_69 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_69.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_70 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_70.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_71 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_71.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_72 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_72.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_73 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_73.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_74 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_74.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_75 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_75.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_76 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_76.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_77 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_77.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_78 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_78.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_79 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_79.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_80 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_80.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_81 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_81.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_82 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_82.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_83 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_83.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_84 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_84.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_85 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_85.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_86 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_86.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_87 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_87.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_88 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_88.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_89 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_89.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_90 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_90.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_91 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_91.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_92 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_92.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_93 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_93.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_94 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_94.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_95 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_95.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_96 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_96.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_97 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_97.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_98 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_98.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_99 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_99.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_100 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_100.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_101 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_101.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_102 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_102.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_103 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_103.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_104 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_104.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_105 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_105.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_106 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_106.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_107 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_107.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_108 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_108.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_109 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_109.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_110 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_110.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_111 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_111.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_112 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_112.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_113 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_113.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_114 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_114.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_115 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_115.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_116 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_116.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_117 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_117.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_118 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_118.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_119 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_119.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_120 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_120.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_121 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_121.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_122 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_122.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_123 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_123.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_124 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_124.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_125 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_125.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_126 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_126.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_127 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_127.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_128 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_128.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_129 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_129.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_130 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_130.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_131 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_131.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_132 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_132.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_133 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_133.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_134 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_134.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_135 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_135.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_136 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_136.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_137 -.incbin "./build/us_1.0/assets/levels/objectMaps/asset_level_object_maps_137.bin" -glabel ASSET_LEVEL_OBJECT_MAPS_END - -/********** ASSET_LEVEL_HEADERS_TABLE **********/ - -.balign 16 -glabel ASSET_LEVEL_HEADERS_TABLE -.word ASSET_LEVEL_CENTRALAREAHUB - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_BLUEY1 - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_DRAGONFORESTHUB - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_FOSSILCANYON - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_PIRATELAGOON - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_ANCIENTLAKE - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_WALRUSCOVE - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_HOTTOPVOLCANO - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_WHALEBAY - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_SNOWBALLVALLEY - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_CRESCENTISLAND - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_FIREMOUNTAIN - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_DINODOMAINHUB - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_EVERFROSTPEAK - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_SHERBETISLANDHUB - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_SPACEPORTALPHA - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_HORSESHOEGULCH - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_SPACEDUSTALLEY - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_GREENWOODVILLAGE - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_BOULDERCANYON - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_WINDMILLPLAINS - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_FRONTEND - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_CHARACTERSELECT - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_TITLESCREENSEQUENCE - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_SNOWFLAKEMOUNTAINHUB - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_SMOKEYCASTLE - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_DARKWATERBEACH - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_ICICLEPYRAMID - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_FROSTYVILLAGE - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_JUNGLEFALLS - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_TREASURECAVES - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_HAUNTEDWOODS - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_DARKMOONCAVERNS - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_STARCITY - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_TROPHYRACE - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_FUTUREFUNLANDHUB - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_OPENINGSEQUENCE - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_WIZPIG1 - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_TRICKYTOPS1 - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_OPTIONSBACKGROUND - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_BUBBLER1 - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_SMOKEY1 - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_WIZPIGMOUTHSEQUENCE - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_WIZPIGAMULETSEQUENCE - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_TTAMULETSEQUENCE - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_ROCKETSEQUENCE - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_TRICKYTOPS2 - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_DINODOMAINTROPHYANIM - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_SNOWFLAKEMOUNTAINTROPHYANIM - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_SHERBETISLANDTROPHYANIM - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_DRAGONFORESTTROPHYANIM - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_FUTUREFUNLANDTROPHYANIM - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_BLUEY2 - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_BUBBLER2 - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_SMOKEY2 - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_WIZPIG2 - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_PARTYSEQUENCE - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_TRICKTOPSANIM - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_SMOKEYANIM - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_BLUEYANIM - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_WIZPIG1ANIM - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_BUBBLERANIM - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_WIZPIG2ANIM - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_LASTBIT - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_LASTBITB - ASSET_LEVEL_HEADERS -.word ASSET_LEVEL_HEADERS_END - ASSET_LEVEL_HEADERS -.word 0xFFFFFFFF -glabel ASSET_LEVEL_HEADERS_TABLE_END - -/********** ASSET_LEVEL_HEADERS **********/ - -.balign 16 -glabel ASSET_LEVEL_HEADERS -glabel ASSET_LEVEL_CENTRALAREAHUB -.incbin "./build/us_1.0/assets/levels/headers/CentralAreaHub.bin" -glabel ASSET_LEVEL_BLUEY1 -.incbin "./build/us_1.0/assets/levels/headers/Bluey1.bin" -glabel ASSET_LEVEL_DRAGONFORESTHUB -.incbin "./build/us_1.0/assets/levels/headers/DragonForestHub.bin" -glabel ASSET_LEVEL_FOSSILCANYON -.incbin "./build/us_1.0/assets/levels/headers/FossilCanyon.bin" -glabel ASSET_LEVEL_PIRATELAGOON -.incbin "./build/us_1.0/assets/levels/headers/PirateLagoon.bin" -glabel ASSET_LEVEL_ANCIENTLAKE -.incbin "./build/us_1.0/assets/levels/headers/AncientLake.bin" -glabel ASSET_LEVEL_WALRUSCOVE -.incbin "./build/us_1.0/assets/levels/headers/WalrusCove.bin" -glabel ASSET_LEVEL_HOTTOPVOLCANO -.incbin "./build/us_1.0/assets/levels/headers/HotTopVolcano.bin" -glabel ASSET_LEVEL_WHALEBAY -.incbin "./build/us_1.0/assets/levels/headers/WhaleBay.bin" -glabel ASSET_LEVEL_SNOWBALLVALLEY -.incbin "./build/us_1.0/assets/levels/headers/SnowballValley.bin" -glabel ASSET_LEVEL_CRESCENTISLAND -.incbin "./build/us_1.0/assets/levels/headers/CrescentIsland.bin" -glabel ASSET_LEVEL_FIREMOUNTAIN -.incbin "./build/us_1.0/assets/levels/headers/FireMountain.bin" -glabel ASSET_LEVEL_DINODOMAINHUB -.incbin "./build/us_1.0/assets/levels/headers/DinoDomainHub.bin" -glabel ASSET_LEVEL_EVERFROSTPEAK -.incbin "./build/us_1.0/assets/levels/headers/EverfrostPeak.bin" -glabel ASSET_LEVEL_SHERBETISLANDHUB -.incbin "./build/us_1.0/assets/levels/headers/SherbetIslandHub.bin" -glabel ASSET_LEVEL_SPACEPORTALPHA -.incbin "./build/us_1.0/assets/levels/headers/SpaceportAlpha.bin" -glabel ASSET_LEVEL_HORSESHOEGULCH -.incbin "./build/us_1.0/assets/levels/headers/HorseshoeGulch.bin" -glabel ASSET_LEVEL_SPACEDUSTALLEY -.incbin "./build/us_1.0/assets/levels/headers/SpacedustAlley.bin" -glabel ASSET_LEVEL_GREENWOODVILLAGE -.incbin "./build/us_1.0/assets/levels/headers/GreenwoodVillage.bin" -glabel ASSET_LEVEL_BOULDERCANYON -.incbin "./build/us_1.0/assets/levels/headers/BoulderCanyon.bin" -glabel ASSET_LEVEL_WINDMILLPLAINS -.incbin "./build/us_1.0/assets/levels/headers/WindmillPlains.bin" -glabel ASSET_LEVEL_FRONTEND -.incbin "./build/us_1.0/assets/levels/headers/FrontEnd.bin" -glabel ASSET_LEVEL_CHARACTERSELECT -.incbin "./build/us_1.0/assets/levels/headers/CharacterSelect.bin" -glabel ASSET_LEVEL_TITLESCREENSEQUENCE -.incbin "./build/us_1.0/assets/levels/headers/TitleScreenSequence.bin" -glabel ASSET_LEVEL_SNOWFLAKEMOUNTAINHUB -.incbin "./build/us_1.0/assets/levels/headers/SnowflakeMountainHub.bin" -glabel ASSET_LEVEL_SMOKEYCASTLE -.incbin "./build/us_1.0/assets/levels/headers/SmokeyCastle.bin" -glabel ASSET_LEVEL_DARKWATERBEACH -.incbin "./build/us_1.0/assets/levels/headers/DarkwaterBeach.bin" -glabel ASSET_LEVEL_ICICLEPYRAMID -.incbin "./build/us_1.0/assets/levels/headers/IciclePyramid.bin" -glabel ASSET_LEVEL_FROSTYVILLAGE -.incbin "./build/us_1.0/assets/levels/headers/FrostyVillage.bin" -glabel ASSET_LEVEL_JUNGLEFALLS -.incbin "./build/us_1.0/assets/levels/headers/JungleFalls.bin" -glabel ASSET_LEVEL_TREASURECAVES -.incbin "./build/us_1.0/assets/levels/headers/TreasureCaves.bin" -glabel ASSET_LEVEL_HAUNTEDWOODS -.incbin "./build/us_1.0/assets/levels/headers/HauntedWoods.bin" -glabel ASSET_LEVEL_DARKMOONCAVERNS -.incbin "./build/us_1.0/assets/levels/headers/DarkmoonCaverns.bin" -glabel ASSET_LEVEL_STARCITY -.incbin "./build/us_1.0/assets/levels/headers/StarCity.bin" -glabel ASSET_LEVEL_TROPHYRACE -.incbin "./build/us_1.0/assets/levels/headers/TrophyRace.bin" -glabel ASSET_LEVEL_FUTUREFUNLANDHUB -.incbin "./build/us_1.0/assets/levels/headers/FutureFunLandHub.bin" -glabel ASSET_LEVEL_OPENINGSEQUENCE -.incbin "./build/us_1.0/assets/levels/headers/OpeningSequence.bin" -glabel ASSET_LEVEL_WIZPIG1 -.incbin "./build/us_1.0/assets/levels/headers/Wizpig1.bin" -glabel ASSET_LEVEL_TRICKYTOPS1 -.incbin "./build/us_1.0/assets/levels/headers/Trickytops1.bin" -glabel ASSET_LEVEL_OPTIONSBACKGROUND -.incbin "./build/us_1.0/assets/levels/headers/OptionsBackground.bin" -glabel ASSET_LEVEL_BUBBLER1 -.incbin "./build/us_1.0/assets/levels/headers/Bubbler1.bin" -glabel ASSET_LEVEL_SMOKEY1 -.incbin "./build/us_1.0/assets/levels/headers/Smokey1.bin" -glabel ASSET_LEVEL_WIZPIGMOUTHSEQUENCE -.incbin "./build/us_1.0/assets/levels/headers/WizpigMouthSequence.bin" -glabel ASSET_LEVEL_WIZPIGAMULETSEQUENCE -.incbin "./build/us_1.0/assets/levels/headers/WizpigAmuletSequence.bin" -glabel ASSET_LEVEL_TTAMULETSEQUENCE -.incbin "./build/us_1.0/assets/levels/headers/TTAmuletSequence.bin" -glabel ASSET_LEVEL_ROCKETSEQUENCE -.incbin "./build/us_1.0/assets/levels/headers/RocketSequence.bin" -glabel ASSET_LEVEL_TRICKYTOPS2 -.incbin "./build/us_1.0/assets/levels/headers/Trickytops2.bin" -glabel ASSET_LEVEL_DINODOMAINTROPHYANIM -.incbin "./build/us_1.0/assets/levels/headers/DinoDomainTrophyAnim.bin" -glabel ASSET_LEVEL_SNOWFLAKEMOUNTAINTROPHYANIM -.incbin "./build/us_1.0/assets/levels/headers/SnowflakeMountainTrophyAnim.bin" -glabel ASSET_LEVEL_SHERBETISLANDTROPHYANIM -.incbin "./build/us_1.0/assets/levels/headers/SherbetIslandTrophyAnim.bin" -glabel ASSET_LEVEL_DRAGONFORESTTROPHYANIM -.incbin "./build/us_1.0/assets/levels/headers/DragonForestTrophyAnim.bin" -glabel ASSET_LEVEL_FUTUREFUNLANDTROPHYANIM -.incbin "./build/us_1.0/assets/levels/headers/FutureFunLandTrophyAnim.bin" -glabel ASSET_LEVEL_BLUEY2 -.incbin "./build/us_1.0/assets/levels/headers/Bluey2.bin" -glabel ASSET_LEVEL_BUBBLER2 -.incbin "./build/us_1.0/assets/levels/headers/Bubbler2.bin" -glabel ASSET_LEVEL_SMOKEY2 -.incbin "./build/us_1.0/assets/levels/headers/Smokey2.bin" -glabel ASSET_LEVEL_WIZPIG2 -.incbin "./build/us_1.0/assets/levels/headers/Wizpig2.bin" -glabel ASSET_LEVEL_PARTYSEQUENCE -.incbin "./build/us_1.0/assets/levels/headers/PartySequence.bin" -glabel ASSET_LEVEL_TRICKTOPSANIM -.incbin "./build/us_1.0/assets/levels/headers/TricktopsAnim.bin" -glabel ASSET_LEVEL_SMOKEYANIM -.incbin "./build/us_1.0/assets/levels/headers/SmokeyAnim.bin" -glabel ASSET_LEVEL_BLUEYANIM -.incbin "./build/us_1.0/assets/levels/headers/BlueyAnim.bin" -glabel ASSET_LEVEL_WIZPIG1ANIM -.incbin "./build/us_1.0/assets/levels/headers/Wizpig1Anim.bin" -glabel ASSET_LEVEL_BUBBLERANIM -.incbin "./build/us_1.0/assets/levels/headers/BubblerAnim.bin" -glabel ASSET_LEVEL_WIZPIG2ANIM -.incbin "./build/us_1.0/assets/levels/headers/Wizpig2Anim.bin" -glabel ASSET_LEVEL_LASTBIT -.incbin "./build/us_1.0/assets/levels/headers/LastBit.bin" -glabel ASSET_LEVEL_LASTBITB -.incbin "./build/us_1.0/assets/levels/headers/LastBitB.bin" -glabel ASSET_LEVEL_HEADERS_END - -/********** ASSET_LEVEL_NAMES_TABLE **********/ - -.balign 16 -glabel ASSET_LEVEL_NAMES_TABLE -.word ASSET_LEVEL_CENTRALAREAHUB_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_BLUEY1_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_DRAGONFORESTHUB_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_FOSSILCANYON_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_PIRATELAGOON_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_ANCIENTLAKE_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_WALRUSCOVE_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_HOTTOPVOLCANO_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_WHALEBAY_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_SNOWBALLVALLEY_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_CRESCENTISLAND_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_FIREMOUNTAIN_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_DINODOMAINHUB_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_EVERFROSTPEAK_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_SHERBETISLANDHUB_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_SPACEPORTALPHA_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_HORSESHOEGULCH_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_SPACEDUSTALLEY_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_GREENWOODVILLAGE_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_BOULDERCANYON_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_WINDMILLPLAINS_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_FRONTEND_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_CHARACTERSELECT_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_TITLESCREENSEQUENCE_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_SNOWFLAKEMOUNTAINHUB_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_SMOKEYCASTLE_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_DARKWATERBEACH_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_ICICLEPYRAMID_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_FROSTYVILLAGE_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_JUNGLEFALLS_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_TREASURECAVES_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_HAUNTEDWOODS_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_DARKMOONCAVERNS_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_STARCITY_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_TROPHYRACE_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_FUTUREFUNLANDHUB_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_OPENINGSEQUENCE_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_WIZPIG1_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_TRICKYTOPS1_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_OPTIONSBACKGROUND_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_BUBBLER1_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_SMOKEY1_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_WIZPIGMOUTHSEQUENCE_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_WIZPIGAMULETSEQUENCE_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_TTAMULETSEQUENCE_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_ROCKETSEQUENCE_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_TRICKYTOPS2_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_DINODOMAINTROPHYANIM_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_SNOWFLAKEMOUNTAINTROPHYANIM_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_SHERBETISLANDTROPHYANIM_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_DRAGONFORESTTROPHYANIM_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_FUTUREFUNLANDTROPHYANIM_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_BLUEY2_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_BUBBLER2_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_SMOKEY2_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_WIZPIG2_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_PARTYSEQUENCE_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_TRICKTOPSANIM_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_SMOKEYANIM_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_BLUEYANIM_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_WIZPIG1ANIM_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_BUBBLERANIM_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_WIZPIG2ANIM_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_LASTBIT_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_LASTBITB_NAME - ASSET_LEVEL_NAMES -.word ASSET_LEVEL_NAMES_END - ASSET_LEVEL_NAMES -.word 0xFFFFFFFF -glabel ASSET_LEVEL_NAMES_TABLE_END - -/********** ASSET_LEVEL_NAMES **********/ - -.balign 16 -glabel ASSET_LEVEL_NAMES -glabel ASSET_LEVEL_CENTRALAREAHUB_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/CentralAreaHub.bin" -glabel ASSET_LEVEL_BLUEY1_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/Bluey1.bin" -glabel ASSET_LEVEL_DRAGONFORESTHUB_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/DragonForestHub.bin" -glabel ASSET_LEVEL_FOSSILCANYON_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/FossilCanyon.bin" -glabel ASSET_LEVEL_PIRATELAGOON_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/PirateLagoon.bin" -glabel ASSET_LEVEL_ANCIENTLAKE_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/AncientLake.bin" -glabel ASSET_LEVEL_WALRUSCOVE_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/WalrusCove.bin" -glabel ASSET_LEVEL_HOTTOPVOLCANO_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/HotTopVolcano.bin" -glabel ASSET_LEVEL_WHALEBAY_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/WhaleBay.bin" -glabel ASSET_LEVEL_SNOWBALLVALLEY_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/SnowballValley.bin" -glabel ASSET_LEVEL_CRESCENTISLAND_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/CrescentIsland.bin" -glabel ASSET_LEVEL_FIREMOUNTAIN_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/FireMountain.bin" -glabel ASSET_LEVEL_DINODOMAINHUB_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/DinoDomainHub.bin" -glabel ASSET_LEVEL_EVERFROSTPEAK_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/EverfrostPeak.bin" -glabel ASSET_LEVEL_SHERBETISLANDHUB_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/SherbetIslandHub.bin" -glabel ASSET_LEVEL_SPACEPORTALPHA_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/SpaceportAlpha.bin" -glabel ASSET_LEVEL_HORSESHOEGULCH_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/HorseshoeGulch.bin" -glabel ASSET_LEVEL_SPACEDUSTALLEY_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/SpacedustAlley.bin" -glabel ASSET_LEVEL_GREENWOODVILLAGE_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/GreenwoodVillage.bin" -glabel ASSET_LEVEL_BOULDERCANYON_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/BoulderCanyon.bin" -glabel ASSET_LEVEL_WINDMILLPLAINS_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/WindmillPlains.bin" -glabel ASSET_LEVEL_FRONTEND_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/FrontEnd.bin" -glabel ASSET_LEVEL_CHARACTERSELECT_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/CharacterSelect.bin" -glabel ASSET_LEVEL_TITLESCREENSEQUENCE_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/TitleScreenSequence.bin" -glabel ASSET_LEVEL_SNOWFLAKEMOUNTAINHUB_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/SnowflakeMountainHub.bin" -glabel ASSET_LEVEL_SMOKEYCASTLE_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/SmokeyCastle.bin" -glabel ASSET_LEVEL_DARKWATERBEACH_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/DarkwaterBeach.bin" -glabel ASSET_LEVEL_ICICLEPYRAMID_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/IciclePyramid.bin" -glabel ASSET_LEVEL_FROSTYVILLAGE_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/FrostyVillage.bin" -glabel ASSET_LEVEL_JUNGLEFALLS_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/JungleFalls.bin" -glabel ASSET_LEVEL_TREASURECAVES_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/TreasureCaves.bin" -glabel ASSET_LEVEL_HAUNTEDWOODS_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/HauntedWoods.bin" -glabel ASSET_LEVEL_DARKMOONCAVERNS_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/DarkmoonCaverns.bin" -glabel ASSET_LEVEL_STARCITY_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/StarCity.bin" -glabel ASSET_LEVEL_TROPHYRACE_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/TrophyRace.bin" -glabel ASSET_LEVEL_FUTUREFUNLANDHUB_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/FutureFunLandHub.bin" -glabel ASSET_LEVEL_OPENINGSEQUENCE_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/OpeningSequence.bin" -glabel ASSET_LEVEL_WIZPIG1_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/Wizpig1.bin" -glabel ASSET_LEVEL_TRICKYTOPS1_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/Trickytops1.bin" -glabel ASSET_LEVEL_OPTIONSBACKGROUND_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/OptionsBackground.bin" -glabel ASSET_LEVEL_BUBBLER1_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/Bubbler1.bin" -glabel ASSET_LEVEL_SMOKEY1_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/Smokey1.bin" -glabel ASSET_LEVEL_WIZPIGMOUTHSEQUENCE_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/WizpigMouthSequence.bin" -glabel ASSET_LEVEL_WIZPIGAMULETSEQUENCE_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/WizpigAmuletSequence.bin" -glabel ASSET_LEVEL_TTAMULETSEQUENCE_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/TTAmuletSequence.bin" -glabel ASSET_LEVEL_ROCKETSEQUENCE_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/RocketSequence.bin" -glabel ASSET_LEVEL_TRICKYTOPS2_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/Trickytops2.bin" -glabel ASSET_LEVEL_DINODOMAINTROPHYANIM_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/DinoDomainTrophyAnim.bin" -glabel ASSET_LEVEL_SNOWFLAKEMOUNTAINTROPHYANIM_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/SnowflakeMountainTrophyAnim.bin" -glabel ASSET_LEVEL_SHERBETISLANDTROPHYANIM_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/SherbetIslandTrophyAnim.bin" -glabel ASSET_LEVEL_DRAGONFORESTTROPHYANIM_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/DragonForestTrophyAnim.bin" -glabel ASSET_LEVEL_FUTUREFUNLANDTROPHYANIM_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/FutureFunLandTrophyAnim.bin" -glabel ASSET_LEVEL_BLUEY2_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/Bluey2.bin" -glabel ASSET_LEVEL_BUBBLER2_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/Bubbler2.bin" -glabel ASSET_LEVEL_SMOKEY2_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/Smokey2.bin" -glabel ASSET_LEVEL_WIZPIG2_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/Wizpig2.bin" -glabel ASSET_LEVEL_PARTYSEQUENCE_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/PartySequence.bin" -glabel ASSET_LEVEL_TRICKTOPSANIM_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/TricktopsAnim.bin" -glabel ASSET_LEVEL_SMOKEYANIM_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/SmokeyAnim.bin" -glabel ASSET_LEVEL_BLUEYANIM_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/BlueyAnim.bin" -glabel ASSET_LEVEL_WIZPIG1ANIM_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/Wizpig1Anim.bin" -glabel ASSET_LEVEL_BUBBLERANIM_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/BubblerAnim.bin" -glabel ASSET_LEVEL_WIZPIG2ANIM_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/Wizpig2Anim.bin" -glabel ASSET_LEVEL_LASTBIT_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/LastBit.bin" -glabel ASSET_LEVEL_LASTBITB_NAME -.incbin "./build/us_1.0/assets/levels/headers/../names/LastBitB.bin" -glabel ASSET_LEVEL_NAMES_END - -/********** ASSET_LEVEL_MODELS_TABLE **********/ - -.balign 16 -glabel ASSET_LEVEL_MODELS_TABLE -.word ASSET_LEVELMODEL_CENTRALAREAHUB - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_BLUEY - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_DRAGONFORESTHUB - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_FOSSILCANYON - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_PIRATELAGOON - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_ANCIENTLAKE - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_WALRUSCOVE - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_HOTTOPVOLCANO - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_WHALEBAY - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_SNOWBALLVALLEY - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_TEMPLETRACK - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_CRESCENTISLAND - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_FIREMOUNTAIN - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_DINODOMAINHUB - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_EVERFROSTPEAK - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_SHERBETISLANDHUB - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_FRONTEND - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_CHARACTERSELECT - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_SPACEPORTALPHA - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_HORSESHOEGULCH - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_GREENWOODVILLAGE - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_SPACEDUSTALLEY - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_TITLESCREEN - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_BOULDERCANYON - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_WINDMILLPLAINS - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_SNOWFLAKEMOUNTAINHUB - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_SMOKEYCASTLE - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_DARKWATERBEACH - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_ICICLEPYRAMID - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_FROSTYVILLAGE - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_JUNGLEFALLS - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_TREASURECAVES - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_HAUNTEDWOODS - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_DARKMOONCAVERNS - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_STARCITY - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_TROPHYRACE - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_FUTUREFUNLANDHUB - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_INTROSEQUENCE - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_SMOKEY - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_TRICKYTOPS - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_WIZPIGMOUTHSEQUENCE - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_ROCKETSEQUENCE - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_WIZPIG1 - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_OCEANTRACK - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_VOLCANOTRACK - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_SNOWMOUNTAINTRACK - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_PARTYSEQUENCE - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_BLUEYANIMATION - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_WIZPIG1ANIMATION - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_BUBBLER - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_BUBBLERANIMATION - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_WIZPIG2ANIMATION - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_WIZPIG2 - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_ENDINGPART1 - ASSET_LEVEL_MODELS -.word ASSET_LEVELMODEL_ENDINGPART2 - ASSET_LEVEL_MODELS -.word ASSET_LEVEL_MODELS_END - ASSET_LEVEL_MODELS -.word 0xFFFFFFFF -glabel ASSET_LEVEL_MODELS_TABLE_END - -/********** ASSET_LEVEL_MODELS **********/ - -.balign 16 -glabel ASSET_LEVEL_MODELS -glabel ASSET_LEVELMODEL_CENTRALAREAHUB -.incbin "./build/us_1.0/assets/levels/models/central_area/central_area_hub.bin" -glabel ASSET_LEVELMODEL_BLUEY -.incbin "./build/us_1.0/assets/levels/models/snowflake_mountain/bluey.bin" -glabel ASSET_LEVELMODEL_DRAGONFORESTHUB -.incbin "./build/us_1.0/assets/levels/models/dragon_forest/dragon_forest_hub.bin" -glabel ASSET_LEVELMODEL_FOSSILCANYON -.incbin "./build/us_1.0/assets/levels/models/dino_domain/fossil_canyon.bin" -glabel ASSET_LEVELMODEL_PIRATELAGOON -.incbin "./build/us_1.0/assets/levels/models/sherbet_island/pirate_lagoon.bin" -glabel ASSET_LEVELMODEL_ANCIENTLAKE -.incbin "./build/us_1.0/assets/levels/models/dino_domain/ancient_lake.bin" -glabel ASSET_LEVELMODEL_WALRUSCOVE -.incbin "./build/us_1.0/assets/levels/models/snowflake_mountain/walrus_cove.bin" -glabel ASSET_LEVELMODEL_HOTTOPVOLCANO -.incbin "./build/us_1.0/assets/levels/models/dino_domain/hot_top_volcano.bin" -glabel ASSET_LEVELMODEL_WHALEBAY -.incbin "./build/us_1.0/assets/levels/models/sherbet_island/whale_bay.bin" -glabel ASSET_LEVELMODEL_SNOWBALLVALLEY -.incbin "./build/us_1.0/assets/levels/models/snowflake_mountain/snowball_valley.bin" -glabel ASSET_LEVELMODEL_TEMPLETRACK -.incbin "./build/us_1.0/assets/levels/models/unused/temple_track.bin" -glabel ASSET_LEVELMODEL_CRESCENTISLAND -.incbin "./build/us_1.0/assets/levels/models/sherbet_island/crescent_island.bin" -glabel ASSET_LEVELMODEL_FIREMOUNTAIN -.incbin "./build/us_1.0/assets/levels/models/dino_domain/fire_mountain.bin" -glabel ASSET_LEVELMODEL_DINODOMAINHUB -.incbin "./build/us_1.0/assets/levels/models/dino_domain/dino_domain_hub.bin" -glabel ASSET_LEVELMODEL_EVERFROSTPEAK -.incbin "./build/us_1.0/assets/levels/models/snowflake_mountain/everfrost_peak.bin" -glabel ASSET_LEVELMODEL_SHERBETISLANDHUB -.incbin "./build/us_1.0/assets/levels/models/sherbet_island/sherbet_island_hub.bin" -glabel ASSET_LEVELMODEL_FRONTEND -.incbin "./build/us_1.0/assets/levels/models/menu/front_end.bin" -glabel ASSET_LEVELMODEL_CHARACTERSELECT -.incbin "./build/us_1.0/assets/levels/models/menu/character_select.bin" -glabel ASSET_LEVELMODEL_SPACEPORTALPHA -.incbin "./build/us_1.0/assets/levels/models/future_fun_land/spaceport_alpha.bin" -glabel ASSET_LEVELMODEL_HORSESHOEGULCH -.incbin "./build/us_1.0/assets/levels/models/unused/horseshoe_gulch.bin" -glabel ASSET_LEVELMODEL_GREENWOODVILLAGE -.incbin "./build/us_1.0/assets/levels/models/dragon_forest/greenwood_village.bin" -glabel ASSET_LEVELMODEL_SPACEDUSTALLEY -.incbin "./build/us_1.0/assets/levels/models/future_fun_land/spacedust_alley.bin" -glabel ASSET_LEVELMODEL_TITLESCREEN -.incbin "./build/us_1.0/assets/levels/models/menu/title_screen.bin" -glabel ASSET_LEVELMODEL_BOULDERCANYON -.incbin "./build/us_1.0/assets/levels/models/dragon_forest/boulder_canyon.bin" -glabel ASSET_LEVELMODEL_WINDMILLPLAINS -.incbin "./build/us_1.0/assets/levels/models/dragon_forest/windmill_plains.bin" -glabel ASSET_LEVELMODEL_SNOWFLAKEMOUNTAINHUB -.incbin "./build/us_1.0/assets/levels/models/snowflake_mountain/snowflake_mountain_hub.bin" -glabel ASSET_LEVELMODEL_SMOKEYCASTLE -.incbin "./build/us_1.0/assets/levels/models/dragon_forest/smokey_castle.bin" -glabel ASSET_LEVELMODEL_DARKWATERBEACH -.incbin "./build/us_1.0/assets/levels/models/sherbet_island/darkwater_beach.bin" -glabel ASSET_LEVELMODEL_ICICLEPYRAMID -.incbin "./build/us_1.0/assets/levels/models/snowflake_mountain/icicle_pyramid.bin" -glabel ASSET_LEVELMODEL_FROSTYVILLAGE -.incbin "./build/us_1.0/assets/levels/models/snowflake_mountain/frosty_village.bin" -glabel ASSET_LEVELMODEL_JUNGLEFALLS -.incbin "./build/us_1.0/assets/levels/models/dino_domain/jungle_falls.bin" -glabel ASSET_LEVELMODEL_TREASURECAVES -.incbin "./build/us_1.0/assets/levels/models/sherbet_island/treasure_caves.bin" -glabel ASSET_LEVELMODEL_HAUNTEDWOODS -.incbin "./build/us_1.0/assets/levels/models/dragon_forest/haunted_woods.bin" -glabel ASSET_LEVELMODEL_DARKMOONCAVERNS -.incbin "./build/us_1.0/assets/levels/models/future_fun_land/darkmoon_caverns.bin" -glabel ASSET_LEVELMODEL_STARCITY -.incbin "./build/us_1.0/assets/levels/models/future_fun_land/star_city.bin" -glabel ASSET_LEVELMODEL_TROPHYRACE -.incbin "./build/us_1.0/assets/levels/models/menu/trophy_race.bin" -glabel ASSET_LEVELMODEL_FUTUREFUNLANDHUB -.incbin "./build/us_1.0/assets/levels/models/future_fun_land/future_fun_land_hub.bin" -glabel ASSET_LEVELMODEL_INTROSEQUENCE -.incbin "./build/us_1.0/assets/levels/models/cutscene/intro_sequence.bin" -glabel ASSET_LEVELMODEL_SMOKEY -.incbin "./build/us_1.0/assets/levels/models/dragon_forest/smokey.bin" -glabel ASSET_LEVELMODEL_TRICKYTOPS -.incbin "./build/us_1.0/assets/levels/models/dino_domain/trickytops.bin" -glabel ASSET_LEVELMODEL_WIZPIGMOUTHSEQUENCE -.incbin "./build/us_1.0/assets/levels/models/cutscene/wizpig_mouth_sequence.bin" -glabel ASSET_LEVELMODEL_ROCKETSEQUENCE -.incbin "./build/us_1.0/assets/levels/models/cutscene/rocket_sequence.bin" -glabel ASSET_LEVELMODEL_WIZPIG1 -.incbin "./build/us_1.0/assets/levels/models/central_area/wizpig1.bin" -glabel ASSET_LEVELMODEL_OCEANTRACK -.incbin "./build/us_1.0/assets/levels/models/unused/ocean_track.bin" -glabel ASSET_LEVELMODEL_VOLCANOTRACK -.incbin "./build/us_1.0/assets/levels/models/unused/volcano_track.bin" -glabel ASSET_LEVELMODEL_SNOWMOUNTAINTRACK -.incbin "./build/us_1.0/assets/levels/models/unused/snow_mountain_track.bin" -glabel ASSET_LEVELMODEL_PARTYSEQUENCE -.incbin "./build/us_1.0/assets/levels/models/cutscene/party_sequence.bin" -glabel ASSET_LEVELMODEL_BLUEYANIMATION -.incbin "./build/us_1.0/assets/levels/models/cutscene/bluey_animation.bin" -glabel ASSET_LEVELMODEL_WIZPIG1ANIMATION -.incbin "./build/us_1.0/assets/levels/models/cutscene/wizpig1_animation.bin" -glabel ASSET_LEVELMODEL_BUBBLER -.incbin "./build/us_1.0/assets/levels/models/sherbet_island/bubbler.bin" -glabel ASSET_LEVELMODEL_BUBBLERANIMATION -.incbin "./build/us_1.0/assets/levels/models/cutscene/bubbler_animation.bin" -glabel ASSET_LEVELMODEL_WIZPIG2ANIMATION -.incbin "./build/us_1.0/assets/levels/models/cutscene/wizpig2_animation.bin" -glabel ASSET_LEVELMODEL_WIZPIG2 -.incbin "./build/us_1.0/assets/levels/models/future_fun_land/wizpig2.bin" -glabel ASSET_LEVELMODEL_ENDINGPART1 -.incbin "./build/us_1.0/assets/levels/models/cutscene/ending_part1.bin" -glabel ASSET_LEVELMODEL_ENDINGPART2 -.incbin "./build/us_1.0/assets/levels/models/cutscene/ending_part2.bin" -glabel ASSET_LEVEL_MODELS_END - -/********** ASSET_OBJECT_MODELS_TABLE **********/ - -.balign 16 -glabel ASSET_OBJECT_MODELS_TABLE -.word ASSET_OBJECTMODEL_DOME - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME6 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME7 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME8 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME9 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME10 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME11 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME12 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME13 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME14 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME15 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME16 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DOME17 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_FIRSTPLACE - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYCAR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYCAR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYCAR_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYCAR_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYCAR_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYCAR_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SWCAR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SWCAR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SWCAR_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SWCAR_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SWCAR_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SWCAR_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERCAR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERCAR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERCAR_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERCAR_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERCAR_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERCAR_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTCAR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTCAR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTCAR_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTCAR_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTCAR_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTCAR_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMCAR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMCAR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMCAR_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMCAR_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMCAR_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMCAR_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGERCAR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGERCAR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGERCAR_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGERCAR_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGERCAR_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGERCAR_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKACAR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKACAR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKACAR_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKACAR_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKACAR_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKACAR_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOCAR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOCAR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOCAR_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOCAR_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOCAR_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOCAR_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENCAR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENCAR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENCAR_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENCAR_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENCAR_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENCAR_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSECAR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSECAR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSECAR_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSECAR_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSECAR_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSECAR_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TICKTOCKHOVER_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TICKTOCKHOVER_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TICKTOCKHOVER_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TICKTOCKHOVER_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TICKTOCKHOVER_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TICKTOCKHOVER_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMLINHOVER_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMLINHOVER_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMLINHOVER_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMLINHOVER_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMLINHOVER_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMLINHOVER_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERHOVER_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERHOVER_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERHOVER_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERHOVER_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERHOVER_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERHOVER_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKAHOVER_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKAHOVER_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKAHOVER_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKAHOVER_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKAHOVER_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKAHOVER_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTHOVER_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTHOVER_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTHOVER_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTHOVER_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTHOVER_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTHOVER_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOHOVER_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOHOVER_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOHOVER_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOHOVER_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOHOVER_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOHOVER_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGERHOVER_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGERHOVER_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGERHOVER_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGERHOVER_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGERHOVER_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGERHOVER_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENHOVER_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENHOVER_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENHOVER_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENHOVER_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENHOVER_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENHOVER_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSEHOVER_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSEHOVER_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSEHOVER_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSEHOVER_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSEHOVER_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSEHOVER_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYHOVER_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYHOVER_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYHOVER_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYHOVER_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYHOVER_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYHOVER_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYPLANE_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYPLANE_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYPLANE_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYPLANE_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYPLANE_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYPLANE_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGERANIMPLANE - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TICKTOCKPLANE_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TICKTOCKPLANE_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TICKTOCKPLANE_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TICKTOCKPLANE_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TICKTOCKPLANE_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TICKTOCKPLANE_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMPLANE_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMPLANE_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMPLANE_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMPLANE_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMPLANE_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMPLANE_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERPLANE_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERPLANE_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERPLANE_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERPLANE_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERPLANE_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERPLANE_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTPLANE_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTPLANE_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTPLANE_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTPLANE_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTPLANE_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTPLANE_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKA_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKA_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKA_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKA_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKA_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKA_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGPLANE_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGPLANE_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGPLANE_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGPLANE_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGPLANE_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGPLANE_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOPLANE_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOPLANE_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOPLANE_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOPLANE_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOPLANE_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOPLANE_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENPLANE_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENPLANE_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENPLANE_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENPLANE_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENPLANE_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKENPLANE_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSEPLANE_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSEPLANE_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSEPLANE_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSEPLANE_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSEPLANE_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSEPLANE_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_EMPTYPLANE - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_EMPTYCAR - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_EMPTYHOVER - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MAGICCARPET - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_POLYGOLDBALOON_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_POLYGOLDBALOON_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_STOPWATCHMAN - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_STOPWATCHSELECT - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PARKWARDEN - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_ANIMGENIE2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_GENIEHEAD - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGBOSS - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGBOSS2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WIZPIG - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGROCKETEER - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WIZPIGROCKET - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_ROCKETBIT1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_ROCKETBIT2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGBOULDER - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGBOULDER2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGBOULDER3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGBOULDER4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGBOULDER5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BIGPLANET - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WIZPIGSHIP - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TRICKYTOPS - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TRICKYANIM - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TRICKYANIM2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TRICKYANIM3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DRAGONBOSS - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DRAGONANIM - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TERRYBOSS - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WALRUS - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WALRUS_ANIM - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_OCTOPUS - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_STOPWATCHICON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_STOPWATCHHAND - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SNOWBALL - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SNOWBALL2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DINOSAUR1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DINOSAUR2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DINOSAUR3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SEAMONSTER - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WOODBLOCK - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WHALE - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_LEVELDOOR_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_LEVELDOOR_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_LEVELDOOR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_LEVELDOOR_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_LEVELDOOR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_LEVELDOOR_7 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_LEVELDOOR_8 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_LEVELDOOR_5 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_LEVELDOOR_6 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SIGNS_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SIGNS_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SIGNS_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SIGNS_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_LOG - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BOULDER - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_AIRZIPPERS - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WATERZIPPERS - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_GROUNDZIPPER2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETAAIRZIPPER - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DINOISLE - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETABUMPERICON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETADRUMSTICKICON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETAKRUNCHICON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETAPIPSYICON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETATIPTUPICON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETAKRUNCHBALLOON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETABUMPERBALLOON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETATIPTUPBALLOON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETATIMBERBALLOON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETABANJOBALLOON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETADRUMSTICKBALLOON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETAPIPSYBALLOON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SELECTIONSHADOW - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETAPLAYER1BALLOON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETAPLAYER2BALLOON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETAPLAYER3BALLOON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETAPLAYER4BALLOON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERANIMWALK - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIMBERDANCER - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIPTUPDANCER - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_RAREWARELOGO - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_FROG_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_FROG_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHECKPOINT - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MIDIFADE - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MODECHANGE - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_EXIT - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BONUS - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_ANIMCAMERA - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_ANIMATION - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_RGBALIGHT_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_RGBALIGHT_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_RGBALIGHT_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_RGBALIGHT_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_N64LOGO - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WIDESCREEN - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_ANIMDOME - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_DIDDYSELECT - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_ELECTRICITY - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KREMSELECT - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BADGERSELECT - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TORTSELECT - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BANJOSELECT - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TIGERSELECT - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHICKSELECT - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MOUSESELECT - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CONKSELECT - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_POSTFORPARTY - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_LIGHTHOUSE - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_LIGHTHOUSE1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SELECTIONHILL - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_RARELOGO - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WORLDKEY - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_ANIMKEY - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_ROCKETSIGNPOST_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_ROCKETSIGNPOST_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_ROCKETSIGNPOST_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_ROCKETSIGNPOST_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_ROCKETSIGNPOST_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MAGICRING - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_LEEFAN - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SPACESHIP1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SPACESHIP2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SPACESHIP3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MONORAIL - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BRIDGE - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIRATESHIP - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WORLDGATE_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WORLDGATE_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WORLDGATE_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WORLDGATE_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BIGBOSSDOOR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BIGBOSSDOOR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHALDOOR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_CHALDOOR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BOSSDOOR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BOSSDOOR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BOSSDOOR_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SPACECOLUMN1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SPACECOLUMN2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SPACECOLUMN3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TRACKSELECTFRAME - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_WINDSAIL - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_EFFECTBOX - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_ASTEROID - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TROPHYCAB - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_LASERBOLT - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TRACKSELECTFRAMEUNKNOWN - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TRACKSELECTFRAMECHALLENGE - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TRACKSELECTFRAMETROPHYRACE - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_UNKNOWN - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGHEADCOLOURS_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGHEADCOLOURS_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGHEADCOLOURS_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGHEADCOLOURS_3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGHEADCOLOURS_4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PTERODACTYL - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_AMULETPIECE1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_AMULETPIECE2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_AMULETPIECE3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_AMULETPIECE4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SWAMULET1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SWAMULET2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SWAMULET3 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SWAMULET4 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGFACEANIMATOR - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PILLAR - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BOULDERANIM - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_HAYSTACK - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_BETAPROAM64HOTAIRBALLOON - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MINISHIP - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_GOLDTROPHY - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PARKTROPHY - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TICKTROPHY - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SPACEDOME - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MISSILE - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SHIELD_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SHIELD_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_SHIELD_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TTDOOR_0 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TTDOOR_1 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_TTDOOR_2 - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_PIGLOG - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_KEITHPIGDOOR - ASSET_OBJECT_MODELS -.word ASSET_OBJECTMODEL_MAGNETFX - ASSET_OBJECT_MODELS -.word ASSET_OBJECT_MODELS_END - ASSET_OBJECT_MODELS -.word 0xFFFFFFFF -glabel ASSET_OBJECT_MODELS_TABLE_END - -/********** ASSET_OBJECT_MODELS **********/ - -.balign 16 -glabel ASSET_OBJECT_MODELS -glabel ASSET_OBJECTMODEL_DOME -.incbin "./build/us_1.0/assets/objects/models/dome.bin" -glabel ASSET_OBJECTMODEL_DOME1 -.incbin "./build/us_1.0/assets/objects/models/dome1.bin" -glabel ASSET_OBJECTMODEL_DOME2 -.incbin "./build/us_1.0/assets/objects/models/dome2.bin" -glabel ASSET_OBJECTMODEL_DOME3 -.incbin "./build/us_1.0/assets/objects/models/dome3.bin" -glabel ASSET_OBJECTMODEL_DOME4 -.incbin "./build/us_1.0/assets/objects/models/dome4.bin" -glabel ASSET_OBJECTMODEL_DOME5 -.incbin "./build/us_1.0/assets/objects/models/dome5.bin" -glabel ASSET_OBJECTMODEL_DOME6 -.incbin "./build/us_1.0/assets/objects/models/dome6.bin" -glabel ASSET_OBJECTMODEL_DOME7 -.incbin "./build/us_1.0/assets/objects/models/dome7.bin" -glabel ASSET_OBJECTMODEL_DOME8 -.incbin "./build/us_1.0/assets/objects/models/dome8.bin" -glabel ASSET_OBJECTMODEL_DOME9 -.incbin "./build/us_1.0/assets/objects/models/dome9.bin" -glabel ASSET_OBJECTMODEL_DOME10 -.incbin "./build/us_1.0/assets/objects/models/dome10.bin" -glabel ASSET_OBJECTMODEL_DOME11 -.incbin "./build/us_1.0/assets/objects/models/dome11.bin" -glabel ASSET_OBJECTMODEL_DOME12 -.incbin "./build/us_1.0/assets/objects/models/dome12.bin" -glabel ASSET_OBJECTMODEL_DOME13 -.incbin "./build/us_1.0/assets/objects/models/dome13.bin" -glabel ASSET_OBJECTMODEL_DOME14 -.incbin "./build/us_1.0/assets/objects/models/dome14.bin" -glabel ASSET_OBJECTMODEL_DOME15 -.incbin "./build/us_1.0/assets/objects/models/dome15.bin" -glabel ASSET_OBJECTMODEL_DOME16 -.incbin "./build/us_1.0/assets/objects/models/dome16.bin" -glabel ASSET_OBJECTMODEL_DOME17 -.incbin "./build/us_1.0/assets/objects/models/dome17.bin" -glabel ASSET_OBJECTMODEL_FIRSTPLACE -.incbin "./build/us_1.0/assets/objects/models/FirstPlace.bin" -glabel ASSET_OBJECTMODEL_DIDDYCAR_0 -.incbin "./build/us_1.0/assets/objects/models/diddycar_0.bin" -glabel ASSET_OBJECTMODEL_DIDDYCAR_1 -.incbin "./build/us_1.0/assets/objects/models/diddycar_1.bin" -glabel ASSET_OBJECTMODEL_DIDDYCAR_2 -.incbin "./build/us_1.0/assets/objects/models/diddycar_2.bin" -glabel ASSET_OBJECTMODEL_DIDDYCAR_3 -.incbin "./build/us_1.0/assets/objects/models/diddycar_3.bin" -glabel ASSET_OBJECTMODEL_DIDDYCAR_4 -.incbin "./build/us_1.0/assets/objects/models/diddycar_4.bin" -glabel ASSET_OBJECTMODEL_DIDDYCAR_5 -.incbin "./build/us_1.0/assets/objects/models/diddycar_5.bin" -glabel ASSET_OBJECTMODEL_SWCAR_0 -.incbin "./build/us_1.0/assets/objects/models/SWcar_0.bin" -glabel ASSET_OBJECTMODEL_SWCAR_1 -.incbin "./build/us_1.0/assets/objects/models/SWcar_1.bin" -glabel ASSET_OBJECTMODEL_SWCAR_2 -.incbin "./build/us_1.0/assets/objects/models/SWcar_2.bin" -glabel ASSET_OBJECTMODEL_SWCAR_3 -.incbin "./build/us_1.0/assets/objects/models/SWcar_3.bin" -glabel ASSET_OBJECTMODEL_SWCAR_4 -.incbin "./build/us_1.0/assets/objects/models/SWcar_4.bin" -glabel ASSET_OBJECTMODEL_SWCAR_5 -.incbin "./build/us_1.0/assets/objects/models/SWcar_5.bin" -glabel ASSET_OBJECTMODEL_BADGERCAR_0 -.incbin "./build/us_1.0/assets/objects/models/BadgerCar_0.bin" -glabel ASSET_OBJECTMODEL_BADGERCAR_1 -.incbin "./build/us_1.0/assets/objects/models/BadgerCar_1.bin" -glabel ASSET_OBJECTMODEL_BADGERCAR_2 -.incbin "./build/us_1.0/assets/objects/models/BadgerCar_2.bin" -glabel ASSET_OBJECTMODEL_BADGERCAR_3 -.incbin "./build/us_1.0/assets/objects/models/BadgerCar_3.bin" -glabel ASSET_OBJECTMODEL_BADGERCAR_4 -.incbin "./build/us_1.0/assets/objects/models/BadgerCar_4.bin" -glabel ASSET_OBJECTMODEL_BADGERCAR_5 -.incbin "./build/us_1.0/assets/objects/models/BadgerCar_5.bin" -glabel ASSET_OBJECTMODEL_TORTCAR_0 -.incbin "./build/us_1.0/assets/objects/models/TortCar_0.bin" -glabel ASSET_OBJECTMODEL_TORTCAR_1 -.incbin "./build/us_1.0/assets/objects/models/TortCar_1.bin" -glabel ASSET_OBJECTMODEL_TORTCAR_2 -.incbin "./build/us_1.0/assets/objects/models/TortCar_2.bin" -glabel ASSET_OBJECTMODEL_TORTCAR_3 -.incbin "./build/us_1.0/assets/objects/models/TortCar_3.bin" -glabel ASSET_OBJECTMODEL_TORTCAR_4 -.incbin "./build/us_1.0/assets/objects/models/TortCar_4.bin" -glabel ASSET_OBJECTMODEL_TORTCAR_5 -.incbin "./build/us_1.0/assets/objects/models/TortCar_5.bin" -glabel ASSET_OBJECTMODEL_KREMCAR_0 -.incbin "./build/us_1.0/assets/objects/models/KremCar_0.bin" -glabel ASSET_OBJECTMODEL_KREMCAR_1 -.incbin "./build/us_1.0/assets/objects/models/KremCar_1.bin" -glabel ASSET_OBJECTMODEL_KREMCAR_2 -.incbin "./build/us_1.0/assets/objects/models/KremCar_2.bin" -glabel ASSET_OBJECTMODEL_KREMCAR_3 -.incbin "./build/us_1.0/assets/objects/models/KremCar_3.bin" -glabel ASSET_OBJECTMODEL_KREMCAR_4 -.incbin "./build/us_1.0/assets/objects/models/KremCar_4.bin" -glabel ASSET_OBJECTMODEL_KREMCAR_5 -.incbin "./build/us_1.0/assets/objects/models/KremCar_5.bin" -glabel ASSET_OBJECTMODEL_TIGERCAR_0 -.incbin "./build/us_1.0/assets/objects/models/TigerCar_0.bin" -glabel ASSET_OBJECTMODEL_TIGERCAR_1 -.incbin "./build/us_1.0/assets/objects/models/TigerCar_1.bin" -glabel ASSET_OBJECTMODEL_TIGERCAR_2 -.incbin "./build/us_1.0/assets/objects/models/TigerCar_2.bin" -glabel ASSET_OBJECTMODEL_TIGERCAR_3 -.incbin "./build/us_1.0/assets/objects/models/TigerCar_3.bin" -glabel ASSET_OBJECTMODEL_TIGERCAR_4 -.incbin "./build/us_1.0/assets/objects/models/TigerCar_4.bin" -glabel ASSET_OBJECTMODEL_TIGERCAR_5 -.incbin "./build/us_1.0/assets/objects/models/TigerCar_5.bin" -glabel ASSET_OBJECTMODEL_CONKACAR_0 -.incbin "./build/us_1.0/assets/objects/models/ConkaCar_0.bin" -glabel ASSET_OBJECTMODEL_CONKACAR_1 -.incbin "./build/us_1.0/assets/objects/models/ConkaCar_1.bin" -glabel ASSET_OBJECTMODEL_CONKACAR_2 -.incbin "./build/us_1.0/assets/objects/models/ConkaCar_2.bin" -glabel ASSET_OBJECTMODEL_CONKACAR_3 -.incbin "./build/us_1.0/assets/objects/models/ConkaCar_3.bin" -glabel ASSET_OBJECTMODEL_CONKACAR_4 -.incbin "./build/us_1.0/assets/objects/models/ConkaCar_4.bin" -glabel ASSET_OBJECTMODEL_CONKACAR_5 -.incbin "./build/us_1.0/assets/objects/models/ConkaCar_5.bin" -glabel ASSET_OBJECTMODEL_BANJOCAR_0 -.incbin "./build/us_1.0/assets/objects/models/BanjoCar_0.bin" -glabel ASSET_OBJECTMODEL_BANJOCAR_1 -.incbin "./build/us_1.0/assets/objects/models/BanjoCar_1.bin" -glabel ASSET_OBJECTMODEL_BANJOCAR_2 -.incbin "./build/us_1.0/assets/objects/models/BanjoCar_2.bin" -glabel ASSET_OBJECTMODEL_BANJOCAR_3 -.incbin "./build/us_1.0/assets/objects/models/BanjoCar_3.bin" -glabel ASSET_OBJECTMODEL_BANJOCAR_4 -.incbin "./build/us_1.0/assets/objects/models/BanjoCar_4.bin" -glabel ASSET_OBJECTMODEL_BANJOCAR_5 -.incbin "./build/us_1.0/assets/objects/models/BanjoCar_5.bin" -glabel ASSET_OBJECTMODEL_CHICKENCAR_0 -.incbin "./build/us_1.0/assets/objects/models/ChickenCar_0.bin" -glabel ASSET_OBJECTMODEL_CHICKENCAR_1 -.incbin "./build/us_1.0/assets/objects/models/ChickenCar_1.bin" -glabel ASSET_OBJECTMODEL_CHICKENCAR_2 -.incbin "./build/us_1.0/assets/objects/models/ChickenCar_2.bin" -glabel ASSET_OBJECTMODEL_CHICKENCAR_3 -.incbin "./build/us_1.0/assets/objects/models/ChickenCar_3.bin" -glabel ASSET_OBJECTMODEL_CHICKENCAR_4 -.incbin "./build/us_1.0/assets/objects/models/ChickenCar_4.bin" -glabel ASSET_OBJECTMODEL_CHICKENCAR_5 -.incbin "./build/us_1.0/assets/objects/models/ChickenCar_5.bin" -glabel ASSET_OBJECTMODEL_MOUSECAR_0 -.incbin "./build/us_1.0/assets/objects/models/MouseCar_0.bin" -glabel ASSET_OBJECTMODEL_MOUSECAR_1 -.incbin "./build/us_1.0/assets/objects/models/MouseCar_1.bin" -glabel ASSET_OBJECTMODEL_MOUSECAR_2 -.incbin "./build/us_1.0/assets/objects/models/MouseCar_2.bin" -glabel ASSET_OBJECTMODEL_MOUSECAR_3 -.incbin "./build/us_1.0/assets/objects/models/MouseCar_3.bin" -glabel ASSET_OBJECTMODEL_MOUSECAR_4 -.incbin "./build/us_1.0/assets/objects/models/MouseCar_4.bin" -glabel ASSET_OBJECTMODEL_MOUSECAR_5 -.incbin "./build/us_1.0/assets/objects/models/MouseCar_5.bin" -glabel ASSET_OBJECTMODEL_TICKTOCKHOVER_0 -.incbin "./build/us_1.0/assets/objects/models/ticktockhover_0.bin" -glabel ASSET_OBJECTMODEL_TICKTOCKHOVER_1 -.incbin "./build/us_1.0/assets/objects/models/ticktockhover_1.bin" -glabel ASSET_OBJECTMODEL_TICKTOCKHOVER_2 -.incbin "./build/us_1.0/assets/objects/models/ticktockhover_2.bin" -glabel ASSET_OBJECTMODEL_TICKTOCKHOVER_3 -.incbin "./build/us_1.0/assets/objects/models/ticktockhover_3.bin" -glabel ASSET_OBJECTMODEL_TICKTOCKHOVER_4 -.incbin "./build/us_1.0/assets/objects/models/ticktockhover_4.bin" -glabel ASSET_OBJECTMODEL_TICKTOCKHOVER_5 -.incbin "./build/us_1.0/assets/objects/models/ticktockhover_5.bin" -glabel ASSET_OBJECTMODEL_KREMLINHOVER_0 -.incbin "./build/us_1.0/assets/objects/models/KremlinHover_0.bin" -glabel ASSET_OBJECTMODEL_KREMLINHOVER_1 -.incbin "./build/us_1.0/assets/objects/models/KremlinHover_1.bin" -glabel ASSET_OBJECTMODEL_KREMLINHOVER_2 -.incbin "./build/us_1.0/assets/objects/models/KremlinHover_2.bin" -glabel ASSET_OBJECTMODEL_KREMLINHOVER_3 -.incbin "./build/us_1.0/assets/objects/models/KremlinHover_3.bin" -glabel ASSET_OBJECTMODEL_KREMLINHOVER_4 -.incbin "./build/us_1.0/assets/objects/models/KremlinHover_4.bin" -glabel ASSET_OBJECTMODEL_KREMLINHOVER_5 -.incbin "./build/us_1.0/assets/objects/models/KremlinHover_5.bin" -glabel ASSET_OBJECTMODEL_BADGERHOVER_0 -.incbin "./build/us_1.0/assets/objects/models/BadgerHover_0.bin" -glabel ASSET_OBJECTMODEL_BADGERHOVER_1 -.incbin "./build/us_1.0/assets/objects/models/BadgerHover_1.bin" -glabel ASSET_OBJECTMODEL_BADGERHOVER_2 -.incbin "./build/us_1.0/assets/objects/models/BadgerHover_2.bin" -glabel ASSET_OBJECTMODEL_BADGERHOVER_3 -.incbin "./build/us_1.0/assets/objects/models/BadgerHover_3.bin" -glabel ASSET_OBJECTMODEL_BADGERHOVER_4 -.incbin "./build/us_1.0/assets/objects/models/BadgerHover_4.bin" -glabel ASSET_OBJECTMODEL_BADGERHOVER_5 -.incbin "./build/us_1.0/assets/objects/models/BadgerHover_5.bin" -glabel ASSET_OBJECTMODEL_CONKAHOVER_0 -.incbin "./build/us_1.0/assets/objects/models/ConkaHover_0.bin" -glabel ASSET_OBJECTMODEL_CONKAHOVER_1 -.incbin "./build/us_1.0/assets/objects/models/ConkaHover_1.bin" -glabel ASSET_OBJECTMODEL_CONKAHOVER_2 -.incbin "./build/us_1.0/assets/objects/models/ConkaHover_2.bin" -glabel ASSET_OBJECTMODEL_CONKAHOVER_3 -.incbin "./build/us_1.0/assets/objects/models/ConkaHover_3.bin" -glabel ASSET_OBJECTMODEL_CONKAHOVER_4 -.incbin "./build/us_1.0/assets/objects/models/ConkaHover_4.bin" -glabel ASSET_OBJECTMODEL_CONKAHOVER_5 -.incbin "./build/us_1.0/assets/objects/models/ConkaHover_5.bin" -glabel ASSET_OBJECTMODEL_TORTHOVER_0 -.incbin "./build/us_1.0/assets/objects/models/TortHover_0.bin" -glabel ASSET_OBJECTMODEL_TORTHOVER_1 -.incbin "./build/us_1.0/assets/objects/models/TortHover_1.bin" -glabel ASSET_OBJECTMODEL_TORTHOVER_2 -.incbin "./build/us_1.0/assets/objects/models/TortHover_2.bin" -glabel ASSET_OBJECTMODEL_TORTHOVER_3 -.incbin "./build/us_1.0/assets/objects/models/TortHover_3.bin" -glabel ASSET_OBJECTMODEL_TORTHOVER_4 -.incbin "./build/us_1.0/assets/objects/models/TortHover_4.bin" -glabel ASSET_OBJECTMODEL_TORTHOVER_5 -.incbin "./build/us_1.0/assets/objects/models/TortHover_5.bin" -glabel ASSET_OBJECTMODEL_BANJOHOVER_0 -.incbin "./build/us_1.0/assets/objects/models/BanjoHover_0.bin" -glabel ASSET_OBJECTMODEL_BANJOHOVER_1 -.incbin "./build/us_1.0/assets/objects/models/BanjoHover_1.bin" -glabel ASSET_OBJECTMODEL_BANJOHOVER_2 -.incbin "./build/us_1.0/assets/objects/models/BanjoHover_2.bin" -glabel ASSET_OBJECTMODEL_BANJOHOVER_3 -.incbin "./build/us_1.0/assets/objects/models/BanjoHover_3.bin" -glabel ASSET_OBJECTMODEL_BANJOHOVER_4 -.incbin "./build/us_1.0/assets/objects/models/BanjoHover_4.bin" -glabel ASSET_OBJECTMODEL_BANJOHOVER_5 -.incbin "./build/us_1.0/assets/objects/models/BanjoHover_5.bin" -glabel ASSET_OBJECTMODEL_TIGERHOVER_0 -.incbin "./build/us_1.0/assets/objects/models/TigerHover_0.bin" -glabel ASSET_OBJECTMODEL_TIGERHOVER_1 -.incbin "./build/us_1.0/assets/objects/models/TigerHover_1.bin" -glabel ASSET_OBJECTMODEL_TIGERHOVER_2 -.incbin "./build/us_1.0/assets/objects/models/TigerHover_2.bin" -glabel ASSET_OBJECTMODEL_TIGERHOVER_3 -.incbin "./build/us_1.0/assets/objects/models/TigerHover_3.bin" -glabel ASSET_OBJECTMODEL_TIGERHOVER_4 -.incbin "./build/us_1.0/assets/objects/models/TigerHover_4.bin" -glabel ASSET_OBJECTMODEL_TIGERHOVER_5 -.incbin "./build/us_1.0/assets/objects/models/TigerHover_5.bin" -glabel ASSET_OBJECTMODEL_CHICKENHOVER_0 -.incbin "./build/us_1.0/assets/objects/models/ChickenHover_0.bin" -glabel ASSET_OBJECTMODEL_CHICKENHOVER_1 -.incbin "./build/us_1.0/assets/objects/models/ChickenHover_1.bin" -glabel ASSET_OBJECTMODEL_CHICKENHOVER_2 -.incbin "./build/us_1.0/assets/objects/models/ChickenHover_2.bin" -glabel ASSET_OBJECTMODEL_CHICKENHOVER_3 -.incbin "./build/us_1.0/assets/objects/models/ChickenHover_3.bin" -glabel ASSET_OBJECTMODEL_CHICKENHOVER_4 -.incbin "./build/us_1.0/assets/objects/models/ChickenHover_4.bin" -glabel ASSET_OBJECTMODEL_CHICKENHOVER_5 -.incbin "./build/us_1.0/assets/objects/models/ChickenHover_5.bin" -glabel ASSET_OBJECTMODEL_MOUSEHOVER_0 -.incbin "./build/us_1.0/assets/objects/models/MouseHover_0.bin" -glabel ASSET_OBJECTMODEL_MOUSEHOVER_1 -.incbin "./build/us_1.0/assets/objects/models/MouseHover_1.bin" -glabel ASSET_OBJECTMODEL_MOUSEHOVER_2 -.incbin "./build/us_1.0/assets/objects/models/MouseHover_2.bin" -glabel ASSET_OBJECTMODEL_MOUSEHOVER_3 -.incbin "./build/us_1.0/assets/objects/models/MouseHover_3.bin" -glabel ASSET_OBJECTMODEL_MOUSEHOVER_4 -.incbin "./build/us_1.0/assets/objects/models/MouseHover_4.bin" -glabel ASSET_OBJECTMODEL_MOUSEHOVER_5 -.incbin "./build/us_1.0/assets/objects/models/MouseHover_5.bin" -glabel ASSET_OBJECTMODEL_DIDDYHOVER_0 -.incbin "./build/us_1.0/assets/objects/models/diddyhover_0.bin" -glabel ASSET_OBJECTMODEL_DIDDYHOVER_1 -.incbin "./build/us_1.0/assets/objects/models/diddyhover_1.bin" -glabel ASSET_OBJECTMODEL_DIDDYHOVER_2 -.incbin "./build/us_1.0/assets/objects/models/diddyhover_2.bin" -glabel ASSET_OBJECTMODEL_DIDDYHOVER_3 -.incbin "./build/us_1.0/assets/objects/models/diddyhover_3.bin" -glabel ASSET_OBJECTMODEL_DIDDYHOVER_4 -.incbin "./build/us_1.0/assets/objects/models/diddyhover_4.bin" -glabel ASSET_OBJECTMODEL_DIDDYHOVER_5 -.incbin "./build/us_1.0/assets/objects/models/diddyhover_5.bin" -glabel ASSET_OBJECTMODEL_DIDDYPLANE_0 -.incbin "./build/us_1.0/assets/objects/models/diddyplane_0.bin" -glabel ASSET_OBJECTMODEL_DIDDYPLANE_1 -.incbin "./build/us_1.0/assets/objects/models/diddyplane_1.bin" -glabel ASSET_OBJECTMODEL_DIDDYPLANE_2 -.incbin "./build/us_1.0/assets/objects/models/diddyplane_2.bin" -glabel ASSET_OBJECTMODEL_DIDDYPLANE_3 -.incbin "./build/us_1.0/assets/objects/models/diddyplane_3.bin" -glabel ASSET_OBJECTMODEL_DIDDYPLANE_4 -.incbin "./build/us_1.0/assets/objects/models/diddyplane_4.bin" -glabel ASSET_OBJECTMODEL_DIDDYPLANE_5 -.incbin "./build/us_1.0/assets/objects/models/diddyplane_5.bin" -glabel ASSET_OBJECTMODEL_TIGERANIMPLANE -.incbin "./build/us_1.0/assets/objects/models/TigerAnimPlane.bin" -glabel ASSET_OBJECTMODEL_TICKTOCKPLANE_0 -.incbin "./build/us_1.0/assets/objects/models/ticktockplane_0.bin" -glabel ASSET_OBJECTMODEL_TICKTOCKPLANE_1 -.incbin "./build/us_1.0/assets/objects/models/ticktockplane_1.bin" -glabel ASSET_OBJECTMODEL_TICKTOCKPLANE_2 -.incbin "./build/us_1.0/assets/objects/models/ticktockplane_2.bin" -glabel ASSET_OBJECTMODEL_TICKTOCKPLANE_3 -.incbin "./build/us_1.0/assets/objects/models/ticktockplane_3.bin" -glabel ASSET_OBJECTMODEL_TICKTOCKPLANE_4 -.incbin "./build/us_1.0/assets/objects/models/ticktockplane_4.bin" -glabel ASSET_OBJECTMODEL_TICKTOCKPLANE_5 -.incbin "./build/us_1.0/assets/objects/models/ticktockplane_5.bin" -glabel ASSET_OBJECTMODEL_KREMPLANE_0 -.incbin "./build/us_1.0/assets/objects/models/KremPlane_0.bin" -glabel ASSET_OBJECTMODEL_KREMPLANE_1 -.incbin "./build/us_1.0/assets/objects/models/KremPlane_1.bin" -glabel ASSET_OBJECTMODEL_KREMPLANE_2 -.incbin "./build/us_1.0/assets/objects/models/KremPlane_2.bin" -glabel ASSET_OBJECTMODEL_KREMPLANE_3 -.incbin "./build/us_1.0/assets/objects/models/KremPlane_3.bin" -glabel ASSET_OBJECTMODEL_KREMPLANE_4 -.incbin "./build/us_1.0/assets/objects/models/KremPlane_4.bin" -glabel ASSET_OBJECTMODEL_KREMPLANE_5 -.incbin "./build/us_1.0/assets/objects/models/KremPlane_5.bin" -glabel ASSET_OBJECTMODEL_BADGERPLANE_0 -.incbin "./build/us_1.0/assets/objects/models/BadgerPlane_0.bin" -glabel ASSET_OBJECTMODEL_BADGERPLANE_1 -.incbin "./build/us_1.0/assets/objects/models/BadgerPlane_1.bin" -glabel ASSET_OBJECTMODEL_BADGERPLANE_2 -.incbin "./build/us_1.0/assets/objects/models/BadgerPlane_2.bin" -glabel ASSET_OBJECTMODEL_BADGERPLANE_3 -.incbin "./build/us_1.0/assets/objects/models/BadgerPlane_3.bin" -glabel ASSET_OBJECTMODEL_BADGERPLANE_4 -.incbin "./build/us_1.0/assets/objects/models/BadgerPlane_4.bin" -glabel ASSET_OBJECTMODEL_BADGERPLANE_5 -.incbin "./build/us_1.0/assets/objects/models/BadgerPlane_5.bin" -glabel ASSET_OBJECTMODEL_TORTPLANE_0 -.incbin "./build/us_1.0/assets/objects/models/TortPlane_0.bin" -glabel ASSET_OBJECTMODEL_TORTPLANE_1 -.incbin "./build/us_1.0/assets/objects/models/TortPlane_1.bin" -glabel ASSET_OBJECTMODEL_TORTPLANE_2 -.incbin "./build/us_1.0/assets/objects/models/TortPlane_2.bin" -glabel ASSET_OBJECTMODEL_TORTPLANE_3 -.incbin "./build/us_1.0/assets/objects/models/TortPlane_3.bin" -glabel ASSET_OBJECTMODEL_TORTPLANE_4 -.incbin "./build/us_1.0/assets/objects/models/TortPlane_4.bin" -glabel ASSET_OBJECTMODEL_TORTPLANE_5 -.incbin "./build/us_1.0/assets/objects/models/TortPlane_5.bin" -glabel ASSET_OBJECTMODEL_CONKA_0 -.incbin "./build/us_1.0/assets/objects/models/Conka_0.bin" -glabel ASSET_OBJECTMODEL_CONKA_1 -.incbin "./build/us_1.0/assets/objects/models/Conka_1.bin" -glabel ASSET_OBJECTMODEL_CONKA_2 -.incbin "./build/us_1.0/assets/objects/models/Conka_2.bin" -glabel ASSET_OBJECTMODEL_CONKA_3 -.incbin "./build/us_1.0/assets/objects/models/Conka_3.bin" -glabel ASSET_OBJECTMODEL_CONKA_4 -.incbin "./build/us_1.0/assets/objects/models/Conka_4.bin" -glabel ASSET_OBJECTMODEL_CONKA_5 -.incbin "./build/us_1.0/assets/objects/models/Conka_5.bin" -glabel ASSET_OBJECTMODEL_TIGPLANE_0 -.incbin "./build/us_1.0/assets/objects/models/TigPlane_0.bin" -glabel ASSET_OBJECTMODEL_TIGPLANE_1 -.incbin "./build/us_1.0/assets/objects/models/TigPlane_1.bin" -glabel ASSET_OBJECTMODEL_TIGPLANE_2 -.incbin "./build/us_1.0/assets/objects/models/TigPlane_2.bin" -glabel ASSET_OBJECTMODEL_TIGPLANE_3 -.incbin "./build/us_1.0/assets/objects/models/TigPlane_3.bin" -glabel ASSET_OBJECTMODEL_TIGPLANE_4 -.incbin "./build/us_1.0/assets/objects/models/TigPlane_4.bin" -glabel ASSET_OBJECTMODEL_TIGPLANE_5 -.incbin "./build/us_1.0/assets/objects/models/TigPlane_5.bin" -glabel ASSET_OBJECTMODEL_BANJOPLANE_0 -.incbin "./build/us_1.0/assets/objects/models/BanjoPlane_0.bin" -glabel ASSET_OBJECTMODEL_BANJOPLANE_1 -.incbin "./build/us_1.0/assets/objects/models/BanjoPlane_1.bin" -glabel ASSET_OBJECTMODEL_BANJOPLANE_2 -.incbin "./build/us_1.0/assets/objects/models/BanjoPlane_2.bin" -glabel ASSET_OBJECTMODEL_BANJOPLANE_3 -.incbin "./build/us_1.0/assets/objects/models/BanjoPlane_3.bin" -glabel ASSET_OBJECTMODEL_BANJOPLANE_4 -.incbin "./build/us_1.0/assets/objects/models/BanjoPlane_4.bin" -glabel ASSET_OBJECTMODEL_BANJOPLANE_5 -.incbin "./build/us_1.0/assets/objects/models/BanjoPlane_5.bin" -glabel ASSET_OBJECTMODEL_CHICKENPLANE_0 -.incbin "./build/us_1.0/assets/objects/models/ChickenPlane_0.bin" -glabel ASSET_OBJECTMODEL_CHICKENPLANE_1 -.incbin "./build/us_1.0/assets/objects/models/ChickenPlane_1.bin" -glabel ASSET_OBJECTMODEL_CHICKENPLANE_2 -.incbin "./build/us_1.0/assets/objects/models/ChickenPlane_2.bin" -glabel ASSET_OBJECTMODEL_CHICKENPLANE_3 -.incbin "./build/us_1.0/assets/objects/models/ChickenPlane_3.bin" -glabel ASSET_OBJECTMODEL_CHICKENPLANE_4 -.incbin "./build/us_1.0/assets/objects/models/ChickenPlane_4.bin" -glabel ASSET_OBJECTMODEL_CHICKENPLANE_5 -.incbin "./build/us_1.0/assets/objects/models/ChickenPlane_5.bin" -glabel ASSET_OBJECTMODEL_MOUSEPLANE_0 -.incbin "./build/us_1.0/assets/objects/models/MousePlane_0.bin" -glabel ASSET_OBJECTMODEL_MOUSEPLANE_1 -.incbin "./build/us_1.0/assets/objects/models/MousePlane_1.bin" -glabel ASSET_OBJECTMODEL_MOUSEPLANE_2 -.incbin "./build/us_1.0/assets/objects/models/MousePlane_2.bin" -glabel ASSET_OBJECTMODEL_MOUSEPLANE_3 -.incbin "./build/us_1.0/assets/objects/models/MousePlane_3.bin" -glabel ASSET_OBJECTMODEL_MOUSEPLANE_4 -.incbin "./build/us_1.0/assets/objects/models/MousePlane_4.bin" -glabel ASSET_OBJECTMODEL_MOUSEPLANE_5 -.incbin "./build/us_1.0/assets/objects/models/MousePlane_5.bin" -glabel ASSET_OBJECTMODEL_EMPTYPLANE -.incbin "./build/us_1.0/assets/objects/models/EmptyPlane.bin" -glabel ASSET_OBJECTMODEL_EMPTYCAR -.incbin "./build/us_1.0/assets/objects/models/EmptyCar.bin" -glabel ASSET_OBJECTMODEL_EMPTYHOVER -.incbin "./build/us_1.0/assets/objects/models/EmptyHover.bin" -glabel ASSET_OBJECTMODEL_MAGICCARPET -.incbin "./build/us_1.0/assets/objects/models/MagicCarpet.bin" -glabel ASSET_OBJECTMODEL_POLYGOLDBALOON_0 -.incbin "./build/us_1.0/assets/objects/models/PolyGoldBaloon_0.bin" -glabel ASSET_OBJECTMODEL_POLYGOLDBALOON_1 -.incbin "./build/us_1.0/assets/objects/models/PolyGoldBaloon_1.bin" -glabel ASSET_OBJECTMODEL_STOPWATCHMAN -.incbin "./build/us_1.0/assets/objects/models/Stopwatch-man.bin" -glabel ASSET_OBJECTMODEL_STOPWATCHSELECT -.incbin "./build/us_1.0/assets/objects/models/stopwatchselect.bin" -glabel ASSET_OBJECTMODEL_PARKWARDEN -.incbin "./build/us_1.0/assets/objects/models/Parkwarden.bin" -glabel ASSET_OBJECTMODEL_ANIMGENIE2 -.incbin "./build/us_1.0/assets/objects/models/AnimGenie2.bin" -glabel ASSET_OBJECTMODEL_GENIEHEAD -.incbin "./build/us_1.0/assets/objects/models/Geniehead.bin" -glabel ASSET_OBJECTMODEL_PIGBOSS -.incbin "./build/us_1.0/assets/objects/models/Pigboss.bin" -glabel ASSET_OBJECTMODEL_PIGBOSS2 -.incbin "./build/us_1.0/assets/objects/models/Pigboss2.bin" -glabel ASSET_OBJECTMODEL_WIZPIG -.incbin "./build/us_1.0/assets/objects/models/Wizpig.bin" -glabel ASSET_OBJECTMODEL_PIGROCKETEER -.incbin "./build/us_1.0/assets/objects/models/PigRocketeer.bin" -glabel ASSET_OBJECTMODEL_WIZPIGROCKET -.incbin "./build/us_1.0/assets/objects/models/WizpigRocket.bin" -glabel ASSET_OBJECTMODEL_ROCKETBIT1 -.incbin "./build/us_1.0/assets/objects/models/rocketbit1.bin" -glabel ASSET_OBJECTMODEL_ROCKETBIT2 -.incbin "./build/us_1.0/assets/objects/models/rocketbit2.bin" -glabel ASSET_OBJECTMODEL_PIGBOULDER -.incbin "./build/us_1.0/assets/objects/models/Pigboulder.bin" -glabel ASSET_OBJECTMODEL_PIGBOULDER2 -.incbin "./build/us_1.0/assets/objects/models/Pigboulder2.bin" -glabel ASSET_OBJECTMODEL_PIGBOULDER3 -.incbin "./build/us_1.0/assets/objects/models/Pigboulder3.bin" -glabel ASSET_OBJECTMODEL_PIGBOULDER4 -.incbin "./build/us_1.0/assets/objects/models/Pigboulder4.bin" -glabel ASSET_OBJECTMODEL_PIGBOULDER5 -.incbin "./build/us_1.0/assets/objects/models/Pigboulder5.bin" -glabel ASSET_OBJECTMODEL_BIGPLANET -.incbin "./build/us_1.0/assets/objects/models/Bigplanet.bin" -glabel ASSET_OBJECTMODEL_WIZPIGSHIP -.incbin "./build/us_1.0/assets/objects/models/wizpigship.bin" -glabel ASSET_OBJECTMODEL_TRICKYTOPS -.incbin "./build/us_1.0/assets/objects/models/Trickytops.bin" -glabel ASSET_OBJECTMODEL_TRICKYANIM -.incbin "./build/us_1.0/assets/objects/models/Trickyanim.bin" -glabel ASSET_OBJECTMODEL_TRICKYANIM2 -.incbin "./build/us_1.0/assets/objects/models/Trickyanim2.bin" -glabel ASSET_OBJECTMODEL_TRICKYANIM3 -.incbin "./build/us_1.0/assets/objects/models/Trickyanim3.bin" -glabel ASSET_OBJECTMODEL_DRAGONBOSS -.incbin "./build/us_1.0/assets/objects/models/Dragonboss.bin" -glabel ASSET_OBJECTMODEL_DRAGONANIM -.incbin "./build/us_1.0/assets/objects/models/DragonAnim.bin" -glabel ASSET_OBJECTMODEL_TERRYBOSS -.incbin "./build/us_1.0/assets/objects/models/Terryboss.bin" -glabel ASSET_OBJECTMODEL_WALRUS -.incbin "./build/us_1.0/assets/objects/models/Walrus.bin" -glabel ASSET_OBJECTMODEL_WALRUS_ANIM -.incbin "./build/us_1.0/assets/objects/models/Walrus_anim.bin" -glabel ASSET_OBJECTMODEL_OCTOPUS -.incbin "./build/us_1.0/assets/objects/models/octopus.bin" -glabel ASSET_OBJECTMODEL_STOPWATCHICON -.incbin "./build/us_1.0/assets/objects/models/stopwatchicon.bin" -glabel ASSET_OBJECTMODEL_STOPWATCHHAND -.incbin "./build/us_1.0/assets/objects/models/stopwatchhand.bin" -glabel ASSET_OBJECTMODEL_SNOWBALL -.incbin "./build/us_1.0/assets/objects/models/SnowBall.bin" -glabel ASSET_OBJECTMODEL_SNOWBALL2 -.incbin "./build/us_1.0/assets/objects/models/SnowBall2.bin" -glabel ASSET_OBJECTMODEL_DINOSAUR1 -.incbin "./build/us_1.0/assets/objects/models/Dinosaur1.bin" -glabel ASSET_OBJECTMODEL_DINOSAUR2 -.incbin "./build/us_1.0/assets/objects/models/Dinosaur2.bin" -glabel ASSET_OBJECTMODEL_DINOSAUR3 -.incbin "./build/us_1.0/assets/objects/models/Dinosaur3.bin" -glabel ASSET_OBJECTMODEL_SEAMONSTER -.incbin "./build/us_1.0/assets/objects/models/SeaMonster.bin" -glabel ASSET_OBJECTMODEL_WOODBLOCK -.incbin "./build/us_1.0/assets/objects/models/WoodBlock.bin" -glabel ASSET_OBJECTMODEL_WHALE -.incbin "./build/us_1.0/assets/objects/models/Whale.bin" -glabel ASSET_OBJECTMODEL_LEVELDOOR_2 -.incbin "./build/us_1.0/assets/objects/models/LevelDoor_2.bin" -glabel ASSET_OBJECTMODEL_LEVELDOOR_3 -.incbin "./build/us_1.0/assets/objects/models/LevelDoor_3.bin" -glabel ASSET_OBJECTMODEL_LEVELDOOR_0 -.incbin "./build/us_1.0/assets/objects/models/LevelDoor_0.bin" -glabel ASSET_OBJECTMODEL_LEVELDOOR_4 -.incbin "./build/us_1.0/assets/objects/models/LevelDoor_4.bin" -glabel ASSET_OBJECTMODEL_LEVELDOOR_1 -.incbin "./build/us_1.0/assets/objects/models/LevelDoor_1.bin" -glabel ASSET_OBJECTMODEL_LEVELDOOR_7 -.incbin "./build/us_1.0/assets/objects/models/LevelDoor_7.bin" -glabel ASSET_OBJECTMODEL_LEVELDOOR_8 -.incbin "./build/us_1.0/assets/objects/models/LevelDoor_8.bin" -glabel ASSET_OBJECTMODEL_LEVELDOOR_5 -.incbin "./build/us_1.0/assets/objects/models/LevelDoor_5.bin" -glabel ASSET_OBJECTMODEL_LEVELDOOR_6 -.incbin "./build/us_1.0/assets/objects/models/LevelDoor_6.bin" -glabel ASSET_OBJECTMODEL_SIGNS_0 -.incbin "./build/us_1.0/assets/objects/models/Signs_0.bin" -glabel ASSET_OBJECTMODEL_SIGNS_1 -.incbin "./build/us_1.0/assets/objects/models/Signs_1.bin" -glabel ASSET_OBJECTMODEL_SIGNS_2 -.incbin "./build/us_1.0/assets/objects/models/Signs_2.bin" -glabel ASSET_OBJECTMODEL_SIGNS_3 -.incbin "./build/us_1.0/assets/objects/models/Signs_3.bin" -glabel ASSET_OBJECTMODEL_LOG -.incbin "./build/us_1.0/assets/objects/models/log.bin" -glabel ASSET_OBJECTMODEL_BOULDER -.incbin "./build/us_1.0/assets/objects/models/boulder.bin" -glabel ASSET_OBJECTMODEL_AIRZIPPERS -.incbin "./build/us_1.0/assets/objects/models/AirZippers.bin" -glabel ASSET_OBJECTMODEL_WATERZIPPERS -.incbin "./build/us_1.0/assets/objects/models/WaterZippers.bin" -glabel ASSET_OBJECTMODEL_GROUNDZIPPER2 -.incbin "./build/us_1.0/assets/objects/models/GroundZipper2.bin" -glabel ASSET_OBJECTMODEL_BETAAIRZIPPER -.incbin "./build/us_1.0/assets/objects/models/BetaAirZipper.bin" -glabel ASSET_OBJECTMODEL_DINOISLE -.incbin "./build/us_1.0/assets/objects/models/Dinoisle.bin" -glabel ASSET_OBJECTMODEL_BETABUMPERICON -.incbin "./build/us_1.0/assets/objects/models/BetaBumperIcon.bin" -glabel ASSET_OBJECTMODEL_BETADRUMSTICKICON -.incbin "./build/us_1.0/assets/objects/models/BetaDrumstickIcon.bin" -glabel ASSET_OBJECTMODEL_BETAKRUNCHICON -.incbin "./build/us_1.0/assets/objects/models/BetaKrunchIcon.bin" -glabel ASSET_OBJECTMODEL_BETAPIPSYICON -.incbin "./build/us_1.0/assets/objects/models/BetaPipsyIcon.bin" -glabel ASSET_OBJECTMODEL_BETATIPTUPICON -.incbin "./build/us_1.0/assets/objects/models/BetaTiptupIcon.bin" -glabel ASSET_OBJECTMODEL_BETAKRUNCHBALLOON -.incbin "./build/us_1.0/assets/objects/models/BetaKrunchBalloon.bin" -glabel ASSET_OBJECTMODEL_BETABUMPERBALLOON -.incbin "./build/us_1.0/assets/objects/models/BetaBumperBalloon.bin" -glabel ASSET_OBJECTMODEL_BETATIPTUPBALLOON -.incbin "./build/us_1.0/assets/objects/models/BetaTiptupBalloon.bin" -glabel ASSET_OBJECTMODEL_BETATIMBERBALLOON -.incbin "./build/us_1.0/assets/objects/models/BetaTimberBalloon.bin" -glabel ASSET_OBJECTMODEL_BETABANJOBALLOON -.incbin "./build/us_1.0/assets/objects/models/BetaBanjoBalloon.bin" -glabel ASSET_OBJECTMODEL_BETADRUMSTICKBALLOON -.incbin "./build/us_1.0/assets/objects/models/BetaDrumstickBalloon.bin" -glabel ASSET_OBJECTMODEL_BETAPIPSYBALLOON -.incbin "./build/us_1.0/assets/objects/models/BetaPipsyBalloon.bin" -glabel ASSET_OBJECTMODEL_SELECTIONSHADOW -.incbin "./build/us_1.0/assets/objects/models/selectionshadow.bin" -glabel ASSET_OBJECTMODEL_BETAPLAYER1BALLOON -.incbin "./build/us_1.0/assets/objects/models/BetaPlayer1Balloon.bin" -glabel ASSET_OBJECTMODEL_BETAPLAYER2BALLOON -.incbin "./build/us_1.0/assets/objects/models/BetaPlayer2Balloon.bin" -glabel ASSET_OBJECTMODEL_BETAPLAYER3BALLOON -.incbin "./build/us_1.0/assets/objects/models/BetaPlayer3Balloon.bin" -glabel ASSET_OBJECTMODEL_BETAPLAYER4BALLOON -.incbin "./build/us_1.0/assets/objects/models/BetaPlayer4Balloon.bin" -glabel ASSET_OBJECTMODEL_BADGERANIMWALK -.incbin "./build/us_1.0/assets/objects/models/BadgerAnimWalk.bin" -glabel ASSET_OBJECTMODEL_TIMBERDANCER -.incbin "./build/us_1.0/assets/objects/models/timberdancer.bin" -glabel ASSET_OBJECTMODEL_TIPTUPDANCER -.incbin "./build/us_1.0/assets/objects/models/tiptupdancer.bin" -glabel ASSET_OBJECTMODEL_RAREWARELOGO -.incbin "./build/us_1.0/assets/objects/models/rarewarelogo.bin" -glabel ASSET_OBJECTMODEL_FROG_0 -.incbin "./build/us_1.0/assets/objects/models/Frog_0.bin" -glabel ASSET_OBJECTMODEL_FROG_1 -.incbin "./build/us_1.0/assets/objects/models/Frog_1.bin" -glabel ASSET_OBJECTMODEL_CHECKPOINT -.incbin "./build/us_1.0/assets/objects/models/checkpoint.bin" -glabel ASSET_OBJECTMODEL_MIDIFADE -.incbin "./build/us_1.0/assets/objects/models/midifade.bin" -glabel ASSET_OBJECTMODEL_MODECHANGE -.incbin "./build/us_1.0/assets/objects/models/modechange.bin" -glabel ASSET_OBJECTMODEL_EXIT -.incbin "./build/us_1.0/assets/objects/models/exit.bin" -glabel ASSET_OBJECTMODEL_BONUS -.incbin "./build/us_1.0/assets/objects/models/bonus.bin" -glabel ASSET_OBJECTMODEL_ANIMCAMERA -.incbin "./build/us_1.0/assets/objects/models/AnimCamera.bin" -glabel ASSET_OBJECTMODEL_ANIMATION -.incbin "./build/us_1.0/assets/objects/models/Animation.bin" -glabel ASSET_OBJECTMODEL_RGBALIGHT_0 -.incbin "./build/us_1.0/assets/objects/models/rgbalight_0.bin" -glabel ASSET_OBJECTMODEL_RGBALIGHT_1 -.incbin "./build/us_1.0/assets/objects/models/rgbalight_1.bin" -glabel ASSET_OBJECTMODEL_RGBALIGHT_2 -.incbin "./build/us_1.0/assets/objects/models/rgbalight_2.bin" -glabel ASSET_OBJECTMODEL_RGBALIGHT_3 -.incbin "./build/us_1.0/assets/objects/models/rgbalight_3.bin" -glabel ASSET_OBJECTMODEL_N64LOGO -.incbin "./build/us_1.0/assets/objects/models/N64logo.bin" -glabel ASSET_OBJECTMODEL_WIDESCREEN -.incbin "./build/us_1.0/assets/objects/models/Widescreen.bin" -glabel ASSET_OBJECTMODEL_ANIMDOME -.incbin "./build/us_1.0/assets/objects/models/AnimDome.bin" -glabel ASSET_OBJECTMODEL_DIDDYSELECT -.incbin "./build/us_1.0/assets/objects/models/DiddySelect.bin" -glabel ASSET_OBJECTMODEL_ELECTRICITY -.incbin "./build/us_1.0/assets/objects/models/Electricity.bin" -glabel ASSET_OBJECTMODEL_KREMSELECT -.incbin "./build/us_1.0/assets/objects/models/KremSelect.bin" -glabel ASSET_OBJECTMODEL_BADGERSELECT -.incbin "./build/us_1.0/assets/objects/models/BadgerSelect.bin" -glabel ASSET_OBJECTMODEL_TORTSELECT -.incbin "./build/us_1.0/assets/objects/models/TortSelect.bin" -glabel ASSET_OBJECTMODEL_BANJOSELECT -.incbin "./build/us_1.0/assets/objects/models/BanjoSelect.bin" -glabel ASSET_OBJECTMODEL_TIGERSELECT -.incbin "./build/us_1.0/assets/objects/models/TigerSelect.bin" -glabel ASSET_OBJECTMODEL_CHICKSELECT -.incbin "./build/us_1.0/assets/objects/models/ChickSelect.bin" -glabel ASSET_OBJECTMODEL_MOUSESELECT -.incbin "./build/us_1.0/assets/objects/models/MouseSelect.bin" -glabel ASSET_OBJECTMODEL_CONKSELECT -.incbin "./build/us_1.0/assets/objects/models/ConkSelect.bin" -glabel ASSET_OBJECTMODEL_POSTFORPARTY -.incbin "./build/us_1.0/assets/objects/models/postforparty.bin" -glabel ASSET_OBJECTMODEL_LIGHTHOUSE -.incbin "./build/us_1.0/assets/objects/models/Lighthouse.bin" -glabel ASSET_OBJECTMODEL_LIGHTHOUSE1 -.incbin "./build/us_1.0/assets/objects/models/lighthouse1.bin" -glabel ASSET_OBJECTMODEL_SELECTIONHILL -.incbin "./build/us_1.0/assets/objects/models/SelectionHill.bin" -glabel ASSET_OBJECTMODEL_RARELOGO -.incbin "./build/us_1.0/assets/objects/models/Rarelogo.bin" -glabel ASSET_OBJECTMODEL_WORLDKEY -.incbin "./build/us_1.0/assets/objects/models/WorldKey.bin" -glabel ASSET_OBJECTMODEL_ANIMKEY -.incbin "./build/us_1.0/assets/objects/models/AnimKey.bin" -glabel ASSET_OBJECTMODEL_ROCKETSIGNPOST_0 -.incbin "./build/us_1.0/assets/objects/models/rocketsignpost_0.bin" -glabel ASSET_OBJECTMODEL_ROCKETSIGNPOST_1 -.incbin "./build/us_1.0/assets/objects/models/rocketsignpost_1.bin" -glabel ASSET_OBJECTMODEL_ROCKETSIGNPOST_2 -.incbin "./build/us_1.0/assets/objects/models/rocketsignpost_2.bin" -glabel ASSET_OBJECTMODEL_ROCKETSIGNPOST_3 -.incbin "./build/us_1.0/assets/objects/models/rocketsignpost_3.bin" -glabel ASSET_OBJECTMODEL_ROCKETSIGNPOST_4 -.incbin "./build/us_1.0/assets/objects/models/rocketsignpost_4.bin" -glabel ASSET_OBJECTMODEL_MAGICRING -.incbin "./build/us_1.0/assets/objects/models/MagicRing.bin" -glabel ASSET_OBJECTMODEL_LEEFAN -.incbin "./build/us_1.0/assets/objects/models/Leefan.bin" -glabel ASSET_OBJECTMODEL_SPACESHIP1 -.incbin "./build/us_1.0/assets/objects/models/SpaceShip1.bin" -glabel ASSET_OBJECTMODEL_SPACESHIP2 -.incbin "./build/us_1.0/assets/objects/models/SpaceShip2.bin" -glabel ASSET_OBJECTMODEL_SPACESHIP3 -.incbin "./build/us_1.0/assets/objects/models/SpaceShip3.bin" -glabel ASSET_OBJECTMODEL_MONORAIL -.incbin "./build/us_1.0/assets/objects/models/MonoRail.bin" -glabel ASSET_OBJECTMODEL_BRIDGE -.incbin "./build/us_1.0/assets/objects/models/bridge.bin" -glabel ASSET_OBJECTMODEL_PIRATESHIP -.incbin "./build/us_1.0/assets/objects/models/pirateship.bin" -glabel ASSET_OBJECTMODEL_WORLDGATE_0 -.incbin "./build/us_1.0/assets/objects/models/WorldGate_0.bin" -glabel ASSET_OBJECTMODEL_WORLDGATE_1 -.incbin "./build/us_1.0/assets/objects/models/WorldGate_1.bin" -glabel ASSET_OBJECTMODEL_WORLDGATE_2 -.incbin "./build/us_1.0/assets/objects/models/WorldGate_2.bin" -glabel ASSET_OBJECTMODEL_WORLDGATE_3 -.incbin "./build/us_1.0/assets/objects/models/WorldGate_3.bin" -glabel ASSET_OBJECTMODEL_BIGBOSSDOOR_0 -.incbin "./build/us_1.0/assets/objects/models/bigbossdoor_0.bin" -glabel ASSET_OBJECTMODEL_BIGBOSSDOOR_1 -.incbin "./build/us_1.0/assets/objects/models/bigbossdoor_1.bin" -glabel ASSET_OBJECTMODEL_CHALDOOR_0 -.incbin "./build/us_1.0/assets/objects/models/ChalDoor_0.bin" -glabel ASSET_OBJECTMODEL_CHALDOOR_1 -.incbin "./build/us_1.0/assets/objects/models/ChalDoor_1.bin" -glabel ASSET_OBJECTMODEL_BOSSDOOR_0 -.incbin "./build/us_1.0/assets/objects/models/BossDoor_0.bin" -glabel ASSET_OBJECTMODEL_BOSSDOOR_1 -.incbin "./build/us_1.0/assets/objects/models/BossDoor_1.bin" -glabel ASSET_OBJECTMODEL_BOSSDOOR_2 -.incbin "./build/us_1.0/assets/objects/models/BossDoor_2.bin" -glabel ASSET_OBJECTMODEL_SPACECOLUMN1 -.incbin "./build/us_1.0/assets/objects/models/SpaceColumn1.bin" -glabel ASSET_OBJECTMODEL_SPACECOLUMN2 -.incbin "./build/us_1.0/assets/objects/models/SpaceColumn2.bin" -glabel ASSET_OBJECTMODEL_SPACECOLUMN3 -.incbin "./build/us_1.0/assets/objects/models/SpaceColumn3.bin" -glabel ASSET_OBJECTMODEL_TRACKSELECTFRAME -.incbin "./build/us_1.0/assets/objects/models/TrackSelectFrame.bin" -glabel ASSET_OBJECTMODEL_WINDSAIL -.incbin "./build/us_1.0/assets/objects/models/windsail.bin" -glabel ASSET_OBJECTMODEL_EFFECTBOX -.incbin "./build/us_1.0/assets/objects/models/EffectBox.bin" -glabel ASSET_OBJECTMODEL_ASTEROID -.incbin "./build/us_1.0/assets/objects/models/Asteroid.bin" -glabel ASSET_OBJECTMODEL_TROPHYCAB -.incbin "./build/us_1.0/assets/objects/models/trophycab.bin" -glabel ASSET_OBJECTMODEL_LASERBOLT -.incbin "./build/us_1.0/assets/objects/models/laserbolt.bin" -glabel ASSET_OBJECTMODEL_TRACKSELECTFRAMEUNKNOWN -.incbin "./build/us_1.0/assets/objects/models/TrackSelectFrameUnknown.bin" -glabel ASSET_OBJECTMODEL_TRACKSELECTFRAMECHALLENGE -.incbin "./build/us_1.0/assets/objects/models/TrackSelectFrameChallenge.bin" -glabel ASSET_OBJECTMODEL_TRACKSELECTFRAMETROPHYRACE -.incbin "./build/us_1.0/assets/objects/models/TrackSelectFrameTrophyRace.bin" -glabel ASSET_OBJECTMODEL_UNKNOWN -.incbin "./build/us_1.0/assets/objects/models/Unknown.bin" -glabel ASSET_OBJECTMODEL_PIGHEADCOLOURS_0 -.incbin "./build/us_1.0/assets/objects/models/pigheadcolours_0.bin" -glabel ASSET_OBJECTMODEL_PIGHEADCOLOURS_1 -.incbin "./build/us_1.0/assets/objects/models/pigheadcolours_1.bin" -glabel ASSET_OBJECTMODEL_PIGHEADCOLOURS_2 -.incbin "./build/us_1.0/assets/objects/models/pigheadcolours_2.bin" -glabel ASSET_OBJECTMODEL_PIGHEADCOLOURS_3 -.incbin "./build/us_1.0/assets/objects/models/pigheadcolours_3.bin" -glabel ASSET_OBJECTMODEL_PIGHEADCOLOURS_4 -.incbin "./build/us_1.0/assets/objects/models/pigheadcolours_4.bin" -glabel ASSET_OBJECTMODEL_PTERODACTYL -.incbin "./build/us_1.0/assets/objects/models/pterodactyl.bin" -glabel ASSET_OBJECTMODEL_AMULETPIECE1 -.incbin "./build/us_1.0/assets/objects/models/amuletpiece1.bin" -glabel ASSET_OBJECTMODEL_AMULETPIECE2 -.incbin "./build/us_1.0/assets/objects/models/amuletpiece2.bin" -glabel ASSET_OBJECTMODEL_AMULETPIECE3 -.incbin "./build/us_1.0/assets/objects/models/amuletpiece3.bin" -glabel ASSET_OBJECTMODEL_AMULETPIECE4 -.incbin "./build/us_1.0/assets/objects/models/amuletpiece4.bin" -glabel ASSET_OBJECTMODEL_SWAMULET1 -.incbin "./build/us_1.0/assets/objects/models/swamulet1.bin" -glabel ASSET_OBJECTMODEL_SWAMULET2 -.incbin "./build/us_1.0/assets/objects/models/swamulet2.bin" -glabel ASSET_OBJECTMODEL_SWAMULET3 -.incbin "./build/us_1.0/assets/objects/models/swamulet3.bin" -glabel ASSET_OBJECTMODEL_SWAMULET4 -.incbin "./build/us_1.0/assets/objects/models/swamulet4.bin" -glabel ASSET_OBJECTMODEL_PIGFACEANIMATOR -.incbin "./build/us_1.0/assets/objects/models/pigfaceanimator.bin" -glabel ASSET_OBJECTMODEL_PILLAR -.incbin "./build/us_1.0/assets/objects/models/pillar.bin" -glabel ASSET_OBJECTMODEL_BOULDERANIM -.incbin "./build/us_1.0/assets/objects/models/boulderanim.bin" -glabel ASSET_OBJECTMODEL_HAYSTACK -.incbin "./build/us_1.0/assets/objects/models/Haystack.bin" -glabel ASSET_OBJECTMODEL_BETAPROAM64HOTAIRBALLOON -.incbin "./build/us_1.0/assets/objects/models/BetaProAM64HotAirBalloon.bin" -glabel ASSET_OBJECTMODEL_MINISHIP -.incbin "./build/us_1.0/assets/objects/models/MiniShip.bin" -glabel ASSET_OBJECTMODEL_GOLDTROPHY -.incbin "./build/us_1.0/assets/objects/models/GoldTrophy.bin" -glabel ASSET_OBJECTMODEL_PARKTROPHY -.incbin "./build/us_1.0/assets/objects/models/Parktrophy.bin" -glabel ASSET_OBJECTMODEL_TICKTROPHY -.incbin "./build/us_1.0/assets/objects/models/Ticktrophy.bin" -glabel ASSET_OBJECTMODEL_SPACEDOME -.incbin "./build/us_1.0/assets/objects/models/SpaceDome.bin" -glabel ASSET_OBJECTMODEL_MISSILE -.incbin "./build/us_1.0/assets/objects/models/Missile.bin" -glabel ASSET_OBJECTMODEL_SHIELD_1 -.incbin "./build/us_1.0/assets/objects/models/Shield_1.bin" -glabel ASSET_OBJECTMODEL_SHIELD_0 -.incbin "./build/us_1.0/assets/objects/models/Shield_0.bin" -glabel ASSET_OBJECTMODEL_SHIELD_2 -.incbin "./build/us_1.0/assets/objects/models/Shield_2.bin" -glabel ASSET_OBJECTMODEL_TTDOOR_0 -.incbin "./build/us_1.0/assets/objects/models/TTDoor_0.bin" -glabel ASSET_OBJECTMODEL_TTDOOR_1 -.incbin "./build/us_1.0/assets/objects/models/TTDoor_1.bin" -glabel ASSET_OBJECTMODEL_TTDOOR_2 -.incbin "./build/us_1.0/assets/objects/models/TTDoor_2.bin" -glabel ASSET_OBJECTMODEL_PIGLOG -.incbin "./build/us_1.0/assets/objects/models/piglog.bin" -glabel ASSET_OBJECTMODEL_KEITHPIGDOOR -.incbin "./build/us_1.0/assets/objects/models/KeithPigDoor.bin" -glabel ASSET_OBJECTMODEL_MAGNETFX -.incbin "./build/us_1.0/assets/objects/models/MagnetFX.bin" -glabel ASSET_OBJECT_MODELS_END - -/********** ASSET_ANIMATION_IDS **********/ - -.balign 16 -glabel ASSET_ANIMATION_IDS -.incbin "./build/us_1.0/assets/objects/animation_ids.bin" -glabel ASSET_ANIMATION_IDS_END - -/********** ASSET_OBJECT_ANIMATIONS_TABLE **********/ - -.balign 16 -glabel ASSET_OBJECT_ANIMATIONS_TABLE -.word ASSET_OBJECT_ANIMATIONS_0 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_1 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_2 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_3 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_4 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_5 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_6 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_7 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_8 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_9 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_10 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_11 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_12 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_13 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_14 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_15 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_16 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_17 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_18 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_19 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_20 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_21 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_22 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_23 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_24 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_25 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_26 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_27 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_28 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_29 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_30 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_31 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_32 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_33 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_34 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_35 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_36 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_37 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_38 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_39 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_40 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_41 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_42 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_43 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_44 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_45 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_46 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_47 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_48 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_49 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_50 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_51 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_52 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_53 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_54 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_55 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_56 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_57 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_58 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_59 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_60 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_61 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_62 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_63 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_64 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_65 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_66 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_67 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_68 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_69 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_70 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_71 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_72 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_73 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_74 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_75 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_76 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_77 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_78 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_79 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_80 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_81 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_82 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_83 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_84 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_85 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_86 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_87 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_88 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_89 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_90 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_91 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_92 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_93 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_94 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_95 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_96 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_97 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_98 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_99 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_100 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_101 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_102 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_103 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_104 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_105 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_106 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_107 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_108 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_109 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_110 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_111 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_112 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_113 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_114 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_115 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_116 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_117 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_118 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_119 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_120 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_121 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_122 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_123 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_124 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_125 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_126 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_127 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_128 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_129 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_130 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_131 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_132 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_133 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_134 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_135 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_136 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_137 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_138 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_139 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_140 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_141 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_142 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_143 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_144 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_145 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_146 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_147 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_148 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_149 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_150 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_151 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_152 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_153 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_154 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_155 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_156 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_157 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_158 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_159 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_160 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_161 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_162 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_163 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_164 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_165 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_166 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_167 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_168 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_169 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_170 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_171 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_172 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_173 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_174 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_175 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_176 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_177 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_178 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_179 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_180 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_181 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_182 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_183 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_184 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_185 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_186 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_187 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_188 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_189 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_190 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_191 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_192 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_193 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_194 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_195 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_196 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_197 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_198 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_199 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_200 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_201 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_202 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_203 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_204 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_205 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_206 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_207 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_208 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_209 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_210 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_211 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_212 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_213 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_214 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_215 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_216 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_217 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_218 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_219 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_220 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_221 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_222 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_223 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_224 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_225 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_226 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_227 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_228 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_229 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_230 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_231 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_232 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_233 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_234 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_235 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_236 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_237 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_238 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_239 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_240 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_241 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_242 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_243 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_244 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_245 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_246 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_247 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_248 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_249 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_250 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_251 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_252 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_253 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_254 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_255 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_256 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_257 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_258 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_259 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_260 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_261 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_262 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_263 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_264 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_265 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_266 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_267 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_268 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_269 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_270 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_271 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_272 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_273 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_274 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_275 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_276 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_277 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_278 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_279 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_280 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_281 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_282 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_283 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_284 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_285 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_286 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_287 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_288 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_289 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_290 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_291 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_292 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_293 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_294 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_295 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_296 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_297 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_298 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_299 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_300 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_301 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_302 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_303 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_304 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_305 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_306 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_307 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_308 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_309 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_310 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_311 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_312 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_313 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_314 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_315 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_316 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_317 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_318 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_319 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_320 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_321 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_322 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_323 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_324 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_325 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_326 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_327 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_328 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_329 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_330 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_331 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_332 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_333 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_334 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_335 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_336 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_337 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_338 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_339 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_340 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_341 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_342 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_343 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_344 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_345 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_346 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_347 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_348 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_349 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_350 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_351 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_352 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_353 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_354 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_355 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_356 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_357 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_358 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_359 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_360 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_361 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_362 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_363 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_364 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_365 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_366 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_367 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_368 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_369 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_370 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_371 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_372 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_373 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_374 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_375 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_376 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_377 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_378 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_379 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_380 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_381 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_382 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_383 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_384 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_385 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_386 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_387 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_388 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_389 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_390 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_391 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_392 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_393 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_394 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_395 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_396 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_397 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_398 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_399 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_400 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_401 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_402 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_403 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_404 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_405 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_406 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_407 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_408 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_409 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_410 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_411 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_412 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_413 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_414 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_415 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_416 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_417 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_418 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_419 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_420 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_421 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_422 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_423 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_424 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_425 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_426 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_427 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_428 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_429 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_430 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_431 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_432 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_433 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_434 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_435 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_436 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_437 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_438 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_439 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_440 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_441 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_442 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_443 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_444 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_445 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_446 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_447 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_448 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_449 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_450 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_451 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_452 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_453 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_454 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_455 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_456 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_457 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_458 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_459 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_460 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_461 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_462 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_463 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_464 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_465 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_466 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_467 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_468 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_469 - ASSET_OBJECT_ANIMATIONS -.word ASSET_OBJECT_ANIMATIONS_END - ASSET_OBJECT_ANIMATIONS -.word 0xFFFFFFFF -glabel ASSET_OBJECT_ANIMATIONS_TABLE_END - -/********** ASSET_OBJECT_ANIMATIONS **********/ - -.balign 16 -glabel ASSET_OBJECT_ANIMATIONS -glabel ASSET_OBJECT_ANIMATIONS_0 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_0.bin" -glabel ASSET_OBJECT_ANIMATIONS_1 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_1.bin" -glabel ASSET_OBJECT_ANIMATIONS_2 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_2.bin" -glabel ASSET_OBJECT_ANIMATIONS_3 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_3.bin" -glabel ASSET_OBJECT_ANIMATIONS_4 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_4.bin" -glabel ASSET_OBJECT_ANIMATIONS_5 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_5.bin" -glabel ASSET_OBJECT_ANIMATIONS_6 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_6.bin" -glabel ASSET_OBJECT_ANIMATIONS_7 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_7.bin" -glabel ASSET_OBJECT_ANIMATIONS_8 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_8.bin" -glabel ASSET_OBJECT_ANIMATIONS_9 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_9.bin" -glabel ASSET_OBJECT_ANIMATIONS_10 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_10.bin" -glabel ASSET_OBJECT_ANIMATIONS_11 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_11.bin" -glabel ASSET_OBJECT_ANIMATIONS_12 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_12.bin" -glabel ASSET_OBJECT_ANIMATIONS_13 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_13.bin" -glabel ASSET_OBJECT_ANIMATIONS_14 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_14.bin" -glabel ASSET_OBJECT_ANIMATIONS_15 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_15.bin" -glabel ASSET_OBJECT_ANIMATIONS_16 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_16.bin" -glabel ASSET_OBJECT_ANIMATIONS_17 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_17.bin" -glabel ASSET_OBJECT_ANIMATIONS_18 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_18.bin" -glabel ASSET_OBJECT_ANIMATIONS_19 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_19.bin" -glabel ASSET_OBJECT_ANIMATIONS_20 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_20.bin" -glabel ASSET_OBJECT_ANIMATIONS_21 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_21.bin" -glabel ASSET_OBJECT_ANIMATIONS_22 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_22.bin" -glabel ASSET_OBJECT_ANIMATIONS_23 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_23.bin" -glabel ASSET_OBJECT_ANIMATIONS_24 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_24.bin" -glabel ASSET_OBJECT_ANIMATIONS_25 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_25.bin" -glabel ASSET_OBJECT_ANIMATIONS_26 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_26.bin" -glabel ASSET_OBJECT_ANIMATIONS_27 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_27.bin" -glabel ASSET_OBJECT_ANIMATIONS_28 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_28.bin" -glabel ASSET_OBJECT_ANIMATIONS_29 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_29.bin" -glabel ASSET_OBJECT_ANIMATIONS_30 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_30.bin" -glabel ASSET_OBJECT_ANIMATIONS_31 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_31.bin" -glabel ASSET_OBJECT_ANIMATIONS_32 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_32.bin" -glabel ASSET_OBJECT_ANIMATIONS_33 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_33.bin" -glabel ASSET_OBJECT_ANIMATIONS_34 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_34.bin" -glabel ASSET_OBJECT_ANIMATIONS_35 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_35.bin" -glabel ASSET_OBJECT_ANIMATIONS_36 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_36.bin" -glabel ASSET_OBJECT_ANIMATIONS_37 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_37.bin" -glabel ASSET_OBJECT_ANIMATIONS_38 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_38.bin" -glabel ASSET_OBJECT_ANIMATIONS_39 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_39.bin" -glabel ASSET_OBJECT_ANIMATIONS_40 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_40.bin" -glabel ASSET_OBJECT_ANIMATIONS_41 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_41.bin" -glabel ASSET_OBJECT_ANIMATIONS_42 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_42.bin" -glabel ASSET_OBJECT_ANIMATIONS_43 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_43.bin" -glabel ASSET_OBJECT_ANIMATIONS_44 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_44.bin" -glabel ASSET_OBJECT_ANIMATIONS_45 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_45.bin" -glabel ASSET_OBJECT_ANIMATIONS_46 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_46.bin" -glabel ASSET_OBJECT_ANIMATIONS_47 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_47.bin" -glabel ASSET_OBJECT_ANIMATIONS_48 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_48.bin" -glabel ASSET_OBJECT_ANIMATIONS_49 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_49.bin" -glabel ASSET_OBJECT_ANIMATIONS_50 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_50.bin" -glabel ASSET_OBJECT_ANIMATIONS_51 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_51.bin" -glabel ASSET_OBJECT_ANIMATIONS_52 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_52.bin" -glabel ASSET_OBJECT_ANIMATIONS_53 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_53.bin" -glabel ASSET_OBJECT_ANIMATIONS_54 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_54.bin" -glabel ASSET_OBJECT_ANIMATIONS_55 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_55.bin" -glabel ASSET_OBJECT_ANIMATIONS_56 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_56.bin" -glabel ASSET_OBJECT_ANIMATIONS_57 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_57.bin" -glabel ASSET_OBJECT_ANIMATIONS_58 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_58.bin" -glabel ASSET_OBJECT_ANIMATIONS_59 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_59.bin" -glabel ASSET_OBJECT_ANIMATIONS_60 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_60.bin" -glabel ASSET_OBJECT_ANIMATIONS_61 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_61.bin" -glabel ASSET_OBJECT_ANIMATIONS_62 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_62.bin" -glabel ASSET_OBJECT_ANIMATIONS_63 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_63.bin" -glabel ASSET_OBJECT_ANIMATIONS_64 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_64.bin" -glabel ASSET_OBJECT_ANIMATIONS_65 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_65.bin" -glabel ASSET_OBJECT_ANIMATIONS_66 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_66.bin" -glabel ASSET_OBJECT_ANIMATIONS_67 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_67.bin" -glabel ASSET_OBJECT_ANIMATIONS_68 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_68.bin" -glabel ASSET_OBJECT_ANIMATIONS_69 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_69.bin" -glabel ASSET_OBJECT_ANIMATIONS_70 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_70.bin" -glabel ASSET_OBJECT_ANIMATIONS_71 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_71.bin" -glabel ASSET_OBJECT_ANIMATIONS_72 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_72.bin" -glabel ASSET_OBJECT_ANIMATIONS_73 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_73.bin" -glabel ASSET_OBJECT_ANIMATIONS_74 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_74.bin" -glabel ASSET_OBJECT_ANIMATIONS_75 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_75.bin" -glabel ASSET_OBJECT_ANIMATIONS_76 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_76.bin" -glabel ASSET_OBJECT_ANIMATIONS_77 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_77.bin" -glabel ASSET_OBJECT_ANIMATIONS_78 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_78.bin" -glabel ASSET_OBJECT_ANIMATIONS_79 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_79.bin" -glabel ASSET_OBJECT_ANIMATIONS_80 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_80.bin" -glabel ASSET_OBJECT_ANIMATIONS_81 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_81.bin" -glabel ASSET_OBJECT_ANIMATIONS_82 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_82.bin" -glabel ASSET_OBJECT_ANIMATIONS_83 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_83.bin" -glabel ASSET_OBJECT_ANIMATIONS_84 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_84.bin" -glabel ASSET_OBJECT_ANIMATIONS_85 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_85.bin" -glabel ASSET_OBJECT_ANIMATIONS_86 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_86.bin" -glabel ASSET_OBJECT_ANIMATIONS_87 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_87.bin" -glabel ASSET_OBJECT_ANIMATIONS_88 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_88.bin" -glabel ASSET_OBJECT_ANIMATIONS_89 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_89.bin" -glabel ASSET_OBJECT_ANIMATIONS_90 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_90.bin" -glabel ASSET_OBJECT_ANIMATIONS_91 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_91.bin" -glabel ASSET_OBJECT_ANIMATIONS_92 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_92.bin" -glabel ASSET_OBJECT_ANIMATIONS_93 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_93.bin" -glabel ASSET_OBJECT_ANIMATIONS_94 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_94.bin" -glabel ASSET_OBJECT_ANIMATIONS_95 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_95.bin" -glabel ASSET_OBJECT_ANIMATIONS_96 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_96.bin" -glabel ASSET_OBJECT_ANIMATIONS_97 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_97.bin" -glabel ASSET_OBJECT_ANIMATIONS_98 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_98.bin" -glabel ASSET_OBJECT_ANIMATIONS_99 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_99.bin" -glabel ASSET_OBJECT_ANIMATIONS_100 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_100.bin" -glabel ASSET_OBJECT_ANIMATIONS_101 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_101.bin" -glabel ASSET_OBJECT_ANIMATIONS_102 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_102.bin" -glabel ASSET_OBJECT_ANIMATIONS_103 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_103.bin" -glabel ASSET_OBJECT_ANIMATIONS_104 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_104.bin" -glabel ASSET_OBJECT_ANIMATIONS_105 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_105.bin" -glabel ASSET_OBJECT_ANIMATIONS_106 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_106.bin" -glabel ASSET_OBJECT_ANIMATIONS_107 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_107.bin" -glabel ASSET_OBJECT_ANIMATIONS_108 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_108.bin" -glabel ASSET_OBJECT_ANIMATIONS_109 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_109.bin" -glabel ASSET_OBJECT_ANIMATIONS_110 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_110.bin" -glabel ASSET_OBJECT_ANIMATIONS_111 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_111.bin" -glabel ASSET_OBJECT_ANIMATIONS_112 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_112.bin" -glabel ASSET_OBJECT_ANIMATIONS_113 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_113.bin" -glabel ASSET_OBJECT_ANIMATIONS_114 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_114.bin" -glabel ASSET_OBJECT_ANIMATIONS_115 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_115.bin" -glabel ASSET_OBJECT_ANIMATIONS_116 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_116.bin" -glabel ASSET_OBJECT_ANIMATIONS_117 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_117.bin" -glabel ASSET_OBJECT_ANIMATIONS_118 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_118.bin" -glabel ASSET_OBJECT_ANIMATIONS_119 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_119.bin" -glabel ASSET_OBJECT_ANIMATIONS_120 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_120.bin" -glabel ASSET_OBJECT_ANIMATIONS_121 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_121.bin" -glabel ASSET_OBJECT_ANIMATIONS_122 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_122.bin" -glabel ASSET_OBJECT_ANIMATIONS_123 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_123.bin" -glabel ASSET_OBJECT_ANIMATIONS_124 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_124.bin" -glabel ASSET_OBJECT_ANIMATIONS_125 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_125.bin" -glabel ASSET_OBJECT_ANIMATIONS_126 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_126.bin" -glabel ASSET_OBJECT_ANIMATIONS_127 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_127.bin" -glabel ASSET_OBJECT_ANIMATIONS_128 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_128.bin" -glabel ASSET_OBJECT_ANIMATIONS_129 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_129.bin" -glabel ASSET_OBJECT_ANIMATIONS_130 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_130.bin" -glabel ASSET_OBJECT_ANIMATIONS_131 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_131.bin" -glabel ASSET_OBJECT_ANIMATIONS_132 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_132.bin" -glabel ASSET_OBJECT_ANIMATIONS_133 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_133.bin" -glabel ASSET_OBJECT_ANIMATIONS_134 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_134.bin" -glabel ASSET_OBJECT_ANIMATIONS_135 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_135.bin" -glabel ASSET_OBJECT_ANIMATIONS_136 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_136.bin" -glabel ASSET_OBJECT_ANIMATIONS_137 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_137.bin" -glabel ASSET_OBJECT_ANIMATIONS_138 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_138.bin" -glabel ASSET_OBJECT_ANIMATIONS_139 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_139.bin" -glabel ASSET_OBJECT_ANIMATIONS_140 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_140.bin" -glabel ASSET_OBJECT_ANIMATIONS_141 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_141.bin" -glabel ASSET_OBJECT_ANIMATIONS_142 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_142.bin" -glabel ASSET_OBJECT_ANIMATIONS_143 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_143.bin" -glabel ASSET_OBJECT_ANIMATIONS_144 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_144.bin" -glabel ASSET_OBJECT_ANIMATIONS_145 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_145.bin" -glabel ASSET_OBJECT_ANIMATIONS_146 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_146.bin" -glabel ASSET_OBJECT_ANIMATIONS_147 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_147.bin" -glabel ASSET_OBJECT_ANIMATIONS_148 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_148.bin" -glabel ASSET_OBJECT_ANIMATIONS_149 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_149.bin" -glabel ASSET_OBJECT_ANIMATIONS_150 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_150.bin" -glabel ASSET_OBJECT_ANIMATIONS_151 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_151.bin" -glabel ASSET_OBJECT_ANIMATIONS_152 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_152.bin" -glabel ASSET_OBJECT_ANIMATIONS_153 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_153.bin" -glabel ASSET_OBJECT_ANIMATIONS_154 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_154.bin" -glabel ASSET_OBJECT_ANIMATIONS_155 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_155.bin" -glabel ASSET_OBJECT_ANIMATIONS_156 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_156.bin" -glabel ASSET_OBJECT_ANIMATIONS_157 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_157.bin" -glabel ASSET_OBJECT_ANIMATIONS_158 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_158.bin" -glabel ASSET_OBJECT_ANIMATIONS_159 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_159.bin" -glabel ASSET_OBJECT_ANIMATIONS_160 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_160.bin" -glabel ASSET_OBJECT_ANIMATIONS_161 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_161.bin" -glabel ASSET_OBJECT_ANIMATIONS_162 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_162.bin" -glabel ASSET_OBJECT_ANIMATIONS_163 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_163.bin" -glabel ASSET_OBJECT_ANIMATIONS_164 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_164.bin" -glabel ASSET_OBJECT_ANIMATIONS_165 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_165.bin" -glabel ASSET_OBJECT_ANIMATIONS_166 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_166.bin" -glabel ASSET_OBJECT_ANIMATIONS_167 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_167.bin" -glabel ASSET_OBJECT_ANIMATIONS_168 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_168.bin" -glabel ASSET_OBJECT_ANIMATIONS_169 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_169.bin" -glabel ASSET_OBJECT_ANIMATIONS_170 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_170.bin" -glabel ASSET_OBJECT_ANIMATIONS_171 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_171.bin" -glabel ASSET_OBJECT_ANIMATIONS_172 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_172.bin" -glabel ASSET_OBJECT_ANIMATIONS_173 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_173.bin" -glabel ASSET_OBJECT_ANIMATIONS_174 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_174.bin" -glabel ASSET_OBJECT_ANIMATIONS_175 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_175.bin" -glabel ASSET_OBJECT_ANIMATIONS_176 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_176.bin" -glabel ASSET_OBJECT_ANIMATIONS_177 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_177.bin" -glabel ASSET_OBJECT_ANIMATIONS_178 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_178.bin" -glabel ASSET_OBJECT_ANIMATIONS_179 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_179.bin" -glabel ASSET_OBJECT_ANIMATIONS_180 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_180.bin" -glabel ASSET_OBJECT_ANIMATIONS_181 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_181.bin" -glabel ASSET_OBJECT_ANIMATIONS_182 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_182.bin" -glabel ASSET_OBJECT_ANIMATIONS_183 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_183.bin" -glabel ASSET_OBJECT_ANIMATIONS_184 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_184.bin" -glabel ASSET_OBJECT_ANIMATIONS_185 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_185.bin" -glabel ASSET_OBJECT_ANIMATIONS_186 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_186.bin" -glabel ASSET_OBJECT_ANIMATIONS_187 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_187.bin" -glabel ASSET_OBJECT_ANIMATIONS_188 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_188.bin" -glabel ASSET_OBJECT_ANIMATIONS_189 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_189.bin" -glabel ASSET_OBJECT_ANIMATIONS_190 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_190.bin" -glabel ASSET_OBJECT_ANIMATIONS_191 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_191.bin" -glabel ASSET_OBJECT_ANIMATIONS_192 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_192.bin" -glabel ASSET_OBJECT_ANIMATIONS_193 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_193.bin" -glabel ASSET_OBJECT_ANIMATIONS_194 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_194.bin" -glabel ASSET_OBJECT_ANIMATIONS_195 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_195.bin" -glabel ASSET_OBJECT_ANIMATIONS_196 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_196.bin" -glabel ASSET_OBJECT_ANIMATIONS_197 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_197.bin" -glabel ASSET_OBJECT_ANIMATIONS_198 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_198.bin" -glabel ASSET_OBJECT_ANIMATIONS_199 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_199.bin" -glabel ASSET_OBJECT_ANIMATIONS_200 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_200.bin" -glabel ASSET_OBJECT_ANIMATIONS_201 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_201.bin" -glabel ASSET_OBJECT_ANIMATIONS_202 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_202.bin" -glabel ASSET_OBJECT_ANIMATIONS_203 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_203.bin" -glabel ASSET_OBJECT_ANIMATIONS_204 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_204.bin" -glabel ASSET_OBJECT_ANIMATIONS_205 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_205.bin" -glabel ASSET_OBJECT_ANIMATIONS_206 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_206.bin" -glabel ASSET_OBJECT_ANIMATIONS_207 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_207.bin" -glabel ASSET_OBJECT_ANIMATIONS_208 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_208.bin" -glabel ASSET_OBJECT_ANIMATIONS_209 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_209.bin" -glabel ASSET_OBJECT_ANIMATIONS_210 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_210.bin" -glabel ASSET_OBJECT_ANIMATIONS_211 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_211.bin" -glabel ASSET_OBJECT_ANIMATIONS_212 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_212.bin" -glabel ASSET_OBJECT_ANIMATIONS_213 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_213.bin" -glabel ASSET_OBJECT_ANIMATIONS_214 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_214.bin" -glabel ASSET_OBJECT_ANIMATIONS_215 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_215.bin" -glabel ASSET_OBJECT_ANIMATIONS_216 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_216.bin" -glabel ASSET_OBJECT_ANIMATIONS_217 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_217.bin" -glabel ASSET_OBJECT_ANIMATIONS_218 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_218.bin" -glabel ASSET_OBJECT_ANIMATIONS_219 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_219.bin" -glabel ASSET_OBJECT_ANIMATIONS_220 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_220.bin" -glabel ASSET_OBJECT_ANIMATIONS_221 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_221.bin" -glabel ASSET_OBJECT_ANIMATIONS_222 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_222.bin" -glabel ASSET_OBJECT_ANIMATIONS_223 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_223.bin" -glabel ASSET_OBJECT_ANIMATIONS_224 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_224.bin" -glabel ASSET_OBJECT_ANIMATIONS_225 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_225.bin" -glabel ASSET_OBJECT_ANIMATIONS_226 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_226.bin" -glabel ASSET_OBJECT_ANIMATIONS_227 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_227.bin" -glabel ASSET_OBJECT_ANIMATIONS_228 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_228.bin" -glabel ASSET_OBJECT_ANIMATIONS_229 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_229.bin" -glabel ASSET_OBJECT_ANIMATIONS_230 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_230.bin" -glabel ASSET_OBJECT_ANIMATIONS_231 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_231.bin" -glabel ASSET_OBJECT_ANIMATIONS_232 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_232.bin" -glabel ASSET_OBJECT_ANIMATIONS_233 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_233.bin" -glabel ASSET_OBJECT_ANIMATIONS_234 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_234.bin" -glabel ASSET_OBJECT_ANIMATIONS_235 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_235.bin" -glabel ASSET_OBJECT_ANIMATIONS_236 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_236.bin" -glabel ASSET_OBJECT_ANIMATIONS_237 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_237.bin" -glabel ASSET_OBJECT_ANIMATIONS_238 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_238.bin" -glabel ASSET_OBJECT_ANIMATIONS_239 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_239.bin" -glabel ASSET_OBJECT_ANIMATIONS_240 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_240.bin" -glabel ASSET_OBJECT_ANIMATIONS_241 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_241.bin" -glabel ASSET_OBJECT_ANIMATIONS_242 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_242.bin" -glabel ASSET_OBJECT_ANIMATIONS_243 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_243.bin" -glabel ASSET_OBJECT_ANIMATIONS_244 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_244.bin" -glabel ASSET_OBJECT_ANIMATIONS_245 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_245.bin" -glabel ASSET_OBJECT_ANIMATIONS_246 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_246.bin" -glabel ASSET_OBJECT_ANIMATIONS_247 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_247.bin" -glabel ASSET_OBJECT_ANIMATIONS_248 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_248.bin" -glabel ASSET_OBJECT_ANIMATIONS_249 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_249.bin" -glabel ASSET_OBJECT_ANIMATIONS_250 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_250.bin" -glabel ASSET_OBJECT_ANIMATIONS_251 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_251.bin" -glabel ASSET_OBJECT_ANIMATIONS_252 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_252.bin" -glabel ASSET_OBJECT_ANIMATIONS_253 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_253.bin" -glabel ASSET_OBJECT_ANIMATIONS_254 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_254.bin" -glabel ASSET_OBJECT_ANIMATIONS_255 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_255.bin" -glabel ASSET_OBJECT_ANIMATIONS_256 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_256.bin" -glabel ASSET_OBJECT_ANIMATIONS_257 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_257.bin" -glabel ASSET_OBJECT_ANIMATIONS_258 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_258.bin" -glabel ASSET_OBJECT_ANIMATIONS_259 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_259.bin" -glabel ASSET_OBJECT_ANIMATIONS_260 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_260.bin" -glabel ASSET_OBJECT_ANIMATIONS_261 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_261.bin" -glabel ASSET_OBJECT_ANIMATIONS_262 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_262.bin" -glabel ASSET_OBJECT_ANIMATIONS_263 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_263.bin" -glabel ASSET_OBJECT_ANIMATIONS_264 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_264.bin" -glabel ASSET_OBJECT_ANIMATIONS_265 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_265.bin" -glabel ASSET_OBJECT_ANIMATIONS_266 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_266.bin" -glabel ASSET_OBJECT_ANIMATIONS_267 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_267.bin" -glabel ASSET_OBJECT_ANIMATIONS_268 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_268.bin" -glabel ASSET_OBJECT_ANIMATIONS_269 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_269.bin" -glabel ASSET_OBJECT_ANIMATIONS_270 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_270.bin" -glabel ASSET_OBJECT_ANIMATIONS_271 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_271.bin" -glabel ASSET_OBJECT_ANIMATIONS_272 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_272.bin" -glabel ASSET_OBJECT_ANIMATIONS_273 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_273.bin" -glabel ASSET_OBJECT_ANIMATIONS_274 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_274.bin" -glabel ASSET_OBJECT_ANIMATIONS_275 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_275.bin" -glabel ASSET_OBJECT_ANIMATIONS_276 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_276.bin" -glabel ASSET_OBJECT_ANIMATIONS_277 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_277.bin" -glabel ASSET_OBJECT_ANIMATIONS_278 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_278.bin" -glabel ASSET_OBJECT_ANIMATIONS_279 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_279.bin" -glabel ASSET_OBJECT_ANIMATIONS_280 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_280.bin" -glabel ASSET_OBJECT_ANIMATIONS_281 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_281.bin" -glabel ASSET_OBJECT_ANIMATIONS_282 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_282.bin" -glabel ASSET_OBJECT_ANIMATIONS_283 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_283.bin" -glabel ASSET_OBJECT_ANIMATIONS_284 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_284.bin" -glabel ASSET_OBJECT_ANIMATIONS_285 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_285.bin" -glabel ASSET_OBJECT_ANIMATIONS_286 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_286.bin" -glabel ASSET_OBJECT_ANIMATIONS_287 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_287.bin" -glabel ASSET_OBJECT_ANIMATIONS_288 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_288.bin" -glabel ASSET_OBJECT_ANIMATIONS_289 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_289.bin" -glabel ASSET_OBJECT_ANIMATIONS_290 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_290.bin" -glabel ASSET_OBJECT_ANIMATIONS_291 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_291.bin" -glabel ASSET_OBJECT_ANIMATIONS_292 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_292.bin" -glabel ASSET_OBJECT_ANIMATIONS_293 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_293.bin" -glabel ASSET_OBJECT_ANIMATIONS_294 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_294.bin" -glabel ASSET_OBJECT_ANIMATIONS_295 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_295.bin" -glabel ASSET_OBJECT_ANIMATIONS_296 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_296.bin" -glabel ASSET_OBJECT_ANIMATIONS_297 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_297.bin" -glabel ASSET_OBJECT_ANIMATIONS_298 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_298.bin" -glabel ASSET_OBJECT_ANIMATIONS_299 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_299.bin" -glabel ASSET_OBJECT_ANIMATIONS_300 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_300.bin" -glabel ASSET_OBJECT_ANIMATIONS_301 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_301.bin" -glabel ASSET_OBJECT_ANIMATIONS_302 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_302.bin" -glabel ASSET_OBJECT_ANIMATIONS_303 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_303.bin" -glabel ASSET_OBJECT_ANIMATIONS_304 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_304.bin" -glabel ASSET_OBJECT_ANIMATIONS_305 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_305.bin" -glabel ASSET_OBJECT_ANIMATIONS_306 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_306.bin" -glabel ASSET_OBJECT_ANIMATIONS_307 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_307.bin" -glabel ASSET_OBJECT_ANIMATIONS_308 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_308.bin" -glabel ASSET_OBJECT_ANIMATIONS_309 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_309.bin" -glabel ASSET_OBJECT_ANIMATIONS_310 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_310.bin" -glabel ASSET_OBJECT_ANIMATIONS_311 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_311.bin" -glabel ASSET_OBJECT_ANIMATIONS_312 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_312.bin" -glabel ASSET_OBJECT_ANIMATIONS_313 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_313.bin" -glabel ASSET_OBJECT_ANIMATIONS_314 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_314.bin" -glabel ASSET_OBJECT_ANIMATIONS_315 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_315.bin" -glabel ASSET_OBJECT_ANIMATIONS_316 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_316.bin" -glabel ASSET_OBJECT_ANIMATIONS_317 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_317.bin" -glabel ASSET_OBJECT_ANIMATIONS_318 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_318.bin" -glabel ASSET_OBJECT_ANIMATIONS_319 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_319.bin" -glabel ASSET_OBJECT_ANIMATIONS_320 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_320.bin" -glabel ASSET_OBJECT_ANIMATIONS_321 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_321.bin" -glabel ASSET_OBJECT_ANIMATIONS_322 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_322.bin" -glabel ASSET_OBJECT_ANIMATIONS_323 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_323.bin" -glabel ASSET_OBJECT_ANIMATIONS_324 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_324.bin" -glabel ASSET_OBJECT_ANIMATIONS_325 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_325.bin" -glabel ASSET_OBJECT_ANIMATIONS_326 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_326.bin" -glabel ASSET_OBJECT_ANIMATIONS_327 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_327.bin" -glabel ASSET_OBJECT_ANIMATIONS_328 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_328.bin" -glabel ASSET_OBJECT_ANIMATIONS_329 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_329.bin" -glabel ASSET_OBJECT_ANIMATIONS_330 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_330.bin" -glabel ASSET_OBJECT_ANIMATIONS_331 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_331.bin" -glabel ASSET_OBJECT_ANIMATIONS_332 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_332.bin" -glabel ASSET_OBJECT_ANIMATIONS_333 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_333.bin" -glabel ASSET_OBJECT_ANIMATIONS_334 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_334.bin" -glabel ASSET_OBJECT_ANIMATIONS_335 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_335.bin" -glabel ASSET_OBJECT_ANIMATIONS_336 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_336.bin" -glabel ASSET_OBJECT_ANIMATIONS_337 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_337.bin" -glabel ASSET_OBJECT_ANIMATIONS_338 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_338.bin" -glabel ASSET_OBJECT_ANIMATIONS_339 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_339.bin" -glabel ASSET_OBJECT_ANIMATIONS_340 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_340.bin" -glabel ASSET_OBJECT_ANIMATIONS_341 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_341.bin" -glabel ASSET_OBJECT_ANIMATIONS_342 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_342.bin" -glabel ASSET_OBJECT_ANIMATIONS_343 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_343.bin" -glabel ASSET_OBJECT_ANIMATIONS_344 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_344.bin" -glabel ASSET_OBJECT_ANIMATIONS_345 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_345.bin" -glabel ASSET_OBJECT_ANIMATIONS_346 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_346.bin" -glabel ASSET_OBJECT_ANIMATIONS_347 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_347.bin" -glabel ASSET_OBJECT_ANIMATIONS_348 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_348.bin" -glabel ASSET_OBJECT_ANIMATIONS_349 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_349.bin" -glabel ASSET_OBJECT_ANIMATIONS_350 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_350.bin" -glabel ASSET_OBJECT_ANIMATIONS_351 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_351.bin" -glabel ASSET_OBJECT_ANIMATIONS_352 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_352.bin" -glabel ASSET_OBJECT_ANIMATIONS_353 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_353.bin" -glabel ASSET_OBJECT_ANIMATIONS_354 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_354.bin" -glabel ASSET_OBJECT_ANIMATIONS_355 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_355.bin" -glabel ASSET_OBJECT_ANIMATIONS_356 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_356.bin" -glabel ASSET_OBJECT_ANIMATIONS_357 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_357.bin" -glabel ASSET_OBJECT_ANIMATIONS_358 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_358.bin" -glabel ASSET_OBJECT_ANIMATIONS_359 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_359.bin" -glabel ASSET_OBJECT_ANIMATIONS_360 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_360.bin" -glabel ASSET_OBJECT_ANIMATIONS_361 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_361.bin" -glabel ASSET_OBJECT_ANIMATIONS_362 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_362.bin" -glabel ASSET_OBJECT_ANIMATIONS_363 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_363.bin" -glabel ASSET_OBJECT_ANIMATIONS_364 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_364.bin" -glabel ASSET_OBJECT_ANIMATIONS_365 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_365.bin" -glabel ASSET_OBJECT_ANIMATIONS_366 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_366.bin" -glabel ASSET_OBJECT_ANIMATIONS_367 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_367.bin" -glabel ASSET_OBJECT_ANIMATIONS_368 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_368.bin" -glabel ASSET_OBJECT_ANIMATIONS_369 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_369.bin" -glabel ASSET_OBJECT_ANIMATIONS_370 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_370.bin" -glabel ASSET_OBJECT_ANIMATIONS_371 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_371.bin" -glabel ASSET_OBJECT_ANIMATIONS_372 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_372.bin" -glabel ASSET_OBJECT_ANIMATIONS_373 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_373.bin" -glabel ASSET_OBJECT_ANIMATIONS_374 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_374.bin" -glabel ASSET_OBJECT_ANIMATIONS_375 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_375.bin" -glabel ASSET_OBJECT_ANIMATIONS_376 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_376.bin" -glabel ASSET_OBJECT_ANIMATIONS_377 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_377.bin" -glabel ASSET_OBJECT_ANIMATIONS_378 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_378.bin" -glabel ASSET_OBJECT_ANIMATIONS_379 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_379.bin" -glabel ASSET_OBJECT_ANIMATIONS_380 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_380.bin" -glabel ASSET_OBJECT_ANIMATIONS_381 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_381.bin" -glabel ASSET_OBJECT_ANIMATIONS_382 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_382.bin" -glabel ASSET_OBJECT_ANIMATIONS_383 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_383.bin" -glabel ASSET_OBJECT_ANIMATIONS_384 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_384.bin" -glabel ASSET_OBJECT_ANIMATIONS_385 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_385.bin" -glabel ASSET_OBJECT_ANIMATIONS_386 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_386.bin" -glabel ASSET_OBJECT_ANIMATIONS_387 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_387.bin" -glabel ASSET_OBJECT_ANIMATIONS_388 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_388.bin" -glabel ASSET_OBJECT_ANIMATIONS_389 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_389.bin" -glabel ASSET_OBJECT_ANIMATIONS_390 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_390.bin" -glabel ASSET_OBJECT_ANIMATIONS_391 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_391.bin" -glabel ASSET_OBJECT_ANIMATIONS_392 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_392.bin" -glabel ASSET_OBJECT_ANIMATIONS_393 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_393.bin" -glabel ASSET_OBJECT_ANIMATIONS_394 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_394.bin" -glabel ASSET_OBJECT_ANIMATIONS_395 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_395.bin" -glabel ASSET_OBJECT_ANIMATIONS_396 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_396.bin" -glabel ASSET_OBJECT_ANIMATIONS_397 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_397.bin" -glabel ASSET_OBJECT_ANIMATIONS_398 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_398.bin" -glabel ASSET_OBJECT_ANIMATIONS_399 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_399.bin" -glabel ASSET_OBJECT_ANIMATIONS_400 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_400.bin" -glabel ASSET_OBJECT_ANIMATIONS_401 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_401.bin" -glabel ASSET_OBJECT_ANIMATIONS_402 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_402.bin" -glabel ASSET_OBJECT_ANIMATIONS_403 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_403.bin" -glabel ASSET_OBJECT_ANIMATIONS_404 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_404.bin" -glabel ASSET_OBJECT_ANIMATIONS_405 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_405.bin" -glabel ASSET_OBJECT_ANIMATIONS_406 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_406.bin" -glabel ASSET_OBJECT_ANIMATIONS_407 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_407.bin" -glabel ASSET_OBJECT_ANIMATIONS_408 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_408.bin" -glabel ASSET_OBJECT_ANIMATIONS_409 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_409.bin" -glabel ASSET_OBJECT_ANIMATIONS_410 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_410.bin" -glabel ASSET_OBJECT_ANIMATIONS_411 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_411.bin" -glabel ASSET_OBJECT_ANIMATIONS_412 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_412.bin" -glabel ASSET_OBJECT_ANIMATIONS_413 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_413.bin" -glabel ASSET_OBJECT_ANIMATIONS_414 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_414.bin" -glabel ASSET_OBJECT_ANIMATIONS_415 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_415.bin" -glabel ASSET_OBJECT_ANIMATIONS_416 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_416.bin" -glabel ASSET_OBJECT_ANIMATIONS_417 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_417.bin" -glabel ASSET_OBJECT_ANIMATIONS_418 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_418.bin" -glabel ASSET_OBJECT_ANIMATIONS_419 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_419.bin" -glabel ASSET_OBJECT_ANIMATIONS_420 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_420.bin" -glabel ASSET_OBJECT_ANIMATIONS_421 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_421.bin" -glabel ASSET_OBJECT_ANIMATIONS_422 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_422.bin" -glabel ASSET_OBJECT_ANIMATIONS_423 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_423.bin" -glabel ASSET_OBJECT_ANIMATIONS_424 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_424.bin" -glabel ASSET_OBJECT_ANIMATIONS_425 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_425.bin" -glabel ASSET_OBJECT_ANIMATIONS_426 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_426.bin" -glabel ASSET_OBJECT_ANIMATIONS_427 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_427.bin" -glabel ASSET_OBJECT_ANIMATIONS_428 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_428.bin" -glabel ASSET_OBJECT_ANIMATIONS_429 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_429.bin" -glabel ASSET_OBJECT_ANIMATIONS_430 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_430.bin" -glabel ASSET_OBJECT_ANIMATIONS_431 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_431.bin" -glabel ASSET_OBJECT_ANIMATIONS_432 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_432.bin" -glabel ASSET_OBJECT_ANIMATIONS_433 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_433.bin" -glabel ASSET_OBJECT_ANIMATIONS_434 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_434.bin" -glabel ASSET_OBJECT_ANIMATIONS_435 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_435.bin" -glabel ASSET_OBJECT_ANIMATIONS_436 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_436.bin" -glabel ASSET_OBJECT_ANIMATIONS_437 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_437.bin" -glabel ASSET_OBJECT_ANIMATIONS_438 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_438.bin" -glabel ASSET_OBJECT_ANIMATIONS_439 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_439.bin" -glabel ASSET_OBJECT_ANIMATIONS_440 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_440.bin" -glabel ASSET_OBJECT_ANIMATIONS_441 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_441.bin" -glabel ASSET_OBJECT_ANIMATIONS_442 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_442.bin" -glabel ASSET_OBJECT_ANIMATIONS_443 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_443.bin" -glabel ASSET_OBJECT_ANIMATIONS_444 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_444.bin" -glabel ASSET_OBJECT_ANIMATIONS_445 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_445.bin" -glabel ASSET_OBJECT_ANIMATIONS_446 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_446.bin" -glabel ASSET_OBJECT_ANIMATIONS_447 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_447.bin" -glabel ASSET_OBJECT_ANIMATIONS_448 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_448.bin" -glabel ASSET_OBJECT_ANIMATIONS_449 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_449.bin" -glabel ASSET_OBJECT_ANIMATIONS_450 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_450.bin" -glabel ASSET_OBJECT_ANIMATIONS_451 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_451.bin" -glabel ASSET_OBJECT_ANIMATIONS_452 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_452.bin" -glabel ASSET_OBJECT_ANIMATIONS_453 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_453.bin" -glabel ASSET_OBJECT_ANIMATIONS_454 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_454.bin" -glabel ASSET_OBJECT_ANIMATIONS_455 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_455.bin" -glabel ASSET_OBJECT_ANIMATIONS_456 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_456.bin" -glabel ASSET_OBJECT_ANIMATIONS_457 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_457.bin" -glabel ASSET_OBJECT_ANIMATIONS_458 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_458.bin" -glabel ASSET_OBJECT_ANIMATIONS_459 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_459.bin" -glabel ASSET_OBJECT_ANIMATIONS_460 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_460.bin" -glabel ASSET_OBJECT_ANIMATIONS_461 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_461.bin" -glabel ASSET_OBJECT_ANIMATIONS_462 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_462.bin" -glabel ASSET_OBJECT_ANIMATIONS_463 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_463.bin" -glabel ASSET_OBJECT_ANIMATIONS_464 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_464.bin" -glabel ASSET_OBJECT_ANIMATIONS_465 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_465.bin" -glabel ASSET_OBJECT_ANIMATIONS_466 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_466.bin" -glabel ASSET_OBJECT_ANIMATIONS_467 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_467.bin" -glabel ASSET_OBJECT_ANIMATIONS_468 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_468.bin" -glabel ASSET_OBJECT_ANIMATIONS_469 -.incbin "./build/us_1.0/assets/objects/animations/asset_object_animations_469.bin" -glabel ASSET_OBJECT_ANIMATIONS_END - -/********** ASSET_OBJECT_HEADERS_TABLE **********/ - -.balign 16 -glabel ASSET_OBJECT_HEADERS_TABLE -.word ASSET_OBJECT_DIDDYCAR - ASSET_OBJECTS -.word ASSET_OBJECT_SWCAR - ASSET_OBJECTS -.word ASSET_OBJECT_KREMCAR - ASSET_OBJECTS -.word ASSET_OBJECT_BADGERCAR - ASSET_OBJECTS -.word ASSET_OBJECT_TORTCAR - ASSET_OBJECTS -.word ASSET_OBJECT_CONKACAR - ASSET_OBJECTS -.word ASSET_OBJECT_TIGERCAR - ASSET_OBJECTS -.word ASSET_OBJECT_BANJOCAR - ASSET_OBJECTS -.word ASSET_OBJECT_CHICKENCAR - ASSET_OBJECTS -.word ASSET_OBJECT_MOUSECAR - ASSET_OBJECTS -.word ASSET_OBJECT_DIDDYHOVER - ASSET_OBJECTS -.word ASSET_OBJECT_TICKTOCKHOVER - ASSET_OBJECTS -.word ASSET_OBJECT_KREMLINHOVER - ASSET_OBJECTS -.word ASSET_OBJECT_BADGERHOVER - ASSET_OBJECTS -.word ASSET_OBJECT_TORTHOVER - ASSET_OBJECTS -.word ASSET_OBJECT_CONKAHOVER - ASSET_OBJECTS -.word ASSET_OBJECT_TIGERHOVER - ASSET_OBJECTS -.word ASSET_OBJECT_BANJOHOVER - ASSET_OBJECTS -.word ASSET_OBJECT_CHICKENHOVER - ASSET_OBJECTS -.word ASSET_OBJECT_MOUSEHOVER - ASSET_OBJECTS -.word ASSET_OBJECT_DIDDYPLANE - ASSET_OBJECTS -.word ASSET_OBJECT_TICKTOCKPLANE - ASSET_OBJECTS -.word ASSET_OBJECT_KREMPLANE - ASSET_OBJECTS -.word ASSET_OBJECT_BADGERPLANE - ASSET_OBJECTS -.word ASSET_OBJECT_TORTPLANE - ASSET_OBJECTS -.word ASSET_OBJECT_CONKA - ASSET_OBJECTS -.word ASSET_OBJECT_TIGPLANE - ASSET_OBJECTS -.word ASSET_OBJECT_BANJOPLANE - ASSET_OBJECTS -.word ASSET_OBJECT_CHICKENPLANE - ASSET_OBJECTS -.word ASSET_OBJECT_MOUSEPLANE - ASSET_OBJECTS -.word ASSET_OBJECT_FLYINGCARPET - ASSET_OBJECTS -.word ASSET_OBJECT_TIMBERDANCER - ASSET_OBJECTS -.word ASSET_OBJECT_CHICKENCHARACTE - ASSET_OBJECTS -.word ASSET_OBJECT_PIPSYDANCER - ASSET_OBJECTS -.word ASSET_OBJECT_BANJODANCER - ASSET_OBJECTS -.word ASSET_OBJECT_TICKTOCKDANCER - ASSET_OBJECTS -.word ASSET_OBJECT_WIZPIGSHIP - ASSET_OBJECTS -.word ASSET_OBJECT_CONKADANCER - ASSET_OBJECTS -.word ASSET_OBJECT_EMPTYHOVER - ASSET_OBJECTS -.word ASSET_OBJECT_STOPWATCHMAN - ASSET_OBJECTS -.word ASSET_OBJECT_STOPWATCHSELECT - ASSET_OBJECTS -.word ASSET_OBJECT_PARKWARDEN - ASSET_OBJECTS -.word ASSET_OBJECT_SMARTIETREE - ASSET_OBJECTS -.word ASSET_OBJECT_BLUEBERRYBUSH - ASSET_OBJECTS -.word ASSET_OBJECT_RUBBERSNOWTREE - ASSET_OBJECTS -.word ASSET_OBJECT_SKINNYSNOWTREE - ASSET_OBJECTS -.word ASSET_OBJECT_XMASTREE - ASSET_OBJECTS -.word ASSET_OBJECT_ALPINESNOWTREE - ASSET_OBJECTS -.word ASSET_OBJECT_RUBBERTREE - ASSET_OBJECTS -.word ASSET_OBJECT_BEACHTREE - ASSET_OBJECTS -.word ASSET_OBJECT_PALMTREETOP - ASSET_OBJECTS -.word ASSET_OBJECT_PALMPLANT - ASSET_OBJECTS -.word ASSET_OBJECT_PALMTREETOPCHEA - ASSET_OBJECTS -.word ASSET_OBJECT_FIRTREE - ASSET_OBJECTS -.word ASSET_OBJECT_SPACETREE - ASSET_OBJECTS -.word ASSET_OBJECT_LAMPPOST - ASSET_OBJECTS -.word ASSET_OBJECT_FLOWERS - ASSET_OBJECTS -.word ASSET_OBJECT_REEDS - ASSET_OBJECTS -.word ASSET_OBJECT_SMOKE - ASSET_OBJECTS -.word ASSET_OBJECT_DINOSAUR1 - ASSET_OBJECTS -.word ASSET_OBJECT_DINOSAUR2 - ASSET_OBJECTS -.word ASSET_OBJECT_DINOSAUR3 - ASSET_OBJECTS -.word ASSET_OBJECT_WHALE - ASSET_OBJECTS -.word ASSET_OBJECT_SNOWMEN - ASSET_OBJECTS -.word ASSET_OBJECT_SIGNS - ASSET_OBJECTS -.word ASSET_OBJECT_FLAMINGTORCH - ASSET_OBJECTS -.word ASSET_OBJECT_MIST - ASSET_OBJECTS -.word ASSET_OBJECT_SNOWBALL - ASSET_OBJECTS -.word ASSET_OBJECT_BUOY - ASSET_OBJECTS -.word ASSET_OBJECT_PIRATESHIP - ASSET_OBJECTS -.word ASSET_OBJECT_LOG - ASSET_OBJECTS -.word ASSET_OBJECT_PIGLOG - ASSET_OBJECTS -.word ASSET_OBJECT_BOULDER - ASSET_OBJECTS -.word ASSET_OBJECT_AIRZIPPERS - ASSET_OBJECTS -.word ASSET_OBJECT_WATERZIPPERS - ASSET_OBJECTS -.word ASSET_OBJECT_LEVELDOOR - ASSET_OBJECTS -.word ASSET_OBJECT_KEITHPIGDOOR - ASSET_OBJECTS -.word ASSET_OBJECT_CHALDOOR - ASSET_OBJECTS -.word ASSET_OBJECT_BOSSDOOR - ASSET_OBJECTS -.word ASSET_OBJECT_BIGBOSSDOOR - ASSET_OBJECTS -.word ASSET_OBJECT_WORLDGATE - ASSET_OBJECTS -.word ASSET_OBJECT_TTDOOR - ASSET_OBJECTS -.word ASSET_OBJECT_RAMPSWITCH - ASSET_OBJECTS -.word ASSET_OBJECT_NOENTRYDOOR - ASSET_OBJECTS -.word ASSET_OBJECT_RAMPWHALE - ASSET_OBJECTS -.word ASSET_OBJECT_SEAMONSTER - ASSET_OBJECTS -.word ASSET_OBJECT_DINOISLE - ASSET_OBJECTS -.word ASSET_OBJECT_SKYCONTROL - ASSET_OBJECTS -.word ASSET_OBJECT_CHECKPOINT - ASSET_OBJECTS -.word ASSET_OBJECT_CHECKARROW - ASSET_OBJECTS -.word ASSET_OBJECT_MODECHANGE - ASSET_OBJECTS -.word ASSET_OBJECT_TRIGGER - ASSET_OBJECTS -.word ASSET_OBJECT_FOGCHANGER - ASSET_OBJECTS -.word ASSET_OBJECT_AINODE - ASSET_OBJECTS -.word ASSET_OBJECT_EXIT - ASSET_OBJECTS -.word ASSET_OBJECT_BONUS - ASSET_OBJECTS -.word ASSET_OBJECT_CAMERA_CONTROL - ASSET_OBJECTS -.word ASSET_OBJECT_SETUPPOINT - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMATOR - ASSET_OBJECTS -.word ASSET_OBJECT_TEXSCROLL - ASSET_OBJECTS -.word ASSET_OBJECT_RGBALIGHT - ASSET_OBJECTS -.word ASSET_OBJECT_INTROCAM - ASSET_OBJECTS -.word ASSET_OBJECT_WEATHER - ASSET_OBJECTS -.word ASSET_OBJECT_LENSFLARE - ASSET_OBJECTS -.word ASSET_OBJECT_LENSFLARESWITCH - ASSET_OBJECTS -.word ASSET_OBJECT_INFOPOINT - ASSET_OBJECTS -.word ASSET_OBJECT_WAVEGENERATOR - ASSET_OBJECTS -.word ASSET_OBJECT_WAVEPOWER - ASSET_OBJECTS -.word ASSET_OBJECT_RANGETRIGGER - ASSET_OBJECTS -.word ASSET_OBJECT_LAVASPURT - ASSET_OBJECTS -.word ASSET_OBJECT_BOMBEXPLOSION - ASSET_OBJECTS -.word ASSET_OBJECT_WARDENSMOKE - ASSET_OBJECTS -.word ASSET_OBJECT_BUBBLER - ASSET_OBJECTS -.word ASSET_OBJECT_WEAPONBALLOON - ASSET_OBJECTS -.word ASSET_OBJECT_WBALLOONPOP - ASSET_OBJECTS -.word ASSET_OBJECT_MISSILEGLOW - ASSET_OBJECTS -.word ASSET_OBJECT_HOMINGGLOW - ASSET_OBJECTS -.word ASSET_OBJECT_MISSILE - ASSET_OBJECTS -.word ASSET_OBJECT_HOMING - ASSET_OBJECTS -.word ASSET_OBJECT_OILSLICK - ASSET_OBJECTS -.word ASSET_OBJECT_SMOKECLOUD - ASSET_OBJECTS -.word ASSET_OBJECT_BOMB - ASSET_OBJECTS -.word ASSET_OBJECT_BUBBLEWEAPON - ASSET_OBJECTS -.word ASSET_OBJECT_WORLDKEY - ASSET_OBJECTS -.word ASSET_OBJECT_COINCREATOR - ASSET_OBJECTS -.word ASSET_OBJECT_TREASURESUCKER - ASSET_OBJECTS -.word ASSET_OBJECT_COIN - ASSET_OBJECTS -.word ASSET_OBJECT_SILVERCOIN - ASSET_OBJECTS -.word ASSET_OBJECT_GOLDCOIN - ASSET_OBJECTS -.word ASSET_OBJECT_BONUSGEM - ASSET_OBJECTS -.word ASSET_OBJECT_COLLECTEGG - ASSET_OBJECTS -.word ASSET_OBJECT_EGGCREATOR - ASSET_OBJECTS -.word ASSET_OBJECT_CHARACTERFLAG - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMATION - ASSET_OBJECTS -.word ASSET_OBJECT_OVERRIDEPOS - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMCAMERA - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMCAR - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMDOME - ASSET_OBJECTS -.word ASSET_OBJECT_WIZGHOSTS - ASSET_OBJECTS -.word ASSET_OBJECT_N64LOGO - ASSET_OBJECTS -.word ASSET_OBJECT_ASTEROID - ASSET_OBJECTS -.word ASSET_OBJECT_PILLAR - ASSET_OBJECTS -.word ASSET_OBJECT_BOULDERANIM - ASSET_OBJECTS -.word ASSET_OBJECT_PIGHEADCOLOURS - ASSET_OBJECTS -.word ASSET_OBJECT_PIGFACEANIMATOR - ASSET_OBJECTS -.word ASSET_OBJECT_PTERODACTYL - ASSET_OBJECTS -.word ASSET_OBJECT_AMULETPIECE1 - ASSET_OBJECTS -.word ASSET_OBJECT_AMULETPIECE2 - ASSET_OBJECTS -.word ASSET_OBJECT_AMULETPIECE3 - ASSET_OBJECTS -.word ASSET_OBJECT_AMULETPIECE4 - ASSET_OBJECTS -.word ASSET_OBJECT_SWAMULET1 - ASSET_OBJECTS -.word ASSET_OBJECT_SWAMULET2 - ASSET_OBJECTS -.word ASSET_OBJECT_SWAMULET3 - ASSET_OBJECTS -.word ASSET_OBJECT_SWAMULET4 - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMKEY - ASSET_OBJECTS -.word ASSET_OBJECT_SPACESHIP1 - ASSET_OBJECTS -.word ASSET_OBJECT_MINISHIP - ASSET_OBJECTS -.word ASSET_OBJECT_MONORAIL - ASSET_OBJECTS -.word ASSET_OBJECT_SPACESHIP2 - ASSET_OBJECTS -.word ASSET_OBJECT_SPACESHIP3 - ASSET_OBJECTS -.word ASSET_OBJECT_LIGHTHOUSE - ASSET_OBJECTS -.word ASSET_OBJECT_ROCKETSIGNPOST - ASSET_OBJECTS -.word ASSET_OBJECT_LIGHTHOUSE1 - ASSET_OBJECTS -.word ASSET_OBJECT_LIGHTHOUSE2 - ASSET_OBJECTS -.word ASSET_OBJECT_SELECTIONHILL - ASSET_OBJECTS -.word ASSET_OBJECT_WIDESCREEN - ASSET_OBJECTS -.word ASSET_OBJECT_TIGERANIMPLANE - ASSET_OBJECTS -.word ASSET_OBJECT_BADGERANIMWALK - ASSET_OBJECTS -.word ASSET_OBJECT_TIMBERANIMCAR - ASSET_OBJECTS -.word ASSET_OBJECT_KREMSELECT - ASSET_OBJECTS -.word ASSET_OBJECT_CONKSELECT - ASSET_OBJECTS -.word ASSET_OBJECT_BADGERSELECT - ASSET_OBJECTS -.word ASSET_OBJECT_TORTSELECT - ASSET_OBJECTS -.word ASSET_OBJECT_TIGERSELECT - ASSET_OBJECTS -.word ASSET_OBJECT_DIDDYSELECT - ASSET_OBJECTS -.word ASSET_OBJECT_BANJOSELECT - ASSET_OBJECTS -.word ASSET_OBJECT_CHICKSELECT - ASSET_OBJECTS -.word ASSET_OBJECT_MOUSESELECT - ASSET_OBJECTS -.word ASSET_OBJECT_MAGICCARPET - ASSET_OBJECTS -.word ASSET_OBJECT_POLYGOLDBALOON - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMGENIE - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMGENIE3 - ASSET_OBJECTS -.word ASSET_OBJECT_BUTTERFLYBAIT - ASSET_OBJECTS -.word ASSET_OBJECT_AUDIO - ASSET_OBJECTS -.word ASSET_OBJECT_AUDIOLINE - ASSET_OBJECTS -.word ASSET_OBJECT_AUDIOSEQLINE - ASSET_OBJECTS -.word ASSET_OBJECT_AUDIOSEQ - ASSET_OBJECTS -.word ASSET_OBJECT_AUDIOREVERB - ASSET_OBJECTS -.word ASSET_OBJECT_FRONTTYRE - ASSET_OBJECTS -.word ASSET_OBJECT_BACKTYRE - ASSET_OBJECTS -.word ASSET_OBJECT_PLANETYRE - ASSET_OBJECTS -.word ASSET_OBJECT_FAN - ASSET_OBJECTS -.word ASSET_OBJECT_JETENGINE - ASSET_OBJECTS -.word ASSET_OBJECT_GLOVE - ASSET_OBJECTS -.word ASSET_OBJECT_LEEFAN - ASSET_OBJECTS -.word ASSET_OBJECT_MAGICRING - ASSET_OBJECTS -.word ASSET_OBJECT_DOME - ASSET_OBJECTS -.word ASSET_OBJECT_DOME1 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME2 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME3 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME4 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME5 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME6 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME7 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME8 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME9 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME10 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME11 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME12 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME13 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME14 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME15 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME16 - ASSET_OBJECTS -.word ASSET_OBJECT_DOME17 - ASSET_OBJECTS -.word ASSET_OBJECT_SELECTIONSHADOW - ASSET_OBJECTS -.word ASSET_OBJECT_POSTFORPARTY - ASSET_OBJECTS -.word ASSET_OBJECT_RARELOGO - ASSET_OBJECTS -.word ASSET_OBJECT_SPARKLYTHING - ASSET_OBJECTS -.word ASSET_OBJECT_DOOROPENER - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMDINOSAUR2 - ASSET_OBJECTS -.word ASSET_OBJECT_TIMERANIMHOVER - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMBADGERPLANE - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMDINOSAUR1 - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMMOUSECAR - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMTORT - ASSET_OBJECTS -.word ASSET_OBJECT_CHICKENANIMPLAN - ASSET_OBJECTS -.word ASSET_OBJECT_EMPTYHOVERANIM - ASSET_OBJECTS -.word ASSET_OBJECT_KREMANIM - ASSET_OBJECTS -.word ASSET_OBJECT_MOUSEHOVERANIM - ASSET_OBJECTS -.word ASSET_OBJECT_TORTRUNNER - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMBANJOPLANE - ASSET_OBJECTS -.word ASSET_OBJECT_CONKAANIMCAR - ASSET_OBJECTS -.word ASSET_OBJECT_GBPARKWARDEN - ASSET_OBJECTS -.word ASSET_OBJECT_WIZPIG - ASSET_OBJECTS -.word ASSET_OBJECT_WIZPIGROCKET - ASSET_OBJECTS -.word ASSET_OBJECT_PIGBOSS - ASSET_OBJECTS -.word ASSET_OBJECT_PIGBOSS2 - ASSET_OBJECTS -.word ASSET_OBJECT_PIGROCKETEER - ASSET_OBJECTS -.word ASSET_OBJECT_PARTICLES2 - ASSET_OBJECTS -.word ASSET_OBJECT_PIGBOULDER - ASSET_OBJECTS -.word ASSET_OBJECT_BIGPLANET - ASSET_OBJECTS -.word ASSET_OBJECT_ROCKETBIT1 - ASSET_OBJECTS -.word ASSET_OBJECT_ROCKETBIT2 - ASSET_OBJECTS -.word ASSET_OBJECT_GENIEHEAD - ASSET_OBJECTS -.word ASSET_OBJECT_PIGBOULDER2 - ASSET_OBJECTS -.word ASSET_OBJECT_PIGBOULDER3 - ASSET_OBJECTS -.word ASSET_OBJECT_PIGBOULDER4 - ASSET_OBJECTS -.word ASSET_OBJECT_PIGBOULDER5 - ASSET_OBJECTS -.word ASSET_OBJECT_TRICKYTOPS - ASSET_OBJECTS -.word ASSET_OBJECT_TRICKYANIM - ASSET_OBJECTS -.word ASSET_OBJECT_TRICKYANIM2 - ASSET_OBJECTS -.word ASSET_OBJECT_TRICKYANIM3 - ASSET_OBJECTS -.word ASSET_OBJECT_WALRUS_ANIM - ASSET_OBJECTS -.word ASSET_OBJECT_TERRYBOSS - ASSET_OBJECTS -.word ASSET_OBJECT_DRAGONBOSS - ASSET_OBJECTS -.word ASSET_OBJECT_DRAGONANIM - ASSET_OBJECTS -.word ASSET_OBJECT_WALRUS - ASSET_OBJECTS -.word ASSET_OBJECT_SNOWBALLBOSS - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMOCTO - ASSET_OBJECTS -.word ASSET_OBJECT_OCTOPUS - ASSET_OBJECTS -.word ASSET_OBJECT_GOLDBALOONSPRIT - ASSET_OBJECTS -.word ASSET_OBJECT_SPACECOLUMN1 - ASSET_OBJECTS -.word ASSET_OBJECT_SPACECOLUMN2 - ASSET_OBJECTS -.word ASSET_OBJECT_SPACECOLUMN3 - ASSET_OBJECTS -.word ASSET_OBJECT_HAYSTACK - ASSET_OBJECTS -.word ASSET_OBJECT_ANIMGENIE2 - ASSET_OBJECTS -.word ASSET_OBJECT_BRIGHTSTAR - ASSET_OBJECTS -.word ASSET_OBJECT_BUTTERFLY - ASSET_OBJECTS -.word ASSET_OBJECT_FISH - ASSET_OBJECTS -.word ASSET_OBJECT_FROG - ASSET_OBJECTS -.word ASSET_OBJECT_BOOST - ASSET_OBJECTS -.word ASSET_OBJECT_MAGNETFX - ASSET_OBJECTS -.word ASSET_OBJECT_STILLFROG - ASSET_OBJECTS -.word ASSET_OBJECT_STOPWATCHICON - ASSET_OBJECTS -.word ASSET_OBJECT_STOPWATCHHAND - ASSET_OBJECTS -.word ASSET_OBJECT_BRIDGE - ASSET_OBJECTS -.word ASSET_OBJECT_POSARROW - ASSET_OBJECTS -.word ASSET_OBJECT_HITTESTER - ASSET_OBJECTS -.word ASSET_OBJECT_MIDIFADE - ASSET_OBJECTS -.word ASSET_OBJECT_WINDSAIL - ASSET_OBJECTS -.word ASSET_OBJECT_EFFECTBOX - ASSET_OBJECTS -.word ASSET_OBJECT_TROPHYCAB - ASSET_OBJECTS -.word ASSET_OBJECT_FLYCOIN - ASSET_OBJECTS -.word ASSET_OBJECT_GOLDENBALLOON - ASSET_OBJECTS -.word ASSET_OBJECT_LASERBOLT - ASSET_OBJECTS -.word ASSET_OBJECT_LASERGUN - ASSET_OBJECTS -.word ASSET_OBJECT_BOLTGLOW - ASSET_OBJECTS -.word ASSET_OBJECT_GROUNDZIPPER - ASSET_OBJECTS -.word ASSET_OBJECT_PWSAFETELEPOINT - ASSET_OBJECTS -.word ASSET_OBJECT_HEADFORPOINT - ASSET_OBJECTS -.word ASSET_OBJECT_FIREBALLATTRACT - ASSET_OBJECTS -.word ASSET_OBJECT_FIREBALL - ASSET_OBJECTS -.word ASSET_OBJECT_OCTOBUBBLE - ASSET_OBJECTS -.word ASSET_OBJECT_OCTOBOMB - ASSET_OBJECTS -.word ASSET_OBJECT_GOLDTROPHY - ASSET_OBJECTS -.word ASSET_OBJECT_PARKTROPHY - ASSET_OBJECTS -.word ASSET_OBJECT_TICKTROPHY - ASSET_OBJECTS -.word ASSET_OBJECT_TROPHY - ASSET_OBJECTS -.word ASSET_OBJECT_TELEPORT - ASSET_OBJECTS -.word ASSET_OBJECT_SHIELD - ASSET_OBJECTS -.word ASSET_OBJECT_LIGHTNING - ASSET_OBJECTS -.word ASSET_OBJECT_MIDIFADEPOINT - ASSET_OBJECTS -.word ASSET_OBJECT_LEVELNAME - ASSET_OBJECTS -.word ASSET_OBJECT_MIDICHSET - ASSET_OBJECTS -.word ASSET_OBJECTS_END - ASSET_OBJECTS -.word 0xFFFFFFFF -glabel ASSET_OBJECT_HEADERS_TABLE_END - -/********** ASSET_OBJECTS **********/ - -.balign 16 -glabel ASSET_OBJECTS -glabel ASSET_OBJECT_DIDDYCAR -.incbin "./build/us_1.0/assets/objects/headers/diddycar.bin" -glabel ASSET_OBJECT_SWCAR -.incbin "./build/us_1.0/assets/objects/headers/SWcar.bin" -glabel ASSET_OBJECT_KREMCAR -.incbin "./build/us_1.0/assets/objects/headers/KremCar.bin" -glabel ASSET_OBJECT_BADGERCAR -.incbin "./build/us_1.0/assets/objects/headers/BadgerCar.bin" -glabel ASSET_OBJECT_TORTCAR -.incbin "./build/us_1.0/assets/objects/headers/TortCar.bin" -glabel ASSET_OBJECT_CONKACAR -.incbin "./build/us_1.0/assets/objects/headers/ConkaCar.bin" -glabel ASSET_OBJECT_TIGERCAR -.incbin "./build/us_1.0/assets/objects/headers/TigerCar.bin" -glabel ASSET_OBJECT_BANJOCAR -.incbin "./build/us_1.0/assets/objects/headers/BanjoCar.bin" -glabel ASSET_OBJECT_CHICKENCAR -.incbin "./build/us_1.0/assets/objects/headers/ChickenCar.bin" -glabel ASSET_OBJECT_MOUSECAR -.incbin "./build/us_1.0/assets/objects/headers/MouseCar.bin" -glabel ASSET_OBJECT_DIDDYHOVER -.incbin "./build/us_1.0/assets/objects/headers/diddyhover.bin" -glabel ASSET_OBJECT_TICKTOCKHOVER -.incbin "./build/us_1.0/assets/objects/headers/ticktockhover.bin" -glabel ASSET_OBJECT_KREMLINHOVER -.incbin "./build/us_1.0/assets/objects/headers/KremlinHover.bin" -glabel ASSET_OBJECT_BADGERHOVER -.incbin "./build/us_1.0/assets/objects/headers/BadgerHover.bin" -glabel ASSET_OBJECT_TORTHOVER -.incbin "./build/us_1.0/assets/objects/headers/TortHover.bin" -glabel ASSET_OBJECT_CONKAHOVER -.incbin "./build/us_1.0/assets/objects/headers/ConkaHover.bin" -glabel ASSET_OBJECT_TIGERHOVER -.incbin "./build/us_1.0/assets/objects/headers/TigerHover.bin" -glabel ASSET_OBJECT_BANJOHOVER -.incbin "./build/us_1.0/assets/objects/headers/BanjoHover.bin" -glabel ASSET_OBJECT_CHICKENHOVER -.incbin "./build/us_1.0/assets/objects/headers/ChickenHover.bin" -glabel ASSET_OBJECT_MOUSEHOVER -.incbin "./build/us_1.0/assets/objects/headers/MouseHover.bin" -glabel ASSET_OBJECT_DIDDYPLANE -.incbin "./build/us_1.0/assets/objects/headers/diddyplane.bin" -glabel ASSET_OBJECT_TICKTOCKPLANE -.incbin "./build/us_1.0/assets/objects/headers/ticktockplane.bin" -glabel ASSET_OBJECT_KREMPLANE -.incbin "./build/us_1.0/assets/objects/headers/KremPlane.bin" -glabel ASSET_OBJECT_BADGERPLANE -.incbin "./build/us_1.0/assets/objects/headers/BadgerPlane.bin" -glabel ASSET_OBJECT_TORTPLANE -.incbin "./build/us_1.0/assets/objects/headers/TortPlane.bin" -glabel ASSET_OBJECT_CONKA -.incbin "./build/us_1.0/assets/objects/headers/Conka.bin" -glabel ASSET_OBJECT_TIGPLANE -.incbin "./build/us_1.0/assets/objects/headers/TigPlane.bin" -glabel ASSET_OBJECT_BANJOPLANE -.incbin "./build/us_1.0/assets/objects/headers/BanjoPlane.bin" -glabel ASSET_OBJECT_CHICKENPLANE -.incbin "./build/us_1.0/assets/objects/headers/ChickenPlane.bin" -glabel ASSET_OBJECT_MOUSEPLANE -.incbin "./build/us_1.0/assets/objects/headers/MousePlane.bin" -glabel ASSET_OBJECT_FLYINGCARPET -.incbin "./build/us_1.0/assets/objects/headers/FlyingCarpet.bin" -glabel ASSET_OBJECT_TIMBERDANCER -.incbin "./build/us_1.0/assets/objects/headers/timberdancer.bin" -glabel ASSET_OBJECT_CHICKENCHARACTE -.incbin "./build/us_1.0/assets/objects/headers/Chickencharacte.bin" -glabel ASSET_OBJECT_PIPSYDANCER -.incbin "./build/us_1.0/assets/objects/headers/pipsydancer.bin" -glabel ASSET_OBJECT_BANJODANCER -.incbin "./build/us_1.0/assets/objects/headers/banjodancer.bin" -glabel ASSET_OBJECT_TICKTOCKDANCER -.incbin "./build/us_1.0/assets/objects/headers/ticktockdancer.bin" -glabel ASSET_OBJECT_WIZPIGSHIP -.incbin "./build/us_1.0/assets/objects/headers/wizpigship.bin" -glabel ASSET_OBJECT_CONKADANCER -.incbin "./build/us_1.0/assets/objects/headers/conkadancer.bin" -glabel ASSET_OBJECT_EMPTYHOVER -.incbin "./build/us_1.0/assets/objects/headers/EmptyHover.bin" -glabel ASSET_OBJECT_STOPWATCHMAN -.incbin "./build/us_1.0/assets/objects/headers/Stopwatch-man.bin" -glabel ASSET_OBJECT_STOPWATCHSELECT -.incbin "./build/us_1.0/assets/objects/headers/stopwatchselect.bin" -glabel ASSET_OBJECT_PARKWARDEN -.incbin "./build/us_1.0/assets/objects/headers/Parkwarden.bin" -glabel ASSET_OBJECT_SMARTIETREE -.incbin "./build/us_1.0/assets/objects/headers/SmartieTree.bin" -glabel ASSET_OBJECT_BLUEBERRYBUSH -.incbin "./build/us_1.0/assets/objects/headers/BlueBerryBush.bin" -glabel ASSET_OBJECT_RUBBERSNOWTREE -.incbin "./build/us_1.0/assets/objects/headers/RubberSnowTree.bin" -glabel ASSET_OBJECT_SKINNYSNOWTREE -.incbin "./build/us_1.0/assets/objects/headers/SkinnySnowTree.bin" -glabel ASSET_OBJECT_XMASTREE -.incbin "./build/us_1.0/assets/objects/headers/XmasTree.bin" -glabel ASSET_OBJECT_ALPINESNOWTREE -.incbin "./build/us_1.0/assets/objects/headers/AlpineSnowTree.bin" -glabel ASSET_OBJECT_RUBBERTREE -.incbin "./build/us_1.0/assets/objects/headers/RubberTree.bin" -glabel ASSET_OBJECT_BEACHTREE -.incbin "./build/us_1.0/assets/objects/headers/Beachtree.bin" -glabel ASSET_OBJECT_PALMTREETOP -.incbin "./build/us_1.0/assets/objects/headers/PalmTreeTop.bin" -glabel ASSET_OBJECT_PALMPLANT -.incbin "./build/us_1.0/assets/objects/headers/PalmPlant.bin" -glabel ASSET_OBJECT_PALMTREETOPCHEA -.incbin "./build/us_1.0/assets/objects/headers/PalmTreeTopChea.bin" -glabel ASSET_OBJECT_FIRTREE -.incbin "./build/us_1.0/assets/objects/headers/FirTree.bin" -glabel ASSET_OBJECT_SPACETREE -.incbin "./build/us_1.0/assets/objects/headers/SpaceTree.bin" -glabel ASSET_OBJECT_LAMPPOST -.incbin "./build/us_1.0/assets/objects/headers/Lamppost.bin" -glabel ASSET_OBJECT_FLOWERS -.incbin "./build/us_1.0/assets/objects/headers/Flowers.bin" -glabel ASSET_OBJECT_REEDS -.incbin "./build/us_1.0/assets/objects/headers/Reeds.bin" -glabel ASSET_OBJECT_SMOKE -.incbin "./build/us_1.0/assets/objects/headers/smoke.bin" -glabel ASSET_OBJECT_DINOSAUR1 -.incbin "./build/us_1.0/assets/objects/headers/Dinosaur1.bin" -glabel ASSET_OBJECT_DINOSAUR2 -.incbin "./build/us_1.0/assets/objects/headers/Dinosaur2.bin" -glabel ASSET_OBJECT_DINOSAUR3 -.incbin "./build/us_1.0/assets/objects/headers/Dinosaur3.bin" -glabel ASSET_OBJECT_WHALE -.incbin "./build/us_1.0/assets/objects/headers/Whale.bin" -glabel ASSET_OBJECT_SNOWMEN -.incbin "./build/us_1.0/assets/objects/headers/Snowmen.bin" -glabel ASSET_OBJECT_SIGNS -.incbin "./build/us_1.0/assets/objects/headers/Signs.bin" -glabel ASSET_OBJECT_FLAMINGTORCH -.incbin "./build/us_1.0/assets/objects/headers/FlamingTorch.bin" -glabel ASSET_OBJECT_MIST -.incbin "./build/us_1.0/assets/objects/headers/Mist.bin" -glabel ASSET_OBJECT_SNOWBALL -.incbin "./build/us_1.0/assets/objects/headers/SnowBall.bin" -glabel ASSET_OBJECT_BUOY -.incbin "./build/us_1.0/assets/objects/headers/buoy.bin" -glabel ASSET_OBJECT_PIRATESHIP -.incbin "./build/us_1.0/assets/objects/headers/pirateship.bin" -glabel ASSET_OBJECT_LOG -.incbin "./build/us_1.0/assets/objects/headers/log.bin" -glabel ASSET_OBJECT_PIGLOG -.incbin "./build/us_1.0/assets/objects/headers/piglog.bin" -glabel ASSET_OBJECT_BOULDER -.incbin "./build/us_1.0/assets/objects/headers/boulder.bin" -glabel ASSET_OBJECT_AIRZIPPERS -.incbin "./build/us_1.0/assets/objects/headers/AirZippers.bin" -glabel ASSET_OBJECT_WATERZIPPERS -.incbin "./build/us_1.0/assets/objects/headers/WaterZippers.bin" -glabel ASSET_OBJECT_LEVELDOOR -.incbin "./build/us_1.0/assets/objects/headers/LevelDoor.bin" -glabel ASSET_OBJECT_KEITHPIGDOOR -.incbin "./build/us_1.0/assets/objects/headers/KeithPigDoor.bin" -glabel ASSET_OBJECT_CHALDOOR -.incbin "./build/us_1.0/assets/objects/headers/ChalDoor.bin" -glabel ASSET_OBJECT_BOSSDOOR -.incbin "./build/us_1.0/assets/objects/headers/BossDoor.bin" -glabel ASSET_OBJECT_BIGBOSSDOOR -.incbin "./build/us_1.0/assets/objects/headers/bigbossdoor.bin" -glabel ASSET_OBJECT_WORLDGATE -.incbin "./build/us_1.0/assets/objects/headers/WorldGate.bin" -glabel ASSET_OBJECT_TTDOOR -.incbin "./build/us_1.0/assets/objects/headers/TTDoor.bin" -glabel ASSET_OBJECT_RAMPSWITCH -.incbin "./build/us_1.0/assets/objects/headers/RampSwitch.bin" -glabel ASSET_OBJECT_NOENTRYDOOR -.incbin "./build/us_1.0/assets/objects/headers/NoentryDoor.bin" -glabel ASSET_OBJECT_RAMPWHALE -.incbin "./build/us_1.0/assets/objects/headers/RampWhale.bin" -glabel ASSET_OBJECT_SEAMONSTER -.incbin "./build/us_1.0/assets/objects/headers/SeaMonster.bin" -glabel ASSET_OBJECT_DINOISLE -.incbin "./build/us_1.0/assets/objects/headers/Dinoisle.bin" -glabel ASSET_OBJECT_SKYCONTROL -.incbin "./build/us_1.0/assets/objects/headers/skycontrol.bin" -glabel ASSET_OBJECT_CHECKPOINT -.incbin "./build/us_1.0/assets/objects/headers/checkpoint.bin" -glabel ASSET_OBJECT_CHECKARROW -.incbin "./build/us_1.0/assets/objects/headers/checkarrow.bin" -glabel ASSET_OBJECT_MODECHANGE -.incbin "./build/us_1.0/assets/objects/headers/modechange.bin" -glabel ASSET_OBJECT_TRIGGER -.incbin "./build/us_1.0/assets/objects/headers/trigger.bin" -glabel ASSET_OBJECT_FOGCHANGER -.incbin "./build/us_1.0/assets/objects/headers/fogchanger.bin" -glabel ASSET_OBJECT_AINODE -.incbin "./build/us_1.0/assets/objects/headers/ai-node.bin" -glabel ASSET_OBJECT_EXIT -.incbin "./build/us_1.0/assets/objects/headers/exit.bin" -glabel ASSET_OBJECT_BONUS -.incbin "./build/us_1.0/assets/objects/headers/bonus.bin" -glabel ASSET_OBJECT_CAMERA_CONTROL -.incbin "./build/us_1.0/assets/objects/headers/camera_control.bin" -glabel ASSET_OBJECT_SETUPPOINT -.incbin "./build/us_1.0/assets/objects/headers/setuppoint.bin" -glabel ASSET_OBJECT_ANIMATOR -.incbin "./build/us_1.0/assets/objects/headers/animator.bin" -glabel ASSET_OBJECT_TEXSCROLL -.incbin "./build/us_1.0/assets/objects/headers/texscroll.bin" -glabel ASSET_OBJECT_RGBALIGHT -.incbin "./build/us_1.0/assets/objects/headers/rgbalight.bin" -glabel ASSET_OBJECT_INTROCAM -.incbin "./build/us_1.0/assets/objects/headers/introcam.bin" -glabel ASSET_OBJECT_WEATHER -.incbin "./build/us_1.0/assets/objects/headers/weather.bin" -glabel ASSET_OBJECT_LENSFLARE -.incbin "./build/us_1.0/assets/objects/headers/lensflare.bin" -glabel ASSET_OBJECT_LENSFLARESWITCH -.incbin "./build/us_1.0/assets/objects/headers/lensflareswitch.bin" -glabel ASSET_OBJECT_INFOPOINT -.incbin "./build/us_1.0/assets/objects/headers/InfoPoint.bin" -glabel ASSET_OBJECT_WAVEGENERATOR -.incbin "./build/us_1.0/assets/objects/headers/wavegenerator.bin" -glabel ASSET_OBJECT_WAVEPOWER -.incbin "./build/us_1.0/assets/objects/headers/wavepower.bin" -glabel ASSET_OBJECT_RANGETRIGGER -.incbin "./build/us_1.0/assets/objects/headers/RangeTrigger.bin" -glabel ASSET_OBJECT_LAVASPURT -.incbin "./build/us_1.0/assets/objects/headers/lavaspurt.bin" -glabel ASSET_OBJECT_BOMBEXPLOSION -.incbin "./build/us_1.0/assets/objects/headers/bombexplosion.bin" -glabel ASSET_OBJECT_WARDENSMOKE -.incbin "./build/us_1.0/assets/objects/headers/wardensmoke.bin" -glabel ASSET_OBJECT_BUBBLER -.incbin "./build/us_1.0/assets/objects/headers/bubbler.bin" -glabel ASSET_OBJECT_WEAPONBALLOON -.incbin "./build/us_1.0/assets/objects/headers/WeaponBalloon.bin" -glabel ASSET_OBJECT_WBALLOONPOP -.incbin "./build/us_1.0/assets/objects/headers/wballoonpop.bin" -glabel ASSET_OBJECT_MISSILEGLOW -.incbin "./build/us_1.0/assets/objects/headers/MissileGlow.bin" -glabel ASSET_OBJECT_HOMINGGLOW -.incbin "./build/us_1.0/assets/objects/headers/HomingGlow.bin" -glabel ASSET_OBJECT_MISSILE -.incbin "./build/us_1.0/assets/objects/headers/Missile.bin" -glabel ASSET_OBJECT_HOMING -.incbin "./build/us_1.0/assets/objects/headers/Homing.bin" -glabel ASSET_OBJECT_OILSLICK -.incbin "./build/us_1.0/assets/objects/headers/OilSlick.bin" -glabel ASSET_OBJECT_SMOKECLOUD -.incbin "./build/us_1.0/assets/objects/headers/SmokeCloud.bin" -glabel ASSET_OBJECT_BOMB -.incbin "./build/us_1.0/assets/objects/headers/Bomb.bin" -glabel ASSET_OBJECT_BUBBLEWEAPON -.incbin "./build/us_1.0/assets/objects/headers/BubbleWeapon.bin" -glabel ASSET_OBJECT_WORLDKEY -.incbin "./build/us_1.0/assets/objects/headers/WorldKey.bin" -glabel ASSET_OBJECT_COINCREATOR -.incbin "./build/us_1.0/assets/objects/headers/CoinCreator.bin" -glabel ASSET_OBJECT_TREASURESUCKER -.incbin "./build/us_1.0/assets/objects/headers/TreasureSucker.bin" -glabel ASSET_OBJECT_COIN -.incbin "./build/us_1.0/assets/objects/headers/Coin.bin" -glabel ASSET_OBJECT_SILVERCOIN -.incbin "./build/us_1.0/assets/objects/headers/SilverCoin.bin" -glabel ASSET_OBJECT_GOLDCOIN -.incbin "./build/us_1.0/assets/objects/headers/GoldCoin.bin" -glabel ASSET_OBJECT_BONUSGEM -.incbin "./build/us_1.0/assets/objects/headers/BonusGem.bin" -glabel ASSET_OBJECT_COLLECTEGG -.incbin "./build/us_1.0/assets/objects/headers/CollectEgg.bin" -glabel ASSET_OBJECT_EGGCREATOR -.incbin "./build/us_1.0/assets/objects/headers/EggCreator.bin" -glabel ASSET_OBJECT_CHARACTERFLAG -.incbin "./build/us_1.0/assets/objects/headers/CharacterFlag.bin" -glabel ASSET_OBJECT_ANIMATION -.incbin "./build/us_1.0/assets/objects/headers/Animation.bin" -glabel ASSET_OBJECT_OVERRIDEPOS -.incbin "./build/us_1.0/assets/objects/headers/OverRidePos.bin" -glabel ASSET_OBJECT_ANIMCAMERA -.incbin "./build/us_1.0/assets/objects/headers/AnimCamera.bin" -glabel ASSET_OBJECT_ANIMCAR -.incbin "./build/us_1.0/assets/objects/headers/AnimCar.bin" -glabel ASSET_OBJECT_ANIMDOME -.incbin "./build/us_1.0/assets/objects/headers/AnimDome.bin" -glabel ASSET_OBJECT_WIZGHOSTS -.incbin "./build/us_1.0/assets/objects/headers/Wizghosts.bin" -glabel ASSET_OBJECT_N64LOGO -.incbin "./build/us_1.0/assets/objects/headers/N64logo.bin" -glabel ASSET_OBJECT_ASTEROID -.incbin "./build/us_1.0/assets/objects/headers/Asteroid.bin" -glabel ASSET_OBJECT_PILLAR -.incbin "./build/us_1.0/assets/objects/headers/pillar.bin" -glabel ASSET_OBJECT_BOULDERANIM -.incbin "./build/us_1.0/assets/objects/headers/boulderanim.bin" -glabel ASSET_OBJECT_PIGHEADCOLOURS -.incbin "./build/us_1.0/assets/objects/headers/pigheadcolours.bin" -glabel ASSET_OBJECT_PIGFACEANIMATOR -.incbin "./build/us_1.0/assets/objects/headers/pigfaceanimator.bin" -glabel ASSET_OBJECT_PTERODACTYL -.incbin "./build/us_1.0/assets/objects/headers/pterodactyl.bin" -glabel ASSET_OBJECT_AMULETPIECE1 -.incbin "./build/us_1.0/assets/objects/headers/amuletpiece1.bin" -glabel ASSET_OBJECT_AMULETPIECE2 -.incbin "./build/us_1.0/assets/objects/headers/amuletpiece2.bin" -glabel ASSET_OBJECT_AMULETPIECE3 -.incbin "./build/us_1.0/assets/objects/headers/amuletpiece3.bin" -glabel ASSET_OBJECT_AMULETPIECE4 -.incbin "./build/us_1.0/assets/objects/headers/amuletpiece4.bin" -glabel ASSET_OBJECT_SWAMULET1 -.incbin "./build/us_1.0/assets/objects/headers/swamulet1.bin" -glabel ASSET_OBJECT_SWAMULET2 -.incbin "./build/us_1.0/assets/objects/headers/swamulet2.bin" -glabel ASSET_OBJECT_SWAMULET3 -.incbin "./build/us_1.0/assets/objects/headers/swamulet3.bin" -glabel ASSET_OBJECT_SWAMULET4 -.incbin "./build/us_1.0/assets/objects/headers/swamulet4.bin" -glabel ASSET_OBJECT_ANIMKEY -.incbin "./build/us_1.0/assets/objects/headers/AnimKey.bin" -glabel ASSET_OBJECT_SPACESHIP1 -.incbin "./build/us_1.0/assets/objects/headers/SpaceShip1.bin" -glabel ASSET_OBJECT_MINISHIP -.incbin "./build/us_1.0/assets/objects/headers/MiniShip.bin" -glabel ASSET_OBJECT_MONORAIL -.incbin "./build/us_1.0/assets/objects/headers/MonoRail.bin" -glabel ASSET_OBJECT_SPACESHIP2 -.incbin "./build/us_1.0/assets/objects/headers/SpaceShip2.bin" -glabel ASSET_OBJECT_SPACESHIP3 -.incbin "./build/us_1.0/assets/objects/headers/SpaceShip3.bin" -glabel ASSET_OBJECT_LIGHTHOUSE -.incbin "./build/us_1.0/assets/objects/headers/Lighthouse.bin" -glabel ASSET_OBJECT_ROCKETSIGNPOST -.incbin "./build/us_1.0/assets/objects/headers/rocketsignpost.bin" -glabel ASSET_OBJECT_LIGHTHOUSE1 -.incbin "./build/us_1.0/assets/objects/headers/lighthouse1.bin" -glabel ASSET_OBJECT_LIGHTHOUSE2 -.incbin "./build/us_1.0/assets/objects/headers/lighthouse2.bin" -glabel ASSET_OBJECT_SELECTIONHILL -.incbin "./build/us_1.0/assets/objects/headers/SelectionHill.bin" -glabel ASSET_OBJECT_WIDESCREEN -.incbin "./build/us_1.0/assets/objects/headers/Widescreen.bin" -glabel ASSET_OBJECT_TIGERANIMPLANE -.incbin "./build/us_1.0/assets/objects/headers/TigerAnimPlane.bin" -glabel ASSET_OBJECT_BADGERANIMWALK -.incbin "./build/us_1.0/assets/objects/headers/BadgerAnimWalk.bin" -glabel ASSET_OBJECT_TIMBERANIMCAR -.incbin "./build/us_1.0/assets/objects/headers/Timberanimcar.bin" -glabel ASSET_OBJECT_KREMSELECT -.incbin "./build/us_1.0/assets/objects/headers/KremSelect.bin" -glabel ASSET_OBJECT_CONKSELECT -.incbin "./build/us_1.0/assets/objects/headers/ConkSelect.bin" -glabel ASSET_OBJECT_BADGERSELECT -.incbin "./build/us_1.0/assets/objects/headers/BadgerSelect.bin" -glabel ASSET_OBJECT_TORTSELECT -.incbin "./build/us_1.0/assets/objects/headers/TortSelect.bin" -glabel ASSET_OBJECT_TIGERSELECT -.incbin "./build/us_1.0/assets/objects/headers/TigerSelect.bin" -glabel ASSET_OBJECT_DIDDYSELECT -.incbin "./build/us_1.0/assets/objects/headers/DiddySelect.bin" -glabel ASSET_OBJECT_BANJOSELECT -.incbin "./build/us_1.0/assets/objects/headers/BanjoSelect.bin" -glabel ASSET_OBJECT_CHICKSELECT -.incbin "./build/us_1.0/assets/objects/headers/ChickSelect.bin" -glabel ASSET_OBJECT_MOUSESELECT -.incbin "./build/us_1.0/assets/objects/headers/MouseSelect.bin" -glabel ASSET_OBJECT_MAGICCARPET -.incbin "./build/us_1.0/assets/objects/headers/MagicCarpet.bin" -glabel ASSET_OBJECT_POLYGOLDBALOON -.incbin "./build/us_1.0/assets/objects/headers/PolyGoldBaloon.bin" -glabel ASSET_OBJECT_ANIMGENIE -.incbin "./build/us_1.0/assets/objects/headers/AnimGenie.bin" -glabel ASSET_OBJECT_ANIMGENIE3 -.incbin "./build/us_1.0/assets/objects/headers/AnimGenie3.bin" -glabel ASSET_OBJECT_BUTTERFLYBAIT -.incbin "./build/us_1.0/assets/objects/headers/ButterflyBait.bin" -glabel ASSET_OBJECT_AUDIO -.incbin "./build/us_1.0/assets/objects/headers/audio.bin" -glabel ASSET_OBJECT_AUDIOLINE -.incbin "./build/us_1.0/assets/objects/headers/audioline.bin" -glabel ASSET_OBJECT_AUDIOSEQLINE -.incbin "./build/us_1.0/assets/objects/headers/audioseqline.bin" -glabel ASSET_OBJECT_AUDIOSEQ -.incbin "./build/us_1.0/assets/objects/headers/audioseq.bin" -glabel ASSET_OBJECT_AUDIOREVERB -.incbin "./build/us_1.0/assets/objects/headers/audioreverb.bin" -glabel ASSET_OBJECT_FRONTTYRE -.incbin "./build/us_1.0/assets/objects/headers/fronttyre.bin" -glabel ASSET_OBJECT_BACKTYRE -.incbin "./build/us_1.0/assets/objects/headers/backtyre.bin" -glabel ASSET_OBJECT_PLANETYRE -.incbin "./build/us_1.0/assets/objects/headers/planetyre.bin" -glabel ASSET_OBJECT_FAN -.incbin "./build/us_1.0/assets/objects/headers/fan.bin" -glabel ASSET_OBJECT_JETENGINE -.incbin "./build/us_1.0/assets/objects/headers/jetengine.bin" -glabel ASSET_OBJECT_GLOVE -.incbin "./build/us_1.0/assets/objects/headers/glove.bin" -glabel ASSET_OBJECT_LEEFAN -.incbin "./build/us_1.0/assets/objects/headers/Leefan.bin" -glabel ASSET_OBJECT_MAGICRING -.incbin "./build/us_1.0/assets/objects/headers/MagicRing.bin" -glabel ASSET_OBJECT_DOME -.incbin "./build/us_1.0/assets/objects/headers/dome.bin" -glabel ASSET_OBJECT_DOME1 -.incbin "./build/us_1.0/assets/objects/headers/dome1.bin" -glabel ASSET_OBJECT_DOME2 -.incbin "./build/us_1.0/assets/objects/headers/dome2.bin" -glabel ASSET_OBJECT_DOME3 -.incbin "./build/us_1.0/assets/objects/headers/dome3.bin" -glabel ASSET_OBJECT_DOME4 -.incbin "./build/us_1.0/assets/objects/headers/dome4.bin" -glabel ASSET_OBJECT_DOME5 -.incbin "./build/us_1.0/assets/objects/headers/dome5.bin" -glabel ASSET_OBJECT_DOME6 -.incbin "./build/us_1.0/assets/objects/headers/dome6.bin" -glabel ASSET_OBJECT_DOME7 -.incbin "./build/us_1.0/assets/objects/headers/dome7.bin" -glabel ASSET_OBJECT_DOME8 -.incbin "./build/us_1.0/assets/objects/headers/dome8.bin" -glabel ASSET_OBJECT_DOME9 -.incbin "./build/us_1.0/assets/objects/headers/dome9.bin" -glabel ASSET_OBJECT_DOME10 -.incbin "./build/us_1.0/assets/objects/headers/dome10.bin" -glabel ASSET_OBJECT_DOME11 -.incbin "./build/us_1.0/assets/objects/headers/dome11.bin" -glabel ASSET_OBJECT_DOME12 -.incbin "./build/us_1.0/assets/objects/headers/dome12.bin" -glabel ASSET_OBJECT_DOME13 -.incbin "./build/us_1.0/assets/objects/headers/dome13.bin" -glabel ASSET_OBJECT_DOME14 -.incbin "./build/us_1.0/assets/objects/headers/dome14.bin" -glabel ASSET_OBJECT_DOME15 -.incbin "./build/us_1.0/assets/objects/headers/dome15.bin" -glabel ASSET_OBJECT_DOME16 -.incbin "./build/us_1.0/assets/objects/headers/dome16.bin" -glabel ASSET_OBJECT_DOME17 -.incbin "./build/us_1.0/assets/objects/headers/dome17.bin" -glabel ASSET_OBJECT_SELECTIONSHADOW -.incbin "./build/us_1.0/assets/objects/headers/selectionshadow.bin" -glabel ASSET_OBJECT_POSTFORPARTY -.incbin "./build/us_1.0/assets/objects/headers/postforparty.bin" -glabel ASSET_OBJECT_RARELOGO -.incbin "./build/us_1.0/assets/objects/headers/Rarelogo.bin" -glabel ASSET_OBJECT_SPARKLYTHING -.incbin "./build/us_1.0/assets/objects/headers/sparklything.bin" -glabel ASSET_OBJECT_DOOROPENER -.incbin "./build/us_1.0/assets/objects/headers/DoorOpener.bin" -glabel ASSET_OBJECT_ANIMDINOSAUR2 -.incbin "./build/us_1.0/assets/objects/headers/AnimDinosaur2.bin" -glabel ASSET_OBJECT_TIMERANIMHOVER -.incbin "./build/us_1.0/assets/objects/headers/Timeranimhover.bin" -glabel ASSET_OBJECT_ANIMBADGERPLANE -.incbin "./build/us_1.0/assets/objects/headers/AnimBadgerPlane.bin" -glabel ASSET_OBJECT_ANIMDINOSAUR1 -.incbin "./build/us_1.0/assets/objects/headers/AnimDinosaur1.bin" -glabel ASSET_OBJECT_ANIMMOUSECAR -.incbin "./build/us_1.0/assets/objects/headers/AnimMouseCar.bin" -glabel ASSET_OBJECT_ANIMTORT -.incbin "./build/us_1.0/assets/objects/headers/Animtort.bin" -glabel ASSET_OBJECT_CHICKENANIMPLAN -.incbin "./build/us_1.0/assets/objects/headers/ChickenAnimPlan.bin" -glabel ASSET_OBJECT_EMPTYHOVERANIM -.incbin "./build/us_1.0/assets/objects/headers/EmptyHoverAnim.bin" -glabel ASSET_OBJECT_KREMANIM -.incbin "./build/us_1.0/assets/objects/headers/KremAnim.bin" -glabel ASSET_OBJECT_MOUSEHOVERANIM -.incbin "./build/us_1.0/assets/objects/headers/MouseHoverAnim.bin" -glabel ASSET_OBJECT_TORTRUNNER -.incbin "./build/us_1.0/assets/objects/headers/TortRunner.bin" -glabel ASSET_OBJECT_ANIMBANJOPLANE -.incbin "./build/us_1.0/assets/objects/headers/AnimBanjoPlane.bin" -glabel ASSET_OBJECT_CONKAANIMCAR -.incbin "./build/us_1.0/assets/objects/headers/Conkaanimcar.bin" -glabel ASSET_OBJECT_GBPARKWARDEN -.incbin "./build/us_1.0/assets/objects/headers/GBParkwarden.bin" -glabel ASSET_OBJECT_WIZPIG -.incbin "./build/us_1.0/assets/objects/headers/Wizpig.bin" -glabel ASSET_OBJECT_WIZPIGROCKET -.incbin "./build/us_1.0/assets/objects/headers/WizpigRocket.bin" -glabel ASSET_OBJECT_PIGBOSS -.incbin "./build/us_1.0/assets/objects/headers/Pigboss.bin" -glabel ASSET_OBJECT_PIGBOSS2 -.incbin "./build/us_1.0/assets/objects/headers/Pigboss2.bin" -glabel ASSET_OBJECT_PIGROCKETEER -.incbin "./build/us_1.0/assets/objects/headers/PigRocketeer.bin" -glabel ASSET_OBJECT_PARTICLES2 -.incbin "./build/us_1.0/assets/objects/headers/Particles2.bin" -glabel ASSET_OBJECT_PIGBOULDER -.incbin "./build/us_1.0/assets/objects/headers/Pigboulder.bin" -glabel ASSET_OBJECT_BIGPLANET -.incbin "./build/us_1.0/assets/objects/headers/Bigplanet.bin" -glabel ASSET_OBJECT_ROCKETBIT1 -.incbin "./build/us_1.0/assets/objects/headers/rocketbit1.bin" -glabel ASSET_OBJECT_ROCKETBIT2 -.incbin "./build/us_1.0/assets/objects/headers/rocketbit2.bin" -glabel ASSET_OBJECT_GENIEHEAD -.incbin "./build/us_1.0/assets/objects/headers/Geniehead.bin" -glabel ASSET_OBJECT_PIGBOULDER2 -.incbin "./build/us_1.0/assets/objects/headers/Pigboulder2.bin" -glabel ASSET_OBJECT_PIGBOULDER3 -.incbin "./build/us_1.0/assets/objects/headers/Pigboulder3.bin" -glabel ASSET_OBJECT_PIGBOULDER4 -.incbin "./build/us_1.0/assets/objects/headers/Pigboulder4.bin" -glabel ASSET_OBJECT_PIGBOULDER5 -.incbin "./build/us_1.0/assets/objects/headers/Pigboulder5.bin" -glabel ASSET_OBJECT_TRICKYTOPS -.incbin "./build/us_1.0/assets/objects/headers/Trickytops.bin" -glabel ASSET_OBJECT_TRICKYANIM -.incbin "./build/us_1.0/assets/objects/headers/Trickyanim.bin" -glabel ASSET_OBJECT_TRICKYANIM2 -.incbin "./build/us_1.0/assets/objects/headers/Trickyanim2.bin" -glabel ASSET_OBJECT_TRICKYANIM3 -.incbin "./build/us_1.0/assets/objects/headers/Trickyanim3.bin" -glabel ASSET_OBJECT_WALRUS_ANIM -.incbin "./build/us_1.0/assets/objects/headers/Walrus_anim.bin" -glabel ASSET_OBJECT_TERRYBOSS -.incbin "./build/us_1.0/assets/objects/headers/Terryboss.bin" -glabel ASSET_OBJECT_DRAGONBOSS -.incbin "./build/us_1.0/assets/objects/headers/Dragonboss.bin" -glabel ASSET_OBJECT_DRAGONANIM -.incbin "./build/us_1.0/assets/objects/headers/DragonAnim.bin" -glabel ASSET_OBJECT_WALRUS -.incbin "./build/us_1.0/assets/objects/headers/Walrus.bin" -glabel ASSET_OBJECT_SNOWBALLBOSS -.incbin "./build/us_1.0/assets/objects/headers/SnowballBoss.bin" -glabel ASSET_OBJECT_ANIMOCTO -.incbin "./build/us_1.0/assets/objects/headers/animocto.bin" -glabel ASSET_OBJECT_OCTOPUS -.incbin "./build/us_1.0/assets/objects/headers/octopus.bin" -glabel ASSET_OBJECT_GOLDBALOONSPRIT -.incbin "./build/us_1.0/assets/objects/headers/GoldBaloonSprit.bin" -glabel ASSET_OBJECT_SPACECOLUMN1 -.incbin "./build/us_1.0/assets/objects/headers/SpaceColumn1.bin" -glabel ASSET_OBJECT_SPACECOLUMN2 -.incbin "./build/us_1.0/assets/objects/headers/SpaceColumn2.bin" -glabel ASSET_OBJECT_SPACECOLUMN3 -.incbin "./build/us_1.0/assets/objects/headers/SpaceColumn3.bin" -glabel ASSET_OBJECT_HAYSTACK -.incbin "./build/us_1.0/assets/objects/headers/Haystack.bin" -glabel ASSET_OBJECT_ANIMGENIE2 -.incbin "./build/us_1.0/assets/objects/headers/AnimGenie2.bin" -glabel ASSET_OBJECT_BRIGHTSTAR -.incbin "./build/us_1.0/assets/objects/headers/Brightstar.bin" -glabel ASSET_OBJECT_BUTTERFLY -.incbin "./build/us_1.0/assets/objects/headers/Butterfly.bin" -glabel ASSET_OBJECT_FISH -.incbin "./build/us_1.0/assets/objects/headers/Fish.bin" -glabel ASSET_OBJECT_FROG -.incbin "./build/us_1.0/assets/objects/headers/Frog.bin" -glabel ASSET_OBJECT_BOOST -.incbin "./build/us_1.0/assets/objects/headers/Boost.bin" -glabel ASSET_OBJECT_MAGNETFX -.incbin "./build/us_1.0/assets/objects/headers/MagnetFX.bin" -glabel ASSET_OBJECT_STILLFROG -.incbin "./build/us_1.0/assets/objects/headers/stillfrog.bin" -glabel ASSET_OBJECT_STOPWATCHICON -.incbin "./build/us_1.0/assets/objects/headers/stopwatchicon.bin" -glabel ASSET_OBJECT_STOPWATCHHAND -.incbin "./build/us_1.0/assets/objects/headers/stopwatchhand.bin" -glabel ASSET_OBJECT_BRIDGE -.incbin "./build/us_1.0/assets/objects/headers/bridge.bin" -glabel ASSET_OBJECT_POSARROW -.incbin "./build/us_1.0/assets/objects/headers/posarrow.bin" -glabel ASSET_OBJECT_HITTESTER -.incbin "./build/us_1.0/assets/objects/headers/hittester.bin" -glabel ASSET_OBJECT_MIDIFADE -.incbin "./build/us_1.0/assets/objects/headers/midifade.bin" -glabel ASSET_OBJECT_WINDSAIL -.incbin "./build/us_1.0/assets/objects/headers/windsail.bin" -glabel ASSET_OBJECT_EFFECTBOX -.incbin "./build/us_1.0/assets/objects/headers/EffectBox.bin" -glabel ASSET_OBJECT_TROPHYCAB -.incbin "./build/us_1.0/assets/objects/headers/trophycab.bin" -glabel ASSET_OBJECT_FLYCOIN -.incbin "./build/us_1.0/assets/objects/headers/FlyCoin.bin" -glabel ASSET_OBJECT_GOLDENBALLOON -.incbin "./build/us_1.0/assets/objects/headers/GoldenBalloon.bin" -glabel ASSET_OBJECT_LASERBOLT -.incbin "./build/us_1.0/assets/objects/headers/laserbolt.bin" -glabel ASSET_OBJECT_LASERGUN -.incbin "./build/us_1.0/assets/objects/headers/lasergun.bin" -glabel ASSET_OBJECT_BOLTGLOW -.incbin "./build/us_1.0/assets/objects/headers/boltglow.bin" -glabel ASSET_OBJECT_GROUNDZIPPER -.incbin "./build/us_1.0/assets/objects/headers/GroundZipper.bin" -glabel ASSET_OBJECT_PWSAFETELEPOINT -.incbin "./build/us_1.0/assets/objects/headers/PWSafeTelepoint.bin" -glabel ASSET_OBJECT_HEADFORPOINT -.incbin "./build/us_1.0/assets/objects/headers/HeadForPoint.bin" -glabel ASSET_OBJECT_FIREBALLATTRACT -.incbin "./build/us_1.0/assets/objects/headers/FireballAttract.bin" -glabel ASSET_OBJECT_FIREBALL -.incbin "./build/us_1.0/assets/objects/headers/Fireball.bin" -glabel ASSET_OBJECT_OCTOBUBBLE -.incbin "./build/us_1.0/assets/objects/headers/OctoBubble.bin" -glabel ASSET_OBJECT_OCTOBOMB -.incbin "./build/us_1.0/assets/objects/headers/OctoBomb.bin" -glabel ASSET_OBJECT_GOLDTROPHY -.incbin "./build/us_1.0/assets/objects/headers/GoldTrophy.bin" -glabel ASSET_OBJECT_PARKTROPHY -.incbin "./build/us_1.0/assets/objects/headers/Parktrophy.bin" -glabel ASSET_OBJECT_TICKTROPHY -.incbin "./build/us_1.0/assets/objects/headers/Ticktrophy.bin" -glabel ASSET_OBJECT_TROPHY -.incbin "./build/us_1.0/assets/objects/headers/Trophy.bin" -glabel ASSET_OBJECT_TELEPORT -.incbin "./build/us_1.0/assets/objects/headers/Teleport.bin" -glabel ASSET_OBJECT_SHIELD -.incbin "./build/us_1.0/assets/objects/headers/Shield.bin" -glabel ASSET_OBJECT_LIGHTNING -.incbin "./build/us_1.0/assets/objects/headers/Lightning.bin" -glabel ASSET_OBJECT_MIDIFADEPOINT -.incbin "./build/us_1.0/assets/objects/headers/midifadepoint.bin" -glabel ASSET_OBJECT_LEVELNAME -.incbin "./build/us_1.0/assets/objects/headers/levelname.bin" -glabel ASSET_OBJECT_MIDICHSET -.incbin "./build/us_1.0/assets/objects/headers/midichset.bin" -glabel ASSET_OBJECTS_END - -/********** ASSET_LEVEL_OBJECT_TRANSLATION_TABLE **********/ - -.balign 16 -glabel ASSET_LEVEL_OBJECT_TRANSLATION_TABLE -.incbin "./build/us_1.0/assets/objects/level_object_translation_table.bin" -glabel ASSET_LEVEL_OBJECT_TRANSLATION_TABLE_END - -/********** ASSET_EMPTY_37_TABLE **********/ - -.balign 16 -glabel ASSET_EMPTY_37_TABLE -.word ASSET_EMPTY_37_END - ASSET_EMPTY_37 -.word 0xFFFFFFFF -glabel ASSET_EMPTY_37_TABLE_END - -/********** ASSET_EMPTY_37 **********/ - -.balign 16 -glabel ASSET_EMPTY_37 -glabel ASSET_EMPTY_37_END - -/********** ASSET_AUDIO_TABLE **********/ - -.balign 16 -glabel ASSET_AUDIO_TABLE -# For whatever reason, the first table entry in the audio table is not set. -.word ASSET_AUDIO_1 - ASSET_AUDIO -.word ASSET_AUDIO_2 - ASSET_AUDIO -.word ASSET_AUDIO_3 - ASSET_AUDIO -.word ASSET_AUDIO_4 - ASSET_AUDIO -.word ASSET_AUDIO_5 - ASSET_AUDIO -.word ASSET_AUDIO_6 - ASSET_AUDIO -.word ASSET_AUDIO_7 - ASSET_AUDIO -.word ASSET_AUDIO_8 - ASSET_AUDIO -.word ASSET_AUDIO_9 - ASSET_AUDIO -.word ASSET_AUDIO_10 - ASSET_AUDIO -.word ASSET_AUDIO_11 - ASSET_AUDIO -.word ASSET_AUDIO_12 - ASSET_AUDIO -.word ASSET_AUDIO_END - ASSET_AUDIO -.word 0xFFFFFFFF -glabel ASSET_AUDIO_TABLE_END - -/********** ASSET_AUDIO **********/ - -.balign 16 -glabel ASSET_AUDIO -glabel ASSET_AUDIO_0 -.incbin "./build/us_1.0/assets/audio/asset_audio_0.bin" -glabel ASSET_AUDIO_1 -.incbin "./build/us_1.0/assets/audio/asset_audio_1.bin" -glabel ASSET_AUDIO_2 -.incbin "./build/us_1.0/assets/audio/asset_audio_2.bin" -glabel ASSET_AUDIO_3 -.incbin "./build/us_1.0/assets/audio/asset_audio_3.bin" -glabel ASSET_AUDIO_4 -.incbin "./build/us_1.0/assets/audio/asset_audio_4.bin" -glabel ASSET_AUDIO_5 -.incbin "./build/us_1.0/assets/audio/asset_audio_5.bin" -glabel ASSET_AUDIO_6 -.incbin "./build/us_1.0/assets/audio/asset_audio_6.bin" -glabel ASSET_AUDIO_7 -.incbin "./build/us_1.0/assets/audio/asset_audio_7.bin" -glabel ASSET_AUDIO_8 -.incbin "./build/us_1.0/assets/audio/asset_audio_8.bin" -glabel ASSET_AUDIO_9 -.incbin "./build/us_1.0/assets/audio/asset_audio_9.bin" -glabel ASSET_AUDIO_10 -.incbin "./build/us_1.0/assets/audio/asset_audio_10.bin" -glabel ASSET_AUDIO_11 -.incbin "./build/us_1.0/assets/audio/asset_audio_11.bin" -glabel ASSET_AUDIO_12 -.incbin "./build/us_1.0/assets/audio/asset_audio_12.bin" -glabel ASSET_AUDIO_END - -/********** ASSET_PARTICLES_TABLE **********/ - -.balign 16 -glabel ASSET_PARTICLES_TABLE -.word ASSET_PARTICLES_0 - ASSET_PARTICLES -.word ASSET_PARTICLES_1 - ASSET_PARTICLES -.word ASSET_PARTICLES_2 - ASSET_PARTICLES -.word ASSET_PARTICLES_3 - ASSET_PARTICLES -.word ASSET_PARTICLES_4 - ASSET_PARTICLES -.word ASSET_PARTICLES_5 - ASSET_PARTICLES -.word ASSET_PARTICLES_6 - ASSET_PARTICLES -.word ASSET_PARTICLES_7 - ASSET_PARTICLES -.word ASSET_PARTICLES_8 - ASSET_PARTICLES -.word ASSET_PARTICLES_9 - ASSET_PARTICLES -.word ASSET_PARTICLES_10 - ASSET_PARTICLES -.word ASSET_PARTICLES_11 - ASSET_PARTICLES -.word ASSET_PARTICLES_12 - ASSET_PARTICLES -.word ASSET_PARTICLES_13 - ASSET_PARTICLES -.word ASSET_PARTICLES_14 - ASSET_PARTICLES -.word ASSET_PARTICLES_15 - ASSET_PARTICLES -.word ASSET_PARTICLES_16 - ASSET_PARTICLES -.word ASSET_PARTICLES_17 - ASSET_PARTICLES -.word ASSET_PARTICLES_18 - ASSET_PARTICLES -.word ASSET_PARTICLES_19 - ASSET_PARTICLES -.word ASSET_PARTICLES_20 - ASSET_PARTICLES -.word ASSET_PARTICLES_21 - ASSET_PARTICLES -.word ASSET_PARTICLES_22 - ASSET_PARTICLES -.word ASSET_PARTICLES_23 - ASSET_PARTICLES -.word ASSET_PARTICLES_24 - ASSET_PARTICLES -.word ASSET_PARTICLES_25 - ASSET_PARTICLES -.word ASSET_PARTICLES_26 - ASSET_PARTICLES -.word ASSET_PARTICLES_27 - ASSET_PARTICLES -.word ASSET_PARTICLES_28 - ASSET_PARTICLES -.word ASSET_PARTICLES_29 - ASSET_PARTICLES -.word ASSET_PARTICLES_30 - ASSET_PARTICLES -.word ASSET_PARTICLES_31 - ASSET_PARTICLES -.word ASSET_PARTICLES_32 - ASSET_PARTICLES -.word ASSET_PARTICLES_33 - ASSET_PARTICLES -.word ASSET_PARTICLES_34 - ASSET_PARTICLES -.word ASSET_PARTICLES_35 - ASSET_PARTICLES -.word ASSET_PARTICLES_36 - ASSET_PARTICLES -.word ASSET_PARTICLES_37 - ASSET_PARTICLES -.word ASSET_PARTICLES_38 - ASSET_PARTICLES -.word ASSET_PARTICLES_39 - ASSET_PARTICLES -.word ASSET_PARTICLES_40 - ASSET_PARTICLES -.word ASSET_PARTICLES_41 - ASSET_PARTICLES -.word ASSET_PARTICLES_42 - ASSET_PARTICLES -.word ASSET_PARTICLES_43 - ASSET_PARTICLES -.word ASSET_PARTICLES_44 - ASSET_PARTICLES -.word ASSET_PARTICLES_45 - ASSET_PARTICLES -.word ASSET_PARTICLES_46 - ASSET_PARTICLES -.word ASSET_PARTICLES_47 - ASSET_PARTICLES -.word ASSET_PARTICLES_48 - ASSET_PARTICLES -.word ASSET_PARTICLES_49 - ASSET_PARTICLES -.word ASSET_PARTICLES_50 - ASSET_PARTICLES -.word ASSET_PARTICLES_51 - ASSET_PARTICLES -.word ASSET_PARTICLES_52 - ASSET_PARTICLES -.word ASSET_PARTICLES_53 - ASSET_PARTICLES -.word ASSET_PARTICLES_54 - ASSET_PARTICLES -.word ASSET_PARTICLES_55 - ASSET_PARTICLES -.word ASSET_PARTICLES_56 - ASSET_PARTICLES -.word ASSET_PARTICLES_57 - ASSET_PARTICLES -.word ASSET_PARTICLES_58 - ASSET_PARTICLES -.word ASSET_PARTICLES_59 - ASSET_PARTICLES -.word ASSET_PARTICLES_60 - ASSET_PARTICLES -.word ASSET_PARTICLES_61 - ASSET_PARTICLES -.word ASSET_PARTICLES_62 - ASSET_PARTICLES -.word ASSET_PARTICLES_63 - ASSET_PARTICLES -.word ASSET_PARTICLES_64 - ASSET_PARTICLES -.word ASSET_PARTICLES_65 - ASSET_PARTICLES -.word ASSET_PARTICLES_66 - ASSET_PARTICLES -.word ASSET_PARTICLES_67 - ASSET_PARTICLES -.word ASSET_PARTICLES_68 - ASSET_PARTICLES -.word ASSET_PARTICLES_69 - ASSET_PARTICLES -.word ASSET_PARTICLES_END - ASSET_PARTICLES -.word 0xFFFFFFFF -glabel ASSET_PARTICLES_TABLE_END - -/********** ASSET_PARTICLES **********/ - -.balign 16 -glabel ASSET_PARTICLES -glabel ASSET_PARTICLES_0 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_0.bin" -glabel ASSET_PARTICLES_1 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_1.bin" -glabel ASSET_PARTICLES_2 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_2.bin" -glabel ASSET_PARTICLES_3 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_3.bin" -glabel ASSET_PARTICLES_4 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_4.bin" -glabel ASSET_PARTICLES_5 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_5.bin" -glabel ASSET_PARTICLES_6 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_6.bin" -glabel ASSET_PARTICLES_7 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_7.bin" -glabel ASSET_PARTICLES_8 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_8.bin" -glabel ASSET_PARTICLES_9 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_9.bin" -glabel ASSET_PARTICLES_10 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_10.bin" -glabel ASSET_PARTICLES_11 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_11.bin" -glabel ASSET_PARTICLES_12 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_12.bin" -glabel ASSET_PARTICLES_13 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_13.bin" -glabel ASSET_PARTICLES_14 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_14.bin" -glabel ASSET_PARTICLES_15 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_15.bin" -glabel ASSET_PARTICLES_16 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_16.bin" -glabel ASSET_PARTICLES_17 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_17.bin" -glabel ASSET_PARTICLES_18 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_18.bin" -glabel ASSET_PARTICLES_19 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_19.bin" -glabel ASSET_PARTICLES_20 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_20.bin" -glabel ASSET_PARTICLES_21 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_21.bin" -glabel ASSET_PARTICLES_22 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_22.bin" -glabel ASSET_PARTICLES_23 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_23.bin" -glabel ASSET_PARTICLES_24 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_24.bin" -glabel ASSET_PARTICLES_25 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_25.bin" -glabel ASSET_PARTICLES_26 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_26.bin" -glabel ASSET_PARTICLES_27 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_27.bin" -glabel ASSET_PARTICLES_28 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_28.bin" -glabel ASSET_PARTICLES_29 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_29.bin" -glabel ASSET_PARTICLES_30 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_30.bin" -glabel ASSET_PARTICLES_31 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_31.bin" -glabel ASSET_PARTICLES_32 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_32.bin" -glabel ASSET_PARTICLES_33 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_33.bin" -glabel ASSET_PARTICLES_34 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_34.bin" -glabel ASSET_PARTICLES_35 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_35.bin" -glabel ASSET_PARTICLES_36 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_36.bin" -glabel ASSET_PARTICLES_37 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_37.bin" -glabel ASSET_PARTICLES_38 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_38.bin" -glabel ASSET_PARTICLES_39 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_39.bin" -glabel ASSET_PARTICLES_40 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_40.bin" -glabel ASSET_PARTICLES_41 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_41.bin" -glabel ASSET_PARTICLES_42 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_42.bin" -glabel ASSET_PARTICLES_43 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_43.bin" -glabel ASSET_PARTICLES_44 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_44.bin" -glabel ASSET_PARTICLES_45 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_45.bin" -glabel ASSET_PARTICLES_46 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_46.bin" -glabel ASSET_PARTICLES_47 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_47.bin" -glabel ASSET_PARTICLES_48 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_48.bin" -glabel ASSET_PARTICLES_49 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_49.bin" -glabel ASSET_PARTICLES_50 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_50.bin" -glabel ASSET_PARTICLES_51 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_51.bin" -glabel ASSET_PARTICLES_52 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_52.bin" -glabel ASSET_PARTICLES_53 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_53.bin" -glabel ASSET_PARTICLES_54 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_54.bin" -glabel ASSET_PARTICLES_55 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_55.bin" -glabel ASSET_PARTICLES_56 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_56.bin" -glabel ASSET_PARTICLES_57 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_57.bin" -glabel ASSET_PARTICLES_58 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_58.bin" -glabel ASSET_PARTICLES_59 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_59.bin" -glabel ASSET_PARTICLES_60 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_60.bin" -glabel ASSET_PARTICLES_61 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_61.bin" -glabel ASSET_PARTICLES_62 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_62.bin" -glabel ASSET_PARTICLES_63 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_63.bin" -glabel ASSET_PARTICLES_64 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_64.bin" -glabel ASSET_PARTICLES_65 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_65.bin" -glabel ASSET_PARTICLES_66 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_66.bin" -glabel ASSET_PARTICLES_67 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_67.bin" -glabel ASSET_PARTICLES_68 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_68.bin" -glabel ASSET_PARTICLES_69 -.incbin "./build/us_1.0/assets/particles/particles/asset_particles_69.bin" -glabel ASSET_PARTICLES_END - -/********** ASSET_PARTICLE_BEHAVIORS_TABLE **********/ - -.balign 16 -glabel ASSET_PARTICLE_BEHAVIORS_TABLE -.word ASSET_PARTICLE_BEHAVIORS_0 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_1 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_2 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_3 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_4 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_5 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_6 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_7 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_8 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_9 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_10 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_11 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_12 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_13 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_14 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_15 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_16 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_17 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_18 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_19 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_20 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_21 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_22 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_23 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_24 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_25 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_26 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_27 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_28 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_29 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_30 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_31 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_32 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_33 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_34 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_35 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_36 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_37 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_38 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_39 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_40 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_41 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_42 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_43 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_44 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_45 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_46 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_47 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_48 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_49 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_50 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_51 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_52 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_53 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_54 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_55 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_56 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_57 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_58 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_59 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_60 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_61 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_62 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_63 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_64 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_65 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_66 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_67 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_68 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_69 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_70 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_71 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_72 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_73 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_74 - ASSET_PARTICLE_BEHAVIORS -.word ASSET_PARTICLE_BEHAVIORS_END - ASSET_PARTICLE_BEHAVIORS -.word 0xFFFFFFFF -glabel ASSET_PARTICLE_BEHAVIORS_TABLE_END - -/********** ASSET_PARTICLE_BEHAVIORS **********/ - -.balign 16 -glabel ASSET_PARTICLE_BEHAVIORS -glabel ASSET_PARTICLE_BEHAVIORS_0 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_0.bin" -glabel ASSET_PARTICLE_BEHAVIORS_1 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_1.bin" -glabel ASSET_PARTICLE_BEHAVIORS_2 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_2.bin" -glabel ASSET_PARTICLE_BEHAVIORS_3 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_3.bin" -glabel ASSET_PARTICLE_BEHAVIORS_4 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_4.bin" -glabel ASSET_PARTICLE_BEHAVIORS_5 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_5.bin" -glabel ASSET_PARTICLE_BEHAVIORS_6 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_6.bin" -glabel ASSET_PARTICLE_BEHAVIORS_7 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_7.bin" -glabel ASSET_PARTICLE_BEHAVIORS_8 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_8.bin" -glabel ASSET_PARTICLE_BEHAVIORS_9 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_9.bin" -glabel ASSET_PARTICLE_BEHAVIORS_10 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_10.bin" -glabel ASSET_PARTICLE_BEHAVIORS_11 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_11.bin" -glabel ASSET_PARTICLE_BEHAVIORS_12 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_12.bin" -glabel ASSET_PARTICLE_BEHAVIORS_13 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_13.bin" -glabel ASSET_PARTICLE_BEHAVIORS_14 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_14.bin" -glabel ASSET_PARTICLE_BEHAVIORS_15 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_15.bin" -glabel ASSET_PARTICLE_BEHAVIORS_16 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_16.bin" -glabel ASSET_PARTICLE_BEHAVIORS_17 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_17.bin" -glabel ASSET_PARTICLE_BEHAVIORS_18 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_18.bin" -glabel ASSET_PARTICLE_BEHAVIORS_19 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_19.bin" -glabel ASSET_PARTICLE_BEHAVIORS_20 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_20.bin" -glabel ASSET_PARTICLE_BEHAVIORS_21 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_21.bin" -glabel ASSET_PARTICLE_BEHAVIORS_22 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_22.bin" -glabel ASSET_PARTICLE_BEHAVIORS_23 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_23.bin" -glabel ASSET_PARTICLE_BEHAVIORS_24 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_24.bin" -glabel ASSET_PARTICLE_BEHAVIORS_25 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_25.bin" -glabel ASSET_PARTICLE_BEHAVIORS_26 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_26.bin" -glabel ASSET_PARTICLE_BEHAVIORS_27 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_27.bin" -glabel ASSET_PARTICLE_BEHAVIORS_28 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_28.bin" -glabel ASSET_PARTICLE_BEHAVIORS_29 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_29.bin" -glabel ASSET_PARTICLE_BEHAVIORS_30 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_30.bin" -glabel ASSET_PARTICLE_BEHAVIORS_31 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_31.bin" -glabel ASSET_PARTICLE_BEHAVIORS_32 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_32.bin" -glabel ASSET_PARTICLE_BEHAVIORS_33 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_33.bin" -glabel ASSET_PARTICLE_BEHAVIORS_34 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_34.bin" -glabel ASSET_PARTICLE_BEHAVIORS_35 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_35.bin" -glabel ASSET_PARTICLE_BEHAVIORS_36 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_36.bin" -glabel ASSET_PARTICLE_BEHAVIORS_37 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_37.bin" -glabel ASSET_PARTICLE_BEHAVIORS_38 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_38.bin" -glabel ASSET_PARTICLE_BEHAVIORS_39 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_39.bin" -glabel ASSET_PARTICLE_BEHAVIORS_40 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_40.bin" -glabel ASSET_PARTICLE_BEHAVIORS_41 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_41.bin" -glabel ASSET_PARTICLE_BEHAVIORS_42 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_42.bin" -glabel ASSET_PARTICLE_BEHAVIORS_43 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_43.bin" -glabel ASSET_PARTICLE_BEHAVIORS_44 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_44.bin" -glabel ASSET_PARTICLE_BEHAVIORS_45 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_45.bin" -glabel ASSET_PARTICLE_BEHAVIORS_46 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_46.bin" -glabel ASSET_PARTICLE_BEHAVIORS_47 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_47.bin" -glabel ASSET_PARTICLE_BEHAVIORS_48 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_48.bin" -glabel ASSET_PARTICLE_BEHAVIORS_49 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_49.bin" -glabel ASSET_PARTICLE_BEHAVIORS_50 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_50.bin" -glabel ASSET_PARTICLE_BEHAVIORS_51 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_51.bin" -glabel ASSET_PARTICLE_BEHAVIORS_52 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_52.bin" -glabel ASSET_PARTICLE_BEHAVIORS_53 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_53.bin" -glabel ASSET_PARTICLE_BEHAVIORS_54 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_54.bin" -glabel ASSET_PARTICLE_BEHAVIORS_55 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_55.bin" -glabel ASSET_PARTICLE_BEHAVIORS_56 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_56.bin" -glabel ASSET_PARTICLE_BEHAVIORS_57 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_57.bin" -glabel ASSET_PARTICLE_BEHAVIORS_58 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_58.bin" -glabel ASSET_PARTICLE_BEHAVIORS_59 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_59.bin" -glabel ASSET_PARTICLE_BEHAVIORS_60 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_60.bin" -glabel ASSET_PARTICLE_BEHAVIORS_61 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_61.bin" -glabel ASSET_PARTICLE_BEHAVIORS_62 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_62.bin" -glabel ASSET_PARTICLE_BEHAVIORS_63 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_63.bin" -glabel ASSET_PARTICLE_BEHAVIORS_64 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_64.bin" -glabel ASSET_PARTICLE_BEHAVIORS_65 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_65.bin" -glabel ASSET_PARTICLE_BEHAVIORS_66 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_66.bin" -glabel ASSET_PARTICLE_BEHAVIORS_67 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_67.bin" -glabel ASSET_PARTICLE_BEHAVIORS_68 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_68.bin" -glabel ASSET_PARTICLE_BEHAVIORS_69 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_69.bin" -glabel ASSET_PARTICLE_BEHAVIORS_70 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_70.bin" -glabel ASSET_PARTICLE_BEHAVIORS_71 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_71.bin" -glabel ASSET_PARTICLE_BEHAVIORS_72 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_72.bin" -glabel ASSET_PARTICLE_BEHAVIORS_73 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_73.bin" -glabel ASSET_PARTICLE_BEHAVIORS_74 -.incbin "./build/us_1.0/assets/particles/behaviors/asset_particle_behaviors_74.bin" -glabel ASSET_PARTICLE_BEHAVIORS_END - -/********** ASSET_FONTS **********/ - -.balign 16 -glabel ASSET_FONTS -.incbin "./build/us_1.0/assets/fonts/fonts.bin" -glabel ASSET_FONTS_END - -/********** ASSET_BINARY_45 **********/ - -.balign 16 -glabel ASSET_BINARY_45 -.incbin "./build/us_1.0/assets/fonts/asset_binary_45.bin" -glabel ASSET_BINARY_45_END - -/********** ASSET_BINARY_46 **********/ - -.balign 16 -glabel ASSET_BINARY_46 -.incbin "./build/us_1.0/assets/fonts/asset_binary_46.bin" -glabel ASSET_BINARY_46_END - -/********** ASSET_BINARY_47 **********/ - -.balign 16 -glabel ASSET_BINARY_47 -.incbin "./build/us_1.0/assets/ids/asset_binary_47.bin" -glabel ASSET_BINARY_47_END - -/********** ASSET_TTGHOSTS_TABLE **********/ - -.balign 16 -glabel ASSET_TTGHOSTS_TABLE -.word 0x03000000, ASSET_TTGHOSTS_FOSSILCANYON - ASSET_TTGHOSTS -.word 0x04010000, ASSET_TTGHOSTS_PIRATELAGOON - ASSET_TTGHOSTS -.word 0x05000000, ASSET_TTGHOSTS_ANCIENTLAKE - ASSET_TTGHOSTS -.word 0x06000000, ASSET_TTGHOSTS_WALRUSCOVE - ASSET_TTGHOSTS -.word 0x07020000, ASSET_TTGHOSTS_HOTTOPVOLCANO - ASSET_TTGHOSTS -.word 0x08010000, ASSET_TTGHOSTS_WHALEBAY - ASSET_TTGHOSTS -.word 0x09000000, ASSET_TTGHOSTS_SNOWBALLVALLEY - ASSET_TTGHOSTS -.word 0x0A000000, ASSET_TTGHOSTS_CRESCENTISLAND - ASSET_TTGHOSTS -.word 0x0D020000, ASSET_TTGHOSTS_EVERFROSTPEAK - ASSET_TTGHOSTS -.word 0x0F020000, ASSET_TTGHOSTS_SPACEPORTALPHA - ASSET_TTGHOSTS -.word 0x11020000, ASSET_TTGHOSTS_SPACEDUSTALLEY - ASSET_TTGHOSTS -.word 0x12000000, ASSET_TTGHOSTS_GREENWOODVILLAGE - ASSET_TTGHOSTS -.word 0x13010000, ASSET_TTGHOSTS_BOULDERCANYON - ASSET_TTGHOSTS -.word 0x14020000, ASSET_TTGHOSTS_WINDMILLPLAINS - ASSET_TTGHOSTS -.word 0x1C000000, ASSET_TTGHOSTS_FROSTYVILLAGE - ASSET_TTGHOSTS -.word 0x1D000000, ASSET_TTGHOSTS_JUNGLEFALLS - ASSET_TTGHOSTS -.word 0x1E000000, ASSET_TTGHOSTS_TREASURECAVES - ASSET_TTGHOSTS -.word 0x1F000000, ASSET_TTGHOSTS_HAUNTEDWOODS - ASSET_TTGHOSTS -.word 0x20000000, ASSET_TTGHOSTS_DARKMOONCAVERNS - ASSET_TTGHOSTS -.word 0x21000000, ASSET_TTGHOSTS_STARCITY - ASSET_TTGHOSTS -.word 0xFFFF0000, ASSET_TTGHOSTS_END - ASSET_TTGHOSTS -.word 0xFFFF0000, 0xFFFFFFFF -glabel ASSET_TTGHOSTS_TABLE_END - -/********** ASSET_TTGHOSTS **********/ - -.balign 16 -glabel ASSET_TTGHOSTS -glabel ASSET_TTGHOSTS_FOSSILCANYON -.incbin "./build/us_1.0/assets/tt_ghosts/FossilCanyonGhost.bin" -glabel ASSET_TTGHOSTS_PIRATELAGOON -.incbin "./build/us_1.0/assets/tt_ghosts/PirateLagoonGhost.bin" -glabel ASSET_TTGHOSTS_ANCIENTLAKE -.incbin "./build/us_1.0/assets/tt_ghosts/AncientLakeGhost.bin" -glabel ASSET_TTGHOSTS_WALRUSCOVE -.incbin "./build/us_1.0/assets/tt_ghosts/WalrusCoveGhost.bin" -glabel ASSET_TTGHOSTS_HOTTOPVOLCANO -.incbin "./build/us_1.0/assets/tt_ghosts/HotTopVolcanoGhost.bin" -glabel ASSET_TTGHOSTS_WHALEBAY -.incbin "./build/us_1.0/assets/tt_ghosts/WhaleBayGhost.bin" -glabel ASSET_TTGHOSTS_SNOWBALLVALLEY -.incbin "./build/us_1.0/assets/tt_ghosts/SnowballValleyGhost.bin" -glabel ASSET_TTGHOSTS_CRESCENTISLAND -.incbin "./build/us_1.0/assets/tt_ghosts/CrescentIslandGhost.bin" -glabel ASSET_TTGHOSTS_EVERFROSTPEAK -.incbin "./build/us_1.0/assets/tt_ghosts/EverfrostPeakGhost.bin" -glabel ASSET_TTGHOSTS_SPACEPORTALPHA -.incbin "./build/us_1.0/assets/tt_ghosts/SpaceportAlphaGhost.bin" -glabel ASSET_TTGHOSTS_SPACEDUSTALLEY -.incbin "./build/us_1.0/assets/tt_ghosts/SpacedustAlleyGhost.bin" -glabel ASSET_TTGHOSTS_GREENWOODVILLAGE -.incbin "./build/us_1.0/assets/tt_ghosts/GreenwoodVillageGhost.bin" -glabel ASSET_TTGHOSTS_BOULDERCANYON -.incbin "./build/us_1.0/assets/tt_ghosts/BoulderCanyonGhost.bin" -glabel ASSET_TTGHOSTS_WINDMILLPLAINS -.incbin "./build/us_1.0/assets/tt_ghosts/WindmillPlainsGhost.bin" -glabel ASSET_TTGHOSTS_FROSTYVILLAGE -.incbin "./build/us_1.0/assets/tt_ghosts/FrostyVillageGhost.bin" -glabel ASSET_TTGHOSTS_JUNGLEFALLS -.incbin "./build/us_1.0/assets/tt_ghosts/JungleFallsGhost.bin" -glabel ASSET_TTGHOSTS_TREASURECAVES -.incbin "./build/us_1.0/assets/tt_ghosts/TreasureCavesGhost.bin" -glabel ASSET_TTGHOSTS_HAUNTEDWOODS -.incbin "./build/us_1.0/assets/tt_ghosts/HauntedWoodsGhost.bin" -glabel ASSET_TTGHOSTS_DARKMOONCAVERNS -.incbin "./build/us_1.0/assets/tt_ghosts/DarkmoonCavernsGhost.bin" -glabel ASSET_TTGHOSTS_STARCITY -.incbin "./build/us_1.0/assets/tt_ghosts/StarCityGhost.bin" -glabel ASSET_TTGHOSTS_END - -.balign 16 -glabel ASSETS_END diff --git a/asm/assets/ucode_data.s b/asm/assets/ucode_data.s deleted file mode 100644 index d90cbc84..00000000 --- a/asm/assets/ucode_data.s +++ /dev/null @@ -1,14 +0,0 @@ -# This file is automatically generated. Any changes you make to this file will get overwritten. - -.include "macros.inc" - -glabel aspMainDataStart -.incbin "build/us_1.0/ucode/data_audio.bin" -glabel rspF3DDKRDataDramStart -.incbin "build/us_1.0/ucode/data_f3ddkr_dram.bin" -glabel rspF3DDKRDataFifoStart -.incbin "build/us_1.0/ucode/data_f3ddkr_fifo.bin" -glabel rspF3DDKRDataXbusStart -.incbin "build/us_1.0/ucode/data_f3ddkr_xbus.bin" -glabel rspUnknown2DataStart -.incbin "build/us_1.0/ucode/data_unknown_2.bin" diff --git a/asm/assets/ucode_text.s b/asm/assets/ucode_text.s deleted file mode 100644 index ba321751..00000000 --- a/asm/assets/ucode_text.s +++ /dev/null @@ -1,16 +0,0 @@ -# This file is automatically generated. Any changes you make to this file will get overwritten. - -.include "macros.inc" - -glabel aspMainTextStart -.incbin "build/us_1.0/ucode/ucode_audio.bin" -glabel rspF3DDKRBootStart -.incbin "build/us_1.0/ucode/ucode_boot.bin" -glabel rspF3DDKRDramStart -.incbin "build/us_1.0/ucode/ucode_f3ddkr_dram.bin" -glabel rspF3DDKRFifoStart -.incbin "build/us_1.0/ucode/ucode_f3ddkr_fifo.bin" -glabel rspF3DDKRXbusStart -.incbin "build/us_1.0/ucode/ucode_f3ddkr_xbus.bin" -glabel rspUnknown2Start -.incbin "build/us_1.0/ucode/ucode_unknown_2.bin" diff --git a/asm/boot/boot.bin b/asm/boot/boot.bin deleted file mode 100644 index 43e6e2f510cd3d2bd049ddfe98af752e33d95e04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4032 zcmZ>0$Y5}2@L+Igh+wecSW=+M!NAbV$-pD3!0?uVfq_AN@BbI;H#0D--@?GMek%jV z`fUt6>$fuqz|`7sE&gG{z4(I-&k_UG9tH*zP6mgyoD3`~f=US>{Yr-a|BEU7{|jQT zWnkbi;bah5%gMmAmVtpmMUa67B#x}cgp+}9Ehkt`0V@8_gp-kfZ6^bR4W|T$siua- zT2BU!wGIp-Hk=I%Ydt|`WT-MQ6sX$pFaE&5a6r{Ya`6Wnu>}ka3_Db9*cN}VVF$4% zsM?4u0QqMJ^MVhmHUdiw`UDtQYy=q@)eIRK#RM5xL2gkIU}7*WbYKu*U|@#uSr|+U z8yMEB(B1tz_7N1fuZ*$gG%o&1_l)l0WjZC^Z$Pp4ps(H4F*oI+0u**%+VKA#2q01 zvEdMqG3DT5S^I)P0%WEQ2M3QShY*+#atGsy0tLno6=1BomVr@s1p|jD!~Y{-vp9}0 zto2~vvEgU{(JagdUZ^rKNT~L&WMHx3*uW{O!5{`wx6XorMctHvr+*0p1K7{342--C zOuZnvz7wD@Vc=jCb5Q8zWMDw&+iKHk=Fs zjNSn%HXKVpcK^5GUc#Wt!E!(~n>~Y((?NwXGeX6Na{&V*mxC%}R)ngmCIdq+F9XOO zER5V7+NzoiEFud3f3Ma3|Hp=>fdN!bFg7r7fZfZzfuT2(fy0JN{=cc$|Nl0O3<8W= z9x9BA9?CY1OA^*-g5r8fLN5n{fFTD1Qz*m#zcw685yks+N!TR?$SEQ~i4R2dF&XfrIZP-RStP!mvKU}0iuP-J*?LQQ~yfr(koK#k#ufto4@ z0}Deyg&HW#Mdkm$V0@FH$ndH_jq$XFA`{yIHD;a$MX;YT7z9LKFtCCA*qgy1BE|tJ z?^pz3^#A`LIUCL;9KD(h4E-AzMEdtL$OtMhu&M85P*CAwaI|4u!m>t-LBNJ_3C9`* zP+DPFWtzQe9avl&EN-B}!5X?ogMr6}aY@4(1qKNl#w7u36u^7~6;2KYQ2eTJGBAPT zOcRlhR5-=2ujOPASS!N7uvVCXWvwU!k5B>w%UW?zxxWk)(9EE8X2ZFG0YtCmWZ(d& zPYwnKMNR<*6|VpPL17`v`TyTquK#}^aspsE6mhO43@Y5>*VlRrFo42E)k^@99zp3) z(Lbf_{gG^m2g|MiO*Sk^CL;8?$ufoJ_P27&d< z8AR5vV31h9l0jzuDh7r1s~J?*uVK(wzm`E~{W=DN_3If-*6(1jSih6OX8k4xkM)}w zeAaJa2w1Si?-%Ls!iVT7Z zO`tMXg_VJ^e?LPCgP=fD|3(Iv{>2O|{Yw})`j;~B^e;VA8*X!J>aBgH8Vi28aGl;Ihi6e+xrE|5k>O{%s5q z{o5I0`u8y;Fh5}6P~Xe20G8$%7(7%N7$Q^|7!p)9XE8VgJ1|HvFbJsfGB7zXHYlh@ zI52Q%S}_DLcwSIu_F<4@Z~&>lAjDV|p$PI5NKV}0|3}px21W*Mg$9Oh1!V>nIPJj8 zz!a;}@@E35-U6jPkl7#_l>R_&0hyt`_x}x0{sYND!-I)|;e)D*)c^nMW-+kzH8ZfR zo5jEY!VC-#R2i6Mm<*~I7=s-cnAPVnFoNL`21e~$3|!$3 z|KEemf!e8oZs+e725=dm3SvXu z2dW!4sxM(s=Vf35)01~GsH;dbEA%g6P+*Q`kYr$R5MpGxpv>;fz|8D>LyMu~f-;B> zP5{TP0<%MgD&v6wRgii{mK$2Z2@GtEegcZB=NK3@Z!X(vkku+gN;-J1LLm>RfAa!j0{p28=!0^2C2&qP&NyL)K!=o z4hE@Zyf^3+rZ`TG=caFW?{Mw^zfyID9q~ZTRkRDzJ7Jd-T@PL8Cp}~T|fkT18kb|K?l!1W>Bo0bX zAaN6pAO?pH1&|Ogi0DybU@>rFU=na(U&7GRQdm2e-|8lo%v>lo@0c zlK=mAkkeogKLD}Up#i^pI2l;L_A@aEFgkECbg(!mF>weu{^#IuaA8#7sApmk5NK#& zQE>dn!Qr69D8SL+!eW1bo#7Ya|2Y^ST38tDKVTJBU_ddu`4h zFu^$->@cGl5JoF7H^8k?U}WH6aAFb=XlUZ#Z*Wjz5>RMjQBY!3;A%)>;t)`1Xkk*| zfVl~*7{;;x(7?k`!0r&mbVAM1P_Uy%Bhi^fLg4_5gEFHC#{!ooB|(7>7bhi70gXl% zHU$BG#x?*g+)N22^3U> 16) # lui $t0, 1 -/* 031D38 80031138 3C09FFFE */ lui $t1, %hi(0xFFFDFFFB) # $t1, 0xfffe -/* 031D3C 8003113C AFB6002C */ sw $s6, 0x2c($sp) -/* 031D40 80031140 AFB50028 */ sw $s5, 0x28($sp) -/* 031D44 80031144 AFB40024 */ sw $s4, 0x24($sp) -/* 031D48 80031148 AFB30020 */ sw $s3, 0x20($sp) -/* 031D4C 8003114C AFB2001C */ sw $s2, 0x1c($sp) -/* 031D50 80031150 350886A0 */ ori $t0, (0x000186A0 & 0xFFFF) # ori $t0, $t0, 0x86a0 -/* 031D54 80031154 35297960 */ ori $t1, (0xFFFE7960 & 0xFFFF) # ori $t1, $t1, 0x7960 -/* 031D58 80031158 AFBF0030 */ sw $ra, 0x30($sp) -/* 031D5C 8003115C AFB10018 */ sw $s1, 0x18($sp) -/* 031D60 80031160 AFB00014 */ sw $s0, 0x14($sp) -/* 031D64 80031164 0100A825 */ move $s5, $t0 -/* 031D68 80031168 0120A025 */ move $s4, $t1 -/* 031D6C 8003116C 01009825 */ move $s3, $t0 -/* 031D70 80031170 01209025 */ move $s2, $t1 -/* 031D74 80031174 10800035 */ beqz $a0, .L8003124C -/* 031D78 80031178 00E0B025 */ move $s6, $a3 -/* 031D7C 8003117C 000440C0 */ sll $t0, $a0, 3 -/* 031D80 80031180 00044880 */ sll $t1, $a0, 2 -/* 031D84 80031184 01092020 */ add $a0, $t0, $t1 -/* 031D88 80031188 00852020 */ add $a0, $a0, $a1 -.L8003118C: -/* 031D8C 8003118C C4A00000 */ lwc1 $f0, ($a1) -/* 031D90 80031190 C4A20008 */ lwc1 $f2, 8($a1) -/* 031D94 80031194 C4C40000 */ lwc1 $f4, ($a2) -/* 031D98 80031198 4600000D */ trunc.w.s $f0, $f0 -/* 031D9C 8003119C C4C60008 */ lwc1 $f6, 8($a2) -/* 031DA0 800311A0 4600108D */ trunc.w.s $f2, $f2 -/* 031DA4 800311A4 44080000 */ mfc1 $t0, $f0 -/* 031DA8 800311A8 4600210D */ trunc.w.s $f4, $f4 -/* 031DAC 800311AC 44091000 */ mfc1 $t1, $f2 -/* 031DB0 800311B0 0288082A */ slt $at, $s4, $t0 -/* 031DB4 800311B4 4600318D */ trunc.w.s $f6, $f6 -/* 031DB8 800311B8 440A2000 */ mfc1 $t2, $f4 -/* 031DBC 800311BC 440B3000 */ mfc1 $t3, $f6 -/* 031DC0 800311C0 50200003 */ beql $at, $zero, .L800311D0 -/* 031DC4 800311C4 0115082A */ slt $at, $t0, $s5 -/* 031DC8 800311C8 0100A025 */ move $s4, $t0 -/* 031DCC 800311CC 0115082A */ slt $at, $t0, $s5 -.L800311D0: -/* 031DD0 800311D0 50200003 */ beql $at, $zero, .L800311E0 -/* 031DD4 800311D4 0249082A */ slt $at, $s2, $t1 -/* 031DD8 800311D8 0100A825 */ move $s5, $t0 -/* 031DDC 800311DC 0249082A */ slt $at, $s2, $t1 -.L800311E0: -/* 031DE0 800311E0 50200003 */ beql $at, $zero, .L800311F0 -/* 031DE4 800311E4 0133082A */ slt $at, $t1, $s3 -/* 031DE8 800311E8 01209025 */ move $s2, $t1 -/* 031DEC 800311EC 0133082A */ slt $at, $t1, $s3 -.L800311F0: -/* 031DF0 800311F0 50200003 */ beql $at, $zero, .L80031200 -/* 031DF4 800311F4 028A082A */ slt $at, $s4, $t2 -/* 031DF8 800311F8 01209825 */ move $s3, $t1 -/* 031DFC 800311FC 028A082A */ slt $at, $s4, $t2 -.L80031200: -/* 031E00 80031200 50200003 */ beql $at, $zero, .L80031210 -/* 031E04 80031204 0155082A */ slt $at, $t2, $s5 -/* 031E08 80031208 0140A025 */ move $s4, $t2 -/* 031E0C 8003120C 0155082A */ slt $at, $t2, $s5 -.L80031210: -/* 031E10 80031210 50200003 */ beql $at, $zero, .L80031220 -/* 031E14 80031214 024B082A */ slt $at, $s2, $t3 -/* 031E18 80031218 0140A825 */ move $s5, $t2 -/* 031E1C 8003121C 024B082A */ slt $at, $s2, $t3 -.L80031220: -/* 031E20 80031220 50200003 */ beql $at, $zero, .L80031230 -/* 031E24 80031224 0173082A */ slt $at, $t3, $s3 -/* 031E28 80031228 01609025 */ move $s2, $t3 -/* 031E2C 8003122C 0173082A */ slt $at, $t3, $s3 -.L80031230: -/* 031E30 80031230 50200003 */ beql $at, $zero, .L80031240 -/* 031E34 80031234 24A5000C */ addiu $a1, $a1, 0xc -/* 031E38 80031238 01609825 */ move $s3, $t3 -/* 031E3C 8003123C 24A5000C */ addiu $a1, $a1, 0xc -.L80031240: -/* 031E40 80031240 00A4082A */ slt $at, $a1, $a0 -/* 031E44 80031244 1420FFD1 */ bnez $at, .L8003118C -/* 031E48 80031248 24C6000C */ addiu $a2, $a2, 0xc -.L8003124C: -/* 031E4C 8003124C 26B5FFEC */ addiu $s5, $s5, -0x14 -/* 031E50 80031250 26940014 */ addiu $s4, $s4, 0x14 -/* 031E54 80031254 0295082A */ slt $at, $s4, $s5 -/* 031E58 80031258 2673FFEC */ addiu $s3, $s3, -0x14 -/* 031E5C 8003125C 10200004 */ beqz $at, .L80031270 -/* 031E60 80031260 26520014 */ addiu $s2, $s2, 0x14 -/* 031E64 80031264 02A04025 */ move $t0, $s5 -/* 031E68 80031268 0280A825 */ move $s5, $s4 -/* 031E6C 8003126C 0100A025 */ move $s4, $t0 -.L80031270: -/* 031E70 80031270 0253082A */ slt $at, $s2, $s3 -/* 031E74 80031274 10200004 */ beqz $at, .L80031288 -/* 031E78 80031278 00000000 */ nop -/* 031E7C 8003127C 02604025 */ move $t0, $s3 -/* 031E80 80031280 02409825 */ move $s3, $s2 -/* 031E84 80031284 01009025 */ move $s2, $t0 -.L80031288: -/* 031E88 80031288 3C08800E */ lui $t0, %hi(gCurrentLevelModel) # $t0, 0x800e -/* 031E8C 8003128C 8D08C918 */ lw $t0, %lo(gCurrentLevelModel)($t0) -/* 031E90 80031290 23B10034 */ addi $s1, $sp, 0x34 -/* 031E94 80031294 23B00048 */ addi $s0, $sp, 0x48 -/* 031E98 80031298 850F001A */ lh $t7, 0x1a($t0) -/* 031E9C 8003129C 0000C025 */ move $t8, $zero -/* 031EA0 800312A0 8D040008 */ lw $a0, 8($t0) -/* 031EA4 800312A4 11E00023 */ beqz $t7, .L80031334 -/* 031EA8 800312A8 8D0E0004 */ lw $t6, 4($t0) -.L800312AC: -/* 031EAC 800312AC 84820006 */ lh $v0, 6($a0) -/* 031EB0 800312B0 84830000 */ lh $v1, ($a0) -/* 031EB4 800312B4 24420005 */ addiu $v0, $v0, 5 -/* 031EB8 800312B8 0055082A */ slt $at, $v0, $s5 -/* 031EBC 800312BC 14200019 */ bnez $at, .L80031324 -/* 031EC0 800312C0 2463FFFB */ addiu $v1, $v1, -5 -/* 031EC4 800312C4 0283082A */ slt $at, $s4, $v1 -/* 031EC8 800312C8 54200017 */ bnezl $at, .L80031328 -/* 031ECC 800312CC 25EFFFFF */ addiu $t7, $t7, -1 -/* 031ED0 800312D0 8488000A */ lh $t0, 0xa($a0) -/* 031ED4 800312D4 84890004 */ lh $t1, 4($a0) -/* 031ED8 800312D8 25080005 */ addiu $t0, $t0, 5 -/* 031EDC 800312DC 0113082A */ slt $at, $t0, $s3 -/* 031EE0 800312E0 14200010 */ bnez $at, .L80031324 -/* 031EE4 800312E4 2529FFFB */ addiu $t1, %lo(0xFFFDFFFB) # addiu $t1, $t1, -5 -/* 031EE8 800312E8 0249082A */ slt $at, $s2, $t1 -/* 031EEC 800312EC 5420000E */ bnezl $at, .L80031328 -/* 031EF0 800312F0 25EFFFFF */ addiu $t7, $t7, -1 -/* 031EF4 800312F4 02A02825 */ move $a1, $s5 -/* 031EF8 800312F8 02603025 */ move $a2, $s3 -/* 031EFC 800312FC 02803825 */ move $a3, $s4 -/* 031F00 80031300 0C00C537 */ jal func_800314DC -/* 031F04 80031304 AFB20010 */ sw $s2, 0x10($sp) -/* 031F08 80031308 A6220000 */ sh $v0, ($s1) -/* 031F0C 8003130C 27180001 */ addiu $t8, $t8, 1 -/* 031F10 80031310 2401000A */ li $at, 10 -/* 031F14 80031314 AE0E0000 */ sw $t6, ($s0) -/* 031F18 80031318 26310002 */ addiu $s1, $s1, 2 -/* 031F1C 8003131C 13010005 */ beq $t8, $at, .L80031334 -/* 031F20 80031320 26100004 */ addiu $s0, $s0, 4 -.L80031324: -/* 031F24 80031324 25EFFFFF */ addiu $t7, $t7, -1 -.L80031328: -/* 031F28 80031328 2484000C */ addiu $a0, $a0, 0xc -/* 031F2C 8003132C 15E0FFDF */ bnez $t7, .L800312AC -/* 031F30 80031330 25CE0044 */ addiu $t6, $t6, 0x44 -.L80031334: -/* 031F34 80031334 1300005C */ beqz $t8, .L800314A8 -/* 031F38 80031338 00009825 */ move $s3, $zero -/* 031F3C 8003133C 3C04800E */ lui $a0, %hi(gCurrentLevelModel) # $a0, 0x800e -/* 031F40 80031340 8C84C918 */ lw $a0, %lo(gCurrentLevelModel)($a0) -/* 031F44 80031344 3C128012 */ lui $s2, %hi(D_8011D370) # $s2, 0x8012 -/* 031F48 80031348 3C198012 */ lui $t9, %hi(D_8011D374) # $t9, 0x8012 -/* 031F4C 8003134C 23B10034 */ addi $s1, $sp, 0x34 -/* 031F50 80031350 0018C040 */ sll $t8, $t8, 1 -/* 031F54 80031354 8E52D370 */ lw $s2, %lo(D_8011D370)($s2) -/* 031F58 80031358 8F39D374 */ lw $t9, %lo(D_8011D374)($t9) -/* 031F5C 8003135C 23B00048 */ addi $s0, $sp, 0x48 -/* 031F60 80031360 0238C020 */ add $t8, $s1, $t8 -/* 031F64 80031364 8C840000 */ lw $a0, ($a0) -.L80031368: -/* 031F68 80031368 8E0F0000 */ lw $t7, ($s0) -/* 031F6C 8003136C 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff -/* 031F70 80031370 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 031F74 80031374 862E0000 */ lh $t6, ($s1) -/* 031F78 80031378 01E11024 */ and $v0, $t7, $at -/* 031F7C 8003137C AE420000 */ sw $v0, ($s2) -/* 031F80 80031380 85E80020 */ lh $t0, 0x20($t7) -/* 031F84 80031384 8DED000C */ lw $t5, 0xc($t7) -/* 031F88 80031388 26730001 */ addiu $s3, $s3, 1 -/* 031F8C 8003138C 000810C0 */ sll $v0, $t0, 3 -/* 031F90 80031390 00081880 */ sll $v1, $t0, 2 -/* 031F94 80031394 00435820 */ add $t3, $v0, $v1 -/* 031F98 80031398 26520004 */ addiu $s2, $s2, 4 -/* 031F9C 8003139C 27390001 */ addiu $t9, $t9, 1 -/* 031FA0 800313A0 016D5820 */ add $t3, $t3, $t5 -/* 031FA4 800313A4 25AC000C */ addiu $t4, $t5, 0xc -.L800313A8: -/* 031FA8 800313A8 8DA80008 */ lw $t0, 8($t5) -/* 031FAC 800313AC 31020200 */ andi $v0, $t0, 0x200 -/* 031FB0 800313B0 14400035 */ bnez $v0, .L80031488 -/* 031FB4 800313B4 2401FFFF */ li $at, -1 -/* 031FB8 800313B8 56C10005 */ bnel $s6, $at, .L800313D0 -/* 031FBC 800313BC 91A30000 */ lbu $v1, ($t5) -/* 031FC0 800313C0 31020100 */ andi $v0, $t0, 0x100 -/* 031FC4 800313C4 54400031 */ bnezl $v0, .L8003148C -/* 031FC8 800313C8 25AD000C */ addiu $t5, $t5, 0xc -/* 031FCC 800313CC 91A30000 */ lbu $v1, ($t5) -.L800313D0: -/* 031FD0 800313D0 240100FF */ li $at, 255 -/* 031FD4 800313D4 00005025 */ move $t2, $zero -/* 031FD8 800313D8 50610010 */ beql $v1, $at, .L8003141C -/* 031FDC 800313DC 85A80004 */ lh $t0, 4($t5) -/* 031FE0 800313E0 000318C0 */ sll $v1, $v1, 3 -/* 031FE4 800313E4 00641820 */ add $v1, $v1, $a0 -/* 031FE8 800313E8 806A0007 */ lb $t2, 7($v1) -/* 031FEC 800313EC 2401000B */ li $at, 11 -/* 031FF0 800313F0 11410025 */ beq $t2, $at, .L80031488 -/* 031FF4 800313F4 24010002 */ li $at, 2 -/* 031FF8 800313F8 16C10003 */ bne $s6, $at, .L80031408 -/* 031FFC 800313FC 24010011 */ li $at, 17 -/* 032000 80031400 51410022 */ beql $t2, $at, .L8003148C -/* 032004 80031404 25AD000C */ addiu $t5, $t5, 0xc -.L80031408: -/* 032008 80031408 12C00003 */ beqz $s6, .L80031418 -/* 03200C 8003140C 24010012 */ li $at, 18 -/* 032010 80031410 5141001E */ beql $t2, $at, .L8003148C -/* 032014 80031414 25AD000C */ addiu $t5, $t5, 0xc -.L80031418: -/* 032018 80031418 85A80004 */ lh $t0, 4($t5) -.L8003141C: -/* 03201C 8003141C 85890004 */ lh $t1, 4($t4) -/* 032020 80031420 8DE60010 */ lw $a2, 0x10($t7) -/* 032024 80031424 8DE70014 */ lw $a3, 0x14($t7) -/* 032028 80031428 00094840 */ sll $t1, $t1, 1 -/* 03202C 8003142C 00081040 */ sll $v0, $t0, 1 -/* 032030 80031430 000818C0 */ sll $v1, $t0, 3 -/* 032034 80031434 00C92820 */ add $a1, $a2, $t1 -/* 032038 80031438 00C23020 */ add $a2, $a2, $v0 -/* 03203C 8003143C 00E33820 */ add $a3, $a3, $v1 -.L80031440: -/* 032040 80031440 84C80000 */ lh $t0, ($a2) -/* 032044 80031444 010E4024 */ and $t0, $t0, $t6 -/* 032048 80031448 310200FF */ andi $v0, $t0, 0xff -/* 03204C 8003144C 1040000A */ beqz $v0, .L80031478 -/* 032050 80031450 3103FF00 */ andi $v1, $t0, 0xff00 -/* 032054 80031454 50600009 */ beql $v1, $zero, .L8003147C -/* 032058 80031458 24C60002 */ addiu $a2, $a2, 2 -/* 03205C 8003145C AE470000 */ sw $a3, ($s2) -/* 032060 80031460 26730001 */ addiu $s3, $s3, 1 -/* 032064 80031464 240101F4 */ li $at, 500 -/* 032068 80031468 A32A0000 */ sb $t2, ($t9) -/* 03206C 8003146C 26520004 */ addiu $s2, $s2, 4 -/* 032070 80031470 1261000D */ beq $s3, $at, .L800314A8 -/* 032074 80031474 27390001 */ addiu $t9, $t9, 1 -.L80031478: -/* 032078 80031478 24C60002 */ addiu $a2, $a2, 2 -.L8003147C: -/* 03207C 8003147C 00C5082A */ slt $at, $a2, $a1 -/* 032080 80031480 1420FFEF */ bnez $at, .L80031440 -/* 032084 80031484 24E70008 */ addiu $a3, $a3, 8 -.L80031488: -/* 032088 80031488 25AD000C */ addiu $t5, $t5, 0xc -.L8003148C: -/* 03208C 8003148C 01AB082A */ slt $at, $t5, $t3 -/* 032090 80031490 1420FFC5 */ bnez $at, .L800313A8 -/* 032094 80031494 258C000C */ addiu $t4, $t4, 0xc -/* 032098 80031498 26310002 */ addiu $s1, $s1, 2 -/* 03209C 8003149C 0238082A */ slt $at, $s1, $t8 -/* 0320A0 800314A0 1420FFB1 */ bnez $at, .L80031368 -/* 0320A4 800314A4 26100004 */ addiu $s0, $s0, 4 -.L800314A8: -/* 0320A8 800314A8 8FBF0030 */ lw $ra, 0x30($sp) -/* 0320AC 800314AC 3C018012 */ lui $at, %hi(D_8011D378) # $at, 0x8012 -/* 0320B0 800314B0 AC33D378 */ sw $s3, %lo(D_8011D378)($at) -/* 0320B4 800314B4 8FB6002C */ lw $s6, 0x2c($sp) -/* 0320B8 800314B8 8FB50028 */ lw $s5, 0x28($sp) -/* 0320BC 800314BC 8FB40024 */ lw $s4, 0x24($sp) -/* 0320C0 800314C0 8FB30020 */ lw $s3, 0x20($sp) -/* 0320C4 800314C4 8FB2001C */ lw $s2, 0x1c($sp) -/* 0320C8 800314C8 8FB10018 */ lw $s1, 0x18($sp) -/* 0320CC 800314CC 8FB00014 */ lw $s0, 0x14($sp) -/* 0320D0 800314D0 00001025 */ move $v0, $zero -/* 0320D4 800314D4 03E00008 */ jr $ra -/* 0320D8 800314D8 27BD0070 */ addiu $sp, $sp, 0x70 - diff --git a/asm/collision/func_800314DC.s b/asm/collision/func_800314DC.s deleted file mode 100644 index 91525026..00000000 --- a/asm/collision/func_800314DC.s +++ /dev/null @@ -1,90 +0,0 @@ -glabel func_800314DC -/* 0320DC 800314DC 10800046 */ beqz $a0, .L800315F8 -/* 0320E0 800314E0 00001025 */ move $v0, $zero -/* 0320E4 800314E4 84880000 */ lh $t0, ($a0) -/* 0320E8 800314E8 8FAD0010 */ lw $t5, 0x10($sp) -/* 0320EC 800314EC 84890004 */ lh $t1, 4($a0) -/* 0320F0 800314F0 00E8082A */ slt $at, $a3, $t0 -/* 0320F4 800314F4 848A0006 */ lh $t2, 6($a0) -/* 0320F8 800314F8 10200002 */ beqz $at, .L80031504 -/* 0320FC 800314FC 848B000A */ lh $t3, 0xa($a0) -/* 032100 80031500 01003825 */ move $a3, $t0 -.L80031504: -/* 032104 80031504 00A8082A */ slt $at, $a1, $t0 -/* 032108 80031508 50200003 */ beql $at, $zero, .L80031518 -/* 03210C 8003150C 01A9082A */ slt $at, $t5, $t1 -/* 032110 80031510 01002825 */ move $a1, $t0 -/* 032114 80031514 01A9082A */ slt $at, $t5, $t1 -.L80031518: -/* 032118 80031518 50200003 */ beql $at, $zero, .L80031528 -/* 03211C 8003151C 00C9082A */ slt $at, $a2, $t1 -/* 032120 80031520 01206825 */ move $t5, $t1 -/* 032124 80031524 00C9082A */ slt $at, $a2, $t1 -.L80031528: -/* 032128 80031528 50200003 */ beql $at, $zero, .L80031538 -/* 03212C 8003152C 0147082A */ slt $at, $t2, $a3 -/* 032130 80031530 01203025 */ move $a2, $t1 -/* 032134 80031534 0147082A */ slt $at, $t2, $a3 -.L80031538: -/* 032138 80031538 50200003 */ beql $at, $zero, .L80031548 -/* 03213C 8003153C 0145082A */ slt $at, $t2, $a1 -/* 032140 80031540 01403825 */ move $a3, $t2 -/* 032144 80031544 0145082A */ slt $at, $t2, $a1 -.L80031548: -/* 032148 80031548 50200003 */ beql $at, $zero, .L80031558 -/* 03214C 8003154C 016D082A */ slt $at, $t3, $t5 -/* 032150 80031550 01402825 */ move $a1, $t2 -/* 032154 80031554 016D082A */ slt $at, $t3, $t5 -.L80031558: -/* 032158 80031558 50200003 */ beql $at, $zero, .L80031568 -/* 03215C 8003155C 0166082A */ slt $at, $t3, $a2 -/* 032160 80031560 01606825 */ move $t5, $t3 -/* 032164 80031564 0166082A */ slt $at, $t3, $a2 -.L80031568: -/* 032168 80031568 50200003 */ beql $at, $zero, .L80031578 -/* 03216C 8003156C 01485022 */ sub $t2, $t2, $t0 -/* 032170 80031570 01603025 */ move $a2, $t3 -/* 032174 80031574 01485022 */ sub $t2, $t2, $t0 -.L80031578: -/* 032178 80031578 000A50C3 */ sra $t2, $t2, 3 -/* 03217C 8003157C 254A0001 */ addiu $t2, $t2, 1 -/* 032180 80031580 24030001 */ li $v1, 1 -/* 032184 80031584 01486020 */ add $t4, $t2, $t0 -.L80031588: -/* 032188 80031588 0185082A */ slt $at, $t4, $a1 -/* 03218C 8003158C 14200004 */ bnez $at, .L800315A0 -/* 032190 80031590 00E8082A */ slt $at, $a3, $t0 -/* 032194 80031594 54200003 */ bnezl $at, .L800315A4 -/* 032198 80031598 00031840 */ sll $v1, $v1, 1 -/* 03219C 8003159C 00431025 */ or $v0, $v0, $v1 -.L800315A0: -/* 0321A0 800315A0 00031840 */ sll $v1, $v1, 1 -.L800315A4: -/* 0321A4 800315A4 28610100 */ slti $at, $v1, 0x100 -/* 0321A8 800315A8 018A6020 */ add $t4, $t4, $t2 -/* 0321AC 800315AC 1420FFF6 */ bnez $at, .L80031588 -/* 0321B0 800315B0 010A4020 */ add $t0, $t0, $t2 -/* 0321B4 800315B4 01695022 */ sub $t2, $t3, $t1 -/* 0321B8 800315B8 000A50C3 */ sra $t2, $t2, 3 -/* 0321BC 800315BC 254A0001 */ addiu $t2, $t2, 1 -/* 0321C0 800315C0 01496020 */ add $t4, $t2, $t1 -/* 0321C4 800315C4 01204025 */ move $t0, $t1 -.L800315C8: -/* 0321C8 800315C8 0186082A */ slt $at, $t4, $a2 -/* 0321CC 800315CC 14200004 */ bnez $at, .L800315E0 -/* 0321D0 800315D0 01A8082A */ slt $at, $t5, $t0 -/* 0321D4 800315D4 54200003 */ bnezl $at, .L800315E4 -/* 0321D8 800315D8 00031840 */ sll $v1, $v1, 1 -/* 0321DC 800315DC 00431025 */ or $v0, $v0, $v1 -.L800315E0: -/* 0321E0 800315E0 00031840 */ sll $v1, $v1, 1 -.L800315E4: -/* 0321E4 800315E4 3C010001 */ lui $at, 1 -/* 0321E8 800315E8 0061082A */ slt $at, $v1, $at -/* 0321EC 800315EC 018A6020 */ add $t4, $t4, $t2 -/* 0321F0 800315F0 1420FFF5 */ bnez $at, .L800315C8 -/* 0321F4 800315F4 010A4020 */ add $t0, $t0, $t2 -.L800315F8: -/* 0321F8 800315F8 03E00008 */ jr $ra -/* 0321FC 800315FC 00000000 */ nop - diff --git a/asm/collision/func_80031600.s b/asm/collision/func_80031600.s deleted file mode 100644 index 0e58a121..00000000 --- a/asm/collision/func_80031600.s +++ /dev/null @@ -1,397 +0,0 @@ -.section .rodata - -glabel D_800E5F60 -.float -0.1 -glabel D_800E5F64 -.float -0.1 -glabel D_800E5F68 -.float 0.707 -glabel D_800E5F6C -.float 0.45 -glabel D_800E5F70 -.float -0.1 - -.section .text - -glabel func_80031600 -/* 032200 80031600 24080001 */ li $t0, 1 -/* 032204 80031604 A3A80001 */ sb $t0, 1($sp) -/* 032208 80031608 3C088012 */ lui $t0, %hi(D_8011D378) # $t0, 0x8012 -/* 03220C 8003160C 8D08D378 */ lw $t0, %lo(D_8011D378)($t0) -/* 032210 80031610 3C018012 */ lui $at, %hi(D_8011B0F0) # $at, 0x8012 -/* 032214 80031614 A3A00000 */ sb $zero, ($sp) -/* 032218 80031618 1100014C */ beqz $t0, .L80031B4C -/* 03221C 8003161C AC20B0F0 */ sw $zero, %lo(D_8011B0F0)($at) -.L80031620: -/* 032220 80031620 00007025 */ move $t6, $zero -.L80031624: -/* 032224 80031624 3C0D8012 */ lui $t5, %hi(D_8011D374) # $t5, 0x8012 -/* 032228 80031628 3C098012 */ lui $t1, %hi(D_8011D370) # $t1, 0x8012 -/* 03222C 8003162C 3C088012 */ lui $t0, %hi(D_8011D378) # $t0, 0x8012 -/* 032230 80031630 00007825 */ move $t7, $zero -/* 032234 80031634 8DADD374 */ lw $t5, %lo(D_8011D374)($t5) -/* 032238 80031638 8D29D370 */ lw $t1, %lo(D_8011D370)($t1) -/* 03223C 8003163C 8D08D378 */ lw $t0, %lo(D_8011D378)($t0) -.L80031640: -/* 032240 80031640 8D2A0000 */ lw $t2, ($t1) -/* 032244 80031644 59400006 */ blezl $t2, .L80031660 -/* 032248 80031648 95420000 */ lhu $v0, ($t2) -/* 03224C 8003164C 3C0B8000 */ lui $t3, 0x8000 -/* 032250 80031650 016A5825 */ or $t3, $t3, $t2 -/* 032254 80031654 0800C651 */ j .L80031944 -/* 032258 80031658 8D6B0018 */ lw $t3, 0x18($t3) - -/* 03225C 8003165C 95420000 */ lhu $v0, ($t2) -.L80031660: -/* 032260 80031660 C4A80000 */ lwc1 $f8, ($a1) -/* 032264 80031664 C4AA0004 */ lwc1 $f10, 4($a1) -/* 032268 80031668 00021100 */ sll $v0, $v0, 4 -/* 03226C 8003166C 004B1021 */ addu $v0, $v0, $t3 -/* 032270 80031670 C4400000 */ lwc1 $f0, ($v0) -/* 032274 80031674 C4420004 */ lwc1 $f2, 4($v0) -/* 032278 80031678 C4440008 */ lwc1 $f4, 8($v0) -/* 03227C 8003167C 46004202 */ mul.s $f8, $f8, $f0 -/* 032280 80031680 C4B00008 */ lwc1 $f16, 8($a1) -/* 032284 80031684 C446000C */ lwc1 $f6, 0xc($v0) -/* 032288 80031688 46025282 */ mul.s $f10, $f10, $f2 -/* 03228C 8003168C 3C01800E */ lui $at, %hi(D_800E5F60) # $at, 0x800e -/* 032290 80031690 46048402 */ mul.s $f16, $f16, $f4 -/* 032294 80031694 460A4200 */ add.s $f8, $f8, $f10 -/* 032298 80031698 46104200 */ add.s $f8, $f8, $f16 -/* 03229C 8003169C 46064480 */ add.s $f18, $f8, $f6 -/* 0322A0 800316A0 C4C80000 */ lwc1 $f8, ($a2) -/* 0322A4 800316A4 46089481 */ sub.s $f18, $f18, $f8 -/* 0322A8 800316A8 C4285F60 */ lwc1 $f8, %lo(D_800E5F60)($at) -/* 0322AC 800316AC 46089034 */ c.olt.s $f18, $f8 -/* 0322B0 800316B0 450200A5 */ bc1fl .L80031948 -/* 0322B4 800316B4 2508FFFF */ addiu $t0, $t0, -1 -/* 0322B8 800316B8 C4880000 */ lwc1 $f8, ($a0) -/* 0322BC 800316BC C48A0004 */ lwc1 $f10, 4($a0) -/* 0322C0 800316C0 C4900008 */ lwc1 $f16, 8($a0) -/* 0322C4 800316C4 46004202 */ mul.s $f8, $f8, $f0 -/* 0322C8 800316C8 3C01800E */ lui $at, %hi(D_800E5F64) # $at, 0x800e -/* 0322CC 800316CC 46025282 */ mul.s $f10, $f10, $f2 -/* 0322D0 800316D0 460A4200 */ add.s $f8, $f8, $f10 -/* 0322D4 800316D4 46048402 */ mul.s $f16, $f16, $f4 -/* 0322D8 800316D8 46104200 */ add.s $f8, $f8, $f16 -/* 0322DC 800316DC 46064400 */ add.s $f16, $f8, $f6 -/* 0322E0 800316E0 C4C80000 */ lwc1 $f8, ($a2) -/* 0322E4 800316E4 46088401 */ sub.s $f16, $f16, $f8 -/* 0322E8 800316E8 C4285F64 */ lwc1 $f8, %lo(D_800E5F64)($at) -/* 0322EC 800316EC 46088034 */ c.olt.s $f16, $f8 -/* 0322F0 800316F0 45030095 */ bc1tl .L80031948 -/* 0322F4 800316F4 2508FFFF */ addiu $t0, $t0, -1 -/* 0322F8 800316F8 C4880000 */ lwc1 $f8, ($a0) -/* 0322FC 800316FC C4AA0000 */ lwc1 $f10, ($a1) -/* 032300 80031700 46085001 */ sub.s $f0, $f10, $f8 -/* 032304 80031704 C4880004 */ lwc1 $f8, 4($a0) -/* 032308 80031708 C4AA0004 */ lwc1 $f10, 4($a1) -/* 03230C 8003170C 46085081 */ sub.s $f2, $f10, $f8 -/* 032310 80031710 C4880008 */ lwc1 $f8, 8($a0) -/* 032314 80031714 C4AA0008 */ lwc1 $f10, 8($a1) -/* 032318 80031718 46085101 */ sub.s $f4, $f10, $f8 -/* 03231C 8003171C 44805000 */ mtc1 $zero, $f10 -/* 032320 80031720 46128201 */ sub.s $f8, $f16, $f18 -/* 032324 80031724 460A4033 */ c.ueq.s $f8, $f10 -/* 032328 80031728 45010002 */ bc1t .L80031734 -/* 03232C 8003172C 00000000 */ nop -/* 032330 80031730 46088283 */ div.s $f10, $f16, $f8 -.L80031734: -/* 032334 80031734 460A0002 */ mul.s $f0, $f0, $f10 -/* 032338 80031738 C4860000 */ lwc1 $f6, ($a0) -/* 03233C 8003173C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 032340 80031740 460A1082 */ mul.s $f2, $f2, $f10 -/* 032344 80031744 240C0003 */ li $t4, 3 -/* 032348 80031748 460A2102 */ mul.s $f4, $f4, $f10 -/* 03234C 8003174C 44815000 */ mtc1 $at, $f10 -/* 032350 80031750 46003000 */ add.s $f0, $f6, $f0 -/* 032354 80031754 C4860004 */ lwc1 $f6, 4($a0) -/* 032358 80031758 46023080 */ add.s $f2, $f6, $f2 -/* 03235C 8003175C C4860008 */ lwc1 $f6, 8($a0) -/* 032360 80031760 46043100 */ add.s $f4, $f6, $f4 -.L80031764: -/* 032364 80031764 95430002 */ lhu $v1, 2($t2) -/* 032368 80031768 0000C025 */ move $t8, $zero -/* 03236C 8003176C 30798000 */ andi $t9, $v1, 0x8000 -/* 032370 80031770 53200004 */ beql $t9, $zero, .L80031784 -/* 032374 80031774 00031900 */ sll $v1, $v1, 4 -/* 032378 80031778 30637FFF */ andi $v1, $v1, 0x7fff -/* 03237C 8003177C 24180001 */ li $t8, 1 -/* 032380 80031780 00031900 */ sll $v1, $v1, 4 -.L80031784: -/* 032384 80031784 006B1821 */ addu $v1, $v1, $t3 -/* 032388 80031788 C4660000 */ lwc1 $f6, ($v1) -/* 03238C 8003178C C4680004 */ lwc1 $f8, 4($v1) -/* 032390 80031790 46060182 */ mul.s $f6, $f0, $f6 -/* 032394 80031794 00000000 */ nop -/* 032398 80031798 46081202 */ mul.s $f8, $f2, $f8 -/* 03239C 8003179C 46083180 */ add.s $f6, $f6, $f8 -/* 0323A0 800317A0 C4680008 */ lwc1 $f8, 8($v1) -/* 0323A4 800317A4 46082202 */ mul.s $f8, $f4, $f8 -/* 0323A8 800317A8 46083180 */ add.s $f6, $f6, $f8 -/* 0323AC 800317AC C468000C */ lwc1 $f8, 0xc($v1) -/* 0323B0 800317B0 13000002 */ beqz $t8, .L800317BC -/* 0323B4 800317B4 46083180 */ add.s $f6, $f6, $f8 -/* 0323B8 800317B8 46003187 */ neg.s $f6, $f6 -.L800317BC: -/* 0323BC 800317BC 460A3036 */ c.ole.s $f6, $f10 -/* 0323C0 800317C0 45020061 */ bc1fl .L80031948 -/* 0323C4 800317C4 2508FFFF */ addiu $t0, $t0, -1 -/* 0323C8 800317C8 258CFFFF */ addiu $t4, $t4, -1 -/* 0323CC 800317CC 1580FFE5 */ bnez $t4, .L80031764 -/* 0323D0 800317D0 254A0002 */ addiu $t2, $t2, 2 -/* 0323D4 800317D4 3C01800E */ lui $at, %hi(D_800E5F68) # $at, 0x800e -/* 0323D8 800317D8 C4205F68 */ lwc1 $f0, %lo(D_800E5F68)($at) -/* 0323DC 800317DC C4420004 */ lwc1 $f2, 4($v0) -/* 0323E0 800317E0 C4440008 */ lwc1 $f4, 8($v0) -/* 0323E4 800317E4 46001035 */ c.ult.s $f2, $f0 -/* 0323E8 800317E8 C4400000 */ lwc1 $f0, ($v0) -/* 0323EC 800317EC 45010016 */ bc1t .L80031848 -/* 0323F0 800317F0 00000000 */ nop -/* 0323F4 800317F4 81A30000 */ lb $v1, ($t5) -/* 0323F8 800317F8 24010004 */ li $at, 4 -/* 0323FC 800317FC 10610012 */ beq $v1, $at, .L80031848 -/* 032400 80031800 00000000 */ nop -/* 032404 80031804 3C038012 */ lui $v1, %hi(D_8011B0F4) # $v1, 0x8012 -/* 032408 80031808 8C63B0F4 */ lw $v1, %lo(D_8011B0F4)($v1) -/* 03240C 8003180C 1460000E */ bnez $v1, .L80031848 -/* 032410 80031810 00000000 */ nop -/* 032414 80031814 C4A60000 */ lwc1 $f6, ($a1) -/* 032418 80031818 46003002 */ mul.s $f0, $f6, $f0 -/* 03241C 8003181C C4A60008 */ lwc1 $f6, 8($a1) -/* 032420 80031820 46043102 */ mul.s $f4, $f6, $f4 -/* 032424 80031824 C446000C */ lwc1 $f6, 0xc($v0) -/* 032428 80031828 46040000 */ add.s $f0, $f0, $f4 -/* 03242C 8003182C C4A40008 */ lwc1 $f4, 8($a1) -/* 032430 80031830 46060000 */ add.s $f0, $f0, $f6 -/* 032434 80031834 C4C60000 */ lwc1 $f6, ($a2) -/* 032438 80031838 46003001 */ sub.s $f0, $f6, $f0 -/* 03243C 8003183C 46020083 */ div.s $f2, $f0, $f2 -/* 032440 80031840 0800C632 */ j .L800318C8 -/* 032444 80031844 C4A00000 */ lwc1 $f0, ($a1) - -.L80031848: -/* 032448 80031848 3C01800E */ lui $at, %hi(D_800E5F6C) # $at, 0x800e -/* 03244C 8003184C C42A5F6C */ lwc1 $f10, %lo(D_800E5F6C)($at) -/* 032450 80031850 460A1034 */ c.olt.s $f2, $f10 -/* 032454 80031854 45000012 */ bc1f .L800318A0 -/* 032458 80031858 00000000 */ nop -/* 03245C 8003185C 3C038012 */ lui $v1, %hi(D_8011B0F4) # $v1, 0x8012 -/* 032460 80031860 8C63B0F4 */ lw $v1, %lo(D_8011B0F4)($v1) -/* 032464 80031864 24010002 */ li $at, 2 -/* 032468 80031868 1061000D */ beq $v1, $at, .L800318A0 -/* 03246C 8003186C 00000000 */ nop -/* 032470 80031870 24030001 */ li $v1, 1 -/* 032474 80031874 3C018012 */ lui $at, %hi(D_8011B0F0) # $at, 0x8012 -/* 032478 80031878 AC23B0F0 */ sw $v1, %lo(D_8011B0F0)($at) -/* 03247C 8003187C C4460000 */ lwc1 $f6, ($v0) -/* 032480 80031880 3C018012 */ lui $at, %hi(D_8011B0E4) # $at, 0x8012 -/* 032484 80031884 E426B0E4 */ swc1 $f6, %lo(D_8011B0E4)($at) -/* 032488 80031888 C4460004 */ lwc1 $f6, 4($v0) -/* 03248C 8003188C 3C018012 */ lui $at, %hi(D_8011B0E8) # $at, 0x8012 -/* 032490 80031890 E426B0E8 */ swc1 $f6, %lo(D_8011B0E8)($at) -/* 032494 80031894 C4460008 */ lwc1 $f6, 8($v0) -/* 032498 80031898 3C018012 */ lui $at, %hi(D_8011B0EC) # $at, 0x8012 -/* 03249C 8003189C E426B0EC */ swc1 $f6, %lo(D_8011B0EC)($at) -.L800318A0: -/* 0324A0 800318A0 46120002 */ mul.s $f0, $f0, $f18 -/* 0324A4 800318A4 C4A60000 */ lwc1 $f6, ($a1) -/* 0324A8 800318A8 46121082 */ mul.s $f2, $f2, $f18 -/* 0324AC 800318AC 00000000 */ nop -/* 0324B0 800318B0 46122102 */ mul.s $f4, $f4, $f18 -/* 0324B4 800318B4 46003001 */ sub.s $f0, $f6, $f0 -/* 0324B8 800318B8 C4A60004 */ lwc1 $f6, 4($a1) -/* 0324BC 800318BC 46023081 */ sub.s $f2, $f6, $f2 -/* 0324C0 800318C0 C4A60008 */ lwc1 $f6, 8($a1) -/* 0324C4 800318C4 46043101 */ sub.s $f4, $f6, $f4 - -.L800318C8: -/* 0324C8 800318C8 3C038012 */ lui $v1, %hi(D_8011B0F0) # $v1, 0x8012 -/* 0324CC 800318CC 8C63B0F0 */ lw $v1, %lo(D_8011B0F0)($v1) -/* 0324D0 800318D0 5460000B */ bnezl $v1, .L80031900 -/* 0324D4 800318D4 81AC0000 */ lb $t4, ($t5) -/* 0324D8 800318D8 C4460000 */ lwc1 $f6, ($v0) -/* 0324DC 800318DC 3C018012 */ lui $at, %hi(D_8011B0E4) # $at, 0x8012 -/* 0324E0 800318E0 E426B0E4 */ swc1 $f6, %lo(D_8011B0E4)($at) -/* 0324E4 800318E4 C4460004 */ lwc1 $f6, 4($v0) -/* 0324E8 800318E8 3C018012 */ lui $at, %hi(D_8011B0E8) # $at, 0x8012 -/* 0324EC 800318EC E426B0E8 */ swc1 $f6, %lo(D_8011B0E8)($at) -/* 0324F0 800318F0 C4460008 */ lwc1 $f6, 8($v0) -/* 0324F4 800318F4 3C018012 */ lui $at, %hi(D_8011B0EC) # $at, 0x8012 -/* 0324F8 800318F8 E426B0EC */ swc1 $f6, %lo(D_8011B0EC)($at) -/* 0324FC 800318FC 81AC0000 */ lb $t4, ($t5) -.L80031900: -/* 032500 80031900 80E20000 */ lb $v0, ($a3) -/* 032504 80031904 004C082A */ slt $at, $v0, $t4 -/* 032508 80031908 50200003 */ beql $at, $zero, .L80031918 -/* 03250C 8003190C 25CE0001 */ addiu $t6, $t6, 1 -/* 032510 80031910 A0EC0000 */ sb $t4, ($a3) -/* 032514 80031914 25CE0001 */ addiu $t6, $t6, 1 -.L80031918: -/* 032518 80031918 29C1000B */ slti $at, $t6, 0xb -/* 03251C 8003191C 14200005 */ bnez $at, .L80031934 -/* 032520 80031920 240F0001 */ li $t7, 1 -/* 032524 80031924 00007825 */ move $t7, $zero -/* 032528 80031928 C4800000 */ lwc1 $f0, ($a0) -/* 03252C 8003192C C4820004 */ lwc1 $f2, 4($a0) -/* 032530 80031930 C4840008 */ lwc1 $f4, 8($a0) -.L80031934: -/* 032534 80031934 E4A00000 */ swc1 $f0, ($a1) -/* 032538 80031938 E4A20004 */ swc1 $f2, 4($a1) -/* 03253C 8003193C 0800C655 */ j .L80031954 -/* 032540 80031940 E4A40008 */ swc1 $f4, 8($a1) -.L80031944: -/* 032544 80031944 2508FFFF */ addiu $t0, $t0, -1 -.L80031948: -/* 032548 80031948 25AD0001 */ addiu $t5, $t5, 1 -/* 03254C 8003194C 1500FF3C */ bnez $t0, .L80031640 -/* 032550 80031950 25290004 */ addiu $t1, $t1, 4 -.L80031954: -/* 032554 80031954 15E0FF33 */ bnez $t7, .L80031624 -/* 032558 80031958 00000000 */ nop -/* 03255C 8003195C 11C00008 */ beqz $t6, .L80031980 -/* 032560 80031960 93AA0001 */ lbu $t2, 1($sp) -/* 032564 80031964 8FA90014 */ lw $t1, 0x14($sp) -/* 032568 80031968 8D280000 */ lw $t0, ($t1) -/* 03256C 8003196C 25080001 */ addiu $t0, $t0, 1 -/* 032570 80031970 AD280000 */ sw $t0, ($t1) -/* 032574 80031974 93A80000 */ lbu $t0, ($sp) -/* 032578 80031978 010A4025 */ or $t0, $t0, $t2 -/* 03257C 8003197C A3A80000 */ sb $t0, ($sp) -.L80031980: -/* 032580 80031980 000A5040 */ sll $t2, $t2, 1 -/* 032584 80031984 A3AA0001 */ sb $t2, 1($sp) -/* 032588 80031988 00007025 */ move $t6, $zero -.L8003198C: -/* 03258C 8003198C 3C098012 */ lui $t1, %hi(D_8011D370) # $t1, 0x8012 -/* 032590 80031990 3C088012 */ lui $t0, %hi(D_8011D378) # $t0, 0x8012 -/* 032594 80031994 00007825 */ move $t7, $zero -/* 032598 80031998 8D29D370 */ lw $t1, %lo(D_8011D370)($t1) -/* 03259C 8003199C 8D08D378 */ lw $t0, %lo(D_8011D378)($t0) -.L800319A0: -/* 0325A0 800319A0 8D2A0000 */ lw $t2, ($t1) -/* 0325A4 800319A4 59400006 */ blezl $t2, .L800319C0 -/* 0325A8 800319A8 95420000 */ lhu $v0, ($t2) -/* 0325AC 800319AC 3C0B8000 */ lui $t3, 0x8000 -/* 0325B0 800319B0 016A5825 */ or $t3, $t3, $t2 -/* 0325B4 800319B4 0800C6C6 */ j .L80031B18 -/* 0325B8 800319B8 8D6B0018 */ lw $t3, 0x18($t3) - -/* 0325BC 800319BC 95420000 */ lhu $v0, ($t2) -.L800319C0: -/* 0325C0 800319C0 C4A80000 */ lwc1 $f8, ($a1) -/* 0325C4 800319C4 C4AA0004 */ lwc1 $f10, 4($a1) -/* 0325C8 800319C8 00021100 */ sll $v0, $v0, 4 -/* 0325CC 800319CC 004B1021 */ addu $v0, $v0, $t3 -/* 0325D0 800319D0 C4400000 */ lwc1 $f0, ($v0) -/* 0325D4 800319D4 C4420004 */ lwc1 $f2, 4($v0) -/* 0325D8 800319D8 C4440008 */ lwc1 $f4, 8($v0) -/* 0325DC 800319DC 46004202 */ mul.s $f8, $f8, $f0 -/* 0325E0 800319E0 C4B00008 */ lwc1 $f16, 8($a1) -/* 0325E4 800319E4 C446000C */ lwc1 $f6, 0xc($v0) -/* 0325E8 800319E8 46025282 */ mul.s $f10, $f10, $f2 -/* 0325EC 800319EC 3C01800E */ lui $at, %hi(D_800E5F70) # $at, 0x800e -/* 0325F0 800319F0 46048402 */ mul.s $f16, $f16, $f4 -/* 0325F4 800319F4 460A4200 */ add.s $f8, $f8, $f10 -/* 0325F8 800319F8 46104200 */ add.s $f8, $f8, $f16 -/* 0325FC 800319FC 46064480 */ add.s $f18, $f8, $f6 -/* 032600 80031A00 C4C80000 */ lwc1 $f8, ($a2) -/* 032604 80031A04 46089481 */ sub.s $f18, $f18, $f8 -/* 032608 80031A08 C4285F70 */ lwc1 $f8, %lo(D_800E5F70)($at) -/* 03260C 80031A0C 46089034 */ c.olt.s $f18, $f8 -/* 032610 80031A10 45000041 */ bc1f .L80031B18 -/* 032614 80031A14 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 032618 80031A18 44815000 */ mtc1 $at, $f10 -/* 03261C 80031A1C C4C80000 */ lwc1 $f8, ($a2) -/* 032620 80031A20 460A4200 */ add.s $f8, $f8, $f10 -/* 032624 80031A24 46004207 */ neg.s $f8, $f8 -/* 032628 80031A28 46089036 */ c.ole.s $f18, $f8 -/* 03262C 80031A2C 4501003A */ bc1t .L80031B18 -/* 032630 80031A30 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 032634 80031A34 44815000 */ mtc1 $at, $f10 -/* 032638 80031A38 C4A00000 */ lwc1 $f0, ($a1) -/* 03263C 80031A3C C4A20004 */ lwc1 $f2, 4($a1) -/* 032640 80031A40 C4A40008 */ lwc1 $f4, 8($a1) -/* 032644 80031A44 240C0003 */ li $t4, 3 -.L80031A48: -/* 032648 80031A48 95430002 */ lhu $v1, 2($t2) -/* 03264C 80031A4C 0000C025 */ move $t8, $zero -/* 032650 80031A50 30798000 */ andi $t9, $v1, 0x8000 -/* 032654 80031A54 53200004 */ beql $t9, $zero, .L80031A68 -/* 032658 80031A58 00031900 */ sll $v1, $v1, 4 -/* 03265C 80031A5C 30637FFF */ andi $v1, $v1, 0x7fff -/* 032660 80031A60 24180001 */ li $t8, 1 -/* 032664 80031A64 00031900 */ sll $v1, $v1, 4 -.L80031A68: -/* 032668 80031A68 006B1821 */ addu $v1, $v1, $t3 -/* 03266C 80031A6C C4660000 */ lwc1 $f6, ($v1) -/* 032670 80031A70 C4680004 */ lwc1 $f8, 4($v1) -/* 032674 80031A74 46060182 */ mul.s $f6, $f0, $f6 -/* 032678 80031A78 00000000 */ nop -/* 03267C 80031A7C 46081202 */ mul.s $f8, $f2, $f8 -/* 032680 80031A80 46083180 */ add.s $f6, $f6, $f8 -/* 032684 80031A84 C4680008 */ lwc1 $f8, 8($v1) -/* 032688 80031A88 46082202 */ mul.s $f8, $f4, $f8 -/* 03268C 80031A8C 46083180 */ add.s $f6, $f6, $f8 -/* 032690 80031A90 C468000C */ lwc1 $f8, 0xc($v1) -/* 032694 80031A94 13000002 */ beqz $t8, .L80031AA0 -/* 032698 80031A98 46083180 */ add.s $f6, $f6, $f8 -/* 03269C 80031A9C 46003187 */ neg.s $f6, $f6 -.L80031AA0: -/* 0326A0 80031AA0 460A3036 */ c.ole.s $f6, $f10 -/* 0326A4 80031AA4 4502001D */ bc1fl .L80031B1C -/* 0326A8 80031AA8 2508FFFF */ addiu $t0, $t0, -1 -/* 0326AC 80031AAC 258CFFFF */ addiu $t4, $t4, -1 -/* 0326B0 80031AB0 1580FFE5 */ bnez $t4, .L80031A48 -/* 0326B4 80031AB4 254A0002 */ addiu $t2, $t2, 2 -/* 0326B8 80031AB8 C4400000 */ lwc1 $f0, ($v0) -/* 0326BC 80031ABC C4420004 */ lwc1 $f2, 4($v0) -/* 0326C0 80031AC0 C4A60000 */ lwc1 $f6, ($a1) -/* 0326C4 80031AC4 46120002 */ mul.s $f0, $f0, $f18 -/* 0326C8 80031AC8 C4440008 */ lwc1 $f4, 8($v0) -/* 0326CC 80031ACC 25CE0001 */ addiu $t6, $t6, 1 -/* 0326D0 80031AD0 46121082 */ mul.s $f2, $f2, $f18 -/* 0326D4 80031AD4 29C1000B */ slti $at, $t6, 0xb -/* 0326D8 80031AD8 240F0001 */ li $t7, 1 -/* 0326DC 80031ADC 46122102 */ mul.s $f4, $f4, $f18 -/* 0326E0 80031AE0 46003001 */ sub.s $f0, $f6, $f0 -/* 0326E4 80031AE4 C4A60004 */ lwc1 $f6, 4($a1) -/* 0326E8 80031AE8 46023081 */ sub.s $f2, $f6, $f2 -/* 0326EC 80031AEC C4A60008 */ lwc1 $f6, 8($a1) -/* 0326F0 80031AF0 14200005 */ bnez $at, .L80031B08 -/* 0326F4 80031AF4 46043101 */ sub.s $f4, $f6, $f4 -/* 0326F8 80031AF8 00007825 */ move $t7, $zero -/* 0326FC 80031AFC C4800000 */ lwc1 $f0, ($a0) -/* 032700 80031B00 C4820004 */ lwc1 $f2, 4($a0) -/* 032704 80031B04 C4840008 */ lwc1 $f4, 8($a0) -.L80031B08: -/* 032708 80031B08 E4A00000 */ swc1 $f0, ($a1) -/* 03270C 80031B0C E4A20004 */ swc1 $f2, 4($a1) -/* 032710 80031B10 0800C6C9 */ j .L80031B24 -/* 032714 80031B14 E4A40008 */ swc1 $f4, 8($a1) -.L80031B18: -/* 032718 80031B18 2508FFFF */ addiu $t0, $t0, -1 -.L80031B1C: -/* 03271C 80031B1C 1500FFA0 */ bnez $t0, .L800319A0 -/* 032720 80031B20 25290004 */ addiu $t1, $t1, 4 -.L80031B24: -/* 032724 80031B24 15E0FF99 */ bnez $t7, .L8003198C -/* 032728 80031B28 00000000 */ nop -/* 03272C 80031B2C 8FA80010 */ lw $t0, 0x10($sp) -/* 032730 80031B30 2484000C */ addiu $a0, $a0, 0xc -/* 032734 80031B34 24A5000C */ addiu $a1, $a1, 0xc -/* 032738 80031B38 2508FFFF */ addiu $t0, $t0, -1 -/* 03273C 80031B3C 24C60004 */ addiu $a2, $a2, 4 -/* 032740 80031B40 24E70001 */ addiu $a3, $a3, 1 -/* 032744 80031B44 1500FEB6 */ bnez $t0, .L80031620 -/* 032748 80031B48 AFA80010 */ sw $t0, 0x10($sp) -.L80031B4C: -/* 03274C 80031B4C 03E00008 */ jr $ra -/* 032750 80031B50 83A20000 */ lb $v0, ($sp) - -/* 032754 80031B54 00000000 */ nop -/* 032758 80031B58 00000000 */ nop -/* 03275C 80031B5C 00000000 */ nop - - - diff --git a/asm/entrypoint.s b/asm/entrypoint.s deleted file mode 100644 index b1fd2497..00000000 --- a/asm/entrypoint.s +++ /dev/null @@ -1,35 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80000400 */ - -.include "macros.inc" - -.set noat # allow manual use of $at -.set noreorder # dont insert nops after branches -.set gp=64 # 64-bit instructions are used - -.section .text - -glabel entrypoint -.ent entrypoint -/* 001000 80000400 3C08800F */ lui $t0, %hi(gAudioHeapStack) # $t0, 0x800f -/* 001004 80000404 3C090004 */ lui $t1, %hi(__BSS_SECTION_SIZE) # lui $t1, 4 -/* 001008 80000408 2508BF60 */ addiu $t0, %lo(gAudioHeapStack) # addiu $t0, $t0, -0x40a0 -/* 00100C 8000040C 35291490 */ ori $t1, %lo(__BSS_SECTION_SIZE) # ori $t1, $t1, 0x1490 -.L80000410: -/* 001010 80000410 2129FFF8 */ addi $t1, $t1, -8 -/* 001014 80000414 AD000000 */ sw $zero, ($t0) -/* 001018 80000418 AD000004 */ sw $zero, 4($t0) -/* 00101C 8000041C 1520FFFC */ bnez $t1, .L80000410 -/* 001020 80000420 21080008 */ addi $t0, $t0, 8 -/* 001024 80000424 3C0A8006 */ lui $t2, %hi(mainproc) # $t2, 0x8006 -/* 001028 80000428 3C1D8012 */ lui $sp, %hi(gCameraSegment) # $sp, 0x8012 -/* 00102C 8000042C 254A5D40 */ addiu $t2, %lo(mainproc) # addiu $t2, $t2, 0x5d40 -/* 001030 80000430 01400008 */ jr $t2 -/* 001034 80000434 27BD0AC0 */ addiu $sp, %lo(gCameraSegment) # addiu $sp, $sp, 0xac0 -/* 001038 80000438 00000000 */ nop -/* 00103C 8000043C 00000000 */ nop -/* 001040 80000440 00000000 */ nop -/* 001044 80000444 00000000 */ nop -/* 001048 80000448 00000000 */ nop -/* 00104C 8000044C 00000000 */ nop -.end entrypoint diff --git a/asm/get_stack_pointer.s b/asm/get_stack_pointer.s deleted file mode 100644 index 0017b303..00000000 --- a/asm/get_stack_pointer.s +++ /dev/null @@ -1,15 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800B7D10 */ - -.section .text - -.include "macros.inc" - -.set noat # allow manual use of $at -.set noreorder # dont insert nops after branches -.set gp=64 # 64-bit instructions are used - -glabel stack_pointer -jr $ra - move $v0, $sp - \ No newline at end of file diff --git a/asm/gzip.s b/asm/gzip.s deleted file mode 100644 index 9c87adbb..00000000 --- a/asm/gzip.s +++ /dev/null @@ -1,40 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C68C0 */ - -.include "macros.inc" - -.set noat # allow manual use of $at -.set noreorder # dont insert nops after branches -.set gp=64 # 64-bit instructions are used - -.section .text - -.include "asm/gzip/gzip_inflate_block.s" -.include "asm/gzip/gzip_inflate_dynamic.s" -.include "asm/gzip/gzip_inflate_fixed.s" -.include "asm/gzip/gzip_inflate_stored.s" -.include "asm/gzip/gzip_inflate_codes.s" - -.section .rodata - -glabel gzip_border -.byte 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 - -glabel gzip_cplens -.half 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 - -glabel gzip_cplext -.byte 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 99, 99 - -glabel gzip_cpdist -.half 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 - -glabel gzip_cpdext -.byte 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13 - -glabel gzip_mask_bits -.half 0x0000, 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff, 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff - -# This might just be padding. -glabel D_800E94AE -.half 0x0000 diff --git a/asm/gzip/gzip_inflate_block.s b/asm/gzip/gzip_inflate_block.s deleted file mode 100644 index ca40321a..00000000 --- a/asm/gzip/gzip_inflate_block.s +++ /dev/null @@ -1,74 +0,0 @@ -glabel gzip_inflate_block /* Official name: inflate_block */ -/* 0C74C0 800C68C0 3C0B8013 */ lui $t3, %hi(gzip_num_bits) # $t3, 0x8013 -/* 0C74C4 800C68C4 8D6BAAD4 */ lw $t3, %lo(gzip_num_bits)($t3) -/* 0C74C8 800C68C8 3C018013 */ lui $at, %hi(gHuftTablePos) # $at, 0x8013 -/* 0C74CC 800C68CC AC20AAD8 */ sw $zero, %lo(gHuftTablePos)($at) -/* 0C74D0 800C68D0 24080001 */ li $t0, 1 -/* 0C74D4 800C68D4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C74D8 800C68D8 3C0C800E */ lui $t4, %hi(gzip_inflate_input) # $t4, 0x800e -/* 0C74DC 800C68DC 3C0A8013 */ lui $t2, %hi(gzip_bit_buffer) # $t2, 0x8013 -/* 0C74E0 800C68E0 0168082B */ sltu $at, $t3, $t0 -/* 0C74E4 800C68E4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0C74E8 800C68E8 AFB00018 */ sw $s0, 0x18($sp) -/* 0C74EC 800C68EC 8D8C3768 */ lw $t4, %lo(gzip_inflate_input)($t4) -/* 0C74F0 800C68F0 10200008 */ beqz $at, .L800C6914 -/* 0C74F4 800C68F4 8D4AAAD0 */ lw $t2, %lo(gzip_bit_buffer)($t2) -.L800C68F8: -/* 0C74F8 800C68F8 91820000 */ lbu $v0, ($t4) -/* 0C74FC 800C68FC 258C0001 */ addiu $t4, $t4, 1 -/* 0C7500 800C6900 01621004 */ sllv $v0, $v0, $t3 -/* 0C7504 800C6904 256B0008 */ addiu $t3, $t3, 8 -/* 0C7508 800C6908 0168082A */ slt $at, $t3, $t0 -/* 0C750C 800C690C 1420FFFA */ bnez $at, .L800C68F8 -/* 0C7510 800C6910 01425025 */ or $t2, $t2, $v0 -.L800C6914: -/* 0C7514 800C6914 31500001 */ andi $s0, $t2, 1 -/* 0C7518 800C6918 010A5006 */ srlv $t2, $t2, $t0 -/* 0C751C 800C691C 01685822 */ sub $t3, $t3, $t0 -/* 0C7520 800C6920 24080002 */ li $t0, 2 -/* 0C7524 800C6924 0168082B */ sltu $at, $t3, $t0 -/* 0C7528 800C6928 10200008 */ beqz $at, .L800C694C -/* 0C752C 800C692C 00000000 */ nop -.L800C6930: -/* 0C7530 800C6930 91820000 */ lbu $v0, ($t4) -/* 0C7534 800C6934 258C0001 */ addiu $t4, $t4, 1 -/* 0C7538 800C6938 01621004 */ sllv $v0, $v0, $t3 -/* 0C753C 800C693C 256B0008 */ addiu $t3, $t3, 8 -/* 0C7540 800C6940 0168082A */ slt $at, $t3, $t0 -/* 0C7544 800C6944 1420FFFA */ bnez $at, .L800C6930 -/* 0C7548 800C6948 01425025 */ or $t2, $t2, $v0 -.L800C694C: -/* 0C754C 800C694C 3C01800E */ lui $at, %hi(gzip_inflate_input) # $at, 0x800e -/* 0C7550 800C6950 31490003 */ andi $t1, $t2, 3 -/* 0C7554 800C6954 AC2C3768 */ sw $t4, %lo(gzip_inflate_input)($at) -/* 0C7558 800C6958 010A5006 */ srlv $t2, $t2, $t0 -/* 0C755C 800C695C 3C018013 */ lui $at, %hi(gzip_bit_buffer) # $at, 0x8013 -/* 0C7560 800C6960 AC2AAAD0 */ sw $t2, %lo(gzip_bit_buffer)($at) -/* 0C7564 800C6964 01685822 */ sub $t3, $t3, $t0 -/* 0C7568 800C6968 3C018013 */ lui $at, %hi(gzip_num_bits) # $at, 0x8013 -/* 0C756C 800C696C AC2BAAD4 */ sw $t3, %lo(gzip_num_bits)($at) -/* 0C7570 800C6970 24010002 */ li $at, 2 -/* 0C7574 800C6974 1121000B */ beq $t1, $at, .L800C69A4 -/* 0C7578 800C6978 24010001 */ li $at, 1 -/* 0C757C 800C697C 11210005 */ beq $t1, $at, .L800C6994 -/* 0C7580 800C6980 00000000 */ nop -/* 0C7584 800C6984 0C031BCD */ jal gzip_inflate_stored -/* 0C7588 800C6988 00000000 */ nop -/* 0C758C 800C698C 08031A6B */ j .L800C69AC -/* 0C7590 800C6990 00000000 */ nop -.L800C6994: -/* 0C7594 800C6994 0C031B77 */ jal gzip_inflate_fixed -/* 0C7598 800C6998 00000000 */ nop -/* 0C759C 800C699C 08031A6B */ j .L800C69AC -/* 0C75A0 800C69A0 00000000 */ nop -.L800C69A4: -/* 0C75A4 800C69A4 0C031A71 */ jal gzip_inflate_dynamic -/* 0C75A8 800C69A8 00000000 */ nop -.L800C69AC: -/* 0C75AC 800C69AC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C75B0 800C69B0 24020001 */ li $v0, 1 -/* 0C75B4 800C69B4 00501022 */ sub $v0, $v0, $s0 -/* 0C75B8 800C69B8 8FB00018 */ lw $s0, 0x18($sp) -/* 0C75BC 800C69BC 03E00008 */ jr $ra -/* 0C75C0 800C69C0 27BD0020 */ addiu $sp, $sp, 0x20 - diff --git a/asm/gzip/gzip_inflate_codes.s b/asm/gzip/gzip_inflate_codes.s deleted file mode 100644 index bb6c0f43..00000000 --- a/asm/gzip/gzip_inflate_codes.s +++ /dev/null @@ -1,216 +0,0 @@ -glabel gzip_inflate_codes /* Official name: inflate_codes */ -/* 0C7C40 800C7040 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0C7C44 800C7044 3C0B800F */ lui $t3, %hi(gzip_mask_bits) # $t3, 0x800f -/* 0C7C48 800C7048 AFB20008 */ sw $s2, 8($sp) -/* 0C7C4C 800C704C AFB10004 */ sw $s1, 4($sp) -/* 0C7C50 800C7050 AFB00000 */ sw $s0, ($sp) -/* 0C7C54 800C7054 256B948C */ addiu $t3, %lo(gzip_mask_bits) # addiu $t3, $t3, -0x6b74 -/* 0C7C58 800C7058 00061040 */ sll $v0, $a2, 1 -/* 0C7C5C 800C705C 00074040 */ sll $t0, $a3, 1 -/* 0C7C60 800C7060 3C12800E */ lui $s2, %hi(gzip_inflate_input) # $s2, 0x800e -/* 0C7C64 800C7064 3C11800E */ lui $s1, %hi(gzip_inflate_output) # $s1, 0x800e -/* 0C7C68 800C7068 3C198013 */ lui $t9, %hi(gzip_bit_buffer) # $t9, 0x8013 -/* 0C7C6C 800C706C 3C108013 */ lui $s0, %hi(gzip_num_bits) # $s0, 0x8013 -/* 0C7C70 800C7070 01621821 */ addu $v1, $t3, $v0 -/* 0C7C74 800C7074 01684821 */ addu $t1, $t3, $t0 -/* 0C7C78 800C7078 8E523768 */ lw $s2, %lo(gzip_inflate_input)($s2) -/* 0C7C7C 800C707C 8E31376C */ lw $s1, %lo(gzip_inflate_output)($s1) -/* 0C7C80 800C7080 8F39AAD0 */ lw $t9, %lo(gzip_bit_buffer)($t9) -/* 0C7C84 800C7084 8E10AAD4 */ lw $s0, %lo(gzip_num_bits)($s0) -/* 0C7C88 800C7088 946D0000 */ lhu $t5, ($v1) -/* 0C7C8C 800C708C 952C0000 */ lhu $t4, ($t1) -.L800C7090: -/* 0C7C90 800C7090 0206082B */ sltu $at, $s0, $a2 -.L800C7094: -/* 0C7C94 800C7094 50200009 */ beql $at, $zero, .L800C70BC -/* 0C7C98 800C7098 032D1024 */ and $v0, $t9, $t5 -.L800C709C: -/* 0C7C9C 800C709C 92420000 */ lbu $v0, ($s2) -/* 0C7CA0 800C70A0 26520001 */ addiu $s2, $s2, 1 -/* 0C7CA4 800C70A4 02021004 */ sllv $v0, $v0, $s0 -/* 0C7CA8 800C70A8 26100008 */ addiu $s0, $s0, 8 -/* 0C7CAC 800C70AC 0206082A */ slt $at, $s0, $a2 -/* 0C7CB0 800C70B0 1420FFFA */ bnez $at, .L800C709C -/* 0C7CB4 800C70B4 0322C825 */ or $t9, $t9, $v0 -/* 0C7CB8 800C70B8 032D1024 */ and $v0, $t9, $t5 -.L800C70BC: -/* 0C7CBC 800C70BC 000210C0 */ sll $v0, $v0, 3 -/* 0C7CC0 800C70C0 00827821 */ addu $t7, $a0, $v0 -/* 0C7CC4 800C70C4 91F80000 */ lbu $t8, ($t7) -/* 0C7CC8 800C70C8 2B010011 */ slti $at, $t8, 0x11 -/* 0C7CCC 800C70CC 5420001A */ bnezl $at, .L800C7138 -/* 0C7CD0 800C70D0 91E20001 */ lbu $v0, 1($t7) -/* 0C7CD4 800C70D4 81E30001 */ lb $v1, 1($t7) -.L800C70D8: -/* 0C7CD8 800C70D8 2318FFF0 */ addi $t8, $t8, -0x10 -/* 0C7CDC 800C70DC 02038022 */ sub $s0, $s0, $v1 -/* 0C7CE0 800C70E0 0218082B */ sltu $at, $s0, $t8 -/* 0C7CE4 800C70E4 10200008 */ beqz $at, .L800C7108 -/* 0C7CE8 800C70E8 0079C806 */ srlv $t9, $t9, $v1 -.L800C70EC: -/* 0C7CEC 800C70EC 92420000 */ lbu $v0, ($s2) -/* 0C7CF0 800C70F0 26520001 */ addiu $s2, $s2, 1 -/* 0C7CF4 800C70F4 02021004 */ sllv $v0, $v0, $s0 -/* 0C7CF8 800C70F8 26100008 */ addiu $s0, $s0, 8 -/* 0C7CFC 800C70FC 0218082A */ slt $at, $s0, $t8 -/* 0C7D00 800C7100 1420FFFA */ bnez $at, .L800C70EC -/* 0C7D04 800C7104 0322C825 */ or $t9, $t9, $v0 -.L800C7108: -/* 0C7D08 800C7108 00181040 */ sll $v0, $t8, 1 -/* 0C7D0C 800C710C 004B1021 */ addu $v0, $v0, $t3 -/* 0C7D10 800C7110 94490000 */ lhu $t1, ($v0) -/* 0C7D14 800C7114 8DE80004 */ lw $t0, 4($t7) -/* 0C7D18 800C7118 01394824 */ and $t1, $t1, $t9 -/* 0C7D1C 800C711C 000948C0 */ sll $t1, $t1, 3 -/* 0C7D20 800C7120 01097820 */ add $t7, $t0, $t1 -/* 0C7D24 800C7124 91F80000 */ lbu $t8, ($t7) -/* 0C7D28 800C7128 2F010011 */ sltiu $at, $t8, 0x11 -/* 0C7D2C 800C712C 5020FFEA */ beql $at, $zero, .L800C70D8 -/* 0C7D30 800C7130 81E30001 */ lb $v1, 1($t7) -/* 0C7D34 800C7134 91E20001 */ lbu $v0, 1($t7) -.L800C7138: -/* 0C7D38 800C7138 24010010 */ li $at, 16 -/* 0C7D3C 800C713C 0059C806 */ srlv $t9, $t9, $v0 -/* 0C7D40 800C7140 17010005 */ bne $t8, $at, .L800C7158 -/* 0C7D44 800C7144 02028022 */ sub $s0, $s0, $v0 -/* 0C7D48 800C7148 95E20004 */ lhu $v0, 4($t7) -/* 0C7D4C 800C714C 26310001 */ addiu $s1, $s1, 1 -/* 0C7D50 800C7150 08031C24 */ j .L800C7090 -/* 0C7D54 800C7154 A222FFFF */ sb $v0, -1($s1) -.L800C7158: -/* 0C7D58 800C7158 2401000F */ li $at, 15 -/* 0C7D5C 800C715C 13010068 */ beq $t8, $at, .L800C7300 -/* 0C7D60 800C7160 0218082B */ sltu $at, $s0, $t8 -/* 0C7D64 800C7164 50200009 */ beql $at, $zero, .L800C718C -/* 0C7D68 800C7168 00181040 */ sll $v0, $t8, 1 -.L800C716C: -/* 0C7D6C 800C716C 92420000 */ lbu $v0, ($s2) -/* 0C7D70 800C7170 26520001 */ addiu $s2, $s2, 1 -/* 0C7D74 800C7174 02021004 */ sllv $v0, $v0, $s0 -/* 0C7D78 800C7178 26100008 */ addiu $s0, $s0, 8 -/* 0C7D7C 800C717C 0218082A */ slt $at, $s0, $t8 -/* 0C7D80 800C7180 1420FFFA */ bnez $at, .L800C716C -/* 0C7D84 800C7184 0322C825 */ or $t9, $t9, $v0 -/* 0C7D88 800C7188 00181040 */ sll $v0, $t8, 1 -.L800C718C: -/* 0C7D8C 800C718C 004B1021 */ addu $v0, $v0, $t3 -/* 0C7D90 800C7190 94490000 */ lhu $t1, ($v0) -/* 0C7D94 800C7194 95E80004 */ lhu $t0, 4($t7) -/* 0C7D98 800C7198 02188022 */ sub $s0, $s0, $t8 -/* 0C7D9C 800C719C 0207082B */ sltu $at, $s0, $a3 -/* 0C7DA0 800C71A0 01394824 */ and $t1, $t1, $t9 -/* 0C7DA4 800C71A4 0319C806 */ srlv $t9, $t9, $t8 -/* 0C7DA8 800C71A8 10200008 */ beqz $at, .L800C71CC -/* 0C7DAC 800C71AC 01097021 */ addu $t6, $t0, $t1 -.L800C71B0: -/* 0C7DB0 800C71B0 92420000 */ lbu $v0, ($s2) -/* 0C7DB4 800C71B4 26520001 */ addiu $s2, $s2, 1 -/* 0C7DB8 800C71B8 02021004 */ sllv $v0, $v0, $s0 -/* 0C7DBC 800C71BC 26100008 */ addiu $s0, $s0, 8 -/* 0C7DC0 800C71C0 0207082A */ slt $at, $s0, $a3 -/* 0C7DC4 800C71C4 1420FFFA */ bnez $at, .L800C71B0 -/* 0C7DC8 800C71C8 0322C825 */ or $t9, $t9, $v0 -.L800C71CC: -/* 0C7DCC 800C71CC 01991024 */ and $v0, $t4, $t9 -/* 0C7DD0 800C71D0 000210C0 */ sll $v0, $v0, 3 -/* 0C7DD4 800C71D4 00A27821 */ addu $t7, $a1, $v0 -/* 0C7DD8 800C71D8 91F80000 */ lbu $t8, ($t7) -/* 0C7DDC 800C71DC 2B010011 */ slti $at, $t8, 0x11 -/* 0C7DE0 800C71E0 5420001A */ bnezl $at, .L800C724C -/* 0C7DE4 800C71E4 91E20001 */ lbu $v0, 1($t7) -/* 0C7DE8 800C71E8 91E80001 */ lbu $t0, 1($t7) -.L800C71EC: -/* 0C7DEC 800C71EC 2318FFF0 */ addi $t8, $t8, -0x10 -/* 0C7DF0 800C71F0 02088022 */ sub $s0, $s0, $t0 -/* 0C7DF4 800C71F4 0218082B */ sltu $at, $s0, $t8 -/* 0C7DF8 800C71F8 10200008 */ beqz $at, .L800C721C -/* 0C7DFC 800C71FC 0119C806 */ srlv $t9, $t9, $t0 -.L800C7200: -/* 0C7E00 800C7200 92420000 */ lbu $v0, ($s2) -/* 0C7E04 800C7204 26520001 */ addiu $s2, $s2, 1 -/* 0C7E08 800C7208 02021004 */ sllv $v0, $v0, $s0 -/* 0C7E0C 800C720C 26100008 */ addiu $s0, $s0, 8 -/* 0C7E10 800C7210 0218082A */ slt $at, $s0, $t8 -/* 0C7E14 800C7214 1420FFFA */ bnez $at, .L800C7200 -/* 0C7E18 800C7218 0322C825 */ or $t9, $t9, $v0 -.L800C721C: -/* 0C7E1C 800C721C 00181040 */ sll $v0, $t8, 1 -/* 0C7E20 800C7220 004B1021 */ addu $v0, $v0, $t3 -/* 0C7E24 800C7224 94490000 */ lhu $t1, ($v0) -/* 0C7E28 800C7228 8DE80004 */ lw $t0, 4($t7) -/* 0C7E2C 800C722C 01394824 */ and $t1, $t1, $t9 -/* 0C7E30 800C7230 000948C0 */ sll $t1, $t1, 3 -/* 0C7E34 800C7234 01097821 */ addu $t7, $t0, $t1 -/* 0C7E38 800C7238 91F80000 */ lbu $t8, ($t7) -/* 0C7E3C 800C723C 2F010011 */ sltiu $at, $t8, 0x11 -/* 0C7E40 800C7240 5020FFEA */ beql $at, $zero, .L800C71EC -/* 0C7E44 800C7244 91E80001 */ lbu $t0, 1($t7) -/* 0C7E48 800C7248 91E20001 */ lbu $v0, 1($t7) -.L800C724C: -/* 0C7E4C 800C724C 02028022 */ sub $s0, $s0, $v0 -/* 0C7E50 800C7250 0218082B */ sltu $at, $s0, $t8 -/* 0C7E54 800C7254 10200008 */ beqz $at, .L800C7278 -/* 0C7E58 800C7258 0059C806 */ srlv $t9, $t9, $v0 -.L800C725C: -/* 0C7E5C 800C725C 92420000 */ lbu $v0, ($s2) -/* 0C7E60 800C7260 26520001 */ addiu $s2, $s2, 1 -/* 0C7E64 800C7264 02021004 */ sllv $v0, $v0, $s0 -/* 0C7E68 800C7268 26100008 */ addiu $s0, $s0, 8 -/* 0C7E6C 800C726C 0218082A */ slt $at, $s0, $t8 -/* 0C7E70 800C7270 1420FFFA */ bnez $at, .L800C725C -/* 0C7E74 800C7274 0322C825 */ or $t9, $t9, $v0 -.L800C7278: -/* 0C7E78 800C7278 00181040 */ sll $v0, $t8, 1 -/* 0C7E7C 800C727C 004B1021 */ addu $v0, $v0, $t3 -/* 0C7E80 800C7280 94490000 */ lhu $t1, ($v0) -/* 0C7E84 800C7284 95E30004 */ lhu $v1, 4($t7) -/* 0C7E88 800C7288 31C20003 */ andi $v0, $t6, 3 -/* 0C7E8C 800C728C 01394824 */ and $t1, $t1, $t9 -/* 0C7E90 800C7290 02234022 */ sub $t0, $s1, $v1 -/* 0C7E94 800C7294 01094022 */ sub $t0, $t0, $t1 -/* 0C7E98 800C7298 0319C806 */ srlv $t9, $t9, $t8 -/* 0C7E9C 800C729C 1040000A */ beqz $v0, .L800C72C8 -/* 0C7EA0 800C72A0 02188022 */ sub $s0, $s0, $t8 -/* 0C7EA4 800C72A4 01C27022 */ sub $t6, $t6, $v0 -.L800C72A8: -/* 0C7EA8 800C72A8 910A0000 */ lbu $t2, ($t0) -/* 0C7EAC 800C72AC 2042FFFF */ addi $v0, $v0, -1 -/* 0C7EB0 800C72B0 21080001 */ addi $t0, $t0, 1 -/* 0C7EB4 800C72B4 22310001 */ addi $s1, $s1, 1 -/* 0C7EB8 800C72B8 1440FFFB */ bnez $v0, .L800C72A8 -/* 0C7EBC 800C72BC A22AFFFF */ sb $t2, -1($s1) -/* 0C7EC0 800C72C0 51C0FF74 */ beql $t6, $zero, .L800C7094 -/* 0C7EC4 800C72C4 0206082B */ sltu $at, $s0, $a2 -.L800C72C8: -/* 0C7EC8 800C72C8 91020000 */ lbu $v0, ($t0) -/* 0C7ECC 800C72CC 25CEFFFC */ addiu $t6, $t6, -4 -/* 0C7ED0 800C72D0 25080004 */ addiu $t0, $t0, 4 -/* 0C7ED4 800C72D4 A2220000 */ sb $v0, ($s1) -/* 0C7ED8 800C72D8 9103FFFD */ lbu $v1, -3($t0) -/* 0C7EDC 800C72DC 26310004 */ addiu $s1, $s1, 4 -/* 0C7EE0 800C72E0 A223FFFD */ sb $v1, -3($s1) -/* 0C7EE4 800C72E4 9109FFFE */ lbu $t1, -2($t0) -/* 0C7EE8 800C72E8 A229FFFE */ sb $t1, -2($s1) -/* 0C7EEC 800C72EC 910AFFFF */ lbu $t2, -1($t0) -/* 0C7EF0 800C72F0 15C0FFF5 */ bnez $t6, .L800C72C8 -/* 0C7EF4 800C72F4 A22AFFFF */ sb $t2, -1($s1) -/* 0C7EF8 800C72F8 08031C24 */ j .L800C7090 -/* 0C7EFC 800C72FC 00000000 */ nop -.L800C7300: -/* 0C7F00 800C7300 3C01800E */ lui $at, %hi(gzip_inflate_input) # $at, 0x800e -/* 0C7F04 800C7304 AC323768 */ sw $s2, %lo(gzip_inflate_input)($at) -/* 0C7F08 800C7308 3C01800E */ lui $at, %hi(gzip_inflate_output) # $at, 0x800e -/* 0C7F0C 800C730C AC31376C */ sw $s1, %lo(gzip_inflate_output)($at) -/* 0C7F10 800C7310 3C018013 */ lui $at, %hi(gzip_bit_buffer) # $at, 0x8013 -/* 0C7F14 800C7314 AC39AAD0 */ sw $t9, %lo(gzip_bit_buffer)($at) -/* 0C7F18 800C7318 3C018013 */ lui $at, %hi(gzip_num_bits) # $at, 0x8013 -/* 0C7F1C 800C731C AC30AAD4 */ sw $s0, %lo(gzip_num_bits)($at) -/* 0C7F20 800C7320 8FB20008 */ lw $s2, 8($sp) -/* 0C7F24 800C7324 8FB10004 */ lw $s1, 4($sp) -/* 0C7F28 800C7328 8FB00000 */ lw $s0, ($sp) -/* 0C7F2C 800C732C 03E00008 */ jr $ra -/* 0C7F30 800C7330 27BD0010 */ addiu $sp, $sp, 0x10 -/* 0C7F34 800C7334 00000000 */ nop -/* 0C7F38 800C7338 00000000 */ nop -/* 0C7F3C 800C733C 00000000 */ nop - diff --git a/asm/gzip/gzip_inflate_dynamic.s b/asm/gzip/gzip_inflate_dynamic.s deleted file mode 100644 index bd2abca5..00000000 --- a/asm/gzip/gzip_inflate_dynamic.s +++ /dev/null @@ -1,295 +0,0 @@ -glabel gzip_inflate_dynamic /* Official name: inflate_dynamic */ -/* 0C75C4 800C69C4 27BDFAC0 */ addiu $sp, $sp, -0x540 -/* 0C75C8 800C69C8 AFB30028 */ sw $s3, 0x28($sp) -/* 0C75CC 800C69CC 3C138013 */ lui $s3, %hi(gzip_num_bits) # $s3, 0x8013 -/* 0C75D0 800C69D0 8E73AAD4 */ lw $s3, %lo(gzip_num_bits)($s3) -/* 0C75D4 800C69D4 AFB4002C */ sw $s4, 0x2c($sp) -/* 0C75D8 800C69D8 AFB20024 */ sw $s2, 0x24($sp) -/* 0C75DC 800C69DC 24080005 */ li $t0, 5 -/* 0C75E0 800C69E0 3C14800E */ lui $s4, %hi(gzip_inflate_input) # $s4, 0x800e -/* 0C75E4 800C69E4 3C128013 */ lui $s2, %hi(gzip_bit_buffer) # $s2, 0x8013 -/* 0C75E8 800C69E8 0268082B */ sltu $at, $s3, $t0 -/* 0C75EC 800C69EC AFBF0030 */ sw $ra, 0x30($sp) -/* 0C75F0 800C69F0 AFB10020 */ sw $s1, 0x20($sp) -/* 0C75F4 800C69F4 AFB0001C */ sw $s0, 0x1c($sp) -/* 0C75F8 800C69F8 8E943768 */ lw $s4, %lo(gzip_inflate_input)($s4) -/* 0C75FC 800C69FC 10200008 */ beqz $at, .L800C6A20 -/* 0C7600 800C6A00 8E52AAD0 */ lw $s2, %lo(gzip_bit_buffer)($s2) -.L800C6A04: -/* 0C7604 800C6A04 92820000 */ lbu $v0, ($s4) -/* 0C7608 800C6A08 26940001 */ addiu $s4, $s4, 1 -/* 0C760C 800C6A0C 02621004 */ sllv $v0, $v0, $s3 -/* 0C7610 800C6A10 26730008 */ addiu $s3, $s3, 8 -/* 0C7614 800C6A14 0268082A */ slt $at, $s3, $t0 -/* 0C7618 800C6A18 1420FFFA */ bnez $at, .L800C6A04 -/* 0C761C 800C6A1C 02429025 */ or $s2, $s2, $v0 -.L800C6A20: -/* 0C7620 800C6A20 02689822 */ sub $s3, $s3, $t0 -/* 0C7624 800C6A24 3251001F */ andi $s1, $s2, 0x1f -/* 0C7628 800C6A28 0268082B */ sltu $at, $s3, $t0 -/* 0C762C 800C6A2C 26310101 */ addiu $s1, $s1, 0x101 -/* 0C7630 800C6A30 10200008 */ beqz $at, .L800C6A54 -/* 0C7634 800C6A34 01129006 */ srlv $s2, $s2, $t0 -.L800C6A38: -/* 0C7638 800C6A38 92820000 */ lbu $v0, ($s4) -/* 0C763C 800C6A3C 26940001 */ addiu $s4, $s4, 1 -/* 0C7640 800C6A40 02621004 */ sllv $v0, $v0, $s3 -/* 0C7644 800C6A44 26730008 */ addiu $s3, $s3, 8 -/* 0C7648 800C6A48 0268082A */ slt $at, $s3, $t0 -/* 0C764C 800C6A4C 1420FFFA */ bnez $at, .L800C6A38 -/* 0C7650 800C6A50 02429025 */ or $s2, $s2, $v0 -.L800C6A54: -/* 0C7654 800C6A54 3250001F */ andi $s0, $s2, 0x1f -/* 0C7658 800C6A58 01129006 */ srlv $s2, $s2, $t0 -/* 0C765C 800C6A5C 02689822 */ sub $s3, $s3, $t0 -/* 0C7660 800C6A60 24080004 */ li $t0, 4 -/* 0C7664 800C6A64 0268082B */ sltu $at, $s3, $t0 -/* 0C7668 800C6A68 10200008 */ beqz $at, .L800C6A8C -/* 0C766C 800C6A6C 26100001 */ addiu $s0, $s0, 1 -.L800C6A70: -/* 0C7670 800C6A70 92820000 */ lbu $v0, ($s4) -/* 0C7674 800C6A74 26940001 */ addiu $s4, $s4, 1 -/* 0C7678 800C6A78 02621004 */ sllv $v0, $v0, $s3 -/* 0C767C 800C6A7C 26730008 */ addiu $s3, $s3, 8 -/* 0C7680 800C6A80 0268082A */ slt $at, $s3, $t0 -/* 0C7684 800C6A84 1420FFFA */ bnez $at, .L800C6A70 -/* 0C7688 800C6A88 02429025 */ or $s2, $s2, $v0 -.L800C6A8C: -/* 0C768C 800C6A8C 324A000F */ andi $t2, $s2, 0xf -/* 0C7690 800C6A90 254A0004 */ addiu $t2, $t2, 4 -/* 0C7694 800C6A94 3C19800F */ lui $t9, %hi(gzip_border) # $t9, 0x800f -/* 0C7698 800C6A98 01129006 */ srlv $s2, $s2, $t0 -/* 0C769C 800C6A9C 02689822 */ sub $s3, $s3, $t0 -/* 0C76A0 800C6AA0 000A4825 */ or $t1, $zero, $t2 -/* 0C76A4 800C6AA4 273993C0 */ addiu $t9, %lo(gzip_border) # addiu $t9, $t9, -0x6c40 -/* 0C76A8 800C6AA8 11400019 */ beqz $t2, .L800C6B10 -/* 0C76AC 800C6AAC 23AF0044 */ addi $t7, $sp, 0x44 -.L800C6AB0: -/* 0C76B0 800C6AB0 24080003 */ li $t0, 3 -/* 0C76B4 800C6AB4 0268082B */ sltu $at, $s3, $t0 -/* 0C76B8 800C6AB8 50200009 */ beql $at, $zero, .L800C6AE0 -/* 0C76BC 800C6ABC 93230000 */ lbu $v1, ($t9) -.L800C6AC0: -/* 0C76C0 800C6AC0 92820000 */ lbu $v0, ($s4) -/* 0C76C4 800C6AC4 26940001 */ addiu $s4, $s4, 1 -/* 0C76C8 800C6AC8 02621004 */ sllv $v0, $v0, $s3 -/* 0C76CC 800C6ACC 26730008 */ addiu $s3, $s3, 8 -/* 0C76D0 800C6AD0 0268082A */ slt $at, $s3, $t0 -/* 0C76D4 800C6AD4 1420FFFA */ bnez $at, .L800C6AC0 -/* 0C76D8 800C6AD8 02429025 */ or $s2, $s2, $v0 -/* 0C76DC 800C6ADC 93230000 */ lbu $v1, ($t9) -.L800C6AE0: -/* 0C76E0 800C6AE0 32420007 */ andi $v0, $s2, 7 -/* 0C76E4 800C6AE4 254AFFFF */ addiu $t2, $t2, -1 -/* 0C76E8 800C6AE8 00031880 */ sll $v1, $v1, 2 -/* 0C76EC 800C6AEC 006F1821 */ addu $v1, $v1, $t7 -/* 0C76F0 800C6AF0 AC620000 */ sw $v0, ($v1) -/* 0C76F4 800C6AF4 01129006 */ srlv $s2, $s2, $t0 -/* 0C76F8 800C6AF8 02689822 */ sub $s3, $s3, $t0 -/* 0C76FC 800C6AFC 1540FFEC */ bnez $t2, .L800C6AB0 -/* 0C7700 800C6B00 27390001 */ addiu $t9, $t9, 1 -/* 0C7704 800C6B04 2D210013 */ sltiu $at, $t1, 0x13 -/* 0C7708 800C6B08 5020000A */ beql $at, $zero, .L800C6B34 -/* 0C770C 800C6B0C 240D0007 */ li $t5, 7 -.L800C6B10: -/* 0C7710 800C6B10 93230000 */ lbu $v1, ($t9) -/* 0C7714 800C6B14 25290001 */ addiu $t1, $t1, 1 -/* 0C7718 800C6B18 29210013 */ slti $at, $t1, 0x13 -/* 0C771C 800C6B1C 00031880 */ sll $v1, $v1, 2 -/* 0C7720 800C6B20 006F1821 */ addu $v1, $v1, $t7 -/* 0C7724 800C6B24 AC600000 */ sw $zero, ($v1) -/* 0C7728 800C6B28 1420FFF9 */ bnez $at, .L800C6B10 -/* 0C772C 800C6B2C 27390001 */ addiu $t9, $t9, 1 -/* 0C7730 800C6B30 240D0007 */ li $t5, 7 -.L800C6B34: -/* 0C7734 800C6B34 23A80034 */ addi $t0, $sp, 0x34 -/* 0C7738 800C6B38 23A90038 */ addi $t1, $sp, 0x38 -/* 0C773C 800C6B3C AFAD0038 */ sw $t5, 0x38($sp) -/* 0C7740 800C6B40 23A40044 */ addi $a0, $sp, 0x44 -/* 0C7744 800C6B44 24050013 */ li $a1, 19 -/* 0C7748 800C6B48 24060013 */ li $a2, 19 -/* 0C774C 800C6B4C 24070000 */ li $a3, 0 -/* 0C7750 800C6B50 AFA00010 */ sw $zero, 0x10($sp) -/* 0C7754 800C6B54 AFA80014 */ sw $t0, 0x14($sp) -/* 0C7758 800C6B58 0C03189D */ jal gzip_huft_build -/* 0C775C 800C6B5C AFA90018 */ sw $t1, 0x18($sp) -/* 0C7760 800C6B60 23A90038 */ addi $t1, $sp, 0x38 -/* 0C7764 800C6B64 8D2D0000 */ lw $t5, ($t1) -/* 0C7768 800C6B68 3C02800F */ lui $v0, %hi(gzip_mask_bits) # $v0, 0x800f -/* 0C776C 800C6B6C 2442948C */ addiu $v0, %lo(gzip_mask_bits) # addiu $v0, $v0, -0x6b74 -/* 0C7770 800C6B70 000D1840 */ sll $v1, $t5, 1 -/* 0C7774 800C6B74 23A80034 */ addi $t0, $sp, 0x34 -/* 0C7778 800C6B78 00431020 */ add $v0, $v0, $v1 -/* 0C777C 800C6B7C 8D0E0000 */ lw $t6, ($t0) -/* 0C7780 800C6B80 0230C820 */ add $t9, $s1, $s0 -/* 0C7784 800C6B84 84580000 */ lh $t8, ($v0) -/* 0C7788 800C6B88 23AF0044 */ addi $t7, $sp, 0x44 -/* 0C778C 800C6B8C 240A0000 */ li $t2, 0 -.L800C6B90: -/* 0C7790 800C6B90 1320005F */ beqz $t9, .L800C6D10 -/* 0C7794 800C6B94 026D082B */ sltu $at, $s3, $t5 -/* 0C7798 800C6B98 50200009 */ beql $at, $zero, .L800C6BC0 -/* 0C779C 800C6B9C 02581024 */ and $v0, $s2, $t8 -.L800C6BA0: -/* 0C77A0 800C6BA0 92820000 */ lbu $v0, ($s4) -/* 0C77A4 800C6BA4 26940001 */ addiu $s4, $s4, 1 -/* 0C77A8 800C6BA8 02621004 */ sllv $v0, $v0, $s3 -/* 0C77AC 800C6BAC 26730008 */ addiu $s3, $s3, 8 -/* 0C77B0 800C6BB0 026D082A */ slt $at, $s3, $t5 -/* 0C77B4 800C6BB4 1420FFFA */ bnez $at, .L800C6BA0 -/* 0C77B8 800C6BB8 02429025 */ or $s2, $s2, $v0 -/* 0C77BC 800C6BBC 02581024 */ and $v0, $s2, $t8 -.L800C6BC0: -/* 0C77C0 800C6BC0 000210C0 */ sll $v0, $v0, 3 -/* 0C77C4 800C6BC4 01C24821 */ addu $t1, $t6, $v0 -/* 0C77C8 800C6BC8 95280004 */ lhu $t0, 4($t1) -/* 0C77CC 800C6BCC 91220001 */ lbu $v0, 1($t1) -/* 0C77D0 800C6BD0 29010010 */ slti $at, $t0, 0x10 -/* 0C77D4 800C6BD4 00529006 */ srlv $s2, $s2, $v0 -/* 0C77D8 800C6BD8 1420001C */ bnez $at, .L800C6C4C -/* 0C77DC 800C6BDC 02629822 */ sub $s3, $s3, $v0 -/* 0C77E0 800C6BE0 24010010 */ li $at, 16 -/* 0C77E4 800C6BE4 1101001E */ beq $t0, $at, .L800C6C60 -/* 0C77E8 800C6BE8 24010011 */ li $at, 17 -/* 0C77EC 800C6BEC 51010033 */ beql $t0, $at, .L800C6CBC -/* 0C77F0 800C6BF0 24080003 */ li $t0, 3 -/* 0C77F4 800C6BF4 24080007 */ li $t0, 7 -/* 0C77F8 800C6BF8 0268082B */ sltu $at, $s3, $t0 -/* 0C77FC 800C6BFC 50200009 */ beql $at, $zero, .L800C6C24 -/* 0C7800 800C6C00 3249007F */ andi $t1, $s2, 0x7f -.L800C6C04: -/* 0C7804 800C6C04 92820000 */ lbu $v0, ($s4) -/* 0C7808 800C6C08 26940001 */ addiu $s4, $s4, 1 -/* 0C780C 800C6C0C 02621004 */ sllv $v0, $v0, $s3 -/* 0C7810 800C6C10 26730008 */ addiu $s3, $s3, 8 -/* 0C7814 800C6C14 0268082A */ slt $at, $s3, $t0 -/* 0C7818 800C6C18 1420FFFA */ bnez $at, .L800C6C04 -/* 0C781C 800C6C1C 02429025 */ or $s2, $s2, $v0 -/* 0C7820 800C6C20 3249007F */ andi $t1, $s2, 0x7f -.L800C6C24: -/* 0C7824 800C6C24 2529000B */ addiu $t1, $t1, 0xb -/* 0C7828 800C6C28 01129006 */ srlv $s2, $s2, $t0 -/* 0C782C 800C6C2C 02689822 */ sub $s3, $s3, $t0 -/* 0C7830 800C6C30 0329C823 */ subu $t9, $t9, $t1 -.L800C6C34: -/* 0C7834 800C6C34 2529FFFF */ addiu $t1, $t1, -1 -/* 0C7838 800C6C38 ADE00000 */ sw $zero, ($t7) -/* 0C783C 800C6C3C 1520FFFD */ bnez $t1, .L800C6C34 -/* 0C7840 800C6C40 25EF0004 */ addiu $t7, $t7, 4 -/* 0C7844 800C6C44 08031AE4 */ j .L800C6B90 -/* 0C7848 800C6C48 240A0000 */ li $t2, 0 - -.L800C6C4C: -/* 0C784C 800C6C4C ADE80000 */ sw $t0, ($t7) -/* 0C7850 800C6C50 25EF0004 */ addiu $t7, $t7, 4 -/* 0C7854 800C6C54 2739FFFF */ addiu $t9, $t9, -1 -/* 0C7858 800C6C58 08031AE4 */ j .L800C6B90 -/* 0C785C 800C6C5C 00085025 */ or $t2, $zero, $t0 - -.L800C6C60: -/* 0C7860 800C6C60 24080002 */ li $t0, 2 -/* 0C7864 800C6C64 0268082B */ sltu $at, $s3, $t0 -/* 0C7868 800C6C68 50200009 */ beql $at, $zero, .L800C6C90 -/* 0C786C 800C6C6C 32490003 */ andi $t1, $s2, 3 -.L800C6C70: -/* 0C7870 800C6C70 92820000 */ lbu $v0, ($s4) -/* 0C7874 800C6C74 26940001 */ addiu $s4, $s4, 1 -/* 0C7878 800C6C78 02621004 */ sllv $v0, $v0, $s3 -/* 0C787C 800C6C7C 26730008 */ addiu $s3, $s3, 8 -/* 0C7880 800C6C80 0268082A */ slt $at, $s3, $t0 -/* 0C7884 800C6C84 1420FFFA */ bnez $at, .L800C6C70 -/* 0C7888 800C6C88 02429025 */ or $s2, $s2, $v0 -/* 0C788C 800C6C8C 32490003 */ andi $t1, $s2, 3 -.L800C6C90: -/* 0C7890 800C6C90 21290003 */ addi $t1, $t1, 3 -/* 0C7894 800C6C94 01129006 */ srlv $s2, $s2, $t0 -/* 0C7898 800C6C98 02689822 */ sub $s3, $s3, $t0 -/* 0C789C 800C6C9C 0329C823 */ subu $t9, $t9, $t1 -.L800C6CA0: -/* 0C78A0 800C6CA0 2529FFFF */ addiu $t1, $t1, -1 -/* 0C78A4 800C6CA4 ADEA0000 */ sw $t2, ($t7) -/* 0C78A8 800C6CA8 1520FFFD */ bnez $t1, .L800C6CA0 -/* 0C78AC 800C6CAC 25EF0004 */ addiu $t7, $t7, 4 -/* 0C78B0 800C6CB0 08031AE4 */ j .L800C6B90 -/* 0C78B4 800C6CB4 00000000 */ nop - -/* 0C78B8 800C6CB8 24080003 */ li $t0, 3 -.L800C6CBC: -/* 0C78BC 800C6CBC 0268082B */ sltu $at, $s3, $t0 -/* 0C78C0 800C6CC0 50200009 */ beql $at, $zero, .L800C6CE8 -/* 0C78C4 800C6CC4 32490007 */ andi $t1, $s2, 7 -.L800C6CC8: -/* 0C78C8 800C6CC8 92820000 */ lbu $v0, ($s4) -/* 0C78CC 800C6CCC 26940001 */ addiu $s4, $s4, 1 -/* 0C78D0 800C6CD0 02621004 */ sllv $v0, $v0, $s3 -/* 0C78D4 800C6CD4 26730008 */ addiu $s3, $s3, 8 -/* 0C78D8 800C6CD8 0268082A */ slt $at, $s3, $t0 -/* 0C78DC 800C6CDC 1420FFFA */ bnez $at, .L800C6CC8 -/* 0C78E0 800C6CE0 02429025 */ or $s2, $s2, $v0 -/* 0C78E4 800C6CE4 32490007 */ andi $t1, $s2, 7 -.L800C6CE8: -/* 0C78E8 800C6CE8 21290003 */ addi $t1, $t1, 3 -/* 0C78EC 800C6CEC 01129006 */ srlv $s2, $s2, $t0 -/* 0C78F0 800C6CF0 02689822 */ sub $s3, $s3, $t0 -/* 0C78F4 800C6CF4 0329C823 */ subu $t9, $t9, $t1 -.L800C6CF8: -/* 0C78F8 800C6CF8 2529FFFF */ addiu $t1, $t1, -1 -/* 0C78FC 800C6CFC ADE00000 */ sw $zero, ($t7) -/* 0C7900 800C6D00 1520FFFD */ bnez $t1, .L800C6CF8 -/* 0C7904 800C6D04 25EF0004 */ addiu $t7, $t7, 4 -/* 0C7908 800C6D08 08031AE4 */ j .L800C6B90 -/* 0C790C 800C6D0C 240A0000 */ li $t2, 0 - -.L800C6D10: -/* 0C7910 800C6D10 3C01800E */ lui $at, %hi(gzip_inflate_input) # $at, 0x800e -/* 0C7914 800C6D14 AC343768 */ sw $s4, %lo(gzip_inflate_input)($at) -/* 0C7918 800C6D18 3C018013 */ lui $at, %hi(gzip_bit_buffer) # $at, 0x8013 -/* 0C791C 800C6D1C 24080009 */ li $t0, 9 -/* 0C7920 800C6D20 AC32AAD0 */ sw $s2, %lo(gzip_bit_buffer)($at) -/* 0C7924 800C6D24 AFA80038 */ sw $t0, 0x38($sp) -/* 0C7928 800C6D28 3C02800F */ lui $v0, %hi(gzip_cplext) # $v0, 0x800f -/* 0C792C 800C6D2C 3C018013 */ lui $at, %hi(gzip_num_bits) # $at, 0x8013 -/* 0C7930 800C6D30 3C07800F */ lui $a3, %hi(gzip_cplens) # $a3, 0x800f -/* 0C7934 800C6D34 24429412 */ addiu $v0, %lo(gzip_cplext) # addiu $v0, $v0, -0x6bee -/* 0C7938 800C6D38 23A30034 */ addi $v1, $sp, 0x34 -/* 0C793C 800C6D3C 23A80038 */ addi $t0, $sp, 0x38 -/* 0C7940 800C6D40 AC33AAD4 */ sw $s3, %lo(gzip_num_bits)($at) -/* 0C7944 800C6D44 23A40044 */ addi $a0, $sp, 0x44 -/* 0C7948 800C6D48 00112825 */ or $a1, $zero, $s1 -/* 0C794C 800C6D4C 24060101 */ li $a2, 257 -/* 0C7950 800C6D50 24E793D4 */ addiu $a3, %lo(gzip_cplens) # addiu $a3, $a3, -0x6c2c -/* 0C7954 800C6D54 AFA20010 */ sw $v0, 0x10($sp) -/* 0C7958 800C6D58 AFA30014 */ sw $v1, 0x14($sp) -/* 0C795C 800C6D5C 0C03189D */ jal gzip_huft_build -/* 0C7960 800C6D60 AFA80018 */ sw $t0, 0x18($sp) -/* 0C7964 800C6D64 23A40044 */ addi $a0, $sp, 0x44 -/* 0C7968 800C6D68 00111080 */ sll $v0, $s1, 2 -/* 0C796C 800C6D6C 24080006 */ li $t0, 6 -/* 0C7970 800C6D70 00822021 */ addu $a0, $a0, $v0 -/* 0C7974 800C6D74 AFA80040 */ sw $t0, 0x40($sp) -/* 0C7978 800C6D78 3C02800F */ lui $v0, %hi(gzip_cpdext) # $v0, 0x800f -/* 0C797C 800C6D7C 3C07800F */ lui $a3, %hi(gzip_cpdist) # $a3, 0x800f -/* 0C7980 800C6D80 2442946E */ addiu $v0, %lo(gzip_cpdext) # addiu $v0, $v0, -0x6b92 -/* 0C7984 800C6D84 23A3003C */ addi $v1, $sp, 0x3c -/* 0C7988 800C6D88 23A80040 */ addi $t0, $sp, 0x40 -/* 0C798C 800C6D8C 00102825 */ or $a1, $zero, $s0 -/* 0C7990 800C6D90 24060000 */ li $a2, 0 -/* 0C7994 800C6D94 24E79432 */ addiu $a3, %lo(gzip_cpdist) # addiu $a3, $a3, -0x6bce -/* 0C7998 800C6D98 AFA20010 */ sw $v0, 0x10($sp) -/* 0C799C 800C6D9C AFA30014 */ sw $v1, 0x14($sp) -/* 0C79A0 800C6DA0 0C03189D */ jal gzip_huft_build -/* 0C79A4 800C6DA4 AFA80018 */ sw $t0, 0x18($sp) -/* 0C79A8 800C6DA8 8FA40034 */ lw $a0, 0x34($sp) -/* 0C79AC 800C6DAC 8FA5003C */ lw $a1, 0x3c($sp) -/* 0C79B0 800C6DB0 8FA60038 */ lw $a2, 0x38($sp) -/* 0C79B4 800C6DB4 0C031C10 */ jal gzip_inflate_codes -/* 0C79B8 800C6DB8 8FA70040 */ lw $a3, 0x40($sp) -/* 0C79BC 800C6DBC 8FBF0030 */ lw $ra, 0x30($sp) -/* 0C79C0 800C6DC0 8FB4002C */ lw $s4, 0x2c($sp) -/* 0C79C4 800C6DC4 8FB30028 */ lw $s3, 0x28($sp) -/* 0C79C8 800C6DC8 8FB20024 */ lw $s2, 0x24($sp) -/* 0C79CC 800C6DCC 8FB10020 */ lw $s1, 0x20($sp) -/* 0C79D0 800C6DD0 8FB0001C */ lw $s0, 0x1c($sp) -/* 0C79D4 800C6DD4 03E00008 */ jr $ra -/* 0C79D8 800C6DD8 27BD0540 */ addiu $sp, $sp, 0x540 - diff --git a/asm/gzip/gzip_inflate_fixed.s b/asm/gzip/gzip_inflate_fixed.s deleted file mode 100644 index 1a1b4cd2..00000000 --- a/asm/gzip/gzip_inflate_fixed.s +++ /dev/null @@ -1,92 +0,0 @@ -glabel gzip_inflate_fixed /* Official name: inflate_fixed */ -/* 0C79DC 800C6DDC 27BDFAD0 */ addiu $sp, $sp, -0x530 -/* 0C79E0 800C6DE0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0C79E4 800C6DE4 23AB0044 */ addi $t3, $sp, 0x44 -/* 0C79E8 800C6DE8 24080024 */ li $t0, 36 -/* 0C79EC 800C6DEC 24090008 */ li $t1, 8 -.L800C6DF0: -/* 0C79F0 800C6DF0 2508FFFF */ addiu $t0, $t0, -1 -/* 0C79F4 800C6DF4 AD690000 */ sw $t1, ($t3) -/* 0C79F8 800C6DF8 AD690004 */ sw $t1, 4($t3) -/* 0C79FC 800C6DFC AD690008 */ sw $t1, 8($t3) -/* 0C7A00 800C6E00 AD69000C */ sw $t1, 0xc($t3) -/* 0C7A04 800C6E04 1500FFFA */ bnez $t0, .L800C6DF0 -/* 0C7A08 800C6E08 256B0010 */ addiu $t3, $t3, 0x10 -/* 0C7A0C 800C6E0C 2408001C */ li $t0, 28 -/* 0C7A10 800C6E10 24090009 */ li $t1, 9 -.L800C6E14: -/* 0C7A14 800C6E14 2508FFFF */ addiu $t0, $t0, -1 -/* 0C7A18 800C6E18 AD690000 */ sw $t1, ($t3) -/* 0C7A1C 800C6E1C AD690004 */ sw $t1, 4($t3) -/* 0C7A20 800C6E20 AD690008 */ sw $t1, 8($t3) -/* 0C7A24 800C6E24 AD69000C */ sw $t1, 0xc($t3) -/* 0C7A28 800C6E28 1500FFFA */ bnez $t0, .L800C6E14 -/* 0C7A2C 800C6E2C 256B0010 */ addiu $t3, $t3, 0x10 -/* 0C7A30 800C6E30 24080006 */ li $t0, 6 -/* 0C7A34 800C6E34 24090007 */ li $t1, 7 -.L800C6E38: -/* 0C7A38 800C6E38 2508FFFF */ addiu $t0, $t0, -1 -/* 0C7A3C 800C6E3C AD690000 */ sw $t1, ($t3) -/* 0C7A40 800C6E40 AD690004 */ sw $t1, 4($t3) -/* 0C7A44 800C6E44 AD690008 */ sw $t1, 8($t3) -/* 0C7A48 800C6E48 AD69000C */ sw $t1, 0xc($t3) -/* 0C7A4C 800C6E4C 1500FFFA */ bnez $t0, .L800C6E38 -/* 0C7A50 800C6E50 256B0010 */ addiu $t3, $t3, 0x10 -/* 0C7A54 800C6E54 24090008 */ li $t1, 8 -/* 0C7A58 800C6E58 AD690000 */ sw $t1, ($t3) -/* 0C7A5C 800C6E5C AD690004 */ sw $t1, 4($t3) -/* 0C7A60 800C6E60 AD690008 */ sw $t1, 8($t3) -/* 0C7A64 800C6E64 AD69000C */ sw $t1, 0xc($t3) -/* 0C7A68 800C6E68 AD690010 */ sw $t1, 0x10($t3) -/* 0C7A6C 800C6E6C AD690014 */ sw $t1, 0x14($t3) -/* 0C7A70 800C6E70 AD690018 */ sw $t1, 0x18($t3) -/* 0C7A74 800C6E74 AD69001C */ sw $t1, 0x1c($t3) -/* 0C7A78 800C6E78 24080007 */ li $t0, 7 -/* 0C7A7C 800C6E7C AFA80038 */ sw $t0, 0x38($sp) -/* 0C7A80 800C6E80 3C02800F */ lui $v0, %hi(gzip_cplext) # $v0, 0x800f -/* 0C7A84 800C6E84 3C07800F */ lui $a3, %hi(gzip_cplens) # $a3, 0x800f -/* 0C7A88 800C6E88 24429412 */ addiu $v0, %lo(gzip_cplext) # addiu $v0, $v0, -0x6bee -/* 0C7A8C 800C6E8C 23A30020 */ addi $v1, $sp, 0x20 -/* 0C7A90 800C6E90 23A80024 */ addi $t0, $sp, 0x24 -/* 0C7A94 800C6E94 23A40044 */ addi $a0, $sp, 0x44 -/* 0C7A98 800C6E98 24050120 */ li $a1, 288 -/* 0C7A9C 800C6E9C 24060101 */ li $a2, 257 -/* 0C7AA0 800C6EA0 24E793D4 */ addiu $a3, %lo(gzip_cplens) # addiu $a3, $a3, -0x6c2c -/* 0C7AA4 800C6EA4 AFA20010 */ sw $v0, 0x10($sp) -/* 0C7AA8 800C6EA8 AFA30014 */ sw $v1, 0x14($sp) -/* 0C7AAC 800C6EAC 0C03189D */ jal gzip_huft_build -/* 0C7AB0 800C6EB0 AFA80018 */ sw $t0, 0x18($sp) -/* 0C7AB4 800C6EB4 23AB0044 */ addi $t3, $sp, 0x44 -/* 0C7AB8 800C6EB8 2408000A */ li $t0, 10 -/* 0C7ABC 800C6EBC 24090005 */ li $t1, 5 -.L800C6EC0: -/* 0C7AC0 800C6EC0 2508FFFF */ addiu $t0, $t0, -1 -/* 0C7AC4 800C6EC4 AD690000 */ sw $t1, ($t3) -/* 0C7AC8 800C6EC8 AD690004 */ sw $t1, 4($t3) -/* 0C7ACC 800C6ECC AD690008 */ sw $t1, 8($t3) -/* 0C7AD0 800C6ED0 1500FFFB */ bnez $t0, .L800C6EC0 -/* 0C7AD4 800C6ED4 256B000C */ addiu $t3, $t3, 0xc -/* 0C7AD8 800C6ED8 3C02800F */ lui $v0, %hi(gzip_cpdext) # $v0, 0x800f -/* 0C7ADC 800C6EDC 3C07800F */ lui $a3, %hi(gzip_cpdist) # $a3, 0x800f -/* 0C7AE0 800C6EE0 2442946E */ addiu $v0, %lo(gzip_cpdext) # addiu $v0, $v0, -0x6b92 -/* 0C7AE4 800C6EE4 23A30028 */ addi $v1, $sp, 0x28 -/* 0C7AE8 800C6EE8 23A8002C */ addi $t0, $sp, 0x2c -/* 0C7AEC 800C6EEC AFA90040 */ sw $t1, 0x40($sp) -/* 0C7AF0 800C6EF0 23A40044 */ addi $a0, $sp, 0x44 -/* 0C7AF4 800C6EF4 2405001E */ li $a1, 30 -/* 0C7AF8 800C6EF8 24060000 */ li $a2, 0 -/* 0C7AFC 800C6EFC 24E79432 */ addiu $a3, %lo(gzip_cpdist) # addiu $a3, $a3, -0x6bce -/* 0C7B00 800C6F00 AFA20010 */ sw $v0, 0x10($sp) -/* 0C7B04 800C6F04 AFA30014 */ sw $v1, 0x14($sp) -/* 0C7B08 800C6F08 0C03189D */ jal gzip_huft_build -/* 0C7B0C 800C6F0C AFA80018 */ sw $t0, 0x18($sp) -/* 0C7B10 800C6F10 8FA40020 */ lw $a0, 0x20($sp) -/* 0C7B14 800C6F14 8FA50028 */ lw $a1, 0x28($sp) -/* 0C7B18 800C6F18 8FA60024 */ lw $a2, 0x24($sp) -/* 0C7B1C 800C6F1C 0C031C10 */ jal gzip_inflate_codes -/* 0C7B20 800C6F20 8FA7002C */ lw $a3, 0x2c($sp) -/* 0C7B24 800C6F24 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C7B28 800C6F28 27BD0530 */ addiu $sp, $sp, 0x530 -/* 0C7B2C 800C6F2C 03E00008 */ jr $ra -/* 0C7B30 800C6F30 00000000 */ nop - diff --git a/asm/gzip/gzip_inflate_stored.s b/asm/gzip/gzip_inflate_stored.s deleted file mode 100644 index 38ad522e..00000000 --- a/asm/gzip/gzip_inflate_stored.s +++ /dev/null @@ -1,76 +0,0 @@ -glabel gzip_inflate_stored /* Official name: inflate_stored */ -/* 0C7B34 800C6F34 3C0D8013 */ lui $t5, %hi(gzip_num_bits) # $t5, 0x8013 -/* 0C7B38 800C6F38 8DADAAD4 */ lw $t5, %lo(gzip_num_bits)($t5) -/* 0C7B3C 800C6F3C 3C0C8013 */ lui $t4, %hi(gzip_bit_buffer) # $t4, 0x8013 -/* 0C7B40 800C6F40 8D8CAAD0 */ lw $t4, %lo(gzip_bit_buffer)($t4) -/* 0C7B44 800C6F44 31A80007 */ andi $t0, $t5, 7 -/* 0C7B48 800C6F48 01A86822 */ sub $t5, $t5, $t0 -/* 0C7B4C 800C6F4C 010C6006 */ srlv $t4, $t4, $t0 -/* 0C7B50 800C6F50 24080010 */ li $t0, 16 -/* 0C7B54 800C6F54 3C0F800E */ lui $t7, %hi(gzip_inflate_input) # $t7, 0x800e -/* 0C7B58 800C6F58 3C0E800E */ lui $t6, %hi(gzip_inflate_output) # $t6, 0x800e -/* 0C7B5C 800C6F5C 01A8082B */ sltu $at, $t5, $t0 -/* 0C7B60 800C6F60 8DEF3768 */ lw $t7, %lo(gzip_inflate_input)($t7) -/* 0C7B64 800C6F64 10200008 */ beqz $at, .L800C6F88 -/* 0C7B68 800C6F68 8DCE376C */ lw $t6, %lo(gzip_inflate_output)($t6) -.L800C6F6C: -/* 0C7B6C 800C6F6C 91E20000 */ lbu $v0, ($t7) -/* 0C7B70 800C6F70 25EF0001 */ addiu $t7, $t7, 1 -/* 0C7B74 800C6F74 01A21004 */ sllv $v0, $v0, $t5 -/* 0C7B78 800C6F78 25AD0008 */ addiu $t5, $t5, 8 -/* 0C7B7C 800C6F7C 01A8082A */ slt $at, $t5, $t0 -/* 0C7B80 800C6F80 1420FFFA */ bnez $at, .L800C6F6C -/* 0C7B84 800C6F84 01826025 */ or $t4, $t4, $v0 -.L800C6F88: -/* 0C7B88 800C6F88 01A86822 */ sub $t5, $t5, $t0 -/* 0C7B8C 800C6F8C 3189FFFF */ andi $t1, $t4, 0xffff -/* 0C7B90 800C6F90 01A8082B */ sltu $at, $t5, $t0 -/* 0C7B94 800C6F94 10200008 */ beqz $at, .L800C6FB8 -/* 0C7B98 800C6F98 010C6006 */ srlv $t4, $t4, $t0 -.L800C6F9C: -/* 0C7B9C 800C6F9C 91E20000 */ lbu $v0, ($t7) -/* 0C7BA0 800C6FA0 25EF0001 */ addiu $t7, $t7, 1 -/* 0C7BA4 800C6FA4 01A21004 */ sllv $v0, $v0, $t5 -/* 0C7BA8 800C6FA8 25AD0008 */ addiu $t5, $t5, 8 -/* 0C7BAC 800C6FAC 01A8082A */ slt $at, $t5, $t0 -/* 0C7BB0 800C6FB0 1420FFFA */ bnez $at, .L800C6F9C -/* 0C7BB4 800C6FB4 01826025 */ or $t4, $t4, $v0 -.L800C6FB8: -/* 0C7BB8 800C6FB8 31220003 */ andi $v0, $t1, 3 -/* 0C7BBC 800C6FBC 010C6006 */ srlv $t4, $t4, $t0 -/* 0C7BC0 800C6FC0 1040000A */ beqz $v0, .L800C6FEC -/* 0C7BC4 800C6FC4 01A86822 */ sub $t5, $t5, $t0 -/* 0C7BC8 800C6FC8 01224822 */ sub $t1, $t1, $v0 -.L800C6FCC: -/* 0C7BCC 800C6FCC 91EA0000 */ lbu $t2, ($t7) -/* 0C7BD0 800C6FD0 2042FFFF */ addi $v0, $v0, -1 -/* 0C7BD4 800C6FD4 21EF0001 */ addi $t7, $t7, 1 -/* 0C7BD8 800C6FD8 21CE0001 */ addi $t6, $t6, 1 -/* 0C7BDC 800C6FDC 1440FFFB */ bnez $v0, .L800C6FCC -/* 0C7BE0 800C6FE0 A1CAFFFF */ sb $t2, -1($t6) -/* 0C7BE4 800C6FE4 1120000D */ beqz $t1, .L800C701C -/* 0C7BE8 800C6FE8 00000000 */ nop -.L800C6FEC: -/* 0C7BEC 800C6FEC 91E20000 */ lbu $v0, ($t7) -/* 0C7BF0 800C6FF0 2529FFFC */ addiu $t1, $t1, -4 -/* 0C7BF4 800C6FF4 25EF0004 */ addiu $t7, $t7, 4 -/* 0C7BF8 800C6FF8 A1C20000 */ sb $v0, ($t6) -/* 0C7BFC 800C6FFC 91E3FFFD */ lbu $v1, -3($t7) -/* 0C7C00 800C7000 25CE0004 */ addiu $t6, $t6, 4 -/* 0C7C04 800C7004 A1C3FFFD */ sb $v1, -3($t6) -/* 0C7C08 800C7008 91EAFFFE */ lbu $t2, -2($t7) -/* 0C7C0C 800C700C A1CAFFFE */ sb $t2, -2($t6) -/* 0C7C10 800C7010 91EBFFFF */ lbu $t3, -1($t7) -/* 0C7C14 800C7014 1520FFF5 */ bnez $t1, .L800C6FEC -/* 0C7C18 800C7018 A1CBFFFF */ sb $t3, -1($t6) -.L800C701C: -/* 0C7C1C 800C701C 3C01800E */ lui $at, %hi(gzip_inflate_input) # $at, 0x800e -/* 0C7C20 800C7020 AC2F3768 */ sw $t7, %lo(gzip_inflate_input)($at) -/* 0C7C24 800C7024 3C01800E */ lui $at, %hi(gzip_inflate_output) # $at, 0x800e -/* 0C7C28 800C7028 AC2E376C */ sw $t6, %lo(gzip_inflate_output)($at) -/* 0C7C2C 800C702C 3C018013 */ lui $at, %hi(gzip_bit_buffer) # $at, 0x8013 -/* 0C7C30 800C7030 AC2CAAD0 */ sw $t4, %lo(gzip_bit_buffer)($at) -/* 0C7C34 800C7034 3C018013 */ lui $at, %hi(gzip_num_bits) # $at, 0x8013 -/* 0C7C38 800C7038 03E00008 */ jr $ra -/* 0C7C3C 800C703C AC2DAAD4 */ sw $t5, %lo(gzip_num_bits)($at) - diff --git a/asm/math_util/arctan2_f.s b/asm/math_util/arctan2_f.s deleted file mode 100644 index 3ed872de..00000000 --- a/asm/math_util/arctan2_f.s +++ /dev/null @@ -1,13 +0,0 @@ -glabel arctan2_f -/* 071350 80070750 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 071354 80070754 44810000 */ mtc1 $at, $f0 -/* 071358 80070758 00000000 */ nop -/* 07135C 8007075C 46006302 */ mul.s $f12, $f12, $f0 -/* 071360 80070760 00000000 */ nop -/* 071364 80070764 46007382 */ mul.s $f14, $f14, $f0 -/* 071368 80070768 46006324 */ cvt.w.s $f12, $f12 -/* 07136C 8007076C 460073A4 */ cvt.w.s $f14, $f14 -/* 071370 80070770 44046000 */ mfc1 $a0, $f12 -/* 071374 80070774 44057000 */ mfc1 $a1, $f14 -/* 071378 80070778 0801C19B */ j atan2s # Does not do a jr in this func, but lets the jumped to function do it. -/* 07137C 8007077C 00000000 */ nop diff --git a/asm/math_util/area_triangle_2d.s b/asm/math_util/area_triangle_2d.s deleted file mode 100644 index 6c35cfde..00000000 --- a/asm/math_util/area_triangle_2d.s +++ /dev/null @@ -1,47 +0,0 @@ -glabel area_triangle_2d -/* 07162C 80070A2C 44862000 */ mtc1 $a2, $f4 -/* 071630 80070A30 46006006 */ mov.s $f0, $f12 -/* 071634 80070A34 44873000 */ mtc1 $a3, $f6 -/* 071638 80070A38 46002301 */ sub.s $f12, $f4, $f0 -/* 07163C 80070A3C 46007086 */ mov.s $f2, $f14 -/* 071640 80070A40 C7A80010 */ lwc1 $f8, 0x10($sp) -/* 071644 80070A44 46023381 */ sub.s $f14, $f6, $f2 -/* 071648 80070A48 460C6302 */ mul.s $f12, $f12, $f12 -/* 07164C 80070A4C C7AA0014 */ lwc1 $f10, 0x14($sp) -/* 071650 80070A50 46044401 */ sub.s $f16, $f8, $f4 -/* 071654 80070A54 460E7382 */ mul.s $f14, $f14, $f14 -/* 071658 80070A58 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07165C 80070A5C 46065481 */ sub.s $f18, $f10, $f6 -/* 071660 80070A60 46108402 */ mul.s $f16, $f16, $f16 -/* 071664 80070A64 46080001 */ sub.s $f0, $f0, $f8 -/* 071668 80070A68 46129482 */ mul.s $f18, $f18, $f18 -/* 07166C 80070A6C 460A1081 */ sub.s $f2, $f2, $f10 -/* 071670 80070A70 46000002 */ mul.s $f0, $f0, $f0 -/* 071674 80070A74 44815000 */ mtc1 $at, $f10 -/* 071678 80070A78 460E6300 */ add.s $f12, $f12, $f14 -/* 07167C 80070A7C 46021082 */ mul.s $f2, $f2, $f2 -/* 071680 80070A80 46128400 */ add.s $f16, $f16, $f18 -/* 071684 80070A84 46006304 */ sqrt.s $f12, $f12 -/* 071688 80070A88 46008404 */ sqrt.s $f16, $f16 -/* 07168C 80070A8C 46020000 */ add.s $f0, $f0, $f2 -/* 071690 80070A90 44801000 */ mtc1 $zero, $f2 -/* 071694 80070A94 46106480 */ add.s $f18, $f12, $f16 -/* 071698 80070A98 46000004 */ sqrt.s $f0, $f0 -/* 07169C 80070A9C 46009480 */ add.s $f18, $f18, $f0 -/* 0716A0 80070AA0 46125482 */ mul.s $f18, $f10, $f18 -/* 0716A4 80070AA4 460C9101 */ sub.s $f4, $f18, $f12 -/* 0716A8 80070AA8 46009201 */ sub.s $f8, $f18, $f0 -/* 0716AC 80070AAC 46122002 */ mul.s $f0, $f4, $f18 -/* 0716B0 80070AB0 46109181 */ sub.s $f6, $f18, $f16 -/* 0716B4 80070AB4 46083182 */ mul.s $f6, $f6, $f8 -/* 0716B8 80070AB8 00000000 */ nop -/* 0716BC 80070ABC 46060002 */ mul.s $f0, $f0, $f6 -/* 0716C0 80070AC0 4602003C */ c.lt.s $f0, $f2 -/* 0716C4 80070AC4 45020002 */ bc1fl .L80070AD0 -/* 0716C8 80070AC8 00000000 */ nop -/* 0716CC 80070ACC 46001006 */ mov.s $f0, $f2 -.L80070AD0: -/* 0716D0 80070AD0 03E00008 */ jr $ra -/* 0716D4 80070AD4 46000004 */ sqrt.s $f0, $f0 - - diff --git a/asm/math_util/atan2s.s b/asm/math_util/atan2s.s deleted file mode 100644 index fa98eb9d..00000000 --- a/asm/math_util/atan2s.s +++ /dev/null @@ -1,68 +0,0 @@ -glabel atan2s -/* 07126C 8007066C 00854025 */ or $t0, $a0, $a1 -/* 071270 80070670 14080003 */ bne $zero, $t0, .L80070680 -/* 071274 80070674 00000000 */ nop -/* 071278 80070678 03E00008 */ jr $ra -/* 07127C 8007067C 24020000 */ li $v0, 0 -.L80070680: -/* 071280 80070680 04800005 */ bltz $a0, .L80070698 -/* 071284 80070684 00000000 */ nop -/* 071288 80070688 04A2000B */ bltzl $a1, .L800706B8 -/* 07128C 8007068C 00052823 */ negu $a1, $a1 -/* 071290 80070690 0801C1B2 */ j .L800706C8 -/* 071294 80070694 24020000 */ li $v0, 0 -.L80070698: -/* 071298 80070698 04A00003 */ bltz $a1, .L800706A8 -/* 07129C 8007069C 00042023 */ negu $a0, $a0 -/* 0712A0 800706A0 0801C1AF */ j .L800706BC -/* 0712A4 800706A4 3402C000 */ li $v0, 49152 -.L800706A8: -/* 0712A8 800706A8 00052823 */ negu $a1, $a1 -/* 0712AC 800706AC 0801C1B2 */ j .L800706C8 -/* 0712B0 800706B0 34028000 */ li $v0, 32768 -/* 0712B4 800706B4 00052823 */ negu $a1, $a1 -.L800706B8: -/* 0712B8 800706B8 24024000 */ li $v0, 16384 -.L800706BC: -/* 0712BC 800706BC 00852026 */ xor $a0, $a0, $a1 -/* 0712C0 800706C0 00852826 */ xor $a1, $a0, $a1 -/* 0712C4 800706C4 00852026 */ xor $a0, $a0, $a1 -.L800706C8: -/* 0712C8 800706C8 00854023 */ subu $t0, $a0, $a1 -/* 0712CC 800706CC 05020012 */ bltzl $t0, .L80070718 -/* 0712D0 800706D0 000442F8 */ dsll $t0, $a0, 0xb -/* 0712D4 800706D4 000542F8 */ dsll $t0, $a1, 0xb -/* 0712D8 800706D8 0104001F */ ddivu $zero, $t0, $a0 -/* 0712DC 800706DC 3C09800E */ lui $t1, %hi(gArcTanTable) # $t1, 0x800e -/* 0712E0 800706E0 2529DC3E */ addiu $t1, %lo(gArcTanTable) # addiu $t1, $t1, -0x23c2 -/* 0712E4 800706E4 24424000 */ addiu $v0, $v0, 0x4000 -/* 0712E8 800706E8 14800002 */ bnez $a0, .L800706F4 -/* 0712EC 800706EC 00000000 */ nop -/* 0712F0 800706F0 0007000D */ break 7 -.L800706F4: -/* 0712F4 800706F4 00004012 */ mflo $t0 -/* 0712F8 800706F8 00004012 */ mflo $t0 -/* 0712FC 800706FC 31080FFE */ andi $t0, $t0, 0xffe -/* 071300 80070700 01284821 */ addu $t1, $t1, $t0 -/* 071304 80070704 85280000 */ lh $t0, ($t1) -/* 071308 80070708 00481023 */ subu $v0, $v0, $t0 -/* 07130C 8007070C 03E00008 */ jr $ra -/* 071310 80070710 3042FFFF */ andi $v0, $v0, 0xffff -/* 071314 80070714 000442F8 */ dsll $t0, $a0, 0xb -.L80070718: -/* 071318 80070718 0105001F */ ddivu $zero, $t0, $a1 -/* 07131C 8007071C 3C09800E */ lui $t1, %hi(gArcTanTable) # $t1, 0x800e -/* 071320 80070720 2529DC3E */ addiu $t1, %lo(gArcTanTable) # addiu $t1, $t1, -0x23c2 -/* 071324 80070724 14A00002 */ bnez $a1, .L80070730 -/* 071328 80070728 00000000 */ nop -/* 07132C 8007072C 0007000D */ break 7 -.L80070730: -/* 071330 80070730 00004012 */ mflo $t0 -/* 071334 80070734 00004012 */ mflo $t0 -/* 071338 80070738 31080FFE */ andi $t0, $t0, 0xffe -/* 07133C 8007073C 01284821 */ addu $t1, $t1, $t0 -/* 071340 80070740 85280000 */ lh $t0, ($t1) -/* 071344 80070744 00481021 */ addu $v0, $v0, $t0 -/* 071348 80070748 03E00008 */ jr $ra -/* 07134C 8007074C 3042FFFF */ andi $v0, $v0, 0xffff - diff --git a/asm/math_util/bad_int_sqrt.s b/asm/math_util/bad_int_sqrt.s deleted file mode 100644 index c4ebf9d3..00000000 --- a/asm/math_util/bad_int_sqrt.s +++ /dev/null @@ -1,7 +0,0 @@ -glabel bad_int_sqrt -/* 0713AC 800707AC 44840000 */ mtc1 $a0, $f0 -/* 0713B0 800707B0 00000000 */ nop -/* 0713B4 800707B4 46000004 */ sqrt.s $f0, $f0 -/* 0713B8 800707B8 44020000 */ mfc1 $v0, $f0 -/* 0713BC 800707BC 03E00008 */ jr $ra -/* 0713C0 800707C0 00000000 */ nop diff --git a/asm/math_util/calc_dyn_lighting_for_level_segment.s b/asm/math_util/calc_dyn_lighting_for_level_segment.s deleted file mode 100644 index beb85c76..00000000 --- a/asm/math_util/calc_dyn_lighting_for_level_segment.s +++ /dev/null @@ -1,98 +0,0 @@ -glabel calc_dyn_lighting_for_level_segment -/* 0714D0 800708D0 8CA90000 */ lw $t1, ($a1) -/* 0714D4 800708D4 8CAA0004 */ lw $t2, 4($a1) -/* 0714D8 800708D8 8CAB0008 */ lw $t3, 8($a1) -/* 0714DC 800708DC 94880020 */ lhu $t0, 0x20($a0) -/* 0714E0 800708E0 8C86000C */ lw $a2, 0xc($a0) -/* 0714E4 800708E4 8C85002C */ lw $a1, 0x2c($a0) -/* 0714E8 800708E8 8C840000 */ lw $a0, ($a0) -/* 0714EC 800708EC 00421026 */ xor $v0, $v0, $v0 -.L800708F0: -/* 0714F0 800708F0 90CC0006 */ lbu $t4, 6($a2) -/* 0714F4 800708F4 258CFF01 */ addiu $t4, $t4, -0xff -/* 0714F8 800708F8 51800043 */ beql $t4, $zero, .L80070A08 -/* 0714FC 800708FC 94CC0002 */ lhu $t4, 2($a2) -/* 071500 80070900 5040000C */ beql $v0, $zero, .L80070934 -/* 071504 80070904 00000000 */ nop -/* 071508 80070908 340C000A */ ori $t4, $zero, 10 -/* 07150C 8007090C 004C0019 */ multu $v0, $t4 -/* 071510 80070910 340D000A */ ori $t5, $zero, 10 -/* 071514 80070914 00006012 */ mflo $t4 -/* 071518 80070918 008C2021 */ addu $a0, $a0, $t4 -/* 07151C 8007091C 00000000 */ nop -/* 071520 80070920 004D0019 */ multu $v0, $t5 -/* 071524 80070924 00421026 */ xor $v0, $v0, $v0 -/* 071528 80070928 00006812 */ mflo $t5 -/* 07152C 8007092C 00AD2821 */ addu $a1, $a1, $t5 -/* 071530 80070930 00000000 */ nop -.L80070934: -/* 071534 80070934 94CD0002 */ lhu $t5, 2($a2) -/* 071538 80070938 94CC000E */ lhu $t4, 0xe($a2) -/* 07153C 8007093C 24C6000C */ addiu $a2, $a2, 0xc -/* 071540 80070940 018D6023 */ subu $t4, $t4, $t5 -.L80070944: -/* 071544 80070944 84AD0000 */ lh $t5, ($a1) -/* 071548 80070948 84AE0002 */ lh $t6, 2($a1) -/* 07154C 8007094C 84AF0004 */ lh $t7, 4($a1) -/* 071550 80070950 01A90018 */ mult $t5, $t1 -/* 071554 80070954 90B80007 */ lbu $t8, 7($a1) -/* 071558 80070958 90A70006 */ lbu $a3, 6($a1) -/* 07155C 8007095C 90B90008 */ lbu $t9, 8($a1) -/* 071560 80070960 0018C400 */ sll $t8, $t8, 0x10 -/* 071564 80070964 90A30009 */ lbu $v1, 9($a1) -/* 071568 80070968 00F8C025 */ or $t8, $a3, $t8 -/* 07156C 8007096C 00006812 */ mflo $t5 -/* 071570 80070970 00000000 */ nop -/* 071574 80070974 00000000 */ nop -/* 071578 80070978 01CA0018 */ mult $t6, $t2 -/* 07157C 8007097C 00007012 */ mflo $t6 -/* 071580 80070980 01AE6820 */ add $t5, $t5, $t6 -/* 071584 80070984 00000000 */ nop -/* 071588 80070988 01EB0018 */ mult $t7, $t3 -/* 07158C 8007098C 00007812 */ mflo $t7 -/* 071590 80070990 01AF6820 */ add $t5, $t5, $t7 -/* 071594 80070994 19A00007 */ blez $t5, .L800709B4 -/* 071598 80070998 00000000 */ nop -/* 07159C 8007099C 000D6D82 */ srl $t5, $t5, 0x16 -/* 0715A0 800709A0 006D1821 */ addu $v1, $v1, $t5 -/* 0715A4 800709A4 2C6D0081 */ sltiu $t5, $v1, 0x81 -/* 0715A8 800709A8 15A00002 */ bnez $t5, .L800709B4 -/* 0715AC 800709AC 00000000 */ nop -/* 0715B0 800709B0 34030080 */ ori $v1, $zero, 128 -.L800709B4: -/* 0715B4 800709B4 00780019 */ multu $v1, $t8 -/* 0715B8 800709B8 24A5000A */ addiu $a1, $a1, 0xa -/* 0715BC 800709BC 258CFFFF */ addiu $t4, $t4, -1 -/* 0715C0 800709C0 2484000A */ addiu $a0, $a0, 0xa -/* 0715C4 800709C4 0000C012 */ mflo $t8 -/* 0715C8 800709C8 0018C1C2 */ srl $t8, $t8, 7 -/* 0715CC 800709CC A098FFFC */ sb $t8, -4($a0) -/* 0715D0 800709D0 00790019 */ multu $v1, $t9 -/* 0715D4 800709D4 0018C402 */ srl $t8, $t8, 0x10 -/* 0715D8 800709D8 A098FFFD */ sb $t8, -3($a0) -/* 0715DC 800709DC 0000C812 */ mflo $t9 -/* 0715E0 800709E0 0019C9C2 */ srl $t9, $t9, 7 -/* 0715E4 800709E4 A099FFFE */ sb $t9, -2($a0) -/* 0715E8 800709E8 5580FFD6 */ bnezl $t4, .L80070944 -/* 0715EC 800709EC 00000000 */ nop -/* 0715F0 800709F0 2508FFFF */ addiu $t0, $t0, -1 -/* 0715F4 800709F4 5500FFBE */ bnezl $t0, .L800708F0 -/* 0715F8 800709F8 00000000 */ nop -/* 0715FC 800709FC 03E00008 */ jr $ra -/* 071600 80070A00 00000000 */ nop - -# Unused and a bit of a weird case. -# It blends into calc_dyn_lighting_for_level_segment if t0 != 0, -# and calc_dyn_lighting_for_level_segment can jump into this from instruction 2 -glabel func_80070A04 -/* 071604 80070A04 94CC0002 */ lhu $t4, 2($a2) -.L80070A08: -/* 071608 80070A08 94CD000E */ lhu $t5, 0xe($a2) -/* 07160C 80070A0C 24C6000C */ addiu $a2, $a2, 0xc -/* 071610 80070A10 2508FFFF */ addiu $t0, $t0, -1 -/* 071614 80070A14 01AC6023 */ subu $t4, $t5, $t4 -/* 071618 80070A18 004C1021 */ addu $v0, $v0, $t4 -/* 07161C 80070A1C 5500FFB4 */ bnezl $t0, .L800708F0 -/* 071620 80070A20 00000000 */ nop -/* 071624 80070A24 03E00008 */ jr $ra -/* 071628 80070A28 00000000 */ nop diff --git a/asm/math_util/coss.s b/asm/math_util/coss.s deleted file mode 100644 index 0483ae61..00000000 --- a/asm/math_util/coss.s +++ /dev/null @@ -1,29 +0,0 @@ -glabel coss_s16 /* Official Name: mathCosInterp */ -/* 07142C 8007082C 24844000 */ addiu $a0, $a0, 0x4000 -glabel sins_s16 /* Official name: mathSinInterp */ -/* 071430 80070830 00041440 */ sll $v0, $a0, 0x11 -/* 071434 80070834 04430003 */ bgezl $v0, .L80070844 -/* 071438 80070838 000450C2 */ srl $t2, $a0, 3 -/* 07143C 8007083C 38847FFF */ xori $a0, $a0, 0x7fff -/* 071440 80070840 000450C2 */ srl $t2, $a0, 3 -.L80070844: -/* 071444 80070844 3C02800E */ lui $v0, %hi(gSineTable) # $v0, 0x800e -/* 071448 80070848 314A07FE */ andi $t2, $t2, 0x7fe -/* 07144C 8007084C 2442D43C */ addiu $v0, %lo(gSineTable) # addiu $v0, $v0, -0x2bc4 -/* 071450 80070850 004A1021 */ addu $v0, $v0, $t2 -/* 071454 80070854 944A0002 */ lhu $t2, 2($v0) -/* 071458 80070858 94420000 */ lhu $v0, ($v0) -/* 07145C 8007085C 3089000F */ andi $t1, $a0, 0xf -/* 071460 80070860 00042400 */ sll $a0, $a0, 0x10 -/* 071464 80070864 01425023 */ subu $t2, $t2, $v0 -/* 071468 80070868 01490019 */ multu $t2, $t1 -/* 07146C 8007086C 00021040 */ sll $v0, $v0, 1 -/* 071470 80070870 00005012 */ mflo $t2 -/* 071474 80070874 000A50C2 */ srl $t2, $t2, 3 -/* 071478 80070878 04810002 */ bgez $a0, .L80070884 -/* 07147C 8007087C 004A1021 */ addu $v0, $v0, $t2 -/* 071480 80070880 00021023 */ negu $v0, $v0 -.L80070884: -/* 071484 80070884 03E00008 */ jr $ra -/* 071488 80070888 00000000 */ nop - diff --git a/asm/math_util/coss_f.s b/asm/math_util/coss_f.s deleted file mode 100644 index 5f735518..00000000 --- a/asm/math_util/coss_f.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel coss_f -/* 0713F8 800707F8 27BDFFF8 */ addiu $sp, $sp, -8 -/* 0713FC 800707FC FFBF0000 */ sd $ra, ($sp) -/* 071400 80070800 0C01C20B */ jal coss_s16 -/* 071404 80070804 00000000 */ nop -/* 071408 80070808 44820000 */ mtc1 $v0, $f0 -/* 07140C 8007080C 3C013780 */ li $at, 0x37800000 # 0.000015 -/* 071410 80070810 44811000 */ mtc1 $at, $f2 -/* 071414 80070814 46800020 */ cvt.s.w $f0, $f0 -/* 071418 80070818 DFBF0000 */ ld $ra, ($sp) -/* 07141C 8007081C 27BD0008 */ addiu $sp, $sp, 8 -/* 071420 80070820 46020002 */ mul.s $f0, $f0, $f2 -/* 071424 80070824 03E00008 */ jr $ra -/* 071428 80070828 00000000 */ nop - diff --git a/asm/math_util/disable_interrupts.s b/asm/math_util/disable_interrupts.s deleted file mode 100644 index 7446d4a1..00000000 --- a/asm/math_util/disable_interrupts.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel interrupts_disable /* Official name: disableInterrupts */ -/* 070110 8006F510 3C08800E */ lui $t0, %hi(gIntDisFlag) # $t0, 0x800e -/* 070114 8006F514 8108D430 */ lb $t0, %lo(gIntDisFlag)($t0) -/* 070118 8006F518 11000006 */ beqz $t0, .L8006F534 -/* 07011C 8006F51C 40086000 */ mfc0 $t0, $12 # C0_SR - Status Register -/* 070120 8006F520 2401FFFE */ li $at, -2 -/* 070124 8006F524 01014824 */ and $t1, $t0, $at -/* 070128 8006F528 40896000 */ mtc0 $t1, $12 -/* 07012C 8006F52C 31020001 */ andi $v0, $t0, 1 -/* 070130 8006F530 00000000 */ nop -.L8006F534: -/* 070134 8006F534 03E00008 */ jr $ra -/* 070138 8006F538 00000000 */ nop - diff --git a/asm/math_util/dmacopy_doubleword.s b/asm/math_util/dmacopy_doubleword.s deleted file mode 100644 index 5dca02b4..00000000 --- a/asm/math_util/dmacopy_doubleword.s +++ /dev/null @@ -1,11 +0,0 @@ -glabel dmacopy_doubleword -.L80070B04: -/* 071704 80070B04 DC880000 */ ld $t0, ($a0) -/* 071708 80070B08 DC890008 */ ld $t1, 8($a0) -/* 07170C 80070B0C 20A50010 */ addi $a1, $a1, 0x10 -/* 071710 80070B10 20840010 */ addi $a0, $a0, 0x10 -/* 071714 80070B14 FCA8FFF0 */ sd $t0, -0x10($a1) -/* 071718 80070B18 14A6FFFA */ bne $a1, $a2, .L80070B04 -/* 07171C 80070B1C FCA9FFF8 */ sd $t1, -8($a1) -/* 071720 80070B20 03E00008 */ jr $ra -/* 071724 80070B24 00000000 */ nop diff --git a/asm/math_util/enable_interrupts.s b/asm/math_util/enable_interrupts.s deleted file mode 100644 index 8a2ab4d5..00000000 --- a/asm/math_util/enable_interrupts.s +++ /dev/null @@ -1,13 +0,0 @@ -glabel interrupts_enable /* Official name: enableInterrupts */ -/* 07013C 8006F53C 3C08800E */ lui $t0, %hi(gIntDisFlag) # $t0, 0x800e -/* 070140 8006F540 8108D430 */ lb $t0, %lo(gIntDisFlag)($t0) -/* 070144 8006F544 11000005 */ beqz $t0, .L8006F55C # Identical to __osRestoreInt below this line -/* 070148 8006F548 40086000 */ mfc0 $t0, $12 # C0_SR - Status Register -/* 07014C 8006F54C 01044025 */ or $t0, $t0, $a0 -/* 070150 8006F550 40886000 */ mtc0 $t0, $12 -/* 070154 8006F554 00000000 */ nop -/* 070158 8006F558 00000000 */ nop -.L8006F55C: -/* 07015C 8006F55C 03E00008 */ jr $ra -/* 070160 8006F560 00000000 */ nop - diff --git a/asm/math_util/f32_matrix_dot.s b/asm/math_util/f32_matrix_dot.s deleted file mode 100644 index 6dd7d74c..00000000 --- a/asm/math_util/f32_matrix_dot.s +++ /dev/null @@ -1,34 +0,0 @@ -/* Official name: mathMtxFastXFMF */ -glabel f32_matrix_dot -/* 0702EC 8006F6EC C4A40000 */ lwc1 $f4, ($a1) -/* 0702F0 8006F6F0 C48A0000 */ lwc1 $f10, ($a0) -/* 0702F4 8006F6F4 C4A60004 */ lwc1 $f6, 4($a1) -/* 0702F8 8006F6F8 C48C0010 */ lwc1 $f12, 0x10($a0) -/* 0702FC 8006F6FC 460A2282 */ mul.s $f10, $f4, $f10 -/* 070300 8006F700 C4A80008 */ lwc1 $f8, 8($a1) -/* 070304 8006F704 C48E0020 */ lwc1 $f14, 0x20($a0) -/* 070308 8006F708 460C3302 */ mul.s $f12, $f6, $f12 -/* 07030C 8006F70C 460C5300 */ add.s $f12, $f10, $f12 -/* 070310 8006F710 460E4382 */ mul.s $f14, $f8, $f14 -/* 070314 8006F714 C48A0004 */ lwc1 $f10, 4($a0) -/* 070318 8006F718 460A2282 */ mul.s $f10, $f4, $f10 -/* 07031C 8006F71C 460E6400 */ add.s $f16, $f12, $f14 -/* 070320 8006F720 C48C0014 */ lwc1 $f12, 0x14($a0) -/* 070324 8006F724 C48E0024 */ lwc1 $f14, 0x24($a0) -/* 070328 8006F728 460C3302 */ mul.s $f12, $f6, $f12 -/* 07032C 8006F72C E4D00000 */ swc1 $f16, ($a2) -/* 070330 8006F730 460E4382 */ mul.s $f14, $f8, $f14 -/* 070334 8006F734 460C5300 */ add.s $f12, $f10, $f12 -/* 070338 8006F738 C48A0008 */ lwc1 $f10, 8($a0) -/* 07033C 8006F73C 460E6400 */ add.s $f16, $f12, $f14 -/* 070340 8006F740 460A2282 */ mul.s $f10, $f4, $f10 -/* 070344 8006F744 C48C0018 */ lwc1 $f12, 0x18($a0) -/* 070348 8006F748 C48E0028 */ lwc1 $f14, 0x28($a0) -/* 07034C 8006F74C E4D00004 */ swc1 $f16, 4($a2) -/* 070350 8006F750 460C3302 */ mul.s $f12, $f6, $f12 -/* 070354 8006F754 460C5300 */ add.s $f12, $f10, $f12 -/* 070358 8006F758 460E4382 */ mul.s $f14, $f8, $f14 -/* 07035C 8006F75C 460E6380 */ add.s $f14, $f12, $f14 -/* 070360 8006F760 03E00008 */ jr $ra -/* 070364 8006F764 E4CE0008 */ swc1 $f14, 8($a2) - diff --git a/asm/math_util/f32_matrix_from_position.s b/asm/math_util/f32_matrix_from_position.s deleted file mode 100644 index 903b1df0..00000000 --- a/asm/math_util/f32_matrix_from_position.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel f32_matrix_from_position -/* 0711F8 800705F8 00804025 */ move $t0, $a0 -/* 0711FC 800705FC 25090040 */ addiu $t1, $t0, 0x40 -.L80070600: -/* 071200 80070600 25080004 */ addiu $t0, $t0, 4 -/* 071204 80070604 1528FFFE */ bne $t1, $t0, .L80070600 -/* 071208 80070608 AD00FFFC */ sw $zero, -4($t0) -/* 07120C 8007060C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 071210 80070610 44819000 */ mtc1 $at, $f18 -/* 071214 80070614 00000000 */ nop -/* 071218 80070618 E4920000 */ swc1 $f18, ($a0) -/* 07121C 8007061C E4920014 */ swc1 $f18, 0x14($a0) -/* 071220 80070620 E4920028 */ swc1 $f18, 0x28($a0) -/* 071224 80070624 E492003C */ swc1 $f18, 0x3c($a0) -/* 071228 80070628 AC850030 */ sw $a1, 0x30($a0) -/* 07122C 8007062C AC860034 */ sw $a2, 0x34($a0) -/* 071230 80070630 03E00008 */ jr $ra -/* 071234 80070634 AC870038 */ sw $a3, 0x38($a0) - diff --git a/asm/math_util/f32_matrix_from_rotation_and_scale.s b/asm/math_util/f32_matrix_from_rotation_and_scale.s deleted file mode 100644 index d21dcbc6..00000000 --- a/asm/math_util/f32_matrix_from_rotation_and_scale.s +++ /dev/null @@ -1,47 +0,0 @@ -glabel f32_matrix_from_rotation_and_scale -/* 070D30 80070130 27BDFFF8 */ addiu $sp, $sp, -8 -/* 070D34 80070134 00E0C825 */ move $t9, $a3 -/* 070D38 80070138 3C013780 */ li $at, 0x37800000 # 0.000015 -/* 070D3C 8007013C FFBF0000 */ sd $ra, ($sp) -/* 070D40 80070140 00803825 */ move $a3, $a0 -/* 070D44 80070144 44819000 */ mtc1 $at, $f18 -/* 070D48 80070148 0C01C20C */ jal sins_s16 -/* 070D4C 8007014C 00A02025 */ move $a0, $a1 -/* 070D50 80070150 44824000 */ mtc1 $v0, $f8 -/* 070D54 80070154 00A02025 */ move $a0, $a1 -/* 070D58 80070158 46804220 */ cvt.s.w $f8, $f8 -/* 070D5C 8007015C 46124202 */ mul.s $f8, $f8, $f18 -/* 070D60 80070160 0C01C20B */ jal coss_s16 -/* 070D64 80070164 00000000 */ nop -/* 070D68 80070168 44825000 */ mtc1 $v0, $f10 -/* 070D6C 8007016C 44868000 */ mtc1 $a2, $f16 -/* 070D70 80070170 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 070D74 80070174 468052A0 */ cvt.s.w $f10, $f10 -/* 070D78 80070178 E4F00028 */ swc1 $f16, 0x28($a3) -/* 070D7C 8007017C ACE00008 */ sw $zero, 8($a3) -/* 070D80 80070180 ACE0000C */ sw $zero, 0xc($a3) -/* 070D84 80070184 ACE00018 */ sw $zero, 0x18($a3) -/* 070D88 80070188 ACE0001C */ sw $zero, 0x1c($a3) -/* 070D8C 8007018C 46125282 */ mul.s $f10, $f10, $f18 -/* 070D90 80070190 44999000 */ mtc1 $t9, $f18 -/* 070D94 80070194 ACE00020 */ sw $zero, 0x20($a3) -/* 070D98 80070198 ACE00024 */ sw $zero, 0x24($a3) -/* 070D9C 8007019C ACE0002C */ sw $zero, 0x2c($a3) -/* 070DA0 800701A0 ACE00030 */ sw $zero, 0x30($a3) -/* 070DA4 800701A4 ACE00034 */ sw $zero, 0x34($a3) -/* 070DA8 800701A8 46105282 */ mul.s $f10, $f10, $f16 -/* 070DAC 800701AC ACE00038 */ sw $zero, 0x38($a3) -/* 070DB0 800701B0 46104202 */ mul.s $f8, $f8, $f16 -/* 070DB4 800701B4 44818000 */ mtc1 $at, $f16 -/* 070DB8 800701B8 E4EA0000 */ swc1 $f10, ($a3) -/* 070DBC 800701BC 46125282 */ mul.s $f10, $f10, $f18 -/* 070DC0 800701C0 E4F0003C */ swc1 $f16, 0x3c($a3) -/* 070DC4 800701C4 E4E80004 */ swc1 $f8, 4($a3) -/* 070DC8 800701C8 46004207 */ neg.s $f8, $f8 -/* 070DCC 800701CC E4E80010 */ swc1 $f8, 0x10($a3) -/* 070DD0 800701D0 E4EA0014 */ swc1 $f10, 0x14($a3) -/* 070DD4 800701D4 DFBF0000 */ ld $ra, ($sp) -/* 070DD8 800701D8 27BD0008 */ addiu $sp, $sp, 8 -/* 070DDC 800701DC 03E00008 */ jr $ra -/* 070DE0 800701E0 00000000 */ nop - diff --git a/asm/math_util/f32_matrix_from_scale.s b/asm/math_util/f32_matrix_from_scale.s deleted file mode 100644 index c481ce5e..00000000 --- a/asm/math_util/f32_matrix_from_scale.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel f32_matrix_from_scale -/* 071238 80070638 00804025 */ move $t0, $a0 -/* 07123C 8007063C 25090040 */ addiu $t1, $t0, 0x40 -.L80070640: -/* 071240 80070640 25080004 */ addiu $t0, $t0, 4 -/* 071244 80070644 1528FFFE */ bne $t1, $t0, .L80070640 -/* 071248 80070648 AD00FFFC */ sw $zero, -4($t0) -/* 07124C 8007064C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 071250 80070650 44819000 */ mtc1 $at, $f18 -/* 071254 80070654 00000000 */ nop -/* 071258 80070658 E492003C */ swc1 $f18, 0x3c($a0) -/* 07125C 8007065C AC850000 */ sw $a1, ($a0) -/* 071260 80070660 AC860014 */ sw $a2, 0x14($a0) -/* 071264 80070664 03E00008 */ jr $ra -/* 071268 80070668 AC870028 */ sw $a3, 0x28($a0) - diff --git a/asm/math_util/f32_matrix_mult.s b/asm/math_util/f32_matrix_mult.s deleted file mode 100644 index 29a86658..00000000 --- a/asm/math_util/f32_matrix_mult.s +++ /dev/null @@ -1,70 +0,0 @@ -/* Official name: mathMtxCatF */ -glabel f32_matrix_mult -/* 070368 8006F768 27BDFFF8 */ addiu $sp, $sp, -8 -/* 07036C 8006F76C F7A20000 */ sdc1 $f2, ($sp) -/* 070370 8006F770 34080004 */ ori $t0, $zero, 4 -.L8006F774: -/* 070374 8006F774 C4820000 */ lwc1 $f2, ($a0) -/* 070378 8006F778 C4AA0000 */ lwc1 $f10, ($a1) -/* 07037C 8006F77C C4840004 */ lwc1 $f4, 4($a0) -/* 070380 8006F780 C4AC0010 */ lwc1 $f12, 0x10($a1) -/* 070384 8006F784 460A1282 */ mul.s $f10, $f2, $f10 -/* 070388 8006F788 C4860008 */ lwc1 $f6, 8($a0) -/* 07038C 8006F78C C4AE0020 */ lwc1 $f14, 0x20($a1) -/* 070390 8006F790 460C2302 */ mul.s $f12, $f4, $f12 -/* 070394 8006F794 C488000C */ lwc1 $f8, 0xc($a0) -/* 070398 8006F798 C4B00030 */ lwc1 $f16, 0x30($a1) -/* 07039C 8006F79C 460E3382 */ mul.s $f14, $f6, $f14 -/* 0703A0 8006F7A0 24840010 */ addiu $a0, $a0, 0x10 -/* 0703A4 8006F7A4 24C60010 */ addiu $a2, $a2, 0x10 -/* 0703A8 8006F7A8 46104402 */ mul.s $f16, $f8, $f16 -/* 0703AC 8006F7AC 2508FFFF */ addiu $t0, $t0, -1 -/* 0703B0 8006F7B0 460E6380 */ add.s $f14, $f12, $f14 -/* 0703B4 8006F7B4 C4AC0014 */ lwc1 $f12, 0x14($a1) -/* 0703B8 8006F7B8 46105400 */ add.s $f16, $f10, $f16 -/* 0703BC 8006F7BC C4AA0004 */ lwc1 $f10, 4($a1) -/* 0703C0 8006F7C0 460A1282 */ mul.s $f10, $f2, $f10 -/* 0703C4 8006F7C4 46107480 */ add.s $f18, $f14, $f16 -/* 0703C8 8006F7C8 C4AE0024 */ lwc1 $f14, 0x24($a1) -/* 0703CC 8006F7CC 460C2302 */ mul.s $f12, $f4, $f12 -/* 0703D0 8006F7D0 C4B00034 */ lwc1 $f16, 0x34($a1) -/* 0703D4 8006F7D4 E4D2FFF0 */ swc1 $f18, -0x10($a2) -/* 0703D8 8006F7D8 460E3382 */ mul.s $f14, $f6, $f14 -/* 0703DC 8006F7DC 00000000 */ nop -/* 0703E0 8006F7E0 46104402 */ mul.s $f16, $f8, $f16 -/* 0703E4 8006F7E4 460E6380 */ add.s $f14, $f12, $f14 -/* 0703E8 8006F7E8 C4AC0018 */ lwc1 $f12, 0x18($a1) -/* 0703EC 8006F7EC 46105400 */ add.s $f16, $f10, $f16 -/* 0703F0 8006F7F0 C4AA0008 */ lwc1 $f10, 8($a1) -/* 0703F4 8006F7F4 460A1282 */ mul.s $f10, $f2, $f10 -/* 0703F8 8006F7F8 46107480 */ add.s $f18, $f14, $f16 -/* 0703FC 8006F7FC C4AE0028 */ lwc1 $f14, 0x28($a1) -/* 070400 8006F800 460C2302 */ mul.s $f12, $f4, $f12 -/* 070404 8006F804 C4B00038 */ lwc1 $f16, 0x38($a1) -/* 070408 8006F808 E4D2FFF4 */ swc1 $f18, -0xc($a2) -/* 07040C 8006F80C 460E3382 */ mul.s $f14, $f6, $f14 -/* 070410 8006F810 00000000 */ nop -/* 070414 8006F814 46104402 */ mul.s $f16, $f8, $f16 -/* 070418 8006F818 460E6380 */ add.s $f14, $f12, $f14 -/* 07041C 8006F81C C4AC001C */ lwc1 $f12, 0x1c($a1) -/* 070420 8006F820 46105400 */ add.s $f16, $f10, $f16 -/* 070424 8006F824 C4AA000C */ lwc1 $f10, 0xc($a1) -/* 070428 8006F828 460A1282 */ mul.s $f10, $f2, $f10 -/* 07042C 8006F82C 46107480 */ add.s $f18, $f14, $f16 -/* 070430 8006F830 C4AE002C */ lwc1 $f14, 0x2c($a1) -/* 070434 8006F834 460C2302 */ mul.s $f12, $f4, $f12 -/* 070438 8006F838 C4B0003C */ lwc1 $f16, 0x3c($a1) -/* 07043C 8006F83C E4D2FFF8 */ swc1 $f18, -8($a2) -/* 070440 8006F840 460E3382 */ mul.s $f14, $f6, $f14 -/* 070444 8006F844 00000000 */ nop -/* 070448 8006F848 46104402 */ mul.s $f16, $f8, $f16 -/* 07044C 8006F84C 460E6380 */ add.s $f14, $f12, $f14 -/* 070450 8006F850 46105400 */ add.s $f16, $f10, $f16 -/* 070454 8006F854 46107480 */ add.s $f18, $f14, $f16 -/* 070458 8006F858 E4D2FFFC */ swc1 $f18, -4($a2) -/* 07045C 8006F85C 5500FFC5 */ bnezl $t0, .L8006F774 -/* 070460 8006F860 00000000 */ nop -/* 070464 8006F864 D7A20000 */ ldc1 $f2, ($sp) -/* 070468 8006F868 03E00008 */ jr $ra -/* 07046C 8006F86C 27BD0008 */ addiu $sp, $sp, 8 - diff --git a/asm/math_util/f32_matrix_scale.s b/asm/math_util/f32_matrix_scale.s deleted file mode 100644 index 1fca20f8..00000000 --- a/asm/math_util/f32_matrix_scale.s +++ /dev/null @@ -1,13 +0,0 @@ -glabel f32_matrix_scale -/* 070A04 8006FE04 44859000 */ mtc1 $a1, $f18 -/* 070A08 8006FE08 C4900010 */ lwc1 $f16, 0x10($a0) -/* 070A0C 8006FE0C 46128402 */ mul.s $f16, $f16, $f18 -/* 070A10 8006FE10 E4900010 */ swc1 $f16, 0x10($a0) -/* 070A14 8006FE14 C4F00014 */ lwc1 $f16, 0x14($a3) -/* 070A18 8006FE18 46128402 */ mul.s $f16, $f16, $f18 -/* 070A1C 8006FE1C E4900014 */ swc1 $f16, 0x14($a0) -/* 070A20 8006FE20 C4900018 */ lwc1 $f16, 0x18($a0) -/* 070A24 8006FE24 46128402 */ mul.s $f16, $f16, $f18 -/* 070A28 8006FE28 03E00008 */ jr $ra -/* 070A2C 8006FE2C E4900018 */ swc1 $f16, 0x18($a0) - diff --git a/asm/math_util/f32_matrix_to_s16_matrix.s b/asm/math_util/f32_matrix_to_s16_matrix.s deleted file mode 100644 index 808052bd..00000000 --- a/asm/math_util/f32_matrix_to_s16_matrix.s +++ /dev/null @@ -1,43 +0,0 @@ -/* Official Name: mathMtxF2L */ -glabel f32_matrix_to_s16_matrix -/* 070470 8006F870 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 070474 8006F874 44816000 */ mtc1 $at, $f12 -/* 070478 8006F878 34080004 */ ori $t0, $zero, 4 -.L8006F87C: -/* 07047C 8006F87C C4840000 */ lwc1 $f4, ($a0) -/* 070480 8006F880 C4860004 */ lwc1 $f6, 4($a0) -/* 070484 8006F884 C4880008 */ lwc1 $f8, 8($a0) -/* 070488 8006F888 460C2102 */ mul.s $f4, $f4, $f12 -/* 07048C 8006F88C C48A000C */ lwc1 $f10, 0xc($a0) -/* 070490 8006F890 24840010 */ addiu $a0, $a0, 0x10 -/* 070494 8006F894 460C3182 */ mul.s $f6, $f6, $f12 -/* 070498 8006F898 24A50008 */ addiu $a1, $a1, 8 -/* 07049C 8006F89C 2508FFFF */ addiu $t0, $t0, -1 -/* 0704A0 8006F8A0 460C4202 */ mul.s $f8, $f8, $f12 -/* 0704A4 8006F8A4 00000000 */ nop -/* 0704A8 8006F8A8 460C5282 */ mul.s $f10, $f10, $f12 -/* 0704AC 8006F8AC 46002124 */ cvt.w.s $f4, $f4 -/* 0704B0 8006F8B0 460031A4 */ cvt.w.s $f6, $f6 -/* 0704B4 8006F8B4 44092000 */ mfc1 $t1, $f4 -/* 0704B8 8006F8B8 46004224 */ cvt.w.s $f8, $f8 -/* 0704BC 8006F8BC 440A3000 */ mfc1 $t2, $f6 -/* 0704C0 8006F8C0 A4A90018 */ sh $t1, 0x18($a1) -/* 0704C4 8006F8C4 460052A4 */ cvt.w.s $f10, $f10 -/* 0704C8 8006F8C8 440B4000 */ mfc1 $t3, $f8 -/* 0704CC 8006F8CC A4AA001A */ sh $t2, 0x1a($a1) -/* 0704D0 8006F8D0 00094C02 */ srl $t1, $t1, 0x10 -/* 0704D4 8006F8D4 440C5000 */ mfc1 $t4, $f10 -/* 0704D8 8006F8D8 A4AB001C */ sh $t3, 0x1c($a1) -/* 0704DC 8006F8DC 000A5402 */ srl $t2, $t2, 0x10 -/* 0704E0 8006F8E0 A4AC001E */ sh $t4, 0x1e($a1) -/* 0704E4 8006F8E4 000B5C02 */ srl $t3, $t3, 0x10 -/* 0704E8 8006F8E8 000C6402 */ srl $t4, $t4, 0x10 -/* 0704EC 8006F8EC A4A9FFF8 */ sh $t1, -8($a1) -/* 0704F0 8006F8F0 A4AAFFFA */ sh $t2, -6($a1) -/* 0704F4 8006F8F4 A4ABFFFC */ sh $t3, -4($a1) -/* 0704F8 8006F8F8 A4ACFFFE */ sh $t4, -2($a1) -/* 0704FC 8006F8FC 5500FFDF */ bnezl $t0, .L8006F87C -/* 070500 8006F900 00000000 */ nop -/* 070504 8006F904 03E00008 */ jr $ra -/* 070508 8006F908 00000000 */ nop - diff --git a/asm/math_util/f32_matrix_to_s32_matrix.s b/asm/math_util/f32_matrix_to_s32_matrix.s deleted file mode 100644 index c8d9df6f..00000000 --- a/asm/math_util/f32_matrix_to_s32_matrix.s +++ /dev/null @@ -1,30 +0,0 @@ -glabel f32_matrix_to_s32_matrix -/* 0701E0 8006F5E0 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0701E4 8006F5E4 44816000 */ mtc1 $at, $f12 -/* 0701E8 8006F5E8 34080004 */ ori $t0, $zero, 4 -.L8006F5EC: -/* 0701EC 8006F5EC C4840000 */ lwc1 $f4, ($a0) -/* 0701F0 8006F5F0 C4860004 */ lwc1 $f6, 4($a0) -/* 0701F4 8006F5F4 C4880008 */ lwc1 $f8, 8($a0) -/* 0701F8 8006F5F8 460C2102 */ mul.s $f4, $f4, $f12 -/* 0701FC 8006F5FC C48A000C */ lwc1 $f10, 0xc($a0) -/* 070200 8006F600 24840010 */ addiu $a0, $a0, 0x10 -/* 070204 8006F604 460C3182 */ mul.s $f6, $f6, $f12 -/* 070208 8006F608 2508FFFF */ addiu $t0, $t0, -1 -/* 07020C 8006F60C 24A50010 */ addiu $a1, $a1, 0x10 -/* 070210 8006F610 460C4202 */ mul.s $f8, $f8, $f12 -/* 070214 8006F614 00000000 */ nop -/* 070218 8006F618 460C5282 */ mul.s $f10, $f10, $f12 -/* 07021C 8006F61C 4600210D */ trunc.w.s $f4, $f4 -/* 070220 8006F620 4600318D */ trunc.w.s $f6, $f6 -/* 070224 8006F624 E4A4FFF0 */ swc1 $f4, -0x10($a1) -/* 070228 8006F628 4600420D */ trunc.w.s $f8, $f8 -/* 07022C 8006F62C E4A6FFF4 */ swc1 $f6, -0xc($a1) -/* 070230 8006F630 4600528D */ trunc.w.s $f10, $f10 -/* 070234 8006F634 E4A8FFF8 */ swc1 $f8, -8($a1) -/* 070238 8006F638 E4AAFFFC */ swc1 $f10, -4($a1) -/* 07023C 8006F63C 5500FFEB */ bnezl $t0, .L8006F5EC -/* 070240 8006F640 00000000 */ nop -/* 070244 8006F644 03E00008 */ jr $ra -/* 070248 8006F648 00000000 */ nop - diff --git a/asm/math_util/f32_matrix_y_scale.s b/asm/math_util/f32_matrix_y_scale.s deleted file mode 100644 index d223cd00..00000000 --- a/asm/math_util/f32_matrix_y_scale.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel f32_matrix_y_scale -/* 070A30 8006FE30 44858000 */ mtc1 $a1, $f16 -/* 070A34 8006FE34 C4800010 */ lwc1 $f0, 0x10($a0) -/* 070A38 8006FE38 C4840014 */ lwc1 $f4, 0x14($a0) -/* 070A3C 8006FE3C C4880018 */ lwc1 $f8, 0x18($a0) -/* 070A40 8006FE40 46100002 */ mul.s $f0, $f0, $f16 -/* 070A44 8006FE44 C4820030 */ lwc1 $f2, 0x30($a0) -/* 070A48 8006FE48 C4860034 */ lwc1 $f6, 0x34($a0) -/* 070A4C 8006FE4C 46102102 */ mul.s $f4, $f4, $f16 -/* 070A50 8006FE50 C48A0038 */ lwc1 $f10, 0x38($a0) -/* 070A54 8006FE54 46104202 */ mul.s $f8, $f8, $f16 -/* 070A58 8006FE58 46020000 */ add.s $f0, $f0, $f2 -/* 070A5C 8006FE5C 46062100 */ add.s $f4, $f4, $f6 -/* 070A60 8006FE60 E4800030 */ swc1 $f0, 0x30($a0) -/* 070A64 8006FE64 460A4200 */ add.s $f8, $f8, $f10 -/* 070A68 8006FE68 E4840034 */ swc1 $f4, 0x34($a0) -/* 070A6C 8006FE6C 03E00008 */ jr $ra -/* 070A70 8006FE70 E4880038 */ swc1 $f8, 0x38($a0) - diff --git a/asm/math_util/f32_vec3_apply_object_rotation.s b/asm/math_util/f32_vec3_apply_object_rotation.s deleted file mode 100644 index 3db6a355..00000000 --- a/asm/math_util/f32_vec3_apply_object_rotation.s +++ /dev/null @@ -1,49 +0,0 @@ -/* Official Name: mathOneFloatRPY */ -glabel f32_vec3_apply_object_rotation -/* 070F20 80070320 27BDFFF8 */ addiu $sp, $sp, -8 -/* 070F24 80070324 FFBF0000 */ sd $ra, ($sp) -/* 070F28 80070328 00803025 */ move $a2, $a0 -/* 070F2C 8007032C C4A40000 */ lwc1 $f4, ($a1) -/* 070F30 80070330 C4A60004 */ lwc1 $f6, 4($a1) -/* 070F34 80070334 C4A80008 */ lwc1 $f8, 8($a1) -/* 070F38 80070338 0C01C1F1 */ jal sins_f -/* 070F3C 8007033C 84C40004 */ lh $a0, 4($a2) -/* 070F40 80070340 46002282 */ mul.s $f10, $f4, $f0 -/* 070F44 80070344 84C40004 */ lh $a0, 4($a2) -/* 070F48 80070348 46003302 */ mul.s $f12, $f6, $f0 -/* 070F4C 8007034C 0C01C1FE */ jal coss_f -/* 070F50 80070350 00000000 */ nop -/* 070F54 80070354 46002102 */ mul.s $f4, $f4, $f0 -/* 070F58 80070358 84C40002 */ lh $a0, 2($a2) -/* 070F5C 8007035C 46003182 */ mul.s $f6, $f6, $f0 -/* 070F60 80070360 460C2101 */ sub.s $f4, $f4, $f12 -/* 070F64 80070364 0C01C1F1 */ jal sins_f -/* 070F68 80070368 460A3180 */ add.s $f6, $f6, $f10 -/* 070F6C 8007036C 46003282 */ mul.s $f10, $f6, $f0 -/* 070F70 80070370 84C40002 */ lh $a0, 2($a2) -/* 070F74 80070374 46004302 */ mul.s $f12, $f8, $f0 -/* 070F78 80070378 0C01C1FE */ jal coss_f -/* 070F7C 8007037C 00000000 */ nop -/* 070F80 80070380 46003182 */ mul.s $f6, $f6, $f0 -/* 070F84 80070384 84C40000 */ lh $a0, ($a2) -/* 070F88 80070388 46004202 */ mul.s $f8, $f8, $f0 -/* 070F8C 8007038C 460C3181 */ sub.s $f6, $f6, $f12 -/* 070F90 80070390 0C01C1F1 */ jal sins_f -/* 070F94 80070394 460A4200 */ add.s $f8, $f8, $f10 -/* 070F98 80070398 46002282 */ mul.s $f10, $f4, $f0 -/* 070F9C 8007039C 84C40000 */ lh $a0, ($a2) -/* 070FA0 800703A0 46004302 */ mul.s $f12, $f8, $f0 -/* 070FA4 800703A4 0C01C1FE */ jal coss_f -/* 070FA8 800703A8 00000000 */ nop -/* 070FAC 800703AC 46002102 */ mul.s $f4, $f4, $f0 -/* 070FB0 800703B0 E4A60004 */ swc1 $f6, 4($a1) -/* 070FB4 800703B4 46004202 */ mul.s $f8, $f8, $f0 -/* 070FB8 800703B8 460C2100 */ add.s $f4, $f4, $f12 -/* 070FBC 800703BC 460A4201 */ sub.s $f8, $f8, $f10 -/* 070FC0 800703C0 E4A40000 */ swc1 $f4, ($a1) -/* 070FC4 800703C4 E4A80008 */ swc1 $f8, 8($a1) -/* 070FC8 800703C8 DFBF0000 */ ld $ra, ($sp) -/* 070FCC 800703CC 27BD0008 */ addiu $sp, $sp, 8 -/* 070FD0 800703D0 03E00008 */ jr $ra -/* 070FD4 800703D4 00000000 */ nop - diff --git a/asm/math_util/f32_vec3_apply_object_rotation2.s b/asm/math_util/f32_vec3_apply_object_rotation2.s deleted file mode 100644 index ab26d0cd..00000000 --- a/asm/math_util/f32_vec3_apply_object_rotation2.s +++ /dev/null @@ -1,49 +0,0 @@ -/* Official Name: mathOneFloatYPR */ -glabel f32_vec3_apply_object_rotation2 -/* 070FD8 800703D8 27BDFFF8 */ addiu $sp, $sp, -8 -/* 070FDC 800703DC FFBF0000 */ sd $ra, ($sp) -/* 070FE0 800703E0 00803025 */ move $a2, $a0 -/* 070FE4 800703E4 C4A40000 */ lwc1 $f4, ($a1) -/* 070FE8 800703E8 C4A60004 */ lwc1 $f6, 4($a1) -/* 070FEC 800703EC C4A80008 */ lwc1 $f8, 8($a1) -/* 070FF0 800703F0 0C01C1F1 */ jal sins_f -/* 070FF4 800703F4 84C40000 */ lh $a0, ($a2) -/* 070FF8 800703F8 46002282 */ mul.s $f10, $f4, $f0 -/* 070FFC 800703FC 84C40000 */ lh $a0, ($a2) -/* 071000 80070400 46004302 */ mul.s $f12, $f8, $f0 -/* 071004 80070404 0C01C1FE */ jal coss_f -/* 071008 80070408 00000000 */ nop -/* 07100C 8007040C 46002102 */ mul.s $f4, $f4, $f0 -/* 071010 80070410 84C40002 */ lh $a0, 2($a2) -/* 071014 80070414 46004202 */ mul.s $f8, $f8, $f0 -/* 071018 80070418 460C2100 */ add.s $f4, $f4, $f12 -/* 07101C 8007041C 0C01C1F1 */ jal sins_f -/* 071020 80070420 460A4201 */ sub.s $f8, $f8, $f10 -/* 071024 80070424 46003282 */ mul.s $f10, $f6, $f0 -/* 071028 80070428 84C40002 */ lh $a0, 2($a2) -/* 07102C 8007042C 46004302 */ mul.s $f12, $f8, $f0 -/* 071030 80070430 0C01C1FE */ jal coss_f -/* 071034 80070434 00000000 */ nop -/* 071038 80070438 46003182 */ mul.s $f6, $f6, $f0 -/* 07103C 8007043C 84C40004 */ lh $a0, 4($a2) -/* 071040 80070440 46004202 */ mul.s $f8, $f8, $f0 -/* 071044 80070444 460C3181 */ sub.s $f6, $f6, $f12 -/* 071048 80070448 0C01C1F1 */ jal sins_f -/* 07104C 8007044C 460A4200 */ add.s $f8, $f8, $f10 -/* 071050 80070450 46002282 */ mul.s $f10, $f4, $f0 -/* 071054 80070454 84C40004 */ lh $a0, 4($a2) -/* 071058 80070458 46003302 */ mul.s $f12, $f6, $f0 -/* 07105C 8007045C 0C01C1FE */ jal coss_f -/* 071060 80070460 00000000 */ nop -/* 071064 80070464 46002102 */ mul.s $f4, $f4, $f0 -/* 071068 80070468 E4A80008 */ swc1 $f8, 8($a1) -/* 07106C 8007046C 46003182 */ mul.s $f6, $f6, $f0 -/* 071070 80070470 460C2101 */ sub.s $f4, $f4, $f12 -/* 071074 80070474 460A3180 */ add.s $f6, $f6, $f10 -/* 071078 80070478 E4A40000 */ swc1 $f4, ($a1) -/* 07107C 8007047C E4A60004 */ swc1 $f6, 4($a1) -/* 071080 80070480 DFBF0000 */ ld $ra, ($sp) -/* 071084 80070484 27BD0008 */ addiu $sp, $sp, 8 -/* 071088 80070488 03E00008 */ jr $ra -/* 07108C 8007048C 00000000 */ nop - diff --git a/asm/math_util/f32_vec3_apply_object_rotation3.s b/asm/math_util/f32_vec3_apply_object_rotation3.s deleted file mode 100644 index da480cc1..00000000 --- a/asm/math_util/f32_vec3_apply_object_rotation3.s +++ /dev/null @@ -1,27 +0,0 @@ -/* Official Name: mathOneFloatPY */ -glabel f32_vec3_apply_object_rotation3 -/* 071090 80070490 27BDFFF8 */ addiu $sp, $sp, -8 -/* 071094 80070494 FFBF0000 */ sd $ra, ($sp) -/* 071098 80070498 00803025 */ move $a2, $a0 -/* 07109C 8007049C C4A80008 */ lwc1 $f8, 8($a1) -/* 0710A0 800704A0 0C01C1F1 */ jal sins_f -/* 0710A4 800704A4 84C40002 */ lh $a0, 2($a2) -/* 0710A8 800704A8 46004182 */ mul.s $f6, $f8, $f0 -/* 0710AC 800704AC 0C01C1FE */ jal coss_f -/* 0710B0 800704B0 84C40002 */ lh $a0, 2($a2) -/* 0710B4 800704B4 46004202 */ mul.s $f8, $f8, $f0 -/* 0710B8 800704B8 46003187 */ neg.s $f6, $f6 -/* 0710BC 800704BC 0C01C1F1 */ jal sins_f -/* 0710C0 800704C0 84C40000 */ lh $a0, ($a2) -/* 0710C4 800704C4 46004102 */ mul.s $f4, $f8, $f0 -/* 0710C8 800704C8 0C01C1FE */ jal coss_f -/* 0710CC 800704CC 84C40000 */ lh $a0, ($a2) -/* 0710D0 800704D0 46004202 */ mul.s $f8, $f8, $f0 -/* 0710D4 800704D4 E4A40000 */ swc1 $f4, ($a1) -/* 0710D8 800704D8 E4A60004 */ swc1 $f6, 4($a1) -/* 0710DC 800704DC E4A80008 */ swc1 $f8, 8($a1) -/* 0710E0 800704E0 DFBF0000 */ ld $ra, ($sp) -/* 0710E4 800704E4 27BD0008 */ addiu $sp, $sp, 8 -/* 0710E8 800704E8 03E00008 */ jr $ra -/* 0710EC 800704EC 00000000 */ nop - diff --git a/asm/math_util/func_80070058.s b/asm/math_util/func_80070058.s deleted file mode 100644 index 445daad1..00000000 --- a/asm/math_util/func_80070058.s +++ /dev/null @@ -1,55 +0,0 @@ -glabel func_80070058 -/* 070C58 80070058 27BDFFF8 */ addiu $sp, $sp, -8 -/* 070C5C 8007005C 3C013780 */ li $at, 0x37800000 # 0.000015 -/* 070C60 80070060 FFBF0000 */ sd $ra, ($sp) -/* 070C64 80070064 00803825 */ move $a3, $a0 -/* 070C68 80070068 44819000 */ mtc1 $at, $f18 -/* 070C6C 8007006C 0C01C20C */ jal sins_s16 -/* 070C70 80070070 84A40000 */ lh $a0, ($a1) -/* 070C74 80070074 44820000 */ mtc1 $v0, $f0 -/* 070C78 80070078 84A40000 */ lh $a0, ($a1) -/* 070C7C 8007007C 46800020 */ cvt.s.w $f0, $f0 -/* 070C80 80070080 46120002 */ mul.s $f0, $f0, $f18 -/* 070C84 80070084 0C01C20B */ jal coss_s16 -/* 070C88 80070088 00000000 */ nop -/* 070C8C 8007008C 44821000 */ mtc1 $v0, $f2 -/* 070C90 80070090 84A40002 */ lh $a0, 2($a1) -/* 070C94 80070094 468010A0 */ cvt.s.w $f2, $f2 -/* 070C98 80070098 46121082 */ mul.s $f2, $f2, $f18 -/* 070C9C 8007009C 0C01C20C */ jal sins_s16 -/* 070CA0 800700A0 00000000 */ nop -/* 070CA4 800700A4 44822000 */ mtc1 $v0, $f4 -/* 070CA8 800700A8 84A40002 */ lh $a0, 2($a1) -/* 070CAC 800700AC 46802120 */ cvt.s.w $f4, $f4 -/* 070CB0 800700B0 46122102 */ mul.s $f4, $f4, $f18 -/* 070CB4 800700B4 0C01C20B */ jal coss_s16 -/* 070CB8 800700B8 00000000 */ nop -/* 070CBC 800700BC 44823000 */ mtc1 $v0, $f6 -/* 070CC0 800700C0 84A40004 */ lh $a0, 4($a1) -/* 070CC4 800700C4 468031A0 */ cvt.s.w $f6, $f6 -/* 070CC8 800700C8 46123182 */ mul.s $f6, $f6, $f18 -/* 070CCC 800700CC 0C01C20C */ jal sins_s16 -/* 070CD0 800700D0 00000000 */ nop -/* 070CD4 800700D4 44824000 */ mtc1 $v0, $f8 -/* 070CD8 800700D8 84A40004 */ lh $a0, 4($a1) -/* 070CDC 800700DC 46804220 */ cvt.s.w $f8, $f8 -/* 070CE0 800700E0 46124202 */ mul.s $f8, $f8, $f18 -/* 070CE4 800700E4 0C01C20B */ jal coss_s16 -/* 070CE8 800700E8 00000000 */ nop -/* 070CEC 800700EC 44825000 */ mtc1 $v0, $f10 -/* 070CF0 800700F0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 070CF4 800700F4 ACE0000C */ sw $zero, 0xc($a3) -/* 070CF8 800700F8 468052A0 */ cvt.s.w $f10, $f10 -/* 070CFC 800700FC ACE0001C */ sw $zero, 0x1c($a3) -/* 070D00 80070100 ACE0002C */ sw $zero, 0x2c($a3) -/* 070D04 80070104 46125282 */ mul.s $f10, $f10, $f18 -/* 070D08 80070108 44819000 */ mtc1 $at, $f18 -/* 070D0C 8007010C 46060302 */ mul.s $f12, $f0, $f6 -/* 070D10 80070110 E4F2003C */ swc1 $f18, 0x3c($a3) -/* 070D14 80070114 DFBF0000 */ ld $ra, ($sp) -/* 070D18 80070118 27BD0008 */ addiu $sp, $sp, 8 -/* 070D1C 8007011C 460A1382 */ mul.s $f14, $f2, $f10 -/* 070D20 80070120 00000000 */ nop -/* 070D24 80070124 46080402 */ mul.s $f16, $f0, $f8 -/* 070D28 80070128 03E00008 */ jr $ra -/* 070D2C 8007012C 00000000 */ nop \ No newline at end of file diff --git a/asm/math_util/get_gIntDisFlag.s b/asm/math_util/get_gIntDisFlag.s deleted file mode 100644 index e3f6ad8c..00000000 --- a/asm/math_util/get_gIntDisFlag.s +++ /dev/null @@ -1,4 +0,0 @@ -glabel get_gIntDisFlag -/* 070170 8006F570 3C02800E */ lui $v0, %hi(gIntDisFlag) # $v0, 0x800e -/* 070174 8006F574 03E00008 */ jr $ra -/* 070178 8006F578 9042D430 */ lbu $v0, %lo(gIntDisFlag)($v0) diff --git a/asm/math_util/guMtxXFMF.s b/asm/math_util/guMtxXFMF.s deleted file mode 100644 index 530cc7e8..00000000 --- a/asm/math_util/guMtxXFMF.s +++ /dev/null @@ -1,42 +0,0 @@ -glabel guMtxXFMF -/* 07024C 8006F64C 44856000 */ mtc1 $a1, $f12 -/* 070250 8006F650 C4840000 */ lwc1 $f4, ($a0) -/* 070254 8006F654 44867000 */ mtc1 $a2, $f14 -/* 070258 8006F658 C4880010 */ lwc1 $f8, 0x10($a0) -/* 07025C 8006F65C 460C2182 */ mul.s $f6, $f4, $f12 -/* 070260 8006F660 44878000 */ mtc1 $a3, $f16 -/* 070264 8006F664 C4840020 */ lwc1 $f4, 0x20($a0) -/* 070268 8006F668 460E4282 */ mul.s $f10, $f8, $f14 -/* 07026C 8006F66C 8FAE0010 */ lw $t6, 0x10($sp) -/* 070270 8006F670 46102202 */ mul.s $f8, $f4, $f16 -/* 070274 8006F674 460A3480 */ add.s $f18, $f6, $f10 -/* 070278 8006F678 C48A0030 */ lwc1 $f10, 0x30($a0) -/* 07027C 8006F67C 46089180 */ add.s $f6, $f18, $f8 -/* 070280 8006F680 46065100 */ add.s $f4, $f10, $f6 -/* 070284 8006F684 E5C40000 */ swc1 $f4, ($t6) -/* 070288 8006F688 C4920004 */ lwc1 $f18, 4($a0) -/* 07028C 8006F68C C48A0014 */ lwc1 $f10, 0x14($a0) -/* 070290 8006F690 8FAF0014 */ lw $t7, 0x14($sp) -/* 070294 8006F694 460C9202 */ mul.s $f8, $f18, $f12 -/* 070298 8006F698 C4920024 */ lwc1 $f18, 0x24($a0) -/* 07029C 8006F69C 460E5182 */ mul.s $f6, $f10, $f14 -/* 0702A0 8006F6A0 46064100 */ add.s $f4, $f8, $f6 -/* 0702A4 8006F6A4 46109282 */ mul.s $f10, $f18, $f16 -/* 0702A8 8006F6A8 C4860034 */ lwc1 $f6, 0x34($a0) -/* 0702AC 8006F6AC 460A2200 */ add.s $f8, $f4, $f10 -/* 0702B0 8006F6B0 46083480 */ add.s $f18, $f6, $f8 -/* 0702B4 8006F6B4 E5F20000 */ swc1 $f18, ($t7) -/* 0702B8 8006F6B8 C4840008 */ lwc1 $f4, 8($a0) -/* 0702BC 8006F6BC C4860018 */ lwc1 $f6, 0x18($a0) -/* 0702C0 8006F6C0 8FB80018 */ lw $t8, 0x18($sp) -/* 0702C4 8006F6C4 460C2282 */ mul.s $f10, $f4, $f12 -/* 0702C8 8006F6C8 C4840028 */ lwc1 $f4, 0x28($a0) -/* 0702CC 8006F6CC 460E3202 */ mul.s $f8, $f6, $f14 -/* 0702D0 8006F6D0 46085480 */ add.s $f18, $f10, $f8 -/* 0702D4 8006F6D4 46102182 */ mul.s $f6, $f4, $f16 -/* 0702D8 8006F6D8 C4880038 */ lwc1 $f8, 0x38($a0) -/* 0702DC 8006F6DC 46069280 */ add.s $f10, $f18, $f6 -/* 0702E0 8006F6E0 460A4100 */ add.s $f4, $f8, $f10 -/* 0702E4 8006F6E4 03E00008 */ jr $ra -/* 0702E8 8006F6E8 E7040000 */ swc1 $f4, ($t8) - diff --git a/asm/math_util/load_rng_seed.s b/asm/math_util/load_rng_seed.s deleted file mode 100644 index ff637e9b..00000000 --- a/asm/math_util/load_rng_seed.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel load_rng_seed -/* 7052C 8006F92C 3C04800E */ lui $a0, %hi(gPrevRNGSeed) -/* 70530 8006F930 8C84D438 */ lw $a0, %lo(gPrevRNGSeed)($a0) -/* 70534 8006F934 3C01800E */ lui $at, %hi(gCurrentRNGSeed) -/* 70538 8006F938 03E00008 */ jr $ra -/* 7053C 8006F93C AC24D434 */ sw $a0, %lo(gCurrentRNGSeed)($at) \ No newline at end of file diff --git a/asm/math_util/object_transform_to_matrix.s b/asm/math_util/object_transform_to_matrix.s deleted file mode 100644 index 6a05d75c..00000000 --- a/asm/math_util/object_transform_to_matrix.s +++ /dev/null @@ -1,119 +0,0 @@ -glabel object_transform_to_matrix -/* 070830 8006FC30 27BDFFF8 */ addiu $sp, $sp, -8 -/* 070834 8006FC34 3C013780 */ li $at, 0x37800000 # 0.000015 -/* 070838 8006FC38 FFBF0000 */ sd $ra, ($sp) -/* 07083C 8006FC3C 00803825 */ move $a3, $a0 -/* 070840 8006FC40 44819000 */ mtc1 $at, $f18 -/* 070844 8006FC44 0C01C20C */ jal sins_s16 -/* 070848 8006FC48 84A40000 */ lh $a0, ($a1) -/* 07084C 8006FC4C 44820000 */ mtc1 $v0, $f0 -/* 070850 8006FC50 84A40000 */ lh $a0, ($a1) -/* 070854 8006FC54 46800020 */ cvt.s.w $f0, $f0 -/* 070858 8006FC58 46120002 */ mul.s $f0, $f0, $f18 -/* 07085C 8006FC5C 0C01C20B */ jal coss_s16 -/* 070860 8006FC60 00000000 */ nop -/* 070864 8006FC64 44821000 */ mtc1 $v0, $f2 -/* 070868 8006FC68 84A40002 */ lh $a0, 2($a1) -/* 07086C 8006FC6C 468010A0 */ cvt.s.w $f2, $f2 -/* 070870 8006FC70 46121082 */ mul.s $f2, $f2, $f18 -/* 070874 8006FC74 0C01C20C */ jal sins_s16 -/* 070878 8006FC78 00000000 */ nop -/* 07087C 8006FC7C 44822000 */ mtc1 $v0, $f4 -/* 070880 8006FC80 84A40002 */ lh $a0, 2($a1) -/* 070884 8006FC84 46802120 */ cvt.s.w $f4, $f4 -/* 070888 8006FC88 46122102 */ mul.s $f4, $f4, $f18 -/* 07088C 8006FC8C 0C01C20B */ jal coss_s16 -/* 070890 8006FC90 00000000 */ nop -/* 070894 8006FC94 44823000 */ mtc1 $v0, $f6 -/* 070898 8006FC98 84A40004 */ lh $a0, 4($a1) -/* 07089C 8006FC9C 468031A0 */ cvt.s.w $f6, $f6 -/* 0708A0 8006FCA0 46123182 */ mul.s $f6, $f6, $f18 -/* 0708A4 8006FCA4 0C01C20C */ jal sins_s16 -/* 0708A8 8006FCA8 00000000 */ nop -/* 0708AC 8006FCAC 44824000 */ mtc1 $v0, $f8 -/* 0708B0 8006FCB0 84A40004 */ lh $a0, 4($a1) -/* 0708B4 8006FCB4 46804220 */ cvt.s.w $f8, $f8 -/* 0708B8 8006FCB8 46124202 */ mul.s $f8, $f8, $f18 -/* 0708BC 8006FCBC 0C01C20B */ jal coss_s16 -/* 0708C0 8006FCC0 00000000 */ nop -/* 0708C4 8006FCC4 44825000 */ mtc1 $v0, $f10 -/* 0708C8 8006FCC8 8CAA0008 */ lw $t2, 8($a1) -/* 0708CC 8006FCCC ACE0000C */ sw $zero, 0xc($a3) -/* 0708D0 8006FCD0 468052A0 */ cvt.s.w $f10, $f10 -/* 0708D4 8006FCD4 ACE0001C */ sw $zero, 0x1c($a3) -/* 0708D8 8006FCD8 ACE0002C */ sw $zero, 0x2c($a3) -/* 0708DC 8006FCDC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0708E0 8006FCE0 46125282 */ mul.s $f10, $f10, $f18 -/* 0708E4 8006FCE4 00000000 */ nop -/* 0708E8 8006FCE8 46002402 */ mul.s $f16, $f4, $f0 -/* 0708EC 8006FCEC 00000000 */ nop -/* 0708F0 8006FCF0 46088402 */ mul.s $f16, $f16, $f8 -/* 0708F4 8006FCF4 00000000 */ nop -/* 0708F8 8006FCF8 46025482 */ mul.s $f18, $f10, $f2 -/* 0708FC 8006FCFC 46128400 */ add.s $f16, $f16, $f18 -/* 070900 8006FD00 448A9000 */ mtc1 $t2, $f18 -/* 070904 8006FD04 00000000 */ nop -/* 070908 8006FD08 46128402 */ mul.s $f16, $f16, $f18 -/* 07090C 8006FD0C E4F00000 */ swc1 $f16, ($a3) -/* 070910 8006FD10 46064402 */ mul.s $f16, $f8, $f6 -/* 070914 8006FD14 00000000 */ nop -/* 070918 8006FD18 46128402 */ mul.s $f16, $f16, $f18 -/* 07091C 8006FD1C E4F00004 */ swc1 $f16, 4($a3) -/* 070920 8006FD20 46022402 */ mul.s $f16, $f4, $f2 -/* 070924 8006FD24 00000000 */ nop -/* 070928 8006FD28 46088402 */ mul.s $f16, $f16, $f8 -/* 07092C 8006FD2C 00000000 */ nop -/* 070930 8006FD30 46005482 */ mul.s $f18, $f10, $f0 -/* 070934 8006FD34 46128401 */ sub.s $f16, $f16, $f18 -/* 070938 8006FD38 448A9000 */ mtc1 $t2, $f18 -/* 07093C 8006FD3C 00000000 */ nop -/* 070940 8006FD40 46128402 */ mul.s $f16, $f16, $f18 -/* 070944 8006FD44 E4F00008 */ swc1 $f16, 8($a3) -/* 070948 8006FD48 46002402 */ mul.s $f16, $f4, $f0 -/* 07094C 8006FD4C 00000000 */ nop -/* 070950 8006FD50 460A8402 */ mul.s $f16, $f16, $f10 -/* 070954 8006FD54 00000000 */ nop -/* 070958 8006FD58 46024482 */ mul.s $f18, $f8, $f2 -/* 07095C 8006FD5C 46128401 */ sub.s $f16, $f16, $f18 -/* 070960 8006FD60 448A9000 */ mtc1 $t2, $f18 -/* 070964 8006FD64 00000000 */ nop -/* 070968 8006FD68 46128402 */ mul.s $f16, $f16, $f18 -/* 07096C 8006FD6C E4F00010 */ swc1 $f16, 0x10($a3) -/* 070970 8006FD70 46065402 */ mul.s $f16, $f10, $f6 -/* 070974 8006FD74 00000000 */ nop -/* 070978 8006FD78 46128402 */ mul.s $f16, $f16, $f18 -/* 07097C 8006FD7C E4F00014 */ swc1 $f16, 0x14($a3) -/* 070980 8006FD80 46022402 */ mul.s $f16, $f4, $f2 -/* 070984 8006FD84 00000000 */ nop -/* 070988 8006FD88 460A8402 */ mul.s $f16, $f16, $f10 -/* 07098C 8006FD8C 00000000 */ nop -/* 070990 8006FD90 46004482 */ mul.s $f18, $f8, $f0 -/* 070994 8006FD94 46128400 */ add.s $f16, $f16, $f18 -/* 070998 8006FD98 448A9000 */ mtc1 $t2, $f18 -/* 07099C 8006FD9C 00000000 */ nop -/* 0709A0 8006FDA0 46128402 */ mul.s $f16, $f16, $f18 -/* 0709A4 8006FDA4 E4F00018 */ swc1 $f16, 0x18($a3) -/* 0709A8 8006FDA8 46003402 */ mul.s $f16, $f6, $f0 -/* 0709AC 8006FDAC 00000000 */ nop -/* 0709B0 8006FDB0 46128402 */ mul.s $f16, $f16, $f18 -/* 0709B4 8006FDB4 E4F00020 */ swc1 $f16, 0x20($a3) -/* 0709B8 8006FDB8 46122402 */ mul.s $f16, $f4, $f18 -/* 0709BC 8006FDBC 46008407 */ neg.s $f16, $f16 -/* 0709C0 8006FDC0 E4F00024 */ swc1 $f16, 0x24($a3) -/* 0709C4 8006FDC4 46023402 */ mul.s $f16, $f6, $f2 -/* 0709C8 8006FDC8 00000000 */ nop -/* 0709CC 8006FDCC 46128402 */ mul.s $f16, $f16, $f18 -/* 0709D0 8006FDD0 44819000 */ mtc1 $at, $f18 -/* 0709D4 8006FDD4 E4F00028 */ swc1 $f16, 0x28($a3) -/* 0709D8 8006FDD8 8CA8000C */ lw $t0, 0xc($a1) -/* 0709DC 8006FDDC ACE80030 */ sw $t0, 0x30($a3) -/* 0709E0 8006FDE0 8CA80010 */ lw $t0, 0x10($a1) -/* 0709E4 8006FDE4 ACE80034 */ sw $t0, 0x34($a3) -/* 0709E8 8006FDE8 8CA80014 */ lw $t0, 0x14($a1) -/* 0709EC 8006FDEC E4F2003C */ swc1 $f18, 0x3c($a3) -/* 0709F0 8006FDF0 ACE80038 */ sw $t0, 0x38($a3) -/* 0709F4 8006FDF4 DFBF0000 */ ld $ra, ($sp) -/* 0709F8 8006FDF8 27BD0008 */ addiu $sp, $sp, 8 -/* 0709FC 8006FDFC 03E00008 */ jr $ra -/* 070A00 8006FE00 00000000 */ nop - diff --git a/asm/math_util/object_transform_to_matrix_2.s b/asm/math_util/object_transform_to_matrix_2.s deleted file mode 100644 index 98dc8af1..00000000 --- a/asm/math_util/object_transform_to_matrix_2.s +++ /dev/null @@ -1,122 +0,0 @@ -glabel object_transform_to_matrix_2 -/* 070A74 8006FE74 27BDFFF8 */ addiu $sp, $sp, -8 -/* 070A78 8006FE78 3C013780 */ li $at, 0x37800000 # 0.000015 -/* 070A7C 8006FE7C FFBF0000 */ sd $ra, ($sp) -/* 070A80 8006FE80 00803825 */ move $a3, $a0 -/* 070A84 8006FE84 44819000 */ mtc1 $at, $f18 -/* 070A88 8006FE88 0C01C20C */ jal sins_s16 -/* 070A8C 8006FE8C 84A40000 */ lh $a0, ($a1) -/* 070A90 8006FE90 44820000 */ mtc1 $v0, $f0 -/* 070A94 8006FE94 84A40000 */ lh $a0, ($a1) -/* 070A98 8006FE98 46800020 */ cvt.s.w $f0, $f0 -/* 070A9C 8006FE9C 46120002 */ mul.s $f0, $f0, $f18 -/* 070AA0 8006FEA0 0C01C20B */ jal coss_s16 -/* 070AA4 8006FEA4 00000000 */ nop -/* 070AA8 8006FEA8 44821000 */ mtc1 $v0, $f2 -/* 070AAC 8006FEAC 84A40002 */ lh $a0, 2($a1) -/* 070AB0 8006FEB0 468010A0 */ cvt.s.w $f2, $f2 -/* 070AB4 8006FEB4 46121082 */ mul.s $f2, $f2, $f18 -/* 070AB8 8006FEB8 0C01C20C */ jal sins_s16 -/* 070ABC 8006FEBC 00000000 */ nop -/* 070AC0 8006FEC0 44822000 */ mtc1 $v0, $f4 -/* 070AC4 8006FEC4 84A40002 */ lh $a0, 2($a1) -/* 070AC8 8006FEC8 46802120 */ cvt.s.w $f4, $f4 -/* 070ACC 8006FECC 46122102 */ mul.s $f4, $f4, $f18 -/* 070AD0 8006FED0 0C01C20B */ jal coss_s16 -/* 070AD4 8006FED4 00000000 */ nop -/* 070AD8 8006FED8 44823000 */ mtc1 $v0, $f6 -/* 070ADC 8006FEDC 84A40004 */ lh $a0, 4($a1) -/* 070AE0 8006FEE0 468031A0 */ cvt.s.w $f6, $f6 -/* 070AE4 8006FEE4 46123182 */ mul.s $f6, $f6, $f18 -/* 070AE8 8006FEE8 0C01C20C */ jal sins_s16 -/* 070AEC 8006FEEC 00000000 */ nop -/* 070AF0 8006FEF0 44824000 */ mtc1 $v0, $f8 -/* 070AF4 8006FEF4 84A40004 */ lh $a0, 4($a1) -/* 070AF8 8006FEF8 46804220 */ cvt.s.w $f8, $f8 -/* 070AFC 8006FEFC 46124202 */ mul.s $f8, $f8, $f18 -/* 070B00 8006FF00 0C01C20B */ jal coss_s16 -/* 070B04 8006FF04 00000000 */ nop -/* 070B08 8006FF08 44825000 */ mtc1 $v0, $f10 -/* 070B0C 8006FF0C ACE0000C */ sw $zero, 0xc($a3) -/* 070B10 8006FF10 E4E40018 */ swc1 $f4, 0x18($a3) -/* 070B14 8006FF14 468052A0 */ cvt.s.w $f10, $f10 -/* 070B18 8006FF18 ACE0001C */ sw $zero, 0x1c($a3) -/* 070B1C 8006FF1C ACE0002C */ sw $zero, 0x2c($a3) -/* 070B20 8006FF20 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 070B24 8006FF24 46125282 */ mul.s $f10, $f10, $f18 -/* 070B28 8006FF28 00000000 */ nop -/* 070B2C 8006FF2C 46082402 */ mul.s $f16, $f4, $f8 -/* 070B30 8006FF30 00000000 */ nop -/* 070B34 8006FF34 46008402 */ mul.s $f16, $f16, $f0 -/* 070B38 8006FF38 00000000 */ nop -/* 070B3C 8006FF3C 460A1482 */ mul.s $f18, $f2, $f10 -/* 070B40 8006FF40 46109401 */ sub.s $f16, $f18, $f16 -/* 070B44 8006FF44 E4F00000 */ swc1 $f16, ($a3) -/* 070B48 8006FF48 460A2402 */ mul.s $f16, $f4, $f10 -/* 070B4C 8006FF4C 00000000 */ nop -/* 070B50 8006FF50 46008402 */ mul.s $f16, $f16, $f0 -/* 070B54 8006FF54 00000000 */ nop -/* 070B58 8006FF58 46081482 */ mul.s $f18, $f2, $f8 -/* 070B5C 8006FF5C 46128400 */ add.s $f16, $f16, $f18 -/* 070B60 8006FF60 E4F00004 */ swc1 $f16, 4($a3) -/* 070B64 8006FF64 46060402 */ mul.s $f16, $f0, $f6 -/* 070B68 8006FF68 46008407 */ neg.s $f16, $f16 -/* 070B6C 8006FF6C E4F00008 */ swc1 $f16, 8($a3) -/* 070B70 8006FF70 46083402 */ mul.s $f16, $f6, $f8 -/* 070B74 8006FF74 46008407 */ neg.s $f16, $f16 -/* 070B78 8006FF78 E4F00010 */ swc1 $f16, 0x10($a3) -/* 070B7C 8006FF7C 460A3402 */ mul.s $f16, $f6, $f10 -/* 070B80 8006FF80 E4F00014 */ swc1 $f16, 0x14($a3) -/* 070B84 8006FF84 46082402 */ mul.s $f16, $f4, $f8 -/* 070B88 8006FF88 00000000 */ nop -/* 070B8C 8006FF8C 46028402 */ mul.s $f16, $f16, $f2 -/* 070B90 8006FF90 00000000 */ nop -/* 070B94 8006FF94 460A0482 */ mul.s $f18, $f0, $f10 -/* 070B98 8006FF98 46128400 */ add.s $f16, $f16, $f18 -/* 070B9C 8006FF9C E4F00020 */ swc1 $f16, 0x20($a3) -/* 070BA0 8006FFA0 460A2402 */ mul.s $f16, $f4, $f10 -/* 070BA4 8006FFA4 00000000 */ nop -/* 070BA8 8006FFA8 46028402 */ mul.s $f16, $f16, $f2 -/* 070BAC 8006FFAC 00000000 */ nop -/* 070BB0 8006FFB0 46080482 */ mul.s $f18, $f0, $f8 -/* 070BB4 8006FFB4 46109401 */ sub.s $f16, $f18, $f16 -/* 070BB8 8006FFB8 C4F20000 */ lwc1 $f18, ($a3) -/* 070BBC 8006FFBC E4F00024 */ swc1 $f16, 0x24($a3) -/* 070BC0 8006FFC0 46061402 */ mul.s $f16, $f2, $f6 -/* 070BC4 8006FFC4 E4F00028 */ swc1 $f16, 0x28($a3) -/* 070BC8 8006FFC8 C4A0000C */ lwc1 $f0, 0xc($a1) -/* 070BCC 8006FFCC C4A20010 */ lwc1 $f2, 0x10($a1) -/* 070BD0 8006FFD0 C4F00010 */ lwc1 $f16, 0x10($a3) -/* 070BD4 8006FFD4 46009482 */ mul.s $f18, $f18, $f0 -/* 070BD8 8006FFD8 C4A40014 */ lwc1 $f4, 0x14($a1) -/* 070BDC 8006FFDC 46028402 */ mul.s $f16, $f16, $f2 -/* 070BE0 8006FFE0 46128400 */ add.s $f16, $f16, $f18 -/* 070BE4 8006FFE4 C4F20020 */ lwc1 $f18, 0x20($a3) -/* 070BE8 8006FFE8 46049482 */ mul.s $f18, $f18, $f4 -/* 070BEC 8006FFEC 46128400 */ add.s $f16, $f16, $f18 -/* 070BF0 8006FFF0 C4F20004 */ lwc1 $f18, 4($a3) -/* 070BF4 8006FFF4 E4F00030 */ swc1 $f16, 0x30($a3) -/* 070BF8 8006FFF8 46009482 */ mul.s $f18, $f18, $f0 -/* 070BFC 8006FFFC C4F00014 */ lwc1 $f16, 0x14($a3) -/* 070C00 80070000 46028402 */ mul.s $f16, $f16, $f2 -/* 070C04 80070004 46128400 */ add.s $f16, $f16, $f18 -/* 070C08 80070008 C4F20024 */ lwc1 $f18, 0x24($a3) -/* 070C0C 8007000C 46049482 */ mul.s $f18, $f18, $f4 -/* 070C10 80070010 46128400 */ add.s $f16, $f16, $f18 -/* 070C14 80070014 C4F20008 */ lwc1 $f18, 8($a3) -/* 070C18 80070018 E4F00034 */ swc1 $f16, 0x34($a3) -/* 070C1C 8007001C 46009482 */ mul.s $f18, $f18, $f0 -/* 070C20 80070020 C4F00018 */ lwc1 $f16, 0x18($a3) -/* 070C24 80070024 46028402 */ mul.s $f16, $f16, $f2 -/* 070C28 80070028 46128400 */ add.s $f16, $f16, $f18 -/* 070C2C 8007002C C4F20028 */ lwc1 $f18, 0x28($a3) -/* 070C30 80070030 46049482 */ mul.s $f18, $f18, $f4 -/* 070C34 80070034 46128400 */ add.s $f16, $f16, $f18 -/* 070C38 80070038 E4F00038 */ swc1 $f16, 0x38($a3) -/* 070C3C 8007003C 44818000 */ mtc1 $at, $f16 -/* 070C40 80070040 00000000 */ nop -/* 070C44 80070044 E4F0003C */ swc1 $f16, 0x3c($a3) -/* 070C48 80070048 DFBF0000 */ ld $ra, ($sp) -/* 070C4C 8007004C 27BD0008 */ addiu $sp, $sp, 8 -/* 070C50 80070050 03E00008 */ jr $ra -/* 070C54 80070054 00000000 */ nop diff --git a/asm/math_util/point_triangle_2d_xz_intersection.s b/asm/math_util/point_triangle_2d_xz_intersection.s deleted file mode 100644 index 486b890f..00000000 --- a/asm/math_util/point_triangle_2d_xz_intersection.s +++ /dev/null @@ -1,72 +0,0 @@ -glabel point_triangle_2d_xz_intersection -/* 0710F0 800704F0 8FAE0010 */ lw $t6, 0x10($sp) -/* 0710F4 800704F4 84C80000 */ lh $t0, ($a2) -/* 0710F8 800704F8 84C90004 */ lh $t1, 4($a2) -/* 0710FC 800704FC 84EB0004 */ lh $t3, 4($a3) -/* 071100 80070500 85CC0000 */ lh $t4, ($t6) -/* 071104 80070504 85CD0004 */ lh $t5, 4($t6) -/* 071108 80070508 00887022 */ sub $t6, $a0, $t0 -/* 07110C 8007050C 01697822 */ sub $t7, $t3, $t1 -/* 071110 80070510 01CF0019 */ multu $t6, $t7 -/* 071114 80070514 84EA0000 */ lh $t2, ($a3) -/* 071118 80070518 00A9C822 */ sub $t9, $a1, $t1 -/* 07111C 8007051C 24020000 */ li $v0, 0 -/* 071120 80070520 0148C022 */ sub $t8, $t2, $t0 -/* 071124 80070524 34070001 */ ori $a3, $zero, 1 -/* 071128 80070528 00007012 */ mflo $t6 -/* 07112C 8007052C 00007012 */ mflo $t6 -/* 071130 80070530 00000000 */ nop -/* 071134 80070534 00000000 */ nop -/* 071138 80070538 03190019 */ multu $t8, $t9 -/* 07113C 8007053C 00007812 */ mflo $t7 -/* 071140 80070540 0000C012 */ mflo $t8 -/* 071144 80070544 01CF7022 */ sub $t6, $t6, $t7 -/* 071148 80070548 05C30003 */ bgezl $t6, .L80070558 -/* 07114C 8007054C 008A7022 */ sub $t6, $a0, $t2 -/* 071150 80070550 00E73826 */ xor $a3, $a3, $a3 -/* 071154 80070554 008A7022 */ sub $t6, $a0, $t2 -.L80070558: -/* 071158 80070558 01AB7822 */ sub $t7, $t5, $t3 -/* 07115C 8007055C 01CF0019 */ multu $t6, $t7 -/* 071160 80070560 018AC022 */ sub $t8, $t4, $t2 -/* 071164 80070564 00ABC822 */ sub $t9, $a1, $t3 -/* 071168 80070568 34060001 */ ori $a2, $zero, 1 -/* 07116C 8007056C 00007012 */ mflo $t6 -/* 071170 80070570 00007012 */ mflo $t6 -/* 071174 80070574 00000000 */ nop -/* 071178 80070578 00000000 */ nop -/* 07117C 8007057C 03190019 */ multu $t8, $t9 -/* 071180 80070580 00007812 */ mflo $t7 -/* 071184 80070584 0000C012 */ mflo $t8 -/* 071188 80070588 01CF7022 */ sub $t6, $t6, $t7 -/* 07118C 8007058C 05C10002 */ bgez $t6, .L80070598 -/* 071190 80070590 00000000 */ nop -/* 071194 80070594 00C63026 */ xor $a2, $a2, $a2 -.L80070598: -/* 071198 80070598 14E60015 */ bne $a3, $a2, .L800705F0 -/* 07119C 8007059C 00000000 */ nop -/* 0711A0 800705A0 008C7022 */ sub $t6, $a0, $t4 -/* 0711A4 800705A4 012D7822 */ sub $t7, $t1, $t5 -/* 0711A8 800705A8 01CF0019 */ multu $t6, $t7 -/* 0711AC 800705AC 010CC022 */ sub $t8, $t0, $t4 -/* 0711B0 800705B0 00ADC822 */ sub $t9, $a1, $t5 -/* 0711B4 800705B4 34050001 */ ori $a1, $zero, 1 -/* 0711B8 800705B8 00007012 */ mflo $t6 -/* 0711BC 800705BC 00007012 */ mflo $t6 -/* 0711C0 800705C0 00000000 */ nop -/* 0711C4 800705C4 00000000 */ nop -/* 0711C8 800705C8 03190019 */ multu $t8, $t9 -/* 0711CC 800705CC 00007812 */ mflo $t7 -/* 0711D0 800705D0 0000C012 */ mflo $t8 -/* 0711D4 800705D4 01CF7022 */ sub $t6, $t6, $t7 -/* 0711D8 800705D8 05C10002 */ bgez $t6, .L800705E4 -/* 0711DC 800705DC 00000000 */ nop -/* 0711E0 800705E0 00A52826 */ xor $a1, $a1, $a1 -.L800705E4: -/* 0711E4 800705E4 14A60002 */ bne $a1, $a2, .L800705F0 -/* 0711E8 800705E8 00000000 */ nop -/* 0711EC 800705EC 34020001 */ ori $v0, $zero, 1 -.L800705F0: -/* 0711F0 800705F0 03E00008 */ jr $ra -/* 0711F4 800705F4 00000000 */ nop - diff --git a/asm/math_util/rng.s b/asm/math_util/rng.s deleted file mode 100644 index b69af8c4..00000000 --- a/asm/math_util/rng.s +++ /dev/null @@ -1,30 +0,0 @@ -/* Official Name: mathRnd */ -glabel get_random_number_from_range -/* 07054C 8006F94C 3C08800E */ lui $t0, %hi(gCurrentRNGSeed) # $t0, 0x800e -/* 070550 8006F950 8D08D434 */ lw $t0, %lo(gCurrentRNGSeed)($t0) -/* 070554 8006F954 3C01800E */ lui $at, %hi(gCurrentRNGSeed) # $at, 0x800e -/* 070558 8006F958 00A42822 */ sub $a1, $a1, $a0 -/* 07055C 8006F95C 00084FFC */ dsll32 $t1, $t0, 0x1f -/* 070560 8006F960 000857F8 */ dsll $t2, $t0, 0x1f -/* 070564 8006F964 00094FFA */ dsrl $t1, $t1, 0x1f -/* 070568 8006F968 000A503E */ dsrl32 $t2, $t2, 0 -/* 07056C 8006F96C 00085B3C */ dsll32 $t3, $t0, 0xc -/* 070570 8006F970 012A4825 */ or $t1, $t1, $t2 -/* 070574 8006F974 000B583E */ dsrl32 $t3, $t3, 0 -/* 070578 8006F978 012B4826 */ xor $t1, $t1, $t3 -/* 07057C 8006F97C 00095D3A */ dsrl $t3, $t1, 0x14 -/* 070580 8006F980 316B0FFF */ andi $t3, $t3, 0xfff -/* 070584 8006F984 01694026 */ xor $t0, $t3, $t1 -/* 070588 8006F988 AC28D434 */ sw $t0, %lo(gCurrentRNGSeed)($at) -/* 07058C 8006F98C 20A50001 */ addi $a1, $a1, 1 -/* 070590 8006F990 01044023 */ subu $t0, $t0, $a0 -/* 070594 8006F994 0105001B */ divu $zero, $t0, $a1 -/* 070598 8006F998 00004012 */ mflo $t0 -/* 07059C 8006F99C 00001010 */ mfhi $v0 -/* 0705A0 8006F9A0 00441020 */ add $v0, $v0, $a0 -/* 0705A4 8006F9A4 14A00002 */ bnez $a1, .L8006F9B0 -/* 0705A8 8006F9A8 00000000 */ nop -/* 0705AC 8006F9AC 0007000D */ break 7 -.L8006F9B0: -/* 0705B0 8006F9B0 03E00008 */ jr $ra -/* 0705B4 8006F9B4 00000000 */ nop diff --git a/asm/math_util/s16_matrix_rotate.s b/asm/math_util/s16_matrix_rotate.s deleted file mode 100644 index 45429eb9..00000000 --- a/asm/math_util/s16_matrix_rotate.s +++ /dev/null @@ -1,37 +0,0 @@ -/* Official name: fastShortReflection */ -glabel s16_matrix_rotate -/* 0705B8 8006F9B8 84880000 */ lh $t0, ($a0) -/* 0705BC 8006F9BC 84AB0000 */ lh $t3, ($a1) -/* 0705C0 8006F9C0 84890002 */ lh $t1, 2($a0) -/* 0705C4 8006F9C4 84AC0002 */ lh $t4, 2($a1) -/* 0705C8 8006F9C8 010B0018 */ mult $t0, $t3 -/* 0705CC 8006F9CC 848A0004 */ lh $t2, 4($a0) -/* 0705D0 8006F9D0 84AD0004 */ lh $t5, 4($a1) -/* 0705D4 8006F9D4 00007012 */ mflo $t6 -/* 0705D8 8006F9D8 00000000 */ nop -/* 0705DC 8006F9DC 00000000 */ nop -/* 0705E0 8006F9E0 012C0018 */ mult $t1, $t4 -/* 0705E4 8006F9E4 00007812 */ mflo $t7 -/* 0705E8 8006F9E8 01CF7020 */ add $t6, $t6, $t7 -/* 0705EC 8006F9EC 00000000 */ nop -/* 0705F0 8006F9F0 014D0018 */ mult $t2, $t5 -/* 0705F4 8006F9F4 0000C012 */ mflo $t8 -/* 0705F8 8006F9F8 01D87020 */ add $t6, $t6, $t8 -/* 0705FC 8006F9FC 000E7303 */ sra $t6, $t6, 0xc -/* 070600 8006FA00 01CB0018 */ mult $t6, $t3 -/* 070604 8006FA04 00005812 */ mflo $t3 -/* 070608 8006FA08 000B5B43 */ sra $t3, $t3, 0xd -/* 07060C 8006FA0C 01685822 */ sub $t3, $t3, $t0 -/* 070610 8006FA10 01CC0018 */ mult $t6, $t4 -/* 070614 8006FA14 A48B0006 */ sh $t3, 6($a0) -/* 070618 8006FA18 00006012 */ mflo $t4 -/* 07061C 8006FA1C 000C6343 */ sra $t4, $t4, 0xd -/* 070620 8006FA20 01896022 */ sub $t4, $t4, $t1 -/* 070624 8006FA24 01CD0018 */ mult $t6, $t5 -/* 070628 8006FA28 A48C0008 */ sh $t4, 8($a0) -/* 07062C 8006FA2C 00006812 */ mflo $t5 -/* 070630 8006FA30 000D6B43 */ sra $t5, $t5, 0xd -/* 070634 8006FA34 01A86822 */ sub $t5, $t5, $t0 -/* 070638 8006FA38 03E00008 */ jr $ra -/* 07063C 8006FA3C A48D000A */ sh $t5, 0xa($a0) - diff --git a/asm/math_util/s16_matrix_to_s32_matrix.s b/asm/math_util/s16_matrix_to_s32_matrix.s deleted file mode 100644 index 29368348..00000000 --- a/asm/math_util/s16_matrix_to_s32_matrix.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel s16_matrix_to_s32_matrix -/* 070640 8006FA40 340A0010 */ ori $t2, $zero, 16 -/* 070644 8006FA44 016B5826 */ xor $t3, $t3, $t3 -.L8006FA48: -/* 070648 8006FA48 84880000 */ lh $t0, ($a0) -/* 07064C 8006FA4C 94890020 */ lhu $t1, 0x20($a0) -/* 070650 8006FA50 20840002 */ addi $a0, $a0, 2 -/* 070654 8006FA54 00084400 */ sll $t0, $t0, 0x10 -/* 070658 8006FA58 01094025 */ or $t0, $t0, $t1 -/* 07065C 8006FA5C ACA80000 */ sw $t0, ($a1) -/* 070660 8006FA60 20A50004 */ addi $a1, $a1, 4 -/* 070664 8006FA64 256B0001 */ addiu $t3, $t3, 1 -/* 070668 8006FA68 556AFFF7 */ bnel $t3, $t2, .L8006FA48 -/* 07066C 8006FA6C 00000000 */ nop -/* 070670 8006FA70 03E00008 */ jr $ra -/* 070674 8006FA74 00000000 */ nop diff --git a/asm/math_util/s16_vec3_apply_object_rotation.s b/asm/math_util/s16_vec3_apply_object_rotation.s deleted file mode 100644 index 903481f2..00000000 --- a/asm/math_util/s16_vec3_apply_object_rotation.s +++ /dev/null @@ -1,81 +0,0 @@ -glabel s16_vec3_apply_object_rotation -/* 070DE4 800701E4 27BDFFF8 */ addiu $sp, $sp, -8 -/* 070DE8 800701E8 FFBF0000 */ sd $ra, ($sp) -/* 070DEC 800701EC 00803025 */ move $a2, $a0 -/* 070DF0 800701F0 84AB0000 */ lh $t3, ($a1) -/* 070DF4 800701F4 84AC0002 */ lh $t4, 2($a1) -/* 070DF8 800701F8 84AD0004 */ lh $t5, 4($a1) -/* 070DFC 800701FC 0C01C20C */ jal sins_s16 -/* 070E00 80070200 84C40000 */ lh $a0, ($a2) -/* 070E04 80070204 00407025 */ move $t6, $v0 -/* 070E08 80070208 0C01C20B */ jal coss_s16 -/* 070E0C 8007020C 84C40000 */ lh $a0, ($a2) -/* 070E10 80070210 016E0018 */ mult $t3, $t6 -/* 070E14 80070214 00407825 */ move $t7, $v0 -/* 070E18 80070218 84C40002 */ lh $a0, 2($a2) -/* 070E1C 8007021C 00004012 */ mflo $t0 -/* 070E20 80070220 00000000 */ nop -/* 070E24 80070224 00000000 */ nop -/* 070E28 80070228 018E0018 */ mult $t4, $t6 -/* 070E2C 8007022C 00004812 */ mflo $t1 -/* 070E30 80070230 00000000 */ nop -/* 070E34 80070234 00000000 */ nop -/* 070E38 80070238 016F0018 */ mult $t3, $t7 -/* 070E3C 8007023C 00005812 */ mflo $t3 -/* 070E40 80070240 01695822 */ sub $t3, $t3, $t1 -/* 070E44 80070244 000B5C03 */ sra $t3, $t3, 0x10 -/* 070E48 80070248 018F0018 */ mult $t4, $t7 -/* 070E4C 8007024C 00006012 */ mflo $t4 -/* 070E50 80070250 01886020 */ add $t4, $t4, $t0 -/* 070E54 80070254 0C01C20C */ jal sins_s16 -/* 070E58 80070258 000C6403 */ sra $t4, $t4, 0x10 -/* 070E5C 8007025C 00407025 */ move $t6, $v0 -/* 070E60 80070260 0C01C20B */ jal coss_s16 -/* 070E64 80070264 84C40002 */ lh $a0, 2($a2) -/* 070E68 80070268 018E0018 */ mult $t4, $t6 -/* 070E6C 8007026C 00407825 */ move $t7, $v0 -/* 070E70 80070270 84C40004 */ lh $a0, 4($a2) -/* 070E74 80070274 00004012 */ mflo $t0 -/* 070E78 80070278 00000000 */ nop -/* 070E7C 8007027C 00000000 */ nop -/* 070E80 80070280 01AE0018 */ mult $t5, $t6 -/* 070E84 80070284 00004812 */ mflo $t1 -/* 070E88 80070288 00000000 */ nop -/* 070E8C 8007028C 00000000 */ nop -/* 070E90 80070290 018F0018 */ mult $t4, $t7 -/* 070E94 80070294 00006012 */ mflo $t4 -/* 070E98 80070298 01896022 */ sub $t4, $t4, $t1 -/* 070E9C 8007029C 000C6403 */ sra $t4, $t4, 0x10 -/* 070EA0 800702A0 01AF0018 */ mult $t5, $t7 -/* 070EA4 800702A4 00006812 */ mflo $t5 -/* 070EA8 800702A8 01A86820 */ add $t5, $t5, $t0 -/* 070EAC 800702AC 0C01C20C */ jal sins_s16 -/* 070EB0 800702B0 000D6C03 */ sra $t5, $t5, 0x10 -/* 070EB4 800702B4 00407025 */ move $t6, $v0 -/* 070EB8 800702B8 0C01C20B */ jal coss_s16 -/* 070EBC 800702BC 84C40004 */ lh $a0, 4($a2) -/* 070EC0 800702C0 016E0018 */ mult $t3, $t6 -/* 070EC4 800702C4 00407825 */ move $t7, $v0 -/* 070EC8 800702C8 A4AC0002 */ sh $t4, 2($a1) -/* 070ECC 800702CC 00004012 */ mflo $t0 -/* 070ED0 800702D0 00000000 */ nop -/* 070ED4 800702D4 00000000 */ nop -/* 070ED8 800702D8 01AE0018 */ mult $t5, $t6 -/* 070EDC 800702DC 00004812 */ mflo $t1 -/* 070EE0 800702E0 00000000 */ nop -/* 070EE4 800702E4 00000000 */ nop -/* 070EE8 800702E8 016F0018 */ mult $t3, $t7 -/* 070EEC 800702EC 00005812 */ mflo $t3 -/* 070EF0 800702F0 01695820 */ add $t3, $t3, $t1 -/* 070EF4 800702F4 000B5C03 */ sra $t3, $t3, 0x10 -/* 070EF8 800702F8 01AF0018 */ mult $t5, $t7 -/* 070EFC 800702FC A4AB0000 */ sh $t3, ($a1) -/* 070F00 80070300 00006812 */ mflo $t5 -/* 070F04 80070304 01A86822 */ sub $t5, $t5, $t0 -/* 070F08 80070308 000D6C03 */ sra $t5, $t5, 0x10 -/* 070F0C 8007030C A4AD0004 */ sh $t5, 4($a1) -/* 070F10 80070310 DFBF0000 */ ld $ra, ($sp) -/* 070F14 80070314 27BD0008 */ addiu $sp, $sp, 8 -/* 070F18 80070318 03E00008 */ jr $ra -/* 070F1C 8007031C 00000000 */ nop - diff --git a/asm/math_util/s16_vec3_mult_by_s32_matrix.s b/asm/math_util/s16_vec3_mult_by_s32_matrix.s deleted file mode 100644 index 845cb67e..00000000 --- a/asm/math_util/s16_vec3_mult_by_s32_matrix.s +++ /dev/null @@ -1,54 +0,0 @@ -glabel s16_vec3_mult_by_s32_matrix -/* 070760 8006FB60 8C8B0000 */ lw $t3, ($a0) -/* 070764 8006FB64 84A80000 */ lh $t0, ($a1) -/* 070768 8006FB68 84A90002 */ lh $t1, 2($a1) -/* 07076C 8006FB6C 84AA0004 */ lh $t2, 4($a1) -/* 070770 8006FB70 010B0018 */ mult $t0, $t3 -/* 070774 8006FB74 8C8B0010 */ lw $t3, 0x10($a0) -/* 070778 8006FB78 00006012 */ mflo $t4 -/* 07077C 8006FB7C 00000000 */ nop -/* 070780 8006FB80 00000000 */ nop -/* 070784 8006FB84 012B0018 */ mult $t1, $t3 -/* 070788 8006FB88 8C8B0020 */ lw $t3, 0x20($a0) -/* 07078C 8006FB8C 00006812 */ mflo $t5 -/* 070790 8006FB90 018D6020 */ add $t4, $t4, $t5 -/* 070794 8006FB94 00000000 */ nop -/* 070798 8006FB98 014B0018 */ mult $t2, $t3 -/* 07079C 8006FB9C 8C8B0004 */ lw $t3, 4($a0) -/* 0707A0 8006FBA0 00007012 */ mflo $t6 -/* 0707A4 8006FBA4 018E6020 */ add $t4, $t4, $t6 -/* 0707A8 8006FBA8 000C6403 */ sra $t4, $t4, 0x10 -/* 0707AC 8006FBAC 010B0018 */ mult $t0, $t3 -/* 0707B0 8006FBB0 A4AC0000 */ sh $t4, ($a1) -/* 0707B4 8006FBB4 8C8B0014 */ lw $t3, 0x14($a0) -/* 0707B8 8006FBB8 00006012 */ mflo $t4 -/* 0707BC 8006FBBC 00000000 */ nop -/* 0707C0 8006FBC0 00000000 */ nop -/* 0707C4 8006FBC4 012B0018 */ mult $t1, $t3 -/* 0707C8 8006FBC8 8C8B0024 */ lw $t3, 0x24($a0) -/* 0707CC 8006FBCC 00006812 */ mflo $t5 -/* 0707D0 8006FBD0 018D6020 */ add $t4, $t4, $t5 -/* 0707D4 8006FBD4 00000000 */ nop -/* 0707D8 8006FBD8 014B0018 */ mult $t2, $t3 -/* 0707DC 8006FBDC 8C8B0008 */ lw $t3, 8($a0) -/* 0707E0 8006FBE0 00007012 */ mflo $t6 -/* 0707E4 8006FBE4 018E6020 */ add $t4, $t4, $t6 -/* 0707E8 8006FBE8 000C6403 */ sra $t4, $t4, 0x10 -/* 0707EC 8006FBEC 010B0018 */ mult $t0, $t3 -/* 0707F0 8006FBF0 A4AC0002 */ sh $t4, 2($a1) -/* 0707F4 8006FBF4 8C8B0018 */ lw $t3, 0x18($a0) -/* 0707F8 8006FBF8 00006012 */ mflo $t4 -/* 0707FC 8006FBFC 00000000 */ nop -/* 070800 8006FC00 00000000 */ nop -/* 070804 8006FC04 012B0018 */ mult $t1, $t3 -/* 070808 8006FC08 8C8B0028 */ lw $t3, 0x28($a0) -/* 07080C 8006FC0C 00006812 */ mflo $t5 -/* 070810 8006FC10 018D6020 */ add $t4, $t4, $t5 -/* 070814 8006FC14 00000000 */ nop -/* 070818 8006FC18 014B0018 */ mult $t2, $t3 -/* 07081C 8006FC1C 00007012 */ mflo $t6 -/* 070820 8006FC20 018E6020 */ add $t4, $t4, $t6 -/* 070824 8006FC24 000C6403 */ sra $t4, $t4, 0x10 -/* 070828 8006FC28 03E00008 */ jr $ra -/* 07082C 8006FC2C A4AC0004 */ sh $t4, 4($a1) - diff --git a/asm/math_util/s16_vec3_mult_by_s32_matrix_full.s b/asm/math_util/s16_vec3_mult_by_s32_matrix_full.s deleted file mode 100644 index a8618cd7..00000000 --- a/asm/math_util/s16_vec3_mult_by_s32_matrix_full.s +++ /dev/null @@ -1,59 +0,0 @@ -glabel s16_vec3_mult_by_s32_matrix_full -/* 070678 8006FA78 84A80000 */ lh $t0, ($a1) -/* 07067C 8006FA7C 8C8B0000 */ lw $t3, ($a0) -/* 070680 8006FA80 84A90002 */ lh $t1, 2($a1) -/* 070684 8006FA84 84AA0004 */ lh $t2, 4($a1) -/* 070688 8006FA88 010B0018 */ mult $t0, $t3 -/* 07068C 8006FA8C 8C8B0010 */ lw $t3, 0x10($a0) -/* 070690 8006FA90 00006012 */ mflo $t4 -/* 070694 8006FA94 00000000 */ nop -/* 070698 8006FA98 00000000 */ nop -/* 07069C 8006FA9C 012B0018 */ mult $t1, $t3 -/* 0706A0 8006FAA0 8C8B0020 */ lw $t3, 0x20($a0) -/* 0706A4 8006FAA4 00006812 */ mflo $t5 -/* 0706A8 8006FAA8 018D6020 */ add $t4, $t4, $t5 -/* 0706AC 8006FAAC 00000000 */ nop -/* 0706B0 8006FAB0 014B0018 */ mult $t2, $t3 -/* 0706B4 8006FAB4 8C8B0030 */ lw $t3, 0x30($a0) -/* 0706B8 8006FAB8 00007012 */ mflo $t6 -/* 0706BC 8006FABC 018E6020 */ add $t4, $t4, $t6 -/* 0706C0 8006FAC0 018B6020 */ add $t4, $t4, $t3 -/* 0706C4 8006FAC4 000C6403 */ sra $t4, $t4, 0x10 -/* 0706C8 8006FAC8 A4AC0000 */ sh $t4, ($a1) -/* 0706CC 8006FACC 8C8B0004 */ lw $t3, 4($a0) -/* 0706D0 8006FAD0 010B0018 */ mult $t0, $t3 -/* 0706D4 8006FAD4 8C8B0014 */ lw $t3, 0x14($a0) -/* 0706D8 8006FAD8 00006012 */ mflo $t4 -/* 0706DC 8006FADC 00000000 */ nop -/* 0706E0 8006FAE0 00000000 */ nop -/* 0706E4 8006FAE4 012B0018 */ mult $t1, $t3 -/* 0706E8 8006FAE8 8C8B0024 */ lw $t3, 0x24($a0) -/* 0706EC 8006FAEC 00006812 */ mflo $t5 -/* 0706F0 8006FAF0 018D6020 */ add $t4, $t4, $t5 -/* 0706F4 8006FAF4 00000000 */ nop -/* 0706F8 8006FAF8 014B0018 */ mult $t2, $t3 -/* 0706FC 8006FAFC 8C8B0034 */ lw $t3, 0x34($a0) -/* 070700 8006FB00 00007012 */ mflo $t6 -/* 070704 8006FB04 018E6020 */ add $t4, $t4, $t6 -/* 070708 8006FB08 018B6020 */ add $t4, $t4, $t3 -/* 07070C 8006FB0C 000C6403 */ sra $t4, $t4, 0x10 -/* 070710 8006FB10 A4AC0002 */ sh $t4, 2($a1) -/* 070714 8006FB14 8C8B0008 */ lw $t3, 8($a0) -/* 070718 8006FB18 010B0018 */ mult $t0, $t3 -/* 07071C 8006FB1C 8C8B0018 */ lw $t3, 0x18($a0) -/* 070720 8006FB20 00006012 */ mflo $t4 -/* 070724 8006FB24 00000000 */ nop -/* 070728 8006FB28 00000000 */ nop -/* 07072C 8006FB2C 012B0018 */ mult $t1, $t3 -/* 070730 8006FB30 8C8B0028 */ lw $t3, 0x28($a0) -/* 070734 8006FB34 00006812 */ mflo $t5 -/* 070738 8006FB38 018D6020 */ add $t4, $t4, $t5 -/* 07073C 8006FB3C 00000000 */ nop -/* 070740 8006FB40 014B0018 */ mult $t2, $t3 -/* 070744 8006FB44 8C8B0038 */ lw $t3, 0x38($a0) -/* 070748 8006FB48 00007012 */ mflo $t6 -/* 07074C 8006FB4C 018E6020 */ add $t4, $t4, $t6 -/* 070750 8006FB50 018B6020 */ add $t4, $t4, $t3 -/* 070754 8006FB54 000C6403 */ sra $t4, $t4, 0x10 -/* 070758 8006FB58 03E00008 */ jr $ra -/* 07075C 8006FB5C A4AC0004 */ sh $t4, 4($a1) diff --git a/asm/math_util/s32_matrix_cell_sqrt.s b/asm/math_util/s32_matrix_cell_sqrt.s deleted file mode 100644 index f51306bd..00000000 --- a/asm/math_util/s32_matrix_cell_sqrt.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel s32_matrix_cell_sqrt -/* 071380 80070780 44840000 */ mtc1 $a0, $f0 -/* 071384 80070784 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 071388 80070788 44811000 */ mtc1 $at, $f2 -/* 07138C 8007078C 46800020 */ cvt.s.w $f0, $f0 -/* 071390 80070790 46020003 */ div.s $f0, $f0, $f2 -/* 071394 80070794 46000004 */ sqrt.s $f0, $f0 -/* 071398 80070798 46020002 */ mul.s $f0, $f0, $f2 -/* 07139C 8007079C 46000024 */ cvt.w.s $f0, $f0 -/* 0713A0 800707A0 44020000 */ mfc1 $v0, $f0 -/* 0713A4 800707A4 03E00008 */ jr $ra -/* 0713A8 800707A8 00000000 */ nop diff --git a/asm/math_util/s32_matrix_to_s16_matrix.s b/asm/math_util/s32_matrix_to_s16_matrix.s deleted file mode 100644 index 0fb5508f..00000000 --- a/asm/math_util/s32_matrix_to_s16_matrix.s +++ /dev/null @@ -1,27 +0,0 @@ -glabel s32_matrix_to_s16_matrix -/* 07017C 8006F57C 34080004 */ ori $t0, $zero, 4 -/* 070180 8006F580 3C0FFFFF */ lui $t7, 0xffff -.L8006F584: -/* 070184 8006F584 8C890000 */ lw $t1, ($a0) -/* 070188 8006F588 8C8A0020 */ lw $t2, 0x20($a0) -/* 07018C 8006F58C 8C8B0004 */ lw $t3, 4($a0) -/* 070190 8006F590 8C8C0024 */ lw $t4, 0x24($a0) -/* 070194 8006F594 A4A90004 */ sh $t1, 4($a1) -/* 070198 8006F598 A4AA0006 */ sh $t2, 6($a1) -/* 07019C 8006F59C A4AB000C */ sh $t3, 0xc($a1) -/* 0701A0 8006F5A0 A4AC000E */ sh $t4, 0xe($a1) -/* 0701A4 8006F5A4 00094C02 */ srl $t1, $t1, 0x10 -/* 0701A8 8006F5A8 000A5402 */ srl $t2, $t2, 0x10 -/* 0701AC 8006F5AC 000B5C02 */ srl $t3, $t3, 0x10 -/* 0701B0 8006F5B0 000C6402 */ srl $t4, $t4, 0x10 -/* 0701B4 8006F5B4 24840008 */ addiu $a0, $a0, 8 -/* 0701B8 8006F5B8 A4A90000 */ sh $t1, ($a1) -/* 0701BC 8006F5BC A4AA0002 */ sh $t2, 2($a1) -/* 0701C0 8006F5C0 A4AB0008 */ sh $t3, 8($a1) -/* 0701C4 8006F5C4 A4AC000A */ sh $t4, 0xa($a1) -/* 0701C8 8006F5C8 20A50010 */ addi $a1, $a1, 0x10 -/* 0701CC 8006F5CC 2508FFFF */ addiu $t0, $t0, -1 -/* 0701D0 8006F5D0 5500FFEC */ bnezl $t0, .L8006F584 -/* 0701D4 8006F5D4 00000000 */ nop -/* 0701D8 8006F5D8 03E00008 */ jr $ra -/* 0701DC 8006F5DC 00000000 */ nop diff --git a/asm/math_util/save_rng_seed.s b/asm/math_util/save_rng_seed.s deleted file mode 100644 index 8050e69a..00000000 --- a/asm/math_util/save_rng_seed.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel save_rng_seed -/* 70518 8006F918 3C04800E */ lui $a0, %hi(gCurrentRNGSeed) -/* 7051C 8006F91C 8C84D434 */ lw $a0, %lo(gCurrentRNGSeed)($a0) -/* 70520 8006F920 3C01800E */ lui $at, %hi(gPrevRNGSeed) -/* 70524 8006F924 03E00008 */ jr $ra -/* 70528 8006F928 AC24D438 */ sw $a0, %lo(gPrevRNGSeed)($at) \ No newline at end of file diff --git a/asm/math_util/set_breakpoint.s b/asm/math_util/set_breakpoint.s deleted file mode 100644 index f02ddd78..00000000 --- a/asm/math_util/set_breakpoint.s +++ /dev/null @@ -1,13 +0,0 @@ -# void set_breakpoint(u32 addr); - Sets a breakpoint on physical address -glabel set_breakpoint -/* 0716D8 80070AD8 34840001 */ ori $a0, $a0, 1 # SET WATCHLO_WTRAP ON - when set traps on stores to paddr; -/* 0716DC 80070ADC 40849000 */ mtc0 $a0, $18 # C0_WATCHLO -/* 0716E0 80070AE0 2408000F */ li $t0, 15 # WATCHHI_VALIDMASK -/* 0716E4 80070AE4 40889800 */ mtc0 $t0, $19 # C0_WATCHHI -/* 0716E8 80070AE8 00000000 */ nop -/* 0716EC 80070AEC 00000000 */ nop -/* 0716F0 80070AF0 00000000 */ nop -/* 0716F4 80070AF4 00000000 */ nop -/* 0716F8 80070AF8 00000000 */ nop -/* 0716FC 80070AFC 03E00008 */ jr $ra -/* 071700 80070B00 00000000 */ nop diff --git a/asm/math_util/set_gIntDisFlag.s b/asm/math_util/set_gIntDisFlag.s deleted file mode 100644 index 6983747c..00000000 --- a/asm/math_util/set_gIntDisFlag.s +++ /dev/null @@ -1,4 +0,0 @@ -glabel set_gIntDisFlag /* Official Name: setIntDisFlag */ -/* 070164 8006F564 3C01800E */ lui $at, %hi(gIntDisFlag) # $at, 0x800e -/* 070168 8006F568 03E00008 */ jr $ra -/* 07016C 8006F56C A024D430 */ sb $a0, %lo(gIntDisFlag)($at) diff --git a/asm/math_util/sins_2.s b/asm/math_util/sins_2.s deleted file mode 100644 index cd64d912..00000000 --- a/asm/math_util/sins_2.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel coss_2 /* Official name: mathCos */ -/* 07148C 8007088C 24844000 */ addiu $a0, $a0, 0x4000 -glabel sins_2 /* Official name: mathSin */ -/* 071490 80070890 00041440 */ sll $v0, $a0, 0x11 -/* 071494 80070894 04430003 */ bgezl $v0, .L800708A4 -/* 071498 80070898 000450C2 */ srl $t2, $a0, 3 -/* 07149C 8007089C 38847FFF */ xori $a0, $a0, 0x7fff -/* 0714A0 800708A0 000450C2 */ srl $t2, $a0, 3 -.L800708A4: -/* 0714A4 800708A4 3C02800E */ lui $v0, %hi(gSineTable) # $v0, 0x800e -/* 0714A8 800708A8 314A07FE */ andi $t2, $t2, 0x7fe -/* 0714AC 800708AC 2442D43C */ addiu $v0, %lo(gSineTable) # addiu $v0, $v0, -0x2bc4 -/* 0714B0 800708B0 004A1021 */ addu $v0, $v0, $t2 -/* 0714B4 800708B4 94420000 */ lhu $v0, ($v0) -/* 0714B8 800708B8 00042400 */ sll $a0, $a0, 0x10 -/* 0714BC 800708BC 04810002 */ bgez $a0, .L800708C8 -/* 0714C0 800708C0 00021040 */ sll $v0, $v0, 1 -/* 0714C4 800708C4 00021023 */ negu $v0, $v0 -.L800708C8: -/* 0714C8 800708C8 03E00008 */ jr $ra -/* 0714CC 800708CC 00000000 */ nop diff --git a/asm/math_util/sins_f.s b/asm/math_util/sins_f.s deleted file mode 100644 index 471bb8d5..00000000 --- a/asm/math_util/sins_f.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel sins_f -/* 0713C4 800707C4 27BDFFF8 */ addiu $sp, $sp, -8 -/* 0713C8 800707C8 FFBF0000 */ sd $ra, ($sp) -/* 0713CC 800707CC 0C01C20C */ jal sins_s16 -/* 0713D0 800707D0 00000000 */ nop -/* 0713D4 800707D4 44820000 */ mtc1 $v0, $f0 -/* 0713D8 800707D8 3C013780 */ li $at, 0x37800000 # 0.000015 -/* 0713DC 800707DC 44811000 */ mtc1 $at, $f2 -/* 0713E0 800707E0 46800020 */ cvt.s.w $f0, $f0 -/* 0713E4 800707E4 DFBF0000 */ ld $ra, ($sp) -/* 0713E8 800707E8 27BD0008 */ addiu $sp, $sp, 8 -/* 0713EC 800707EC 46020002 */ mul.s $f0, $f0, $f2 -/* 0713F0 800707F0 03E00008 */ jr $ra -/* 0713F4 800707F4 00000000 */ nop - diff --git a/asm/math_util_data.s b/asm/math_util_data.s deleted file mode 100644 index 34ae5f2f..00000000 --- a/asm/math_util_data.s +++ /dev/null @@ -1,22 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8006F510 */ - -.include "macros.inc" - -.section .data - -glabel gIntDisFlag -.word 0x00000000 - -glabel gCurrentRNGSeed -.word 0x5141564D # Some magic number related to RNG? - -glabel gPrevRNGSeed -.word 0x5141564D - -glabel gSineTable -.half 0x0000, 0x0032, 0x0065, 0x0097, 0x00C9, 0x00FB, 0x012E, 0x0160, 0x0192, 0x01C4, 0x01F7, 0x0229, 0x025B, 0x028D, 0x02C0, 0x02F2, 0x0324, 0x0356, 0x0389, 0x03BB, 0x03ED, 0x041F, 0x0452, 0x0484, 0x04B6, 0x04E8, 0x051B, 0x054D, 0x057F, 0x05B1, 0x05E3, 0x0616, 0x0648, 0x067A, 0x06AC, 0x06DE, 0x0711, 0x0743, 0x0775, 0x07A7, 0x07D9, 0x080C, 0x083E, 0x0870, 0x08A2, 0x08D4, 0x0906, 0x0938, 0x096B, 0x099D, 0x09CF, 0x0A01, 0x0A33, 0x0A65, 0x0A97, 0x0AC9, 0x0AFB, 0x0B2D, 0x0B60, 0x0B92, 0x0BC4, 0x0BF6, 0x0C28, 0x0C5A, 0x0C8C, 0x0CBE, 0x0CF0, 0x0D22, 0x0D54, 0x0D86, 0x0DB8, 0x0DEA, 0x0E1C, 0x0E4E, 0x0E80, 0x0EB2, 0x0EE4, 0x0F15, 0x0F47, 0x0F79, 0x0FAB, 0x0FDD, 0x100F, 0x1041, 0x1073, 0x10A4, 0x10D6, 0x1108, 0x113A, 0x116C, 0x119E, 0x11CF, 0x1201, 0x1233, 0x1265, 0x1296, 0x12C8, 0x12FA, 0x132B, 0x135D, 0x138F, 0x13C1, 0x13F2, 0x1424, 0x1455, 0x1487, 0x14B9, 0x14EA, 0x151C, 0x154D, 0x157F, 0x15B1, 0x15E2, 0x1614, 0x1645, 0x1677, 0x16A8, 0x16DA, 0x170B, 0x173C, 0x176E, 0x179F, 0x17D1, 0x1802, 0x1833, 0x1865, 0x1896, 0x18C7, 0x18F9, 0x192A, 0x195B, 0x198D, 0x19BE, 0x19EF, 0x1A20, 0x1A51, 0x1A83, 0x1AB4, 0x1AE5, 0x1B16, 0x1B47, 0x1B78, 0x1BA9, 0x1BDA, 0x1C0C, 0x1C3D, 0x1C6E, 0x1C9F, 0x1CD0, 0x1D01, 0x1D31, 0x1D62, 0x1D93, 0x1DC4, 0x1DF5, 0x1E26, 0x1E57, 0x1E88, 0x1EB8, 0x1EE9, 0x1F1A, 0x1F4B, 0x1F7B, 0x1FAC, 0x1FDD, 0x200E, 0x203E, 0x206F, 0x209F, 0x20D0, 0x2101, 0x2131, 0x2162, 0x2192, 0x21C3, 0x21F3, 0x2224, 0x2254, 0x2284, 0x22B5, 0x22E5, 0x2316, 0x2346, 0x2376, 0x23A7, 0x23D7, 0x2407, 0x2437, 0x2467, 0x2498, 0x24C8, 0x24F8, 0x2528, 0x2558, 0x2588, 0x25B8, 0x25E8, 0x2618, 0x2648, 0x2678, 0x26A8, 0x26D8, 0x2708, 0x2738, 0x2768, 0x2797, 0x27C7, 0x27F7, 0x2827, 0x2856, 0x2886, 0x28B6, 0x28E5, 0x2915, 0x2945, 0x2974, 0x29A4, 0x29D3, 0x2A03, 0x2A32, 0x2A62, 0x2A91, 0x2AC1, 0x2AF0, 0x2B1F, 0x2B4F, 0x2B7E, 0x2BAD, 0x2BDC, 0x2C0C, 0x2C3B, 0x2C6A, 0x2C99, 0x2CC8, 0x2CF7, 0x2D26, 0x2D55, 0x2D84, 0x2DB3, 0x2DE2, 0x2E11, 0x2E40, 0x2E6F, 0x2E9E, 0x2ECC, 0x2EFB, 0x2F2A, 0x2F59, 0x2F87, 0x2FB6, 0x2FE5, 0x3013, 0x3042, 0x3070, 0x309F, 0x30CD, 0x30FC, 0x312A, 0x3159, 0x3187, 0x31B5, 0x31E4, 0x3212, 0x3240, 0x326E, 0x329D, 0x32CB, 0x32F9, 0x3327, 0x3355, 0x3383, 0x33B1, 0x33DF, 0x340D, 0x343B, 0x3469, 0x3497, 0x34C4, 0x34F2, 0x3520, 0x354E, 0x357B, 0x35A9, 0x35D7, 0x3604, 0x3632, 0x365F, 0x368D, 0x36BA, 0x36E8, 0x3715, 0x3742, 0x3770, 0x379D, 0x37CA, 0x37F7, 0x3825, 0x3852, 0x387F, 0x38AC, 0x38D9, 0x3906, 0x3933, 0x3960, 0x398D, 0x39BA, 0x39E7, 0x3A13, 0x3A40, 0x3A6D, 0x3A9A, 0x3AC6, 0x3AF3, 0x3B20, 0x3B4C, 0x3B79, 0x3BA5, 0x3BD2, 0x3BFE, 0x3C2A, 0x3C57, 0x3C83, 0x3CAF, 0x3CDC, 0x3D08, 0x3D34, 0x3D60, 0x3D8C, 0x3DB8, 0x3DE4, 0x3E10, 0x3E3C, 0x3E68, 0x3E94, 0x3EC0, 0x3EEC, 0x3F17, 0x3F43, 0x3F6F, 0x3F9A, 0x3FC6, 0x3FF1, 0x401D, 0x4048, 0x4074, 0x409F, 0x40CB, 0x40F6, 0x4121, 0x414D, 0x4178, 0x41A3, 0x41CE, 0x41F9, 0x4224, 0x424F, 0x427A, 0x42A5, 0x42D0, 0x42FB, 0x4326, 0x4351, 0x437B, 0x43A6, 0x43D1, 0x43FB, 0x4426, 0x4450, 0x447B, 0x44A5, 0x44D0, 0x44FA, 0x4524, 0x454F, 0x4579, 0x45A3, 0x45CD, 0x45F7, 0x4621, 0x464B, 0x4675, 0x469F, 0x46C9, 0x46F3, 0x471D, 0x4747, 0x4770, 0x479A, 0x47C4, 0x47ED, 0x4817, 0x4840, 0x486A, 0x4893, 0x48BD, 0x48E6, 0x490F, 0x4939, 0x4962, 0x498B, 0x49B4, 0x49DD, 0x4A06, 0x4A2F, 0x4A58, 0x4A81, 0x4AAA, 0x4AD3, 0x4AFB, 0x4B24, 0x4B4D, 0x4B75, 0x4B9E, 0x4BC7, 0x4BEF, 0x4C17, 0x4C40, 0x4C68, 0x4C91, 0x4CB9, 0x4CE1, 0x4D09, 0x4D31, 0x4D59, 0x4D81, 0x4DA9, 0x4DD1, 0x4DF9, 0x4E21, 0x4E49, 0x4E71, 0x4E98, 0x4EC0, 0x4EE8, 0x4F0F, 0x4F37, 0x4F5E, 0x4F85, 0x4FAD, 0x4FD4, 0x4FFB, 0x5023, 0x504A, 0x5071, 0x5098, 0x50BF, 0x50E6, 0x510D, 0x5134, 0x515B, 0x5181, 0x51A8, 0x51CF, 0x51F5, 0x521C, 0x5243, 0x5269, 0x5290, 0x52B6, 0x52DC, 0x5303, 0x5329, 0x534F, 0x5375, 0x539B, 0x53C1, 0x53E7, 0x540D, 0x5433, 0x5459, 0x547F, 0x54A4, 0x54CA, 0x54F0, 0x5515, 0x553B, 0x5560, 0x5586, 0x55AB, 0x55D0, 0x55F6, 0x561B, 0x5640, 0x5665, 0x568A, 0x56AF, 0x56D4, 0x56F9, 0x571E, 0x5743, 0x5767, 0x578C, 0x57B1, 0x57D5, 0x57FA, 0x581E, 0x5843, 0x5867, 0x588C, 0x58B0, 0x58D4, 0x58F8, 0x591C, 0x5940, 0x5964, 0x5988, 0x59AC, 0x59D0, 0x59F4, 0x5A18, 0x5A3B, 0x5A5F, 0x5A82, 0x5AA6, 0x5AC9, 0x5AED, 0x5B10, 0x5B34, 0x5B57, 0x5B7A, 0x5B9D, 0x5BC0, 0x5BE3, 0x5C06, 0x5C29, 0x5C4C, 0x5C6F, 0x5C91, 0x5CB4, 0x5CD7, 0x5CF9, 0x5D1C, 0x5D3E, 0x5D61, 0x5D83, 0x5DA5, 0x5DC8, 0x5DEA, 0x5E0C, 0x5E2E, 0x5E50, 0x5E72, 0x5E94, 0x5EB6, 0x5ED7, 0x5EF9, 0x5F1B, 0x5F3C, 0x5F5E, 0x5F80, 0x5FA1, 0x5FC2, 0x5FE4, 0x6005, 0x6026, 0x6047, 0x6068, 0x6089, 0x60AA, 0x60CB, 0x60EC, 0x610D, 0x612E, 0x614E, 0x616F, 0x6190, 0x61B0, 0x61D1, 0x61F1, 0x6211, 0x6232, 0x6252, 0x6272, 0x6292, 0x62B2, 0x62D2, 0x62F2, 0x6312, 0x6332, 0x6351, 0x6371, 0x6391, 0x63B0, 0x63D0, 0x63EF, 0x640F, 0x642E, 0x644D, 0x646C, 0x648B, 0x64AB, 0x64CA, 0x64E9, 0x6507, 0x6526, 0x6545, 0x6564, 0x6582, 0x65A1, 0x65C0, 0x65DE, 0x65FC, 0x661B, 0x6639, 0x6657, 0x6675, 0x6693, 0x66B2, 0x66D0, 0x66ED, 0x670B, 0x6729, 0x6747, 0x6764, 0x6782, 0x67A0, 0x67BD, 0x67DA, 0x67F8, 0x6815, 0x6832, 0x6850, 0x686D, 0x688A, 0x68A7, 0x68C4, 0x68E0, 0x68FD, 0x691A, 0x6937, 0x6953, 0x6970, 0x698C, 0x69A9, 0x69C5, 0x69E1, 0x69FD, 0x6A1A, 0x6A36, 0x6A52, 0x6A6E, 0x6A89, 0x6AA5, 0x6AC1, 0x6ADD, 0x6AF8, 0x6B14, 0x6B30, 0x6B4B, 0x6B66, 0x6B82, 0x6B9D, 0x6BB8, 0x6BD3, 0x6BEE, 0x6C09, 0x6C24, 0x6C3F, 0x6C5A, 0x6C75, 0x6C8F, 0x6CAA, 0x6CC4, 0x6CDF, 0x6CF9, 0x6D14, 0x6D2E, 0x6D48, 0x6D62, 0x6D7C, 0x6D96, 0x6DB0, 0x6DCA, 0x6DE4, 0x6DFE, 0x6E17, 0x6E31, 0x6E4A, 0x6E64, 0x6E7D, 0x6E97, 0x6EB0, 0x6EC9, 0x6EE2, 0x6EFB, 0x6F14, 0x6F2D, 0x6F46, 0x6F5F, 0x6F78, 0x6F90, 0x6FA9, 0x6FC2, 0x6FDA, 0x6FF2, 0x700B, 0x7023, 0x703B, 0x7053, 0x706B, 0x7083, 0x709B, 0x70B3, 0x70CB, 0x70E3, 0x70FA, 0x7112, 0x712A, 0x7141, 0x7158, 0x7170, 0x7187, 0x719E, 0x71B5, 0x71CC, 0x71E3, 0x71FA, 0x7211, 0x7228, 0x723F, 0x7255, 0x726C, 0x7282, 0x7299, 0x72AF, 0x72C5, 0x72DC, 0x72F2, 0x7308, 0x731E, 0x7334, 0x734A, 0x735F, 0x7375, 0x738B, 0x73A0, 0x73B6, 0x73CB, 0x73E1, 0x73F6, 0x740B, 0x7421, 0x7436, 0x744B, 0x7460, 0x7475, 0x7489, 0x749E, 0x74B3, 0x74C7, 0x74DC, 0x74F0, 0x7505, 0x7519, 0x752D, 0x7542, 0x7556, 0x756A, 0x757E, 0x7592, 0x75A6, 0x75B9, 0x75CD, 0x75E1, 0x75F4, 0x7608, 0x761B, 0x762E, 0x7642, 0x7655, 0x7668, 0x767B, 0x768E, 0x76A1, 0x76B4, 0x76C7, 0x76D9, 0x76EC, 0x76FE, 0x7711, 0x7723, 0x7736, 0x7748, 0x775A, 0x776C, 0x777E, 0x7790, 0x77A2, 0x77B4, 0x77C6, 0x77D8, 0x77E9, 0x77FB, 0x780C, 0x781E, 0x782F, 0x7840, 0x7851, 0x7863, 0x7874, 0x7885, 0x7895, 0x78A6, 0x78B7, 0x78C8, 0x78D8, 0x78E9, 0x78F9, 0x790A, 0x791A, 0x792A, 0x793A, 0x794A, 0x795B, 0x796A, 0x797A, 0x798A, 0x799A, 0x79AA, 0x79B9, 0x79C9, 0x79D8, 0x79E7, 0x79F7, 0x7A06, 0x7A15, 0x7A24, 0x7A33, 0x7A42, 0x7A51, 0x7A60, 0x7A6E, 0x7A7D, 0x7A8C, 0x7A9A, 0x7AA8, 0x7AB7, 0x7AC5, 0x7AD3, 0x7AE1, 0x7AEF, 0x7AFD, 0x7B0B, 0x7B19, 0x7B27, 0x7B34, 0x7B42, 0x7B50, 0x7B5D, 0x7B6A, 0x7B78, 0x7B85, 0x7B92, 0x7B9F, 0x7BAC, 0x7BB9, 0x7BC6, 0x7BD3, 0x7BDF, 0x7BEC, 0x7BF9, 0x7C05, 0x7C11, 0x7C1E, 0x7C2A, 0x7C36, 0x7C42, 0x7C4E, 0x7C5A, 0x7C66, 0x7C72, 0x7C7E, 0x7C89, 0x7C95, 0x7CA0, 0x7CAC, 0x7CB7, 0x7CC2, 0x7CCE, 0x7CD9, 0x7CE4, 0x7CEF, 0x7CFA, 0x7D05, 0x7D0F, 0x7D1A, 0x7D25, 0x7D2F, 0x7D3A, 0x7D44, 0x7D4E, 0x7D58, 0x7D63, 0x7D6D, 0x7D77, 0x7D81, 0x7D8A, 0x7D94, 0x7D9E, 0x7DA7, 0x7DB1, 0x7DBA, 0x7DC4, 0x7DCD, 0x7DD6, 0x7DE0, 0x7DE9, 0x7DF2, 0x7DFB, 0x7E03, 0x7E0C, 0x7E15, 0x7E1E, 0x7E26, 0x7E2F, 0x7E37, 0x7E3F, 0x7E48, 0x7E50, 0x7E58, 0x7E60, 0x7E68, 0x7E70, 0x7E78, 0x7E7F, 0x7E87, 0x7E8E, 0x7E96, 0x7E9D, 0x7EA5, 0x7EAC, 0x7EB3, 0x7EBA, 0x7EC1, 0x7EC8, 0x7ECF, 0x7ED6, 0x7EDD, 0x7EE3, 0x7EEA, 0x7EF0, 0x7EF7, 0x7EFD, 0x7F03, 0x7F0A, 0x7F10, 0x7F16, 0x7F1C, 0x7F22, 0x7F27, 0x7F2D, 0x7F33, 0x7F38, 0x7F3E, 0x7F43, 0x7F49, 0x7F4E, 0x7F53, 0x7F58, 0x7F5D, 0x7F62, 0x7F67, 0x7F6C, 0x7F71, 0x7F75, 0x7F7A, 0x7F7E, 0x7F83, 0x7F87, 0x7F8B, 0x7F90, 0x7F94, 0x7F98, 0x7F9C, 0x7FA0, 0x7FA3, 0x7FA7, 0x7FAB, 0x7FAE, 0x7FB2, 0x7FB5, 0x7FB9, 0x7FBC, 0x7FBF, 0x7FC2, 0x7FC5, 0x7FC8, 0x7FCB, 0x7FCE, 0x7FD1, 0x7FD3, 0x7FD6, 0x7FD9, 0x7FDB, 0x7FDD, 0x7FE0, 0x7FE2, 0x7FE4, 0x7FE6, 0x7FE8, 0x7FEA, 0x7FEC, 0x7FED, 0x7FEF, 0x7FF1, 0x7FF2, 0x7FF4, 0x7FF5, 0x7FF6, 0x7FF7, 0x7FF8, 0x7FF9, 0x7FFA, 0x7FFB, 0x7FFC, 0x7FFD, 0x7FFE, 0x7FFE, 0x7FFF, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0x8000, 0x8000 - -glabel gArcTanTable -.half 0x0000, 0x000A, 0x0014, 0x001F, 0x0029, 0x0033, 0x003D, 0x0047, 0x0051, 0x005C, 0x0066, 0x0070, 0x007A, 0x0084, 0x008F, 0x0099, 0x00A3, 0x00AD, 0x00B7, 0x00C2, 0x00CC, 0x00D6, 0x00E0, 0x00EA, 0x00F4, 0x00FF, 0x0109, 0x0113, 0x011D, 0x0127, 0x0131, 0x013C, 0x0146, 0x0150, 0x015A, 0x0164, 0x016F, 0x0179, 0x0183, 0x018D, 0x0197, 0x01A1, 0x01AC, 0x01B6, 0x01C0, 0x01CA, 0x01D4, 0x01DE, 0x01E9, 0x01F3, 0x01FD, 0x0207, 0x0211, 0x021B, 0x0226, 0x0230, 0x023A, 0x0244, 0x024E, 0x0258, 0x0262, 0x026D, 0x0277, 0x0281, 0x028B, 0x0295, 0x029F, 0x02A9, 0x02B4, 0x02BE, 0x02C8, 0x02D2, 0x02DC, 0x02E6, 0x02F0, 0x02FB, 0x0305, 0x030F, 0x0319, 0x0323, 0x032D, 0x0337, 0x0341, 0x034C, 0x0356, 0x0360, 0x036A, 0x0374, 0x037E, 0x0388, 0x0392, 0x039C, 0x03A7, 0x03B1, 0x03BB, 0x03C5, 0x03CF, 0x03D9, 0x03E3, 0x03ED, 0x03F7, 0x0401, 0x040C, 0x0416, 0x0420, 0x042A, 0x0434, 0x043E, 0x0448, 0x0452, 0x045C, 0x0466, 0x0470, 0x047A, 0x0484, 0x048E, 0x0499, 0x04A3, 0x04AD, 0x04B7, 0x04C1, 0x04CB, 0x04D5, 0x04DF, 0x04E9, 0x04F3, 0x04FD, 0x0507, 0x0511, 0x051B, 0x0525, 0x052F, 0x0539, 0x0543, 0x054D, 0x0557, 0x0561, 0x056B, 0x0575, 0x057F, 0x0589, 0x0593, 0x059D, 0x05A7, 0x05B1, 0x05BB, 0x05C5, 0x05CF, 0x05D9, 0x05E3, 0x05ED, 0x05F7, 0x0601, 0x060B, 0x0615, 0x061F, 0x0629, 0x0633, 0x063D, 0x0647, 0x0651, 0x065B, 0x0665, 0x066E, 0x0678, 0x0682, 0x068C, 0x0696, 0x06A0, 0x06AA, 0x06B4, 0x06BE, 0x06C8, 0x06D2, 0x06DC, 0x06E5, 0x06EF, 0x06F9, 0x0703, 0x070D, 0x0717, 0x0721, 0x072B, 0x0735, 0x073E, 0x0748, 0x0752, 0x075C, 0x0766, 0x0770, 0x077A, 0x0783, 0x078D, 0x0797, 0x07A1, 0x07AB, 0x07B5, 0x07BE, 0x07C8, 0x07D2, 0x07DC, 0x07E6, 0x07EF, 0x07F9, 0x0803, 0x080D, 0x0817, 0x0820, 0x082A, 0x0834, 0x083E, 0x0848, 0x0851, 0x085B, 0x0865, 0x086F, 0x0878, 0x0882, 0x088C, 0x0896, 0x089F, 0x08A9, 0x08B3, 0x08BD, 0x08C6, 0x08D0, 0x08DA, 0x08E3, 0x08ED, 0x08F7, 0x0901, 0x090A, 0x0914, 0x091E, 0x0927, 0x0931, 0x093B, 0x0944, 0x094E, 0x0958, 0x0961, 0x096B, 0x0975, 0x097E, 0x0988, 0x0992, 0x099B, 0x09A5, 0x09AE, 0x09B8, 0x09C2, 0x09CB, 0x09D5, 0x09DE, 0x09E8, 0x09F2, 0x09FB, 0x0A05, 0x0A0E, 0x0A18, 0x0A22, 0x0A2B, 0x0A35, 0x0A3E, 0x0A48, 0x0A51, 0x0A5B, 0x0A64, 0x0A6E, 0x0A77, 0x0A81, 0x0A8B, 0x0A94, 0x0A9E, 0x0AA7, 0x0AB1, 0x0ABA, 0x0AC4, 0x0ACD, 0x0AD7, 0x0AE0, 0x0AE9, 0x0AF3, 0x0AFC, 0x0B06, 0x0B0F, 0x0B19, 0x0B22, 0x0B2C, 0x0B35, 0x0B3F, 0x0B48, 0x0B51, 0x0B5B, 0x0B64, 0x0B6E, 0x0B77, 0x0B80, 0x0B8A, 0x0B93, 0x0B9D, 0x0BA6, 0x0BAF, 0x0BB9, 0x0BC2, 0x0BCB, 0x0BD5, 0x0BDE, 0x0BE7, 0x0BF1, 0x0BFA, 0x0C03, 0x0C0D, 0x0C16, 0x0C1F, 0x0C29, 0x0C32, 0x0C3B, 0x0C45, 0x0C4E, 0x0C57, 0x0C60, 0x0C6A, 0x0C73, 0x0C7C, 0x0C86, 0x0C8F, 0x0C98, 0x0CA1, 0x0CAB, 0x0CB4, 0x0CBD, 0x0CC6, 0x0CCF, 0x0CD9, 0x0CE2, 0x0CEB, 0x0CF4, 0x0CFD, 0x0D07, 0x0D10, 0x0D19, 0x0D22, 0x0D2B, 0x0D34, 0x0D3E, 0x0D47, 0x0D50, 0x0D59, 0x0D62, 0x0D6B, 0x0D74, 0x0D7D, 0x0D87, 0x0D90, 0x0D99, 0x0DA2, 0x0DAB, 0x0DB4, 0x0DBD, 0x0DC6, 0x0DCF, 0x0DD8, 0x0DE1, 0x0DEA, 0x0DF3, 0x0DFC, 0x0E05, 0x0E0F, 0x0E18, 0x0E21, 0x0E2A, 0x0E33, 0x0E3C, 0x0E45, 0x0E4E, 0x0E56, 0x0E5F, 0x0E68, 0x0E71, 0x0E7A, 0x0E83, 0x0E8C, 0x0E95, 0x0E9E, 0x0EA7, 0x0EB0, 0x0EB9, 0x0EC2, 0x0ECB, 0x0ED4, 0x0EDC, 0x0EE5, 0x0EEE, 0x0EF7, 0x0F00, 0x0F09, 0x0F12, 0x0F1B, 0x0F23, 0x0F2C, 0x0F35, 0x0F3E, 0x0F47, 0x0F50, 0x0F58, 0x0F61, 0x0F6A, 0x0F73, 0x0F7C, 0x0F84, 0x0F8D, 0x0F96, 0x0F9F, 0x0FA7, 0x0FB0, 0x0FB9, 0x0FC2, 0x0FCA, 0x0FD3, 0x0FDC, 0x0FE5, 0x0FED, 0x0FF6, 0x0FFF, 0x1007, 0x1010, 0x1019, 0x1021, 0x102A, 0x1033, 0x103B, 0x1044, 0x104D, 0x1055, 0x105E, 0x1067, 0x106F, 0x1078, 0x1080, 0x1089, 0x1092, 0x109A, 0x10A3, 0x10AB, 0x10B4, 0x10BC, 0x10C5, 0x10CE, 0x10D6, 0x10DF, 0x10E7, 0x10F0, 0x10F8, 0x1101, 0x1109, 0x1112, 0x111A, 0x1123, 0x112B, 0x1134, 0x113C, 0x1145, 0x114D, 0x1156, 0x115E, 0x1166, 0x116F, 0x1177, 0x1180, 0x1188, 0x1191, 0x1199, 0x11A1, 0x11AA, 0x11B2, 0x11BB, 0x11C3, 0x11CB, 0x11D4, 0x11DC, 0x11E4, 0x11ED, 0x11F5, 0x11FD, 0x1206, 0x120E, 0x1216, 0x121F, 0x1227, 0x122F, 0x1237, 0x1240, 0x1248, 0x1250, 0x1259, 0x1261, 0x1269, 0x1271, 0x127A, 0x1282, 0x128A, 0x1292, 0x129A, 0x12A3, 0x12AB, 0x12B3, 0x12BB, 0x12C3, 0x12CC, 0x12D4, 0x12DC, 0x12E4, 0x12EC, 0x12F4, 0x12FC, 0x1305, 0x130D, 0x1315, 0x131D, 0x1325, 0x132D, 0x1335, 0x133D, 0x1345, 0x134D, 0x1355, 0x135E, 0x1366, 0x136E, 0x1376, 0x137E, 0x1386, 0x138E, 0x1396, 0x139E, 0x13A6, 0x13AE, 0x13B6, 0x13BE, 0x13C6, 0x13CE, 0x13D6, 0x13DE, 0x13E6, 0x13ED, 0x13F5, 0x13FD, 0x1405, 0x140D, 0x1415, 0x141D, 0x1425, 0x142D, 0x1435, 0x143D, 0x1444, 0x144C, 0x1454, 0x145C, 0x1464, 0x146C, 0x1473, 0x147B, 0x1483, 0x148B, 0x1493, 0x149B, 0x14A2, 0x14AA, 0x14B2, 0x14BA, 0x14C1, 0x14C9, 0x14D1, 0x14D9, 0x14E0, 0x14E8, 0x14F0, 0x14F8, 0x14FF, 0x1507, 0x150F, 0x1516, 0x151E, 0x1526, 0x152D, 0x1535, 0x153D, 0x1544, 0x154C, 0x1554, 0x155B, 0x1563, 0x156B, 0x1572, 0x157A, 0x1581, 0x1589, 0x1591, 0x1598, 0x15A0, 0x15A7, 0x15AF, 0x15B7, 0x15BE, 0x15C6, 0x15CD, 0x15D5, 0x15DC, 0x15E4, 0x15EB, 0x15F3, 0x15FA, 0x1602, 0x1609, 0x1611, 0x1618, 0x1620, 0x1627, 0x162F, 0x1636, 0x163E, 0x1645, 0x164C, 0x1654, 0x165B, 0x1663, 0x166A, 0x1671, 0x1679, 0x1680, 0x1688, 0x168F, 0x1696, 0x169E, 0x16A5, 0x16AC, 0x16B4, 0x16BB, 0x16C2, 0x16CA, 0x16D1, 0x16D8, 0x16E0, 0x16E7, 0x16EE, 0x16F6, 0x16FD, 0x1704, 0x170B, 0x1713, 0x171A, 0x1721, 0x1728, 0x1730, 0x1737, 0x173E, 0x1745, 0x174C, 0x1754, 0x175B, 0x1762, 0x1769, 0x1770, 0x1778, 0x177F, 0x1786, 0x178D, 0x1794, 0x179B, 0x17A2, 0x17AA, 0x17B1, 0x17B8, 0x17BF, 0x17C6, 0x17CD, 0x17D4, 0x17DB, 0x17E2, 0x17E9, 0x17F0, 0x17F7, 0x17FE, 0x1806, 0x180D, 0x1814, 0x181B, 0x1822, 0x1829, 0x1830, 0x1837, 0x183E, 0x1845, 0x184C, 0x1853, 0x185A, 0x1860, 0x1867, 0x186E, 0x1875, 0x187C, 0x1883, 0x188A, 0x1891, 0x1898, 0x189F, 0x18A6, 0x18AD, 0x18B3, 0x18BA, 0x18C1, 0x18C8, 0x18CF, 0x18D6, 0x18DD, 0x18E3, 0x18EA, 0x18F1, 0x18F8, 0x18FF, 0x1906, 0x190C, 0x1913, 0x191A, 0x1921, 0x1928, 0x192E, 0x1935, 0x193C, 0x1943, 0x1949, 0x1950, 0x1957, 0x195D, 0x1964, 0x196B, 0x1972, 0x1978, 0x197F, 0x1986, 0x198C, 0x1993, 0x199A, 0x19A0, 0x19A7, 0x19AE, 0x19B4, 0x19BB, 0x19C2, 0x19C8, 0x19CF, 0x19D5, 0x19DC, 0x19E3, 0x19E9, 0x19F0, 0x19F6, 0x19FD, 0x1A04, 0x1A0A, 0x1A11, 0x1A17, 0x1A1E, 0x1A24, 0x1A2B, 0x1A31, 0x1A38, 0x1A3E, 0x1A45, 0x1A4B, 0x1A52, 0x1A58, 0x1A5F, 0x1A65, 0x1A6C, 0x1A72, 0x1A79, 0x1A7F, 0x1A86, 0x1A8C, 0x1A93, 0x1A99, 0x1A9F, 0x1AA6, 0x1AAC, 0x1AB3, 0x1AB9, 0x1AC0, 0x1AC6, 0x1ACC, 0x1AD3, 0x1AD9, 0x1ADF, 0x1AE6, 0x1AEC, 0x1AF2, 0x1AF9, 0x1AFF, 0x1B05, 0x1B0C, 0x1B12, 0x1B18, 0x1B1F, 0x1B25, 0x1B2B, 0x1B32, 0x1B38, 0x1B3E, 0x1B44, 0x1B4B, 0x1B51, 0x1B57, 0x1B5D, 0x1B64, 0x1B6A, 0x1B70, 0x1B76, 0x1B7D, 0x1B83, 0x1B89, 0x1B8F, 0x1B95, 0x1B9C, 0x1BA2, 0x1BA8, 0x1BAE, 0x1BB4, 0x1BBA, 0x1BC1, 0x1BC7, 0x1BCD, 0x1BD3, 0x1BD9, 0x1BDF, 0x1BE5, 0x1BEB, 0x1BF2, 0x1BF8, 0x1BFE, 0x1C04, 0x1C0A, 0x1C10, 0x1C16, 0x1C1C, 0x1C22, 0x1C28, 0x1C2E, 0x1C34, 0x1C3A, 0x1C40, 0x1C46, 0x1C4C, 0x1C52, 0x1C58, 0x1C5E, 0x1C64, 0x1C6A, 0x1C70, 0x1C76, 0x1C7C, 0x1C82, 0x1C88, 0x1C8E, 0x1C94, 0x1C9A, 0x1CA0, 0x1CA6, 0x1CAC, 0x1CB2, 0x1CB8, 0x1CBE, 0x1CC3, 0x1CC9, 0x1CCF, 0x1CD5, 0x1CDB, 0x1CE1, 0x1CE7, 0x1CED, 0x1CF3, 0x1CF8, 0x1CFE, 0x1D04, 0x1D0A, 0x1D10, 0x1D16, 0x1D1B, 0x1D21, 0x1D27, 0x1D2D, 0x1D33, 0x1D38, 0x1D3E, 0x1D44, 0x1D4A, 0x1D4F, 0x1D55, 0x1D5B, 0x1D61, 0x1D66, 0x1D6C, 0x1D72, 0x1D78, 0x1D7D, 0x1D83, 0x1D89, 0x1D8E, 0x1D94, 0x1D9A, 0x1DA0, 0x1DA5, 0x1DAB, 0x1DB1, 0x1DB6, 0x1DBC, 0x1DC2, 0x1DC7, 0x1DCD, 0x1DD3, 0x1DD8, 0x1DDE, 0x1DE3, 0x1DE9, 0x1DEF, 0x1DF4, 0x1DFA, 0x1DFF, 0x1E05, 0x1E0B, 0x1E10, 0x1E16, 0x1E1B, 0x1E21, 0x1E26, 0x1E2C, 0x1E32, 0x1E37, 0x1E3D, 0x1E42, 0x1E48, 0x1E4D, 0x1E53, 0x1E58, 0x1E5E, 0x1E63, 0x1E69, 0x1E6E, 0x1E74, 0x1E79, 0x1E7F, 0x1E84, 0x1E8A, 0x1E8F, 0x1E94, 0x1E9A, 0x1E9F, 0x1EA5, 0x1EAA, 0x1EB0, 0x1EB5, 0x1EBA, 0x1EC0, 0x1EC5, 0x1ECB, 0x1ED0, 0x1ED5, 0x1EDB, 0x1EE0, 0x1EE6, 0x1EEB, 0x1EF0, 0x1EF6, 0x1EFB, 0x1F00, 0x1F06, 0x1F0B, 0x1F10, 0x1F16, 0x1F1B, 0x1F20, 0x1F26, 0x1F2B, 0x1F30, 0x1F36, 0x1F3B, 0x1F40, 0x1F45, 0x1F4B, 0x1F50, 0x1F55, 0x1F5A, 0x1F60, 0x1F65, 0x1F6A, 0x1F6F, 0x1F75, 0x1F7A, 0x1F7F, 0x1F84, 0x1F8A, 0x1F8F, 0x1F94, 0x1F99, 0x1F9E, 0x1FA4, 0x1FA9, 0x1FAE, 0x1FB3, 0x1FB8, 0x1FBD, 0x1FC3, 0x1FC8, 0x1FCD, 0x1FD2, 0x1FD7, 0x1FDC, 0x1FE1, 0x1FE6, 0x1FEC, 0x1FF1, 0x1FF6, 0x1FFB, 0x2000 - diff --git a/asm/non_matchings/audio_spatial/func_80008040.s b/asm/non_matchings/audio_spatial/func_80008040.s deleted file mode 100644 index 3d960d9c..00000000 --- a/asm/non_matchings/audio_spatial/func_80008040.s +++ /dev/null @@ -1,68 +0,0 @@ -glabel func_80008040 -/* 008C40 80008040 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 008C44 80008044 AFBF0014 */ sw $ra, 0x14($sp) -/* 008C48 80008048 3C048012 */ lui $a0, %hi(D_80119C40) # $a0, 0x8012 -/* 008C4C 8000804C 24849C40 */ addiu $a0, %lo(D_80119C40) # addiu $a0, $a0, -0x63c0 -/* 008C50 80008050 00002825 */ move $a1, $zero -/* 008C54 80008054 0C00084A */ jal sound_table_properties -/* 008C58 80008058 00003025 */ move $a2, $zero -/* 008C5C 8000805C 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff -/* 008C60 80008060 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 008C64 80008064 0C01C327 */ jal mempool_alloc_safe -/* 008C68 80008068 240405A0 */ li $a0, 1440 -/* 008C6C 8000806C 3C068012 */ lui $a2, %hi(gSoundMaskHeap) # $a2, 0x8012 -/* 008C70 80008070 24C69C48 */ addiu $a2, %lo(gSoundMaskHeap) # addiu $a2, $a2, -0x63b8 -/* 008C74 80008074 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff -/* 008C78 80008078 ACC20000 */ sw $v0, ($a2) -/* 008C7C 8000807C 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 008C80 80008080 0C01C327 */ jal mempool_alloc_safe -/* 008C84 80008084 240400A0 */ li $a0, 160 -/* 008C88 80008088 3C018012 */ lui $at, %hi(gSoundMaskHeapFree) # $at, 0x8012 -/* 008C8C 8000808C 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff -/* 008C90 80008090 AC229C50 */ sw $v0, %lo(gSoundMaskHeapFree)($at) -/* 008C94 80008094 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 008C98 80008098 0C01C327 */ jal mempool_alloc_safe -/* 008C9C 8000809C 240400A0 */ li $a0, 160 -/* 008CA0 800080A0 3C018012 */ lui $at, %hi(gSoundMaskHeapUsed) # $at, 0x8012 -/* 008CA4 800080A4 AC229C44 */ sw $v0, %lo(gSoundMaskHeapUsed)($at) -/* 008CA8 800080A8 3C068012 */ lui $a2, %hi(gSoundMaskHeap) # $a2, 0x8012 -/* 008CAC 800080AC 3C01800E */ lui $at, %hi(gUsedMasks) # $at, 0x800e -/* 008CB0 800080B0 3C028012 */ lui $v0, %hi(D_8011A6D8) # $v0, 0x8012 -/* 008CB4 800080B4 3C038012 */ lui $v1, %hi(D_80119C58) # $v1, 0x8012 -/* 008CB8 800080B8 24C69C48 */ addiu $a2, %lo(gSoundMaskHeap) # addiu $a2, $a2, -0x63b8 -/* 008CBC 800080BC A420C6E0 */ sh $zero, %lo(gUsedMasks)($at) -/* 008CC0 800080C0 24639C58 */ addiu $v1, %lo(D_80119C58) # addiu $v1, $v1, -0x63a8 -/* 008CC4 800080C4 2442A6D8 */ addiu $v0, %lo(D_8011A6D8) # addiu $v0, $v0, -0x5928 -.L800080C8: -/* 008CC8 800080C8 24630180 */ addiu $v1, $v1, 0x180 -/* 008CCC 800080CC 0062082B */ sltu $at, $v1, $v0 -/* 008CD0 800080D0 1420FFFD */ bnez $at, .L800080C8 -/* 008CD4 800080D4 AC60FFF8 */ sw $zero, -8($v1) -/* 008CD8 800080D8 00001025 */ move $v0, $zero -/* 008CDC 800080DC 240305A0 */ li $v1, 1440 -.L800080E0: -/* 008CE0 800080E0 8CCE0000 */ lw $t6, ($a2) -/* 008CE4 800080E4 00000000 */ nop -/* 008CE8 800080E8 01C27821 */ addu $t7, $t6, $v0 -/* 008CEC 800080EC ADE00018 */ sw $zero, 0x18($t7) -/* 008CF0 800080F0 8CD80000 */ lw $t8, ($a2) -/* 008CF4 800080F4 00000000 */ nop -/* 008CF8 800080F8 0302C821 */ addu $t9, $t8, $v0 -/* 008CFC 800080FC AF20003C */ sw $zero, 0x3c($t9) -/* 008D00 80008100 8CC80000 */ lw $t0, ($a2) -/* 008D04 80008104 00000000 */ nop -/* 008D08 80008108 01024821 */ addu $t1, $t0, $v0 -/* 008D0C 8000810C AD200060 */ sw $zero, 0x60($t1) -/* 008D10 80008110 8CCA0000 */ lw $t2, ($a2) -/* 008D14 80008114 00000000 */ nop -/* 008D18 80008118 01425821 */ addu $t3, $t2, $v0 -/* 008D1C 8000811C 24420090 */ addiu $v0, $v0, 0x90 -/* 008D20 80008120 1443FFEF */ bne $v0, $v1, .L800080E0 -/* 008D24 80008124 AD600084 */ sw $zero, 0x84($t3) -/* 008D28 80008128 0C00205D */ jal func_80008174 -/* 008D2C 8000812C 00000000 */ nop -/* 008D30 80008130 8FBF0014 */ lw $ra, 0x14($sp) -/* 008D34 80008134 27BD0018 */ addiu $sp, $sp, 0x18 -/* 008D38 80008138 03E00008 */ jr $ra -/* 008D3C 8000813C 00000000 */ nop - diff --git a/asm/non_matchings/audio_spatial/func_80008174.s b/asm/non_matchings/audio_spatial/func_80008174.s deleted file mode 100644 index 82376e6e..00000000 --- a/asm/non_matchings/audio_spatial/func_80008174.s +++ /dev/null @@ -1,196 +0,0 @@ -.late_rodata -glabel D_800E4F10 -.float -100000.0 - -.text -glabel func_80008174 -/* 008D74 80008174 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 008D78 80008178 3C038012 */ lui $v1, %hi(gFreeMasks) # $v1, 0x8012 -/* 008D7C 8000817C 3C048012 */ lui $a0, %hi(gSoundMaskHeap) # $a0, 0x8012 -/* 008D80 80008180 300200FF */ andi $v0, $zero, 0xff -/* 008D84 80008184 24639C4C */ addiu $v1, %lo(gFreeMasks) # addiu $v1, $v1, -0x63b4 -/* 008D88 80008188 8C849C48 */ lw $a0, %lo(gSoundMaskHeap)($a0) -/* 008D8C 8000818C 28410028 */ slti $at, $v0, 0x28 -/* 008D90 80008190 AFBF003C */ sw $ra, 0x3c($sp) -/* 008D94 80008194 AFB60038 */ sw $s6, 0x38($sp) -/* 008D98 80008198 AFB50034 */ sw $s5, 0x34($sp) -/* 008D9C 8000819C AFB40030 */ sw $s4, 0x30($sp) -/* 008DA0 800081A0 AFB3002C */ sw $s3, 0x2c($sp) -/* 008DA4 800081A4 AFB20028 */ sw $s2, 0x28($sp) -/* 008DA8 800081A8 AFB10024 */ sw $s1, 0x24($sp) -/* 008DAC 800081AC AFB00020 */ sw $s0, 0x20($sp) -/* 008DB0 800081B0 E7B50018 */ swc1 $f21, 0x18($sp) -/* 008DB4 800081B4 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 008DB8 800081B8 1020000E */ beqz $at, .L800081F4 -/* 008DBC 800081BC A0600000 */ sb $zero, ($v1) -/* 008DC0 800081C0 3C058012 */ lui $a1, %hi(gSoundMaskHeapFree) # $a1, 0x8012 -/* 008DC4 800081C4 24A59C50 */ addiu $a1, %lo(gSoundMaskHeapFree) # addiu $a1, $a1, -0x63b0 -.L800081C8: -/* 008DC8 800081C8 8CAE0000 */ lw $t6, ($a1) -/* 008DCC 800081CC 00027880 */ sll $t7, $v0, 2 -/* 008DD0 800081D0 01CFC021 */ addu $t8, $t6, $t7 -/* 008DD4 800081D4 AF040000 */ sw $a0, ($t8) -/* 008DD8 800081D8 90790000 */ lbu $t9, ($v1) -/* 008DDC 800081DC 24840024 */ addiu $a0, $a0, 0x24 -/* 008DE0 800081E0 27290001 */ addiu $t1, $t9, 1 -/* 008DE4 800081E4 312200FF */ andi $v0, $t1, 0xff -/* 008DE8 800081E8 28410028 */ slti $at, $v0, 0x28 -/* 008DEC 800081EC 1420FFF6 */ bnez $at, .L800081C8 -/* 008DF0 800081F0 A0690000 */ sb $t1, ($v1) -.L800081F4: -/* 008DF4 800081F4 3C14800E */ lui $s4, %hi(gUsedMasks) # $s4, 0x800e -/* 008DF8 800081F8 2694C6E0 */ addiu $s4, %lo(gUsedMasks) # addiu $s4, $s4, -0x3920 -/* 008DFC 800081FC 968B0000 */ lhu $t3, ($s4) -/* 008E00 80008200 244AFFFF */ addiu $t2, $v0, -1 -/* 008E04 80008204 A06A0000 */ sb $t2, ($v1) -/* 008E08 80008208 19600014 */ blez $t3, .L8000825C -/* 008E0C 8000820C 00008825 */ move $s1, $zero -/* 008E10 80008210 3C128012 */ lui $s2, %hi(gSoundMaskHeapUsed) # $s2, 0x8012 -/* 008E14 80008214 26529C44 */ addiu $s2, %lo(gSoundMaskHeapUsed) # addiu $s2, $s2, -0x63bc -/* 008E18 80008218 00008025 */ move $s0, $zero -.L8000821C: -/* 008E1C 8000821C 8E4C0000 */ lw $t4, ($s2) -/* 008E20 80008220 00000000 */ nop -/* 008E24 80008224 01906821 */ addu $t5, $t4, $s0 -/* 008E28 80008228 8DA20000 */ lw $v0, ($t5) -/* 008E2C 8000822C 00000000 */ nop -/* 008E30 80008230 8C440018 */ lw $a0, 0x18($v0) -/* 008E34 80008234 A0400012 */ sb $zero, 0x12($v0) -/* 008E38 80008238 10800003 */ beqz $a0, .L80008248 -/* 008E3C 8000823C 00000000 */ nop -/* 008E40 80008240 0C001223 */ jal sound_stop -/* 008E44 80008244 00000000 */ nop -.L80008248: -/* 008E48 80008248 968E0000 */ lhu $t6, ($s4) -/* 008E4C 8000824C 26310001 */ addiu $s1, $s1, 1 -/* 008E50 80008250 022E082A */ slt $at, $s1, $t6 -/* 008E54 80008254 1420FFF1 */ bnez $at, .L8000821C -/* 008E58 80008258 26100004 */ addiu $s0, $s0, 4 -.L8000825C: -/* 008E5C 8000825C A6800000 */ sh $zero, ($s4) -/* 008E60 80008260 3C01800E */ lui $at, %hi(D_800E4F10) # $at, 0x800e -/* 008E64 80008264 3C118012 */ lui $s1, %hi(D_80119C58) # $s1, 0x8012 -/* 008E68 80008268 3C128012 */ lui $s2, %hi(D_80119C5C) # $s2, 0x8012 -/* 008E6C 8000826C 3C138012 */ lui $s3, %hi(D_80119C60) # $s3, 0x8012 -/* 008E70 80008270 3C158012 */ lui $s5, %hi(D_8011A6E0) # $s5, 0x8012 -/* 008E74 80008274 C4344F10 */ lwc1 $f20, %lo(D_800E4F10)($at) -/* 008E78 80008278 26B5A6E0 */ addiu $s5, %lo(D_8011A6E0) # addiu $s5, $s5, -0x5920 -/* 008E7C 8000827C 26739C60 */ addiu $s3, %lo(D_80119C60) # addiu $s3, $s3, -0x63a0 -/* 008E80 80008280 26529C5C */ addiu $s2, %lo(D_80119C5C) # addiu $s2, $s2, -0x63a4 -/* 008E84 80008284 26319C58 */ addiu $s1, %lo(D_80119C58) # addiu $s1, $s1, -0x63a8 -/* 008E88 80008288 2414FFFF */ li $s4, -1 -/* 008E8C 8000828C 24160001 */ li $s6, 1 -/* 008E90 80008290 2410001E */ li $s0, 30 -.L80008294: -/* 008E94 80008294 8E240178 */ lw $a0, 0x178($s1) -/* 008E98 80008298 AE20016C */ sw $zero, 0x16c($s1) -/* 008E9C 8000829C 1080000E */ beqz $a0, .L800082D8 -/* 008EA0 800082A0 00000000 */ nop -/* 008EA4 800082A4 92220000 */ lbu $v0, ($s1) -/* 008EA8 800082A8 00000000 */ nop -/* 008EAC 800082AC 14400005 */ bnez $v0, .L800082C4 -/* 008EB0 800082B0 00000000 */ nop -/* 008EB4 800082B4 0C001223 */ jal sound_stop -/* 008EB8 800082B8 00000000 */ nop -/* 008EBC 800082BC 10000006 */ b .L800082D8 -/* 008EC0 800082C0 AE200178 */ sw $zero, 0x178($s1) -.L800082C4: -/* 008EC4 800082C4 16C20003 */ bne $s6, $v0, .L800082D4 -/* 008EC8 800082C8 00000000 */ nop -/* 008ECC 800082CC 0C000638 */ jal music_jingle_stop -/* 008ED0 800082D0 00000000 */ nop -.L800082D4: -/* 008ED4 800082D4 AE200178 */ sw $zero, 0x178($s1) -.L800082D8: -/* 008ED8 800082D8 A234017C */ sb $s4, 0x17c($s1) -/* 008EDC 800082DC E6540000 */ swc1 $f20, ($s2) -/* 008EE0 800082E0 02601025 */ move $v0, $s3 -/* 008EE4 800082E4 E6740000 */ swc1 $f20, ($s3) -/* 008EE8 800082E8 E4540010 */ swc1 $f20, 0x10($v0) -/* 008EEC 800082EC E454000C */ swc1 $f20, 0xc($v0) -/* 008EF0 800082F0 E4540008 */ swc1 $f20, 8($v0) -/* 008EF4 800082F4 E4540004 */ swc1 $f20, 4($v0) -/* 008EF8 800082F8 24420014 */ addiu $v0, $v0, 0x14 -/* 008EFC 800082FC 24030002 */ li $v1, 2 -.L80008300: -/* 008F00 80008300 24630004 */ addiu $v1, $v1, 4 -/* 008F04 80008304 E454000C */ swc1 $f20, 0xc($v0) -/* 008F08 80008308 E4540010 */ swc1 $f20, 0x10($v0) -/* 008F0C 8000830C E4540014 */ swc1 $f20, 0x14($v0) -/* 008F10 80008310 E4540018 */ swc1 $f20, 0x18($v0) -/* 008F14 80008314 E454001C */ swc1 $f20, 0x1c($v0) -/* 008F18 80008318 E4540020 */ swc1 $f20, 0x20($v0) -/* 008F1C 8000831C E4540024 */ swc1 $f20, 0x24($v0) -/* 008F20 80008320 E4540028 */ swc1 $f20, 0x28($v0) -/* 008F24 80008324 E454002C */ swc1 $f20, 0x2c($v0) -/* 008F28 80008328 24420030 */ addiu $v0, $v0, 0x30 -/* 008F2C 8000832C E454FFD0 */ swc1 $f20, -0x30($v0) -/* 008F30 80008330 E454FFD4 */ swc1 $f20, -0x2c($v0) -/* 008F34 80008334 1470FFF2 */ bne $v1, $s0, .L80008300 -/* 008F38 80008338 E454FFD8 */ swc1 $f20, -0x28($v0) -/* 008F3C 8000833C 26730180 */ addiu $s3, $s3, 0x180 -/* 008F40 80008340 0275082B */ sltu $at, $s3, $s5 -/* 008F44 80008344 26310180 */ addiu $s1, $s1, 0x180 -/* 008F48 80008348 1420FFD2 */ bnez $at, .L80008294 -/* 008F4C 8000834C 26520180 */ addiu $s2, $s2, 0x180 -/* 008F50 80008350 3C058012 */ lui $a1, %hi(D_8011A6D8) # $a1, 0x8012 -/* 008F54 80008354 3C068012 */ lui $a2, %hi(D_8011A6DC) # $a2, 0x8012 -/* 008F58 80008358 3C078012 */ lui $a3, %hi(D_8011A6E0) # $a3, 0x8012 -/* 008F5C 8000835C 3C088012 */ lui $t0, %hi(D_8011AC20) # $t0, 0x8012 -/* 008F60 80008360 44800000 */ mtc1 $zero, $f0 -/* 008F64 80008364 2508AC20 */ addiu $t0, %lo(D_8011AC20) # addiu $t0, $t0, -0x53e0 -/* 008F68 80008368 24E7A6E0 */ addiu $a3, %lo(D_8011A6E0) # addiu $a3, $a3, -0x5920 -/* 008F6C 8000836C 24C6A6DC */ addiu $a2, %lo(D_8011A6DC) # addiu $a2, $a2, -0x5924 -/* 008F70 80008370 24A5A6D8 */ addiu $a1, %lo(D_8011A6D8) # addiu $a1, $a1, -0x5928 -/* 008F74 80008374 2404000F */ li $a0, 15 -.L80008378: -/* 008F78 80008378 A0B400B8 */ sb $s4, 0xb8($a1) -/* 008F7C 8000837C A0A00000 */ sb $zero, ($a1) -/* 008F80 80008380 E4A000BC */ swc1 $f0, 0xbc($a1) -/* 008F84 80008384 E4D40000 */ swc1 $f20, ($a2) -/* 008F88 80008388 00E01025 */ move $v0, $a3 -/* 008F8C 8000838C E4F40000 */ swc1 $f20, ($a3) -/* 008F90 80008390 E454001C */ swc1 $f20, 0x1c($v0) -/* 008F94 80008394 E4540018 */ swc1 $f20, 0x18($v0) -/* 008F98 80008398 E4540014 */ swc1 $f20, 0x14($v0) -/* 008F9C 8000839C E4540010 */ swc1 $f20, 0x10($v0) -/* 008FA0 800083A0 E454000C */ swc1 $f20, 0xc($v0) -/* 008FA4 800083A4 E4540008 */ swc1 $f20, 8($v0) -/* 008FA8 800083A8 E4540004 */ swc1 $f20, 4($v0) -/* 008FAC 800083AC 24420020 */ addiu $v0, $v0, 0x20 -/* 008FB0 800083B0 24030003 */ li $v1, 3 -.L800083B4: -/* 008FB4 800083B4 24630004 */ addiu $v1, $v1, 4 -/* 008FB8 800083B8 E454000C */ swc1 $f20, 0xc($v0) -/* 008FBC 800083BC E4540010 */ swc1 $f20, 0x10($v0) -/* 008FC0 800083C0 E4540014 */ swc1 $f20, 0x14($v0) -/* 008FC4 800083C4 E4540018 */ swc1 $f20, 0x18($v0) -/* 008FC8 800083C8 E454001C */ swc1 $f20, 0x1c($v0) -/* 008FCC 800083CC E4540020 */ swc1 $f20, 0x20($v0) -/* 008FD0 800083D0 E4540024 */ swc1 $f20, 0x24($v0) -/* 008FD4 800083D4 E4540028 */ swc1 $f20, 0x28($v0) -/* 008FD8 800083D8 E454002C */ swc1 $f20, 0x2c($v0) -/* 008FDC 800083DC 24420030 */ addiu $v0, $v0, 0x30 -/* 008FE0 800083E0 E454FFD0 */ swc1 $f20, -0x30($v0) -/* 008FE4 800083E4 E454FFD4 */ swc1 $f20, -0x2c($v0) -/* 008FE8 800083E8 1464FFF2 */ bne $v1, $a0, .L800083B4 -/* 008FEC 800083EC E454FFD8 */ swc1 $f20, -0x28($v0) -/* 008FF0 800083F0 24E700C0 */ addiu $a3, $a3, 0xc0 -/* 008FF4 800083F4 24A500C0 */ addiu $a1, $a1, 0xc0 -/* 008FF8 800083F8 14E8FFDF */ bne $a3, $t0, .L80008378 -/* 008FFC 800083FC 24C600C0 */ addiu $a2, $a2, 0xc0 -/* 009000 80008400 8FBF003C */ lw $ra, 0x3c($sp) -/* 009004 80008404 3C018012 */ lui $at, %hi(gAudioLinesOff) # $at, 0x8012 -/* 009008 80008408 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 00900C 8000840C C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 009010 80008410 8FB00020 */ lw $s0, 0x20($sp) -/* 009014 80008414 8FB10024 */ lw $s1, 0x24($sp) -/* 009018 80008418 8FB20028 */ lw $s2, 0x28($sp) -/* 00901C 8000841C 8FB3002C */ lw $s3, 0x2c($sp) -/* 009020 80008420 8FB40030 */ lw $s4, 0x30($sp) -/* 009024 80008424 8FB50034 */ lw $s5, 0x34($sp) -/* 009028 80008428 8FB60038 */ lw $s6, 0x38($sp) -/* 00902C 8000842C A020AC18 */ sb $zero, %lo(gAudioLinesOff)($at) -/* 009030 80008430 03E00008 */ jr $ra -/* 009034 80008434 27BD0040 */ addiu $sp, $sp, 0x40 - diff --git a/asm/non_matchings/audio_spatial/func_80008438.s b/asm/non_matchings/audio_spatial/func_80008438.s deleted file mode 100644 index 8d61e91b..00000000 --- a/asm/non_matchings/audio_spatial/func_80008438.s +++ /dev/null @@ -1,866 +0,0 @@ -.late_rodata -glabel D_800E4F14 -.float 999999.0 - -.text -glabel func_80008438 -/* 009038 80008438 27BDFD98 */ addiu $sp, $sp, -0x268 -/* 00903C 8000843C AFBF006C */ sw $ra, 0x6c($sp) -/* 009040 80008440 AFBE0068 */ sw $fp, 0x68($sp) -/* 009044 80008444 AFB70064 */ sw $s7, 0x64($sp) -/* 009048 80008448 AFB60060 */ sw $s6, 0x60($sp) -/* 00904C 8000844C AFB5005C */ sw $s5, 0x5c($sp) -/* 009050 80008450 AFB40058 */ sw $s4, 0x58($sp) -/* 009054 80008454 AFB30054 */ sw $s3, 0x54($sp) -/* 009058 80008458 AFB20050 */ sw $s2, 0x50($sp) -/* 00905C 8000845C AFB1004C */ sw $s1, 0x4c($sp) -/* 009060 80008460 AFB00048 */ sw $s0, 0x48($sp) -/* 009064 80008464 E7BB0040 */ swc1 $f27, 0x40($sp) -/* 009068 80008468 E7BA0044 */ swc1 $f26, 0x44($sp) -/* 00906C 8000846C E7B90038 */ swc1 $f25, 0x38($sp) -/* 009070 80008470 E7B8003C */ swc1 $f24, 0x3c($sp) -/* 009074 80008474 E7B70030 */ swc1 $f23, 0x30($sp) -/* 009078 80008478 E7B60034 */ swc1 $f22, 0x34($sp) -/* 00907C 8000847C E7B50028 */ swc1 $f21, 0x28($sp) -/* 009080 80008480 E7B4002C */ swc1 $f20, 0x2c($sp) -/* 009084 80008484 AFA40268 */ sw $a0, 0x268($sp) -/* 009088 80008488 AFA5026C */ sw $a1, 0x26c($sp) -/* 00908C 8000848C AFA60270 */ sw $a2, 0x270($sp) -/* 009090 80008490 0C019884 */ jal get_viewport_count -/* 009094 80008494 AFA0024C */ sw $zero, 0x24c($sp) -/* 009098 80008498 0C01994B */ jal set_active_viewports_and_max -/* 00909C 8000849C 00402025 */ move $a0, $v0 -/* 0090A0 800084A0 0C01A75F */ jal get_cutscene_camera_segment -/* 0090A4 800084A4 AFA200B0 */ sw $v0, 0xb0($sp) -/* 0090A8 800084A8 3C15800E */ lui $s5, %hi(gUsedMasks) # $s5, 0x800e -/* 0090AC 800084AC 26B5C6E0 */ addiu $s5, %lo(gUsedMasks) # addiu $s5, $s5, -0x3920 -/* 0090B0 800084B0 96AE0000 */ lhu $t6, ($s5) -/* 0090B4 800084B4 AFA200AC */ sw $v0, 0xac($sp) -/* 0090B8 800084B8 19C00187 */ blez $t6, .L80008AD8 -/* 0090BC 800084BC AFA00260 */ sw $zero, 0x260($sp) -/* 0090C0 800084C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0090C4 800084C4 3C168012 */ lui $s6, %hi(gSoundMaskHeapUsed) # $s6, 0x8012 -/* 0090C8 800084C8 4481D000 */ mtc1 $at, $f26 -/* 0090CC 800084CC 26D69C44 */ addiu $s6, %lo(gSoundMaskHeapUsed) # addiu $s6, $s6, -0x63bc -/* 0090D0 800084D0 0000A025 */ move $s4, $zero -/* 0090D4 800084D4 27B700A8 */ addiu $s7, $sp, 0xa8 -/* 0090D8 800084D8 24120001 */ li $s2, 1 -.L800084DC: -/* 0090DC 800084DC 8ECF0000 */ lw $t7, ($s6) -/* 0090E0 800084E0 8FA900B0 */ lw $t1, 0xb0($sp) -/* 0090E4 800084E4 01F4C021 */ addu $t8, $t7, $s4 -/* 0090E8 800084E8 8F110000 */ lw $s1, ($t8) -/* 0090EC 800084EC AFA00254 */ sw $zero, 0x254($sp) -/* 0090F0 800084F0 92390011 */ lbu $t9, 0x11($s1) -/* 0090F4 800084F4 8FAB00B0 */ lw $t3, 0xb0($sp) -/* 0090F8 800084F8 33280002 */ andi $t0, $t9, 2 -/* 0090FC 800084FC 1100006F */ beqz $t0, .L800086BC -/* 009100 80008500 24010001 */ li $at, 1 -/* 009104 80008504 1521016D */ bne $t1, $at, .L80008ABC -/* 009108 80008508 8FA80260 */ lw $t0, 0x260($sp) -/* 00910C 8000850C 8FAA00AC */ lw $t2, 0xac($sp) -/* 009110 80008510 C6240000 */ lwc1 $f4, ($s1) -/* 009114 80008514 C546000C */ lwc1 $f6, 0xc($t2) -/* 009118 80008518 C6280004 */ lwc1 $f8, 4($s1) -/* 00911C 8000851C 46062501 */ sub.s $f20, $f4, $f6 -/* 009120 80008520 C54A0010 */ lwc1 $f10, 0x10($t2) -/* 009124 80008524 4614A102 */ mul.s $f4, $f20, $f20 -/* 009128 80008528 460A4001 */ sub.s $f0, $f8, $f10 -/* 00912C 8000852C C6300008 */ lwc1 $f16, 8($s1) -/* 009130 80008530 C5520014 */ lwc1 $f18, 0x14($t2) -/* 009134 80008534 46000182 */ mul.s $f6, $f0, $f0 -/* 009138 80008538 46128581 */ sub.s $f22, $f16, $f18 -/* 00913C 8000853C 4616B282 */ mul.s $f10, $f22, $f22 -/* 009140 80008540 46062200 */ add.s $f8, $f4, $f6 -/* 009144 80008544 0C0326B4 */ jal sqrtf -/* 009148 80008548 460A4300 */ add.s $f12, $f8, $f10 -/* 00914C 8000854C 444BF800 */ cfc1 $t3, $31 -/* 009150 80008550 8E240014 */ lw $a0, 0x14($s1) -/* 009154 80008554 35610003 */ ori $at, $t3, 3 -/* 009158 80008558 38210002 */ xori $at, $at, 2 -/* 00915C 8000855C 44C1F800 */ ctc1 $at, $31 -/* 009160 80008560 00000000 */ nop -/* 009164 80008564 46000424 */ cvt.w.s $f16, $f0 -/* 009168 80008568 44038000 */ mfc1 $v1, $f16 -/* 00916C 8000856C 44CBF800 */ ctc1 $t3, $31 -/* 009170 80008570 0064082A */ slt $at, $v1, $a0 -/* 009174 80008574 10200049 */ beqz $at, .L8000869C -/* 009178 80008578 0083082A */ slt $at, $a0, $v1 -/* 00917C 8000857C 922C0012 */ lbu $t4, 0x12($s1) -/* 009180 80008580 00000000 */ nop -/* 009184 80008584 15800045 */ bnez $t4, .L8000869C -/* 009188 80008588 0083082A */ slt $at, $a0, $v1 -/* 00918C 8000858C 8E240018 */ lw $a0, 0x18($s1) -/* 009190 80008590 00000000 */ nop -/* 009194 80008594 1480000F */ bnez $a0, .L800085D4 -/* 009198 80008598 00000000 */ nop -/* 00919C 8000859C 922D0022 */ lbu $t5, 0x22($s1) -/* 0091A0 800085A0 00000000 */ nop -/* 0091A4 800085A4 11A00006 */ beqz $t5, .L800085C0 -/* 0091A8 800085A8 00000000 */ nop -/* 0091AC 800085AC 922E0011 */ lbu $t6, 0x11($s1) -/* 0091B0 800085B0 00000000 */ nop -/* 0091B4 800085B4 31CF0004 */ andi $t7, $t6, 4 -/* 0091B8 800085B8 15E00006 */ bnez $t7, .L800085D4 -/* 0091BC 800085BC 00000000 */ nop -.L800085C0: -/* 0091C0 800085C0 9624000C */ lhu $a0, 0xc($s1) -/* 0091C4 800085C4 0C0007C5 */ jal func_80001F14 -/* 0091C8 800085C8 26250018 */ addiu $a1, $s1, 0x18 -/* 0091CC 800085CC 8E240018 */ lw $a0, 0x18($s1) -/* 0091D0 800085D0 A2320022 */ sb $s2, 0x22($s1) -.L800085D4: -/* 0091D4 800085D4 1080002E */ beqz $a0, .L80008690 -/* 0091D8 800085D8 00000000 */ nop -/* 0091DC 800085DC 9238000F */ lbu $t8, 0xf($s1) -/* 0091E0 800085E0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0091E4 800085E4 44989000 */ mtc1 $t8, $f18 -/* 0091E8 800085E8 07010004 */ bgez $t8, .L800085FC -/* 0091EC 800085EC 46809120 */ cvt.s.w $f4, $f18 -/* 0091F0 800085F0 44813000 */ mtc1 $at, $f6 -/* 0091F4 800085F4 00000000 */ nop -/* 0091F8 800085F8 46062100 */ add.s $f4, $f4, $f6 -.L800085FC: -/* 0091FC 800085FC 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 009200 80008600 44814000 */ mtc1 $at, $f8 -/* 009204 80008604 24050008 */ li $a1, 8 -/* 009208 80008608 46082283 */ div.s $f10, $f4, $f8 -/* 00920C 8000860C E7AA00A8 */ swc1 $f10, 0xa8($sp) -/* 009210 80008610 9226000E */ lbu $a2, 0xe($s1) -/* 009214 80008614 8E240018 */ lw $a0, 0x18($s1) -/* 009218 80008618 0006CA00 */ sll $t9, $a2, 8 -/* 00921C 8000861C 0C00127E */ jal sound_event_update -/* 009220 80008620 03203025 */ move $a2, $t9 -/* 009224 80008624 8E240018 */ lw $a0, 0x18($s1) -/* 009228 80008628 8EE60000 */ lw $a2, ($s7) -/* 00922C 8000862C 0C00127E */ jal sound_event_update -/* 009230 80008630 24050010 */ li $a1, 16 -/* 009234 80008634 8FA800AC */ lw $t0, 0xac($sp) -/* 009238 80008638 4600A306 */ mov.s $f12, $f20 -/* 00923C 8000863C 85060000 */ lh $a2, ($t0) -/* 009240 80008640 0C002430 */ jal func_800090C0 -/* 009244 80008644 4600B386 */ mov.s $f14, $f22 -/* 009248 80008648 8FA900B0 */ lw $t1, 0xb0($sp) -/* 00924C 8000864C 24010001 */ li $at, 1 -/* 009250 80008650 11210002 */ beq $t1, $at, .L8000865C -/* 009254 80008654 00403025 */ move $a2, $v0 -/* 009258 80008658 24060040 */ li $a2, 64 -.L8000865C: -/* 00925C 8000865C 8E240018 */ lw $a0, 0x18($s1) -/* 009260 80008660 0C00127E */ jal sound_event_update -/* 009264 80008664 24050004 */ li $a1, 4 -/* 009268 80008668 8E240018 */ lw $a0, 0x18($s1) -/* 00926C 8000866C 8E250000 */ lw $a1, ($s1) -/* 009270 80008670 8E260004 */ lw $a2, 4($s1) -/* 009274 80008674 8E270008 */ lw $a3, 8($s1) -/* 009278 80008678 0C0026DF */ jal func_80009B7C -/* 00927C 8000867C 00000000 */ nop -/* 009280 80008680 8E240018 */ lw $a0, 0x18($s1) -/* 009284 80008684 92250021 */ lbu $a1, 0x21($s1) -/* 009288 80008688 0C001181 */ jal func_80004604 -/* 00928C 8000868C 00000000 */ nop -.L80008690: -/* 009290 80008690 10000109 */ b .L80008AB8 -/* 009294 80008694 A2320012 */ sb $s2, 0x12($s1) -/* 009298 80008698 0083082A */ slt $at, $a0, $v1 -.L8000869C: -/* 00929C 8000869C 10200107 */ beqz $at, .L80008ABC -/* 0092A0 800086A0 8FA80260 */ lw $t0, 0x260($sp) -/* 0092A4 800086A4 922A0012 */ lbu $t2, 0x12($s1) -/* 0092A8 800086A8 00000000 */ nop -/* 0092AC 800086AC 11400103 */ beqz $t2, .L80008ABC -/* 0092B0 800086B0 8FA80260 */ lw $t0, 0x260($sp) -/* 0092B4 800086B4 10000100 */ b .L80008AB8 -/* 0092B8 800086B8 A2200012 */ sb $zero, 0x12($s1) -.L800086BC: -/* 0092BC 800086BC 19600063 */ blez $t3, .L8000884C -/* 0092C0 800086C0 0000F025 */ move $fp, $zero -/* 0092C4 800086C4 8FB300AC */ lw $s3, 0xac($sp) -/* 0092C8 800086C8 00000000 */ nop -.L800086CC: -/* 0092CC 800086CC C6300000 */ lwc1 $f16, ($s1) -/* 0092D0 800086D0 C672000C */ lwc1 $f18, 0xc($s3) -/* 0092D4 800086D4 C6260004 */ lwc1 $f6, 4($s1) -/* 0092D8 800086D8 46128501 */ sub.s $f20, $f16, $f18 -/* 0092DC 800086DC C6640010 */ lwc1 $f4, 0x10($s3) -/* 0092E0 800086E0 4614A402 */ mul.s $f16, $f20, $f20 -/* 0092E4 800086E4 46043001 */ sub.s $f0, $f6, $f4 -/* 0092E8 800086E8 C6280008 */ lwc1 $f8, 8($s1) -/* 0092EC 800086EC C66A0014 */ lwc1 $f10, 0x14($s3) -/* 0092F0 800086F0 46000482 */ mul.s $f18, $f0, $f0 -/* 0092F4 800086F4 460A4581 */ sub.s $f22, $f8, $f10 -/* 0092F8 800086F8 4616B102 */ mul.s $f4, $f22, $f22 -/* 0092FC 800086FC 46128180 */ add.s $f6, $f16, $f18 -/* 009300 80008700 0C0326B4 */ jal sqrtf -/* 009304 80008704 46043300 */ add.s $f12, $f6, $f4 -/* 009308 80008708 444CF800 */ cfc1 $t4, $31 -/* 00930C 8000870C 8E240014 */ lw $a0, 0x14($s1) -/* 009310 80008710 35810003 */ ori $at, $t4, 3 -/* 009314 80008714 38210002 */ xori $at, $at, 2 -/* 009318 80008718 44C1F800 */ ctc1 $at, $31 -/* 00931C 8000871C 8FA90254 */ lw $t1, 0x254($sp) -/* 009320 80008720 46000224 */ cvt.w.s $f8, $f0 -/* 009324 80008724 44034000 */ mfc1 $v1, $f8 -/* 009328 80008728 44CCF800 */ ctc1 $t4, $31 -/* 00932C 8000872C 0064082A */ slt $at, $v1, $a0 -/* 009330 80008730 10200043 */ beqz $at, .L80008840 -/* 009334 80008734 8FAA00B0 */ lw $t2, 0xb0($sp) -/* 009338 80008738 922D0020 */ lbu $t5, 0x20($s1) -/* 00933C 8000873C 0083C023 */ subu $t8, $a0, $v1 -/* 009340 80008740 15A0001B */ bnez $t5, .L800087B0 -/* 009344 80008744 00000000 */ nop -/* 009348 80008748 44835000 */ mtc1 $v1, $f10 -/* 00934C 8000874C 44849000 */ mtc1 $a0, $f18 -/* 009350 80008750 46805420 */ cvt.s.w $f16, $f10 -/* 009354 80008754 922E000E */ lbu $t6, 0xe($s1) -/* 009358 80008758 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 00935C 8000875C 468091A0 */ cvt.s.w $f6, $f18 -/* 009360 80008760 448E5000 */ mtc1 $t6, $f10 -/* 009364 80008764 46068103 */ div.s $f4, $f16, $f6 -/* 009368 80008768 468054A0 */ cvt.s.w $f18, $f10 -/* 00936C 8000876C 05C10004 */ bgez $t6, .L80008780 -/* 009370 80008770 4604D201 */ sub.s $f8, $f26, $f4 -/* 009374 80008774 44818000 */ mtc1 $at, $f16 -/* 009378 80008778 00000000 */ nop -/* 00937C 8000877C 46109480 */ add.s $f18, $f18, $f16 -.L80008780: -/* 009380 80008780 46124182 */ mul.s $f6, $f8, $f18 -/* 009384 80008784 444FF800 */ cfc1 $t7, $31 -/* 009388 80008788 00000000 */ nop -/* 00938C 8000878C 35E10003 */ ori $at, $t7, 3 -/* 009390 80008790 38210002 */ xori $at, $at, 2 -/* 009394 80008794 44C1F800 */ ctc1 $at, $31 -/* 009398 80008798 00000000 */ nop -/* 00939C 8000879C 46003124 */ cvt.w.s $f4, $f6 -/* 0093A0 800087A0 44022000 */ mfc1 $v0, $f4 -/* 0093A4 800087A4 44CFF800 */ ctc1 $t7, $31 -/* 0093A8 800087A8 1000001C */ b .L8000881C -/* 0093AC 800087AC 0122082A */ slt $at, $t1, $v0 -.L800087B0: -/* 0093B0 800087B0 44985000 */ mtc1 $t8, $f10 -/* 0093B4 800087B4 44844000 */ mtc1 $a0, $f8 -/* 0093B8 800087B8 46805420 */ cvt.s.w $f16, $f10 -/* 0093BC 800087BC 9239000E */ lbu $t9, 0xe($s1) -/* 0093C0 800087C0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0093C4 800087C4 468044A0 */ cvt.s.w $f18, $f8 -/* 0093C8 800087C8 44992000 */ mtc1 $t9, $f4 -/* 0093CC 800087CC 46128003 */ div.s $f0, $f16, $f18 -/* 0093D0 800087D0 468022A0 */ cvt.s.w $f10, $f4 -/* 0093D4 800087D4 46000182 */ mul.s $f6, $f0, $f0 -/* 0093D8 800087D8 07210004 */ bgez $t9, .L800087EC -/* 0093DC 800087DC 00000000 */ nop -/* 0093E0 800087E0 44814000 */ mtc1 $at, $f8 -/* 0093E4 800087E4 00000000 */ nop -/* 0093E8 800087E8 46085280 */ add.s $f10, $f10, $f8 -.L800087EC: -/* 0093EC 800087EC 460A3402 */ mul.s $f16, $f6, $f10 -/* 0093F0 800087F0 4448F800 */ cfc1 $t0, $31 -/* 0093F4 800087F4 00000000 */ nop -/* 0093F8 800087F8 35010003 */ ori $at, $t0, 3 -/* 0093FC 800087FC 38210002 */ xori $at, $at, 2 -/* 009400 80008800 44C1F800 */ ctc1 $at, $31 -/* 009404 80008804 00000000 */ nop -/* 009408 80008808 460084A4 */ cvt.w.s $f18, $f16 -/* 00940C 8000880C 44C8F800 */ ctc1 $t0, $31 -/* 009410 80008810 44029000 */ mfc1 $v0, $f18 -/* 009414 80008814 00000000 */ nop -/* 009418 80008818 0122082A */ slt $at, $t1, $v0 -.L8000881C: -/* 00941C 8000881C 10200008 */ beqz $at, .L80008840 -/* 009420 80008820 8FAA00B0 */ lw $t2, 0xb0($sp) -/* 009424 80008824 AFA20254 */ sw $v0, 0x254($sp) -/* 009428 80008828 86660000 */ lh $a2, ($s3) -/* 00942C 8000882C 4600A306 */ mov.s $f12, $f20 -/* 009430 80008830 0C002430 */ jal func_800090C0 -/* 009434 80008834 4600B386 */ mov.s $f14, $f22 -/* 009438 80008838 AFA20250 */ sw $v0, 0x250($sp) -/* 00943C 8000883C 8FAA00B0 */ lw $t2, 0xb0($sp) -.L80008840: -/* 009440 80008840 27DE0001 */ addiu $fp, $fp, 1 -/* 009444 80008844 17CAFFA1 */ bne $fp, $t2, .L800086CC -/* 009448 80008848 26730044 */ addiu $s3, $s3, 0x44 -.L8000884C: -/* 00944C 8000884C 92220010 */ lbu $v0, 0x10($s1) -/* 009450 80008850 8FAB0254 */ lw $t3, 0x254($sp) -/* 009454 80008854 8FAC00B0 */ lw $t4, 0xb0($sp) -/* 009458 80008858 0162082A */ slt $at, $t3, $v0 -/* 00945C 8000885C 10200033 */ beqz $at, .L8000892C -/* 009460 80008860 3C01800E */ lui $at, %hi(D_800E4F14) # $at, 0x800e -/* 009464 80008864 C4384F14 */ lwc1 $f24, %lo(D_800E4F14)($at) -/* 009468 80008868 1980002F */ blez $t4, .L80008928 -/* 00946C 8000886C 0000F025 */ move $fp, $zero -/* 009470 80008870 8FB300AC */ lw $s3, 0xac($sp) -/* 009474 80008874 00000000 */ nop -.L80008878: -/* 009478 80008878 C6240000 */ lwc1 $f4, ($s1) -/* 00947C 8000887C C668000C */ lwc1 $f8, 0xc($s3) -/* 009480 80008880 C6260004 */ lwc1 $f6, 4($s1) -/* 009484 80008884 46082501 */ sub.s $f20, $f4, $f8 -/* 009488 80008888 C66A0010 */ lwc1 $f10, 0x10($s3) -/* 00948C 8000888C 4614A102 */ mul.s $f4, $f20, $f20 -/* 009490 80008890 460A3001 */ sub.s $f0, $f6, $f10 -/* 009494 80008894 C6300008 */ lwc1 $f16, 8($s1) -/* 009498 80008898 C6720014 */ lwc1 $f18, 0x14($s3) -/* 00949C 8000889C 46000202 */ mul.s $f8, $f0, $f0 -/* 0094A0 800088A0 46128581 */ sub.s $f22, $f16, $f18 -/* 0094A4 800088A4 4616B282 */ mul.s $f10, $f22, $f22 -/* 0094A8 800088A8 46082180 */ add.s $f6, $f4, $f8 -/* 0094AC 800088AC 0C0326B4 */ jal sqrtf -/* 0094B0 800088B0 460A3300 */ add.s $f12, $f6, $f10 -/* 0094B4 800088B4 444DF800 */ cfc1 $t5, $31 -/* 0094B8 800088B8 00000000 */ nop -/* 0094BC 800088BC 35A10003 */ ori $at, $t5, 3 -/* 0094C0 800088C0 38210002 */ xori $at, $at, 2 -/* 0094C4 800088C4 44C1F800 */ ctc1 $at, $31 -/* 0094C8 800088C8 00000000 */ nop -/* 0094CC 800088CC 46000424 */ cvt.w.s $f16, $f0 -/* 0094D0 800088D0 44108000 */ mfc1 $s0, $f16 -/* 0094D4 800088D4 44CDF800 */ ctc1 $t5, $31 -/* 0094D8 800088D8 44909000 */ mtc1 $s0, $f18 -/* 0094DC 800088DC 00000000 */ nop -/* 0094E0 800088E0 46809120 */ cvt.s.w $f4, $f18 -/* 0094E4 800088E4 4618203C */ c.lt.s $f4, $f24 -/* 0094E8 800088E8 00000000 */ nop -/* 0094EC 800088EC 45000009 */ bc1f .L80008914 -/* 0094F0 800088F0 8FAE00B0 */ lw $t6, 0xb0($sp) -/* 0094F4 800088F4 86660000 */ lh $a2, ($s3) -/* 0094F8 800088F8 4600A306 */ mov.s $f12, $f20 -/* 0094FC 800088FC 0C002430 */ jal func_800090C0 -/* 009500 80008900 4600B386 */ mov.s $f14, $f22 -/* 009504 80008904 44904000 */ mtc1 $s0, $f8 -/* 009508 80008908 AFA20250 */ sw $v0, 0x250($sp) -/* 00950C 8000890C 46804620 */ cvt.s.w $f24, $f8 -/* 009510 80008910 8FAE00B0 */ lw $t6, 0xb0($sp) -.L80008914: -/* 009514 80008914 27DE0001 */ addiu $fp, $fp, 1 -/* 009518 80008918 17CEFFD7 */ bne $fp, $t6, .L80008878 -/* 00951C 8000891C 26730044 */ addiu $s3, $s3, 0x44 -/* 009520 80008920 92220010 */ lbu $v0, 0x10($s1) -/* 009524 80008924 00000000 */ nop -.L80008928: -/* 009528 80008928 AFA20254 */ sw $v0, 0x254($sp) -.L8000892C: -/* 00952C 8000892C 8FAF0254 */ lw $t7, 0x254($sp) -/* 009530 80008930 00000000 */ nop -/* 009534 80008934 29E1000B */ slti $at, $t7, 0xb -/* 009538 80008938 14200044 */ bnez $at, .L80008A4C -/* 00953C 8000893C 00000000 */ nop -/* 009540 80008940 8E240018 */ lw $a0, 0x18($s1) -/* 009544 80008944 00000000 */ nop -/* 009548 80008948 1480000F */ bnez $a0, .L80008988 -/* 00954C 8000894C 00000000 */ nop -/* 009550 80008950 92380022 */ lbu $t8, 0x22($s1) -/* 009554 80008954 00000000 */ nop -/* 009558 80008958 13000006 */ beqz $t8, .L80008974 -/* 00955C 8000895C 00000000 */ nop -/* 009560 80008960 92390011 */ lbu $t9, 0x11($s1) -/* 009564 80008964 00000000 */ nop -/* 009568 80008968 33280004 */ andi $t0, $t9, 4 -/* 00956C 8000896C 15000006 */ bnez $t0, .L80008988 -/* 009570 80008970 00000000 */ nop -.L80008974: -/* 009574 80008974 9624000C */ lhu $a0, 0xc($s1) -/* 009578 80008978 0C0007C5 */ jal func_80001F14 -/* 00957C 8000897C 26250018 */ addiu $a1, $s1, 0x18 -/* 009580 80008980 8E240018 */ lw $a0, 0x18($s1) -/* 009584 80008984 A2320022 */ sb $s2, 0x22($s1) -.L80008988: -/* 009588 80008988 1080002B */ beqz $a0, .L80008A38 -/* 00958C 8000898C 00000000 */ nop -/* 009590 80008990 9229000F */ lbu $t1, 0xf($s1) -/* 009594 80008994 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 009598 80008998 44893000 */ mtc1 $t1, $f6 -/* 00959C 8000899C 05210004 */ bgez $t1, .L800089B0 -/* 0095A0 800089A0 468032A0 */ cvt.s.w $f10, $f6 -/* 0095A4 800089A4 44818000 */ mtc1 $at, $f16 -/* 0095A8 800089A8 00000000 */ nop -/* 0095AC 800089AC 46105280 */ add.s $f10, $f10, $f16 -.L800089B0: -/* 0095B0 800089B0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0095B4 800089B4 44819000 */ mtc1 $at, $f18 -/* 0095B8 800089B8 8FA60254 */ lw $a2, 0x254($sp) -/* 0095BC 800089BC 46125103 */ div.s $f4, $f10, $f18 -/* 0095C0 800089C0 00065200 */ sll $t2, $a2, 8 -/* 0095C4 800089C4 01403025 */ move $a2, $t2 -/* 0095C8 800089C8 24050008 */ li $a1, 8 -/* 0095CC 800089CC E7A40098 */ swc1 $f4, 0x98($sp) -/* 0095D0 800089D0 8E240018 */ lw $a0, 0x18($s1) -/* 0095D4 800089D4 0C00127E */ jal sound_event_update -/* 0095D8 800089D8 00000000 */ nop -/* 0095DC 800089DC 8E240018 */ lw $a0, 0x18($s1) -/* 0095E0 800089E0 8FA60098 */ lw $a2, 0x98($sp) -/* 0095E4 800089E4 0C00127E */ jal sound_event_update -/* 0095E8 800089E8 24050010 */ li $a1, 16 -/* 0095EC 800089EC 8FAB00B0 */ lw $t3, 0xb0($sp) -/* 0095F0 800089F0 24010001 */ li $at, 1 -/* 0095F4 800089F4 11610002 */ beq $t3, $at, .L80008A00 -/* 0095F8 800089F8 240C0040 */ li $t4, 64 -/* 0095FC 800089FC AFAC0250 */ sw $t4, 0x250($sp) -.L80008A00: -/* 009600 80008A00 8E240018 */ lw $a0, 0x18($s1) -/* 009604 80008A04 8FA60250 */ lw $a2, 0x250($sp) -/* 009608 80008A08 0C00127E */ jal sound_event_update -/* 00960C 80008A0C 24050004 */ li $a1, 4 -/* 009610 80008A10 8E240018 */ lw $a0, 0x18($s1) -/* 009614 80008A14 92250021 */ lbu $a1, 0x21($s1) -/* 009618 80008A18 0C001181 */ jal func_80004604 -/* 00961C 80008A1C 00000000 */ nop -/* 009620 80008A20 8E240018 */ lw $a0, 0x18($s1) -/* 009624 80008A24 8E250000 */ lw $a1, ($s1) -/* 009628 80008A28 8E260004 */ lw $a2, 4($s1) -/* 00962C 80008A2C 8E270008 */ lw $a3, 8($s1) -/* 009630 80008A30 0C0026DF */ jal func_80009B7C -/* 009634 80008A34 00000000 */ nop -.L80008A38: -/* 009638 80008A38 92220011 */ lbu $v0, 0x11($s1) -/* 00963C 80008A3C 00000000 */ nop -/* 009640 80008A40 304D0004 */ andi $t5, $v0, 4 -/* 009644 80008A44 10000010 */ b .L80008A88 -/* 009648 80008A48 01A01025 */ move $v0, $t5 -.L80008A4C: -/* 00964C 80008A4C 8E240018 */ lw $a0, 0x18($s1) -/* 009650 80008A50 00000000 */ nop -/* 009654 80008A54 10800008 */ beqz $a0, .L80008A78 -/* 009658 80008A58 00000000 */ nop -/* 00965C 80008A5C 0C001223 */ jal sound_stop -/* 009660 80008A60 00000000 */ nop -/* 009664 80008A64 92220011 */ lbu $v0, 0x11($s1) -/* 009668 80008A68 00000000 */ nop -/* 00966C 80008A6C 304E0004 */ andi $t6, $v0, 4 -/* 009670 80008A70 10000005 */ b .L80008A88 -/* 009674 80008A74 01C01025 */ move $v0, $t6 -.L80008A78: -/* 009678 80008A78 92220011 */ lbu $v0, 0x11($s1) -/* 00967C 80008A7C A2320022 */ sb $s2, 0x22($s1) -/* 009680 80008A80 304F0004 */ andi $t7, $v0, 4 -/* 009684 80008A84 01E01025 */ move $v0, $t7 -.L80008A88: -/* 009688 80008A88 1040000C */ beqz $v0, .L80008ABC -/* 00968C 80008A8C 8FA80260 */ lw $t0, 0x260($sp) -/* 009690 80008A90 92380022 */ lbu $t8, 0x22($s1) -/* 009694 80008A94 00000000 */ nop -/* 009698 80008A98 13000008 */ beqz $t8, .L80008ABC -/* 00969C 80008A9C 8FA80260 */ lw $t0, 0x260($sp) -/* 0096A0 80008AA0 8E390018 */ lw $t9, 0x18($s1) -/* 0096A4 80008AA4 8FA40260 */ lw $a0, 0x260($sp) -/* 0096A8 80008AA8 17200004 */ bnez $t9, .L80008ABC -/* 0096AC 80008AAC 8FA80260 */ lw $t0, 0x260($sp) -/* 0096B0 80008AB0 0C0028BA */ jal func_8000A2E8 -/* 0096B4 80008AB4 00000000 */ nop -.L80008AB8: -/* 0096B8 80008AB8 8FA80260 */ lw $t0, 0x260($sp) -.L80008ABC: -/* 0096BC 80008ABC 96AA0000 */ lhu $t2, ($s5) -/* 0096C0 80008AC0 25090001 */ addiu $t1, $t0, 1 -/* 0096C4 80008AC4 012A082A */ slt $at, $t1, $t2 -/* 0096C8 80008AC8 AFA90260 */ sw $t1, 0x260($sp) -/* 0096CC 80008ACC 1420FE83 */ bnez $at, .L800084DC -/* 0096D0 80008AD0 26940004 */ addiu $s4, $s4, 4 -/* 0096D4 80008AD4 AFA00260 */ sw $zero, 0x260($sp) -.L80008AD8: -/* 0096D8 80008AD8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0096DC 80008ADC 4481D000 */ mtc1 $at, $f26 -/* 0096E0 80008AE0 3C014280 */ li $at, 0x42800000 # 64.000000 -/* 0096E4 80008AE4 4481B000 */ mtc1 $at, $f22 -/* 0096E8 80008AE8 3C0143C8 */ li $at, 0x43C80000 # 400.000000 -/* 0096EC 80008AEC 3C028012 */ lui $v0, %hi(D_80119C58) # $v0, 0x8012 -/* 0096F0 80008AF0 4481A000 */ mtc1 $at, $f20 -/* 0096F4 80008AF4 24429C58 */ addiu $v0, %lo(D_80119C58) # addiu $v0, $v0, -0x63a8 -.L80008AF8: -/* 0096F8 80008AF8 8C4B016C */ lw $t3, 0x16c($v0) -/* 0096FC 80008AFC 0040B825 */ move $s7, $v0 -/* 009700 80008B00 11600130 */ beqz $t3, .L80008FC4 -/* 009704 80008B04 AFA20088 */ sw $v0, 0x88($sp) -/* 009708 80008B08 93A40263 */ lbu $a0, 0x263($sp) -/* 00970C 80008B0C 0C00267B */ jal func_800099EC -/* 009710 80008B10 AFA20088 */ sw $v0, 0x88($sp) -/* 009714 80008B14 1040012C */ beqz $v0, .L80008FC8 -/* 009718 80008B18 8FAB0260 */ lw $t3, 0x260($sp) -/* 00971C 80008B1C 8FAC00B0 */ lw $t4, 0xb0($sp) -/* 009720 80008B20 AFA00254 */ sw $zero, 0x254($sp) -/* 009724 80008B24 198000C7 */ blez $t4, .L80008E44 -/* 009728 80008B28 0000F025 */ move $fp, $zero -/* 00972C 80008B2C 8FA20088 */ lw $v0, 0x88($sp) -/* 009730 80008B30 00000000 */ nop -/* 009734 80008B34 244D0004 */ addiu $t5, $v0, 4 -/* 009738 80008B38 AFAD0070 */ sw $t5, 0x70($sp) -/* 00973C 80008B3C 8FA20088 */ lw $v0, 0x88($sp) -.L80008B40: -/* 009740 80008B40 8FB40070 */ lw $s4, 0x70($sp) -/* 009744 80008B44 8C430170 */ lw $v1, 0x170($v0) -/* 009748 80008B48 804E017C */ lb $t6, 0x17c($v0) -/* 00974C 80008B4C 0000A825 */ move $s5, $zero -/* 009750 80008B50 00009025 */ move $s2, $zero -/* 009754 80008B54 19C0002D */ blez $t6, .L80008C0C -/* 009758 80008B58 0060B025 */ move $s6, $v1 -/* 00975C 80008B5C 001EC100 */ sll $t8, $fp, 4 -/* 009760 80008B60 8FAF00AC */ lw $t7, 0xac($sp) -/* 009764 80008B64 031EC021 */ addu $t8, $t8, $fp -/* 009768 80008B68 0018C080 */ sll $t8, $t8, 2 -/* 00976C 80008B6C 27B001A8 */ addiu $s0, $sp, 0x1a8 -/* 009770 80008B70 27B1012C */ addiu $s1, $sp, 0x12c -/* 009774 80008B74 01F89821 */ addu $s3, $t7, $t8 -.L80008B78: -/* 009778 80008B78 C66C000C */ lwc1 $f12, 0xc($s3) -/* 00977C 80008B7C C66E0010 */ lwc1 $f14, 0x10($s3) -/* 009780 80008B80 8E660014 */ lw $a2, 0x14($s3) -/* 009784 80008B84 27B9022C */ addiu $t9, $sp, 0x22c -/* 009788 80008B88 27A80228 */ addiu $t0, $sp, 0x228 -/* 00978C 80008B8C 27A90224 */ addiu $t1, $sp, 0x224 -/* 009790 80008B90 AFA90018 */ sw $t1, 0x18($sp) -/* 009794 80008B94 AFA80014 */ sw $t0, 0x14($sp) -/* 009798 80008B98 AFB90010 */ sw $t9, 0x10($sp) -/* 00979C 80008B9C 0C0024AA */ jal audioline_distance -/* 0097A0 80008BA0 02803825 */ move $a3, $s4 -/* 0097A4 80008BA4 AE020000 */ sw $v0, ($s0) -/* 0097A8 80008BA8 C66A0014 */ lwc1 $f10, 0x14($s3) -/* 0097AC 80008BAC C7B00224 */ lwc1 $f16, 0x224($sp) -/* 0097B0 80008BB0 C666000C */ lwc1 $f6, 0xc($s3) -/* 0097B4 80008BB4 C7A8022C */ lwc1 $f8, 0x22c($sp) -/* 0097B8 80008BB8 86660000 */ lh $a2, ($s3) -/* 0097BC 80008BBC 460A8381 */ sub.s $f14, $f16, $f10 -/* 0097C0 80008BC0 0C002430 */ jal func_800090C0 -/* 0097C4 80008BC4 46064301 */ sub.s $f12, $f8, $f6 -/* 0097C8 80008BC8 8E030000 */ lw $v1, ($s0) -/* 0097CC 80008BCC AE220000 */ sw $v0, ($s1) -/* 0097D0 80008BD0 0076082A */ slt $at, $v1, $s6 -/* 0097D4 80008BD4 10200002 */ beqz $at, .L80008BE0 -/* 0097D8 80008BD8 2694000C */ addiu $s4, $s4, 0xc -/* 0097DC 80008BDC 0060B025 */ move $s6, $v1 -.L80008BE0: -/* 0097E0 80008BE0 82EA017C */ lb $t2, 0x17c($s7) -/* 0097E4 80008BE4 26520001 */ addiu $s2, $s2, 1 -/* 0097E8 80008BE8 024A082A */ slt $at, $s2, $t2 -/* 0097EC 80008BEC 26100004 */ addiu $s0, $s0, 4 -/* 0097F0 80008BF0 26310004 */ addiu $s1, $s1, 4 -/* 0097F4 80008BF4 1420FFE0 */ bnez $at, .L80008B78 -/* 0097F8 80008BF8 02A3A821 */ addu $s5, $s5, $v1 -/* 0097FC 80008BFC 8FA20088 */ lw $v0, 0x88($sp) -/* 009800 80008C00 00000000 */ nop -/* 009804 80008C04 8C430170 */ lw $v1, 0x170($v0) -/* 009808 80008C08 00000000 */ nop -.L80008C0C: -/* 00980C 80008C0C 4483C000 */ mtc1 $v1, $f24 -/* 009810 80008C10 904C0174 */ lbu $t4, 0x174($v0) -/* 009814 80008C14 4680C0A0 */ cvt.s.w $f2, $f24 -/* 009818 80008C18 448CC000 */ mtc1 $t4, $f24 -/* 00981C 80008C1C 05810005 */ bgez $t4, .L80008C34 -/* 009820 80008C20 4680C320 */ cvt.s.w $f12, $f24 -/* 009824 80008C24 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 009828 80008C28 44814000 */ mtc1 $at, $f8 -/* 00982C 80008C2C 00000000 */ nop -/* 009830 80008C30 46086300 */ add.s $f12, $f12, $f8 -.L80008C34: -/* 009834 80008C34 904D017D */ lbu $t5, 0x17d($v0) -/* 009838 80008C38 8FB90254 */ lw $t9, 0x254($sp) -/* 00983C 80008C3C 15A00013 */ bnez $t5, .L80008C8C -/* 009840 80008C40 00767823 */ subu $t7, $v1, $s6 -/* 009844 80008C44 44963000 */ mtc1 $s6, $f6 -/* 009848 80008C48 00000000 */ nop -/* 00984C 80008C4C 46803420 */ cvt.s.w $f16, $f6 -/* 009850 80008C50 00000000 */ nop -/* 009854 80008C54 46028283 */ div.s $f10, $f16, $f2 -/* 009858 80008C58 460AD481 */ sub.s $f18, $f26, $f10 -/* 00985C 80008C5C 460C9102 */ mul.s $f4, $f18, $f12 -/* 009860 80008C60 444EF800 */ cfc1 $t6, $31 -/* 009864 80008C64 00000000 */ nop -/* 009868 80008C68 35C10003 */ ori $at, $t6, 3 -/* 00986C 80008C6C 38210002 */ xori $at, $at, 2 -/* 009870 80008C70 44C1F800 */ ctc1 $at, $31 -/* 009874 80008C74 00000000 */ nop -/* 009878 80008C78 46002224 */ cvt.w.s $f8, $f4 -/* 00987C 80008C7C 44024000 */ mfc1 $v0, $f8 -/* 009880 80008C80 44CEF800 */ ctc1 $t6, $31 -/* 009884 80008C84 10000014 */ b .L80008CD8 -/* 009888 80008C88 0059082A */ slt $at, $v0, $t9 -.L80008C8C: -/* 00988C 80008C8C 448F3000 */ mtc1 $t7, $f6 -/* 009890 80008C90 00000000 */ nop -/* 009894 80008C94 46803420 */ cvt.s.w $f16, $f6 -/* 009898 80008C98 00000000 */ nop -/* 00989C 80008C9C 46028003 */ div.s $f0, $f16, $f2 -/* 0098A0 80008CA0 46000282 */ mul.s $f10, $f0, $f0 -/* 0098A4 80008CA4 00000000 */ nop -/* 0098A8 80008CA8 460C5482 */ mul.s $f18, $f10, $f12 -/* 0098AC 80008CAC 4458F800 */ cfc1 $t8, $31 -/* 0098B0 80008CB0 00000000 */ nop -/* 0098B4 80008CB4 37010003 */ ori $at, $t8, 3 -/* 0098B8 80008CB8 38210002 */ xori $at, $at, 2 -/* 0098BC 80008CBC 44C1F800 */ ctc1 $at, $31 -/* 0098C0 80008CC0 00000000 */ nop -/* 0098C4 80008CC4 46009124 */ cvt.w.s $f4, $f18 -/* 0098C8 80008CC8 44D8F800 */ ctc1 $t8, $31 -/* 0098CC 80008CCC 44022000 */ mfc1 $v0, $f4 -/* 0098D0 80008CD0 00000000 */ nop -/* 0098D4 80008CD4 0059082A */ slt $at, $v0, $t9 -.L80008CD8: -/* 0098D8 80008CD8 14200057 */ bnez $at, .L80008E38 -/* 0098DC 80008CDC 8FAC00B0 */ lw $t4, 0xb0($sp) -/* 0098E0 80008CE0 8FA80088 */ lw $t0, 0x88($sp) -/* 0098E4 80008CE4 AFA20254 */ sw $v0, 0x254($sp) -/* 0098E8 80008CE8 8103017C */ lb $v1, 0x17c($t0) -/* 0098EC 80008CEC 24010001 */ li $at, 1 -/* 0098F0 80008CF0 14610004 */ bne $v1, $at, .L80008D04 -/* 0098F4 80008CF4 00002025 */ move $a0, $zero -/* 0098F8 80008CF8 8FA9012C */ lw $t1, 0x12c($sp) -/* 0098FC 80008CFC 10000036 */ b .L80008DD8 -/* 009900 80008D00 AFA90250 */ sw $t1, 0x250($sp) -.L80008D04: -/* 009904 80008D04 00009025 */ move $s2, $zero -/* 009908 80008D08 18600011 */ blez $v1, .L80008D50 -/* 00990C 80008D0C AFA00250 */ sw $zero, 0x250($sp) -/* 009910 80008D10 27B001A8 */ addiu $s0, $sp, 0x1a8 -/* 009914 80008D14 27A200B8 */ addiu $v0, $sp, 0xb8 -.L80008D18: -/* 009918 80008D18 8E0A0000 */ lw $t2, ($s0) -/* 00991C 80008D1C 26520001 */ addiu $s2, $s2, 1 -/* 009920 80008D20 02AA1823 */ subu $v1, $s5, $t2 -/* 009924 80008D24 AC430000 */ sw $v1, ($v0) -/* 009928 80008D28 82EB017C */ lb $t3, 0x17c($s7) -/* 00992C 80008D2C 26100004 */ addiu $s0, $s0, 4 -/* 009930 80008D30 024B082A */ slt $at, $s2, $t3 -/* 009934 80008D34 24420004 */ addiu $v0, $v0, 4 -/* 009938 80008D38 1420FFF7 */ bnez $at, .L80008D18 -/* 00993C 80008D3C 00832021 */ addu $a0, $a0, $v1 -/* 009940 80008D40 8FAC0088 */ lw $t4, 0x88($sp) -/* 009944 80008D44 00000000 */ nop -/* 009948 80008D48 8183017C */ lb $v1, 0x17c($t4) -/* 00994C 80008D4C 00000000 */ nop -.L80008D50: -/* 009950 80008D50 18600021 */ blez $v1, .L80008DD8 -/* 009954 80008D54 27B1012C */ addiu $s1, $sp, 0x12c -/* 009958 80008D58 82E5017C */ lb $a1, 0x17c($s7) -/* 00995C 80008D5C 44844000 */ mtc1 $a0, $f8 -/* 009960 80008D60 27A200B8 */ addiu $v0, $sp, 0xb8 -/* 009964 80008D64 00057080 */ sll $t6, $a1, 2 -/* 009968 80008D68 8FA40250 */ lw $a0, 0x250($sp) -/* 00996C 80008D6C 01C21821 */ addu $v1, $t6, $v0 -/* 009970 80008D70 46804020 */ cvt.s.w $f0, $f8 -.L80008D74: -/* 009974 80008D74 8C4F0000 */ lw $t7, ($v0) -/* 009978 80008D78 8E380000 */ lw $t8, ($s1) -/* 00997C 80008D7C 448F3000 */ mtc1 $t7, $f6 -/* 009980 80008D80 44989000 */ mtc1 $t8, $f18 -/* 009984 80008D84 46803420 */ cvt.s.w $f16, $f6 -/* 009988 80008D88 44843000 */ mtc1 $a0, $f6 -/* 00998C 80008D8C 24420004 */ addiu $v0, $v0, 4 -/* 009990 80008D90 46008283 */ div.s $f10, $f16, $f0 -/* 009994 80008D94 46809120 */ cvt.s.w $f4, $f18 -/* 009998 80008D98 26310004 */ addiu $s1, $s1, 4 -/* 00999C 80008D9C 46803420 */ cvt.s.w $f16, $f6 -/* 0099A0 80008DA0 46045202 */ mul.s $f8, $f10, $f4 -/* 0099A4 80008DA4 46088480 */ add.s $f18, $f16, $f8 -/* 0099A8 80008DA8 4459F800 */ cfc1 $t9, $31 -/* 0099AC 80008DAC 00000000 */ nop -/* 0099B0 80008DB0 37210003 */ ori $at, $t9, 3 -/* 0099B4 80008DB4 38210002 */ xori $at, $at, 2 -/* 0099B8 80008DB8 44C1F800 */ ctc1 $at, $31 -/* 0099BC 80008DBC 0043082B */ sltu $at, $v0, $v1 -/* 0099C0 80008DC0 460092A4 */ cvt.w.s $f10, $f18 -/* 0099C4 80008DC4 44045000 */ mfc1 $a0, $f10 -/* 0099C8 80008DC8 44D9F800 */ ctc1 $t9, $31 -/* 0099CC 80008DCC 1420FFE9 */ bnez $at, .L80008D74 -/* 0099D0 80008DD0 00000000 */ nop -/* 0099D4 80008DD4 AFA40250 */ sw $a0, 0x250($sp) -.L80008DD8: -/* 0099D8 80008DD8 2AC10190 */ slti $at, $s6, 0x190 -/* 0099DC 80008DDC 10200016 */ beqz $at, .L80008E38 -/* 0099E0 80008DE0 8FAC00B0 */ lw $t4, 0xb0($sp) -/* 0099E4 80008DE4 44968000 */ mtc1 $s6, $f16 -/* 0099E8 80008DE8 8FA80250 */ lw $t0, 0x250($sp) -/* 0099EC 80008DEC 46808220 */ cvt.s.w $f8, $f16 -/* 0099F0 80008DF0 2509FFC0 */ addiu $t1, $t0, -0x40 -/* 0099F4 80008DF4 44892000 */ mtc1 $t1, $f4 -/* 0099F8 80008DF8 46144483 */ div.s $f18, $f8, $f20 -/* 0099FC 80008DFC 468021A0 */ cvt.s.w $f6, $f4 -/* 009A00 80008E00 46123282 */ mul.s $f10, $f6, $f18 -/* 009A04 80008E04 46165100 */ add.s $f4, $f10, $f22 -/* 009A08 80008E08 444AF800 */ cfc1 $t2, $31 -/* 009A0C 80008E0C 00000000 */ nop -/* 009A10 80008E10 35410003 */ ori $at, $t2, 3 -/* 009A14 80008E14 38210002 */ xori $at, $at, 2 -/* 009A18 80008E18 44C1F800 */ ctc1 $at, $31 -/* 009A1C 80008E1C 00000000 */ nop -/* 009A20 80008E20 46002424 */ cvt.w.s $f16, $f4 -/* 009A24 80008E24 440B8000 */ mfc1 $t3, $f16 -/* 009A28 80008E28 44CAF800 */ ctc1 $t2, $31 -/* 009A2C 80008E2C AFAB0250 */ sw $t3, 0x250($sp) -/* 009A30 80008E30 00000000 */ nop -/* 009A34 80008E34 8FAC00B0 */ lw $t4, 0xb0($sp) -.L80008E38: -/* 009A38 80008E38 27DE0001 */ addiu $fp, $fp, 1 -/* 009A3C 80008E3C 17CCFF40 */ bne $fp, $t4, .L80008B40 -/* 009A40 80008E40 8FA20088 */ lw $v0, 0x88($sp) -.L80008E44: -/* 009A44 80008E44 8FAE0088 */ lw $t6, 0x88($sp) -/* 009A48 80008E48 8FAD0254 */ lw $t5, 0x254($sp) -/* 009A4C 80008E4C 91C20000 */ lbu $v0, ($t6) -/* 009A50 80008E50 24010001 */ li $at, 1 -/* 009A54 80008E54 1440004C */ bnez $v0, .L80008F88 -/* 009A58 80008E58 00000000 */ nop -/* 009A5C 80008E5C 91C20175 */ lbu $v0, 0x175($t6) -/* 009A60 80008E60 00000000 */ nop -/* 009A64 80008E64 01A2082A */ slt $at, $t5, $v0 -/* 009A68 80008E68 10200003 */ beqz $at, .L80008E78 -/* 009A6C 80008E6C 8FAF0254 */ lw $t7, 0x254($sp) -/* 009A70 80008E70 AFA20254 */ sw $v0, 0x254($sp) -/* 009A74 80008E74 8FAF0254 */ lw $t7, 0x254($sp) -.L80008E78: -/* 009A78 80008E78 8FB80088 */ lw $t8, 0x88($sp) -/* 009A7C 80008E7C 29E1000B */ slti $at, $t7, 0xb -/* 009A80 80008E80 14200038 */ bnez $at, .L80008F64 -/* 009A84 80008E84 8FAF0088 */ lw $t7, 0x88($sp) -/* 009A88 80008E88 93190176 */ lbu $t9, 0x176($t8) -/* 009A8C 80008E8C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 009A90 80008E90 44994000 */ mtc1 $t9, $f8 -/* 009A94 80008E94 07210004 */ bgez $t9, .L80008EA8 -/* 009A98 80008E98 468041A0 */ cvt.s.w $f6, $f8 -/* 009A9C 80008E9C 44819000 */ mtc1 $at, $f18 -/* 009AA0 80008EA0 00000000 */ nop -/* 009AA4 80008EA4 46123180 */ add.s $f6, $f6, $f18 -.L80008EA8: -/* 009AA8 80008EA8 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 009AAC 80008EAC 44815000 */ mtc1 $at, $f10 -/* 009AB0 80008EB0 00000000 */ nop -/* 009AB4 80008EB4 460A3103 */ div.s $f4, $f6, $f10 -/* 009AB8 80008EB8 E7A40090 */ swc1 $f4, 0x90($sp) -/* 009ABC 80008EBC 8F040178 */ lw $a0, 0x178($t8) -/* 009AC0 80008EC0 00000000 */ nop -/* 009AC4 80008EC4 14800008 */ bnez $a0, .L80008EE8 -/* 009AC8 80008EC8 00000000 */ nop -/* 009ACC 80008ECC 9704016E */ lhu $a0, 0x16e($t8) -/* 009AD0 80008ED0 0C0007C5 */ jal func_80001F14 -/* 009AD4 80008ED4 27050178 */ addiu $a1, $t8, 0x178 -/* 009AD8 80008ED8 8FA80088 */ lw $t0, 0x88($sp) -/* 009ADC 80008EDC 00000000 */ nop -/* 009AE0 80008EE0 8D040178 */ lw $a0, 0x178($t0) -/* 009AE4 80008EE4 00000000 */ nop -.L80008EE8: -/* 009AE8 80008EE8 10800037 */ beqz $a0, .L80008FC8 -/* 009AEC 80008EEC 8FAB0260 */ lw $t3, 0x260($sp) -/* 009AF0 80008EF0 8FA60254 */ lw $a2, 0x254($sp) -/* 009AF4 80008EF4 24050008 */ li $a1, 8 -/* 009AF8 80008EF8 00064A00 */ sll $t1, $a2, 8 -/* 009AFC 80008EFC 0C00127E */ jal sound_event_update -/* 009B00 80008F00 01203025 */ move $a2, $t1 -/* 009B04 80008F04 8FAA0088 */ lw $t2, 0x88($sp) -/* 009B08 80008F08 8FA60090 */ lw $a2, 0x90($sp) -/* 009B0C 80008F0C 8D440178 */ lw $a0, 0x178($t2) -/* 009B10 80008F10 0C00127E */ jal sound_event_update -/* 009B14 80008F14 24050010 */ li $a1, 16 -/* 009B18 80008F18 8FAB00B0 */ lw $t3, 0xb0($sp) -/* 009B1C 80008F1C 24010001 */ li $at, 1 -/* 009B20 80008F20 11610002 */ beq $t3, $at, .L80008F2C -/* 009B24 80008F24 240C0040 */ li $t4, 64 -/* 009B28 80008F28 AFAC0250 */ sw $t4, 0x250($sp) -.L80008F2C: -/* 009B2C 80008F2C 8FAE0088 */ lw $t6, 0x88($sp) -/* 009B30 80008F30 8FA60250 */ lw $a2, 0x250($sp) -/* 009B34 80008F34 8DC40178 */ lw $a0, 0x178($t6) -/* 009B38 80008F38 0C00127E */ jal sound_event_update -/* 009B3C 80008F3C 24050004 */ li $a1, 4 -/* 009B40 80008F40 8FAD0088 */ lw $t5, 0x88($sp) -/* 009B44 80008F44 00000000 */ nop -/* 009B48 80008F48 8DA40178 */ lw $a0, 0x178($t5) -/* 009B4C 80008F4C 91A5017E */ lbu $a1, 0x17e($t5) -/* 009B50 80008F50 0C001181 */ jal func_80004604 -/* 009B54 80008F54 00000000 */ nop -/* 009B58 80008F58 1000001B */ b .L80008FC8 -/* 009B5C 80008F5C 8FAB0260 */ lw $t3, 0x260($sp) -/* 009B60 80008F60 8FAF0088 */ lw $t7, 0x88($sp) -.L80008F64: -/* 009B64 80008F64 00000000 */ nop -/* 009B68 80008F68 8DE40178 */ lw $a0, 0x178($t7) -/* 009B6C 80008F6C 00000000 */ nop -/* 009B70 80008F70 10800015 */ beqz $a0, .L80008FC8 -/* 009B74 80008F74 8FAB0260 */ lw $t3, 0x260($sp) -/* 009B78 80008F78 0C001223 */ jal sound_stop -/* 009B7C 80008F7C 00000000 */ nop -/* 009B80 80008F80 10000011 */ b .L80008FC8 -/* 009B84 80008F84 8FAB0260 */ lw $t3, 0x260($sp) -.L80008F88: -/* 009B88 80008F88 1441000F */ bne $v0, $at, .L80008FC8 -/* 009B8C 80008F8C 8FAB0260 */ lw $t3, 0x260($sp) -/* 009B90 80008F90 8FB9024C */ lw $t9, 0x24c($sp) -/* 009B94 80008F94 8FB80254 */ lw $t8, 0x254($sp) -/* 009B98 80008F98 00000000 */ nop -/* 009B9C 80008F9C 0338082A */ slt $at, $t9, $t8 -/* 009BA0 80008FA0 10200009 */ beqz $at, .L80008FC8 -/* 009BA4 80008FA4 8FAB0260 */ lw $t3, 0x260($sp) -/* 009BA8 80008FA8 8FA80250 */ lw $t0, 0x250($sp) -/* 009BAC 80008FAC 8FA90088 */ lw $t1, 0x88($sp) -/* 009BB0 80008FB0 AFB8024C */ sw $t8, 0x24c($sp) -/* 009BB4 80008FB4 AFA80248 */ sw $t0, 0x248($sp) -/* 009BB8 80008FB8 8D2A016C */ lw $t2, 0x16c($t1) -/* 009BBC 80008FBC 00000000 */ nop -/* 009BC0 80008FC0 AFAA0244 */ sw $t2, 0x244($sp) -.L80008FC4: -/* 009BC4 80008FC4 8FAB0260 */ lw $t3, 0x260($sp) -.L80008FC8: -/* 009BC8 80008FC8 8FA20088 */ lw $v0, 0x88($sp) -/* 009BCC 80008FCC 24010007 */ li $at, 7 -/* 009BD0 80008FD0 256C0001 */ addiu $t4, $t3, 1 -/* 009BD4 80008FD4 AFAC0260 */ sw $t4, 0x260($sp) -/* 009BD8 80008FD8 1581FEC7 */ bne $t4, $at, .L80008AF8 -/* 009BDC 80008FDC 24420180 */ addiu $v0, $v0, 0x180 -/* 009BE0 80008FE0 8FAE024C */ lw $t6, 0x24c($sp) -/* 009BE4 80008FE4 3C0D8012 */ lui $t5, %hi(gAudioLinesOff) # $t5, 0x8012 -/* 009BE8 80008FE8 29C1000B */ slti $at, $t6, 0xb -/* 009BEC 80008FEC 14200015 */ bnez $at, .L80009044 -/* 009BF0 80008FF0 00000000 */ nop -/* 009BF4 80008FF4 91ADAC18 */ lbu $t5, %lo(gAudioLinesOff)($t5) -/* 009BF8 80008FF8 00000000 */ nop -/* 009BFC 80008FFC 15A00011 */ bnez $t5, .L80009044 -/* 009C00 80009000 00000000 */ nop -/* 009C04 80009004 0C000660 */ jal music_jingle_current -/* 009C08 80009008 00000000 */ nop -/* 009C0C 8000900C 8FAF0244 */ lw $t7, 0x244($sp) -/* 009C10 80009010 93A40247 */ lbu $a0, 0x247($sp) -/* 009C14 80009014 11E20003 */ beq $t7, $v0, .L80009024 -/* 009C18 80009018 00000000 */ nop -/* 009C1C 8000901C 0C0005E1 */ jal music_jingle_play_safe -/* 009C20 80009020 00000000 */ nop -.L80009024: -/* 009C24 80009024 93A4024F */ lbu $a0, 0x24f($sp) -/* 009C28 80009028 0C0006C3 */ jal music_jingle_volume_set -/* 009C2C 8000902C 00000000 */ nop -/* 009C30 80009030 93A4024B */ lbu $a0, 0x24b($sp) -/* 009C34 80009034 0C0006D6 */ jal music_jingle_pan_set -/* 009C38 80009038 00000000 */ nop -/* 009C3C 8000903C 10000004 */ b .L80009050 -/* 009C40 80009040 8FA5026C */ lw $a1, 0x26c($sp) -.L80009044: -/* 009C44 80009044 0C000638 */ jal music_jingle_stop -/* 009C48 80009048 00000000 */ nop -/* 009C4C 8000904C 8FA5026C */ lw $a1, 0x26c($sp) -.L80009050: -/* 009C50 80009050 8FA40268 */ lw $a0, 0x268($sp) -/* 009C54 80009054 10A00007 */ beqz $a1, .L80009074 -/* 009C58 80009058 8FBF006C */ lw $ra, 0x6c($sp) -/* 009C5C 8000905C 8FB90270 */ lw $t9, 0x270($sp) -/* 009C60 80009060 8FA600AC */ lw $a2, 0xac($sp) -/* 009C64 80009064 93A700B3 */ lbu $a3, 0xb3($sp) -/* 009C68 80009068 0C001BF2 */ jal func_80006FC8 -/* 009C6C 8000906C AFB90010 */ sw $t9, 0x10($sp) -/* 009C70 80009070 8FBF006C */ lw $ra, 0x6c($sp) -.L80009074: -/* 009C74 80009074 C7B50028 */ lwc1 $f21, 0x28($sp) -/* 009C78 80009078 C7B4002C */ lwc1 $f20, 0x2c($sp) -/* 009C7C 8000907C C7B70030 */ lwc1 $f23, 0x30($sp) -/* 009C80 80009080 C7B60034 */ lwc1 $f22, 0x34($sp) -/* 009C84 80009084 C7B90038 */ lwc1 $f25, 0x38($sp) -/* 009C88 80009088 C7B8003C */ lwc1 $f24, 0x3c($sp) -/* 009C8C 8000908C C7BB0040 */ lwc1 $f27, 0x40($sp) -/* 009C90 80009090 C7BA0044 */ lwc1 $f26, 0x44($sp) -/* 009C94 80009094 8FB00048 */ lw $s0, 0x48($sp) -/* 009C98 80009098 8FB1004C */ lw $s1, 0x4c($sp) -/* 009C9C 8000909C 8FB20050 */ lw $s2, 0x50($sp) -/* 009CA0 800090A0 8FB30054 */ lw $s3, 0x54($sp) -/* 009CA4 800090A4 8FB40058 */ lw $s4, 0x58($sp) -/* 009CA8 800090A8 8FB5005C */ lw $s5, 0x5c($sp) -/* 009CAC 800090AC 8FB60060 */ lw $s6, 0x60($sp) -/* 009CB0 800090B0 8FB70064 */ lw $s7, 0x64($sp) -/* 009CB4 800090B4 8FBE0068 */ lw $fp, 0x68($sp) -/* 009CB8 800090B8 03E00008 */ jr $ra -/* 009CBC 800090BC 27BD0268 */ addiu $sp, $sp, 0x268 - diff --git a/asm/non_matchings/audio_spatial/func_80009968.s b/asm/non_matchings/audio_spatial/func_80009968.s deleted file mode 100644 index f2adb4f2..00000000 --- a/asm/non_matchings/audio_spatial/func_80009968.s +++ /dev/null @@ -1,37 +0,0 @@ -glabel func_80009968 -/* 00A568 80009968 93A40013 */ lbu $a0, 0x13($sp) -/* 00A56C 8000996C AFA60008 */ sw $a2, 8($sp) -/* 00A570 80009970 28810007 */ slti $at, $a0, 7 -/* 00A574 80009974 AFA7000C */ sw $a3, 0xc($sp) -/* 00A578 80009978 1020001A */ beqz $at, .L800099E4 -/* 00A57C 8000997C 30EE00FF */ andi $t6, $a3, 0xff -/* 00A580 80009980 93A20017 */ lbu $v0, 0x17($sp) -/* 00A584 80009984 00047880 */ sll $t7, $a0, 2 -/* 00A588 80009988 2841000F */ slti $at, $v0, 0xf -/* 00A58C 8000998C 10200015 */ beqz $at, .L800099E4 -/* 00A590 80009990 01E47823 */ subu $t7, $t7, $a0 -/* 00A594 80009994 3C188012 */ lui $t8, %hi(D_8011A6D8) # $t8, 0x8012 -/* 00A598 80009998 0002C880 */ sll $t9, $v0, 2 -/* 00A59C 8000999C 0322C823 */ subu $t9, $t9, $v0 -/* 00A5A0 800099A0 2718A6D8 */ addiu $t8, %lo(D_8011A6D8) # addiu $t8, $t8, -0x5928 -/* 00A5A4 800099A4 000F7980 */ sll $t7, $t7, 6 -/* 00A5A8 800099A8 01F81821 */ addu $v1, $t7, $t8 -/* 00A5AC 800099AC 00194080 */ sll $t0, $t9, 2 -/* 00A5B0 800099B0 C7A40008 */ lwc1 $f4, 8($sp) -/* 00A5B4 800099B4 00682821 */ addu $a1, $v1, $t0 -/* 00A5B8 800099B8 E4AC0004 */ swc1 $f12, 4($a1) -/* 00A5BC 800099BC E4AE0008 */ swc1 $f14, 8($a1) -/* 00A5C0 800099C0 14400002 */ bnez $v0, .L800099CC -/* 00A5C4 800099C4 E4A4000C */ swc1 $f4, 0xc($a1) -/* 00A5C8 800099C8 A06E0000 */ sb $t6, ($v1) -.L800099CC: -/* 00A5CC 800099CC 806900B8 */ lb $t1, 0xb8($v1) -/* 00A5D0 800099D0 00000000 */ nop -/* 00A5D4 800099D4 0122082A */ slt $at, $t1, $v0 -/* 00A5D8 800099D8 10200002 */ beqz $at, .L800099E4 -/* 00A5DC 800099DC 00000000 */ nop -/* 00A5E0 800099E0 A06200B8 */ sb $v0, 0xb8($v1) -.L800099E4: -/* 00A5E4 800099E4 03E00008 */ jr $ra -/* 00A5E8 800099E8 00000000 */ nop - diff --git a/asm/non_matchings/audio_spatial/func_80009B7C.s b/asm/non_matchings/audio_spatial/func_80009B7C.s deleted file mode 100644 index 2eb11a4b..00000000 --- a/asm/non_matchings/audio_spatial/func_80009B7C.s +++ /dev/null @@ -1,134 +0,0 @@ -glabel func_80009B7C -/* 00A77C 80009B7C 27BDFF28 */ addiu $sp, $sp, -0xd8 -/* 00A780 80009B80 E7B8003C */ swc1 $f24, 0x3c($sp) -/* 00A784 80009B84 E7B4002C */ swc1 $f20, 0x2c($sp) -/* 00A788 80009B88 4486A000 */ mtc1 $a2, $f20 -/* 00A78C 80009B8C 4487C000 */ mtc1 $a3, $f24 -/* 00A790 80009B90 E7B60034 */ swc1 $f22, 0x34($sp) -/* 00A794 80009B94 4485B000 */ mtc1 $a1, $f22 -/* 00A798 80009B98 AFBF0064 */ sw $ra, 0x64($sp) -/* 00A79C 80009B9C 4406C000 */ mfc1 $a2, $f24 -/* 00A7A0 80009BA0 AFBE0060 */ sw $fp, 0x60($sp) -/* 00A7A4 80009BA4 AFB7005C */ sw $s7, 0x5c($sp) -/* 00A7A8 80009BA8 AFB60058 */ sw $s6, 0x58($sp) -/* 00A7AC 80009BAC AFB50054 */ sw $s5, 0x54($sp) -/* 00A7B0 80009BB0 AFB40050 */ sw $s4, 0x50($sp) -/* 00A7B4 80009BB4 AFB3004C */ sw $s3, 0x4c($sp) -/* 00A7B8 80009BB8 AFB20048 */ sw $s2, 0x48($sp) -/* 00A7BC 80009BBC AFB10044 */ sw $s1, 0x44($sp) -/* 00A7C0 80009BC0 AFB00040 */ sw $s0, 0x40($sp) -/* 00A7C4 80009BC4 E7B90038 */ swc1 $f25, 0x38($sp) -/* 00A7C8 80009BC8 E7B70030 */ swc1 $f23, 0x30($sp) -/* 00A7CC 80009BCC E7B50028 */ swc1 $f21, 0x28($sp) -/* 00A7D0 80009BD0 AFA400D8 */ sw $a0, 0xd8($sp) -/* 00A7D4 80009BD4 4600A386 */ mov.s $f14, $f20 -/* 00A7D8 80009BD8 0C00A7C6 */ jal get_level_segment_index_from_position -/* 00A7DC 80009BDC 4600B306 */ mov.s $f12, $f22 -/* 00A7E0 80009BE0 3C178012 */ lui $s7, %hi(D_8011A6D8) # $s7, 0x8012 -/* 00A7E4 80009BE4 AFA200B0 */ sw $v0, 0xb0($sp) -/* 00A7E8 80009BE8 0000A825 */ move $s5, $zero -/* 00A7EC 80009BEC 24160190 */ li $s6, 400 -/* 00A7F0 80009BF0 26F7A6D8 */ addiu $s7, %lo(D_8011A6D8) # addiu $s7, $s7, -0x5928 -/* 00A7F4 80009BF4 00001825 */ move $v1, $zero -.L80009BF8: -/* 00A7F8 80009BF8 92EE0000 */ lbu $t6, ($s7) -/* 00A7FC 80009BFC AFB700CC */ sw $s7, 0xcc($sp) -/* 00A800 80009C00 11C0003D */ beqz $t6, .L80009CF8 -/* 00A804 80009C04 AFA300D4 */ sw $v1, 0xd4($sp) -/* 00A808 80009C08 306400FF */ andi $a0, $v1, 0xff -/* 00A80C 80009C0C 0C0026AD */ jal func_80009AB4 -/* 00A810 80009C10 AFA300D4 */ sw $v1, 0xd4($sp) -/* 00A814 80009C14 10400039 */ beqz $v0, .L80009CFC -/* 00A818 80009C18 8FA300D4 */ lw $v1, 0xd4($sp) -/* 00A81C 80009C1C 82EF00B8 */ lb $t7, 0xb8($s7) -/* 00A820 80009C20 26FE0004 */ addiu $fp, $s7, 4 -/* 00A824 80009C24 19E00034 */ blez $t7, .L80009CF8 -/* 00A828 80009C28 AFA000D0 */ sw $zero, 0xd0($sp) -.L80009C2C: -/* 00A82C 80009C2C 4406C000 */ mfc1 $a2, $f24 -/* 00A830 80009C30 27B800C4 */ addiu $t8, $sp, 0xc4 -/* 00A834 80009C34 27B900C0 */ addiu $t9, $sp, 0xc0 -/* 00A838 80009C38 27A800BC */ addiu $t0, $sp, 0xbc -/* 00A83C 80009C3C AFA80018 */ sw $t0, 0x18($sp) -/* 00A840 80009C40 AFB90014 */ sw $t9, 0x14($sp) -/* 00A844 80009C44 AFB80010 */ sw $t8, 0x10($sp) -/* 00A848 80009C48 4600B306 */ mov.s $f12, $f22 -/* 00A84C 80009C4C 4600A386 */ mov.s $f14, $f20 -/* 00A850 80009C50 0C0024AA */ jal audioline_distance -/* 00A854 80009C54 03C03825 */ move $a3, $fp -/* 00A858 80009C58 0056082A */ slt $at, $v0, $s6 -/* 00A85C 80009C5C 1020001D */ beqz $at, .L80009CD4 -/* 00A860 80009C60 00409825 */ move $s3, $v0 -/* 00A864 80009C64 8FA400B0 */ lw $a0, 0xb0($sp) -/* 00A868 80009C68 4405B000 */ mfc1 $a1, $f22 -/* 00A86C 80009C6C 4406C000 */ mfc1 $a2, $f24 -/* 00A870 80009C70 27A7007C */ addiu $a3, $sp, 0x7c -/* 00A874 80009C74 0C00AEAC */ jal func_8002BAB0 -/* 00A878 80009C78 00001025 */ move $v0, $zero -/* 00A87C 80009C7C 18400015 */ blez $v0, .L80009CD4 -/* 00A880 80009C80 27B0007C */ addiu $s0, $sp, 0x7c -/* 00A884 80009C84 00025080 */ sll $t2, $v0, 2 -/* 00A888 80009C88 0150A021 */ addu $s4, $t2, $s0 -.L80009C8C: -/* 00A88C 80009C8C C6040000 */ lwc1 $f4, ($s0) -/* 00A890 80009C90 8FA500C4 */ lw $a1, 0xc4($sp) -/* 00A894 80009C94 4604A03C */ c.lt.s $f20, $f4 -/* 00A898 80009C98 8FA600C0 */ lw $a2, 0xc0($sp) -/* 00A89C 80009C9C 45000009 */ bc1f .L80009CC4 -/* 00A8A0 80009CA0 02E02025 */ move $a0, $s7 -/* 00A8A4 80009CA4 8FA700BC */ lw $a3, 0xbc($sp) -/* 00A8A8 80009CA8 0260B025 */ move $s6, $s3 -/* 00A8AC 80009CAC 0C00275B */ jal func_80009D6C -/* 00A8B0 80009CB0 02A08825 */ move $s1, $s5 -/* 00A8B4 80009CB4 0222082A */ slt $at, $s1, $v0 -/* 00A8B8 80009CB8 10200002 */ beqz $at, .L80009CC4 -/* 00A8BC 80009CBC 00000000 */ nop -/* 00A8C0 80009CC0 305500FF */ andi $s5, $v0, 0xff -.L80009CC4: -/* 00A8C4 80009CC4 26100004 */ addiu $s0, $s0, 4 -/* 00A8C8 80009CC8 0214082B */ sltu $at, $s0, $s4 -/* 00A8CC 80009CCC 1420FFEF */ bnez $at, .L80009C8C -/* 00A8D0 80009CD0 00000000 */ nop -.L80009CD4: -/* 00A8D4 80009CD4 8FA200D0 */ lw $v0, 0xd0($sp) -/* 00A8D8 80009CD8 8FAB00CC */ lw $t3, 0xcc($sp) -/* 00A8DC 80009CDC 24420001 */ addiu $v0, $v0, 1 -/* 00A8E0 80009CE0 AFA200D0 */ sw $v0, 0xd0($sp) -/* 00A8E4 80009CE4 816C00B8 */ lb $t4, 0xb8($t3) -/* 00A8E8 80009CE8 27DE000C */ addiu $fp, $fp, 0xc -/* 00A8EC 80009CEC 004C082A */ slt $at, $v0, $t4 -/* 00A8F0 80009CF0 1420FFCE */ bnez $at, .L80009C2C -/* 00A8F4 80009CF4 00000000 */ nop -.L80009CF8: -/* 00A8F8 80009CF8 8FA300D4 */ lw $v1, 0xd4($sp) -.L80009CFC: -/* 00A8FC 80009CFC 24010007 */ li $at, 7 -/* 00A900 80009D00 24630001 */ addiu $v1, $v1, 1 -/* 00A904 80009D04 1461FFBC */ bne $v1, $at, .L80009BF8 -/* 00A908 80009D08 26F700C0 */ addiu $s7, $s7, 0xc0 -/* 00A90C 80009D0C 8FA400D8 */ lw $a0, 0xd8($sp) -/* 00A910 80009D10 24050100 */ li $a1, 256 -/* 00A914 80009D14 10800004 */ beqz $a0, .L80009D28 -/* 00A918 80009D18 8FBF0064 */ lw $ra, 0x64($sp) -/* 00A91C 80009D1C 0C00127E */ jal sound_event_update -/* 00A920 80009D20 02A03025 */ move $a2, $s5 -/* 00A924 80009D24 8FBF0064 */ lw $ra, 0x64($sp) -.L80009D28: -/* 00A928 80009D28 C7B50028 */ lwc1 $f21, 0x28($sp) -/* 00A92C 80009D2C C7B4002C */ lwc1 $f20, 0x2c($sp) -/* 00A930 80009D30 C7B70030 */ lwc1 $f23, 0x30($sp) -/* 00A934 80009D34 C7B60034 */ lwc1 $f22, 0x34($sp) -/* 00A938 80009D38 C7B90038 */ lwc1 $f25, 0x38($sp) -/* 00A93C 80009D3C C7B8003C */ lwc1 $f24, 0x3c($sp) -/* 00A940 80009D40 8FB00040 */ lw $s0, 0x40($sp) -/* 00A944 80009D44 8FB10044 */ lw $s1, 0x44($sp) -/* 00A948 80009D48 8FB20048 */ lw $s2, 0x48($sp) -/* 00A94C 80009D4C 8FB3004C */ lw $s3, 0x4c($sp) -/* 00A950 80009D50 8FB40050 */ lw $s4, 0x50($sp) -/* 00A954 80009D54 8FB50054 */ lw $s5, 0x54($sp) -/* 00A958 80009D58 8FB60058 */ lw $s6, 0x58($sp) -/* 00A95C 80009D5C 8FB7005C */ lw $s7, 0x5c($sp) -/* 00A960 80009D60 8FBE0060 */ lw $fp, 0x60($sp) -/* 00A964 80009D64 03E00008 */ jr $ra -/* 00A968 80009D68 27BD00D8 */ addiu $sp, $sp, 0xd8 - diff --git a/asm/non_matchings/audio_spatial/func_80009D6C.s b/asm/non_matchings/audio_spatial/func_80009D6C.s deleted file mode 100644 index b4963c4f..00000000 --- a/asm/non_matchings/audio_spatial/func_80009D6C.s +++ /dev/null @@ -1,287 +0,0 @@ -glabel func_80009D6C -/* 00A96C 80009D6C 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 00A970 80009D70 E7B80024 */ swc1 $f24, 0x24($sp) -/* 00A974 80009D74 AFBF004C */ sw $ra, 0x4c($sp) -/* 00A978 80009D78 AFB10048 */ sw $s1, 0x48($sp) -/* 00A97C 80009D7C AFB00044 */ sw $s0, 0x44($sp) -/* 00A980 80009D80 E7BF0038 */ swc1 $f31, 0x38($sp) -/* 00A984 80009D84 E7BE003C */ swc1 $f30, 0x3c($sp) -/* 00A988 80009D88 E7BD0030 */ swc1 $f29, 0x30($sp) -/* 00A98C 80009D8C E7BC0034 */ swc1 $f28, 0x34($sp) -/* 00A990 80009D90 E7BB0028 */ swc1 $f27, 0x28($sp) -/* 00A994 80009D94 E7BA002C */ swc1 $f26, 0x2c($sp) -/* 00A998 80009D98 E7B90020 */ swc1 $f25, 0x20($sp) -/* 00A99C 80009D9C E7B70018 */ swc1 $f23, 0x18($sp) -/* 00A9A0 80009DA0 E7B6001C */ swc1 $f22, 0x1c($sp) -/* 00A9A4 80009DA4 E7B50010 */ swc1 $f21, 0x10($sp) -/* 00A9A8 80009DA8 E7B40014 */ swc1 $f20, 0x14($sp) -/* 00A9AC 80009DAC AFA5009C */ sw $a1, 0x9c($sp) -/* 00A9B0 80009DB0 AFA600A0 */ sw $a2, 0xa0($sp) -/* 00A9B4 80009DB4 AFA700A4 */ sw $a3, 0xa4($sp) -/* 00A9B8 80009DB8 4480C000 */ mtc1 $zero, $f24 -/* 00A9BC 80009DBC C48400BC */ lwc1 $f4, 0xbc($a0) -/* 00A9C0 80009DC0 00808825 */ move $s1, $a0 -/* 00A9C4 80009DC4 4604C032 */ c.eq.s $f24, $f4 -/* 00A9C8 80009DC8 00000000 */ nop -/* 00A9CC 80009DCC 45000028 */ bc1f .L80009E70 -/* 00A9D0 80009DD0 26300004 */ addiu $s0, $s1, 4 -/* 00A9D4 80009DD4 808E00B8 */ lb $t6, 0xb8($a0) -/* 00A9D8 80009DD8 24900004 */ addiu $s0, $a0, 4 -/* 00A9DC 80009DDC 448E3000 */ mtc1 $t6, $f6 -/* 00A9E0 80009DE0 4600C506 */ mov.s $f20, $f24 -/* 00A9E4 80009DE4 46803220 */ cvt.s.w $f8, $f6 -/* 00A9E8 80009DE8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 00A9EC 80009DEC 4608C03C */ c.lt.s $f24, $f8 -/* 00A9F0 80009DF0 00000000 */ nop -/* 00A9F4 80009DF4 4500001D */ bc1f .L80009E6C -/* 00A9F8 80009DF8 00000000 */ nop -/* 00A9FC 80009DFC 4481B000 */ mtc1 $at, $f22 -/* 00AA00 80009E00 00000000 */ nop -.L80009E04: -/* 00AA04 80009E04 C60A000C */ lwc1 $f10, 0xc($s0) -/* 00AA08 80009E08 C6040000 */ lwc1 $f4, ($s0) -/* 00AA0C 80009E0C C6060010 */ lwc1 $f6, 0x10($s0) -/* 00AA10 80009E10 C6080004 */ lwc1 $f8, 4($s0) -/* 00AA14 80009E14 46045001 */ sub.s $f0, $f10, $f4 -/* 00AA18 80009E18 C6040008 */ lwc1 $f4, 8($s0) -/* 00AA1C 80009E1C 46083081 */ sub.s $f2, $f6, $f8 -/* 00AA20 80009E20 C60A0014 */ lwc1 $f10, 0x14($s0) -/* 00AA24 80009E24 46000182 */ mul.s $f6, $f0, $f0 -/* 00AA28 80009E28 46045381 */ sub.s $f14, $f10, $f4 -/* 00AA2C 80009E2C 46021202 */ mul.s $f8, $f2, $f2 -/* 00AA30 80009E30 00000000 */ nop -/* 00AA34 80009E34 460E7102 */ mul.s $f4, $f14, $f14 -/* 00AA38 80009E38 46083280 */ add.s $f10, $f6, $f8 -/* 00AA3C 80009E3C 0C0326B4 */ jal sqrtf -/* 00AA40 80009E40 46045300 */ add.s $f12, $f10, $f4 -/* 00AA44 80009E44 822F00B8 */ lb $t7, 0xb8($s1) -/* 00AA48 80009E48 4616A500 */ add.s $f20, $f20, $f22 -/* 00AA4C 80009E4C 448F5000 */ mtc1 $t7, $f10 -/* 00AA50 80009E50 C62600BC */ lwc1 $f6, 0xbc($s1) -/* 00AA54 80009E54 46805120 */ cvt.s.w $f4, $f10 -/* 00AA58 80009E58 2610000C */ addiu $s0, $s0, 0xc -/* 00AA5C 80009E5C 4604A03C */ c.lt.s $f20, $f4 -/* 00AA60 80009E60 46003200 */ add.s $f8, $f6, $f0 -/* 00AA64 80009E64 4501FFE7 */ bc1t .L80009E04 -/* 00AA68 80009E68 E62800BC */ swc1 $f8, 0xbc($s1) -.L80009E6C: -/* 00AA6C 80009E6C 26300004 */ addiu $s0, $s1, 4 -.L80009E70: -/* 00AA70 80009E70 4600C406 */ mov.s $f16, $f24 -/* 00AA74 80009E74 00001025 */ move $v0, $zero -.L80009E78: -/* 00AA78 80009E78 C6160000 */ lwc1 $f22, ($s0) -/* 00AA7C 80009E7C C614000C */ lwc1 $f20, 0xc($s0) -/* 00AA80 80009E80 C61E0004 */ lwc1 $f30, 4($s0) -/* 00AA84 80009E84 4616A601 */ sub.s $f24, $f20, $f22 -/* 00AA88 80009E88 C6000010 */ lwc1 $f0, 0x10($s0) -/* 00AA8C 80009E8C 4618C182 */ mul.s $f6, $f24, $f24 -/* 00AA90 80009E90 461E0681 */ sub.s $f26, $f0, $f30 -/* 00AA94 80009E94 C6120008 */ lwc1 $f18, 8($s0) -/* 00AA98 80009E98 C6020014 */ lwc1 $f2, 0x14($s0) -/* 00AA9C 80009E9C 461AD202 */ mul.s $f8, $f26, $f26 -/* 00AAA0 80009EA0 46121701 */ sub.s $f28, $f2, $f18 -/* 00AAA4 80009EA4 E7B0005C */ swc1 $f16, 0x5c($sp) -/* 00AAA8 80009EA8 A3A20057 */ sb $v0, 0x57($sp) -/* 00AAAC 80009EAC 461CE102 */ mul.s $f4, $f28, $f28 -/* 00AAB0 80009EB0 46083280 */ add.s $f10, $f6, $f8 -/* 00AAB4 80009EB4 E7B2007C */ swc1 $f18, 0x7c($sp) -/* 00AAB8 80009EB8 0C0326B4 */ jal sqrtf -/* 00AABC 80009EBC 46045300 */ add.s $f12, $f10, $f4 -/* 00AAC0 80009EC0 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 00AAC4 80009EC4 93A20057 */ lbu $v0, 0x57($sp) -/* 00AAC8 80009EC8 4606B03E */ c.le.s $f22, $f6 -/* 00AACC 80009ECC C7B0005C */ lwc1 $f16, 0x5c($sp) -/* 00AAD0 80009ED0 C7B2007C */ lwc1 $f18, 0x7c($sp) -/* 00AAD4 80009ED4 45000005 */ bc1f .L80009EEC -/* 00AAD8 80009ED8 00000000 */ nop -/* 00AADC 80009EDC 4614303E */ c.le.s $f6, $f20 -/* 00AAE0 80009EE0 00000000 */ nop -/* 00AAE4 80009EE4 4501000B */ bc1t .L80009F14 -/* 00AAE8 80009EE8 00000000 */ nop -.L80009EEC: -/* 00AAEC 80009EEC C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 00AAF0 80009EF0 00000000 */ nop -/* 00AAF4 80009EF4 4608A03E */ c.le.s $f20, $f8 -/* 00AAF8 80009EF8 00000000 */ nop -/* 00AAFC 80009EFC 45000048 */ bc1f .L8000A020 -/* 00AB00 80009F00 00000000 */ nop -/* 00AB04 80009F04 4616403E */ c.le.s $f8, $f22 -/* 00AB08 80009F08 00000000 */ nop -/* 00AB0C 80009F0C 45000044 */ bc1f .L8000A020 -/* 00AB10 80009F10 00000000 */ nop -.L80009F14: -/* 00AB14 80009F14 44805000 */ mtc1 $zero, $f10 -/* 00AB18 80009F18 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 00AB1C 80009F1C 460AC032 */ c.eq.s $f24, $f10 -/* 00AB20 80009F20 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 00AB24 80009F24 45010004 */ bc1t .L80009F38 -/* 00AB28 80009F28 00000000 */ nop -/* 00AB2C 80009F2C 46162181 */ sub.s $f6, $f4, $f22 -/* 00AB30 80009F30 10000012 */ b .L80009F7C -/* 00AB34 80009F34 46183303 */ div.s $f12, $f6, $f24 -.L80009F38: -/* 00AB38 80009F38 44801000 */ mtc1 $zero, $f2 -/* 00AB3C 80009F3C C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 00AB40 80009F40 4602D032 */ c.eq.s $f26, $f2 -/* 00AB44 80009F44 00000000 */ nop -/* 00AB48 80009F48 45010004 */ bc1t .L80009F5C -/* 00AB4C 80009F4C 00000000 */ nop -/* 00AB50 80009F50 461E4281 */ sub.s $f10, $f8, $f30 -/* 00AB54 80009F54 10000009 */ b .L80009F7C -/* 00AB58 80009F58 461A5303 */ div.s $f12, $f10, $f26 -.L80009F5C: -/* 00AB5C 80009F5C 4602E032 */ c.eq.s $f28, $f2 -/* 00AB60 80009F60 C7A400A4 */ lwc1 $f4, 0xa4($sp) -/* 00AB64 80009F64 45010004 */ bc1t .L80009F78 -/* 00AB68 80009F68 00000000 */ nop -/* 00AB6C 80009F6C 46122181 */ sub.s $f6, $f4, $f18 -/* 00AB70 80009F70 10000002 */ b .L80009F7C -/* 00AB74 80009F74 461C3303 */ div.s $f12, $f6, $f28 -.L80009F78: -/* 00AB78 80009F78 46001306 */ mov.s $f12, $f2 -.L80009F7C: -/* 00AB7C 80009F7C 460CD202 */ mul.s $f8, $f26, $f12 -/* 00AB80 80009F80 C7AA00A0 */ lwc1 $f10, 0xa0($sp) -/* 00AB84 80009F84 44813000 */ mtc1 $at, $f6 -/* 00AB88 80009F88 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 00AB8C 80009F8C 461E4080 */ add.s $f2, $f8, $f30 -/* 00AB90 80009F90 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 00AB94 80009F94 4602503E */ c.le.s $f10, $f2 -/* 00AB98 80009F98 00000000 */ nop -/* 00AB9C 80009F9C 45000003 */ bc1f .L80009FAC -/* 00ABA0 80009FA0 00000000 */ nop -/* 00ABA4 80009FA4 10000003 */ b .L80009FB4 -/* 00ABA8 80009FA8 460A1381 */ sub.s $f14, $f2, $f10 -.L80009FAC: -/* 00ABAC 80009FAC 46041381 */ sub.s $f14, $f2, $f4 -/* 00ABB0 80009FB0 46007387 */ neg.s $f14, $f14 -.L80009FB4: -/* 00ABB4 80009FB4 4606703C */ c.lt.s $f14, $f6 -/* 00ABB8 80009FB8 00000000 */ nop -/* 00ABBC 80009FBC 45000016 */ bc1f .L8000A018 -/* 00ABC0 80009FC0 00000000 */ nop -/* 00ABC4 80009FC4 460CE202 */ mul.s $f8, $f28, $f12 -/* 00ABC8 80009FC8 C7AA00A4 */ lwc1 $f10, 0xa4($sp) -/* 00ABCC 80009FCC 44813000 */ mtc1 $at, $f6 -/* 00ABD0 80009FD0 C7A400A4 */ lwc1 $f4, 0xa4($sp) -/* 00ABD4 80009FD4 46124080 */ add.s $f2, $f8, $f18 -/* 00ABD8 80009FD8 4602503E */ c.le.s $f10, $f2 -/* 00ABDC 80009FDC 00000000 */ nop -/* 00ABE0 80009FE0 45000003 */ bc1f .L80009FF0 -/* 00ABE4 80009FE4 00000000 */ nop -/* 00ABE8 80009FE8 10000003 */ b .L80009FF8 -/* 00ABEC 80009FEC 460A1381 */ sub.s $f14, $f2, $f10 -.L80009FF0: -/* 00ABF0 80009FF0 46041381 */ sub.s $f14, $f2, $f4 -/* 00ABF4 80009FF4 46007387 */ neg.s $f14, $f14 -.L80009FF8: -/* 00ABF8 80009FF8 4606703C */ c.lt.s $f14, $f6 -/* 00ABFC 80009FFC 00000000 */ nop -/* 00AC00 8000A000 45000005 */ bc1f .L8000A018 -/* 00AC04 8000A004 00000000 */ nop -/* 00AC08 8000A008 46006202 */ mul.s $f8, $f12, $f0 -/* 00AC0C 8000A00C 24020001 */ li $v0, 1 -/* 00AC10 8000A010 10000004 */ b .L8000A024 -/* 00AC14 8000A014 46088400 */ add.s $f16, $f16, $f8 -.L8000A018: -/* 00AC18 8000A018 10000002 */ b .L8000A024 -/* 00AC1C 8000A01C 46008400 */ add.s $f16, $f16, $f0 -.L8000A020: -/* 00AC20 8000A020 46008400 */ add.s $f16, $f16, $f0 -.L8000A024: -/* 00AC24 8000A024 1040FF94 */ beqz $v0, .L80009E78 -/* 00AC28 8000A028 2610000C */ addiu $s0, $s0, 0xc -/* 00AC2C 8000A02C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 00AC30 8000A030 44815000 */ mtc1 $at, $f10 -/* 00AC34 8000A034 C62000BC */ lwc1 $f0, 0xbc($s1) -/* 00AC38 8000A038 8FB00044 */ lw $s0, 0x44($sp) -/* 00AC3C 8000A03C 460A0103 */ div.s $f4, $f0, $f10 -/* 00AC40 8000A040 8FBF004C */ lw $ra, 0x4c($sp) -/* 00AC44 8000A044 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 00AC48 8000A048 4610203C */ c.lt.s $f4, $f16 -/* 00AC4C 8000A04C 00000000 */ nop -/* 00AC50 8000A050 45000002 */ bc1f .L8000A05C -/* 00AC54 8000A054 00000000 */ nop -/* 00AC58 8000A058 46100401 */ sub.s $f16, $f0, $f16 -.L8000A05C: -/* 00AC5C 8000A05C 44810000 */ mtc1 $at, $f0 -/* 00AC60 8000A060 00000000 */ nop -/* 00AC64 8000A064 4600803C */ c.lt.s $f16, $f0 -/* 00AC68 8000A068 00000000 */ nop -/* 00AC6C 8000A06C 45000034 */ bc1f .L8000A140 -/* 00AC70 8000A070 00000000 */ nop -/* 00AC74 8000A074 92380000 */ lbu $t8, ($s1) -/* 00AC78 8000A078 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 00AC7C 8000A07C 44983000 */ mtc1 $t8, $f6 -/* 00AC80 8000A080 07010004 */ bgez $t8, .L8000A094 -/* 00AC84 8000A084 46803220 */ cvt.s.w $f8, $f6 -/* 00AC88 8000A088 44815000 */ mtc1 $at, $f10 -/* 00AC8C 8000A08C 00000000 */ nop -/* 00AC90 8000A090 460A4200 */ add.s $f8, $f8, $f10 -.L8000A094: -/* 00AC94 8000A094 46104102 */ mul.s $f4, $f8, $f16 -/* 00AC98 8000A098 24020001 */ li $v0, 1 -/* 00AC9C 8000A09C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 00ACA0 8000A0A0 46002183 */ div.s $f6, $f4, $f0 -/* 00ACA4 8000A0A4 4459F800 */ cfc1 $t9, $31 -/* 00ACA8 8000A0A8 44C2F800 */ ctc1 $v0, $31 -/* 00ACAC 8000A0AC 00000000 */ nop -/* 00ACB0 8000A0B0 460032A4 */ cvt.w.s $f10, $f6 -/* 00ACB4 8000A0B4 4442F800 */ cfc1 $v0, $31 -/* 00ACB8 8000A0B8 00000000 */ nop -/* 00ACBC 8000A0BC 30420078 */ andi $v0, $v0, 0x78 -/* 00ACC0 8000A0C0 10400018 */ beqz $v0, .L8000A124 -/* 00ACC4 8000A0C4 00000000 */ nop -/* 00ACC8 8000A0C8 44815000 */ mtc1 $at, $f10 -/* 00ACCC 8000A0CC 24020001 */ li $v0, 1 -/* 00ACD0 8000A0D0 460A3281 */ sub.s $f10, $f6, $f10 -/* 00ACD4 8000A0D4 3C018000 */ lui $at, 0x8000 -/* 00ACD8 8000A0D8 44C2F800 */ ctc1 $v0, $31 -/* 00ACDC 8000A0DC 00000000 */ nop -/* 00ACE0 8000A0E0 460052A4 */ cvt.w.s $f10, $f10 -/* 00ACE4 8000A0E4 4442F800 */ cfc1 $v0, $31 -/* 00ACE8 8000A0E8 00000000 */ nop -/* 00ACEC 8000A0EC 30420078 */ andi $v0, $v0, 0x78 -/* 00ACF0 8000A0F0 14400008 */ bnez $v0, .L8000A114 -/* 00ACF4 8000A0F4 2402FFFF */ li $v0, -1 -/* 00ACF8 8000A0F8 44025000 */ mfc1 $v0, $f10 -/* 00ACFC 8000A0FC 44D9F800 */ ctc1 $t9, $31 -/* 00AD00 8000A100 00411025 */ or $v0, $v0, $at -/* 00AD04 8000A104 304800FF */ andi $t0, $v0, 0xff -/* 00AD08 8000A108 1000000F */ b .L8000A148 -/* 00AD0C 8000A10C 01001025 */ move $v0, $t0 -.L8000A110: -/* 00AD10 8000A110 2402FFFF */ li $v0, -1 -.L8000A114: -/* 00AD14 8000A114 304800FF */ andi $t0, $v0, 0xff -/* 00AD18 8000A118 44D9F800 */ ctc1 $t9, $31 -/* 00AD1C 8000A11C 1000000A */ b .L8000A148 -/* 00AD20 8000A120 01001025 */ move $v0, $t0 -.L8000A124: -/* 00AD24 8000A124 44025000 */ mfc1 $v0, $f10 -/* 00AD28 8000A128 00000000 */ nop -/* 00AD2C 8000A12C 0440FFF8 */ bltz $v0, .L8000A110 -/* 00AD30 8000A130 304800FF */ andi $t0, $v0, 0xff -/* 00AD34 8000A134 44D9F800 */ ctc1 $t9, $31 -/* 00AD38 8000A138 10000003 */ b .L8000A148 -/* 00AD3C 8000A13C 01001025 */ move $v0, $t0 -.L8000A140: -/* 00AD40 8000A140 92220000 */ lbu $v0, ($s1) -/* 00AD44 8000A144 00000000 */ nop -.L8000A148: -/* 00AD48 8000A148 C7B50010 */ lwc1 $f21, 0x10($sp) -/* 00AD4C 8000A14C C7B40014 */ lwc1 $f20, 0x14($sp) -/* 00AD50 8000A150 C7B70018 */ lwc1 $f23, 0x18($sp) -/* 00AD54 8000A154 C7B6001C */ lwc1 $f22, 0x1c($sp) -/* 00AD58 8000A158 C7B90020 */ lwc1 $f25, 0x20($sp) -/* 00AD5C 8000A15C C7B80024 */ lwc1 $f24, 0x24($sp) -/* 00AD60 8000A160 C7BB0028 */ lwc1 $f27, 0x28($sp) -/* 00AD64 8000A164 C7BA002C */ lwc1 $f26, 0x2c($sp) -/* 00AD68 8000A168 C7BD0030 */ lwc1 $f29, 0x30($sp) -/* 00AD6C 8000A16C C7BC0034 */ lwc1 $f28, 0x34($sp) -/* 00AD70 8000A170 C7BF0038 */ lwc1 $f31, 0x38($sp) -/* 00AD74 8000A174 C7BE003C */ lwc1 $f30, 0x3c($sp) -/* 00AD78 8000A178 8FB10048 */ lw $s1, 0x48($sp) -/* 00AD7C 8000A17C 03E00008 */ jr $ra -/* 00AD80 8000A180 27BD0098 */ addiu $sp, $sp, 0x98 diff --git a/asm/non_matchings/audio_spatial/func_8000A184.s b/asm/non_matchings/audio_spatial/func_8000A184.s deleted file mode 100644 index 5110b259..00000000 --- a/asm/non_matchings/audio_spatial/func_8000A184.s +++ /dev/null @@ -1,97 +0,0 @@ -glabel func_8000A184 -/* 00AD84 8000A184 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 00AD88 8000A188 AFBE0048 */ sw $fp, 0x48($sp) -/* 00AD8C 8000A18C AFB70044 */ sw $s7, 0x44($sp) -/* 00AD90 8000A190 AFB60040 */ sw $s6, 0x40($sp) -/* 00AD94 8000A194 AFB5003C */ sw $s5, 0x3c($sp) -/* 00AD98 8000A198 AFB40038 */ sw $s4, 0x38($sp) -/* 00AD9C 8000A19C AFB30034 */ sw $s3, 0x34($sp) -/* 00ADA0 8000A1A0 3C168012 */ lui $s6, %hi(D_80119C58) # $s6, 0x8012 -/* 00ADA4 8000A1A4 3C178012 */ lui $s7, %hi(D_80119C5C) # $s7, 0x8012 -/* 00ADA8 8000A1A8 3C1E8012 */ lui $fp, %hi(D_8011A6DC) # $fp, 0x8012 -/* 00ADAC 8000A1AC 00809825 */ move $s3, $a0 -/* 00ADB0 8000A1B0 00A0A025 */ move $s4, $a1 -/* 00ADB4 8000A1B4 00C0A825 */ move $s5, $a2 -/* 00ADB8 8000A1B8 AFBF004C */ sw $ra, 0x4c($sp) -/* 00ADBC 8000A1BC AFB20030 */ sw $s2, 0x30($sp) -/* 00ADC0 8000A1C0 AFB1002C */ sw $s1, 0x2c($sp) -/* 00ADC4 8000A1C4 AFB00028 */ sw $s0, 0x28($sp) -/* 00ADC8 8000A1C8 27DEA6DC */ addiu $fp, %lo(D_8011A6DC) # addiu $fp, $fp, -0x5924 -/* 00ADCC 8000A1CC 26F79C5C */ addiu $s7, %lo(D_80119C5C) # addiu $s7, $s7, -0x63a4 -/* 00ADD0 8000A1D0 26D69C58 */ addiu $s6, %lo(D_80119C58) # addiu $s6, $s6, -0x63a8 -.L8000A1D4: -/* 00ADD4 8000A1D4 8ECE016C */ lw $t6, 0x16c($s6) -/* 00ADD8 8000A1D8 02C09025 */ move $s2, $s6 -/* 00ADDC 8000A1DC 11C00013 */ beqz $t6, .L8000A22C -/* 00ADE0 8000A1E0 02E08825 */ move $s1, $s7 -/* 00ADE4 8000A1E4 82CF017C */ lb $t7, 0x17c($s6) -/* 00ADE8 8000A1E8 00008025 */ move $s0, $zero -/* 00ADEC 8000A1EC 19E0000F */ blez $t7, .L8000A22C -.L8000A1F0: -/* 00ADF0 8000A1F0 241800FF */ li $t8, 255 -/* 00ADF4 8000A1F4 241900FF */ li $t9, 255 -/* 00ADF8 8000A1F8 AFB90014 */ sw $t9, 0x14($sp) -/* 00ADFC 8000A1FC AFB80010 */ sw $t8, 0x10($sp) -/* 00AE00 8000A200 02602025 */ move $a0, $s3 -/* 00AE04 8000A204 02802825 */ move $a1, $s4 -/* 00AE08 8000A208 02A03025 */ move $a2, $s5 -/* 00AE0C 8000A20C 02203825 */ move $a3, $s1 -/* 00AE10 8000A210 0C002905 */ jal debug_render_line -/* 00AE14 8000A214 AFA00018 */ sw $zero, 0x18($sp) -/* 00AE18 8000A218 8248017C */ lb $t0, 0x17c($s2) -/* 00AE1C 8000A21C 26100001 */ addiu $s0, $s0, 1 -/* 00AE20 8000A220 0208082A */ slt $at, $s0, $t0 -/* 00AE24 8000A224 1420FFF2 */ bnez $at, .L8000A1F0 -/* 00AE28 8000A228 2631000C */ addiu $s1, $s1, 0xc -.L8000A22C: -/* 00AE2C 8000A22C 26F70180 */ addiu $s7, $s7, 0x180 -/* 00AE30 8000A230 02FE082B */ sltu $at, $s7, $fp -/* 00AE34 8000A234 1420FFE7 */ bnez $at, .L8000A1D4 -/* 00AE38 8000A238 26D60180 */ addiu $s6, $s6, 0x180 -/* 00AE3C 8000A23C 3C168012 */ lui $s6, %hi(D_8011A6D8) # $s6, 0x8012 -/* 00AE40 8000A240 3C178012 */ lui $s7, %hi(D_8011A6DC) # $s7, 0x8012 -/* 00AE44 8000A244 3C1E8012 */ lui $fp, %hi(D_8011AC1C) # $fp, 0x8012 -/* 00AE48 8000A248 27DEAC1C */ addiu $fp, %lo(D_8011AC1C) # addiu $fp, $fp, -0x53e4 -/* 00AE4C 8000A24C 26F7A6DC */ addiu $s7, %lo(D_8011A6DC) # addiu $s7, $s7, -0x5924 -/* 00AE50 8000A250 26D6A6D8 */ addiu $s6, %lo(D_8011A6D8) # addiu $s6, $s6, -0x5928 -.L8000A254: -/* 00AE54 8000A254 92C90000 */ lbu $t1, ($s6) -/* 00AE58 8000A258 02C09025 */ move $s2, $s6 -/* 00AE5C 8000A25C 11200013 */ beqz $t1, .L8000A2AC -/* 00AE60 8000A260 02E08825 */ move $s1, $s7 -/* 00AE64 8000A264 82CA00B8 */ lb $t2, 0xb8($s6) -/* 00AE68 8000A268 00008025 */ move $s0, $zero -/* 00AE6C 8000A26C 1940000F */ blez $t2, .L8000A2AC -.L8000A270: -/* 00AE70 8000A270 240B00FF */ li $t3, 255 -/* 00AE74 8000A274 240C00FF */ li $t4, 255 -/* 00AE78 8000A278 AFAC0018 */ sw $t4, 0x18($sp) -/* 00AE7C 8000A27C AFAB0010 */ sw $t3, 0x10($sp) -/* 00AE80 8000A280 02602025 */ move $a0, $s3 -/* 00AE84 8000A284 02802825 */ move $a1, $s4 -/* 00AE88 8000A288 02A03025 */ move $a2, $s5 -/* 00AE8C 8000A28C 02203825 */ move $a3, $s1 -/* 00AE90 8000A290 0C002905 */ jal debug_render_line -/* 00AE94 8000A294 AFA00014 */ sw $zero, 0x14($sp) -/* 00AE98 8000A298 824D00B8 */ lb $t5, 0xb8($s2) -/* 00AE9C 8000A29C 26100001 */ addiu $s0, $s0, 1 -/* 00AEA0 8000A2A0 020D082A */ slt $at, $s0, $t5 -/* 00AEA4 8000A2A4 1420FFF2 */ bnez $at, .L8000A270 -/* 00AEA8 8000A2A8 2631000C */ addiu $s1, $s1, 0xc -.L8000A2AC: -/* 00AEAC 8000A2AC 26F700C0 */ addiu $s7, $s7, 0xc0 -/* 00AEB0 8000A2B0 16FEFFE8 */ bne $s7, $fp, .L8000A254 -/* 00AEB4 8000A2B4 26D600C0 */ addiu $s6, $s6, 0xc0 -/* 00AEB8 8000A2B8 8FBF004C */ lw $ra, 0x4c($sp) -/* 00AEBC 8000A2BC 8FB00028 */ lw $s0, 0x28($sp) -/* 00AEC0 8000A2C0 8FB1002C */ lw $s1, 0x2c($sp) -/* 00AEC4 8000A2C4 8FB20030 */ lw $s2, 0x30($sp) -/* 00AEC8 8000A2C8 8FB30034 */ lw $s3, 0x34($sp) -/* 00AECC 8000A2CC 8FB40038 */ lw $s4, 0x38($sp) -/* 00AED0 8000A2D0 8FB5003C */ lw $s5, 0x3c($sp) -/* 00AED4 8000A2D4 8FB60040 */ lw $s6, 0x40($sp) -/* 00AED8 8000A2D8 8FB70044 */ lw $s7, 0x44($sp) -/* 00AEDC 8000A2DC 8FBE0048 */ lw $fp, 0x48($sp) -/* 00AEE0 8000A2E0 03E00008 */ jr $ra -/* 00AEE4 8000A2E4 27BD0050 */ addiu $sp, $sp, 0x50 - diff --git a/asm/non_matchings/audio_vehicle/func_80004B40.s b/asm/non_matchings/audio_vehicle/func_80004B40.s deleted file mode 100644 index 9b091967..00000000 --- a/asm/non_matchings/audio_vehicle/func_80004B40.s +++ /dev/null @@ -1,382 +0,0 @@ -.late_rodata -glabel D_800E4BF0 -.float 10000.0 - -.text -glabel func_80004B40 -/* 005740 80004B40 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 005744 80004B44 AFB30024 */ sw $s3, 0x24($sp) -/* 005748 80004B48 AFB00018 */ sw $s0, 0x18($sp) -/* 00574C 80004B4C 2881000B */ slti $at, $a0, 0xb -/* 005750 80004B50 00808025 */ move $s0, $a0 -/* 005754 80004B54 00A09825 */ move $s3, $a1 -/* 005758 80004B58 AFBF0034 */ sw $ra, 0x34($sp) -/* 00575C 80004B5C AFB60030 */ sw $s6, 0x30($sp) -/* 005760 80004B60 AFB5002C */ sw $s5, 0x2c($sp) -/* 005764 80004B64 AFB40028 */ sw $s4, 0x28($sp) -/* 005768 80004B68 AFB20020 */ sw $s2, 0x20($sp) -/* 00576C 80004B6C 14200002 */ bnez $at, .L80004B78 -/* 005770 80004B70 AFB1001C */ sw $s1, 0x1c($sp) -/* 005774 80004B74 2410000B */ li $s0, 11 -.L80004B78: -/* 005778 80004B78 3C0E800E */ lui $t6, %hi(D_800DC6D8) # $t6, 0x800e -/* 00577C 80004B7C 8DCEC6D8 */ lw $t6, %lo(D_800DC6D8)($t6) -/* 005780 80004B80 00000000 */ nop -/* 005784 80004B84 11C00009 */ beqz $t6, .L80004BAC -/* 005788 80004B88 3C028012 */ lui $v0, %hi(D_80119C30) # $v0, 0x8012 -/* 00578C 80004B8C 3C038012 */ lui $v1, %hi(gRacerSound) # $v1, 0x8012 -/* 005790 80004B90 24639C38 */ addiu $v1, %lo(gRacerSound) # addiu $v1, $v1, -0x63c8 -/* 005794 80004B94 24429C30 */ addiu $v0, %lo(D_80119C30) # addiu $v0, $v0, -0x63d0 -.L80004B98: -/* 005798 80004B98 24420004 */ addiu $v0, $v0, 4 -/* 00579C 80004B9C 1443FFFE */ bne $v0, $v1, .L80004B98 -/* 0057A0 80004BA0 AC40FFFC */ sw $zero, -4($v0) -/* 0057A4 80004BA4 3C01800E */ lui $at, %hi(D_800DC6D8) # $at, 0x800e -/* 0057A8 80004BA8 AC20C6D8 */ sw $zero, %lo(D_800DC6D8)($at) -.L80004BAC: -/* 0057AC 80004BAC 0C01DB16 */ jal load_asset_section_from_rom -/* 0057B0 80004BB0 24040026 */ li $a0, 38 -/* 0057B4 80004BB4 0013B080 */ sll $s6, $s3, 2 -/* 0057B8 80004BB8 02D3B021 */ addu $s6, $s6, $s3 -/* 0057BC 80004BBC 0016B040 */ sll $s6, $s6, 1 -/* 0057C0 80004BC0 02D0C021 */ addu $t8, $s6, $s0 -/* 0057C4 80004BC4 0018C880 */ sll $t9, $t8, 2 -/* 0057C8 80004BC8 0338C821 */ addu $t9, $t9, $t8 -/* 0057CC 80004BCC AFA2003C */ sw $v0, 0x3c($sp) -/* 0057D0 80004BD0 0019C880 */ sll $t9, $t9, 2 -/* 0057D4 80004BD4 8C4F001C */ lw $t7, 0x1c($v0) -/* 0057D8 80004BD8 3C1200FF */ lui $s2, (0xFFFFFF >> 16) -/* 0057DC 80004BDC 0338C823 */ subu $t9, $t9, $t8 -/* 0057E0 80004BE0 3652FFFF */ ori $s2, $s2, (0xFFFFFF & 0xFFFF) -/* 0057E4 80004BE4 0019C880 */ sll $t9, $t9, 2 -/* 0057E8 80004BE8 02402825 */ move $a1, $s2 -/* 0057EC 80004BEC 2404004C */ li $a0, 76 -/* 0057F0 80004BF0 0C01C327 */ jal mempool_alloc_safe -/* 0057F4 80004BF4 01F98821 */ addu $s1, $t7, $t9 -/* 0057F8 80004BF8 0040A825 */ move $s5, $v0 -/* 0057FC 80004BFC 24040027 */ li $a0, 39 -/* 005800 80004C00 00402825 */ move $a1, $v0 -/* 005804 80004C04 02203025 */ move $a2, $s1 -/* 005808 80004C08 0C01DB9A */ jal load_asset_to_address -/* 00580C 80004C0C 2407004C */ li $a3, 76 -/* 005810 80004C10 240400E0 */ li $a0, 224 -/* 005814 80004C14 0C01C327 */ jal mempool_alloc_safe -/* 005818 80004C18 02402825 */ move $a1, $s2 -/* 00581C 80004C1C AFA20044 */ sw $v0, 0x44($sp) -/* 005820 80004C20 00401825 */ move $v1, $v0 -/* 005824 80004C24 00003825 */ move $a3, $zero -/* 005828 80004C28 240400E0 */ li $a0, 224 -.L80004C2C: -/* 00582C 80004C2C 24E70004 */ addiu $a3, $a3, 4 -/* 005830 80004C30 A0600001 */ sb $zero, 1($v1) -/* 005834 80004C34 A0600002 */ sb $zero, 2($v1) -/* 005838 80004C38 A0600003 */ sb $zero, 3($v1) -/* 00583C 80004C3C 24630004 */ addiu $v1, $v1, 4 -/* 005840 80004C40 14E4FFFA */ bne $a3, $a0, .L80004C2C -/* 005844 80004C44 A060FFFC */ sb $zero, -4($v1) -/* 005848 80004C48 92AE0036 */ lbu $t6, 0x36($s5) -/* 00584C 80004C4C 3C01800E */ lui $at, %hi(D_800E4BF0) # $at, 0x800e -/* 005850 80004C50 C4224BF0 */ lwc1 $f2, %lo(D_800E4BF0)($at) -/* 005854 80004C54 A04E0036 */ sb $t6, 0x36($v0) -/* 005858 80004C58 92B80037 */ lbu $t8, 0x37($s5) -/* 00585C 80004C5C 00008025 */ move $s0, $zero -/* 005860 80004C60 A0580037 */ sb $t8, 0x37($v0) -/* 005864 80004C64 92AF0038 */ lbu $t7, 0x38($s5) -/* 005868 80004C68 02A08825 */ move $s1, $s5 -/* 00586C 80004C6C A04F0038 */ sb $t7, 0x38($v0) -/* 005870 80004C70 92B90039 */ lbu $t9, 0x39($s5) -/* 005874 80004C74 02A05825 */ move $t3, $s5 -/* 005878 80004C78 A0590039 */ sb $t9, 0x39($v0) -/* 00587C 80004C7C 92AE003A */ lbu $t6, 0x3a($s5) -/* 005880 80004C80 02A06025 */ move $t4, $s5 -/* 005884 80004C84 A04E0064 */ sb $t6, 0x64($v0) -/* 005888 80004C88 86B80046 */ lh $t8, 0x46($s5) -/* 00588C 80004C8C 00406825 */ move $t5, $v0 -/* 005890 80004C90 44982000 */ mtc1 $t8, $f4 -/* 005894 80004C94 0040F825 */ move $ra, $v0 -/* 005898 80004C98 468021A0 */ cvt.s.w $f6, $f4 -/* 00589C 80004C9C 00404825 */ move $t1, $v0 -/* 0058A0 80004CA0 02A05025 */ move $t2, $s5 -/* 0058A4 80004CA4 46023203 */ div.s $f8, $f6, $f2 -/* 0058A8 80004CA8 00409025 */ move $s2, $v0 -/* 0058AC 80004CAC 02A09825 */ move $s3, $s5 -/* 0058B0 80004CB0 0040A025 */ move $s4, $v0 -/* 0058B4 80004CB4 24080005 */ li $t0, 5 -/* 0058B8 80004CB8 E44800C8 */ swc1 $f8, 0xc8($v0) -/* 0058BC 80004CBC 86AF003E */ lh $t7, 0x3e($s5) -/* 0058C0 80004CC0 00000000 */ nop -/* 0058C4 80004CC4 448F5000 */ mtc1 $t7, $f10 -/* 0058C8 80004CC8 00000000 */ nop -/* 0058CC 80004CCC 46805420 */ cvt.s.w $f16, $f10 -/* 0058D0 80004CD0 00000000 */ nop -/* 0058D4 80004CD4 46028483 */ div.s $f18, $f16, $f2 -/* 0058D8 80004CD8 E45200B0 */ swc1 $f18, 0xb0($v0) -/* 0058DC 80004CDC 86B90040 */ lh $t9, 0x40($s5) -/* 0058E0 80004CE0 00000000 */ nop -/* 0058E4 80004CE4 44992000 */ mtc1 $t9, $f4 -/* 0058E8 80004CE8 00000000 */ nop -/* 0058EC 80004CEC 468021A0 */ cvt.s.w $f6, $f4 -/* 0058F0 80004CF0 00000000 */ nop -/* 0058F4 80004CF4 46023203 */ div.s $f8, $f6, $f2 -/* 0058F8 80004CF8 E44800B4 */ swc1 $f8, 0xb4($v0) -/* 0058FC 80004CFC 86AE0042 */ lh $t6, 0x42($s5) -/* 005900 80004D00 00000000 */ nop -/* 005904 80004D04 448E5000 */ mtc1 $t6, $f10 -/* 005908 80004D08 00000000 */ nop -/* 00590C 80004D0C 46805420 */ cvt.s.w $f16, $f10 -/* 005910 80004D10 00000000 */ nop -/* 005914 80004D14 46028483 */ div.s $f18, $f16, $f2 -/* 005918 80004D18 E45200C0 */ swc1 $f18, 0xc0($v0) -/* 00591C 80004D1C 86B80044 */ lh $t8, 0x44($s5) -/* 005920 80004D20 00000000 */ nop -/* 005924 80004D24 44982000 */ mtc1 $t8, $f4 -/* 005928 80004D28 00000000 */ nop -/* 00592C 80004D2C 468021A0 */ cvt.s.w $f6, $f4 -/* 005930 80004D30 00000000 */ nop -/* 005934 80004D34 46023203 */ div.s $f8, $f6, $f2 -/* 005938 80004D38 E44800C4 */ swc1 $f8, 0xc4($v0) -/* 00593C 80004D3C 86AF003C */ lh $t7, 0x3c($s5) -/* 005940 80004D40 00000000 */ nop -/* 005944 80004D44 448F5000 */ mtc1 $t7, $f10 -/* 005948 80004D48 00000000 */ nop -/* 00594C 80004D4C 46805420 */ cvt.s.w $f16, $f10 -/* 005950 80004D50 44805000 */ mtc1 $zero, $f10 -/* 005954 80004D54 46028483 */ div.s $f18, $f16, $f2 -/* 005958 80004D58 E45200BC */ swc1 $f18, 0xbc($v0) -/* 00595C 80004D5C 92B9003B */ lbu $t9, 0x3b($s5) -/* 005960 80004D60 00000000 */ nop -/* 005964 80004D64 A05900B8 */ sb $t9, 0xb8($v0) -/* 005968 80004D68 86AE0048 */ lh $t6, 0x48($s5) -/* 00596C 80004D6C A04000D8 */ sb $zero, 0xd8($v0) -/* 005970 80004D70 448E2000 */ mtc1 $t6, $f4 -/* 005974 80004D74 00000000 */ nop -/* 005978 80004D78 468021A0 */ cvt.s.w $f6, $f4 -/* 00597C 80004D7C 00000000 */ nop -/* 005980 80004D80 46023203 */ div.s $f8, $f6, $f2 -/* 005984 80004D84 E44800CC */ swc1 $f8, 0xcc($v0) -.L80004D88: -/* 005988 80004D88 96380000 */ lhu $t8, ($s1) -/* 00598C 80004D8C 24070001 */ li $a3, 1 -/* 005990 80004D90 A6980000 */ sh $t8, ($s4) -/* 005994 80004D94 914F0004 */ lbu $t7, 4($t2) -/* 005998 80004D98 25630001 */ addiu $v1, $t3, 1 -/* 00599C 80004D9C A12F0004 */ sb $t7, 4($t1) -/* 0059A0 80004DA0 96790018 */ lhu $t9, 0x18($s3) -/* 0059A4 80004DA4 25850002 */ addiu $a1, $t4, 2 -/* 0059A8 80004DA8 A6590018 */ sh $t9, 0x18($s2) -/* 0059AC 80004DAC 914E000E */ lbu $t6, 0xe($t2) -/* 0059B0 80004DB0 25A40001 */ addiu $a0, $t5, 1 -/* 0059B4 80004DB4 A12E000E */ sb $t6, 0xe($t1) -/* 0059B8 80004DB8 9158002C */ lbu $t8, 0x2c($t2) -/* 0059BC 80004DBC 27E60002 */ addiu $a2, $ra, 2 -/* 0059C0 80004DC0 A138002C */ sb $t8, 0x2c($t1) -.L80004DC4: -/* 0059C4 80004DC4 906F0004 */ lbu $t7, 4($v1) -/* 0059C8 80004DC8 24E70002 */ addiu $a3, $a3, 2 -/* 0059CC 80004DCC A08F0004 */ sb $t7, 4($a0) -/* 0059D0 80004DD0 94B90018 */ lhu $t9, 0x18($a1) -/* 0059D4 80004DD4 24630002 */ addiu $v1, $v1, 2 -/* 0059D8 80004DD8 A4D90018 */ sh $t9, 0x18($a2) -/* 0059DC 80004DDC 906E000C */ lbu $t6, 0xc($v1) -/* 0059E0 80004DE0 24A50004 */ addiu $a1, $a1, 4 -/* 0059E4 80004DE4 A08E000E */ sb $t6, 0xe($a0) -/* 0059E8 80004DE8 9078002A */ lbu $t8, 0x2a($v1) -/* 0059EC 80004DEC 24840002 */ addiu $a0, $a0, 2 -/* 0059F0 80004DF0 A098002A */ sb $t8, 0x2a($a0) -/* 0059F4 80004DF4 906F0003 */ lbu $t7, 3($v1) -/* 0059F8 80004DF8 24C60004 */ addiu $a2, $a2, 4 -/* 0059FC 80004DFC A08F0003 */ sb $t7, 3($a0) -/* 005A00 80004E00 94B90016 */ lhu $t9, 0x16($a1) -/* 005A04 80004E04 00000000 */ nop -/* 005A08 80004E08 A4D90016 */ sh $t9, 0x16($a2) -/* 005A0C 80004E0C 906E000D */ lbu $t6, 0xd($v1) -/* 005A10 80004E10 00000000 */ nop -/* 005A14 80004E14 A08E000D */ sb $t6, 0xd($a0) -/* 005A18 80004E18 9078002B */ lbu $t8, 0x2b($v1) -/* 005A1C 80004E1C 14E8FFE9 */ bne $a3, $t0, .L80004DC4 -/* 005A20 80004E20 A098002B */ sb $t8, 0x2b($a0) -/* 005A24 80004E24 26100002 */ addiu $s0, $s0, 2 -/* 005A28 80004E28 2A010004 */ slti $at, $s0, 4 -/* 005A2C 80004E2C 26310002 */ addiu $s1, $s1, 2 -/* 005A30 80004E30 256B0005 */ addiu $t3, $t3, 5 -/* 005A34 80004E34 258C000A */ addiu $t4, $t4, 0xa -/* 005A38 80004E38 25AD0005 */ addiu $t5, $t5, 5 -/* 005A3C 80004E3C 27FF000A */ addiu $ra, $ra, 0xa -/* 005A40 80004E40 25290005 */ addiu $t1, $t1, 5 -/* 005A44 80004E44 254A0005 */ addiu $t2, $t2, 5 -/* 005A48 80004E48 2652000A */ addiu $s2, $s2, 0xa -/* 005A4C 80004E4C 2673000A */ addiu $s3, $s3, 0xa -/* 005A50 80004E50 1420FFCD */ bnez $at, .L80004D88 -/* 005A54 80004E54 26940002 */ addiu $s4, $s4, 2 -/* 005A58 80004E58 A0400074 */ sb $zero, 0x74($v0) -/* 005A5C 80004E5C E44A006C */ swc1 $f10, 0x6c($v0) -/* 005A60 80004E60 92AF004A */ lbu $t7, 0x4a($s5) -/* 005A64 80004E64 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 005A68 80004E68 448F8000 */ mtc1 $t7, $f16 -/* 005A6C 80004E6C 05E10004 */ bgez $t7, .L80004E80 -/* 005A70 80004E70 468084A0 */ cvt.s.w $f18, $f16 -/* 005A74 80004E74 44812000 */ mtc1 $at, $f4 -/* 005A78 80004E78 00000000 */ nop -/* 005A7C 80004E7C 46049480 */ add.s $f18, $f18, $f4 -.L80004E80: -/* 005A80 80004E80 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 005A84 80004E84 44813000 */ mtc1 $at, $f6 -/* 005A88 80004E88 00000000 */ nop -/* 005A8C 80004E8C 46069203 */ div.s $f8, $f18, $f6 -/* 005A90 80004E90 16C0002B */ bnez $s6, .L80004F40 -/* 005A94 80004E94 E44800D4 */ swc1 $f8, 0xd4($v0) -/* 005A98 80004E98 9059002C */ lbu $t9, 0x2c($v0) -/* 005A9C 80004E9C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 005AA0 80004EA0 44995000 */ mtc1 $t9, $f10 -/* 005AA4 80004EA4 07210004 */ bgez $t9, .L80004EB8 -/* 005AA8 80004EA8 46805420 */ cvt.s.w $f16, $f10 -/* 005AAC 80004EAC 44812000 */ mtc1 $at, $f4 -/* 005AB0 80004EB0 00000000 */ nop -/* 005AB4 80004EB4 46048400 */ add.s $f16, $f16, $f4 -.L80004EB8: -/* 005AB8 80004EB8 944E0018 */ lhu $t6, 0x18($v0) -/* 005ABC 80004EBC E4500054 */ swc1 $f16, 0x54($v0) -/* 005AC0 80004EC0 448E9000 */ mtc1 $t6, $f18 -/* 005AC4 80004EC4 05C10005 */ bgez $t6, .L80004EDC -/* 005AC8 80004EC8 468091A0 */ cvt.s.w $f6, $f18 -/* 005ACC 80004ECC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 005AD0 80004ED0 44814000 */ mtc1 $at, $f8 -/* 005AD4 80004ED4 00000000 */ nop -/* 005AD8 80004ED8 46083180 */ add.s $f6, $f6, $f8 -.L80004EDC: -/* 005ADC 80004EDC 00000000 */ nop -/* 005AE0 80004EE0 46023283 */ div.s $f10, $f6, $f2 -/* 005AE4 80004EE4 90580031 */ lbu $t8, 0x31($v0) -/* 005AE8 80004EE8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 005AEC 80004EEC 44982000 */ mtc1 $t8, $f4 -/* 005AF0 80004EF0 00000000 */ nop -/* 005AF4 80004EF4 46802420 */ cvt.s.w $f16, $f4 -/* 005AF8 80004EF8 07010004 */ bgez $t8, .L80004F0C -/* 005AFC 80004EFC E44A005C */ swc1 $f10, 0x5c($v0) -/* 005B00 80004F00 44819000 */ mtc1 $at, $f18 -/* 005B04 80004F04 00000000 */ nop -/* 005B08 80004F08 46128400 */ add.s $f16, $f16, $f18 -.L80004F0C: -/* 005B0C 80004F0C 944F0022 */ lhu $t7, 0x22($v0) -/* 005B10 80004F10 E4500058 */ swc1 $f16, 0x58($v0) -/* 005B14 80004F14 448F4000 */ mtc1 $t7, $f8 -/* 005B18 80004F18 05E10005 */ bgez $t7, .L80004F30 -/* 005B1C 80004F1C 468041A0 */ cvt.s.w $f6, $f8 -/* 005B20 80004F20 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 005B24 80004F24 44815000 */ mtc1 $at, $f10 -/* 005B28 80004F28 00000000 */ nop -/* 005B2C 80004F2C 460A3180 */ add.s $f6, $f6, $f10 -.L80004F30: -/* 005B30 80004F30 00000000 */ nop -/* 005B34 80004F34 46023103 */ div.s $f4, $f6, $f2 -/* 005B38 80004F38 10000055 */ b .L80005090 -/* 005B3C 80004F3C E4440060 */ swc1 $f4, 0x60($v0) -.L80004F40: -/* 005B40 80004F40 C44000D4 */ lwc1 $f0, 0xd4($v0) -/* 005B44 80004F44 24030001 */ li $v1, 1 -/* 005B48 80004F48 46020482 */ mul.s $f18, $f0, $f2 -/* 005B4C 80004F4C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 005B50 80004F50 E440005C */ swc1 $f0, 0x5c($v0) -/* 005B54 80004F54 4459F800 */ cfc1 $t9, $31 -/* 005B58 80004F58 44C3F800 */ ctc1 $v1, $31 -/* 005B5C 80004F5C 00000000 */ nop -/* 005B60 80004F60 46009424 */ cvt.w.s $f16, $f18 -/* 005B64 80004F64 4443F800 */ cfc1 $v1, $31 -/* 005B68 80004F68 00000000 */ nop -/* 005B6C 80004F6C 30630078 */ andi $v1, $v1, 0x78 -/* 005B70 80004F70 10600012 */ beqz $v1, .L80004FBC -/* 005B74 80004F74 00000000 */ nop -/* 005B78 80004F78 44818000 */ mtc1 $at, $f16 -/* 005B7C 80004F7C 24030001 */ li $v1, 1 -/* 005B80 80004F80 46109401 */ sub.s $f16, $f18, $f16 -/* 005B84 80004F84 3C018000 */ lui $at, 0x8000 -/* 005B88 80004F88 44C3F800 */ ctc1 $v1, $31 -/* 005B8C 80004F8C 00000000 */ nop -/* 005B90 80004F90 46008424 */ cvt.w.s $f16, $f16 -/* 005B94 80004F94 4443F800 */ cfc1 $v1, $31 -/* 005B98 80004F98 00000000 */ nop -/* 005B9C 80004F9C 30630078 */ andi $v1, $v1, 0x78 -/* 005BA0 80004FA0 14600004 */ bnez $v1, .L80004FB4 -/* 005BA4 80004FA4 00000000 */ nop -/* 005BA8 80004FA8 44038000 */ mfc1 $v1, $f16 -/* 005BAC 80004FAC 10000007 */ b .L80004FCC -/* 005BB0 80004FB0 00611825 */ or $v1, $v1, $at -.L80004FB4: -/* 005BB4 80004FB4 10000005 */ b .L80004FCC -/* 005BB8 80004FB8 2403FFFF */ li $v1, -1 -.L80004FBC: -/* 005BBC 80004FBC 44038000 */ mfc1 $v1, $f16 -/* 005BC0 80004FC0 00000000 */ nop -/* 005BC4 80004FC4 0460FFFB */ bltz $v1, .L80004FB4 -/* 005BC8 80004FC8 00000000 */ nop -.L80004FCC: -/* 005BCC 80004FCC 94580018 */ lhu $t8, 0x18($v0) -/* 005BD0 80004FD0 3065FFFF */ andi $a1, $v1, 0xffff -/* 005BD4 80004FD4 44D9F800 */ ctc1 $t9, $31 -/* 005BD8 80004FD8 00B8082A */ slt $at, $a1, $t8 -/* 005BDC 80004FDC 1420000C */ bnez $at, .L80005010 -/* 005BE0 80004FE0 00002025 */ move $a0, $zero -.L80004FE4: -/* 005BE4 80004FE4 24840001 */ addiu $a0, $a0, 1 -/* 005BE8 80004FE8 308FFFFF */ andi $t7, $a0, 0xffff -/* 005BEC 80004FEC 000FC840 */ sll $t9, $t7, 1 -/* 005BF0 80004FF0 00597021 */ addu $t6, $v0, $t9 -/* 005BF4 80004FF4 95D80018 */ lhu $t8, 0x18($t6) -/* 005BF8 80004FF8 01E02025 */ move $a0, $t7 -/* 005BFC 80004FFC 00B8082A */ slt $at, $a1, $t8 -/* 005C00 80005000 14200003 */ bnez $at, .L80005010 -/* 005C04 80005004 29E10004 */ slti $at, $t7, 4 -/* 005C08 80005008 1420FFF6 */ bnez $at, .L80004FE4 -/* 005C0C 8000500C 00000000 */ nop -.L80005010: -/* 005C10 80005010 2484FFFF */ addiu $a0, $a0, -1 -/* 005C14 80005014 3083FFFF */ andi $v1, $a0, 0xffff -/* 005C18 80005018 0003C840 */ sll $t9, $v1, 1 -/* 005C1C 8000501C 00597021 */ addu $t6, $v0, $t9 -/* 005C20 80005020 95C60018 */ lhu $a2, 0x18($t6) -/* 005C24 80005024 00037840 */ sll $t7, $v1, 1 -/* 005C28 80005028 004FC821 */ addu $t9, $v0, $t7 -/* 005C2C 8000502C 972E001A */ lhu $t6, 0x1a($t9) -/* 005C30 80005030 00A6C023 */ subu $t8, $a1, $a2 -/* 005C34 80005034 44984000 */ mtc1 $t8, $f8 -/* 005C38 80005038 01C6C023 */ subu $t8, $t6, $a2 -/* 005C3C 8000503C 44983000 */ mtc1 $t8, $f6 -/* 005C40 80005040 468042A0 */ cvt.s.w $f10, $f8 -/* 005C44 80005044 0043C821 */ addu $t9, $v0, $v1 -/* 005C48 80005048 00437821 */ addu $t7, $v0, $v1 -/* 005C4C 8000504C 46803120 */ cvt.s.w $f4, $f6 -/* 005C50 80005050 91E7002C */ lbu $a3, 0x2c($t7) -/* 005C54 80005054 932E002D */ lbu $t6, 0x2d($t9) -/* 005C58 80005058 46045003 */ div.s $f0, $f10, $f4 -/* 005C5C 8000505C 01C7C023 */ subu $t8, $t6, $a3 -/* 005C60 80005060 44989000 */ mtc1 $t8, $f18 -/* 005C64 80005064 44873000 */ mtc1 $a3, $f6 -/* 005C68 80005068 46809420 */ cvt.s.w $f16, $f18 -/* 005C6C 8000506C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 005C70 80005070 46008202 */ mul.s $f8, $f16, $f0 -/* 005C74 80005074 04E10004 */ bgez $a3, .L80005088 -/* 005C78 80005078 468032A0 */ cvt.s.w $f10, $f6 -/* 005C7C 8000507C 44812000 */ mtc1 $at, $f4 -/* 005C80 80005080 00000000 */ nop -/* 005C84 80005084 46045280 */ add.s $f10, $f10, $f4 -.L80005088: -/* 005C88 80005088 460A4480 */ add.s $f18, $f8, $f10 -/* 005C8C 8000508C E4520054 */ swc1 $f18, 0x54($v0) -.L80005090: -/* 005C90 80005090 8FA4003C */ lw $a0, 0x3c($sp) -/* 005C94 80005094 0C01C450 */ jal mempool_free -/* 005C98 80005098 00000000 */ nop -/* 005C9C 8000509C 0C01C450 */ jal mempool_free -/* 005CA0 800050A0 02A02025 */ move $a0, $s5 -/* 005CA4 800050A4 8FBF0034 */ lw $ra, 0x34($sp) -/* 005CA8 800050A8 8FA20044 */ lw $v0, 0x44($sp) -/* 005CAC 800050AC 8FB00018 */ lw $s0, 0x18($sp) -/* 005CB0 800050B0 8FB1001C */ lw $s1, 0x1c($sp) -/* 005CB4 800050B4 8FB20020 */ lw $s2, 0x20($sp) -/* 005CB8 800050B8 8FB30024 */ lw $s3, 0x24($sp) -/* 005CBC 800050BC 8FB40028 */ lw $s4, 0x28($sp) -/* 005CC0 800050C0 8FB5002C */ lw $s5, 0x2c($sp) -/* 005CC4 800050C4 8FB60030 */ lw $s6, 0x30($sp) -/* 005CC8 800050C8 03E00008 */ jr $ra -/* 005CCC 800050CC 27BD0058 */ addiu $sp, $sp, 0x58 - diff --git a/asm/non_matchings/audio_vehicle/func_80005254.s b/asm/non_matchings/audio_vehicle/func_80005254.s deleted file mode 100644 index 6aad1b10..00000000 --- a/asm/non_matchings/audio_vehicle/func_80005254.s +++ /dev/null @@ -1,766 +0,0 @@ -.late_rodata -glabel D_800E4BF8 -.double 0.4 -glabel D_800E4C00 -.float 10000.0 -.word 0 # Padding -glabel D_800E4C08 -.double 0.05 -glabel D_800E4C10 -.double 0.95 -glabel D_800E4C18 -.double 0.13 -glabel D_800E4C20 -.double 0.3 -glabel D_800E4C28 -.double 0.02 -glabel D_800E4C30 -.double 0.01 -glabel D_800E4C38 -.float 0.4 -.word 0 # Padding -glabel D_800E4C40 -.double 0.005 -glabel D_800E4C48 -.double -0.1 - -.text -glabel func_80005254 -/* 005E54 80005254 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 005E58 80005258 3C088012 */ lui $t0, %hi(gSoundRacerObj) # $t0, 0x8012 -/* 005E5C 8000525C 8D089C3C */ lw $t0, %lo(gSoundRacerObj)($t0) -/* 005E60 80005260 AFBF0034 */ sw $ra, 0x34($sp) -/* 005E64 80005264 AFB20030 */ sw $s2, 0x30($sp) -/* 005E68 80005268 AFB1002C */ sw $s1, 0x2c($sp) -/* 005E6C 8000526C AFB00028 */ sw $s0, 0x28($sp) -/* 005E70 80005270 E7B70020 */ swc1 $f23, 0x20($sp) -/* 005E74 80005274 E7B60024 */ swc1 $f22, 0x24($sp) -/* 005E78 80005278 E7B50018 */ swc1 $f21, 0x18($sp) -/* 005E7C 8000527C E7B4001C */ swc1 $f20, 0x1c($sp) -/* 005E80 80005280 AFA400A0 */ sw $a0, 0xa0($sp) -/* 005E84 80005284 AFA500A4 */ sw $a1, 0xa4($sp) -/* 005E88 80005288 AFA600A8 */ sw $a2, 0xa8($sp) -/* 005E8C 8000528C AFA700AC */ sw $a3, 0xac($sp) -/* 005E90 80005290 810E01FB */ lb $t6, 0x1fb($t0) -/* 005E94 80005294 4480B000 */ mtc1 $zero, $f22 -/* 005E98 80005298 11C00005 */ beqz $t6, .L800052B0 -/* 005E9C 8000529C 00004825 */ move $t1, $zero -/* 005EA0 800052A0 3C014140 */ li $at, 0x41400000 # 12.000000 -/* 005EA4 800052A4 44810000 */ mtc1 $at, $f0 -/* 005EA8 800052A8 10000004 */ b .L800052BC -/* 005EAC 800052AC 4616003C */ c.lt.s $f0, $f22 -.L800052B0: -/* 005EB0 800052B0 C500002C */ lwc1 $f0, 0x2c($t0) -/* 005EB4 800052B4 00000000 */ nop -/* 005EB8 800052B8 4616003C */ c.lt.s $f0, $f22 -.L800052BC: -/* 005EBC 800052BC 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 005EC0 800052C0 44812000 */ mtc1 $at, $f4 -/* 005EC4 800052C4 45000002 */ bc1f .L800052D0 -/* 005EC8 800052C8 3C078012 */ lui $a3, %hi(gRacerSound) # $a3, 0x8012 -/* 005ECC 800052CC 46000007 */ neg.s $f0, $f0 -.L800052D0: -/* 005ED0 800052D0 00000000 */ nop -/* 005ED4 800052D4 46040183 */ div.s $f6, $f0, $f4 -/* 005ED8 800052D8 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 005EDC 800052DC 44814000 */ mtc1 $at, $f8 -/* 005EE0 800052E0 8FB200A8 */ lw $s2, 0xa8($sp) -/* 005EE4 800052E4 00006025 */ move $t4, $zero -/* 005EE8 800052E8 32588000 */ andi $t8, $s2, 0x8000 -/* 005EEC 800052EC 03009025 */ move $s2, $t8 -/* 005EF0 800052F0 3C118012 */ lui $s1, %hi(gRacerSound) # $s1, 0x8012 -/* 005EF4 800052F4 46083282 */ mul.s $f10, $f6, $f8 -/* 005EF8 800052F8 444FF800 */ cfc1 $t7, $31 -/* 005EFC 800052FC 00000000 */ nop -/* 005F00 80005300 35E10003 */ ori $at, $t7, 3 -/* 005F04 80005304 38210002 */ xori $at, $at, 2 -/* 005F08 80005308 44C1F800 */ ctc1 $at, $31 -/* 005F0C 8000530C 00000000 */ nop -/* 005F10 80005310 46005124 */ cvt.w.s $f4, $f10 -/* 005F14 80005314 44022000 */ mfc1 $v0, $f4 -/* 005F18 80005318 44CFF800 */ ctc1 $t7, $31 -/* 005F1C 8000531C 24500005 */ addiu $s0, $v0, 5 -/* 005F20 80005320 2A010065 */ slti $at, $s0, 0x65 -/* 005F24 80005324 14200002 */ bnez $at, .L80005330 -/* 005F28 80005328 00000000 */ nop -/* 005F2C 8000532C 24100064 */ li $s0, 100 -.L80005330: -/* 005F30 80005330 3C01800E */ lui $at, %hi(D_800E4BF8 + 4) # $at, 0x800e -/* 005F34 80005334 C4354BF8 */ lwc1 $f21, %lo(D_800E4BF8)($at) -/* 005F38 80005338 C4344BFC */ lwc1 $f20, %lo(D_800E4BF8 + 4)($at) -/* 005F3C 8000533C 8CE79C38 */ lw $a3, %lo(gRacerSound)($a3) -/* 005F40 80005340 26319C38 */ addiu $s1, %lo(gRacerSound) # addiu $s1, $s1, -0x63c8 -.L80005344: -/* 005F44 80005344 00ECC821 */ addu $t9, $a3, $t4 -/* 005F48 80005348 972D0000 */ lhu $t5, ($t9) -/* 005F4C 8000534C 00097080 */ sll $t6, $t1, 2 -/* 005F50 80005350 11A001AE */ beqz $t5, .L80005A0C -/* 005F54 80005354 01C97021 */ addu $t6, $t6, $t1 -/* 005F58 80005358 00EE4021 */ addu $t0, $a3, $t6 -/* 005F5C 8000535C 910F000E */ lbu $t7, 0xe($t0) -/* 005F60 80005360 00001825 */ move $v1, $zero -/* 005F64 80005364 020F082A */ slt $at, $s0, $t7 -/* 005F68 80005368 14200008 */ bnez $at, .L8000538C -/* 005F6C 8000536C 00095080 */ sll $t2, $t1, 2 -/* 005F70 80005370 0009C080 */ sll $t8, $t1, 2 -/* 005F74 80005374 0309C021 */ addu $t8, $t8, $t1 -/* 005F78 80005378 00F83021 */ addu $a2, $a3, $t8 -/* 005F7C 8000537C 90D9000F */ lbu $t9, 0xf($a2) -/* 005F80 80005380 00000000 */ nop -/* 005F84 80005384 0330082A */ slt $at, $t9, $s0 -/* 005F88 80005388 10200010 */ beqz $at, .L800053CC -.L8000538C: -/* 005F8C 8000538C 00096880 */ sll $t5, $t1, 2 -/* 005F90 80005390 01A96821 */ addu $t5, $t5, $t1 -/* 005F94 80005394 00ED3021 */ addu $a2, $a3, $t5 -/* 005F98 80005398 00C31021 */ addu $v0, $a2, $v1 -.L8000539C: -/* 005F9C 8000539C 904E000F */ lbu $t6, 0xf($v0) -/* 005FA0 800053A0 24630001 */ addiu $v1, $v1, 1 -/* 005FA4 800053A4 020E082A */ slt $at, $s0, $t6 -/* 005FA8 800053A8 14200005 */ bnez $at, .L800053C0 -/* 005FAC 800053AC 24420001 */ addiu $v0, $v0, 1 -/* 005FB0 800053B0 904F000F */ lbu $t7, 0xf($v0) -/* 005FB4 800053B4 00000000 */ nop -/* 005FB8 800053B8 01F0082A */ slt $at, $t7, $s0 -/* 005FBC 800053BC 10200003 */ beqz $at, .L800053CC -.L800053C0: -/* 005FC0 800053C0 28610004 */ slti $at, $v1, 4 -/* 005FC4 800053C4 1420FFF5 */ bnez $at, .L8000539C -/* 005FC8 800053C8 00000000 */ nop -.L800053CC: -/* 005FCC 800053CC 01031021 */ addu $v0, $t0, $v1 -/* 005FD0 800053D0 9044000E */ lbu $a0, 0xe($v0) -/* 005FD4 800053D4 9059000F */ lbu $t9, 0xf($v0) -/* 005FD8 800053D8 0204C023 */ subu $t8, $s0, $a0 -/* 005FDC 800053DC 03246823 */ subu $t5, $t9, $a0 -/* 005FE0 800053E0 448D5000 */ mtc1 $t5, $f10 -/* 005FE4 800053E4 44983000 */ mtc1 $t8, $f6 -/* 005FE8 800053E8 46805120 */ cvt.s.w $f4, $f10 -/* 005FEC 800053EC 9045002C */ lbu $a1, 0x2c($v0) -/* 005FF0 800053F0 904E002D */ lbu $t6, 0x2d($v0) -/* 005FF4 800053F4 46803220 */ cvt.s.w $f8, $f6 -/* 005FF8 800053F8 01C57823 */ subu $t7, $t6, $a1 -/* 005FFC 800053FC 448F3000 */ mtc1 $t7, $f6 -/* 006000 80005400 46044383 */ div.s $f14, $f8, $f4 -/* 006004 80005404 468032A0 */ cvt.s.w $f10, $f6 -/* 006008 80005408 44852000 */ mtc1 $a1, $f4 -/* 00600C 8000540C 00001825 */ move $v1, $zero -/* 006010 80005410 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 006014 80005414 00C31021 */ addu $v0, $a2, $v1 -/* 006018 80005418 468021A0 */ cvt.s.w $f6, $f4 -/* 00601C 8000541C 460E5202 */ mul.s $f8, $f10, $f14 -/* 006020 80005420 04A10004 */ bgez $a1, .L80005434 -/* 006024 80005424 00000000 */ nop -/* 006028 80005428 44815000 */ mtc1 $at, $f10 -/* 00602C 8000542C 00000000 */ nop -/* 006030 80005430 460A3180 */ add.s $f6, $f6, $f10 -.L80005434: -/* 006034 80005434 46064100 */ add.s $f4, $f8, $f6 -/* 006038 80005438 240B0001 */ li $t3, 1 -/* 00603C 8000543C 4458F800 */ cfc1 $t8, $31 -/* 006040 80005440 44CBF800 */ ctc1 $t3, $31 -/* 006044 80005444 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 006048 80005448 460022A4 */ cvt.w.s $f10, $f4 -/* 00604C 8000544C 444BF800 */ cfc1 $t3, $31 -/* 006050 80005450 00000000 */ nop -/* 006054 80005454 316B0078 */ andi $t3, $t3, 0x78 -/* 006058 80005458 11600012 */ beqz $t3, .L800054A4 -/* 00605C 8000545C 00000000 */ nop -/* 006060 80005460 44815000 */ mtc1 $at, $f10 -/* 006064 80005464 240B0001 */ li $t3, 1 -/* 006068 80005468 460A2281 */ sub.s $f10, $f4, $f10 -/* 00606C 8000546C 3C018000 */ lui $at, 0x8000 -/* 006070 80005470 44CBF800 */ ctc1 $t3, $31 -/* 006074 80005474 00000000 */ nop -/* 006078 80005478 460052A4 */ cvt.w.s $f10, $f10 -/* 00607C 8000547C 444BF800 */ cfc1 $t3, $31 -/* 006080 80005480 00000000 */ nop -/* 006084 80005484 316B0078 */ andi $t3, $t3, 0x78 -/* 006088 80005488 15600004 */ bnez $t3, .L8000549C -/* 00608C 8000548C 00000000 */ nop -/* 006090 80005490 440B5000 */ mfc1 $t3, $f10 -/* 006094 80005494 10000007 */ b .L800054B4 -/* 006098 80005498 01615825 */ or $t3, $t3, $at -.L8000549C: -/* 00609C 8000549C 10000005 */ b .L800054B4 -/* 0060A0 800054A0 240BFFFF */ li $t3, -1 -.L800054A4: -/* 0060A4 800054A4 440B5000 */ mfc1 $t3, $f10 -/* 0060A8 800054A8 00000000 */ nop -/* 0060AC 800054AC 0560FFFB */ bltz $t3, .L8000549C -/* 0060B0 800054B0 00000000 */ nop -.L800054B4: -/* 0060B4 800054B4 910D0004 */ lbu $t5, 4($t0) -/* 0060B8 800054B8 44D8F800 */ ctc1 $t8, $31 -/* 0060BC 800054BC 317900FF */ andi $t9, $t3, 0xff -/* 0060C0 800054C0 020D082A */ slt $at, $s0, $t5 -/* 0060C4 800054C4 14200006 */ bnez $at, .L800054E0 -/* 0060C8 800054C8 03205825 */ move $t3, $t9 -/* 0060CC 800054CC 90CE0005 */ lbu $t6, 5($a2) -/* 0060D0 800054D0 00000000 */ nop -/* 0060D4 800054D4 01D0082A */ slt $at, $t6, $s0 -/* 0060D8 800054D8 1020000D */ beqz $at, .L80005510 -/* 0060DC 800054DC 00000000 */ nop -.L800054E0: -/* 0060E0 800054E0 904F0005 */ lbu $t7, 5($v0) -/* 0060E4 800054E4 24630001 */ addiu $v1, $v1, 1 -/* 0060E8 800054E8 020F082A */ slt $at, $s0, $t7 -/* 0060EC 800054EC 14200005 */ bnez $at, .L80005504 -/* 0060F0 800054F0 24420001 */ addiu $v0, $v0, 1 -/* 0060F4 800054F4 90580005 */ lbu $t8, 5($v0) -/* 0060F8 800054F8 00000000 */ nop -/* 0060FC 800054FC 0310082A */ slt $at, $t8, $s0 -/* 006100 80005500 10200003 */ beqz $at, .L80005510 -.L80005504: -/* 006104 80005504 28610004 */ slti $at, $v1, 4 -/* 006108 80005508 1420FFF5 */ bnez $at, .L800054E0 -/* 00610C 8000550C 00000000 */ nop -.L80005510: -/* 006110 80005510 00C31021 */ addu $v0, $a2, $v1 -/* 006114 80005514 90440004 */ lbu $a0, 4($v0) -/* 006118 80005518 00097880 */ sll $t7, $t1, 2 -/* 00611C 8000551C 904D0005 */ lbu $t5, 5($v0) -/* 006120 80005520 01E97821 */ addu $t7, $t7, $t1 -/* 006124 80005524 0204C823 */ subu $t9, $s0, $a0 -/* 006128 80005528 44994000 */ mtc1 $t9, $f8 -/* 00612C 8000552C 000F7840 */ sll $t7, $t7, 1 -/* 006130 80005530 00EFC021 */ addu $t8, $a3, $t7 -/* 006134 80005534 0003C840 */ sll $t9, $v1, 1 -/* 006138 80005538 01A47023 */ subu $t6, $t5, $a0 -/* 00613C 8000553C 03192821 */ addu $a1, $t8, $t9 -/* 006140 80005540 448E2000 */ mtc1 $t6, $f4 -/* 006144 80005544 94AD0018 */ lhu $t5, 0x18($a1) -/* 006148 80005548 468041A0 */ cvt.s.w $f6, $f8 -/* 00614C 8000554C 448D4000 */ mtc1 $t5, $f8 -/* 006150 80005550 3C01800E */ lui $at, %hi(D_800E4C00) # $at, 0x800e -/* 006154 80005554 468022A0 */ cvt.s.w $f10, $f4 -/* 006158 80005558 C4204C00 */ lwc1 $f0, %lo(D_800E4C00)($at) -/* 00615C 8000555C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 006160 80005560 460A3383 */ div.s $f14, $f6, $f10 -/* 006164 80005564 05A10004 */ bgez $t5, .L80005578 -/* 006168 80005568 46804120 */ cvt.s.w $f4, $f8 -/* 00616C 8000556C 44813000 */ mtc1 $at, $f6 -/* 006170 80005570 00000000 */ nop -/* 006174 80005574 46062100 */ add.s $f4, $f4, $f6 -.L80005578: -/* 006178 80005578 94AE001A */ lhu $t6, 0x1a($a1) -/* 00617C 8000557C 46002403 */ div.s $f16, $f4, $f0 -/* 006180 80005580 448E5000 */ mtc1 $t6, $f10 -/* 006184 80005584 05C10005 */ bgez $t6, .L8000559C -/* 006188 80005588 46805220 */ cvt.s.w $f8, $f10 -/* 00618C 8000558C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 006190 80005590 44813000 */ mtc1 $at, $f6 -/* 006194 80005594 00000000 */ nop -/* 006198 80005598 46064200 */ add.s $f8, $f8, $f6 -.L8000559C: -/* 00619C 8000559C 2A010033 */ slti $at, $s0, 0x33 -/* 0061A0 800055A0 14200036 */ bnez $at, .L8000567C -/* 0061A4 800055A4 46004483 */ div.s $f18, $f8, $f0 -/* 0061A8 800055A8 3C088012 */ lui $t0, %hi(gSoundRacerObj) # $t0, 0x8012 -/* 0061AC 800055AC 8D089C3C */ lw $t0, %lo(gSoundRacerObj)($t0) -/* 0061B0 800055B0 00000000 */ nop -/* 0061B4 800055B4 81020185 */ lb $v0, 0x185($t0) -/* 0061B8 800055B8 00000000 */ nop -/* 0061BC 800055BC 1040002F */ beqz $v0, .L8000567C -/* 0061C0 800055C0 2841000B */ slti $at, $v0, 0xb -/* 0061C4 800055C4 10200003 */ beqz $at, .L800055D4 -/* 0061C8 800055C8 2403000A */ li $v1, 10 -/* 0061CC 800055CC 10000001 */ b .L800055D4 -/* 0061D0 800055D0 00401825 */ move $v1, $v0 -.L800055D4: -/* 0061D4 800055D4 44835000 */ mtc1 $v1, $f10 -/* 0061D8 800055D8 3C01800E */ lui $at, %hi(D_800E4C08 + 4) # $at, 0x800e -/* 0061DC 800055DC 468051A1 */ cvt.d.w $f6, $f10 -/* 0061E0 800055E0 C4254C08 */ lwc1 $f5, %lo(D_800E4C08)($at) -/* 0061E4 800055E4 C4244C0C */ lwc1 $f4, %lo(D_800E4C08 + 4)($at) -/* 0061E8 800055E8 C4EC003C */ lwc1 $f12, 0x3c($a3) -/* 0061EC 800055EC 46262002 */ mul.d $f0, $f4, $f6 -/* 0061F0 800055F0 460060A1 */ cvt.d.s $f2, $f12 -/* 0061F4 800055F4 00037980 */ sll $t7, $v1, 6 -/* 0061F8 800055F8 4620103C */ c.lt.d $f2, $f0 -/* 0061FC 800055FC 00000000 */ nop -/* 006200 80005600 4500000E */ bc1f .L8000563C -/* 006204 80005604 00000000 */ nop -/* 006208 80005608 448F4000 */ mtc1 $t7, $f8 -/* 00620C 8000560C 3C088012 */ lui $t0, %hi(gSoundRacerObj) # $t0, 0x8012 -/* 006210 80005610 468042A1 */ cvt.d.w $f10, $f8 -/* 006214 80005614 00000000 */ nop -/* 006218 80005618 462A0103 */ div.d $f4, $f0, $f10 -/* 00621C 8000561C 46241180 */ add.d $f6, $f2, $f4 -/* 006220 80005620 46203220 */ cvt.s.d $f8, $f6 -/* 006224 80005624 E4E8003C */ swc1 $f8, 0x3c($a3) -/* 006228 80005628 8E270000 */ lw $a3, ($s1) -/* 00622C 8000562C 8D089C3C */ lw $t0, %lo(gSoundRacerObj)($t0) -/* 006230 80005630 C4EC003C */ lwc1 $f12, 0x3c($a3) -/* 006234 80005634 1000000D */ b .L8000566C -/* 006238 80005638 46109101 */ sub.s $f4, $f18, $f16 -.L8000563C: -/* 00623C 8000563C 4622003C */ c.lt.d $f0, $f2 -/* 006240 80005640 00000000 */ nop -/* 006244 80005644 45000008 */ bc1f .L80005668 -/* 006248 80005648 00000000 */ nop -/* 00624C 8000564C 462002A0 */ cvt.s.d $f10, $f0 -/* 006250 80005650 3C088012 */ lui $t0, %hi(gSoundRacerObj) # $t0, 0x8012 -/* 006254 80005654 E4EA003C */ swc1 $f10, 0x3c($a3) -/* 006258 80005658 8E270000 */ lw $a3, ($s1) -/* 00625C 8000565C 8D089C3C */ lw $t0, %lo(gSoundRacerObj)($t0) -/* 006260 80005660 C4EC003C */ lwc1 $f12, 0x3c($a3) -/* 006264 80005664 00000000 */ nop -.L80005668: -/* 006268 80005668 46109101 */ sub.s $f4, $f18, $f16 -.L8000566C: -/* 00626C 8000566C 460E2182 */ mul.s $f6, $f4, $f14 -/* 006270 80005670 46103200 */ add.s $f8, $f6, $f16 -/* 006274 80005674 10000012 */ b .L800056C0 -/* 006278 80005678 460C4080 */ add.s $f2, $f8, $f12 -.L8000567C: -/* 00627C 8000567C 3C01800E */ lui $at, %hi(D_800E4C10 + 4) # $at, 0x800e -/* 006280 80005680 C4EA003C */ lwc1 $f10, 0x3c($a3) -/* 006284 80005684 C4274C10 */ lwc1 $f7, %lo(D_800E4C10)($at) -/* 006288 80005688 C4264C14 */ lwc1 $f6, %lo(D_800E4C10 + 4)($at) -/* 00628C 8000568C 46005121 */ cvt.d.s $f4, $f10 -/* 006290 80005690 46262202 */ mul.d $f8, $f4, $f6 -/* 006294 80005694 46109101 */ sub.s $f4, $f18, $f16 -/* 006298 80005698 3C088012 */ lui $t0, %hi(gSoundRacerObj) # $t0, 0x8012 -/* 00629C 8000569C 462042A0 */ cvt.s.d $f10, $f8 -/* 0062A0 800056A0 460E2182 */ mul.s $f6, $f4, $f14 -/* 0062A4 800056A4 E4EA003C */ swc1 $f10, 0x3c($a3) -/* 0062A8 800056A8 8E270000 */ lw $a3, ($s1) -/* 0062AC 800056AC 8D089C3C */ lw $t0, %lo(gSoundRacerObj)($t0) -/* 0062B0 800056B0 46103200 */ add.s $f8, $f6, $f16 -/* 0062B4 800056B4 C4EA003C */ lwc1 $f10, 0x3c($a3) -/* 0062B8 800056B8 00000000 */ nop -/* 0062BC 800056BC 460A4080 */ add.s $f2, $f8, $f10 -.L800056C0: -/* 0062C0 800056C0 811801E6 */ lb $t8, 0x1e6($t0) -/* 0062C4 800056C4 3C014080 */ lui $at, 0x4080 -/* 0062C8 800056C8 13000010 */ beqz $t8, .L8000570C -/* 0062CC 800056CC 3C088012 */ lui $t0, %hi(gSoundRacerObj) # $t0, 0x8012 -# Used to access D_800E4C18 and D_800E4C18 + 4. -/* 0062D0 800056D0 3C01800E */ lui $at, %hi(D_800E4C18) # $at, 0x800e -/* 0062D4 800056D4 C4274C18 */ lwc1 $f7, %lo(D_800E4C18)($at) -/* 0062D8 800056D8 C4264C1C */ lwc1 $f6, %lo(D_800E4C18 + 4)($at) -/* 0062DC 800056DC C4E40040 */ lwc1 $f4, 0x40($a3) -/* 0062E0 800056E0 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 0062E4 800056E4 46002021 */ cvt.d.s $f0, $f4 -/* 0062E8 800056E8 44815800 */ mtc1 $at, $f11 -/* 0062EC 800056EC 44805000 */ mtc1 $zero, $f10 -/* 0062F0 800056F0 46203201 */ sub.d $f8, $f6, $f0 -/* 0062F4 800056F4 00000000 */ nop -/* 0062F8 800056F8 462A4103 */ div.d $f4, $f8, $f10 -/* 0062FC 800056FC 46240180 */ add.d $f6, $f0, $f4 -/* 006300 80005700 46203220 */ cvt.s.d $f8, $f6 -/* 006304 80005704 10000006 */ b .L80005720 -/* 006308 80005708 E4E80040 */ swc1 $f8, 0x40($a3) -.L8000570C: -/* 00630C 8000570C C4EA0040 */ lwc1 $f10, 0x40($a3) -/* 006310 80005710 44812000 */ mtc1 $at, $f4 -/* 006314 80005714 00000000 */ nop -/* 006318 80005718 46045183 */ div.s $f6, $f10, $f4 -/* 00631C 8000571C E4E60040 */ swc1 $f6, 0x40($a3) -.L80005720: -/* 006320 80005720 8E270000 */ lw $a3, ($s1) -/* 006324 80005724 8D089C3C */ lw $t0, %lo(gSoundRacerObj)($t0) -/* 006328 80005728 C4E80040 */ lwc1 $f8, 0x40($a3) -/* 00632C 8000572C 811901E2 */ lb $t9, 0x1e2($t0) -/* 006330 80005730 00EA1021 */ addu $v0, $a3, $t2 -/* 006334 80005734 1720000A */ bnez $t9, .L80005760 -/* 006338 80005738 46081080 */ add.s $f2, $f2, $f8 -/* 00633C 8000573C 850D0000 */ lh $t5, ($t0) -/* 006340 80005740 2401FFFF */ li $at, -1 -/* 006344 80005744 11A10006 */ beq $t5, $at, .L80005760 -/* 006348 80005748 3C01800E */ lui $at, %hi(D_800E4C20 + 4) # $at, 0x800e -/* 00634C 8000574C C4254C20 */ lwc1 $f5, %lo(D_800E4C20)($at) -/* 006350 80005750 C4244C24 */ lwc1 $f4, %lo(D_800E4C20 + 4)($at) -/* 006354 80005754 460012A1 */ cvt.d.s $f10, $f2 -/* 006358 80005758 46245180 */ add.d $f6, $f10, $f4 -/* 00635C 8000575C 462030A0 */ cvt.s.d $f2, $f6 -.L80005760: -/* 006360 80005760 C448005C */ lwc1 $f8, 0x5c($v0) -/* 006364 80005764 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 006368 80005768 44812000 */ mtc1 $at, $f4 -/* 00636C 8000576C 448B3000 */ mtc1 $t3, $f6 -/* 006370 80005770 46081281 */ sub.s $f10, $f2, $f8 -/* 006374 80005774 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 006378 80005778 46045303 */ div.s $f12, $f10, $f4 -/* 00637C 8000577C 05610004 */ bgez $t3, .L80005790 -/* 006380 80005780 46803220 */ cvt.s.w $f8, $f6 -/* 006384 80005784 44815000 */ mtc1 $at, $f10 -/* 006388 80005788 00000000 */ nop -/* 00638C 8000578C 460A4200 */ add.s $f8, $f8, $f10 -.L80005790: -/* 006390 80005790 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 006394 80005794 44815000 */ mtc1 $at, $f10 -/* 006398 80005798 C4440054 */ lwc1 $f4, 0x54($v0) -/* 00639C 8000579C 850E0000 */ lh $t6, ($t0) -/* 0063A0 800057A0 46044181 */ sub.s $f6, $f8, $f4 -/* 0063A4 800057A4 2401FFFF */ li $at, -1 -/* 0063A8 800057A8 11C10042 */ beq $t6, $at, .L800058B4 -/* 0063AC 800057AC 460A3383 */ div.s $f14, $f6, $f10 -/* 0063B0 800057B0 00002025 */ move $a0, $zero -/* 0063B4 800057B4 2405000A */ li $a1, 10 -/* 0063B8 800057B8 AFA9007C */ sw $t1, 0x7c($sp) -/* 0063BC 800057BC AFAA003C */ sw $t2, 0x3c($sp) -/* 0063C0 800057C0 AFAC005C */ sw $t4, 0x5c($sp) -/* 0063C4 800057C4 E7AC0074 */ swc1 $f12, 0x74($sp) -/* 0063C8 800057C8 0C01BE53 */ jal get_random_number_from_range -/* 0063CC 800057CC E7AE0078 */ swc1 $f14, 0x78($sp) -/* 0063D0 800057D0 8FA9007C */ lw $t1, 0x7c($sp) -/* 0063D4 800057D4 8FAA003C */ lw $t2, 0x3c($sp) -/* 0063D8 800057D8 8FAC005C */ lw $t4, 0x5c($sp) -/* 0063DC 800057DC C7AC0074 */ lwc1 $f12, 0x74($sp) -/* 0063E0 800057E0 C7AE0078 */ lwc1 $f14, 0x78($sp) -/* 0063E4 800057E4 28410007 */ slti $at, $v0, 7 -/* 0063E8 800057E8 1020001F */ beqz $at, .L80005868 -/* 0063EC 800057EC 00002025 */ move $a0, $zero -/* 0063F0 800057F0 2405000A */ li $a1, 10 -/* 0063F4 800057F4 AFA9007C */ sw $t1, 0x7c($sp) -/* 0063F8 800057F8 AFAA003C */ sw $t2, 0x3c($sp) -/* 0063FC 800057FC AFAC005C */ sw $t4, 0x5c($sp) -/* 006400 80005800 E7AC0074 */ swc1 $f12, 0x74($sp) -/* 006404 80005804 0C01BE53 */ jal get_random_number_from_range -/* 006408 80005808 E7AE0078 */ swc1 $f14, 0x78($sp) -/* 00640C 8000580C 8E270000 */ lw $a3, ($s1) -/* 006410 80005810 8FA9007C */ lw $t1, 0x7c($sp) -/* 006414 80005814 80EF0090 */ lb $t7, 0x90($a3) -/* 006418 80005818 8FAA003C */ lw $t2, 0x3c($sp) -/* 00641C 8000581C 01E2C021 */ addu $t8, $t7, $v0 -/* 006420 80005820 2719FFFB */ addiu $t9, $t8, -5 -/* 006424 80005824 8FAC005C */ lw $t4, 0x5c($sp) -/* 006428 80005828 C7AC0074 */ lwc1 $f12, 0x74($sp) -/* 00642C 8000582C C7AE0078 */ lwc1 $f14, 0x78($sp) -/* 006430 80005830 A0F90090 */ sb $t9, 0x90($a3) -/* 006434 80005834 8E270000 */ lw $a3, ($s1) -/* 006438 80005838 240D0005 */ li $t5, 5 -/* 00643C 8000583C 80E30090 */ lb $v1, 0x90($a3) -/* 006440 80005840 00000000 */ nop -/* 006444 80005844 28610006 */ slti $at, $v1, 6 -/* 006448 80005848 14200004 */ bnez $at, .L8000585C -/* 00644C 8000584C 2861FFFB */ slti $at, $v1, -5 -/* 006450 80005850 10000005 */ b .L80005868 -/* 006454 80005854 A0ED0090 */ sb $t5, 0x90($a3) -/* 006458 80005858 2861FFFB */ slti $at, $v1, -5 -.L8000585C: -/* 00645C 8000585C 10200002 */ beqz $at, .L80005868 -/* 006460 80005860 240EFFFB */ li $t6, -5 -/* 006464 80005864 A0EE0090 */ sb $t6, 0x90($a3) -.L80005868: -/* 006468 80005868 8E270000 */ lw $a3, ($s1) -/* 00646C 8000586C 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 006470 80005870 80EF0090 */ lb $t7, 0x90($a3) -/* 006474 80005874 44813000 */ mtc1 $at, $f6 -/* 006478 80005878 448F4000 */ mtc1 $t7, $f8 -/* 00647C 8000587C 3C01800E */ lui $at, %hi(D_800E4C28 + 4) # $at, 0x800e -/* 006480 80005880 46804120 */ cvt.s.w $f4, $f8 -/* 006484 80005884 C42B4C28 */ lwc1 $f11, %lo(D_800E4C28)($at) -/* 006488 80005888 C42A4C2C */ lwc1 $f10, %lo(D_800E4C28 + 4)($at) -/* 00648C 8000588C 46062003 */ div.s $f0, $f4, $f6 -/* 006490 80005890 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 006494 80005894 460061A1 */ cvt.d.s $f6, $f12 -/* 006498 80005898 46000221 */ cvt.d.s $f8, $f0 -/* 00649C 8000589C 46285102 */ mul.d $f4, $f10, $f8 -/* 0064A0 800058A0 44814000 */ mtc1 $at, $f8 -/* 0064A4 800058A4 46243280 */ add.d $f10, $f6, $f4 -/* 0064A8 800058A8 46004182 */ mul.s $f6, $f8, $f0 -/* 0064AC 800058AC 46205320 */ cvt.s.d $f12, $f10 -/* 0064B0 800058B0 46067380 */ add.s $f14, $f14, $f6 -.L800058B4: -/* 0064B4 800058B4 12400021 */ beqz $s2, .L8000593C -/* 0064B8 800058B8 00000000 */ nop -/* 0064BC 800058BC C4E40094 */ lwc1 $f4, 0x94($a3) -/* 0064C0 800058C0 8FB800AC */ lw $t8, 0xac($sp) -/* 0064C4 800058C4 46002021 */ cvt.d.s $f0, $f4 -/* 0064C8 800058C8 4634003C */ c.lt.d $f0, $f20 -/* 0064CC 800058CC 00000000 */ nop -/* 0064D0 800058D0 4500001A */ bc1f .L8000593C -/* 0064D4 800058D4 00000000 */ nop -/* 0064D8 800058D8 44985000 */ mtc1 $t8, $f10 -/* 0064DC 800058DC 3C01800E */ lui $at, %hi(D_800E4C30 + 4) # $at, 0x800e -/* 0064E0 800058E0 46805220 */ cvt.s.w $f8, $f10 -/* 0064E4 800058E4 C4254C30 */ lwc1 $f5, %lo(D_800E4C30)($at) -/* 0064E8 800058E8 C4244C34 */ lwc1 $f4, %lo(D_800E4C30 + 4)($at) -/* 0064EC 800058EC 460041A1 */ cvt.d.s $f6, $f8 -/* 0064F0 800058F0 46243282 */ mul.d $f10, $f6, $f4 -/* 0064F4 800058F4 3C01800E */ lui $at, %hi(D_800E4C38) # $at, 0x800e -/* 0064F8 800058F8 462A0200 */ add.d $f8, $f0, $f10 -/* 0064FC 800058FC 462041A0 */ cvt.s.d $f6, $f8 -/* 006500 80005900 E4E60094 */ swc1 $f6, 0x94($a3) -/* 006504 80005904 8E270000 */ lw $a3, ($s1) -/* 006508 80005908 00000000 */ nop -/* 00650C 8000590C C4E40094 */ lwc1 $f4, 0x94($a3) -/* 006510 80005910 00000000 */ nop -/* 006514 80005914 460022A1 */ cvt.d.s $f10, $f4 -/* 006518 80005918 462AA03C */ c.lt.d $f20, $f10 -/* 00651C 8000591C 00000000 */ nop -/* 006520 80005920 45000006 */ bc1f .L8000593C -/* 006524 80005924 00000000 */ nop -/* 006528 80005928 C4284C38 */ lwc1 $f8, %lo(D_800E4C38)($at) -/* 00652C 8000592C 00000000 */ nop -/* 006530 80005930 E4E80094 */ swc1 $f8, 0x94($a3) -/* 006534 80005934 8E270000 */ lw $a3, ($s1) -/* 006538 80005938 00000000 */ nop -.L8000593C: -/* 00653C 8000593C 1640001E */ bnez $s2, .L800059B8 -/* 006540 80005940 00EA1021 */ addu $v0, $a3, $t2 -/* 006544 80005944 C4E00094 */ lwc1 $f0, 0x94($a3) -/* 006548 80005948 8FB900AC */ lw $t9, 0xac($sp) -/* 00654C 8000594C 4600B03C */ c.lt.s $f22, $f0 -/* 006550 80005950 00000000 */ nop -/* 006554 80005954 45000018 */ bc1f .L800059B8 -/* 006558 80005958 00EA1021 */ addu $v0, $a3, $t2 -/* 00655C 8000595C 44993000 */ mtc1 $t9, $f6 -/* 006560 80005960 3C01800E */ lui $at, %hi(D_800E4C40 + 4) # $at, 0x800e -/* 006564 80005964 46803120 */ cvt.s.w $f4, $f6 -/* 006568 80005968 C4294C40 */ lwc1 $f9, %lo(D_800E4C40)($at) -/* 00656C 8000596C C4284C44 */ lwc1 $f8, %lo(D_800E4C40 + 4)($at) -/* 006570 80005970 460022A1 */ cvt.d.s $f10, $f4 -/* 006574 80005974 46285182 */ mul.d $f6, $f10, $f8 -/* 006578 80005978 46000121 */ cvt.d.s $f4, $f0 -/* 00657C 8000597C 46262281 */ sub.d $f10, $f4, $f6 -/* 006580 80005980 46205220 */ cvt.s.d $f8, $f10 -/* 006584 80005984 E4E80094 */ swc1 $f8, 0x94($a3) -/* 006588 80005988 8E270000 */ lw $a3, ($s1) -/* 00658C 8000598C 00000000 */ nop -/* 006590 80005990 C4E40094 */ lwc1 $f4, 0x94($a3) -/* 006594 80005994 00000000 */ nop -/* 006598 80005998 4616203C */ c.lt.s $f4, $f22 -/* 00659C 8000599C 00000000 */ nop -/* 0065A0 800059A0 45000005 */ bc1f .L800059B8 -/* 0065A4 800059A4 00EA1021 */ addu $v0, $a3, $t2 -/* 0065A8 800059A8 E4F60094 */ swc1 $f22, 0x94($a3) -/* 0065AC 800059AC 8E270000 */ lw $a3, ($s1) -/* 0065B0 800059B0 00000000 */ nop -/* 0065B4 800059B4 00EA1021 */ addu $v0, $a3, $t2 -.L800059B8: -/* 0065B8 800059B8 C446005C */ lwc1 $f6, 0x5c($v0) -/* 0065BC 800059BC 3C01420C */ li $at, 0x420C0000 # 35.000000 -/* 0065C0 800059C0 460C3280 */ add.s $f10, $f6, $f12 -/* 0065C4 800059C4 1240000B */ beqz $s2, .L800059F4 -/* 0065C8 800059C8 E44A005C */ swc1 $f10, 0x5c($v0) -/* 0065CC 800059CC 8E2D0000 */ lw $t5, ($s1) -/* 0065D0 800059D0 00000000 */ nop -/* 0065D4 800059D4 01AA1021 */ addu $v0, $t5, $t2 -/* 0065D8 800059D8 C4480054 */ lwc1 $f8, 0x54($v0) -/* 0065DC 800059DC 00000000 */ nop -/* 0065E0 800059E0 460E4100 */ add.s $f4, $f8, $f14 -/* 0065E4 800059E4 E4440054 */ swc1 $f4, 0x54($v0) -/* 0065E8 800059E8 8E270000 */ lw $a3, ($s1) -/* 0065EC 800059EC 10000008 */ b .L80005A10 -/* 0065F0 800059F0 25290001 */ addiu $t1, $t1, 1 -.L800059F4: -/* 0065F4 800059F4 8E2E0000 */ lw $t6, ($s1) -/* 0065F8 800059F8 44813000 */ mtc1 $at, $f6 -/* 0065FC 800059FC 01CA7821 */ addu $t7, $t6, $t2 -/* 006600 80005A00 E5E60054 */ swc1 $f6, 0x54($t7) -/* 006604 80005A04 8E270000 */ lw $a3, ($s1) -/* 006608 80005A08 00000000 */ nop -.L80005A0C: -/* 00660C 80005A0C 25290001 */ addiu $t1, $t1, 1 -.L80005A10: -/* 006610 80005A10 24010001 */ li $at, 1 -/* 006614 80005A14 1521FE4B */ bne $t1, $at, .L80005344 -/* 006618 80005A18 258C0002 */ addiu $t4, $t4, 2 -/* 00661C 80005A1C 3C088012 */ lui $t0, %hi(gSoundRacerObj) # $t0, 0x8012 -/* 006620 80005A20 8D089C3C */ lw $t0, %lo(gSoundRacerObj)($t0) -/* 006624 80005A24 00000000 */ nop -/* 006628 80005A28 8D180010 */ lw $t8, 0x10($t0) -/* 00662C 80005A2C 00000000 */ nop -/* 006630 80005A30 17000013 */ bnez $t8, .L80005A80 -/* 006634 80005A34 00000000 */ nop -/* 006638 80005A38 8D190014 */ lw $t9, 0x14($t0) -/* 00663C 80005A3C 8FAD00A8 */ lw $t5, 0xa8($sp) -/* 006640 80005A40 1720000F */ bnez $t9, .L80005A80 -/* 006644 80005A44 31AE4000 */ andi $t6, $t5, 0x4000 -/* 006648 80005A48 11C0000D */ beqz $t6, .L80005A80 -/* 00664C 80005A4C 3C01800E */ lui $at, %hi(D_800E4C48 + 4) # $at, 0x800e -/* 006650 80005A50 C508002C */ lwc1 $f8, 0x2c($t0) -/* 006654 80005A54 C42B4C48 */ lwc1 $f11, %lo(D_800E4C48)($at) -/* 006658 80005A58 C42A4C4C */ lwc1 $f10, %lo(D_800E4C48 + 4)($at) -/* 00665C 80005A5C 46004121 */ cvt.d.s $f4, $f8 -/* 006660 80005A60 4624503C */ c.lt.d $f10, $f4 -/* 006664 80005A64 00000000 */ nop -/* 006668 80005A68 45010005 */ bc1t .L80005A80 -/* 00666C 80005A6C 00000000 */ nop -/* 006670 80005A70 810F01D6 */ lb $t7, 0x1d6($t0) -/* 006674 80005A74 24010004 */ li $at, 4 -/* 006678 80005A78 15E10010 */ bne $t7, $at, .L80005ABC -/* 00667C 80005A7C 8FB900A4 */ lw $t9, 0xa4($sp) -.L80005A80: -/* 006680 80005A80 8CE400A8 */ lw $a0, 0xa8($a3) -/* 006684 80005A84 00000000 */ nop -/* 006688 80005A88 1080000C */ beqz $a0, .L80005ABC -/* 00668C 80005A8C 8FB900A4 */ lw $t9, 0xa4($sp) -/* 006690 80005A90 0C001223 */ jal sound_stop -/* 006694 80005A94 00000000 */ nop -/* 006698 80005A98 8E380000 */ lw $t8, ($s1) -/* 00669C 80005A9C 00000000 */ nop -/* 0066A0 80005AA0 AF0000A8 */ sw $zero, 0xa8($t8) -/* 0066A4 80005AA4 8E270000 */ lw $a3, ($s1) -/* 0066A8 80005AA8 00000000 */ nop -/* 0066AC 80005AAC 8CE400A8 */ lw $a0, 0xa8($a3) -/* 0066B0 80005AB0 1000003B */ b .L80005BA0 -/* 0066B4 80005AB4 00000000 */ nop -/* 0066B8 80005AB8 8FB900A4 */ lw $t9, 0xa4($sp) -.L80005ABC: -/* 0066BC 80005ABC 8CE400A8 */ lw $a0, 0xa8($a3) -/* 0066C0 80005AC0 332D4000 */ andi $t5, $t9, 0x4000 -/* 0066C4 80005AC4 11A00036 */ beqz $t5, .L80005BA0 -/* 0066C8 80005AC8 00000000 */ nop -/* 0066CC 80005ACC 14800034 */ bnez $a0, .L80005BA0 -/* 0066D0 80005AD0 00000000 */ nop -/* 0066D4 80005AD4 850E0000 */ lh $t6, ($t0) -/* 0066D8 80005AD8 3C014140 */ li $at, 0x41400000 # 12.000000 -/* 0066DC 80005ADC 05C00030 */ bltz $t6, .L80005BA0 -/* 0066E0 80005AE0 24E500A8 */ addiu $a1, $a3, 0xa8 -/* 0066E4 80005AE4 C500002C */ lwc1 $f0, 0x2c($t0) -/* 0066E8 80005AE8 44813000 */ mtc1 $at, $f6 -/* 0066EC 80005AEC 4616003C */ c.lt.s $f0, $f22 -/* 0066F0 80005AF0 3C014140 */ li $at, 0x41400000 # 12.000000 -/* 0066F4 80005AF4 45000003 */ bc1f .L80005B04 -/* 0066F8 80005AF8 00000000 */ nop -/* 0066FC 80005AFC 10000002 */ b .L80005B08 -/* 006700 80005B00 46000507 */ neg.s $f20, $f0 -.L80005B04: -/* 006704 80005B04 46000506 */ mov.s $f20, $f0 -.L80005B08: -/* 006708 80005B08 4614303C */ c.lt.s $f6, $f20 -/* 00670C 80005B0C 00000000 */ nop -/* 006710 80005B10 45000003 */ bc1f .L80005B20 -/* 006714 80005B14 00000000 */ nop -/* 006718 80005B18 4481A000 */ mtc1 $at, $f20 -/* 00671C 80005B1C 00000000 */ nop -.L80005B20: -/* 006720 80005B20 0C0007C5 */ jal func_80001F14 -/* 006724 80005B24 24040019 */ li $a0, 25 -/* 006728 80005B28 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 00672C 80005B2C 44810800 */ mtc1 $at, $f1 -/* 006730 80005B30 44800000 */ mtc1 $zero, $f0 -/* 006734 80005B34 4600A221 */ cvt.d.s $f8, $f20 -/* 006738 80005B38 46204282 */ mul.d $f10, $f8, $f0 -/* 00673C 80005B3C 3C014028 */ li $at, 0x40280000 # 2.625000 -/* 006740 80005B40 44812800 */ mtc1 $at, $f5 -/* 006744 80005B44 44802000 */ mtc1 $zero, $f4 -/* 006748 80005B48 8E270000 */ lw $a3, ($s1) -/* 00674C 80005B4C 46245183 */ div.d $f6, $f10, $f4 -/* 006750 80005B50 46203200 */ add.d $f8, $f6, $f0 -/* 006754 80005B54 462042A0 */ cvt.s.d $f10, $f8 -/* 006758 80005B58 E7AA006C */ swc1 $f10, 0x6c($sp) -/* 00675C 80005B5C 8CE400A8 */ lw $a0, 0xa8($a3) -/* 006760 80005B60 8FA6006C */ lw $a2, 0x6c($sp) -/* 006764 80005B64 10800006 */ beqz $a0, .L80005B80 -/* 006768 80005B68 240F006E */ li $t7, 110 -/* 00676C 80005B6C 0C00127E */ jal sound_event_update -/* 006770 80005B70 24050010 */ li $a1, 16 -/* 006774 80005B74 8E270000 */ lw $a3, ($s1) -/* 006778 80005B78 00000000 */ nop -/* 00677C 80005B7C 240F006E */ li $t7, 110 -.L80005B80: -/* 006780 80005B80 A4EF00AC */ sh $t7, 0xac($a3) -/* 006784 80005B84 8E380000 */ lw $t8, ($s1) -/* 006788 80005B88 00000000 */ nop -/* 00678C 80005B8C A30000D0 */ sb $zero, 0xd0($t8) -/* 006790 80005B90 8E270000 */ lw $a3, ($s1) -/* 006794 80005B94 00000000 */ nop -/* 006798 80005B98 8CE400A8 */ lw $a0, 0xa8($a3) -/* 00679C 80005B9C 00000000 */ nop -.L80005BA0: -/* 0067A0 80005BA0 10800029 */ beqz $a0, .L80005C48 -/* 0067A4 80005BA4 3C198012 */ lui $t9, %hi(gSoundRacerObj) # $t9, 0x8012 -/* 0067A8 80005BA8 8F399C3C */ lw $t9, %lo(gSoundRacerObj)($t9) -/* 0067AC 80005BAC 8FAF00AC */ lw $t7, 0xac($sp) -/* 0067B0 80005BB0 832D01E2 */ lb $t5, 0x1e2($t9) -/* 0067B4 80005BB4 00003025 */ move $a2, $zero -/* 0067B8 80005BB8 15A00006 */ bnez $t5, .L80005BD4 -/* 0067BC 80005BBC 24050008 */ li $a1, 8 -/* 0067C0 80005BC0 90EE00D0 */ lbu $t6, 0xd0($a3) -/* 0067C4 80005BC4 00000000 */ nop -/* 0067C8 80005BC8 01CFC021 */ addu $t8, $t6, $t7 -/* 0067CC 80005BCC 10000002 */ b .L80005BD8 -/* 0067D0 80005BD0 A0F800D0 */ sb $t8, 0xd0($a3) -.L80005BD4: -/* 0067D4 80005BD4 A0E000D0 */ sb $zero, 0xd0($a3) -.L80005BD8: -/* 0067D8 80005BD8 8E270000 */ lw $a3, ($s1) -/* 0067DC 80005BDC 00000000 */ nop -/* 0067E0 80005BE0 90F900D0 */ lbu $t9, 0xd0($a3) -/* 0067E4 80005BE4 00000000 */ nop -/* 0067E8 80005BE8 2B21000A */ slti $at, $t9, 0xa -/* 0067EC 80005BEC 14200007 */ bnez $at, .L80005C0C -/* 0067F0 80005BF0 00000000 */ nop -/* 0067F4 80005BF4 8CE400A8 */ lw $a0, 0xa8($a3) -/* 0067F8 80005BF8 0C00127E */ jal sound_event_update -/* 0067FC 80005BFC 24050008 */ li $a1, 8 -/* 006800 80005C00 8E270000 */ lw $a3, ($s1) -/* 006804 80005C04 10000010 */ b .L80005C48 -/* 006808 80005C08 00000000 */ nop -.L80005C0C: -/* 00680C 80005C0C 94E600AC */ lhu $a2, 0xac($a3) -/* 006810 80005C10 8CE400A8 */ lw $a0, 0xa8($a3) -/* 006814 80005C14 00066A00 */ sll $t5, $a2, 8 -/* 006818 80005C18 0C00127E */ jal sound_event_update -/* 00681C 80005C1C 01A03025 */ move $a2, $t5 -/* 006820 80005C20 8FAF00A0 */ lw $t7, 0xa0($sp) -/* 006824 80005C24 8E2E0000 */ lw $t6, ($s1) -/* 006828 80005C28 8DE5000C */ lw $a1, 0xc($t7) -/* 00682C 80005C2C 8DE60010 */ lw $a2, 0x10($t7) -/* 006830 80005C30 8DE70014 */ lw $a3, 0x14($t7) -/* 006834 80005C34 8DC400A8 */ lw $a0, 0xa8($t6) -/* 006838 80005C38 0C0026DF */ jal func_80009B7C -/* 00683C 80005C3C 00000000 */ nop -/* 006840 80005C40 8E270000 */ lw $a3, ($s1) -/* 006844 80005C44 00000000 */ nop -.L80005C48: -/* 006848 80005C48 12400025 */ beqz $s2, .L80005CE0 -/* 00684C 80005C4C A0F000A0 */ sb $s0, 0xa0($a3) -/* 006850 80005C50 8E270000 */ lw $a3, ($s1) -/* 006854 80005C54 4458F800 */ cfc1 $t8, $31 -/* 006858 80005C58 24190001 */ li $t9, 1 -/* 00685C 80005C5C 44D9F800 */ ctc1 $t9, $31 -/* 006860 80005C60 C4E40054 */ lwc1 $f4, 0x54($a3) -/* 006864 80005C64 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 006868 80005C68 460021A4 */ cvt.w.s $f6, $f4 -/* 00686C 80005C6C 4459F800 */ cfc1 $t9, $31 -/* 006870 80005C70 00000000 */ nop -/* 006874 80005C74 33390078 */ andi $t9, $t9, 0x78 -/* 006878 80005C78 13200012 */ beqz $t9, .L80005CC4 -/* 00687C 80005C7C 00000000 */ nop -/* 006880 80005C80 44813000 */ mtc1 $at, $f6 -/* 006884 80005C84 24190001 */ li $t9, 1 -/* 006888 80005C88 46062181 */ sub.s $f6, $f4, $f6 -/* 00688C 80005C8C 3C018000 */ lui $at, 0x8000 -/* 006890 80005C90 44D9F800 */ ctc1 $t9, $31 -/* 006894 80005C94 00000000 */ nop -/* 006898 80005C98 460031A4 */ cvt.w.s $f6, $f6 -/* 00689C 80005C9C 4459F800 */ cfc1 $t9, $31 -/* 0068A0 80005CA0 00000000 */ nop -/* 0068A4 80005CA4 33390078 */ andi $t9, $t9, 0x78 -/* 0068A8 80005CA8 17200004 */ bnez $t9, .L80005CBC -/* 0068AC 80005CAC 00000000 */ nop -/* 0068B0 80005CB0 44193000 */ mfc1 $t9, $f6 -/* 0068B4 80005CB4 10000007 */ b .L80005CD4 -/* 0068B8 80005CB8 0321C825 */ or $t9, $t9, $at -.L80005CBC: -/* 0068BC 80005CBC 10000005 */ b .L80005CD4 -/* 0068C0 80005CC0 2419FFFF */ li $t9, -1 -.L80005CC4: -/* 0068C4 80005CC4 44193000 */ mfc1 $t9, $f6 -/* 0068C8 80005CC8 00000000 */ nop -/* 0068CC 80005CCC 0720FFFB */ bltz $t9, .L80005CBC -/* 0068D0 80005CD0 00000000 */ nop -.L80005CD4: -/* 0068D4 80005CD4 44D8F800 */ ctc1 $t8, $31 -/* 0068D8 80005CD8 A0F90098 */ sb $t9, 0x98($a3) -/* 0068DC 80005CDC 00000000 */ nop -.L80005CE0: -/* 0068E0 80005CE0 8FBF0034 */ lw $ra, 0x34($sp) -/* 0068E4 80005CE4 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 0068E8 80005CE8 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 0068EC 80005CEC C7B70020 */ lwc1 $f23, 0x20($sp) -/* 0068F0 80005CF0 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 0068F4 80005CF4 8FB00028 */ lw $s0, 0x28($sp) -/* 0068F8 80005CF8 8FB1002C */ lw $s1, 0x2c($sp) -/* 0068FC 80005CFC 8FB20030 */ lw $s2, 0x30($sp) -/* 006900 80005D00 03E00008 */ jr $ra -/* 006904 80005D04 27BD00A0 */ addiu $sp, $sp, 0xa0 - diff --git a/asm/non_matchings/audio_vehicle/func_800063EC.s b/asm/non_matchings/audio_vehicle/func_800063EC.s deleted file mode 100644 index d97f305b..00000000 --- a/asm/non_matchings/audio_vehicle/func_800063EC.s +++ /dev/null @@ -1,490 +0,0 @@ -.late_rodata -glabel D_800E4C78 -.float 10000.0 -.word 0 # Padding -glabel D_800E4C80 -.double 0.05 -glabel D_800E4C88 -.double 0.95 -glabel D_800E4C90 -.double 6.5534 -glabel D_800E4C98 -.float 6.5534 - -.text -glabel func_800063EC -/* 006FEC 800063EC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 006FF0 800063F0 AFBF0014 */ sw $ra, 0x14($sp) -/* 006FF4 800063F4 AFA40030 */ sw $a0, 0x30($sp) -/* 006FF8 800063F8 AFA50034 */ sw $a1, 0x34($sp) -/* 006FFC 800063FC AFA60038 */ sw $a2, 0x38($sp) -/* 007000 80006400 0C0044E7 */ jal get_race_countdown -/* 007004 80006404 AFA7003C */ sw $a3, 0x3c($sp) -/* 007008 80006408 1440000F */ bnez $v0, .L80006448 -/* 00700C 8000640C 00000000 */ nop -/* 007010 80006410 8FA20030 */ lw $v0, 0x30($sp) -/* 007014 80006414 00000000 */ nop -/* 007018 80006418 C440001C */ lwc1 $f0, 0x1c($v0) -/* 00701C 8000641C C4420024 */ lwc1 $f2, 0x24($v0) -/* 007020 80006420 46000102 */ mul.s $f4, $f0, $f0 -/* 007024 80006424 C44E0020 */ lwc1 $f14, 0x20($v0) -/* 007028 80006428 46021182 */ mul.s $f6, $f2, $f2 -/* 00702C 8000642C 00000000 */ nop -/* 007030 80006430 460E7282 */ mul.s $f10, $f14, $f14 -/* 007034 80006434 46062200 */ add.s $f8, $f4, $f6 -/* 007038 80006438 0C0326B4 */ jal sqrtf -/* 00703C 8000643C 460A4300 */ add.s $f12, $f8, $f10 -/* 007040 80006440 10000003 */ b .L80006450 -/* 007044 80006444 46000486 */ mov.s $f18, $f0 -.L80006448: -/* 007048 80006448 44809000 */ mtc1 $zero, $f18 -/* 00704C 8000644C 00000000 */ nop -.L80006450: -/* 007050 80006450 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 007054 80006454 44812000 */ mtc1 $at, $f4 -/* 007058 80006458 00000000 */ nop -/* 00705C 8000645C 4604903C */ c.lt.s $f18, $f4 -/* 007060 80006460 00000000 */ nop -/* 007064 80006464 45000014 */ bc1f .L800064B8 -/* 007068 80006468 3C098012 */ lui $t1, %hi(gRacerSound) # $t1, 0x8012 -/* 00706C 8000646C 25299C38 */ addiu $t1, %lo(gRacerSound) # addiu $t1, $t1, -0x63c8 -/* 007070 80006470 8D230000 */ lw $v1, ($t1) -/* 007074 80006474 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 007078 80006478 906E0037 */ lbu $t6, 0x37($v1) -/* 00707C 8000647C C4600054 */ lwc1 $f0, 0x54($v1) -/* 007080 80006480 448E3000 */ mtc1 $t6, $f6 -/* 007084 80006484 05C10004 */ bgez $t6, .L80006498 -/* 007088 80006488 46803220 */ cvt.s.w $f8, $f6 -/* 00708C 8000648C 44815000 */ mtc1 $at, $f10 -/* 007090 80006490 00000000 */ nop -/* 007094 80006494 460A4200 */ add.s $f8, $f8, $f10 -.L80006498: -/* 007098 80006498 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 00709C 8000649C 44813000 */ mtc1 $at, $f6 -/* 0070A0 800064A0 46004101 */ sub.s $f4, $f8, $f0 -/* 0070A4 800064A4 00000000 */ nop -/* 0070A8 800064A8 46062283 */ div.s $f10, $f4, $f6 -/* 0070AC 800064AC 460A0200 */ add.s $f8, $f0, $f10 -/* 0070B0 800064B0 10000092 */ b .L800066FC -/* 0070B4 800064B4 E4680054 */ swc1 $f8, 0x54($v1) -.L800064B8: -/* 0070B8 800064B8 3C098012 */ lui $t1, %hi(gRacerSound) # $t1, 0x8012 -/* 0070BC 800064BC 25299C38 */ addiu $t1, %lo(gRacerSound) # addiu $t1, $t1, -0x63c8 -/* 0070C0 800064C0 8D230000 */ lw $v1, ($t1) -/* 0070C4 800064C4 3C01800E */ lui $at, %hi(D_800E4C78) # $at, 0x800e -/* 0070C8 800064C8 C4264C78 */ lwc1 $f6, %lo(D_800E4C78)($at) -/* 0070CC 800064CC C464005C */ lwc1 $f4, 0x5c($v1) -/* 0070D0 800064D0 24050001 */ li $a1, 1 -/* 0070D4 800064D4 46062282 */ mul.s $f10, $f4, $f6 -/* 0070D8 800064D8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0070DC 800064DC 444FF800 */ cfc1 $t7, $31 -/* 0070E0 800064E0 44C5F800 */ ctc1 $a1, $31 -/* 0070E4 800064E4 00000000 */ nop -/* 0070E8 800064E8 46005224 */ cvt.w.s $f8, $f10 -/* 0070EC 800064EC 4445F800 */ cfc1 $a1, $31 -/* 0070F0 800064F0 00000000 */ nop -/* 0070F4 800064F4 30A50078 */ andi $a1, $a1, 0x78 -/* 0070F8 800064F8 10A00012 */ beqz $a1, .L80006544 -/* 0070FC 800064FC 00000000 */ nop -/* 007100 80006500 44814000 */ mtc1 $at, $f8 -/* 007104 80006504 24050001 */ li $a1, 1 -/* 007108 80006508 46085201 */ sub.s $f8, $f10, $f8 -/* 00710C 8000650C 3C018000 */ lui $at, 0x8000 -/* 007110 80006510 44C5F800 */ ctc1 $a1, $31 -/* 007114 80006514 00000000 */ nop -/* 007118 80006518 46004224 */ cvt.w.s $f8, $f8 -/* 00711C 8000651C 4445F800 */ cfc1 $a1, $31 -/* 007120 80006520 00000000 */ nop -/* 007124 80006524 30A50078 */ andi $a1, $a1, 0x78 -/* 007128 80006528 14A00004 */ bnez $a1, .L8000653C -/* 00712C 8000652C 00000000 */ nop -/* 007130 80006530 44054000 */ mfc1 $a1, $f8 -/* 007134 80006534 10000007 */ b .L80006554 -/* 007138 80006538 00A12825 */ or $a1, $a1, $at -.L8000653C: -/* 00713C 8000653C 10000005 */ b .L80006554 -/* 007140 80006540 2405FFFF */ li $a1, -1 -.L80006544: -/* 007144 80006544 44054000 */ mfc1 $a1, $f8 -/* 007148 80006548 00000000 */ nop -/* 00714C 8000654C 04A0FFFB */ bltz $a1, .L8000653C -/* 007150 80006550 00000000 */ nop -.L80006554: -/* 007154 80006554 94790018 */ lhu $t9, 0x18($v1) -/* 007158 80006558 30A4FFFF */ andi $a0, $a1, 0xffff -/* 00715C 8000655C 44CFF800 */ ctc1 $t7, $31 -/* 007160 80006560 0099082A */ slt $at, $a0, $t9 -/* 007164 80006564 1420000C */ bnez $at, .L80006598 -/* 007168 80006568 00001025 */ move $v0, $zero -.L8000656C: -/* 00716C 8000656C 24420001 */ addiu $v0, $v0, 1 -/* 007170 80006570 304A00FF */ andi $t2, $v0, 0xff -/* 007174 80006574 000A5840 */ sll $t3, $t2, 1 -/* 007178 80006578 006B6021 */ addu $t4, $v1, $t3 -/* 00717C 8000657C 958D0018 */ lhu $t5, 0x18($t4) -/* 007180 80006580 01401025 */ move $v0, $t2 -/* 007184 80006584 008D082A */ slt $at, $a0, $t5 -/* 007188 80006588 14200003 */ bnez $at, .L80006598 -/* 00718C 8000658C 29410004 */ slti $at, $t2, 4 -/* 007190 80006590 1420FFF6 */ bnez $at, .L8000656C -/* 007194 80006594 00000000 */ nop -.L80006598: -/* 007198 80006598 24010004 */ li $at, 4 -/* 00719C 8000659C 14410005 */ bne $v0, $at, .L800065B4 -/* 0071A0 800065A0 00402825 */ move $a1, $v0 -/* 0071A4 800065A4 00627021 */ addu $t6, $v1, $v0 -/* 0071A8 800065A8 91C8002C */ lbu $t0, 0x2c($t6) -/* 0071AC 800065AC 10000045 */ b .L800066C4 -/* 0071B0 800065B0 44883000 */ mtc1 $t0, $f6 -.L800065B4: -/* 0071B4 800065B4 10A00004 */ beqz $a1, .L800065C8 -/* 0071B8 800065B8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0071BC 800065BC 2442FFFF */ addiu $v0, $v0, -1 -/* 0071C0 800065C0 304500FF */ andi $a1, $v0, 0xff -/* 0071C4 800065C4 00A01025 */ move $v0, $a1 -.L800065C8: -/* 0071C8 800065C8 0002C040 */ sll $t8, $v0, 1 -/* 0071CC 800065CC 0078C821 */ addu $t9, $v1, $t8 -/* 0071D0 800065D0 00055840 */ sll $t3, $a1, 1 -/* 0071D4 800065D4 97260018 */ lhu $a2, 0x18($t9) -/* 0071D8 800065D8 006B6021 */ addu $t4, $v1, $t3 -/* 0071DC 800065DC 958D001A */ lhu $t5, 0x1a($t4) -/* 0071E0 800065E0 00865023 */ subu $t2, $a0, $a2 -/* 0071E4 800065E4 01A67023 */ subu $t6, $t5, $a2 -/* 0071E8 800065E8 448E5000 */ mtc1 $t6, $f10 -/* 0071EC 800065EC 448A2000 */ mtc1 $t2, $f4 -/* 0071F0 800065F0 46805220 */ cvt.s.w $f8, $f10 -/* 0071F4 800065F4 0065C021 */ addu $t8, $v1, $a1 -/* 0071F8 800065F8 00627821 */ addu $t7, $v1, $v0 -/* 0071FC 800065FC 468021A0 */ cvt.s.w $f6, $f4 -/* 007200 80006600 91E7002C */ lbu $a3, 0x2c($t7) -/* 007204 80006604 9319002D */ lbu $t9, 0x2d($t8) -/* 007208 80006608 46083003 */ div.s $f0, $f6, $f8 -/* 00720C 8000660C 03275023 */ subu $t2, $t9, $a3 -/* 007210 80006610 448A2000 */ mtc1 $t2, $f4 -/* 007214 80006614 44874000 */ mtc1 $a3, $f8 -/* 007218 80006618 468022A0 */ cvt.s.w $f10, $f4 -/* 00721C 8000661C 46005182 */ mul.s $f6, $f10, $f0 -/* 007220 80006620 04E10004 */ bgez $a3, .L80006634 -/* 007224 80006624 46804120 */ cvt.s.w $f4, $f8 -/* 007228 80006628 44815000 */ mtc1 $at, $f10 -/* 00722C 8000662C 00000000 */ nop -/* 007230 80006630 460A2100 */ add.s $f4, $f4, $f10 -.L80006634: -/* 007234 80006634 46043200 */ add.s $f8, $f6, $f4 -/* 007238 80006638 24080001 */ li $t0, 1 -/* 00723C 8000663C 444BF800 */ cfc1 $t3, $31 -/* 007240 80006640 44C8F800 */ ctc1 $t0, $31 -/* 007244 80006644 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 007248 80006648 460042A4 */ cvt.w.s $f10, $f8 -/* 00724C 8000664C 4448F800 */ cfc1 $t0, $31 -/* 007250 80006650 00000000 */ nop -/* 007254 80006654 31080078 */ andi $t0, $t0, 0x78 -/* 007258 80006658 11000012 */ beqz $t0, .L800066A4 -/* 00725C 8000665C 00000000 */ nop -/* 007260 80006660 44815000 */ mtc1 $at, $f10 -/* 007264 80006664 24080001 */ li $t0, 1 -/* 007268 80006668 460A4281 */ sub.s $f10, $f8, $f10 -/* 00726C 8000666C 3C018000 */ lui $at, 0x8000 -/* 007270 80006670 44C8F800 */ ctc1 $t0, $31 -/* 007274 80006674 00000000 */ nop -/* 007278 80006678 460052A4 */ cvt.w.s $f10, $f10 -/* 00727C 8000667C 4448F800 */ cfc1 $t0, $31 -/* 007280 80006680 00000000 */ nop -/* 007284 80006684 31080078 */ andi $t0, $t0, 0x78 -/* 007288 80006688 15000004 */ bnez $t0, .L8000669C -/* 00728C 8000668C 00000000 */ nop -/* 007290 80006690 44085000 */ mfc1 $t0, $f10 -/* 007294 80006694 10000007 */ b .L800066B4 -/* 007298 80006698 01014025 */ or $t0, $t0, $at -.L8000669C: -/* 00729C 8000669C 10000005 */ b .L800066B4 -/* 0072A0 800066A0 2408FFFF */ li $t0, -1 -.L800066A4: -/* 0072A4 800066A4 44085000 */ mfc1 $t0, $f10 -/* 0072A8 800066A8 00000000 */ nop -/* 0072AC 800066AC 0500FFFB */ bltz $t0, .L8000669C -/* 0072B0 800066B0 00000000 */ nop -.L800066B4: -/* 0072B4 800066B4 44CBF800 */ ctc1 $t3, $31 -/* 0072B8 800066B8 310C00FF */ andi $t4, $t0, 0xff -/* 0072BC 800066BC 01804025 */ move $t0, $t4 -/* 0072C0 800066C0 44883000 */ mtc1 $t0, $f6 -.L800066C4: -/* 0072C4 800066C4 C4600054 */ lwc1 $f0, 0x54($v1) -/* 0072C8 800066C8 05010005 */ bgez $t0, .L800066E0 -/* 0072CC 800066CC 46803120 */ cvt.s.w $f4, $f6 -/* 0072D0 800066D0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0072D4 800066D4 44814000 */ mtc1 $at, $f8 -/* 0072D8 800066D8 00000000 */ nop -/* 0072DC 800066DC 46082100 */ add.s $f4, $f4, $f8 -.L800066E0: -/* 0072E0 800066E0 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 0072E4 800066E4 44813000 */ mtc1 $at, $f6 -/* 0072E8 800066E8 46002281 */ sub.s $f10, $f4, $f0 -/* 0072EC 800066EC 00000000 */ nop -/* 0072F0 800066F0 46065203 */ div.s $f8, $f10, $f6 -/* 0072F4 800066F4 46080100 */ add.s $f4, $f0, $f8 -/* 0072F8 800066F8 E4640054 */ swc1 $f4, 0x54($v1) -.L800066FC: -/* 0072FC 800066FC 8D230000 */ lw $v1, ($t1) -/* 007300 80006700 8FAD0038 */ lw $t5, 0x38($sp) -/* 007304 80006704 C46E00D4 */ lwc1 $f14, 0xd4($v1) -/* 007308 80006708 31AE8000 */ andi $t6, $t5, 0x8000 -/* 00730C 8000670C 11C0001A */ beqz $t6, .L80006778 -/* 007310 80006710 8FB8003C */ lw $t8, 0x3c($sp) -/* 007314 80006714 8FAF003C */ lw $t7, 0x3c($sp) -/* 007318 80006718 C46A00B0 */ lwc1 $f10, 0xb0($v1) -/* 00731C 8000671C 448F3000 */ mtc1 $t7, $f6 -/* 007320 80006720 00000000 */ nop -/* 007324 80006724 46803220 */ cvt.s.w $f8, $f6 -/* 007328 80006728 C46600A4 */ lwc1 $f6, 0xa4($v1) -/* 00732C 8000672C 46085102 */ mul.s $f4, $f10, $f8 -/* 007330 80006730 46043280 */ add.s $f10, $f6, $f4 -/* 007334 80006734 E46A00A4 */ swc1 $f10, 0xa4($v1) -/* 007338 80006738 8D230000 */ lw $v1, ($t1) -/* 00733C 8000673C 00000000 */ nop -/* 007340 80006740 C46200C8 */ lwc1 $f2, 0xc8($v1) -/* 007344 80006744 C46000A4 */ lwc1 $f0, 0xa4($v1) -/* 007348 80006748 00000000 */ nop -/* 00734C 8000674C 4600103C */ c.lt.s $f2, $f0 -/* 007350 80006750 00000000 */ nop -/* 007354 80006754 45000014 */ bc1f .L800067A8 -/* 007358 80006758 00000000 */ nop -/* 00735C 8000675C E46200A4 */ swc1 $f2, 0xa4($v1) -/* 007360 80006760 8D230000 */ lw $v1, ($t1) -/* 007364 80006764 00000000 */ nop -/* 007368 80006768 C46000A4 */ lwc1 $f0, 0xa4($v1) -/* 00736C 8000676C 1000000F */ b .L800067AC -/* 007370 80006770 44801000 */ mtc1 $zero, $f2 -/* 007374 80006774 8FB8003C */ lw $t8, 0x3c($sp) -.L80006778: -/* 007378 80006778 C46800B4 */ lwc1 $f8, 0xb4($v1) -/* 00737C 8000677C 44983000 */ mtc1 $t8, $f6 -/* 007380 80006780 00000000 */ nop -/* 007384 80006784 46803120 */ cvt.s.w $f4, $f6 -/* 007388 80006788 C46600A4 */ lwc1 $f6, 0xa4($v1) -/* 00738C 8000678C 46044282 */ mul.s $f10, $f8, $f4 -/* 007390 80006790 460A3201 */ sub.s $f8, $f6, $f10 -/* 007394 80006794 E46800A4 */ swc1 $f8, 0xa4($v1) -/* 007398 80006798 8D230000 */ lw $v1, ($t1) -/* 00739C 8000679C 00000000 */ nop -/* 0073A0 800067A0 C46000A4 */ lwc1 $f0, 0xa4($v1) -/* 0073A4 800067A4 00000000 */ nop -.L800067A8: -/* 0073A8 800067A8 44801000 */ mtc1 $zero, $f2 -.L800067AC: -/* 0073AC 800067AC 00000000 */ nop -/* 0073B0 800067B0 4602003C */ c.lt.s $f0, $f2 -/* 0073B4 800067B4 00000000 */ nop -/* 0073B8 800067B8 45000002 */ bc1f .L800067C4 -/* 0073BC 800067BC 00000000 */ nop -/* 0073C0 800067C0 E46200A4 */ swc1 $f2, 0xa4($v1) -.L800067C4: -/* 0073C4 800067C4 E7AE0018 */ swc1 $f14, 0x18($sp) -/* 0073C8 800067C8 0C028064 */ jal race_starting -/* 0073CC 800067CC E7B2002C */ swc1 $f18, 0x2c($sp) -/* 0073D0 800067D0 3C098012 */ lui $t1, %hi(gRacerSound) # $t1, 0x8012 -/* 0073D4 800067D4 C7AE0018 */ lwc1 $f14, 0x18($sp) -/* 0073D8 800067D8 C7B2002C */ lwc1 $f18, 0x2c($sp) -/* 0073DC 800067DC 14400005 */ bnez $v0, .L800067F4 -/* 0073E0 800067E0 25299C38 */ addiu $t1, %lo(gRacerSound) # addiu $t1, $t1, -0x63c8 -/* 0073E4 800067E4 44802000 */ mtc1 $zero, $f4 -/* 0073E8 800067E8 8D390000 */ lw $t9, ($t1) -/* 0073EC 800067EC 00000000 */ nop -/* 0073F0 800067F0 E72400A4 */ swc1 $f4, 0xa4($t9) -.L800067F4: -/* 0073F4 800067F4 8D2A0000 */ lw $t2, ($t1) -/* 0073F8 800067F8 8FAB0030 */ lw $t3, 0x30($sp) -/* 0073FC 800067FC C54600A4 */ lwc1 $f6, 0xa4($t2) -/* 007400 80006800 85640002 */ lh $a0, 2($t3) -/* 007404 80006804 46067380 */ add.s $f14, $f14, $f6 -/* 007408 80006808 E7B2002C */ swc1 $f18, 0x2c($sp) -/* 00740C 8000680C 0C01C1F1 */ jal sins_f -/* 007410 80006810 E7AE0018 */ swc1 $f14, 0x18($sp) -/* 007414 80006814 8FAC0030 */ lw $t4, 0x30($sp) -/* 007418 80006818 E7A00028 */ swc1 $f0, 0x28($sp) -/* 00741C 8000681C 85840004 */ lh $a0, 4($t4) -/* 007420 80006820 0C01C1F1 */ jal sins_f -/* 007424 80006824 00000000 */ nop -/* 007428 80006828 3C098012 */ lui $t1, %hi(gRacerSound) # $t1, 0x8012 -/* 00742C 8000682C 25299C38 */ addiu $t1, %lo(gRacerSound) # addiu $t1, $t1, -0x63c8 -/* 007430 80006830 8D230000 */ lw $v1, ($t1) -/* 007434 80006834 C7A80028 */ lwc1 $f8, 0x28($sp) -/* 007438 80006838 C46A00C4 */ lwc1 $f10, 0xc4($v1) -/* 00743C 8000683C C46400C0 */ lwc1 $f4, 0xc0($v1) -/* 007440 80006840 46085302 */ mul.s $f12, $f10, $f8 -/* 007444 80006844 44803000 */ mtc1 $zero, $f6 -/* 007448 80006848 C7B2002C */ lwc1 $f18, 0x2c($sp) -/* 00744C 8000684C 3C014024 */ li $at, 0x40240000 # 2.562500 -/* 007450 80006850 46002082 */ mul.s $f2, $f4, $f0 -/* 007454 80006854 C7AE0018 */ lwc1 $f14, 0x18($sp) -/* 007458 80006858 44818800 */ mtc1 $at, $f17 -/* 00745C 8000685C 44808000 */ mtc1 $zero, $f16 -/* 007460 80006860 4606103C */ c.lt.s $f2, $f6 -/* 007464 80006864 3C0D8012 */ lui $t5, %hi(gSoundRacerObj) # $t5, 0x8012 -/* 007468 80006868 45000002 */ bc1f .L80006874 -/* 00746C 8000686C 46009021 */ cvt.d.s $f0, $f18 -/* 007470 80006870 46001087 */ neg.s $f2, $f2 -.L80006874: -/* 007474 80006874 4620803C */ c.lt.d $f16, $f0 -/* 007478 80006878 46026280 */ add.s $f10, $f12, $f2 -/* 00747C 8000687C 45000004 */ bc1f .L80006890 -/* 007480 80006880 460A7380 */ add.s $f14, $f14, $f10 -/* 007484 80006884 46300201 */ sub.d $f8, $f0, $f16 -/* 007488 80006888 10000003 */ b .L80006898 -/* 00748C 8000688C 462044A0 */ cvt.s.d $f18, $f8 -.L80006890: -/* 007490 80006890 44809000 */ mtc1 $zero, $f18 -/* 007494 80006894 00000000 */ nop -.L80006898: -/* 007498 80006898 C46400CC */ lwc1 $f4, 0xcc($v1) -/* 00749C 8000689C 44805800 */ mtc1 $zero, $f11 -/* 0074A0 800068A0 44805000 */ mtc1 $zero, $f10 -/* 0074A4 800068A4 46049182 */ mul.s $f6, $f18, $f4 -/* 0074A8 800068A8 46009221 */ cvt.d.s $f8, $f18 -/* 0074AC 800068AC 46285032 */ c.eq.d $f10, $f8 -# Used to access D_800E4C88 and D_800E4C88 + 4. -/* 0074B0 800068B0 3C01800E */ lui $at, %hi(D_800E4C88) # $at, 0x800e -/* 0074B4 800068B4 45010032 */ bc1t .L80006980 -/* 0074B8 800068B8 46067380 */ add.s $f14, $f14, $f6 -/* 0074BC 800068BC 8DAD9C3C */ lw $t5, %lo(gSoundRacerObj)($t5) -/* 0074C0 800068C0 00000000 */ nop -/* 0074C4 800068C4 81A20185 */ lb $v0, 0x185($t5) -/* 0074C8 800068C8 00000000 */ nop -/* 0074CC 800068CC 1040002C */ beqz $v0, .L80006980 -/* 0074D0 800068D0 00000000 */ nop -/* 0074D4 800068D4 2841000B */ slti $at, $v0, 0xb -/* 0074D8 800068D8 10200003 */ beqz $at, .L800068E8 -/* 0074DC 800068DC 2404000A */ li $a0, 10 -/* 0074E0 800068E0 10000001 */ b .L800068E8 -/* 0074E4 800068E4 00402025 */ move $a0, $v0 -.L800068E8: -/* 0074E8 800068E8 44843000 */ mtc1 $a0, $f6 -/* 0074EC 800068EC 3C01800E */ lui $at, %hi(D_800E4C88 + 4) # $at, 0x800e -/* 0074F0 800068F0 468032A1 */ cvt.d.w $f10, $f6 -/* 0074F4 800068F4 C4254C80 */ lwc1 $f5, %lo(D_800E4C80)($at) -/* 0074F8 800068F8 C4244C84 */ lwc1 $f4, %lo(D_800E4C80 + 4)($at) -/* 0074FC 800068FC C46C003C */ lwc1 $f12, 0x3c($v1) -/* 007500 80006900 462A2002 */ mul.d $f0, $f4, $f10 -/* 007504 80006904 460060A1 */ cvt.d.s $f2, $f12 -/* 007508 80006908 00047180 */ sll $t6, $a0, 6 -/* 00750C 8000690C 4620103C */ c.lt.d $f2, $f0 -/* 007510 80006910 00000000 */ nop -/* 007514 80006914 4500000E */ bc1f .L80006950 -/* 007518 80006918 00000000 */ nop -/* 00751C 8000691C 448E4000 */ mtc1 $t6, $f8 -/* 007520 80006920 00000000 */ nop -/* 007524 80006924 468041A1 */ cvt.d.w $f6, $f8 -/* 007528 80006928 00000000 */ nop -/* 00752C 8000692C 46260103 */ div.d $f4, $f0, $f6 -/* 007530 80006930 46241280 */ add.d $f10, $f2, $f4 -/* 007534 80006934 46205220 */ cvt.s.d $f8, $f10 -/* 007538 80006938 E468003C */ swc1 $f8, 0x3c($v1) -/* 00753C 8000693C 8D230000 */ lw $v1, ($t1) -/* 007540 80006940 00000000 */ nop -/* 007544 80006944 C46C003C */ lwc1 $f12, 0x3c($v1) -/* 007548 80006948 10000019 */ b .L800069B0 -/* 00754C 8000694C 460C7380 */ add.s $f14, $f14, $f12 -.L80006950: -/* 007550 80006950 4622003C */ c.lt.d $f0, $f2 -/* 007554 80006954 00000000 */ nop -/* 007558 80006958 45000007 */ bc1f .L80006978 -/* 00755C 8000695C 00000000 */ nop -/* 007560 80006960 462001A0 */ cvt.s.d $f6, $f0 -/* 007564 80006964 E466003C */ swc1 $f6, 0x3c($v1) -/* 007568 80006968 8D230000 */ lw $v1, ($t1) -/* 00756C 8000696C 00000000 */ nop -/* 007570 80006970 C46C003C */ lwc1 $f12, 0x3c($v1) -/* 007574 80006974 00000000 */ nop -.L80006978: -/* 007578 80006978 1000000D */ b .L800069B0 -/* 00757C 8000697C 460C7380 */ add.s $f14, $f14, $f12 -.L80006980: -/* 007580 80006980 C464003C */ lwc1 $f4, 0x3c($v1) -/* 007584 80006984 C4294C88 */ lwc1 $f9, %lo(D_800E4C88)($at) -/* 007588 80006988 C4284C8C */ lwc1 $f8, %lo(D_800E4C88 + 4)($at) -/* 00758C 8000698C 460022A1 */ cvt.d.s $f10, $f4 -/* 007590 80006990 46285182 */ mul.d $f6, $f10, $f8 -/* 007594 80006994 46203120 */ cvt.s.d $f4, $f6 -/* 007598 80006998 E464003C */ swc1 $f4, 0x3c($v1) -/* 00759C 8000699C 8D230000 */ lw $v1, ($t1) -/* 0075A0 800069A0 00000000 */ nop -/* 0075A4 800069A4 C46A003C */ lwc1 $f10, 0x3c($v1) -/* 0075A8 800069A8 00000000 */ nop -/* 0075AC 800069AC 460A7380 */ add.s $f14, $f14, $f10 -.L800069B0: -/* 0075B0 800069B0 C460005C */ lwc1 $f0, 0x5c($v1) -/* 0075B4 800069B4 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 0075B8 800069B8 44813000 */ mtc1 $at, $f6 -/* 0075BC 800069BC 46007201 */ sub.s $f8, $f14, $f0 -/* 0075C0 800069C0 3C01800E */ lui $at, %hi(D_800E4C90) # $at, 0x800e -/* 0075C4 800069C4 46064103 */ div.s $f4, $f8, $f6 -/* 0075C8 800069C8 46040280 */ add.s $f10, $f0, $f4 -/* 0075CC 800069CC E46A005C */ swc1 $f10, 0x5c($v1) -/* 0075D0 800069D0 8D230000 */ lw $v1, ($t1) -/* 0075D4 800069D4 C4284C94 */ lwc1 $f8, %lo(D_800E4C90 + 4)($at) -/* 0075D8 800069D8 C466005C */ lwc1 $f6, 0x5c($v1) -/* 0075DC 800069DC C4294C90 */ lwc1 $f9, %lo(D_800E4C90)($at) -/* 0075E0 800069E0 46003121 */ cvt.d.s $f4, $f6 -/* 0075E4 800069E4 4624403C */ c.lt.d $f8, $f4 -/* 0075E8 800069E8 3C01800E */ lui $at, %hi(D_800E4C98) # $at, 0x800e -/* 0075EC 800069EC 45000006 */ bc1f .L80006A08 -/* 0075F0 800069F0 00000000 */ nop -/* 0075F4 800069F4 C42A4C98 */ lwc1 $f10, %lo(D_800E4C98)($at) -/* 0075F8 800069F8 00000000 */ nop -/* 0075FC 800069FC E46A005C */ swc1 $f10, 0x5c($v1) -/* 007600 80006A00 8D230000 */ lw $v1, ($t1) -/* 007604 80006A04 00000000 */ nop -.L80006A08: -/* 007608 80006A08 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 00760C 80006A0C 44813000 */ mtc1 $at, $f6 -/* 007610 80006A10 44804000 */ mtc1 $zero, $f8 -/* 007614 80006A14 E4660060 */ swc1 $f6, 0x60($v1) -/* 007618 80006A18 8D2F0000 */ lw $t7, ($t1) -/* 00761C 80006A1C 3C028012 */ lui $v0, %hi(gSoundRacerObj) # $v0, 0x8012 -/* 007620 80006A20 E5E80058 */ swc1 $f8, 0x58($t7) -/* 007624 80006A24 8C429C3C */ lw $v0, %lo(gSoundRacerObj)($v0) -/* 007628 80006A28 2401FFFF */ li $at, -1 -/* 00762C 80006A2C 84580000 */ lh $t8, ($v0) -/* 007630 80006A30 00000000 */ nop -/* 007634 80006A34 13010011 */ beq $t8, $at, .L80006A7C -/* 007638 80006A38 00000000 */ nop -/* 00763C 80006A3C 805901DB */ lb $t9, 0x1db($v0) -/* 007640 80006A40 00000000 */ nop -/* 007644 80006A44 1320000D */ beqz $t9, .L80006A7C -/* 007648 80006A48 00000000 */ nop -/* 00764C 80006A4C 8D230000 */ lw $v1, ($t1) -/* 007650 80006A50 240B0001 */ li $t3, 1 -/* 007654 80006A54 906A00D8 */ lbu $t2, 0xd8($v1) -/* 007658 80006A58 2404013D */ li $a0, 317 -/* 00765C 80006A5C 15400007 */ bnez $t2, .L80006A7C -/* 007660 80006A60 00000000 */ nop -/* 007664 80006A64 A06B00D8 */ sb $t3, 0xd8($v1) -/* 007668 80006A68 8D250000 */ lw $a1, ($t1) -/* 00766C 80006A6C 0C000741 */ jal sound_play -/* 007670 80006A70 24A500DC */ addiu $a1, $a1, 0xdc -/* 007674 80006A74 10000011 */ b .L80006ABC -/* 007678 80006A78 8FBF0014 */ lw $ra, 0x14($sp) -.L80006A7C: -/* 00767C 80006A7C 804C01DB */ lb $t4, 0x1db($v0) -/* 007680 80006A80 00000000 */ nop -/* 007684 80006A84 1580000D */ bnez $t4, .L80006ABC -/* 007688 80006A88 8FBF0014 */ lw $ra, 0x14($sp) -/* 00768C 80006A8C 8D2D0000 */ lw $t5, ($t1) -/* 007690 80006A90 00000000 */ nop -/* 007694 80006A94 A1A000D8 */ sb $zero, 0xd8($t5) -/* 007698 80006A98 8D2E0000 */ lw $t6, ($t1) -/* 00769C 80006A9C 00000000 */ nop -/* 0076A0 80006AA0 8DC400DC */ lw $a0, 0xdc($t6) -/* 0076A4 80006AA4 00000000 */ nop -/* 0076A8 80006AA8 10800004 */ beqz $a0, .L80006ABC -/* 0076AC 80006AAC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0076B0 80006AB0 0C001223 */ jal sound_stop -/* 0076B4 80006AB4 00000000 */ nop -/* 0076B8 80006AB8 8FBF0014 */ lw $ra, 0x14($sp) -.L80006ABC: -/* 0076BC 80006ABC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0076C0 80006AC0 03E00008 */ jr $ra -/* 0076C4 80006AC4 00000000 */ nop - diff --git a/asm/non_matchings/audio_vehicle/func_80006FC8.s b/asm/non_matchings/audio_vehicle/func_80006FC8.s deleted file mode 100644 index ed6ad3e6..00000000 --- a/asm/non_matchings/audio_vehicle/func_80006FC8.s +++ /dev/null @@ -1,1107 +0,0 @@ -.late_rodata -glabel D_800E4CC4 -.float 2250000.0 -glabel D_800E4CC8 -.double 0.05 -glabel D_800E4CD0 -.float 1500.0 -glabel D_800E4CD4 -.float 0.05 -glabel D_800E4CD8 -.double 0.05 -glabel D_800E4CE0 -.float 2250000.0 -.word 0 # Padding -glabel D_800E4CE8 -.double 0.8 -glabel D_800E4CF0 -.float 1500.0 -glabel D_800E4CF4 -.float 0.05 - -.text -glabel func_80006FC8 -/* 007BC8 80006FC8 27BDFF38 */ addiu $sp, $sp, -0xc8 -/* 007BCC 80006FCC AFB70064 */ sw $s7, 0x64($sp) -/* 007BD0 80006FD0 30EE00FF */ andi $t6, $a3, 0xff -/* 007BD4 80006FD4 00C0B825 */ move $s7, $a2 -/* 007BD8 80006FD8 AFBF006C */ sw $ra, 0x6c($sp) -/* 007BDC 80006FDC AFBE0068 */ sw $fp, 0x68($sp) -/* 007BE0 80006FE0 AFB60060 */ sw $s6, 0x60($sp) -/* 007BE4 80006FE4 AFB5005C */ sw $s5, 0x5c($sp) -/* 007BE8 80006FE8 AFB40058 */ sw $s4, 0x58($sp) -/* 007BEC 80006FEC AFB30054 */ sw $s3, 0x54($sp) -/* 007BF0 80006FF0 AFB20050 */ sw $s2, 0x50($sp) -/* 007BF4 80006FF4 AFB1004C */ sw $s1, 0x4c($sp) -/* 007BF8 80006FF8 AFB00048 */ sw $s0, 0x48($sp) -/* 007BFC 80006FFC E7BF0040 */ swc1 $f31, 0x40($sp) -/* 007C00 80007000 E7BE0044 */ swc1 $f30, 0x44($sp) -/* 007C04 80007004 E7BD0038 */ swc1 $f29, 0x38($sp) -/* 007C08 80007008 E7BC003C */ swc1 $f28, 0x3c($sp) -/* 007C0C 8000700C E7BB0030 */ swc1 $f27, 0x30($sp) -/* 007C10 80007010 E7BA0034 */ swc1 $f26, 0x34($sp) -/* 007C14 80007014 E7B90028 */ swc1 $f25, 0x28($sp) -/* 007C18 80007018 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 007C1C 8000701C E7B70020 */ swc1 $f23, 0x20($sp) -/* 007C20 80007020 E7B60024 */ swc1 $f22, 0x24($sp) -/* 007C24 80007024 E7B50018 */ swc1 $f21, 0x18($sp) -/* 007C28 80007028 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 007C2C 8000702C AFA400C8 */ sw $a0, 0xc8($sp) -/* 007C30 80007030 AFA500CC */ sw $a1, 0xcc($sp) -/* 007C34 80007034 AFA700D4 */ sw $a3, 0xd4($sp) -/* 007C38 80007038 AFAE007C */ sw $t6, 0x7c($sp) -/* 007C3C 8000703C 19C001C4 */ blez $t6, .L80007750 -/* 007C40 80007040 AFA000AC */ sw $zero, 0xac($sp) -/* 007C44 80007044 3C01800E */ lui $at, %hi(D_800E4CC4) # $at, 0x800e -/* 007C48 80007048 C43E4CC4 */ lwc1 $f30, %lo(D_800E4CC4)($at) -/* 007C4C 8000704C 3C01800E */ lui $at, %hi(D_800E4CC8 + 4) # $at, 0x800e -/* 007C50 80007050 3C148012 */ lui $s4, %hi(gRacerSound) # $s4, 0x8012 -/* 007C54 80007054 C43D4CC8 */ lwc1 $f29, %lo(D_800E4CC8)($at) -/* 007C58 80007058 C43C4CCC */ lwc1 $f28, %lo(D_800E4CC8 + 4)($at) -/* 007C5C 8000705C 4480C800 */ mtc1 $zero, $f25 -/* 007C60 80007060 4480C000 */ mtc1 $zero, $f24 -/* 007C64 80007064 8FBE00D8 */ lw $fp, 0xd8($sp) -/* 007C68 80007068 26949C38 */ addiu $s4, %lo(gRacerSound) # addiu $s4, $s4, -0x63c8 -/* 007C6C 8000706C 0080B025 */ move $s6, $a0 -.L80007070: -/* 007C70 80007070 8ED80000 */ lw $t8, ($s6) -/* 007C74 80007074 00000000 */ nop -/* 007C78 80007078 8F110064 */ lw $s1, 0x64($t8) -/* 007C7C 8000707C 00000000 */ nop -/* 007C80 80007080 12200004 */ beqz $s1, .L80007094 -/* 007C84 80007084 00000000 */ nop -/* 007C88 80007088 8E390118 */ lw $t9, 0x118($s1) -/* 007C8C 8000708C 10000002 */ b .L80007098 -/* 007C90 80007090 AE990000 */ sw $t9, ($s4) -.L80007094: -/* 007C94 80007094 AE800000 */ sw $zero, ($s4) -.L80007098: -/* 007C98 80007098 8E900000 */ lw $s0, ($s4) -/* 007C9C 8000709C 00000000 */ nop -/* 007CA0 800070A0 120001A6 */ beqz $s0, .L8000773C -/* 007CA4 800070A4 8FB900AC */ lw $t9, 0xac($sp) -/* 007CA8 800070A8 96080000 */ lhu $t0, ($s0) -/* 007CAC 800070AC 00000000 */ nop -/* 007CB0 800070B0 110001A2 */ beqz $t0, .L8000773C -/* 007CB4 800070B4 8FB900AC */ lw $t9, 0xac($sp) -/* 007CB8 800070B8 822901D8 */ lb $t1, 0x1d8($s1) -/* 007CBC 800070BC 0000A825 */ move $s5, $zero -/* 007CC0 800070C0 15200006 */ bnez $t1, .L800070DC -/* 007CC4 800070C4 8FAA00AC */ lw $t2, 0xac($sp) -/* 007CC8 800070C8 0C019944 */ jal check_if_showing_cutscene_camera -/* 007CCC 800070CC 00000000 */ nop -/* 007CD0 800070D0 10400047 */ beqz $v0, .L800071F0 -/* 007CD4 800070D4 3C013F80 */ lui $at, 0x3f80 -/* 007CD8 800070D8 8FAA00AC */ lw $t2, 0xac($sp) -.L800070DC: -/* 007CDC 800070DC 8EC60000 */ lw $a2, ($s6) -/* 007CE0 800070E0 000A5900 */ sll $t3, $t2, 4 -/* 007CE4 800070E4 016A5821 */ addu $t3, $t3, $t2 -/* 007CE8 800070E8 000B5880 */ sll $t3, $t3, 2 -/* 007CEC 800070EC 02EB1821 */ addu $v1, $s7, $t3 -/* 007CF0 800070F0 C466000C */ lwc1 $f6, 0xc($v1) -/* 007CF4 800070F4 C46A0010 */ lwc1 $f10, 0x10($v1) -/* 007CF8 800070F8 C4720014 */ lwc1 $f18, 0x14($v1) -/* 007CFC 800070FC C4C4000C */ lwc1 $f4, 0xc($a2) -/* 007D00 80007100 C4C80010 */ lwc1 $f8, 0x10($a2) -/* 007D04 80007104 C4D00014 */ lwc1 $f16, 0x14($a2) -/* 007D08 80007108 460A4001 */ sub.s $f0, $f8, $f10 -/* 007D0C 8000710C AFA30070 */ sw $v1, 0x70($sp) -/* 007D10 80007110 E7A000C0 */ swc1 $f0, 0xc0($sp) -/* 007D14 80007114 02E02825 */ move $a1, $s7 -/* 007D18 80007118 03C03825 */ move $a3, $fp -/* 007D1C 8000711C 00C02025 */ move $a0, $a2 -/* 007D20 80007120 46062501 */ sub.s $f20, $f4, $f6 -/* 007D24 80007124 0C001AFF */ jal func_80006BFC -/* 007D28 80007128 46128581 */ sub.s $f22, $f16, $f18 -/* 007D2C 8000712C 4614A102 */ mul.s $f4, $f20, $f20 -/* 007D30 80007130 C7A000C0 */ lwc1 $f0, 0xc0($sp) -/* 007D34 80007134 00000000 */ nop -/* 007D38 80007138 46000182 */ mul.s $f6, $f0, $f0 -/* 007D3C 8000713C 00000000 */ nop -/* 007D40 80007140 4616B282 */ mul.s $f10, $f22, $f22 -/* 007D44 80007144 46062200 */ add.s $f8, $f4, $f6 -/* 007D48 80007148 0C0326B4 */ jal sqrtf -/* 007D4C 8000714C 460A4300 */ add.s $f12, $f8, $f10 -/* 007D50 80007150 8E8C0000 */ lw $t4, ($s4) -/* 007D54 80007154 8FA30070 */ lw $v1, 0x70($sp) -/* 007D58 80007158 E5800084 */ swc1 $f0, 0x84($t4) -/* 007D5C 8000715C 8E900000 */ lw $s0, ($s4) -/* 007D60 80007160 3C01800E */ lui $at, %hi(D_800E4CD0) # $at, 0x800e -/* 007D64 80007164 C4304CD0 */ lwc1 $f16, %lo(D_800E4CD0)($at) -/* 007D68 80007168 C6020084 */ lwc1 $f2, 0x84($s0) -/* 007D6C 8000716C 00000000 */ nop -/* 007D70 80007170 4610103C */ c.lt.s $f2, $f16 -/* 007D74 80007174 00000000 */ nop -/* 007D78 80007178 45000011 */ bc1f .L800071C0 -/* 007D7C 8000717C 00000000 */ nop -/* 007D80 80007180 46021482 */ mul.s $f18, $f2, $f2 -/* 007D84 80007184 84660000 */ lh $a2, ($v1) -/* 007D88 80007188 4600A306 */ mov.s $f12, $f20 -/* 007D8C 8000718C 4612F101 */ sub.s $f4, $f30, $f18 -/* 007D90 80007190 00000000 */ nop -/* 007D94 80007194 461E2683 */ div.s $f26, $f4, $f30 -/* 007D98 80007198 4600B386 */ mov.s $f14, $f22 -/* 007D9C 8000719C 461AD682 */ mul.s $f26, $f26, $f26 -/* 007DA0 800071A0 0C002430 */ jal func_800090C0 -/* 007DA4 800071A4 00000000 */ nop -/* 007DA8 800071A8 8E8D0000 */ lw $t5, ($s4) -/* 007DAC 800071AC 00000000 */ nop -/* 007DB0 800071B0 A1A20091 */ sb $v0, 0x91($t5) -/* 007DB4 800071B4 8E900000 */ lw $s0, ($s4) -/* 007DB8 800071B8 10000004 */ b .L800071CC -/* 007DBC 800071BC 822E01D8 */ lb $t6, 0x1d8($s1) -.L800071C0: -/* 007DC0 800071C0 4480D000 */ mtc1 $zero, $f26 -/* 007DC4 800071C4 00000000 */ nop -/* 007DC8 800071C8 822E01D8 */ lb $t6, 0x1d8($s1) -.L800071CC: -/* 007DCC 800071CC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 007DD0 800071D0 15C00010 */ bnez $t6, .L80007214 -/* 007DD4 800071D4 00000000 */ nop -/* 007DD8 800071D8 44814800 */ mtc1 $at, $f9 -/* 007DDC 800071DC 44804000 */ mtc1 $zero, $f8 -/* 007DE0 800071E0 4600D1A1 */ cvt.d.s $f6, $f26 -/* 007DE4 800071E4 46283282 */ mul.d $f10, $f6, $f8 -/* 007DE8 800071E8 1000000A */ b .L80007214 -/* 007DEC 800071EC 462056A0 */ cvt.s.d $f26, $f10 -.L800071F0: -/* 007DF0 800071F0 8E980000 */ lw $t8, ($s4) -/* 007DF4 800071F4 240F0040 */ li $t7, 64 -/* 007DF8 800071F8 A30F0091 */ sb $t7, 0x91($t8) -/* 007DFC 800071FC 8E990000 */ lw $t9, ($s4) -/* 007E00 80007200 44808000 */ mtc1 $zero, $f16 -/* 007E04 80007204 4481D000 */ mtc1 $at, $f26 -/* 007E08 80007208 E7300068 */ swc1 $f16, 0x68($t9) -/* 007E0C 8000720C 8E900000 */ lw $s0, ($s4) -/* 007E10 80007210 00000000 */ nop -.L80007214: -/* 007E14 80007214 920200A0 */ lbu $v0, 0xa0($s0) -/* 007E18 80007218 00000000 */ nop -/* 007E1C 8000721C 28410046 */ slti $at, $v0, 0x46 -/* 007E20 80007220 1020009D */ beqz $at, .L80007498 -/* 007E24 80007224 00000000 */ nop -/* 007E28 80007228 92040036 */ lbu $a0, 0x36($s0) -/* 007E2C 8000722C 8FA8007C */ lw $t0, 0x7c($sp) -/* 007E30 80007230 10800099 */ beqz $a0, .L80007498 -/* 007E34 80007234 29010003 */ slti $at, $t0, 3 -/* 007E38 80007238 10200097 */ beqz $at, .L80007498 -/* 007E3C 8000723C 00000000 */ nop -/* 007E40 80007240 4600D4A1 */ cvt.d.s $f18, $f26 -/* 007E44 80007244 4632C032 */ c.eq.d $f24, $f18 -/* 007E48 80007248 00000000 */ nop -/* 007E4C 8000724C 45010092 */ bc1t .L80007498 -/* 007E50 80007250 00000000 */ nop -/* 007E54 80007254 92090044 */ lbu $t1, 0x44($s0) -/* 007E58 80007258 00000000 */ nop -/* 007E5C 8000725C 312A0001 */ andi $t2, $t1, 1 -/* 007E60 80007260 1540008D */ bnez $t2, .L80007498 -/* 007E64 80007264 00000000 */ nop -/* 007E68 80007268 44822000 */ mtc1 $v0, $f4 -/* 007E6C 8000726C 04410005 */ bgez $v0, .L80007284 -/* 007E70 80007270 468021A0 */ cvt.s.w $f6, $f4 -/* 007E74 80007274 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 007E78 80007278 44814000 */ mtc1 $at, $f8 -/* 007E7C 8000727C 00000000 */ nop -/* 007E80 80007280 46083180 */ add.s $f6, $f6, $f8 -.L80007284: -/* 007E84 80007284 920B0037 */ lbu $t3, 0x37($s0) -/* 007E88 80007288 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 007E8C 8000728C 44815000 */ mtc1 $at, $f10 -/* 007E90 80007290 448B8000 */ mtc1 $t3, $f16 -/* 007E94 80007294 460A3503 */ div.s $f20, $f6, $f10 -/* 007E98 80007298 05610005 */ bgez $t3, .L800072B0 -/* 007E9C 8000729C 46808020 */ cvt.s.w $f0, $f16 -/* 007EA0 800072A0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 007EA4 800072A4 44819000 */ mtc1 $at, $f18 -/* 007EA8 800072A8 00000000 */ nop -/* 007EAC 800072AC 46120000 */ add.s $f0, $f0, $f18 -.L800072B0: -/* 007EB0 800072B0 46140102 */ mul.s $f4, $f0, $f20 -/* 007EB4 800072B4 24120001 */ li $s2, 1 -/* 007EB8 800072B8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 007EBC 800072BC 46040201 */ sub.s $f8, $f0, $f4 -/* 007EC0 800072C0 461A4182 */ mul.s $f6, $f8, $f26 -/* 007EC4 800072C4 444CF800 */ cfc1 $t4, $31 -/* 007EC8 800072C8 44D2F800 */ ctc1 $s2, $31 -/* 007ECC 800072CC 00000000 */ nop -/* 007ED0 800072D0 460032A4 */ cvt.w.s $f10, $f6 -/* 007ED4 800072D4 4452F800 */ cfc1 $s2, $31 -/* 007ED8 800072D8 00000000 */ nop -/* 007EDC 800072DC 32520078 */ andi $s2, $s2, 0x78 -/* 007EE0 800072E0 12400012 */ beqz $s2, .L8000732C -/* 007EE4 800072E4 00000000 */ nop -/* 007EE8 800072E8 44815000 */ mtc1 $at, $f10 -/* 007EEC 800072EC 24120001 */ li $s2, 1 -/* 007EF0 800072F0 460A3281 */ sub.s $f10, $f6, $f10 -/* 007EF4 800072F4 3C018000 */ lui $at, 0x8000 -/* 007EF8 800072F8 44D2F800 */ ctc1 $s2, $31 -/* 007EFC 800072FC 00000000 */ nop -/* 007F00 80007300 460052A4 */ cvt.w.s $f10, $f10 -/* 007F04 80007304 4452F800 */ cfc1 $s2, $31 -/* 007F08 80007308 00000000 */ nop -/* 007F0C 8000730C 32520078 */ andi $s2, $s2, 0x78 -/* 007F10 80007310 16400004 */ bnez $s2, .L80007324 -/* 007F14 80007314 00000000 */ nop -/* 007F18 80007318 44125000 */ mfc1 $s2, $f10 -/* 007F1C 8000731C 10000007 */ b .L8000733C -/* 007F20 80007320 02419025 */ or $s2, $s2, $at -.L80007324: -/* 007F24 80007324 10000005 */ b .L8000733C -/* 007F28 80007328 2412FFFF */ li $s2, -1 -.L8000732C: -/* 007F2C 8000732C 44125000 */ mfc1 $s2, $f10 -/* 007F30 80007330 00000000 */ nop -/* 007F34 80007334 0640FFFB */ bltz $s2, .L80007324 -/* 007F38 80007338 00000000 */ nop -.L8000733C: -/* 007F3C 8000733C 325300FF */ andi $s3, $s2, 0xff -/* 007F40 80007340 44CCF800 */ ctc1 $t4, $31 -/* 007F44 80007344 2A610010 */ slti $at, $s3, 0x10 -/* 007F48 80007348 14200047 */ bnez $at, .L80007468 -/* 007F4C 8000734C 00000000 */ nop -/* 007F50 80007350 8E0E0050 */ lw $t6, 0x50($s0) -/* 007F54 80007354 00000000 */ nop -/* 007F58 80007358 15C00005 */ bnez $t6, .L80007370 -/* 007F5C 8000735C 00000000 */ nop -/* 007F60 80007360 0C0007C5 */ jal func_80001F14 -/* 007F64 80007364 26050050 */ addiu $a1, $s0, 0x50 -/* 007F68 80007368 8E900000 */ lw $s0, ($s4) -/* 007F6C 8000736C 00000000 */ nop -.L80007370: -/* 007F70 80007370 920F0038 */ lbu $t7, 0x38($s0) -/* 007F74 80007374 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 007F78 80007378 448F8000 */ mtc1 $t7, $f16 -/* 007F7C 8000737C 05E10004 */ bgez $t7, .L80007390 -/* 007F80 80007380 468084A0 */ cvt.s.w $f18, $f16 -/* 007F84 80007384 44812000 */ mtc1 $at, $f4 -/* 007F88 80007388 00000000 */ nop -/* 007F8C 8000738C 46049480 */ add.s $f18, $f18, $f4 -.L80007390: -/* 007F90 80007390 92180039 */ lbu $t8, 0x39($s0) -/* 007F94 80007394 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 007F98 80007398 44814000 */ mtc1 $at, $f8 -/* 007F9C 8000739C 44983000 */ mtc1 $t8, $f6 -/* 007FA0 800073A0 46089003 */ div.s $f0, $f18, $f8 -/* 007FA4 800073A4 07010005 */ bgez $t8, .L800073BC -/* 007FA8 800073A8 468032A0 */ cvt.s.w $f10, $f6 -/* 007FAC 800073AC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 007FB0 800073B0 44818000 */ mtc1 $at, $f16 -/* 007FB4 800073B4 00000000 */ nop -/* 007FB8 800073B8 46105280 */ add.s $f10, $f10, $f16 -.L800073BC: -/* 007FBC 800073BC 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 007FC0 800073C0 44812000 */ mtc1 $at, $f4 -/* 007FC4 800073C4 00000000 */ nop -/* 007FC8 800073C8 46045483 */ div.s $f18, $f10, $f4 -/* 007FCC 800073CC 46009201 */ sub.s $f8, $f18, $f0 -/* 007FD0 800073D0 46144182 */ mul.s $f6, $f8, $f20 -/* 007FD4 800073D4 46060400 */ add.s $f16, $f0, $f6 -/* 007FD8 800073D8 E7B0008C */ swc1 $f16, 0x8c($sp) -/* 007FDC 800073DC 8E040050 */ lw $a0, 0x50($s0) -/* 007FE0 800073E0 00000000 */ nop -/* 007FE4 800073E4 10800037 */ beqz $a0, .L800074C4 -/* 007FE8 800073E8 00000000 */ nop -/* 007FEC 800073EC 8ED00000 */ lw $s0, ($s6) -/* 007FF0 800073F0 00000000 */ nop -/* 007FF4 800073F4 8E05000C */ lw $a1, 0xc($s0) -/* 007FF8 800073F8 8E060010 */ lw $a2, 0x10($s0) -/* 007FFC 800073FC 8E070014 */ lw $a3, 0x14($s0) -/* 008000 80007400 0C0026DF */ jal func_80009B7C -/* 008004 80007404 00000000 */ nop -/* 008008 80007408 8E990000 */ lw $t9, ($s4) -/* 00800C 8000740C 24050008 */ li $a1, 8 -/* 008010 80007410 8F240050 */ lw $a0, 0x50($t9) -/* 008014 80007414 0C00127E */ jal sound_event_update -/* 008018 80007418 00133200 */ sll $a2, $s3, 8 -/* 00801C 8000741C 8E880000 */ lw $t0, ($s4) -/* 008020 80007420 8FA6008C */ lw $a2, 0x8c($sp) -/* 008024 80007424 8D040050 */ lw $a0, 0x50($t0) -/* 008028 80007428 0C00127E */ jal sound_event_update -/* 00802C 8000742C 24050010 */ li $a1, 16 -/* 008030 80007430 8E890000 */ lw $t1, ($s4) -/* 008034 80007434 24050050 */ li $a1, 80 -/* 008038 80007438 8D240050 */ lw $a0, 0x50($t1) -/* 00803C 8000743C 0C001181 */ jal func_80004604 -/* 008040 80007440 00000000 */ nop -/* 008044 80007444 8E900000 */ lw $s0, ($s4) -/* 008048 80007448 24050004 */ li $a1, 4 -/* 00804C 8000744C 8E040050 */ lw $a0, 0x50($s0) -/* 008050 80007450 92060091 */ lbu $a2, 0x91($s0) -/* 008054 80007454 0C00127E */ jal sound_event_update -/* 008058 80007458 00000000 */ nop -/* 00805C 8000745C 8E900000 */ lw $s0, ($s4) -/* 008060 80007460 10000019 */ b .L800074C8 -/* 008064 80007464 960C0000 */ lhu $t4, ($s0) -.L80007468: -/* 008068 80007468 8E040050 */ lw $a0, 0x50($s0) -/* 00806C 8000746C 00000000 */ nop -/* 008070 80007470 10800014 */ beqz $a0, .L800074C4 -/* 008074 80007474 00000000 */ nop -/* 008078 80007478 0C001223 */ jal sound_stop -/* 00807C 8000747C 00000000 */ nop -/* 008080 80007480 8E8A0000 */ lw $t2, ($s4) -/* 008084 80007484 00000000 */ nop -/* 008088 80007488 AD400050 */ sw $zero, 0x50($t2) -/* 00808C 8000748C 8E900000 */ lw $s0, ($s4) -/* 008090 80007490 1000000D */ b .L800074C8 -/* 008094 80007494 960C0000 */ lhu $t4, ($s0) -.L80007498: -/* 008098 80007498 8E040050 */ lw $a0, 0x50($s0) -/* 00809C 8000749C 00000000 */ nop -/* 0080A0 800074A0 10800008 */ beqz $a0, .L800074C4 -/* 0080A4 800074A4 00000000 */ nop -/* 0080A8 800074A8 0C001223 */ jal sound_stop -/* 0080AC 800074AC 00000000 */ nop -/* 0080B0 800074B0 8E8B0000 */ lw $t3, ($s4) -/* 0080B4 800074B4 00000000 */ nop -/* 0080B8 800074B8 AD600050 */ sw $zero, 0x50($t3) -/* 0080BC 800074BC 8E900000 */ lw $s0, ($s4) -/* 0080C0 800074C0 00000000 */ nop -.L800074C4: -/* 0080C4 800074C4 960C0000 */ lhu $t4, ($s0) -.L800074C8: -/* 0080C8 800074C8 00000000 */ nop -/* 0080CC 800074CC 1180009B */ beqz $t4, .L8000773C -/* 0080D0 800074D0 8FB900AC */ lw $t9, 0xac($sp) -/* 0080D4 800074D4 4600D521 */ cvt.d.s $f20, $f26 -/* 0080D8 800074D8 4634C032 */ c.eq.d $f24, $f20 -/* 0080DC 800074DC 00158880 */ sll $s1, $s5, 2 -/* 0080E0 800074E0 45010095 */ bc1t .L80007738 -/* 0080E4 800074E4 02111021 */ addu $v0, $s0, $s1 -.L800074E8: -/* 0080E8 800074E8 C44A0054 */ lwc1 $f10, 0x54($v0) -/* 0080EC 800074EC 24120001 */ li $s2, 1 -/* 0080F0 800074F0 461A5102 */ mul.s $f4, $f10, $f26 -/* 0080F4 800074F4 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0080F8 800074F8 444DF800 */ cfc1 $t5, $31 -/* 0080FC 800074FC 44D2F800 */ ctc1 $s2, $31 -/* 008100 80007500 00000000 */ nop -/* 008104 80007504 460024A4 */ cvt.w.s $f18, $f4 -/* 008108 80007508 4452F800 */ cfc1 $s2, $31 -/* 00810C 8000750C 00000000 */ nop -/* 008110 80007510 32520078 */ andi $s2, $s2, 0x78 -/* 008114 80007514 12400012 */ beqz $s2, .L80007560 -/* 008118 80007518 00000000 */ nop -/* 00811C 8000751C 44819000 */ mtc1 $at, $f18 -/* 008120 80007520 24120001 */ li $s2, 1 -/* 008124 80007524 46122481 */ sub.s $f18, $f4, $f18 -/* 008128 80007528 3C018000 */ lui $at, 0x8000 -/* 00812C 8000752C 44D2F800 */ ctc1 $s2, $31 -/* 008130 80007530 00000000 */ nop -/* 008134 80007534 460094A4 */ cvt.w.s $f18, $f18 -/* 008138 80007538 4452F800 */ cfc1 $s2, $31 -/* 00813C 8000753C 00000000 */ nop -/* 008140 80007540 32520078 */ andi $s2, $s2, 0x78 -/* 008144 80007544 16400004 */ bnez $s2, .L80007558 -/* 008148 80007548 00000000 */ nop -/* 00814C 8000754C 44129000 */ mfc1 $s2, $f18 -/* 008150 80007550 10000007 */ b .L80007570 -/* 008154 80007554 02419025 */ or $s2, $s2, $at -.L80007558: -/* 008158 80007558 10000005 */ b .L80007570 -/* 00815C 8000755C 2412FFFF */ li $s2, -1 -.L80007560: -/* 008160 80007560 44129000 */ mfc1 $s2, $f18 -/* 008164 80007564 00000000 */ nop -/* 008168 80007568 0640FFFB */ bltz $s2, .L80007558 -/* 00816C 8000756C 00000000 */ nop -.L80007570: -/* 008170 80007570 44CDF800 */ ctc1 $t5, $31 -/* 008174 80007574 C448005C */ lwc1 $f8, 0x5c($v0) -/* 008178 80007578 C606003C */ lwc1 $f6, 0x3c($s0) -/* 00817C 8000757C C60A0094 */ lwc1 $f10, 0x94($s0) -/* 008180 80007580 46064400 */ add.s $f16, $f8, $f6 -/* 008184 80007584 C6120068 */ lwc1 $f18, 0x68($s0) -/* 008188 80007588 460A8100 */ add.s $f4, $f16, $f10 -/* 00818C 8000758C 324E00FF */ andi $t6, $s2, 0xff -/* 008190 80007590 46122200 */ add.s $f8, $f4, $f18 -/* 008194 80007594 01C09025 */ move $s2, $t6 -/* 008198 80007598 460041A1 */ cvt.d.s $f6, $f8 -/* 00819C 8000759C 463C303C */ c.lt.d $f6, $f28 -/* 0081A0 800075A0 E7A8008C */ swc1 $f8, 0x8c($sp) -/* 0081A4 800075A4 45000004 */ bc1f .L800075B8 -/* 0081A8 800075A8 3C01800E */ lui $at, %hi(D_800E4CD4) # $at, 0x800e -/* 0081AC 800075AC C4304CD4 */ lwc1 $f16, %lo(D_800E4CD4)($at) -/* 0081B0 800075B0 00000000 */ nop -/* 0081B4 800075B4 E7B0008C */ swc1 $f16, 0x8c($sp) -.L800075B8: -/* 0081B8 800075B8 16A0000F */ bnez $s5, .L800075F8 -/* 0081BC 800075BC 00000000 */ nop -/* 0081C0 800075C0 920F0044 */ lbu $t7, 0x44($s0) -/* 0081C4 800075C4 00000000 */ nop -/* 0081C8 800075C8 31F80001 */ andi $t8, $t7, 1 -/* 0081CC 800075CC 1300000A */ beqz $t8, .L800075F8 -/* 0081D0 800075D0 00000000 */ nop -/* 0081D4 800075D4 8E040048 */ lw $a0, 0x48($s0) -/* 0081D8 800075D8 00000000 */ nop -/* 0081DC 800075DC 10800047 */ beqz $a0, .L800076FC -/* 0081E0 800075E0 00000000 */ nop -/* 0081E4 800075E4 0C001223 */ jal sound_stop -/* 0081E8 800075E8 00000000 */ nop -/* 0081EC 800075EC 8E990000 */ lw $t9, ($s4) -/* 0081F0 800075F0 10000042 */ b .L800076FC -/* 0081F4 800075F4 AF200048 */ sw $zero, 0x48($t9) -.L800075F8: -/* 0081F8 800075F8 8C440048 */ lw $a0, 0x48($v0) -/* 0081FC 800075FC 00000000 */ nop -/* 008200 80007600 1080000A */ beqz $a0, .L8000762C -/* 008204 80007604 00000000 */ nop -/* 008208 80007608 16400008 */ bnez $s2, .L8000762C -/* 00820C 8000760C 00000000 */ nop -/* 008210 80007610 0C001223 */ jal sound_stop -/* 008214 80007614 00000000 */ nop -/* 008218 80007618 8E880000 */ lw $t0, ($s4) -/* 00821C 8000761C 00000000 */ nop -/* 008220 80007620 01114821 */ addu $t1, $t0, $s1 -/* 008224 80007624 10000035 */ b .L800076FC -/* 008228 80007628 AD200048 */ sw $zero, 0x48($t1) -.L8000762C: -/* 00822C 8000762C 1480000A */ bnez $a0, .L80007658 -/* 008230 80007630 00155040 */ sll $t2, $s5, 1 -/* 008234 80007634 020A5821 */ addu $t3, $s0, $t2 -/* 008238 80007638 95640000 */ lhu $a0, ($t3) -/* 00823C 8000763C 0C0007C5 */ jal func_80001F14 -/* 008240 80007640 24450048 */ addiu $a1, $v0, 0x48 -/* 008244 80007644 8E8C0000 */ lw $t4, ($s4) -/* 008248 80007648 00000000 */ nop -/* 00824C 8000764C 01916821 */ addu $t5, $t4, $s1 -/* 008250 80007650 8DA40048 */ lw $a0, 0x48($t5) -/* 008254 80007654 00000000 */ nop -.L80007658: -/* 008258 80007658 10800028 */ beqz $a0, .L800076FC -/* 00825C 8000765C 00000000 */ nop -/* 008260 80007660 8ED00000 */ lw $s0, ($s6) -/* 008264 80007664 02409825 */ move $s3, $s2 -/* 008268 80007668 8E05000C */ lw $a1, 0xc($s0) -/* 00826C 8000766C 8E060010 */ lw $a2, 0x10($s0) -/* 008270 80007670 8E070014 */ lw $a3, 0x14($s0) -/* 008274 80007674 0C0026DF */ jal func_80009B7C -/* 008278 80007678 00000000 */ nop -/* 00827C 8000767C 8E8E0000 */ lw $t6, ($s4) -/* 008280 80007680 24050008 */ li $a1, 8 -/* 008284 80007684 01D17821 */ addu $t7, $t6, $s1 -/* 008288 80007688 8DE40048 */ lw $a0, 0x48($t7) -/* 00828C 8000768C 0C00127E */ jal sound_event_update -/* 008290 80007690 00133200 */ sll $a2, $s3, 8 -/* 008294 80007694 8E980000 */ lw $t8, ($s4) -/* 008298 80007698 8FA6008C */ lw $a2, 0x8c($sp) -/* 00829C 8000769C 0311C821 */ addu $t9, $t8, $s1 -/* 0082A0 800076A0 8F240048 */ lw $a0, 0x48($t9) -/* 0082A4 800076A4 0C00127E */ jal sound_event_update -/* 0082A8 800076A8 24050010 */ li $a1, 16 -/* 0082AC 800076AC 8E880000 */ lw $t0, ($s4) -/* 0082B0 800076B0 24050050 */ li $a1, 80 -/* 0082B4 800076B4 01114821 */ addu $t1, $t0, $s1 -/* 0082B8 800076B8 8D240048 */ lw $a0, 0x48($t1) -/* 0082BC 800076BC 0C001181 */ jal func_80004604 -/* 0082C0 800076C0 00000000 */ nop -/* 0082C4 800076C4 8FAA007C */ lw $t2, 0x7c($sp) -/* 0082C8 800076C8 24010001 */ li $at, 1 -/* 0082CC 800076CC 11410004 */ beq $t2, $at, .L800076E0 -/* 0082D0 800076D0 00000000 */ nop -/* 0082D4 800076D4 8E8C0000 */ lw $t4, ($s4) -/* 0082D8 800076D8 240B0040 */ li $t3, 64 -/* 0082DC 800076DC A18B0091 */ sb $t3, 0x91($t4) -.L800076E0: -/* 0082E0 800076E0 8E900000 */ lw $s0, ($s4) -/* 0082E4 800076E4 24050004 */ li $a1, 4 -/* 0082E8 800076E8 02116821 */ addu $t5, $s0, $s1 -/* 0082EC 800076EC 8DA40048 */ lw $a0, 0x48($t5) -/* 0082F0 800076F0 92060091 */ lbu $a2, 0x91($s0) -/* 0082F4 800076F4 0C00127E */ jal sound_event_update -/* 0082F8 800076F8 00000000 */ nop -.L800076FC: -/* 0082FC 800076FC 26B50001 */ addiu $s5, $s5, 1 -/* 008300 80007700 2AA10002 */ slti $at, $s5, 2 -/* 008304 80007704 1020000C */ beqz $at, .L80007738 -/* 008308 80007708 26310004 */ addiu $s1, $s1, 4 -/* 00830C 8000770C 8E900000 */ lw $s0, ($s4) -/* 008310 80007710 00157040 */ sll $t6, $s5, 1 -/* 008314 80007714 020E7821 */ addu $t7, $s0, $t6 -/* 008318 80007718 95F80000 */ lhu $t8, ($t7) -/* 00831C 8000771C 00000000 */ nop -/* 008320 80007720 13000006 */ beqz $t8, .L8000773C -/* 008324 80007724 8FB900AC */ lw $t9, 0xac($sp) -/* 008328 80007728 4634C032 */ c.eq.d $f24, $f20 -/* 00832C 8000772C 00000000 */ nop -/* 008330 80007730 4500FF6D */ bc1f .L800074E8 -/* 008334 80007734 02111021 */ addu $v0, $s0, $s1 -.L80007738: -/* 008338 80007738 8FB900AC */ lw $t9, 0xac($sp) -.L8000773C: -/* 00833C 8000773C 8FA9007C */ lw $t1, 0x7c($sp) -/* 008340 80007740 27280001 */ addiu $t0, $t9, 1 -/* 008344 80007744 AFA800AC */ sw $t0, 0xac($sp) -/* 008348 80007748 1509FE49 */ bne $t0, $t1, .L80007070 -/* 00834C 8000774C 26D60004 */ addiu $s6, $s6, 4 -.L80007750: -/* 008350 80007750 3C01800E */ lui $at, %hi(D_800E4CD8 + 4) # $at, 0x800e -/* 008354 80007754 C43D4CD8 */ lwc1 $f29, %lo(D_800E4CD8)($at) -/* 008358 80007758 C43C4CDC */ lwc1 $f28, %lo(D_800E4CD8 + 4)($at) -/* 00835C 8000775C 8FAA007C */ lw $t2, 0x7c($sp) -/* 008360 80007760 3C01800E */ lui $at, %hi(D_800E4CE0) # $at, 0x800e -/* 008364 80007764 C43E4CE0 */ lwc1 $f30, %lo(D_800E4CE0)($at) -/* 008368 80007768 3C148012 */ lui $s4, %hi(gRacerSound) # $s4, 0x8012 -/* 00836C 8000776C 8FBE00D8 */ lw $fp, 0xd8($sp) -/* 008370 80007770 29410003 */ slti $at, $t2, 3 -/* 008374 80007774 102001E8 */ beqz $at, .L80007F18 -/* 008378 80007778 26949C38 */ addiu $s4, %lo(gRacerSound) # addiu $s4, $s4, -0x63c8 -/* 00837C 8000777C 8FAC00CC */ lw $t4, 0xcc($sp) -/* 008380 80007780 0140A825 */ move $s5, $t2 -/* 008384 80007784 014C082A */ slt $at, $t2, $t4 -/* 008388 80007788 1020004D */ beqz $at, .L800078C0 -/* 00838C 8000778C AFA000AC */ sw $zero, 0xac($sp) -/* 008390 80007790 018A1823 */ subu $v1, $t4, $t2 -/* 008394 80007794 306D0003 */ andi $t5, $v1, 3 -/* 008398 80007798 11A00015 */ beqz $t5, .L800077F0 -/* 00839C 8000779C 01AA1021 */ addu $v0, $t5, $t2 -/* 0083A0 800077A0 8FAE00C8 */ lw $t6, 0xc8($sp) -/* 0083A4 800077A4 000A7880 */ sll $t7, $t2, 2 -/* 0083A8 800077A8 01CF9021 */ addu $s2, $t6, $t7 -.L800077AC: -/* 0083AC 800077AC 8E580000 */ lw $t8, ($s2) -/* 0083B0 800077B0 26B50001 */ addiu $s5, $s5, 1 -/* 0083B4 800077B4 8F110064 */ lw $s1, 0x64($t8) -/* 0083B8 800077B8 00000000 */ nop -/* 0083BC 800077BC 12200006 */ beqz $s1, .L800077D8 -/* 0083C0 800077C0 00000000 */ nop -/* 0083C4 800077C4 8E390118 */ lw $t9, 0x118($s1) -/* 0083C8 800077C8 00000000 */ nop -/* 0083CC 800077CC 13200002 */ beqz $t9, .L800077D8 -/* 0083D0 800077D0 AE990000 */ sw $t9, ($s4) -/* 0083D4 800077D4 A3200088 */ sb $zero, 0x88($t9) -.L800077D8: -/* 0083D8 800077D8 1455FFF4 */ bne $v0, $s5, .L800077AC -/* 0083DC 800077DC 26520004 */ addiu $s2, $s2, 4 -/* 0083E0 800077E0 8FA300CC */ lw $v1, 0xcc($sp) -/* 0083E4 800077E4 00000000 */ nop -/* 0083E8 800077E8 12A30036 */ beq $s5, $v1, .L800078C4 -/* 0083EC 800077EC 8FAA007C */ lw $t2, 0x7c($sp) -.L800077F0: -/* 0083F0 800077F0 8FA300CC */ lw $v1, 0xcc($sp) -/* 0083F4 800077F4 8FA800C8 */ lw $t0, 0xc8($sp) -/* 0083F8 800077F8 00154880 */ sll $t1, $s5, 2 -/* 0083FC 800077FC 00035080 */ sll $t2, $v1, 2 -/* 008400 80007800 01481021 */ addu $v0, $t2, $t0 -/* 008404 80007804 01099021 */ addu $s2, $t0, $t1 -.L80007808: -/* 008408 80007808 8E4C0000 */ lw $t4, ($s2) -/* 00840C 8000780C 00000000 */ nop -/* 008410 80007810 8D910064 */ lw $s1, 0x64($t4) -/* 008414 80007814 00000000 */ nop -/* 008418 80007818 12200006 */ beqz $s1, .L80007834 -/* 00841C 8000781C 00000000 */ nop -/* 008420 80007820 8E2D0118 */ lw $t5, 0x118($s1) -/* 008424 80007824 00000000 */ nop -/* 008428 80007828 11A00002 */ beqz $t5, .L80007834 -/* 00842C 8000782C AE8D0000 */ sw $t5, ($s4) -/* 008430 80007830 A1A00088 */ sb $zero, 0x88($t5) -.L80007834: -/* 008434 80007834 8E4B0004 */ lw $t3, 4($s2) -/* 008438 80007838 00000000 */ nop -/* 00843C 8000783C 8D710064 */ lw $s1, 0x64($t3) -/* 008440 80007840 00000000 */ nop -/* 008444 80007844 12200006 */ beqz $s1, .L80007860 -/* 008448 80007848 00000000 */ nop -/* 00844C 8000784C 8E2E0118 */ lw $t6, 0x118($s1) -/* 008450 80007850 00000000 */ nop -/* 008454 80007854 11C00002 */ beqz $t6, .L80007860 -/* 008458 80007858 AE8E0000 */ sw $t6, ($s4) -/* 00845C 8000785C A1C00088 */ sb $zero, 0x88($t6) -.L80007860: -/* 008460 80007860 8E4F0008 */ lw $t7, 8($s2) -/* 008464 80007864 00000000 */ nop -/* 008468 80007868 8DF10064 */ lw $s1, 0x64($t7) -/* 00846C 8000786C 00000000 */ nop -/* 008470 80007870 12200006 */ beqz $s1, .L8000788C -/* 008474 80007874 00000000 */ nop -/* 008478 80007878 8E380118 */ lw $t8, 0x118($s1) -/* 00847C 8000787C 00000000 */ nop -/* 008480 80007880 13000002 */ beqz $t8, .L8000788C -/* 008484 80007884 AE980000 */ sw $t8, ($s4) -/* 008488 80007888 A3000088 */ sb $zero, 0x88($t8) -.L8000788C: -/* 00848C 8000788C 8E59000C */ lw $t9, 0xc($s2) -/* 008490 80007890 26520010 */ addiu $s2, $s2, 0x10 -/* 008494 80007894 8F310064 */ lw $s1, 0x64($t9) -/* 008498 80007898 00000000 */ nop -/* 00849C 8000789C 12200006 */ beqz $s1, .L800078B8 -/* 0084A0 800078A0 00000000 */ nop -/* 0084A4 800078A4 8E290118 */ lw $t1, 0x118($s1) -/* 0084A8 800078A8 00000000 */ nop -/* 0084AC 800078AC 11200002 */ beqz $t1, .L800078B8 -/* 0084B0 800078B0 AE890000 */ sw $t1, ($s4) -/* 0084B4 800078B4 A1200088 */ sb $zero, 0x88($t1) -.L800078B8: -/* 0084B8 800078B8 1642FFD3 */ bne $s2, $v0, .L80007808 -/* 0084BC 800078BC 00000000 */ nop -.L800078C0: -/* 0084C0 800078C0 8FAA007C */ lw $t2, 0x7c($sp) -.L800078C4: -/* 0084C4 800078C4 8FB600C8 */ lw $s6, 0xc8($sp) -/* 0084C8 800078C8 194000D7 */ blez $t2, .L80007C28 -/* 0084CC 800078CC 3C01800E */ lui $at, %hi(D_800E4CE8 + 4) # $at, 0x800e -/* 0084D0 800078D0 C4394CE8 */ lwc1 $f25, %lo(D_800E4CE8)($at) -/* 0084D4 800078D4 C4384CEC */ lwc1 $f24, %lo(D_800E4CE8 + 4)($at) -/* 0084D8 800078D8 00000000 */ nop -.L800078DC: -/* 0084DC 800078DC 8EC80000 */ lw $t0, ($s6) -/* 0084E0 800078E0 8FAC007C */ lw $t4, 0x7c($sp) -/* 0084E4 800078E4 8FAD00CC */ lw $t5, 0xcc($sp) -/* 0084E8 800078E8 8D110064 */ lw $s1, 0x64($t0) -/* 0084EC 800078EC 018D082A */ slt $at, $t4, $t5 -/* 0084F0 800078F0 102000C7 */ beqz $at, .L80007C10 -/* 0084F4 800078F4 0180A825 */ move $s5, $t4 -/* 0084F8 800078F8 8FAB00C8 */ lw $t3, 0xc8($sp) -/* 0084FC 800078FC 000C7080 */ sll $t6, $t4, 2 -/* 008500 80007900 016E9021 */ addu $s2, $t3, $t6 -.L80007904: -/* 008504 80007904 8E4F0000 */ lw $t7, ($s2) -/* 008508 80007908 00000000 */ nop -/* 00850C 8000790C 8DE20064 */ lw $v0, 0x64($t7) -/* 008510 80007910 00000000 */ nop -/* 008514 80007914 104000BB */ beqz $v0, .L80007C04 -/* 008518 80007918 8FAA00CC */ lw $t2, 0xcc($sp) -/* 00851C 8000791C 8C580118 */ lw $t8, 0x118($v0) -/* 008520 80007920 00000000 */ nop -/* 008524 80007924 130000B6 */ beqz $t8, .L80007C00 -/* 008528 80007928 AE980000 */ sw $t8, ($s4) -/* 00852C 8000792C 822901D8 */ lb $t1, 0x1d8($s1) -/* 008530 80007930 8FAA00AC */ lw $t2, 0xac($sp) -/* 008534 80007934 1120000F */ beqz $t1, .L80007974 -/* 008538 80007938 000A4100 */ sll $t0, $t2, 4 -/* 00853C 8000793C 010A4021 */ addu $t0, $t0, $t2 -/* 008540 80007940 8E420000 */ lw $v0, ($s2) -/* 008544 80007944 00084080 */ sll $t0, $t0, 2 -/* 008548 80007948 02E81821 */ addu $v1, $s7, $t0 -/* 00854C 8000794C C464000C */ lwc1 $f4, 0xc($v1) -/* 008550 80007950 C4680010 */ lwc1 $f8, 0x10($v1) -/* 008554 80007954 C4700014 */ lwc1 $f16, 0x14($v1) -/* 008558 80007958 C44A000C */ lwc1 $f10, 0xc($v0) -/* 00855C 8000795C C4520010 */ lwc1 $f18, 0x10($v0) -/* 008560 80007960 C4460014 */ lwc1 $f6, 0x14($v0) -/* 008564 80007964 46045501 */ sub.s $f20, $f10, $f4 -/* 008568 80007968 46089001 */ sub.s $f0, $f18, $f8 -/* 00856C 8000796C 1000000C */ b .L800079A0 -/* 008570 80007970 46103581 */ sub.s $f22, $f6, $f16 -.L80007974: -/* 008574 80007974 8E420000 */ lw $v0, ($s2) -/* 008578 80007978 8ED00000 */ lw $s0, ($s6) -/* 00857C 8000797C C44A000C */ lwc1 $f10, 0xc($v0) -/* 008580 80007980 C4520010 */ lwc1 $f18, 0x10($v0) -/* 008584 80007984 C4460014 */ lwc1 $f6, 0x14($v0) -/* 008588 80007988 C604000C */ lwc1 $f4, 0xc($s0) -/* 00858C 8000798C C6080010 */ lwc1 $f8, 0x10($s0) -/* 008590 80007990 C6100014 */ lwc1 $f16, 0x14($s0) -/* 008594 80007994 46045501 */ sub.s $f20, $f10, $f4 -/* 008598 80007998 46089001 */ sub.s $f0, $f18, $f8 -/* 00859C 8000799C 46103581 */ sub.s $f22, $f6, $f16 -.L800079A0: -/* 0085A0 800079A0 4614A282 */ mul.s $f10, $f20, $f20 -/* 0085A4 800079A4 00000000 */ nop -/* 0085A8 800079A8 46000102 */ mul.s $f4, $f0, $f0 -/* 0085AC 800079AC 00000000 */ nop -/* 0085B0 800079B0 4616B202 */ mul.s $f8, $f22, $f22 -/* 0085B4 800079B4 46045480 */ add.s $f18, $f10, $f4 -/* 0085B8 800079B8 0C0326B4 */ jal sqrtf -/* 0085BC 800079BC 46089300 */ add.s $f12, $f18, $f8 -/* 0085C0 800079C0 8E8C0000 */ lw $t4, ($s4) -/* 0085C4 800079C4 3C01800E */ lui $at, %hi(D_800E4CF0) # $at, 0x800e -/* 0085C8 800079C8 E5800084 */ swc1 $f0, 0x84($t4) -/* 0085CC 800079CC 8E900000 */ lw $s0, ($s4) -/* 0085D0 800079D0 C4264CF0 */ lwc1 $f6, %lo(D_800E4CF0)($at) -/* 0085D4 800079D4 C6020084 */ lwc1 $f2, 0x84($s0) -/* 0085D8 800079D8 00000000 */ nop -/* 0085DC 800079DC 4606103C */ c.lt.s $f2, $f6 -/* 0085E0 800079E0 00000000 */ nop -/* 0085E4 800079E4 45000087 */ bc1f .L80007C04 -/* 0085E8 800079E8 8FAA00CC */ lw $t2, 0xcc($sp) -/* 0085EC 800079EC 46021402 */ mul.s $f16, $f2, $f2 -/* 0085F0 800079F0 C6040054 */ lwc1 $f4, 0x54($s0) -/* 0085F4 800079F4 24020001 */ li $v0, 1 -/* 0085F8 800079F8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0085FC 800079FC 4610F281 */ sub.s $f10, $f30, $f16 -/* 008600 80007A00 00000000 */ nop -/* 008604 80007A04 461E5683 */ div.s $f26, $f10, $f30 -/* 008608 80007A08 461A2482 */ mul.s $f18, $f4, $f26 -/* 00860C 80007A0C 444DF800 */ cfc1 $t5, $31 -/* 008610 80007A10 44C2F800 */ ctc1 $v0, $31 -/* 008614 80007A14 00000000 */ nop -/* 008618 80007A18 46009224 */ cvt.w.s $f8, $f18 -/* 00861C 80007A1C 4442F800 */ cfc1 $v0, $31 -/* 008620 80007A20 00000000 */ nop -/* 008624 80007A24 30420078 */ andi $v0, $v0, 0x78 -/* 008628 80007A28 10400012 */ beqz $v0, .L80007A74 -/* 00862C 80007A2C 00000000 */ nop -/* 008630 80007A30 44814000 */ mtc1 $at, $f8 -/* 008634 80007A34 24020001 */ li $v0, 1 -/* 008638 80007A38 46089201 */ sub.s $f8, $f18, $f8 -/* 00863C 80007A3C 3C018000 */ lui $at, 0x8000 -/* 008640 80007A40 44C2F800 */ ctc1 $v0, $31 -/* 008644 80007A44 00000000 */ nop -/* 008648 80007A48 46004224 */ cvt.w.s $f8, $f8 -/* 00864C 80007A4C 4442F800 */ cfc1 $v0, $31 -/* 008650 80007A50 00000000 */ nop -/* 008654 80007A54 30420078 */ andi $v0, $v0, 0x78 -/* 008658 80007A58 14400004 */ bnez $v0, .L80007A6C -/* 00865C 80007A5C 00000000 */ nop -/* 008660 80007A60 44024000 */ mfc1 $v0, $f8 -/* 008664 80007A64 10000007 */ b .L80007A84 -/* 008668 80007A68 00411025 */ or $v0, $v0, $at -.L80007A6C: -/* 00866C 80007A6C 10000005 */ b .L80007A84 -/* 008670 80007A70 2402FFFF */ li $v0, -1 -.L80007A74: -/* 008674 80007A74 44024000 */ mfc1 $v0, $f8 -/* 008678 80007A78 00000000 */ nop -/* 00867C 80007A7C 0440FFFB */ bltz $v0, .L80007A6C -/* 008680 80007A80 00000000 */ nop -.L80007A84: -/* 008684 80007A84 304B00FF */ andi $t3, $v0, 0xff -/* 008688 80007A88 44CDF800 */ ctc1 $t5, $31 -/* 00868C 80007A8C 29610080 */ slti $at, $t3, 0x80 -/* 008690 80007A90 14200002 */ bnez $at, .L80007A9C -/* 008694 80007A94 01601025 */ move $v0, $t3 -/* 008698 80007A98 2402007F */ li $v0, 127 -.L80007A9C: -/* 00869C 80007A9C 44823000 */ mtc1 $v0, $f6 -/* 0086A0 80007AA0 04410006 */ bgez $v0, .L80007ABC -/* 0086A4 80007AA4 46803421 */ cvt.d.w $f16, $f6 -/* 0086A8 80007AA8 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0086AC 80007AAC 44815800 */ mtc1 $at, $f11 -/* 0086B0 80007AB0 44805000 */ mtc1 $zero, $f10 -/* 0086B4 80007AB4 00000000 */ nop -/* 0086B8 80007AB8 462A8400 */ add.d $f16, $f16, $f10 -.L80007ABC: -/* 0086BC 80007ABC 46388102 */ mul.d $f4, $f16, $f24 -/* 0086C0 80007AC0 24020001 */ li $v0, 1 -/* 0086C4 80007AC4 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 0086C8 80007AC8 444EF800 */ cfc1 $t6, $31 -/* 0086CC 80007ACC 44C2F800 */ ctc1 $v0, $31 -/* 0086D0 80007AD0 00000000 */ nop -/* 0086D4 80007AD4 462024A4 */ cvt.w.d $f18, $f4 -/* 0086D8 80007AD8 4442F800 */ cfc1 $v0, $31 -/* 0086DC 80007ADC 00000000 */ nop -/* 0086E0 80007AE0 30420078 */ andi $v0, $v0, 0x78 -/* 0086E4 80007AE4 10400013 */ beqz $v0, .L80007B34 -/* 0086E8 80007AE8 00000000 */ nop -/* 0086EC 80007AEC 44819800 */ mtc1 $at, $f19 -/* 0086F0 80007AF0 44809000 */ mtc1 $zero, $f18 -/* 0086F4 80007AF4 24020001 */ li $v0, 1 -/* 0086F8 80007AF8 46322481 */ sub.d $f18, $f4, $f18 -/* 0086FC 80007AFC 3C018000 */ lui $at, 0x8000 -/* 008700 80007B00 44C2F800 */ ctc1 $v0, $31 -/* 008704 80007B04 00000000 */ nop -/* 008708 80007B08 462094A4 */ cvt.w.d $f18, $f18 -/* 00870C 80007B0C 4442F800 */ cfc1 $v0, $31 -/* 008710 80007B10 00000000 */ nop -/* 008714 80007B14 30420078 */ andi $v0, $v0, 0x78 -/* 008718 80007B18 14400004 */ bnez $v0, .L80007B2C -/* 00871C 80007B1C 00000000 */ nop -/* 008720 80007B20 44029000 */ mfc1 $v0, $f18 -/* 008724 80007B24 10000007 */ b .L80007B44 -/* 008728 80007B28 00411025 */ or $v0, $v0, $at -.L80007B2C: -/* 00872C 80007B2C 10000005 */ b .L80007B44 -/* 008730 80007B30 2402FFFF */ li $v0, -1 -.L80007B34: -/* 008734 80007B34 44029000 */ mfc1 $v0, $f18 -/* 008738 80007B38 00000000 */ nop -/* 00873C 80007B3C 0440FFFB */ bltz $v0, .L80007B2C -/* 008740 80007B40 00000000 */ nop -.L80007B44: -/* 008744 80007B44 92180088 */ lbu $t8, 0x88($s0) -/* 008748 80007B48 304F00FF */ andi $t7, $v0, 0xff -/* 00874C 80007B4C 44CEF800 */ ctc1 $t6, $31 -/* 008750 80007B50 030F082A */ slt $at, $t8, $t7 -/* 008754 80007B54 1020002B */ beqz $at, .L80007C04 -/* 008758 80007B58 8FAA00CC */ lw $t2, 0xcc($sp) -/* 00875C 80007B5C A20F0088 */ sb $t7, 0x88($s0) -/* 008760 80007B60 86E60000 */ lh $a2, ($s7) -/* 008764 80007B64 4600A306 */ mov.s $f12, $f20 -/* 008768 80007B68 0C002430 */ jal func_800090C0 -/* 00876C 80007B6C 4600B386 */ mov.s $f14, $f22 -/* 008770 80007B70 8E990000 */ lw $t9, ($s4) -/* 008774 80007B74 03C03825 */ move $a3, $fp -/* 008778 80007B78 A3220091 */ sb $v0, 0x91($t9) -/* 00877C 80007B7C 822901D8 */ lb $t1, 0x1d8($s1) -/* 008780 80007B80 00002825 */ move $a1, $zero -/* 008784 80007B84 11200007 */ beqz $t1, .L80007BA4 -/* 008788 80007B88 00000000 */ nop -/* 00878C 80007B8C 8EC40000 */ lw $a0, ($s6) -/* 008790 80007B90 8E460000 */ lw $a2, ($s2) -/* 008794 80007B94 0C001AFF */ jal func_80006BFC -/* 008798 80007B98 02E02825 */ move $a1, $s7 -/* 00879C 80007B9C 10000006 */ b .L80007BB8 -/* 0087A0 80007BA0 8E900000 */ lw $s0, ($s4) -.L80007BA4: -/* 0087A4 80007BA4 8EC40000 */ lw $a0, ($s6) -/* 0087A8 80007BA8 8E460000 */ lw $a2, ($s2) -/* 0087AC 80007BAC 0C001AFF */ jal func_80006BFC -/* 0087B0 80007BB0 03C03825 */ move $a3, $fp -/* 0087B4 80007BB4 8E900000 */ lw $s0, ($s4) -.L80007BB8: -/* 0087B8 80007BB8 3C01800E */ lui $at, %hi(D_800E4CF4) # $at, 0x800e -/* 0087BC 80007BBC C608005C */ lwc1 $f8, 0x5c($s0) -/* 0087C0 80007BC0 C6060068 */ lwc1 $f6, 0x68($s0) -/* 0087C4 80007BC4 00000000 */ nop -/* 0087C8 80007BC8 46064280 */ add.s $f10, $f8, $f6 -/* 0087CC 80007BCC E60A008C */ swc1 $f10, 0x8c($s0) -/* 0087D0 80007BD0 8E900000 */ lw $s0, ($s4) -/* 0087D4 80007BD4 00000000 */ nop -/* 0087D8 80007BD8 C610008C */ lwc1 $f16, 0x8c($s0) -/* 0087DC 80007BDC 00000000 */ nop -/* 0087E0 80007BE0 46008121 */ cvt.d.s $f4, $f16 -/* 0087E4 80007BE4 463C203C */ c.lt.d $f4, $f28 -/* 0087E8 80007BE8 00000000 */ nop -/* 0087EC 80007BEC 45000005 */ bc1f .L80007C04 -/* 0087F0 80007BF0 8FAA00CC */ lw $t2, 0xcc($sp) -/* 0087F4 80007BF4 C4324CF4 */ lwc1 $f18, %lo(D_800E4CF4)($at) -/* 0087F8 80007BF8 00000000 */ nop -/* 0087FC 80007BFC E612008C */ swc1 $f18, 0x8c($s0) -.L80007C00: -/* 008800 80007C00 8FAA00CC */ lw $t2, 0xcc($sp) -.L80007C04: -/* 008804 80007C04 26B50001 */ addiu $s5, $s5, 1 -/* 008808 80007C08 16AAFF3E */ bne $s5, $t2, .L80007904 -/* 00880C 80007C0C 26520004 */ addiu $s2, $s2, 4 -.L80007C10: -/* 008810 80007C10 8FA800AC */ lw $t0, 0xac($sp) -/* 008814 80007C14 8FAD007C */ lw $t5, 0x7c($sp) -/* 008818 80007C18 250C0001 */ addiu $t4, $t0, 1 -/* 00881C 80007C1C AFAC00AC */ sw $t4, 0xac($sp) -/* 008820 80007C20 158DFF2E */ bne $t4, $t5, .L800078DC -/* 008824 80007C24 26D60004 */ addiu $s6, $s6, 4 -.L80007C28: -/* 008828 80007C28 3C138012 */ lui $s3, %hi(D_80119C30) # $s3, 0x8012 -/* 00882C 80007C2C 3C108012 */ lui $s0, %hi(gRacerSound) # $s0, 0x8012 -/* 008830 80007C30 26109C38 */ addiu $s0, %lo(gRacerSound) # addiu $s0, $s0, -0x63c8 -/* 008834 80007C34 26739C30 */ addiu $s3, %lo(D_80119C30) # addiu $s3, $s3, -0x63d0 -.L80007C38: -/* 008838 80007C38 8E620000 */ lw $v0, ($s3) -/* 00883C 80007C3C 00000000 */ nop -/* 008840 80007C40 10400013 */ beqz $v0, .L80007C90 -/* 008844 80007C44 00000000 */ nop -/* 008848 80007C48 8C440048 */ lw $a0, 0x48($v0) -/* 00884C 80007C4C 00000000 */ nop -/* 008850 80007C50 1080000F */ beqz $a0, .L80007C90 -/* 008854 80007C54 00000000 */ nop -/* 008858 80007C58 904B0088 */ lbu $t3, 0x88($v0) -/* 00885C 80007C5C 00000000 */ nop -/* 008860 80007C60 29610008 */ slti $at, $t3, 8 -/* 008864 80007C64 1020000A */ beqz $at, .L80007C90 -/* 008868 80007C68 00000000 */ nop -/* 00886C 80007C6C 0C001223 */ jal sound_stop -/* 008870 80007C70 00000000 */ nop -/* 008874 80007C74 8E6E0000 */ lw $t6, ($s3) -/* 008878 80007C78 00000000 */ nop -/* 00887C 80007C7C ADC00048 */ sw $zero, 0x48($t6) -/* 008880 80007C80 8E6F0000 */ lw $t7, ($s3) -/* 008884 80007C84 00000000 */ nop -/* 008888 80007C88 A1E00074 */ sb $zero, 0x74($t7) -/* 00888C 80007C8C AE600000 */ sw $zero, ($s3) -.L80007C90: -/* 008890 80007C90 26730004 */ addiu $s3, $s3, 4 -/* 008894 80007C94 1670FFE8 */ bne $s3, $s0, .L80007C38 -/* 008898 80007C98 00000000 */ nop -/* 00889C 80007C9C 3C07800E */ lui $a3, %hi(D_800DC6D4) # $a3, 0x800e -/* 0088A0 80007CA0 24E7C6D4 */ addiu $a3, %lo(D_800DC6D4) # addiu $a3, $a3, -0x392c -/* 0088A4 80007CA4 8CE20000 */ lw $v0, ($a3) -/* 0088A8 80007CA8 24170002 */ li $s7, 2 -/* 0088AC 80007CAC 03C2082A */ slt $at, $fp, $v0 -/* 0088B0 80007CB0 10200003 */ beqz $at, .L80007CC0 -/* 0088B4 80007CB4 005EC023 */ subu $t8, $v0, $fp -/* 0088B8 80007CB8 10000002 */ b .L80007CC4 -/* 0088BC 80007CBC ACF80000 */ sw $t8, ($a3) -.L80007CC0: -/* 0088C0 80007CC0 ACE00000 */ sw $zero, ($a3) -.L80007CC4: -/* 0088C4 80007CC4 8FB900CC */ lw $t9, 0xcc($sp) -/* 0088C8 80007CC8 8FB200C8 */ lw $s2, 0xc8($sp) -/* 0088CC 80007CCC 2B210002 */ slti $at, $t9, 2 -/* 0088D0 80007CD0 14200054 */ bnez $at, .L80007E24 -/* 0088D4 80007CD4 24150001 */ li $s5, 1 -/* 0088D8 80007CD8 26520004 */ addiu $s2, $s2, 4 -/* 0088DC 80007CDC 241EFFFF */ li $fp, -1 -/* 0088E0 80007CE0 24160002 */ li $s6, 2 -.L80007CE4: -/* 0088E4 80007CE4 8E490000 */ lw $t1, ($s2) -/* 0088E8 80007CE8 00000000 */ nop -/* 0088EC 80007CEC 8D220064 */ lw $v0, 0x64($t1) -/* 0088F0 80007CF0 00000000 */ nop -/* 0088F4 80007CF4 10400048 */ beqz $v0, .L80007E18 -/* 0088F8 80007CF8 8FAC00CC */ lw $t4, 0xcc($sp) -/* 0088FC 80007CFC 8C4A0118 */ lw $t2, 0x118($v0) -/* 008900 80007D00 00000000 */ nop -/* 008904 80007D04 AE8A0000 */ sw $t2, ($s4) -/* 008908 80007D08 11400042 */ beqz $t2, .L80007E14 -/* 00890C 80007D0C 01408025 */ move $s0, $t2 -/* 008910 80007D10 91480074 */ lbu $t0, 0x74($t2) -/* 008914 80007D14 00000000 */ nop -/* 008918 80007D18 1500003F */ bnez $t0, .L80007E18 -/* 00891C 80007D1C 8FAC00CC */ lw $t4, 0xcc($sp) -/* 008920 80007D20 954C0000 */ lhu $t4, ($t2) -/* 008924 80007D24 24060014 */ li $a2, 20 -/* 008928 80007D28 1180003A */ beqz $t4, .L80007E14 -/* 00892C 80007D2C 03C02025 */ move $a0, $fp -/* 008930 80007D30 3C138012 */ lui $s3, %hi(D_80119C30) # $s3, 0x8012 -/* 008934 80007D34 91450088 */ lbu $a1, 0x88($t2) -/* 008938 80007D38 26739C30 */ addiu $s3, %lo(D_80119C30) # addiu $s3, $s3, -0x63d0 -/* 00893C 80007D3C 00001825 */ move $v1, $zero -.L80007D40: -/* 008940 80007D40 8E710000 */ lw $s1, ($s3) -/* 008944 80007D44 28A10009 */ slti $at, $a1, 9 -/* 008948 80007D48 1220000E */ beqz $s1, .L80007D84 -/* 00894C 80007D4C 00000000 */ nop -/* 008950 80007D50 922D0088 */ lbu $t5, 0x88($s1) -/* 008954 80007D54 00000000 */ nop -/* 008958 80007D58 00AD1023 */ subu $v0, $a1, $t5 -/* 00895C 80007D5C 00C2082A */ slt $at, $a2, $v0 -/* 008960 80007D60 1020000B */ beqz $at, .L80007D90 -/* 008964 80007D64 00000000 */ nop -/* 008968 80007D68 8CEB0000 */ lw $t3, ($a3) -/* 00896C 80007D6C 00000000 */ nop -/* 008970 80007D70 15600007 */ bnez $t3, .L80007D90 -/* 008974 80007D74 00000000 */ nop -/* 008978 80007D78 00602025 */ move $a0, $v1 -/* 00897C 80007D7C 10000004 */ b .L80007D90 -/* 008980 80007D80 00403025 */ move $a2, $v0 -.L80007D84: -/* 008984 80007D84 14200002 */ bnez $at, .L80007D90 -/* 008988 80007D88 00000000 */ nop -/* 00898C 80007D8C 00602025 */ move $a0, $v1 -.L80007D90: -/* 008990 80007D90 24630001 */ addiu $v1, $v1, 1 -/* 008994 80007D94 1476FFEA */ bne $v1, $s6, .L80007D40 -/* 008998 80007D98 26730004 */ addiu $s3, $s3, 4 -/* 00899C 80007D9C 109E001D */ beq $a0, $fp, .L80007E14 -/* 0089A0 80007DA0 00047080 */ sll $t6, $a0, 2 -/* 0089A4 80007DA4 3C0F8012 */ lui $t7, %hi(D_80119C30) # $t7, 0x8012 -/* 0089A8 80007DA8 25EF9C30 */ addiu $t7, %lo(D_80119C30) # addiu $t7, $t7, -0x63d0 -/* 0089AC 80007DAC A2170074 */ sb $s7, 0x74($s0) -/* 0089B0 80007DB0 01CF8821 */ addu $s1, $t6, $t7 -/* 0089B4 80007DB4 8E220000 */ lw $v0, ($s1) -/* 0089B8 80007DB8 00000000 */ nop -/* 0089BC 80007DBC 10400012 */ beqz $v0, .L80007E08 -/* 0089C0 80007DC0 00000000 */ nop -/* 0089C4 80007DC4 8C440048 */ lw $a0, 0x48($v0) -/* 0089C8 80007DC8 00000000 */ nop -/* 0089CC 80007DCC 1080000C */ beqz $a0, .L80007E00 -/* 0089D0 80007DD0 240A003C */ li $t2, 60 -/* 0089D4 80007DD4 0C001223 */ jal sound_stop -/* 0089D8 80007DD8 00000000 */ nop -/* 0089DC 80007DDC 8E380000 */ lw $t8, ($s1) -/* 0089E0 80007DE0 24190001 */ li $t9, 1 -/* 0089E4 80007DE4 AF000048 */ sw $zero, 0x48($t8) -/* 0089E8 80007DE8 8E890000 */ lw $t1, ($s4) -/* 0089EC 80007DEC 3C07800E */ lui $a3, %hi(D_800DC6D4) # $a3, 0x800e -/* 0089F0 80007DF0 A1390074 */ sb $t9, 0x74($t1) -/* 0089F4 80007DF4 8E220000 */ lw $v0, ($s1) -/* 0089F8 80007DF8 24E7C6D4 */ addiu $a3, %lo(D_800DC6D4) # addiu $a3, $a3, -0x392c -/* 0089FC 80007DFC 240A003C */ li $t2, 60 -.L80007E00: -/* 008A00 80007E00 ACEA0000 */ sw $t2, ($a3) -/* 008A04 80007E04 A0400074 */ sb $zero, 0x74($v0) -.L80007E08: -/* 008A08 80007E08 8E880000 */ lw $t0, ($s4) -/* 008A0C 80007E0C 00000000 */ nop -/* 008A10 80007E10 AE280000 */ sw $t0, ($s1) -.L80007E14: -/* 008A14 80007E14 8FAC00CC */ lw $t4, 0xcc($sp) -.L80007E18: -/* 008A18 80007E18 26B50001 */ addiu $s5, $s5, 1 -/* 008A1C 80007E1C 16ACFFB1 */ bne $s5, $t4, .L80007CE4 -/* 008A20 80007E20 26520004 */ addiu $s2, $s2, 4 -.L80007E24: -/* 008A24 80007E24 0C0044E7 */ jal get_race_countdown -/* 008A28 80007E28 24170002 */ li $s7, 2 -/* 008A2C 80007E2C 1C40003A */ bgtz $v0, .L80007F18 -/* 008A30 80007E30 3C138012 */ lui $s3, %hi(D_80119C30) # $s3, 0x8012 -/* 008A34 80007E34 3C108012 */ lui $s0, %hi(gRacerSound) # $s0, 0x8012 -/* 008A38 80007E38 26109C38 */ addiu $s0, %lo(gRacerSound) # addiu $s0, $s0, -0x63c8 -/* 008A3C 80007E3C 26739C30 */ addiu $s3, %lo(D_80119C30) # addiu $s3, $s3, -0x63d0 -.L80007E40: -/* 008A40 80007E40 8E710000 */ lw $s1, ($s3) -/* 008A44 80007E44 00000000 */ nop -/* 008A48 80007E48 12200030 */ beqz $s1, .L80007F0C -/* 008A4C 80007E4C 00000000 */ nop -/* 008A50 80007E50 96260000 */ lhu $a2, ($s1) -/* 008A54 80007E54 00000000 */ nop -/* 008A58 80007E58 10C0002C */ beqz $a2, .L80007F0C -/* 008A5C 80007E5C 00000000 */ nop -/* 008A60 80007E60 922D0074 */ lbu $t5, 0x74($s1) -/* 008A64 80007E64 24010001 */ li $at, 1 -/* 008A68 80007E68 15A10003 */ bne $t5, $at, .L80007E78 -/* 008A6C 80007E6C 00000000 */ nop -/* 008A70 80007E70 10000026 */ b .L80007F0C -/* 008A74 80007E74 A2370074 */ sb $s7, 0x74($s1) -.L80007E78: -/* 008A78 80007E78 8E240048 */ lw $a0, 0x48($s1) -/* 008A7C 80007E7C 26250048 */ addiu $a1, $s1, 0x48 -/* 008A80 80007E80 14800005 */ bnez $a0, .L80007E98 -/* 008A84 80007E84 00000000 */ nop -/* 008A88 80007E88 0C0007C5 */ jal func_80001F14 -/* 008A8C 80007E8C 30C4FFFF */ andi $a0, $a2, 0xffff -/* 008A90 80007E90 8E240048 */ lw $a0, 0x48($s1) -/* 008A94 80007E94 00000000 */ nop -.L80007E98: -/* 008A98 80007E98 1080001C */ beqz $a0, .L80007F0C -/* 008A9C 80007E9C 00000000 */ nop -/* 008AA0 80007EA0 8E250078 */ lw $a1, 0x78($s1) -/* 008AA4 80007EA4 8E26007C */ lw $a2, 0x7c($s1) -/* 008AA8 80007EA8 8E270080 */ lw $a3, 0x80($s1) -/* 008AAC 80007EAC 0C0026DF */ jal func_80009B7C -/* 008AB0 80007EB0 00000000 */ nop -/* 008AB4 80007EB4 92260088 */ lbu $a2, 0x88($s1) -/* 008AB8 80007EB8 8E240048 */ lw $a0, 0x48($s1) -/* 008ABC 80007EBC 00065A00 */ sll $t3, $a2, 8 -/* 008AC0 80007EC0 01603025 */ move $a2, $t3 -/* 008AC4 80007EC4 0C00127E */ jal sound_event_update -/* 008AC8 80007EC8 24050008 */ li $a1, 8 -/* 008ACC 80007ECC 8E240048 */ lw $a0, 0x48($s1) -/* 008AD0 80007ED0 8E26008C */ lw $a2, 0x8c($s1) -/* 008AD4 80007ED4 0C00127E */ jal sound_event_update -/* 008AD8 80007ED8 24050010 */ li $a1, 16 -/* 008ADC 80007EDC 8FAE007C */ lw $t6, 0x7c($sp) -/* 008AE0 80007EE0 24010001 */ li $at, 1 -/* 008AE4 80007EE4 11C10002 */ beq $t6, $at, .L80007EF0 -/* 008AE8 80007EE8 240F0040 */ li $t7, 64 -/* 008AEC 80007EEC A22F0091 */ sb $t7, 0x91($s1) -.L80007EF0: -/* 008AF0 80007EF0 8E240048 */ lw $a0, 0x48($s1) -/* 008AF4 80007EF4 92260091 */ lbu $a2, 0x91($s1) -/* 008AF8 80007EF8 0C00127E */ jal sound_event_update -/* 008AFC 80007EFC 24050004 */ li $a1, 4 -/* 008B00 80007F00 8E240048 */ lw $a0, 0x48($s1) -/* 008B04 80007F04 0C001181 */ jal func_80004604 -/* 008B08 80007F08 24050046 */ li $a1, 70 -.L80007F0C: -/* 008B0C 80007F0C 26730004 */ addiu $s3, $s3, 4 -/* 008B10 80007F10 1670FFCB */ bne $s3, $s0, .L80007E40 -/* 008B14 80007F14 00000000 */ nop -.L80007F18: -/* 008B18 80007F18 8FBF006C */ lw $ra, 0x6c($sp) -/* 008B1C 80007F1C C7B50018 */ lwc1 $f21, 0x18($sp) -/* 008B20 80007F20 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 008B24 80007F24 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 008B28 80007F28 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 008B2C 80007F2C C7B90028 */ lwc1 $f25, 0x28($sp) -/* 008B30 80007F30 C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 008B34 80007F34 C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 008B38 80007F38 C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 008B3C 80007F3C C7BD0038 */ lwc1 $f29, 0x38($sp) -/* 008B40 80007F40 C7BC003C */ lwc1 $f28, 0x3c($sp) -/* 008B44 80007F44 C7BF0040 */ lwc1 $f31, 0x40($sp) -/* 008B48 80007F48 C7BE0044 */ lwc1 $f30, 0x44($sp) -/* 008B4C 80007F4C 8FB00048 */ lw $s0, 0x48($sp) -/* 008B50 80007F50 8FB1004C */ lw $s1, 0x4c($sp) -/* 008B54 80007F54 8FB20050 */ lw $s2, 0x50($sp) -/* 008B58 80007F58 8FB30054 */ lw $s3, 0x54($sp) -/* 008B5C 80007F5C 8FB40058 */ lw $s4, 0x58($sp) -/* 008B60 80007F60 8FB5005C */ lw $s5, 0x5c($sp) -/* 008B64 80007F64 8FB60060 */ lw $s6, 0x60($sp) -/* 008B68 80007F68 8FB70064 */ lw $s7, 0x64($sp) -/* 008B6C 80007F6C 8FBE0068 */ lw $fp, 0x68($sp) -/* 008B70 80007F70 03E00008 */ jr $ra -/* 008B74 80007F74 27BD00C8 */ addiu $sp, $sp, 0xc8 diff --git a/asm/non_matchings/audiosfx/_handleEvent.s b/asm/non_matchings/audiosfx/_handleEvent.s deleted file mode 100644 index 29595cec..00000000 --- a/asm/non_matchings/audiosfx/_handleEvent.s +++ /dev/null @@ -1,884 +0,0 @@ -.late_rodata -glabel jpt_800E4BB0 -.word L800035C4, L80003A0C, L80004090, L80003B2C, L80004090, L80004090, L80004090, L80003C8C, L80004090, L80004090, L80004090, L80004090, L80004090, L80004090, L80004090, L80003BA4 - -.text -glabel _handleEvent -/* 004070 80003470 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 004074 80003474 AFBE0038 */ sw $fp, 0x38($sp) -/* 004078 80003478 AFB70034 */ sw $s7, 0x34($sp) -/* 00407C 8000347C AFB5002C */ sw $s5, 0x2c($sp) -/* 004080 80003480 AFB1001C */ sw $s1, 0x1c($sp) -/* 004084 80003484 240E0001 */ li $t6, 1 -/* 004088 80003488 00A0A825 */ move $s5, $a1 -/* 00408C 8000348C 0080B825 */ move $s7, $a0 -/* 004090 80003490 AFBF003C */ sw $ra, 0x3c($sp) -/* 004094 80003494 AFB60030 */ sw $s6, 0x30($sp) -/* 004098 80003498 AFB40028 */ sw $s4, 0x28($sp) -/* 00409C 8000349C AFB30024 */ sw $s3, 0x24($sp) -/* 0040A0 800034A0 AFB20020 */ sw $s2, 0x20($sp) -/* 0040A4 800034A4 AFB00018 */ sw $s0, 0x18($sp) -/* 0040A8 800034A8 AFAE0080 */ sw $t6, 0x80($sp) -/* 0040AC 800034AC AFA0007C */ sw $zero, 0x7c($sp) -/* 0040B0 800034B0 00008825 */ move $s1, $zero -/* 0040B4 800034B4 AFA00074 */ sw $zero, 0x74($sp) -/* 0040B8 800034B8 241E0001 */ li $fp, 1 -/* 0040BC 800034BC 8FAF0074 */ lw $t7, 0x74($sp) -.L800034C0: -/* 0040C0 800034C0 00000000 */ nop -/* 0040C4 800034C4 11E00008 */ beqz $t7, .L800034E8 -/* 0040C8 800034C8 00000000 */ nop -/* 0040CC 800034CC AFB100A0 */ sw $s1, 0xa0($sp) -/* 0040D0 800034D0 96B80000 */ lhu $t8, ($s5) -/* 0040D4 800034D4 00000000 */ nop -/* 0040D8 800034D8 A7B8009C */ sh $t8, 0x9c($sp) -/* 0040DC 800034DC 8EB90008 */ lw $t9, 8($s5) -/* 0040E0 800034E0 27B5009C */ addiu $s5, $sp, 0x9c -/* 0040E4 800034E4 AFB900A4 */ sw $t9, 0xa4($sp) -.L800034E8: -/* 0040E8 800034E8 8EB10004 */ lw $s1, 4($s5) -/* 0040EC 800034EC 00000000 */ nop -/* 0040F0 800034F0 8E320008 */ lw $s2, 8($s1) -/* 0040F4 800034F4 00000000 */ nop -/* 0040F8 800034F8 16400005 */ bnez $s2, .L80003510 -/* 0040FC 800034FC 27A40072 */ addiu $a0, $sp, 0x72 -/* 004100 80003500 0C0010B3 */ jal func_800042CC -/* 004104 80003504 27A50070 */ addiu $a1, $sp, 0x70 -/* 004108 80003508 100002F5 */ b .L800040E0 -/* 00410C 8000350C 8FBF003C */ lw $ra, 0x3c($sp) -.L80003510: -/* 004110 80003510 8E280000 */ lw $t0, ($s1) -/* 004114 80003514 8E560004 */ lw $s6, 4($s2) -/* 004118 80003518 AFA80074 */ sw $t0, 0x74($sp) -/* 00411C 8000351C 96A30000 */ lhu $v1, ($s5) -/* 004120 80003520 00000000 */ nop -/* 004124 80003524 28610101 */ slti $at, $v1, 0x101 -/* 004128 80003528 1420000C */ bnez $at, .L8000355C -/* 00412C 8000352C 00601025 */ move $v0, $v1 -/* 004130 80003530 24010200 */ li $at, 512 -/* 004134 80003534 104102B5 */ beq $v0, $at, .L8000400C -/* 004138 80003538 24010400 */ li $at, 1024 -/* 00413C 8000353C 10410133 */ beq $v0, $at, .L80003A0C -/* 004140 80003540 24010800 */ li $at, 2048 -/* 004144 80003544 1041020C */ beq $v0, $at, .L80003D78 -/* 004148 80003548 24011000 */ li $at, 4096 -/* 00414C 8000354C 10410130 */ beq $v0, $at, .L80003A10 -/* 004150 80003550 24011000 */ li $at, 4096 -/* 004154 80003554 100002CF */ b .L80004094 -/* 004158 80003558 306202D1 */ andi $v0, $v1, 0x2d1 -.L8000355C: -/* 00415C 8000355C 28410041 */ slti $at, $v0, 0x41 -/* 004160 80003560 14200007 */ bnez $at, .L80003580 -/* 004164 80003564 24010080 */ li $at, 128 -/* 004168 80003568 104102A1 */ beq $v0, $at, .L80003FF0 -/* 00416C 8000356C 24010100 */ li $at, 256 -/* 004170 80003570 104101A5 */ beq $v0, $at, .L80003C08 -/* 004174 80003574 00000000 */ nop -/* 004178 80003578 100002C6 */ b .L80004094 -/* 00417C 8000357C 306202D1 */ andi $v0, $v1, 0x2d1 -.L80003580: -/* 004180 80003580 28410011 */ slti $at, $v0, 0x11 -/* 004184 80003584 14200006 */ bnez $at, .L800035A0 -/* 004188 80003588 2449FFFF */ addiu $t1, $v0, -1 -/* 00418C 8000358C 24010040 */ li $at, 64 -/* 004190 80003590 1041023E */ beq $v0, $at, .L80003E8C -/* 004194 80003594 00000000 */ nop -/* 004198 80003598 100002BE */ b .L80004094 -/* 00419C 8000359C 306202D1 */ andi $v0, $v1, 0x2d1 -.L800035A0: -/* 0041A0 800035A0 2D210010 */ sltiu $at, $t1, 0x10 -/* 0041A4 800035A4 102002BA */ beqz $at, .L80004090 -/* 0041A8 800035A8 00094880 */ sll $t1, $t1, 2 -/* 0041AC 800035AC 3C01800E */ lui $at, %hi(jpt_800E4BB0) # $at, 0x800e -/* 0041B0 800035B0 00290821 */ addu $at, $at, $t1 -/* 0041B4 800035B4 8C294BB0 */ lw $t1, %lo(jpt_800E4BB0)($at) -/* 0041B8 800035B8 00000000 */ nop -/* 0041BC 800035BC 01200008 */ jr $t1 -/* 0041C0 800035C0 00000000 */ nop -glabel L800035C4 -/* 0041C4 800035C4 9222003F */ lbu $v0, 0x3f($s1) -/* 0041C8 800035C8 24010005 */ li $at, 5 -/* 0041CC 800035CC 10410004 */ beq $v0, $at, .L800035E0 -/* 0041D0 800035D0 3C0B800E */ lui $t3, %hi(D_800DC6C4) # $t3, 0x800e -/* 0041D4 800035D4 24010004 */ li $at, 4 -/* 0041D8 800035D8 144102C1 */ bne $v0, $at, .L800040E0 -/* 0041DC 800035DC 8FBF003C */ lw $ra, 0x3c($sp) -.L800035E0: -/* 0041E0 800035E0 A7A000CA */ sh $zero, 0xca($sp) -/* 0041E4 800035E4 922A0036 */ lbu $t2, 0x36($s1) -/* 0041E8 800035E8 A3A000CC */ sb $zero, 0xcc($sp) -/* 0041EC 800035EC A7AA00C8 */ sh $t2, 0xc8($sp) -/* 0041F0 800035F0 8EEC0048 */ lw $t4, 0x48($s7) -/* 0041F4 800035F4 856BC6C4 */ lh $t3, %lo(D_800DC6C4)($t3) -/* 0041F8 800035F8 2625000C */ addiu $a1, $s1, 0xc -/* 0041FC 800035FC 016C802A */ slt $s0, $t3, $t4 -/* 004200 80003600 3A100001 */ xori $s0, $s0, 1 -/* 004204 80003604 12000006 */ beqz $s0, .L80003620 -/* 004208 80003608 00000000 */ nop -/* 00420C 8000360C 922D003E */ lbu $t5, 0x3e($s1) -/* 004210 80003610 00000000 */ nop -/* 004214 80003614 31AE0010 */ andi $t6, $t5, 0x10 -/* 004218 80003618 11C00006 */ beqz $t6, .L80003634 -/* 00421C 8000361C 8FAF007C */ lw $t7, 0x7c($sp) -.L80003620: -/* 004220 80003620 8EE40038 */ lw $a0, 0x38($s7) -/* 004224 80003624 0C032542 */ jal alSynAllocVoice -/* 004228 80003628 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 00422C 8000362C AFA2007C */ sw $v0, 0x7c($sp) -/* 004230 80003630 8FAF007C */ lw $t7, 0x7c($sp) -.L80003634: -/* 004234 80003634 001E3400 */ sll $a2, $fp, 0x10 -/* 004238 80003638 11E00005 */ beqz $t7, .L80003650 -/* 00423C 8000363C 0006C403 */ sra $t8, $a2, 0x10 -/* 004240 80003640 8EE40038 */ lw $a0, 0x38($s7) -/* 004244 80003644 8E250014 */ lw $a1, 0x14($s1) -/* 004248 80003648 0C0196A0 */ jal func_80065A80 -/* 00424C 8000364C 03003025 */ move $a2, $t8 -.L80003650: -/* 004250 80003650 8FB9007C */ lw $t9, 0x7c($sp) -/* 004254 80003654 9222003E */ lbu $v0, 0x3e($s1) -/* 004258 80003658 17200048 */ bnez $t9, .L8000377C -/* 00425C 8000365C 2633000C */ addiu $s3, $s1, 0xc -/* 004260 80003660 30480012 */ andi $t0, $v0, 0x12 -/* 004264 80003664 15000005 */ bnez $t0, .L8000367C -/* 004268 80003668 240A0004 */ li $t2, 4 -/* 00426C 8000366C 8E290038 */ lw $t1, 0x38($s1) -/* 004270 80003670 00000000 */ nop -/* 004274 80003674 1920000B */ blez $t1, .L800036A4 -/* 004278 80003678 00000000 */ nop -.L8000367C: -/* 00427C 8000367C 8E2B0038 */ lw $t3, 0x38($s1) -/* 004280 80003680 A22A003F */ sb $t2, 0x3f($s1) -/* 004284 80003684 256CFFFF */ addiu $t4, $t3, -1 -/* 004288 80003688 AE2C0038 */ sw $t4, 0x38($s1) -/* 00428C 8000368C 26E40014 */ addiu $a0, $s7, 0x14 -/* 004290 80003690 02A02825 */ move $a1, $s5 -/* 004294 80003694 0C03246B */ jal alEvtqPostEvent -/* 004298 80003698 34068235 */ li $a2, 33333 -/* 00429C 8000369C 10000290 */ b .L800040E0 -/* 0042A0 800036A0 8FBF003C */ lw $ra, 0x3c($sp) -.L800036A4: -/* 0042A4 800036A4 12000031 */ beqz $s0, .L8000376C -/* 0042A8 800036A8 3C02800E */ lui $v0, %hi(D_800DC6B0 + 4) # $v0, 0x800e -/* 0042AC 800036AC 8C42C6B4 */ lw $v0, %lo(D_800DC6B0 + 4)($v0) -/* 0042B0 800036B0 27B4005C */ addiu $s4, $sp, 0x5c -/* 0042B4 800036B4 24130003 */ li $s3, 3 -/* 0042B8 800036B8 24120003 */ li $s2, 3 -.L800036BC: -/* 0042BC 800036BC 922D0036 */ lbu $t5, 0x36($s1) -/* 0042C0 800036C0 904E0036 */ lbu $t6, 0x36($v0) -/* 0042C4 800036C4 00000000 */ nop -/* 0042C8 800036C8 01AE082A */ slt $at, $t5, $t6 -/* 0042CC 800036CC 14200015 */ bnez $at, .L80003724 -/* 0042D0 800036D0 00000000 */ nop -/* 0042D4 800036D4 904F003F */ lbu $t7, 0x3f($v0) -/* 0042D8 800036D8 24180080 */ li $t8, 128 -/* 0042DC 800036DC 124F0011 */ beq $s2, $t7, .L80003724 -/* 0042E0 800036E0 26E40014 */ addiu $a0, $s7, 0x14 -/* 0042E4 800036E4 A7B8005C */ sh $t8, 0x5c($sp) -/* 0042E8 800036E8 AFA20060 */ sw $v0, 0x60($sp) -/* 0042EC 800036EC A053003F */ sb $s3, 0x3f($v0) -/* 0042F0 800036F0 00008025 */ move $s0, $zero -/* 0042F4 800036F4 AFA2006C */ sw $v0, 0x6c($sp) -/* 0042F8 800036F8 02802825 */ move $a1, $s4 -/* 0042FC 800036FC 0C03246B */ jal alEvtqPostEvent -/* 004300 80003700 240603E8 */ li $a2, 1000 -/* 004304 80003704 8FA2006C */ lw $v0, 0x6c($sp) -/* 004308 80003708 8EE40038 */ lw $a0, 0x38($s7) -/* 00430C 8000370C 00003025 */ move $a2, $zero -/* 004310 80003710 240703E8 */ li $a3, 1000 -/* 004314 80003714 0C032594 */ jal alSynSetVol -/* 004318 80003718 2445000C */ addiu $a1, $v0, 0xc -/* 00431C 8000371C 8FA2006C */ lw $v0, 0x6c($sp) -/* 004320 80003720 00000000 */ nop -.L80003724: -/* 004324 80003724 8C420004 */ lw $v0, 4($v0) -/* 004328 80003728 12000003 */ beqz $s0, .L80003738 -/* 00432C 8000372C 00000000 */ nop -/* 004330 80003730 1440FFE2 */ bnez $v0, .L800036BC -/* 004334 80003734 00000000 */ nop -.L80003738: -/* 004338 80003738 16000008 */ bnez $s0, .L8000375C -/* 00433C 8000373C 24190002 */ li $t9, 2 -/* 004340 80003740 AE390038 */ sw $t9, 0x38($s1) -/* 004344 80003744 26E40014 */ addiu $a0, $s7, 0x14 -/* 004348 80003748 02A02825 */ move $a1, $s5 -/* 00434C 8000374C 0C03246B */ jal alEvtqPostEvent -/* 004350 80003750 240603E9 */ li $a2, 1001 -/* 004354 80003754 10000262 */ b .L800040E0 -/* 004358 80003758 8FBF003C */ lw $ra, 0x3c($sp) -.L8000375C: -/* 00435C 8000375C 0C001043 */ jal func_8000410C -/* 004360 80003760 02202025 */ move $a0, $s1 -/* 004364 80003764 1000025E */ b .L800040E0 -/* 004368 80003768 8FBF003C */ lw $ra, 0x3c($sp) -.L8000376C: -/* 00436C 8000376C 0C001043 */ jal func_8000410C -/* 004370 80003770 02202025 */ move $a0, $s1 -/* 004374 80003774 1000025A */ b .L800040E0 -/* 004378 80003778 8FBF003C */ lw $ra, 0x3c($sp) -.L8000377C: -/* 00437C 8000377C 34480004 */ ori $t0, $v0, 4 -/* 004380 80003780 A228003E */ sb $t0, 0x3e($s1) -/* 004384 80003784 8E460008 */ lw $a2, 8($s2) -/* 004388 80003788 8EE40038 */ lw $a0, 0x38($s7) -/* 00438C 8000378C 02602825 */ move $a1, $s3 -/* 004390 80003790 0C0325BC */ jal alSynStartVoice -/* 004394 80003794 26F40014 */ addiu $s4, $s7, 0x14 -/* 004398 80003798 24090001 */ li $t1, 1 -/* 00439C 8000379C A229003F */ sb $t1, 0x3f($s1) -/* 0043A0 800037A0 3C0A800E */ lui $t2, %hi(D_800DC6C4) # $t2, 0x800e -/* 0043A4 800037A4 854AC6C4 */ lh $t2, %lo(D_800DC6C4)($t2) -/* 0043A8 800037A8 3C01800E */ lui $at, %hi(D_800DC6C4) # $at, 0x800e -/* 0043AC 800037AC 254B0001 */ addiu $t3, $t2, 1 -/* 0043B0 800037B0 A42BC6C4 */ sh $t3, %lo(D_800DC6C4)($at) -/* 0043B4 800037B4 8E430000 */ lw $v1, ($s2) -/* 0043B8 800037B8 C628002C */ lwc1 $f8, 0x2c($s1) -/* 0043BC 800037BC 8C6C0000 */ lw $t4, ($v1) -/* 0043C0 800037C0 C6300028 */ lwc1 $f16, 0x28($s1) -/* 0043C4 800037C4 448C2000 */ mtc1 $t4, $f4 -/* 0043C8 800037C8 862B0034 */ lh $t3, 0x34($s1) -/* 0043CC 800037CC 468021A0 */ cvt.s.w $f6, $f4 -/* 0043D0 800037D0 906A000C */ lbu $t2, 0xc($v1) -/* 0043D4 800037D4 92CF0002 */ lbu $t7, 2($s6) -/* 0043D8 800037D8 46083283 */ div.s $f10, $f6, $f8 -/* 0043DC 800037DC 014B0019 */ multu $t2, $t3 -/* 0043E0 800037E0 31F8003F */ andi $t8, $t7, 0x3f -/* 0043E4 800037E4 3C0E8012 */ lui $t6, %hi(gSoundChannelVolume) # $t6, 0x8012 -/* 0043E8 800037E8 8DCE9C28 */ lw $t6, %lo(gSoundChannelVolume)($t6) -/* 0043EC 800037EC 0018C840 */ sll $t9, $t8, 1 -/* 0043F0 800037F0 01D94021 */ addu $t0, $t6, $t9 -/* 0043F4 800037F4 85090000 */ lh $t1, ($t0) -/* 0043F8 800037F8 3C19800E */ lui $t9, %hi(sfxVolumeSlider) # $t9, 0x800e -/* 0043FC 800037FC 46105483 */ div.s $f18, $f10, $f16 -/* 004400 80003800 00006012 */ mflo $t4 -/* 004404 80003804 444DF800 */ cfc1 $t5, $31 -/* 004408 80003808 00000000 */ nop -/* 00440C 8000380C 35A10003 */ ori $at, $t5, 3 -/* 004410 80003810 38210002 */ xori $at, $at, 2 -/* 004414 80003814 44C1F800 */ ctc1 $at, $31 -/* 004418 80003818 24013F01 */ li $at, 16129 -/* 00441C 8000381C 46009124 */ cvt.w.s $f4, $f18 -/* 004420 80003820 44CDF800 */ ctc1 $t5, $31 -/* 004424 80003824 924D000D */ lbu $t5, 0xd($s2) -/* 004428 80003828 44102000 */ mfc1 $s0, $f4 -/* 00442C 8000382C 018D0019 */ multu $t4, $t5 -/* 004430 80003830 00007812 */ mflo $t7 -/* 004434 80003834 00000000 */ nop -/* 004438 80003838 00000000 */ nop -/* 00443C 8000383C 01E1001A */ div $zero, $t7, $at -/* 004440 80003840 24017FFF */ li $at, 32767 -/* 004444 80003844 0000C012 */ mflo $t8 -/* 004448 80003848 00000000 */ nop -/* 00444C 8000384C 00000000 */ nop -/* 004450 80003850 01380019 */ multu $t1, $t8 -/* 004454 80003854 00002012 */ mflo $a0 -/* 004458 80003858 00000000 */ nop -/* 00445C 8000385C 00000000 */ nop -/* 004460 80003860 0081001A */ div $zero, $a0, $at -/* 004464 80003864 00007012 */ mflo $t6 -/* 004468 80003868 25C4FFFF */ addiu $a0, $t6, -1 -/* 00446C 8000386C 04810003 */ bgez $a0, .L8000387C -/* 004470 80003870 00801025 */ move $v0, $a0 -/* 004474 80003874 10000001 */ b .L8000387C -/* 004478 80003878 00001025 */ move $v0, $zero -.L8000387C: -/* 00447C 8000387C 8F39C6C0 */ lw $t9, %lo(sfxVolumeSlider)($t9) -/* 004480 80003880 8EE40038 */ lw $a0, 0x38($s7) -/* 004484 80003884 00590019 */ multu $v0, $t9 -/* 004488 80003888 02602825 */ move $a1, $s3 -/* 00448C 8000388C 00003025 */ move $a2, $zero -/* 004490 80003890 00003825 */ move $a3, $zero -/* 004494 80003894 00001012 */ mflo $v0 -/* 004498 80003898 00024202 */ srl $t0, $v0, 8 -/* 00449C 8000389C 0C032594 */ jal alSynSetVol -/* 0044A0 800038A0 AFA80090 */ sw $t0, 0x90($sp) -/* 0044A4 800038A4 8FA20090 */ lw $v0, 0x90($sp) -/* 0044A8 800038A8 8EE40038 */ lw $a0, 0x38($s7) -/* 0044AC 800038AC 00023400 */ sll $a2, $v0, 0x10 -/* 0044B0 800038B0 00065403 */ sra $t2, $a2, 0x10 -/* 0044B4 800038B4 01403025 */ move $a2, $t2 -/* 0044B8 800038B8 02602825 */ move $a1, $s3 -/* 0044BC 800038BC 0C032594 */ jal alSynSetVol -/* 0044C0 800038C0 02003825 */ move $a3, $s0 -/* 0044C4 800038C4 922B003C */ lbu $t3, 0x3c($s1) -/* 0044C8 800038C8 924C000C */ lbu $t4, 0xc($s2) -/* 0044CC 800038CC 00001025 */ move $v0, $zero -/* 0044D0 800038D0 016C1821 */ addu $v1, $t3, $t4 -/* 0044D4 800038D4 2463FFC0 */ addiu $v1, $v1, -0x40 -/* 0044D8 800038D8 18600003 */ blez $v1, .L800038E8 -/* 0044DC 800038DC 2406007F */ li $a2, 127 -/* 0044E0 800038E0 10000001 */ b .L800038E8 -/* 0044E4 800038E4 00601025 */ move $v0, $v1 -.L800038E8: -/* 0044E8 800038E8 2841007F */ slti $at, $v0, 0x7f -/* 0044EC 800038EC 10200007 */ beqz $at, .L8000390C -/* 0044F0 800038F0 00000000 */ nop -/* 0044F4 800038F4 18600003 */ blez $v1, .L80003904 -/* 0044F8 800038F8 00001025 */ move $v0, $zero -/* 0044FC 800038FC 10000003 */ b .L8000390C -/* 004500 80003900 306600FF */ andi $a2, $v1, 0xff -.L80003904: -/* 004504 80003904 10000001 */ b .L8000390C -/* 004508 80003908 304600FF */ andi $a2, $v0, 0xff -.L8000390C: -/* 00450C 8000390C 8EE40038 */ lw $a0, 0x38($s7) -/* 004510 80003910 0C0196C8 */ jal alSynSetPan -/* 004514 80003914 02602825 */ move $a1, $s3 -/* 004518 80003918 C626002C */ lwc1 $f6, 0x2c($s1) -/* 00451C 8000391C C6280028 */ lwc1 $f8, 0x28($s1) -/* 004520 80003920 8EE40038 */ lw $a0, 0x38($s7) -/* 004524 80003924 46083282 */ mul.s $f10, $f6, $f8 -/* 004528 80003928 02602825 */ move $a1, $s3 -/* 00452C 8000392C 44065000 */ mfc1 $a2, $f10 -/* 004530 80003930 0C0325E0 */ jal alSynSetPitch -/* 004534 80003934 00000000 */ nop -/* 004538 80003938 92CF0003 */ lbu $t7, 3($s6) -/* 00453C 8000393C 922D003D */ lbu $t5, 0x3d($s1) -/* 004540 80003940 31E9000F */ andi $t1, $t7, 0xf -/* 004544 80003944 01A91821 */ addu $v1, $t5, $t1 -/* 004548 80003948 0003C0C0 */ sll $t8, $v1, 3 -/* 00454C 8000394C 07010003 */ bgez $t8, .L8000395C -/* 004550 80003950 03001825 */ move $v1, $t8 -/* 004554 80003954 10000002 */ b .L80003960 -/* 004558 80003958 00001025 */ move $v0, $zero -.L8000395C: -/* 00455C 8000395C 00601025 */ move $v0, $v1 -.L80003960: -/* 004560 80003960 28410080 */ slti $at, $v0, 0x80 -/* 004564 80003964 14200003 */ bnez $at, .L80003974 -/* 004568 80003968 02602825 */ move $a1, $s3 -/* 00456C 8000396C 10000006 */ b .L80003988 -/* 004570 80003970 2403007F */ li $v1, 127 -.L80003974: -/* 004574 80003974 04610003 */ bgez $v1, .L80003984 -/* 004578 80003978 00601025 */ move $v0, $v1 -/* 00457C 8000397C 10000001 */ b .L80003984 -/* 004580 80003980 00001025 */ move $v0, $zero -.L80003984: -/* 004584 80003984 00401825 */ move $v1, $v0 -.L80003988: -/* 004588 80003988 8EE40038 */ lw $a0, 0x38($s7) -/* 00458C 8000398C 0C032604 */ jal alSynSetFXMix -/* 004590 80003990 306600FF */ andi $a2, $v1, 0xff -/* 004594 80003994 240E0040 */ li $t6, 64 -/* 004598 80003998 A7AE00AC */ sh $t6, 0xac($sp) -/* 00459C 8000399C AFB100B0 */ sw $s1, 0xb0($sp) -/* 0045A0 800039A0 8E590000 */ lw $t9, ($s2) -/* 0045A4 800039A4 C624002C */ lwc1 $f4, 0x2c($s1) -/* 0045A8 800039A8 8F280000 */ lw $t0, ($t9) -/* 0045AC 800039AC C6280028 */ lwc1 $f8, 0x28($s1) -/* 0045B0 800039B0 44888000 */ mtc1 $t0, $f16 -/* 0045B4 800039B4 02802025 */ move $a0, $s4 -/* 0045B8 800039B8 468084A0 */ cvt.s.w $f18, $f16 -/* 0045BC 800039BC 27A500AC */ addiu $a1, $sp, 0xac -/* 0045C0 800039C0 46049183 */ div.s $f6, $f18, $f4 -/* 0045C4 800039C4 00000000 */ nop -/* 0045C8 800039C8 46083283 */ div.s $f10, $f6, $f8 -/* 0045CC 800039CC 444AF800 */ cfc1 $t2, $31 -/* 0045D0 800039D0 00000000 */ nop -/* 0045D4 800039D4 35410003 */ ori $at, $t2, 3 -/* 0045D8 800039D8 38210002 */ xori $at, $at, 2 -/* 0045DC 800039DC 44C1F800 */ ctc1 $at, $31 -/* 0045E0 800039E0 00000000 */ nop -/* 0045E4 800039E4 46005424 */ cvt.w.s $f16, $f10 -/* 0045E8 800039E8 44068000 */ mfc1 $a2, $f16 -/* 0045EC 800039EC 44CAF800 */ ctc1 $t2, $31 -/* 0045F0 800039F0 0C03246B */ jal alEvtqPostEvent -/* 0045F4 800039F4 00000000 */ nop -/* 0045F8 800039F8 96A20000 */ lhu $v0, ($s5) -/* 0045FC 800039FC 00000000 */ nop -/* 004600 80003A00 304B02D1 */ andi $t3, $v0, 0x2d1 -/* 004604 80003A04 100001A3 */ b .L80004094 -/* 004608 80003A08 01601025 */ move $v0, $t3 -.L80003A0C: -glabel L80003A0C -/* 00460C 80003A0C 24011000 */ li $at, 4096 -.L80003A10: -/* 004610 80003A10 14610006 */ bne $v1, $at, .L80003A2C -/* 004614 80003A14 00000000 */ nop -/* 004618 80003A18 922C003E */ lbu $t4, 0x3e($s1) -/* 00461C 80003A1C 00000000 */ nop -/* 004620 80003A20 318F0002 */ andi $t7, $t4, 2 -/* 004624 80003A24 11E0003F */ beqz $t7, .L80003B24 -/* 004628 80003A28 00000000 */ nop -.L80003A2C: -/* 00462C 80003A2C 9222003F */ lbu $v0, 0x3f($s1) -/* 004630 80003A30 26F40014 */ addiu $s4, $s7, 0x14 -/* 004634 80003A34 105E0008 */ beq $v0, $fp, .L80003A58 -/* 004638 80003A38 02802025 */ move $a0, $s4 -/* 00463C 80003A3C 24010004 */ li $at, 4 -/* 004640 80003A40 1041002F */ beq $v0, $at, .L80003B00 -/* 004644 80003A44 24010005 */ li $at, 5 -/* 004648 80003A48 1041002D */ beq $v0, $at, .L80003B00 -/* 00464C 80003A4C 00000000 */ nop -/* 004650 80003A50 10000030 */ b .L80003B14 -/* 004654 80003A54 24010002 */ li $at, 2 -.L80003A58: -/* 004658 80003A58 02202825 */ move $a1, $s1 -/* 00465C 80003A5C 0C00107F */ jal _removeEvents -/* 004660 80003A60 24060040 */ li $a2, 64 -/* 004664 80003A64 8E4D0000 */ lw $t5, ($s2) -/* 004668 80003A68 C6260028 */ lwc1 $f6, 0x28($s1) -/* 00466C 80003A6C 8DA90008 */ lw $t1, 8($t5) -/* 004670 80003A70 C62A002C */ lwc1 $f10, 0x2c($s1) -/* 004674 80003A74 44899000 */ mtc1 $t1, $f18 -/* 004678 80003A78 8EE40038 */ lw $a0, 0x38($s7) -/* 00467C 80003A7C 46809120 */ cvt.s.w $f4, $f18 -/* 004680 80003A80 2625000C */ addiu $a1, $s1, 0xc -/* 004684 80003A84 00003025 */ move $a2, $zero -/* 004688 80003A88 46062203 */ div.s $f8, $f4, $f6 -/* 00468C 80003A8C 00000000 */ nop -/* 004690 80003A90 460A4403 */ div.s $f16, $f8, $f10 -/* 004694 80003A94 4458F800 */ cfc1 $t8, $31 -/* 004698 80003A98 00000000 */ nop -/* 00469C 80003A9C 37010003 */ ori $at, $t8, 3 -/* 0046A0 80003AA0 38210002 */ xori $at, $at, 2 -/* 0046A4 80003AA4 44C1F800 */ ctc1 $at, $31 -/* 0046A8 80003AA8 00000000 */ nop -/* 0046AC 80003AAC 460084A4 */ cvt.w.s $f18, $f16 -/* 0046B0 80003AB0 44109000 */ mfc1 $s0, $f18 -/* 0046B4 80003AB4 44D8F800 */ ctc1 $t8, $31 -/* 0046B8 80003AB8 0C032594 */ jal alSynSetVol -/* 0046BC 80003ABC 02003825 */ move $a3, $s0 -/* 0046C0 80003AC0 1200000A */ beqz $s0, .L80003AEC -/* 0046C4 80003AC4 240E0080 */ li $t6, 128 -/* 0046C8 80003AC8 A7AE00AC */ sh $t6, 0xac($sp) -/* 0046CC 80003ACC AFB100B0 */ sw $s1, 0xb0($sp) -/* 0046D0 80003AD0 02802025 */ move $a0, $s4 -/* 0046D4 80003AD4 27A500AC */ addiu $a1, $sp, 0xac -/* 0046D8 80003AD8 0C03246B */ jal alEvtqPostEvent -/* 0046DC 80003ADC 02003025 */ move $a2, $s0 -/* 0046E0 80003AE0 24190002 */ li $t9, 2 -/* 0046E4 80003AE4 10000003 */ b .L80003AF4 -/* 0046E8 80003AE8 A239003F */ sb $t9, 0x3f($s1) -.L80003AEC: -/* 0046EC 80003AEC 0C001043 */ jal func_8000410C -/* 0046F0 80003AF0 02202025 */ move $a0, $s1 -.L80003AF4: -/* 0046F4 80003AF4 96A30000 */ lhu $v1, ($s5) -/* 0046F8 80003AF8 10000006 */ b .L80003B14 -/* 0046FC 80003AFC 24010002 */ li $at, 2 -.L80003B00: -/* 004700 80003B00 0C001043 */ jal func_8000410C -/* 004704 80003B04 02202025 */ move $a0, $s1 -/* 004708 80003B08 96A30000 */ lhu $v1, ($s5) -/* 00470C 80003B0C 00000000 */ nop -/* 004710 80003B10 24010002 */ li $at, 2 -.L80003B14: -/* 004714 80003B14 14610003 */ bne $v1, $at, .L80003B24 -/* 004718 80003B18 24081000 */ li $t0, 4096 -/* 00471C 80003B1C A6A80000 */ sh $t0, ($s5) -/* 004720 80003B20 3103FFFF */ andi $v1, $t0, 0xffff -.L80003B24: -/* 004724 80003B24 1000015B */ b .L80004094 -/* 004728 80003B28 306202D1 */ andi $v0, $v1, 0x2d1 -glabel L80003B2C -/* 00472C 80003B2C 8EAA0008 */ lw $t2, 8($s5) -/* 004730 80003B30 922B003F */ lbu $t3, 0x3f($s1) -/* 004734 80003B34 A22A003C */ sb $t2, 0x3c($s1) -/* 004738 80003B38 17CB0015 */ bne $fp, $t3, .L80003B90 -/* 00473C 80003B3C 00000000 */ nop -/* 004740 80003B40 924F000C */ lbu $t7, 0xc($s2) -/* 004744 80003B44 314C00FF */ andi $t4, $t2, 0xff -/* 004748 80003B48 018F1821 */ addu $v1, $t4, $t7 -/* 00474C 80003B4C 2463FFC0 */ addiu $v1, $v1, -0x40 -/* 004750 80003B50 18600003 */ blez $v1, .L80003B60 -/* 004754 80003B54 00001025 */ move $v0, $zero -/* 004758 80003B58 10000001 */ b .L80003B60 -/* 00475C 80003B5C 00601025 */ move $v0, $v1 -.L80003B60: -/* 004760 80003B60 2841007F */ slti $at, $v0, 0x7f -/* 004764 80003B64 10200007 */ beqz $at, .L80003B84 -/* 004768 80003B68 2406007F */ li $a2, 127 -/* 00476C 80003B6C 18600003 */ blez $v1, .L80003B7C -/* 004770 80003B70 00001025 */ move $v0, $zero -/* 004774 80003B74 10000003 */ b .L80003B84 -/* 004778 80003B78 306600FF */ andi $a2, $v1, 0xff -.L80003B7C: -/* 00477C 80003B7C 10000001 */ b .L80003B84 -/* 004780 80003B80 304600FF */ andi $a2, $v0, 0xff -.L80003B84: -/* 004784 80003B84 8EE40038 */ lw $a0, 0x38($s7) -/* 004788 80003B88 0C0196C8 */ jal alSynSetPan -/* 00478C 80003B8C 2625000C */ addiu $a1, $s1, 0xc -.L80003B90: -/* 004790 80003B90 96A20000 */ lhu $v0, ($s5) -/* 004794 80003B94 00000000 */ nop -/* 004798 80003B98 304D02D1 */ andi $t5, $v0, 0x2d1 -/* 00479C 80003B9C 1000013D */ b .L80004094 -/* 0047A0 80003BA0 01A01025 */ move $v0, $t5 -glabel L80003BA4 -/* 0047A4 80003BA4 C6A40008 */ lwc1 $f4, 8($s5) -/* 0047A8 80003BA8 9229003F */ lbu $t1, 0x3f($s1) -/* 0047AC 80003BAC E624002C */ swc1 $f4, 0x2c($s1) -/* 0047B0 80003BB0 17C90010 */ bne $fp, $t1, .L80003BF4 -/* 0047B4 80003BB4 00000000 */ nop -/* 0047B8 80003BB8 C626002C */ lwc1 $f6, 0x2c($s1) -/* 0047BC 80003BBC C6280028 */ lwc1 $f8, 0x28($s1) -/* 0047C0 80003BC0 8EE40038 */ lw $a0, 0x38($s7) -/* 0047C4 80003BC4 46083282 */ mul.s $f10, $f6, $f8 -/* 0047C8 80003BC8 2625000C */ addiu $a1, $s1, 0xc -/* 0047CC 80003BCC 44065000 */ mfc1 $a2, $f10 -/* 0047D0 80003BD0 0C0325E0 */ jal alSynSetPitch -/* 0047D4 80003BD4 00000000 */ nop -/* 0047D8 80003BD8 9238003E */ lbu $t8, 0x3e($s1) -/* 0047DC 80003BDC 00000000 */ nop -/* 0047E0 80003BE0 330E0020 */ andi $t6, $t8, 0x20 -/* 0047E4 80003BE4 11C00003 */ beqz $t6, .L80003BF4 -/* 0047E8 80003BE8 00000000 */ nop -/* 0047EC 80003BEC 0C001063 */ jal func_8000418C -/* 0047F0 80003BF0 02202025 */ move $a0, $s1 -.L80003BF4: -/* 0047F4 80003BF4 96A20000 */ lhu $v0, ($s5) -/* 0047F8 80003BF8 00000000 */ nop -/* 0047FC 80003BFC 305902D1 */ andi $t9, $v0, 0x2d1 -/* 004800 80003C00 10000124 */ b .L80004094 -/* 004804 80003C04 03201025 */ move $v0, $t9 -.L80003C08: -/* 004808 80003C08 8EA80008 */ lw $t0, 8($s5) -/* 00480C 80003C0C 922A003F */ lbu $t2, 0x3f($s1) -/* 004810 80003C10 2625000C */ addiu $a1, $s1, 0xc -/* 004814 80003C14 17CA0018 */ bne $fp, $t2, .L80003C78 -/* 004818 80003C18 A228003D */ sb $t0, 0x3d($s1) -/* 00481C 80003C1C 92CC0003 */ lbu $t4, 3($s6) -/* 004820 80003C20 310B00FF */ andi $t3, $t0, 0xff -/* 004824 80003C24 318F000F */ andi $t7, $t4, 0xf -/* 004828 80003C28 016F1821 */ addu $v1, $t3, $t7 -/* 00482C 80003C2C 000368C0 */ sll $t5, $v1, 3 -/* 004830 80003C30 05A10003 */ bgez $t5, .L80003C40 -/* 004834 80003C34 01A01825 */ move $v1, $t5 -/* 004838 80003C38 10000002 */ b .L80003C44 -/* 00483C 80003C3C 00001025 */ move $v0, $zero -.L80003C40: -/* 004840 80003C40 00601025 */ move $v0, $v1 -.L80003C44: -/* 004844 80003C44 28410080 */ slti $at, $v0, 0x80 -/* 004848 80003C48 14200003 */ bnez $at, .L80003C58 -/* 00484C 80003C4C 00000000 */ nop -/* 004850 80003C50 10000006 */ b .L80003C6C -/* 004854 80003C54 2403007F */ li $v1, 127 -.L80003C58: -/* 004858 80003C58 04610003 */ bgez $v1, .L80003C68 -/* 00485C 80003C5C 00601025 */ move $v0, $v1 -/* 004860 80003C60 10000001 */ b .L80003C68 -/* 004864 80003C64 00001025 */ move $v0, $zero -.L80003C68: -/* 004868 80003C68 00401825 */ move $v1, $v0 -.L80003C6C: -/* 00486C 80003C6C 8EE40038 */ lw $a0, 0x38($s7) -/* 004870 80003C70 0C032604 */ jal alSynSetFXMix -/* 004874 80003C74 306600FF */ andi $a2, $v1, 0xff -.L80003C78: -/* 004878 80003C78 96A20000 */ lhu $v0, ($s5) -/* 00487C 80003C7C 00000000 */ nop -/* 004880 80003C80 304902D1 */ andi $t1, $v0, 0x2d1 -/* 004884 80003C84 10000103 */ b .L80004094 -/* 004888 80003C88 01201025 */ move $v0, $t1 -glabel L80003C8C -/* 00488C 80003C8C 8EB80008 */ lw $t8, 8($s5) -/* 004890 80003C90 922E003F */ lbu $t6, 0x3f($s1) -/* 004894 80003C94 A6380034 */ sh $t8, 0x34($s1) -/* 004898 80003C98 17CE0032 */ bne $fp, $t6, .L80003D64 -/* 00489C 80003C9C 00000000 */ nop -/* 0048A0 80003CA0 8E4D0000 */ lw $t5, ($s2) -/* 0048A4 80003CA4 86380034 */ lh $t8, 0x34($s1) -/* 0048A8 80003CA8 91A9000D */ lbu $t1, 0xd($t5) -/* 0048AC 80003CAC 92C80002 */ lbu $t0, 2($s6) -/* 0048B0 80003CB0 01380019 */ multu $t1, $t8 -/* 0048B4 80003CB4 310A003F */ andi $t2, $t0, 0x3f -/* 0048B8 80003CB8 9248000D */ lbu $t0, 0xd($s2) -/* 0048BC 80003CBC 000A6040 */ sll $t4, $t2, 1 -/* 0048C0 80003CC0 24013F01 */ li $at, 16129 -/* 0048C4 80003CC4 3C198012 */ lui $t9, %hi(gSoundChannelVolume) # $t9, 0x8012 -/* 0048C8 80003CC8 8F399C28 */ lw $t9, %lo(gSoundChannelVolume)($t9) -/* 0048CC 80003CCC 00000000 */ nop -/* 0048D0 80003CD0 032C5821 */ addu $t3, $t9, $t4 -/* 0048D4 80003CD4 856F0000 */ lh $t7, ($t3) -/* 0048D8 80003CD8 3C0B800E */ lui $t3, %hi(sfxVolumeSlider) # $t3, 0x800e -/* 0048DC 80003CDC 00007012 */ mflo $t6 -/* 0048E0 80003CE0 00000000 */ nop -/* 0048E4 80003CE4 00000000 */ nop -/* 0048E8 80003CE8 01C80019 */ multu $t6, $t0 -/* 0048EC 80003CEC 00005012 */ mflo $t2 -/* 0048F0 80003CF0 00000000 */ nop -/* 0048F4 80003CF4 00000000 */ nop -/* 0048F8 80003CF8 0141001A */ div $zero, $t2, $at -/* 0048FC 80003CFC 24017FFF */ li $at, 32767 -/* 004900 80003D00 0000C812 */ mflo $t9 -/* 004904 80003D04 00000000 */ nop -/* 004908 80003D08 00000000 */ nop -/* 00490C 80003D0C 01F90019 */ multu $t7, $t9 -/* 004910 80003D10 00002012 */ mflo $a0 -/* 004914 80003D14 00000000 */ nop -/* 004918 80003D18 00000000 */ nop -/* 00491C 80003D1C 0081001A */ div $zero, $a0, $at -/* 004920 80003D20 00006012 */ mflo $t4 -/* 004924 80003D24 2584FFFF */ addiu $a0, $t4, -1 -/* 004928 80003D28 04810003 */ bgez $a0, .L80003D38 -/* 00492C 80003D2C 00801025 */ move $v0, $a0 -/* 004930 80003D30 10000001 */ b .L80003D38 -/* 004934 80003D34 00001025 */ move $v0, $zero -.L80003D38: -/* 004938 80003D38 8D6BC6C0 */ lw $t3, %lo(sfxVolumeSlider)($t3) -/* 00493C 80003D3C 8EE40038 */ lw $a0, 0x38($s7) -/* 004940 80003D40 004B0019 */ multu $v0, $t3 -/* 004944 80003D44 2625000C */ addiu $a1, $s1, 0xc -/* 004948 80003D48 240703E8 */ li $a3, 1000 -/* 00494C 80003D4C 00001012 */ mflo $v0 -/* 004950 80003D50 00026A02 */ srl $t5, $v0, 8 -/* 004954 80003D54 000D3400 */ sll $a2, $t5, 0x10 -/* 004958 80003D58 00064C03 */ sra $t1, $a2, 0x10 -/* 00495C 80003D5C 0C032594 */ jal alSynSetVol -/* 004960 80003D60 01203025 */ move $a2, $t1 -.L80003D64: -/* 004964 80003D64 96A20000 */ lhu $v0, ($s5) -/* 004968 80003D68 00000000 */ nop -/* 00496C 80003D6C 305802D1 */ andi $t8, $v0, 0x2d1 -/* 004970 80003D70 100000C8 */ b .L80004094 -/* 004974 80003D74 03001025 */ move $v0, $t8 -.L80003D78: -/* 004978 80003D78 922E003F */ lbu $t6, 0x3f($s1) -/* 00497C 80003D7C 00000000 */ nop -/* 004980 80003D80 17CE0040 */ bne $fp, $t6, .L80003E84 -/* 004984 80003D84 00000000 */ nop -/* 004988 80003D88 8E430000 */ lw $v1, ($s2) -/* 00498C 80003D8C C6240028 */ lwc1 $f4, 0x28($s1) -/* 004990 80003D90 8C680008 */ lw $t0, 8($v1) -/* 004994 80003D94 C628002C */ lwc1 $f8, 0x2c($s1) -/* 004998 80003D98 44888000 */ mtc1 $t0, $f16 -/* 00499C 80003D9C 862E0034 */ lh $t6, 0x34($s1) -/* 0049A0 80003DA0 468084A0 */ cvt.s.w $f18, $f16 -/* 0049A4 80003DA4 9078000D */ lbu $t8, 0xd($v1) -/* 0049A8 80003DA8 92D90002 */ lbu $t9, 2($s6) -/* 0049AC 80003DAC 46049183 */ div.s $f6, $f18, $f4 -/* 0049B0 80003DB0 030E0019 */ multu $t8, $t6 -/* 0049B4 80003DB4 332C003F */ andi $t4, $t9, 0x3f -/* 0049B8 80003DB8 3C0F8012 */ lui $t7, %hi(gSoundChannelVolume) # $t7, 0x8012 -/* 0049BC 80003DBC 8DEF9C28 */ lw $t7, %lo(gSoundChannelVolume)($t7) -/* 0049C0 80003DC0 000C5840 */ sll $t3, $t4, 1 -/* 0049C4 80003DC4 01EB6821 */ addu $t5, $t7, $t3 -/* 0049C8 80003DC8 85A90000 */ lh $t1, ($t5) -/* 0049CC 80003DCC 3C0B800E */ lui $t3, %hi(sfxVolumeSlider) # $t3, 0x800e -/* 0049D0 80003DD0 46083283 */ div.s $f10, $f6, $f8 -/* 0049D4 80003DD4 00004012 */ mflo $t0 -/* 0049D8 80003DD8 444AF800 */ cfc1 $t2, $31 -/* 0049DC 80003DDC 00000000 */ nop -/* 0049E0 80003DE0 35410003 */ ori $at, $t2, 3 -/* 0049E4 80003DE4 38210002 */ xori $at, $at, 2 -/* 0049E8 80003DE8 44C1F800 */ ctc1 $at, $31 -/* 0049EC 80003DEC 24013F01 */ li $at, 16129 -/* 0049F0 80003DF0 46005424 */ cvt.w.s $f16, $f10 -/* 0049F4 80003DF4 44CAF800 */ ctc1 $t2, $31 -/* 0049F8 80003DF8 924A000D */ lbu $t2, 0xd($s2) -/* 0049FC 80003DFC 44108000 */ mfc1 $s0, $f16 -/* 004A00 80003E00 010A0019 */ multu $t0, $t2 -/* 004A04 80003E04 0000C812 */ mflo $t9 -/* 004A08 80003E08 00000000 */ nop -/* 004A0C 80003E0C 00000000 */ nop -/* 004A10 80003E10 0321001A */ div $zero, $t9, $at -/* 004A14 80003E14 24017FFF */ li $at, 32767 -/* 004A18 80003E18 00006012 */ mflo $t4 -/* 004A1C 80003E1C 00000000 */ nop -/* 004A20 80003E20 00000000 */ nop -/* 004A24 80003E24 012C0019 */ multu $t1, $t4 -/* 004A28 80003E28 00002012 */ mflo $a0 -/* 004A2C 80003E2C 00000000 */ nop -/* 004A30 80003E30 00000000 */ nop -/* 004A34 80003E34 0081001A */ div $zero, $a0, $at -/* 004A38 80003E38 00007812 */ mflo $t7 -/* 004A3C 80003E3C 25E4FFFF */ addiu $a0, $t7, -1 -/* 004A40 80003E40 04810003 */ bgez $a0, .L80003E50 -/* 004A44 80003E44 00801025 */ move $v0, $a0 -/* 004A48 80003E48 10000001 */ b .L80003E50 -/* 004A4C 80003E4C 00001025 */ move $v0, $zero -.L80003E50: -/* 004A50 80003E50 8D6BC6C0 */ lw $t3, %lo(sfxVolumeSlider)($t3) -/* 004A54 80003E54 8EE40038 */ lw $a0, 0x38($s7) -/* 004A58 80003E58 004B0019 */ multu $v0, $t3 -/* 004A5C 80003E5C 2625000C */ addiu $a1, $s1, 0xc -/* 004A60 80003E60 02003825 */ move $a3, $s0 -/* 004A64 80003E64 00001012 */ mflo $v0 -/* 004A68 80003E68 00026A02 */ srl $t5, $v0, 8 -/* 004A6C 80003E6C 000D3400 */ sll $a2, $t5, 0x10 -/* 004A70 80003E70 0006C403 */ sra $t8, $a2, 0x10 -/* 004A74 80003E74 0C032594 */ jal alSynSetVol -/* 004A78 80003E78 03003025 */ move $a2, $t8 -/* 004A7C 80003E7C 96A30000 */ lhu $v1, ($s5) -/* 004A80 80003E80 00000000 */ nop -.L80003E84: -/* 004A84 80003E84 10000083 */ b .L80004094 -/* 004A88 80003E88 306202D1 */ andi $v0, $v1, 0x2d1 -.L80003E8C: -/* 004A8C 80003E8C 922E003E */ lbu $t6, 0x3e($s1) -/* 004A90 80003E90 00000000 */ nop -/* 004A94 80003E94 31C80002 */ andi $t0, $t6, 2 -/* 004A98 80003E98 15000050 */ bnez $t0, .L80003FDC -/* 004A9C 80003E9C 00000000 */ nop -/* 004AA0 80003EA0 8E430000 */ lw $v1, ($s2) -/* 004AA4 80003EA4 86380034 */ lh $t8, 0x34($s1) -/* 004AA8 80003EA8 906D000D */ lbu $t5, 0xd($v1) -/* 004AAC 80003EAC 9248000D */ lbu $t0, 0xd($s2) -/* 004AB0 80003EB0 01B80019 */ multu $t5, $t8 -/* 004AB4 80003EB4 92D90002 */ lbu $t9, 2($s6) -/* 004AB8 80003EB8 24013F01 */ li $at, 16129 -/* 004ABC 80003EBC 3329003F */ andi $t1, $t9, 0x3f -/* 004AC0 80003EC0 3C0A8012 */ lui $t2, %hi(gSoundChannelVolume) # $t2, 0x8012 -/* 004AC4 80003EC4 8D4A9C28 */ lw $t2, %lo(gSoundChannelVolume)($t2) -/* 004AC8 80003EC8 00096040 */ sll $t4, $t1, 1 -/* 004ACC 80003ECC 014C7821 */ addu $t7, $t2, $t4 -/* 004AD0 80003ED0 85EB0000 */ lh $t3, ($t7) -/* 004AD4 80003ED4 26F40014 */ addiu $s4, $s7, 0x14 -/* 004AD8 80003ED8 00007012 */ mflo $t6 -/* 004ADC 80003EDC 00000000 */ nop -/* 004AE0 80003EE0 00000000 */ nop -/* 004AE4 80003EE4 01C80019 */ multu $t6, $t0 -/* 004AE8 80003EE8 0000C812 */ mflo $t9 -/* 004AEC 80003EEC 00000000 */ nop -/* 004AF0 80003EF0 00000000 */ nop -/* 004AF4 80003EF4 0321001A */ div $zero, $t9, $at -/* 004AF8 80003EF8 24017FFF */ li $at, 32767 -/* 004AFC 80003EFC 00004812 */ mflo $t1 -/* 004B00 80003F00 00000000 */ nop -/* 004B04 80003F04 00000000 */ nop -/* 004B08 80003F08 01690019 */ multu $t3, $t1 -/* 004B0C 80003F0C 00002012 */ mflo $a0 -/* 004B10 80003F10 00000000 */ nop -/* 004B14 80003F14 00000000 */ nop -/* 004B18 80003F18 0081001A */ div $zero, $a0, $at -/* 004B1C 80003F1C 00005012 */ mflo $t2 -/* 004B20 80003F20 2544FFFF */ addiu $a0, $t2, -1 -/* 004B24 80003F24 04810003 */ bgez $a0, .L80003F34 -/* 004B28 80003F28 00801025 */ move $v0, $a0 -/* 004B2C 80003F2C 10000001 */ b .L80003F34 -/* 004B30 80003F30 00001025 */ move $v0, $zero -.L80003F34: -/* 004B34 80003F34 8C6D0004 */ lw $t5, 4($v1) -/* 004B38 80003F38 C6260028 */ lwc1 $f6, 0x28($s1) -/* 004B3C 80003F3C 448D9000 */ mtc1 $t5, $f18 -/* 004B40 80003F40 C62A002C */ lwc1 $f10, 0x2c($s1) -/* 004B44 80003F44 46809120 */ cvt.s.w $f4, $f18 -/* 004B48 80003F48 3C0C800E */ lui $t4, %hi(sfxVolumeSlider) # $t4, 0x800e -/* 004B4C 80003F4C 8D8CC6C0 */ lw $t4, %lo(sfxVolumeSlider)($t4) -/* 004B50 80003F50 46062203 */ div.s $f8, $f4, $f6 -/* 004B54 80003F54 004C0019 */ multu $v0, $t4 -/* 004B58 80003F58 8EE40038 */ lw $a0, 0x38($s7) -/* 004B5C 80003F5C 2625000C */ addiu $a1, $s1, 0xc -/* 004B60 80003F60 460A4403 */ div.s $f16, $f8, $f10 -/* 004B64 80003F64 00001012 */ mflo $v0 -/* 004B68 80003F68 00027A02 */ srl $t7, $v0, 8 -/* 004B6C 80003F6C 000F3400 */ sll $a2, $t7, 0x10 -/* 004B70 80003F70 00067403 */ sra $t6, $a2, 0x10 -/* 004B74 80003F74 01C03025 */ move $a2, $t6 -/* 004B78 80003F78 4458F800 */ cfc1 $t8, $31 -/* 004B7C 80003F7C 00000000 */ nop -/* 004B80 80003F80 37010003 */ ori $at, $t8, 3 -/* 004B84 80003F84 38210002 */ xori $at, $at, 2 -/* 004B88 80003F88 44C1F800 */ ctc1 $at, $31 -/* 004B8C 80003F8C 00000000 */ nop -/* 004B90 80003F90 460084A4 */ cvt.w.s $f18, $f16 -/* 004B94 80003F94 44109000 */ mfc1 $s0, $f18 -/* 004B98 80003F98 44D8F800 */ ctc1 $t8, $31 -/* 004B9C 80003F9C 0C032594 */ jal alSynSetVol -/* 004BA0 80003FA0 02003825 */ move $a3, $s0 -/* 004BA4 80003FA4 24080002 */ li $t0, 2 -/* 004BA8 80003FA8 A7A800AC */ sh $t0, 0xac($sp) -/* 004BAC 80003FAC AFB100B0 */ sw $s1, 0xb0($sp) -/* 004BB0 80003FB0 02802025 */ move $a0, $s4 -/* 004BB4 80003FB4 27A500AC */ addiu $a1, $sp, 0xac -/* 004BB8 80003FB8 0C03246B */ jal alEvtqPostEvent -/* 004BBC 80003FBC 02003025 */ move $a2, $s0 -/* 004BC0 80003FC0 9239003E */ lbu $t9, 0x3e($s1) -/* 004BC4 80003FC4 00000000 */ nop -/* 004BC8 80003FC8 332B0020 */ andi $t3, $t9, 0x20 -/* 004BCC 80003FCC 11600003 */ beqz $t3, .L80003FDC -/* 004BD0 80003FD0 00000000 */ nop -/* 004BD4 80003FD4 0C001063 */ jal func_8000418C -/* 004BD8 80003FD8 02202025 */ move $a0, $s1 -.L80003FDC: -/* 004BDC 80003FDC 96A20000 */ lhu $v0, ($s5) -/* 004BE0 80003FE0 00000000 */ nop -/* 004BE4 80003FE4 304902D1 */ andi $t1, $v0, 0x2d1 -/* 004BE8 80003FE8 1000002A */ b .L80004094 -/* 004BEC 80003FEC 01201025 */ move $v0, $t1 -.L80003FF0: -/* 004BF0 80003FF0 0C001043 */ jal func_8000410C -/* 004BF4 80003FF4 02202025 */ move $a0, $s1 -/* 004BF8 80003FF8 96A20000 */ lhu $v0, ($s5) -/* 004BFC 80003FFC 00000000 */ nop -/* 004C00 80004000 304A02D1 */ andi $t2, $v0, 0x2d1 -/* 004C04 80004004 10000023 */ b .L80004094 -/* 004C08 80004008 01401025 */ move $v0, $t2 -.L8000400C: -/* 004C0C 8000400C 922C003E */ lbu $t4, 0x3e($s1) -/* 004C10 80004010 00000000 */ nop -/* 004C14 80004014 318F0010 */ andi $t7, $t4, 0x10 -/* 004C18 80004018 11E00018 */ beqz $t7, .L8000407C -/* 004C1C 8000401C 00000000 */ nop -/* 004C20 80004020 8EA4000C */ lw $a0, 0xc($s5) -/* 004C24 80004024 86A5000A */ lh $a1, 0xa($s5) -/* 004C28 80004028 8E260030 */ lw $a2, 0x30($s1) -/* 004C2C 8000402C 0C00118E */ jal func_80004638 -/* 004C30 80004030 00000000 */ nop -/* 004C34 80004034 10400011 */ beqz $v0, .L8000407C -/* 004C38 80004038 00408025 */ move $s0, $v0 -/* 004C3C 8000403C 86260034 */ lh $a2, 0x34($s1) -/* 004C40 80004040 00402025 */ move $a0, $v0 -/* 004C44 80004044 0C00127E */ jal sound_event_update -/* 004C48 80004048 24050008 */ li $a1, 8 -/* 004C4C 8000404C 9226003C */ lbu $a2, 0x3c($s1) -/* 004C50 80004050 02002025 */ move $a0, $s0 -/* 004C54 80004054 0C00127E */ jal sound_event_update -/* 004C58 80004058 24050004 */ li $a1, 4 -/* 004C5C 8000405C 9226003D */ lbu $a2, 0x3d($s1) -/* 004C60 80004060 02002025 */ move $a0, $s0 -/* 004C64 80004064 0C00127E */ jal sound_event_update -/* 004C68 80004068 24050100 */ li $a1, 256 -/* 004C6C 8000406C 8E26002C */ lw $a2, 0x2c($s1) -/* 004C70 80004070 02002025 */ move $a0, $s0 -/* 004C74 80004074 0C00127E */ jal sound_event_update -/* 004C78 80004078 24050010 */ li $a1, 16 -.L8000407C: -/* 004C7C 8000407C 96A20000 */ lhu $v0, ($s5) -/* 004C80 80004080 00000000 */ nop -/* 004C84 80004084 304D02D1 */ andi $t5, $v0, 0x2d1 -/* 004C88 80004088 10000002 */ b .L80004094 -/* 004C8C 8000408C 01A01025 */ move $v0, $t5 -.L80004090: -glabel L80004090 -/* 004C90 80004090 306202D1 */ andi $v0, $v1, 0x2d1 -.L80004094: -/* 004C94 80004094 8FA30074 */ lw $v1, 0x74($sp) -/* 004C98 80004098 00000000 */ nop -/* 004C9C 8000409C 10600007 */ beqz $v1, .L800040BC -/* 004CA0 800040A0 00608825 */ move $s1, $v1 -/* 004CA4 800040A4 14400006 */ bnez $v0, .L800040C0 -/* 004CA8 800040A8 8FA80080 */ lw $t0, 0x80($sp) -/* 004CAC 800040AC 9078003E */ lbu $t8, 0x3e($v1) -/* 004CB0 800040B0 00000000 */ nop -/* 004CB4 800040B4 330E0001 */ andi $t6, $t8, 1 -/* 004CB8 800040B8 AFAE0080 */ sw $t6, 0x80($sp) -.L800040BC: -/* 004CBC 800040BC 8FA80080 */ lw $t0, 0x80($sp) -.L800040C0: -/* 004CC0 800040C0 00000000 */ nop -/* 004CC4 800040C4 15000006 */ bnez $t0, .L800040E0 -/* 004CC8 800040C8 8FBF003C */ lw $ra, 0x3c($sp) -/* 004CCC 800040CC 10600004 */ beqz $v1, .L800040E0 -/* 004CD0 800040D0 8FBF003C */ lw $ra, 0x3c($sp) -/* 004CD4 800040D4 1040FCFA */ beqz $v0, .L800034C0 -/* 004CD8 800040D8 8FAF0074 */ lw $t7, 0x74($sp) -/* 004CDC 800040DC 8FBF003C */ lw $ra, 0x3c($sp) -.L800040E0: -/* 004CE0 800040E0 8FB00018 */ lw $s0, 0x18($sp) -/* 004CE4 800040E4 8FB1001C */ lw $s1, 0x1c($sp) -/* 004CE8 800040E8 8FB20020 */ lw $s2, 0x20($sp) -/* 004CEC 800040EC 8FB30024 */ lw $s3, 0x24($sp) -/* 004CF0 800040F0 8FB40028 */ lw $s4, 0x28($sp) -/* 004CF4 800040F4 8FB5002C */ lw $s5, 0x2c($sp) -/* 004CF8 800040F8 8FB60030 */ lw $s6, 0x30($sp) -/* 004CFC 800040FC 8FB70034 */ lw $s7, 0x34($sp) -/* 004D00 80004100 8FBE0038 */ lw $fp, 0x38($sp) -/* 004D04 80004104 03E00008 */ jr $ra -/* 004D08 80004108 27BD00D0 */ addiu $sp, $sp, 0xd0 - diff --git a/asm/non_matchings/audiosfx/func_80004520.s b/asm/non_matchings/audiosfx/func_80004520.s deleted file mode 100644 index c2c43afb..00000000 --- a/asm/non_matchings/audiosfx/func_80004520.s +++ /dev/null @@ -1,66 +0,0 @@ -glabel func_80004520 -/* 005120 80004520 3C02800E */ lui $v0, %hi(D_800DC6B0) # $v0, 0x800e -/* 005124 80004524 2442C6B0 */ addiu $v0, %lo(D_800DC6B0) # addiu $v0, $v0, -0x3950 -/* 005128 80004528 8C4E0000 */ lw $t6, ($v0) -/* 00512C 8000452C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 005130 80004530 148E0004 */ bne $a0, $t6, .L80004544 -/* 005134 80004534 AFBF0014 */ sw $ra, 0x14($sp) -/* 005138 80004538 8C8F0000 */ lw $t7, ($a0) -/* 00513C 8000453C 00000000 */ nop -/* 005140 80004540 AC4F0000 */ sw $t7, ($v0) -.L80004544: -/* 005144 80004544 8C580004 */ lw $t8, 4($v0) -/* 005148 80004548 00000000 */ nop -/* 00514C 8000454C 14980004 */ bne $a0, $t8, .L80004560 -/* 005150 80004550 00000000 */ nop -/* 005154 80004554 8C990004 */ lw $t9, 4($a0) -/* 005158 80004558 00000000 */ nop -/* 00515C 8000455C AC590004 */ sw $t9, 4($v0) -.L80004560: -/* 005160 80004560 0C0321D8 */ jal alUnlink -/* 005164 80004564 AFA40018 */ sw $a0, 0x18($sp) -/* 005168 80004568 3C02800E */ lui $v0, %hi(D_800DC6B0) # $v0, 0x800e -/* 00516C 8000456C 2442C6B0 */ addiu $v0, %lo(D_800DC6B0) # addiu $v0, $v0, -0x3950 -/* 005170 80004570 8C430008 */ lw $v1, 8($v0) -/* 005174 80004574 8FA40018 */ lw $a0, 0x18($sp) -/* 005178 80004578 10600008 */ beqz $v1, .L8000459C -/* 00517C 8000457C 00000000 */ nop -/* 005180 80004580 AC830000 */ sw $v1, ($a0) -/* 005184 80004584 AC800004 */ sw $zero, 4($a0) -/* 005188 80004588 8C480008 */ lw $t0, 8($v0) -/* 00518C 8000458C 00000000 */ nop -/* 005190 80004590 AD040004 */ sw $a0, 4($t0) -/* 005194 80004594 10000004 */ b .L800045A8 -/* 005198 80004598 AC440008 */ sw $a0, 8($v0) -.L8000459C: -/* 00519C 8000459C AC800004 */ sw $zero, 4($a0) -/* 0051A0 800045A0 AC800000 */ sw $zero, ($a0) -/* 0051A4 800045A4 AC440008 */ sw $a0, 8($v0) -.L800045A8: -/* 0051A8 800045A8 9089003E */ lbu $t1, 0x3e($a0) -/* 0051AC 800045AC 3C02800E */ lui $v0, %hi(D_800DC6C4) # $v0, 0x800e -/* 0051B0 800045B0 312A0004 */ andi $t2, $t1, 4 -/* 0051B4 800045B4 11400005 */ beqz $t2, .L800045CC -/* 0051B8 800045B8 2442C6C4 */ addiu $v0, %lo(D_800DC6C4) # addiu $v0, $v0, -0x393c -/* 0051BC 800045BC 844B0000 */ lh $t3, ($v0) -/* 0051C0 800045C0 00000000 */ nop -/* 0051C4 800045C4 256CFFFF */ addiu $t4, $t3, -1 -/* 0051C8 800045C8 A44C0000 */ sh $t4, ($v0) -.L800045CC: -/* 0051CC 800045CC 8C820030 */ lw $v0, 0x30($a0) -/* 0051D0 800045D0 A080003F */ sb $zero, 0x3f($a0) -/* 0051D4 800045D4 10400008 */ beqz $v0, .L800045F8 -/* 0051D8 800045D8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0051DC 800045DC 8C4D0000 */ lw $t5, ($v0) -/* 0051E0 800045E0 00000000 */ nop -/* 0051E4 800045E4 148D0002 */ bne $a0, $t5, .L800045F0 -/* 0051E8 800045E8 00000000 */ nop -/* 0051EC 800045EC AC400000 */ sw $zero, ($v0) -.L800045F0: -/* 0051F0 800045F0 AC800030 */ sw $zero, 0x30($a0) -/* 0051F4 800045F4 8FBF0014 */ lw $ra, 0x14($sp) -.L800045F8: -/* 0051F8 800045F8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0051FC 800045FC 03E00008 */ jr $ra -/* 005200 80004600 00000000 */ nop - diff --git a/asm/non_matchings/audiosfx/func_80004668.s b/asm/non_matchings/audiosfx/func_80004668.s deleted file mode 100644 index 98bc3078..00000000 --- a/asm/non_matchings/audiosfx/func_80004668.s +++ /dev/null @@ -1,148 +0,0 @@ -glabel func_80004668 -/* 005268 80004668 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 00526C 8000466C AFB1001C */ sw $s1, 0x1c($sp) -/* 005270 80004670 00058C00 */ sll $s1, $a1, 0x10 -/* 005274 80004674 00117403 */ sra $t6, $s1, 0x10 -/* 005278 80004678 AFBE0038 */ sw $fp, 0x38($sp) -/* 00527C 8000467C AFB70034 */ sw $s7, 0x34($sp) -/* 005280 80004680 AFB40028 */ sw $s4, 0x28($sp) -/* 005284 80004684 30DE00FF */ andi $fp, $a2, 0xff -/* 005288 80004688 01C08825 */ move $s1, $t6 -/* 00528C 8000468C AFBF003C */ sw $ra, 0x3c($sp) -/* 005290 80004690 AFB60030 */ sw $s6, 0x30($sp) -/* 005294 80004694 AFB5002C */ sw $s5, 0x2c($sp) -/* 005298 80004698 AFB30024 */ sw $s3, 0x24($sp) -/* 00529C 8000469C AFB20020 */ sw $s2, 0x20($sp) -/* 0052A0 800046A0 AFB00018 */ sw $s0, 0x18($sp) -/* 0052A4 800046A4 AFA50084 */ sw $a1, 0x84($sp) -/* 0052A8 800046A8 AFA60088 */ sw $a2, 0x88($sp) -/* 0052AC 800046AC AFA7008C */ sw $a3, 0x8c($sp) -/* 0052B0 800046B0 0000B825 */ move $s7, $zero -/* 0052B4 800046B4 A7A0006E */ sh $zero, 0x6e($sp) -/* 0052B8 800046B8 15C00003 */ bnez $t6, .L800046C8 -/* 0052BC 800046BC 0000A025 */ move $s4, $zero -/* 0052C0 800046C0 10000066 */ b .L8000485C -/* 0052C4 800046C4 00001025 */ move $v0, $zero -.L800046C8: -/* 0052C8 800046C8 3C15800E */ lui $s5, %hi(gAlSndPlayerPtr) # $s5, 0x800e -/* 0052CC 800046CC 8FB30064 */ lw $s3, 0x64($sp) -/* 0052D0 800046D0 26B5C6BC */ addiu $s5, %lo(gAlSndPlayerPtr) # addiu $s5, $s5, -0x3944 -/* 0052D4 800046D4 AFA40080 */ sw $a0, 0x80($sp) -/* 0052D8 800046D8 27B60050 */ addiu $s6, $sp, 0x50 -/* 0052DC 800046DC 8FA40080 */ lw $a0, 0x80($sp) -.L800046E0: -/* 0052E0 800046E0 0011C080 */ sll $t8, $s1, 2 -/* 0052E4 800046E4 8C8F000C */ lw $t7, 0xc($a0) -/* 0052E8 800046E8 00000000 */ nop -/* 0052EC 800046EC 01F8C821 */ addu $t9, $t7, $t8 -/* 0052F0 800046F0 8F32000C */ lw $s2, 0xc($t9) -/* 0052F4 800046F4 0C0010E1 */ jal func_80004384 -/* 0052F8 800046F8 02402825 */ move $a1, $s2 -/* 0052FC 800046FC 1040002C */ beqz $v0, .L800047B0 -/* 005300 80004700 00408025 */ move $s0, $v0 -/* 005304 80004704 8EA80000 */ lw $t0, ($s5) -/* 005308 80004708 24090001 */ li $t1, 1 -/* 00530C 8000470C AD02003C */ sw $v0, 0x3c($t0) -/* 005310 80004710 A7A90050 */ sh $t1, 0x50($sp) -/* 005314 80004714 AFA20054 */ sw $v0, 0x54($sp) -/* 005318 80004718 8E4A0004 */ lw $t2, 4($s2) -/* 00531C 8000471C 26860001 */ addiu $a2, $s4, 1 -/* 005320 80004720 91530001 */ lbu $s3, 1($t2) -/* 005324 80004724 02C02825 */ move $a1, $s6 -/* 005328 80004728 00135980 */ sll $t3, $s3, 6 -/* 00532C 8000472C 01735821 */ addu $t3, $t3, $s3 -/* 005330 80004730 000B58C0 */ sll $t3, $t3, 3 -/* 005334 80004734 01735821 */ addu $t3, $t3, $s3 -/* 005338 80004738 000B5880 */ sll $t3, $t3, 2 -/* 00533C 8000473C 01735823 */ subu $t3, $t3, $s3 -/* 005340 80004740 000B5880 */ sll $t3, $t3, 2 -/* 005344 80004744 01735821 */ addu $t3, $t3, $s3 -/* 005348 80004748 000B5880 */ sll $t3, $t3, 2 -/* 00534C 8000474C 01735821 */ addu $t3, $t3, $s3 -/* 005350 80004750 13C00002 */ beqz $fp, .L8000475C -/* 005354 80004754 01609825 */ move $s3, $t3 -/* 005358 80004758 A05E0036 */ sb $fp, 0x36($v0) -.L8000475C: -/* 00535C 8000475C 904C003E */ lbu $t4, 0x3e($v0) -/* 005360 80004760 00000000 */ nop -/* 005364 80004764 318D0010 */ andi $t5, $t4, 0x10 -/* 005368 80004768 11A0000C */ beqz $t5, .L8000479C -/* 00536C 8000476C 00000000 */ nop -/* 005370 80004770 920E003E */ lbu $t6, 0x3e($s0) -/* 005374 80004774 02C02825 */ move $a1, $s6 -/* 005378 80004778 31CFFFEF */ andi $t7, $t6, 0xffef -/* 00537C 8000477C A20F003E */ sb $t7, 0x3e($s0) -/* 005380 80004780 8EA40000 */ lw $a0, ($s5) -/* 005384 80004784 0C03246B */ jal alEvtqPostEvent -/* 005388 80004788 24840014 */ addiu $a0, $a0, 0x14 -/* 00538C 8000478C 26780001 */ addiu $t8, $s3, 1 -/* 005390 80004790 AFB80068 */ sw $t8, 0x68($sp) -/* 005394 80004794 10000005 */ b .L800047AC -/* 005398 80004798 A7B1006E */ sh $s1, 0x6e($sp) -.L8000479C: -/* 00539C 8000479C 8EA40000 */ lw $a0, ($s5) -/* 0053A0 800047A0 26660001 */ addiu $a2, $s3, 1 -/* 0053A4 800047A4 0C03246B */ jal alEvtqPostEvent -/* 0053A8 800047A8 24840014 */ addiu $a0, $a0, 0x14 -.L800047AC: -/* 0053AC 800047AC 0200B825 */ move $s7, $s0 -.L800047B0: -/* 0053B0 800047B0 8E420004 */ lw $v0, 4($s2) -/* 0053B4 800047B4 0293A021 */ addu $s4, $s4, $s3 -/* 0053B8 800047B8 90480002 */ lbu $t0, 2($v0) -/* 0053BC 800047BC 90590000 */ lbu $t9, ($v0) -/* 0053C0 800047C0 310900C0 */ andi $t1, $t0, 0xc0 -/* 0053C4 800047C4 00095080 */ sll $t2, $t1, 2 -/* 0053C8 800047C8 032A8821 */ addu $s1, $t9, $t2 -/* 0053CC 800047CC 00115C00 */ sll $t3, $s1, 0x10 -/* 0053D0 800047D0 000B8C03 */ sra $s1, $t3, 0x10 -/* 0053D4 800047D4 12200004 */ beqz $s1, .L800047E8 -/* 0053D8 800047D8 00000000 */ nop -/* 0053DC 800047DC 1600FFC0 */ bnez $s0, .L800046E0 -/* 0053E0 800047E0 8FA40080 */ lw $a0, 0x80($sp) -/* 0053E4 800047E4 AFB30064 */ sw $s3, 0x64($sp) -.L800047E8: -/* 0053E8 800047E8 12E00018 */ beqz $s7, .L8000484C -/* 0053EC 800047EC 8FAC008C */ lw $t4, 0x8c($sp) -/* 0053F0 800047F0 92ED003E */ lbu $t5, 0x3e($s7) -/* 0053F4 800047F4 24190200 */ li $t9, 512 -/* 0053F8 800047F8 35AE0001 */ ori $t6, $t5, 1 -/* 0053FC 800047FC A2EE003E */ sb $t6, 0x3e($s7) -/* 005400 80004800 8FAF008C */ lw $t7, 0x8c($sp) -/* 005404 80004804 35C90010 */ ori $t1, $t6, 0x10 -/* 005408 80004808 AEEF0030 */ sw $t7, 0x30($s7) -/* 00540C 8000480C 87B8006E */ lh $t8, 0x6e($sp) -/* 005410 80004810 27A50040 */ addiu $a1, $sp, 0x40 -/* 005414 80004814 1300000D */ beqz $t8, .L8000484C -/* 005418 80004818 8FAC008C */ lw $t4, 0x8c($sp) -/* 00541C 8000481C A2E9003E */ sb $t1, 0x3e($s7) -/* 005420 80004820 87AA006E */ lh $t2, 0x6e($sp) -/* 005424 80004824 8FAB0080 */ lw $t3, 0x80($sp) -/* 005428 80004828 8EA40000 */ lw $a0, ($s5) -/* 00542C 8000482C 8FA60068 */ lw $a2, 0x68($sp) -/* 005430 80004830 A7B90040 */ sh $t9, 0x40($sp) -/* 005434 80004834 AFB70044 */ sw $s7, 0x44($sp) -/* 005438 80004838 AFAA0048 */ sw $t2, 0x48($sp) -/* 00543C 8000483C AFAB004C */ sw $t3, 0x4c($sp) -/* 005440 80004840 0C03246B */ jal alEvtqPostEvent -/* 005444 80004844 24840014 */ addiu $a0, $a0, 0x14 -/* 005448 80004848 8FAC008C */ lw $t4, 0x8c($sp) -.L8000484C: -/* 00544C 8000484C 02E01025 */ move $v0, $s7 -/* 005450 80004850 11800002 */ beqz $t4, .L8000485C -/* 005454 80004854 00000000 */ nop -/* 005458 80004858 AD970000 */ sw $s7, ($t4) -.L8000485C: -/* 00545C 8000485C 8FBF003C */ lw $ra, 0x3c($sp) -/* 005460 80004860 8FB00018 */ lw $s0, 0x18($sp) -/* 005464 80004864 8FB1001C */ lw $s1, 0x1c($sp) -/* 005468 80004868 8FB20020 */ lw $s2, 0x20($sp) -/* 00546C 8000486C 8FB30024 */ lw $s3, 0x24($sp) -/* 005470 80004870 8FB40028 */ lw $s4, 0x28($sp) -/* 005474 80004874 8FB5002C */ lw $s5, 0x2c($sp) -/* 005478 80004878 8FB60030 */ lw $s6, 0x30($sp) -/* 00547C 8000487C 8FB70034 */ lw $s7, 0x34($sp) -/* 005480 80004880 8FBE0038 */ lw $fp, 0x38($sp) -/* 005484 80004884 03E00008 */ jr $ra -/* 005488 80004888 27BD0080 */ addiu $sp, $sp, 0x80 - diff --git a/asm/non_matchings/camera/func_80066CDC.s b/asm/non_matchings/camera/func_80066CDC.s deleted file mode 100644 index 28cab89f..00000000 --- a/asm/non_matchings/camera/func_80066CDC.s +++ /dev/null @@ -1,908 +0,0 @@ -glabel func_80066CDC -/* 0678DC 80066CDC 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0678E0 80066CE0 AFBF0024 */ sw $ra, 0x24($sp) -/* 0678E4 80066CE4 3C1F8012 */ lui $ra, %hi(gActiveCameraID) # $ra, 0x8012 -/* 0678E8 80066CE8 27FF0CE4 */ addiu $ra, %lo(gActiveCameraID) # addiu $ra, $ra, 0xce4 -/* 0678EC 80066CEC 8FE20000 */ lw $v0, ($ra) -/* 0678F0 80066CF0 AFB00020 */ sw $s0, 0x20($sp) -/* 0678F4 80066CF4 00808025 */ move $s0, $a0 -/* 0678F8 80066CF8 AFA5006C */ sw $a1, 0x6c($sp) -/* 0678FC 80066CFC AFA20034 */ sw $v0, 0x34($sp) -/* 067900 80066D00 0C003861 */ jal func_8000E184 -/* 067904 80066D04 AFA20030 */ sw $v0, 0x30($sp) -/* 067908 80066D08 8FA90030 */ lw $t1, 0x30($sp) -/* 06790C 80066D0C 3C1F8012 */ lui $ra, %hi(gActiveCameraID) # $ra, 0x8012 -/* 067910 80066D10 10400008 */ beqz $v0, .L80066D34 -/* 067914 80066D14 27FF0CE4 */ addiu $ra, %lo(gActiveCameraID) # addiu $ra, $ra, 0xce4 -/* 067918 80066D18 3C0E8012 */ lui $t6, %hi(gNumberOfViewports) # $t6, 0x8012 -/* 06791C 80066D1C 8DCE0CE0 */ lw $t6, %lo(gNumberOfViewports)($t6) -/* 067920 80066D20 240F0001 */ li $t7, 1 -/* 067924 80066D24 15C00003 */ bnez $t6, .L80066D34 -/* 067928 80066D28 00000000 */ nop -/* 06792C 80066D2C AFEF0000 */ sw $t7, ($ra) -/* 067930 80066D30 00004825 */ move $t1, $zero -.L80066D34: -/* 067934 80066D34 0C01E948 */ jal fb_size -/* 067938 80066D38 AFA90030 */ sw $t1, 0x30($sp) -/* 06793C 80066D3C 8FA90030 */ lw $t1, 0x30($sp) -/* 067940 80066D40 240B0034 */ li $t3, 52 -/* 067944 80066D44 012B0019 */ multu $t1, $t3 -/* 067948 80066D48 3C0A800E */ lui $t2, %hi(gScreenViewports) # $t2, 0x800e -/* 06794C 80066D4C 254AD064 */ addiu $t2, %lo(gScreenViewports) # addiu $t2, $t2, -0x2f9c -/* 067950 80066D50 3C1F8012 */ lui $ra, %hi(gActiveCameraID) # $ra, 0x8012 -/* 067954 80066D54 00024402 */ srl $t0, $v0, 0x10 -/* 067958 80066D58 27FF0CE4 */ addiu $ra, %lo(gActiveCameraID) # addiu $ra, $ra, 0xce4 -/* 06795C 80066D5C 3C038012 */ lui $v1, %hi(gNumberOfViewports) # $v1, 0x8012 -/* 067960 80066D60 00083842 */ srl $a3, $t0, 1 -/* 067964 80066D64 0000C012 */ mflo $t8 -/* 067968 80066D68 0158C821 */ addu $t9, $t2, $t8 -/* 06796C 80066D6C 8F2E0030 */ lw $t6, 0x30($t9) -/* 067970 80066D70 00000000 */ nop -/* 067974 80066D74 31CF0001 */ andi $t7, $t6, 1 -/* 067978 80066D78 11E00064 */ beqz $t7, .L80066F0C -/* 06797C 80066D7C 00000000 */ nop -/* 067980 80066D80 8FF80000 */ lw $t8, ($ra) -/* 067984 80066D84 AFE90000 */ sw $t1, ($ra) -/* 067988 80066D88 AFB8002C */ sw $t8, 0x2c($sp) -/* 06798C 80066D8C 8E020000 */ lw $v0, ($s0) -/* 067990 80066D90 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 067994 80066D94 24590008 */ addiu $t9, $v0, 8 -/* 067998 80066D98 AE190000 */ sw $t9, ($s0) -/* 06799C 80066D9C 8FEE0000 */ lw $t6, ($ra) -/* 0679A0 80066DA0 44810000 */ mtc1 $at, $f0 -/* 0679A4 80066DA4 01CB0019 */ multu $t6, $t3 -/* 0679A8 80066DA8 02002025 */ move $a0, $s0 -/* 0679AC 80066DAC 00002825 */ move $a1, $zero -/* 0679B0 80066DB0 00003025 */ move $a2, $zero -/* 0679B4 80066DB4 00003825 */ move $a3, $zero -/* 0679B8 80066DB8 00007812 */ mflo $t7 -/* 0679BC 80066DBC 014F1821 */ addu $v1, $t2, $t7 -/* 0679C0 80066DC0 8C780024 */ lw $t8, 0x24($v1) -/* 0679C4 80066DC4 00000000 */ nop -/* 0679C8 80066DC8 44982000 */ mtc1 $t8, $f4 -/* 0679CC 80066DCC 00000000 */ nop -/* 0679D0 80066DD0 468021A0 */ cvt.s.w $f6, $f4 -/* 0679D4 80066DD4 46003202 */ mul.s $f8, $f6, $f0 -/* 0679D8 80066DD8 4459F800 */ cfc1 $t9, $31 -/* 0679DC 80066DDC 00000000 */ nop -/* 0679E0 80066DE0 37210003 */ ori $at, $t9, 3 -/* 0679E4 80066DE4 38210002 */ xori $at, $at, 2 -/* 0679E8 80066DE8 44C1F800 */ ctc1 $at, $31 -/* 0679EC 80066DEC 3C01ED00 */ lui $at, 0xed00 -/* 0679F0 80066DF0 460042A4 */ cvt.w.s $f10, $f8 -/* 0679F4 80066DF4 44D9F800 */ ctc1 $t9, $31 -/* 0679F8 80066DF8 8C790020 */ lw $t9, 0x20($v1) -/* 0679FC 80066DFC 440E5000 */ mfc1 $t6, $f10 -/* 067A00 80066E00 44998000 */ mtc1 $t9, $f16 -/* 067A04 80066E04 31CF0FFF */ andi $t7, $t6, 0xfff -/* 067A08 80066E08 468084A0 */ cvt.s.w $f18, $f16 -/* 067A0C 80066E0C 01E1C025 */ or $t8, $t7, $at -/* 067A10 80066E10 46009102 */ mul.s $f4, $f18, $f0 -/* 067A14 80066E14 444EF800 */ cfc1 $t6, $31 -/* 067A18 80066E18 00000000 */ nop -/* 067A1C 80066E1C 35C10003 */ ori $at, $t6, 3 -/* 067A20 80066E20 38210002 */ xori $at, $at, 2 -/* 067A24 80066E24 44C1F800 */ ctc1 $at, $31 -/* 067A28 80066E28 00000000 */ nop -/* 067A2C 80066E2C 460021A4 */ cvt.w.s $f6, $f4 -/* 067A30 80066E30 440F3000 */ mfc1 $t7, $f6 -/* 067A34 80066E34 44CEF800 */ ctc1 $t6, $31 -/* 067A38 80066E38 31F90FFF */ andi $t9, $t7, 0xfff -/* 067A3C 80066E3C 00197300 */ sll $t6, $t9, 0xc -/* 067A40 80066E40 030E7825 */ or $t7, $t8, $t6 -/* 067A44 80066E44 AC4F0000 */ sw $t7, ($v0) -/* 067A48 80066E48 8FF90000 */ lw $t9, ($ra) -/* 067A4C 80066E4C 00000000 */ nop -/* 067A50 80066E50 032B0019 */ multu $t9, $t3 -/* 067A54 80066E54 0000C012 */ mflo $t8 -/* 067A58 80066E58 01581821 */ addu $v1, $t2, $t8 -/* 067A5C 80066E5C 8C6E002C */ lw $t6, 0x2c($v1) -/* 067A60 80066E60 00000000 */ nop -/* 067A64 80066E64 448E4000 */ mtc1 $t6, $f8 -/* 067A68 80066E68 8C6E0028 */ lw $t6, 0x28($v1) -/* 067A6C 80066E6C 468042A0 */ cvt.s.w $f10, $f8 -/* 067A70 80066E70 448E2000 */ mtc1 $t6, $f4 -/* 067A74 80066E74 46005402 */ mul.s $f16, $f10, $f0 -/* 067A78 80066E78 444FF800 */ cfc1 $t7, $31 -/* 067A7C 80066E7C 00000000 */ nop -/* 067A80 80066E80 35E10003 */ ori $at, $t7, 3 -/* 067A84 80066E84 38210002 */ xori $at, $at, 2 -/* 067A88 80066E88 44C1F800 */ ctc1 $at, $31 -/* 067A8C 80066E8C 35E10003 */ ori $at, $t7, 3 -/* 067A90 80066E90 460084A4 */ cvt.w.s $f18, $f16 -/* 067A94 80066E94 38210002 */ xori $at, $at, 2 -/* 067A98 80066E98 44CFF800 */ ctc1 $t7, $31 -/* 067A9C 80066E9C 44199000 */ mfc1 $t9, $f18 -/* 067AA0 80066EA0 468021A0 */ cvt.s.w $f6, $f4 -/* 067AA4 80066EA4 33380FFF */ andi $t8, $t9, 0xfff -/* 067AA8 80066EA8 46003202 */ mul.s $f8, $f6, $f0 -/* 067AAC 80066EAC 44C1F800 */ ctc1 $at, $31 -/* 067AB0 80066EB0 00000000 */ nop -/* 067AB4 80066EB4 460042A4 */ cvt.w.s $f10, $f8 -/* 067AB8 80066EB8 44195000 */ mfc1 $t9, $f10 -/* 067ABC 80066EBC 44CFF800 */ ctc1 $t7, $31 -/* 067AC0 80066EC0 332E0FFF */ andi $t6, $t9, 0xfff -/* 067AC4 80066EC4 000E7B00 */ sll $t7, $t6, 0xc -/* 067AC8 80066EC8 030FC825 */ or $t9, $t8, $t7 -/* 067ACC 80066ECC AC590004 */ sw $t9, 4($v0) -/* 067AD0 80066ED0 0C01A056 */ jal viewport_rsp_set -/* 067AD4 80066ED4 AFA00010 */ sw $zero, 0x10($sp) -/* 067AD8 80066ED8 8FA5006C */ lw $a1, 0x6c($sp) -/* 067ADC 80066EDC 8FAE002C */ lw $t6, 0x2c($sp) -/* 067AE0 80066EE0 3C1F8012 */ lui $ra, %hi(gActiveCameraID) # $ra, 0x8012 -/* 067AE4 80066EE4 27FF0CE4 */ addiu $ra, %lo(gActiveCameraID) # addiu $ra, $ra, 0xce4 -/* 067AE8 80066EE8 10A00005 */ beqz $a1, .L80066F00 -/* 067AEC 80066EEC AFEE0000 */ sw $t6, ($ra) -/* 067AF0 80066EF0 0C019F4F */ jal func_80067D3C -/* 067AF4 80066EF4 02002025 */ move $a0, $s0 -/* 067AF8 80066EF8 3C1F8012 */ lui $ra, %hi(gActiveCameraID) # $ra, 0x8012 -/* 067AFC 80066EFC 27FF0CE4 */ addiu $ra, %lo(gActiveCameraID) # addiu $ra, $ra, 0xce4 -.L80066F00: -/* 067B00 80066F00 8FB80034 */ lw $t8, 0x34($sp) -/* 067B04 80066F04 100002C9 */ b .L80067A2C -/* 067B08 80066F08 AFF80000 */ sw $t8, ($ra) -.L80066F0C: -/* 067B0C 80066F0C 8C630CE0 */ lw $v1, %lo(gNumberOfViewports)($v1) -/* 067B10 80066F10 24040002 */ li $a0, 2 -/* 067B14 80066F14 14640002 */ bne $v1, $a0, .L80066F20 -/* 067B18 80066F18 3049FFFF */ andi $t1, $v0, 0xffff -/* 067B1C 80066F1C 24030003 */ li $v1, 3 -.L80066F20: -/* 067B20 80066F20 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -/* 067B24 80066F24 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -/* 067B28 80066F28 00093042 */ srl $a2, $t1, 1 -/* 067B2C 80066F2C AFA60054 */ sw $a2, 0x54($sp) -/* 067B30 80066F30 15400003 */ bnez $t2, .L80066F40 -/* 067B34 80066F34 AFA70058 */ sw $a3, 0x58($sp) -/* 067B38 80066F38 240F0091 */ li $t7, 145 -/* 067B3C 80066F3C AFAF0058 */ sw $t7, 0x58($sp) -.L80066F40: -/* 067B40 80066F40 1060000C */ beqz $v1, .L80066F74 -/* 067B44 80066F44 00C02825 */ move $a1, $a2 -/* 067B48 80066F48 240B0001 */ li $t3, 1 -/* 067B4C 80066F4C 106B003F */ beq $v1, $t3, .L8006704C -/* 067B50 80066F50 00000000 */ nop -/* 067B54 80066F54 106400BD */ beq $v1, $a0, .L8006724C -/* 067B58 80066F58 24050003 */ li $a1, 3 -/* 067B5C 80066F5C 10650139 */ beq $v1, $a1, .L80067444 -/* 067B60 80066F60 00067842 */ srl $t7, $a2, 1 -/* 067B64 80066F64 8FAB0050 */ lw $t3, 0x50($sp) -/* 067B68 80066F68 8FA7004C */ lw $a3, 0x4c($sp) -/* 067B6C 80066F6C 1000029D */ b .L800679E4 -/* 067B70 80066F70 00000000 */ nop -.L80066F74: -/* 067B74 80066F74 8FB90058 */ lw $t9, 0x58($sp) -/* 067B78 80066F78 15400002 */ bnez $t2, .L80066F84 -/* 067B7C 80066F7C 03205825 */ move $t3, $t9 -/* 067B80 80066F80 272BFFEE */ addiu $t3, $t9, -0x12 -.L80066F84: -/* 067B84 80066F84 8E030000 */ lw $v1, ($s0) -/* 067B88 80066F88 44898000 */ mtc1 $t1, $f16 -/* 067B8C 80066F8C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 067B90 80066F90 246E0008 */ addiu $t6, $v1, 8 -/* 067B94 80066F94 44810000 */ mtc1 $at, $f0 -/* 067B98 80066F98 AE0E0000 */ sw $t6, ($s0) -/* 067B9C 80066F9C 3C18ED00 */ lui $t8, 0xed00 -/* 067BA0 80066FA0 AC780000 */ sw $t8, ($v1) -/* 067BA4 80066FA4 05210005 */ bgez $t1, .L80066FBC -/* 067BA8 80066FA8 468084A0 */ cvt.s.w $f18, $f16 -/* 067BAC 80066FAC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 067BB0 80066FB0 44812000 */ mtc1 $at, $f4 -/* 067BB4 80066FB4 00000000 */ nop -/* 067BB8 80066FB8 46049480 */ add.s $f18, $f18, $f4 -.L80066FBC: -/* 067BBC 80066FBC 46009182 */ mul.s $f6, $f18, $f0 -/* 067BC0 80066FC0 44885000 */ mtc1 $t0, $f10 -/* 067BC4 80066FC4 444FF800 */ cfc1 $t7, $31 -/* 067BC8 80066FC8 00000000 */ nop -/* 067BCC 80066FCC 35E10003 */ ori $at, $t7, 3 -/* 067BD0 80066FD0 38210002 */ xori $at, $at, 2 -/* 067BD4 80066FD4 44C1F800 */ ctc1 $at, $31 -/* 067BD8 80066FD8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 067BDC 80066FDC 46003224 */ cvt.w.s $f8, $f6 -/* 067BE0 80066FE0 44194000 */ mfc1 $t9, $f8 -/* 067BE4 80066FE4 44CFF800 */ ctc1 $t7, $31 -/* 067BE8 80066FE8 332E0FFF */ andi $t6, $t9, 0xfff -/* 067BEC 80066FEC 000EC300 */ sll $t8, $t6, 0xc -/* 067BF0 80066FF0 05010004 */ bgez $t0, .L80067004 -/* 067BF4 80066FF4 46805420 */ cvt.s.w $f16, $f10 -/* 067BF8 80066FF8 44812000 */ mtc1 $at, $f4 -/* 067BFC 80066FFC 00000000 */ nop -/* 067C00 80067000 46048400 */ add.s $f16, $f16, $f4 -.L80067004: -/* 067C04 80067004 46008482 */ mul.s $f18, $f16, $f0 -/* 067C08 80067008 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -/* 067C0C 8006700C 00A03825 */ move $a3, $a1 -/* 067C10 80067010 444FF800 */ cfc1 $t7, $31 -/* 067C14 80067014 00000000 */ nop -/* 067C18 80067018 35E10003 */ ori $at, $t7, 3 -/* 067C1C 8006701C 38210002 */ xori $at, $at, 2 -/* 067C20 80067020 44C1F800 */ ctc1 $at, $31 -/* 067C24 80067024 00000000 */ nop -/* 067C28 80067028 460091A4 */ cvt.w.s $f6, $f18 -/* 067C2C 8006702C 44193000 */ mfc1 $t9, $f6 -/* 067C30 80067030 44CFF800 */ ctc1 $t7, $31 -/* 067C34 80067034 332E0FFF */ andi $t6, $t9, 0xfff -/* 067C38 80067038 030E7825 */ or $t7, $t8, $t6 -/* 067C3C 8006703C AC6F0004 */ sw $t7, 4($v1) -/* 067C40 80067040 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -/* 067C44 80067044 10000267 */ b .L800679E4 -/* 067C48 80067048 AFA5004C */ sw $a1, 0x4c($sp) -.L8006704C: -/* 067C4C 8006704C 8FEB0000 */ lw $t3, ($ra) -/* 067C50 80067050 00C02825 */ move $a1, $a2 -/* 067C54 80067054 15600035 */ bnez $t3, .L8006712C -/* 067C58 80067058 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 067C5C 8006705C 00081082 */ srl $v0, $t0, 2 -/* 067C60 80067060 15400002 */ bnez $t2, .L8006706C -/* 067C64 80067064 00405825 */ move $t3, $v0 -/* 067C68 80067068 244BFFF4 */ addiu $t3, $v0, -0xc -.L8006706C: -/* 067C6C 8006706C 8E030000 */ lw $v1, ($s0) -/* 067C70 80067070 44894000 */ mtc1 $t1, $f8 -/* 067C74 80067074 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 067C78 80067078 24790008 */ addiu $t9, $v1, 8 -/* 067C7C 8006707C 44810000 */ mtc1 $at, $f0 -/* 067C80 80067080 AE190000 */ sw $t9, ($s0) -/* 067C84 80067084 3C18ED00 */ lui $t8, 0xed00 -/* 067C88 80067088 AC780000 */ sw $t8, ($v1) -/* 067C8C 8006708C 05210005 */ bgez $t1, .L800670A4 -/* 067C90 80067090 468042A0 */ cvt.s.w $f10, $f8 -/* 067C94 80067094 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 067C98 80067098 44812000 */ mtc1 $at, $f4 -/* 067C9C 8006709C 00000000 */ nop -/* 067CA0 800670A0 46045280 */ add.s $f10, $f10, $f4 -.L800670A4: -/* 067CA4 800670A4 46005402 */ mul.s $f16, $f10, $f0 -/* 067CA8 800670A8 444EF800 */ cfc1 $t6, $31 -/* 067CAC 800670AC 00000000 */ nop -/* 067CB0 800670B0 35C10003 */ ori $at, $t6, 3 -/* 067CB4 800670B4 38210002 */ xori $at, $at, 2 -/* 067CB8 800670B8 44C1F800 */ ctc1 $at, $31 -/* 067CBC 800670BC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 067CC0 800670C0 460084A4 */ cvt.w.s $f18, $f16 -/* 067CC4 800670C4 440F9000 */ mfc1 $t7, $f18 -/* 067CC8 800670C8 44CEF800 */ ctc1 $t6, $31 -/* 067CCC 800670CC 000871C2 */ srl $t6, $t0, 7 -/* 067CD0 800670D0 31F90FFF */ andi $t9, $t7, 0xfff -/* 067CD4 800670D4 00EE7823 */ subu $t7, $a3, $t6 -/* 067CD8 800670D8 448F3000 */ mtc1 $t7, $f6 -/* 067CDC 800670DC 0019C300 */ sll $t8, $t9, 0xc -/* 067CE0 800670E0 05E10004 */ bgez $t7, .L800670F4 -/* 067CE4 800670E4 46803220 */ cvt.s.w $f8, $f6 -/* 067CE8 800670E8 44812000 */ mtc1 $at, $f4 -/* 067CEC 800670EC 00000000 */ nop -/* 067CF0 800670F0 46044200 */ add.s $f8, $f8, $f4 -.L800670F4: -/* 067CF4 800670F4 46004282 */ mul.s $f10, $f8, $f0 -/* 067CF8 800670F8 4459F800 */ cfc1 $t9, $31 -/* 067CFC 800670FC 00000000 */ nop -/* 067D00 80067100 37210003 */ ori $at, $t9, 3 -/* 067D04 80067104 38210002 */ xori $at, $at, 2 -/* 067D08 80067108 44C1F800 */ ctc1 $at, $31 -/* 067D0C 8006710C 00000000 */ nop -/* 067D10 80067110 46005424 */ cvt.w.s $f16, $f10 -/* 067D14 80067114 440E8000 */ mfc1 $t6, $f16 -/* 067D18 80067118 44D9F800 */ ctc1 $t9, $31 -/* 067D1C 8006711C 31CF0FFF */ andi $t7, $t6, 0xfff -/* 067D20 80067120 030FC825 */ or $t9, $t8, $t7 -/* 067D24 80067124 10000044 */ b .L80067238 -/* 067D28 80067128 AC790004 */ sw $t9, 4($v1) -.L8006712C: -/* 067D2C 8006712C 000819C2 */ srl $v1, $t0, 7 -/* 067D30 80067130 8E040000 */ lw $a0, ($s0) -/* 067D34 80067134 00E37821 */ addu $t7, $a3, $v1 -/* 067D38 80067138 448F9000 */ mtc1 $t7, $f18 -/* 067D3C 8006713C 44810000 */ mtc1 $at, $f0 -/* 067D40 80067140 00087082 */ srl $t6, $t0, 2 -/* 067D44 80067144 24980008 */ addiu $t8, $a0, 8 -/* 067D48 80067148 00EE5821 */ addu $t3, $a3, $t6 -/* 067D4C 8006714C AE180000 */ sw $t8, ($s0) -/* 067D50 80067150 05E10005 */ bgez $t7, .L80067168 -/* 067D54 80067154 468091A0 */ cvt.s.w $f6, $f18 -/* 067D58 80067158 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 067D5C 8006715C 44812000 */ mtc1 $at, $f4 -/* 067D60 80067160 00000000 */ nop -/* 067D64 80067164 46043180 */ add.s $f6, $f6, $f4 -.L80067168: -/* 067D68 80067168 46003202 */ mul.s $f8, $f6, $f0 -/* 067D6C 8006716C 44898000 */ mtc1 $t1, $f16 -/* 067D70 80067170 4459F800 */ cfc1 $t9, $31 -/* 067D74 80067174 00000000 */ nop -/* 067D78 80067178 37210003 */ ori $at, $t9, 3 -/* 067D7C 8006717C 38210002 */ xori $at, $at, 2 -/* 067D80 80067180 44C1F800 */ ctc1 $at, $31 -/* 067D84 80067184 3C01ED00 */ lui $at, 0xed00 -/* 067D88 80067188 460042A4 */ cvt.w.s $f10, $f8 -/* 067D8C 8006718C 440E5000 */ mfc1 $t6, $f10 -/* 067D90 80067190 44D9F800 */ ctc1 $t9, $31 -/* 067D94 80067194 31D80FFF */ andi $t8, $t6, 0xfff -/* 067D98 80067198 03017825 */ or $t7, $t8, $at -/* 067D9C 8006719C AC8F0000 */ sw $t7, ($a0) -/* 067DA0 800671A0 05210005 */ bgez $t1, .L800671B8 -/* 067DA4 800671A4 468084A0 */ cvt.s.w $f18, $f16 -/* 067DA8 800671A8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 067DAC 800671AC 44812000 */ mtc1 $at, $f4 -/* 067DB0 800671B0 00000000 */ nop -/* 067DB4 800671B4 46049480 */ add.s $f18, $f18, $f4 -.L800671B8: -/* 067DB8 800671B8 46009182 */ mul.s $f6, $f18, $f0 -/* 067DBC 800671BC 4459F800 */ cfc1 $t9, $31 -/* 067DC0 800671C0 00000000 */ nop -/* 067DC4 800671C4 37210003 */ ori $at, $t9, 3 -/* 067DC8 800671C8 38210002 */ xori $at, $at, 2 -/* 067DCC 800671CC 44C1F800 */ ctc1 $at, $31 -/* 067DD0 800671D0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 067DD4 800671D4 46003224 */ cvt.w.s $f8, $f6 -/* 067DD8 800671D8 44D9F800 */ ctc1 $t9, $31 -/* 067DDC 800671DC 440E4000 */ mfc1 $t6, $f8 -/* 067DE0 800671E0 0103C823 */ subu $t9, $t0, $v1 -/* 067DE4 800671E4 44995000 */ mtc1 $t9, $f10 -/* 067DE8 800671E8 31D80FFF */ andi $t8, $t6, 0xfff -/* 067DEC 800671EC 00187B00 */ sll $t7, $t8, 0xc -/* 067DF0 800671F0 07210004 */ bgez $t9, .L80067204 -/* 067DF4 800671F4 46805420 */ cvt.s.w $f16, $f10 -/* 067DF8 800671F8 44812000 */ mtc1 $at, $f4 -/* 067DFC 800671FC 00000000 */ nop -/* 067E00 80067200 46048400 */ add.s $f16, $f16, $f4 -.L80067204: -/* 067E04 80067204 46008482 */ mul.s $f18, $f16, $f0 -/* 067E08 80067208 444EF800 */ cfc1 $t6, $31 -/* 067E0C 8006720C 00000000 */ nop -/* 067E10 80067210 35C10003 */ ori $at, $t6, 3 -/* 067E14 80067214 38210002 */ xori $at, $at, 2 -/* 067E18 80067218 44C1F800 */ ctc1 $at, $31 -/* 067E1C 8006721C 00000000 */ nop -/* 067E20 80067220 460091A4 */ cvt.w.s $f6, $f18 -/* 067E24 80067224 44183000 */ mfc1 $t8, $f6 -/* 067E28 80067228 44CEF800 */ ctc1 $t6, $31 -/* 067E2C 8006722C 33190FFF */ andi $t9, $t8, 0xfff -/* 067E30 80067230 01F97025 */ or $t6, $t7, $t9 -/* 067E34 80067234 AC8E0004 */ sw $t6, 4($a0) -.L80067238: -/* 067E38 80067238 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -/* 067E3C 8006723C 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -/* 067E40 80067240 AFA5004C */ sw $a1, 0x4c($sp) -/* 067E44 80067244 100001E7 */ b .L800679E4 -/* 067E48 80067248 00A03825 */ move $a3, $a1 -.L8006724C: -/* 067E4C 8006724C 8FF80000 */ lw $t8, ($ra) -/* 067E50 80067250 8FAB0058 */ lw $t3, 0x58($sp) -/* 067E54 80067254 17000032 */ bnez $t8, .L80067320 -/* 067E58 80067258 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -/* 067E5C 8006725C 8E030000 */ lw $v1, ($s0) -/* 067E60 80067260 00097202 */ srl $t6, $t1, 8 -/* 067E64 80067264 00CEC023 */ subu $t8, $a2, $t6 -/* 067E68 80067268 44984000 */ mtc1 $t8, $f8 -/* 067E6C 8006726C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 067E70 80067270 246F0008 */ addiu $t7, $v1, 8 -/* 067E74 80067274 44810000 */ mtc1 $at, $f0 -/* 067E78 80067278 AE0F0000 */ sw $t7, ($s0) -/* 067E7C 8006727C 3C19ED00 */ lui $t9, 0xed00 -/* 067E80 80067280 00092882 */ srl $a1, $t1, 2 -/* 067E84 80067284 AC790000 */ sw $t9, ($v1) -/* 067E88 80067288 07010005 */ bgez $t8, .L800672A0 -/* 067E8C 8006728C 468042A0 */ cvt.s.w $f10, $f8 -/* 067E90 80067290 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 067E94 80067294 44812000 */ mtc1 $at, $f4 -/* 067E98 80067298 00000000 */ nop -/* 067E9C 8006729C 46045280 */ add.s $f10, $f10, $f4 -.L800672A0: -/* 067EA0 800672A0 46005402 */ mul.s $f16, $f10, $f0 -/* 067EA4 800672A4 44883000 */ mtc1 $t0, $f6 -/* 067EA8 800672A8 444FF800 */ cfc1 $t7, $31 -/* 067EAC 800672AC 00000000 */ nop -/* 067EB0 800672B0 35E10003 */ ori $at, $t7, 3 -/* 067EB4 800672B4 38210002 */ xori $at, $at, 2 -/* 067EB8 800672B8 44C1F800 */ ctc1 $at, $31 -/* 067EBC 800672BC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 067EC0 800672C0 460084A4 */ cvt.w.s $f18, $f16 -/* 067EC4 800672C4 44199000 */ mfc1 $t9, $f18 -/* 067EC8 800672C8 44CFF800 */ ctc1 $t7, $31 -/* 067ECC 800672CC 332E0FFF */ andi $t6, $t9, 0xfff -/* 067ED0 800672D0 000EC300 */ sll $t8, $t6, 0xc -/* 067ED4 800672D4 05010004 */ bgez $t0, .L800672E8 -/* 067ED8 800672D8 46803220 */ cvt.s.w $f8, $f6 -/* 067EDC 800672DC 44812000 */ mtc1 $at, $f4 -/* 067EE0 800672E0 00000000 */ nop -/* 067EE4 800672E4 46044200 */ add.s $f8, $f8, $f4 -.L800672E8: -/* 067EE8 800672E8 46004282 */ mul.s $f10, $f8, $f0 -/* 067EEC 800672EC 444FF800 */ cfc1 $t7, $31 -/* 067EF0 800672F0 00000000 */ nop -/* 067EF4 800672F4 35E10003 */ ori $at, $t7, 3 -/* 067EF8 800672F8 38210002 */ xori $at, $at, 2 -/* 067EFC 800672FC 44C1F800 */ ctc1 $at, $31 -/* 067F00 80067300 00000000 */ nop -/* 067F04 80067304 46005424 */ cvt.w.s $f16, $f10 -/* 067F08 80067308 44198000 */ mfc1 $t9, $f16 -/* 067F0C 8006730C 44CFF800 */ ctc1 $t7, $31 -/* 067F10 80067310 332E0FFF */ andi $t6, $t9, 0xfff -/* 067F14 80067314 030E7825 */ or $t7, $t8, $t6 -/* 067F18 80067318 10000046 */ b .L80067434 -/* 067F1C 8006731C AC6F0004 */ sw $t7, 4($v1) -.L80067320: -/* 067F20 80067320 00092202 */ srl $a0, $t1, 8 -/* 067F24 80067324 8E030000 */ lw $v1, ($s0) -/* 067F28 80067328 00C47021 */ addu $t6, $a2, $a0 -/* 067F2C 8006732C 448E9000 */ mtc1 $t6, $f18 -/* 067F30 80067330 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 067F34 80067334 44810000 */ mtc1 $at, $f0 -/* 067F38 80067338 0009C882 */ srl $t9, $t1, 2 -/* 067F3C 8006733C 24780008 */ addiu $t8, $v1, 8 -/* 067F40 80067340 00D92821 */ addu $a1, $a2, $t9 -/* 067F44 80067344 AE180000 */ sw $t8, ($s0) -/* 067F48 80067348 05C10005 */ bgez $t6, .L80067360 -/* 067F4C 8006734C 468091A0 */ cvt.s.w $f6, $f18 -/* 067F50 80067350 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 067F54 80067354 44812000 */ mtc1 $at, $f4 -/* 067F58 80067358 00000000 */ nop -/* 067F5C 8006735C 46043180 */ add.s $f6, $f6, $f4 -.L80067360: -/* 067F60 80067360 46003202 */ mul.s $f8, $f6, $f0 -/* 067F64 80067364 444FF800 */ cfc1 $t7, $31 -/* 067F68 80067368 00000000 */ nop -/* 067F6C 8006736C 35E10003 */ ori $at, $t7, 3 -/* 067F70 80067370 38210002 */ xori $at, $at, 2 -/* 067F74 80067374 44C1F800 */ ctc1 $at, $31 -/* 067F78 80067378 3C01ED00 */ lui $at, 0xed00 -/* 067F7C 8006737C 460042A4 */ cvt.w.s $f10, $f8 -/* 067F80 80067380 44195000 */ mfc1 $t9, $f10 -/* 067F84 80067384 44CFF800 */ ctc1 $t7, $31 -/* 067F88 80067388 33380FFF */ andi $t8, $t9, 0xfff -/* 067F8C 8006738C 0124C823 */ subu $t9, $t1, $a0 -/* 067F90 80067390 44998000 */ mtc1 $t9, $f16 -/* 067F94 80067394 00187300 */ sll $t6, $t8, 0xc -/* 067F98 80067398 01C17825 */ or $t7, $t6, $at -/* 067F9C 8006739C AC6F0000 */ sw $t7, ($v1) -/* 067FA0 800673A0 07210005 */ bgez $t9, .L800673B8 -/* 067FA4 800673A4 468084A0 */ cvt.s.w $f18, $f16 -/* 067FA8 800673A8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 067FAC 800673AC 44812000 */ mtc1 $at, $f4 -/* 067FB0 800673B0 00000000 */ nop -/* 067FB4 800673B4 46049480 */ add.s $f18, $f18, $f4 -.L800673B8: -/* 067FB8 800673B8 46009182 */ mul.s $f6, $f18, $f0 -/* 067FBC 800673BC 44885000 */ mtc1 $t0, $f10 -/* 067FC0 800673C0 4458F800 */ cfc1 $t8, $31 -/* 067FC4 800673C4 00000000 */ nop -/* 067FC8 800673C8 37010003 */ ori $at, $t8, 3 -/* 067FCC 800673CC 38210002 */ xori $at, $at, 2 -/* 067FD0 800673D0 44C1F800 */ ctc1 $at, $31 -/* 067FD4 800673D4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 067FD8 800673D8 46003224 */ cvt.w.s $f8, $f6 -/* 067FDC 800673DC 440E4000 */ mfc1 $t6, $f8 -/* 067FE0 800673E0 44D8F800 */ ctc1 $t8, $31 -/* 067FE4 800673E4 31CF0FFF */ andi $t7, $t6, 0xfff -/* 067FE8 800673E8 000FCB00 */ sll $t9, $t7, 0xc -/* 067FEC 800673EC 05010004 */ bgez $t0, .L80067400 -/* 067FF0 800673F0 46805420 */ cvt.s.w $f16, $f10 -/* 067FF4 800673F4 44812000 */ mtc1 $at, $f4 -/* 067FF8 800673F8 00000000 */ nop -/* 067FFC 800673FC 46048400 */ add.s $f16, $f16, $f4 -.L80067400: -/* 068000 80067400 46008482 */ mul.s $f18, $f16, $f0 -/* 068004 80067404 4458F800 */ cfc1 $t8, $31 -/* 068008 80067408 00000000 */ nop -/* 06800C 8006740C 37010003 */ ori $at, $t8, 3 -/* 068010 80067410 38210002 */ xori $at, $at, 2 -/* 068014 80067414 44C1F800 */ ctc1 $at, $31 -/* 068018 80067418 00000000 */ nop -/* 06801C 8006741C 460091A4 */ cvt.w.s $f6, $f18 -/* 068020 80067420 440E3000 */ mfc1 $t6, $f6 -/* 068024 80067424 44D8F800 */ ctc1 $t8, $31 -/* 068028 80067428 31CF0FFF */ andi $t7, $t6, 0xfff -/* 06802C 8006742C 032FC025 */ or $t8, $t9, $t7 -/* 068030 80067430 AC780004 */ sw $t8, 4($v1) -.L80067434: -/* 068034 80067434 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -/* 068038 80067438 AFA5004C */ sw $a1, 0x4c($sp) -/* 06803C 8006743C 10000169 */ b .L800679E4 -/* 068040 80067440 00A03825 */ move $a3, $a1 -.L80067444: -/* 068044 80067444 8FAE0058 */ lw $t6, 0x58($sp) -/* 068048 80067448 8FE20000 */ lw $v0, ($ra) -/* 06804C 8006744C 000EC842 */ srl $t9, $t6, 1 -/* 068050 80067450 AFB90058 */ sw $t9, 0x58($sp) -/* 068054 80067454 AFAF0054 */ sw $t7, 0x54($sp) -/* 068058 80067458 00006025 */ move $t4, $zero -/* 06805C 8006745C 10400009 */ beqz $v0, .L80067484 -/* 068060 80067460 00006825 */ move $t5, $zero -/* 068064 80067464 104B0061 */ beq $v0, $t3, .L800675EC -/* 068068 80067468 3C014080 */ lui $at, 0x4080 -/* 06806C 8006746C 104400A9 */ beq $v0, $a0, .L80067714 -/* 068070 80067470 3C014080 */ lui $at, 0x4080 -/* 068074 80067474 104500F0 */ beq $v0, $a1, .L80067838 -/* 068078 80067478 3C014080 */ lui $at, 0x4080 -/* 06807C 8006747C 1000014D */ b .L800679B4 -/* 068080 80067480 8FB90058 */ lw $t9, 0x58($sp) -.L80067484: -/* 068084 80067484 8E030000 */ lw $v1, ($s0) -/* 068088 80067488 44804000 */ mtc1 $zero, $f8 -/* 06808C 8006748C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 068090 80067490 44810000 */ mtc1 $at, $f0 -/* 068094 80067494 24780008 */ addiu $t8, $v1, 8 -/* 068098 80067498 AE180000 */ sw $t8, ($s0) -/* 06809C 8006749C 04010005 */ bgez $zero, .L800674B4 -/* 0680A0 800674A0 468042A0 */ cvt.s.w $f10, $f8 -/* 0680A4 800674A4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0680A8 800674A8 44812000 */ mtc1 $at, $f4 -/* 0680AC 800674AC 00000000 */ nop -/* 0680B0 800674B0 46045280 */ add.s $f10, $f10, $f4 -.L800674B4: -/* 0680B4 800674B4 46005402 */ mul.s $f16, $f10, $f0 -/* 0680B8 800674B8 44803000 */ mtc1 $zero, $f6 -/* 0680BC 800674BC 444EF800 */ cfc1 $t6, $31 -/* 0680C0 800674C0 00000000 */ nop -/* 0680C4 800674C4 35C10003 */ ori $at, $t6, 3 -/* 0680C8 800674C8 38210002 */ xori $at, $at, 2 -/* 0680CC 800674CC 44C1F800 */ ctc1 $at, $31 -/* 0680D0 800674D0 3C01ED00 */ li $at, 0xED000000 # -2475880078570760549798248448.000000 -/* 0680D4 800674D4 460084A4 */ cvt.w.s $f18, $f16 -/* 0680D8 800674D8 44199000 */ mfc1 $t9, $f18 -/* 0680DC 800674DC 44CEF800 */ ctc1 $t6, $31 -/* 0680E0 800674E0 332F0FFF */ andi $t7, $t9, 0xfff -/* 0680E4 800674E4 000FC300 */ sll $t8, $t7, 0xc -/* 0680E8 800674E8 03017025 */ or $t6, $t8, $at -/* 0680EC 800674EC 04010005 */ bgez $zero, .L80067504 -/* 0680F0 800674F0 46803220 */ cvt.s.w $f8, $f6 -/* 0680F4 800674F4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0680F8 800674F8 44812000 */ mtc1 $at, $f4 -/* 0680FC 800674FC 00000000 */ nop -/* 068100 80067500 46044200 */ add.s $f8, $f8, $f4 -.L80067504: -/* 068104 80067504 46004282 */ mul.s $f10, $f8, $f0 -/* 068108 80067508 4459F800 */ cfc1 $t9, $31 -/* 06810C 8006750C 00000000 */ nop -/* 068110 80067510 37210003 */ ori $at, $t9, 3 -/* 068114 80067514 38210002 */ xori $at, $at, 2 -/* 068118 80067518 44C1F800 */ ctc1 $at, $31 -/* 06811C 8006751C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 068120 80067520 46005424 */ cvt.w.s $f16, $f10 -/* 068124 80067524 440F8000 */ mfc1 $t7, $f16 -/* 068128 80067528 44D9F800 */ ctc1 $t9, $31 -/* 06812C 8006752C 31F80FFF */ andi $t8, $t7, 0xfff -/* 068130 80067530 01D8C825 */ or $t9, $t6, $t8 -/* 068134 80067534 00097A02 */ srl $t7, $t1, 8 -/* 068138 80067538 00CF7023 */ subu $t6, $a2, $t7 -/* 06813C 8006753C 448E9000 */ mtc1 $t6, $f18 -/* 068140 80067540 AC790000 */ sw $t9, ($v1) -/* 068144 80067544 05C10004 */ bgez $t6, .L80067558 -/* 068148 80067548 468091A0 */ cvt.s.w $f6, $f18 -/* 06814C 8006754C 44812000 */ mtc1 $at, $f4 -/* 068150 80067550 00000000 */ nop -/* 068154 80067554 46043180 */ add.s $f6, $f6, $f4 -.L80067558: -/* 068158 80067558 46003202 */ mul.s $f8, $f6, $f0 -/* 06815C 8006755C 4458F800 */ cfc1 $t8, $31 -/* 068160 80067560 00000000 */ nop -/* 068164 80067564 37010003 */ ori $at, $t8, 3 -/* 068168 80067568 38210002 */ xori $at, $at, 2 -/* 06816C 8006756C 44C1F800 */ ctc1 $at, $31 -/* 068170 80067570 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 068174 80067574 460042A4 */ cvt.w.s $f10, $f8 -/* 068178 80067578 44195000 */ mfc1 $t9, $f10 -/* 06817C 8006757C 44D8F800 */ ctc1 $t8, $31 -/* 068180 80067580 0008C1C2 */ srl $t8, $t0, 7 -/* 068184 80067584 332F0FFF */ andi $t7, $t9, 0xfff -/* 068188 80067588 00F8C823 */ subu $t9, $a3, $t8 -/* 06818C 8006758C 44998000 */ mtc1 $t9, $f16 -/* 068190 80067590 000F7300 */ sll $t6, $t7, 0xc -/* 068194 80067594 07210004 */ bgez $t9, .L800675A8 -/* 068198 80067598 468084A0 */ cvt.s.w $f18, $f16 -/* 06819C 8006759C 44812000 */ mtc1 $at, $f4 -/* 0681A0 800675A0 00000000 */ nop -/* 0681A4 800675A4 46049480 */ add.s $f18, $f18, $f4 -.L800675A8: -/* 0681A8 800675A8 46009182 */ mul.s $f6, $f18, $f0 -/* 0681AC 800675AC 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -/* 0681B0 800675B0 444FF800 */ cfc1 $t7, $31 -/* 0681B4 800675B4 00000000 */ nop -/* 0681B8 800675B8 35E10003 */ ori $at, $t7, 3 -/* 0681BC 800675BC 38210002 */ xori $at, $at, 2 -/* 0681C0 800675C0 44C1F800 */ ctc1 $at, $31 -/* 0681C4 800675C4 00000000 */ nop -/* 0681C8 800675C8 46003224 */ cvt.w.s $f8, $f6 -/* 0681CC 800675CC 44184000 */ mfc1 $t8, $f8 -/* 0681D0 800675D0 44CFF800 */ ctc1 $t7, $31 -/* 0681D4 800675D4 33190FFF */ andi $t9, $t8, 0xfff -/* 0681D8 800675D8 01D97825 */ or $t7, $t6, $t9 -/* 0681DC 800675DC AC6F0004 */ sw $t7, 4($v1) -/* 0681E0 800675E0 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -/* 0681E4 800675E4 100000F3 */ b .L800679B4 -/* 0681E8 800675E8 8FB90058 */ lw $t9, 0x58($sp) -.L800675EC: -/* 0681EC 800675EC 00092202 */ srl $a0, $t1, 8 -/* 0681F0 800675F0 8E030000 */ lw $v1, ($s0) -/* 0681F4 800675F4 00C47021 */ addu $t6, $a2, $a0 -/* 0681F8 800675F8 448E5000 */ mtc1 $t6, $f10 -/* 0681FC 800675FC 44810000 */ mtc1 $at, $f0 -/* 068200 80067600 24780008 */ addiu $t8, $v1, 8 -/* 068204 80067604 00C06025 */ move $t4, $a2 -/* 068208 80067608 AE180000 */ sw $t8, ($s0) -/* 06820C 8006760C 05C10005 */ bgez $t6, .L80067624 -/* 068210 80067610 46805420 */ cvt.s.w $f16, $f10 -/* 068214 80067614 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 068218 80067618 44812000 */ mtc1 $at, $f4 -/* 06821C 8006761C 00000000 */ nop -/* 068220 80067620 46048400 */ add.s $f16, $f16, $f4 -.L80067624: -/* 068224 80067624 46008482 */ mul.s $f18, $f16, $f0 -/* 068228 80067628 4459F800 */ cfc1 $t9, $31 -/* 06822C 8006762C 00000000 */ nop -/* 068230 80067630 37210003 */ ori $at, $t9, 3 -/* 068234 80067634 38210002 */ xori $at, $at, 2 -/* 068238 80067638 44C1F800 */ ctc1 $at, $31 -/* 06823C 8006763C 3C01ED00 */ li $at, 0xED000000 # -2475880078570760549798248448.000000 -/* 068240 80067640 460091A4 */ cvt.w.s $f6, $f18 -/* 068244 80067644 440F3000 */ mfc1 $t7, $f6 -/* 068248 80067648 44D9F800 */ ctc1 $t9, $31 -/* 06824C 8006764C 31F80FFF */ andi $t8, $t7, 0xfff -/* 068250 80067650 00187300 */ sll $t6, $t8, 0xc -/* 068254 80067654 00C67821 */ addu $t7, $a2, $a2 -/* 068258 80067658 01E4C023 */ subu $t8, $t7, $a0 -/* 06825C 8006765C 44984000 */ mtc1 $t8, $f8 -/* 068260 80067660 01C1C825 */ or $t9, $t6, $at -/* 068264 80067664 AC790000 */ sw $t9, ($v1) -/* 068268 80067668 07010005 */ bgez $t8, .L80067680 -/* 06826C 8006766C 468042A0 */ cvt.s.w $f10, $f8 -/* 068270 80067670 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 068274 80067674 44812000 */ mtc1 $at, $f4 -/* 068278 80067678 00000000 */ nop -/* 06827C 8006767C 46045280 */ add.s $f10, $f10, $f4 -.L80067680: -/* 068280 80067680 46005402 */ mul.s $f16, $f10, $f0 -/* 068284 80067684 444EF800 */ cfc1 $t6, $31 -/* 068288 80067688 00000000 */ nop -/* 06828C 8006768C 35C10003 */ ori $at, $t6, 3 -/* 068290 80067690 38210002 */ xori $at, $at, 2 -/* 068294 80067694 44C1F800 */ ctc1 $at, $31 -/* 068298 80067698 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06829C 8006769C 460084A4 */ cvt.w.s $f18, $f16 -/* 0682A0 800676A0 44199000 */ mfc1 $t9, $f18 -/* 0682A4 800676A4 44CEF800 */ ctc1 $t6, $31 -/* 0682A8 800676A8 000871C2 */ srl $t6, $t0, 7 -/* 0682AC 800676AC 332F0FFF */ andi $t7, $t9, 0xfff -/* 0682B0 800676B0 00EEC823 */ subu $t9, $a3, $t6 -/* 0682B4 800676B4 44993000 */ mtc1 $t9, $f6 -/* 0682B8 800676B8 000FC300 */ sll $t8, $t7, 0xc -/* 0682BC 800676BC 07210004 */ bgez $t9, .L800676D0 -/* 0682C0 800676C0 46803220 */ cvt.s.w $f8, $f6 -/* 0682C4 800676C4 44812000 */ mtc1 $at, $f4 -/* 0682C8 800676C8 00000000 */ nop -/* 0682CC 800676CC 46044200 */ add.s $f8, $f8, $f4 -.L800676D0: -/* 0682D0 800676D0 46004282 */ mul.s $f10, $f8, $f0 -/* 0682D4 800676D4 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -/* 0682D8 800676D8 444FF800 */ cfc1 $t7, $31 -/* 0682DC 800676DC 00000000 */ nop -/* 0682E0 800676E0 35E10003 */ ori $at, $t7, 3 -/* 0682E4 800676E4 38210002 */ xori $at, $at, 2 -/* 0682E8 800676E8 44C1F800 */ ctc1 $at, $31 -/* 0682EC 800676EC 00000000 */ nop -/* 0682F0 800676F0 46005424 */ cvt.w.s $f16, $f10 -/* 0682F4 800676F4 440E8000 */ mfc1 $t6, $f16 -/* 0682F8 800676F8 44CFF800 */ ctc1 $t7, $31 -/* 0682FC 800676FC 31D90FFF */ andi $t9, $t6, 0xfff -/* 068300 80067700 03197825 */ or $t7, $t8, $t9 -/* 068304 80067704 AC6F0004 */ sw $t7, 4($v1) -/* 068308 80067708 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -/* 06830C 8006770C 100000A9 */ b .L800679B4 -/* 068310 80067710 8FB90058 */ lw $t9, 0x58($sp) -.L80067714: -/* 068314 80067714 000819C2 */ srl $v1, $t0, 7 -/* 068318 80067718 8E040000 */ lw $a0, ($s0) -/* 06831C 8006771C 00E3C021 */ addu $t8, $a3, $v1 -/* 068320 80067720 44989000 */ mtc1 $t8, $f18 -/* 068324 80067724 44810000 */ mtc1 $at, $f0 -/* 068328 80067728 248E0008 */ addiu $t6, $a0, 8 -/* 06832C 8006772C 00E06825 */ move $t5, $a3 -/* 068330 80067730 AE0E0000 */ sw $t6, ($s0) -/* 068334 80067734 07010005 */ bgez $t8, .L8006774C -/* 068338 80067738 468091A0 */ cvt.s.w $f6, $f18 -/* 06833C 8006773C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 068340 80067740 44812000 */ mtc1 $at, $f4 -/* 068344 80067744 00000000 */ nop -/* 068348 80067748 46043180 */ add.s $f6, $f6, $f4 -.L8006774C: -/* 06834C 8006774C 46003202 */ mul.s $f8, $f6, $f0 -/* 068350 80067750 4459F800 */ cfc1 $t9, $31 -/* 068354 80067754 00000000 */ nop -/* 068358 80067758 37210003 */ ori $at, $t9, 3 -/* 06835C 8006775C 38210002 */ xori $at, $at, 2 -/* 068360 80067760 44C1F800 */ ctc1 $at, $31 -/* 068364 80067764 3C01ED00 */ li $at, 0xED000000 # -2475880078570760549798248448.000000 -/* 068368 80067768 460042A4 */ cvt.w.s $f10, $f8 -/* 06836C 8006776C 440F5000 */ mfc1 $t7, $f10 -/* 068370 80067770 44D9F800 */ ctc1 $t9, $31 -/* 068374 80067774 0009CA02 */ srl $t9, $t1, 8 -/* 068378 80067778 31EE0FFF */ andi $t6, $t7, 0xfff -/* 06837C 8006777C 00D97823 */ subu $t7, $a2, $t9 -/* 068380 80067780 448F8000 */ mtc1 $t7, $f16 -/* 068384 80067784 01C1C025 */ or $t8, $t6, $at -/* 068388 80067788 AC980000 */ sw $t8, ($a0) -/* 06838C 8006778C 05E10005 */ bgez $t7, .L800677A4 -/* 068390 80067790 468084A0 */ cvt.s.w $f18, $f16 -/* 068394 80067794 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 068398 80067798 44812000 */ mtc1 $at, $f4 -/* 06839C 8006779C 00000000 */ nop -/* 0683A0 800677A0 46049480 */ add.s $f18, $f18, $f4 -.L800677A4: -/* 0683A4 800677A4 46009182 */ mul.s $f6, $f18, $f0 -/* 0683A8 800677A8 444EF800 */ cfc1 $t6, $31 -/* 0683AC 800677AC 00000000 */ nop -/* 0683B0 800677B0 35C10003 */ ori $at, $t6, 3 -/* 0683B4 800677B4 38210002 */ xori $at, $at, 2 -/* 0683B8 800677B8 44C1F800 */ ctc1 $at, $31 -/* 0683BC 800677BC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0683C0 800677C0 46003224 */ cvt.w.s $f8, $f6 -/* 0683C4 800677C4 44184000 */ mfc1 $t8, $f8 -/* 0683C8 800677C8 44CEF800 */ ctc1 $t6, $31 -/* 0683CC 800677CC 00E77021 */ addu $t6, $a3, $a3 -/* 0683D0 800677D0 33190FFF */ andi $t9, $t8, 0xfff -/* 0683D4 800677D4 01C3C023 */ subu $t8, $t6, $v1 -/* 0683D8 800677D8 44985000 */ mtc1 $t8, $f10 -/* 0683DC 800677DC 00197B00 */ sll $t7, $t9, 0xc -/* 0683E0 800677E0 07010004 */ bgez $t8, .L800677F4 -/* 0683E4 800677E4 46805420 */ cvt.s.w $f16, $f10 -/* 0683E8 800677E8 44812000 */ mtc1 $at, $f4 -/* 0683EC 800677EC 00000000 */ nop -/* 0683F0 800677F0 46048400 */ add.s $f16, $f16, $f4 -.L800677F4: -/* 0683F4 800677F4 46008482 */ mul.s $f18, $f16, $f0 -/* 0683F8 800677F8 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -/* 0683FC 800677FC 4459F800 */ cfc1 $t9, $31 -/* 068400 80067800 00000000 */ nop -/* 068404 80067804 37210003 */ ori $at, $t9, 3 -/* 068408 80067808 38210002 */ xori $at, $at, 2 -/* 06840C 8006780C 44C1F800 */ ctc1 $at, $31 -/* 068410 80067810 00000000 */ nop -/* 068414 80067814 460091A4 */ cvt.w.s $f6, $f18 -/* 068418 80067818 440E3000 */ mfc1 $t6, $f6 -/* 06841C 8006781C 44D9F800 */ ctc1 $t9, $31 -/* 068420 80067820 31D80FFF */ andi $t8, $t6, 0xfff -/* 068424 80067824 01F8C825 */ or $t9, $t7, $t8 -/* 068428 80067828 AC990004 */ sw $t9, 4($a0) -/* 06842C 8006782C 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -/* 068430 80067830 10000060 */ b .L800679B4 -/* 068434 80067834 8FB90058 */ lw $t9, 0x58($sp) -.L80067838: -/* 068438 80067838 00092202 */ srl $a0, $t1, 8 -/* 06843C 8006783C 8E050000 */ lw $a1, ($s0) -/* 068440 80067840 00C47821 */ addu $t7, $a2, $a0 -/* 068444 80067844 448F4000 */ mtc1 $t7, $f8 -/* 068448 80067848 44810000 */ mtc1 $at, $f0 -/* 06844C 8006784C 24AE0008 */ addiu $t6, $a1, 8 -/* 068450 80067850 00C06025 */ move $t4, $a2 -/* 068454 80067854 00E06825 */ move $t5, $a3 -/* 068458 80067858 AE0E0000 */ sw $t6, ($s0) -/* 06845C 8006785C 000819C2 */ srl $v1, $t0, 7 -/* 068460 80067860 05E10005 */ bgez $t7, .L80067878 -/* 068464 80067864 468042A0 */ cvt.s.w $f10, $f8 -/* 068468 80067868 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06846C 8006786C 44812000 */ mtc1 $at, $f4 -/* 068470 80067870 00000000 */ nop -/* 068474 80067874 46045280 */ add.s $f10, $f10, $f4 -.L80067878: -/* 068478 80067878 46005402 */ mul.s $f16, $f10, $f0 -/* 06847C 8006787C 4458F800 */ cfc1 $t8, $31 -/* 068480 80067880 00000000 */ nop -/* 068484 80067884 37010003 */ ori $at, $t8, 3 -/* 068488 80067888 38210002 */ xori $at, $at, 2 -/* 06848C 8006788C 44C1F800 */ ctc1 $at, $31 -/* 068490 80067890 3C01ED00 */ lui $at, 0xed00 -/* 068494 80067894 460084A4 */ cvt.w.s $f18, $f16 -/* 068498 80067898 44199000 */ mfc1 $t9, $f18 -/* 06849C 8006789C 44D8F800 */ ctc1 $t8, $31 -/* 0684A0 800678A0 332E0FFF */ andi $t6, $t9, 0xfff -/* 0684A4 800678A4 00E3C821 */ addu $t9, $a3, $v1 -/* 0684A8 800678A8 44993000 */ mtc1 $t9, $f6 -/* 0684AC 800678AC 000E7B00 */ sll $t7, $t6, 0xc -/* 0684B0 800678B0 01E1C025 */ or $t8, $t7, $at -/* 0684B4 800678B4 07210005 */ bgez $t9, .L800678CC -/* 0684B8 800678B8 46803220 */ cvt.s.w $f8, $f6 -/* 0684BC 800678BC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0684C0 800678C0 44812000 */ mtc1 $at, $f4 -/* 0684C4 800678C4 00000000 */ nop -/* 0684C8 800678C8 46044200 */ add.s $f8, $f8, $f4 -.L800678CC: -/* 0684CC 800678CC 46004282 */ mul.s $f10, $f8, $f0 -/* 0684D0 800678D0 444EF800 */ cfc1 $t6, $31 -/* 0684D4 800678D4 00000000 */ nop -/* 0684D8 800678D8 35C10003 */ ori $at, $t6, 3 -/* 0684DC 800678DC 38210002 */ xori $at, $at, 2 -/* 0684E0 800678E0 44C1F800 */ ctc1 $at, $31 -/* 0684E4 800678E4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0684E8 800678E8 46005424 */ cvt.w.s $f16, $f10 -/* 0684EC 800678EC 440F8000 */ mfc1 $t7, $f16 -/* 0684F0 800678F0 44CEF800 */ ctc1 $t6, $31 -/* 0684F4 800678F4 31F90FFF */ andi $t9, $t7, 0xfff -/* 0684F8 800678F8 03197025 */ or $t6, $t8, $t9 -/* 0684FC 800678FC 00C67821 */ addu $t7, $a2, $a2 -/* 068500 80067900 01E4C023 */ subu $t8, $t7, $a0 -/* 068504 80067904 44989000 */ mtc1 $t8, $f18 -/* 068508 80067908 ACAE0000 */ sw $t6, ($a1) -/* 06850C 8006790C 07010004 */ bgez $t8, .L80067920 -/* 068510 80067910 468091A0 */ cvt.s.w $f6, $f18 -/* 068514 80067914 44812000 */ mtc1 $at, $f4 -/* 068518 80067918 00000000 */ nop -/* 06851C 8006791C 46043180 */ add.s $f6, $f6, $f4 -.L80067920: -/* 068520 80067920 46003202 */ mul.s $f8, $f6, $f0 -/* 068524 80067924 4459F800 */ cfc1 $t9, $31 -/* 068528 80067928 00000000 */ nop -/* 06852C 8006792C 37210003 */ ori $at, $t9, 3 -/* 068530 80067930 38210002 */ xori $at, $at, 2 -/* 068534 80067934 44C1F800 */ ctc1 $at, $31 -/* 068538 80067938 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06853C 8006793C 460042A4 */ cvt.w.s $f10, $f8 -/* 068540 80067940 440E5000 */ mfc1 $t6, $f10 -/* 068544 80067944 44D9F800 */ ctc1 $t9, $31 -/* 068548 80067948 00E7C821 */ addu $t9, $a3, $a3 -/* 06854C 8006794C 31CF0FFF */ andi $t7, $t6, 0xfff -/* 068550 80067950 03237023 */ subu $t6, $t9, $v1 -/* 068554 80067954 448E8000 */ mtc1 $t6, $f16 -/* 068558 80067958 000FC300 */ sll $t8, $t7, 0xc -/* 06855C 8006795C 05C10004 */ bgez $t6, .L80067970 -/* 068560 80067960 468084A0 */ cvt.s.w $f18, $f16 -/* 068564 80067964 44812000 */ mtc1 $at, $f4 -/* 068568 80067968 00000000 */ nop -/* 06856C 8006796C 46049480 */ add.s $f18, $f18, $f4 -.L80067970: -/* 068570 80067970 46009182 */ mul.s $f6, $f18, $f0 -/* 068574 80067974 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -/* 068578 80067978 444FF800 */ cfc1 $t7, $31 -/* 06857C 8006797C 00000000 */ nop -/* 068580 80067980 35E10003 */ ori $at, $t7, 3 -/* 068584 80067984 38210002 */ xori $at, $at, 2 -/* 068588 80067988 44C1F800 */ ctc1 $at, $31 -/* 06858C 8006798C 00000000 */ nop -/* 068590 80067990 46003224 */ cvt.w.s $f8, $f6 -/* 068594 80067994 44194000 */ mfc1 $t9, $f8 -/* 068598 80067998 44CFF800 */ ctc1 $t7, $31 -/* 06859C 8006799C 332E0FFF */ andi $t6, $t9, 0xfff -/* 0685A0 800679A0 030E7825 */ or $t7, $t8, $t6 -/* 0685A4 800679A4 ACAF0004 */ sw $t7, 4($a1) -/* 0685A8 800679A8 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -/* 0685AC 800679AC 00000000 */ nop -/* 0685B0 800679B0 8FB90058 */ lw $t9, 0x58($sp) -.L800679B4: -/* 0685B4 800679B4 8FB80054 */ lw $t8, 0x54($sp) -/* 0685B8 800679B8 01B91021 */ addu $v0, $t5, $t9 -/* 0685BC 800679BC 00405825 */ move $t3, $v0 -/* 0685C0 800679C0 15400008 */ bnez $t2, .L800679E4 -/* 0685C4 800679C4 01983821 */ addu $a3, $t4, $t8 -/* 0685C8 800679C8 8FEE0000 */ lw $t6, ($ra) -/* 0685CC 800679CC 244BFFFA */ addiu $t3, $v0, -6 -/* 0685D0 800679D0 29C10002 */ slti $at, $t6, 2 -/* 0685D4 800679D4 10200003 */ beqz $at, .L800679E4 -/* 0685D8 800679D8 00000000 */ nop -/* 0685DC 800679DC 10000001 */ b .L800679E4 -/* 0685E0 800679E0 244BFFEC */ addiu $t3, $v0, -0x14 -.L800679E4: -/* 0685E4 800679E4 15400002 */ bnez $t2, .L800679F0 -/* 0685E8 800679E8 02002025 */ move $a0, $s0 -/* 0685EC 800679EC 24E7FFFC */ addiu $a3, $a3, -4 -.L800679F0: -/* 0685F0 800679F0 8FA50054 */ lw $a1, 0x54($sp) -/* 0685F4 800679F4 8FA60058 */ lw $a2, 0x58($sp) -/* 0685F8 800679F8 0C01A056 */ jal viewport_rsp_set -/* 0685FC 800679FC AFAB0010 */ sw $t3, 0x10($sp) -/* 068600 80067A00 8FA5006C */ lw $a1, 0x6c($sp) -/* 068604 80067A04 3C1F8012 */ lui $ra, %hi(gActiveCameraID) # $ra, 0x8012 -/* 068608 80067A08 10A00005 */ beqz $a1, .L80067A20 -/* 06860C 80067A0C 27FF0CE4 */ addiu $ra, %lo(gActiveCameraID) # addiu $ra, $ra, 0xce4 -/* 068610 80067A10 0C019F4F */ jal func_80067D3C -/* 068614 80067A14 02002025 */ move $a0, $s0 -/* 068618 80067A18 3C1F8012 */ lui $ra, %hi(gActiveCameraID) # $ra, 0x8012 -/* 06861C 80067A1C 27FF0CE4 */ addiu $ra, %lo(gActiveCameraID) # addiu $ra, $ra, 0xce4 -.L80067A20: -/* 068620 80067A20 8FAF0034 */ lw $t7, 0x34($sp) -/* 068624 80067A24 00000000 */ nop -/* 068628 80067A28 AFEF0000 */ sw $t7, ($ra) -.L80067A2C: -/* 06862C 80067A2C 8FBF0024 */ lw $ra, 0x24($sp) -/* 068630 80067A30 8FB00020 */ lw $s0, 0x20($sp) -/* 068634 80067A34 03E00008 */ jr $ra -/* 068638 80067A38 27BD0068 */ addiu $sp, $sp, 0x68 - diff --git a/asm/non_matchings/game_ui/func_8009F034.s b/asm/non_matchings/game_ui/func_8009F034.s deleted file mode 100644 index 9bbfc15f..00000000 --- a/asm/non_matchings/game_ui/func_8009F034.s +++ /dev/null @@ -1,1117 +0,0 @@ -.late_rodata -glabel D_800E86A8 -.double 0.6 -glabel D_800E86B0 -.double 1.2 -glabel D_800E86B8 -.float 263.0 -glabel D_800E86BC -.float 259.0 -glabel D_800E86C0 -.float 265.0 -.word 0 # padding -glabel D_800E86C8 -.double 1.2 -glabel D_800E86D0 -.double 0.6 -glabel D_800E86D8 -.double 1.2 -glabel D_800E86E0 -.double 0.6 -glabel D_800E86E8 -.double 1.2 -glabel D_800E86F0 -.double 0.6 - -.text -glabel func_8009F034 -/* 09FC34 8009F034 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 09FC38 8009F038 AFBF0064 */ sw $ra, 0x64($sp) -/* 09FC3C 8009F03C AFBE0060 */ sw $fp, 0x60($sp) -/* 09FC40 8009F040 AFB7005C */ sw $s7, 0x5c($sp) -/* 09FC44 8009F044 AFB60058 */ sw $s6, 0x58($sp) -/* 09FC48 8009F048 AFB50054 */ sw $s5, 0x54($sp) -/* 09FC4C 8009F04C AFB40050 */ sw $s4, 0x50($sp) -/* 09FC50 8009F050 AFB3004C */ sw $s3, 0x4c($sp) -/* 09FC54 8009F054 AFB20048 */ sw $s2, 0x48($sp) -/* 09FC58 8009F058 AFB10044 */ sw $s1, 0x44($sp) -/* 09FC5C 8009F05C AFB00040 */ sw $s0, 0x40($sp) -/* 09FC60 8009F060 E7BD0038 */ swc1 $f29, 0x38($sp) -/* 09FC64 8009F064 E7BC003C */ swc1 $f28, 0x3c($sp) -/* 09FC68 8009F068 E7BB0030 */ swc1 $f27, 0x30($sp) -/* 09FC6C 8009F06C E7BA0034 */ swc1 $f26, 0x34($sp) -/* 09FC70 8009F070 E7B90028 */ swc1 $f25, 0x28($sp) -/* 09FC74 8009F074 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 09FC78 8009F078 E7B70020 */ swc1 $f23, 0x20($sp) -/* 09FC7C 8009F07C E7B60024 */ swc1 $f22, 0x24($sp) -/* 09FC80 8009F080 E7B50018 */ swc1 $f21, 0x18($sp) -/* 09FC84 8009F084 0C01AF66 */ jal get_current_level_race_type -/* 09FC88 8009F088 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 09FC8C 8009F08C 240C0001 */ li $t4, 1 -/* 09FC90 8009F090 11820004 */ beq $t4, $v0, .L8009F0A4 -/* 09FC94 8009F094 3C108000 */ lui $s0, %hi(osTvType) # $s0, 0x8000 -/* 09FC98 8009F098 24010005 */ li $at, 5 -/* 09FC9C 8009F09C 14410007 */ bne $v0, $at, .L8009F0BC -/* 09FCA0 8009F0A0 3C0F8012 */ lui $t7, %hi(gHUDNumPlayers) # $t7, 0x8012 -.L8009F0A4: -/* 09FCA4 8009F0A4 3C018012 */ lui $at, %hi(gHudOffsetX) # $at, 0x8012 -/* 09FCA8 8009F0A8 AC206D24 */ sw $zero, %lo(gHudOffsetX)($at) -/* 09FCAC 8009F0AC 3C018012 */ lui $at, %hi(gHudRaceStart) # $at, 0x8012 -/* 09FCB0 8009F0B0 240E0001 */ li $t6, 1 -/* 09FCB4 8009F0B4 10000015 */ b .L8009F10C -/* 09FCB8 8009F0B8 A02E6D34 */ sb $t6, %lo(gHudRaceStart)($at) -.L8009F0BC: -/* 09FCBC 8009F0BC 8DEF6D0C */ lw $t7, %lo(gHUDNumPlayers)($t7) -/* 09FCC0 8009F0C0 24180140 */ li $t8, 320 -/* 09FCC4 8009F0C4 29E10002 */ slti $at, $t7, 2 -/* 09FCC8 8009F0C8 10200008 */ beqz $at, .L8009F0EC -/* 09FCCC 8009F0CC 241900C8 */ li $t9, 200 -/* 09FCD0 8009F0D0 3C018012 */ lui $at, %hi(gHudOffsetX) # $at, 0x8012 -/* 09FCD4 8009F0D4 AC386D24 */ sw $t8, %lo(gHudOffsetX)($at) -/* 09FCD8 8009F0D8 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 09FCDC 8009F0DC 44812000 */ mtc1 $at, $f4 -/* 09FCE0 8009F0E0 3C018012 */ lui $at, %hi(gHudBounceMag) # $at, 0x8012 -/* 09FCE4 8009F0E4 10000007 */ b .L8009F104 -/* 09FCE8 8009F0E8 E4246D30 */ swc1 $f4, %lo(gHudBounceMag)($at) -.L8009F0EC: -/* 09FCEC 8009F0EC 3C018012 */ lui $at, %hi(gHudOffsetX) # $at, 0x8012 -/* 09FCF0 8009F0F0 AC396D24 */ sw $t9, %lo(gHudOffsetX)($at) -/* 09FCF4 8009F0F4 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 09FCF8 8009F0F8 44813000 */ mtc1 $at, $f6 -/* 09FCFC 8009F0FC 3C018012 */ lui $at, %hi(gHudBounceMag) # $at, 0x8012 -/* 09FD00 8009F100 E4266D30 */ swc1 $f6, %lo(gHudBounceMag)($at) -.L8009F104: -/* 09FD04 8009F104 3C018012 */ lui $at, %hi(gHudRaceStart) # $at, 0x8012 -/* 09FD08 8009F108 A0206D34 */ sb $zero, %lo(gHudRaceStart)($at) -.L8009F10C: -/* 09FD0C 8009F10C 3C018012 */ lui $at, %hi(gHudBounceTimer) # $at, 0x8012 -/* 09FD10 8009F110 A4206D2C */ sh $zero, %lo(gHudBounceTimer)($at) -/* 09FD14 8009F114 3C018012 */ lui $at, %hi(gRaceStartShowHudStep) # $at, 0x8012 -/* 09FD18 8009F118 A0206CD4 */ sb $zero, %lo(gRaceStartShowHudStep)($at) -/* 09FD1C 8009F11C 3C018012 */ lui $at, %hi(gHideRaceTimer) # $at, 0x8012 -/* 09FD20 8009F120 A0206D36 */ sb $zero, %lo(gHideRaceTimer)($at) -/* 09FD24 8009F124 3C018012 */ lui $at, %hi(gWrongWayNagPrefix) # $at, 0x8012 -/* 09FD28 8009F128 A0206D38 */ sb $zero, %lo(gWrongWayNagPrefix)($at) -/* 09FD2C 8009F12C 3C018012 */ lui $at, %hi(D_80126D35) # $at, 0x8012 -/* 09FD30 8009F130 A0206D35 */ sb $zero, %lo(D_80126D35)($at) -/* 09FD34 8009F134 3C018012 */ lui $at, %hi(gMinimapOpacity) # $at, 0x8012 -/* 09FD38 8009F138 26100300 */ addiu $s0, %lo(osTvType) # addiu $s0, $s0, 0x300 -/* 09FD3C 8009F13C A0206CD0 */ sb $zero, %lo(gMinimapOpacity)($at) -/* 09FD40 8009F140 8E0E0000 */ lw $t6, ($s0) -/* 09FD44 8009F144 2419FF9C */ li $t9, -100 -/* 09FD48 8009F148 15C00005 */ bnez $t6, .L8009F160 -/* 09FD4C 8009F14C 24040078 */ li $a0, 120 -/* 09FD50 8009F150 240F003C */ li $t7, 60 -/* 09FD54 8009F154 3C018012 */ lui $at, %hi(gMinimapOpacityTarget) # $at, 0x8012 -/* 09FD58 8009F158 10000004 */ b .L8009F16C -/* 09FD5C 8009F15C A02F718B */ sb $t7, %lo(gMinimapOpacityTarget)($at) -.L8009F160: -/* 09FD60 8009F160 24180032 */ li $t8, 50 -/* 09FD64 8009F164 3C018012 */ lui $at, %hi(gMinimapOpacityTarget) # $at, 0x8012 -/* 09FD68 8009F168 A038718B */ sb $t8, %lo(gMinimapOpacityTarget)($at) -.L8009F16C: -/* 09FD6C 8009F16C 3C018012 */ lui $at, %hi(gMinimapFade) # $at, 0x8012 -/* 09FD70 8009F170 A0206CD1 */ sb $zero, %lo(gMinimapFade)($at) -/* 09FD74 8009F174 3C018012 */ lui $at, %hi(gShowHUD) # $at, 0x8012 -/* 09FD78 8009F178 A0206CD2 */ sb $zero, %lo(gShowHUD)($at) -/* 09FD7C 8009F17C 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012 -/* 09FD80 8009F180 A0206CD5 */ sb $zero, %lo(D_80126CD5)($at) -/* 09FD84 8009F184 3C018012 */ lui $at, %hi(D_80127189) # $at, 0x8012 -/* 09FD88 8009F188 A0207189 */ sb $zero, %lo(D_80127189)($at) -/* 09FD8C 8009F18C 3C018012 */ lui $at, %hi(D_80126D4C) # $at, 0x8012 -/* 09FD90 8009F190 AC396D4C */ sw $t9, %lo(D_80126D4C)($at) -/* 09FD94 8009F194 0C01BE53 */ jal get_random_number_from_range -/* 09FD98 8009F198 24050168 */ li $a1, 360 -/* 09FD9C 8009F19C 3C018012 */ lui $at, %hi(D_80126D50) # $at, 0x8012 -/* 09FDA0 8009F1A0 0C003856 */ jal func_8000E158 -/* 09FDA4 8009F1A4 AC226D50 */ sw $v0, %lo(D_80126D50)($at) -/* 09FDA8 8009F1A8 3C018012 */ lui $at, %hi(D_8012718A) # $at, 0x8012 -/* 09FDAC 8009F1AC A022718A */ sb $v0, %lo(D_8012718A)($at) -/* 09FDB0 8009F1B0 8E180000 */ lw $t8, ($s0) -/* 09FDB4 8009F1B4 3C038012 */ lui $v1, %hi(gStopwatchErrorX) # $v1, 0x8012 -/* 09FDB8 8009F1B8 3C048012 */ lui $a0, %hi(gStopwatchErrorY) # $a0, 0x8012 -/* 09FDBC 8009F1BC 24847190 */ addiu $a0, %lo(gStopwatchErrorY) # addiu $a0, $a0, 0x7190 -/* 09FDC0 8009F1C0 2463718C */ addiu $v1, %lo(gStopwatchErrorX) # addiu $v1, $v1, 0x718c -/* 09FDC4 8009F1C4 240E0037 */ li $t6, 55 -/* 09FDC8 8009F1C8 240F00B3 */ li $t7, 179 -/* 09FDCC 8009F1CC AC6E0000 */ sw $t6, ($v1) -/* 09FDD0 8009F1D0 17000006 */ bnez $t8, .L8009F1EC -/* 09FDD4 8009F1D4 AC8F0000 */ sw $t7, ($a0) -/* 09FDD8 8009F1D8 25EE001E */ addiu $t6, $t7, 0x1e -/* 09FDDC 8009F1DC 8C6F0000 */ lw $t7, ($v1) -/* 09FDE0 8009F1E0 AC8E0000 */ sw $t6, ($a0) -/* 09FDE4 8009F1E4 25F8FFFC */ addiu $t8, $t7, -4 -/* 09FDE8 8009F1E8 AC780000 */ sw $t8, ($v1) -.L8009F1EC: -/* 09FDEC 8009F1EC 0C006D90 */ jal timetrial_ghost_staff -/* 09FDF0 8009F1F0 00000000 */ nop -/* 09FDF4 8009F1F4 14400004 */ bnez $v0, .L8009F208 -/* 09FDF8 8009F1F8 240C0001 */ li $t4, 1 -/* 09FDFC 8009F1FC 3C018012 */ lui $at, %hi(gHudTimeTrialGhost) # $at, 0x8012 -/* 09FE00 8009F200 10000004 */ b .L8009F214 -/* 09FE04 8009F204 A0206D71 */ sb $zero, %lo(gHudTimeTrialGhost)($at) -.L8009F208: -/* 09FE08 8009F208 24190001 */ li $t9, 1 -/* 09FE0C 8009F20C 3C018012 */ lui $at, %hi(gHudTimeTrialGhost) # $at, 0x8012 -/* 09FE10 8009F210 A0396D71 */ sb $t9, %lo(gHudTimeTrialGhost)($at) -.L8009F214: -/* 09FE14 8009F214 3C028012 */ lui $v0, %hi(gNumActivePlayers) # $v0, 0x8012 -/* 09FE18 8009F218 90426D37 */ lbu $v0, %lo(gNumActivePlayers)($v0) -/* 09FE1C 8009F21C 24010003 */ li $at, 3 -/* 09FE20 8009F220 10410003 */ beq $v0, $at, .L8009F230 -/* 09FE24 8009F224 240E0004 */ li $t6, 4 -/* 09FE28 8009F228 10000002 */ b .L8009F234 -/* 09FE2C 8009F22C AFA2008C */ sw $v0, 0x8c($sp) -.L8009F230: -/* 09FE30 8009F230 AFAE008C */ sw $t6, 0x8c($sp) -.L8009F234: -/* 09FE34 8009F234 8FAF008C */ lw $t7, 0x8c($sp) -/* 09FE38 8009F238 00003825 */ move $a3, $zero -/* 09FE3C 8009F23C 19E00359 */ blez $t7, .L8009FFA4 -/* 09FE40 8009F240 3C188012 */ lui $t8, %hi(gPlayerHud) # $t8, 0x8012 -/* 09FE44 8009F244 3C01C268 */ li $at, 0xC2680000 # -58.000000 -/* 09FE48 8009F248 4481E000 */ mtc1 $at, $f28 -/* 09FE4C 8009F24C 3C01C2F0 */ li $at, 0xC2F00000 # -120.000000 -/* 09FE50 8009F250 4481D000 */ mtc1 $at, $f26 -/* 09FE54 8009F254 3C01C1C8 */ li $at, 0xC1C80000 # -25.000000 -/* 09FE58 8009F258 4481C000 */ mtc1 $at, $f24 -/* 09FE5C 8009F25C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09FE60 8009F260 4481B000 */ mtc1 $at, $f22 -/* 09FE64 8009F264 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 09FE68 8009F268 4481A000 */ mtc1 $at, $f20 -/* 09FE6C 8009F26C 3C013FE8 */ li $at, 0x3FE80000 # 1.812500 -/* 09FE70 8009F270 44818800 */ mtc1 $at, $f17 -/* 09FE74 8009F274 3C01800F */ lui $at, %hi(D_800E86A8 + 4) # $at, 0x800f -/* 09FE78 8009F278 27186CE0 */ addiu $t8, %lo(gPlayerHud) # addiu $t8, $t8, 0x6ce0 -/* 09FE7C 8009F27C 3C10800E */ lui $s0, %hi(D_800E25C4) # $s0, 0x800e -/* 09FE80 8009F280 3C098012 */ lui $t1, %hi(gAssetHudElementIds) # $t1, 0x8012 -/* 09FE84 8009F284 3C058012 */ lui $a1, %hi(gCurrentHud) # $a1, 0x8012 -/* 09FE88 8009F288 C42F86A8 */ lwc1 $f15, %lo(D_800E86A8)($at) -/* 09FE8C 8009F28C C42E86AC */ lwc1 $f14, %lo(D_800E86A8 + 4)($at) -/* 09FE90 8009F290 44808000 */ mtc1 $zero, $f16 -/* 09FE94 8009F294 24A56CDC */ addiu $a1, %lo(gCurrentHud) # addiu $a1, $a1, 0x6cdc -/* 09FE98 8009F298 25296CF0 */ addiu $t1, %lo(gAssetHudElementIds) # addiu $t1, $t1, 0x6cf0 -/* 09FE9C 8009F29C 261025C4 */ addiu $s0, %lo(D_800E25C4) # addiu $s0, $s0, 0x25c4 -/* 09FEA0 8009F2A0 AFB8006C */ sw $t8, 0x6c($sp) -/* 09FEA4 8009F2A4 241E0036 */ li $fp, 54 -/* 09FEA8 8009F2A8 2417001C */ li $s7, 28 -/* 09FEAC 8009F2AC 2416000C */ li $s6, 12 -/* 09FEB0 8009F2B0 2415000B */ li $s5, 11 -/* 09FEB4 8009F2B4 2414000F */ li $s4, 15 -/* 09FEB8 8009F2B8 24130004 */ li $s3, 4 -/* 09FEBC 8009F2BC 24120760 */ li $s2, 1888 -/* 09FEC0 8009F2C0 2411000A */ li $s1, 10 -/* 09FEC4 8009F2C4 241F0012 */ li $ra, 18 -/* 09FEC8 8009F2C8 240D0009 */ li $t5, 9 -/* 09FECC 8009F2CC 240B0002 */ li $t3, 2 -/* 09FED0 8009F2D0 240AFFFF */ li $t2, -1 -/* 09FED4 8009F2D4 3408C000 */ li $t0, 49152 -.L8009F2D8: -/* 09FED8 8009F2D8 8FB9006C */ lw $t9, 0x6c($sp) -/* 09FEDC 8009F2DC 3C02800E */ lui $v0, %hi(gHudElementBase) # $v0, 0x800e -/* 09FEE0 8009F2E0 8F2E0000 */ lw $t6, ($t9) -/* 09FEE4 8009F2E4 24421E64 */ addiu $v0, %lo(gHudElementBase) # addiu $v0, $v0, 0x1e64 -/* 09FEE8 8009F2E8 00001825 */ move $v1, $zero -/* 09FEEC 8009F2EC ACAE0000 */ sw $t6, ($a1) -.L8009F2F0: -/* 09FEF0 8009F2F0 8CAF0000 */ lw $t7, ($a1) -/* 09FEF4 8009F2F4 C448000C */ lwc1 $f8, 0xc($v0) -/* 09FEF8 8009F2F8 01E3C021 */ addu $t8, $t7, $v1 -/* 09FEFC 8009F2FC E708000C */ swc1 $f8, 0xc($t8) -/* 09FF00 8009F300 8CB90000 */ lw $t9, ($a1) -/* 09FF04 8009F304 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 09FF08 8009F308 03237021 */ addu $t6, $t9, $v1 -/* 09FF0C 8009F30C E5CA0010 */ swc1 $f10, 0x10($t6) -/* 09FF10 8009F310 8CAF0000 */ lw $t7, ($a1) -/* 09FF14 8009F314 C4440014 */ lwc1 $f4, 0x14($v0) -/* 09FF18 8009F318 01E3C021 */ addu $t8, $t7, $v1 -/* 09FF1C 8009F31C E7040014 */ swc1 $f4, 0x14($t8) -/* 09FF20 8009F320 8CB90000 */ lw $t9, ($a1) -/* 09FF24 8009F324 C4460008 */ lwc1 $f6, 8($v0) -/* 09FF28 8009F328 03237021 */ addu $t6, $t9, $v1 -/* 09FF2C 8009F32C E5C60008 */ swc1 $f6, 8($t6) -/* 09FF30 8009F330 8CB80000 */ lw $t8, ($a1) -/* 09FF34 8009F334 844F0004 */ lh $t7, 4($v0) -/* 09FF38 8009F338 0303C821 */ addu $t9, $t8, $v1 -/* 09FF3C 8009F33C A72F0004 */ sh $t7, 4($t9) -/* 09FF40 8009F340 8CB80000 */ lw $t8, ($a1) -/* 09FF44 8009F344 844E0002 */ lh $t6, 2($v0) -/* 09FF48 8009F348 03037821 */ addu $t7, $t8, $v1 -/* 09FF4C 8009F34C A5EE0002 */ sh $t6, 2($t7) -/* 09FF50 8009F350 8CB80000 */ lw $t8, ($a1) -/* 09FF54 8009F354 84590000 */ lh $t9, ($v0) -/* 09FF58 8009F358 03037021 */ addu $t6, $t8, $v1 -/* 09FF5C 8009F35C A5D90000 */ sh $t9, ($t6) -/* 09FF60 8009F360 8CB80000 */ lw $t8, ($a1) -/* 09FF64 8009F364 844F0006 */ lh $t7, 6($v0) -/* 09FF68 8009F368 0303C821 */ addu $t9, $t8, $v1 -/* 09FF6C 8009F36C A72F0006 */ sh $t7, 6($t9) -/* 09FF70 8009F370 8CB80000 */ lw $t8, ($a1) -/* 09FF74 8009F374 844E0018 */ lh $t6, 0x18($v0) -/* 09FF78 8009F378 03037821 */ addu $t7, $t8, $v1 -/* 09FF7C 8009F37C A5EE0018 */ sh $t6, 0x18($t7) -/* 09FF80 8009F380 8CB80000 */ lw $t8, ($a1) -/* 09FF84 8009F384 8059001A */ lb $t9, 0x1a($v0) -/* 09FF88 8009F388 03037021 */ addu $t6, $t8, $v1 -/* 09FF8C 8009F38C A1D9001A */ sb $t9, 0x1a($t6) -/* 09FF90 8009F390 8CB80000 */ lw $t8, ($a1) -/* 09FF94 8009F394 804F001B */ lb $t7, 0x1b($v0) -/* 09FF98 8009F398 0303C821 */ addu $t9, $t8, $v1 -/* 09FF9C 8009F39C A32F001B */ sb $t7, 0x1b($t9) -/* 09FFA0 8009F3A0 8CB80000 */ lw $t8, ($a1) -/* 09FFA4 8009F3A4 804E001C */ lb $t6, 0x1c($v0) -/* 09FFA8 8009F3A8 03037821 */ addu $t7, $t8, $v1 -/* 09FFAC 8009F3AC A1EE001C */ sb $t6, 0x1c($t7) -/* 09FFB0 8009F3B0 8CB80000 */ lw $t8, ($a1) -/* 09FFB4 8009F3B4 8059001D */ lb $t9, 0x1d($v0) -/* 09FFB8 8009F3B8 24420020 */ addiu $v0, $v0, 0x20 -/* 09FFBC 8009F3BC 03037021 */ addu $t6, $t8, $v1 -/* 09FFC0 8009F3C0 24630020 */ addiu $v1, $v1, 0x20 -/* 09FFC4 8009F3C4 1450FFCA */ bne $v0, $s0, .L8009F2F0 -/* 09FFC8 8009F3C8 A1D9001D */ sb $t9, 0x1d($t6) -/* 09FFCC 8009F3CC 8CB80000 */ lw $t8, ($a1) -/* 09FFD0 8009F3D0 240F0005 */ li $t7, 5 -/* 09FFD4 8009F3D4 3C038012 */ lui $v1, %hi(gHUDNumPlayers) # $v1, 0x8012 -/* 09FFD8 8009F3D8 A30F05DC */ sb $t7, 0x5dc($t8) -/* 09FFDC 8009F3DC 8C636D0C */ lw $v1, %lo(gHUDNumPlayers)($v1) -/* 09FFE0 8009F3E0 3C014188 */ li $at, 0x41880000 # 17.000000 -/* 09FFE4 8009F3E4 15830084 */ bne $t4, $v1, .L8009F5F8 -/* 09FFE8 8009F3E8 00000000 */ nop -/* 09FFEC 8009F3EC 3C03800E */ lui $v1, %hi(D_800E25C4) # $v1, 0x800e -/* 09FFF0 8009F3F0 246225C4 */ addiu $v0, $v1, %lo(D_800E25C4) -/* 09FFF4 8009F3F4 84590000 */ lh $t9, ($v0) -/* 09FFF8 8009F3F8 44810000 */ mtc1 $at, $f0 -/* 09FFFC 8009F3FC 1159003F */ beq $t2, $t9, .L8009F4FC -/* 0A0000 8009F400 3C01800F */ lui $at, %hi(D_800E86B8) # $at, 0x800f -/* 0A0004 8009F404 3C0E800E */ lui $t6, %hi(D_800E25C4) # $t6, 0x800e -/* 0A0008 8009F408 25CE25C4 */ addiu $t6, %lo(D_800E25C4) # addiu $t6, $t6, 0x25c4 -/* 0A000C 8009F40C 85C40000 */ lh $a0, ($t6) -/* 0A0010 8009F410 00000000 */ nop -.L8009F414: -/* 0A0014 8009F414 844F0002 */ lh $t7, 2($v0) -/* 0A0018 8009F418 8CB80000 */ lw $t8, ($a1) -/* 0A001C 8009F41C 448F4000 */ mtc1 $t7, $f8 -/* 0A0020 8009F420 0004C940 */ sll $t9, $a0, 5 -/* 0A0024 8009F424 468042A0 */ cvt.s.w $f10, $f8 -/* 0A0028 8009F428 03197021 */ addu $t6, $t8, $t9 -/* 0A002C 8009F42C E5CA000C */ swc1 $f10, 0xc($t6) -/* 0A0030 8009F430 84580000 */ lh $t8, ($v0) -/* 0A0034 8009F434 8CAF0000 */ lw $t7, ($a1) -/* 0A0038 8009F438 0018C940 */ sll $t9, $t8, 5 -/* 0A003C 8009F43C 01F91821 */ addu $v1, $t7, $t9 -/* 0A0040 8009F440 84780006 */ lh $t8, 6($v1) -/* 0A0044 8009F444 8D2E0000 */ lw $t6, ($t1) -/* 0A0048 8009F448 00187840 */ sll $t7, $t8, 1 -/* 0A004C 8009F44C 01CFC821 */ addu $t9, $t6, $t7 -/* 0A0050 8009F450 87380000 */ lh $t8, ($t9) -/* 0A0054 8009F454 00000000 */ nop -/* 0A0058 8009F458 330EC000 */ andi $t6, $t8, 0xc000 -/* 0A005C 8009F45C 150E0012 */ bne $t0, $t6, .L8009F4A8 -/* 0A0060 8009F460 00000000 */ nop -/* 0A0064 8009F464 14E00008 */ bnez $a3, .L8009F488 -/* 0A0068 8009F468 00000000 */ nop -/* 0A006C 8009F46C 844F0004 */ lh $t7, 4($v0) -/* 0A0070 8009F470 00000000 */ nop -/* 0A0074 8009F474 448F2000 */ mtc1 $t7, $f4 -/* 0A0078 8009F478 00000000 */ nop -/* 0A007C 8009F47C 468021A0 */ cvt.s.w $f6, $f4 -/* 0A0080 8009F480 1000001A */ b .L8009F4EC -/* 0A0084 8009F484 E4660010 */ swc1 $f6, 0x10($v1) -.L8009F488: -/* 0A0088 8009F488 84590004 */ lh $t9, 4($v0) -/* 0A008C 8009F48C 00000000 */ nop -/* 0A0090 8009F490 2738006C */ addiu $t8, $t9, 0x6c -/* 0A0094 8009F494 44984000 */ mtc1 $t8, $f8 -/* 0A0098 8009F498 00000000 */ nop -/* 0A009C 8009F49C 468042A0 */ cvt.s.w $f10, $f8 -/* 0A00A0 8009F4A0 10000012 */ b .L8009F4EC -/* 0A00A4 8009F4A4 E46A0010 */ swc1 $f10, 0x10($v1) -.L8009F4A8: -/* 0A00A8 8009F4A8 14E00009 */ bnez $a3, .L8009F4D0 -/* 0A00AC 8009F4AC 00000000 */ nop -/* 0A00B0 8009F4B0 844E0004 */ lh $t6, 4($v0) -/* 0A00B4 8009F4B4 00000000 */ nop -/* 0A00B8 8009F4B8 25CF003C */ addiu $t7, $t6, 0x3c -/* 0A00BC 8009F4BC 448F2000 */ mtc1 $t7, $f4 -/* 0A00C0 8009F4C0 00000000 */ nop -/* 0A00C4 8009F4C4 468021A0 */ cvt.s.w $f6, $f4 -/* 0A00C8 8009F4C8 10000008 */ b .L8009F4EC -/* 0A00CC 8009F4CC E4660010 */ swc1 $f6, 0x10($v1) -.L8009F4D0: -/* 0A00D0 8009F4D0 84590004 */ lh $t9, 4($v0) -/* 0A00D4 8009F4D4 00000000 */ nop -/* 0A00D8 8009F4D8 2738FFD0 */ addiu $t8, $t9, -0x30 -/* 0A00DC 8009F4DC 44984000 */ mtc1 $t8, $f8 -/* 0A00E0 8009F4E0 00000000 */ nop -/* 0A00E4 8009F4E4 468042A0 */ cvt.s.w $f10, $f8 -/* 0A00E8 8009F4E8 E46A0010 */ swc1 $f10, 0x10($v1) -.L8009F4EC: -/* 0A00EC 8009F4EC 84440006 */ lh $a0, 6($v0) -/* 0A00F0 8009F4F0 24420006 */ addiu $v0, $v0, 6 -/* 0A00F4 8009F4F4 1544FFC7 */ bne $t2, $a0, .L8009F414 -/* 0A00F8 8009F4F8 00000000 */ nop -.L8009F4FC: -/* 0A00FC 8009F4FC C42486B8 */ lwc1 $f4, %lo(D_800E86B8)($at) -/* 0A0100 8009F500 8CAE0000 */ lw $t6, ($a1) -/* 0A0104 8009F504 3C014377 */ li $at, 0x43770000 # 247.000000 -/* 0A0108 8009F508 E5C4064C */ swc1 $f4, 0x64c($t6) -/* 0A010C 8009F50C 8CAF0000 */ lw $t7, ($a1) -/* 0A0110 8009F510 44813000 */ mtc1 $at, $f6 -/* 0A0114 8009F514 E5E00650 */ swc1 $f0, 0x650($t7) -/* 0A0118 8009F518 8CB90000 */ lw $t9, ($a1) -/* 0A011C 8009F51C 3C014234 */ li $at, 0x42340000 # 45.000000 -/* 0A0120 8009F520 E726040C */ swc1 $f6, 0x40c($t9) -/* 0A0124 8009F524 8CB80000 */ lw $t8, ($a1) -/* 0A0128 8009F528 44814000 */ mtc1 $at, $f8 -/* 0A012C 8009F52C 3C01800F */ lui $at, %hi(D_800E86BC) # $at, 0x800f -/* 0A0130 8009F530 E7080410 */ swc1 $f8, 0x410($t8) -/* 0A0134 8009F534 8CAE0000 */ lw $t6, ($a1) -/* 0A0138 8009F538 C42A86BC */ lwc1 $f10, %lo(D_800E86BC)($at) -/* 0A013C 8009F53C 3C014244 */ li $at, 0x42440000 # 49.000000 -/* 0A0140 8009F540 E5CA066C */ swc1 $f10, 0x66c($t6) -/* 0A0144 8009F544 8CAF0000 */ lw $t7, ($a1) -/* 0A0148 8009F548 44812000 */ mtc1 $at, $f4 -/* 0A014C 8009F54C 3C0142CE */ li $at, 0x42CE0000 # 103.000000 -/* 0A0150 8009F550 E5E40670 */ swc1 $f4, 0x670($t7) -/* 0A0154 8009F554 8CB90000 */ lw $t9, ($a1) -/* 0A0158 8009F558 44813000 */ mtc1 $at, $f6 -/* 0A015C 8009F55C 3C014244 */ li $at, 0x42440000 # 49.000000 -/* 0A0160 8009F560 E726068C */ swc1 $f6, 0x68c($t9) -/* 0A0164 8009F564 8CB80000 */ lw $t8, ($a1) -/* 0A0168 8009F568 44814000 */ mtc1 $at, $f8 -/* 0A016C 8009F56C 3C014384 */ li $at, 0x43840000 # 264.000000 -/* 0A0170 8009F570 E7080690 */ swc1 $f8, 0x690($t8) -/* 0A0174 8009F574 8CAE0000 */ lw $t6, ($a1) -/* 0A0178 8009F578 44815000 */ mtc1 $at, $f10 -/* 0A017C 8009F57C 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 0A0180 8009F580 E5CA06AC */ swc1 $f10, 0x6ac($t6) -/* 0A0184 8009F584 8CAF0000 */ lw $t7, ($a1) -/* 0A0188 8009F588 44812000 */ mtc1 $at, $f4 -/* 0A018C 8009F58C 3C01800F */ lui $at, %hi(D_800E86C0) # $at, 0x800f -/* 0A0190 8009F590 E5E406B0 */ swc1 $f4, 0x6b0($t7) -/* 0A0194 8009F594 8CB90000 */ lw $t9, ($a1) -/* 0A0198 8009F598 C42686C0 */ lwc1 $f6, %lo(D_800E86C0)($at) -/* 0A019C 8009F59C 3C01424C */ li $at, 0x424C0000 # 51.000000 -/* 0A01A0 8009F5A0 E72606CC */ swc1 $f6, 0x6cc($t9) -/* 0A01A4 8009F5A4 8CB80000 */ lw $t8, ($a1) -/* 0A01A8 8009F5A8 44814000 */ mtc1 $at, $f8 -/* 0A01AC 8009F5AC 3C014389 */ li $at, 0x43890000 # 274.000000 -/* 0A01B0 8009F5B0 E70806D0 */ swc1 $f8, 0x6d0($t8) -/* 0A01B4 8009F5B4 8CAE0000 */ lw $t6, ($a1) -/* 0A01B8 8009F5B8 44815000 */ mtc1 $at, $f10 -/* 0A01BC 8009F5BC 3C01424C */ li $at, 0x424C0000 # 51.000000 -/* 0A01C0 8009F5C0 E5CA06EC */ swc1 $f10, 0x6ec($t6) -/* 0A01C4 8009F5C4 8CAF0000 */ lw $t7, ($a1) -/* 0A01C8 8009F5C8 44812000 */ mtc1 $at, $f4 -/* 0A01CC 8009F5CC 24180003 */ li $t8, 3 -/* 0A01D0 8009F5D0 E5E406F0 */ swc1 $f4, 0x6f0($t7) -/* 0A01D4 8009F5D4 8CB90000 */ lw $t9, ($a1) -/* 0A01D8 8009F5D8 3C038012 */ lui $v1, %hi(gHUDNumPlayers) # $v1, 0x8012 -/* 0A01DC 8009F5DC E7200650 */ swc1 $f0, 0x650($t9) -/* 0A01E0 8009F5E0 8CAE0000 */ lw $t6, ($a1) -/* 0A01E4 8009F5E4 00000000 */ nop -/* 0A01E8 8009F5E8 A1D805DC */ sb $t8, 0x5dc($t6) -/* 0A01EC 8009F5EC 8C636D0C */ lw $v1, %lo(gHUDNumPlayers)($v1) -/* 0A01F0 8009F5F0 10000072 */ b .L8009F7BC -/* 0A01F4 8009F5F4 00000000 */ nop -.L8009F5F8: -/* 0A01F8 8009F5F8 11630002 */ beq $t3, $v1, .L8009F604 -/* 0A01FC 8009F5FC 24010003 */ li $at, 3 -/* 0A0200 8009F600 1461006E */ bne $v1, $at, .L8009F7BC -.L8009F604: -/* 0A0204 8009F604 3C04800E */ lui $a0, %hi(D_800E2684) # $a0, 0x800e -/* 0A0208 8009F608 24822684 */ addiu $v0, $a0, %lo(D_800E2684) -/* 0A020C 8009F60C 844F0000 */ lh $t7, ($v0) -/* 0A0210 8009F610 3C19800E */ lui $t9, %hi(D_800E2684) # $t9, 0x800e -/* 0A0214 8009F614 114F0069 */ beq $t2, $t7, .L8009F7BC -/* 0A0218 8009F618 27392684 */ addiu $t9, %lo(D_800E2684) # addiu $t9, $t9, 0x2684 -/* 0A021C 8009F61C 87230000 */ lh $v1, ($t9) -/* 0A0220 8009F620 00000000 */ nop -.L8009F624: -/* 0A0224 8009F624 8CB80000 */ lw $t8, ($a1) -/* 0A0228 8009F628 00037140 */ sll $t6, $v1, 5 -/* 0A022C 8009F62C 030E2021 */ addu $a0, $t8, $t6 -/* 0A0230 8009F630 84990006 */ lh $t9, 6($a0) -/* 0A0234 8009F634 8D2F0000 */ lw $t7, ($t1) -/* 0A0238 8009F638 0019C040 */ sll $t8, $t9, 1 -/* 0A023C 8009F63C 01F87021 */ addu $t6, $t7, $t8 -/* 0A0240 8009F640 85D90000 */ lh $t9, ($t6) -/* 0A0244 8009F644 00000000 */ nop -/* 0A0248 8009F648 332FC000 */ andi $t7, $t9, 0xc000 -/* 0A024C 8009F64C 150F002A */ bne $t0, $t7, .L8009F6F8 -/* 0A0250 8009F650 00000000 */ nop -/* 0A0254 8009F654 10E00003 */ beqz $a3, .L8009F664 -/* 0A0258 8009F658 00000000 */ nop -/* 0A025C 8009F65C 14EB0008 */ bne $a3, $t3, .L8009F680 -/* 0A0260 8009F660 00000000 */ nop -.L8009F664: -/* 0A0264 8009F664 84580002 */ lh $t8, 2($v0) -/* 0A0268 8009F668 00000000 */ nop -/* 0A026C 8009F66C 44983000 */ mtc1 $t8, $f6 -/* 0A0270 8009F670 00000000 */ nop -/* 0A0274 8009F674 46803220 */ cvt.s.w $f8, $f6 -/* 0A0278 8009F678 10000008 */ b .L8009F69C -/* 0A027C 8009F67C E488000C */ swc1 $f8, 0xc($a0) -.L8009F680: -/* 0A0280 8009F680 844E0006 */ lh $t6, 6($v0) -/* 0A0284 8009F684 00000000 */ nop -/* 0A0288 8009F688 25D900A0 */ addiu $t9, $t6, 0xa0 -/* 0A028C 8009F68C 44995000 */ mtc1 $t9, $f10 -/* 0A0290 8009F690 00000000 */ nop -/* 0A0294 8009F694 46805120 */ cvt.s.w $f4, $f10 -/* 0A0298 8009F698 E484000C */ swc1 $f4, 0xc($a0) -.L8009F69C: -/* 0A029C 8009F69C 10E00003 */ beqz $a3, .L8009F6AC -/* 0A02A0 8009F6A0 00000000 */ nop -/* 0A02A4 8009F6A4 14EC000A */ bne $a3, $t4, .L8009F6D0 -/* 0A02A8 8009F6A8 00000000 */ nop -.L8009F6AC: -/* 0A02AC 8009F6AC 844F0004 */ lh $t7, 4($v0) -/* 0A02B0 8009F6B0 844E0000 */ lh $t6, ($v0) -/* 0A02B4 8009F6B4 448F3000 */ mtc1 $t7, $f6 -/* 0A02B8 8009F6B8 8CB80000 */ lw $t8, ($a1) -/* 0A02BC 8009F6BC 46803220 */ cvt.s.w $f8, $f6 -/* 0A02C0 8009F6C0 000EC940 */ sll $t9, $t6, 5 -/* 0A02C4 8009F6C4 03197821 */ addu $t7, $t8, $t9 -/* 0A02C8 8009F6C8 10000035 */ b .L8009F7A0 -/* 0A02CC 8009F6CC E5E80010 */ swc1 $f8, 0x10($t7) -.L8009F6D0: -/* 0A02D0 8009F6D0 844E0004 */ lh $t6, 4($v0) -/* 0A02D4 8009F6D4 844F0000 */ lh $t7, ($v0) -/* 0A02D8 8009F6D8 25D8006C */ addiu $t8, $t6, 0x6c -/* 0A02DC 8009F6DC 44985000 */ mtc1 $t8, $f10 -/* 0A02E0 8009F6E0 8CB90000 */ lw $t9, ($a1) -/* 0A02E4 8009F6E4 46805120 */ cvt.s.w $f4, $f10 -/* 0A02E8 8009F6E8 000F7140 */ sll $t6, $t7, 5 -/* 0A02EC 8009F6EC 032EC021 */ addu $t8, $t9, $t6 -/* 0A02F0 8009F6F0 1000002B */ b .L8009F7A0 -/* 0A02F4 8009F6F4 E7040010 */ swc1 $f4, 0x10($t8) -.L8009F6F8: -/* 0A02F8 8009F6F8 10E00003 */ beqz $a3, .L8009F708 -/* 0A02FC 8009F6FC 00000000 */ nop -/* 0A0300 8009F700 14EB0009 */ bne $a3, $t3, .L8009F728 -/* 0A0304 8009F704 00000000 */ nop -.L8009F708: -/* 0A0308 8009F708 844F0002 */ lh $t7, 2($v0) -/* 0A030C 8009F70C 00000000 */ nop -/* 0A0310 8009F710 25F9FFB0 */ addiu $t9, $t7, -0x50 -/* 0A0314 8009F714 44993000 */ mtc1 $t9, $f6 -/* 0A0318 8009F718 00000000 */ nop -/* 0A031C 8009F71C 46803220 */ cvt.s.w $f8, $f6 -/* 0A0320 8009F720 10000008 */ b .L8009F744 -/* 0A0324 8009F724 E488000C */ swc1 $f8, 0xc($a0) -.L8009F728: -/* 0A0328 8009F728 844E0006 */ lh $t6, 6($v0) -/* 0A032C 8009F72C 00000000 */ nop -/* 0A0330 8009F730 25D80050 */ addiu $t8, $t6, 0x50 -/* 0A0334 8009F734 44985000 */ mtc1 $t8, $f10 -/* 0A0338 8009F738 00000000 */ nop -/* 0A033C 8009F73C 46805120 */ cvt.s.w $f4, $f10 -/* 0A0340 8009F740 E484000C */ swc1 $f4, 0xc($a0) -.L8009F744: -/* 0A0344 8009F744 10E00003 */ beqz $a3, .L8009F754 -/* 0A0348 8009F748 00000000 */ nop -/* 0A034C 8009F74C 14EC000B */ bne $a3, $t4, .L8009F77C -/* 0A0350 8009F750 00000000 */ nop -.L8009F754: -/* 0A0354 8009F754 844F0004 */ lh $t7, 4($v0) -/* 0A0358 8009F758 84580000 */ lh $t8, ($v0) -/* 0A035C 8009F75C 25F9003C */ addiu $t9, $t7, 0x3c -/* 0A0360 8009F760 44993000 */ mtc1 $t9, $f6 -/* 0A0364 8009F764 8CAE0000 */ lw $t6, ($a1) -/* 0A0368 8009F768 46803220 */ cvt.s.w $f8, $f6 -/* 0A036C 8009F76C 00187940 */ sll $t7, $t8, 5 -/* 0A0370 8009F770 01CFC821 */ addu $t9, $t6, $t7 -/* 0A0374 8009F774 1000000A */ b .L8009F7A0 -/* 0A0378 8009F778 E7280010 */ swc1 $f8, 0x10($t9) -.L8009F77C: -/* 0A037C 8009F77C 84580004 */ lh $t8, 4($v0) -/* 0A0380 8009F780 84590000 */ lh $t9, ($v0) -/* 0A0384 8009F784 270EFFD0 */ addiu $t6, $t8, -0x30 -/* 0A0388 8009F788 448E5000 */ mtc1 $t6, $f10 -/* 0A038C 8009F78C 8CAF0000 */ lw $t7, ($a1) -/* 0A0390 8009F790 46805120 */ cvt.s.w $f4, $f10 -/* 0A0394 8009F794 0019C140 */ sll $t8, $t9, 5 -/* 0A0398 8009F798 01F87021 */ addu $t6, $t7, $t8 -/* 0A039C 8009F79C E5C40010 */ swc1 $f4, 0x10($t6) -.L8009F7A0: -/* 0A03A0 8009F7A0 84430008 */ lh $v1, 8($v0) -/* 0A03A4 8009F7A4 24420008 */ addiu $v0, $v0, 8 -/* 0A03A8 8009F7A8 1543FF9E */ bne $t2, $v1, .L8009F624 -/* 0A03AC 8009F7AC 00000000 */ nop -/* 0A03B0 8009F7B0 3C038012 */ lui $v1, %hi(gHUDNumPlayers) # $v1, 0x8012 -/* 0A03B4 8009F7B4 8C636D0C */ lw $v1, %lo(gHUDNumPlayers)($v1) -/* 0A03B8 8009F7B8 00000000 */ nop -.L8009F7BC: -/* 0A03BC 8009F7BC 10600046 */ beqz $v1, .L8009F8D8 -/* 0A03C0 8009F7C0 00000000 */ nop -/* 0A03C4 8009F7C4 00001825 */ move $v1, $zero -.L8009F7C8: -/* 0A03C8 8009F7C8 8CB90000 */ lw $t9, ($a1) -/* 0A03CC 8009F7CC 00000000 */ nop -/* 0A03D0 8009F7D0 03232021 */ addu $a0, $t9, $v1 -/* 0A03D4 8009F7D4 84820006 */ lh $v0, 6($a0) -/* 0A03D8 8009F7D8 00000000 */ nop -/* 0A03DC 8009F7DC 15A20003 */ bne $t5, $v0, .L8009F7EC -/* 0A03E0 8009F7E0 00000000 */ nop -/* 0A03E4 8009F7E4 10000036 */ b .L8009F8C0 -/* 0A03E8 8009F7E8 A4910006 */ sh $s1, 6($a0) -.L8009F7EC: -/* 0A03EC 8009F7EC 16620003 */ bne $s3, $v0, .L8009F7FC -/* 0A03F0 8009F7F0 00000000 */ nop -/* 0A03F4 8009F7F4 10000032 */ b .L8009F8C0 -/* 0A03F8 8009F7F8 A4940006 */ sh $s4, 6($a0) -.L8009F7FC: -/* 0A03FC 8009F7FC 16A20003 */ bne $s5, $v0, .L8009F80C -/* 0A0400 8009F800 00000000 */ nop -/* 0A0404 8009F804 1000002E */ b .L8009F8C0 -/* 0A0408 8009F808 A4960006 */ sh $s6, 6($a0) -.L8009F80C: -/* 0A040C 8009F80C 17E20003 */ bne $ra, $v0, .L8009F81C -/* 0A0410 8009F810 00000000 */ nop -/* 0A0414 8009F814 1000002A */ b .L8009F8C0 -/* 0A0418 8009F818 A4970006 */ sh $s7, 6($a0) -.L8009F81C: -/* 0A041C 8009F81C 17C20008 */ bne $fp, $v0, .L8009F840 -/* 0A0420 8009F820 00000000 */ nop -/* 0A0424 8009F824 C4860008 */ lwc1 $f6, 8($a0) -/* 0A0428 8009F828 00000000 */ nop -/* 0A042C 8009F82C 46003221 */ cvt.d.s $f8, $f6 -/* 0A0430 8009F830 462E4282 */ mul.d $f10, $f8, $f14 -/* 0A0434 8009F834 46205120 */ cvt.s.d $f4, $f10 -/* 0A0438 8009F838 10000021 */ b .L8009F8C0 -/* 0A043C 8009F83C E4840008 */ swc1 $f4, 8($a0) -.L8009F840: -/* 0A0440 8009F840 1060001F */ beqz $v1, .L8009F8C0 -/* 0A0444 8009F844 24010020 */ li $at, 32 -/* 0A0448 8009F848 1061001D */ beq $v1, $at, .L8009F8C0 -/* 0A044C 8009F84C 24010040 */ li $at, 64 -/* 0A0450 8009F850 1061001B */ beq $v1, $at, .L8009F8C0 -/* 0A0454 8009F854 240104A0 */ li $at, 1184 -/* 0A0458 8009F858 10610019 */ beq $v1, $at, .L8009F8C0 -/* 0A045C 8009F85C 240105E0 */ li $at, 1504 -/* 0A0460 8009F860 10610017 */ beq $v1, $at, .L8009F8C0 -/* 0A0464 8009F864 24010600 */ li $at, 1536 -/* 0A0468 8009F868 10610015 */ beq $v1, $at, .L8009F8C0 -/* 0A046C 8009F86C 24010060 */ li $at, 96 -/* 0A0470 8009F870 10610013 */ beq $v1, $at, .L8009F8C0 -/* 0A0474 8009F874 24010640 */ li $at, 1600 -/* 0A0478 8009F878 10610011 */ beq $v1, $at, .L8009F8C0 -/* 0A047C 8009F87C 24010660 */ li $at, 1632 -/* 0A0480 8009F880 1061000F */ beq $v1, $at, .L8009F8C0 -/* 0A0484 8009F884 28610680 */ slti $at, $v1, 0x680 -/* 0A0488 8009F888 14200007 */ bnez $at, .L8009F8A8 -/* 0A048C 8009F88C 28610700 */ slti $at, $v1, 0x700 -/* 0A0490 8009F890 10200005 */ beqz $at, .L8009F8A8 -/* 0A0494 8009F894 24010380 */ li $at, 896 -/* 0A0498 8009F898 10610003 */ beq $v1, $at, .L8009F8A8 -/* 0A049C 8009F89C 24010120 */ li $at, 288 -/* 0A04A0 8009F8A0 14610007 */ bne $v1, $at, .L8009F8C0 -/* 0A04A4 8009F8A4 00000000 */ nop -.L8009F8A8: -/* 0A04A8 8009F8A8 C4860008 */ lwc1 $f6, 8($a0) -/* 0A04AC 8009F8AC 00000000 */ nop -/* 0A04B0 8009F8B0 46003221 */ cvt.d.s $f8, $f6 -/* 0A04B4 8009F8B4 46304282 */ mul.d $f10, $f8, $f16 -/* 0A04B8 8009F8B8 46205120 */ cvt.s.d $f4, $f10 -/* 0A04BC 8009F8BC E4840008 */ swc1 $f4, 8($a0) -.L8009F8C0: -/* 0A04C0 8009F8C0 24630020 */ addiu $v1, $v1, 0x20 -/* 0A04C4 8009F8C4 1472FFC0 */ bne $v1, $s2, .L8009F7C8 -/* 0A04C8 8009F8C8 00000000 */ nop -/* 0A04CC 8009F8CC 3C038012 */ lui $v1, %hi(gHUDNumPlayers) # $v1, 0x8012 -/* 0A04D0 8009F8D0 8C636D0C */ lw $v1, %lo(gHUDNumPlayers)($v1) -/* 0A04D4 8009F8D4 00000000 */ nop -.L8009F8D8: -/* 0A04D8 8009F8D8 8CA40000 */ lw $a0, ($a1) -/* 0A04DC 8009F8DC 28610002 */ slti $at, $v1, 2 -/* 0A04E0 8009F8E0 1420002F */ bnez $at, .L8009F9A0 -/* 0A04E4 8009F8E4 00000000 */ nop -/* 0A04E8 8009F8E8 E49603C8 */ swc1 $f22, 0x3c8($a0) -/* 0A04EC 8009F8EC 8CAF0000 */ lw $t7, ($a1) -/* 0A04F0 8009F8F0 00000000 */ nop -/* 0A04F4 8009F8F4 E5F603E8 */ swc1 $f22, 0x3e8($t7) -/* 0A04F8 8009F8F8 8CB80000 */ lw $t8, ($a1) -/* 0A04FC 8009F8FC 00000000 */ nop -/* 0A0500 8009F900 E71603A8 */ swc1 $f22, 0x3a8($t8) -/* 0A0504 8009F904 8CAE0000 */ lw $t6, ($a1) -/* 0A0508 8009F908 00000000 */ nop -/* 0A050C 8009F90C E5D60188 */ swc1 $f22, 0x188($t6) -/* 0A0510 8009F910 8CB90000 */ lw $t9, ($a1) -/* 0A0514 8009F914 00000000 */ nop -/* 0A0518 8009F918 E73601A8 */ swc1 $f22, 0x1a8($t9) -/* 0A051C 8009F91C 8CAF0000 */ lw $t7, ($a1) -/* 0A0520 8009F920 24190026 */ li $t9, 38 -/* 0A0524 8009F924 E5F60468 */ swc1 $f22, 0x468($t7) -/* 0A0528 8009F928 8CB80000 */ lw $t8, ($a1) -/* 0A052C 8009F92C 00000000 */ nop -/* 0A0530 8009F930 E7160488 */ swc1 $f22, 0x488($t8) -/* 0A0534 8009F934 8CAE0000 */ lw $t6, ($a1) -/* 0A0538 8009F938 2418002B */ li $t8, 43 -/* 0A053C 8009F93C E5D601C8 */ swc1 $f22, 0x1c8($t6) -/* 0A0540 8009F940 8CAF0000 */ lw $t7, ($a1) -/* 0A0544 8009F944 00000000 */ nop -/* 0A0548 8009F948 A5F903C6 */ sh $t9, 0x3c6($t7) -/* 0A054C 8009F94C 8CAE0000 */ lw $t6, ($a1) -/* 0A0550 8009F950 24190029 */ li $t9, 41 -/* 0A0554 8009F954 A5D803E6 */ sh $t8, 0x3e6($t6) -/* 0A0558 8009F958 8CAF0000 */ lw $t7, ($a1) -/* 0A055C 8009F95C 24180025 */ li $t8, 37 -/* 0A0560 8009F960 A5F903A6 */ sh $t9, 0x3a6($t7) -/* 0A0564 8009F964 8CAE0000 */ lw $t6, ($a1) -/* 0A0568 8009F968 24190027 */ li $t9, 39 -/* 0A056C 8009F96C A5D80186 */ sh $t8, 0x186($t6) -/* 0A0570 8009F970 8CAF0000 */ lw $t7, ($a1) -/* 0A0574 8009F974 2418002D */ li $t8, 45 -/* 0A0578 8009F978 A5F901A6 */ sh $t9, 0x1a6($t7) -/* 0A057C 8009F97C 8CAE0000 */ lw $t6, ($a1) -/* 0A0580 8009F980 2419002C */ li $t9, 44 -/* 0A0584 8009F984 A5D80466 */ sh $t8, 0x466($t6) -/* 0A0588 8009F988 8CAF0000 */ lw $t7, ($a1) -/* 0A058C 8009F98C 2418002A */ li $t8, 42 -/* 0A0590 8009F990 A5F90486 */ sh $t9, 0x486($t7) -/* 0A0594 8009F994 8CAE0000 */ lw $t6, ($a1) -/* 0A0598 8009F998 10000005 */ b .L8009F9B0 -/* 0A059C 8009F99C A5D801C6 */ sh $t8, 0x1c6($t6) -.L8009F9A0: -/* 0A05A0 8009F9A0 A08C005D */ sb $t4, 0x5d($a0) -/* 0A05A4 8009F9A4 8CB90000 */ lw $t9, ($a1) -/* 0A05A8 8009F9A8 00000000 */ nop -/* 0A05AC 8009F9AC A32C037D */ sb $t4, 0x37d($t9) -.L8009F9B0: -/* 0A05B0 8009F9B0 0C003936 */ jal is_in_time_trial -/* 0A05B4 8009F9B4 AFA70090 */ sw $a3, 0x90($sp) -/* 0A05B8 8009F9B8 3C058012 */ lui $a1, %hi(gCurrentHud) # $a1, 0x8012 -/* 0A05BC 8009F9BC 8FA70090 */ lw $a3, 0x90($sp) -/* 0A05C0 8009F9C0 10400043 */ beqz $v0, .L8009FAD0 -/* 0A05C4 8009F9C4 24A56CDC */ addiu $a1, %lo(gCurrentHud) # addiu $a1, $a1, 0x6cdc -/* 0A05C8 8009F9C8 8CA40000 */ lw $a0, ($a1) -/* 0A05CC 8009F9CC 00000000 */ nop -/* 0A05D0 8009F9D0 C48600EC */ lwc1 $f6, 0xec($a0) -/* 0A05D4 8009F9D4 00000000 */ nop -/* 0A05D8 8009F9D8 46183200 */ add.s $f8, $f6, $f24 -/* 0A05DC 8009F9DC E48800EC */ swc1 $f8, 0xec($a0) -/* 0A05E0 8009F9E0 8CA40000 */ lw $a0, ($a1) -/* 0A05E4 8009F9E4 00000000 */ nop -/* 0A05E8 8009F9E8 C48A010C */ lwc1 $f10, 0x10c($a0) -/* 0A05EC 8009F9EC 00000000 */ nop -/* 0A05F0 8009F9F0 46185100 */ add.s $f4, $f10, $f24 -/* 0A05F4 8009F9F4 E484010C */ swc1 $f4, 0x10c($a0) -/* 0A05F8 8009F9F8 8CA40000 */ lw $a0, ($a1) -/* 0A05FC 8009F9FC 00000000 */ nop -/* 0A0600 8009FA00 C486012C */ lwc1 $f6, 0x12c($a0) -/* 0A0604 8009FA04 00000000 */ nop -/* 0A0608 8009FA08 46183200 */ add.s $f8, $f6, $f24 -/* 0A060C 8009FA0C E488012C */ swc1 $f8, 0x12c($a0) -/* 0A0610 8009FA10 8CA40000 */ lw $a0, ($a1) -/* 0A0614 8009FA14 00000000 */ nop -/* 0A0618 8009FA18 C48A038C */ lwc1 $f10, 0x38c($a0) -/* 0A061C 8009FA1C 00000000 */ nop -/* 0A0620 8009FA20 46185100 */ add.s $f4, $f10, $f24 -/* 0A0624 8009FA24 E484038C */ swc1 $f4, 0x38c($a0) -/* 0A0628 8009FA28 8CA40000 */ lw $a0, ($a1) -/* 0A062C 8009FA2C 00000000 */ nop -/* 0A0630 8009FA30 C486036C */ lwc1 $f6, 0x36c($a0) -/* 0A0634 8009FA34 00000000 */ nop -/* 0A0638 8009FA38 46183200 */ add.s $f8, $f6, $f24 -/* 0A063C 8009FA3C E488036C */ swc1 $f8, 0x36c($a0) -/* 0A0640 8009FA40 8CA40000 */ lw $a0, ($a1) -/* 0A0644 8009FA44 00000000 */ nop -/* 0A0648 8009FA48 C48A024C */ lwc1 $f10, 0x24c($a0) -/* 0A064C 8009FA4C 00000000 */ nop -/* 0A0650 8009FA50 46185100 */ add.s $f4, $f10, $f24 -/* 0A0654 8009FA54 E484024C */ swc1 $f4, 0x24c($a0) -/* 0A0658 8009FA58 8CA40000 */ lw $a0, ($a1) -/* 0A065C 8009FA5C 00000000 */ nop -/* 0A0660 8009FA60 C486008C */ lwc1 $f6, 0x8c($a0) -/* 0A0664 8009FA64 00000000 */ nop -/* 0A0668 8009FA68 461C3200 */ add.s $f8, $f6, $f28 -/* 0A066C 8009FA6C E488008C */ swc1 $f8, 0x8c($a0) -/* 0A0670 8009FA70 8CA40000 */ lw $a0, ($a1) -/* 0A0674 8009FA74 00000000 */ nop -/* 0A0678 8009FA78 C48A00AC */ lwc1 $f10, 0xac($a0) -/* 0A067C 8009FA7C 00000000 */ nop -/* 0A0680 8009FA80 461C5100 */ add.s $f4, $f10, $f28 -/* 0A0684 8009FA84 E48400AC */ swc1 $f4, 0xac($a0) -/* 0A0688 8009FA88 8CA40000 */ lw $a0, ($a1) -/* 0A068C 8009FA8C 00000000 */ nop -/* 0A0690 8009FA90 C48600CC */ lwc1 $f6, 0xcc($a0) -/* 0A0694 8009FA94 00000000 */ nop -/* 0A0698 8009FA98 461C3200 */ add.s $f8, $f6, $f28 -/* 0A069C 8009FA9C E48800CC */ swc1 $f8, 0xcc($a0) -/* 0A06A0 8009FAA0 8CA40000 */ lw $a0, ($a1) -/* 0A06A4 8009FAA4 00000000 */ nop -/* 0A06A8 8009FAA8 C48A006C */ lwc1 $f10, 0x6c($a0) -/* 0A06AC 8009FAAC 00000000 */ nop -/* 0A06B0 8009FAB0 461C5100 */ add.s $f4, $f10, $f28 -/* 0A06B4 8009FAB4 E484006C */ swc1 $f4, 0x6c($a0) -/* 0A06B8 8009FAB8 8CA40000 */ lw $a0, ($a1) -/* 0A06BC 8009FABC 00000000 */ nop -/* 0A06C0 8009FAC0 C486020C */ lwc1 $f6, 0x20c($a0) -/* 0A06C4 8009FAC4 00000000 */ nop -/* 0A06C8 8009FAC8 461C3200 */ add.s $f8, $f6, $f28 -/* 0A06CC 8009FACC E488020C */ swc1 $f8, 0x20c($a0) -.L8009FAD0: -/* 0A06D0 8009FAD0 0C01AF66 */ jal get_current_level_race_type -/* 0A06D4 8009FAD4 AFA70090 */ sw $a3, 0x90($sp) -/* 0A06D8 8009FAD8 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0A06DC 8009FADC 44819000 */ mtc1 $at, $f18 -/* 0A06E0 8009FAE0 24010008 */ li $at, 8 -/* 0A06E4 8009FAE4 3C058012 */ lui $a1, %hi(gCurrentHud) # $a1, 0x8012 -/* 0A06E8 8009FAE8 8FA70090 */ lw $a3, 0x90($sp) -/* 0A06EC 8009FAEC 24A56CDC */ addiu $a1, %lo(gCurrentHud) # addiu $a1, $a1, 0x6cdc -/* 0A06F0 8009FAF0 240B0002 */ li $t3, 2 -/* 0A06F4 8009FAF4 10410006 */ beq $v0, $at, .L8009FB10 -/* 0A06F8 8009FAF8 240C0001 */ li $t4, 1 -/* 0A06FC 8009FAFC 24010041 */ li $at, 65 -/* 0A0700 8009FB00 10410046 */ beq $v0, $at, .L8009FC1C -/* 0A0704 8009FB04 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -/* 0A0708 8009FB08 10000085 */ b .L8009FD20 -/* 0A070C 8009FB0C 00000000 */ nop -.L8009FB10: -/* 0A0710 8009FB10 8CA40000 */ lw $a0, ($a1) -/* 0A0714 8009FB14 00000000 */ nop -/* 0A0718 8009FB18 C48A00EC */ lwc1 $f10, 0xec($a0) -/* 0A071C 8009FB1C 00000000 */ nop -/* 0A0720 8009FB20 461A5100 */ add.s $f4, $f10, $f26 -/* 0A0724 8009FB24 E48400EC */ swc1 $f4, 0xec($a0) -/* 0A0728 8009FB28 8CA40000 */ lw $a0, ($a1) -/* 0A072C 8009FB2C 00000000 */ nop -/* 0A0730 8009FB30 C486010C */ lwc1 $f6, 0x10c($a0) -/* 0A0734 8009FB34 00000000 */ nop -/* 0A0738 8009FB38 461A3200 */ add.s $f8, $f6, $f26 -/* 0A073C 8009FB3C E488010C */ swc1 $f8, 0x10c($a0) -/* 0A0740 8009FB40 8CA40000 */ lw $a0, ($a1) -/* 0A0744 8009FB44 00000000 */ nop -/* 0A0748 8009FB48 C48A012C */ lwc1 $f10, 0x12c($a0) -/* 0A074C 8009FB4C 00000000 */ nop -/* 0A0750 8009FB50 461A5100 */ add.s $f4, $f10, $f26 -/* 0A0754 8009FB54 E484012C */ swc1 $f4, 0x12c($a0) -/* 0A0758 8009FB58 8CA40000 */ lw $a0, ($a1) -/* 0A075C 8009FB5C 00000000 */ nop -/* 0A0760 8009FB60 C486038C */ lwc1 $f6, 0x38c($a0) -/* 0A0764 8009FB64 00000000 */ nop -/* 0A0768 8009FB68 461A3200 */ add.s $f8, $f6, $f26 -/* 0A076C 8009FB6C E488038C */ swc1 $f8, 0x38c($a0) -/* 0A0770 8009FB70 8CA40000 */ lw $a0, ($a1) -/* 0A0774 8009FB74 00000000 */ nop -/* 0A0778 8009FB78 C48A036C */ lwc1 $f10, 0x36c($a0) -/* 0A077C 8009FB7C 00000000 */ nop -/* 0A0780 8009FB80 461A5100 */ add.s $f4, $f10, $f26 -/* 0A0784 8009FB84 E484036C */ swc1 $f4, 0x36c($a0) -/* 0A0788 8009FB88 8CA40000 */ lw $a0, ($a1) -/* 0A078C 8009FB8C 00000000 */ nop -/* 0A0790 8009FB90 C486024C */ lwc1 $f6, 0x24c($a0) -/* 0A0794 8009FB94 00000000 */ nop -/* 0A0798 8009FB98 461A3200 */ add.s $f8, $f6, $f26 -/* 0A079C 8009FB9C E488024C */ swc1 $f8, 0x24c($a0) -/* 0A07A0 8009FBA0 8CA40000 */ lw $a0, ($a1) -/* 0A07A4 8009FBA4 00000000 */ nop -/* 0A07A8 8009FBA8 C48A006C */ lwc1 $f10, 0x6c($a0) -/* 0A07AC 8009FBAC 00000000 */ nop -/* 0A07B0 8009FBB0 46145100 */ add.s $f4, $f10, $f20 -/* 0A07B4 8009FBB4 E484006C */ swc1 $f4, 0x6c($a0) -/* 0A07B8 8009FBB8 8CA40000 */ lw $a0, ($a1) -/* 0A07BC 8009FBBC 00000000 */ nop -/* 0A07C0 8009FBC0 C486008C */ lwc1 $f6, 0x8c($a0) -/* 0A07C4 8009FBC4 00000000 */ nop -/* 0A07C8 8009FBC8 46143200 */ add.s $f8, $f6, $f20 -/* 0A07CC 8009FBCC E488008C */ swc1 $f8, 0x8c($a0) -/* 0A07D0 8009FBD0 8CA40000 */ lw $a0, ($a1) -/* 0A07D4 8009FBD4 00000000 */ nop -/* 0A07D8 8009FBD8 C48A00AC */ lwc1 $f10, 0xac($a0) -/* 0A07DC 8009FBDC 00000000 */ nop -/* 0A07E0 8009FBE0 46145100 */ add.s $f4, $f10, $f20 -/* 0A07E4 8009FBE4 E48400AC */ swc1 $f4, 0xac($a0) -/* 0A07E8 8009FBE8 8CA40000 */ lw $a0, ($a1) -/* 0A07EC 8009FBEC 00000000 */ nop -/* 0A07F0 8009FBF0 C48600CC */ lwc1 $f6, 0xcc($a0) -/* 0A07F4 8009FBF4 00000000 */ nop -/* 0A07F8 8009FBF8 46143200 */ add.s $f8, $f6, $f20 -/* 0A07FC 8009FBFC E48800CC */ swc1 $f8, 0xcc($a0) -/* 0A0800 8009FC00 8CA40000 */ lw $a0, ($a1) -/* 0A0804 8009FC04 00000000 */ nop -/* 0A0808 8009FC08 C48A020C */ lwc1 $f10, 0x20c($a0) -/* 0A080C 8009FC0C 00000000 */ nop -/* 0A0810 8009FC10 46145100 */ add.s $f4, $f10, $f20 -/* 0A0814 8009FC14 10000042 */ b .L8009FD20 -/* 0A0818 8009FC18 E484020C */ swc1 $f4, 0x20c($a0) -.L8009FC1C: -/* 0A081C 8009FC1C 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -/* 0A0820 8009FC20 3C028012 */ lui $v0, %hi(gNumActivePlayers) # $v0, 0x8012 -/* 0A0824 8009FC24 15E00007 */ bnez $t7, .L8009FC44 -/* 0A0828 8009FC28 00000000 */ nop -/* 0A082C 8009FC2C 8CA40000 */ lw $a0, ($a1) -/* 0A0830 8009FC30 00000000 */ nop -/* 0A0834 8009FC34 C4860410 */ lwc1 $f6, 0x410($a0) -/* 0A0838 8009FC38 00000000 */ nop -/* 0A083C 8009FC3C 46123201 */ sub.s $f8, $f6, $f18 -/* 0A0840 8009FC40 E4880410 */ swc1 $f8, 0x410($a0) -.L8009FC44: -/* 0A0844 8009FC44 90426D37 */ lbu $v0, %lo(gNumActivePlayers)($v0) -/* 0A0848 8009FC48 00000000 */ nop -/* 0A084C 8009FC4C 28410003 */ slti $at, $v0, 3 -/* 0A0850 8009FC50 14200009 */ bnez $at, .L8009FC78 -/* 0A0854 8009FC54 00000000 */ nop -/* 0A0858 8009FC58 10E00003 */ beqz $a3, .L8009FC68 -/* 0A085C 8009FC5C 00000000 */ nop -/* 0A0860 8009FC60 14EB0003 */ bne $a3, $t3, .L8009FC70 -/* 0A0864 8009FC64 00000000 */ nop -.L8009FC68: -/* 0A0868 8009FC68 10000008 */ b .L8009FC8C -/* 0A086C 8009FC6C 02801025 */ move $v0, $s4 -.L8009FC70: -/* 0A0870 8009FC70 10000006 */ b .L8009FC8C -/* 0A0874 8009FC74 2402FFF6 */ li $v0, -10 -.L8009FC78: -/* 0A0878 8009FC78 15820004 */ bne $t4, $v0, .L8009FC8C -/* 0A087C 8009FC7C 00001025 */ move $v0, $zero -/* 0A0880 8009FC80 10000002 */ b .L8009FC8C -/* 0A0884 8009FC84 2402FFF6 */ li $v0, -10 -/* 0A0888 8009FC88 00001025 */ move $v0, $zero -.L8009FC8C: -/* 0A088C 8009FC8C 44825000 */ mtc1 $v0, $f10 -/* 0A0890 8009FC90 8CA40000 */ lw $a0, ($a1) -/* 0A0894 8009FC94 46805020 */ cvt.s.w $f0, $f10 -/* 0A0898 8009FC98 C484036C */ lwc1 $f4, 0x36c($a0) -/* 0A089C 8009FC9C 00000000 */ nop -/* 0A08A0 8009FCA0 46002180 */ add.s $f6, $f4, $f0 -/* 0A08A4 8009FCA4 E486036C */ swc1 $f6, 0x36c($a0) -/* 0A08A8 8009FCA8 8CA40000 */ lw $a0, ($a1) -/* 0A08AC 8009FCAC 00000000 */ nop -/* 0A08B0 8009FCB0 C48800EC */ lwc1 $f8, 0xec($a0) -/* 0A08B4 8009FCB4 00000000 */ nop -/* 0A08B8 8009FCB8 46004280 */ add.s $f10, $f8, $f0 -/* 0A08BC 8009FCBC E48A00EC */ swc1 $f10, 0xec($a0) -/* 0A08C0 8009FCC0 8CA40000 */ lw $a0, ($a1) -/* 0A08C4 8009FCC4 00000000 */ nop -/* 0A08C8 8009FCC8 C484010C */ lwc1 $f4, 0x10c($a0) -/* 0A08CC 8009FCCC 00000000 */ nop -/* 0A08D0 8009FCD0 46002180 */ add.s $f6, $f4, $f0 -/* 0A08D4 8009FCD4 E486010C */ swc1 $f6, 0x10c($a0) -/* 0A08D8 8009FCD8 8CA40000 */ lw $a0, ($a1) -/* 0A08DC 8009FCDC 00000000 */ nop -/* 0A08E0 8009FCE0 C488012C */ lwc1 $f8, 0x12c($a0) -/* 0A08E4 8009FCE4 00000000 */ nop -/* 0A08E8 8009FCE8 46004280 */ add.s $f10, $f8, $f0 -/* 0A08EC 8009FCEC E48A012C */ swc1 $f10, 0x12c($a0) -/* 0A08F0 8009FCF0 8CA40000 */ lw $a0, ($a1) -/* 0A08F4 8009FCF4 00000000 */ nop -/* 0A08F8 8009FCF8 C484038C */ lwc1 $f4, 0x38c($a0) -/* 0A08FC 8009FCFC 00000000 */ nop -/* 0A0900 8009FD00 46002180 */ add.s $f6, $f4, $f0 -/* 0A0904 8009FD04 E486038C */ swc1 $f6, 0x38c($a0) -/* 0A0908 8009FD08 8CA40000 */ lw $a0, ($a1) -/* 0A090C 8009FD0C 00000000 */ nop -/* 0A0910 8009FD10 C488024C */ lwc1 $f8, 0x24c($a0) -/* 0A0914 8009FD14 00000000 */ nop -/* 0A0918 8009FD18 46004280 */ add.s $f10, $f8, $f0 -/* 0A091C 8009FD1C E48A024C */ swc1 $f10, 0x24c($a0) -.L8009FD20: -/* 0A0920 8009FD20 0C008D07 */ jal is_taj_challenge -/* 0A0924 8009FD24 AFA70090 */ sw $a3, 0x90($sp) -/* 0A0928 8009FD28 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0A092C 8009FD2C 44811000 */ mtc1 $at, $f2 -/* 0A0930 8009FD30 3C01800F */ lui $at, %hi(D_800E86E8 + 4) # $at, 0x800f -/* 0A0934 8009FD34 C42D86E8 */ lwc1 $f13, %lo(D_800E86E8)($at) -/* 0A0938 8009FD38 C42C86EC */ lwc1 $f12, %lo(D_800E86E8 + 4)($at) -/* 0A093C 8009FD3C 3C01800F */ lui $at, %hi(D_800E86F0 + 4) # $at, 0x800f -/* 0A0940 8009FD40 C42F86F0 */ lwc1 $f15, %lo(D_800E86F0)($at) -/* 0A0944 8009FD44 C42E86F4 */ lwc1 $f14, %lo(D_800E86F0 + 4)($at) -/* 0A0948 8009FD48 3C013FE8 */ li $at, 0x3FE80000 # 1.812500 -/* 0A094C 8009FD4C 44818800 */ mtc1 $at, $f17 -/* 0A0950 8009FD50 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0A0954 8009FD54 44819000 */ mtc1 $at, $f18 -/* 0A0958 8009FD58 3C058012 */ lui $a1, %hi(gCurrentHud) # $a1, 0x8012 -/* 0A095C 8009FD5C 8FA70090 */ lw $a3, 0x90($sp) -/* 0A0960 8009FD60 3C098012 */ lui $t1, %hi(gAssetHudElementIds) # $t1, 0x8012 -/* 0A0964 8009FD64 44808000 */ mtc1 $zero, $f16 -/* 0A0968 8009FD68 25296CF0 */ addiu $t1, %lo(gAssetHudElementIds) # addiu $t1, $t1, 0x6cf0 -/* 0A096C 8009FD6C 24A56CDC */ addiu $a1, %lo(gCurrentHud) # addiu $a1, $a1, 0x6cdc -/* 0A0970 8009FD70 3408C000 */ li $t0, 49152 -/* 0A0974 8009FD74 240AFFFF */ li $t2, -1 -/* 0A0978 8009FD78 240B0002 */ li $t3, 2 -/* 0A097C 8009FD7C 240C0001 */ li $t4, 1 -/* 0A0980 8009FD80 240D0009 */ li $t5, 9 -/* 0A0984 8009FD84 1040001F */ beqz $v0, .L8009FE04 -/* 0A0988 8009FD88 241F0012 */ li $ra, 18 -/* 0A098C 8009FD8C 8CA40000 */ lw $a0, ($a1) -/* 0A0990 8009FD90 00000000 */ nop -/* 0A0994 8009FD94 C484006C */ lwc1 $f4, 0x6c($a0) -/* 0A0998 8009FD98 00000000 */ nop -/* 0A099C 8009FD9C 46142180 */ add.s $f6, $f4, $f20 -/* 0A09A0 8009FDA0 E486006C */ swc1 $f6, 0x6c($a0) -/* 0A09A4 8009FDA4 8CA40000 */ lw $a0, ($a1) -/* 0A09A8 8009FDA8 00000000 */ nop -/* 0A09AC 8009FDAC C488008C */ lwc1 $f8, 0x8c($a0) -/* 0A09B0 8009FDB0 00000000 */ nop -/* 0A09B4 8009FDB4 46144280 */ add.s $f10, $f8, $f20 -/* 0A09B8 8009FDB8 E48A008C */ swc1 $f10, 0x8c($a0) -/* 0A09BC 8009FDBC 8CA40000 */ lw $a0, ($a1) -/* 0A09C0 8009FDC0 00000000 */ nop -/* 0A09C4 8009FDC4 C48400AC */ lwc1 $f4, 0xac($a0) -/* 0A09C8 8009FDC8 00000000 */ nop -/* 0A09CC 8009FDCC 46142180 */ add.s $f6, $f4, $f20 -/* 0A09D0 8009FDD0 E48600AC */ swc1 $f6, 0xac($a0) -/* 0A09D4 8009FDD4 8CA40000 */ lw $a0, ($a1) -/* 0A09D8 8009FDD8 00000000 */ nop -/* 0A09DC 8009FDDC C48800CC */ lwc1 $f8, 0xcc($a0) -/* 0A09E0 8009FDE0 00000000 */ nop -/* 0A09E4 8009FDE4 46144280 */ add.s $f10, $f8, $f20 -/* 0A09E8 8009FDE8 E48A00CC */ swc1 $f10, 0xcc($a0) -/* 0A09EC 8009FDEC 8CA40000 */ lw $a0, ($a1) -/* 0A09F0 8009FDF0 00000000 */ nop -/* 0A09F4 8009FDF4 C484020C */ lwc1 $f4, 0x20c($a0) -/* 0A09F8 8009FDF8 00000000 */ nop -/* 0A09FC 8009FDFC 46142180 */ add.s $f6, $f4, $f20 -/* 0A0A00 8009FE00 E486020C */ swc1 $f6, 0x20c($a0) -.L8009FE04: -/* 0A0A04 8009FE04 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 -/* 0A0A08 8009FE08 8F180300 */ lw $t8, %lo(osTvType)($t8) -/* 0A0A0C 8009FE0C 00000000 */ nop -/* 0A0A10 8009FE10 17000053 */ bnez $t8, .L8009FF60 -/* 0A0A14 8009FE14 00000000 */ nop -/* 0A0A18 8009FE18 8CA40000 */ lw $a0, ($a1) -/* 0A0A1C 8009FE1C 00001825 */ move $v1, $zero -/* 0A0A20 8009FE20 00831021 */ addu $v0, $a0, $v1 -.L8009FE24: -/* 0A0A24 8009FE24 C4480010 */ lwc1 $f8, 0x10($v0) -/* 0A0A28 8009FE28 00000000 */ nop -/* 0A0A2C 8009FE2C 460042A1 */ cvt.d.s $f10, $f8 -/* 0A0A30 8009FE30 462C5102 */ mul.d $f4, $f10, $f12 -/* 0A0A34 8009FE34 462021A0 */ cvt.s.d $f6, $f4 -/* 0A0A38 8009FE38 E4460010 */ swc1 $f6, 0x10($v0) -/* 0A0A3C 8009FE3C 8CAE0000 */ lw $t6, ($a1) -/* 0A0A40 8009FE40 00000000 */ nop -/* 0A0A44 8009FE44 01C31021 */ addu $v0, $t6, $v1 -/* 0A0A48 8009FE48 C448000C */ lwc1 $f8, 0xc($v0) -/* 0A0A4C 8009FE4C 00000000 */ nop -/* 0A0A50 8009FE50 46124281 */ sub.s $f10, $f8, $f18 -/* 0A0A54 8009FE54 E44A000C */ swc1 $f10, 0xc($v0) -/* 0A0A58 8009FE58 8CA40000 */ lw $a0, ($a1) -/* 0A0A5C 8009FE5C 8D390000 */ lw $t9, ($t1) -/* 0A0A60 8009FE60 00831021 */ addu $v0, $a0, $v1 -/* 0A0A64 8009FE64 844F0006 */ lh $t7, 6($v0) -/* 0A0A68 8009FE68 24630020 */ addiu $v1, $v1, 0x20 -/* 0A0A6C 8009FE6C 000FC040 */ sll $t8, $t7, 1 -/* 0A0A70 8009FE70 03387021 */ addu $t6, $t9, $t8 -/* 0A0A74 8009FE74 85CF0000 */ lh $t7, ($t6) -/* 0A0A78 8009FE78 28610760 */ slti $at, $v1, 0x760 -/* 0A0A7C 8009FE7C 31F9C000 */ andi $t9, $t7, 0xc000 -/* 0A0A80 8009FE80 15190007 */ bne $t0, $t9, .L8009FEA0 -/* 0A0A84 8009FE84 00000000 */ nop -/* 0A0A88 8009FE88 C4440010 */ lwc1 $f4, 0x10($v0) -/* 0A0A8C 8009FE8C 00000000 */ nop -/* 0A0A90 8009FE90 46022181 */ sub.s $f6, $f4, $f2 -/* 0A0A94 8009FE94 E4460010 */ swc1 $f6, 0x10($v0) -/* 0A0A98 8009FE98 8CA40000 */ lw $a0, ($a1) -/* 0A0A9C 8009FE9C 00000000 */ nop -.L8009FEA0: -/* 0A0AA0 8009FEA0 1420FFE0 */ bnez $at, .L8009FE24 -/* 0A0AA4 8009FEA4 00831021 */ addu $v0, $a0, $v1 -/* 0A0AA8 8009FEA8 248204E0 */ addiu $v0, $a0, 0x4e0 -/* 0A0AAC 8009FEAC C4480010 */ lwc1 $f8, 0x10($v0) -/* 0A0AB0 8009FEB0 2406002A */ li $a2, 42 -/* 0A0AB4 8009FEB4 46024280 */ add.s $f10, $f8, $f2 -/* 0A0AB8 8009FEB8 00061940 */ sll $v1, $a2, 5 -/* 0A0ABC 8009FEBC E44A0010 */ swc1 $f10, 0x10($v0) -/* 0A0AC0 8009FEC0 8CA20000 */ lw $v0, ($a1) -/* 0A0AC4 8009FEC4 00000000 */ nop -/* 0A0AC8 8009FEC8 C4440510 */ lwc1 $f4, 0x510($v0) -/* 0A0ACC 8009FECC 244204E0 */ addiu $v0, $v0, 0x4e0 -/* 0A0AD0 8009FED0 46022180 */ add.s $f6, $f4, $f2 -/* 0A0AD4 8009FED4 E4460030 */ swc1 $f6, 0x30($v0) -/* 0A0AD8 8009FED8 8CA20000 */ lw $v0, ($a1) -/* 0A0ADC 8009FEDC 00000000 */ nop -/* 0A0AE0 8009FEE0 C4480530 */ lwc1 $f8, 0x530($v0) -/* 0A0AE4 8009FEE4 244204E0 */ addiu $v0, $v0, 0x4e0 -/* 0A0AE8 8009FEE8 46024280 */ add.s $f10, $f8, $f2 -/* 0A0AEC 8009FEEC E44A0050 */ swc1 $f10, 0x50($v0) -/* 0A0AF0 8009FEF0 8CB80000 */ lw $t8, ($a1) -/* 0A0AF4 8009FEF4 00000000 */ nop -/* 0A0AF8 8009FEF8 03031021 */ addu $v0, $t8, $v1 -/* 0A0AFC 8009FEFC C4440010 */ lwc1 $f4, 0x10($v0) -/* 0A0B00 8009FF00 00000000 */ nop -/* 0A0B04 8009FF04 46022180 */ add.s $f6, $f4, $f2 -/* 0A0B08 8009FF08 E4460010 */ swc1 $f6, 0x10($v0) -/* 0A0B0C 8009FF0C 8CAE0000 */ lw $t6, ($a1) -/* 0A0B10 8009FF10 00000000 */ nop -/* 0A0B14 8009FF14 01C31021 */ addu $v0, $t6, $v1 -/* 0A0B18 8009FF18 C4480030 */ lwc1 $f8, 0x30($v0) -/* 0A0B1C 8009FF1C 00000000 */ nop -/* 0A0B20 8009FF20 46024280 */ add.s $f10, $f8, $f2 -/* 0A0B24 8009FF24 E44A0030 */ swc1 $f10, 0x30($v0) -/* 0A0B28 8009FF28 8CAF0000 */ lw $t7, ($a1) -/* 0A0B2C 8009FF2C 00000000 */ nop -/* 0A0B30 8009FF30 01E31021 */ addu $v0, $t7, $v1 -/* 0A0B34 8009FF34 C4440050 */ lwc1 $f4, 0x50($v0) -/* 0A0B38 8009FF38 00000000 */ nop -/* 0A0B3C 8009FF3C 46022180 */ add.s $f6, $f4, $f2 -/* 0A0B40 8009FF40 E4460050 */ swc1 $f6, 0x50($v0) -/* 0A0B44 8009FF44 8CB90000 */ lw $t9, ($a1) -/* 0A0B48 8009FF48 00000000 */ nop -/* 0A0B4C 8009FF4C 03231021 */ addu $v0, $t9, $v1 -/* 0A0B50 8009FF50 C4480070 */ lwc1 $f8, 0x70($v0) -/* 0A0B54 8009FF54 00000000 */ nop -/* 0A0B58 8009FF58 46024280 */ add.s $f10, $f8, $f2 -/* 0A0B5C 8009FF5C E44A0070 */ swc1 $f10, 0x70($v0) -.L8009FF60: -/* 0A0B60 8009FF60 8CB80000 */ lw $t8, ($a1) -/* 0A0B64 8009FF64 24E70001 */ addiu $a3, $a3, 1 -/* 0A0B68 8009FF68 E7160268 */ swc1 $f22, 0x268($t8) -/* 0A0B6C 8009FF6C 8CAE0000 */ lw $t6, ($a1) -/* 0A0B70 8009FF70 00000000 */ nop -/* 0A0B74 8009FF74 A5DF0286 */ sh $ra, 0x286($t6) -/* 0A0B78 8009FF78 8CAF0000 */ lw $t7, ($a1) -/* 0A0B7C 8009FF7C 00000000 */ nop -/* 0A0B80 8009FF80 A5ED02A6 */ sh $t5, 0x2a6($t7) -/* 0A0B84 8009FF84 8CB90000 */ lw $t9, ($a1) -/* 0A0B88 8009FF88 00000000 */ nop -/* 0A0B8C 8009FF8C A72D02C6 */ sh $t5, 0x2c6($t9) -/* 0A0B90 8009FF90 8FB8006C */ lw $t8, 0x6c($sp) -/* 0A0B94 8009FF94 8FAF008C */ lw $t7, 0x8c($sp) -/* 0A0B98 8009FF98 270E0004 */ addiu $t6, $t8, 4 -/* 0A0B9C 8009FF9C 14EFFCCE */ bne $a3, $t7, .L8009F2D8 -/* 0A0BA0 8009FFA0 AFAE006C */ sw $t6, 0x6c($sp) -.L8009FFA4: -/* 0A0BA4 8009FFA4 0C01AF66 */ jal get_current_level_race_type -/* 0A0BA8 8009FFA8 00000000 */ nop -/* 0A0BAC 8009FFAC 30590040 */ andi $t9, $v0, 0x40 -/* 0A0BB0 8009FFB0 13200008 */ beqz $t9, .L8009FFD4 -/* 0A0BB4 8009FFB4 3C02800E */ lui $v0, %hi(gHudToggleSettings) # $v0, 0x800e -/* 0A0BB8 8009FFB8 3C02800E */ lui $v0, %hi(gHudToggleSettings) # $v0, 0x800e -/* 0A0BBC 8009FFBC 244227A4 */ addiu $v0, %lo(gHudToggleSettings) # addiu $v0, $v0, 0x27a4 -/* 0A0BC0 8009FFC0 80580001 */ lb $t8, 1($v0) -/* 0A0BC4 8009FFC4 3C01800E */ lui $at, %hi(gPrevToggleSetting) # $at, 0x800e -/* 0A0BC8 8009FFC8 A03827A8 */ sb $t8, %lo(gPrevToggleSetting)($at) -/* 0A0BCC 8009FFCC 10000005 */ b .L8009FFE4 -/* 0A0BD0 8009FFD0 A0400001 */ sb $zero, 1($v0) -.L8009FFD4: -/* 0A0BD4 8009FFD4 3C0E800E */ lui $t6, %hi(gPrevToggleSetting) # $t6, 0x800e -/* 0A0BD8 8009FFD8 81CE27A8 */ lb $t6, %lo(gPrevToggleSetting)($t6) -/* 0A0BDC 8009FFDC 244227A4 */ addiu $v0, %lo(gHudToggleSettings) # addiu $v0, $v0, 0x27a4 -/* 0A0BE0 8009FFE0 A04E0001 */ sb $t6, 1($v0) -.L8009FFE4: -/* 0A0BE4 8009FFE4 8FBF0064 */ lw $ra, 0x64($sp) -/* 0A0BE8 8009FFE8 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 0A0BEC 8009FFEC C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 0A0BF0 8009FFF0 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 0A0BF4 8009FFF4 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 0A0BF8 8009FFF8 C7B90028 */ lwc1 $f25, 0x28($sp) -/* 0A0BFC 8009FFFC C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 0A0C00 800A0000 C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 0A0C04 800A0004 C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 0A0C08 800A0008 C7BD0038 */ lwc1 $f29, 0x38($sp) -/* 0A0C0C 800A000C C7BC003C */ lwc1 $f28, 0x3c($sp) -/* 0A0C10 800A0010 8FB00040 */ lw $s0, 0x40($sp) -/* 0A0C14 800A0014 8FB10044 */ lw $s1, 0x44($sp) -/* 0A0C18 800A0018 8FB20048 */ lw $s2, 0x48($sp) -/* 0A0C1C 800A001C 8FB3004C */ lw $s3, 0x4c($sp) -/* 0A0C20 800A0020 8FB40050 */ lw $s4, 0x50($sp) -/* 0A0C24 800A0024 8FB50054 */ lw $s5, 0x54($sp) -/* 0A0C28 800A0028 8FB60058 */ lw $s6, 0x58($sp) -/* 0A0C2C 800A002C 8FB7005C */ lw $s7, 0x5c($sp) -/* 0A0C30 800A0030 8FBE0060 */ lw $fp, 0x60($sp) -/* 0A0C34 800A0034 03E00008 */ jr $ra -/* 0A0C38 800A0038 27BD0098 */ addiu $sp, $sp, 0x98 - diff --git a/asm/non_matchings/game_ui/func_800A1E48.s b/asm/non_matchings/game_ui/func_800A1E48.s deleted file mode 100644 index 6f58a392..00000000 --- a/asm/non_matchings/game_ui/func_800A1E48.s +++ /dev/null @@ -1,315 +0,0 @@ -.late_rodata -glabel D_800E8730 -.double 66.0 - -.text -glabel func_800A1E48 -/* 0A2A48 800A1E48 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 0A2A4C 800A1E4C AFB00020 */ sw $s0, 0x20($sp) -/* 0A2A50 800A1E50 00808025 */ move $s0, $a0 -/* 0A2A54 800A1E54 AFBF0044 */ sw $ra, 0x44($sp) -/* 0A2A58 800A1E58 AFBE0040 */ sw $fp, 0x40($sp) -/* 0A2A5C 800A1E5C AFB7003C */ sw $s7, 0x3c($sp) -/* 0A2A60 800A1E60 AFB60038 */ sw $s6, 0x38($sp) -/* 0A2A64 800A1E64 AFB50034 */ sw $s5, 0x34($sp) -/* 0A2A68 800A1E68 AFB40030 */ sw $s4, 0x30($sp) -/* 0A2A6C 800A1E6C AFB3002C */ sw $s3, 0x2c($sp) -/* 0A2A70 800A1E70 AFB20028 */ sw $s2, 0x28($sp) -/* 0A2A74 800A1E74 AFB10024 */ sw $s1, 0x24($sp) -/* 0A2A78 800A1E78 E7B50018 */ swc1 $f21, 0x18($sp) -/* 0A2A7C 800A1E7C E7B4001C */ swc1 $f20, 0x1c($sp) -/* 0A2A80 800A1E80 AFA5008C */ sw $a1, 0x8c($sp) -/* 0A2A84 800A1E84 0C006E9D */ jal get_racer_objects -/* 0A2A88 800A1E88 27A40078 */ addiu $a0, $sp, 0x78 -/* 0A2A8C 800A1E8C 12000004 */ beqz $s0, .L800A1EA0 -/* 0A2A90 800A1E90 0040A825 */ move $s5, $v0 -/* 0A2A94 800A1E94 8E070064 */ lw $a3, 0x64($s0) -/* 0A2A98 800A1E98 10000006 */ b .L800A1EB4 -/* 0A2A9C 800A1E9C 24040001 */ li $a0, 1 -.L800A1EA0: -/* 0A2AA0 800A1EA0 8C4E0000 */ lw $t6, ($v0) -/* 0A2AA4 800A1EA4 00000000 */ nop -/* 0A2AA8 800A1EA8 8DC70064 */ lw $a3, 0x64($t6) -/* 0A2AAC 800A1EAC 00000000 */ nop -/* 0A2AB0 800A1EB0 24040001 */ li $a0, 1 -.L800A1EB4: -/* 0A2AB4 800A1EB4 0C01A142 */ jal sprite_anim_off -/* 0A2AB8 800A1EB8 AFA7007C */ sw $a3, 0x7c($sp) -/* 0A2ABC 800A1EBC 8FAF0078 */ lw $t7, 0x78($sp) -/* 0A2AC0 800A1EC0 8FA7007C */ lw $a3, 0x7c($sp) -/* 0A2AC4 800A1EC4 24010004 */ li $at, 4 -/* 0A2AC8 800A1EC8 15E100FA */ bne $t7, $at, .L800A22B4 -/* 0A2ACC 800A1ECC 3C108012 */ lui $s0, %hi(gCurrentHud) # $s0, 0x8012 -/* 0A2AD0 800A1ED0 4458F800 */ cfc1 $t8, $31 -/* 0A2AD4 800A1ED4 26106CDC */ addiu $s0, %lo(gCurrentHud) # addiu $s0, $s0, 0x6cdc -/* 0A2AD8 800A1ED8 8E020000 */ lw $v0, ($s0) -/* 0A2ADC 800A1EDC 37010003 */ ori $at, $t8, 3 -/* 0A2AE0 800A1EE0 38210002 */ xori $at, $at, 2 -/* 0A2AE4 800A1EE4 44C1F800 */ ctc1 $at, $31 -/* 0A2AE8 800A1EE8 C444064C */ lwc1 $f4, 0x64c($v0) -/* 0A2AEC 800A1EEC C4480650 */ lwc1 $f8, 0x650($v0) -/* 0A2AF0 800A1EF0 460021A4 */ cvt.w.s $f6, $f4 -/* 0A2AF4 800A1EF4 02A09825 */ move $s3, $s5 -/* 0A2AF8 800A1EF8 44D8F800 */ ctc1 $t8, $31 -/* 0A2AFC 800A1EFC 44143000 */ mfc1 $s4, $f6 -/* 0A2B00 800A1F00 3C158012 */ lui $s5, %hi(gNumActivePlayers) # $s5, 0x8012 -/* 0A2B04 800A1F04 4459F800 */ cfc1 $t9, $31 -/* 0A2B08 800A1F08 00008825 */ move $s1, $zero -/* 0A2B0C 800A1F0C 37210003 */ ori $at, $t9, 3 -/* 0A2B10 800A1F10 38210002 */ xori $at, $at, 2 -/* 0A2B14 800A1F14 44C1F800 */ ctc1 $at, $31 -/* 0A2B18 800A1F18 3C01800F */ lui $at, %hi(D_800E8730 + 4) # $at, 0x800f -/* 0A2B1C 800A1F1C 460042A4 */ cvt.w.s $f10, $f8 -/* 0A2B20 800A1F20 C4358730 */ lwc1 $f21, %lo(D_800E8730)($at) -/* 0A2B24 800A1F24 44D9F800 */ ctc1 $t9, $31 -/* 0A2B28 800A1F28 44085000 */ mfc1 $t0, $f10 -/* 0A2B2C 800A1F2C C4348734 */ lwc1 $f20, %lo(D_800E8730 + 4)($at) -/* 0A2B30 800A1F30 26B56D37 */ addiu $s5, %lo(gNumActivePlayers) # addiu $s5, $s5, 0x6d37 -/* 0A2B34 800A1F34 00009025 */ move $s2, $zero -/* 0A2B38 800A1F38 241E0002 */ li $fp, 2 -/* 0A2B3C 800A1F3C 24170010 */ li $s7, 16 -/* 0A2B40 800A1F40 24160001 */ li $s6, 1 -/* 0A2B44 800A1F44 AFB40070 */ sw $s4, 0x70($sp) -.L800A1F48: -/* 0A2B48 800A1F48 44948000 */ mtc1 $s4, $f16 -/* 0A2B4C 800A1F4C 8E020000 */ lw $v0, ($s0) -/* 0A2B50 800A1F50 468084A0 */ cvt.s.w $f18, $f16 -/* 0A2B54 800A1F54 C44C064C */ lwc1 $f12, 0x64c($v0) -/* 0A2B58 800A1F58 02285821 */ addu $t3, $s1, $t0 -/* 0A2B5C 800A1F5C 460C9101 */ sub.s $f4, $f18, $f12 -/* 0A2B60 800A1F60 448B4000 */ mtc1 $t3, $f8 -/* 0A2B64 800A1F64 444AF800 */ cfc1 $t2, $31 -/* 0A2B68 800A1F68 C4500650 */ lwc1 $f16, 0x650($v0) -/* 0A2B6C 800A1F6C 35410003 */ ori $at, $t2, 3 -/* 0A2B70 800A1F70 38210002 */ xori $at, $at, 2 -/* 0A2B74 800A1F74 44C1F800 */ ctc1 $at, $31 -/* 0A2B78 800A1F78 8E690000 */ lw $t1, ($s3) -/* 0A2B7C 800A1F7C 460021A4 */ cvt.w.s $f6, $f4 -/* 0A2B80 800A1F80 8D240064 */ lw $a0, 0x64($t1) -/* 0A2B84 800A1F84 44CAF800 */ ctc1 $t2, $31 -/* 0A2B88 800A1F88 44053000 */ mfc1 $a1, $f6 -/* 0A2B8C 800A1F8C 468042A0 */ cvt.s.w $f10, $f8 -/* 0A2B90 800A1F90 44853000 */ mtc1 $a1, $f6 -/* 0A2B94 800A1F94 46105481 */ sub.s $f18, $f10, $f16 -/* 0A2B98 800A1F98 444CF800 */ cfc1 $t4, $31 -/* 0A2B9C 800A1F9C 00000000 */ nop -/* 0A2BA0 800A1FA0 35810003 */ ori $at, $t4, 3 -/* 0A2BA4 800A1FA4 38210002 */ xori $at, $at, 2 -/* 0A2BA8 800A1FA8 44C1F800 */ ctc1 $at, $31 -/* 0A2BAC 800A1FAC 00000000 */ nop -/* 0A2BB0 800A1FB0 46009124 */ cvt.w.s $f4, $f18 -/* 0A2BB4 800A1FB4 44CCF800 */ ctc1 $t4, $31 -/* 0A2BB8 800A1FB8 44062000 */ mfc1 $a2, $f4 -/* 0A2BBC 800A1FBC 46803020 */ cvt.s.w $f0, $f6 -/* 0A2BC0 800A1FC0 44865000 */ mtc1 $a2, $f10 -/* 0A2BC4 800A1FC4 46006200 */ add.s $f8, $f12, $f0 -/* 0A2BC8 800A1FC8 E448064C */ swc1 $f8, 0x64c($v0) -/* 0A2BCC 800A1FCC 8E020000 */ lw $v0, ($s0) -/* 0A2BD0 800A1FD0 468050A0 */ cvt.s.w $f2, $f10 -/* 0A2BD4 800A1FD4 C4500650 */ lwc1 $f16, 0x650($v0) -/* 0A2BD8 800A1FD8 00000000 */ nop -/* 0A2BDC 800A1FDC 46028480 */ add.s $f18, $f16, $f2 -/* 0A2BE0 800A1FE0 E4520650 */ swc1 $f18, 0x650($v0) -/* 0A2BE4 800A1FE4 8E020000 */ lw $v0, ($s0) -/* 0A2BE8 800A1FE8 00000000 */ nop -/* 0A2BEC 800A1FEC C444068C */ lwc1 $f4, 0x68c($v0) -/* 0A2BF0 800A1FF0 00000000 */ nop -/* 0A2BF4 800A1FF4 46002180 */ add.s $f6, $f4, $f0 -/* 0A2BF8 800A1FF8 E446068C */ swc1 $f6, 0x68c($v0) -/* 0A2BFC 800A1FFC 8E020000 */ lw $v0, ($s0) -/* 0A2C00 800A2000 00000000 */ nop -/* 0A2C04 800A2004 C4480690 */ lwc1 $f8, 0x690($v0) -/* 0A2C08 800A2008 00000000 */ nop -/* 0A2C0C 800A200C 46024281 */ sub.s $f10, $f8, $f2 -/* 0A2C10 800A2010 E44A0690 */ swc1 $f10, 0x690($v0) -/* 0A2C14 800A2014 8E020000 */ lw $v0, ($s0) -/* 0A2C18 800A2018 00000000 */ nop -/* 0A2C1C 800A201C C45006AC */ lwc1 $f16, 0x6ac($v0) -/* 0A2C20 800A2020 00000000 */ nop -/* 0A2C24 800A2024 46008480 */ add.s $f18, $f16, $f0 -/* 0A2C28 800A2028 E45206AC */ swc1 $f18, 0x6ac($v0) -/* 0A2C2C 800A202C 8E020000 */ lw $v0, ($s0) -/* 0A2C30 800A2030 00000000 */ nop -/* 0A2C34 800A2034 C44406B0 */ lwc1 $f4, 0x6b0($v0) -/* 0A2C38 800A2038 00000000 */ nop -/* 0A2C3C 800A203C 46022180 */ add.s $f6, $f4, $f2 -/* 0A2C40 800A2040 E44606B0 */ swc1 $f6, 0x6b0($v0) -/* 0A2C44 800A2044 8E020000 */ lw $v0, ($s0) -/* 0A2C48 800A2048 00000000 */ nop -/* 0A2C4C 800A204C C44806CC */ lwc1 $f8, 0x6cc($v0) -/* 0A2C50 800A2050 00000000 */ nop -/* 0A2C54 800A2054 46004280 */ add.s $f10, $f8, $f0 -/* 0A2C58 800A2058 E44A06CC */ swc1 $f10, 0x6cc($v0) -/* 0A2C5C 800A205C 8E020000 */ lw $v0, ($s0) -/* 0A2C60 800A2060 00000000 */ nop -/* 0A2C64 800A2064 C45006D0 */ lwc1 $f16, 0x6d0($v0) -/* 0A2C68 800A2068 00000000 */ nop -/* 0A2C6C 800A206C 46028480 */ add.s $f18, $f16, $f2 -/* 0A2C70 800A2070 E45206D0 */ swc1 $f18, 0x6d0($v0) -/* 0A2C74 800A2074 8E020000 */ lw $v0, ($s0) -/* 0A2C78 800A2078 00000000 */ nop -/* 0A2C7C 800A207C C44406EC */ lwc1 $f4, 0x6ec($v0) -/* 0A2C80 800A2080 00000000 */ nop -/* 0A2C84 800A2084 46002180 */ add.s $f6, $f4, $f0 -/* 0A2C88 800A2088 E44606EC */ swc1 $f6, 0x6ec($v0) -/* 0A2C8C 800A208C 8E020000 */ lw $v0, ($s0) -/* 0A2C90 800A2090 00000000 */ nop -/* 0A2C94 800A2094 C44806F0 */ lwc1 $f8, 0x6f0($v0) -/* 0A2C98 800A2098 00000000 */ nop -/* 0A2C9C 800A209C 46024280 */ add.s $f10, $f8, $f2 -/* 0A2CA0 800A20A0 E44A06F0 */ swc1 $f10, 0x6f0($v0) -/* 0A2CA4 800A20A4 92A30000 */ lbu $v1, ($s5) -/* 0A2CA8 800A20A8 8FA5008C */ lw $a1, 0x8c($sp) -/* 0A2CAC 800A20AC 28610003 */ slti $at, $v1, 3 -/* 0A2CB0 800A20B0 14200006 */ bnez $at, .L800A20CC -/* 0A2CB4 800A20B4 00000000 */ nop -/* 0A2CB8 800A20B8 848D0000 */ lh $t5, ($a0) -/* 0A2CBC 800A20BC 84EE0000 */ lh $t6, ($a3) -/* 0A2CC0 800A20C0 00000000 */ nop -/* 0A2CC4 800A20C4 15AE0008 */ bne $t5, $t6, .L800A20E8 -/* 0A2CC8 800A20C8 00000000 */ nop -.L800A20CC: -/* 0A2CCC 800A20CC AFA7007C */ sw $a3, 0x7c($sp) -/* 0A2CD0 800A20D0 0C0288BD */ jal hud_draw_lives -/* 0A2CD4 800A20D4 AFA8006C */ sw $t0, 0x6c($sp) -/* 0A2CD8 800A20D8 8FA7007C */ lw $a3, 0x7c($sp) -/* 0A2CDC 800A20DC 8FA8006C */ lw $t0, 0x6c($sp) -/* 0A2CE0 800A20E0 92A30000 */ lbu $v1, ($s5) -/* 0A2CE4 800A20E4 00000000 */ nop -.L800A20E8: -/* 0A2CE8 800A20E8 16C30003 */ bne $s6, $v1, .L800A20F8 -/* 0A2CEC 800A20EC 26520004 */ addiu $s2, $s2, 4 -/* 0A2CF0 800A20F0 10000017 */ b .L800A2150 -/* 0A2CF4 800A20F4 26940044 */ addiu $s4, $s4, 0x44 -.L800A20F8: -/* 0A2CF8 800A20F8 17C30015 */ bne $fp, $v1, .L800A2150 -/* 0A2CFC 800A20FC 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -/* 0A2D00 800A2100 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -/* 0A2D04 800A2104 00000000 */ nop -/* 0A2D08 800A2108 15E00010 */ bnez $t7, .L800A214C -/* 0A2D0C 800A210C 00000000 */ nop -/* 0A2D10 800A2110 44918000 */ mtc1 $s1, $f16 -/* 0A2D14 800A2114 00000000 */ nop -/* 0A2D18 800A2118 468084A1 */ cvt.d.w $f18, $f16 -/* 0A2D1C 800A211C 46349100 */ add.d $f4, $f18, $f20 -/* 0A2D20 800A2120 4458F800 */ cfc1 $t8, $31 -/* 0A2D24 800A2124 00000000 */ nop -/* 0A2D28 800A2128 37010003 */ ori $at, $t8, 3 -/* 0A2D2C 800A212C 38210002 */ xori $at, $at, 2 -/* 0A2D30 800A2130 44C1F800 */ ctc1 $at, $31 -/* 0A2D34 800A2134 00000000 */ nop -/* 0A2D38 800A2138 462021A4 */ cvt.w.d $f6, $f4 -/* 0A2D3C 800A213C 44113000 */ mfc1 $s1, $f6 -/* 0A2D40 800A2140 44D8F800 */ ctc1 $t8, $31 -/* 0A2D44 800A2144 10000002 */ b .L800A2150 -/* 0A2D48 800A2148 00000000 */ nop -.L800A214C: -/* 0A2D4C 800A214C 26310037 */ addiu $s1, $s1, 0x37 -.L800A2150: -/* 0A2D50 800A2150 1657FF7D */ bne $s2, $s7, .L800A1F48 -/* 0A2D54 800A2154 26730004 */ addiu $s3, $s3, 4 -/* 0A2D58 800A2158 8FB90070 */ lw $t9, 0x70($sp) -/* 0A2D5C 800A215C 8E020000 */ lw $v0, ($s0) -/* 0A2D60 800A2160 44994000 */ mtc1 $t9, $f8 -/* 0A2D64 800A2164 C44C064C */ lwc1 $f12, 0x64c($v0) -/* 0A2D68 800A2168 468042A0 */ cvt.s.w $f10, $f8 -/* 0A2D6C 800A216C 44882000 */ mtc1 $t0, $f4 -/* 0A2D70 800A2170 C4480650 */ lwc1 $f8, 0x650($v0) -/* 0A2D74 800A2174 460C5401 */ sub.s $f16, $f10, $f12 -/* 0A2D78 800A2178 4449F800 */ cfc1 $t1, $31 -/* 0A2D7C 800A217C 00000000 */ nop -/* 0A2D80 800A2180 35210003 */ ori $at, $t1, 3 -/* 0A2D84 800A2184 38210002 */ xori $at, $at, 2 -/* 0A2D88 800A2188 44C1F800 */ ctc1 $at, $31 -/* 0A2D8C 800A218C 00000000 */ nop -/* 0A2D90 800A2190 460084A4 */ cvt.w.s $f18, $f16 -/* 0A2D94 800A2194 44C9F800 */ ctc1 $t1, $31 -/* 0A2D98 800A2198 44059000 */ mfc1 $a1, $f18 -/* 0A2D9C 800A219C 468021A0 */ cvt.s.w $f6, $f4 -/* 0A2DA0 800A21A0 44859000 */ mtc1 $a1, $f18 -/* 0A2DA4 800A21A4 46083281 */ sub.s $f10, $f6, $f8 -/* 0A2DA8 800A21A8 444AF800 */ cfc1 $t2, $31 -/* 0A2DAC 800A21AC 00000000 */ nop -/* 0A2DB0 800A21B0 35410003 */ ori $at, $t2, 3 -/* 0A2DB4 800A21B4 38210002 */ xori $at, $at, 2 -/* 0A2DB8 800A21B8 44C1F800 */ ctc1 $at, $31 -/* 0A2DBC 800A21BC 00000000 */ nop -/* 0A2DC0 800A21C0 46005424 */ cvt.w.s $f16, $f10 -/* 0A2DC4 800A21C4 44CAF800 */ ctc1 $t2, $31 -/* 0A2DC8 800A21C8 44068000 */ mfc1 $a2, $f16 -/* 0A2DCC 800A21CC 46809020 */ cvt.s.w $f0, $f18 -/* 0A2DD0 800A21D0 44863000 */ mtc1 $a2, $f6 -/* 0A2DD4 800A21D4 46006100 */ add.s $f4, $f12, $f0 -/* 0A2DD8 800A21D8 E444064C */ swc1 $f4, 0x64c($v0) -/* 0A2DDC 800A21DC 8E020000 */ lw $v0, ($s0) -/* 0A2DE0 800A21E0 468030A0 */ cvt.s.w $f2, $f6 -/* 0A2DE4 800A21E4 C4480650 */ lwc1 $f8, 0x650($v0) -/* 0A2DE8 800A21E8 00000000 */ nop -/* 0A2DEC 800A21EC 46024280 */ add.s $f10, $f8, $f2 -/* 0A2DF0 800A21F0 E44A0650 */ swc1 $f10, 0x650($v0) -/* 0A2DF4 800A21F4 8E020000 */ lw $v0, ($s0) -/* 0A2DF8 800A21F8 00000000 */ nop -/* 0A2DFC 800A21FC C450068C */ lwc1 $f16, 0x68c($v0) -/* 0A2E00 800A2200 00000000 */ nop -/* 0A2E04 800A2204 46008480 */ add.s $f18, $f16, $f0 -/* 0A2E08 800A2208 E452068C */ swc1 $f18, 0x68c($v0) -/* 0A2E0C 800A220C 8E020000 */ lw $v0, ($s0) -/* 0A2E10 800A2210 00000000 */ nop -/* 0A2E14 800A2214 C4440690 */ lwc1 $f4, 0x690($v0) -/* 0A2E18 800A2218 00000000 */ nop -/* 0A2E1C 800A221C 46022181 */ sub.s $f6, $f4, $f2 -/* 0A2E20 800A2220 E4460690 */ swc1 $f6, 0x690($v0) -/* 0A2E24 800A2224 8E020000 */ lw $v0, ($s0) -/* 0A2E28 800A2228 00000000 */ nop -/* 0A2E2C 800A222C C44806AC */ lwc1 $f8, 0x6ac($v0) -/* 0A2E30 800A2230 00000000 */ nop -/* 0A2E34 800A2234 46004280 */ add.s $f10, $f8, $f0 -/* 0A2E38 800A2238 E44A06AC */ swc1 $f10, 0x6ac($v0) -/* 0A2E3C 800A223C 8E020000 */ lw $v0, ($s0) -/* 0A2E40 800A2240 00000000 */ nop -/* 0A2E44 800A2244 C45006B0 */ lwc1 $f16, 0x6b0($v0) -/* 0A2E48 800A2248 00000000 */ nop -/* 0A2E4C 800A224C 46028480 */ add.s $f18, $f16, $f2 -/* 0A2E50 800A2250 E45206B0 */ swc1 $f18, 0x6b0($v0) -/* 0A2E54 800A2254 8E020000 */ lw $v0, ($s0) -/* 0A2E58 800A2258 00000000 */ nop -/* 0A2E5C 800A225C C44406CC */ lwc1 $f4, 0x6cc($v0) -/* 0A2E60 800A2260 00000000 */ nop -/* 0A2E64 800A2264 46002180 */ add.s $f6, $f4, $f0 -/* 0A2E68 800A2268 E44606CC */ swc1 $f6, 0x6cc($v0) -/* 0A2E6C 800A226C 8E020000 */ lw $v0, ($s0) -/* 0A2E70 800A2270 00000000 */ nop -/* 0A2E74 800A2274 C44806D0 */ lwc1 $f8, 0x6d0($v0) -/* 0A2E78 800A2278 00000000 */ nop -/* 0A2E7C 800A227C 46024280 */ add.s $f10, $f8, $f2 -/* 0A2E80 800A2280 E44A06D0 */ swc1 $f10, 0x6d0($v0) -/* 0A2E84 800A2284 8E020000 */ lw $v0, ($s0) -/* 0A2E88 800A2288 00000000 */ nop -/* 0A2E8C 800A228C C45006EC */ lwc1 $f16, 0x6ec($v0) -/* 0A2E90 800A2290 00000000 */ nop -/* 0A2E94 800A2294 46008480 */ add.s $f18, $f16, $f0 -/* 0A2E98 800A2298 E45206EC */ swc1 $f18, 0x6ec($v0) -/* 0A2E9C 800A229C 8E020000 */ lw $v0, ($s0) -/* 0A2EA0 800A22A0 00000000 */ nop -/* 0A2EA4 800A22A4 C44406F0 */ lwc1 $f4, 0x6f0($v0) -/* 0A2EA8 800A22A8 00000000 */ nop -/* 0A2EAC 800A22AC 46022180 */ add.s $f6, $f4, $f2 -/* 0A2EB0 800A22B0 E44606F0 */ swc1 $f6, 0x6f0($v0) -.L800A22B4: -/* 0A2EB4 800A22B4 0C01A142 */ jal sprite_anim_off -/* 0A2EB8 800A22B8 00002025 */ move $a0, $zero -/* 0A2EBC 800A22BC 8FBF0044 */ lw $ra, 0x44($sp) -/* 0A2EC0 800A22C0 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 0A2EC4 800A22C4 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 0A2EC8 800A22C8 8FB00020 */ lw $s0, 0x20($sp) -/* 0A2ECC 800A22CC 8FB10024 */ lw $s1, 0x24($sp) -/* 0A2ED0 800A22D0 8FB20028 */ lw $s2, 0x28($sp) -/* 0A2ED4 800A22D4 8FB3002C */ lw $s3, 0x2c($sp) -/* 0A2ED8 800A22D8 8FB40030 */ lw $s4, 0x30($sp) -/* 0A2EDC 800A22DC 8FB50034 */ lw $s5, 0x34($sp) -/* 0A2EE0 800A22E0 8FB60038 */ lw $s6, 0x38($sp) -/* 0A2EE4 800A22E4 8FB7003C */ lw $s7, 0x3c($sp) -/* 0A2EE8 800A22E8 8FBE0040 */ lw $fp, 0x40($sp) -/* 0A2EEC 800A22EC 03E00008 */ jr $ra -/* 0A2EF0 800A22F0 27BD0088 */ addiu $sp, $sp, 0x88 - diff --git a/asm/non_matchings/game_ui/func_800A277C.s b/asm/non_matchings/game_ui/func_800A277C.s deleted file mode 100644 index 8c538f89..00000000 --- a/asm/non_matchings/game_ui/func_800A277C.s +++ /dev/null @@ -1,1061 +0,0 @@ -.rdata -glabel D_800E8640 -.asciz "CAN'T" -.ascii "\0\0" # padding -glabel D_800E8648 -.asciz "SAVE" -.ascii "\0\0\0" # padding -glabel D_800E8650 -.asciz "GHOST" -.ascii "\0\0" # padding -glabel D_800E8658 -.asciz " CONTROLLER" -glabel D_800E8664 -.asciz "PAK" -glabel D_800E8668 -.asciz "FULL" -.ascii "\0\0\0" # padding -glabel D_800E8670 -.asciz " CONTROLLER" -glabel D_800E867C -.asciz "PAK" -glabel D_800E8680 -.asciz "DAMAGED" - -.late_rodata -glabel D_800E8738 -.double 1.2 - -.text -glabel func_800A277C -/* 0A337C 800A277C 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 0A3380 800A2780 AFB00020 */ sw $s0, 0x20($sp) -/* 0A3384 800A2784 3C108012 */ lui $s0, %hi(gAssetHudElements) # $s0, 0x8012 -/* 0A3388 800A2788 AFBF002C */ sw $ra, 0x2c($sp) -/* 0A338C 800A278C AFB20028 */ sw $s2, 0x28($sp) -/* 0A3390 800A2790 AFB10024 */ sw $s1, 0x24($sp) -/* 0A3394 800A2794 AFA400C0 */ sw $a0, 0xc0($sp) -/* 0A3398 800A2798 AFA500C4 */ sw $a1, 0xc4($sp) -/* 0A339C 800A279C AFA600C8 */ sw $a2, 0xc8($sp) -/* 0A33A0 800A27A0 8CAF0064 */ lw $t7, 0x64($a1) -/* 0A33A4 800A27A4 26106CF4 */ addiu $s0, %lo(gAssetHudElements) # addiu $s0, $s0, 0x6cf4 -/* 0A33A8 800A27A8 8E030000 */ lw $v1, ($s0) -/* 0A33AC 800A27AC AFAF00A0 */ sw $t7, 0xa0($sp) -/* 0A33B0 800A27B0 8C780050 */ lw $t8, 0x50($v1) -/* 0A33B4 800A27B4 00004825 */ move $t1, $zero -/* 0A33B8 800A27B8 1700001E */ bnez $t8, .L800A2834 -/* 0A33BC 800A27BC 3C198012 */ lui $t9, %hi(gAssetHudElementIds) # $t9, 0x8012 -/* 0A33C0 800A27C0 8F396CF0 */ lw $t9, %lo(gAssetHudElementIds)($t9) -/* 0A33C4 800A27C4 240C0008 */ li $t4, 8 -/* 0A33C8 800A27C8 872B0028 */ lh $t3, 0x28($t9) -/* 0A33CC 800A27CC A3AC0091 */ sb $t4, 0x91($sp) -/* 0A33D0 800A27D0 A7A00092 */ sh $zero, 0x92($sp) -/* 0A33D4 800A27D4 A7A00094 */ sh $zero, 0x94($sp) -/* 0A33D8 800A27D8 A7A00096 */ sh $zero, 0x96($sp) -/* 0A33DC 800A27DC AFA900A8 */ sw $t1, 0xa8($sp) -/* 0A33E0 800A27E0 27A40090 */ addiu $a0, $sp, 0x90 -/* 0A33E4 800A27E4 00002825 */ move $a1, $zero -/* 0A33E8 800A27E8 0C003A95 */ jal spawn_object -/* 0A33EC 800A27EC A3AB0090 */ sb $t3, 0x90($sp) -/* 0A33F0 800A27F0 8E0D0000 */ lw $t5, ($s0) -/* 0A33F4 800A27F4 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0A33F8 800A27F8 3C118012 */ lui $s1, %hi(gCurrentHud) # $s1, 0x8012 -/* 0A33FC 800A27FC 26316CDC */ addiu $s1, %lo(gCurrentHud) # addiu $s1, $s1, 0x6cdc -/* 0A3400 800A2800 ADA20050 */ sw $v0, 0x50($t5) -/* 0A3404 800A2804 8E2F0000 */ lw $t7, ($s1) -/* 0A3408 800A2808 240E8000 */ li $t6, -32768 -/* 0A340C 800A280C A5EE0340 */ sh $t6, 0x340($t7) -/* 0A3410 800A2810 8E030000 */ lw $v1, ($s0) -/* 0A3414 800A2814 00000000 */ nop -/* 0A3418 800A2818 8C640050 */ lw $a0, 0x50($v1) -/* 0A341C 800A281C 00000000 */ nop -/* 0A3420 800A2820 10800004 */ beqz $a0, .L800A2834 -/* 0A3424 800A2824 00000000 */ nop -/* 0A3428 800A2828 A4800018 */ sh $zero, 0x18($a0) -/* 0A342C 800A282C 8E030000 */ lw $v1, ($s0) -/* 0A3430 800A2830 00000000 */ nop -.L800A2834: -/* 0A3434 800A2834 8C780088 */ lw $t8, 0x88($v1) -/* 0A3438 800A2838 3C118012 */ lui $s1, %hi(gCurrentHud) # $s1, 0x8012 -/* 0A343C 800A283C 17000016 */ bnez $t8, .L800A2898 -/* 0A3440 800A2840 26316CDC */ addiu $s1, %lo(gCurrentHud) # addiu $s1, $s1, 0x6cdc -/* 0A3444 800A2844 3C198012 */ lui $t9, %hi(gAssetHudElementIds) # $t9, 0x8012 -/* 0A3448 800A2848 8F396CF0 */ lw $t9, %lo(gAssetHudElementIds)($t9) -/* 0A344C 800A284C 240C0008 */ li $t4, 8 -/* 0A3450 800A2850 872B0044 */ lh $t3, 0x44($t9) -/* 0A3454 800A2854 A3AC0089 */ sb $t4, 0x89($sp) -/* 0A3458 800A2858 A7A0008A */ sh $zero, 0x8a($sp) -/* 0A345C 800A285C A7A0008C */ sh $zero, 0x8c($sp) -/* 0A3460 800A2860 A7A0008E */ sh $zero, 0x8e($sp) -/* 0A3464 800A2864 AFA900A8 */ sw $t1, 0xa8($sp) -/* 0A3468 800A2868 27A40088 */ addiu $a0, $sp, 0x88 -/* 0A346C 800A286C 00002825 */ move $a1, $zero -/* 0A3470 800A2870 0C003A95 */ jal spawn_object -/* 0A3474 800A2874 A3AB0088 */ sb $t3, 0x88($sp) -/* 0A3478 800A2878 8E0D0000 */ lw $t5, ($s0) -/* 0A347C 800A287C 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0A3480 800A2880 ADA20088 */ sw $v0, 0x88($t5) -/* 0A3484 800A2884 8E2F0000 */ lw $t7, ($s1) -/* 0A3488 800A2888 240E8000 */ li $t6, -32768 -/* 0A348C 800A288C A5EE0440 */ sh $t6, 0x440($t7) -/* 0A3490 800A2890 8E030000 */ lw $v1, ($s0) -/* 0A3494 800A2894 00000000 */ nop -.L800A2898: -/* 0A3498 800A2898 8C700050 */ lw $s0, 0x50($v1) -/* 0A349C 800A289C 3C128012 */ lui $s2, %hi(gStopwatchFaceID) # $s2, 0x8012 -/* 0A34A0 800A28A0 12000384 */ beqz $s0, .L800A36B4 -/* 0A34A4 800A28A4 26526D67 */ addiu $s2, %lo(gStopwatchFaceID) # addiu $s2, $s2, 0x6d67 -/* 0A34A8 800A28A8 92580000 */ lbu $t8, ($s2) -/* 0A34AC 800A28AC 8E190068 */ lw $t9, 0x68($s0) -/* 0A34B0 800A28B0 A218003B */ sb $t8, 0x3b($s0) -/* 0A34B4 800A28B4 8F2A0000 */ lw $t2, ($t9) -/* 0A34B8 800A28B8 8FAB00C8 */ lw $t3, 0xc8($sp) -/* 0A34BC 800A28BC AFAA0098 */ sw $t2, 0x98($sp) -/* 0A34C0 800A28C0 8D4D0000 */ lw $t5, ($t2) -/* 0A34C4 800A28C4 240100FF */ li $at, 255 -/* 0A34C8 800A28C8 A5AB0052 */ sh $t3, 0x52($t5) -/* 0A34CC 800A28CC 92420000 */ lbu $v0, ($s2) -/* 0A34D0 800A28D0 00000000 */ nop -/* 0A34D4 800A28D4 104100A4 */ beq $v0, $at, .L800A2B68 -/* 0A34D8 800A28D8 24010004 */ li $at, 4 -/* 0A34DC 800A28DC 1441000D */ bne $v0, $at, .L800A2914 -/* 0A34E0 800A28E0 00000000 */ nop -/* 0A34E4 800A28E4 0C0044E7 */ jal get_race_countdown -/* 0A34E8 800A28E8 AFA900A8 */ sw $t1, 0xa8($sp) -/* 0A34EC 800A28EC 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0A34F0 800A28F0 14400006 */ bnez $v0, .L800A290C -/* 0A34F4 800A28F4 240E0010 */ li $t6, 16 -/* 0A34F8 800A28F8 0C000572 */ jal music_is_playing -/* 0A34FC 800A28FC AFA900A8 */ sw $t1, 0xa8($sp) -/* 0A3500 800A2900 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0A3504 800A2904 14400003 */ bnez $v0, .L800A2914 -/* 0A3508 800A2908 240E0010 */ li $t6, 16 -.L800A290C: -/* 0A350C 800A290C 10000091 */ b .L800A2B54 -/* 0A3510 800A2910 A60E0018 */ sh $t6, 0x18($s0) -.L800A2914: -/* 0A3514 800A2914 924F0000 */ lbu $t7, ($s2) -/* 0A3518 800A2918 24010004 */ li $at, 4 -/* 0A351C 800A291C 15E10042 */ bne $t7, $at, .L800A2A28 -/* 0A3520 800A2920 00000000 */ nop -/* 0A3524 800A2924 0C00057E */ jal music_animation_fraction -/* 0A3528 800A2928 AFA900A8 */ sw $t1, 0xa8($sp) -/* 0A352C 800A292C 8FB80098 */ lw $t8, 0x98($sp) -/* 0A3530 800A2930 924C0000 */ lbu $t4, ($s2) -/* 0A3534 800A2934 8F190000 */ lw $t9, ($t8) -/* 0A3538 800A2938 000C58C0 */ sll $t3, $t4, 3 -/* 0A353C 800A293C 8F2A0044 */ lw $t2, 0x44($t9) -/* 0A3540 800A2940 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 -/* 0A3544 800A2944 014B6821 */ addu $t5, $t2, $t3 -/* 0A3548 800A2948 8DA20004 */ lw $v0, 4($t5) -/* 0A354C 800A294C 44812800 */ mtc1 $at, $f5 -/* 0A3550 800A2950 44802000 */ mtc1 $zero, $f4 -/* 0A3554 800A2954 46000321 */ cvt.d.s $f12, $f0 -/* 0A3558 800A2958 462C2032 */ c.eq.d $f4, $f12 -/* 0A355C 800A295C 2442FFFF */ addiu $v0, $v0, -1 -/* 0A3560 800A2960 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0A3564 800A2964 00027100 */ sll $t6, $v0, 4 -/* 0A3568 800A2968 45000003 */ bc1f .L800A2978 -/* 0A356C 800A296C 01C01025 */ move $v0, $t6 -/* 0A3570 800A2970 10000078 */ b .L800A2B54 -/* 0A3574 800A2974 A6000018 */ sh $zero, 0x18($s0) -.L800A2978: -/* 0A3578 800A2978 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 0A357C 800A297C 44819800 */ mtc1 $at, $f19 -/* 0A3580 800A2980 44809000 */ mtc1 $zero, $f18 -/* 0A3584 800A2984 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0A3588 800A2988 462C903C */ c.lt.d $f18, $f12 -/* 0A358C 800A298C 00000000 */ nop -/* 0A3590 800A2990 45000015 */ bc1f .L800A29E8 -/* 0A3594 800A2994 00000000 */ nop -/* 0A3598 800A2998 46326181 */ sub.d $f6, $f12, $f18 -/* 0A359C 800A299C 44825000 */ mtc1 $v0, $f10 -/* 0A35A0 800A29A0 462033A0 */ cvt.s.d $f14, $f6 -/* 0A35A4 800A29A4 460070A1 */ cvt.d.s $f2, $f14 -/* 0A35A8 800A29A8 46221200 */ add.d $f8, $f2, $f2 -/* 0A35AC 800A29AC 46805420 */ cvt.s.w $f16, $f10 -/* 0A35B0 800A29B0 462043A0 */ cvt.s.d $f14, $f8 -/* 0A35B4 800A29B4 46107102 */ mul.s $f4, $f14, $f16 -/* 0A35B8 800A29B8 46048181 */ sub.s $f6, $f16, $f4 -/* 0A35BC 800A29BC 444FF800 */ cfc1 $t7, $31 -/* 0A35C0 800A29C0 00000000 */ nop -/* 0A35C4 800A29C4 35E10003 */ ori $at, $t7, 3 -/* 0A35C8 800A29C8 38210002 */ xori $at, $at, 2 -/* 0A35CC 800A29CC 44C1F800 */ ctc1 $at, $31 -/* 0A35D0 800A29D0 00000000 */ nop -/* 0A35D4 800A29D4 46003224 */ cvt.w.s $f8, $f6 -/* 0A35D8 800A29D8 44184000 */ mfc1 $t8, $f8 -/* 0A35DC 800A29DC 44CFF800 */ ctc1 $t7, $31 -/* 0A35E0 800A29E0 1000005C */ b .L800A2B54 -/* 0A35E4 800A29E4 A6180018 */ sh $t8, 0x18($s0) -.L800A29E8: -/* 0A35E8 800A29E8 44815000 */ mtc1 $at, $f10 -/* 0A35EC 800A29EC 44822000 */ mtc1 $v0, $f4 -/* 0A35F0 800A29F0 460A0382 */ mul.s $f14, $f0, $f10 -/* 0A35F4 800A29F4 468021A0 */ cvt.s.w $f6, $f4 -/* 0A35F8 800A29F8 460E3202 */ mul.s $f8, $f6, $f14 -/* 0A35FC 800A29FC 4459F800 */ cfc1 $t9, $31 -/* 0A3600 800A2A00 00000000 */ nop -/* 0A3604 800A2A04 37210003 */ ori $at, $t9, 3 -/* 0A3608 800A2A08 38210002 */ xori $at, $at, 2 -/* 0A360C 800A2A0C 44C1F800 */ ctc1 $at, $31 -/* 0A3610 800A2A10 00000000 */ nop -/* 0A3614 800A2A14 460042A4 */ cvt.w.s $f10, $f8 -/* 0A3618 800A2A18 440C5000 */ mfc1 $t4, $f10 -/* 0A361C 800A2A1C 44D9F800 */ ctc1 $t9, $31 -/* 0A3620 800A2A20 1000004C */ b .L800A2B54 -/* 0A3624 800A2A24 A60C0018 */ sh $t4, 0x18($s0) -.L800A2A28: -/* 0A3628 800A2A28 0C01BAA8 */ jal is_game_paused -/* 0A362C 800A2A2C AFA900A8 */ sw $t1, 0xa8($sp) -/* 0A3630 800A2A30 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0A3634 800A2A34 14400047 */ bnez $v0, .L800A2B54 -/* 0A3638 800A2A38 3C058012 */ lui $a1, %hi(D_80126D69) # $a1, 0x8012 -/* 0A363C 800A2A3C 24A56D69 */ addiu $a1, %lo(D_80126D69) # addiu $a1, $a1, 0x6d69 -/* 0A3640 800A2A40 80A20000 */ lb $v0, ($a1) -/* 0A3644 800A2A44 8FAC00C8 */ lw $t4, 0xc8($sp) -/* 0A3648 800A2A48 04410012 */ bgez $v0, .L800A2A94 -/* 0A364C 800A2A4C 00000000 */ nop -/* 0A3650 800A2A50 8FAA00C8 */ lw $t2, 0xc8($sp) -/* 0A3654 800A2A54 86040018 */ lh $a0, 0x18($s0) -/* 0A3658 800A2A58 01420019 */ multu $t2, $v0 -/* 0A365C 800A2A5C 240E0001 */ li $t6, 1 -/* 0A3660 800A2A60 00001812 */ mflo $v1 -/* 0A3664 800A2A64 00035823 */ negu $t3, $v1 -/* 0A3668 800A2A68 0164082A */ slt $at, $t3, $a0 -/* 0A366C 800A2A6C 10200003 */ beqz $at, .L800A2A7C -/* 0A3670 800A2A70 00836821 */ addu $t5, $a0, $v1 -/* 0A3674 800A2A74 10000037 */ b .L800A2B54 -/* 0A3678 800A2A78 A60D0018 */ sh $t5, 0x18($s0) -.L800A2A7C: -/* 0A367C 800A2A7C A60E0018 */ sh $t6, 0x18($s0) -/* 0A3680 800A2A80 80AF0000 */ lb $t7, ($a1) -/* 0A3684 800A2A84 00000000 */ nop -/* 0A3688 800A2A88 000FC023 */ negu $t8, $t7 -/* 0A368C 800A2A8C 10000031 */ b .L800A2B54 -/* 0A3690 800A2A90 A0B80000 */ sb $t8, ($a1) -.L800A2A94: -/* 0A3694 800A2A94 01820019 */ multu $t4, $v0 -/* 0A3698 800A2A98 86190018 */ lh $t9, 0x18($s0) -/* 0A369C 800A2A9C 00005012 */ mflo $t2 -/* 0A36A0 800A2AA0 032A5821 */ addu $t3, $t9, $t2 -/* 0A36A4 800A2AA4 A60B0018 */ sh $t3, 0x18($s0) -/* 0A36A8 800A2AA8 8FAD0098 */ lw $t5, 0x98($sp) -/* 0A36AC 800A2AAC 92580000 */ lbu $t8, ($s2) -/* 0A36B0 800A2AB0 8DAE0000 */ lw $t6, ($t5) -/* 0A36B4 800A2AB4 001860C0 */ sll $t4, $t8, 3 -/* 0A36B8 800A2AB8 8DCF0044 */ lw $t7, 0x44($t6) -/* 0A36BC 800A2ABC 860B0018 */ lh $t3, 0x18($s0) -/* 0A36C0 800A2AC0 01ECC821 */ addu $t9, $t7, $t4 -/* 0A36C4 800A2AC4 8F230004 */ lw $v1, 4($t9) -/* 0A36C8 800A2AC8 3C0D8012 */ lui $t5, %hi(D_80126D68) # $t5, 0x8012 -/* 0A36CC 800A2ACC 2463FFFF */ addiu $v1, $v1, -1 -/* 0A36D0 800A2AD0 00035100 */ sll $t2, $v1, 4 -/* 0A36D4 800A2AD4 016A082A */ slt $at, $t3, $t2 -/* 0A36D8 800A2AD8 1420001F */ bnez $at, .L800A2B58 -/* 0A36DC 800A2ADC 02002025 */ move $a0, $s0 -/* 0A36E0 800A2AE0 91AD6D68 */ lbu $t5, %lo(D_80126D68)($t5) -/* 0A36E4 800A2AE4 00000000 */ nop -/* 0A36E8 800A2AE8 11A00007 */ beqz $t5, .L800A2B08 -/* 0A36EC 800A2AEC 00000000 */ nop -/* 0A36F0 800A2AF0 80AE0000 */ lb $t6, ($a1) -/* 0A36F4 800A2AF4 254FFFFF */ addiu $t7, $t2, -1 -/* 0A36F8 800A2AF8 000EC023 */ negu $t8, $t6 -/* 0A36FC 800A2AFC A0B80000 */ sb $t8, ($a1) -/* 0A3700 800A2B00 10000014 */ b .L800A2B54 -/* 0A3704 800A2B04 A60F0018 */ sh $t7, 0x18($s0) -.L800A2B08: -/* 0A3708 800A2B08 A6000018 */ sh $zero, 0x18($s0) -/* 0A370C 800A2B0C 8FAC00A0 */ lw $t4, 0xa0($sp) -/* 0A3710 800A2B10 00000000 */ nop -/* 0A3714 800A2B14 919901FC */ lbu $t9, 0x1fc($t4) -/* 0A3718 800A2B18 00000000 */ nop -/* 0A371C 800A2B1C 1720000E */ bnez $t9, .L800A2B58 -/* 0A3720 800A2B20 02002025 */ move $a0, $s0 -/* 0A3724 800A2B24 818A01D8 */ lb $t2, 0x1d8($t4) -/* 0A3728 800A2B28 24040004 */ li $a0, 4 -/* 0A372C 800A2B2C 15400009 */ bnez $t2, .L800A2B54 -/* 0A3730 800A2B30 00002825 */ move $a1, $zero -/* 0A3734 800A2B34 240B0001 */ li $t3, 1 -/* 0A3738 800A2B38 AFAB0010 */ sw $t3, 0x10($sp) -/* 0A373C 800A2B3C 24060004 */ li $a2, 4 -/* 0A3740 800A2B40 24070001 */ li $a3, 1 -/* 0A3744 800A2B44 0C028DB3 */ jal set_stopwatch_face -/* 0A3748 800A2B48 AFA900A8 */ sw $t1, 0xa8($sp) -/* 0A374C 800A2B4C 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0A3750 800A2B50 00000000 */ nop -.L800A2B54: -/* 0A3754 800A2B54 02002025 */ move $a0, $s0 -.L800A2B58: -/* 0A3758 800A2B58 0C01874C */ jal object_animate -/* 0A375C 800A2B5C AFA900A8 */ sw $t1, 0xa8($sp) -/* 0A3760 800A2B60 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0A3764 800A2B64 00000000 */ nop -.L800A2B68: -/* 0A3768 800A2B68 8E270000 */ lw $a3, ($s1) -/* 0A376C 800A2B6C 3C128012 */ lui $s2, %hi(gHUDCurrDisplayList) # $s2, 0x8012 -/* 0A3770 800A2B70 26526CFC */ addiu $s2, %lo(gHUDCurrDisplayList) # addiu $s2, $s2, 0x6cfc -/* 0A3774 800A2B74 3C058012 */ lui $a1, %hi(gHUDCurrMatrix) # $a1, 0x8012 -/* 0A3778 800A2B78 3C068012 */ lui $a2, %hi(gHUDCurrVertex) # $a2, 0x8012 -/* 0A377C 800A2B7C 24C66D04 */ addiu $a2, %lo(gHUDCurrVertex) # addiu $a2, $a2, 0x6d04 -/* 0A3780 800A2B80 24A56D00 */ addiu $a1, %lo(gHUDCurrMatrix) # addiu $a1, $a1, 0x6d00 -/* 0A3784 800A2B84 02402025 */ move $a0, $s2 -/* 0A3788 800A2B88 AFA900A8 */ sw $t1, 0xa8($sp) -/* 0A378C 800A2B8C 0C02A980 */ jal func_800AA600 -/* 0A3790 800A2B90 24E70340 */ addiu $a3, $a3, 0x340 -/* 0A3794 800A2B94 8FA500A0 */ lw $a1, 0xa0($sp) -/* 0A3798 800A2B98 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0A379C 800A2B9C 80A30193 */ lb $v1, 0x193($a1) -/* 0A37A0 800A2BA0 00004025 */ move $t0, $zero -/* 0A37A4 800A2BA4 0460000C */ bltz $v1, .L800A2BD8 -/* 0A37A8 800A2BA8 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 -/* 0A37AC 800A2BAC 00086880 */ sll $t5, $t0, 2 -/* 0A37B0 800A2BB0 00AD8021 */ addu $s0, $a1, $t5 -/* 0A37B4 800A2BB4 24020005 */ li $v0, 5 -.L800A2BB8: -/* 0A37B8 800A2BB8 8E0E0128 */ lw $t6, 0x128($s0) -/* 0A37BC 800A2BBC 25080001 */ addiu $t0, $t0, 1 -/* 0A37C0 800A2BC0 0068082A */ slt $at, $v1, $t0 -/* 0A37C4 800A2BC4 26100004 */ addiu $s0, $s0, 4 -/* 0A37C8 800A2BC8 14200003 */ bnez $at, .L800A2BD8 -/* 0A37CC 800A2BCC 012E4821 */ addu $t1, $t1, $t6 -/* 0A37D0 800A2BD0 1502FFF9 */ bne $t0, $v0, .L800A2BB8 -/* 0A37D4 800A2BD4 00000000 */ nop -.L800A2BD8: -/* 0A37D8 800A2BD8 8F180300 */ lw $t8, %lo(osTvType)($t8) -/* 0A37DC 800A2BDC 34048CA0 */ li $a0, 36000 -/* 0A37E0 800A2BE0 17000012 */ bnez $t8, .L800A2C2C -/* 0A37E4 800A2BE4 00000000 */ nop -/* 0A37E8 800A2BE8 44892000 */ mtc1 $t1, $f4 -/* 0A37EC 800A2BEC 3C01800F */ lui $at, %hi(D_800E8738 + 4) # $at, 0x800f -/* 0A37F0 800A2BF0 468021A0 */ cvt.s.w $f6, $f4 -/* 0A37F4 800A2BF4 C42B8738 */ lwc1 $f11, %lo(D_800E8738)($at) -/* 0A37F8 800A2BF8 C42A873C */ lwc1 $f10, %lo(D_800E8738 + 4)($at) -/* 0A37FC 800A2BFC 46003221 */ cvt.d.s $f8, $f6 -/* 0A3800 800A2C00 462A4102 */ mul.d $f4, $f8, $f10 -/* 0A3804 800A2C04 444FF800 */ cfc1 $t7, $31 -/* 0A3808 800A2C08 00000000 */ nop -/* 0A380C 800A2C0C 35E10003 */ ori $at, $t7, 3 -/* 0A3810 800A2C10 38210002 */ xori $at, $at, 2 -/* 0A3814 800A2C14 44C1F800 */ ctc1 $at, $31 -/* 0A3818 800A2C18 00000000 */ nop -/* 0A381C 800A2C1C 462021A4 */ cvt.w.d $f6, $f4 -/* 0A3820 800A2C20 44CFF800 */ ctc1 $t7, $31 -/* 0A3824 800A2C24 44093000 */ mfc1 $t1, $f6 -/* 0A3828 800A2C28 00000000 */ nop -.L800A2C2C: -/* 0A382C 800A2C2C 0C00322D */ jal normalise_time -/* 0A3830 800A2C30 AFA900A8 */ sw $t1, 0xa8($sp) -/* 0A3834 800A2C34 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0A3838 800A2C38 00000000 */ nop -/* 0A383C 800A2C3C 0049082A */ slt $at, $v0, $t1 -/* 0A3840 800A2C40 10200005 */ beqz $at, .L800A2C58 -/* 0A3844 800A2C44 24100444 */ li $s0, 1092 -/* 0A3848 800A2C48 0C00322D */ jal normalise_time -/* 0A384C 800A2C4C 34048CA0 */ li $a0, 36000 -/* 0A3850 800A2C50 00404825 */ move $t1, $v0 -/* 0A3854 800A2C54 24100444 */ li $s0, 1092 -.L800A2C58: -/* 0A3858 800A2C58 01300019 */ multu $t1, $s0 -/* 0A385C 800A2C5C 8E2A0000 */ lw $t2, ($s1) -/* 0A3860 800A2C60 0000C812 */ mflo $t9 -/* 0A3864 800A2C64 272C7FF8 */ addiu $t4, $t9, 0x7ff8 -/* 0A3868 800A2C68 A54C0444 */ sh $t4, 0x444($t2) -/* 0A386C 800A2C6C 0C00382C */ jal get_contpak_error -/* 0A3870 800A2C70 AFA900A8 */ sw $t1, 0xa8($sp) -/* 0A3874 800A2C74 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0A3878 800A2C78 1C40000D */ bgtz $v0, .L800A2CB0 -/* 0A387C 800A2C7C 2403003C */ li $v1, 60 -/* 0A3880 800A2C80 8E270000 */ lw $a3, ($s1) -/* 0A3884 800A2C84 3C058012 */ lui $a1, %hi(gHUDCurrMatrix) # $a1, 0x8012 -/* 0A3888 800A2C88 3C068012 */ lui $a2, %hi(gHUDCurrVertex) # $a2, 0x8012 -/* 0A388C 800A2C8C 24C66D04 */ addiu $a2, %lo(gHUDCurrVertex) # addiu $a2, $a2, 0x6d04 -/* 0A3890 800A2C90 24A56D00 */ addiu $a1, %lo(gHUDCurrMatrix) # addiu $a1, $a1, 0x6d00 -/* 0A3894 800A2C94 02402025 */ move $a0, $s2 -/* 0A3898 800A2C98 AFA900A8 */ sw $t1, 0xa8($sp) -/* 0A389C 800A2C9C 0C02A980 */ jal func_800AA600 -/* 0A38A0 800A2CA0 24E70440 */ addiu $a3, $a3, 0x440 -/* 0A38A4 800A2CA4 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0A38A8 800A2CA8 00000000 */ nop -/* 0A38AC 800A2CAC 2403003C */ li $v1, 60 -.L800A2CB0: -/* 0A38B0 800A2CB0 0123001A */ div $zero, $t1, $v1 -/* 0A38B4 800A2CB4 8E380000 */ lw $t8, ($s1) -/* 0A38B8 800A2CB8 14600002 */ bnez $v1, .L800A2CC4 -/* 0A38BC 800A2CBC 00000000 */ nop -/* 0A38C0 800A2CC0 0007000D */ break 7 -.L800A2CC4: -/* 0A38C4 800A2CC4 2401FFFF */ li $at, -1 -/* 0A38C8 800A2CC8 14610004 */ bne $v1, $at, .L800A2CDC -/* 0A38CC 800A2CCC 3C018000 */ lui $at, 0x8000 -/* 0A38D0 800A2CD0 15210002 */ bne $t1, $at, .L800A2CDC -/* 0A38D4 800A2CD4 00000000 */ nop -/* 0A38D8 800A2CD8 0006000D */ break 6 -.L800A2CDC: -/* 0A38DC 800A2CDC 00005812 */ mflo $t3 -/* 0A38E0 800A2CE0 256D001E */ addiu $t5, $t3, 0x1e -/* 0A38E4 800A2CE4 00000000 */ nop -/* 0A38E8 800A2CE8 01A3001A */ div $zero, $t5, $v1 -/* 0A38EC 800A2CEC 14600002 */ bnez $v1, .L800A2CF8 -/* 0A38F0 800A2CF0 00000000 */ nop -/* 0A38F4 800A2CF4 0007000D */ break 7 -.L800A2CF8: -/* 0A38F8 800A2CF8 2401FFFF */ li $at, -1 -/* 0A38FC 800A2CFC 14610004 */ bne $v1, $at, .L800A2D10 -/* 0A3900 800A2D00 3C018000 */ lui $at, 0x8000 -/* 0A3904 800A2D04 15A10002 */ bne $t5, $at, .L800A2D10 -/* 0A3908 800A2D08 00000000 */ nop -/* 0A390C 800A2D0C 0006000D */ break 6 -.L800A2D10: -/* 0A3910 800A2D10 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 0A3914 800A2D14 44815000 */ mtc1 $at, $f10 -/* 0A3918 800A2D18 00004810 */ mfhi $t1 -/* 0A391C 800A2D1C 00000000 */ nop -/* 0A3920 800A2D20 00000000 */ nop -/* 0A3924 800A2D24 01300019 */ multu $t1, $s0 -/* 0A3928 800A2D28 00007012 */ mflo $t6 -/* 0A392C 800A2D2C A70E0444 */ sh $t6, 0x444($t8) -/* 0A3930 800A2D30 8E220000 */ lw $v0, ($s1) -/* 0A3934 800A2D34 00000000 */ nop -/* 0A3938 800A2D38 C4480350 */ lwc1 $f8, 0x350($v0) -/* 0A393C 800A2D3C 00000000 */ nop -/* 0A3940 800A2D40 460A4100 */ add.s $f4, $f8, $f10 -/* 0A3944 800A2D44 0C00382C */ jal get_contpak_error -/* 0A3948 800A2D48 E4440450 */ swc1 $f4, 0x450($v0) -/* 0A394C 800A2D4C 1C40000A */ bgtz $v0, .L800A2D78 -/* 0A3950 800A2D50 8FAF0098 */ lw $t7, 0x98($sp) -/* 0A3954 800A2D54 8E270000 */ lw $a3, ($s1) -/* 0A3958 800A2D58 3C058012 */ lui $a1, %hi(gHUDCurrMatrix) # $a1, 0x8012 -/* 0A395C 800A2D5C 3C068012 */ lui $a2, %hi(gHUDCurrVertex) # $a2, 0x8012 -/* 0A3960 800A2D60 24C66D04 */ addiu $a2, %lo(gHUDCurrVertex) # addiu $a2, $a2, 0x6d04 -/* 0A3964 800A2D64 24A56D00 */ addiu $a1, %lo(gHUDCurrMatrix) # addiu $a1, $a1, 0x6d00 -/* 0A3968 800A2D68 02402025 */ move $a0, $s2 -/* 0A396C 800A2D6C 0C02A980 */ jal func_800AA600 -/* 0A3970 800A2D70 24E70440 */ addiu $a3, $a3, 0x440 -/* 0A3974 800A2D74 8FAF0098 */ lw $t7, 0x98($sp) -.L800A2D78: -/* 0A3978 800A2D78 24040001 */ li $a0, 1 -/* 0A397C 800A2D7C 0C01A142 */ jal sprite_anim_off -/* 0A3980 800A2D80 A1E00020 */ sb $zero, 0x20($t7) -/* 0A3984 800A2D84 8FA400A0 */ lw $a0, 0xa0($sp) -/* 0A3988 800A2D88 8FA500C8 */ lw $a1, 0xc8($sp) -/* 0A398C 800A2D8C 0C0283AD */ jal render_course_indicator_arrows -/* 0A3990 800A2D90 00000000 */ nop -/* 0A3994 800A2D94 8FA900A0 */ lw $t1, 0xa0($sp) -/* 0A3998 800A2D98 00000000 */ nop -/* 0A399C 800A2D9C 813901D8 */ lb $t9, 0x1d8($t1) -/* 0A39A0 800A2DA0 00000000 */ nop -/* 0A39A4 800A2DA4 172000CC */ bnez $t9, .L800A30D8 -/* 0A39A8 800A2DA8 00000000 */ nop -/* 0A39AC 800A2DAC 444AF800 */ cfc1 $t2, $31 -/* 0A39B0 800A2DB0 8E2C0000 */ lw $t4, ($s1) -/* 0A39B4 800A2DB4 35410003 */ ori $at, $t2, 3 -/* 0A39B8 800A2DB8 38210002 */ xori $at, $at, 2 -/* 0A39BC 800A2DBC 44C1F800 */ ctc1 $at, $31 -/* 0A39C0 800A2DC0 C58602F0 */ lwc1 $f6, 0x2f0($t4) -/* 0A39C4 800A2DC4 00004025 */ move $t0, $zero -/* 0A39C8 800A2DC8 46003224 */ cvt.w.s $f8, $f6 -/* 0A39CC 800A2DCC 3C0E8012 */ lui $t6, %hi(gHudLevelHeader) # $t6, 0x8012 -/* 0A39D0 800A2DD0 440B4000 */ mfc1 $t3, $f8 -/* 0A39D4 800A2DD4 44CAF800 */ ctc1 $t2, $31 -/* 0A39D8 800A2DD8 AFAB00B8 */ sw $t3, 0xb8($sp) -/* 0A39DC 800A2DDC 812D0194 */ lb $t5, 0x194($t1) -/* 0A39E0 800A2DE0 00000000 */ nop -/* 0A39E4 800A2DE4 19A00067 */ blez $t5, .L800A2F84 -/* 0A39E8 800A2DE8 00086880 */ sll $t5, $t0, 2 -/* 0A39EC 800A2DEC 8DCE6D60 */ lw $t6, %lo(gHudLevelHeader)($t6) -/* 0A39F0 800A2DF0 00001080 */ sll $v0, $zero, 2 -/* 0A39F4 800A2DF4 81D8004B */ lb $t8, 0x4b($t6) -/* 0A39F8 800A2DF8 01228021 */ addu $s0, $t1, $v0 -/* 0A39FC 800A2DFC 1B000060 */ blez $t8, .L800A2F80 -/* 0A3A00 800A2E00 3C0F800E */ lui $t7, %hi(gHudLapColours) # $t7, 0x800e -/* 0A3A04 800A2E04 25EF27AC */ addiu $t7, %lo(gHudLapColours) # addiu $t7, $t7, 0x27ac -/* 0A3A08 800A2E08 004FC821 */ addu $t9, $v0, $t7 -/* 0A3A0C 800A2E0C AFB9003C */ sw $t9, 0x3c($sp) -.L800A2E10: -/* 0A3A10 800A2E10 8E040128 */ lw $a0, 0x128($s0) -/* 0A3A14 800A2E14 AFA800BC */ sw $t0, 0xbc($sp) -/* 0A3A18 800A2E18 27A500B4 */ addiu $a1, $sp, 0xb4 -/* 0A3A1C 800A2E1C 27A600B0 */ addiu $a2, $sp, 0xb0 -/* 0A3A20 800A2E20 0C0165E4 */ jal get_timestamp_from_frames -/* 0A3A24 800A2E24 27A700AC */ addiu $a3, $sp, 0xac -/* 0A3A28 800A2E28 8FAC003C */ lw $t4, 0x3c($sp) -/* 0A3A2C 800A2E2C 3C01800E */ lui $at, %hi(gHudColour) # $at, 0x800e -/* 0A3A30 800A2E30 8D8A0000 */ lw $t2, ($t4) -/* 0A3A34 800A2E34 444DF800 */ cfc1 $t5, $31 -/* 0A3A38 800A2E38 AC2A2834 */ sw $t2, %lo(gHudColour)($at) -/* 0A3A3C 800A2E3C 8E2B0000 */ lw $t3, ($s1) -/* 0A3A40 800A2E40 35A10003 */ ori $at, $t5, 3 -/* 0A3A44 800A2E44 38210002 */ xori $at, $at, 2 -/* 0A3A48 800A2E48 44C1F800 */ ctc1 $at, $31 -/* 0A3A4C 800A2E4C C56A02EC */ lwc1 $f10, 0x2ec($t3) -/* 0A3A50 800A2E50 8FAE00AC */ lw $t6, 0xac($sp) -/* 0A3A54 800A2E54 46005124 */ cvt.w.s $f4, $f10 -/* 0A3A58 800A2E58 8FA500B8 */ lw $a1, 0xb8($sp) -/* 0A3A5C 800A2E5C 44042000 */ mfc1 $a0, $f4 -/* 0A3A60 800A2E60 8FA600B4 */ lw $a2, 0xb4($sp) -/* 0A3A64 800A2E64 8FA700B0 */ lw $a3, 0xb0($sp) -/* 0A3A68 800A2E68 24180001 */ li $t8, 1 -/* 0A3A6C 800A2E6C 44CDF800 */ ctc1 $t5, $31 -/* 0A3A70 800A2E70 AFB80014 */ sw $t8, 0x14($sp) -/* 0A3A74 800A2E74 0C029FEF */ jal render_timer -/* 0A3A78 800A2E78 AFAE0010 */ sw $t6, 0x10($sp) -/* 0A3A7C 800A2E7C 240FFFFE */ li $t7, -2 -/* 0A3A80 800A2E80 3C01800E */ lui $at, %hi(gHudColour) # $at, 0x800e -/* 0A3A84 800A2E84 AC2F2834 */ sw $t7, %lo(gHudColour)($at) -/* 0A3A88 800A2E88 8FB900B8 */ lw $t9, 0xb8($sp) -/* 0A3A8C 800A2E8C 8E430000 */ lw $v1, ($s2) -/* 0A3A90 800A2E90 272C000C */ addiu $t4, $t9, 0xc -/* 0A3A94 800A2E94 246A0008 */ addiu $t2, $v1, 8 -/* 0A3A98 800A2E98 8FA800BC */ lw $t0, 0xbc($sp) -/* 0A3A9C 800A2E9C AFAC00B8 */ sw $t4, 0xb8($sp) -/* 0A3AA0 800A2EA0 AE4A0000 */ sw $t2, ($s2) -/* 0A3AA4 800A2EA4 3C0BFA00 */ lui $t3, 0xfa00 -/* 0A3AA8 800A2EA8 240DFFFF */ li $t5, -1 -/* 0A3AAC 800A2EAC AC6D0004 */ sw $t5, 4($v1) -/* 0A3AB0 800A2EB0 AC6B0000 */ sw $t3, ($v1) -/* 0A3AB4 800A2EB4 8E2E0000 */ lw $t6, ($s1) -/* 0A3AB8 800A2EB8 25090001 */ addiu $t1, $t0, 1 -/* 0A3ABC 800A2EBC A5C90338 */ sh $t1, 0x338($t6) -/* 0A3AC0 800A2EC0 8E270000 */ lw $a3, ($s1) -/* 0A3AC4 800A2EC4 3C058012 */ lui $a1, %hi(gHUDCurrMatrix) # $a1, 0x8012 -/* 0A3AC8 800A2EC8 3C068012 */ lui $a2, %hi(gHUDCurrVertex) # $a2, 0x8012 -/* 0A3ACC 800A2ECC 24C66D04 */ addiu $a2, %lo(gHUDCurrVertex) # addiu $a2, $a2, 0x6d04 -/* 0A3AD0 800A2ED0 24A56D00 */ addiu $a1, %lo(gHUDCurrMatrix) # addiu $a1, $a1, 0x6d00 -/* 0A3AD4 800A2ED4 AFA90050 */ sw $t1, 0x50($sp) -/* 0A3AD8 800A2ED8 02402025 */ move $a0, $s2 -/* 0A3ADC 800A2EDC 0C02A980 */ jal func_800AA600 -/* 0A3AE0 800A2EE0 24E70320 */ addiu $a3, $a3, 0x320 -/* 0A3AE4 800A2EE4 8E270000 */ lw $a3, ($s1) -/* 0A3AE8 800A2EE8 3C058012 */ lui $a1, %hi(gHUDCurrMatrix) # $a1, 0x8012 -/* 0A3AEC 800A2EEC 3C068012 */ lui $a2, %hi(gHUDCurrVertex) # $a2, 0x8012 -/* 0A3AF0 800A2EF0 24C66D04 */ addiu $a2, %lo(gHUDCurrVertex) # addiu $a2, $a2, 0x6d04 -/* 0A3AF4 800A2EF4 24A56D00 */ addiu $a1, %lo(gHUDCurrMatrix) # addiu $a1, $a1, 0x6d00 -/* 0A3AF8 800A2EF8 02402025 */ move $a0, $s2 -/* 0A3AFC 800A2EFC 0C02A980 */ jal func_800AA600 -/* 0A3B00 800A2F00 24E70300 */ addiu $a3, $a3, 0x300 -/* 0A3B04 800A2F04 8E220000 */ lw $v0, ($s1) -/* 0A3B08 800A2F08 3C014140 */ li $at, 0x41400000 # 12.000000 -/* 0A3B0C 800A2F0C 44810000 */ mtc1 $at, $f0 -/* 0A3B10 800A2F10 C4460330 */ lwc1 $f6, 0x330($v0) -/* 0A3B14 800A2F14 26100004 */ addiu $s0, $s0, 4 -/* 0A3B18 800A2F18 46003200 */ add.s $f8, $f6, $f0 -/* 0A3B1C 800A2F1C 3C0A8012 */ lui $t2, %hi(gHudLevelHeader) # $t2, 0x8012 -/* 0A3B20 800A2F20 E4480330 */ swc1 $f8, 0x330($v0) -/* 0A3B24 800A2F24 8E220000 */ lw $v0, ($s1) -/* 0A3B28 800A2F28 00000000 */ nop -/* 0A3B2C 800A2F2C C44A0310 */ lwc1 $f10, 0x310($v0) -/* 0A3B30 800A2F30 00000000 */ nop -/* 0A3B34 800A2F34 46005100 */ add.s $f4, $f10, $f0 -/* 0A3B38 800A2F38 E4440310 */ swc1 $f4, 0x310($v0) -/* 0A3B3C 800A2F3C 8FB8003C */ lw $t8, 0x3c($sp) -/* 0A3B40 800A2F40 8FB900A0 */ lw $t9, 0xa0($sp) -/* 0A3B44 800A2F44 270F0004 */ addiu $t7, $t8, 4 -/* 0A3B48 800A2F48 AFAF003C */ sw $t7, 0x3c($sp) -/* 0A3B4C 800A2F4C 8FA80050 */ lw $t0, 0x50($sp) -/* 0A3B50 800A2F50 832C0194 */ lb $t4, 0x194($t9) -/* 0A3B54 800A2F54 00000000 */ nop -/* 0A3B58 800A2F58 010C082A */ slt $at, $t0, $t4 -/* 0A3B5C 800A2F5C 10200009 */ beqz $at, .L800A2F84 -/* 0A3B60 800A2F60 00086880 */ sll $t5, $t0, 2 -/* 0A3B64 800A2F64 8D4A6D60 */ lw $t2, %lo(gHudLevelHeader)($t2) -/* 0A3B68 800A2F68 00000000 */ nop -/* 0A3B6C 800A2F6C 814B004B */ lb $t3, 0x4b($t2) -/* 0A3B70 800A2F70 00000000 */ nop -/* 0A3B74 800A2F74 010B082A */ slt $at, $t0, $t3 -/* 0A3B78 800A2F78 1420FFA5 */ bnez $at, .L800A2E10 -/* 0A3B7C 800A2F7C 00000000 */ nop -.L800A2F80: -/* 0A3B80 800A2F80 00086880 */ sll $t5, $t0, 2 -.L800A2F84: -/* 0A3B84 800A2F84 01A86823 */ subu $t5, $t5, $t0 -/* 0A3B88 800A2F88 000D6880 */ sll $t5, $t5, 2 -/* 0A3B8C 800A2F8C 448D3000 */ mtc1 $t5, $f6 -/* 0A3B90 800A2F90 8E220000 */ lw $v0, ($s1) -/* 0A3B94 800A2F94 46803020 */ cvt.s.w $f0, $f6 -/* 0A3B98 800A2F98 C4480330 */ lwc1 $f8, 0x330($v0) -/* 0A3B9C 800A2F9C 8FA900A0 */ lw $t1, 0xa0($sp) -/* 0A3BA0 800A2FA0 46004281 */ sub.s $f10, $f8, $f0 -/* 0A3BA4 800A2FA4 3C108012 */ lui $s0, %hi(D_80126D4C) # $s0, 0x8012 -/* 0A3BA8 800A2FA8 E44A0330 */ swc1 $f10, 0x330($v0) -/* 0A3BAC 800A2FAC 8E220000 */ lw $v0, ($s1) -/* 0A3BB0 800A2FB0 26106D4C */ addiu $s0, %lo(D_80126D4C) # addiu $s0, $s0, 0x6d4c -/* 0A3BB4 800A2FB4 C4440310 */ lwc1 $f4, 0x310($v0) -/* 0A3BB8 800A2FB8 00000000 */ nop -/* 0A3BBC 800A2FBC 46002181 */ sub.s $f6, $f4, $f0 -/* 0A3BC0 800A2FC0 E4460310 */ swc1 $f6, 0x310($v0) -/* 0A3BC4 800A2FC4 912E01EF */ lbu $t6, 0x1ef($t1) -/* 0A3BC8 800A2FC8 00000000 */ nop -/* 0A3BCC 800A2FCC 31D80004 */ andi $t8, $t6, 4 -/* 0A3BD0 800A2FD0 13000010 */ beqz $t8, .L800A3014 -/* 0A3BD4 800A2FD4 00000000 */ nop -/* 0A3BD8 800A2FD8 8E0F0000 */ lw $t7, ($s0) -/* 0A3BDC 800A2FDC 24040007 */ li $a0, 7 -/* 0A3BE0 800A2FE0 1DE0000C */ bgtz $t7, .L800A3014 -/* 0A3BE4 800A2FE4 24050003 */ li $a1, 3 -/* 0A3BE8 800A2FE8 00003025 */ move $a2, $zero -/* 0A3BEC 800A2FEC 24070004 */ li $a3, 4 -/* 0A3BF0 800A2FF0 0C028DB3 */ jal set_stopwatch_face -/* 0A3BF4 800A2FF4 AFA00010 */ sw $zero, 0x10($sp) -/* 0A3BF8 800A2FF8 8FA900A0 */ lw $t1, 0xa0($sp) -/* 0A3BFC 800A2FFC 2419003C */ li $t9, 60 -/* 0A3C00 800A3000 AE190000 */ sw $t9, ($s0) -/* 0A3C04 800A3004 912A01EF */ lbu $t2, 0x1ef($t1) -/* 0A3C08 800A3008 00000000 */ nop -/* 0A3C0C 800A300C 314BFFFB */ andi $t3, $t2, 0xfffb -/* 0A3C10 800A3010 A12B01EF */ sb $t3, 0x1ef($t1) -.L800A3014: -/* 0A3C14 800A3014 3C108012 */ lui $s0, %hi(D_80126D4C) # $s0, 0x8012 -/* 0A3C18 800A3018 26106D4C */ addiu $s0, %lo(D_80126D4C) # addiu $s0, $s0, 0x6d4c -/* 0A3C1C 800A301C 8E020000 */ lw $v0, ($s0) -/* 0A3C20 800A3020 8FAD00C8 */ lw $t5, 0xc8($sp) -/* 0A3C24 800A3024 18400006 */ blez $v0, .L800A3040 -/* 0A3C28 800A3028 004D7023 */ subu $t6, $v0, $t5 -/* 0A3C2C 800A302C AE0E0000 */ sw $t6, ($s0) -/* 0A3C30 800A3030 05C10003 */ bgez $t6, .L800A3040 -/* 0A3C34 800A3034 01C01025 */ move $v0, $t6 -/* 0A3C38 800A3038 AE000000 */ sw $zero, ($s0) -/* 0A3C3C 800A303C 00001025 */ move $v0, $zero -.L800A3040: -/* 0A3C40 800A3040 14400025 */ bnez $v0, .L800A30D8 -/* 0A3C44 800A3044 00000000 */ nop -/* 0A3C48 800A3048 813801D8 */ lb $t8, 0x1d8($t1) -/* 0A3C4C 800A304C 240FFF9C */ li $t7, -100 -/* 0A3C50 800A3050 17000021 */ bnez $t8, .L800A30D8 -/* 0A3C54 800A3054 3C198012 */ lui $t9, %hi(gHUDVoiceSoundMask) # $t9, 0x8012 -/* 0A3C58 800A3058 AE0F0000 */ sw $t7, ($s0) -/* 0A3C5C 800A305C 8F396D40 */ lw $t9, %lo(gHUDVoiceSoundMask)($t9) -/* 0A3C60 800A3060 3C108012 */ lui $s0, %hi(D_80126D64) # $s0, 0x8012 -/* 0A3C64 800A3064 1720001C */ bnez $t9, .L800A30D8 -/* 0A3C68 800A3068 26106D64 */ addiu $s0, %lo(D_80126D64) # addiu $s0, $s0, 0x6d64 -/* 0A3C6C 800A306C 92050000 */ lbu $a1, ($s0) -/* 0A3C70 800A3070 00002025 */ move $a0, $zero -/* 0A3C74 800A3074 0C01BE53 */ jal get_random_number_from_range -/* 0A3C78 800A3078 24A50002 */ addiu $a1, $a1, 2 -/* 0A3C7C 800A307C 3C118012 */ lui $s1, %hi(D_80126D48) # $s1, 0x8012 -/* 0A3C80 800A3080 26316D48 */ addiu $s1, %lo(D_80126D48) # addiu $s1, $s1, 0x6d48 -/* 0A3C84 800A3084 962A0000 */ lhu $t2, ($s1) -/* 0A3C88 800A3088 2443014B */ addiu $v1, $v0, 0x14b -/* 0A3C8C 800A308C 306BFFFF */ andi $t3, $v1, 0xffff -/* 0A3C90 800A3090 154B000A */ bne $t2, $t3, .L800A30BC -/* 0A3C94 800A3094 3064FFFF */ andi $a0, $v1, 0xffff -.L800A3098: -/* 0A3C98 800A3098 92050000 */ lbu $a1, ($s0) -/* 0A3C9C 800A309C 00002025 */ move $a0, $zero -/* 0A3CA0 800A30A0 0C01BE53 */ jal get_random_number_from_range -/* 0A3CA4 800A30A4 24A50002 */ addiu $a1, $a1, 2 -/* 0A3CA8 800A30A8 962C0000 */ lhu $t4, ($s1) -/* 0A3CAC 800A30AC 2443014B */ addiu $v1, $v0, 0x14b -/* 0A3CB0 800A30B0 306DFFFF */ andi $t5, $v1, 0xffff -/* 0A3CB4 800A30B4 118DFFF8 */ beq $t4, $t5, .L800A3098 -/* 0A3CB8 800A30B8 3064FFFF */ andi $a0, $v1, 0xffff -.L800A30BC: -/* 0A3CBC 800A30BC 3C058012 */ lui $a1, %hi(gHUDVoiceSoundMask) # $a1, 0x8012 -/* 0A3CC0 800A30C0 A6240000 */ sh $a0, ($s1) -/* 0A3CC4 800A30C4 0C000741 */ jal sound_play -/* 0A3CC8 800A30C8 24A56D40 */ addiu $a1, %lo(gHUDVoiceSoundMask) # addiu $a1, $a1, 0x6d40 -/* 0A3CCC 800A30CC 240E0001 */ li $t6, 1 -/* 0A3CD0 800A30D0 8FA900A0 */ lw $t1, 0xa0($sp) -/* 0A3CD4 800A30D4 A20E0000 */ sb $t6, ($s0) -.L800A30D8: -/* 0A3CD8 800A30D8 81230193 */ lb $v1, 0x193($t1) -/* 0A3CDC 800A30DC 3C118012 */ lui $s1, %hi(D_80126D48) # $s1, 0x8012 -/* 0A3CE0 800A30E0 18600041 */ blez $v1, .L800A31E8 -/* 0A3CE4 800A30E4 26316D48 */ addiu $s1, %lo(D_80126D48) # addiu $s1, $s1, 0x6d48 -/* 0A3CE8 800A30E8 3C188012 */ lui $t8, %hi(gHudLevelHeader) # $t8, 0x8012 -/* 0A3CEC 800A30EC 8F186D60 */ lw $t8, %lo(gHudLevelHeader)($t8) -/* 0A3CF0 800A30F0 0003C880 */ sll $t9, $v1, 2 -/* 0A3CF4 800A30F4 830F004B */ lb $t7, 0x4b($t8) -/* 0A3CF8 800A30F8 01395021 */ addu $t2, $t1, $t9 -/* 0A3CFC 800A30FC 006F082A */ slt $at, $v1, $t7 -/* 0A3D00 800A3100 10200039 */ beqz $at, .L800A31E8 -/* 0A3D04 800A3104 00000000 */ nop -/* 0A3D08 800A3108 8D4B0128 */ lw $t3, 0x128($t2) -/* 0A3D0C 800A310C 3C0C8012 */ lui $t4, %hi(gHUDVoiceSoundMask) # $t4, 0x8012 -/* 0A3D10 800A3110 29610014 */ slti $at, $t3, 0x14 -/* 0A3D14 800A3114 10200034 */ beqz $at, .L800A31E8 -/* 0A3D18 800A3118 00000000 */ nop -/* 0A3D1C 800A311C 8D8C6D40 */ lw $t4, %lo(gHUDVoiceSoundMask)($t4) -/* 0A3D20 800A3120 00000000 */ nop -/* 0A3D24 800A3124 15800030 */ bnez $t4, .L800A31E8 -/* 0A3D28 800A3128 00000000 */ nop -/* 0A3D2C 800A312C 812D01D6 */ lb $t5, 0x1d6($t1) -/* 0A3D30 800A3130 00000000 */ nop -/* 0A3D34 800A3134 29A10003 */ slti $at, $t5, 3 -/* 0A3D38 800A3138 1020002B */ beqz $at, .L800A31E8 -/* 0A3D3C 800A313C 00000000 */ nop -/* 0A3D40 800A3140 0C01BAA4 */ jal get_settings -/* 0A3D44 800A3144 00000000 */ nop -/* 0A3D48 800A3148 3C108012 */ lui $s0, %hi(gHudSettings) # $s0, 0x8012 -/* 0A3D4C 800A314C 26107184 */ addiu $s0, %lo(gHudSettings) # addiu $s0, $s0, 0x7184 -/* 0A3D50 800A3150 0C01AF62 */ jal get_current_map_id -/* 0A3D54 800A3154 AE020000 */ sw $v0, ($s0) -/* 0A3D58 800A3158 8FAE00A0 */ lw $t6, 0xa0($sp) -/* 0A3D5C 800A315C 8E190000 */ lw $t9, ($s0) -/* 0A3D60 800A3160 81C30193 */ lb $v1, 0x193($t6) -/* 0A3D64 800A3164 81CA01D6 */ lb $t2, 0x1d6($t6) -/* 0A3D68 800A3168 0003C080 */ sll $t8, $v1, 2 -/* 0A3D6C 800A316C 000A5880 */ sll $t3, $t2, 2 -/* 0A3D70 800A3170 01D87821 */ addu $t7, $t6, $t8 -/* 0A3D74 800A3174 032B6021 */ addu $t4, $t9, $t3 -/* 0A3D78 800A3178 8D8D0024 */ lw $t5, 0x24($t4) -/* 0A3D7C 800A317C 8DE40124 */ lw $a0, 0x124($t7) -/* 0A3D80 800A3180 0002C040 */ sll $t8, $v0, 1 -/* 0A3D84 800A3184 01B87821 */ addu $t7, $t5, $t8 -/* 0A3D88 800A3188 95EA0000 */ lhu $t2, ($t7) -/* 0A3D8C 800A318C 2465FFFF */ addiu $a1, $v1, -1 -/* 0A3D90 800A3190 008A082A */ slt $at, $a0, $t2 -/* 0A3D94 800A3194 10200014 */ beqz $at, .L800A31E8 -/* 0A3D98 800A3198 00000000 */ nop -/* 0A3D9C 800A319C 18A0000D */ blez $a1, .L800A31D4 -/* 0A3DA0 800A31A0 00804825 */ move $t1, $a0 -/* 0A3DA4 800A31A4 00001025 */ move $v0, $zero -/* 0A3DA8 800A31A8 01C08025 */ move $s0, $t6 -/* 0A3DAC 800A31AC 00051880 */ sll $v1, $a1, 2 -.L800A31B0: -/* 0A3DB0 800A31B0 8E190128 */ lw $t9, 0x128($s0) -/* 0A3DB4 800A31B4 24420004 */ addiu $v0, $v0, 4 -/* 0A3DB8 800A31B8 0139082A */ slt $at, $t1, $t9 -/* 0A3DBC 800A31BC 14200003 */ bnez $at, .L800A31CC -/* 0A3DC0 800A31C0 0043082A */ slt $at, $v0, $v1 -/* 0A3DC4 800A31C4 00004825 */ move $t1, $zero -/* 0A3DC8 800A31C8 0043082A */ slt $at, $v0, $v1 -.L800A31CC: -/* 0A3DCC 800A31CC 1420FFF8 */ bnez $at, .L800A31B0 -/* 0A3DD0 800A31D0 26100004 */ addiu $s0, $s0, 4 -.L800A31D4: -/* 0A3DD4 800A31D4 11200004 */ beqz $t1, .L800A31E8 -/* 0A3DD8 800A31D8 24040144 */ li $a0, 324 -/* 0A3DDC 800A31DC 3C058012 */ lui $a1, %hi(gHUDVoiceSoundMask) # $a1, 0x8012 -/* 0A3DE0 800A31E0 0C000741 */ jal sound_play -/* 0A3DE4 800A31E4 24A56D40 */ addiu $a1, %lo(gHUDVoiceSoundMask) # addiu $a1, $a1, 0x6d40 -.L800A31E8: -/* 0A3DE8 800A31E8 0C006CA2 */ jal timetrial_valid_player_ghost -/* 0A3DEC 800A31EC 00000000 */ nop -/* 0A3DF0 800A31F0 1040004F */ beqz $v0, .L800A3330 -/* 0A3DF4 800A31F4 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 0A3DF8 800A31F8 0C006CB8 */ jal timetrial_player_ghost -/* 0A3DFC 800A31FC 00000000 */ nop -/* 0A3E00 800A3200 1040004A */ beqz $v0, .L800A332C -/* 0A3E04 800A3204 00408025 */ move $s0, $v0 -/* 0A3E08 800A3208 0C0044E7 */ jal get_race_countdown -/* 0A3E0C 800A320C 00000000 */ nop -/* 0A3E10 800A3210 14400047 */ bnez $v0, .L800A3330 -/* 0A3E14 800A3214 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 0A3E18 800A3218 8FAB00A0 */ lw $t3, 0xa0($sp) -/* 0A3E1C 800A321C 8FAD00C4 */ lw $t5, 0xc4($sp) -/* 0A3E20 800A3220 816C01D8 */ lb $t4, 0x1d8($t3) -/* 0A3E24 800A3224 00000000 */ nop -/* 0A3E28 800A3228 15800041 */ bnez $t4, .L800A3330 -/* 0A3E2C 800A322C 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 0A3E30 800A3230 C608000C */ lwc1 $f8, 0xc($s0) -/* 0A3E34 800A3234 C5AA000C */ lwc1 $f10, 0xc($t5) -/* 0A3E38 800A3238 C6040010 */ lwc1 $f4, 0x10($s0) -/* 0A3E3C 800A323C C5A60010 */ lwc1 $f6, 0x10($t5) -/* 0A3E40 800A3240 460A4001 */ sub.s $f0, $f8, $f10 -/* 0A3E44 800A3244 C5AA0014 */ lwc1 $f10, 0x14($t5) -/* 0A3E48 800A3248 46062081 */ sub.s $f2, $f4, $f6 -/* 0A3E4C 800A324C C6080014 */ lwc1 $f8, 0x14($s0) -/* 0A3E50 800A3250 46000102 */ mul.s $f4, $f0, $f0 -/* 0A3E54 800A3254 460A4381 */ sub.s $f14, $f8, $f10 -/* 0A3E58 800A3258 46021182 */ mul.s $f6, $f2, $f2 -/* 0A3E5C 800A325C 00000000 */ nop -/* 0A3E60 800A3260 460E7282 */ mul.s $f10, $f14, $f14 -/* 0A3E64 800A3264 46062200 */ add.s $f8, $f4, $f6 -/* 0A3E68 800A3268 0C0326B4 */ jal sqrtf -/* 0A3E6C 800A326C 460A4300 */ add.s $f12, $f8, $f10 -/* 0A3E70 800A3270 3C014416 */ li $at, 0x44160000 # 600.000000 -/* 0A3E74 800A3274 44812000 */ mtc1 $at, $f4 -/* 0A3E78 800A3278 3C188012 */ lui $t8, %hi(gHUDVoiceSoundMask) # $t8, 0x8012 -/* 0A3E7C 800A327C 4604003C */ c.lt.s $f0, $f4 -/* 0A3E80 800A3280 00000000 */ nop -/* 0A3E84 800A3284 45000020 */ bc1f .L800A3308 -/* 0A3E88 800A3288 00000000 */ nop -/* 0A3E8C 800A328C 8F186D40 */ lw $t8, %lo(gHUDVoiceSoundMask)($t8) -/* 0A3E90 800A3290 3C108012 */ lui $s0, %hi(D_80126D50) # $s0, 0x8012 -/* 0A3E94 800A3294 1700001C */ bnez $t8, .L800A3308 -/* 0A3E98 800A3298 26106D50 */ addiu $s0, %lo(D_80126D50) # addiu $s0, $s0, 0x6d50 -/* 0A3E9C 800A329C 8E0F0000 */ lw $t7, ($s0) -/* 0A3EA0 800A32A0 00002025 */ move $a0, $zero -/* 0A3EA4 800A32A4 15E00018 */ bnez $t7, .L800A3308 -/* 0A3EA8 800A32A8 00000000 */ nop -/* 0A3EAC 800A32AC 0C01BE53 */ jal get_random_number_from_range -/* 0A3EB0 800A32B0 24050002 */ li $a1, 2 -/* 0A3EB4 800A32B4 962A0000 */ lhu $t2, ($s1) -/* 0A3EB8 800A32B8 24430147 */ addiu $v1, $v0, 0x147 -/* 0A3EBC 800A32BC 306EFFFF */ andi $t6, $v1, 0xffff -/* 0A3EC0 800A32C0 154E0009 */ bne $t2, $t6, .L800A32E8 -/* 0A3EC4 800A32C4 3064FFFF */ andi $a0, $v1, 0xffff -.L800A32C8: -/* 0A3EC8 800A32C8 00002025 */ move $a0, $zero -/* 0A3ECC 800A32CC 0C01BE53 */ jal get_random_number_from_range -/* 0A3ED0 800A32D0 24050002 */ li $a1, 2 -/* 0A3ED4 800A32D4 96390000 */ lhu $t9, ($s1) -/* 0A3ED8 800A32D8 24430147 */ addiu $v1, $v0, 0x147 -/* 0A3EDC 800A32DC 306BFFFF */ andi $t3, $v1, 0xffff -/* 0A3EE0 800A32E0 132BFFF9 */ beq $t9, $t3, .L800A32C8 -/* 0A3EE4 800A32E4 3064FFFF */ andi $a0, $v1, 0xffff -.L800A32E8: -/* 0A3EE8 800A32E8 3C058012 */ lui $a1, %hi(gHUDVoiceSoundMask) # $a1, 0x8012 -/* 0A3EEC 800A32EC A6240000 */ sh $a0, ($s1) -/* 0A3EF0 800A32F0 0C000741 */ jal sound_play -/* 0A3EF4 800A32F4 24A56D40 */ addiu $a1, %lo(gHUDVoiceSoundMask) # addiu $a1, $a1, 0x6d40 -/* 0A3EF8 800A32F8 24040078 */ li $a0, 120 -/* 0A3EFC 800A32FC 0C01BE53 */ jal get_random_number_from_range -/* 0A3F00 800A3300 240504B0 */ li $a1, 1200 -/* 0A3F04 800A3304 AE020000 */ sw $v0, ($s0) -.L800A3308: -/* 0A3F08 800A3308 3C108012 */ lui $s0, %hi(D_80126D50) # $s0, 0x8012 -/* 0A3F0C 800A330C 26106D50 */ addiu $s0, %lo(D_80126D50) # addiu $s0, $s0, 0x6d50 -/* 0A3F10 800A3310 8E0C0000 */ lw $t4, ($s0) -/* 0A3F14 800A3314 8FAD00C8 */ lw $t5, 0xc8($sp) -/* 0A3F18 800A3318 00000000 */ nop -/* 0A3F1C 800A331C 018DC023 */ subu $t8, $t4, $t5 -/* 0A3F20 800A3320 07010002 */ bgez $t8, .L800A332C -/* 0A3F24 800A3324 AE180000 */ sw $t8, ($s0) -/* 0A3F28 800A3328 AE000000 */ sw $zero, ($s0) -.L800A332C: -/* 0A3F2C 800A332C 8FAA00A0 */ lw $t2, 0xa0($sp) -.L800A3330: -/* 0A3F30 800A3330 8FAC00A0 */ lw $t4, 0xa0($sp) -/* 0A3F34 800A3334 81430193 */ lb $v1, 0x193($t2) -/* 0A3F38 800A3338 00000000 */ nop -/* 0A3F3C 800A333C 00037080 */ sll $t6, $v1, 2 -/* 0A3F40 800A3340 014EC821 */ addu $t9, $t2, $t6 -/* 0A3F44 800A3344 8F2B0128 */ lw $t3, 0x128($t9) -/* 0A3F48 800A3348 00000000 */ nop -/* 0A3F4C 800A334C 2961001E */ slti $at, $t3, 0x1e -/* 0A3F50 800A3350 1020000A */ beqz $at, .L800A337C -/* 0A3F54 800A3354 00000000 */ nop -/* 0A3F58 800A3358 10600008 */ beqz $v1, .L800A337C -/* 0A3F5C 800A335C 24040005 */ li $a0, 5 -/* 0A3F60 800A3360 24050001 */ li $a1, 1 -/* 0A3F64 800A3364 24060002 */ li $a2, 2 -/* 0A3F68 800A3368 24070002 */ li $a3, 2 -/* 0A3F6C 800A336C 0C028DB3 */ jal set_stopwatch_face -/* 0A3F70 800A3370 AFA00010 */ sw $zero, 0x10($sp) -/* 0A3F74 800A3374 10000016 */ b .L800A33D0 -/* 0A3F78 800A3378 8FA400A0 */ lw $a0, 0xa0($sp) -.L800A337C: -/* 0A3F7C 800A337C 818D01D3 */ lb $t5, 0x1d3($t4) -/* 0A3F80 800A3380 8FB800A0 */ lw $t8, 0xa0($sp) -/* 0A3F84 800A3384 19A00008 */ blez $t5, .L800A33A8 -/* 0A3F88 800A3388 24040006 */ li $a0, 6 -/* 0A3F8C 800A338C 24050002 */ li $a1, 2 -/* 0A3F90 800A3390 24060003 */ li $a2, 3 -/* 0A3F94 800A3394 24070002 */ li $a3, 2 -/* 0A3F98 800A3398 0C028DB3 */ jal set_stopwatch_face -/* 0A3F9C 800A339C AFA00010 */ sw $zero, 0x10($sp) -/* 0A3FA0 800A33A0 1000000B */ b .L800A33D0 -/* 0A3FA4 800A33A4 8FA400A0 */ lw $a0, 0xa0($sp) -.L800A33A8: -/* 0A3FA8 800A33A8 930F01FC */ lbu $t7, 0x1fc($t8) -/* 0A3FAC 800A33AC 24040006 */ li $a0, 6 -/* 0A3FB0 800A33B0 29E10079 */ slti $at, $t7, 0x79 -/* 0A3FB4 800A33B4 14200005 */ bnez $at, .L800A33CC -/* 0A3FB8 800A33B8 24050003 */ li $a1, 3 -/* 0A3FBC 800A33BC 24060001 */ li $a2, 1 -/* 0A3FC0 800A33C0 24070004 */ li $a3, 4 -/* 0A3FC4 800A33C4 0C028DB3 */ jal set_stopwatch_face -/* 0A3FC8 800A33C8 AFA00010 */ sw $zero, 0x10($sp) -.L800A33CC: -/* 0A3FCC 800A33CC 8FA400A0 */ lw $a0, 0xa0($sp) -.L800A33D0: -/* 0A3FD0 800A33D0 8FA500C8 */ lw $a1, 0xc8($sp) -/* 0A3FD4 800A33D4 0C0293D4 */ jal render_lap_count -/* 0A3FD8 800A33D8 00000000 */ nop -/* 0A3FDC 800A33DC 8FA400A0 */ lw $a0, 0xa0($sp) -/* 0A3FE0 800A33E0 8FA500C8 */ lw $a1, 0xc8($sp) -/* 0A3FE4 800A33E4 0C029EDA */ jal render_race_time -/* 0A3FE8 800A33E8 00000000 */ nop -/* 0A3FEC 800A33EC 8FA400A0 */ lw $a0, 0xa0($sp) -/* 0A3FF0 800A33F0 8FA500C8 */ lw $a1, 0xc8($sp) -/* 0A3FF4 800A33F4 0C029055 */ jal render_racer_bananas -/* 0A3FF8 800A33F8 00000000 */ nop -/* 0A3FFC 800A33FC 8FA400A0 */ lw $a0, 0xa0($sp) -/* 0A4000 800A3400 8FA500C8 */ lw $a1, 0xc8($sp) -/* 0A4004 800A3404 0C029699 */ jal render_wrong_way_text -/* 0A4008 800A3408 00000000 */ nop -/* 0A400C 800A340C 8FA400C0 */ lw $a0, 0xc0($sp) -/* 0A4010 800A3410 8FA500C8 */ lw $a1, 0xc8($sp) -/* 0A4014 800A3414 0C028F39 */ jal render_race_start -/* 0A4018 800A3418 00000000 */ nop -/* 0A401C 800A341C 8FA400C4 */ lw $a0, 0xc4($sp) -/* 0A4020 800A3420 8FA500C8 */ lw $a1, 0xc8($sp) -/* 0A4024 800A3424 0C028E21 */ jal render_speedometer -/* 0A4028 800A3428 00000000 */ nop -/* 0A402C 800A342C 0C00382C */ jal get_contpak_error -/* 0A4030 800A3430 00000000 */ nop -/* 0A4034 800A3434 1840009D */ blez $v0, .L800A36AC -/* 0A4038 800A3438 00000000 */ nop -/* 0A403C 800A343C 0C00382C */ jal get_contpak_error -/* 0A4040 800A3440 00000000 */ nop -/* 0A4044 800A3444 24010001 */ li $at, 1 -/* 0A4048 800A3448 10410008 */ beq $v0, $at, .L800A346C -/* 0A404C 800A344C 24010002 */ li $at, 2 -/* 0A4050 800A3450 10410010 */ beq $v0, $at, .L800A3494 -/* 0A4054 800A3454 3C0B800F */ lui $t3, %hi(D_800E8658) # $t3, 0x800f -/* 0A4058 800A3458 24010003 */ li $at, 3 -/* 0A405C 800A345C 10410016 */ beq $v0, $at, .L800A34B8 -/* 0A4060 800A3460 3C18800F */ lui $t8, %hi(D_800E8670) # $t8, 0x800f -/* 0A4064 800A3464 1000001C */ b .L800A34D8 -/* 0A4068 800A3468 00000000 */ nop -.L800A346C: -/* 0A406C 800A346C 3C0A800F */ lui $t2, %hi(D_800E8640) # $t2, 0x800f -/* 0A4070 800A3470 3C0E800F */ lui $t6, %hi(D_800E8648) # $t6, 0x800f -/* 0A4074 800A3474 3C19800F */ lui $t9, %hi(D_800E8650) # $t9, 0x800f -/* 0A4078 800A3478 254A8640 */ addiu $t2, %lo(D_800E8640) # addiu $t2, $t2, -0x79c0 -/* 0A407C 800A347C 25CE8648 */ addiu $t6, %lo(D_800E8648) # addiu $t6, $t6, -0x79b8 -/* 0A4080 800A3480 27398650 */ addiu $t9, %lo(D_800E8650) # addiu $t9, $t9, -0x79b0 -/* 0A4084 800A3484 AFAA0060 */ sw $t2, 0x60($sp) -/* 0A4088 800A3488 AFAE005C */ sw $t6, 0x5c($sp) -/* 0A408C 800A348C 10000012 */ b .L800A34D8 -/* 0A4090 800A3490 AFB90058 */ sw $t9, 0x58($sp) -.L800A3494: -/* 0A4094 800A3494 3C0C800F */ lui $t4, %hi(D_800E8664) # $t4, 0x800f -/* 0A4098 800A3498 3C0D800F */ lui $t5, %hi(D_800E8668) # $t5, 0x800f -/* 0A409C 800A349C 256B8658 */ addiu $t3, %lo(D_800E8658) # addiu $t3, $t3, -0x79a8 -/* 0A40A0 800A34A0 258C8664 */ addiu $t4, %lo(D_800E8664) # addiu $t4, $t4, -0x799c -/* 0A40A4 800A34A4 25AD8668 */ addiu $t5, %lo(D_800E8668) # addiu $t5, $t5, -0x7998 -/* 0A40A8 800A34A8 AFAB0060 */ sw $t3, 0x60($sp) -/* 0A40AC 800A34AC AFAC005C */ sw $t4, 0x5c($sp) -/* 0A40B0 800A34B0 10000009 */ b .L800A34D8 -/* 0A40B4 800A34B4 AFAD0058 */ sw $t5, 0x58($sp) -.L800A34B8: -/* 0A40B8 800A34B8 3C0F800F */ lui $t7, %hi(D_800E867C) # $t7, 0x800f -/* 0A40BC 800A34BC 3C0A800F */ lui $t2, %hi(D_800E8680) # $t2, 0x800f -/* 0A40C0 800A34C0 27188670 */ addiu $t8, %lo(D_800E8670) # addiu $t8, $t8, -0x7990 -/* 0A40C4 800A34C4 25EF867C */ addiu $t7, %lo(D_800E867C) # addiu $t7, $t7, -0x7984 -/* 0A40C8 800A34C8 254A8680 */ addiu $t2, %lo(D_800E8680) # addiu $t2, $t2, -0x7980 -/* 0A40CC 800A34CC AFB80060 */ sw $t8, 0x60($sp) -/* 0A40D0 800A34D0 AFAF005C */ sw $t7, 0x5c($sp) -/* 0A40D4 800A34D4 AFAA0058 */ sw $t2, 0x58($sp) -.L800A34D8: -/* 0A40D8 800A34D8 0C031059 */ jal set_kerning -/* 0A40DC 800A34DC 24040001 */ li $a0, 1 -/* 0A40E0 800A34E0 0C0310BB */ jal set_text_font -/* 0A40E4 800A34E4 00002025 */ move $a0, $zero -/* 0A40E8 800A34E8 240E00FF */ li $t6, 255 -/* 0A40EC 800A34EC AFAE0010 */ sw $t6, 0x10($sp) -/* 0A40F0 800A34F0 00002025 */ move $a0, $zero -/* 0A40F4 800A34F4 00002825 */ move $a1, $zero -/* 0A40F8 800A34F8 00003025 */ move $a2, $zero -/* 0A40FC 800A34FC 0C0310E1 */ jal set_text_colour -/* 0A4100 800A3500 240700FF */ li $a3, 255 -/* 0A4104 800A3504 3C108012 */ lui $s0, %hi(gStopwatchErrorX) # $s0, 0x8012 -/* 0A4108 800A3508 3C118012 */ lui $s1, %hi(gHudOffsetX) # $s1, 0x8012 -/* 0A410C 800A350C 26316D24 */ addiu $s1, %lo(gHudOffsetX) # addiu $s1, $s1, 0x6d24 -/* 0A4110 800A3510 2610718C */ addiu $s0, %lo(gStopwatchErrorX) # addiu $s0, $s0, 0x718c -/* 0A4114 800A3514 8E190000 */ lw $t9, ($s0) -/* 0A4118 800A3518 8E2B0000 */ lw $t3, ($s1) -/* 0A411C 800A351C 3C0D8012 */ lui $t5, %hi(gHudBounceX) # $t5, 0x8012 -/* 0A4120 800A3520 8DAD6D28 */ lw $t5, %lo(gHudBounceX)($t5) -/* 0A4124 800A3524 3C068012 */ lui $a2, %hi(gStopwatchErrorY) # $a2, 0x8012 -/* 0A4128 800A3528 8CC67190 */ lw $a2, %lo(gStopwatchErrorY)($a2) -/* 0A412C 800A352C 032B6021 */ addu $t4, $t9, $t3 -/* 0A4130 800A3530 8FA70060 */ lw $a3, 0x60($sp) -/* 0A4134 800A3534 2418000C */ li $t8, 12 -/* 0A4138 800A3538 018D2821 */ addu $a1, $t4, $t5 -/* 0A413C 800A353C 24A50001 */ addiu $a1, $a1, 1 -/* 0A4140 800A3540 AFB80010 */ sw $t8, 0x10($sp) -/* 0A4144 800A3544 02402025 */ move $a0, $s2 -/* 0A4148 800A3548 0C031110 */ jal draw_text -/* 0A414C 800A354C 24C60001 */ addiu $a2, $a2, 1 -/* 0A4150 800A3550 8E0F0000 */ lw $t7, ($s0) -/* 0A4154 800A3554 8E2A0000 */ lw $t2, ($s1) -/* 0A4158 800A3558 3C198012 */ lui $t9, %hi(gHudBounceX) # $t9, 0x8012 -/* 0A415C 800A355C 8F396D28 */ lw $t9, %lo(gHudBounceX)($t9) -/* 0A4160 800A3560 3C068012 */ lui $a2, %hi(gStopwatchErrorY) # $a2, 0x8012 -/* 0A4164 800A3564 8CC67190 */ lw $a2, %lo(gStopwatchErrorY)($a2) -/* 0A4168 800A3568 01EA7021 */ addu $t6, $t7, $t2 -/* 0A416C 800A356C 8FA7005C */ lw $a3, 0x5c($sp) -/* 0A4170 800A3570 240B000C */ li $t3, 12 -/* 0A4174 800A3574 01D92821 */ addu $a1, $t6, $t9 -/* 0A4178 800A3578 24A50001 */ addiu $a1, $a1, 1 -/* 0A417C 800A357C AFAB0010 */ sw $t3, 0x10($sp) -/* 0A4180 800A3580 02402025 */ move $a0, $s2 -/* 0A4184 800A3584 0C031110 */ jal draw_text -/* 0A4188 800A3588 24C6000F */ addiu $a2, $a2, 0xf -/* 0A418C 800A358C 8E0C0000 */ lw $t4, ($s0) -/* 0A4190 800A3590 8E2D0000 */ lw $t5, ($s1) -/* 0A4194 800A3594 3C0F8012 */ lui $t7, %hi(gHudBounceX) # $t7, 0x8012 -/* 0A4198 800A3598 8DEF6D28 */ lw $t7, %lo(gHudBounceX)($t7) -/* 0A419C 800A359C 3C068012 */ lui $a2, %hi(gStopwatchErrorY) # $a2, 0x8012 -/* 0A41A0 800A35A0 8CC67190 */ lw $a2, %lo(gStopwatchErrorY)($a2) -/* 0A41A4 800A35A4 018DC021 */ addu $t8, $t4, $t5 -/* 0A41A8 800A35A8 8FA70058 */ lw $a3, 0x58($sp) -/* 0A41AC 800A35AC 240A000C */ li $t2, 12 -/* 0A41B0 800A35B0 030F2821 */ addu $a1, $t8, $t7 -/* 0A41B4 800A35B4 24A50001 */ addiu $a1, $a1, 1 -/* 0A41B8 800A35B8 AFAA0010 */ sw $t2, 0x10($sp) -/* 0A41BC 800A35BC 02402025 */ move $a0, $s2 -/* 0A41C0 800A35C0 0C031110 */ jal draw_text -/* 0A41C4 800A35C4 24C6001D */ addiu $a2, $a2, 0x1d -/* 0A41C8 800A35C8 3C028012 */ lui $v0, %hi(D_80127194) # $v0, 0x8012 -/* 0A41CC 800A35CC 8C427194 */ lw $v0, %lo(D_80127194)($v0) -/* 0A41D0 800A35D0 24070080 */ li $a3, 128 -/* 0A41D4 800A35D4 904E0013 */ lbu $t6, 0x13($v0) -/* 0A41D8 800A35D8 90440010 */ lbu $a0, 0x10($v0) -/* 0A41DC 800A35DC 90450011 */ lbu $a1, 0x11($v0) -/* 0A41E0 800A35E0 90460012 */ lbu $a2, 0x12($v0) -/* 0A41E4 800A35E4 0C0310E1 */ jal set_text_colour -/* 0A41E8 800A35E8 AFAE0010 */ sw $t6, 0x10($sp) -/* 0A41EC 800A35EC 8E190000 */ lw $t9, ($s0) -/* 0A41F0 800A35F0 8E2B0000 */ lw $t3, ($s1) -/* 0A41F4 800A35F4 3C0D8012 */ lui $t5, %hi(gHudBounceX) # $t5, 0x8012 -/* 0A41F8 800A35F8 8DAD6D28 */ lw $t5, %lo(gHudBounceX)($t5) -/* 0A41FC 800A35FC 3C068012 */ lui $a2, %hi(gStopwatchErrorY) # $a2, 0x8012 -/* 0A4200 800A3600 8CC67190 */ lw $a2, %lo(gStopwatchErrorY)($a2) -/* 0A4204 800A3604 8FA70060 */ lw $a3, 0x60($sp) -/* 0A4208 800A3608 2418000C */ li $t8, 12 -/* 0A420C 800A360C 032B6021 */ addu $t4, $t9, $t3 -/* 0A4210 800A3610 AFB80010 */ sw $t8, 0x10($sp) -/* 0A4214 800A3614 02402025 */ move $a0, $s2 -/* 0A4218 800A3618 0C031110 */ jal draw_text -/* 0A421C 800A361C 018D2821 */ addu $a1, $t4, $t5 -/* 0A4220 800A3620 8E0F0000 */ lw $t7, ($s0) -/* 0A4224 800A3624 8E2A0000 */ lw $t2, ($s1) -/* 0A4228 800A3628 3C198012 */ lui $t9, %hi(gHudBounceX) # $t9, 0x8012 -/* 0A422C 800A362C 3C068012 */ lui $a2, %hi(gStopwatchErrorY) # $a2, 0x8012 -/* 0A4230 800A3630 8CC67190 */ lw $a2, %lo(gStopwatchErrorY)($a2) -/* 0A4234 800A3634 8F396D28 */ lw $t9, %lo(gHudBounceX)($t9) -/* 0A4238 800A3638 8FA7005C */ lw $a3, 0x5c($sp) -/* 0A423C 800A363C 240B000C */ li $t3, 12 -/* 0A4240 800A3640 01EA7021 */ addu $t6, $t7, $t2 -/* 0A4244 800A3644 AFAB0010 */ sw $t3, 0x10($sp) -/* 0A4248 800A3648 02402025 */ move $a0, $s2 -/* 0A424C 800A364C 24C6000E */ addiu $a2, $a2, 0xe -/* 0A4250 800A3650 0C031110 */ jal draw_text -/* 0A4254 800A3654 01D92821 */ addu $a1, $t6, $t9 -/* 0A4258 800A3658 8E0C0000 */ lw $t4, ($s0) -/* 0A425C 800A365C 8E2D0000 */ lw $t5, ($s1) -/* 0A4260 800A3660 3C0F8012 */ lui $t7, %hi(gHudBounceX) # $t7, 0x8012 -/* 0A4264 800A3664 3C068012 */ lui $a2, %hi(gStopwatchErrorY) # $a2, 0x8012 -/* 0A4268 800A3668 8CC67190 */ lw $a2, %lo(gStopwatchErrorY)($a2) -/* 0A426C 800A366C 8DEF6D28 */ lw $t7, %lo(gHudBounceX)($t7) -/* 0A4270 800A3670 8FA70058 */ lw $a3, 0x58($sp) -/* 0A4274 800A3674 240A000C */ li $t2, 12 -/* 0A4278 800A3678 018DC021 */ addu $t8, $t4, $t5 -/* 0A427C 800A367C AFAA0010 */ sw $t2, 0x10($sp) -/* 0A4280 800A3680 02402025 */ move $a0, $s2 -/* 0A4284 800A3684 24C6001C */ addiu $a2, $a2, 0x1c -/* 0A4288 800A3688 0C031110 */ jal draw_text -/* 0A428C 800A368C 030F2821 */ addu $a1, $t8, $t7 -/* 0A4290 800A3690 3C048012 */ lui $a0, %hi(D_80127194) # $a0, 0x8012 -/* 0A4294 800A3694 8C847194 */ lw $a0, %lo(D_80127194)($a0) -/* 0A4298 800A3698 8FA500C8 */ lw $a1, 0xc8($sp) -/* 0A429C 800A369C 0C01FC93 */ jal update_colour_cycle -/* 0A42A0 800A36A0 00000000 */ nop -/* 0A42A4 800A36A4 0C031059 */ jal set_kerning -/* 0A42A8 800A36A8 00002025 */ move $a0, $zero -.L800A36AC: -/* 0A42AC 800A36AC 0C01A142 */ jal sprite_anim_off -/* 0A42B0 800A36B0 00002025 */ move $a0, $zero -.L800A36B4: -/* 0A42B4 800A36B4 8FBF002C */ lw $ra, 0x2c($sp) -/* 0A42B8 800A36B8 8FB00020 */ lw $s0, 0x20($sp) -/* 0A42BC 800A36BC 8FB10024 */ lw $s1, 0x24($sp) -/* 0A42C0 800A36C0 8FB20028 */ lw $s2, 0x28($sp) -/* 0A42C4 800A36C4 03E00008 */ jr $ra -/* 0A42C8 800A36C8 27BD00C0 */ addiu $sp, $sp, 0xc0 - diff --git a/asm/non_matchings/game_ui/func_800A6254.s b/asm/non_matchings/game_ui/func_800A6254.s deleted file mode 100644 index aae0b998..00000000 --- a/asm/non_matchings/game_ui/func_800A6254.s +++ /dev/null @@ -1,794 +0,0 @@ -.late_rodata -glabel jpt_800E8744 -.word L800A63D8, L800A691C, L800A6BCC, L800A6CA4, L800A6D68 -glabel D_800E8758 -.double 1.1 -glabel D_800E8760 -.double 1.1 - -.text -glabel func_800A6254 -/* 0A6E54 800A6254 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0A6E58 800A6258 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A6E5C 800A625C AFA50074 */ sw $a1, 0x74($sp) -/* 0A6E60 800A6260 0C01AF66 */ jal get_current_level_race_type -/* 0A6E64 800A6264 AFA40070 */ sw $a0, 0x70($sp) -/* 0A6E68 800A6268 0C027B20 */ jal is_in_two_player_adventure -/* 0A6E6C 800A626C AFA2005C */ sw $v0, 0x5c($sp) -/* 0A6E70 800A6270 8FA70070 */ lw $a3, 0x70($sp) -/* 0A6E74 800A6274 10400049 */ beqz $v0, .L800A639C -/* 0A6E78 800A6278 00000000 */ nop -/* 0A6E7C 800A627C 0C01BAAC */ jal is_postrace_viewport_active -/* 0A6E80 800A6280 AFA70070 */ sw $a3, 0x70($sp) -/* 0A6E84 800A6284 8FA70070 */ lw $a3, 0x70($sp) -/* 0A6E88 800A6288 10400044 */ beqz $v0, .L800A639C -/* 0A6E8C 800A628C 3C0E8012 */ lui $t6, %hi(D_80127189) # $t6, 0x8012 -/* 0A6E90 800A6290 91CE7189 */ lbu $t6, %lo(D_80127189)($t6) -/* 0A6E94 800A6294 00000000 */ nop -/* 0A6E98 800A6298 15C00040 */ bnez $t6, .L800A639C -/* 0A6E9C 800A629C 00000000 */ nop -/* 0A6EA0 800A62A0 0C003861 */ jal func_8000E184 -/* 0A6EA4 800A62A4 AFA70070 */ sw $a3, 0x70($sp) -/* 0A6EA8 800A62A8 8FA70070 */ lw $a3, 0x70($sp) -/* 0A6EAC 800A62AC 1040001B */ beqz $v0, .L800A631C -/* 0A6EB0 800A62B0 3C098012 */ lui $t1, %hi(gCurrentHud) # $t1, 0x8012 -/* 0A6EB4 800A62B4 25296CDC */ addiu $t1, %lo(gCurrentHud) # addiu $t1, $t1, 0x6cdc -/* 0A6EB8 800A62B8 8D220000 */ lw $v0, ($t1) -/* 0A6EBC 800A62BC 3C0142D8 */ li $at, 0x42D80000 # 108.000000 -/* 0A6EC0 800A62C0 44810000 */ mtc1 $at, $f0 -/* 0A6EC4 800A62C4 C44405F0 */ lwc1 $f4, 0x5f0($v0) -/* 0A6EC8 800A62C8 00000000 */ nop -/* 0A6ECC 800A62CC 46002181 */ sub.s $f6, $f4, $f0 -/* 0A6ED0 800A62D0 E44605F0 */ swc1 $f6, 0x5f0($v0) -/* 0A6ED4 800A62D4 8D220000 */ lw $v0, ($t1) -/* 0A6ED8 800A62D8 00000000 */ nop -/* 0A6EDC 800A62DC C4480610 */ lwc1 $f8, 0x610($v0) -/* 0A6EE0 800A62E0 00000000 */ nop -/* 0A6EE4 800A62E4 46004281 */ sub.s $f10, $f8, $f0 -/* 0A6EE8 800A62E8 E44A0610 */ swc1 $f10, 0x610($v0) -/* 0A6EEC 800A62EC 8D220000 */ lw $v0, ($t1) -/* 0A6EF0 800A62F0 00000000 */ nop -/* 0A6EF4 800A62F4 C4440170 */ lwc1 $f4, 0x170($v0) -/* 0A6EF8 800A62F8 00000000 */ nop -/* 0A6EFC 800A62FC 46002181 */ sub.s $f6, $f4, $f0 -/* 0A6F00 800A6300 E4460170 */ swc1 $f6, 0x170($v0) -/* 0A6F04 800A6304 8D220000 */ lw $v0, ($t1) -/* 0A6F08 800A6308 00000000 */ nop -/* 0A6F0C 800A630C C44802F0 */ lwc1 $f8, 0x2f0($v0) -/* 0A6F10 800A6310 00000000 */ nop -/* 0A6F14 800A6314 46004281 */ sub.s $f10, $f8, $f0 -/* 0A6F18 800A6318 E44A02F0 */ swc1 $f10, 0x2f0($v0) -.L800A631C: -/* 0A6F1C 800A631C 3C098012 */ lui $t1, %hi(gCurrentHud) # $t1, 0x8012 -/* 0A6F20 800A6320 25296CDC */ addiu $t1, %lo(gCurrentHud) # addiu $t1, $t1, 0x6cdc -/* 0A6F24 800A6324 8D220000 */ lw $v0, ($t1) -/* 0A6F28 800A6328 3C01420C */ li $at, 0x420C0000 # 35.000000 -/* 0A6F2C 800A632C 44810000 */ mtc1 $at, $f0 -/* 0A6F30 800A6330 C44405F0 */ lwc1 $f4, 0x5f0($v0) -/* 0A6F34 800A6334 3C03800E */ lui $v1, %hi(gHudAudioData) # $v1, 0x800e -/* 0A6F38 800A6338 46002180 */ add.s $f6, $f4, $f0 -/* 0A6F3C 800A633C 24632770 */ addiu $v1, %lo(gHudAudioData) # addiu $v1, $v1, 0x2770 -/* 0A6F40 800A6340 E44605F0 */ swc1 $f6, 0x5f0($v0) -/* 0A6F44 800A6344 8D220000 */ lw $v0, ($t1) -/* 0A6F48 800A6348 3C018012 */ lui $at, %hi(D_80127189) # $at, 0x8012 -/* 0A6F4C 800A634C C4480610 */ lwc1 $f8, 0x610($v0) -/* 0A6F50 800A6350 24180001 */ li $t8, 1 -/* 0A6F54 800A6354 46004280 */ add.s $f10, $f8, $f0 -/* 0A6F58 800A6358 E44A0610 */ swc1 $f10, 0x610($v0) -/* 0A6F5C 800A635C 8D220000 */ lw $v0, ($t1) -/* 0A6F60 800A6360 00000000 */ nop -/* 0A6F64 800A6364 C4440170 */ lwc1 $f4, 0x170($v0) -/* 0A6F68 800A6368 00000000 */ nop -/* 0A6F6C 800A636C 46002180 */ add.s $f6, $f4, $f0 -/* 0A6F70 800A6370 E4460170 */ swc1 $f6, 0x170($v0) -/* 0A6F74 800A6374 8D220000 */ lw $v0, ($t1) -/* 0A6F78 800A6378 00000000 */ nop -/* 0A6F7C 800A637C C44802F0 */ lwc1 $f8, 0x2f0($v0) -/* 0A6F80 800A6380 00000000 */ nop -/* 0A6F84 800A6384 46004280 */ add.s $f10, $f8, $f0 -/* 0A6F88 800A6388 E44A02F0 */ swc1 $f10, 0x2f0($v0) -/* 0A6F8C 800A638C 84EF0000 */ lh $t7, ($a3) -/* 0A6F90 800A6390 00000000 */ nop -/* 0A6F94 800A6394 A06F000C */ sb $t7, 0xc($v1) -/* 0A6F98 800A6398 A0387189 */ sb $t8, %lo(D_80127189)($at) -.L800A639C: -/* 0A6F9C 800A639C 3C098012 */ lui $t1, %hi(gCurrentHud) # $t1, 0x8012 -/* 0A6FA0 800A63A0 25296CDC */ addiu $t1, %lo(gCurrentHud) # addiu $t1, $t1, 0x6cdc -/* 0A6FA4 800A63A4 8D220000 */ lw $v0, ($t1) -/* 0A6FA8 800A63A8 3C03800E */ lui $v1, %hi(gHudAudioData) # $v1, 0x800e -/* 0A6FAC 800A63AC 905905FA */ lbu $t9, 0x5fa($v0) -/* 0A6FB0 800A63B0 24632770 */ addiu $v1, %lo(gHudAudioData) # addiu $v1, $v1, 0x2770 -/* 0A6FB4 800A63B4 2F210005 */ sltiu $at, $t9, 5 -/* 0A6FB8 800A63B8 10200278 */ beqz $at, .L800A6D9C -/* 0A6FBC 800A63BC 0019C880 */ sll $t9, $t9, 2 -/* 0A6FC0 800A63C0 3C01800F */ lui $at, %hi(jpt_800E8744) # $at, 0x800f -/* 0A6FC4 800A63C4 00390821 */ addu $at, $at, $t9 -/* 0A6FC8 800A63C8 8C398744 */ lw $t9, %lo(jpt_800E8744)($at) -/* 0A6FCC 800A63CC 00000000 */ nop -/* 0A6FD0 800A63D0 03200008 */ jr $t9 -/* 0A6FD4 800A63D4 00000000 */ nop -glabel L800A63D8 -/* 0A6FD8 800A63D8 8FAA005C */ lw $t2, 0x5c($sp) -/* 0A6FDC 800A63DC 240C007F */ li $t4, 127 -/* 0A6FE0 800A63E0 314B0040 */ andi $t3, $t2, 0x40 -/* 0A6FE4 800A63E4 1560000D */ bnez $t3, .L800A641C -/* 0A6FE8 800A63E8 24040016 */ li $a0, 22 -/* 0A6FEC 800A63EC A06C0002 */ sb $t4, 2($v1) -/* 0A6FF0 800A63F0 A0600003 */ sb $zero, 3($v1) -/* 0A6FF4 800A63F4 84ED0000 */ lh $t5, ($a3) -/* 0A6FF8 800A63F8 AFA70070 */ sw $a3, 0x70($sp) -/* 0A6FFC 800A63FC 00002825 */ move $a1, $zero -/* 0A7000 800A6400 0C000741 */ jal sound_play -/* 0A7004 800A6404 A06D000C */ sb $t5, 0xc($v1) -/* 0A7008 800A6408 3C098012 */ lui $t1, %hi(gCurrentHud) # $t1, 0x8012 -/* 0A700C 800A640C 25296CDC */ addiu $t1, %lo(gCurrentHud) # addiu $t1, $t1, 0x6cdc -/* 0A7010 800A6410 8D220000 */ lw $v0, ($t1) -/* 0A7014 800A6414 8FA70070 */ lw $a3, 0x70($sp) -/* 0A7018 800A6418 00000000 */ nop -.L800A641C: -/* 0A701C 800A641C 3C038012 */ lui $v1, %hi(gHUDNumPlayers) # $v1, 0x8012 -/* 0A7020 800A6420 8C636D0C */ lw $v1, %lo(gHUDNumPlayers)($v1) -/* 0A7024 800A6424 240EFFEC */ li $t6, -20 -/* 0A7028 800A6428 10600006 */ beqz $v1, .L800A6444 -/* 0A702C 800A642C 24060002 */ li $a2, 2 -/* 0A7030 800A6430 24080001 */ li $t0, 1 -/* 0A7034 800A6434 10680004 */ beq $v1, $t0, .L800A6448 -/* 0A7038 800A6438 00000000 */ nop -/* 0A703C 800A643C 10000009 */ b .L800A6464 -/* 0A7040 800A6440 24060002 */ li $a2, 2 -.L800A6444: -/* 0A7044 800A6444 24080001 */ li $t0, 1 -.L800A6448: -/* 0A7048 800A6448 A04E05FD */ sb $t6, 0x5fd($v0) -/* 0A704C 800A644C 8D2F0000 */ lw $t7, ($t1) -/* 0A7050 800A6450 2403FFF1 */ li $v1, -15 -/* 0A7054 800A6454 A1E3017D */ sb $v1, 0x17d($t7) -/* 0A7058 800A6458 8D380000 */ lw $t8, ($t1) -/* 0A705C 800A645C 10000016 */ b .L800A64B8 -/* 0A7060 800A6460 A30302FD */ sb $v1, 0x2fd($t8) -.L800A6464: -/* 0A7064 800A6464 84E30000 */ lh $v1, ($a3) -/* 0A7068 800A6468 2419FFA6 */ li $t9, -90 -/* 0A706C 800A646C 10600003 */ beqz $v1, .L800A647C -/* 0A7070 800A6470 00000000 */ nop -/* 0A7074 800A6474 14C30009 */ bne $a2, $v1, .L800A649C -/* 0A7078 800A6478 240C0037 */ li $t4, 55 -.L800A647C: -/* 0A707C 800A647C A05905FD */ sb $t9, 0x5fd($v0) -/* 0A7080 800A6480 8D2A0000 */ lw $t2, ($t1) -/* 0A7084 800A6484 2403FFAB */ li $v1, -85 -/* 0A7088 800A6488 A143017D */ sb $v1, 0x17d($t2) -/* 0A708C 800A648C 8D2B0000 */ lw $t3, ($t1) -/* 0A7090 800A6490 24060002 */ li $a2, 2 -/* 0A7094 800A6494 10000008 */ b .L800A64B8 -/* 0A7098 800A6498 A16302FD */ sb $v1, 0x2fd($t3) -.L800A649C: -/* 0A709C 800A649C A04C05FD */ sb $t4, 0x5fd($v0) -/* 0A70A0 800A64A0 8D2D0000 */ lw $t5, ($t1) -/* 0A70A4 800A64A4 2403003C */ li $v1, 60 -/* 0A70A8 800A64A8 A1A3017D */ sb $v1, 0x17d($t5) -/* 0A70AC 800A64AC 8D2E0000 */ lw $t6, ($t1) -/* 0A70B0 800A64B0 00000000 */ nop -/* 0A70B4 800A64B4 A1C302FD */ sb $v1, 0x2fd($t6) -.L800A64B8: -/* 0A70B8 800A64B8 3C048000 */ lui $a0, %hi(osTvType) # $a0, 0x8000 -/* 0A70BC 800A64BC 24840300 */ addiu $a0, %lo(osTvType) # addiu $a0, $a0, 0x300 -/* 0A70C0 800A64C0 8C8F0000 */ lw $t7, ($a0) -/* 0A70C4 800A64C4 00000000 */ nop -/* 0A70C8 800A64C8 15E00013 */ bnez $t7, .L800A6518 -/* 0A70CC 800A64CC 00000000 */ nop -/* 0A70D0 800A64D0 8D220000 */ lw $v0, ($t1) -/* 0A70D4 800A64D4 00000000 */ nop -/* 0A70D8 800A64D8 805805FD */ lb $t8, 0x5fd($v0) -/* 0A70DC 800A64DC 00000000 */ nop -/* 0A70E0 800A64E0 2719FFFC */ addiu $t9, $t8, -4 -/* 0A70E4 800A64E4 A05905FD */ sb $t9, 0x5fd($v0) -/* 0A70E8 800A64E8 8D220000 */ lw $v0, ($t1) -/* 0A70EC 800A64EC 00000000 */ nop -/* 0A70F0 800A64F0 804A017D */ lb $t2, 0x17d($v0) -/* 0A70F4 800A64F4 00000000 */ nop -/* 0A70F8 800A64F8 254BFFFC */ addiu $t3, $t2, -4 -/* 0A70FC 800A64FC A04B017D */ sb $t3, 0x17d($v0) -/* 0A7100 800A6500 8D220000 */ lw $v0, ($t1) -/* 0A7104 800A6504 00000000 */ nop -/* 0A7108 800A6508 804C02FD */ lb $t4, 0x2fd($v0) -/* 0A710C 800A650C 00000000 */ nop -/* 0A7110 800A6510 258DFFFC */ addiu $t5, $t4, -4 -/* 0A7114 800A6514 A04D02FD */ sb $t5, 0x2fd($v0) -.L800A6518: -/* 0A7118 800A6518 84E201AC */ lh $v0, 0x1ac($a3) -/* 0A711C 800A651C 00000000 */ nop -/* 0A7120 800A6520 28410004 */ slti $at, $v0, 4 -/* 0A7124 800A6524 10200004 */ beqz $at, .L800A6538 -/* 0A7128 800A6528 244EFFFF */ addiu $t6, $v0, -1 -/* 0A712C 800A652C 8D2F0000 */ lw $t7, ($t1) -/* 0A7130 800A6530 10000004 */ b .L800A6544 -/* 0A7134 800A6534 A5EE0618 */ sh $t6, 0x618($t7) -.L800A6538: -/* 0A7138 800A6538 8D390000 */ lw $t9, ($t1) -/* 0A713C 800A653C 24180003 */ li $t8, 3 -/* 0A7140 800A6540 A7380618 */ sh $t8, 0x618($t9) -.L800A6544: -/* 0A7144 800A6544 84EA01AC */ lh $t2, 0x1ac($a3) -/* 0A7148 800A6548 8D2C0000 */ lw $t4, ($t1) -/* 0A714C 800A654C 254BFFFF */ addiu $t3, $t2, -1 -/* 0A7150 800A6550 A58B05F8 */ sh $t3, 0x5f8($t4) -/* 0A7154 800A6554 8D2D0000 */ lw $t5, ($t1) -/* 0A7158 800A6558 3C028012 */ lui $v0, %hi(gNumActivePlayers) # $v0, 0x8012 -/* 0A715C 800A655C A1A805FA */ sb $t0, 0x5fa($t5) -/* 0A7160 800A6560 90426D37 */ lbu $v0, %lo(gNumActivePlayers)($v0) -/* 0A7164 800A6564 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0A7168 800A6568 10460008 */ beq $v0, $a2, .L800A658C -/* 0A716C 800A656C 00000000 */ nop -/* 0A7170 800A6570 24010003 */ li $at, 3 -/* 0A7174 800A6574 10410054 */ beq $v0, $at, .L800A66C8 -/* 0A7178 800A6578 24010004 */ li $at, 4 -/* 0A717C 800A657C 10410052 */ beq $v0, $at, .L800A66C8 -/* 0A7180 800A6580 00000000 */ nop -/* 0A7184 800A6584 100000A8 */ b .L800A6828 -/* 0A7188 800A6588 00000000 */ nop -.L800A658C: -/* 0A718C 800A658C 44816000 */ mtc1 $at, $f12 -/* 0A7190 800A6590 84E30000 */ lh $v1, ($a3) -/* 0A7194 800A6594 3C01C220 */ li $at, 0xC2200000 # -40.000000 -/* 0A7198 800A6598 44817000 */ mtc1 $at, $f14 -/* 0A719C 800A659C 14600007 */ bnez $v1, .L800A65BC -/* 0A71A0 800A65A0 3C014337 */ li $at, 0x43370000 # 183.000000 -/* 0A71A4 800A65A4 3C014296 */ li $at, 0x42960000 # 75.000000 -/* 0A71A8 800A65A8 44810000 */ mtc1 $at, $f0 -/* 0A71AC 800A65AC 3C0142B4 */ li $at, 0x42B40000 # 90.000000 -/* 0A71B0 800A65B0 44811000 */ mtc1 $at, $f2 -/* 0A71B4 800A65B4 10000006 */ b .L800A65D0 -/* 0A71B8 800A65B8 8C8E0000 */ lw $t6, ($a0) -.L800A65BC: -/* 0A71BC 800A65BC 44810000 */ mtc1 $at, $f0 -/* 0A71C0 800A65C0 3C014346 */ li $at, 0x43460000 # 198.000000 -/* 0A71C4 800A65C4 44811000 */ mtc1 $at, $f2 -/* 0A71C8 800A65C8 00000000 */ nop -/* 0A71CC 800A65CC 8C8E0000 */ lw $t6, ($a0) -.L800A65D0: -/* 0A71D0 800A65D0 3C01800F */ lui $at, %hi(D_800E8758 + 4) # $at, 0x800f -/* 0A71D4 800A65D4 15C0002D */ bnez $t6, .L800A668C -/* 0A71D8 800A65D8 00000000 */ nop -/* 0A71DC 800A65DC C4318758 */ lwc1 $f17, %lo(D_800E8758)($at) -/* 0A71E0 800A65E0 C430875C */ lwc1 $f16, %lo(D_800E8758 + 4)($at) -/* 0A71E4 800A65E4 46000121 */ cvt.d.s $f4, $f0 -/* 0A71E8 800A65E8 46302182 */ mul.d $f6, $f4, $f16 -/* 0A71EC 800A65EC 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0A71F0 800A65F0 44819000 */ mtc1 $at, $f18 -/* 0A71F4 800A65F4 46001221 */ cvt.d.s $f8, $f2 -/* 0A71F8 800A65F8 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0A71FC 800A65FC 46304282 */ mul.d $f10, $f8, $f16 -/* 0A7200 800A6600 44812000 */ mtc1 $at, $f4 -/* 0A7204 800A6604 46203020 */ cvt.s.d $f0, $f6 -/* 0A7208 800A6608 3C01C220 */ li $at, 0xC2200000 # -40.000000 -/* 0A720C 800A660C 44813000 */ mtc1 $at, $f6 -/* 0A7210 800A6610 462050A0 */ cvt.s.d $f2, $f10 -/* 0A7214 800A6614 46122301 */ sub.s $f12, $f4, $f18 -/* 0A7218 800A6618 46123381 */ sub.s $f14, $f6, $f18 -/* 0A721C 800A661C 444FF800 */ cfc1 $t7, $31 -/* 0A7220 800A6620 00000000 */ nop -/* 0A7224 800A6624 35E10003 */ ori $at, $t7, 3 -/* 0A7228 800A6628 38210002 */ xori $at, $at, 2 -/* 0A722C 800A662C 44C1F800 */ ctc1 $at, $31 -/* 0A7230 800A6630 00000000 */ nop -/* 0A7234 800A6634 46000224 */ cvt.w.s $f8, $f0 -/* 0A7238 800A6638 44184000 */ mfc1 $t8, $f8 -/* 0A723C 800A663C 44CFF800 */ ctc1 $t7, $31 -/* 0A7240 800A6640 44985000 */ mtc1 $t8, $f10 -/* 0A7244 800A6644 00000000 */ nop -/* 0A7248 800A6648 46805020 */ cvt.s.w $f0, $f10 -/* 0A724C 800A664C 4459F800 */ cfc1 $t9, $31 -/* 0A7250 800A6650 00000000 */ nop -/* 0A7254 800A6654 37210003 */ ori $at, $t9, 3 -/* 0A7258 800A6658 38210002 */ xori $at, $at, 2 -/* 0A725C 800A665C 44C1F800 */ ctc1 $at, $31 -/* 0A7260 800A6660 3C014110 */ li $at, 0x41100000 # 9.000000 -/* 0A7264 800A6664 46001124 */ cvt.w.s $f4, $f2 -/* 0A7268 800A6668 440A2000 */ mfc1 $t2, $f4 -/* 0A726C 800A666C 44D9F800 */ ctc1 $t9, $31 -/* 0A7270 800A6670 448A3000 */ mtc1 $t2, $f6 -/* 0A7274 800A6674 14600005 */ bnez $v1, .L800A668C -/* 0A7278 800A6678 468030A0 */ cvt.s.w $f2, $f6 -/* 0A727C 800A667C 44818000 */ mtc1 $at, $f16 -/* 0A7280 800A6680 00000000 */ nop -/* 0A7284 800A6684 46100001 */ sub.s $f0, $f0, $f16 -/* 0A7288 800A6688 46101081 */ sub.s $f2, $f2, $f16 -.L800A668C: -/* 0A728C 800A668C 8D2B0000 */ lw $t3, ($t1) -/* 0A7290 800A6690 3C028012 */ lui $v0, %hi(gNumActivePlayers) # $v0, 0x8012 -/* 0A7294 800A6694 E56C016C */ swc1 $f12, 0x16c($t3) -/* 0A7298 800A6698 8D2C0000 */ lw $t4, ($t1) -/* 0A729C 800A669C 00000000 */ nop -/* 0A72A0 800A66A0 E5800170 */ swc1 $f0, 0x170($t4) -/* 0A72A4 800A66A4 8D2D0000 */ lw $t5, ($t1) -/* 0A72A8 800A66A8 00000000 */ nop -/* 0A72AC 800A66AC E5AE02EC */ swc1 $f14, 0x2ec($t5) -/* 0A72B0 800A66B0 8D2E0000 */ lw $t6, ($t1) -/* 0A72B4 800A66B4 00000000 */ nop -/* 0A72B8 800A66B8 E5C202F0 */ swc1 $f2, 0x2f0($t6) -/* 0A72BC 800A66BC 90426D37 */ lbu $v0, %lo(gNumActivePlayers)($v0) -/* 0A72C0 800A66C0 10000059 */ b .L800A6828 -/* 0A72C4 800A66C4 00000000 */ nop -.L800A66C8: -/* 0A72C8 800A66C8 84E30000 */ lh $v1, ($a3) -/* 0A72CC 800A66CC 00000000 */ nop -/* 0A72D0 800A66D0 28610002 */ slti $at, $v1, 2 -/* 0A72D4 800A66D4 10200006 */ beqz $at, .L800A66F0 -/* 0A72D8 800A66D8 3C014296 */ li $at, 0x42960000 # 75.000000 -/* 0A72DC 800A66DC 44810000 */ mtc1 $at, $f0 -/* 0A72E0 800A66E0 3C0142B4 */ li $at, 0x42B40000 # 90.000000 -/* 0A72E4 800A66E4 44811000 */ mtc1 $at, $f2 -/* 0A72E8 800A66E8 10000006 */ b .L800A6704 -/* 0A72EC 800A66EC 00000000 */ nop -.L800A66F0: -/* 0A72F0 800A66F0 3C014337 */ li $at, 0x43370000 # 183.000000 -/* 0A72F4 800A66F4 44810000 */ mtc1 $at, $f0 -/* 0A72F8 800A66F8 3C014346 */ li $at, 0x43460000 # 198.000000 -/* 0A72FC 800A66FC 44811000 */ mtc1 $at, $f2 -/* 0A7300 800A6700 00000000 */ nop -.L800A6704: -/* 0A7304 800A6704 10600003 */ beqz $v1, .L800A6714 -/* 0A7308 800A6708 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 0A730C 800A670C 14C30006 */ bne $a2, $v1, .L800A6728 -/* 0A7310 800A6710 00000000 */ nop -.L800A6714: -/* 0A7314 800A6714 44816000 */ mtc1 $at, $f12 -/* 0A7318 800A6718 3C01C366 */ li $at, 0xC3660000 # -230.000000 -/* 0A731C 800A671C 44817000 */ mtc1 $at, $f14 -/* 0A7320 800A6720 10000007 */ b .L800A6740 -/* 0A7324 800A6724 8C8F0000 */ lw $t7, ($a0) -.L800A6728: -/* 0A7328 800A6728 3C014366 */ li $at, 0x43660000 # 230.000000 -/* 0A732C 800A672C 44816000 */ mtc1 $at, $f12 -/* 0A7330 800A6730 3C01C28C */ li $at, 0xC28C0000 # -70.000000 -/* 0A7334 800A6734 44817000 */ mtc1 $at, $f14 -/* 0A7338 800A6738 00000000 */ nop -/* 0A733C 800A673C 8C8F0000 */ lw $t7, ($a0) -.L800A6740: -/* 0A7340 800A6740 3C01800F */ lui $at, %hi(D_800E8760 + 4) # $at, 0x800f -/* 0A7344 800A6744 15E0002A */ bnez $t7, .L800A67F0 -/* 0A7348 800A6748 00000000 */ nop -/* 0A734C 800A674C C4318760 */ lwc1 $f17, %lo(D_800E8760)($at) -/* 0A7350 800A6750 C4308764 */ lwc1 $f16, %lo(D_800E8760 + 4)($at) -/* 0A7354 800A6754 46000221 */ cvt.d.s $f8, $f0 -/* 0A7358 800A6758 46304282 */ mul.d $f10, $f8, $f16 -/* 0A735C 800A675C 46001121 */ cvt.d.s $f4, $f2 -/* 0A7360 800A6760 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0A7364 800A6764 44819000 */ mtc1 $at, $f18 -/* 0A7368 800A6768 46302182 */ mul.d $f6, $f4, $f16 -/* 0A736C 800A676C 46205020 */ cvt.s.d $f0, $f10 -/* 0A7370 800A6770 462030A0 */ cvt.s.d $f2, $f6 -/* 0A7374 800A6774 46126301 */ sub.s $f12, $f12, $f18 -/* 0A7378 800A6778 46127381 */ sub.s $f14, $f14, $f18 -/* 0A737C 800A677C 4458F800 */ cfc1 $t8, $31 -/* 0A7380 800A6780 00000000 */ nop -/* 0A7384 800A6784 37010003 */ ori $at, $t8, 3 -/* 0A7388 800A6788 38210002 */ xori $at, $at, 2 -/* 0A738C 800A678C 44C1F800 */ ctc1 $at, $31 -/* 0A7390 800A6790 00000000 */ nop -/* 0A7394 800A6794 46000224 */ cvt.w.s $f8, $f0 -/* 0A7398 800A6798 44194000 */ mfc1 $t9, $f8 -/* 0A739C 800A679C 44D8F800 */ ctc1 $t8, $31 -/* 0A73A0 800A67A0 44995000 */ mtc1 $t9, $f10 -/* 0A73A4 800A67A4 00000000 */ nop -/* 0A73A8 800A67A8 46805020 */ cvt.s.w $f0, $f10 -/* 0A73AC 800A67AC 444AF800 */ cfc1 $t2, $31 -/* 0A73B0 800A67B0 00000000 */ nop -/* 0A73B4 800A67B4 35410003 */ ori $at, $t2, 3 -/* 0A73B8 800A67B8 38210002 */ xori $at, $at, 2 -/* 0A73BC 800A67BC 44C1F800 */ ctc1 $at, $31 -/* 0A73C0 800A67C0 28610002 */ slti $at, $v1, 2 -/* 0A73C4 800A67C4 46001124 */ cvt.w.s $f4, $f2 -/* 0A73C8 800A67C8 440B2000 */ mfc1 $t3, $f4 -/* 0A73CC 800A67CC 44CAF800 */ ctc1 $t2, $31 -/* 0A73D0 800A67D0 448B3000 */ mtc1 $t3, $f6 -/* 0A73D4 800A67D4 10200006 */ beqz $at, .L800A67F0 -/* 0A73D8 800A67D8 468030A0 */ cvt.s.w $f2, $f6 -/* 0A73DC 800A67DC 3C014110 */ li $at, 0x41100000 # 9.000000 -/* 0A73E0 800A67E0 44818000 */ mtc1 $at, $f16 -/* 0A73E4 800A67E4 00000000 */ nop -/* 0A73E8 800A67E8 46100001 */ sub.s $f0, $f0, $f16 -/* 0A73EC 800A67EC 46101081 */ sub.s $f2, $f2, $f16 -.L800A67F0: -/* 0A73F0 800A67F0 8D2C0000 */ lw $t4, ($t1) -/* 0A73F4 800A67F4 3C028012 */ lui $v0, %hi(gNumActivePlayers) # $v0, 0x8012 -/* 0A73F8 800A67F8 E58C016C */ swc1 $f12, 0x16c($t4) -/* 0A73FC 800A67FC 8D2D0000 */ lw $t5, ($t1) -/* 0A7400 800A6800 00000000 */ nop -/* 0A7404 800A6804 E5A00170 */ swc1 $f0, 0x170($t5) -/* 0A7408 800A6808 8D2E0000 */ lw $t6, ($t1) -/* 0A740C 800A680C 00000000 */ nop -/* 0A7410 800A6810 E5CE02EC */ swc1 $f14, 0x2ec($t6) -/* 0A7414 800A6814 8D2F0000 */ lw $t7, ($t1) -/* 0A7418 800A6818 00000000 */ nop -/* 0A741C 800A681C E5E202F0 */ swc1 $f2, 0x2f0($t7) -/* 0A7420 800A6820 90426D37 */ lbu $v0, %lo(gNumActivePlayers)($v0) -/* 0A7424 800A6824 00000000 */ nop -.L800A6828: -/* 0A7428 800A6828 1102015F */ beq $t0, $v0, .L800A6DA8 -/* 0A742C 800A682C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A7430 800A6830 0C01AF6C */ jal get_current_level_header -/* 0A7434 800A6834 AFA70070 */ sw $a3, 0x70($sp) -/* 0A7438 800A6838 8FA70070 */ lw $a3, 0x70($sp) -/* 0A743C 800A683C 00004025 */ move $t0, $zero -/* 0A7440 800A6840 8CF80128 */ lw $t8, 0x128($a3) -/* 0A7444 800A6844 00001825 */ move $v1, $zero -/* 0A7448 800A6848 AFB80044 */ sw $t8, 0x44($sp) -/* 0A744C 800A684C 8059004B */ lb $t9, 0x4B($v0) -/* 0A7450 800A6850 27A6003C */ addiu $a2, $sp, 0x3c -/* 0A7454 800A6854 1B20000E */ blez $t9, .L800A6890 -/* 0A7458 800A6858 8FA40044 */ lw $a0, 0x44($sp) -/* 0A745C 800A685C 8045004B */ lb $a1, 0x4B($v0) -/* 0A7460 800A6860 00E02025 */ move $a0, $a3 -.L800A6864: -/* 0A7464 800A6864 8C820128 */ lw $v0, 0x128($a0) -/* 0A7468 800A6868 8FAA0044 */ lw $t2, 0x44($sp) -/* 0A746C 800A686C 24630001 */ addiu $v1, $v1, 1 -/* 0A7470 800A6870 004A082A */ slt $at, $v0, $t2 -/* 0A7474 800A6874 10200002 */ beqz $at, .L800A6880 -/* 0A7478 800A6878 01024021 */ addu $t0, $t0, $v0 -/* 0A747C 800A687C AFA20044 */ sw $v0, 0x44($sp) -.L800A6880: -/* 0A7480 800A6880 0065082A */ slt $at, $v1, $a1 -/* 0A7484 800A6884 1420FFF7 */ bnez $at, .L800A6864 -/* 0A7488 800A6888 24840004 */ addiu $a0, $a0, 4 -/* 0A748C 800A688C 8FA40044 */ lw $a0, 0x44($sp) -.L800A6890: -/* 0A7490 800A6890 27A50040 */ addiu $a1, $sp, 0x40 -/* 0A7494 800A6894 27A70038 */ addiu $a3, $sp, 0x38 -/* 0A7498 800A6898 0C0165E4 */ jal get_timestamp_from_frames -/* 0A749C 800A689C AFA80048 */ sw $t0, 0x48($sp) -/* 0A74A0 800A68A0 3C098012 */ lui $t1, %hi(gCurrentHud) # $t1, 0x8012 -/* 0A74A4 800A68A4 25296CDC */ addiu $t1, %lo(gCurrentHud) # addiu $t1, $t1, 0x6cdc -/* 0A74A8 800A68A8 8D2C0000 */ lw $t4, ($t1) -/* 0A74AC 800A68AC 8FAB0040 */ lw $t3, 0x40($sp) -/* 0A74B0 800A68B0 27A50040 */ addiu $a1, $sp, 0x40 -/* 0A74B4 800A68B4 A18B02FA */ sb $t3, 0x2fa($t4) -/* 0A74B8 800A68B8 8D2E0000 */ lw $t6, ($t1) -/* 0A74BC 800A68BC 8FAD003C */ lw $t5, 0x3c($sp) -/* 0A74C0 800A68C0 27A6003C */ addiu $a2, $sp, 0x3c -/* 0A74C4 800A68C4 A1CD02FB */ sb $t5, 0x2fb($t6) -/* 0A74C8 800A68C8 8D380000 */ lw $t8, ($t1) -/* 0A74CC 800A68CC 8FAF0038 */ lw $t7, 0x38($sp) -/* 0A74D0 800A68D0 27A70038 */ addiu $a3, $sp, 0x38 -/* 0A74D4 800A68D4 A30F02FC */ sb $t7, 0x2fc($t8) -/* 0A74D8 800A68D8 8FA40048 */ lw $a0, 0x48($sp) -/* 0A74DC 800A68DC 0C0165E4 */ jal get_timestamp_from_frames -/* 0A74E0 800A68E0 00000000 */ nop -/* 0A74E4 800A68E4 3C098012 */ lui $t1, %hi(gCurrentHud) # $t1, 0x8012 -/* 0A74E8 800A68E8 25296CDC */ addiu $t1, %lo(gCurrentHud) # addiu $t1, $t1, 0x6cdc -/* 0A74EC 800A68EC 8D2A0000 */ lw $t2, ($t1) -/* 0A74F0 800A68F0 8FB90040 */ lw $t9, 0x40($sp) -/* 0A74F4 800A68F4 00000000 */ nop -/* 0A74F8 800A68F8 A159017A */ sb $t9, 0x17a($t2) -/* 0A74FC 800A68FC 8D2C0000 */ lw $t4, ($t1) -/* 0A7500 800A6900 8FAB003C */ lw $t3, 0x3c($sp) -/* 0A7504 800A6904 00000000 */ nop -/* 0A7508 800A6908 A18B017B */ sb $t3, 0x17b($t4) -/* 0A750C 800A690C 8D2E0000 */ lw $t6, ($t1) -/* 0A7510 800A6910 8FAD0038 */ lw $t5, 0x38($sp) -/* 0A7514 800A6914 10000123 */ b .L800A6DA4 -/* 0A7518 800A6918 A1CD017C */ sb $t5, 0x17c($t6) -glabel L800A691C -/* 0A751C 800A691C 8FA40074 */ lw $a0, 0x74($sp) -/* 0A7520 800A6920 804505FD */ lb $a1, 0x5fd($v0) -/* 0A7524 800A6924 00047880 */ sll $t7, $a0, 2 -/* 0A7528 800A6928 01E47823 */ subu $t7, $t7, $a0 -/* 0A752C 800A692C 000F7880 */ sll $t7, $t7, 2 -/* 0A7530 800A6930 01E47821 */ addu $t7, $t7, $a0 -/* 0A7534 800A6934 00AFC023 */ subu $t8, $a1, $t7 -/* 0A7538 800A6938 271900A0 */ addiu $t9, $t8, 0xa0 -/* 0A753C 800A693C 44994000 */ mtc1 $t9, $f8 -/* 0A7540 800A6940 C44205EC */ lwc1 $f2, 0x5ec($v0) -/* 0A7544 800A6944 468042A0 */ cvt.s.w $f10, $f8 -/* 0A7548 800A6948 24060001 */ li $a2, 1 -/* 0A754C 800A694C 01E02025 */ move $a0, $t7 -/* 0A7550 800A6950 460A103C */ c.lt.s $f2, $f10 -/* 0A7554 800A6954 01E01825 */ move $v1, $t7 -/* 0A7558 800A6958 45000003 */ bc1f .L800A6968 -/* 0A755C 800A695C 24AA00A0 */ addiu $t2, $a1, 0xa0 -/* 0A7560 800A6960 1000000F */ b .L800A69A0 -/* 0A7564 800A6964 00003025 */ move $a2, $zero -.L800A6968: -/* 0A7568 800A6968 448A2000 */ mtc1 $t2, $f4 -/* 0A756C 800A696C 00000000 */ nop -/* 0A7570 800A6970 468021A0 */ cvt.s.w $f6, $f4 -/* 0A7574 800A6974 46023201 */ sub.s $f8, $f6, $f2 -/* 0A7578 800A6978 444BF800 */ cfc1 $t3, $31 -/* 0A757C 800A697C 00000000 */ nop -/* 0A7580 800A6980 35610003 */ ori $at, $t3, 3 -/* 0A7584 800A6984 38210002 */ xori $at, $at, 2 -/* 0A7588 800A6988 44C1F800 */ ctc1 $at, $31 -/* 0A758C 800A698C 00000000 */ nop -/* 0A7590 800A6990 460042A4 */ cvt.w.s $f10, $f8 -/* 0A7594 800A6994 44CBF800 */ ctc1 $t3, $31 -/* 0A7598 800A6998 44035000 */ mfc1 $v1, $f10 -/* 0A759C 800A699C 00000000 */ nop -.L800A69A0: -/* 0A75A0 800A69A0 44832000 */ mtc1 $v1, $f4 -/* 0A75A4 800A69A4 3C0C8012 */ lui $t4, %hi(gNumActivePlayers) # $t4, 0x8012 -/* 0A75A8 800A69A8 46802020 */ cvt.s.w $f0, $f4 -/* 0A75AC 800A69AC 24080001 */ li $t0, 1 -/* 0A75B0 800A69B0 46001180 */ add.s $f6, $f2, $f0 -/* 0A75B4 800A69B4 E44605EC */ swc1 $f6, 0x5ec($v0) -/* 0A75B8 800A69B8 8D220000 */ lw $v0, ($t1) -/* 0A75BC 800A69BC 00000000 */ nop -/* 0A75C0 800A69C0 C448060C */ lwc1 $f8, 0x60c($v0) -/* 0A75C4 800A69C4 00000000 */ nop -/* 0A75C8 800A69C8 46004280 */ add.s $f10, $f8, $f0 -/* 0A75CC 800A69CC E44A060C */ swc1 $f10, 0x60c($v0) -/* 0A75D0 800A69D0 918C6D37 */ lbu $t4, %lo(gNumActivePlayers)($t4) -/* 0A75D4 800A69D4 00000000 */ nop -/* 0A75D8 800A69D8 110C0045 */ beq $t0, $t4, .L800A6AF0 -/* 0A75DC 800A69DC 00000000 */ nop -/* 0A75E0 800A69E0 8D220000 */ lw $v0, ($t1) -/* 0A75E4 800A69E4 00801825 */ move $v1, $a0 -/* 0A75E8 800A69E8 8045017D */ lb $a1, 0x17d($v0) -/* 0A75EC 800A69EC C440016C */ lwc1 $f0, 0x16c($v0) -/* 0A75F0 800A69F0 00A46821 */ addu $t5, $a1, $a0 -/* 0A75F4 800A69F4 25AE00A0 */ addiu $t6, $t5, 0xa0 -/* 0A75F8 800A69F8 448E2000 */ mtc1 $t6, $f4 -/* 0A75FC 800A69FC 24AF00A0 */ addiu $t7, $a1, 0xa0 -/* 0A7600 800A6A00 468021A0 */ cvt.s.w $f6, $f4 -/* 0A7604 800A6A04 4600303C */ c.lt.s $f6, $f0 -/* 0A7608 800A6A08 00000000 */ nop -/* 0A760C 800A6A0C 45000003 */ bc1f .L800A6A1C -/* 0A7610 800A6A10 00000000 */ nop -/* 0A7614 800A6A14 1000000F */ b .L800A6A54 -/* 0A7618 800A6A18 00003025 */ move $a2, $zero -.L800A6A1C: -/* 0A761C 800A6A1C 448F4000 */ mtc1 $t7, $f8 -/* 0A7620 800A6A20 00000000 */ nop -/* 0A7624 800A6A24 468042A0 */ cvt.s.w $f10, $f8 -/* 0A7628 800A6A28 460A0101 */ sub.s $f4, $f0, $f10 -/* 0A762C 800A6A2C 4458F800 */ cfc1 $t8, $31 -/* 0A7630 800A6A30 00000000 */ nop -/* 0A7634 800A6A34 37010003 */ ori $at, $t8, 3 -/* 0A7638 800A6A38 38210002 */ xori $at, $at, 2 -/* 0A763C 800A6A3C 44C1F800 */ ctc1 $at, $31 -/* 0A7640 800A6A40 00000000 */ nop -/* 0A7644 800A6A44 460021A4 */ cvt.w.s $f6, $f4 -/* 0A7648 800A6A48 44D8F800 */ ctc1 $t8, $31 -/* 0A764C 800A6A4C 44033000 */ mfc1 $v1, $f6 -/* 0A7650 800A6A50 00000000 */ nop -.L800A6A54: -/* 0A7654 800A6A54 44834000 */ mtc1 $v1, $f8 -/* 0A7658 800A6A58 00801825 */ move $v1, $a0 -/* 0A765C 800A6A5C 468042A0 */ cvt.s.w $f10, $f8 -/* 0A7660 800A6A60 460A0101 */ sub.s $f4, $f0, $f10 -/* 0A7664 800A6A64 E444016C */ swc1 $f4, 0x16c($v0) -/* 0A7668 800A6A68 8D220000 */ lw $v0, ($t1) -/* 0A766C 800A6A6C 00000000 */ nop -/* 0A7670 800A6A70 804502FD */ lb $a1, 0x2fd($v0) -/* 0A7674 800A6A74 C44202EC */ lwc1 $f2, 0x2ec($v0) -/* 0A7678 800A6A78 00A4C823 */ subu $t9, $a1, $a0 -/* 0A767C 800A6A7C 272A00A0 */ addiu $t2, $t9, 0xa0 -/* 0A7680 800A6A80 448A3000 */ mtc1 $t2, $f6 -/* 0A7684 800A6A84 24AB00A0 */ addiu $t3, $a1, 0xa0 -/* 0A7688 800A6A88 46803220 */ cvt.s.w $f8, $f6 -/* 0A768C 800A6A8C 4608103C */ c.lt.s $f2, $f8 -/* 0A7690 800A6A90 00000000 */ nop -/* 0A7694 800A6A94 45000003 */ bc1f .L800A6AA4 -/* 0A7698 800A6A98 00000000 */ nop -/* 0A769C 800A6A9C 1000000F */ b .L800A6ADC -/* 0A76A0 800A6AA0 00003025 */ move $a2, $zero -.L800A6AA4: -/* 0A76A4 800A6AA4 448B5000 */ mtc1 $t3, $f10 -/* 0A76A8 800A6AA8 00000000 */ nop -/* 0A76AC 800A6AAC 46805120 */ cvt.s.w $f4, $f10 -/* 0A76B0 800A6AB0 46022181 */ sub.s $f6, $f4, $f2 -/* 0A76B4 800A6AB4 444CF800 */ cfc1 $t4, $31 -/* 0A76B8 800A6AB8 00000000 */ nop -/* 0A76BC 800A6ABC 35810003 */ ori $at, $t4, 3 -/* 0A76C0 800A6AC0 38210002 */ xori $at, $at, 2 -/* 0A76C4 800A6AC4 44C1F800 */ ctc1 $at, $31 -/* 0A76C8 800A6AC8 00000000 */ nop -/* 0A76CC 800A6ACC 46003224 */ cvt.w.s $f8, $f6 -/* 0A76D0 800A6AD0 44CCF800 */ ctc1 $t4, $31 -/* 0A76D4 800A6AD4 44034000 */ mfc1 $v1, $f8 -/* 0A76D8 800A6AD8 00000000 */ nop -.L800A6ADC: -/* 0A76DC 800A6ADC 44835000 */ mtc1 $v1, $f10 -/* 0A76E0 800A6AE0 00000000 */ nop -/* 0A76E4 800A6AE4 46805120 */ cvt.s.w $f4, $f10 -/* 0A76E8 800A6AE8 46041180 */ add.s $f6, $f2, $f4 -/* 0A76EC 800A6AEC E44602EC */ swc1 $f6, 0x2ec($v0) -.L800A6AF0: -/* 0A76F0 800A6AF0 10C00032 */ beqz $a2, .L800A6BBC -/* 0A76F4 800A6AF4 3C058012 */ lui $a1, %hi(gHUDVoiceSoundMask) # $a1, 0x8012 -/* 0A76F8 800A6AF8 8D2D0000 */ lw $t5, ($t1) -/* 0A76FC 800A6AFC 24060002 */ li $a2, 2 -/* 0A7700 800A6B00 A1A605FA */ sb $a2, 0x5fa($t5) -/* 0A7704 800A6B04 8D2F0000 */ lw $t7, ($t1) -/* 0A7708 800A6B08 240EFF88 */ li $t6, -120 -/* 0A770C 800A6B0C A1EE05FB */ sb $t6, 0x5fb($t7) -/* 0A7710 800A6B10 8D380000 */ lw $t8, ($t1) -/* 0A7714 800A6B14 24A56D40 */ addiu $a1, %lo(gHUDVoiceSoundMask) # addiu $a1, $a1, 0x6d40 -/* 0A7718 800A6B18 A30005FC */ sb $zero, 0x5fc($t8) -/* 0A771C 800A6B1C 8CB90000 */ lw $t9, ($a1) -/* 0A7720 800A6B20 8FAA005C */ lw $t2, 0x5c($sp) -/* 0A7724 800A6B24 17200025 */ bnez $t9, .L800A6BBC -/* 0A7728 800A6B28 24010040 */ li $at, 64 -/* 0A772C 800A6B2C 1541001A */ bne $t2, $at, .L800A6B98 -/* 0A7730 800A6B30 00000000 */ nop -/* 0A7734 800A6B34 84E301AC */ lh $v1, 0x1ac($a3) -/* 0A7738 800A6B38 24040146 */ li $a0, 326 -/* 0A773C 800A6B3C 10680007 */ beq $v1, $t0, .L800A6B5C -/* 0A7740 800A6B40 00000000 */ nop -/* 0A7744 800A6B44 10660005 */ beq $v1, $a2, .L800A6B5C -/* 0A7748 800A6B48 24010003 */ li $at, 3 -/* 0A774C 800A6B4C 10610008 */ beq $v1, $at, .L800A6B70 -/* 0A7750 800A6B50 2404014C */ li $a0, 332 -/* 0A7754 800A6B54 1000000B */ b .L800A6B84 -/* 0A7758 800A6B58 2404014D */ li $a0, 333 -.L800A6B5C: -/* 0A775C 800A6B5C 0C000741 */ jal sound_play -/* 0A7760 800A6B60 AFA70070 */ sw $a3, 0x70($sp) -/* 0A7764 800A6B64 8FA70070 */ lw $a3, 0x70($sp) -/* 0A7768 800A6B68 10000014 */ b .L800A6BBC -/* 0A776C 800A6B6C 00000000 */ nop -.L800A6B70: -/* 0A7770 800A6B70 0C000741 */ jal sound_play -/* 0A7774 800A6B74 AFA70070 */ sw $a3, 0x70($sp) -/* 0A7778 800A6B78 8FA70070 */ lw $a3, 0x70($sp) -/* 0A777C 800A6B7C 1000000F */ b .L800A6BBC -/* 0A7780 800A6B80 00000000 */ nop -.L800A6B84: -/* 0A7784 800A6B84 0C000741 */ jal sound_play -/* 0A7788 800A6B88 AFA70070 */ sw $a3, 0x70($sp) -/* 0A778C 800A6B8C 8FA70070 */ lw $a3, 0x70($sp) -/* 0A7790 800A6B90 1000000A */ b .L800A6BBC -/* 0A7794 800A6B94 00000000 */ nop -.L800A6B98: -/* 0A7798 800A6B98 0C006D90 */ jal timetrial_ghost_staff -/* 0A779C 800A6B9C AFA70070 */ sw $a3, 0x70($sp) -/* 0A77A0 800A6BA0 8FA70070 */ lw $a3, 0x70($sp) -/* 0A77A4 800A6BA4 14400005 */ bnez $v0, .L800A6BBC -/* 0A77A8 800A6BA8 00E02025 */ move $a0, $a3 -/* 0A77AC 800A6BAC 0C029B6D */ jal play_time_trial_end_message -/* 0A77B0 800A6BB0 AFA70070 */ sw $a3, 0x70($sp) -/* 0A77B4 800A6BB4 8FA70070 */ lw $a3, 0x70($sp) -/* 0A77B8 800A6BB8 00000000 */ nop -.L800A6BBC: -/* 0A77BC 800A6BBC 0C0297C6 */ jal hud_draw_finish_misc -/* 0A77C0 800A6BC0 00E02025 */ move $a0, $a3 -/* 0A77C4 800A6BC4 10000078 */ b .L800A6DA8 -/* 0A77C8 800A6BC8 8FBF0014 */ lw $ra, 0x14($sp) -glabel L800A6BCC -/* 0A77CC 800A6BCC 804B05FB */ lb $t3, 0x5fb($v0) -/* 0A77D0 800A6BD0 8FAC0074 */ lw $t4, 0x74($sp) -/* 0A77D4 800A6BD4 240FFF88 */ li $t7, -120 -/* 0A77D8 800A6BD8 016C6821 */ addu $t5, $t3, $t4 -/* 0A77DC 800A6BDC A04D05FB */ sb $t5, 0x5fb($v0) -/* 0A77E0 800A6BE0 8D220000 */ lw $v0, ($t1) -/* 0A77E4 800A6BE4 3C0B8012 */ lui $t3, %hi(gNumActivePlayers) # $t3, 0x8012 -/* 0A77E8 800A6BE8 804E05FB */ lb $t6, 0x5fb($v0) -/* 0A77EC 800A6BEC 00000000 */ nop -/* 0A77F0 800A6BF0 29C10078 */ slti $at, $t6, 0x78 -/* 0A77F4 800A6BF4 1420000A */ bnez $at, .L800A6C20 -/* 0A77F8 800A6BF8 00000000 */ nop -/* 0A77FC 800A6BFC A04F05FB */ sb $t7, 0x5fb($v0) -/* 0A7800 800A6C00 8D220000 */ lw $v0, ($t1) -/* 0A7804 800A6C04 00000000 */ nop -/* 0A7808 800A6C08 805805FC */ lb $t8, 0x5fc($v0) -/* 0A780C 800A6C0C 00000000 */ nop -/* 0A7810 800A6C10 27190001 */ addiu $t9, $t8, 1 -/* 0A7814 800A6C14 A05905FC */ sb $t9, 0x5fc($v0) -/* 0A7818 800A6C18 8D220000 */ lw $v0, ($t1) -/* 0A781C 800A6C1C 00000000 */ nop -.L800A6C20: -/* 0A7820 800A6C20 804A05FC */ lb $t2, 0x5fc($v0) -/* 0A7824 800A6C24 24060002 */ li $a2, 2 -/* 0A7828 800A6C28 14CA001A */ bne $a2, $t2, .L800A6C94 -/* 0A782C 800A6C2C 00000000 */ nop -/* 0A7830 800A6C30 916B6D37 */ lbu $t3, %lo(gNumActivePlayers)($t3) -/* 0A7834 800A6C34 24080001 */ li $t0, 1 -/* 0A7838 800A6C38 110B000B */ beq $t0, $t3, .L800A6C68 -/* 0A783C 800A6C3C 240C0003 */ li $t4, 3 -/* 0A7840 800A6C40 0C027B20 */ jal is_in_two_player_adventure -/* 0A7844 800A6C44 AFA70070 */ sw $a3, 0x70($sp) -/* 0A7848 800A6C48 8FA70070 */ lw $a3, 0x70($sp) -/* 0A784C 800A6C4C 3C098012 */ lui $t1, %hi(gCurrentHud) # $t1, 0x8012 -/* 0A7850 800A6C50 1040000D */ beqz $v0, .L800A6C88 -/* 0A7854 800A6C54 25296CDC */ addiu $t1, %lo(gCurrentHud) # addiu $t1, $t1, 0x6cdc -/* 0A7858 800A6C58 3C028012 */ lui $v0, %hi(gCurrentHud) # $v0, 0x8012 -/* 0A785C 800A6C5C 8C426CDC */ lw $v0, %lo(gCurrentHud)($v0) -/* 0A7860 800A6C60 00000000 */ nop -/* 0A7864 800A6C64 240C0003 */ li $t4, 3 -.L800A6C68: -/* 0A7868 800A6C68 A04C05FA */ sb $t4, 0x5fa($v0) -/* 0A786C 800A6C6C AFA70070 */ sw $a3, 0x70($sp) -/* 0A7870 800A6C70 24040016 */ li $a0, 22 -/* 0A7874 800A6C74 0C000741 */ jal sound_play -/* 0A7878 800A6C78 00002825 */ move $a1, $zero -/* 0A787C 800A6C7C 8FA70070 */ lw $a3, 0x70($sp) -/* 0A7880 800A6C80 10000004 */ b .L800A6C94 -/* 0A7884 800A6C84 00000000 */ nop -.L800A6C88: -/* 0A7888 800A6C88 8D2E0000 */ lw $t6, ($t1) -/* 0A788C 800A6C8C 240D0004 */ li $t5, 4 -/* 0A7890 800A6C90 A1CD05FA */ sb $t5, 0x5fa($t6) -.L800A6C94: -/* 0A7894 800A6C94 0C0297C6 */ jal hud_draw_finish_misc -/* 0A7898 800A6C98 00E02025 */ move $a0, $a3 -/* 0A789C 800A6C9C 10000042 */ b .L800A6DA8 -/* 0A78A0 800A6CA0 8FBF0014 */ lw $ra, 0x14($sp) -glabel L800A6CA4 -/* 0A78A4 800A6CA4 8FAF005C */ lw $t7, 0x5c($sp) -/* 0A78A8 800A6CA8 24010040 */ li $at, 64 -/* 0A78AC 800A6CAC 15E10003 */ bne $t7, $at, .L800A6CBC -/* 0A78B0 800A6CB0 24180004 */ li $t8, 4 -/* 0A78B4 800A6CB4 10000028 */ b .L800A6D58 -/* 0A78B8 800A6CB8 A05805FA */ sb $t8, 0x5fa($v0) -.L800A6CBC: -/* 0A78BC 800A6CBC 8FB90074 */ lw $t9, 0x74($sp) -/* 0A78C0 800A6CC0 C44A05EC */ lwc1 $f10, 0x5ec($v0) -/* 0A78C4 800A6CC4 00195080 */ sll $t2, $t9, 2 -/* 0A78C8 800A6CC8 01595023 */ subu $t2, $t2, $t9 -/* 0A78CC 800A6CCC 000A5080 */ sll $t2, $t2, 2 -/* 0A78D0 800A6CD0 01595021 */ addu $t2, $t2, $t9 -/* 0A78D4 800A6CD4 448A4000 */ mtc1 $t2, $f8 -/* 0A78D8 800A6CD8 3C01C348 */ li $at, 0xC3480000 # -200.000000 -/* 0A78DC 800A6CDC 46804020 */ cvt.s.w $f0, $f8 -/* 0A78E0 800A6CE0 240B0004 */ li $t3, 4 -/* 0A78E4 800A6CE4 46005101 */ sub.s $f4, $f10, $f0 -/* 0A78E8 800A6CE8 E44405EC */ swc1 $f4, 0x5ec($v0) -/* 0A78EC 800A6CEC 8D220000 */ lw $v0, ($t1) -/* 0A78F0 800A6CF0 44812000 */ mtc1 $at, $f4 -/* 0A78F4 800A6CF4 C446060C */ lwc1 $f6, 0x60c($v0) -/* 0A78F8 800A6CF8 00000000 */ nop -/* 0A78FC 800A6CFC 46003201 */ sub.s $f8, $f6, $f0 -/* 0A7900 800A6D00 E448060C */ swc1 $f8, 0x60c($v0) -/* 0A7904 800A6D04 8D220000 */ lw $v0, ($t1) -/* 0A7908 800A6D08 00000000 */ nop -/* 0A790C 800A6D0C C44A05EC */ lwc1 $f10, 0x5ec($v0) -/* 0A7910 800A6D10 00000000 */ nop -/* 0A7914 800A6D14 4604503C */ c.lt.s $f10, $f4 -/* 0A7918 800A6D18 00000000 */ nop -/* 0A791C 800A6D1C 45000004 */ bc1f .L800A6D30 -/* 0A7920 800A6D20 00000000 */ nop -/* 0A7924 800A6D24 A04B05FA */ sb $t3, 0x5fa($v0) -/* 0A7928 800A6D28 8D220000 */ lw $v0, ($t1) -/* 0A792C 800A6D2C 00000000 */ nop -.L800A6D30: -/* 0A7930 800A6D30 C446016C */ lwc1 $f6, 0x16c($v0) -/* 0A7934 800A6D34 00000000 */ nop -/* 0A7938 800A6D38 46003200 */ add.s $f8, $f6, $f0 -/* 0A793C 800A6D3C E448016C */ swc1 $f8, 0x16c($v0) -/* 0A7940 800A6D40 8D220000 */ lw $v0, ($t1) -/* 0A7944 800A6D44 00000000 */ nop -/* 0A7948 800A6D48 C44A02EC */ lwc1 $f10, 0x2ec($v0) -/* 0A794C 800A6D4C 00000000 */ nop -/* 0A7950 800A6D50 46005100 */ add.s $f4, $f10, $f0 -/* 0A7954 800A6D54 E44402EC */ swc1 $f4, 0x2ec($v0) -.L800A6D58: -/* 0A7958 800A6D58 0C0297C6 */ jal hud_draw_finish_misc -/* 0A795C 800A6D5C 00E02025 */ move $a0, $a3 -/* 0A7960 800A6D60 10000011 */ b .L800A6DA8 -/* 0A7964 800A6D64 8FBF0014 */ lw $ra, 0x14($sp) -glabel L800A6D68 -/* 0A7968 800A6D68 84EC0000 */ lh $t4, ($a3) -/* 0A796C 800A6D6C 806D000C */ lb $t5, 0xc($v1) -/* 0A7970 800A6D70 240F0005 */ li $t7, 5 -/* 0A7974 800A6D74 158D0003 */ bne $t4, $t5, .L800A6D84 -/* 0A7978 800A6D78 00E02025 */ move $a0, $a3 -/* 0A797C 800A6D7C 240EFFFF */ li $t6, -1 -/* 0A7980 800A6D80 A06E0003 */ sb $t6, 3($v1) -.L800A6D84: -/* 0A7984 800A6D84 A04F05FA */ sb $t7, 0x5fa($v0) -/* 0A7988 800A6D88 8D380000 */ lw $t8, ($t1) -/* 0A798C 800A6D8C 0C0297C6 */ jal hud_draw_finish_misc -/* 0A7990 800A6D90 A30005FB */ sb $zero, 0x5fb($t8) -/* 0A7994 800A6D94 10000004 */ b .L800A6DA8 -/* 0A7998 800A6D98 8FBF0014 */ lw $ra, 0x14($sp) -.L800A6D9C: -/* 0A799C 800A6D9C 0C0297C6 */ jal hud_draw_finish_misc -/* 0A79A0 800A6DA0 00E02025 */ move $a0, $a3 -.L800A6DA4: -/* 0A79A4 800A6DA4 8FBF0014 */ lw $ra, 0x14($sp) -.L800A6DA8: -/* 0A79A8 800A6DA8 27BD0070 */ addiu $sp, $sp, 0x70 -/* 0A79AC 800A6DAC 03E00008 */ jr $ra -/* 0A79B0 800A6DB0 00000000 */ nop - diff --git a/asm/non_matchings/game_ui/func_800AA600.s b/asm/non_matchings/game_ui/func_800AA600.s deleted file mode 100644 index 56963098..00000000 --- a/asm/non_matchings/game_ui/func_800AA600.s +++ /dev/null @@ -1,671 +0,0 @@ -.late_rodata -glabel D_800E87D8 -.float 1.1 -.word 0 # Padding -glabel D_800E87E0 -.double 1.1 - -.text -glabel func_800AA600 -/* 0AB200 800AA600 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 0AB204 800AA604 AFBF002C */ sw $ra, 0x2c($sp) -/* 0AB208 800AA608 AFB00028 */ sw $s0, 0x28($sp) -/* 0AB20C 800AA60C AFA400B8 */ sw $a0, 0xb8($sp) -/* 0AB210 800AA610 AFA500BC */ sw $a1, 0xbc($sp) -/* 0AB214 800AA614 AFA600C0 */ sw $a2, 0xc0($sp) -/* 0AB218 800AA618 84E80006 */ lh $t0, 6($a3) -/* 0AB21C 800AA61C 3C038012 */ lui $v1, %hi(gAssetHudElementIds) # $v1, 0x8012 -/* 0AB220 800AA620 8C636CF0 */ lw $v1, %lo(gAssetHudElementIds)($v1) -/* 0AB224 800AA624 00087040 */ sll $t6, $t0, 1 -/* 0AB228 800AA628 006E7821 */ addu $t7, $v1, $t6 -/* 0AB22C 800AA62C 85F80000 */ lh $t8, ($t7) -/* 0AB230 800AA630 340AC000 */ li $t2, 49152 -/* 0AB234 800AA634 3302C000 */ andi $v0, $t8, 0xc000 -/* 0AB238 800AA638 00E08025 */ move $s0, $a3 -/* 0AB23C 800AA63C 15420007 */ bne $t2, $v0, .L800AA65C -/* 0AB240 800AA640 AFB80038 */ sw $t8, 0x38($sp) -/* 0AB244 800AA644 3C0B8012 */ lui $t3, %hi(gMinimapOpacity) # $t3, 0x8012 -/* 0AB248 800AA648 816B6CD0 */ lb $t3, %lo(gMinimapOpacity)($t3) -/* 0AB24C 800AA64C 00000000 */ nop -/* 0AB250 800AA650 000B6023 */ negu $t4, $t3 -/* 0AB254 800AA654 10000005 */ b .L800AA66C -/* 0AB258 800AA658 AFAC00A4 */ sw $t4, 0xa4($sp) -.L800AA65C: -/* 0AB25C 800AA65C 3C0D8012 */ lui $t5, %hi(gMinimapOpacity) # $t5, 0x8012 -/* 0AB260 800AA660 81AD6CD0 */ lb $t5, %lo(gMinimapOpacity)($t5) -/* 0AB264 800AA664 00000000 */ nop -/* 0AB268 800AA668 AFAD00A4 */ sw $t5, 0xa4($sp) -.L800AA66C: -/* 0AB26C 800AA66C 3C098012 */ lui $t1, %hi(gAssetHudElements) # $t1, 0x8012 -/* 0AB270 800AA670 25296CF4 */ addiu $t1, %lo(gAssetHudElements) # addiu $t1, $t1, 0x6cf4 -/* 0AB274 800AA674 8D2E0000 */ lw $t6, ($t1) -/* 0AB278 800AA678 00087880 */ sll $t7, $t0, 2 -/* 0AB27C 800AA67C 01CFC021 */ addu $t8, $t6, $t7 -/* 0AB280 800AA680 8F190000 */ lw $t9, ($t8) -/* 0AB284 800AA684 00000000 */ nop -/* 0AB288 800AA688 1720004A */ bnez $t9, .L800AA7B4 -/* 0AB28C 800AA68C 00000000 */ nop -/* 0AB290 800AA690 1542000F */ bne $t2, $v0, .L800AA6D0 -/* 0AB294 800AA694 8FB80038 */ lw $t8, 0x38($sp) -/* 0AB298 800AA698 8FA40038 */ lw $a0, 0x38($sp) -/* 0AB29C 800AA69C 00000000 */ nop -/* 0AB2A0 800AA6A0 308B3FFF */ andi $t3, $a0, 0x3fff -/* 0AB2A4 800AA6A4 0C01EB9D */ jal load_texture -/* 0AB2A8 800AA6A8 01602025 */ move $a0, $t3 -/* 0AB2AC 800AA6AC 3C098012 */ lui $t1, %hi(gAssetHudElements) # $t1, 0x8012 -/* 0AB2B0 800AA6B0 860D0006 */ lh $t5, 6($s0) -/* 0AB2B4 800AA6B4 25296CF4 */ addiu $t1, %lo(gAssetHudElements) # addiu $t1, $t1, 0x6cf4 -/* 0AB2B8 800AA6B8 8D2C0000 */ lw $t4, ($t1) -/* 0AB2BC 800AA6BC 000D7080 */ sll $t6, $t5, 2 -/* 0AB2C0 800AA6C0 018E7821 */ addu $t7, $t4, $t6 -/* 0AB2C4 800AA6C4 10000034 */ b .L800AA798 -/* 0AB2C8 800AA6C8 ADE20000 */ sw $v0, ($t7) -/* 0AB2CC 800AA6CC 8FB80038 */ lw $t8, 0x38($sp) -.L800AA6D0: -/* 0AB2D0 800AA6D0 8FAF0038 */ lw $t7, 0x38($sp) -/* 0AB2D4 800AA6D4 33198000 */ andi $t9, $t8, 0x8000 -/* 0AB2D8 800AA6D8 1320000B */ beqz $t9, .L800AA708 -/* 0AB2DC 800AA6DC 33043FFF */ andi $a0, $t8, 0x3fff -/* 0AB2E0 800AA6E0 0C01F04B */ jal func_8007C12C -/* 0AB2E4 800AA6E4 24050001 */ li $a1, 1 -/* 0AB2E8 800AA6E8 3C098012 */ lui $t1, %hi(gAssetHudElements) # $t1, 0x8012 -/* 0AB2EC 800AA6EC 860D0006 */ lh $t5, 6($s0) -/* 0AB2F0 800AA6F0 25296CF4 */ addiu $t1, %lo(gAssetHudElements) # addiu $t1, $t1, 0x6cf4 -/* 0AB2F4 800AA6F4 8D2B0000 */ lw $t3, ($t1) -/* 0AB2F8 800AA6F8 000D6080 */ sll $t4, $t5, 2 -/* 0AB2FC 800AA6FC 016C7021 */ addu $t6, $t3, $t4 -/* 0AB300 800AA700 10000025 */ b .L800AA798 -/* 0AB304 800AA704 ADC20000 */ sw $v0, ($t6) -.L800AA708: -/* 0AB308 800AA708 31F94000 */ andi $t9, $t7, 0x4000 -/* 0AB30C 800AA70C 13200018 */ beqz $t9, .L800AA770 -/* 0AB310 800AA710 01E0C025 */ move $t8, $t7 -/* 0AB314 800AA714 A3B8009C */ sb $t8, 0x9c($sp) -/* 0AB318 800AA718 860D0006 */ lh $t5, 6($s0) -/* 0AB31C 800AA71C 27A4009C */ addiu $a0, $sp, 0x9c -/* 0AB320 800AA720 000D5840 */ sll $t3, $t5, 1 -/* 0AB324 800AA724 006B6021 */ addu $t4, $v1, $t3 -/* 0AB328 800AA728 858E0000 */ lh $t6, ($t4) -/* 0AB32C 800AA72C A7A0009E */ sh $zero, 0x9e($sp) -/* 0AB330 800AA730 31D90100 */ andi $t9, $t6, 0x100 -/* 0AB334 800AA734 00197843 */ sra $t7, $t9, 1 -/* 0AB338 800AA738 35F80008 */ ori $t8, $t7, 8 -/* 0AB33C 800AA73C A3B8009D */ sb $t8, 0x9d($sp) -/* 0AB340 800AA740 A7A000A0 */ sh $zero, 0xa0($sp) -/* 0AB344 800AA744 A7A000A2 */ sh $zero, 0xa2($sp) -/* 0AB348 800AA748 0C003A95 */ jal spawn_object -/* 0AB34C 800AA74C 00002825 */ move $a1, $zero -/* 0AB350 800AA750 3C098012 */ lui $t1, %hi(gAssetHudElements) # $t1, 0x8012 -/* 0AB354 800AA754 860B0006 */ lh $t3, 6($s0) -/* 0AB358 800AA758 25296CF4 */ addiu $t1, %lo(gAssetHudElements) # addiu $t1, $t1, 0x6cf4 -/* 0AB35C 800AA75C 8D2D0000 */ lw $t5, ($t1) -/* 0AB360 800AA760 000B6080 */ sll $t4, $t3, 2 -/* 0AB364 800AA764 01AC7021 */ addu $t6, $t5, $t4 -/* 0AB368 800AA768 1000000B */ b .L800AA798 -/* 0AB36C 800AA76C ADC20000 */ sw $v0, ($t6) -.L800AA770: -/* 0AB370 800AA770 8FA40038 */ lw $a0, 0x38($sp) -/* 0AB374 800AA774 0C017E67 */ jal object_model_init -/* 0AB378 800AA778 00002825 */ move $a1, $zero -/* 0AB37C 800AA77C 3C098012 */ lui $t1, %hi(gAssetHudElements) # $t1, 0x8012 -/* 0AB380 800AA780 860F0006 */ lh $t7, 6($s0) -/* 0AB384 800AA784 25296CF4 */ addiu $t1, %lo(gAssetHudElements) # addiu $t1, $t1, 0x6cf4 -/* 0AB388 800AA788 8D390000 */ lw $t9, ($t1) -/* 0AB38C 800AA78C 000FC080 */ sll $t8, $t7, 2 -/* 0AB390 800AA790 03385821 */ addu $t3, $t9, $t8 -/* 0AB394 800AA794 AD620000 */ sw $v0, ($t3) -.L800AA798: -/* 0AB398 800AA798 86080006 */ lh $t0, 6($s0) -/* 0AB39C 800AA79C 8D2D0000 */ lw $t5, ($t1) -/* 0AB3A0 800AA7A0 00086080 */ sll $t4, $t0, 2 -/* 0AB3A4 800AA7A4 01AC7021 */ addu $t6, $t5, $t4 -/* 0AB3A8 800AA7A8 8DCF0000 */ lw $t7, ($t6) -/* 0AB3AC 800AA7AC 00000000 */ nop -/* 0AB3B0 800AA7B0 11E00203 */ beqz $t7, .L800AAFC0 -.L800AA7B4: -/* 0AB3B4 800AA7B4 3C198012 */ lui $t9, %hi(gAssetHudElementStaleCounter) # $t9, 0x8012 -/* 0AB3B8 800AA7B8 8F396CD8 */ lw $t9, %lo(gAssetHudElementStaleCounter)($t9) -/* 0AB3BC 800AA7BC 3C018012 */ lui $at, %hi(gHUDCurrDisplayList) # $at, 0x8012 -/* 0AB3C0 800AA7C0 0328C021 */ addu $t8, $t9, $t0 -/* 0AB3C4 800AA7C4 A3000000 */ sb $zero, ($t8) -/* 0AB3C8 800AA7C8 8FAB00B8 */ lw $t3, 0xb8($sp) -/* 0AB3CC 800AA7CC 8FAC00BC */ lw $t4, 0xbc($sp) -/* 0AB3D0 800AA7D0 8D6D0000 */ lw $t5, ($t3) -/* 0AB3D4 800AA7D4 8FAF00C0 */ lw $t7, 0xc0($sp) -/* 0AB3D8 800AA7D8 AC2D6CFC */ sw $t5, %lo(gHUDCurrDisplayList)($at) -/* 0AB3DC 800AA7DC 8D8E0000 */ lw $t6, ($t4) -/* 0AB3E0 800AA7E0 3C018012 */ lui $at, %hi(gHUDCurrMatrix) # $at, 0x8012 -/* 0AB3E4 800AA7E4 AC2E6D00 */ sw $t6, %lo(gHUDCurrMatrix)($at) -/* 0AB3E8 800AA7E8 8DF90000 */ lw $t9, ($t7) -/* 0AB3EC 800AA7EC 3C018012 */ lui $at, %hi(gHUDCurrVertex) # $at, 0x8012 -/* 0AB3F0 800AA7F0 AC396D04 */ sw $t9, %lo(gHUDCurrVertex)($at) -/* 0AB3F4 800AA7F4 86080006 */ lh $t0, 6($s0) -/* 0AB3F8 800AA7F8 24010028 */ li $at, 40 -/* 0AB3FC 800AA7FC 11010021 */ beq $t0, $at, .L800AA884 -/* 0AB400 800AA800 340AC000 */ li $t2, 49152 -/* 0AB404 800AA804 2401000E */ li $at, 14 -/* 0AB408 800AA808 11010014 */ beq $t0, $at, .L800AA85C -/* 0AB40C 800AA80C 3C0C8012 */ lui $t4, %hi(gHudOffsetX) # $t4, 0x8012 -/* 0AB410 800AA810 2401001B */ li $at, 27 -/* 0AB414 800AA814 11010011 */ beq $t0, $at, .L800AA85C -/* 0AB418 800AA818 2901002F */ slti $at, $t0, 0x2f -/* 0AB41C 800AA81C 14200002 */ bnez $at, .L800AA828 -/* 0AB420 800AA820 29010036 */ slti $at, $t0, 0x36 -/* 0AB424 800AA824 1420000D */ bnez $at, .L800AA85C -.L800AA828: -/* 0AB428 800AA828 2401002E */ li $at, 46 -/* 0AB42C 800AA82C 1101000B */ beq $t0, $at, .L800AA85C -/* 0AB430 800AA830 3C188012 */ lui $t8, %hi(gMinimapXlu) # $t8, 0x8012 -/* 0AB434 800AA834 83186CD3 */ lb $t8, %lo(gMinimapXlu)($t8) -/* 0AB438 800AA838 8FAD00A4 */ lw $t5, 0xa4($sp) -/* 0AB43C 800AA83C 330B0001 */ andi $t3, $t8, 1 -/* 0AB440 800AA840 11600006 */ beqz $t3, .L800AA85C -/* 0AB444 800AA844 00000000 */ nop -/* 0AB448 800AA848 448D3000 */ mtc1 $t5, $f6 -/* 0AB44C 800AA84C C6040010 */ lwc1 $f4, 0x10($s0) -/* 0AB450 800AA850 46803220 */ cvt.s.w $f8, $f6 -/* 0AB454 800AA854 46082280 */ add.s $f10, $f4, $f8 -/* 0AB458 800AA858 E60A0010 */ swc1 $f10, 0x10($s0) -.L800AA85C: -/* 0AB45C 800AA85C 3C0E8012 */ lui $t6, %hi(gHudBounceX) # $t6, 0x8012 -/* 0AB460 800AA860 8DCE6D28 */ lw $t6, %lo(gHudBounceX)($t6) -/* 0AB464 800AA864 8D8C6D24 */ lw $t4, %lo(gHudOffsetX)($t4) -/* 0AB468 800AA868 C606000C */ lwc1 $f6, 0xc($s0) -/* 0AB46C 800AA86C 018E7821 */ addu $t7, $t4, $t6 -/* 0AB470 800AA870 448F8000 */ mtc1 $t7, $f16 -/* 0AB474 800AA874 86080006 */ lh $t0, 6($s0) -/* 0AB478 800AA878 468084A0 */ cvt.s.w $f18, $f16 -/* 0AB47C 800AA87C 46123100 */ add.s $f4, $f6, $f18 -/* 0AB480 800AA880 E604000C */ swc1 $f4, 0xc($s0) -.L800AA884: -/* 0AB484 800AA884 3C198012 */ lui $t9, %hi(gAssetHudElementIds) # $t9, 0x8012 -/* 0AB488 800AA888 8F396CF0 */ lw $t9, %lo(gAssetHudElementIds)($t9) -/* 0AB48C 800AA88C 0008C040 */ sll $t8, $t0, 1 -/* 0AB490 800AA890 03385821 */ addu $t3, $t9, $t8 -/* 0AB494 800AA894 85620000 */ lh $v0, ($t3) -/* 0AB498 800AA898 2901002F */ slti $at, $t0, 0x2f -/* 0AB49C 800AA89C 304DC000 */ andi $t5, $v0, 0xc000 -/* 0AB4A0 800AA8A0 154D0140 */ bne $t2, $t5, .L800AADA4 -/* 0AB4A4 800AA8A4 30598000 */ andi $t9, $v0, 0x8000 -/* 0AB4A8 800AA8A8 14200095 */ bnez $at, .L800AAB00 -/* 0AB4AC 800AA8AC 3C198012 */ lui $t9, %hi(D_80126CD5) # $t9, 0x8012 -/* 0AB4B0 800AA8B0 29010036 */ slti $at, $t0, 0x36 -/* 0AB4B4 800AA8B4 10200092 */ beqz $at, .L800AAB00 -/* 0AB4B8 800AA8B8 3C048000 */ lui $a0, %hi(osTvType) # $a0, 0x8000 -/* 0AB4BC 800AA8BC 8C840300 */ lw $a0, %lo(osTvType)($a0) -/* 0AB4C0 800AA8C0 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 0AB4C4 800AA8C4 14800009 */ bnez $a0, .L800AA8EC -/* 0AB4C8 800AA8C8 3C0C8012 */ lui $t4, %hi(gMinimapXlu) # $t4, 0x8012 -/* 0AB4CC 800AA8CC C6080010 */ lwc1 $f8, 0x10($s0) -/* 0AB4D0 800AA8D0 44815000 */ mtc1 $at, $f10 -/* 0AB4D4 800AA8D4 3C048000 */ lui $a0, %hi(osTvType) # $a0, 0x8000 -/* 0AB4D8 800AA8D8 460A4401 */ sub.s $f16, $f8, $f10 -/* 0AB4DC 800AA8DC 86080006 */ lh $t0, 6($s0) -/* 0AB4E0 800AA8E0 E6100010 */ swc1 $f16, 0x10($s0) -/* 0AB4E4 800AA8E4 8C840300 */ lw $a0, %lo(osTvType)($a0) -/* 0AB4E8 800AA8E8 00000000 */ nop -.L800AA8EC: -/* 0AB4EC 800AA8EC 818C6CD3 */ lb $t4, %lo(gMinimapXlu)($t4) -/* 0AB4F0 800AA8F0 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0AB4F4 800AA8F4 318E0002 */ andi $t6, $t4, 2 -/* 0AB4F8 800AA8F8 11C0001E */ beqz $t6, .L800AA974 -/* 0AB4FC 800AA8FC 240300FF */ li $v1, 255 -/* 0AB500 800AA900 3C0F8012 */ lui $t7, %hi(gMinimapOpacity) # $t7, 0x8012 -/* 0AB504 800AA904 81EF6CD0 */ lb $t7, %lo(gMinimapOpacity)($t7) -/* 0AB508 800AA908 3C198012 */ lui $t9, %hi(D_80126CD5) # $t9, 0x8012 -/* 0AB50C 800AA90C 448F3000 */ mtc1 $t7, $f6 -/* 0AB510 800AA910 9339718B */ lbu $t9, %lo(gMinimapOpacityTarget)($t9) -/* 0AB514 800AA914 468034A0 */ cvt.s.w $f18, $f6 -/* 0AB518 800AA918 44810000 */ mtc1 $at, $f0 -/* 0AB51C 800AA91C 44994000 */ mtc1 $t9, $f8 -/* 0AB520 800AA920 46009102 */ mul.s $f4, $f18, $f0 -/* 0AB524 800AA924 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0AB528 800AA928 07210004 */ bgez $t9, .L800AA93C -/* 0AB52C 800AA92C 468042A0 */ cvt.s.w $f10, $f8 -/* 0AB530 800AA930 44818000 */ mtc1 $at, $f16 -/* 0AB534 800AA934 00000000 */ nop -/* 0AB538 800AA938 46105280 */ add.s $f10, $f10, $f16 -.L800AA93C: -/* 0AB53C 800AA93C 00000000 */ nop -/* 0AB540 800AA940 460A2183 */ div.s $f6, $f4, $f10 -/* 0AB544 800AA944 46060481 */ sub.s $f18, $f0, $f6 -/* 0AB548 800AA948 4458F800 */ cfc1 $t8, $31 -/* 0AB54C 800AA94C 00000000 */ nop -/* 0AB550 800AA950 37010003 */ ori $at, $t8, 3 -/* 0AB554 800AA954 38210002 */ xori $at, $at, 2 -/* 0AB558 800AA958 44C1F800 */ ctc1 $at, $31 -/* 0AB55C 800AA95C 00000000 */ nop -/* 0AB560 800AA960 46009224 */ cvt.w.s $f8, $f18 -/* 0AB564 800AA964 44034000 */ mfc1 $v1, $f8 -/* 0AB568 800AA968 44D8F800 */ ctc1 $t8, $31 -/* 0AB56C 800AA96C 10000002 */ b .L800AA978 -/* 0AB570 800AA970 8D2B0000 */ lw $t3, ($t1) -.L800AA974: -/* 0AB574 800AA974 8D2B0000 */ lw $t3, ($t1) -.L800AA978: -/* 0AB578 800AA978 00086880 */ sll $t5, $t0, 2 -/* 0AB57C 800AA97C 016D6021 */ addu $t4, $t3, $t5 -/* 0AB580 800AA980 8D820000 */ lw $v0, ($t4) -/* 0AB584 800AA984 860E0018 */ lh $t6, 0x18($s0) -/* 0AB588 800AA988 844F0016 */ lh $t7, 0x16($v0) -/* 0AB58C 800AA98C 4458F800 */ cfc1 $t8, $31 -/* 0AB590 800AA990 01CF0019 */ multu $t6, $t7 -/* 0AB594 800AA994 37010003 */ ori $at, $t8, 3 -/* 0AB598 800AA998 38210002 */ xori $at, $at, 2 -/* 0AB59C 800AA99C 44C1F800 */ ctc1 $at, $31 -/* 0AB5A0 800AA9A0 240E00FF */ li $t6, 255 -/* 0AB5A4 800AA9A4 27A50088 */ addiu $a1, $sp, 0x88 -/* 0AB5A8 800AA9A8 00003025 */ move $a2, $zero -/* 0AB5AC 800AA9AC 00003825 */ move $a3, $zero -/* 0AB5B0 800AA9B0 0000C812 */ mflo $t9 -/* 0AB5B4 800AA9B4 00591021 */ addu $v0, $v0, $t9 -/* 0AB5B8 800AA9B8 AFA20088 */ sw $v0, 0x88($sp) -/* 0AB5BC 800AA9BC C610000C */ lwc1 $f16, 0xc($s0) -/* 0AB5C0 800AA9C0 00000000 */ nop -/* 0AB5C4 800AA9C4 46008124 */ cvt.w.s $f4, $f16 -/* 0AB5C8 800AA9C8 44D8F800 */ ctc1 $t8, $31 -/* 0AB5CC 800AA9CC 440B2000 */ mfc1 $t3, $f4 -/* 0AB5D0 800AA9D0 00000000 */ nop -/* 0AB5D4 800AA9D4 444DF800 */ cfc1 $t5, $31 -/* 0AB5D8 800AA9D8 A7AB008C */ sh $t3, 0x8c($sp) -/* 0AB5DC 800AA9DC 35A10003 */ ori $at, $t5, 3 -/* 0AB5E0 800AA9E0 38210002 */ xori $at, $at, 2 -/* 0AB5E4 800AA9E4 44C1F800 */ ctc1 $at, $31 -/* 0AB5E8 800AA9E8 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 0AB5EC 800AA9EC AFA00090 */ sw $zero, 0x90($sp) -/* 0AB5F0 800AA9F0 460051A4 */ cvt.w.s $f6, $f10 -/* 0AB5F4 800AA9F4 440C3000 */ mfc1 $t4, $f6 -/* 0AB5F8 800AA9F8 44CDF800 */ ctc1 $t5, $31 -/* 0AB5FC 800AA9FC 1480002C */ bnez $a0, .L800AAAB0 -/* 0AB600 800AAA00 A7AC008E */ sh $t4, 0x8e($sp) -/* 0AB604 800AAA04 860E0006 */ lh $t6, 6($s0) -/* 0AB608 800AAA08 24010035 */ li $at, 53 -/* 0AB60C 800AAA0C 15C1001A */ bne $t6, $at, .L800AAA78 -/* 0AB610 800AAA10 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 -/* 0AB614 800AAA14 240100FF */ li $at, 255 -/* 0AB618 800AAA18 14610003 */ bne $v1, $at, .L800AAA28 -/* 0AB61C 800AAA1C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 -/* 0AB620 800AAA20 10000003 */ b .L800AAA30 -/* 0AB624 800AAA24 2402FFFE */ li $v0, -2 -.L800AAA28: -/* 0AB628 800AAA28 2401FF00 */ li $at, -256 -/* 0AB62C 800AAA2C 00611025 */ or $v0, $v1, $at -.L800AAA30: -/* 0AB630 800AAA30 A7A0008C */ sh $zero, 0x8c($sp) -/* 0AB634 800AAA34 A7A0008E */ sh $zero, 0x8e($sp) -/* 0AB638 800AAA38 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AB63C 800AAA3C 44819000 */ mtc1 $at, $f18 -/* 0AB640 800AAA40 8E070010 */ lw $a3, 0x10($s0) -/* 0AB644 800AAA44 8E06000C */ lw $a2, 0xc($s0) -/* 0AB648 800AAA48 3C01800F */ lui $at, %hi(D_800E87D8) # $at, 0x800f -/* 0AB64C 800AAA4C C42887D8 */ lwc1 $f8, %lo(D_800E87D8)($at) -/* 0AB650 800AAA50 240F0001 */ li $t7, 1 -/* 0AB654 800AAA54 AFAF001C */ sw $t7, 0x1c($sp) -/* 0AB658 800AAA58 AFA20018 */ sw $v0, 0x18($sp) -/* 0AB65C 800AAA5C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc -/* 0AB660 800AAA60 27A50088 */ addiu $a1, $sp, 0x88 -/* 0AB664 800AAA64 E7B20010 */ swc1 $f18, 0x10($sp) -/* 0AB668 800AAA68 0C01E340 */ jal texrect_draw_scaled -/* 0AB66C 800AAA6C E7A80014 */ swc1 $f8, 0x14($sp) -/* 0AB670 800AAA70 10000018 */ b .L800AAAD4 -/* 0AB674 800AAA74 00000000 */ nop -.L800AAA78: -/* 0AB678 800AAA78 241900FF */ li $t9, 255 -/* 0AB67C 800AAA7C 241800FF */ li $t8, 255 -/* 0AB680 800AAA80 240B00FF */ li $t3, 255 -/* 0AB684 800AAA84 AFAB0018 */ sw $t3, 0x18($sp) -/* 0AB688 800AAA88 AFB80014 */ sw $t8, 0x14($sp) -/* 0AB68C 800AAA8C AFB90010 */ sw $t9, 0x10($sp) -/* 0AB690 800AAA90 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc -/* 0AB694 800AAA94 27A50088 */ addiu $a1, $sp, 0x88 -/* 0AB698 800AAA98 00003025 */ move $a2, $zero -/* 0AB69C 800AAA9C 00003825 */ move $a3, $zero -/* 0AB6A0 800AAAA0 0C01E2AE */ jal texrect_draw -/* 0AB6A4 800AAAA4 AFA3001C */ sw $v1, 0x1c($sp) -/* 0AB6A8 800AAAA8 1000000A */ b .L800AAAD4 -/* 0AB6AC 800AAAAC 00000000 */ nop -.L800AAAB0: -/* 0AB6B0 800AAAB0 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 -/* 0AB6B4 800AAAB4 240D00FF */ li $t5, 255 -/* 0AB6B8 800AAAB8 240C00FF */ li $t4, 255 -/* 0AB6BC 800AAABC AFAC0014 */ sw $t4, 0x14($sp) -/* 0AB6C0 800AAAC0 AFAD0010 */ sw $t5, 0x10($sp) -/* 0AB6C4 800AAAC4 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc -/* 0AB6C8 800AAAC8 AFAE0018 */ sw $t6, 0x18($sp) -/* 0AB6CC 800AAACC 0C01E2AE */ jal texrect_draw -/* 0AB6D0 800AAAD0 AFA3001C */ sw $v1, 0x1c($sp) -.L800AAAD4: -/* 0AB6D4 800AAAD4 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -/* 0AB6D8 800AAAD8 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -/* 0AB6DC 800AAADC 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 0AB6E0 800AAAE0 15E00107 */ bnez $t7, .L800AAF00 -/* 0AB6E4 800AAAE4 00000000 */ nop -/* 0AB6E8 800AAAE8 C6100010 */ lwc1 $f16, 0x10($s0) -/* 0AB6EC 800AAAEC 44812000 */ mtc1 $at, $f4 -/* 0AB6F0 800AAAF0 00000000 */ nop -/* 0AB6F4 800AAAF4 46048280 */ add.s $f10, $f16, $f4 -/* 0AB6F8 800AAAF8 10000101 */ b .L800AAF00 -/* 0AB6FC 800AAAFC E60A0010 */ swc1 $f10, 0x10($s0) -.L800AAB00: -/* 0AB700 800AAB00 83396CD5 */ lb $t9, %lo(D_80126CD5)($t9) -/* 0AB704 800AAB04 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 -/* 0AB708 800AAB08 13200028 */ beqz $t9, .L800AABAC -/* 0AB70C 800AAB0C 3C013FF0 */ lui $at, 0x3ff0 -/* 0AB710 800AAB10 8F180300 */ lw $t8, %lo(osTvType)($t8) -/* 0AB714 800AAB14 00000000 */ nop -/* 0AB718 800AAB18 17000024 */ bnez $t8, .L800AABAC -/* 0AB71C 800AAB1C 00000000 */ nop -/* 0AB720 800AAB20 8D2B0000 */ lw $t3, ($t1) -/* 0AB724 800AAB24 00086880 */ sll $t5, $t0, 2 -/* 0AB728 800AAB28 016D6021 */ addu $t4, $t3, $t5 -/* 0AB72C 800AAB2C 8D820000 */ lw $v0, ($t4) -/* 0AB730 800AAB30 860E0018 */ lh $t6, 0x18($s0) -/* 0AB734 800AAB34 844F0016 */ lh $t7, 0x16($v0) -/* 0AB738 800AAB38 A7A00074 */ sh $zero, 0x74($sp) -/* 0AB73C 800AAB3C 01CF0019 */ multu $t6, $t7 -/* 0AB740 800AAB40 A7A00076 */ sh $zero, 0x76($sp) -/* 0AB744 800AAB44 AFA00078 */ sw $zero, 0x78($sp) -# Used to access D_800E87E0 and D_800E87E0 + 4. -/* 0AB748 800AAB48 3C01800F */ lui $at, %hi(D_800E87E0) # $at, 0x800f -/* 0AB74C 800AAB4C C43387E0 */ lwc1 $f19, %lo(D_800E87E0)($at) -/* 0AB750 800AAB50 C43287E4 */ lwc1 $f18, %lo(D_800E87E0 + 4)($at) -/* 0AB754 800AAB54 3C18800E */ lui $t8, %hi(gHudColour) # $t8, 0x800e -/* 0AB758 800AAB58 8F182834 */ lw $t8, %lo(gHudColour)($t8) -/* 0AB75C 800AAB5C 240B0001 */ li $t3, 1 -/* 0AB760 800AAB60 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 -/* 0AB764 800AAB64 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc -/* 0AB768 800AAB68 27A50070 */ addiu $a1, $sp, 0x70 -/* 0AB76C 800AAB6C 0000C812 */ mflo $t9 -/* 0AB770 800AAB70 00591021 */ addu $v0, $v0, $t9 -/* 0AB774 800AAB74 AFA20070 */ sw $v0, 0x70($sp) -/* 0AB778 800AAB78 C6000008 */ lwc1 $f0, 8($s0) -/* 0AB77C 800AAB7C 8E070010 */ lw $a3, 0x10($s0) -/* 0AB780 800AAB80 460001A1 */ cvt.d.s $f6, $f0 -/* 0AB784 800AAB84 46323202 */ mul.d $f8, $f6, $f18 -/* 0AB788 800AAB88 8E06000C */ lw $a2, 0xc($s0) -/* 0AB78C 800AAB8C AFAB001C */ sw $t3, 0x1c($sp) -/* 0AB790 800AAB90 AFB80018 */ sw $t8, 0x18($sp) -/* 0AB794 800AAB94 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0AB798 800AAB98 46204420 */ cvt.s.d $f16, $f8 -/* 0AB79C 800AAB9C 0C01E340 */ jal texrect_draw_scaled -/* 0AB7A0 800AABA0 E7B00014 */ swc1 $f16, 0x14($sp) -/* 0AB7A4 800AABA4 100000D7 */ b .L800AAF04 -/* 0AB7A8 800AABA8 86080006 */ lh $t0, 6($s0) -.L800AABAC: -/* 0AB7AC 800AABAC C60A0008 */ lwc1 $f10, 8($s0) -/* 0AB7B0 800AABB0 44812800 */ mtc1 $at, $f5 -/* 0AB7B4 800AABB4 44802000 */ mtc1 $zero, $f4 -/* 0AB7B8 800AABB8 460051A1 */ cvt.d.s $f6, $f10 -/* 0AB7BC 800AABBC 46262032 */ c.eq.d $f4, $f6 -/* 0AB7C0 800AABC0 00000000 */ nop -/* 0AB7C4 800AABC4 45000057 */ bc1f .L800AAD24 -/* 0AB7C8 800AABC8 00000000 */ nop -/* 0AB7CC 800AABCC 8D2D0000 */ lw $t5, ($t1) -/* 0AB7D0 800AABD0 00086080 */ sll $t4, $t0, 2 -/* 0AB7D4 800AABD4 01AC7021 */ addu $t6, $t5, $t4 -/* 0AB7D8 800AABD8 8DC30000 */ lw $v1, ($t6) -/* 0AB7DC 800AABDC 860F0018 */ lh $t7, 0x18($s0) -/* 0AB7E0 800AABE0 84790016 */ lh $t9, 0x16($v1) -/* 0AB7E4 800AABE4 3C02800E */ lui $v0, %hi(gHudColour) # $v0, 0x800e -/* 0AB7E8 800AABE8 01F90019 */ multu $t7, $t9 -/* 0AB7EC 800AABEC 8C422834 */ lw $v0, %lo(gHudColour)($v0) -/* 0AB7F0 800AABF0 2401FFFE */ li $at, -2 -/* 0AB7F4 800AABF4 3C058012 */ lui $a1, %hi(D_80127180) # $a1, 0x8012 -/* 0AB7F8 800AABF8 3C0D8012 */ lui $t5, %hi(gHudSprites) # $t5, 0x8012 -/* 0AB7FC 800AABFC 24A57180 */ addiu $a1, %lo(D_80127180) # addiu $a1, $a1, 0x7180 -/* 0AB800 800AAC00 25AD6D80 */ addiu $t5, %lo(gHudSprites) # addiu $t5, $t5, 0x6d80 -/* 0AB804 800AAC04 0000C012 */ mflo $t8 -/* 0AB808 800AAC08 00781821 */ addu $v1, $v1, $t8 -/* 0AB80C 800AAC0C 1441001B */ bne $v0, $at, .L800AAC7C -/* 0AB810 800AAC10 00000000 */ nop -/* 0AB814 800AAC14 8CA40000 */ lw $a0, ($a1) -/* 0AB818 800AAC18 444CF800 */ cfc1 $t4, $31 -/* 0AB81C 800AAC1C 000458C0 */ sll $t3, $a0, 3 -/* 0AB820 800AAC20 016D1021 */ addu $v0, $t3, $t5 -/* 0AB824 800AAC24 35810003 */ ori $at, $t4, 3 -/* 0AB828 800AAC28 AC430000 */ sw $v1, ($v0) -/* 0AB82C 800AAC2C 38210002 */ xori $at, $at, 2 -/* 0AB830 800AAC30 44C1F800 */ ctc1 $at, $31 -/* 0AB834 800AAC34 C612000C */ lwc1 $f18, 0xc($s0) -/* 0AB838 800AAC38 24980001 */ addiu $t8, $a0, 1 -/* 0AB83C 800AAC3C 46009224 */ cvt.w.s $f8, $f18 -/* 0AB840 800AAC40 44CCF800 */ ctc1 $t4, $31 -/* 0AB844 800AAC44 440E4000 */ mfc1 $t6, $f8 -/* 0AB848 800AAC48 00000000 */ nop -/* 0AB84C 800AAC4C 444FF800 */ cfc1 $t7, $31 -/* 0AB850 800AAC50 A44E0004 */ sh $t6, 4($v0) -/* 0AB854 800AAC54 35E10003 */ ori $at, $t7, 3 -/* 0AB858 800AAC58 38210002 */ xori $at, $at, 2 -/* 0AB85C 800AAC5C 44C1F800 */ ctc1 $at, $31 -/* 0AB860 800AAC60 C6100010 */ lwc1 $f16, 0x10($s0) -/* 0AB864 800AAC64 ACB80000 */ sw $t8, ($a1) -/* 0AB868 800AAC68 460082A4 */ cvt.w.s $f10, $f16 -/* 0AB86C 800AAC6C 44195000 */ mfc1 $t9, $f10 -/* 0AB870 800AAC70 44CFF800 */ ctc1 $t7, $31 -/* 0AB874 800AAC74 100000A2 */ b .L800AAF00 -/* 0AB878 800AAC78 A4590006 */ sh $t9, 6($v0) -.L800AAC7C: -/* 0AB87C 800AAC7C 444BF800 */ cfc1 $t3, $31 -/* 0AB880 800AAC80 AFA30058 */ sw $v1, 0x58($sp) -/* 0AB884 800AAC84 35610003 */ ori $at, $t3, 3 -/* 0AB888 800AAC88 38210002 */ xori $at, $at, 2 -/* 0AB88C 800AAC8C 44C1F800 */ ctc1 $at, $31 -/* 0AB890 800AAC90 C604000C */ lwc1 $f4, 0xc($s0) -/* 0AB894 800AAC94 00027E02 */ srl $t7, $v0, 0x18 -/* 0AB898 800AAC98 460021A4 */ cvt.w.s $f6, $f4 -/* 0AB89C 800AAC9C 0002C402 */ srl $t8, $v0, 0x10 -/* 0AB8A0 800AACA0 44CBF800 */ ctc1 $t3, $31 -/* 0AB8A4 800AACA4 440D3000 */ mfc1 $t5, $f6 -/* 0AB8A8 800AACA8 330B00FF */ andi $t3, $t8, 0xff -/* 0AB8AC 800AACAC 444CF800 */ cfc1 $t4, $31 -/* 0AB8B0 800AACB0 A7AD005C */ sh $t5, 0x5c($sp) -/* 0AB8B4 800AACB4 35810003 */ ori $at, $t4, 3 -/* 0AB8B8 800AACB8 38210002 */ xori $at, $at, 2 -/* 0AB8BC 800AACBC 44C1F800 */ ctc1 $at, $31 -/* 0AB8C0 800AACC0 C6120010 */ lwc1 $f18, 0x10($s0) -/* 0AB8C4 800AACC4 00026A02 */ srl $t5, $v0, 8 -/* 0AB8C8 800AACC8 46009224 */ cvt.w.s $f8, $f18 -/* 0AB8CC 800AACCC 31F900FF */ andi $t9, $t7, 0xff -/* 0AB8D0 800AACD0 440E4000 */ mfc1 $t6, $f8 -/* 0AB8D4 800AACD4 44CCF800 */ ctc1 $t4, $31 -/* 0AB8D8 800AACD8 A7AE005E */ sh $t6, 0x5e($sp) -/* 0AB8DC 800AACDC 304E00FF */ andi $t6, $v0, 0xff -/* 0AB8E0 800AACE0 31AC00FF */ andi $t4, $t5, 0xff -/* 0AB8E4 800AACE4 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 -/* 0AB8E8 800AACE8 AFA00060 */ sw $zero, 0x60($sp) -/* 0AB8EC 800AACEC 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc -/* 0AB8F0 800AACF0 AFAC0018 */ sw $t4, 0x18($sp) -/* 0AB8F4 800AACF4 AFAE001C */ sw $t6, 0x1c($sp) -/* 0AB8F8 800AACF8 AFB90010 */ sw $t9, 0x10($sp) -/* 0AB8FC 800AACFC AFAB0014 */ sw $t3, 0x14($sp) -/* 0AB900 800AAD00 27A50058 */ addiu $a1, $sp, 0x58 -/* 0AB904 800AAD04 00003025 */ move $a2, $zero -/* 0AB908 800AAD08 0C01E2AE */ jal texrect_draw -/* 0AB90C 800AAD0C 00003825 */ move $a3, $zero -/* 0AB910 800AAD10 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 -/* 0AB914 800AAD14 0C01ECF4 */ jal reset_render_settings -/* 0AB918 800AAD18 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc -/* 0AB91C 800AAD1C 10000079 */ b .L800AAF04 -/* 0AB920 800AAD20 86080006 */ lh $t0, 6($s0) -.L800AAD24: -/* 0AB924 800AAD24 8D2F0000 */ lw $t7, ($t1) -/* 0AB928 800AAD28 0008C880 */ sll $t9, $t0, 2 -/* 0AB92C 800AAD2C 01F9C021 */ addu $t8, $t7, $t9 -/* 0AB930 800AAD30 8F020000 */ lw $v0, ($t8) -/* 0AB934 800AAD34 860B0018 */ lh $t3, 0x18($s0) -/* 0AB938 800AAD38 844D0016 */ lh $t5, 0x16($v0) -/* 0AB93C 800AAD3C A7A0004C */ sh $zero, 0x4c($sp) -/* 0AB940 800AAD40 016D0019 */ multu $t3, $t5 -/* 0AB944 800AAD44 A7A0004E */ sh $zero, 0x4e($sp) -/* 0AB948 800AAD48 AFA00050 */ sw $zero, 0x50($sp) -/* 0AB94C 800AAD4C 3C0E800E */ lui $t6, %hi(gHudColour) # $t6, 0x800e -/* 0AB950 800AAD50 8DCE2834 */ lw $t6, %lo(gHudColour)($t6) -/* 0AB954 800AAD54 240F0001 */ li $t7, 1 -/* 0AB958 800AAD58 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 -/* 0AB95C 800AAD5C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc -/* 0AB960 800AAD60 27A50048 */ addiu $a1, $sp, 0x48 -/* 0AB964 800AAD64 00006012 */ mflo $t4 -/* 0AB968 800AAD68 004C1021 */ addu $v0, $v0, $t4 -/* 0AB96C 800AAD6C AFA20048 */ sw $v0, 0x48($sp) -/* 0AB970 800AAD70 C6000008 */ lwc1 $f0, 8($s0) -/* 0AB974 800AAD74 8E070010 */ lw $a3, 0x10($s0) -/* 0AB978 800AAD78 8E06000C */ lw $a2, 0xc($s0) -/* 0AB97C 800AAD7C AFAF001C */ sw $t7, 0x1c($sp) -/* 0AB980 800AAD80 AFAE0018 */ sw $t6, 0x18($sp) -/* 0AB984 800AAD84 E7A00014 */ swc1 $f0, 0x14($sp) -/* 0AB988 800AAD88 0C01E340 */ jal texrect_draw_scaled -/* 0AB98C 800AAD8C E7A00010 */ swc1 $f0, 0x10($sp) -/* 0AB990 800AAD90 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 -/* 0AB994 800AAD94 0C01ECF4 */ jal reset_render_settings -/* 0AB998 800AAD98 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc -/* 0AB99C 800AAD9C 10000059 */ b .L800AAF04 -/* 0AB9A0 800AADA0 86080006 */ lh $t0, 6($s0) -.L800AADA4: -/* 0AB9A4 800AADA4 13200020 */ beqz $t9, .L800AAE28 -/* 0AB9A8 800AADA8 304E4000 */ andi $t6, $v0, 0x4000 -/* 0AB9AC 800AADAC 0C01A748 */ jal get_active_camera_segment -/* 0AB9B0 800AADB0 00000000 */ nop -/* 0AB9B4 800AADB4 3C098012 */ lui $t1, %hi(gAssetHudElements) # $t1, 0x8012 -/* 0AB9B8 800AADB8 AFA200A8 */ sw $v0, 0xa8($sp) -/* 0AB9BC 800AADBC 860B0006 */ lh $t3, 6($s0) -/* 0AB9C0 800AADC0 25296CF4 */ addiu $t1, %lo(gAssetHudElements) # addiu $t1, $t1, 0x6cf4 -/* 0AB9C4 800AADC4 8D380000 */ lw $t8, ($t1) -/* 0AB9C8 800AADC8 000B6880 */ sll $t5, $t3, 2 -/* 0AB9CC 800AADCC 860E0004 */ lh $t6, 4($s0) -/* 0AB9D0 800AADD0 844F0004 */ lh $t7, 4($v0) -/* 0AB9D4 800AADD4 030D6021 */ addu $t4, $t8, $t5 -/* 0AB9D8 800AADD8 8D830000 */ lw $v1, ($t4) -/* 0AB9DC 800AADDC 01CFC823 */ subu $t9, $t6, $t7 -/* 0AB9E0 800AADE0 A6190004 */ sh $t9, 4($s0) -/* 0AB9E4 800AADE4 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 -/* 0AB9E8 800AADE8 3C058012 */ lui $a1, %hi(gHUDCurrMatrix) # $a1, 0x8012 -/* 0AB9EC 800AADEC 3C068012 */ lui $a2, %hi(gHUDCurrVertex) # $a2, 0x8012 -/* 0AB9F0 800AADF0 24C66D04 */ addiu $a2, %lo(gHUDCurrVertex) # addiu $a2, $a2, 0x6d04 -/* 0AB9F4 800AADF4 24A56D00 */ addiu $a1, %lo(gHUDCurrMatrix) # addiu $a1, $a1, 0x6d00 -/* 0AB9F8 800AADF8 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc -/* 0AB9FC 800AADFC AFA00014 */ sw $zero, 0x14($sp) -/* 0ABA00 800AAE00 02003825 */ move $a3, $s0 -/* 0ABA04 800AAE04 0C01A2FD */ jal render_ortho_triangle_image -/* 0ABA08 800AAE08 AFA30010 */ sw $v1, 0x10($sp) -/* 0ABA0C 800AAE0C 8FB800A8 */ lw $t8, 0xa8($sp) -/* 0ABA10 800AAE10 860B0004 */ lh $t3, 4($s0) -/* 0ABA14 800AAE14 870D0004 */ lh $t5, 4($t8) -/* 0ABA18 800AAE18 00000000 */ nop -/* 0ABA1C 800AAE1C 016D6021 */ addu $t4, $t3, $t5 -/* 0ABA20 800AAE20 10000037 */ b .L800AAF00 -/* 0ABA24 800AAE24 A60C0004 */ sh $t4, 4($s0) -.L800AAE28: -/* 0ABA28 800AAE28 11C0001F */ beqz $t6, .L800AAEA8 -/* 0ABA2C 800AAE2C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 -/* 0ABA30 800AAE30 8D2F0000 */ lw $t7, ($t1) -/* 0ABA34 800AAE34 0008C880 */ sll $t9, $t0, 2 -/* 0ABA38 800AAE38 01F9C021 */ addu $t8, $t7, $t9 -/* 0ABA3C 800AAE3C 8F070000 */ lw $a3, ($t8) -/* 0ABA40 800AAE40 860B0000 */ lh $t3, ($s0) -/* 0ABA44 800AAE44 240E00FF */ li $t6, 255 -/* 0ABA48 800AAE48 A4EB0000 */ sh $t3, ($a3) -/* 0ABA4C 800AAE4C 860D0002 */ lh $t5, 2($s0) -/* 0ABA50 800AAE50 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 -/* 0ABA54 800AAE54 A4ED0002 */ sh $t5, 2($a3) -/* 0ABA58 800AAE58 860C0004 */ lh $t4, 4($s0) -/* 0ABA5C 800AAE5C 3C058012 */ lui $a1, %hi(gHUDCurrMatrix) # $a1, 0x8012 -/* 0ABA60 800AAE60 A4EC0004 */ sh $t4, 4($a3) -/* 0ABA64 800AAE64 C610000C */ lwc1 $f16, 0xc($s0) -/* 0ABA68 800AAE68 3C068012 */ lui $a2, %hi(gHUDCurrVertex) # $a2, 0x8012 -/* 0ABA6C 800AAE6C E4F0000C */ swc1 $f16, 0xc($a3) -/* 0ABA70 800AAE70 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 0ABA74 800AAE74 24C66D04 */ addiu $a2, %lo(gHUDCurrVertex) # addiu $a2, $a2, 0x6d04 -/* 0ABA78 800AAE78 E4EA0010 */ swc1 $f10, 0x10($a3) -/* 0ABA7C 800AAE7C C6040014 */ lwc1 $f4, 0x14($s0) -/* 0ABA80 800AAE80 24A56D00 */ addiu $a1, %lo(gHUDCurrMatrix) # addiu $a1, $a1, 0x6d00 -/* 0ABA84 800AAE84 E4E40014 */ swc1 $f4, 0x14($a3) -/* 0ABA88 800AAE88 C6060008 */ lwc1 $f6, 8($s0) -/* 0ABA8C 800AAE8C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc -/* 0ABA90 800AAE90 A0E0003A */ sb $zero, 0x3a($a3) -/* 0ABA94 800AAE94 A0EE0039 */ sb $t6, 0x39($a3) -/* 0ABA98 800AAE98 0C004B57 */ jal render_object -/* 0ABA9C 800AAE9C E4E60008 */ swc1 $f6, 8($a3) -/* 0ABAA0 800AAEA0 10000018 */ b .L800AAF04 -/* 0ABAA4 800AAEA4 86080006 */ lh $t0, 6($s0) -.L800AAEA8: -/* 0ABAA8 800AAEA8 44809000 */ mtc1 $zero, $f18 -/* 0ABAAC 800AAEAC 3C058012 */ lui $a1, %hi(gHUDCurrMatrix) # $a1, 0x8012 -/* 0ABAB0 800AAEB0 24A56D00 */ addiu $a1, %lo(gHUDCurrMatrix) # addiu $a1, $a1, 0x6d00 -/* 0ABAB4 800AAEB4 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc -/* 0ABAB8 800AAEB8 02003025 */ move $a2, $s0 -/* 0ABABC 800AAEBC 3C073F80 */ lui $a3, 0x3f80 -/* 0ABAC0 800AAEC0 0C01A521 */ jal camera_push_model_mtx -/* 0ABAC4 800AAEC4 E7B20010 */ swc1 $f18, 0x10($sp) -/* 0ABAC8 800AAEC8 3C098012 */ lui $t1, %hi(gAssetHudElements) # $t1, 0x8012 -/* 0ABACC 800AAECC 86190006 */ lh $t9, 6($s0) -/* 0ABAD0 800AAED0 25296CF4 */ addiu $t1, %lo(gAssetHudElements) # addiu $t1, $t1, 0x6cf4 -/* 0ABAD4 800AAED4 8D2F0000 */ lw $t7, ($t1) -/* 0ABAD8 800AAED8 0019C080 */ sll $t8, $t9, 2 -/* 0ABADC 800AAEDC 01F85821 */ addu $t3, $t7, $t8 -/* 0ABAE0 800AAEE0 8D620000 */ lw $v0, ($t3) -/* 0ABAE4 800AAEE4 00000000 */ nop -/* 0ABAE8 800AAEE8 8C440000 */ lw $a0, ($v0) -/* 0ABAEC 800AAEEC 0C02ABF4 */ jal hud_draw_model -/* 0ABAF0 800AAEF0 00000000 */ nop -/* 0ABAF4 800AAEF4 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012 -/* 0ABAF8 800AAEF8 0C01A690 */ jal apply_matrix_from_stack -/* 0ABAFC 800AAEFC 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc -.L800AAF00: -/* 0ABB00 800AAF00 86080006 */ lh $t0, 6($s0) -.L800AAF04: -/* 0ABB04 800AAF04 24010028 */ li $at, 40 -/* 0ABB08 800AAF08 11010021 */ beq $t0, $at, .L800AAF90 -/* 0ABB0C 800AAF0C 3C0B8012 */ lui $t3, %hi(gHUDCurrDisplayList) # $t3, 0x8012 -/* 0ABB10 800AAF10 2401000E */ li $at, 14 -/* 0ABB14 800AAF14 11010014 */ beq $t0, $at, .L800AAF68 -/* 0ABB18 800AAF18 3C198012 */ lui $t9, %hi(gHudOffsetX) # $t9, 0x8012 -/* 0ABB1C 800AAF1C 2401001B */ li $at, 27 -/* 0ABB20 800AAF20 11010011 */ beq $t0, $at, .L800AAF68 -/* 0ABB24 800AAF24 2901002F */ slti $at, $t0, 0x2f -/* 0ABB28 800AAF28 14200002 */ bnez $at, .L800AAF34 -/* 0ABB2C 800AAF2C 29010036 */ slti $at, $t0, 0x36 -/* 0ABB30 800AAF30 1420000D */ bnez $at, .L800AAF68 -.L800AAF34: -/* 0ABB34 800AAF34 2401002E */ li $at, 46 -/* 0ABB38 800AAF38 1101000B */ beq $t0, $at, .L800AAF68 -/* 0ABB3C 800AAF3C 3C0D8012 */ lui $t5, %hi(gMinimapXlu) # $t5, 0x8012 -/* 0ABB40 800AAF40 81AD6CD3 */ lb $t5, %lo(gMinimapXlu)($t5) -/* 0ABB44 800AAF44 8FAE00A4 */ lw $t6, 0xa4($sp) -/* 0ABB48 800AAF48 31AC0001 */ andi $t4, $t5, 1 -/* 0ABB4C 800AAF4C 11800006 */ beqz $t4, .L800AAF68 -/* 0ABB50 800AAF50 00000000 */ nop -/* 0ABB54 800AAF54 448E8000 */ mtc1 $t6, $f16 -/* 0ABB58 800AAF58 C6080010 */ lwc1 $f8, 0x10($s0) -/* 0ABB5C 800AAF5C 468082A0 */ cvt.s.w $f10, $f16 -/* 0ABB60 800AAF60 460A4101 */ sub.s $f4, $f8, $f10 -/* 0ABB64 800AAF64 E6040010 */ swc1 $f4, 0x10($s0) -.L800AAF68: -/* 0ABB68 800AAF68 3C0F8012 */ lui $t7, %hi(gHudBounceX) # $t7, 0x8012 -/* 0ABB6C 800AAF6C 8DEF6D28 */ lw $t7, %lo(gHudBounceX)($t7) -/* 0ABB70 800AAF70 8F396D24 */ lw $t9, %lo(gHudOffsetX)($t9) -/* 0ABB74 800AAF74 C610000C */ lwc1 $f16, 0xc($s0) -/* 0ABB78 800AAF78 032FC021 */ addu $t8, $t9, $t7 -/* 0ABB7C 800AAF7C 44983000 */ mtc1 $t8, $f6 -/* 0ABB80 800AAF80 00000000 */ nop -/* 0ABB84 800AAF84 468034A0 */ cvt.s.w $f18, $f6 -/* 0ABB88 800AAF88 46128201 */ sub.s $f8, $f16, $f18 -/* 0ABB8C 800AAF8C E608000C */ swc1 $f8, 0xc($s0) -.L800AAF90: -/* 0ABB90 800AAF90 8D6B6CFC */ lw $t3, %lo(gHUDCurrDisplayList)($t3) -/* 0ABB94 800AAF94 8FAD00B8 */ lw $t5, 0xb8($sp) -/* 0ABB98 800AAF98 3C0C8012 */ lui $t4, %hi(gHUDCurrMatrix) # $t4, 0x8012 -/* 0ABB9C 800AAF9C ADAB0000 */ sw $t3, ($t5) -/* 0ABBA0 800AAFA0 8FAE00BC */ lw $t6, 0xbc($sp) -/* 0ABBA4 800AAFA4 8D8C6D00 */ lw $t4, %lo(gHUDCurrMatrix)($t4) -/* 0ABBA8 800AAFA8 3C198012 */ lui $t9, %hi(gHUDCurrVertex) # $t9, 0x8012 -/* 0ABBAC 800AAFAC ADCC0000 */ sw $t4, ($t6) -/* 0ABBB0 800AAFB0 8FAF00C0 */ lw $t7, 0xc0($sp) -/* 0ABBB4 800AAFB4 8F396D04 */ lw $t9, %lo(gHUDCurrVertex)($t9) -/* 0ABBB8 800AAFB8 00000000 */ nop -/* 0ABBBC 800AAFBC ADF90000 */ sw $t9, ($t7) -.L800AAFC0: -/* 0ABBC0 800AAFC0 8FBF002C */ lw $ra, 0x2c($sp) -/* 0ABBC4 800AAFC4 8FB00028 */ lw $s0, 0x28($sp) -/* 0ABBC8 800AAFC8 03E00008 */ jr $ra -/* 0ABBCC 800AAFCC 27BD00B8 */ addiu $sp, $sp, 0xb8 - diff --git a/asm/non_matchings/lights/func_80031CAC.s b/asm/non_matchings/lights/func_80031CAC.s deleted file mode 100644 index c2a39af5..00000000 --- a/asm/non_matchings/lights/func_80031CAC.s +++ /dev/null @@ -1,194 +0,0 @@ -glabel func_80031CAC -/* 0328AC 80031CAC 3C03800E */ lui $v1, %hi(gNumActiveLights) # $v1, 0x800e -/* 0328B0 80031CB0 2463C95C */ addiu $v1, %lo(gNumActiveLights) # addiu $v1, $v1, -0x36a4 -/* 0328B4 80031CB4 3C0E800E */ lui $t6, %hi(gMaxLights) # $t6, 0x800e -/* 0328B8 80031CB8 8DCEC958 */ lw $t6, %lo(gMaxLights)($t6) -/* 0328BC 80031CBC 8C620000 */ lw $v0, ($v1) -/* 0328C0 80031CC0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0328C4 80031CC4 004E082A */ slt $at, $v0, $t6 -/* 0328C8 80031CC8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0328CC 80031CCC 102000AA */ beqz $at, .L80031F78 -/* 0328D0 80031CD0 00003025 */ move $a2, $zero -/* 0328D4 80031CD4 3C0F800E */ lui $t7, %hi(gActiveLights) # $t7, 0x800e -/* 0328D8 80031CD8 8DEFC950 */ lw $t7, %lo(gActiveLights)($t7) -/* 0328DC 80031CDC 0002C080 */ sll $t8, $v0, 2 -/* 0328E0 80031CE0 01F8C821 */ addu $t9, $t7, $t8 -/* 0328E4 80031CE4 8F260000 */ lw $a2, ($t9) -/* 0328E8 80031CE8 24490001 */ addiu $t1, $v0, 1 -/* 0328EC 80031CEC AC690000 */ sw $t1, ($v1) -/* 0328F0 80031CF0 90AA0008 */ lbu $t2, 8($a1) -/* 0328F4 80031CF4 00000000 */ nop -/* 0328F8 80031CF8 314B00F0 */ andi $t3, $t2, 0xf0 -/* 0328FC 80031CFC 000B6103 */ sra $t4, $t3, 4 -/* 032900 80031D00 A0CC0000 */ sb $t4, ($a2) -/* 032904 80031D04 90AD0008 */ lbu $t5, 8($a1) -/* 032908 80031D08 240B0001 */ li $t3, 1 -/* 03290C 80031D0C 31AE000F */ andi $t6, $t5, 0xf -/* 032910 80031D10 A0CE0003 */ sb $t6, 3($a2) -/* 032914 80031D14 90AF0009 */ lbu $t7, 9($a1) -/* 032918 80031D18 00000000 */ nop -/* 03291C 80031D1C 31F800E0 */ andi $t8, $t7, 0xe0 -/* 032920 80031D20 0018C943 */ sra $t9, $t8, 5 -/* 032924 80031D24 A0D90001 */ sb $t9, 1($a2) -/* 032928 80031D28 90A90009 */ lbu $t1, 9($a1) -/* 03292C 80031D2C A0CB0004 */ sb $t3, 4($a2) -/* 032930 80031D30 312A001F */ andi $t2, $t1, 0x1f -/* 032934 80031D34 A0CA0002 */ sb $t2, 2($a2) -/* 032938 80031D38 ACC0000C */ sw $zero, 0xc($a2) -/* 03293C 80031D3C A4C00006 */ sh $zero, 6($a2) -/* 032940 80031D40 A4C00008 */ sh $zero, 8($a2) -/* 032944 80031D44 1080000A */ beqz $a0, .L80031D70 -/* 032948 80031D48 A4C0000A */ sh $zero, 0xa($a2) -/* 03294C 80031D4C C484000C */ lwc1 $f4, 0xc($a0) -/* 032950 80031D50 00000000 */ nop -/* 032954 80031D54 E4C40010 */ swc1 $f4, 0x10($a2) -/* 032958 80031D58 C4860010 */ lwc1 $f6, 0x10($a0) -/* 03295C 80031D5C 00000000 */ nop -/* 032960 80031D60 E4C60014 */ swc1 $f6, 0x14($a2) -/* 032964 80031D64 C4880014 */ lwc1 $f8, 0x14($a0) -/* 032968 80031D68 10000013 */ b .L80031DB8 -/* 03296C 80031D6C E4C80018 */ swc1 $f8, 0x18($a2) -.L80031D70: -/* 032970 80031D70 84AC0002 */ lh $t4, 2($a1) -/* 032974 80031D74 00000000 */ nop -/* 032978 80031D78 448C5000 */ mtc1 $t4, $f10 -/* 03297C 80031D7C 00000000 */ nop -/* 032980 80031D80 46805420 */ cvt.s.w $f16, $f10 -/* 032984 80031D84 E4D00010 */ swc1 $f16, 0x10($a2) -/* 032988 80031D88 84AD0004 */ lh $t5, 4($a1) -/* 03298C 80031D8C 00000000 */ nop -/* 032990 80031D90 448D9000 */ mtc1 $t5, $f18 -/* 032994 80031D94 00000000 */ nop -/* 032998 80031D98 46809120 */ cvt.s.w $f4, $f18 -/* 03299C 80031D9C E4C40014 */ swc1 $f4, 0x14($a2) -/* 0329A0 80031DA0 84AE0006 */ lh $t6, 6($a1) -/* 0329A4 80031DA4 00000000 */ nop -/* 0329A8 80031DA8 448E3000 */ mtc1 $t6, $f6 -/* 0329AC 80031DAC 00000000 */ nop -/* 0329B0 80031DB0 46803220 */ cvt.s.w $f8, $f6 -/* 0329B4 80031DB4 E4C80018 */ swc1 $f8, 0x18($a2) -.L80031DB8: -/* 0329B8 80031DB8 90AF000A */ lbu $t7, 0xa($a1) -/* 0329BC 80031DBC ACC0002C */ sw $zero, 0x2c($a2) -/* 0329C0 80031DC0 000FC400 */ sll $t8, $t7, 0x10 -/* 0329C4 80031DC4 ACD8001C */ sw $t8, 0x1c($a2) -/* 0329C8 80031DC8 A4C0003C */ sh $zero, 0x3c($a2) -/* 0329CC 80031DCC 90B9000B */ lbu $t9, 0xb($a1) -/* 0329D0 80031DD0 ACC00030 */ sw $zero, 0x30($a2) -/* 0329D4 80031DD4 00194C00 */ sll $t1, $t9, 0x10 -/* 0329D8 80031DD8 ACC90020 */ sw $t1, 0x20($a2) -/* 0329DC 80031DDC A4C0003E */ sh $zero, 0x3e($a2) -/* 0329E0 80031DE0 90AA000C */ lbu $t2, 0xc($a1) -/* 0329E4 80031DE4 ACC00034 */ sw $zero, 0x34($a2) -/* 0329E8 80031DE8 000A5C00 */ sll $t3, $t2, 0x10 -/* 0329EC 80031DEC ACCB0024 */ sw $t3, 0x24($a2) -/* 0329F0 80031DF0 A4C00040 */ sh $zero, 0x40($a2) -/* 0329F4 80031DF4 90AC000D */ lbu $t4, 0xd($a1) -/* 0329F8 80031DF8 ACC00038 */ sw $zero, 0x38($a2) -/* 0329FC 80031DFC 000C6C00 */ sll $t5, $t4, 0x10 -/* 032A00 80031E00 ACCD0028 */ sw $t5, 0x28($a2) -/* 032A04 80031E04 A4C00042 */ sh $zero, 0x42($a2) -/* 032A08 80031E08 ACC00044 */ sw $zero, 0x44($a2) -/* 032A0C 80031E0C 90AE001C */ lbu $t6, 0x1c($a1) -/* 032A10 80031E10 00000000 */ nop -/* 032A14 80031E14 29C10007 */ slti $at, $t6, 7 -/* 032A18 80031E18 10200020 */ beqz $at, .L80031E9C -/* 032A1C 80031E1C 00000000 */ nop -/* 032A20 80031E20 AFA50024 */ sw $a1, 0x24($sp) -/* 032A24 80031E24 0C01AF6C */ jal get_current_level_header -/* 032A28 80031E28 AFA60018 */ sw $a2, 0x18($sp) -/* 032A2C 80031E2C 8FA50024 */ lw $a1, 0x24($sp) -/* 032A30 80031E30 8FA60018 */ lw $a2, 0x18($sp) -/* 032A34 80031E34 90AF001C */ lbu $t7, 0x1c($a1) -/* 032A38 80031E38 2401FFFF */ li $at, -1 -/* 032A3C 80031E3C 000FC080 */ sll $t8, $t7, 2 -/* 032A40 80031E40 0058C821 */ addu $t9, $v0, $t8 -/* 032A44 80031E44 8F280074 */ lw $t0, 0x74($t9) -/* 032A48 80031E48 00001825 */ move $v1, $zero -/* 032A4C 80031E4C 11010013 */ beq $t0, $at, .L80031E9C -/* 032A50 80031E50 250A0014 */ addiu $t2, $t0, 0x14 -/* 032A54 80031E54 ACC80044 */ sw $t0, 0x44($a2) -/* 032A58 80031E58 8D090000 */ lw $t1, ($t0) -/* 032A5C 80031E5C A4C0004A */ sh $zero, 0x4a($a2) -/* 032A60 80031E60 3124FFFF */ andi $a0, $t1, 0xffff -/* 032A64 80031E64 A4C0004C */ sh $zero, 0x4c($a2) -/* 032A68 80031E68 A4C0004E */ sh $zero, 0x4e($a2) -/* 032A6C 80031E6C ACCA0044 */ sw $t2, 0x44($a2) -/* 032A70 80031E70 1880000A */ blez $a0, .L80031E9C -/* 032A74 80031E74 A4C90048 */ sh $t1, 0x48($a2) -/* 032A78 80031E78 01401025 */ move $v0, $t2 -.L80031E7C: -/* 032A7C 80031E7C 94CB004E */ lhu $t3, 0x4e($a2) -/* 032A80 80031E80 8C4C0004 */ lw $t4, 4($v0) -/* 032A84 80031E84 24630001 */ addiu $v1, $v1, 1 -/* 032A88 80031E88 0064082A */ slt $at, $v1, $a0 -/* 032A8C 80031E8C 016C6821 */ addu $t5, $t3, $t4 -/* 032A90 80031E90 A4CD004E */ sh $t5, 0x4e($a2) -/* 032A94 80031E94 1420FFF9 */ bnez $at, .L80031E7C -/* 032A98 80031E98 24420008 */ addiu $v0, $v0, 8 -.L80031E9C: -/* 032A9C 80031E9C 84AE000E */ lh $t6, 0xe($a1) -/* 032AA0 80031EA0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 032AA4 80031EA4 448E5000 */ mtc1 $t6, $f10 -/* 032AA8 80031EA8 340BFFFF */ li $t3, 65535 -/* 032AAC 80031EAC 46805420 */ cvt.s.w $f16, $f10 -/* 032AB0 80031EB0 00C02025 */ move $a0, $a2 -/* 032AB4 80031EB4 E4D0005C */ swc1 $f16, 0x5c($a2) -/* 032AB8 80031EB8 84AF0010 */ lh $t7, 0x10($a1) -/* 032ABC 80031EBC C4C0005C */ lwc1 $f0, 0x5c($a2) -/* 032AC0 80031EC0 448F9000 */ mtc1 $t7, $f18 -/* 032AC4 80031EC4 44818000 */ mtc1 $at, $f16 -/* 032AC8 80031EC8 46809120 */ cvt.s.w $f4, $f18 -/* 032ACC 80031ECC 340FFFFF */ li $t7, 65535 -/* 032AD0 80031ED0 46008483 */ div.s $f18, $f16, $f0 -/* 032AD4 80031ED4 E4C40060 */ swc1 $f4, 0x60($a2) -/* 032AD8 80031ED8 84B80012 */ lh $t8, 0x12($a1) -/* 032ADC 80031EDC 46000282 */ mul.s $f10, $f0, $f0 -/* 032AE0 80031EE0 44983000 */ mtc1 $t8, $f6 -/* 032AE4 80031EE4 24180001 */ li $t8, 1 -/* 032AE8 80031EE8 E4CA0068 */ swc1 $f10, 0x68($a2) -/* 032AEC 80031EEC 46803220 */ cvt.s.w $f8, $f6 -/* 032AF0 80031EF0 E4D2006C */ swc1 $f18, 0x6c($a2) -/* 032AF4 80031EF4 E4C80064 */ swc1 $f8, 0x64($a2) -/* 032AF8 80031EF8 84B90014 */ lh $t9, 0x14($a1) -/* 032AFC 80031EFC 00000000 */ nop -/* 032B00 80031F00 A4D90070 */ sh $t9, 0x70($a2) -/* 032B04 80031F04 84A90018 */ lh $t1, 0x18($a1) -/* 032B08 80031F08 00000000 */ nop -/* 032B0C 80031F0C A4C90074 */ sh $t1, 0x74($a2) -/* 032B10 80031F10 84AA0018 */ lh $t2, 0x18($a1) -/* 032B14 80031F14 00000000 */ nop -/* 032B18 80031F18 11400003 */ beqz $t2, .L80031F28 -/* 032B1C 80031F1C 00000000 */ nop -/* 032B20 80031F20 10000002 */ b .L80031F2C -/* 032B24 80031F24 A4CB0078 */ sh $t3, 0x78($a2) -.L80031F28: -/* 032B28 80031F28 A4C00078 */ sh $zero, 0x78($a2) -.L80031F2C: -/* 032B2C 80031F2C 84AC0016 */ lh $t4, 0x16($a1) -/* 032B30 80031F30 00000000 */ nop -/* 032B34 80031F34 A4CC0072 */ sh $t4, 0x72($a2) -/* 032B38 80031F38 84AD001A */ lh $t5, 0x1a($a1) -/* 032B3C 80031F3C 00000000 */ nop -/* 032B40 80031F40 A4CD0076 */ sh $t5, 0x76($a2) -/* 032B44 80031F44 84AE001A */ lh $t6, 0x1a($a1) -/* 032B48 80031F48 00002825 */ move $a1, $zero -/* 032B4C 80031F4C 11C00004 */ beqz $t6, .L80031F60 -/* 032B50 80031F50 00000000 */ nop -/* 032B54 80031F54 A4CF007A */ sh $t7, 0x7a($a2) -/* 032B58 80031F58 10000002 */ b .L80031F64 -/* 032B5C 80031F5C A4C0007A */ sh $zero, 0x7a($a2) -.L80031F60: -/* 032B60 80031F60 A4C0007A */ sh $zero, 0x7a($a2) -.L80031F64: -/* 032B64 80031F64 A0D80005 */ sb $t8, 5($a2) -/* 032B68 80031F68 0C00C909 */ jal func_80032424 -/* 032B6C 80031F6C AFA60018 */ sw $a2, 0x18($sp) -/* 032B70 80031F70 8FA60018 */ lw $a2, 0x18($sp) -/* 032B74 80031F74 00000000 */ nop -.L80031F78: -/* 032B78 80031F78 8FBF0014 */ lw $ra, 0x14($sp) -/* 032B7C 80031F7C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 032B80 80031F80 03E00008 */ jr $ra -/* 032B84 80031F84 00C01025 */ move $v0, $a2 - diff --git a/asm/non_matchings/lights/func_80032C7C.s b/asm/non_matchings/lights/func_80032C7C.s deleted file mode 100644 index 098e4269..00000000 --- a/asm/non_matchings/lights/func_80032C7C.s +++ /dev/null @@ -1,760 +0,0 @@ -glabel func_80032C7C -/* 03387C 80032C7C 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 033880 80032C80 AFBF005C */ sw $ra, 0x5c($sp) -/* 033884 80032C84 AFBE0058 */ sw $fp, 0x58($sp) -/* 033888 80032C88 AFB70054 */ sw $s7, 0x54($sp) -/* 03388C 80032C8C AFB60050 */ sw $s6, 0x50($sp) -/* 033890 80032C90 AFB5004C */ sw $s5, 0x4c($sp) -/* 033894 80032C94 AFB40048 */ sw $s4, 0x48($sp) -/* 033898 80032C98 AFB30044 */ sw $s3, 0x44($sp) -/* 03389C 80032C9C AFB20040 */ sw $s2, 0x40($sp) -/* 0338A0 80032CA0 AFB1003C */ sw $s1, 0x3c($sp) -/* 0338A4 80032CA4 AFB00038 */ sw $s0, 0x38($sp) -/* 0338A8 80032CA8 E7BB0030 */ swc1 $f27, 0x30($sp) -/* 0338AC 80032CAC E7BA0034 */ swc1 $f26, 0x34($sp) -/* 0338B0 80032CB0 E7B90028 */ swc1 $f25, 0x28($sp) -/* 0338B4 80032CB4 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 0338B8 80032CB8 E7B70020 */ swc1 $f23, 0x20($sp) -/* 0338BC 80032CBC E7B60024 */ swc1 $f22, 0x24($sp) -/* 0338C0 80032CC0 E7B50018 */ swc1 $f21, 0x18($sp) -/* 0338C4 80032CC4 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 0338C8 80032CC8 8C830040 */ lw $v1, 0x40($a0) -/* 0338CC 80032CCC 0080F025 */ move $fp, $a0 -/* 0338D0 80032CD0 906E003D */ lbu $t6, 0x3d($v1) -/* 0338D4 80032CD4 00000000 */ nop -/* 0338D8 80032CD8 15C002AF */ bnez $t6, .L80033798 -/* 0338DC 80032CDC 8FBF005C */ lw $ra, 0x5c($sp) -/* 0338E0 80032CE0 80620053 */ lb $v0, 0x53($v1) -/* 0338E4 80032CE4 24010001 */ li $at, 1 -/* 0338E8 80032CE8 10400009 */ beqz $v0, .L80032D10 -/* 0338EC 80032CEC 3C178012 */ lui $s7, %hi(gLightDiffZ) # $s7, 0x8012 -/* 0338F0 80032CF0 10410009 */ beq $v0, $at, .L80032D18 -/* 0338F4 80032CF4 24010002 */ li $at, 2 -/* 0338F8 80032CF8 10410009 */ beq $v0, $at, .L80032D20 -/* 0338FC 80032CFC 24010003 */ li $at, 3 -/* 033900 80032D00 10410009 */ beq $v0, $at, .L80032D28 -/* 033904 80032D04 24030004 */ li $v1, 4 -/* 033908 80032D08 10000007 */ b .L80032D28 -/* 03390C 80032D0C 00001825 */ move $v1, $zero -.L80032D10: -/* 033910 80032D10 10000005 */ b .L80032D28 -/* 033914 80032D14 24030002 */ li $v1, 2 -.L80032D18: -/* 033918 80032D18 10000003 */ b .L80032D28 -/* 03391C 80032D1C 24030004 */ li $v1, 4 -.L80032D20: -/* 033920 80032D20 10000001 */ b .L80032D28 -/* 033924 80032D24 24030004 */ li $v1, 4 -.L80032D28: -/* 033928 80032D28 444FF800 */ cfc1 $t7, $31 -/* 03392C 80032D2C C7C4000C */ lwc1 $f4, 0xc($fp) -/* 033930 80032D30 35E10003 */ ori $at, $t7, 3 -/* 033934 80032D34 38210002 */ xori $at, $at, 2 -/* 033938 80032D38 44C1F800 */ ctc1 $at, $31 -/* 03393C 80032D3C 3C11800E */ lui $s1, %hi(D_800DC968) # $s1, 0x800e -/* 033940 80032D40 460021A4 */ cvt.w.s $f6, $f4 -/* 033944 80032D44 2631C968 */ addiu $s1, %lo(D_800DC968) # addiu $s1, $s1, -0x3698 -/* 033948 80032D48 44CFF800 */ ctc1 $t7, $31 -/* 03394C 80032D4C 44183000 */ mfc1 $t8, $f6 -/* 033950 80032D50 3C0D800E */ lui $t5, %hi(gNumActiveLights) # $t5, 0x800e -/* 033954 80032D54 4459F800 */ cfc1 $t9, $31 -/* 033958 80032D58 A7B80082 */ sh $t8, 0x82($sp) -/* 03395C 80032D5C 37210003 */ ori $at, $t9, 3 -/* 033960 80032D60 38210002 */ xori $at, $at, 2 -/* 033964 80032D64 44C1F800 */ ctc1 $at, $31 -/* 033968 80032D68 C7C80010 */ lwc1 $f8, 0x10($fp) -/* 03396C 80032D6C 0000A825 */ move $s5, $zero -/* 033970 80032D70 460042A4 */ cvt.w.s $f10, $f8 -/* 033974 80032D74 00001025 */ move $v0, $zero -/* 033978 80032D78 44D9F800 */ ctc1 $t9, $31 -/* 03397C 80032D7C 440A5000 */ mfc1 $t2, $f10 -/* 033980 80032D80 26F7D4CC */ addiu $s7, %lo(gLightDiffZ) # addiu $s7, $s7, -0x2b34 -/* 033984 80032D84 444BF800 */ cfc1 $t3, $31 -/* 033988 80032D88 A7AA0080 */ sh $t2, 0x80($sp) -/* 03398C 80032D8C 35610003 */ ori $at, $t3, 3 -/* 033990 80032D90 38210002 */ xori $at, $at, 2 -/* 033994 80032D94 44C1F800 */ ctc1 $at, $31 -/* 033998 80032D98 C7D00014 */ lwc1 $f16, 0x14($fp) -/* 03399C 80032D9C AE200000 */ sw $zero, ($s1) -/* 0339A0 80032DA0 460084A4 */ cvt.w.s $f18, $f16 -/* 0339A4 80032DA4 8DADC95C */ lw $t5, %lo(gNumActiveLights)($t5) -/* 0339A8 80032DA8 440C9000 */ mfc1 $t4, $f18 -/* 0339AC 80032DAC 44CBF800 */ ctc1 $t3, $31 -/* 0339B0 80032DB0 19A00137 */ blez $t5, .L80033290 -/* 0339B4 80032DB4 A7AC007E */ sh $t4, 0x7e($sp) -/* 0339B8 80032DB8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0339BC 80032DBC 3C168012 */ lui $s6, %hi(gLightDiffX) # $s6, 0x8012 -/* 0339C0 80032DC0 3C148012 */ lui $s4, %hi(gLightDiffY) # $s4, 0x8012 -/* 0339C4 80032DC4 3C13800E */ lui $s3, %hi(D_800DC960) # $s3, 0x800e -/* 0339C8 80032DC8 4481C000 */ mtc1 $at, $f24 -/* 0339CC 80032DCC 4480D000 */ mtc1 $zero, $f26 -/* 0339D0 80032DD0 4480B000 */ mtc1 $zero, $f22 -/* 0339D4 80032DD4 2673C960 */ addiu $s3, %lo(D_800DC960) # addiu $s3, $s3, -0x36a0 -/* 0339D8 80032DD8 2694D4C8 */ addiu $s4, %lo(gLightDiffY) # addiu $s4, $s4, -0x2b38 -/* 0339DC 80032DDC 26D6D4C4 */ addiu $s6, %lo(gLightDiffX) # addiu $s6, $s6, -0x2b3c -/* 0339E0 80032DE0 AFA30064 */ sw $v1, 0x64($sp) -/* 0339E4 80032DE4 24120014 */ li $s2, 20 -.L80032DE8: -/* 0339E8 80032DE8 3C0E800E */ lui $t6, %hi(gActiveLights) # $t6, 0x800e -/* 0339EC 80032DEC 8DCEC950 */ lw $t6, %lo(gActiveLights)($t6) -/* 0339F0 80032DF0 8FB90064 */ lw $t9, 0x64($sp) -/* 0339F4 80032DF4 01C27821 */ addu $t7, $t6, $v0 -/* 0339F8 80032DF8 8DF00000 */ lw $s0, ($t7) -/* 0339FC 80032DFC 00000000 */ nop -/* 033A00 80032E00 92180002 */ lbu $t8, 2($s0) -/* 033A04 80032E04 00000000 */ nop -/* 033A08 80032E08 03195024 */ and $t2, $t8, $t9 -/* 033A0C 80032E0C 1140011A */ beqz $t2, .L80033278 -/* 033A10 80032E10 00000000 */ nop -/* 033A14 80032E14 920B0004 */ lbu $t3, 4($s0) -/* 033A18 80032E18 24010001 */ li $at, 1 -/* 033A1C 80032E1C 15610116 */ bne $t3, $at, .L80033278 -/* 033A20 80032E20 00000000 */ nop -/* 033A24 80032E24 87AC0082 */ lh $t4, 0x82($sp) -/* 033A28 80032E28 860D0050 */ lh $t5, 0x50($s0) -/* 033A2C 80032E2C 00000000 */ nop -/* 033A30 80032E30 018D082A */ slt $at, $t4, $t5 -/* 033A34 80032E34 14200110 */ bnez $at, .L80033278 -/* 033A38 80032E38 00000000 */ nop -/* 033A3C 80032E3C 860E0056 */ lh $t6, 0x56($s0) -/* 033A40 80032E40 87AF0080 */ lh $t7, 0x80($sp) -/* 033A44 80032E44 01CC082A */ slt $at, $t6, $t4 -/* 033A48 80032E48 1420010B */ bnez $at, .L80033278 -/* 033A4C 80032E4C 00000000 */ nop -/* 033A50 80032E50 86180052 */ lh $t8, 0x52($s0) -/* 033A54 80032E54 00000000 */ nop -/* 033A58 80032E58 01F8082A */ slt $at, $t7, $t8 -/* 033A5C 80032E5C 14200106 */ bnez $at, .L80033278 -/* 033A60 80032E60 00000000 */ nop -/* 033A64 80032E64 86190058 */ lh $t9, 0x58($s0) -/* 033A68 80032E68 87AA007E */ lh $t2, 0x7e($sp) -/* 033A6C 80032E6C 032F082A */ slt $at, $t9, $t7 -/* 033A70 80032E70 14200101 */ bnez $at, .L80033278 -/* 033A74 80032E74 00000000 */ nop -/* 033A78 80032E78 860B0054 */ lh $t3, 0x54($s0) -/* 033A7C 80032E7C 00000000 */ nop -/* 033A80 80032E80 014B082A */ slt $at, $t2, $t3 -/* 033A84 80032E84 142000FC */ bnez $at, .L80033278 -/* 033A88 80032E88 00000000 */ nop -/* 033A8C 80032E8C 860D005A */ lh $t5, 0x5a($s0) -/* 033A90 80032E90 00000000 */ nop -/* 033A94 80032E94 01AA082A */ slt $at, $t5, $t2 -/* 033A98 80032E98 142000F7 */ bnez $at, .L80033278 -/* 033A9C 80032E9C 00000000 */ nop -/* 033AA0 80032EA0 920E0000 */ lbu $t6, ($s0) -/* 033AA4 80032EA4 00000000 */ nop -/* 033AA8 80032EA8 15C00035 */ bnez $t6, .L80032F80 -/* 033AAC 80032EAC 00000000 */ nop -/* 033AB0 80032EB0 8E0C0028 */ lw $t4, 0x28($s0) -/* 033AB4 80032EB4 3C010001 */ lui $at, 1 -/* 033AB8 80032EB8 0181082A */ slt $at, $t4, $at -/* 033ABC 80032EBC 142000EE */ bnez $at, .L80033278 -/* 033AC0 80032EC0 00000000 */ nop -/* 033AC4 80032EC4 8E390000 */ lw $t9, ($s1) -/* 033AC8 80032EC8 8E780000 */ lw $t8, ($s3) -/* 033ACC 80032ECC 03320019 */ multu $t9, $s2 -/* 033AD0 80032ED0 00007812 */ mflo $t7 -/* 033AD4 80032ED4 030F5821 */ addu $t3, $t8, $t7 -/* 033AD8 80032ED8 AD700000 */ sw $s0, ($t3) -/* 033ADC 80032EDC 8E2C0000 */ lw $t4, ($s1) -/* 033AE0 80032EE0 8E6E0000 */ lw $t6, ($s3) -/* 033AE4 80032EE4 01920019 */ multu $t4, $s2 -/* 033AE8 80032EE8 8E0D001C */ lw $t5, 0x1c($s0) -/* 033AEC 80032EEC 00000000 */ nop -/* 033AF0 80032EF0 000D5403 */ sra $t2, $t5, 0x10 -/* 033AF4 80032EF4 0000C812 */ mflo $t9 -/* 033AF8 80032EF8 01D9C021 */ addu $t8, $t6, $t9 -/* 033AFC 80032EFC AF0A0004 */ sw $t2, 4($t8) -/* 033B00 80032F00 8E2C0000 */ lw $t4, ($s1) -/* 033B04 80032F04 8E6D0000 */ lw $t5, ($s3) -/* 033B08 80032F08 01920019 */ multu $t4, $s2 -/* 033B0C 80032F0C 8E0F0020 */ lw $t7, 0x20($s0) -/* 033B10 80032F10 00000000 */ nop -/* 033B14 80032F14 000F5C03 */ sra $t3, $t7, 0x10 -/* 033B18 80032F18 00007012 */ mflo $t6 -/* 033B1C 80032F1C 01AEC821 */ addu $t9, $t5, $t6 -/* 033B20 80032F20 AF2B0008 */ sw $t3, 8($t9) -/* 033B24 80032F24 8E2C0000 */ lw $t4, ($s1) -/* 033B28 80032F28 8E6F0000 */ lw $t7, ($s3) -/* 033B2C 80032F2C 01920019 */ multu $t4, $s2 -/* 033B30 80032F30 8E0A0024 */ lw $t2, 0x24($s0) -/* 033B34 80032F34 00000000 */ nop -/* 033B38 80032F38 000AC403 */ sra $t8, $t2, 0x10 -/* 033B3C 80032F3C 00006812 */ mflo $t5 -/* 033B40 80032F40 01ED7021 */ addu $t6, $t7, $t5 -/* 033B44 80032F44 ADD8000C */ sw $t8, 0xc($t6) -/* 033B48 80032F48 8E2C0000 */ lw $t4, ($s1) -/* 033B4C 80032F4C 8E6A0000 */ lw $t2, ($s3) -/* 033B50 80032F50 01920019 */ multu $t4, $s2 -/* 033B54 80032F54 8E0B0028 */ lw $t3, 0x28($s0) -/* 033B58 80032F58 00000000 */ nop -/* 033B5C 80032F5C 000BCC03 */ sra $t9, $t3, 0x10 -/* 033B60 80032F60 00007812 */ mflo $t7 -/* 033B64 80032F64 014F6821 */ addu $t5, $t2, $t7 -/* 033B68 80032F68 ADB90010 */ sw $t9, 0x10($t5) -/* 033B6C 80032F6C 8E380000 */ lw $t8, ($s1) -/* 033B70 80032F70 00000000 */ nop -/* 033B74 80032F74 270E0001 */ addiu $t6, $t8, 1 -/* 033B78 80032F78 100000BF */ b .L80033278 -/* 033B7C 80032F7C AE2E0000 */ sw $t6, ($s1) -.L80032F80: -/* 033B80 80032F80 C6040010 */ lwc1 $f4, 0x10($s0) -/* 033B84 80032F84 C7C6000C */ lwc1 $f6, 0xc($fp) -/* 033B88 80032F88 24010002 */ li $at, 2 -/* 033B8C 80032F8C 46062201 */ sub.s $f8, $f4, $f6 -/* 033B90 80032F90 E6C80000 */ swc1 $f8, ($s6) -/* 033B94 80032F94 C7D00010 */ lwc1 $f16, 0x10($fp) -/* 033B98 80032F98 C60A0014 */ lwc1 $f10, 0x14($s0) -/* 033B9C 80032F9C 00000000 */ nop -/* 033BA0 80032FA0 46105481 */ sub.s $f18, $f10, $f16 -/* 033BA4 80032FA4 E6920000 */ swc1 $f18, ($s4) -/* 033BA8 80032FA8 C7C60014 */ lwc1 $f6, 0x14($fp) -/* 033BAC 80032FAC C6040018 */ lwc1 $f4, 0x18($s0) -/* 033BB0 80032FB0 00000000 */ nop -/* 033BB4 80032FB4 46062201 */ sub.s $f8, $f4, $f6 -/* 033BB8 80032FB8 E6E80000 */ swc1 $f8, ($s7) -/* 033BBC 80032FBC 920B0000 */ lbu $t3, ($s0) -/* 033BC0 80032FC0 00000000 */ nop -/* 033BC4 80032FC4 15610002 */ bne $t3, $at, .L80032FD0 -/* 033BC8 80032FC8 00000000 */ nop -/* 033BCC 80032FCC E6960000 */ swc1 $f22, ($s4) -.L80032FD0: -/* 033BD0 80032FD0 C6C00000 */ lwc1 $f0, ($s6) -/* 033BD4 80032FD4 C6820000 */ lwc1 $f2, ($s4) -/* 033BD8 80032FD8 46000282 */ mul.s $f10, $f0, $f0 -/* 033BDC 80032FDC C6EC0000 */ lwc1 $f12, ($s7) -/* 033BE0 80032FE0 3C018012 */ lui $at, %hi(gLightDistance) # $at, 0x8012 -/* 033BE4 80032FE4 46021402 */ mul.s $f16, $f2, $f2 -/* 033BE8 80032FE8 00000000 */ nop -/* 033BEC 80032FEC 460C6102 */ mul.s $f4, $f12, $f12 -/* 033BF0 80032FF0 46105480 */ add.s $f18, $f10, $f16 -/* 033BF4 80032FF4 46049180 */ add.s $f6, $f18, $f4 -/* 033BF8 80032FF8 E426D4C0 */ swc1 $f6, %lo(gLightDistance)($at) -/* 033BFC 80032FFC C6080068 */ lwc1 $f8, 0x68($s0) -/* 033C00 80033000 00000000 */ nop -/* 033C04 80033004 4608303C */ c.lt.s $f6, $f8 -/* 033C08 80033008 00000000 */ nop -/* 033C0C 8003300C 4500009A */ bc1f .L80033278 -/* 033C10 80033010 00000000 */ nop -/* 033C14 80033014 920C0001 */ lbu $t4, 1($s0) -/* 033C18 80033018 24010002 */ li $at, 2 -/* 033C1C 8003301C 15810006 */ bne $t4, $at, .L80033038 -/* 033C20 80033020 02002025 */ move $a0, $s0 -/* 033C24 80033024 0C00CF02 */ jal light_direction_calc -/* 033C28 80033028 AFA20068 */ sw $v0, 0x68($sp) -/* 033C2C 8003302C 8FA20068 */ lw $v0, 0x68($sp) -/* 033C30 80033030 10000002 */ b .L8003303C -/* 033C34 80033034 46000506 */ mov.s $f20, $f0 -.L80033038: -/* 033C38 80033038 4600C506 */ mov.s $f20, $f24 -.L8003303C: -/* 033C3C 8003303C 4614B03C */ c.lt.s $f22, $f20 -/* 033C40 80033040 02002025 */ move $a0, $s0 -/* 033C44 80033044 4500008C */ bc1f .L80033278 -/* 033C48 80033048 00000000 */ nop -/* 033C4C 8003304C 0C00CE85 */ jal light_distance_calc -/* 033C50 80033050 AFA20068 */ sw $v0, 0x68($sp) -/* 033C54 80033054 4600A502 */ mul.s $f20, $f20, $f0 -/* 033C58 80033058 8FA20068 */ lw $v0, 0x68($sp) -/* 033C5C 8003305C 3C08800E */ lui $t0, %hi(D_800DC964) # $t0, 0x800e -/* 033C60 80033060 2508C964 */ addiu $t0, %lo(D_800DC964) # addiu $t0, $t0, -0x369c -/* 033C64 80033064 4614B03C */ c.lt.s $f22, $f20 -/* 033C68 80033068 2409000C */ li $t1, 12 -/* 033C6C 8003306C 45000082 */ bc1f .L80033278 -/* 033C70 80033070 00000000 */ nop -/* 033C74 80033074 8FCA0040 */ lw $t2, 0x40($fp) -/* 033C78 80033078 3C018012 */ lui $at, %hi(gLightDistance) # $at, 0x8012 -/* 033C7C 8003307C 914F0071 */ lbu $t7, 0x71($t2) -/* 033C80 80033080 00000000 */ nop -/* 033C84 80033084 11E00033 */ beqz $t7, .L80033154 -/* 033C88 80033088 00000000 */ nop -/* 033C8C 8003308C C42CD4C0 */ lwc1 $f12, %lo(gLightDistance)($at) -/* 033C90 80033090 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 033C94 80033094 460CB03C */ c.lt.s $f22, $f12 -/* 033C98 80033098 00000000 */ nop -/* 033C9C 8003309C 45000014 */ bc1f .L800330F0 -/* 033CA0 800330A0 00000000 */ nop -/* 033CA4 800330A4 0C0326B4 */ jal sqrtf -/* 033CA8 800330A8 AFA20068 */ sw $v0, 0x68($sp) -/* 033CAC 800330AC 00000000 */ nop -/* 033CB0 800330B0 4600C083 */ div.s $f2, $f24, $f0 -/* 033CB4 800330B4 C6CA0000 */ lwc1 $f10, ($s6) -/* 033CB8 800330B8 C6920000 */ lwc1 $f18, ($s4) -/* 033CBC 800330BC C6E60000 */ lwc1 $f6, ($s7) -/* 033CC0 800330C0 8FA20068 */ lw $v0, 0x68($sp) -/* 033CC4 800330C4 3C08800E */ lui $t0, %hi(D_800DC964) # $t0, 0x800e -/* 033CC8 800330C8 2508C964 */ addiu $t0, %lo(D_800DC964) # addiu $t0, $t0, -0x369c -/* 033CCC 800330CC 2409000C */ li $t1, 12 -/* 033CD0 800330D0 46025402 */ mul.s $f16, $f10, $f2 -/* 033CD4 800330D4 00000000 */ nop -/* 033CD8 800330D8 46029102 */ mul.s $f4, $f18, $f2 -/* 033CDC 800330DC E6D00000 */ swc1 $f16, ($s6) -/* 033CE0 800330E0 46023202 */ mul.s $f8, $f6, $f2 -/* 033CE4 800330E4 E6840000 */ swc1 $f4, ($s4) -/* 033CE8 800330E8 10000005 */ b .L80033100 -/* 033CEC 800330EC E6E80000 */ swc1 $f8, ($s7) -.L800330F0: -/* 033CF0 800330F0 44815000 */ mtc1 $at, $f10 -/* 033CF4 800330F4 E6DA0000 */ swc1 $f26, ($s6) -/* 033CF8 800330F8 E69A0000 */ swc1 $f26, ($s4) -/* 033CFC 800330FC E6EA0000 */ swc1 $f10, ($s7) -.L80033100: -/* 033D00 80033100 8E2D0000 */ lw $t5, ($s1) -/* 033D04 80033104 8D190000 */ lw $t9, ($t0) -/* 033D08 80033108 01A90019 */ multu $t5, $t1 -/* 033D0C 8003310C C6D00000 */ lwc1 $f16, ($s6) -/* 033D10 80033110 0000C012 */ mflo $t8 -/* 033D14 80033114 03387021 */ addu $t6, $t9, $t8 -/* 033D18 80033118 E5D00000 */ swc1 $f16, ($t6) -/* 033D1C 8003311C 8E2C0000 */ lw $t4, ($s1) -/* 033D20 80033120 8D0B0000 */ lw $t3, ($t0) -/* 033D24 80033124 01890019 */ multu $t4, $t1 -/* 033D28 80033128 C6920000 */ lwc1 $f18, ($s4) -/* 033D2C 8003312C 00005012 */ mflo $t2 -/* 033D30 80033130 016A7821 */ addu $t7, $t3, $t2 -/* 033D34 80033134 E5F20004 */ swc1 $f18, 4($t7) -/* 033D38 80033138 8E390000 */ lw $t9, ($s1) -/* 033D3C 8003313C 8D0D0000 */ lw $t5, ($t0) -/* 033D40 80033140 03290019 */ multu $t9, $t1 -/* 033D44 80033144 C6E40000 */ lwc1 $f4, ($s7) -/* 033D48 80033148 0000C012 */ mflo $t8 -/* 033D4C 8003314C 01B87021 */ addu $t6, $t5, $t8 -/* 033D50 80033150 E5C40008 */ swc1 $f4, 8($t6) -.L80033154: -/* 033D54 80033154 8E2B0000 */ lw $t3, ($s1) -/* 033D58 80033158 8E6C0000 */ lw $t4, ($s3) -/* 033D5C 8003315C 01720019 */ multu $t3, $s2 -/* 033D60 80033160 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 033D64 80033164 00005012 */ mflo $t2 -/* 033D68 80033168 018A7821 */ addu $t7, $t4, $t2 -/* 033D6C 8003316C ADF00000 */ sw $s0, ($t7) -/* 033D70 80033170 8E2E0000 */ lw $t6, ($s1) -/* 033D74 80033174 8E780000 */ lw $t8, ($s3) -/* 033D78 80033178 01D20019 */ multu $t6, $s2 -/* 033D7C 8003317C 8E19001C */ lw $t9, 0x1c($s0) -/* 033D80 80033180 00000000 */ nop -/* 033D84 80033184 00196C03 */ sra $t5, $t9, 0x10 -/* 033D88 80033188 00005812 */ mflo $t3 -/* 033D8C 8003318C 030B6021 */ addu $t4, $t8, $t3 -/* 033D90 80033190 AD8D0004 */ sw $t5, 4($t4) -/* 033D94 80033194 8E2E0000 */ lw $t6, ($s1) -/* 033D98 80033198 8E790000 */ lw $t9, ($s3) -/* 033D9C 8003319C 01D20019 */ multu $t6, $s2 -/* 033DA0 800331A0 8E0A0020 */ lw $t2, 0x20($s0) -/* 033DA4 800331A4 00000000 */ nop -/* 033DA8 800331A8 000A7C03 */ sra $t7, $t2, 0x10 -/* 033DAC 800331AC 0000C012 */ mflo $t8 -/* 033DB0 800331B0 03385821 */ addu $t3, $t9, $t8 -/* 033DB4 800331B4 AD6F0008 */ sw $t7, 8($t3) -/* 033DB8 800331B8 8E2E0000 */ lw $t6, ($s1) -/* 033DBC 800331BC 444FF800 */ cfc1 $t7, $31 -/* 033DC0 800331C0 01D20019 */ multu $t6, $s2 -/* 033DC4 800331C4 240B0001 */ li $t3, 1 -/* 033DC8 800331C8 44CBF800 */ ctc1 $t3, $31 -/* 033DCC 800331CC 8E6A0000 */ lw $t2, ($s3) -/* 033DD0 800331D0 4600A1A4 */ cvt.w.s $f6, $f20 -/* 033DD4 800331D4 8E0D0024 */ lw $t5, 0x24($s0) -/* 033DD8 800331D8 444BF800 */ cfc1 $t3, $31 -/* 033DDC 800331DC 000D6403 */ sra $t4, $t5, 0x10 -/* 033DE0 800331E0 316B0078 */ andi $t3, $t3, 0x78 -/* 033DE4 800331E4 0000C812 */ mflo $t9 -/* 033DE8 800331E8 0159C021 */ addu $t8, $t2, $t9 -/* 033DEC 800331EC 11600012 */ beqz $t3, .L80033238 -/* 033DF0 800331F0 AF0C000C */ sw $t4, 0xc($t8) -/* 033DF4 800331F4 44813000 */ mtc1 $at, $f6 -/* 033DF8 800331F8 240B0001 */ li $t3, 1 -/* 033DFC 800331FC 4606A181 */ sub.s $f6, $f20, $f6 -/* 033E00 80033200 3C018000 */ lui $at, 0x8000 -/* 033E04 80033204 44CBF800 */ ctc1 $t3, $31 -/* 033E08 80033208 00000000 */ nop -/* 033E0C 8003320C 460031A4 */ cvt.w.s $f6, $f6 -/* 033E10 80033210 444BF800 */ cfc1 $t3, $31 -/* 033E14 80033214 00000000 */ nop -/* 033E18 80033218 316B0078 */ andi $t3, $t3, 0x78 -/* 033E1C 8003321C 15600004 */ bnez $t3, .L80033230 -/* 033E20 80033220 00000000 */ nop -/* 033E24 80033224 440B3000 */ mfc1 $t3, $f6 -/* 033E28 80033228 10000007 */ b .L80033248 -/* 033E2C 8003322C 01615825 */ or $t3, $t3, $at -.L80033230: -/* 033E30 80033230 10000005 */ b .L80033248 -/* 033E34 80033234 240BFFFF */ li $t3, -1 -.L80033238: -/* 033E38 80033238 440B3000 */ mfc1 $t3, $f6 -/* 033E3C 8003323C 00000000 */ nop -/* 033E40 80033240 0560FFFB */ bltz $t3, .L80033230 -/* 033E44 80033244 00000000 */ nop -.L80033248: -/* 033E48 80033248 8E2A0000 */ lw $t2, ($s1) -/* 033E4C 8003324C 8E6E0000 */ lw $t6, ($s3) -/* 033E50 80033250 01520019 */ multu $t2, $s2 -/* 033E54 80033254 316D00FF */ andi $t5, $t3, 0xff -/* 033E58 80033258 44CFF800 */ ctc1 $t7, $31 -/* 033E5C 8003325C 0000C812 */ mflo $t9 -/* 033E60 80033260 01D96021 */ addu $t4, $t6, $t9 -/* 033E64 80033264 AD8D0010 */ sw $t5, 0x10($t4) -/* 033E68 80033268 8E380000 */ lw $t8, ($s1) -/* 033E6C 8003326C 00000000 */ nop -/* 033E70 80033270 270F0001 */ addiu $t7, $t8, 1 -/* 033E74 80033274 AE2F0000 */ sw $t7, ($s1) -.L80033278: -/* 033E78 80033278 3C0B800E */ lui $t3, %hi(gNumActiveLights) # $t3, 0x800e -/* 033E7C 8003327C 8D6BC95C */ lw $t3, %lo(gNumActiveLights)($t3) -/* 033E80 80033280 26B50001 */ addiu $s5, $s5, 1 -/* 033E84 80033284 02AB082A */ slt $at, $s5, $t3 -/* 033E88 80033288 1420FED7 */ bnez $at, .L80032DE8 -/* 033E8C 8003328C 24420004 */ addiu $v0, $v0, 4 -.L80033290: -/* 033E90 80033290 8FCA0040 */ lw $t2, 0x40($fp) -/* 033E94 80033294 3C08800E */ lui $t0, %hi(D_800DC964) # $t0, 0x800e -/* 033E98 80033298 914E0071 */ lbu $t6, 0x71($t2) -/* 033E9C 8003329C 3C13800E */ lui $s3, %hi(D_800DC960) # $s3, 0x800e -/* 033EA0 800332A0 2673C960 */ addiu $s3, %lo(D_800DC960) # addiu $s3, $s3, -0x36a0 -/* 033EA4 800332A4 2508C964 */ addiu $t0, %lo(D_800DC964) # addiu $t0, $t0, -0x369c -/* 033EA8 800332A8 2409000C */ li $t1, 12 -/* 033EAC 800332AC 11C00111 */ beqz $t6, .L800336F4 -/* 033EB0 800332B0 24120014 */ li $s2, 20 -/* 033EB4 800332B4 8E270000 */ lw $a3, ($s1) -/* 033EB8 800332B8 24010001 */ li $at, 1 -/* 033EBC 800332BC 14E00007 */ bnez $a3, .L800332DC -/* 033EC0 800332C0 00000000 */ nop -/* 033EC4 800332C4 8FD90054 */ lw $t9, 0x54($fp) -/* 033EC8 800332C8 00000000 */ nop -/* 033ECC 800332CC A3200007 */ sb $zero, 7($t9) -/* 033ED0 800332D0 8FCD0054 */ lw $t5, 0x54($fp) -/* 033ED4 800332D4 1000012F */ b .L80033794 -/* 033ED8 800332D8 A1A00011 */ sb $zero, 0x11($t5) -.L800332DC: -/* 033EDC 800332DC 14E10043 */ bne $a3, $at, .L800333EC -/* 033EE0 800332E0 00000000 */ nop -/* 033EE4 800332E4 8E6C0000 */ lw $t4, ($s3) -/* 033EE8 800332E8 8FCF0054 */ lw $t7, 0x54($fp) -/* 033EEC 800332EC 8D980004 */ lw $t8, 4($t4) -/* 033EF0 800332F0 3C014600 */ li $at, 0x46000000 # 8192.000000 -/* 033EF4 800332F4 A1F80004 */ sb $t8, 4($t7) -/* 033EF8 800332F8 8E6B0000 */ lw $t3, ($s3) -/* 033EFC 800332FC 8FCE0054 */ lw $t6, 0x54($fp) -/* 033F00 80033300 8D6A0008 */ lw $t2, 8($t3) -/* 033F04 80033304 44810000 */ mtc1 $at, $f0 -/* 033F08 80033308 A1CA0005 */ sb $t2, 5($t6) -/* 033F0C 8003330C 8E790000 */ lw $t9, ($s3) -/* 033F10 80033310 8FCC0054 */ lw $t4, 0x54($fp) -/* 033F14 80033314 8F2D000C */ lw $t5, 0xc($t9) -/* 033F18 80033318 00000000 */ nop -/* 033F1C 8003331C A18D0006 */ sb $t5, 6($t4) -/* 033F20 80033320 8E780000 */ lw $t8, ($s3) -/* 033F24 80033324 8FCB0054 */ lw $t3, 0x54($fp) -/* 033F28 80033328 8F0F0010 */ lw $t7, 0x10($t8) -/* 033F2C 8003332C 00000000 */ nop -/* 033F30 80033330 A16F0007 */ sb $t7, 7($t3) -/* 033F34 80033334 8FCA0054 */ lw $t2, 0x54($fp) -/* 033F38 80033338 00000000 */ nop -/* 033F3C 8003333C A1400011 */ sb $zero, 0x11($t2) -/* 033F40 80033340 8D0E0000 */ lw $t6, ($t0) -/* 033F44 80033344 8FCC0054 */ lw $t4, 0x54($fp) -/* 033F48 80033348 C5C80000 */ lwc1 $f8, ($t6) -/* 033F4C 8003334C 00000000 */ nop -/* 033F50 80033350 46004282 */ mul.s $f10, $f8, $f0 -/* 033F54 80033354 4459F800 */ cfc1 $t9, $31 -/* 033F58 80033358 00000000 */ nop -/* 033F5C 8003335C 37210003 */ ori $at, $t9, 3 -/* 033F60 80033360 38210002 */ xori $at, $at, 2 -/* 033F64 80033364 44C1F800 */ ctc1 $at, $31 -/* 033F68 80033368 00000000 */ nop -/* 033F6C 8003336C 46005424 */ cvt.w.s $f16, $f10 -/* 033F70 80033370 440D8000 */ mfc1 $t5, $f16 -/* 033F74 80033374 44D9F800 */ ctc1 $t9, $31 -/* 033F78 80033378 A58D0008 */ sh $t5, 8($t4) -/* 033F7C 8003337C 8D180000 */ lw $t8, ($t0) -/* 033F80 80033380 8FCA0054 */ lw $t2, 0x54($fp) -/* 033F84 80033384 C7120004 */ lwc1 $f18, 4($t8) -/* 033F88 80033388 00000000 */ nop -/* 033F8C 8003338C 46009102 */ mul.s $f4, $f18, $f0 -/* 033F90 80033390 444FF800 */ cfc1 $t7, $31 -/* 033F94 80033394 00000000 */ nop -/* 033F98 80033398 35E10003 */ ori $at, $t7, 3 -/* 033F9C 8003339C 38210002 */ xori $at, $at, 2 -/* 033FA0 800333A0 44C1F800 */ ctc1 $at, $31 -/* 033FA4 800333A4 37210003 */ ori $at, $t9, 3 -/* 033FA8 800333A8 460021A4 */ cvt.w.s $f6, $f4 -/* 033FAC 800333AC 38210002 */ xori $at, $at, 2 -/* 033FB0 800333B0 440B3000 */ mfc1 $t3, $f6 -/* 033FB4 800333B4 44CFF800 */ ctc1 $t7, $31 -/* 033FB8 800333B8 A54B000A */ sh $t3, 0xa($t2) -/* 033FBC 800333BC 8D0E0000 */ lw $t6, ($t0) -/* 033FC0 800333C0 8FCC0054 */ lw $t4, 0x54($fp) -/* 033FC4 800333C4 C5C80008 */ lwc1 $f8, 8($t6) -/* 033FC8 800333C8 00000000 */ nop -/* 033FCC 800333CC 46004282 */ mul.s $f10, $f8, $f0 -/* 033FD0 800333D0 44C1F800 */ ctc1 $at, $31 -/* 033FD4 800333D4 00000000 */ nop -/* 033FD8 800333D8 46005424 */ cvt.w.s $f16, $f10 -/* 033FDC 800333DC 440D8000 */ mfc1 $t5, $f16 -/* 033FE0 800333E0 44D9F800 */ ctc1 $t9, $31 -/* 033FE4 800333E4 100000EB */ b .L80033794 -/* 033FE8 800333E8 A58D000C */ sh $t5, 0xc($t4) -.L800333EC: -/* 033FEC 800333EC 8E660000 */ lw $a2, ($s3) -/* 033FF0 800333F0 24040001 */ li $a0, 1 -/* 033FF4 800333F4 8CD80024 */ lw $t8, 0x24($a2) -/* 033FF8 800333F8 8CCF0010 */ lw $t7, 0x10($a2) -/* 033FFC 800333FC 00002825 */ move $a1, $zero -/* 034000 80033400 030F082A */ slt $at, $t8, $t7 -/* 034004 80033404 10200004 */ beqz $at, .L80033418 -/* 034008 80033408 24C30028 */ addiu $v1, $a2, 0x28 -/* 03400C 8003340C 00002025 */ move $a0, $zero -/* 034010 80033410 10000001 */ b .L80033418 -/* 034014 80033414 24050001 */ li $a1, 1 -.L80033418: -/* 034018 80033418 28E10003 */ slti $at, $a3, 3 -/* 03401C 8003341C 14200020 */ bnez $at, .L800334A0 -/* 034020 80033420 24150002 */ li $s5, 2 -.L80033424: -/* 034024 80033424 00B20019 */ multu $a1, $s2 -/* 034028 80033428 8C620010 */ lw $v0, 0x10($v1) -/* 03402C 8003342C 00005812 */ mflo $t3 -/* 034030 80033430 00CB5021 */ addu $t2, $a2, $t3 -/* 034034 80033434 8D4E0010 */ lw $t6, 0x10($t2) -/* 034038 80033438 00000000 */ nop -/* 03403C 8003343C 01C2082A */ slt $at, $t6, $v0 -/* 034040 80033440 10200013 */ beqz $at, .L80033490 -/* 034044 80033444 00000000 */ nop -/* 034048 80033448 00920019 */ multu $a0, $s2 -/* 03404C 8003344C 00152C00 */ sll $a1, $s5, 0x10 -/* 034050 80033450 00055C03 */ sra $t3, $a1, 0x10 -/* 034054 80033454 01602825 */ move $a1, $t3 -/* 034058 80033458 0000C812 */ mflo $t9 -/* 03405C 8003345C 00D96821 */ addu $t5, $a2, $t9 -/* 034060 80033460 8DAC0010 */ lw $t4, 0x10($t5) -/* 034064 80033464 00000000 */ nop -/* 034068 80033468 0182082A */ slt $at, $t4, $v0 -/* 03406C 8003346C 10200008 */ beqz $at, .L80033490 -/* 034070 80033470 00000000 */ nop -/* 034074 80033474 00042C00 */ sll $a1, $a0, 0x10 -/* 034078 80033478 00152400 */ sll $a0, $s5, 0x10 -/* 03407C 8003347C 0005C403 */ sra $t8, $a1, 0x10 -/* 034080 80033480 00047C03 */ sra $t7, $a0, 0x10 -/* 034084 80033484 03002825 */ move $a1, $t8 -/* 034088 80033488 10000001 */ b .L80033490 -/* 03408C 8003348C 01E02025 */ move $a0, $t7 -.L80033490: -/* 034090 80033490 26B50001 */ addiu $s5, $s5, 1 -/* 034094 80033494 02A7082A */ slt $at, $s5, $a3 -/* 034098 80033498 1420FFE2 */ bnez $at, .L80033424 -/* 03409C 8003349C 24630014 */ addiu $v1, $v1, 0x14 -.L800334A0: -/* 0340A0 800334A0 00920019 */ multu $a0, $s2 -/* 0340A4 800334A4 8FD90054 */ lw $t9, 0x54($fp) -/* 0340A8 800334A8 3C014600 */ li $at, 0x46000000 # 8192.000000 -/* 0340AC 800334AC 44810000 */ mtc1 $at, $f0 -/* 0340B0 800334B0 00001012 */ mflo $v0 -/* 0340B4 800334B4 00C25021 */ addu $t2, $a2, $v0 -/* 0340B8 800334B8 8D4E0004 */ lw $t6, 4($t2) -/* 0340BC 800334BC 00890019 */ multu $a0, $t1 -/* 0340C0 800334C0 A32E0004 */ sb $t6, 4($t9) -/* 0340C4 800334C4 8E6D0000 */ lw $t5, ($s3) -/* 0340C8 800334C8 8FCF0054 */ lw $t7, 0x54($fp) -/* 0340CC 800334CC 01A26021 */ addu $t4, $t5, $v0 -/* 0340D0 800334D0 8D980008 */ lw $t8, 8($t4) -/* 0340D4 800334D4 00000000 */ nop -/* 0340D8 800334D8 A1F80005 */ sb $t8, 5($t7) -/* 0340DC 800334DC 8E6B0000 */ lw $t3, ($s3) -/* 0340E0 800334E0 8FD90054 */ lw $t9, 0x54($fp) -/* 0340E4 800334E4 01625021 */ addu $t2, $t3, $v0 -/* 0340E8 800334E8 8D4E000C */ lw $t6, 0xc($t2) -/* 0340EC 800334EC 00001812 */ mflo $v1 -/* 0340F0 800334F0 A32E0006 */ sb $t6, 6($t9) -/* 0340F4 800334F4 8E6D0000 */ lw $t5, ($s3) -/* 0340F8 800334F8 8FCF0054 */ lw $t7, 0x54($fp) -/* 0340FC 800334FC 01A26021 */ addu $t4, $t5, $v0 -/* 034100 80033500 8D980010 */ lw $t8, 0x10($t4) -/* 034104 80033504 00B20019 */ multu $a1, $s2 -/* 034108 80033508 A1F80007 */ sb $t8, 7($t7) -/* 03410C 8003350C 8D0B0000 */ lw $t3, ($t0) -/* 034110 80033510 8FCD0054 */ lw $t5, 0x54($fp) -/* 034114 80033514 01635021 */ addu $t2, $t3, $v1 -/* 034118 80033518 C5520000 */ lwc1 $f18, ($t2) -/* 03411C 8003351C 00000000 */ nop -/* 034120 80033520 46009102 */ mul.s $f4, $f18, $f0 -/* 034124 80033524 444EF800 */ cfc1 $t6, $31 -/* 034128 80033528 00003812 */ mflo $a3 -/* 03412C 8003352C 35C10003 */ ori $at, $t6, 3 -/* 034130 80033530 38210002 */ xori $at, $at, 2 -/* 034134 80033534 44C1F800 */ ctc1 $at, $31 -/* 034138 80033538 00A90019 */ multu $a1, $t1 -/* 03413C 8003353C 460021A4 */ cvt.w.s $f6, $f4 -/* 034140 80033540 44193000 */ mfc1 $t9, $f6 -/* 034144 80033544 44CEF800 */ ctc1 $t6, $31 -/* 034148 80033548 A5B90008 */ sh $t9, 8($t5) -/* 03414C 8003354C 8D0C0000 */ lw $t4, ($t0) -/* 034150 80033550 8FCA0054 */ lw $t2, 0x54($fp) -/* 034154 80033554 0183C021 */ addu $t8, $t4, $v1 -/* 034158 80033558 C7080004 */ lwc1 $f8, 4($t8) -/* 03415C 8003355C 00000000 */ nop -/* 034160 80033560 46004282 */ mul.s $f10, $f8, $f0 -/* 034164 80033564 00001012 */ mflo $v0 -/* 034168 80033568 444FF800 */ cfc1 $t7, $31 -/* 03416C 8003356C 00000000 */ nop -/* 034170 80033570 35E10003 */ ori $at, $t7, 3 -/* 034174 80033574 38210002 */ xori $at, $at, 2 -/* 034178 80033578 44C1F800 */ ctc1 $at, $31 -/* 03417C 8003357C 00000000 */ nop -/* 034180 80033580 46005424 */ cvt.w.s $f16, $f10 -/* 034184 80033584 440B8000 */ mfc1 $t3, $f16 -/* 034188 80033588 44CFF800 */ ctc1 $t7, $31 -/* 03418C 8003358C A54B000A */ sh $t3, 0xa($t2) -/* 034190 80033590 8D0E0000 */ lw $t6, ($t0) -/* 034194 80033594 8FD80054 */ lw $t8, 0x54($fp) -/* 034198 80033598 01C3C821 */ addu $t9, $t6, $v1 -/* 03419C 8003359C C7320008 */ lwc1 $f18, 8($t9) -/* 0341A0 800335A0 00000000 */ nop -/* 0341A4 800335A4 46009102 */ mul.s $f4, $f18, $f0 -/* 0341A8 800335A8 444DF800 */ cfc1 $t5, $31 -/* 0341AC 800335AC 00000000 */ nop -/* 0341B0 800335B0 35A10003 */ ori $at, $t5, 3 -/* 0341B4 800335B4 38210002 */ xori $at, $at, 2 -/* 0341B8 800335B8 44C1F800 */ ctc1 $at, $31 -/* 0341BC 800335BC 00000000 */ nop -/* 0341C0 800335C0 460021A4 */ cvt.w.s $f6, $f4 -/* 0341C4 800335C4 440C3000 */ mfc1 $t4, $f6 -/* 0341C8 800335C8 44CDF800 */ ctc1 $t5, $31 -/* 0341CC 800335CC A70C000C */ sh $t4, 0xc($t8) -/* 0341D0 800335D0 8E6F0000 */ lw $t7, ($s3) -/* 0341D4 800335D4 8FCE0054 */ lw $t6, 0x54($fp) -/* 0341D8 800335D8 01E75821 */ addu $t3, $t7, $a3 -/* 0341DC 800335DC 8D6A0004 */ lw $t2, 4($t3) -/* 0341E0 800335E0 00000000 */ nop -/* 0341E4 800335E4 A1CA000E */ sb $t2, 0xe($t6) -/* 0341E8 800335E8 8E790000 */ lw $t9, ($s3) -/* 0341EC 800335EC 8FD80054 */ lw $t8, 0x54($fp) -/* 0341F0 800335F0 03276821 */ addu $t5, $t9, $a3 -/* 0341F4 800335F4 8DAC0008 */ lw $t4, 8($t5) -/* 0341F8 800335F8 00000000 */ nop -/* 0341FC 800335FC A30C000F */ sb $t4, 0xf($t8) -/* 034200 80033600 8E6F0000 */ lw $t7, ($s3) -/* 034204 80033604 8FCE0054 */ lw $t6, 0x54($fp) -/* 034208 80033608 01E75821 */ addu $t3, $t7, $a3 -/* 03420C 8003360C 8D6A000C */ lw $t2, 0xc($t3) -/* 034210 80033610 00000000 */ nop -/* 034214 80033614 A1CA0010 */ sb $t2, 0x10($t6) -/* 034218 80033618 8E790000 */ lw $t9, ($s3) -/* 03421C 8003361C 8FD80054 */ lw $t8, 0x54($fp) -/* 034220 80033620 03276821 */ addu $t5, $t9, $a3 -/* 034224 80033624 8DAC0010 */ lw $t4, 0x10($t5) -/* 034228 80033628 00000000 */ nop -/* 03422C 8003362C A30C0011 */ sb $t4, 0x11($t8) -/* 034230 80033630 8D0F0000 */ lw $t7, ($t0) -/* 034234 80033634 8FD90054 */ lw $t9, 0x54($fp) -/* 034238 80033638 01E25821 */ addu $t3, $t7, $v0 -/* 03423C 8003363C C5680000 */ lwc1 $f8, ($t3) -/* 034240 80033640 00000000 */ nop -/* 034244 80033644 46004282 */ mul.s $f10, $f8, $f0 -/* 034248 80033648 444AF800 */ cfc1 $t2, $31 -/* 03424C 8003364C 00000000 */ nop -/* 034250 80033650 35410003 */ ori $at, $t2, 3 -/* 034254 80033654 38210002 */ xori $at, $at, 2 -/* 034258 80033658 44C1F800 */ ctc1 $at, $31 -/* 03425C 8003365C 00000000 */ nop -/* 034260 80033660 46005424 */ cvt.w.s $f16, $f10 -/* 034264 80033664 440E8000 */ mfc1 $t6, $f16 -/* 034268 80033668 44CAF800 */ ctc1 $t2, $31 -/* 03426C 8003366C A72E0012 */ sh $t6, 0x12($t9) -/* 034270 80033670 8D0D0000 */ lw $t5, ($t0) -/* 034274 80033674 8FCB0054 */ lw $t3, 0x54($fp) -/* 034278 80033678 01A26021 */ addu $t4, $t5, $v0 -/* 03427C 8003367C C5920004 */ lwc1 $f18, 4($t4) -/* 034280 80033680 00000000 */ nop -/* 034284 80033684 46009102 */ mul.s $f4, $f18, $f0 -/* 034288 80033688 4458F800 */ cfc1 $t8, $31 -/* 03428C 8003368C 00000000 */ nop -/* 034290 80033690 37010003 */ ori $at, $t8, 3 -/* 034294 80033694 38210002 */ xori $at, $at, 2 -/* 034298 80033698 44C1F800 */ ctc1 $at, $31 -/* 03429C 8003369C 00000000 */ nop -/* 0342A0 800336A0 460021A4 */ cvt.w.s $f6, $f4 -/* 0342A4 800336A4 440F3000 */ mfc1 $t7, $f6 -/* 0342A8 800336A8 44D8F800 */ ctc1 $t8, $31 -/* 0342AC 800336AC A56F0014 */ sh $t7, 0x14($t3) -/* 0342B0 800336B0 8D0A0000 */ lw $t2, ($t0) -/* 0342B4 800336B4 8FCC0054 */ lw $t4, 0x54($fp) -/* 0342B8 800336B8 01427021 */ addu $t6, $t2, $v0 -/* 0342BC 800336BC C5C80008 */ lwc1 $f8, 8($t6) -/* 0342C0 800336C0 00000000 */ nop -/* 0342C4 800336C4 46004282 */ mul.s $f10, $f8, $f0 -/* 0342C8 800336C8 4459F800 */ cfc1 $t9, $31 -/* 0342CC 800336CC 00000000 */ nop -/* 0342D0 800336D0 37210003 */ ori $at, $t9, 3 -/* 0342D4 800336D4 38210002 */ xori $at, $at, 2 -/* 0342D8 800336D8 44C1F800 */ ctc1 $at, $31 -/* 0342DC 800336DC 00000000 */ nop -/* 0342E0 800336E0 46005424 */ cvt.w.s $f16, $f10 -/* 0342E4 800336E4 440D8000 */ mfc1 $t5, $f16 -/* 0342E8 800336E8 44D9F800 */ ctc1 $t9, $31 -/* 0342EC 800336EC 10000029 */ b .L80033794 -/* 0342F0 800336F0 A58D0016 */ sh $t5, 0x16($t4) -.L800336F4: -/* 0342F4 800336F4 8E270000 */ lw $a3, ($s1) -/* 0342F8 800336F8 00000000 */ nop -/* 0342FC 800336FC 18E00019 */ blez $a3, .L80033764 -/* 034300 80033700 28E10002 */ slti $at, $a3, 2 -/* 034304 80033704 14200003 */ bnez $at, .L80033714 -/* 034308 80033708 00000000 */ nop -/* 03430C 8003370C 0C00CDF9 */ jal func_800337E4 -/* 034310 80033710 00000000 */ nop -.L80033714: -/* 034314 80033714 8E780000 */ lw $t8, ($s3) -/* 034318 80033718 8FCB0054 */ lw $t3, 0x54($fp) -/* 03431C 8003371C 8F0F0004 */ lw $t7, 4($t8) -/* 034320 80033720 00000000 */ nop -/* 034324 80033724 A16F0004 */ sb $t7, 4($t3) -/* 034328 80033728 8E6A0000 */ lw $t2, ($s3) -/* 03432C 8003372C 8FD90054 */ lw $t9, 0x54($fp) -/* 034330 80033730 8D4E0008 */ lw $t6, 8($t2) -/* 034334 80033734 00000000 */ nop -/* 034338 80033738 A32E0005 */ sb $t6, 5($t9) -/* 03433C 8003373C 8E6D0000 */ lw $t5, ($s3) -/* 034340 80033740 8FD80054 */ lw $t8, 0x54($fp) -/* 034344 80033744 8DAC000C */ lw $t4, 0xc($t5) -/* 034348 80033748 00000000 */ nop -/* 03434C 8003374C A30C0006 */ sb $t4, 6($t8) -/* 034350 80033750 8E6F0000 */ lw $t7, ($s3) -/* 034354 80033754 8FCA0054 */ lw $t2, 0x54($fp) -/* 034358 80033758 8DEB0010 */ lw $t3, 0x10($t7) -/* 03435C 8003375C 1000000D */ b .L80033794 -/* 034360 80033760 A14B0007 */ sb $t3, 7($t2) -.L80033764: -/* 034364 80033764 8FCE0054 */ lw $t6, 0x54($fp) -/* 034368 80033768 240200FF */ li $v0, 255 -/* 03436C 8003376C A1C20004 */ sb $v0, 4($t6) -/* 034370 80033770 8FD90054 */ lw $t9, 0x54($fp) -/* 034374 80033774 00000000 */ nop -/* 034378 80033778 A3220005 */ sb $v0, 5($t9) -/* 03437C 8003377C 8FCD0054 */ lw $t5, 0x54($fp) -/* 034380 80033780 00000000 */ nop -/* 034384 80033784 A1A20006 */ sb $v0, 6($t5) -/* 034388 80033788 8FCC0054 */ lw $t4, 0x54($fp) -/* 03438C 8003378C 00000000 */ nop -/* 034390 80033790 A1800007 */ sb $zero, 7($t4) -.L80033794: -/* 034394 80033794 8FBF005C */ lw $ra, 0x5c($sp) -.L80033798: -/* 034398 80033798 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 03439C 8003379C C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 0343A0 800337A0 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 0343A4 800337A4 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 0343A8 800337A8 C7B90028 */ lwc1 $f25, 0x28($sp) -/* 0343AC 800337AC C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 0343B0 800337B0 C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 0343B4 800337B4 C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 0343B8 800337B8 8FB00038 */ lw $s0, 0x38($sp) -/* 0343BC 800337BC 8FB1003C */ lw $s1, 0x3c($sp) -/* 0343C0 800337C0 8FB20040 */ lw $s2, 0x40($sp) -/* 0343C4 800337C4 8FB30044 */ lw $s3, 0x44($sp) -/* 0343C8 800337C8 8FB40048 */ lw $s4, 0x48($sp) -/* 0343CC 800337CC 8FB5004C */ lw $s5, 0x4c($sp) -/* 0343D0 800337D0 8FB60050 */ lw $s6, 0x50($sp) -/* 0343D4 800337D4 8FB70054 */ lw $s7, 0x54($sp) -/* 0343D8 800337D8 8FBE0058 */ lw $fp, 0x58($sp) -/* 0343DC 800337DC 03E00008 */ jr $ra -/* 0343E0 800337E0 27BD0090 */ addiu $sp, $sp, 0x90 - diff --git a/asm/non_matchings/menu/func_8007FFEC.s b/asm/non_matchings/menu/func_8007FFEC.s deleted file mode 100644 index 1ddcd7fe..00000000 --- a/asm/non_matchings/menu/func_8007FFEC.s +++ /dev/null @@ -1,343 +0,0 @@ -glabel func_8007FFEC -/* 080BEC 8007FFEC 3C068012 */ lui $a2, %hi(gMenuGeometry) # $a2, 0x8012 -/* 080BF0 8007FFF0 24C66C2C */ addiu $a2, %lo(gMenuGeometry) # addiu $a2, $a2, 0x6c2c -/* 080BF4 8007FFF4 8CCE0000 */ lw $t6, ($a2) -/* 080BF8 8007FFF8 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 080BFC 8007FFFC AFB00018 */ sw $s0, 0x18($sp) -/* 080C00 80080000 00808025 */ move $s0, $a0 -/* 080C04 80080004 11C00003 */ beqz $t6, .L80080014 -/* 080C08 80080008 AFBF001C */ sw $ra, 0x1c($sp) -/* 080C0C 8008000C 0C01FFE2 */ jal menu_button_free -/* 080C10 80080010 00000000 */ nop -.L80080014: -/* 080C14 80080014 2409000A */ li $t1, 10 -/* 080C18 80080018 02090019 */ multu $s0, $t1 -/* 080C1C 8008001C 00106880 */ sll $t5, $s0, 2 -/* 080C20 80080020 01B06821 */ addu $t5, $t5, $s0 -/* 080C24 80080024 000D6880 */ sll $t5, $t5, 2 -/* 080C28 80080028 000D7880 */ sll $t7, $t5, 2 -/* 080C2C 8008002C 01ED7821 */ addu $t7, $t7, $t5 -/* 080C30 80080030 24020020 */ li $v0, 32 -/* 080C34 80080034 3C01800E */ lui $at, %hi(gWoodPanelTexScaleU) # $at, 0x800e -/* 080C38 80080038 000F6840 */ sll $t5, $t7, 1 -/* 080C3C 8008003C AC221DC0 */ sw $v0, %lo(gWoodPanelTexScaleU)($at) -/* 080C40 80080040 3C01800E */ lui $at, %hi(gWoodPanelTexScaleV) # $at, 0x800e -/* 080C44 80080044 00106140 */ sll $t4, $s0, 5 -/* 080C48 80080048 00001812 */ mflo $v1 -/* 080C4C 8008004C 0003C100 */ sll $t8, $v1, 4 -/* 080C50 80080050 01B8C821 */ addu $t9, $t5, $t8 -/* 080C54 80080054 00197040 */ sll $t6, $t9, 1 -/* 080C58 80080058 AC221DC4 */ sw $v0, %lo(gWoodPanelTexScaleV)($at) -/* 080C5C 8008005C 01CC2021 */ addu $a0, $t6, $t4 -/* 080C60 80080060 03001825 */ move $v1, $t8 -/* 080C64 80080064 AFB80020 */ sw $t8, 0x20($sp) -/* 080C68 80080068 AFAC0028 */ sw $t4, 0x28($sp) -/* 080C6C 8008006C AFAD0024 */ sw $t5, 0x24($sp) -/* 080C70 80080070 0C01C327 */ jal mempool_alloc_safe -/* 080C74 80080074 2405FFFF */ li $a1, -1 -/* 080C78 80080078 8FA30020 */ lw $v1, 0x20($sp) -/* 080C7C 8008007C 3C07800E */ lui $a3, %hi(gWoodPanelTriangles) # $a3, 0x800e -/* 080C80 80080080 24E71DAC */ addiu $a3, %lo(gWoodPanelTriangles) # addiu $a3, $a3, 0x1dac -/* 080C84 80080084 ACE20000 */ sw $v0, ($a3) -/* 080C88 80080088 3C01800E */ lui $at, %hi(gWoodPanelTriangles+4) # $at, 0x800e -/* 080C8C 8008008C 0043C021 */ addu $t8, $v0, $v1 -/* 080C90 80080090 AC381DB0 */ sw $t8, %lo(gWoodPanelTriangles+4)($at) -/* 080C94 80080094 8CF90004 */ lw $t9, 4($a3) -/* 080C98 80080098 3C068012 */ lui $a2, %hi(gMenuGeometry) # $a2, 0x8012 -/* 080C9C 8008009C 3C018012 */ lui $at, %hi(gMenuGeometry) # $at, 0x8012 -/* 080CA0 800800A0 03237021 */ addu $t6, $t9, $v1 -/* 080CA4 800800A4 24C66C2C */ addiu $a2, %lo(gMenuGeometry) # addiu $a2, $a2, 0x6c2c -/* 080CA8 800800A8 AC2E6C2C */ sw $t6, %lo(gMenuGeometry)($at) -/* 080CAC 800800AC 8FAC0028 */ lw $t4, 0x28($sp) -/* 080CB0 800800B0 8CCF0000 */ lw $t7, ($a2) -/* 080CB4 800800B4 3C08800E */ lui $t0, %hi(gWoodPanelVertices) # $t0, 0x800e -/* 080CB8 800800B8 3C01800E */ lui $at, %hi(gWoodPanelVertices+4) # $at, 0x800e -/* 080CBC 800800BC 01ECC021 */ addu $t8, $t7, $t4 -/* 080CC0 800800C0 25081DA4 */ addiu $t0, %lo(gWoodPanelVertices) # addiu $t0, $t0, 0x1da4 -/* 080CC4 800800C4 AC381DA4 */ sw $t8, %lo(gWoodPanelVertices)($at) -/* 080CC8 800800C8 8FAD0024 */ lw $t5, 0x24($sp) -/* 080CCC 800800CC 8D190000 */ lw $t9, ($t0) -/* 080CD0 800800D0 2409000A */ li $t1, 10 -/* 080CD4 800800D4 032D7021 */ addu $t6, $t9, $t5 -/* 080CD8 800800D8 AC2E1DA8 */ sw $t6, %lo(gWoodPanelVertices+4)($at) -/* 080CDC 800800DC 00005025 */ move $t2, $zero -/* 080CE0 800800E0 00002825 */ move $a1, $zero -/* 080CE4 800800E4 1A0000C8 */ blez $s0, .L80080408 -/* 080CE8 800800E8 00005825 */ move $t3, $zero -/* 080CEC 800800EC 32040003 */ andi $a0, $s0, 3 -/* 080CF0 800800F0 1080002C */ beqz $a0, .L800801A4 -/* 080CF4 800800F4 00806025 */ move $t4, $a0 -/* 080CF8 800800F8 00001825 */ move $v1, $zero -/* 080CFC 800800FC 000318C0 */ sll $v1, $v1, 3 -/* 080D00 80080100 00001140 */ sll $v0, $zero, 5 -.L80080104: -/* 080D04 80080104 8D0F0000 */ lw $t7, ($t0) -/* 080D08 80080108 8CD90000 */ lw $t9, ($a2) -/* 080D0C 8008010C 01E3C021 */ addu $t8, $t7, $v1 -/* 080D10 80080110 03227021 */ addu $t6, $t9, $v0 -/* 080D14 80080114 ADD80000 */ sw $t8, ($t6) -/* 080D18 80080118 8CD80000 */ lw $t8, ($a2) -/* 080D1C 8008011C 8D0F0004 */ lw $t7, 4($t0) -/* 080D20 80080120 03027021 */ addu $t6, $t8, $v0 -/* 080D24 80080124 01E3C821 */ addu $t9, $t7, $v1 -/* 080D28 80080128 ADD90004 */ sw $t9, 4($t6) -/* 080D2C 8008012C 8CD90000 */ lw $t9, ($a2) -/* 080D30 80080130 8CEF0000 */ lw $t7, ($a3) -/* 080D34 80080134 00052100 */ sll $a0, $a1, 4 -/* 080D38 80080138 03227021 */ addu $t6, $t9, $v0 -/* 080D3C 8008013C 01E4C021 */ addu $t8, $t7, $a0 -/* 080D40 80080140 ADD80008 */ sw $t8, 8($t6) -/* 080D44 80080144 8CD80000 */ lw $t8, ($a2) -/* 080D48 80080148 8CEF0004 */ lw $t7, 4($a3) -/* 080D4C 8008014C 03027021 */ addu $t6, $t8, $v0 -/* 080D50 80080150 01E4C821 */ addu $t9, $t7, $a0 -/* 080D54 80080154 ADD9000C */ sw $t9, 0xc($t6) -/* 080D58 80080158 8CCF0000 */ lw $t7, ($a2) -/* 080D5C 8008015C 256B0001 */ addiu $t3, $t3, 1 -/* 080D60 80080160 01E2C021 */ addu $t8, $t7, $v0 -/* 080D64 80080164 AF000010 */ sw $zero, 0x10($t8) -/* 080D68 80080168 8CD90000 */ lw $t9, ($a2) -/* 080D6C 8008016C 24A5000A */ addiu $a1, $a1, 0xa -/* 080D70 80080170 03227021 */ addu $t6, $t9, $v0 -/* 080D74 80080174 ADC00014 */ sw $zero, 0x14($t6) -/* 080D78 80080178 8CCF0000 */ lw $t7, ($a2) -/* 080D7C 8008017C 246300C8 */ addiu $v1, $v1, 0xc8 -/* 080D80 80080180 01E2C021 */ addu $t8, $t7, $v0 -/* 080D84 80080184 AF000018 */ sw $zero, 0x18($t8) -/* 080D88 80080188 8CD90000 */ lw $t9, ($a2) -/* 080D8C 8008018C 254A0014 */ addiu $t2, $t2, 0x14 -/* 080D90 80080190 03227021 */ addu $t6, $t9, $v0 -/* 080D94 80080194 ADC0001C */ sw $zero, 0x1c($t6) -/* 080D98 80080198 158BFFDA */ bne $t4, $t3, .L80080104 -/* 080D9C 8008019C 24420020 */ addiu $v0, $v0, 0x20 -/* 080DA0 800801A0 11700098 */ beq $t3, $s0, .L80080404 -.L800801A4: -/* 080DA4 800801A4 000A1880 */ sll $v1, $t2, 2 -/* 080DA8 800801A8 006A1821 */ addu $v1, $v1, $t2 -/* 080DAC 800801AC 00031840 */ sll $v1, $v1, 1 -/* 080DB0 800801B0 000B1140 */ sll $v0, $t3, 5 -/* 080DB4 800801B4 00106140 */ sll $t4, $s0, 5 -.L800801B8: -/* 080DB8 800801B8 8D0F0000 */ lw $t7, ($t0) -/* 080DBC 800801BC 8CD90000 */ lw $t9, ($a2) -/* 080DC0 800801C0 01E3C021 */ addu $t8, $t7, $v1 -/* 080DC4 800801C4 03227021 */ addu $t6, $t9, $v0 -/* 080DC8 800801C8 ADD80000 */ sw $t8, ($t6) -/* 080DCC 800801CC 8CD80000 */ lw $t8, ($a2) -/* 080DD0 800801D0 8D0F0004 */ lw $t7, 4($t0) -/* 080DD4 800801D4 03027021 */ addu $t6, $t8, $v0 -/* 080DD8 800801D8 01E3C821 */ addu $t9, $t7, $v1 -/* 080DDC 800801DC ADD90004 */ sw $t9, 4($t6) -/* 080DE0 800801E0 8CD90000 */ lw $t9, ($a2) -/* 080DE4 800801E4 8CEF0000 */ lw $t7, ($a3) -/* 080DE8 800801E8 00052100 */ sll $a0, $a1, 4 -/* 080DEC 800801EC 03227021 */ addu $t6, $t9, $v0 -/* 080DF0 800801F0 01E4C021 */ addu $t8, $t7, $a0 -/* 080DF4 800801F4 ADD80008 */ sw $t8, 8($t6) -/* 080DF8 800801F8 8CD80000 */ lw $t8, ($a2) -/* 080DFC 800801FC 8CEF0004 */ lw $t7, 4($a3) -/* 080E00 80080200 03027021 */ addu $t6, $t8, $v0 -/* 080E04 80080204 01E4C821 */ addu $t9, $t7, $a0 -/* 080E08 80080208 ADD9000C */ sw $t9, 0xc($t6) -/* 080E0C 8008020C 8CCF0000 */ lw $t7, ($a2) -/* 080E10 80080210 246300C8 */ addiu $v1, $v1, 0xc8 -/* 080E14 80080214 01E2C021 */ addu $t8, $t7, $v0 -/* 080E18 80080218 AF000010 */ sw $zero, 0x10($t8) -/* 080E1C 8008021C 8CD90000 */ lw $t9, ($a2) -/* 080E20 80080220 24A5000A */ addiu $a1, $a1, 0xa -/* 080E24 80080224 03227021 */ addu $t6, $t9, $v0 -/* 080E28 80080228 ADC00014 */ sw $zero, 0x14($t6) -/* 080E2C 8008022C 8CCF0000 */ lw $t7, ($a2) -/* 080E30 80080230 00052100 */ sll $a0, $a1, 4 -/* 080E34 80080234 01E2C021 */ addu $t8, $t7, $v0 -/* 080E38 80080238 AF000018 */ sw $zero, 0x18($t8) -/* 080E3C 8008023C 8CD90000 */ lw $t9, ($a2) -/* 080E40 80080240 24A5000A */ addiu $a1, $a1, 0xa -/* 080E44 80080244 03227021 */ addu $t6, $t9, $v0 -/* 080E48 80080248 ADC0001C */ sw $zero, 0x1c($t6) -/* 080E4C 8008024C 8CD90000 */ lw $t9, ($a2) -/* 080E50 80080250 8D0F0000 */ lw $t7, ($t0) -/* 080E54 80080254 03227021 */ addu $t6, $t9, $v0 -/* 080E58 80080258 01E3C021 */ addu $t8, $t7, $v1 -/* 080E5C 8008025C ADD80020 */ sw $t8, 0x20($t6) -/* 080E60 80080260 8CD80000 */ lw $t8, ($a2) -/* 080E64 80080264 8D0F0004 */ lw $t7, 4($t0) -/* 080E68 80080268 03027021 */ addu $t6, $t8, $v0 -/* 080E6C 8008026C 01E3C821 */ addu $t9, $t7, $v1 -/* 080E70 80080270 ADD90024 */ sw $t9, 0x24($t6) -/* 080E74 80080274 8CD90000 */ lw $t9, ($a2) -/* 080E78 80080278 8CEF0000 */ lw $t7, ($a3) -/* 080E7C 8008027C 03227021 */ addu $t6, $t9, $v0 -/* 080E80 80080280 01E4C021 */ addu $t8, $t7, $a0 -/* 080E84 80080284 ADD80028 */ sw $t8, 0x28($t6) -/* 080E88 80080288 8CD80000 */ lw $t8, ($a2) -/* 080E8C 8008028C 8CEF0004 */ lw $t7, 4($a3) -/* 080E90 80080290 03027021 */ addu $t6, $t8, $v0 -/* 080E94 80080294 01E4C821 */ addu $t9, $t7, $a0 -/* 080E98 80080298 ADD9002C */ sw $t9, 0x2c($t6) -/* 080E9C 8008029C 8CCF0000 */ lw $t7, ($a2) -/* 080EA0 800802A0 246300C8 */ addiu $v1, $v1, 0xc8 -/* 080EA4 800802A4 01E2C021 */ addu $t8, $t7, $v0 -/* 080EA8 800802A8 AF000030 */ sw $zero, 0x30($t8) -/* 080EAC 800802AC 8CD90000 */ lw $t9, ($a2) -/* 080EB0 800802B0 00052100 */ sll $a0, $a1, 4 -/* 080EB4 800802B4 03227021 */ addu $t6, $t9, $v0 -/* 080EB8 800802B8 ADC00034 */ sw $zero, 0x34($t6) -/* 080EBC 800802BC 8CCF0000 */ lw $t7, ($a2) -/* 080EC0 800802C0 24A5000A */ addiu $a1, $a1, 0xa -/* 080EC4 800802C4 01E2C021 */ addu $t8, $t7, $v0 -/* 080EC8 800802C8 AF000038 */ sw $zero, 0x38($t8) -/* 080ECC 800802CC 8CD90000 */ lw $t9, ($a2) -/* 080ED0 800802D0 00000000 */ nop -/* 080ED4 800802D4 03227021 */ addu $t6, $t9, $v0 -/* 080ED8 800802D8 ADC0003C */ sw $zero, 0x3c($t6) -/* 080EDC 800802DC 8CD90000 */ lw $t9, ($a2) -/* 080EE0 800802E0 8D0F0000 */ lw $t7, ($t0) -/* 080EE4 800802E4 03227021 */ addu $t6, $t9, $v0 -/* 080EE8 800802E8 01E3C021 */ addu $t8, $t7, $v1 -/* 080EEC 800802EC ADD80040 */ sw $t8, 0x40($t6) -/* 080EF0 800802F0 8CD80000 */ lw $t8, ($a2) -/* 080EF4 800802F4 8D0F0004 */ lw $t7, 4($t0) -/* 080EF8 800802F8 03027021 */ addu $t6, $t8, $v0 -/* 080EFC 800802FC 01E3C821 */ addu $t9, $t7, $v1 -/* 080F00 80080300 ADD90044 */ sw $t9, 0x44($t6) -/* 080F04 80080304 8CD90000 */ lw $t9, ($a2) -/* 080F08 80080308 8CEF0000 */ lw $t7, ($a3) -/* 080F0C 8008030C 03227021 */ addu $t6, $t9, $v0 -/* 080F10 80080310 01E4C021 */ addu $t8, $t7, $a0 -/* 080F14 80080314 ADD80048 */ sw $t8, 0x48($t6) -/* 080F18 80080318 8CD80000 */ lw $t8, ($a2) -/* 080F1C 8008031C 8CEF0004 */ lw $t7, 4($a3) -/* 080F20 80080320 03027021 */ addu $t6, $t8, $v0 -/* 080F24 80080324 01E4C821 */ addu $t9, $t7, $a0 -/* 080F28 80080328 ADD9004C */ sw $t9, 0x4c($t6) -/* 080F2C 8008032C 8CCF0000 */ lw $t7, ($a2) -/* 080F30 80080330 246300C8 */ addiu $v1, $v1, 0xc8 -/* 080F34 80080334 01E2C021 */ addu $t8, $t7, $v0 -/* 080F38 80080338 AF000050 */ sw $zero, 0x50($t8) -/* 080F3C 8008033C 8CD90000 */ lw $t9, ($a2) -/* 080F40 80080340 00052100 */ sll $a0, $a1, 4 -/* 080F44 80080344 03227021 */ addu $t6, $t9, $v0 -/* 080F48 80080348 ADC00054 */ sw $zero, 0x54($t6) -/* 080F4C 8008034C 8CCF0000 */ lw $t7, ($a2) -/* 080F50 80080350 24A5000A */ addiu $a1, $a1, 0xa -/* 080F54 80080354 01E2C021 */ addu $t8, $t7, $v0 -/* 080F58 80080358 AF000058 */ sw $zero, 0x58($t8) -/* 080F5C 8008035C 8CD90000 */ lw $t9, ($a2) -/* 080F60 80080360 00000000 */ nop -/* 080F64 80080364 03227021 */ addu $t6, $t9, $v0 -/* 080F68 80080368 ADC0005C */ sw $zero, 0x5c($t6) -/* 080F6C 8008036C 8CD90000 */ lw $t9, ($a2) -/* 080F70 80080370 8D0F0000 */ lw $t7, ($t0) -/* 080F74 80080374 03227021 */ addu $t6, $t9, $v0 -/* 080F78 80080378 01E3C021 */ addu $t8, $t7, $v1 -/* 080F7C 8008037C ADD80060 */ sw $t8, 0x60($t6) -/* 080F80 80080380 8CD80000 */ lw $t8, ($a2) -/* 080F84 80080384 8D0F0004 */ lw $t7, 4($t0) -/* 080F88 80080388 03027021 */ addu $t6, $t8, $v0 -/* 080F8C 8008038C 01E3C821 */ addu $t9, $t7, $v1 -/* 080F90 80080390 ADD90064 */ sw $t9, 0x64($t6) -/* 080F94 80080394 8CD90000 */ lw $t9, ($a2) -/* 080F98 80080398 8CEF0000 */ lw $t7, ($a3) -/* 080F9C 8008039C 03227021 */ addu $t6, $t9, $v0 -/* 080FA0 800803A0 01E4C021 */ addu $t8, $t7, $a0 -/* 080FA4 800803A4 ADD80068 */ sw $t8, 0x68($t6) -/* 080FA8 800803A8 8CD80000 */ lw $t8, ($a2) -/* 080FAC 800803AC 8CEF0004 */ lw $t7, 4($a3) -/* 080FB0 800803B0 03027021 */ addu $t6, $t8, $v0 -/* 080FB4 800803B4 01E4C821 */ addu $t9, $t7, $a0 -/* 080FB8 800803B8 ADD9006C */ sw $t9, 0x6c($t6) -/* 080FBC 800803BC 8CCF0000 */ lw $t7, ($a2) -/* 080FC0 800803C0 246300C8 */ addiu $v1, $v1, 0xc8 -/* 080FC4 800803C4 01E2C021 */ addu $t8, $t7, $v0 -/* 080FC8 800803C8 AF000070 */ sw $zero, 0x70($t8) -/* 080FCC 800803CC 8CD90000 */ lw $t9, ($a2) -/* 080FD0 800803D0 00000000 */ nop -/* 080FD4 800803D4 03227021 */ addu $t6, $t9, $v0 -/* 080FD8 800803D8 ADC00074 */ sw $zero, 0x74($t6) -/* 080FDC 800803DC 8CCF0000 */ lw $t7, ($a2) -/* 080FE0 800803E0 00000000 */ nop -/* 080FE4 800803E4 01E2C021 */ addu $t8, $t7, $v0 -/* 080FE8 800803E8 AF000078 */ sw $zero, 0x78($t8) -/* 080FEC 800803EC 8CD90000 */ lw $t9, ($a2) -/* 080FF0 800803F0 00000000 */ nop -/* 080FF4 800803F4 03227021 */ addu $t6, $t9, $v0 -/* 080FF8 800803F8 24420080 */ addiu $v0, $v0, 0x80 -/* 080FFC 800803FC 144CFF6E */ bne $v0, $t4, .L800801B8 -/* 081000 80080400 ADC0007C */ sw $zero, 0x7c($t6) -.L80080404: -/* 081004 80080404 00005825 */ move $t3, $zero -.L80080408: -/* 081008 80080408 1A00003A */ blez $s0, .L800804F4 -/* 08100C 8008040C 3C01800E */ lui $at, %hi(gMenuTrisFlip) # $at, 0x800e -/* 081010 80080410 3C06800E */ lui $a2, %hi(gMenuTrisFlip) # $a2, 0x800e -/* 081014 80080414 24C61DB4 */ addiu $a2, %lo(gMenuTrisFlip) # addiu $a2, $a2, 0x1db4 -/* 081018 80080418 00001825 */ move $v1, $zero -/* 08101C 8008041C 24050040 */ li $a1, 64 -.L80080420: -/* 081020 80080420 3C04800E */ lui $a0, %hi(gWoodPanelsIndices) # $a0, 0x800e -/* 081024 80080424 24841CD0 */ addiu $a0, %lo(gWoodPanelsIndices) # addiu $a0, $a0, 0x1cd0 -/* 081028 80080428 00003825 */ move $a3, $zero -.L8008042C: -/* 08102C 8008042C 3C02800E */ lui $v0, %hi(gWoodPanelTriangles) # $v0, 0x800e -/* 081030 80080430 24421DAC */ addiu $v0, %lo(gWoodPanelTriangles) # addiu $v0, $v0, 0x1dac -.L80080434: -/* 081034 80080434 8C4F0000 */ lw $t7, ($v0) -/* 081038 80080438 24420004 */ addiu $v0, $v0, 4 -/* 08103C 8008043C 01E3C021 */ addu $t8, $t7, $v1 -/* 081040 80080440 A3050000 */ sb $a1, ($t8) -/* 081044 80080444 8C4EFFFC */ lw $t6, -4($v0) -/* 081048 80080448 90990000 */ lbu $t9, ($a0) -/* 08104C 8008044C 01C37821 */ addu $t7, $t6, $v1 -/* 081050 80080450 A1F90001 */ sb $t9, 1($t7) -/* 081054 80080454 8C4EFFFC */ lw $t6, -4($v0) -/* 081058 80080458 90980001 */ lbu $t8, 1($a0) -/* 08105C 8008045C 01C3C821 */ addu $t9, $t6, $v1 -/* 081060 80080460 A3380002 */ sb $t8, 2($t9) -/* 081064 80080464 8C4EFFFC */ lw $t6, -4($v0) -/* 081068 80080468 908F0002 */ lbu $t7, 2($a0) -/* 08106C 8008046C 01C3C021 */ addu $t8, $t6, $v1 -/* 081070 80080470 A30F0003 */ sb $t7, 3($t8) -/* 081074 80080474 8C59FFFC */ lw $t9, -4($v0) -/* 081078 80080478 00000000 */ nop -/* 08107C 8008047C 03237021 */ addu $t6, $t9, $v1 -/* 081080 80080480 A5C00004 */ sh $zero, 4($t6) -/* 081084 80080484 8C4FFFFC */ lw $t7, -4($v0) -/* 081088 80080488 00000000 */ nop -/* 08108C 8008048C 01E3C021 */ addu $t8, $t7, $v1 -/* 081090 80080490 A7000006 */ sh $zero, 6($t8) -/* 081094 80080494 8C59FFFC */ lw $t9, -4($v0) -/* 081098 80080498 00000000 */ nop -/* 08109C 8008049C 03237021 */ addu $t6, $t9, $v1 -/* 0810A0 800804A0 A5C00008 */ sh $zero, 8($t6) -/* 0810A4 800804A4 8C4FFFFC */ lw $t7, -4($v0) -/* 0810A8 800804A8 00000000 */ nop -/* 0810AC 800804AC 01E3C021 */ addu $t8, $t7, $v1 -/* 0810B0 800804B0 A700000A */ sh $zero, 0xa($t8) -/* 0810B4 800804B4 8C59FFFC */ lw $t9, -4($v0) -/* 0810B8 800804B8 00000000 */ nop -/* 0810BC 800804BC 03237021 */ addu $t6, $t9, $v1 -/* 0810C0 800804C0 A5C0000C */ sh $zero, 0xc($t6) -/* 0810C4 800804C4 8C4FFFFC */ lw $t7, -4($v0) -/* 0810C8 800804C8 00000000 */ nop -/* 0810CC 800804CC 01E3C021 */ addu $t8, $t7, $v1 -/* 0810D0 800804D0 1446FFD8 */ bne $v0, $a2, .L80080434 -/* 0810D4 800804D4 A700000E */ sh $zero, 0xe($t8) -/* 0810D8 800804D8 24E70001 */ addiu $a3, $a3, 1 -/* 0810DC 800804DC 24630010 */ addiu $v1, $v1, 0x10 -/* 0810E0 800804E0 14E9FFD2 */ bne $a3, $t1, .L8008042C -/* 0810E4 800804E4 24840003 */ addiu $a0, $a0, 3 -/* 0810E8 800804E8 256B0001 */ addiu $t3, $t3, 1 -/* 0810EC 800804EC 1570FFCC */ bne $t3, $s0, .L80080420 -/* 0810F0 800804F0 00000000 */ nop -.L800804F4: -/* 0810F4 800804F4 AC201DB4 */ sw $zero, %lo(gMenuTrisFlip)($at) -/* 0810F8 800804F8 3C01800E */ lui $at, %hi(gWoodPanelCount) # $at, 0x800e -/* 0810FC 800804FC AC201DB8 */ sw $zero, %lo(gWoodPanelCount)($at) -/* 081100 80080500 3C01800E */ lui $at, %hi(gWoodPanelAllocCount) # $at, 0x800e -/* 081104 80080504 8FBF001C */ lw $ra, 0x1c($sp) -/* 081108 80080508 AC301DBC */ sw $s0, %lo(gWoodPanelAllocCount)($at) -/* 08110C 8008050C 8FB00018 */ lw $s0, 0x18($sp) -/* 081110 80080510 03E00008 */ jr $ra -/* 081114 80080514 27BD0050 */ addiu $sp, $sp, 0x50 - diff --git a/asm/non_matchings/menu/func_80083098.s b/asm/non_matchings/menu/func_80083098.s deleted file mode 100644 index 71b3fd2f..00000000 --- a/asm/non_matchings/menu/func_80083098.s +++ /dev/null @@ -1,311 +0,0 @@ -glabel func_80083098 -/* 083C98 80083098 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 083C9C 8008309C 3C028012 */ lui $v0, %hi(gOpeningNameID) # $v0, 0x8012 -/* 083CA0 800830A0 8C4268E0 */ lw $v0, %lo(gOpeningNameID)($v0) -/* 083CA4 800830A4 AFBF003C */ sw $ra, 0x3c($sp) -/* 083CA8 800830A8 2841000A */ slti $at, $v0, 0xa -/* 083CAC 800830AC AFB60038 */ sw $s6, 0x38($sp) -/* 083CB0 800830B0 AFB50034 */ sw $s5, 0x34($sp) -/* 083CB4 800830B4 AFB40030 */ sw $s4, 0x30($sp) -/* 083CB8 800830B8 AFB3002C */ sw $s3, 0x2c($sp) -/* 083CBC 800830BC AFB20028 */ sw $s2, 0x28($sp) -/* 083CC0 800830C0 AFB10024 */ sw $s1, 0x24($sp) -/* 083CC4 800830C4 AFB00020 */ sw $s0, 0x20($sp) -/* 083CC8 800830C8 AFA0006C */ sw $zero, 0x6c($sp) -/* 083CCC 800830CC AFA00068 */ sw $zero, 0x68($sp) -/* 083CD0 800830D0 AFA00064 */ sw $zero, 0x64($sp) -/* 083CD4 800830D4 1020010F */ beqz $at, .L80083514 -/* 083CD8 800830D8 AFA00058 */ sw $zero, 0x58($sp) -/* 083CDC 800830DC 3C038012 */ lui $v1, %hi(D_801268D8) # $v1, 0x8012 -/* 083CE0 800830E0 00027080 */ sll $t6, $v0, 2 -/* 083CE4 800830E4 246368D8 */ addiu $v1, %lo(D_801268D8) # addiu $v1, $v1, 0x68d8 -/* 083CE8 800830E8 01C27023 */ subu $t6, $t6, $v0 -/* 083CEC 800830EC C4640000 */ lwc1 $f4, ($v1) -/* 083CF0 800830F0 000E7080 */ sll $t6, $t6, 2 -/* 083CF4 800830F4 01C27023 */ subu $t6, $t6, $v0 -/* 083CF8 800830F8 3C0F800E */ lui $t7, %hi(gTitleCinematicText) # $t7, 0x800e -/* 083CFC 800830FC 460C2180 */ add.s $f6, $f4, $f12 -/* 083D00 80083100 25EFF83C */ addiu $t7, %lo(gTitleCinematicText) # addiu $t7, $t7, -0x7c4 -/* 083D04 80083104 000E7080 */ sll $t6, $t6, 2 -/* 083D08 80083108 01CF9821 */ addu $s3, $t6, $t7 -/* 083D0C 8008310C E4660000 */ swc1 $f6, ($v1) -/* 083D10 80083110 0C0310BB */ jal set_text_font -/* 083D14 80083114 24040002 */ li $a0, 2 -/* 083D18 80083118 00002025 */ move $a0, $zero -/* 083D1C 8008311C 00002825 */ move $a1, $zero -/* 083D20 80083120 00003025 */ move $a2, $zero -/* 083D24 80083124 0C0310F3 */ jal set_text_background_colour -/* 083D28 80083128 00003825 */ move $a3, $zero -/* 083D2C 8008312C 3C12800E */ lui $s2, %hi(gTitleCinematicTextColourCount) # $s2, 0x800e -/* 083D30 80083130 2652F9F4 */ addiu $s2, %lo(gTitleCinematicTextColourCount) # addiu $s2, $s2, -0x60c -/* 083D34 80083134 8E440000 */ lw $a0, ($s2) -/* 083D38 80083138 00008825 */ move $s1, $zero -/* 083D3C 8008313C 18800044 */ blez $a0, .L80083250 -/* 083D40 80083140 3C108012 */ lui $s0, %hi(D_80126878) # $s0, 0x8012 -/* 083D44 80083144 3C168012 */ lui $s6, %hi(sMenuCurrDisplayList) # $s6, 0x8012 -/* 083D48 80083148 3C15800E */ lui $s5, %hi(gTitleCinematicTextColours) # $s5, 0x800e -/* 083D4C 8008314C 26B5F9F8 */ addiu $s5, %lo(gTitleCinematicTextColours) # addiu $s5, $s5, -0x608 -/* 083D50 80083150 26D663A0 */ addiu $s6, %lo(sMenuCurrDisplayList) # addiu $s6, $s6, 0x63a0 -/* 083D54 80083154 26106878 */ addiu $s0, %lo(D_80126878) # addiu $s0, $s0, 0x6878 -/* 083D58 80083158 24140005 */ li $s4, 5 -.L8008315C: -/* 083D5C 8008315C 8E180008 */ lw $t8, 8($s0) -/* 083D60 80083160 00000000 */ nop -/* 083D64 80083164 03140019 */ multu $t8, $s4 -/* 083D68 80083168 00004012 */ mflo $t0 -/* 083D6C 8008316C 02A81021 */ addu $v0, $s5, $t0 -/* 083D70 80083170 90590004 */ lbu $t9, 4($v0) -/* 083D74 80083174 90440000 */ lbu $a0, ($v0) -/* 083D78 80083178 90450001 */ lbu $a1, 1($v0) -/* 083D7C 8008317C 90460002 */ lbu $a2, 2($v0) -/* 083D80 80083180 90470003 */ lbu $a3, 3($v0) -/* 083D84 80083184 0C0310E1 */ jal set_text_colour -/* 083D88 80083188 AFB90010 */ sw $t9, 0x10($sp) -/* 083D8C 8008318C 86050004 */ lh $a1, 4($s0) -/* 083D90 80083190 86060006 */ lh $a2, 6($s0) -/* 083D94 80083194 8E070000 */ lw $a3, ($s0) -/* 083D98 80083198 2409000C */ li $t1, 12 -/* 083D9C 8008319C AFA90010 */ sw $t1, 0x10($sp) -/* 083DA0 800831A0 0C031110 */ jal draw_text -/* 083DA4 800831A4 02C02025 */ move $a0, $s6 -/* 083DA8 800831A8 8E0A0008 */ lw $t2, 8($s0) -/* 083DAC 800831AC 00000000 */ nop -/* 083DB0 800831B0 254B0001 */ addiu $t3, $t2, 1 -/* 083DB4 800831B4 29610004 */ slti $at, $t3, 4 -/* 083DB8 800831B8 1420001F */ bnez $at, .L80083238 -/* 083DBC 800831BC AE0B0008 */ sw $t3, 8($s0) -/* 083DC0 800831C0 8E4D0000 */ lw $t5, ($s2) -/* 083DC4 800831C4 02204025 */ move $t0, $s1 -/* 083DC8 800831C8 25AEFFFF */ addiu $t6, $t5, -1 -/* 083DCC 800831CC 022E082A */ slt $at, $s1, $t6 -/* 083DD0 800831D0 AE4E0000 */ sw $t6, ($s2) -/* 083DD4 800831D4 1020001B */ beqz $at, .L80083244 -/* 083DD8 800831D8 01C02025 */ move $a0, $t6 -/* 083DDC 800831DC 00087880 */ sll $t7, $t0, 2 -/* 083DE0 800831E0 3C188012 */ lui $t8, %hi(D_80126878) # $t8, 0x8012 -/* 083DE4 800831E4 000EC880 */ sll $t9, $t6, 2 -/* 083DE8 800831E8 032EC823 */ subu $t9, $t9, $t6 -/* 083DEC 800831EC 27186878 */ addiu $t8, %lo(D_80126878) # addiu $t8, $t8, 0x6878 -/* 083DF0 800831F0 01E87823 */ subu $t7, $t7, $t0 -/* 083DF4 800831F4 000F7880 */ sll $t7, $t7, 2 -/* 083DF8 800831F8 0019C880 */ sll $t9, $t9, 2 -/* 083DFC 800831FC 03381821 */ addu $v1, $t9, $t8 -/* 083E00 80083200 01F81021 */ addu $v0, $t7, $t8 -.L80083204: -/* 083E04 80083204 8C49000C */ lw $t1, 0xc($v0) -/* 083E08 80083208 844A0010 */ lh $t2, 0x10($v0) -/* 083E0C 8008320C 844B0012 */ lh $t3, 0x12($v0) -/* 083E10 80083210 8C4C0014 */ lw $t4, 0x14($v0) -/* 083E14 80083214 2442000C */ addiu $v0, $v0, 0xc -/* 083E18 80083218 0043082B */ sltu $at, $v0, $v1 -/* 083E1C 8008321C AC49FFF4 */ sw $t1, -0xc($v0) -/* 083E20 80083220 A44AFFF8 */ sh $t2, -8($v0) -/* 083E24 80083224 A44BFFFA */ sh $t3, -6($v0) -/* 083E28 80083228 1420FFF6 */ bnez $at, .L80083204 -/* 083E2C 8008322C AC4CFFFC */ sw $t4, -4($v0) -/* 083E30 80083230 10000005 */ b .L80083248 -/* 083E34 80083234 0224082A */ slt $at, $s1, $a0 -.L80083238: -/* 083E38 80083238 8E440000 */ lw $a0, ($s2) -/* 083E3C 8008323C 26310001 */ addiu $s1, $s1, 1 -/* 083E40 80083240 2610000C */ addiu $s0, $s0, 0xc -.L80083244: -/* 083E44 80083244 0224082A */ slt $at, $s1, $a0 -.L80083248: -/* 083E48 80083248 1420FFC4 */ bnez $at, .L8008315C -/* 083E4C 8008324C 00000000 */ nop -.L80083250: -/* 083E50 80083250 3C018012 */ lui $at, %hi(D_801268D8) # $at, 0x8012 -/* 083E54 80083254 C43068D8 */ lwc1 $f16, %lo(D_801268D8)($at) -/* 083E58 80083258 C6720004 */ lwc1 $f18, 4($s3) -/* 083E5C 8008325C 3C168012 */ lui $s6, %hi(sMenuCurrDisplayList) # $s6, 0x8012 -/* 083E60 80083260 4610903E */ c.le.s $f18, $f16 -/* 083E64 80083264 26D663A0 */ addiu $s6, %lo(sMenuCurrDisplayList) # addiu $s6, $s6, 0x63a0 -/* 083E68 80083268 4500008A */ bc1f .L80083494 -/* 083E6C 8008326C 240500FF */ li $a1, 255 -/* 083E70 80083270 C6680008 */ lwc1 $f8, 8($s3) -/* 083E74 80083274 00000000 */ nop -/* 083E78 80083278 E7A80044 */ swc1 $f8, 0x44($sp) -/* 083E7C 8008327C C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 083E80 80083280 00000000 */ nop -/* 083E84 80083284 460A803C */ c.lt.s $f16, $f10 -/* 083E88 80083288 00000000 */ nop -/* 083E8C 8008328C 4500002B */ bc1f .L8008333C -/* 083E90 80083290 00000000 */ nop -/* 083E94 80083294 C66C0014 */ lwc1 $f12, 0x14($s3) -/* 083E98 80083298 C664001C */ lwc1 $f4, 0x1c($s3) -/* 083E9C 8008329C 46128001 */ sub.s $f0, $f16, $f18 -/* 083EA0 800832A0 24090001 */ li $t1, 1 -/* 083EA4 800832A4 460C2181 */ sub.s $f6, $f4, $f12 -/* 083EA8 800832A8 46003202 */ mul.s $f8, $f6, $f0 -/* 083EAC 800832AC 46125081 */ sub.s $f2, $f10, $f18 -/* 083EB0 800832B0 00000000 */ nop -/* 083EB4 800832B4 46024283 */ div.s $f10, $f8, $f2 -/* 083EB8 800832B8 460A6100 */ add.s $f4, $f12, $f10 -/* 083EBC 800832BC 444DF800 */ cfc1 $t5, $31 -/* 083EC0 800832C0 00000000 */ nop -/* 083EC4 800832C4 35A10003 */ ori $at, $t5, 3 -/* 083EC8 800832C8 38210002 */ xori $at, $at, 2 -/* 083ECC 800832CC 44C1F800 */ ctc1 $at, $31 -/* 083ED0 800832D0 00000000 */ nop -/* 083ED4 800832D4 460021A4 */ cvt.w.s $f6, $f4 -/* 083ED8 800832D8 440E3000 */ mfc1 $t6, $f6 -/* 083EDC 800832DC 44CDF800 */ ctc1 $t5, $31 -/* 083EE0 800832E0 AFAE0068 */ sw $t6, 0x68($sp) -/* 083EE4 800832E4 C6680020 */ lwc1 $f8, 0x20($s3) -/* 083EE8 800832E8 C66E0018 */ lwc1 $f14, 0x18($s3) -/* 083EEC 800832EC 00000000 */ nop -/* 083EF0 800832F0 460E4281 */ sub.s $f10, $f8, $f14 -/* 083EF4 800832F4 46005102 */ mul.s $f4, $f10, $f0 -/* 083EF8 800832F8 00000000 */ nop -/* 083EFC 800832FC 46022183 */ div.s $f6, $f4, $f2 -/* 083F00 80083300 46067200 */ add.s $f8, $f14, $f6 -/* 083F04 80083304 444FF800 */ cfc1 $t7, $31 -/* 083F08 80083308 00000000 */ nop -/* 083F0C 8008330C 35E10003 */ ori $at, $t7, 3 -/* 083F10 80083310 38210002 */ xori $at, $at, 2 -/* 083F14 80083314 44C1F800 */ ctc1 $at, $31 -/* 083F18 80083318 00000000 */ nop -/* 083F1C 8008331C 460042A4 */ cvt.w.s $f10, $f8 -/* 083F20 80083320 44195000 */ mfc1 $t9, $f10 -/* 083F24 80083324 44CFF800 */ ctc1 $t7, $31 -/* 083F28 80083328 AFB90064 */ sw $t9, 0x64($sp) -/* 083F2C 8008332C 8E780000 */ lw $t8, ($s3) -/* 083F30 80083330 AFA9006C */ sw $t1, 0x6c($sp) -/* 083F34 80083334 10000057 */ b .L80083494 -/* 083F38 80083338 AFB80058 */ sw $t8, 0x58($sp) -.L8008333C: -/* 083F3C 8008333C C672000C */ lwc1 $f18, 0xc($s3) -/* 083F40 80083340 00000000 */ nop -/* 083F44 80083344 4612803E */ c.le.s $f16, $f18 -/* 083F48 80083348 00000000 */ nop -/* 083F4C 8008334C 4500001A */ bc1f .L800833B8 -/* 083F50 80083350 00000000 */ nop -/* 083F54 80083354 444AF800 */ cfc1 $t2, $31 -/* 083F58 80083358 C664001C */ lwc1 $f4, 0x1c($s3) -/* 083F5C 8008335C 35410003 */ ori $at, $t2, 3 -/* 083F60 80083360 38210002 */ xori $at, $at, 2 -/* 083F64 80083364 44C1F800 */ ctc1 $at, $31 -/* 083F68 80083368 240F0001 */ li $t7, 1 -/* 083F6C 8008336C 460021A4 */ cvt.w.s $f6, $f4 -/* 083F70 80083370 44CAF800 */ ctc1 $t2, $31 -/* 083F74 80083374 440B3000 */ mfc1 $t3, $f6 -/* 083F78 80083378 00000000 */ nop -/* 083F7C 8008337C 444CF800 */ cfc1 $t4, $31 -/* 083F80 80083380 AFAB0068 */ sw $t3, 0x68($sp) -/* 083F84 80083384 35810003 */ ori $at, $t4, 3 -/* 083F88 80083388 38210002 */ xori $at, $at, 2 -/* 083F8C 8008338C 44C1F800 */ ctc1 $at, $31 -/* 083F90 80083390 C6680020 */ lwc1 $f8, 0x20($s3) -/* 083F94 80083394 00000000 */ nop -/* 083F98 80083398 460042A4 */ cvt.w.s $f10, $f8 -/* 083F9C 8008339C 440D5000 */ mfc1 $t5, $f10 -/* 083FA0 800833A0 44CCF800 */ ctc1 $t4, $31 -/* 083FA4 800833A4 AFAD0064 */ sw $t5, 0x64($sp) -/* 083FA8 800833A8 8E6E0000 */ lw $t6, ($s3) -/* 083FAC 800833AC AFAF006C */ sw $t7, 0x6c($sp) -/* 083FB0 800833B0 10000038 */ b .L80083494 -/* 083FB4 800833B4 AFAE0058 */ sw $t6, 0x58($sp) -.L800833B8: -/* 083FB8 800833B8 C6640010 */ lwc1 $f4, 0x10($s3) -/* 083FBC 800833BC 3C028012 */ lui $v0, %hi(gOpeningNameID) # $v0, 0x8012 -/* 083FC0 800833C0 E7A40044 */ swc1 $f4, 0x44($sp) -/* 083FC4 800833C4 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 083FC8 800833C8 244268E0 */ addiu $v0, %lo(gOpeningNameID) # addiu $v0, $v0, 0x68e0 -/* 083FCC 800833CC 4606803C */ c.lt.s $f16, $f6 -/* 083FD0 800833D0 00000000 */ nop -/* 083FD4 800833D4 4500002B */ bc1f .L80083484 -/* 083FD8 800833D8 00000000 */ nop -/* 083FDC 800833DC C66C001C */ lwc1 $f12, 0x1c($s3) -/* 083FE0 800833E0 C6680024 */ lwc1 $f8, 0x24($s3) -/* 083FE4 800833E4 46128001 */ sub.s $f0, $f16, $f18 -/* 083FE8 800833E8 240C0001 */ li $t4, 1 -/* 083FEC 800833EC 460C4281 */ sub.s $f10, $f8, $f12 -/* 083FF0 800833F0 46005102 */ mul.s $f4, $f10, $f0 -/* 083FF4 800833F4 46123081 */ sub.s $f2, $f6, $f18 -/* 083FF8 800833F8 00000000 */ nop -/* 083FFC 800833FC 46022183 */ div.s $f6, $f4, $f2 -/* 084000 80083400 46066200 */ add.s $f8, $f12, $f6 -/* 084004 80083404 4459F800 */ cfc1 $t9, $31 -/* 084008 80083408 00000000 */ nop -/* 08400C 8008340C 37210003 */ ori $at, $t9, 3 -/* 084010 80083410 38210002 */ xori $at, $at, 2 -/* 084014 80083414 44C1F800 */ ctc1 $at, $31 -/* 084018 80083418 00000000 */ nop -/* 08401C 8008341C 460042A4 */ cvt.w.s $f10, $f8 -/* 084020 80083420 44185000 */ mfc1 $t8, $f10 -/* 084024 80083424 44D9F800 */ ctc1 $t9, $31 -/* 084028 80083428 AFB80068 */ sw $t8, 0x68($sp) -/* 08402C 8008342C C6640028 */ lwc1 $f4, 0x28($s3) -/* 084030 80083430 C66E0020 */ lwc1 $f14, 0x20($s3) -/* 084034 80083434 00000000 */ nop -/* 084038 80083438 460E2181 */ sub.s $f6, $f4, $f14 -/* 08403C 8008343C 46003202 */ mul.s $f8, $f6, $f0 -/* 084040 80083440 00000000 */ nop -/* 084044 80083444 46024283 */ div.s $f10, $f8, $f2 -/* 084048 80083448 460A7100 */ add.s $f4, $f14, $f10 -/* 08404C 8008344C 4449F800 */ cfc1 $t1, $31 -/* 084050 80083450 00000000 */ nop -/* 084054 80083454 35210003 */ ori $at, $t1, 3 -/* 084058 80083458 38210002 */ xori $at, $at, 2 -/* 08405C 8008345C 44C1F800 */ ctc1 $at, $31 -/* 084060 80083460 00000000 */ nop -/* 084064 80083464 460021A4 */ cvt.w.s $f6, $f4 -/* 084068 80083468 440A3000 */ mfc1 $t2, $f6 -/* 08406C 8008346C 44C9F800 */ ctc1 $t1, $31 -/* 084070 80083470 AFAA0064 */ sw $t2, 0x64($sp) -/* 084074 80083474 8E6B0000 */ lw $t3, ($s3) -/* 084078 80083478 AFAC006C */ sw $t4, 0x6c($sp) -/* 08407C 8008347C 10000005 */ b .L80083494 -/* 084080 80083480 AFAB0058 */ sw $t3, 0x58($sp) -.L80083484: -/* 084084 80083484 8C4D0000 */ lw $t5, ($v0) -/* 084088 80083488 00000000 */ nop -/* 08408C 8008348C 25AE0001 */ addiu $t6, $t5, 1 -/* 084090 80083490 AC4E0000 */ sw $t6, ($v0) -.L80083494: -/* 084094 80083494 8FAF006C */ lw $t7, 0x6c($sp) -/* 084098 80083498 28810004 */ slti $at, $a0, 4 -/* 08409C 8008349C 11E0001D */ beqz $t7, .L80083514 -/* 0840A0 800834A0 240600FF */ li $a2, 255 -/* 0840A4 800834A4 10200010 */ beqz $at, .L800834E8 -/* 0840A8 800834A8 00003825 */ move $a3, $zero -/* 0840AC 800834AC 0004C880 */ sll $t9, $a0, 2 -/* 0840B0 800834B0 0324C823 */ subu $t9, $t9, $a0 -/* 0840B4 800834B4 3C188012 */ lui $t8, %hi(D_80126878) # $t8, 0x8012 -/* 0840B8 800834B8 27186878 */ addiu $t8, %lo(D_80126878) # addiu $t8, $t8, 0x6878 -/* 0840BC 800834BC 0019C880 */ sll $t9, $t9, 2 -/* 0840C0 800834C0 03381021 */ addu $v0, $t9, $t8 -/* 0840C4 800834C4 8FA90058 */ lw $t1, 0x58($sp) -/* 0840C8 800834C8 8FAA0068 */ lw $t2, 0x68($sp) -/* 0840CC 800834CC 8FAB0064 */ lw $t3, 0x64($sp) -/* 0840D0 800834D0 248C0001 */ addiu $t4, $a0, 1 -/* 0840D4 800834D4 AC400008 */ sw $zero, 8($v0) -/* 0840D8 800834D8 AE4C0000 */ sw $t4, ($s2) -/* 0840DC 800834DC AC490000 */ sw $t1, ($v0) -/* 0840E0 800834E0 A44A0004 */ sh $t2, 4($v0) -/* 0840E4 800834E4 A44B0006 */ sh $t3, 6($v0) -.L800834E8: -/* 0840E8 800834E8 240D00FF */ li $t5, 255 -/* 0840EC 800834EC AFAD0010 */ sw $t5, 0x10($sp) -/* 0840F0 800834F0 0C0310E1 */ jal set_text_colour -/* 0840F4 800834F4 240400FF */ li $a0, 255 -/* 0840F8 800834F8 8FA50068 */ lw $a1, 0x68($sp) -/* 0840FC 800834FC 8FA60064 */ lw $a2, 0x64($sp) -/* 084100 80083500 8FA70058 */ lw $a3, 0x58($sp) -/* 084104 80083504 240E000C */ li $t6, 12 -/* 084108 80083508 AFAE0010 */ sw $t6, 0x10($sp) -/* 08410C 8008350C 0C031110 */ jal draw_text -/* 084110 80083510 02C02025 */ move $a0, $s6 -.L80083514: -/* 084114 80083514 8FBF003C */ lw $ra, 0x3c($sp) -/* 084118 80083518 8FB00020 */ lw $s0, 0x20($sp) -/* 08411C 8008351C 8FB10024 */ lw $s1, 0x24($sp) -/* 084120 80083520 8FB20028 */ lw $s2, 0x28($sp) -/* 084124 80083524 8FB3002C */ lw $s3, 0x2c($sp) -/* 084128 80083528 8FB40030 */ lw $s4, 0x30($sp) -/* 08412C 8008352C 8FB50034 */ lw $s5, 0x34($sp) -/* 084130 80083530 8FB60038 */ lw $s6, 0x38($sp) -/* 084134 80083534 03E00008 */ jr $ra -/* 084138 80083538 27BD0078 */ addiu $sp, $sp, 0x78 - diff --git a/asm/non_matchings/menu/func_8008F618.s b/asm/non_matchings/menu/func_8008F618.s deleted file mode 100644 index 5ae679a6..00000000 --- a/asm/non_matchings/menu/func_8008F618.s +++ /dev/null @@ -1,288 +0,0 @@ -glabel func_8008F618 -/* 090218 8008F618 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 09021C 8008F61C AFB60030 */ sw $s6, 0x30($sp) -/* 090220 8008F620 AFB00018 */ sw $s0, 0x18($sp) -/* 090224 8008F624 00A08025 */ move $s0, $a1 -/* 090228 8008F628 0080B025 */ move $s6, $a0 -/* 09022C 8008F62C AFBF003C */ sw $ra, 0x3c($sp) -/* 090230 8008F630 AFBE0038 */ sw $fp, 0x38($sp) -/* 090234 8008F634 AFB70034 */ sw $s7, 0x34($sp) -/* 090238 8008F638 AFB5002C */ sw $s5, 0x2c($sp) -/* 09023C 8008F63C AFB40028 */ sw $s4, 0x28($sp) -/* 090240 8008F640 AFB30024 */ sw $s3, 0x24($sp) -/* 090244 8008F644 AFB20020 */ sw $s2, 0x20($sp) -/* 090248 8008F648 AFB1001C */ sw $s1, 0x1c($sp) -/* 09024C 8008F64C 00002025 */ move $a0, $zero -/* 090250 8008F650 24050001 */ li $a1, 1 -/* 090254 8008F654 0C019A25 */ jal camDisableUserView -/* 090258 8008F658 AFA00058 */ sw $zero, 0x58($sp) -/* 09025C 8008F65C 02C02025 */ move $a0, $s6 -/* 090260 8008F660 0C01988C */ jal camera_init_tracks_menu -/* 090264 8008F664 02002825 */ move $a1, $s0 -/* 090268 8008F668 02C02025 */ move $a0, $s6 -/* 09026C 8008F66C 0C019FCB */ jal set_ortho_matrix_view -/* 090270 8008F670 02002825 */ move $a1, $s0 -/* 090274 8008F674 0C01ECF4 */ jal reset_render_settings -/* 090278 8008F678 02C02025 */ move $a0, $s6 -/* 09027C 8008F67C 8EC20000 */ lw $v0, ($s6) -/* 090280 8008F680 8FAC0058 */ lw $t4, 0x58($sp) -/* 090284 8008F684 244E0008 */ addiu $t6, $v0, 8 -/* 090288 8008F688 AECE0000 */ sw $t6, ($s6) -/* 09028C 8008F68C 3C0FE700 */ lui $t7, 0xe700 -/* 090290 8008F690 4458F800 */ cfc1 $t8, $31 -/* 090294 8008F694 3C018012 */ lui $at, %hi(gTrackSelectX) # $at, 0x8012 -/* 090298 8008F698 AC4F0000 */ sw $t7, ($v0) -/* 09029C 8008F69C AC400004 */ sw $zero, 4($v0) -/* 0902A0 8008F6A0 C42469DC */ lwc1 $f4, %lo(gTrackSelectX)($at) -/* 0902A4 8008F6A4 37010003 */ ori $at, $t8, 3 -/* 0902A8 8008F6A8 38210002 */ xori $at, $at, 2 -/* 0902AC 8008F6AC 44C1F800 */ ctc1 $at, $31 -/* 0902B0 8008F6B0 3C018012 */ lui $at, %hi(gTrackSelectY) # $at, 0x8012 -/* 0902B4 8008F6B4 460021A4 */ cvt.w.s $f6, $f4 -/* 0902B8 8008F6B8 C42869E4 */ lwc1 $f8, %lo(gTrackSelectY)($at) -/* 0902BC 8008F6BC 44D8F800 */ ctc1 $t8, $31 -/* 0902C0 8008F6C0 3C0A8012 */ lui $t2, %hi(gTrackSelectViewportY) # $t2, 0x8012 -/* 0902C4 8008F6C4 46004287 */ neg.s $f10, $f8 -/* 0902C8 8008F6C8 4459F800 */ cfc1 $t9, $31 -/* 0902CC 8008F6CC 254A6480 */ addiu $t2, %lo(gTrackSelectViewportY) # addiu $t2, $t2, 0x6480 -/* 0902D0 8008F6D0 37210003 */ ori $at, $t9, 3 -/* 0902D4 8008F6D4 38210002 */ xori $at, $at, 2 -/* 0902D8 8008F6D8 44C1F800 */ ctc1 $at, $31 -/* 0902DC 8008F6DC 8D480000 */ lw $t0, ($t2) -/* 0902E0 8008F6E0 46005424 */ cvt.w.s $f16, $f10 -/* 0902E4 8008F6E4 000870C3 */ sra $t6, $t0, 3 -/* 0902E8 8008F6E8 44078000 */ mfc1 $a3, $f16 -/* 0902EC 8008F6EC 01C04025 */ move $t0, $t6 -/* 0902F0 8008F6F0 00EE001A */ div $zero, $a3, $t6 -/* 0902F4 8008F6F4 440D3000 */ mfc1 $t5, $f6 -/* 0902F8 8008F6F8 3C09800E */ lui $t1, %hi(gTrackSelectBgData) # $t1, 0x800e -/* 0902FC 8008F6FC 3C1F8012 */ lui $ra, %hi(gTrackSelectViewPortHalfY) # $ra, 0x8012 -/* 090300 8008F700 44D9F800 */ ctc1 $t9, $31 -/* 090304 8008F704 27FF6478 */ addiu $ra, %lo(gTrackSelectViewPortHalfY) # addiu $ra, $ra, 0x6478 -/* 090308 8008F708 25290840 */ addiu $t1, %lo(gTrackSelectBgData) # addiu $t1, $t1, 0x840 -/* 09030C 8008F70C 00401825 */ move $v1, $v0 -/* 090310 8008F710 15000002 */ bnez $t0, .L8008F71C -/* 090314 8008F714 00000000 */ nop -/* 090318 8008F718 0007000D */ break 7 -.L8008F71C: -/* 09031C 8008F71C 2401FFFF */ li $at, -1 -/* 090320 8008F720 15010004 */ bne $t0, $at, .L8008F734 -/* 090324 8008F724 3C018000 */ lui $at, 0x8000 -/* 090328 8008F728 14E10002 */ bne $a3, $at, .L8008F734 -/* 09032C 8008F72C 00000000 */ nop -/* 090330 8008F730 0006000D */ break 6 -.L8008F734: -/* 090334 8008F734 0000B812 */ mflo $s7 -/* 090338 8008F738 2AE1002A */ slti $at, $s7, 0x2a -/* 09033C 8008F73C 14200003 */ bnez $at, .L8008F74C -/* 090340 8008F740 00000000 */ nop -/* 090344 8008F744 100000B7 */ b .L8008FA24 -/* 090348 8008F748 24020001 */ li $v0, 1 -.L8008F74C: -/* 09034C 8008F74C 02E80019 */ multu $s7, $t0 -/* 090350 8008F750 8EC20000 */ lw $v0, ($s6) -/* 090354 8008F754 8FF80000 */ lw $t8, ($ra) -/* 090358 8008F758 24590008 */ addiu $t9, $v0, 8 -/* 09035C 8008F75C AED90000 */ sw $t9, ($s6) -/* 090360 8008F760 3C0EFA00 */ lui $t6, 0xfa00 -/* 090364 8008F764 AC4E0000 */ sw $t6, ($v0) -/* 090368 8008F768 240EFF00 */ li $t6, -256 -/* 09036C 8008F76C 3C19FB00 */ lui $t9, 0xfb00 -/* 090370 8008F770 3C068012 */ lui $a2, %hi(gTrackSelectVertsFlip) # $a2, 0x8012 -/* 090374 8008F774 3C11800E */ lui $s1, %hi(gTrackSelectBgVertices) # $s1, 0x800e -/* 090378 8008F778 3C12800E */ lui $s2, %hi(gTrackSelectBgTriangles) # $s2, 0x800e -/* 09037C 8008F77C 00007812 */ mflo $t7 -/* 090380 8008F780 00EF3823 */ subu $a3, $a3, $t7 -/* 090384 8008F784 240FFFFF */ li $t7, -1 -/* 090388 8008F788 AC4F0004 */ sw $t7, 4($v0) -/* 09038C 8008F78C 8EC20000 */ lw $v0, ($s6) -/* 090390 8008F790 0307A021 */ addu $s4, $t8, $a3 -/* 090394 8008F794 24580008 */ addiu $t8, $v0, 8 -/* 090398 8008F798 AED80000 */ sw $t8, ($s6) -/* 09039C 8008F79C AC4E0004 */ sw $t6, 4($v0) -/* 0903A0 8008F7A0 AC590000 */ sw $t9, ($v0) -/* 0903A4 8008F7A4 8CC66924 */ lw $a2, %lo(gTrackSelectVertsFlip)($a2) -/* 0903A8 8008F7A8 91380000 */ lbu $t8, ($t1) -/* 0903AC 8008F7AC 00067880 */ sll $t7, $a2, 2 -/* 0903B0 8008F7B0 022F8821 */ addu $s1, $s1, $t7 -/* 0903B4 8008F7B4 024F9021 */ addu $s2, $s2, $t7 -/* 0903B8 8008F7B8 8E310968 */ lw $s1, %lo(gTrackSelectBgVertices)($s1) -/* 0903BC 8008F7BC 8E520970 */ lw $s2, %lo(gTrackSelectBgTriangles)($s2) -/* 0903C0 8008F7C0 0317082A */ slt $at, $t8, $s7 -/* 0903C4 8008F7C4 10200008 */ beqz $at, .L8008F7E8 -/* 0903C8 8008F7C8 00001825 */ move $v1, $zero -/* 0903CC 8008F7CC 3C10800E */ lui $s0, %hi(gTrackSelectBgData) # $s0, 0x800e -/* 0903D0 8008F7D0 26100840 */ addiu $s0, %lo(gTrackSelectBgData) # addiu $s0, $s0, 0x840 -.L8008F7D4: -/* 0903D4 8008F7D4 92190005 */ lbu $t9, 5($s0) -/* 0903D8 8008F7D8 24630005 */ addiu $v1, $v1, 5 -/* 0903DC 8008F7DC 0337082A */ slt $at, $t9, $s7 -/* 0903E0 8008F7E0 1420FFFC */ bnez $at, .L8008F7D4 -/* 0903E4 8008F7E4 26100005 */ addiu $s0, $s0, 5 -.L8008F7E8: -/* 0903E8 8008F7E8 8FEE0000 */ lw $t6, ($ra) -/* 0903EC 8008F7EC 01238021 */ addu $s0, $t1, $v1 -/* 0903F0 8008F7F0 000E7823 */ negu $t7, $t6 -/* 0903F4 8008F7F4 028F082A */ slt $at, $s4, $t7 -/* 0903F8 8008F7F8 14200087 */ bnez $at, .L8008FA18 -/* 0903FC 8008F7FC 00002025 */ move $a0, $zero -/* 090400 8008F800 92070000 */ lbu $a3, ($s0) -/* 090404 8008F804 8FB30074 */ lw $s3, 0x74($sp) -/* 090408 8008F808 28E1002A */ slti $at, $a3, 0x2a -/* 09040C 8008F80C 10200082 */ beqz $at, .L8008FA18 -/* 090410 8008F810 00002025 */ move $a0, $zero -/* 090414 8008F814 8FBE0070 */ lw $fp, 0x70($sp) -/* 090418 8008F818 00000000 */ nop -.L8008F81C: -/* 09041C 8008F81C 92180001 */ lbu $t8, 1($s0) -/* 090420 8008F820 3C05800E */ lui $a1, %hi(gTracksMenuBgTextures) # $a1, 0x800e -/* 090424 8008F824 0018C880 */ sll $t9, $t8, 2 -/* 090428 8008F828 00B92821 */ addu $a1, $a1, $t9 -/* 09042C 8008F82C 8CA50730 */ lw $a1, %lo(gTracksMenuBgTextures)($a1) -/* 090430 8008F830 A6340002 */ sh $s4, 2($s1) -/* 090434 8008F834 920E0002 */ lbu $t6, 2($s0) -/* 090438 8008F838 A634000C */ sh $s4, 0xc($s1) -/* 09043C 8008F83C A22E0009 */ sb $t6, 9($s1) -/* 090440 8008F840 920F0002 */ lbu $t7, 2($s0) -/* 090444 8008F844 02204025 */ move $t0, $s1 -/* 090448 8008F848 A22F0013 */ sb $t7, 0x13($s1) -/* 09044C 8008F84C 8D580000 */ lw $t8, ($t2) -/* 090450 8008F850 92060002 */ lbu $a2, 2($s0) -/* 090454 8008F854 0018C8C3 */ sra $t9, $t8, 3 -/* 090458 8008F858 02997023 */ subu $t6, $s4, $t9 -/* 09045C 8008F85C A62E0016 */ sh $t6, 0x16($s1) -/* 090460 8008F860 920F0003 */ lbu $t7, 3($s0) -/* 090464 8008F864 00E0B825 */ move $s7, $a3 -/* 090468 8008F868 A22F001D */ sb $t7, 0x1d($s1) -/* 09046C 8008F86C 8D580000 */ lw $t8, ($t2) -/* 090470 8008F870 02404825 */ move $t1, $s2 -/* 090474 8008F874 0018C8C3 */ sra $t9, $t8, 3 -/* 090478 8008F878 02997023 */ subu $t6, $s4, $t9 -/* 09047C 8008F87C A62E0020 */ sh $t6, 0x20($s1) -/* 090480 8008F880 920F0003 */ lbu $t7, 3($s0) -/* 090484 8008F884 26310028 */ addiu $s1, $s1, 0x28 -/* 090488 8008F888 A22FFFFF */ sb $t7, -1($s1) -/* 09048C 8008F88C 92180003 */ lbu $t8, 3($s0) -/* 090490 8008F890 26100004 */ addiu $s0, $s0, 4 -/* 090494 8008F894 10A0000C */ beqz $a1, .L8008F8C8 -/* 090498 8008F898 00D83021 */ addu $a2, $a2, $t8 -/* 09049C 8008F89C 90B90000 */ lbu $t9, ($a1) -/* 0904A0 8008F8A0 92180000 */ lbu $t8, ($s0) -/* 0904A4 8008F8A4 272EFFFF */ addiu $t6, $t9, -1 -/* 0904A8 8008F8A8 90BE0001 */ lbu $fp, 1($a1) -/* 0904AC 8008F8AC 01CD9824 */ and $s3, $t6, $t5 -/* 0904B0 8008F8B0 00137940 */ sll $t7, $s3, 5 -/* 0904B4 8008F8B4 0018C940 */ sll $t9, $t8, 5 -/* 0904B8 8008F8B8 001E7140 */ sll $t6, $fp, 5 -/* 0904BC 8008F8BC 01F99821 */ addu $s3, $t7, $t9 -/* 0904C0 8008F8C0 26100001 */ addiu $s0, $s0, 1 -/* 0904C4 8008F8C4 01C0F025 */ move $fp, $t6 -.L8008F8C8: -/* 0904C8 8008F8C8 26622800 */ addiu $v0, $s3, 0x2800 -/* 0904CC 8008F8CC A6530004 */ sh $s3, 4($s2) -/* 0904D0 8008F8D0 A6400006 */ sh $zero, 6($s2) -/* 0904D4 8008F8D4 A6530008 */ sh $s3, 8($s2) -/* 0904D8 8008F8D8 A65E000A */ sh $fp, 0xa($s2) -/* 0904DC 8008F8DC A642000C */ sh $v0, 0xc($s2) -/* 0904E0 8008F8E0 A640000E */ sh $zero, 0xe($s2) -/* 0904E4 8008F8E4 A6420014 */ sh $v0, 0x14($s2) -/* 0904E8 8008F8E8 A6400016 */ sh $zero, 0x16($s2) -/* 0904EC 8008F8EC A6530018 */ sh $s3, 0x18($s2) -/* 0904F0 8008F8F0 A65E001A */ sh $fp, 0x1a($s2) -/* 0904F4 8008F8F4 A642001C */ sh $v0, 0x1c($s2) -/* 0904F8 8008F8F8 A65E001E */ sh $fp, 0x1e($s2) -/* 0904FC 8008F8FC 10A00003 */ beqz $a1, .L8008F90C -/* 090500 8008F900 26520020 */ addiu $s2, $s2, 0x20 -/* 090504 8008F904 10000002 */ b .L8008F910 -/* 090508 8008F908 24150001 */ li $s5, 1 -.L8008F90C: -/* 09050C 8008F90C 0000A825 */ move $s5, $zero -.L8008F910: -/* 090510 8008F910 240101FE */ li $at, 510 -/* 090514 8008F914 14C10003 */ bne $a2, $at, .L8008F924 -/* 090518 8008F918 02C02025 */ move $a0, $s6 -/* 09051C 8008F91C 10000003 */ b .L8008F92C -/* 090520 8008F920 00003025 */ move $a2, $zero -.L8008F924: -/* 090524 8008F924 3C060800 */ lui $a2, (0x08000100 >> 16) # lui $a2, 0x800 -/* 090528 8008F928 34C60100 */ ori $a2, (0x08000100 & 0xFFFF) # ori $a2, $a2, 0x100 -.L8008F92C: -/* 09052C 8008F92C 00003825 */ move $a3, $zero -/* 090530 8008F930 AFA8004C */ sw $t0, 0x4c($sp) -/* 090534 8008F934 AFA90044 */ sw $t1, 0x44($sp) -/* 090538 8008F938 AFAC0058 */ sw $t4, 0x58($sp) -/* 09053C 8008F93C 0C01ED3A */ jal load_and_set_texture -/* 090540 8008F940 AFAD007C */ sw $t5, 0x7c($sp) -/* 090544 8008F944 8FA8004C */ lw $t0, 0x4c($sp) -/* 090548 8008F948 3C0B8000 */ lui $t3, 0x8000 -/* 09054C 8008F94C 8EC20000 */ lw $v0, ($s6) -/* 090550 8008F950 010B2021 */ addu $a0, $t0, $t3 -/* 090554 8008F954 30980006 */ andi $t8, $a0, 6 -/* 090558 8008F958 8FA90044 */ lw $t1, 0x44($sp) -/* 09055C 8008F95C 8FAC0058 */ lw $t4, 0x58($sp) -/* 090560 8008F960 8FAD007C */ lw $t5, 0x7c($sp) -/* 090564 8008F964 37190018 */ ori $t9, $t8, 0x18 -/* 090568 8008F968 244F0008 */ addiu $t7, $v0, 8 -/* 09056C 8008F96C AECF0000 */ sw $t7, ($s6) -/* 090570 8008F970 332E00FF */ andi $t6, $t9, 0xff -/* 090574 8008F974 000E7C00 */ sll $t7, $t6, 0x10 -/* 090578 8008F978 3C010400 */ lui $at, 0x400 -/* 09057C 8008F97C 01E1C025 */ or $t8, $t7, $at -/* 090580 8008F980 37190050 */ ori $t9, $t8, 0x50 -/* 090584 8008F984 AC590000 */ sw $t9, ($v0) -/* 090588 8008F988 AC440004 */ sw $a0, 4($v0) -/* 09058C 8008F98C 8EC20000 */ lw $v0, ($s6) -/* 090590 8008F990 36AF0010 */ ori $t7, $s5, 0x10 -/* 090594 8008F994 31F800FF */ andi $t8, $t7, 0xff -/* 090598 8008F998 244E0008 */ addiu $t6, $v0, 8 -/* 09059C 8008F99C AECE0000 */ sw $t6, ($s6) -/* 0905A0 8008F9A0 0018CC00 */ sll $t9, $t8, 0x10 -/* 0905A4 8008F9A4 3C010500 */ lui $at, 0x500 -/* 0905A8 8008F9A8 03217025 */ or $t6, $t9, $at -/* 0905AC 8008F9AC 35CF0020 */ ori $t7, $t6, 0x20 -/* 0905B0 8008F9B0 012BC021 */ addu $t8, $t1, $t3 -/* 0905B4 8008F9B4 AC580004 */ sw $t8, 4($v0) -/* 0905B8 8008F9B8 AC4F0000 */ sw $t7, ($v0) -/* 0905BC 8008F9BC 92070000 */ lbu $a3, ($s0) -/* 0905C0 8008F9C0 3C0A8012 */ lui $t2, %hi(gTrackSelectViewportY) # $t2, 0x8012 -/* 0905C4 8008F9C4 3C1F8012 */ lui $ra, %hi(gTrackSelectViewPortHalfY) # $ra, 0x8012 -/* 0905C8 8008F9C8 27FF6478 */ addiu $ra, %lo(gTrackSelectViewPortHalfY) # addiu $ra, $ra, 0x6478 -/* 0905CC 8008F9CC 12E70005 */ beq $s7, $a3, .L8008F9E4 -/* 0905D0 8008F9D0 254A6480 */ addiu $t2, %lo(gTrackSelectViewportY) # addiu $t2, $t2, 0x6480 -/* 0905D4 8008F9D4 8D590000 */ lw $t9, ($t2) -/* 0905D8 8008F9D8 00000000 */ nop -/* 0905DC 8008F9DC 001970C3 */ sra $t6, $t9, 3 -/* 0905E0 8008F9E0 028EA023 */ subu $s4, $s4, $t6 -.L8008F9E4: -/* 0905E4 8008F9E4 8FEF0000 */ lw $t7, ($ra) -/* 0905E8 8008F9E8 258C0004 */ addiu $t4, $t4, 4 -/* 0905EC 8008F9EC 000FC023 */ negu $t8, $t7 -/* 0905F0 8008F9F0 0298082A */ slt $at, $s4, $t8 -/* 0905F4 8008F9F4 14200007 */ bnez $at, .L8008FA14 -/* 0905F8 8008F9F8 28E1002A */ slti $at, $a3, 0x2a -/* 0905FC 8008F9FC 10200005 */ beqz $at, .L8008FA14 -/* 090600 8008FA00 29810040 */ slti $at, $t4, 0x40 -/* 090604 8008FA04 1420FF85 */ bnez $at, .L8008F81C -/* 090608 8008FA08 00000000 */ nop -/* 09060C 8008FA0C AFBE0070 */ sw $fp, 0x70($sp) -/* 090610 8008FA10 AFB30074 */ sw $s3, 0x74($sp) -.L8008FA14: -/* 090614 8008FA14 00002025 */ move $a0, $zero -.L8008FA18: -/* 090618 8008FA18 0C019A06 */ jal camEnableUserView -/* 09061C 8008FA1C 24050001 */ li $a1, 1 -/* 090620 8008FA20 00001025 */ move $v0, $zero -.L8008FA24: -/* 090624 8008FA24 8FBF003C */ lw $ra, 0x3c($sp) -/* 090628 8008FA28 8FB00018 */ lw $s0, 0x18($sp) -/* 09062C 8008FA2C 8FB1001C */ lw $s1, 0x1c($sp) -/* 090630 8008FA30 8FB20020 */ lw $s2, 0x20($sp) -/* 090634 8008FA34 8FB30024 */ lw $s3, 0x24($sp) -/* 090638 8008FA38 8FB40028 */ lw $s4, 0x28($sp) -/* 09063C 8008FA3C 8FB5002C */ lw $s5, 0x2c($sp) -/* 090640 8008FA40 8FB60030 */ lw $s6, 0x30($sp) -/* 090644 8008FA44 8FB70034 */ lw $s7, 0x34($sp) -/* 090648 8008FA48 8FBE0038 */ lw $fp, 0x38($sp) -/* 09064C 8008FA4C 03E00008 */ jr $ra -/* 090650 8008FA50 27BD0080 */ addiu $sp, $sp, 0x80 - diff --git a/asm/non_matchings/menu/func_8008FF1C.s b/asm/non_matchings/menu/func_8008FF1C.s deleted file mode 100644 index ae7c716a..00000000 --- a/asm/non_matchings/menu/func_8008FF1C.s +++ /dev/null @@ -1,397 +0,0 @@ -glabel func_8008FF1C -/* 090B1C 8008FF1C 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 090B20 8008FF20 AFBF0054 */ sw $ra, 0x54($sp) -/* 090B24 8008FF24 AFBE0050 */ sw $fp, 0x50($sp) -/* 090B28 8008FF28 AFB7004C */ sw $s7, 0x4c($sp) -/* 090B2C 8008FF2C AFB60048 */ sw $s6, 0x48($sp) -/* 090B30 8008FF30 AFB50044 */ sw $s5, 0x44($sp) -/* 090B34 8008FF34 AFB40040 */ sw $s4, 0x40($sp) -/* 090B38 8008FF38 AFB3003C */ sw $s3, 0x3c($sp) -/* 090B3C 8008FF3C AFB20038 */ sw $s2, 0x38($sp) -/* 090B40 8008FF40 AFB10034 */ sw $s1, 0x34($sp) -/* 090B44 8008FF44 AFB00030 */ sw $s0, 0x30($sp) -/* 090B48 8008FF48 0C01BAA4 */ jal get_settings -/* 090B4C 8008FF4C AFA40080 */ sw $a0, 0x80($sp) -/* 090B50 8008FF50 AFA20058 */ sw $v0, 0x58($sp) -/* 090B54 8008FF54 0C0078A7 */ jal get_misc_asset -/* 090B58 8008FF58 2404001A */ li $a0, 26 -/* 090B5C 8008FF5C 3C03800E */ lui $v1, %hi(gMenuDelay) # $v1, 0x800e -/* 090B60 8008FF60 8C63F47C */ lw $v1, %lo(gMenuDelay)($v1) -/* 090B64 8008FF64 AFA2005C */ sw $v0, 0x5c($sp) -/* 090B68 8008FF68 2861FFEA */ slti $at, $v1, -0x16 -/* 090B6C 8008FF6C 14200152 */ bnez $at, .L800904B8 -/* 090B70 8008FF70 28610017 */ slti $at, $v1, 0x17 -/* 090B74 8008FF74 10200150 */ beqz $at, .L800904B8 -/* 090B78 8008FF78 3C0E8012 */ lui $t6, %hi(gFFLUnlocked) # $t6, 0x8012 -/* 090B7C 8008FF7C 85CE6918 */ lh $t6, %lo(gFFLUnlocked)($t6) -/* 090B80 8008FF80 2401FFFF */ li $at, -1 -/* 090B84 8008FF84 15C10004 */ bne $t6, $at, .L8008FF98 -/* 090B88 8008FF88 24180004 */ li $t8, 4 -/* 090B8C 8008FF8C 240F0003 */ li $t7, 3 -/* 090B90 8008FF90 10000002 */ b .L8008FF9C -/* 090B94 8008FF94 AFAF0060 */ sw $t7, 0x60($sp) -.L8008FF98: -/* 090B98 8008FF98 AFB80060 */ sw $t8, 0x60($sp) -.L8008FF9C: -/* 090B9C 8008FF9C 3C018012 */ lui $at, %hi(gTrackSelectX) # $at, 0x8012 -/* 090BA0 8008FFA0 C42469DC */ lwc1 $f4, %lo(gTrackSelectX)($at) -/* 090BA4 8008FFA4 3C0143A0 */ li $at, 0x43A00000 # 320.000000 -/* 090BA8 8008FFA8 44813000 */ mtc1 $at, $f6 -/* 090BAC 8008FFAC 3C098012 */ lui $t1, %hi(gTrackSelectViewportY) # $t1, 0x8012 -/* 090BB0 8008FFB0 46062203 */ div.s $f8, $f4, $f6 -/* 090BB4 8008FFB4 8D296480 */ lw $t1, %lo(gTrackSelectViewportY)($t1) -/* 090BB8 8008FFB8 240CFFFF */ li $t4, -1 -/* 090BBC 8008FFBC 00095023 */ negu $t2, $t1 -/* 090BC0 8008FFC0 448A9000 */ mtc1 $t2, $f18 -/* 090BC4 8008FFC4 3C108012 */ lui $s0, %hi(gTrackSelectRenderDetails) # $s0, 0x8012 -/* 090BC8 8008FFC8 26106930 */ addiu $s0, %lo(gTrackSelectRenderDetails) # addiu $s0, $s0, 0x6930 -/* 090BCC 8008FFCC AFAC007C */ sw $t4, 0x7c($sp) -/* 090BD0 8008FFD0 241E0003 */ li $fp, 3 -/* 090BD4 8008FFD4 24170004 */ li $s7, 4 -/* 090BD8 8008FFD8 4459F800 */ cfc1 $t9, $31 -/* 090BDC 8008FFDC 00000000 */ nop -/* 090BE0 8008FFE0 37210003 */ ori $at, $t9, 3 -/* 090BE4 8008FFE4 38210002 */ xori $at, $at, 2 -/* 090BE8 8008FFE8 44C1F800 */ ctc1 $at, $31 -/* 090BEC 8008FFEC 3C018012 */ lui $at, %hi(gTrackSelectY) # $at, 0x8012 -/* 090BF0 8008FFF0 460042A4 */ cvt.w.s $f10, $f8 -/* 090BF4 8008FFF4 C43069E4 */ lwc1 $f16, %lo(gTrackSelectY)($at) -/* 090BF8 8008FFF8 44D9F800 */ ctc1 $t9, $31 -/* 090BFC 8008FFFC 44085000 */ mfc1 $t0, $f10 -/* 090C00 80090000 46809120 */ cvt.s.w $f4, $f18 -/* 090C04 80090004 AFA8006C */ sw $t0, 0x6c($sp) -/* 090C08 80090008 46048183 */ div.s $f6, $f16, $f4 -/* 090C0C 8009000C 444BF800 */ cfc1 $t3, $31 -/* 090C10 80090010 00000000 */ nop -/* 090C14 80090014 35610003 */ ori $at, $t3, 3 -/* 090C18 80090018 38210002 */ xori $at, $at, 2 -/* 090C1C 8009001C 44C1F800 */ ctc1 $at, $31 -/* 090C20 80090020 00000000 */ nop -/* 090C24 80090024 46003224 */ cvt.w.s $f8, $f6 -/* 090C28 80090028 44024000 */ mfc1 $v0, $f8 -/* 090C2C 8009002C 44CBF800 */ ctc1 $t3, $31 -/* 090C30 80090030 2453FFFF */ addiu $s3, $v0, -1 -/* 090C34 80090034 00000000 */ nop -.L80090038: -/* 090C38 80090038 2416FFFF */ li $s6, -1 -.L8009003C: -/* 090C3C 8009003C 0660000A */ bltz $s3, .L80090068 -/* 090C40 80090040 00000000 */ nop -/* 090C44 80090044 8FAD0060 */ lw $t5, 0x60($sp) -/* 090C48 80090048 8FAE006C */ lw $t6, 0x6c($sp) -/* 090C4C 8009004C 01B3082A */ slt $at, $t5, $s3 -/* 090C50 80090050 14200005 */ bnez $at, .L80090068 -/* 090C54 80090054 01D69021 */ addu $s2, $t6, $s6 -/* 090C58 80090058 06400003 */ bltz $s2, .L80090068 -/* 090C5C 8009005C 2A410006 */ slti $at, $s2, 6 -/* 090C60 80090060 14200003 */ bnez $at, .L80090070 -/* 090C64 80090064 240F0001 */ li $t7, 1 -.L80090068: -/* 090C68 80090068 100000C2 */ b .L80090374 -/* 090C6C 8009006C A200000C */ sb $zero, 0xc($s0) -.L80090070: -/* 090C70 80090070 0013C080 */ sll $t8, $s3, 2 -/* 090C74 80090074 0313C023 */ subu $t8, $t8, $s3 -/* 090C78 80090078 0018C080 */ sll $t8, $t8, 2 -/* 090C7C 8009007C 0012A080 */ sll $s4, $s2, 2 -/* 090C80 80090080 0012C840 */ sll $t9, $s2, 1 -/* 090C84 80090084 3C098012 */ lui $t1, %hi(gTrackSelectIDs) # $t1, 0x8012 -/* 090C88 80090088 252968E8 */ addiu $t1, %lo(gTrackSelectIDs) # addiu $t1, $t1, 0x68e8 -/* 090C8C 8009008C 03194021 */ addu $t0, $t8, $t9 -/* 090C90 80090090 0292A021 */ addu $s4, $s4, $s2 -/* 090C94 80090094 A20F000C */ sb $t7, 0xc($s0) -/* 090C98 80090098 0014A180 */ sll $s4, $s4, 6 -/* 090C9C 8009009C 01098821 */ addu $s1, $t0, $t1 -/* 090CA0 800900A0 26640001 */ addiu $a0, $s3, 1 -/* 090CA4 800900A4 0C01AC75 */ jal get_hub_area_id -/* 090CA8 800900A8 0013A823 */ negu $s5, $s3 -/* 090CAC 800900AC 0C01AF77 */ jal get_level_name -/* 090CB0 800900B0 00402025 */ move $a0, $v0 -/* 090CB4 800900B4 862A0000 */ lh $t2, ($s1) -/* 090CB8 800900B8 2401FFFF */ li $at, -1 -/* 090CBC 800900BC 11410022 */ beq $t2, $at, .L80090148 -/* 090CC0 800900C0 AE020000 */ sw $v0, ($s0) -/* 090CC4 800900C4 00135880 */ sll $t3, $s3, 2 -/* 090CC8 800900C8 01735823 */ subu $t3, $t3, $s3 -/* 090CCC 800900CC 8FAD005C */ lw $t5, 0x5c($sp) -/* 090CD0 800900D0 000B5840 */ sll $t3, $t3, 1 -/* 090CD4 800900D4 01726021 */ addu $t4, $t3, $s2 -/* 090CD8 800900D8 018D8821 */ addu $s1, $t4, $t5 -/* 090CDC 800900DC 82240000 */ lb $a0, ($s1) -/* 090CE0 800900E0 0C01AF77 */ jal get_level_name -/* 090CE4 800900E4 00000000 */ nop -/* 090CE8 800900E8 1657000B */ bne $s2, $s7, .L80090118 -/* 090CEC 800900EC AE020004 */ sw $v0, 4($s0) -/* 090CF0 800900F0 8FAE0058 */ lw $t6, 0x58($sp) -/* 090CF4 800900F4 0013C040 */ sll $t8, $s3, 1 -/* 090CF8 800900F8 95CF000E */ lhu $t7, 0xe($t6) -/* 090CFC 800900FC 24090002 */ li $t1, 2 -/* 090D00 80090100 030FC807 */ srav $t9, $t7, $t8 -/* 090D04 80090104 33280003 */ andi $t0, $t9, 3 -/* 090D08 80090108 17C80013 */ bne $fp, $t0, .L80090158 -/* 090D0C 8009010C 00000000 */ nop -/* 090D10 80090110 10000011 */ b .L80090158 -/* 090D14 80090114 A209000C */ sb $t1, 0xc($s0) -.L80090118: -/* 090D18 80090118 8FAA0058 */ lw $t2, 0x58($sp) -/* 090D1C 8009011C 822C0000 */ lb $t4, ($s1) -/* 090D20 80090120 8D4B0004 */ lw $t3, 4($t2) -/* 090D24 80090124 000C6880 */ sll $t5, $t4, 2 -/* 090D28 80090128 016D7021 */ addu $t6, $t3, $t5 -/* 090D2C 8009012C 8DCF0000 */ lw $t7, ($t6) -/* 090D30 80090130 24190002 */ li $t9, 2 -/* 090D34 80090134 31F80002 */ andi $t8, $t7, 2 -/* 090D38 80090138 13000007 */ beqz $t8, .L80090158 -/* 090D3C 8009013C 00000000 */ nop -/* 090D40 80090140 10000005 */ b .L80090158 -/* 090D44 80090144 A219000C */ sb $t9, 0xc($s0) -.L80090148: -/* 090D48 80090148 3C08800E */ lui $t0, %hi(gQMarkPtr) # $t0, 0x800e -/* 090D4C 8009014C 8D080978 */ lw $t0, %lo(gQMarkPtr)($t0) -/* 090D50 80090150 00000000 */ nop -/* 090D54 80090154 AE080004 */ sw $t0, 4($s0) -.L80090158: -/* 090D58 80090158 44945000 */ mtc1 $s4, $f10 -/* 090D5C 8009015C 3C018012 */ lui $at, %hi(gTrackSelectX) # $at, 0x8012 -/* 090D60 80090160 468054A0 */ cvt.s.w $f18, $f10 -/* 090D64 80090164 C43069DC */ lwc1 $f16, %lo(gTrackSelectX)($at) -/* 090D68 80090168 3C0C8012 */ lui $t4, %hi(gTrackSelectViewportY) # $t4, 0x8012 -/* 090D6C 8009016C 46109101 */ sub.s $f4, $f18, $f16 -/* 090D70 80090170 240F00FF */ li $t7, 255 -/* 090D74 80090174 4449F800 */ cfc1 $t1, $31 -/* 090D78 80090178 3C188012 */ lui $t8, %hi(gSelectedTrackX) # $t8, 0x8012 -/* 090D7C 8009017C 35210003 */ ori $at, $t1, 3 -/* 090D80 80090180 38210002 */ xori $at, $at, 2 -/* 090D84 80090184 44C1F800 */ ctc1 $at, $31 -/* 090D88 80090188 3C018012 */ lui $at, %hi(gTrackSelectY) # $at, 0x8012 -/* 090D8C 8009018C 460021A4 */ cvt.w.s $f6, $f4 -/* 090D90 80090190 3C198012 */ lui $t9, %hi(gSelectedTrackY) # $t9, 0x8012 -/* 090D94 80090194 440A3000 */ mfc1 $t2, $f6 -/* 090D98 80090198 44C9F800 */ ctc1 $t1, $31 -/* 090D9C 8009019C A60A0008 */ sh $t2, 8($s0) -/* 090DA0 800901A0 8D8C6480 */ lw $t4, %lo(gTrackSelectViewportY)($t4) -/* 090DA4 800901A4 C43269E4 */ lwc1 $f18, %lo(gTrackSelectY)($at) -/* 090DA8 800901A8 02AC0019 */ multu $s5, $t4 -/* 090DAC 800901AC A20F000D */ sb $t7, 0xd($s0) -/* 090DB0 800901B0 00005812 */ mflo $t3 -/* 090DB4 800901B4 448B4000 */ mtc1 $t3, $f8 -/* 090DB8 800901B8 00000000 */ nop -/* 090DBC 800901BC 468042A0 */ cvt.s.w $f10, $f8 -/* 090DC0 800901C0 46125401 */ sub.s $f16, $f10, $f18 -/* 090DC4 800901C4 444DF800 */ cfc1 $t5, $31 -/* 090DC8 800901C8 00000000 */ nop -/* 090DCC 800901CC 35A10003 */ ori $at, $t5, 3 -/* 090DD0 800901D0 38210002 */ xori $at, $at, 2 -/* 090DD4 800901D4 44C1F800 */ ctc1 $at, $31 -/* 090DD8 800901D8 00000000 */ nop -/* 090DDC 800901DC 46008124 */ cvt.w.s $f4, $f16 -/* 090DE0 800901E0 440E2000 */ mfc1 $t6, $f4 -/* 090DE4 800901E4 44CDF800 */ ctc1 $t5, $31 -/* 090DE8 800901E8 A60E000A */ sh $t6, 0xa($s0) -/* 090DEC 800901EC 8F1869F4 */ lw $t8, %lo(gSelectedTrackX)($t8) -/* 090DF0 800901F0 00000000 */ nop -/* 090DF4 800901F4 16580010 */ bne $s2, $t8, .L80090238 -/* 090DF8 800901F8 00000000 */ nop -/* 090DFC 800901FC 8F3969F8 */ lw $t9, %lo(gSelectedTrackY)($t9) -/* 090E00 80090200 00000000 */ nop -/* 090E04 80090204 1679000C */ bne $s3, $t9, .L80090238 -/* 090E08 80090208 00000000 */ nop -/* 090E0C 8009020C 9209000E */ lbu $t1, 0xe($s0) -/* 090E10 80090210 3C028012 */ lui $v0, %hi(gOpacityDecayTimer) # $v0, 0x8012 -/* 090E14 80090214 352A0080 */ ori $t2, $t1, 0x80 -/* 090E18 80090218 A20A000E */ sb $t2, 0xe($s0) -/* 090E1C 8009021C 8C4263D8 */ lw $v0, %lo(gOpacityDecayTimer)($v0) -/* 090E20 80090220 00000000 */ nop -/* 090E24 80090224 28410020 */ slti $at, $v0, 0x20 -/* 090E28 80090228 10200007 */ beqz $at, .L80090248 -/* 090E2C 8009022C 000260C0 */ sll $t4, $v0, 3 -/* 090E30 80090230 10000005 */ b .L80090248 -/* 090E34 80090234 A20C000D */ sb $t4, 0xd($s0) -.L80090238: -/* 090E38 80090238 920B000E */ lbu $t3, 0xe($s0) -/* 090E3C 8009023C 00000000 */ nop -/* 090E40 80090240 316DFF7F */ andi $t5, $t3, 0xff7f -/* 090E44 80090244 A20D000E */ sb $t5, 0xe($s0) -.L80090248: -/* 090E48 80090248 920E000E */ lbu $t6, 0xe($s0) -/* 090E4C 8009024C 3C18800E */ lui $t8, %hi(gMenuDelay) # $t8, 0x800e -/* 090E50 80090250 31CFFF80 */ andi $t7, $t6, 0xff80 -/* 090E54 80090254 A20F000E */ sb $t7, 0xe($s0) -/* 090E58 80090258 8F18F47C */ lw $t8, %lo(gMenuDelay)($t8) -/* 090E5C 8009025C 2A410005 */ slti $at, $s2, 5 -/* 090E60 80090260 17000039 */ bnez $t8, .L80090348 -/* 090E64 80090264 00000000 */ nop -/* 090E68 80090268 1A600005 */ blez $s3, .L80090280 -/* 090E6C 8009026C 35E80001 */ ori $t0, $t7, 1 -/* 090E70 80090270 3109007F */ andi $t1, $t0, 0x7f -/* 090E74 80090274 31EAFF80 */ andi $t2, $t7, 0xff80 -/* 090E78 80090278 012A6025 */ or $t4, $t1, $t2 -/* 090E7C 8009027C A20C000E */ sb $t4, 0xe($s0) -.L80090280: -/* 090E80 80090280 10200009 */ beqz $at, .L800902A8 -/* 090E84 80090284 8FB90060 */ lw $t9, 0x60($sp) -/* 090E88 80090288 920B000E */ lbu $t3, 0xe($s0) -/* 090E8C 8009028C 00000000 */ nop -/* 090E90 80090290 356D0002 */ ori $t5, $t3, 2 -/* 090E94 80090294 31AE007F */ andi $t6, $t5, 0x7f -/* 090E98 80090298 316FFF80 */ andi $t7, $t3, 0xff80 -/* 090E9C 8009029C 01CFC025 */ or $t8, $t6, $t7 -/* 090EA0 800902A0 A218000E */ sb $t8, 0xe($s0) -/* 090EA4 800902A4 8FB90060 */ lw $t9, 0x60($sp) -.L800902A8: -/* 090EA8 800902A8 00000000 */ nop -/* 090EAC 800902AC 0279082A */ slt $at, $s3, $t9 -/* 090EB0 800902B0 10200008 */ beqz $at, .L800902D4 -/* 090EB4 800902B4 00000000 */ nop -/* 090EB8 800902B8 9208000E */ lbu $t0, 0xe($s0) -/* 090EBC 800902BC 00000000 */ nop -/* 090EC0 800902C0 35090004 */ ori $t1, $t0, 4 -/* 090EC4 800902C4 312A007F */ andi $t2, $t1, 0x7f -/* 090EC8 800902C8 310CFF80 */ andi $t4, $t0, 0xff80 -/* 090ECC 800902CC 014C5825 */ or $t3, $t2, $t4 -/* 090ED0 800902D0 A20B000E */ sb $t3, 0xe($s0) -.L800902D4: -/* 090ED4 800902D4 1A400008 */ blez $s2, .L800902F8 -/* 090ED8 800902D8 24010005 */ li $at, 5 -/* 090EDC 800902DC 920D000E */ lbu $t5, 0xe($s0) -/* 090EE0 800902E0 00000000 */ nop -/* 090EE4 800902E4 35AE0008 */ ori $t6, $t5, 8 -/* 090EE8 800902E8 31CF007F */ andi $t7, $t6, 0x7f -/* 090EEC 800902EC 31B8FF80 */ andi $t8, $t5, 0xff80 -/* 090EF0 800902F0 01F8C825 */ or $t9, $t7, $t8 -/* 090EF4 800902F4 A219000E */ sb $t9, 0xe($s0) -.L800902F8: -/* 090EF8 800902F8 16570009 */ bne $s2, $s7, .L80090320 -/* 090EFC 800902FC 00000000 */ nop -/* 090F00 80090300 16770007 */ bne $s3, $s7, .L80090320 -/* 090F04 80090304 00000000 */ nop -/* 090F08 80090308 9209000E */ lbu $t1, 0xe($s0) -/* 090F0C 8009030C 00000000 */ nop -/* 090F10 80090310 312A007D */ andi $t2, $t1, 0x7d -/* 090F14 80090314 312CFF80 */ andi $t4, $t1, 0xff80 -/* 090F18 80090318 014C5825 */ or $t3, $t2, $t4 -/* 090F1C 8009031C A20B000E */ sb $t3, 0xe($s0) -.L80090320: -/* 090F20 80090320 16410009 */ bne $s2, $at, .L80090348 -/* 090F24 80090324 00000000 */ nop -/* 090F28 80090328 167E0007 */ bne $s3, $fp, .L80090348 -/* 090F2C 8009032C 00000000 */ nop -/* 090F30 80090330 920E000E */ lbu $t6, 0xe($s0) -/* 090F34 80090334 00000000 */ nop -/* 090F38 80090338 31CF007B */ andi $t7, $t6, 0x7b -/* 090F3C 8009033C 31D8FF80 */ andi $t8, $t6, 0xff80 -/* 090F40 80090340 01F8C825 */ or $t9, $t7, $t8 -/* 090F44 80090344 A219000E */ sb $t9, 0xe($s0) -.L80090348: -/* 090F48 80090348 16570004 */ bne $s2, $s7, .L8009035C -/* 090F4C 8009034C 24010005 */ li $at, 5 -/* 090F50 80090350 24080006 */ li $t0, 6 -/* 090F54 80090354 10000007 */ b .L80090374 -/* 090F58 80090358 A208000F */ sb $t0, 0xf($s0) -.L8009035C: -/* 090F5C 8009035C 16410004 */ bne $s2, $at, .L80090370 -/* 090F60 80090360 240A0004 */ li $t2, 4 -/* 090F64 80090364 24090005 */ li $t1, 5 -/* 090F68 80090368 10000002 */ b .L80090374 -/* 090F6C 8009036C A209000F */ sb $t1, 0xf($s0) -.L80090370: -/* 090F70 80090370 A20A000F */ sb $t2, 0xf($s0) -.L80090374: -/* 090F74 80090374 26D60001 */ addiu $s6, $s6, 1 -/* 090F78 80090378 24010002 */ li $at, 2 -/* 090F7C 8009037C 16C1FF2F */ bne $s6, $at, .L8009003C -/* 090F80 80090380 26100010 */ addiu $s0, $s0, 0x10 -/* 090F84 80090384 8FAC007C */ lw $t4, 0x7c($sp) -/* 090F88 80090388 26730001 */ addiu $s3, $s3, 1 -/* 090F8C 8009038C 258B0001 */ addiu $t3, $t4, 1 -/* 090F90 80090390 29610002 */ slti $at, $t3, 2 -/* 090F94 80090394 1420FF28 */ bnez $at, .L80090038 -/* 090F98 80090398 AFAB007C */ sw $t3, 0x7c($sp) -/* 090F9C 8009039C 00002025 */ move $a0, $zero -/* 090FA0 800903A0 0C019A25 */ jal camDisableUserView -/* 090FA4 800903A4 24050001 */ li $a1, 1 -/* 090FA8 800903A8 0C026F57 */ jal menu_camera_centre -/* 090FAC 800903AC 00000000 */ nop -/* 090FB0 800903B0 3C118012 */ lui $s1, %hi(sMenuCurrDisplayList) # $s1, 0x8012 -/* 090FB4 800903B4 263163A0 */ addiu $s1, %lo(sMenuCurrDisplayList) # addiu $s1, $s1, 0x63a0 -/* 090FB8 800903B8 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 -/* 090FBC 800903BC 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 -/* 090FC0 800903C0 0C019FCB */ jal set_ortho_matrix_view -/* 090FC4 800903C4 02202025 */ move $a0, $s1 -/* 090FC8 800903C8 0C01ECF4 */ jal reset_render_settings -/* 090FCC 800903CC 02202025 */ move $a0, $s1 -/* 090FD0 800903D0 8E230000 */ lw $v1, ($s1) -/* 090FD4 800903D4 3C0EE700 */ lui $t6, 0xe700 -/* 090FD8 800903D8 246D0008 */ addiu $t5, $v1, 8 -/* 090FDC 800903DC AE2D0000 */ sw $t5, ($s1) -/* 090FE0 800903E0 240F0040 */ li $t7, 64 -/* 090FE4 800903E4 3C018012 */ lui $at, %hi(D_80126928) # $at, 0x8012 -/* 090FE8 800903E8 AC600004 */ sw $zero, 4($v1) -/* 090FEC 800903EC AC6E0000 */ sw $t6, ($v1) -/* 090FF0 800903F0 AC2F6928 */ sw $t7, %lo(D_80126928)($at) -/* 090FF4 800903F4 3C018012 */ lui $at, %hi(D_8012692C) # $at, 0x8012 -/* 090FF8 800903F8 24180020 */ li $t8, 32 -/* 090FFC 800903FC AC38692C */ sw $t8, %lo(D_8012692C)($at) -/* 091000 80090400 3C018012 */ lui $at, %hi(gTrackMenuHubName) # $at, 0x8012 -/* 091004 80090404 3C108012 */ lui $s0, %hi(gTrackSelectRenderDetails) # $s0, 0x8012 -/* 091008 80090408 3C14800E */ lui $s4, %hi(D_800E05F4) # $s4, 0x800e -/* 09100C 8009040C 3C138012 */ lui $s3, %hi(gTrackSelectRenderDetails) # $s3, 0x8012 -/* 091010 80090410 3C12800E */ lui $s2, %hi(D_800E05D4) # $s2, 0x800e -/* 091014 80090414 AC2069F0 */ sw $zero, %lo(gTrackMenuHubName)($at) -/* 091018 80090418 265205D4 */ addiu $s2, %lo(D_800E05D4) # addiu $s2, $s2, 0x5d4 -/* 09101C 8009041C 267369C0 */ addiu $s3, %lo(gTrackSelectRenderDetails+0x90) # addiu $s3, $s3, 0x69c0 -/* 091020 80090420 269405F4 */ addiu $s4, %lo(D_800E05F4) # addiu $s4, $s4, 0x5f4 -/* 091024 80090424 26106930 */ addiu $s0, %lo(gTrackSelectRenderDetails) # addiu $s0, $s0, 0x6930 -/* 091028 80090428 AFA0007C */ sw $zero, 0x7c($sp) -/* 09102C 8009042C 24110001 */ li $s1, 1 -.L80090430: -/* 091030 80090430 9202000C */ lbu $v0, 0xc($s0) -/* 091034 80090434 00000000 */ nop -/* 091038 80090438 10400016 */ beqz $v0, .L80090494 -/* 09103C 8009043C 00000000 */ nop -/* 091040 80090440 16220004 */ bne $s1, $v0, .L80090454 -/* 091044 80090444 02801025 */ move $v0, $s4 -/* 091048 80090448 10000002 */ b .L80090454 -/* 09104C 8009044C 02401025 */ move $v0, $s2 -/* 091050 80090450 02801025 */ move $v0, $s4 -.L80090454: -/* 091054 80090454 9609000E */ lhu $t1, 0xe($s0) -/* 091058 80090458 920C000E */ lbu $t4, 0xe($s0) -/* 09105C 8009045C 9219000D */ lbu $t9, 0xd($s0) -/* 091060 80090460 9208000F */ lbu $t0, 0xf($s0) -/* 091064 80090464 86040008 */ lh $a0, 8($s0) -/* 091068 80090468 8605000A */ lh $a1, 0xa($s0) -/* 09106C 8009046C 8E060000 */ lw $a2, ($s0) -/* 091070 80090470 8E070004 */ lw $a3, 4($s0) -/* 091074 80090474 000953C2 */ srl $t2, $t1, 0xf -/* 091078 80090478 318B007F */ andi $t3, $t4, 0x7f -/* 09107C 8009047C AFAB0020 */ sw $t3, 0x20($sp) -/* 091080 80090480 AFAA0018 */ sw $t2, 0x18($sp) -/* 091084 80090484 AFA2001C */ sw $v0, 0x1c($sp) -/* 091088 80090488 AFB90010 */ sw $t9, 0x10($sp) -/* 09108C 8009048C 0C023E95 */ jal trackmenu_render_2D -/* 091090 80090490 AFA80014 */ sw $t0, 0x14($sp) -.L80090494: -/* 091094 80090494 26100010 */ addiu $s0, $s0, 0x10 -/* 091098 80090498 1613FFE5 */ bne $s0, $s3, .L80090430 -/* 09109C 8009049C 00000000 */ nop -/* 0910A0 800904A0 3C028012 */ lui $v0, %hi(gTrackSelectVertsFlip) # $v0, 0x8012 -/* 0910A4 800904A4 24426924 */ addiu $v0, %lo(gTrackSelectVertsFlip) # addiu $v0, $v0, 0x6924 -/* 0910A8 800904A8 8C4D0000 */ lw $t5, ($v0) -/* 0910AC 800904AC 00000000 */ nop -/* 0910B0 800904B0 022D7023 */ subu $t6, $s1, $t5 -/* 0910B4 800904B4 AC4E0000 */ sw $t6, ($v0) -.L800904B8: -/* 0910B8 800904B8 8FBF0054 */ lw $ra, 0x54($sp) -/* 0910BC 800904BC 8FB00030 */ lw $s0, 0x30($sp) -/* 0910C0 800904C0 8FB10034 */ lw $s1, 0x34($sp) -/* 0910C4 800904C4 8FB20038 */ lw $s2, 0x38($sp) -/* 0910C8 800904C8 8FB3003C */ lw $s3, 0x3c($sp) -/* 0910CC 800904CC 8FB40040 */ lw $s4, 0x40($sp) -/* 0910D0 800904D0 8FB50044 */ lw $s5, 0x44($sp) -/* 0910D4 800904D4 8FB60048 */ lw $s6, 0x48($sp) -/* 0910D8 800904D8 8FB7004C */ lw $s7, 0x4c($sp) -/* 0910DC 800904DC 8FBE0050 */ lw $fp, 0x50($sp) -/* 0910E0 800904E0 03E00008 */ jr $ra -/* 0910E4 800904E4 27BD0080 */ addiu $sp, $sp, 0x80 - diff --git a/asm/non_matchings/object_models/func_8006017C.s b/asm/non_matchings/object_models/func_8006017C.s deleted file mode 100644 index 4dcd6b3d..00000000 --- a/asm/non_matchings/object_models/func_8006017C.s +++ /dev/null @@ -1,505 +0,0 @@ -glabel func_8006017C -/* 060D7C 8006017C 27BDFF00 */ addiu $sp, $sp, -0x100 -/* 060D80 80060180 AFBF006C */ sw $ra, 0x6c($sp) -/* 060D84 80060184 AFBE0068 */ sw $fp, 0x68($sp) -/* 060D88 80060188 AFB70064 */ sw $s7, 0x64($sp) -/* 060D8C 8006018C AFB60060 */ sw $s6, 0x60($sp) -/* 060D90 80060190 AFB5005C */ sw $s5, 0x5c($sp) -/* 060D94 80060194 AFB40058 */ sw $s4, 0x58($sp) -/* 060D98 80060198 AFB30054 */ sw $s3, 0x54($sp) -/* 060D9C 8006019C AFB20050 */ sw $s2, 0x50($sp) -/* 060DA0 800601A0 AFB1004C */ sw $s1, 0x4c($sp) -/* 060DA4 800601A4 AFB00048 */ sw $s0, 0x48($sp) -/* 060DA8 800601A8 E7BF0040 */ swc1 $f31, 0x40($sp) -/* 060DAC 800601AC E7BE0044 */ swc1 $f30, 0x44($sp) -/* 060DB0 800601B0 E7BD0038 */ swc1 $f29, 0x38($sp) -/* 060DB4 800601B4 E7BC003C */ swc1 $f28, 0x3c($sp) -/* 060DB8 800601B8 E7BB0030 */ swc1 $f27, 0x30($sp) -/* 060DBC 800601BC E7BA0034 */ swc1 $f26, 0x34($sp) -/* 060DC0 800601C0 E7B90028 */ swc1 $f25, 0x28($sp) -/* 060DC4 800601C4 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 060DC8 800601C8 E7B70020 */ swc1 $f23, 0x20($sp) -/* 060DCC 800601CC E7B60024 */ swc1 $f22, 0x24($sp) -/* 060DD0 800601D0 E7B50018 */ swc1 $f21, 0x18($sp) -/* 060DD4 800601D4 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 060DD8 800601D8 8C8E000C */ lw $t6, 0xc($a0) -/* 060DDC 800601DC 00809025 */ move $s2, $a0 -/* 060DE0 800601E0 15C001B3 */ bnez $t6, .L800608B0 -/* 060DE4 800601E4 3C10FF00 */ lui $s0, (0xFF0000FF >> 16) # lui $s0, 0xff00 -/* 060DE8 800601E8 84840028 */ lh $a0, 0x28($a0) -/* 060DEC 800601EC 0000A025 */ move $s4, $zero -/* 060DF0 800601F0 18800011 */ blez $a0, .L80060238 -/* 060DF4 800601F4 361000FF */ ori $s0, (0xFF0000FF & 0xFFFF) # ori $s0, $s0, 0xff -/* 060DF8 800601F8 00043080 */ sll $a2, $a0, 2 -/* 060DFC 800601FC 00C43023 */ subu $a2, $a2, $a0 -/* 060E00 80060200 8E420038 */ lw $v0, 0x38($s2) -/* 060E04 80060204 00063080 */ sll $a2, $a2, 2 -/* 060E08 80060208 00002825 */ move $a1, $zero -.L8006020C: -/* 060E0C 8006020C 8C4F0008 */ lw $t7, 8($v0) -/* 060E10 80060210 84430004 */ lh $v1, 4($v0) -/* 060E14 80060214 84440010 */ lh $a0, 0x10($v0) -/* 060E18 80060218 31F80200 */ andi $t8, $t7, 0x200 -/* 060E1C 8006021C 17000003 */ bnez $t8, .L8006022C -/* 060E20 80060220 24A5000C */ addiu $a1, $a1, 0xc -/* 060E24 80060224 0284C821 */ addu $t9, $s4, $a0 -/* 060E28 80060228 0323A023 */ subu $s4, $t9, $v1 -.L8006022C: -/* 060E2C 8006022C 00A6082A */ slt $at, $a1, $a2 -/* 060E30 80060230 1420FFF6 */ bnez $at, .L8006020C -/* 060E34 80060234 2442000C */ addiu $v0, $v0, 0xc -.L80060238: -/* 060E38 80060238 001420C0 */ sll $a0, $s4, 3 -/* 060E3C 8006023C 0C01C344 */ jal mempool_alloc -/* 060E40 80060240 02002825 */ move $a1, $s0 -/* 060E44 80060244 1040019A */ beqz $v0, .L800608B0 -/* 060E48 80060248 AE42000C */ sw $v0, 0xc($s2) -/* 060E4C 8006024C 00142180 */ sll $a0, $s4, 6 -/* 060E50 80060250 0C01C344 */ jal mempool_alloc -/* 060E54 80060254 02002825 */ move $a1, $s0 -/* 060E58 80060258 14400006 */ bnez $v0, .L80060274 -/* 060E5C 8006025C AE420010 */ sw $v0, 0x10($s2) -/* 060E60 80060260 8E44000C */ lw $a0, 0xc($s2) -/* 060E64 80060264 0C01C450 */ jal mempool_free -/* 060E68 80060268 00000000 */ nop -/* 060E6C 8006026C 10000190 */ b .L800608B0 -/* 060E70 80060270 AE40000C */ sw $zero, 0xc($s2) -.L80060274: -/* 060E74 80060274 AFA000EC */ sw $zero, 0xec($sp) -/* 060E78 80060278 86440028 */ lh $a0, 0x28($s2) -/* 060E7C 8006027C 0000A025 */ move $s4, $zero -/* 060E80 80060280 188000B9 */ blez $a0, .L80060568 -/* 060E84 80060284 2417000A */ li $s7, 10 -/* 060E88 80060288 AFA0007C */ sw $zero, 0x7c($sp) -.L8006028C: -/* 060E8C 8006028C 8E4B0038 */ lw $t3, 0x38($s2) -/* 060E90 80060290 8FAC007C */ lw $t4, 0x7c($sp) -/* 060E94 80060294 001480C0 */ sll $s0, $s4, 3 -/* 060E98 80060298 016C1021 */ addu $v0, $t3, $t4 -/* 060E9C 8006029C 844D0010 */ lh $t5, 0x10($v0) -/* 060EA0 800602A0 84430004 */ lh $v1, 4($v0) -/* 060EA4 800602A4 84550002 */ lh $s5, 2($v0) -/* 060EA8 800602A8 AFAD00F4 */ sw $t5, 0xf4($sp) -/* 060EAC 800602AC 8C4E0008 */ lw $t6, 8($v0) -/* 060EB0 800602B0 2478FFFF */ addiu $t8, $v1, -1 -/* 060EB4 800602B4 31CF0200 */ andi $t7, $t6, 0x200 -/* 060EB8 800602B8 11E00002 */ beqz $t7, .L800602C4 -/* 060EBC 800602BC 00038900 */ sll $s1, $v1, 4 -/* 060EC0 800602C0 AFB800F4 */ sw $t8, 0xf4($sp) -.L800602C4: -/* 060EC4 800602C4 8FB900F4 */ lw $t9, 0xf4($sp) -/* 060EC8 800602C8 0060B025 */ move $s6, $v1 -/* 060ECC 800602CC 0079082A */ slt $at, $v1, $t9 -/* 060ED0 800602D0 1020009D */ beqz $at, .L80060548 -/* 060ED4 800602D4 8FAD00EC */ lw $t5, 0xec($sp) -.L800602D8: -/* 060ED8 800602D8 8E4B0008 */ lw $t3, 8($s2) -/* 060EDC 800602DC 8E430004 */ lw $v1, 4($s2) -/* 060EE0 800602E0 01712021 */ addu $a0, $t3, $s1 -/* 060EE4 800602E4 908C0001 */ lbu $t4, 1($a0) -/* 060EE8 800602E8 00000000 */ nop -/* 060EEC 800602EC 01956821 */ addu $t5, $t4, $s5 -/* 060EF0 800602F0 01B70019 */ multu $t5, $s7 -/* 060EF4 800602F4 00007012 */ mflo $t6 -/* 060EF8 800602F8 01C31021 */ addu $v0, $t6, $v1 -/* 060EFC 800602FC 844F0000 */ lh $t7, ($v0) -/* 060F00 80060300 00000000 */ nop -/* 060F04 80060304 448F2000 */ mtc1 $t7, $f4 -/* 060F08 80060308 00000000 */ nop -/* 060F0C 8006030C 468021A0 */ cvt.s.w $f6, $f4 -/* 060F10 80060310 E7A600CC */ swc1 $f6, 0xcc($sp) -/* 060F14 80060314 84580002 */ lh $t8, 2($v0) -/* 060F18 80060318 C7A200CC */ lwc1 $f2, 0xcc($sp) -/* 060F1C 8006031C 44984000 */ mtc1 $t8, $f8 -/* 060F20 80060320 00000000 */ nop -/* 060F24 80060324 468042A0 */ cvt.s.w $f10, $f8 -/* 060F28 80060328 E7AA00C8 */ swc1 $f10, 0xc8($sp) -/* 060F2C 8006032C 84590004 */ lh $t9, 4($v0) -/* 060F30 80060330 C7BA00C8 */ lwc1 $f26, 0xc8($sp) -/* 060F34 80060334 44992000 */ mtc1 $t9, $f4 -/* 060F38 80060338 00000000 */ nop -/* 060F3C 8006033C 468021A0 */ cvt.s.w $f6, $f4 -/* 060F40 80060340 E7A600C4 */ swc1 $f6, 0xc4($sp) -/* 060F44 80060344 908B0002 */ lbu $t3, 2($a0) -/* 060F48 80060348 90990003 */ lbu $t9, 3($a0) -/* 060F4C 8006034C 01756021 */ addu $t4, $t3, $s5 -/* 060F50 80060350 01970019 */ multu $t4, $s7 -/* 060F54 80060354 03355821 */ addu $t3, $t9, $s5 -/* 060F58 80060358 C7B800C4 */ lwc1 $f24, 0xc4($sp) -/* 060F5C 8006035C 00006812 */ mflo $t5 -/* 060F60 80060360 01A31021 */ addu $v0, $t5, $v1 -/* 060F64 80060364 844E0000 */ lh $t6, ($v0) -/* 060F68 80060368 01770019 */ multu $t3, $s7 -/* 060F6C 8006036C 844F0002 */ lh $t7, 2($v0) -/* 060F70 80060370 84580004 */ lh $t8, 4($v0) -/* 060F74 80060374 448E4000 */ mtc1 $t6, $f8 -/* 060F78 80060378 448F5000 */ mtc1 $t7, $f10 -/* 060F7C 8006037C 468043A0 */ cvt.s.w $f14, $f8 -/* 060F80 80060380 44982000 */ mtc1 $t8, $f4 -/* 060F84 80060384 46805420 */ cvt.s.w $f16, $f10 -/* 060F88 80060388 468024A0 */ cvt.s.w $f18, $f4 -/* 060F8C 8006038C 00006012 */ mflo $t4 -/* 060F90 80060390 01831021 */ addu $v0, $t4, $v1 -/* 060F94 80060394 844E0002 */ lh $t6, 2($v0) -/* 060F98 80060398 844D0000 */ lh $t5, ($v0) -/* 060F9C 8006039C 448E4000 */ mtc1 $t6, $f8 -/* 060FA0 800603A0 448D3000 */ mtc1 $t5, $f6 -/* 060FA4 800603A4 468042A0 */ cvt.s.w $f10, $f8 -/* 060FA8 800603A8 E7AA00B0 */ swc1 $f10, 0xb0($sp) -/* 060FAC 800603AC 844F0004 */ lh $t7, 4($v0) -/* 060FB0 800603B0 468035A0 */ cvt.s.w $f22, $f6 -/* 060FB4 800603B4 448F2000 */ mtc1 $t7, $f4 -/* 060FB8 800603B8 C7AC00B0 */ lwc1 $f12, 0xb0($sp) -/* 060FBC 800603BC 46802020 */ cvt.s.w $f0, $f4 -/* 060FC0 800603C0 46009181 */ sub.s $f6, $f18, $f0 -/* 060FC4 800603C4 461A3202 */ mul.s $f8, $f6, $f26 -/* 060FC8 800603C8 46180281 */ sub.s $f10, $f0, $f24 -/* 060FCC 800603CC 460A8102 */ mul.s $f4, $f16, $f10 -/* 060FD0 800603D0 4612C281 */ sub.s $f10, $f24, $f18 -/* 060FD4 800603D4 46044180 */ add.s $f6, $f8, $f4 -/* 060FD8 800603D8 460A6202 */ mul.s $f8, $f12, $f10 -/* 060FDC 800603DC 46167101 */ sub.s $f4, $f14, $f22 -/* 060FE0 800603E0 46182282 */ mul.s $f10, $f4, $f24 -/* 060FE4 800603E4 46083500 */ add.s $f20, $f6, $f8 -/* 060FE8 800603E8 E7B400A8 */ swc1 $f20, 0xa8($sp) -/* 060FEC 800603EC 4602B181 */ sub.s $f6, $f22, $f2 -/* 060FF0 800603F0 46069202 */ mul.s $f8, $f18, $f6 -/* 060FF4 800603F4 460E1181 */ sub.s $f6, $f2, $f14 -/* 060FF8 800603F8 46085100 */ add.s $f4, $f10, $f8 -/* 060FFC 800603FC 46060282 */ mul.s $f10, $f0, $f6 -/* 061000 80060400 460C8201 */ sub.s $f8, $f16, $f12 -/* 061004 80060404 46024182 */ mul.s $f6, $f8, $f2 -/* 061008 80060408 460A2700 */ add.s $f28, $f4, $f10 -/* 06100C 8006040C E7BC00A4 */ swc1 $f28, 0xa4($sp) -/* 061010 80060410 461A6101 */ sub.s $f4, $f12, $f26 -/* 061014 80060414 46047282 */ mul.s $f10, $f14, $f4 -/* 061018 80060418 4610D101 */ sub.s $f4, $f26, $f16 -/* 06101C 8006041C 460A3200 */ add.s $f8, $f6, $f10 -/* 061020 80060420 4604B182 */ mul.s $f6, $f22, $f4 -/* 061024 80060424 00000000 */ nop -/* 061028 80060428 4614A282 */ mul.s $f10, $f20, $f20 -/* 06102C 8006042C 46064780 */ add.s $f30, $f8, $f6 -/* 061030 80060430 E7BE00A0 */ swc1 $f30, 0xa0($sp) -/* 061034 80060434 461CE102 */ mul.s $f4, $f28, $f28 -/* 061038 80060438 00000000 */ nop -/* 06103C 8006043C 461EF182 */ mul.s $f6, $f30, $f30 -/* 061040 80060440 46045200 */ add.s $f8, $f10, $f4 -/* 061044 80060444 0C0326B4 */ jal sqrtf -/* 061048 80060448 46064300 */ add.s $f12, $f8, $f6 -/* 06104C 8006044C 44805800 */ mtc1 $zero, $f11 -/* 061050 80060450 44805000 */ mtc1 $zero, $f10 -/* 061054 80060454 46000121 */ cvt.d.s $f4, $f0 -/* 061058 80060458 4624503C */ c.lt.d $f10, $f4 -/* 06105C 8006045C C7A200CC */ lwc1 $f2, 0xcc($sp) -/* 061060 80060460 45000009 */ bc1f .L80060488 -/* 061064 80060464 00141100 */ sll $v0, $s4, 4 -/* 061068 80060468 00000000 */ nop -/* 06106C 8006046C 4600A403 */ div.s $f16, $f20, $f0 -/* 061070 80060470 00000000 */ nop -/* 061074 80060474 4600E383 */ div.s $f14, $f28, $f0 -/* 061078 80060478 E7B000A8 */ swc1 $f16, 0xa8($sp) -/* 06107C 8006047C 4600F303 */ div.s $f12, $f30, $f0 -/* 061080 80060480 E7AE00A4 */ swc1 $f14, 0xa4($sp) -/* 061084 80060484 E7AC00A0 */ swc1 $f12, 0xa0($sp) -.L80060488: -/* 061088 80060488 8E590010 */ lw $t9, 0x10($s2) -/* 06108C 8006048C C7B000A8 */ lwc1 $f16, 0xa8($sp) -/* 061090 80060490 C7AC00A0 */ lwc1 $f12, 0xa0($sp) -/* 061094 80060494 C7AE00A4 */ lwc1 $f14, 0xa4($sp) -/* 061098 80060498 03225821 */ addu $t3, $t9, $v0 -/* 06109C 8006049C E5700000 */ swc1 $f16, ($t3) -/* 0610A0 800604A0 8E4C0010 */ lw $t4, 0x10($s2) -/* 0610A4 800604A4 46101202 */ mul.s $f8, $f2, $f16 -/* 0610A8 800604A8 01826821 */ addu $t5, $t4, $v0 -/* 0610AC 800604AC E5AE0004 */ swc1 $f14, 4($t5) -/* 0610B0 800604B0 8E4E0010 */ lw $t6, 0x10($s2) -/* 0610B4 800604B4 26D60001 */ addiu $s6, $s6, 1 -/* 0610B8 800604B8 01C27821 */ addu $t7, $t6, $v0 -/* 0610BC 800604BC E5EC0008 */ swc1 $f12, 8($t7) -/* 0610C0 800604C0 C7A600C8 */ lwc1 $f6, 0xc8($sp) -/* 0610C4 800604C4 8E580010 */ lw $t8, 0x10($s2) -/* 0610C8 800604C8 460E3282 */ mul.s $f10, $f6, $f14 -/* 0610CC 800604CC C7A600C4 */ lwc1 $f6, 0xc4($sp) -/* 0610D0 800604D0 0302C821 */ addu $t9, $t8, $v0 -/* 0610D4 800604D4 26310010 */ addiu $s1, $s1, 0x10 -/* 0610D8 800604D8 460A4100 */ add.s $f4, $f8, $f10 -/* 0610DC 800604DC 460C3202 */ mul.s $f8, $f6, $f12 -/* 0610E0 800604E0 46082280 */ add.s $f10, $f4, $f8 -/* 0610E4 800604E4 46005187 */ neg.s $f6, $f10 -/* 0610E8 800604E8 E726000C */ swc1 $f6, 0xc($t9) -/* 0610EC 800604EC 8E4B000C */ lw $t3, 0xc($s2) -/* 0610F0 800604F0 00000000 */ nop -/* 0610F4 800604F4 01706021 */ addu $t4, $t3, $s0 -/* 0610F8 800604F8 A5940000 */ sh $s4, ($t4) -/* 0610FC 800604FC 8E4D000C */ lw $t5, 0xc($s2) -/* 061100 80060500 00000000 */ nop -/* 061104 80060504 01B07021 */ addu $t6, $t5, $s0 -/* 061108 80060508 A5D40002 */ sh $s4, 2($t6) -/* 06110C 8006050C 8E4F000C */ lw $t7, 0xc($s2) -/* 061110 80060510 00000000 */ nop -/* 061114 80060514 01F0C021 */ addu $t8, $t7, $s0 -/* 061118 80060518 A7140004 */ sh $s4, 4($t8) -/* 06111C 8006051C 8E59000C */ lw $t9, 0xc($s2) -/* 061120 80060520 00000000 */ nop -/* 061124 80060524 03305821 */ addu $t3, $t9, $s0 -/* 061128 80060528 A5740006 */ sh $s4, 6($t3) -/* 06112C 8006052C 8FAC00F4 */ lw $t4, 0xf4($sp) -/* 061130 80060530 26940001 */ addiu $s4, $s4, 1 -/* 061134 80060534 16CCFF68 */ bne $s6, $t4, .L800602D8 -/* 061138 80060538 26100008 */ addiu $s0, $s0, 8 -/* 06113C 8006053C 86440028 */ lh $a0, 0x28($s2) -/* 061140 80060540 00000000 */ nop -/* 061144 80060544 8FAD00EC */ lw $t5, 0xec($sp) -.L80060548: -/* 061148 80060548 8FAF007C */ lw $t7, 0x7c($sp) -/* 06114C 8006054C 25AE0001 */ addiu $t6, $t5, 1 -/* 061150 80060550 01C4082A */ slt $at, $t6, $a0 -/* 061154 80060554 25F8000C */ addiu $t8, $t7, 0xc -/* 061158 80060558 AFB8007C */ sw $t8, 0x7c($sp) -/* 06115C 8006055C 1420FF4B */ bnez $at, .L8006028C -/* 061160 80060560 AFAE00EC */ sw $t6, 0xec($sp) -/* 061164 80060564 AFA000EC */ sw $zero, 0xec($sp) -.L80060568: -/* 061168 80060568 2417000A */ li $s7, 10 -/* 06116C 8006056C A6540032 */ sh $s4, 0x32($s2) -/* 061170 80060570 0C018244 */ jal func_80060910 -/* 061174 80060574 02402025 */ move $a0, $s2 -/* 061178 80060578 86440028 */ lh $a0, 0x28($s2) -/* 06117C 8006057C 00009825 */ move $s3, $zero -/* 061180 80060580 188000CB */ blez $a0, .L800608B0 -/* 061184 80060584 241E0003 */ li $fp, 3 -/* 061188 80060588 AFA0007C */ sw $zero, 0x7c($sp) -.L8006058C: -/* 06118C 8006058C 8E590038 */ lw $t9, 0x38($s2) -/* 061190 80060590 8FAB007C */ lw $t3, 0x7c($sp) -/* 061194 80060594 00000000 */ nop -/* 061198 80060598 032B1021 */ addu $v0, $t9, $t3 -/* 06119C 8006059C 8C4C0008 */ lw $t4, 8($v0) -/* 0611A0 800605A0 84430004 */ lh $v1, 4($v0) -/* 0611A4 800605A4 84550002 */ lh $s5, 2($v0) -/* 0611A8 800605A8 84470010 */ lh $a3, 0x10($v0) -/* 0611AC 800605AC 318D0200 */ andi $t5, $t4, 0x200 -/* 0611B0 800605B0 11A00002 */ beqz $t5, .L800605BC -/* 0611B4 800605B4 001310C0 */ sll $v0, $s3, 3 -/* 0611B8 800605B8 2467FFFF */ addiu $a3, $v1, -1 -.L800605BC: -/* 0611BC 800605BC 0067082A */ slt $at, $v1, $a3 -/* 0611C0 800605C0 102000B3 */ beqz $at, .L80060890 -/* 0611C4 800605C4 0060B025 */ move $s6, $v1 -/* 0611C8 800605C8 AFA20074 */ sw $v0, 0x74($sp) -/* 0611CC 800605CC AFA700F4 */ sw $a3, 0xf4($sp) -.L800605D0: -/* 0611D0 800605D0 8FA20074 */ lw $v0, 0x74($sp) -/* 0611D4 800605D4 8E4F000C */ lw $t7, 0xc($s2) -/* 0611D8 800605D8 8E590010 */ lw $t9, 0x10($s2) -/* 0611DC 800605DC 01E2C021 */ addu $t8, $t7, $v0 -/* 0611E0 800605E0 970E0000 */ lhu $t6, ($t8) -/* 0611E4 800605E4 00002825 */ move $a1, $zero -/* 0611E8 800605E8 000E5900 */ sll $t3, $t6, 4 -/* 0611EC 800605EC 032B1821 */ addu $v1, $t9, $t3 -/* 0611F0 800605F0 C4640000 */ lwc1 $f4, ($v1) -/* 0611F4 800605F4 00008825 */ move $s1, $zero -/* 0611F8 800605F8 E7A400A8 */ swc1 $f4, 0xa8($sp) -/* 0611FC 800605FC C4680004 */ lwc1 $f8, 4($v1) -/* 061200 80060600 00000000 */ nop -/* 061204 80060604 E7A800A4 */ swc1 $f8, 0xa4($sp) -/* 061208 80060608 C46A0008 */ lwc1 $f10, 8($v1) -/* 06120C 8006060C 00000000 */ nop -/* 061210 80060610 E7AA00A0 */ swc1 $f10, 0xa0($sp) -.L80060614: -/* 061214 80060614 24B00001 */ addiu $s0, $a1, 1 -/* 061218 80060618 2A010003 */ slti $at, $s0, 3 -/* 06121C 8006061C 8E47000C */ lw $a3, 0xc($s2) -/* 061220 80060620 8E480010 */ lw $t0, 0x10($s2) -/* 061224 80060624 14200002 */ bnez $at, .L80060630 -/* 061228 80060628 02002025 */ move $a0, $s0 -/* 06122C 8006062C 00002025 */ move $a0, $zero -.L80060630: -/* 061230 80060630 8E4C0008 */ lw $t4, 8($s2) -/* 061234 80060634 00166900 */ sll $t5, $s6, 4 -/* 061238 80060638 018D1021 */ addu $v0, $t4, $t5 -/* 06123C 8006063C 00457821 */ addu $t7, $v0, $a1 -/* 061240 80060640 91F80001 */ lbu $t8, 1($t7) -/* 061244 80060644 001358C0 */ sll $t3, $s3, 3 -/* 061248 80060648 03154821 */ addu $t1, $t8, $s5 -/* 06124C 8006064C 01370019 */ multu $t1, $s7 -/* 061250 80060650 00EB6021 */ addu $t4, $a3, $t3 -/* 061254 80060654 01916821 */ addu $t5, $t4, $s1 -/* 061258 80060658 95AF0002 */ lhu $t7, 2($t5) -/* 06125C 8006065C 00447021 */ addu $t6, $v0, $a0 -/* 061260 80060660 000FC100 */ sll $t8, $t7, 4 -/* 061264 80060664 01181821 */ addu $v1, $t0, $t8 -/* 061268 80060668 91D90001 */ lbu $t9, 1($t6) -/* 06126C 8006066C C4660000 */ lwc1 $f6, ($v1) -/* 061270 80060670 C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 061274 80060674 C4680004 */ lwc1 $f8, 4($v1) -/* 061278 80060678 46043500 */ add.s $f20, $f6, $f4 -/* 06127C 8006067C 00007012 */ mflo $t6 -/* 061280 80060680 C4660008 */ lwc1 $f6, 8($v1) -/* 061284 80060684 03355021 */ addu $t2, $t9, $s5 -/* 061288 80060688 01570019 */ multu $t2, $s7 -/* 06128C 8006068C 8E430004 */ lw $v1, 4($s2) -/* 061290 80060690 C7AA00A4 */ lwc1 $f10, 0xa4($sp) -/* 061294 80060694 006E1021 */ addu $v0, $v1, $t6 -/* 061298 80060698 84590000 */ lh $t9, ($v0) -/* 06129C 8006069C 460A4600 */ add.s $f24, $f8, $f10 -/* 0612A0 800606A0 44994000 */ mtc1 $t9, $f8 -/* 0612A4 800606A4 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 0612A8 800606A8 468042A0 */ cvt.s.w $f10, $f8 -/* 0612AC 800606AC 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0612B0 800606B0 4481E000 */ mtc1 $at, $f28 -/* 0612B4 800606B4 E7AA00CC */ swc1 $f10, 0xcc($sp) -/* 0612B8 800606B8 844C0004 */ lh $t4, 4($v0) -/* 0612BC 800606BC 844B0002 */ lh $t3, 2($v0) -/* 0612C0 800606C0 46043680 */ add.s $f26, $f6, $f4 -/* 0612C4 800606C4 00006812 */ mflo $t5 -/* 0612C8 800606C8 448C2000 */ mtc1 $t4, $f4 -/* 0612CC 800606CC 006D1021 */ addu $v0, $v1, $t5 -/* 0612D0 800606D0 84580002 */ lh $t8, 2($v0) -/* 0612D4 800606D4 46802320 */ cvt.s.w $f12, $f4 -/* 0612D8 800606D8 448B3000 */ mtc1 $t3, $f6 -/* 0612DC 800606DC 44985000 */ mtc1 $t8, $f10 -/* 0612E0 800606E0 461CA102 */ mul.s $f4, $f20, $f28 -/* 0612E4 800606E4 844E0004 */ lh $t6, 4($v0) -/* 0612E8 800606E8 844F0000 */ lh $t7, ($v0) -/* 0612EC 800606EC E7AC00C4 */ swc1 $f12, 0xc4($sp) -/* 0612F0 800606F0 468037A0 */ cvt.s.w $f30, $f6 -/* 0612F4 800606F4 448E3000 */ mtc1 $t6, $f6 -/* 0612F8 800606F8 448F4000 */ mtc1 $t7, $f8 -/* 0612FC 800606FC 46805420 */ cvt.s.w $f16, $f10 -/* 061300 80060700 E7BE00C8 */ swc1 $f30, 0xc8($sp) -/* 061304 80060704 461CC282 */ mul.s $f10, $f24, $f28 -/* 061308 80060708 468034A0 */ cvt.s.w $f18, $f6 -/* 06130C 8006070C 461CD182 */ mul.s $f6, $f26, $f28 -/* 061310 80060710 461E5080 */ add.s $f2, $f10, $f30 -/* 061314 80060714 E7A200B0 */ swc1 $f2, 0xb0($sp) -/* 061318 80060718 468043A0 */ cvt.s.w $f14, $f8 -/* 06131C 8006071C C7A800CC */ lwc1 $f8, 0xcc($sp) -/* 061320 80060720 460C3000 */ add.s $f0, $f6, $f12 -/* 061324 80060724 46082580 */ add.s $f22, $f4, $f8 -/* 061328 80060728 E7A000AC */ swc1 $f0, 0xac($sp) -/* 06132C 8006072C 46009101 */ sub.s $f4, $f18, $f0 -/* 061330 80060730 461E2282 */ mul.s $f10, $f4, $f30 -/* 061334 80060734 460C0181 */ sub.s $f6, $f0, $f12 -/* 061338 80060738 C7A000C8 */ lwc1 $f0, 0xc8($sp) -/* 06133C 8006073C 46068102 */ mul.s $f4, $f16, $f6 -/* 061340 80060740 46045180 */ add.s $f6, $f10, $f4 -/* 061344 80060744 46126281 */ sub.s $f10, $f12, $f18 -/* 061348 80060748 460A1102 */ mul.s $f4, $f2, $f10 -/* 06134C 8006074C 46167281 */ sub.s $f10, $f14, $f22 -/* 061350 80060750 46043500 */ add.s $f20, $f6, $f4 -/* 061354 80060754 C7A600C4 */ lwc1 $f6, 0xc4($sp) -/* 061358 80060758 46004086 */ mov.s $f2, $f8 -/* 06135C 8006075C 46065102 */ mul.s $f4, $f10, $f6 -/* 061360 80060760 4608B201 */ sub.s $f8, $f22, $f8 -/* 061364 80060764 46089282 */ mul.s $f10, $f18, $f8 -/* 061368 80060768 C7A800AC */ lwc1 $f8, 0xac($sp) -/* 06136C 8006076C 460A2180 */ add.s $f6, $f4, $f10 -/* 061370 80060770 460E1101 */ sub.s $f4, $f2, $f14 -/* 061374 80060774 46044282 */ mul.s $f10, $f8, $f4 -/* 061378 80060778 C7A800B0 */ lwc1 $f8, 0xb0($sp) -/* 06137C 8006077C 00000000 */ nop -/* 061380 80060780 46088101 */ sub.s $f4, $f16, $f8 -/* 061384 80060784 460A3700 */ add.s $f28, $f6, $f10 -/* 061388 80060788 46022182 */ mul.s $f6, $f4, $f2 -/* 06138C 8006078C 46004281 */ sub.s $f10, $f8, $f0 -/* 061390 80060790 460A7102 */ mul.s $f4, $f14, $f10 -/* 061394 80060794 46100281 */ sub.s $f10, $f0, $f16 -/* 061398 80060798 46043200 */ add.s $f8, $f6, $f4 -/* 06139C 8006079C 460AB182 */ mul.s $f6, $f22, $f10 -/* 0613A0 800607A0 4600E606 */ mov.s $f24, $f28 -/* 0613A4 800607A4 4614A102 */ mul.s $f4, $f20, $f20 -/* 0613A8 800607A8 46064780 */ add.s $f30, $f8, $f6 -/* 0613AC 800607AC 461CE282 */ mul.s $f10, $f28, $f28 -/* 0613B0 800607B0 4600F686 */ mov.s $f26, $f30 -/* 0613B4 800607B4 461EF182 */ mul.s $f6, $f30, $f30 -/* 0613B8 800607B8 460A2200 */ add.s $f8, $f4, $f10 -/* 0613BC 800607BC 0C0326B4 */ jal sqrtf -/* 0613C0 800607C0 46064300 */ add.s $f12, $f8, $f6 -/* 0613C4 800607C4 44802800 */ mtc1 $zero, $f5 -/* 0613C8 800607C8 44802000 */ mtc1 $zero, $f4 -/* 0613CC 800607CC 460002A1 */ cvt.d.s $f10, $f0 -/* 0613D0 800607D0 462A203C */ c.lt.d $f4, $f10 -/* 0613D4 800607D4 C7A200CC */ lwc1 $f2, 0xcc($sp) -/* 0613D8 800607D8 45000006 */ bc1f .L800607F4 -/* 0613DC 800607DC 00000000 */ nop -/* 0613E0 800607E0 4600A503 */ div.s $f20, $f20, $f0 -/* 0613E4 800607E4 00000000 */ nop -/* 0613E8 800607E8 4600E603 */ div.s $f24, $f28, $f0 -/* 0613EC 800607EC 00000000 */ nop -/* 0613F0 800607F0 4600F683 */ div.s $f26, $f30, $f0 -.L800607F4: -/* 0613F4 800607F4 8E59000C */ lw $t9, 0xc($s2) -/* 0613F8 800607F8 001358C0 */ sll $t3, $s3, 3 -/* 0613FC 800607FC 032B6021 */ addu $t4, $t9, $t3 -/* 061400 80060800 01916821 */ addu $t5, $t4, $s1 -/* 061404 80060804 A5B40002 */ sh $s4, 2($t5) -/* 061408 80060808 8E580010 */ lw $t8, 0x10($s2) -/* 06140C 8006080C 00141100 */ sll $v0, $s4, 4 -/* 061410 80060810 03027021 */ addu $t6, $t8, $v0 -/* 061414 80060814 E5D40000 */ swc1 $f20, ($t6) -/* 061418 80060818 8E590010 */ lw $t9, 0x10($s2) -/* 06141C 8006081C 46141202 */ mul.s $f8, $f2, $f20 -/* 061420 80060820 03225821 */ addu $t3, $t9, $v0 -/* 061424 80060824 E5780004 */ swc1 $f24, 4($t3) -/* 061428 80060828 8E4C0010 */ lw $t4, 0x10($s2) -/* 06142C 8006082C 26310002 */ addiu $s1, $s1, 2 -/* 061430 80060830 01826821 */ addu $t5, $t4, $v0 -/* 061434 80060834 E5BA0008 */ swc1 $f26, 8($t5) -/* 061438 80060838 C7A600C8 */ lwc1 $f6, 0xc8($sp) -/* 06143C 8006083C 8E4F0010 */ lw $t7, 0x10($s2) -/* 061440 80060840 46183102 */ mul.s $f4, $f6, $f24 -/* 061444 80060844 C7A600C4 */ lwc1 $f6, 0xc4($sp) -/* 061448 80060848 01E2C021 */ addu $t8, $t7, $v0 -/* 06144C 8006084C 02002825 */ move $a1, $s0 -/* 061450 80060850 46044280 */ add.s $f10, $f8, $f4 -/* 061454 80060854 26940001 */ addiu $s4, $s4, 1 -/* 061458 80060858 461A3202 */ mul.s $f8, $f6, $f26 -/* 06145C 8006085C 46085100 */ add.s $f4, $f10, $f8 -/* 061460 80060860 46002187 */ neg.s $f6, $f4 -/* 061464 80060864 161EFF6B */ bne $s0, $fp, .L80060614 -/* 061468 80060868 E706000C */ swc1 $f6, 0xc($t8) -/* 06146C 8006086C 8FAE0074 */ lw $t6, 0x74($sp) -/* 061470 80060870 8FAB00F4 */ lw $t3, 0xf4($sp) -/* 061474 80060874 26D60001 */ addiu $s6, $s6, 1 -/* 061478 80060878 25D90008 */ addiu $t9, $t6, 8 -/* 06147C 8006087C AFB90074 */ sw $t9, 0x74($sp) -/* 061480 80060880 16CBFF53 */ bne $s6, $t3, .L800605D0 -/* 061484 80060884 26730001 */ addiu $s3, $s3, 1 -/* 061488 80060888 86440028 */ lh $a0, 0x28($s2) -/* 06148C 8006088C 00000000 */ nop -.L80060890: -/* 061490 80060890 8FAC00EC */ lw $t4, 0xec($sp) -/* 061494 80060894 8FAF007C */ lw $t7, 0x7c($sp) -/* 061498 80060898 258D0001 */ addiu $t5, $t4, 1 -/* 06149C 8006089C 01A4082A */ slt $at, $t5, $a0 -/* 0614A0 800608A0 25F8000C */ addiu $t8, $t7, 0xc -/* 0614A4 800608A4 AFB8007C */ sw $t8, 0x7c($sp) -/* 0614A8 800608A8 1420FF38 */ bnez $at, .L8006058C -/* 0614AC 800608AC AFAD00EC */ sw $t5, 0xec($sp) -.L800608B0: -/* 0614B0 800608B0 8FBF006C */ lw $ra, 0x6c($sp) -/* 0614B4 800608B4 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 0614B8 800608B8 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 0614BC 800608BC C7B70020 */ lwc1 $f23, 0x20($sp) -/* 0614C0 800608C0 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 0614C4 800608C4 C7B90028 */ lwc1 $f25, 0x28($sp) -/* 0614C8 800608C8 C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 0614CC 800608CC C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 0614D0 800608D0 C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 0614D4 800608D4 C7BD0038 */ lwc1 $f29, 0x38($sp) -/* 0614D8 800608D8 C7BC003C */ lwc1 $f28, 0x3c($sp) -/* 0614DC 800608DC C7BF0040 */ lwc1 $f31, 0x40($sp) -/* 0614E0 800608E0 C7BE0044 */ lwc1 $f30, 0x44($sp) -/* 0614E4 800608E4 8FB00048 */ lw $s0, 0x48($sp) -/* 0614E8 800608E8 8FB1004C */ lw $s1, 0x4c($sp) -/* 0614EC 800608EC 8FB20050 */ lw $s2, 0x50($sp) -/* 0614F0 800608F0 8FB30054 */ lw $s3, 0x54($sp) -/* 0614F4 800608F4 8FB40058 */ lw $s4, 0x58($sp) -/* 0614F8 800608F8 8FB5005C */ lw $s5, 0x5c($sp) -/* 0614FC 800608FC 8FB60060 */ lw $s6, 0x60($sp) -/* 061500 80060900 8FB70064 */ lw $s7, 0x64($sp) -/* 061504 80060904 8FBE0068 */ lw $fp, 0x68($sp) -/* 061508 80060908 03E00008 */ jr $ra -/* 06150C 8006090C 27BD0100 */ addiu $sp, $sp, 0x100 - diff --git a/asm/non_matchings/object_models/func_80060910.s b/asm/non_matchings/object_models/func_80060910.s deleted file mode 100644 index c12496bd..00000000 --- a/asm/non_matchings/object_models/func_80060910.s +++ /dev/null @@ -1,121 +0,0 @@ -glabel func_80060910 -/* 061510 80060910 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 061514 80060914 AFBF0044 */ sw $ra, 0x44($sp) -/* 061518 80060918 AFBE0040 */ sw $fp, 0x40($sp) -/* 06151C 8006091C AFB7003C */ sw $s7, 0x3c($sp) -/* 061520 80060920 AFB60038 */ sw $s6, 0x38($sp) -/* 061524 80060924 AFB50034 */ sw $s5, 0x34($sp) -/* 061528 80060928 AFB40030 */ sw $s4, 0x30($sp) -/* 06152C 8006092C AFB3002C */ sw $s3, 0x2c($sp) -/* 061530 80060930 AFB20028 */ sw $s2, 0x28($sp) -/* 061534 80060934 AFB10024 */ sw $s1, 0x24($sp) -/* 061538 80060938 AFB00020 */ sw $s0, 0x20($sp) -/* 06153C 8006093C AFA00088 */ sw $zero, 0x88($sp) -/* 061540 80060940 84850028 */ lh $a1, 0x28($a0) -/* 061544 80060944 00809025 */ move $s2, $a0 -/* 061548 80060948 18A00053 */ blez $a1, .L80060A98 -/* 06154C 8006094C 0000A025 */ move $s4, $zero -/* 061550 80060950 AFA00054 */ sw $zero, 0x54($sp) -/* 061554 80060954 241EFFFF */ li $fp, -1 -/* 061558 80060958 27B70060 */ addiu $s7, $sp, 0x60 -/* 06155C 8006095C 27B6005C */ addiu $s6, $sp, 0x5c -.L80060960: -/* 061560 80060960 8E4E0038 */ lw $t6, 0x38($s2) -/* 061564 80060964 8FAF0054 */ lw $t7, 0x54($sp) -/* 061568 80060968 001460C0 */ sll $t4, $s4, 3 -/* 06156C 8006096C 01CF1021 */ addu $v0, $t6, $t7 -/* 061570 80060970 84580010 */ lh $t8, 0x10($v0) -/* 061574 80060974 84430004 */ lh $v1, 4($v0) -/* 061578 80060978 84550002 */ lh $s5, 2($v0) -/* 06157C 8006097C AFB80078 */ sw $t8, 0x78($sp) -/* 061580 80060980 8C590008 */ lw $t9, 8($v0) -/* 061584 80060984 246AFFFF */ addiu $t2, $v1, -1 -/* 061588 80060988 33290200 */ andi $t1, $t9, 0x200 -/* 06158C 8006098C 11200003 */ beqz $t1, .L8006099C -/* 061590 80060990 8FAB0078 */ lw $t3, 0x78($sp) -/* 061594 80060994 AFAA0078 */ sw $t2, 0x78($sp) -/* 061598 80060998 8FAB0078 */ lw $t3, 0x78($sp) -.L8006099C: -/* 06159C 8006099C 00609825 */ move $s3, $v1 -/* 0615A0 800609A0 006B082A */ slt $at, $v1, $t3 -/* 0615A4 800609A4 10200035 */ beqz $at, .L80060A7C -/* 0615A8 800609A8 8FAF0088 */ lw $t7, 0x88($sp) -/* 0615AC 800609AC AFAC0058 */ sw $t4, 0x58($sp) -.L800609B0: -/* 0615B0 800609B0 8E4D000C */ lw $t5, 0xc($s2) -/* 0615B4 800609B4 8FAE0058 */ lw $t6, 0x58($sp) -/* 0615B8 800609B8 00001825 */ move $v1, $zero -/* 0615BC 800609BC 01AE7821 */ addu $t7, $t5, $t6 -/* 0615C0 800609C0 A5F40000 */ sh $s4, ($t7) -/* 0615C4 800609C4 00008025 */ move $s0, $zero -.L800609C8: -/* 0615C8 800609C8 24710001 */ addiu $s1, $v1, 1 -/* 0615CC 800609CC 2A210003 */ slti $at, $s1, 3 -/* 0615D0 800609D0 14200002 */ bnez $at, .L800609DC -/* 0615D4 800609D4 02204025 */ move $t0, $s1 -/* 0615D8 800609D8 00004025 */ move $t0, $zero -.L800609DC: -/* 0615DC 800609DC 8E580008 */ lw $t8, 8($s2) -/* 0615E0 800609E0 0013C900 */ sll $t9, $s3, 4 -/* 0615E4 800609E4 03191021 */ addu $v0, $t8, $t9 -/* 0615E8 800609E8 00434821 */ addu $t1, $v0, $v1 -/* 0615EC 800609EC 00485821 */ addu $t3, $v0, $t0 -/* 0615F0 800609F0 912A0001 */ lbu $t2, 1($t1) -/* 0615F4 800609F4 916C0001 */ lbu $t4, 1($t3) -/* 0615F8 800609F8 AFB70014 */ sw $s7, 0x14($sp) -/* 0615FC 800609FC AFB60010 */ sw $s6, 0x10($sp) -/* 061600 80060A00 02402025 */ move $a0, $s2 -/* 061604 80060A04 02602825 */ move $a1, $s3 -/* 061608 80060A08 01553021 */ addu $a2, $t2, $s5 -/* 06160C 80060A0C 0C0182B2 */ jal func_80060AC8 -/* 061610 80060A10 01953821 */ addu $a3, $t4, $s5 -/* 061614 80060A14 105E0007 */ beq $v0, $fp, .L80060A34 -/* 061618 80060A18 02201825 */ move $v1, $s1 -/* 06161C 80060A1C 8E4D000C */ lw $t5, 0xc($s2) -/* 061620 80060A20 001470C0 */ sll $t6, $s4, 3 -/* 061624 80060A24 01AE7821 */ addu $t7, $t5, $t6 -/* 061628 80060A28 01F0C021 */ addu $t8, $t7, $s0 -/* 06162C 80060A2C 10000006 */ b .L80060A48 -/* 061630 80060A30 A7020002 */ sh $v0, 2($t8) -.L80060A34: -/* 061634 80060A34 8E59000C */ lw $t9, 0xc($s2) -/* 061638 80060A38 001448C0 */ sll $t1, $s4, 3 -/* 06163C 80060A3C 03295021 */ addu $t2, $t9, $t1 -/* 061640 80060A40 01505821 */ addu $t3, $t2, $s0 -/* 061644 80060A44 A5740002 */ sh $s4, 2($t3) -.L80060A48: -/* 061648 80060A48 24010003 */ li $at, 3 -/* 06164C 80060A4C 1621FFDE */ bne $s1, $at, .L800609C8 -/* 061650 80060A50 26100002 */ addiu $s0, $s0, 2 -/* 061654 80060A54 8FAC0058 */ lw $t4, 0x58($sp) -/* 061658 80060A58 8FAE0078 */ lw $t6, 0x78($sp) -/* 06165C 80060A5C 26730001 */ addiu $s3, $s3, 1 -/* 061660 80060A60 258D0008 */ addiu $t5, $t4, 8 -/* 061664 80060A64 AFAD0058 */ sw $t5, 0x58($sp) -/* 061668 80060A68 166EFFD1 */ bne $s3, $t6, .L800609B0 -/* 06166C 80060A6C 26940001 */ addiu $s4, $s4, 1 -/* 061670 80060A70 86450028 */ lh $a1, 0x28($s2) -/* 061674 80060A74 00000000 */ nop -/* 061678 80060A78 8FAF0088 */ lw $t7, 0x88($sp) -.L80060A7C: -/* 06167C 80060A7C 8FB90054 */ lw $t9, 0x54($sp) -/* 061680 80060A80 25F80001 */ addiu $t8, $t7, 1 -/* 061684 80060A84 0305082A */ slt $at, $t8, $a1 -/* 061688 80060A88 2729000C */ addiu $t1, $t9, 0xc -/* 06168C 80060A8C AFA90054 */ sw $t1, 0x54($sp) -/* 061690 80060A90 1420FFB3 */ bnez $at, .L80060960 -/* 061694 80060A94 AFB80088 */ sw $t8, 0x88($sp) -.L80060A98: -/* 061698 80060A98 8FBF0044 */ lw $ra, 0x44($sp) -/* 06169C 80060A9C 8FB00020 */ lw $s0, 0x20($sp) -/* 0616A0 80060AA0 8FB10024 */ lw $s1, 0x24($sp) -/* 0616A4 80060AA4 8FB20028 */ lw $s2, 0x28($sp) -/* 0616A8 80060AA8 8FB3002C */ lw $s3, 0x2c($sp) -/* 0616AC 80060AAC 8FB40030 */ lw $s4, 0x30($sp) -/* 0616B0 80060AB0 8FB50034 */ lw $s5, 0x34($sp) -/* 0616B4 80060AB4 8FB60038 */ lw $s6, 0x38($sp) -/* 0616B8 80060AB8 8FB7003C */ lw $s7, 0x3c($sp) -/* 0616BC 80060ABC 8FBE0040 */ lw $fp, 0x40($sp) -/* 0616C0 80060AC0 03E00008 */ jr $ra -/* 0616C4 80060AC4 27BD0090 */ addiu $sp, $sp, 0x90 - diff --git a/asm/non_matchings/object_models/func_80060AC8.s b/asm/non_matchings/object_models/func_80060AC8.s deleted file mode 100644 index b4f309f6..00000000 --- a/asm/non_matchings/object_models/func_80060AC8.s +++ /dev/null @@ -1,112 +0,0 @@ -glabel func_80060AC8 -/* 0616C8 80060AC8 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0616CC 80060ACC AFBF0044 */ sw $ra, 0x44($sp) -/* 0616D0 80060AD0 AFBE0040 */ sw $fp, 0x40($sp) -/* 0616D4 80060AD4 AFB7003C */ sw $s7, 0x3c($sp) -/* 0616D8 80060AD8 AFB60038 */ sw $s6, 0x38($sp) -/* 0616DC 80060ADC AFB50034 */ sw $s5, 0x34($sp) -/* 0616E0 80060AE0 AFB40030 */ sw $s4, 0x30($sp) -/* 0616E4 80060AE4 AFB3002C */ sw $s3, 0x2c($sp) -/* 0616E8 80060AE8 AFB20028 */ sw $s2, 0x28($sp) -/* 0616EC 80060AEC AFB10024 */ sw $s1, 0x24($sp) -/* 0616F0 80060AF0 AFB00020 */ sw $s0, 0x20($sp) -/* 0616F4 80060AF4 AFA5007C */ sw $a1, 0x7c($sp) -/* 0616F8 80060AF8 AFA00074 */ sw $zero, 0x74($sp) -/* 0616FC 80060AFC 84880028 */ lh $t0, 0x28($a0) -/* 061700 80060B00 00809825 */ move $s3, $a0 -/* 061704 80060B04 00C0A825 */ move $s5, $a2 -/* 061708 80060B08 00E0B025 */ move $s6, $a3 -/* 06170C 80060B0C 19000045 */ blez $t0, .L80060C24 -/* 061710 80060B10 0000F025 */ move $fp, $zero -/* 061714 80060B14 AFA00048 */ sw $zero, 0x48($sp) -/* 061718 80060B18 24170003 */ li $s7, 3 -.L80060B1C: -/* 06171C 80060B1C 8E6E0038 */ lw $t6, 0x38($s3) -/* 061720 80060B20 8FAF0048 */ lw $t7, 0x48($sp) -/* 061724 80060B24 00000000 */ nop -/* 061728 80060B28 01CF1021 */ addu $v0, $t6, $t7 -/* 06172C 80060B2C 84580010 */ lh $t8, 0x10($v0) -/* 061730 80060B30 84430004 */ lh $v1, 4($v0) -/* 061734 80060B34 84520002 */ lh $s2, 2($v0) -/* 061738 80060B38 AFB80070 */ sw $t8, 0x70($sp) -/* 06173C 80060B3C 8C590008 */ lw $t9, 8($v0) -/* 061740 80060B40 246AFFFF */ addiu $t2, $v1, -1 -/* 061744 80060B44 33290200 */ andi $t1, $t9, 0x200 -/* 061748 80060B48 11200003 */ beqz $t1, .L80060B58 -/* 06174C 80060B4C 8FAB0070 */ lw $t3, 0x70($sp) -/* 061750 80060B50 AFAA0070 */ sw $t2, 0x70($sp) -/* 061754 80060B54 8FAB0070 */ lw $t3, 0x70($sp) -.L80060B58: -/* 061758 80060B58 0060A025 */ move $s4, $v1 -/* 06175C 80060B5C 006B082A */ slt $at, $v1, $t3 -/* 061760 80060B60 10200029 */ beqz $at, .L80060C08 -/* 061764 80060B64 8FAE0074 */ lw $t6, 0x74($sp) -.L80060B68: -/* 061768 80060B68 8FAC007C */ lw $t4, 0x7c($sp) -/* 06176C 80060B6C 00008825 */ move $s1, $zero -/* 061770 80060B70 128C001E */ beq $s4, $t4, .L80060BEC -.L80060B74: -/* 061774 80060B74 26300001 */ addiu $s0, $s1, 1 -/* 061778 80060B78 2A010003 */ slti $at, $s0, 3 -/* 06177C 80060B7C 14200002 */ bnez $at, .L80060B88 -/* 061780 80060B80 02004025 */ move $t0, $s0 -/* 061784 80060B84 00004025 */ move $t0, $zero -.L80060B88: -/* 061788 80060B88 8E6D0008 */ lw $t5, 8($s3) -/* 06178C 80060B8C 00147100 */ sll $t6, $s4, 4 -/* 061790 80060B90 01AE1021 */ addu $v0, $t5, $t6 -/* 061794 80060B94 0048C821 */ addu $t9, $v0, $t0 -/* 061798 80060B98 93290001 */ lbu $t1, 1($t9) -/* 06179C 80060B9C 00517821 */ addu $t7, $v0, $s1 -/* 0617A0 80060BA0 91F80001 */ lbu $t8, 1($t7) -/* 0617A4 80060BA4 8E640004 */ lw $a0, 4($s3) -/* 0617A8 80060BA8 01321821 */ addu $v1, $t1, $s2 -/* 0617AC 80060BAC AFA30010 */ sw $v1, 0x10($sp) -/* 0617B0 80060BB0 02A02825 */ move $a1, $s5 -/* 0617B4 80060BB4 02C03025 */ move $a2, $s6 -/* 0617B8 80060BB8 0C018316 */ jal func_80060C58 -/* 0617BC 80060BBC 03123821 */ addu $a3, $t8, $s2 -/* 0617C0 80060BC0 10400008 */ beqz $v0, .L80060BE4 -/* 0617C4 80060BC4 00000000 */ nop -/* 0617C8 80060BC8 8FAA008C */ lw $t2, 0x8c($sp) -/* 0617CC 80060BCC 03C01025 */ move $v0, $fp -/* 0617D0 80060BD0 AD510000 */ sw $s1, ($t2) -/* 0617D4 80060BD4 8FAC0088 */ lw $t4, 0x88($sp) -/* 0617D8 80060BD8 8FAB0074 */ lw $t3, 0x74($sp) -/* 0617DC 80060BDC 10000012 */ b .L80060C28 -/* 0617E0 80060BE0 AD8B0000 */ sw $t3, ($t4) -.L80060BE4: -/* 0617E4 80060BE4 1617FFE3 */ bne $s0, $s7, .L80060B74 -/* 0617E8 80060BE8 02008825 */ move $s1, $s0 -.L80060BEC: -/* 0617EC 80060BEC 8FAD0070 */ lw $t5, 0x70($sp) -/* 0617F0 80060BF0 26940001 */ addiu $s4, $s4, 1 -/* 0617F4 80060BF4 168DFFDC */ bne $s4, $t5, .L80060B68 -/* 0617F8 80060BF8 27DE0001 */ addiu $fp, $fp, 1 -/* 0617FC 80060BFC 86680028 */ lh $t0, 0x28($s3) -/* 061800 80060C00 00000000 */ nop -/* 061804 80060C04 8FAE0074 */ lw $t6, 0x74($sp) -.L80060C08: -/* 061808 80060C08 8FB80048 */ lw $t8, 0x48($sp) -/* 06180C 80060C0C 25CF0001 */ addiu $t7, $t6, 1 -/* 061810 80060C10 01E8082A */ slt $at, $t7, $t0 -/* 061814 80060C14 2719000C */ addiu $t9, $t8, 0xc -/* 061818 80060C18 AFB90048 */ sw $t9, 0x48($sp) -/* 06181C 80060C1C 1420FFBF */ bnez $at, .L80060B1C -/* 061820 80060C20 AFAF0074 */ sw $t7, 0x74($sp) -.L80060C24: -/* 061824 80060C24 2402FFFF */ li $v0, -1 -.L80060C28: -/* 061828 80060C28 8FBF0044 */ lw $ra, 0x44($sp) -/* 06182C 80060C2C 8FB00020 */ lw $s0, 0x20($sp) -/* 061830 80060C30 8FB10024 */ lw $s1, 0x24($sp) -/* 061834 80060C34 8FB20028 */ lw $s2, 0x28($sp) -/* 061838 80060C38 8FB3002C */ lw $s3, 0x2c($sp) -/* 06183C 80060C3C 8FB40030 */ lw $s4, 0x30($sp) -/* 061840 80060C40 8FB50034 */ lw $s5, 0x34($sp) -/* 061844 80060C44 8FB60038 */ lw $s6, 0x38($sp) -/* 061848 80060C48 8FB7003C */ lw $s7, 0x3c($sp) -/* 06184C 80060C4C 8FBE0040 */ lw $fp, 0x40($sp) -/* 061850 80060C50 03E00008 */ jr $ra -/* 061854 80060C54 27BD0078 */ addiu $sp, $sp, 0x78 - diff --git a/asm/non_matchings/object_models/func_80060EA8.s b/asm/non_matchings/object_models/func_80060EA8.s deleted file mode 100644 index 57f636bf..00000000 --- a/asm/non_matchings/object_models/func_80060EA8.s +++ /dev/null @@ -1,784 +0,0 @@ -glabel func_80060EA8 -/* 061AA8 80060EA8 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 061AAC 80060EAC AFBF0044 */ sw $ra, 0x44($sp) -/* 061AB0 80060EB0 AFBE0040 */ sw $fp, 0x40($sp) -/* 061AB4 80060EB4 AFB7003C */ sw $s7, 0x3c($sp) -/* 061AB8 80060EB8 AFB60038 */ sw $s6, 0x38($sp) -/* 061ABC 80060EBC AFB50034 */ sw $s5, 0x34($sp) -/* 061AC0 80060EC0 AFB40030 */ sw $s4, 0x30($sp) -/* 061AC4 80060EC4 AFB3002C */ sw $s3, 0x2c($sp) -/* 061AC8 80060EC8 AFB20028 */ sw $s2, 0x28($sp) -/* 061ACC 80060ECC AFB10024 */ sw $s1, 0x24($sp) -/* 061AD0 80060ED0 AFB00020 */ sw $s0, 0x20($sp) -/* 061AD4 80060ED4 E7B50018 */ swc1 $f21, 0x18($sp) -/* 061AD8 80060ED8 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 061ADC 80060EDC AFA400B8 */ sw $a0, 0xb8($sp) -/* 061AE0 80060EE0 84830028 */ lh $v1, 0x28($a0) -/* 061AE4 80060EE4 8C9F0038 */ lw $ra, 0x38($a0) -/* 061AE8 80060EE8 AC800040 */ sw $zero, 0x40($a0) -/* 061AEC 80060EEC 00003825 */ move $a3, $zero -/* 061AF0 80060EF0 1860001B */ blez $v1, .L80060F60 -/* 061AF4 80060EF4 00008825 */ move $s1, $zero -/* 061AF8 80060EF8 240D000C */ li $t5, 12 -.L80060EFC: -/* 061AFC 80060EFC 022D0019 */ multu $s1, $t5 -/* 061B00 80060F00 240100FF */ li $at, 255 -/* 061B04 80060F04 26310001 */ addiu $s1, $s1, 1 -/* 061B08 80060F08 00007812 */ mflo $t7 -/* 061B0C 80060F0C 03EF1021 */ addu $v0, $ra, $t7 -/* 061B10 80060F10 90580006 */ lbu $t8, 6($v0) -/* 061B14 80060F14 00000000 */ nop -/* 061B18 80060F18 17010006 */ bne $t8, $at, .L80060F34 -/* 061B1C 80060F1C 00000000 */ nop -/* 061B20 80060F20 8C590008 */ lw $t9, 8($v0) -/* 061B24 80060F24 00000000 */ nop -/* 061B28 80060F28 332E8000 */ andi $t6, $t9, 0x8000 -/* 061B2C 80060F2C 11C00008 */ beqz $t6, .L80060F50 -/* 061B30 80060F30 0011C400 */ sll $t8, $s1, 0x10 -.L80060F34: -/* 061B34 80060F34 844F000E */ lh $t7, 0xe($v0) -/* 061B38 80060F38 84590002 */ lh $t9, 2($v0) -/* 061B3C 80060F3C 00EFC021 */ addu $t8, $a3, $t7 -/* 061B40 80060F40 03193823 */ subu $a3, $t8, $t9 -/* 061B44 80060F44 00077400 */ sll $t6, $a3, 0x10 -/* 061B48 80060F48 000E3C03 */ sra $a3, $t6, 0x10 -/* 061B4C 80060F4C 0011C400 */ sll $t8, $s1, 0x10 -.L80060F50: -/* 061B50 80060F50 00188C03 */ sra $s1, $t8, 0x10 -/* 061B54 80060F54 0223082A */ slt $at, $s1, $v1 -/* 061B58 80060F58 1420FFE8 */ bnez $at, .L80060EFC -/* 061B5C 80060F5C 00000000 */ nop -.L80060F60: -/* 061B60 80060F60 18E00295 */ blez $a3, .L800619B8 -/* 061B64 80060F64 3C05FF7F */ lui $a1, (0xFF7F7FFF >> 16) # lui $a1, 0xff7f -/* 061B68 80060F68 8FAE00B8 */ lw $t6, 0xb8($sp) -/* 061B6C 80060F6C 34A57FFF */ ori $a1, (0xFF7F7FFF & 0xFFFF) # ori $a1, $a1, 0x7fff -/* 061B70 80060F70 8DCF0008 */ lw $t7, 8($t6) -/* 061B74 80060F74 8DD30004 */ lw $s3, 4($t6) -/* 061B78 80060F78 AFAF00B0 */ sw $t7, 0xb0($sp) -/* 061B7C 80060F7C 85C40026 */ lh $a0, 0x26($t6) -/* 061B80 80060F80 AFBF00A4 */ sw $ra, 0xa4($sp) -/* 061B84 80060F84 0004C080 */ sll $t8, $a0, 2 -/* 061B88 80060F88 0304C023 */ subu $t8, $t8, $a0 -/* 061B8C 80060F8C 00182080 */ sll $a0, $t8, 2 -/* 061B90 80060F90 0C01C344 */ jal mempool_alloc -/* 061B94 80060F94 A7A70098 */ sh $a3, 0x98($sp) -/* 061B98 80060F98 87A70098 */ lh $a3, 0x98($sp) -/* 061B9C 80060F9C 8FBF00A4 */ lw $ra, 0xa4($sp) -/* 061BA0 80060FA0 14400003 */ bnez $v0, .L80060FB0 -/* 061BA4 80060FA4 AFA200AC */ sw $v0, 0xac($sp) -/* 061BA8 80060FA8 10000284 */ b .L800619BC -/* 061BAC 80060FAC 24020001 */ li $v0, 1 -.L80060FB0: -/* 061BB0 80060FB0 00072080 */ sll $a0, $a3, 2 -/* 061BB4 80060FB4 00872023 */ subu $a0, $a0, $a3 -/* 061BB8 80060FB8 3C05FF7F */ lui $a1, (0xFF7F7FFF >> 16) # lui $a1, 0xff7f -/* 061BBC 80060FBC AFBF00A4 */ sw $ra, 0xa4($sp) -/* 061BC0 80060FC0 34A57FFF */ ori $a1, (0xFF7F7FFF & 0xFFFF) # ori $a1, $a1, 0x7fff -/* 061BC4 80060FC4 0C01C344 */ jal mempool_alloc -/* 061BC8 80060FC8 00042040 */ sll $a0, $a0, 1 -/* 061BCC 80060FCC 8FBF00A4 */ lw $ra, 0xa4($sp) -/* 061BD0 80060FD0 240D000C */ li $t5, 12 -/* 061BD4 80060FD4 14400006 */ bnez $v0, .L80060FF0 -/* 061BD8 80060FD8 AFA200A0 */ sw $v0, 0xa0($sp) -/* 061BDC 80060FDC 8FA400AC */ lw $a0, 0xac($sp) -/* 061BE0 80060FE0 0C01C450 */ jal mempool_free -/* 061BE4 80060FE4 00000000 */ nop -/* 061BE8 80060FE8 10000274 */ b .L800619BC -/* 061BEC 80060FEC 24020001 */ li $v0, 1 -.L80060FF0: -/* 061BF0 80060FF0 8FB900B8 */ lw $t9, 0xb8($sp) -/* 061BF4 80060FF4 00008825 */ move $s1, $zero -/* 061BF8 80060FF8 87230028 */ lh $v1, 0x28($t9) -/* 061BFC 80060FFC 27B70064 */ addiu $s7, $sp, 0x64 -/* 061C00 80061000 1860008B */ blez $v1, .L80061230 -/* 061C04 80061004 27B60070 */ addiu $s6, $sp, 0x70 -/* 061C08 80061008 4480A000 */ mtc1 $zero, $f20 -/* 061C0C 8006100C 27BE0058 */ addiu $fp, $sp, 0x58 -/* 061C10 80061010 2412000A */ li $s2, 10 -.L80061014: -/* 061C14 80061014 022D0019 */ multu $s1, $t5 -/* 061C18 80061018 00007812 */ mflo $t7 -/* 061C1C 8006101C 03EF1021 */ addu $v0, $ra, $t7 -/* 061C20 80061020 84550004 */ lh $s5, 4($v0) -/* 061C24 80061024 844E0010 */ lh $t6, 0x10($v0) -/* 061C28 80061028 84540002 */ lh $s4, 2($v0) -/* 061C2C 8006102C 02AE082A */ slt $at, $s5, $t6 -/* 061C30 80061030 10200079 */ beqz $at, .L80061218 -/* 061C34 80061034 00000000 */ nop -/* 061C38 80061038 AFA20050 */ sw $v0, 0x50($sp) -/* 061C3C 8006103C 8FB800B0 */ lw $t8, 0xb0($sp) -.L80061040: -/* 061C40 80061040 0015C900 */ sll $t9, $s5, 4 -/* 061C44 80061044 00003825 */ move $a3, $zero -/* 061C48 80061048 03192021 */ addu $a0, $t8, $t9 -.L8006104C: -/* 061C4C 8006104C 00877821 */ addu $t7, $a0, $a3 -/* 061C50 80061050 91EE0001 */ lbu $t6, 1($t7) -/* 061C54 80061054 00071080 */ sll $v0, $a3, 2 -/* 061C58 80061058 01D43021 */ addu $a2, $t6, $s4 -/* 061C5C 8006105C 0006C400 */ sll $t8, $a2, 0x10 -/* 061C60 80061060 0018CC03 */ sra $t9, $t8, 0x10 -/* 061C64 80061064 03320019 */ multu $t9, $s2 -/* 061C68 80061068 02C2C021 */ addu $t8, $s6, $v0 -/* 061C6C 8006106C 24E70001 */ addiu $a3, $a3, 1 -/* 061C70 80061070 00007812 */ mflo $t7 -/* 061C74 80061074 026F1821 */ addu $v1, $s3, $t7 -/* 061C78 80061078 846E0000 */ lh $t6, ($v1) -/* 061C7C 8006107C 02E27821 */ addu $t7, $s7, $v0 -/* 061C80 80061080 448E2000 */ mtc1 $t6, $f4 -/* 061C84 80061084 00000000 */ nop -/* 061C88 80061088 468021A0 */ cvt.s.w $f6, $f4 -/* 061C8C 8006108C E7060000 */ swc1 $f6, ($t8) -/* 061C90 80061090 84790002 */ lh $t9, 2($v1) -/* 061C94 80061094 03C2C021 */ addu $t8, $fp, $v0 -/* 061C98 80061098 44994000 */ mtc1 $t9, $f8 -/* 061C9C 8006109C 0007CC00 */ sll $t9, $a3, 0x10 -/* 061CA0 800610A0 468042A0 */ cvt.s.w $f10, $f8 -/* 061CA4 800610A4 00193C03 */ sra $a3, $t9, 0x10 -/* 061CA8 800610A8 28E10003 */ slti $at, $a3, 3 -/* 061CAC 800610AC E5EA0000 */ swc1 $f10, ($t7) -/* 061CB0 800610B0 846E0004 */ lh $t6, 4($v1) -/* 061CB4 800610B4 00000000 */ nop -/* 061CB8 800610B8 448E8000 */ mtc1 $t6, $f16 -/* 061CBC 800610BC 00000000 */ nop -/* 061CC0 800610C0 468084A0 */ cvt.s.w $f18, $f16 -/* 061CC4 800610C4 1420FFE1 */ bnez $at, .L8006104C -/* 061CC8 800610C8 E7120000 */ swc1 $f18, ($t8) -/* 061CCC 800610CC C7A40058 */ lwc1 $f4, 0x58($sp) -/* 061CD0 800610D0 C7A60060 */ lwc1 $f6, 0x60($sp) -/* 061CD4 800610D4 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 061CD8 800610D8 C7B00068 */ lwc1 $f16, 0x68($sp) -/* 061CDC 800610DC 02AD0019 */ multu $s5, $t5 -/* 061CE0 800610E0 46062201 */ sub.s $f8, $f4, $f6 -/* 061CE4 800610E4 8FAE00AC */ lw $t6, 0xac($sp) -/* 061CE8 800610E8 46105481 */ sub.s $f18, $f10, $f16 -/* 061CEC 800610EC C7B0005C */ lwc1 $f16, 0x5c($sp) -/* 061CF0 800610F0 46124182 */ mul.s $f6, $f8, $f18 -/* 061CF4 800610F4 C7B2006C */ lwc1 $f18, 0x6c($sp) -/* 061CF8 800610F8 46102201 */ sub.s $f8, $f4, $f16 -/* 061CFC 800610FC 46125101 */ sub.s $f4, $f10, $f18 -/* 061D00 80061100 0000C012 */ mflo $t8 -/* 061D04 80061104 46044402 */ mul.s $f16, $f8, $f4 -/* 061D08 80061108 01D88021 */ addu $s0, $t6, $t8 -/* 061D0C 8006110C 46103281 */ sub.s $f10, $f6, $f16 -/* 061D10 80061110 E60A0000 */ swc1 $f10, ($s0) -/* 061D14 80061114 C7B00078 */ lwc1 $f16, 0x78($sp) -/* 061D18 80061118 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 061D1C 8006111C C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 061D20 80061120 C7B20058 */ lwc1 $f18, 0x58($sp) -/* 061D24 80061124 46103281 */ sub.s $f10, $f6, $f16 -/* 061D28 80061128 C7B00060 */ lwc1 $f16, 0x60($sp) -/* 061D2C 8006112C 46089101 */ sub.s $f4, $f18, $f8 -/* 061D30 80061130 C6020000 */ lwc1 $f2, ($s0) -/* 061D34 80061134 460A2202 */ mul.s $f8, $f4, $f10 -/* 061D38 80061138 C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 061D3C 8006113C 46109101 */ sub.s $f4, $f18, $f16 -/* 061D40 80061140 460A3481 */ sub.s $f18, $f6, $f10 -/* 061D44 80061144 46122402 */ mul.s $f16, $f4, $f18 -/* 061D48 80061148 46104181 */ sub.s $f6, $f8, $f16 -/* 061D4C 8006114C E6060004 */ swc1 $f6, 4($s0) -/* 061D50 80061150 C7B0006C */ lwc1 $f16, 0x6c($sp) -/* 061D54 80061154 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 061D58 80061158 C7A40074 */ lwc1 $f4, 0x74($sp) -/* 061D5C 8006115C C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 061D60 80061160 46104181 */ sub.s $f6, $f8, $f16 -/* 061D64 80061164 C7B00068 */ lwc1 $f16, 0x68($sp) -/* 061D68 80061168 46045481 */ sub.s $f18, $f10, $f4 -/* 061D6C 8006116C C60E0004 */ lwc1 $f14, 4($s0) -/* 061D70 80061170 46069102 */ mul.s $f4, $f18, $f6 -/* 061D74 80061174 C7A60078 */ lwc1 $f6, 0x78($sp) -/* 061D78 80061178 46104481 */ sub.s $f18, $f8, $f16 -/* 061D7C 8006117C 46065201 */ sub.s $f8, $f10, $f6 -/* 061D80 80061180 46089402 */ mul.s $f16, $f18, $f8 -/* 061D84 80061184 46102281 */ sub.s $f10, $f4, $f16 -/* 061D88 80061188 46021182 */ mul.s $f6, $f2, $f2 -/* 061D8C 8006118C E60A0008 */ swc1 $f10, 8($s0) -/* 061D90 80061190 C6000008 */ lwc1 $f0, 8($s0) -/* 061D94 80061194 AFBF00A4 */ sw $ra, 0xa4($sp) -/* 061D98 80061198 460E7482 */ mul.s $f18, $f14, $f14 -/* 061D9C 8006119C 00000000 */ nop -/* 061DA0 800611A0 46000102 */ mul.s $f4, $f0, $f0 -/* 061DA4 800611A4 46123200 */ add.s $f8, $f6, $f18 -/* 061DA8 800611A8 0C0326B4 */ jal sqrtf -/* 061DAC 800611AC 46082300 */ add.s $f12, $f4, $f8 -/* 061DB0 800611B0 46140032 */ c.eq.s $f0, $f20 -/* 061DB4 800611B4 8FBF00A4 */ lw $ra, 0xa4($sp) -/* 061DB8 800611B8 4501000B */ bc1t .L800611E8 -/* 061DBC 800611BC 240D000C */ li $t5, 12 -/* 061DC0 800611C0 C6100000 */ lwc1 $f16, ($s0) -/* 061DC4 800611C4 C6060004 */ lwc1 $f6, 4($s0) -/* 061DC8 800611C8 C6040008 */ lwc1 $f4, 8($s0) -/* 061DCC 800611CC 46008283 */ div.s $f10, $f16, $f0 -/* 061DD0 800611D0 00000000 */ nop -/* 061DD4 800611D4 46003483 */ div.s $f18, $f6, $f0 -/* 061DD8 800611D8 E60A0000 */ swc1 $f10, ($s0) -/* 061DDC 800611DC 46002203 */ div.s $f8, $f4, $f0 -/* 061DE0 800611E0 E6120004 */ swc1 $f18, 4($s0) -/* 061DE4 800611E4 E6080008 */ swc1 $f8, 8($s0) -.L800611E8: -/* 061DE8 800611E8 8FAE0050 */ lw $t6, 0x50($sp) -/* 061DEC 800611EC 26B50001 */ addiu $s5, $s5, 1 -/* 061DF0 800611F0 85D80010 */ lh $t8, 0x10($t6) -/* 061DF4 800611F4 0015CC00 */ sll $t9, $s5, 0x10 -/* 061DF8 800611F8 0019AC03 */ sra $s5, $t9, 0x10 -/* 061DFC 800611FC 02B8082A */ slt $at, $s5, $t8 -/* 061E00 80061200 1420FF8F */ bnez $at, .L80061040 -/* 061E04 80061204 8FB800B0 */ lw $t8, 0xb0($sp) -/* 061E08 80061208 8FB900B8 */ lw $t9, 0xb8($sp) -/* 061E0C 8006120C 00000000 */ nop -/* 061E10 80061210 87230028 */ lh $v1, 0x28($t9) -/* 061E14 80061214 00000000 */ nop -.L80061218: -/* 061E18 80061218 26310001 */ addiu $s1, $s1, 1 -/* 061E1C 8006121C 00117C00 */ sll $t7, $s1, 0x10 -/* 061E20 80061220 000F8C03 */ sra $s1, $t7, 0x10 -/* 061E24 80061224 0223082A */ slt $at, $s1, $v1 -/* 061E28 80061228 1420FF7A */ bnez $at, .L80061014 -/* 061E2C 8006122C 00000000 */ nop -.L80061230: -/* 061E30 80061230 8FB800B8 */ lw $t8, 0xb8($sp) -/* 061E34 80061234 4480A000 */ mtc1 $zero, $f20 -/* 061E38 80061238 87040024 */ lh $a0, 0x24($t8) -/* 061E3C 8006123C AFBF00A4 */ sw $ra, 0xa4($sp) -/* 061E40 80061240 3C05FF7F */ lui $a1, %hi(0xFF7F0001) # $a1, 0xff7f -/* 061E44 80061244 0004C840 */ sll $t9, $a0, 1 -/* 061E48 80061248 2412000A */ li $s2, 10 -/* 061E4C 8006124C 03202025 */ move $a0, $t9 -/* 061E50 80061250 0C01C344 */ jal mempool_alloc -/* 061E54 80061254 34A57FFF */ ori $a1, (0xFF7F7FFF & 0xFFFF) # ori $a1, $a1, 0x7fff -/* 061E58 80061258 8FBF00A4 */ lw $ra, 0xa4($sp) -/* 061E5C 8006125C 240D000C */ li $t5, 12 -/* 061E60 80061260 14400009 */ bnez $v0, .L80061288 -/* 061E64 80061264 0040B825 */ move $s7, $v0 -/* 061E68 80061268 8FA400AC */ lw $a0, 0xac($sp) -/* 061E6C 8006126C 0C01C450 */ jal mempool_free -/* 061E70 80061270 00000000 */ nop -/* 061E74 80061274 8FA400A0 */ lw $a0, 0xa0($sp) -/* 061E78 80061278 0C01C450 */ jal mempool_free -/* 061E7C 8006127C 00000000 */ nop -/* 061E80 80061280 100001CE */ b .L800619BC -/* 061E84 80061284 24020001 */ li $v0, 1 -.L80061288: -/* 061E88 80061288 8FAF00B8 */ lw $t7, 0xb8($sp) -/* 061E8C 8006128C 0000B025 */ move $s6, $zero -/* 061E90 80061290 85E30028 */ lh $v1, 0x28($t7) -/* 061E94 80061294 00008825 */ move $s1, $zero -/* 061E98 80061298 186000E6 */ blez $v1, .L80061634 -/* 061E9C 8006129C 2414FFFF */ li $s4, -1 -/* 061EA0 800612A0 241000FE */ li $s0, 254 -.L800612A4: -/* 061EA4 800612A4 022D0019 */ multu $s1, $t5 -/* 061EA8 800612A8 00007012 */ mflo $t6 -/* 061EAC 800612AC 03EEC021 */ addu $t8, $ra, $t6 -/* 061EB0 800612B0 AFB80050 */ sw $t8, 0x50($sp) -/* 061EB4 800612B4 870F000E */ lh $t7, 0xe($t8) -/* 061EB8 800612B8 870B0002 */ lh $t3, 2($t8) -/* 061EBC 800612BC 00000000 */ nop -/* 061EC0 800612C0 016F082A */ slt $at, $t3, $t7 -/* 061EC4 800612C4 102000D5 */ beqz $at, .L8006161C -/* 061EC8 800612C8 00000000 */ nop -/* 061ECC 800612CC 8FAE0050 */ lw $t6, 0x50($sp) -.L800612D0: -/* 061ED0 800612D0 00000000 */ nop -/* 061ED4 800612D4 91CC0006 */ lbu $t4, 6($t6) -/* 061ED8 800612D8 00000000 */ nop -/* 061EDC 800612DC 298100FE */ slti $at, $t4, 0xfe -/* 061EE0 800612E0 10200058 */ beqz $at, .L80061444 -/* 061EE4 800612E4 00000000 */ nop -/* 061EE8 800612E8 01720019 */ multu $t3, $s2 -/* 061EEC 800612EC 00143400 */ sll $a2, $s4, 0x10 -/* 061EF0 800612F0 0006C403 */ sra $t8, $a2, 0x10 -/* 061EF4 800612F4 03003025 */ move $a2, $t8 -/* 061EF8 800612F8 00002825 */ move $a1, $zero -/* 061EFC 800612FC 0000C812 */ mflo $t9 -/* 061F00 80061300 02791821 */ addu $v1, $s3, $t9 -/* 061F04 80061304 84680000 */ lh $t0, ($v1) -/* 061F08 80061308 84690002 */ lh $t1, 2($v1) -/* 061F0C 8006130C 846A0004 */ lh $t2, 4($v1) -/* 061F10 80061310 06200040 */ bltz $s1, .L80061414 -/* 061F14 80061314 00000000 */ nop -.L80061318: -/* 061F18 80061318 00AD0019 */ multu $a1, $t5 -/* 061F1C 8006131C 00007812 */ mflo $t7 -/* 061F20 80061320 03EF3821 */ addu $a3, $ra, $t7 -/* 061F24 80061324 90EE0006 */ lbu $t6, 6($a3) -/* 061F28 80061328 00000000 */ nop -/* 061F2C 8006132C 158E0031 */ bne $t4, $t6, .L800613F4 -/* 061F30 80061330 00000000 */ nop -/* 061F34 80061334 84E40002 */ lh $a0, 2($a3) -/* 061F38 80061338 14B10003 */ bne $a1, $s1, .L80061348 -/* 061F3C 8006133C 008B082A */ slt $at, $a0, $t3 -/* 061F40 80061340 14200008 */ bnez $at, .L80061364 -/* 061F44 80061344 00000000 */ nop -.L80061348: -/* 061F48 80061348 10B1002A */ beq $a1, $s1, .L800613F4 -/* 061F4C 8006134C 00000000 */ nop -/* 061F50 80061350 84F8000E */ lh $t8, 0xe($a3) -/* 061F54 80061354 00000000 */ nop -/* 061F58 80061358 0098082A */ slt $at, $a0, $t8 -/* 061F5C 8006135C 10200025 */ beqz $at, .L800613F4 -/* 061F60 80061360 00000000 */ nop -.L80061364: -/* 061F64 80061364 04C10023 */ bgez $a2, .L800613F4 -/* 061F68 80061368 00000000 */ nop -.L8006136C: -/* 061F6C 8006136C 00920019 */ multu $a0, $s2 -/* 061F70 80061370 0000C812 */ mflo $t9 -/* 061F74 80061374 02791821 */ addu $v1, $s3, $t9 -/* 061F78 80061378 846F0000 */ lh $t7, ($v1) -/* 061F7C 8006137C 00000000 */ nop -/* 061F80 80061380 150F000B */ bne $t0, $t7, .L800613B0 -/* 061F84 80061384 00000000 */ nop -/* 061F88 80061388 846E0002 */ lh $t6, 2($v1) -/* 061F8C 8006138C 00000000 */ nop -/* 061F90 80061390 152E0007 */ bne $t1, $t6, .L800613B0 -/* 061F94 80061394 00000000 */ nop -/* 061F98 80061398 84780004 */ lh $t8, 4($v1) -/* 061F9C 8006139C 0004C840 */ sll $t9, $a0, 1 -/* 061FA0 800613A0 15580003 */ bne $t2, $t8, .L800613B0 -/* 061FA4 800613A4 00597821 */ addu $t7, $v0, $t9 -/* 061FA8 800613A8 85E60000 */ lh $a2, ($t7) -/* 061FAC 800613AC 00000000 */ nop -.L800613B0: -/* 061FB0 800613B0 24840001 */ addiu $a0, $a0, 1 -/* 061FB4 800613B4 00047400 */ sll $t6, $a0, 0x10 -/* 061FB8 800613B8 000EC403 */ sra $t8, $t6, 0x10 -/* 061FBC 800613BC 14B10004 */ bne $a1, $s1, .L800613D0 -/* 061FC0 800613C0 03002025 */ move $a0, $t8 -/* 061FC4 800613C4 030B082A */ slt $at, $t8, $t3 -/* 061FC8 800613C8 14200008 */ bnez $at, .L800613EC -/* 061FCC 800613CC 00000000 */ nop -.L800613D0: -/* 061FD0 800613D0 10B10008 */ beq $a1, $s1, .L800613F4 -/* 061FD4 800613D4 00000000 */ nop -/* 061FD8 800613D8 84F9000E */ lh $t9, 0xe($a3) -/* 061FDC 800613DC 00000000 */ nop -/* 061FE0 800613E0 0099082A */ slt $at, $a0, $t9 -/* 061FE4 800613E4 10200003 */ beqz $at, .L800613F4 -/* 061FE8 800613E8 00000000 */ nop -.L800613EC: -/* 061FEC 800613EC 04C0FFDF */ bltz $a2, .L8006136C -/* 061FF0 800613F0 00000000 */ nop -.L800613F4: -/* 061FF4 800613F4 24A50001 */ addiu $a1, %lo(0xFF7F0001) # addiu $a1, $a1, 1 -/* 061FF8 800613F8 00057C00 */ sll $t7, $a1, 0x10 -/* 061FFC 800613FC 000F2C03 */ sra $a1, $t7, 0x10 -/* 062000 80061400 0225082A */ slt $at, $s1, $a1 -/* 062004 80061404 14200003 */ bnez $at, .L80061414 -/* 062008 80061408 00000000 */ nop -/* 06200C 8006140C 04C0FFC2 */ bltz $a2, .L80061318 -/* 062010 80061410 00000000 */ nop -.L80061414: -/* 062014 80061414 04C10008 */ bgez $a2, .L80061438 -/* 062018 80061418 000BC040 */ sll $t8, $t3, 1 -/* 06201C 8006141C 000BC040 */ sll $t8, $t3, 1 -/* 062020 80061420 0058C821 */ addu $t9, $v0, $t8 -/* 062024 80061424 A7360000 */ sh $s6, ($t9) -/* 062028 80061428 26D60001 */ addiu $s6, $s6, 1 -/* 06202C 8006142C 00167C00 */ sll $t7, $s6, 0x10 -/* 062030 80061430 1000006E */ b .L800615EC -/* 062034 80061434 000FB403 */ sra $s6, $t7, 0x10 -.L80061438: -/* 062038 80061438 0058C821 */ addu $t9, $v0, $t8 -/* 06203C 8006143C 1000006B */ b .L800615EC -/* 062040 80061440 A7260000 */ sh $a2, ($t9) -.L80061444: -/* 062044 80061444 160C0007 */ bne $s0, $t4, .L80061464 -/* 062048 80061448 000B7840 */ sll $t7, $t3, 1 -/* 06204C 8006144C 004F7021 */ addu $t6, $v0, $t7 -/* 062050 80061450 A5D60000 */ sh $s6, ($t6) -/* 062054 80061454 26D60001 */ addiu $s6, $s6, 1 -/* 062058 80061458 0016C400 */ sll $t8, $s6, 0x10 -/* 06205C 8006145C 10000063 */ b .L800615EC -/* 062060 80061460 0018B403 */ sra $s6, $t8, 0x10 -.L80061464: -/* 062064 80061464 8FAF0050 */ lw $t7, 0x50($sp) -/* 062068 80061468 00000000 */ nop -/* 06206C 8006146C 8DEE0008 */ lw $t6, 8($t7) -/* 062070 80061470 00000000 */ nop -/* 062074 80061474 31D88000 */ andi $t8, $t6, 0x8000 -/* 062078 80061478 1300005A */ beqz $t8, .L800615E4 -/* 06207C 8006147C 000BC040 */ sll $t8, $t3, 1 -/* 062080 80061480 01720019 */ multu $t3, $s2 -/* 062084 80061484 00143400 */ sll $a2, $s4, 0x10 -/* 062088 80061488 0006CC03 */ sra $t9, $a2, 0x10 -/* 06208C 8006148C 03203025 */ move $a2, $t9 -/* 062090 80061490 00002825 */ move $a1, $zero -/* 062094 80061494 00007812 */ mflo $t7 -/* 062098 80061498 026F1821 */ addu $v1, $s3, $t7 -/* 06209C 8006149C 84680000 */ lh $t0, ($v1) -/* 0620A0 800614A0 84690002 */ lh $t1, 2($v1) -/* 0620A4 800614A4 846A0004 */ lh $t2, 4($v1) -/* 0620A8 800614A8 06200041 */ bltz $s1, .L800615B0 -/* 0620AC 800614AC 00000000 */ nop -.L800614B0: -/* 0620B0 800614B0 00AD0019 */ multu $a1, $t5 -/* 0620B4 800614B4 00007012 */ mflo $t6 -/* 0620B8 800614B8 03EE3821 */ addu $a3, $ra, $t6 -/* 0620BC 800614BC 8CF80008 */ lw $t8, 8($a3) -/* 0620C0 800614C0 00000000 */ nop -/* 0620C4 800614C4 33198000 */ andi $t9, $t8, 0x8000 -/* 0620C8 800614C8 13200031 */ beqz $t9, .L80061590 -/* 0620CC 800614CC 00000000 */ nop -/* 0620D0 800614D0 84E40002 */ lh $a0, 2($a3) -/* 0620D4 800614D4 14B10003 */ bne $a1, $s1, .L800614E4 -/* 0620D8 800614D8 008B082A */ slt $at, $a0, $t3 -/* 0620DC 800614DC 14200008 */ bnez $at, .L80061500 -/* 0620E0 800614E0 00000000 */ nop -.L800614E4: -/* 0620E4 800614E4 10B1002A */ beq $a1, $s1, .L80061590 -/* 0620E8 800614E8 00000000 */ nop -/* 0620EC 800614EC 84EF000E */ lh $t7, 0xe($a3) -/* 0620F0 800614F0 00000000 */ nop -/* 0620F4 800614F4 008F082A */ slt $at, $a0, $t7 -/* 0620F8 800614F8 10200025 */ beqz $at, .L80061590 -/* 0620FC 800614FC 00000000 */ nop -.L80061500: -/* 062100 80061500 04C10023 */ bgez $a2, .L80061590 -/* 062104 80061504 00000000 */ nop -.L80061508: -/* 062108 80061508 00920019 */ multu $a0, $s2 -/* 06210C 8006150C 00007012 */ mflo $t6 -/* 062110 80061510 026E1821 */ addu $v1, $s3, $t6 -/* 062114 80061514 84780000 */ lh $t8, ($v1) -/* 062118 80061518 00000000 */ nop -/* 06211C 8006151C 1518000B */ bne $t0, $t8, .L8006154C -/* 062120 80061520 00000000 */ nop -/* 062124 80061524 84790002 */ lh $t9, 2($v1) -/* 062128 80061528 00000000 */ nop -/* 06212C 8006152C 15390007 */ bne $t1, $t9, .L8006154C -/* 062130 80061530 00000000 */ nop -/* 062134 80061534 846F0004 */ lh $t7, 4($v1) -/* 062138 80061538 00047040 */ sll $t6, $a0, 1 -/* 06213C 8006153C 154F0003 */ bne $t2, $t7, .L8006154C -/* 062140 80061540 004EC021 */ addu $t8, $v0, $t6 -/* 062144 80061544 87060000 */ lh $a2, ($t8) -/* 062148 80061548 00000000 */ nop -.L8006154C: -/* 06214C 8006154C 24840001 */ addiu $a0, $a0, 1 -/* 062150 80061550 0004CC00 */ sll $t9, $a0, 0x10 -/* 062154 80061554 00197C03 */ sra $t7, $t9, 0x10 -/* 062158 80061558 14B10004 */ bne $a1, $s1, .L8006156C -/* 06215C 8006155C 01E02025 */ move $a0, $t7 -/* 062160 80061560 01EB082A */ slt $at, $t7, $t3 -/* 062164 80061564 14200008 */ bnez $at, .L80061588 -/* 062168 80061568 00000000 */ nop -.L8006156C: -/* 06216C 8006156C 10B10008 */ beq $a1, $s1, .L80061590 -/* 062170 80061570 00000000 */ nop -/* 062174 80061574 84EE000E */ lh $t6, 0xe($a3) -/* 062178 80061578 00000000 */ nop -/* 06217C 8006157C 008E082A */ slt $at, $a0, $t6 -/* 062180 80061580 10200003 */ beqz $at, .L80061590 -/* 062184 80061584 00000000 */ nop -.L80061588: -/* 062188 80061588 04C0FFDF */ bltz $a2, .L80061508 -/* 06218C 8006158C 00000000 */ nop -.L80061590: -/* 062190 80061590 24A50001 */ addiu $a1, $a1, 1 -/* 062194 80061594 0005C400 */ sll $t8, $a1, 0x10 -/* 062198 80061598 00182C03 */ sra $a1, $t8, 0x10 -/* 06219C 8006159C 0225082A */ slt $at, $s1, $a1 -/* 0621A0 800615A0 14200003 */ bnez $at, .L800615B0 -/* 0621A4 800615A4 00000000 */ nop -/* 0621A8 800615A8 04C0FFC1 */ bltz $a2, .L800614B0 -/* 0621AC 800615AC 00000000 */ nop -.L800615B0: -/* 0621B0 800615B0 04C10008 */ bgez $a2, .L800615D4 -/* 0621B4 800615B4 000B7840 */ sll $t7, $t3, 1 -/* 0621B8 800615B8 000B7840 */ sll $t7, $t3, 1 -/* 0621BC 800615BC 004F7021 */ addu $t6, $v0, $t7 -/* 0621C0 800615C0 A5D60000 */ sh $s6, ($t6) -/* 0621C4 800615C4 26D60001 */ addiu $s6, $s6, 1 -/* 0621C8 800615C8 0016C400 */ sll $t8, $s6, 0x10 -/* 0621CC 800615CC 10000007 */ b .L800615EC -/* 0621D0 800615D0 0018B403 */ sra $s6, $t8, 0x10 -.L800615D4: -/* 0621D4 800615D4 004F7021 */ addu $t6, $v0, $t7 -/* 0621D8 800615D8 10000004 */ b .L800615EC -/* 0621DC 800615DC A5C60000 */ sh $a2, ($t6) -/* 0621E0 800615E0 000BC040 */ sll $t8, $t3, 1 -.L800615E4: -/* 0621E4 800615E4 0058C821 */ addu $t9, $v0, $t8 -/* 0621E8 800615E8 A7340000 */ sh $s4, ($t9) -.L800615EC: -/* 0621EC 800615EC 8FB80050 */ lw $t8, 0x50($sp) -/* 0621F0 800615F0 256B0001 */ addiu $t3, $t3, 1 -/* 0621F4 800615F4 8719000E */ lh $t9, 0xe($t8) -/* 0621F8 800615F8 000B7C00 */ sll $t7, $t3, 0x10 -/* 0621FC 800615FC 000F5C03 */ sra $t3, $t7, 0x10 -/* 062200 80061600 0179082A */ slt $at, $t3, $t9 -/* 062204 80061604 1420FF32 */ bnez $at, .L800612D0 -/* 062208 80061608 8FAE0050 */ lw $t6, 0x50($sp) -/* 06220C 8006160C 8FAF00B8 */ lw $t7, 0xb8($sp) -/* 062210 80061610 00000000 */ nop -/* 062214 80061614 85E30028 */ lh $v1, 0x28($t7) -/* 062218 80061618 00000000 */ nop -.L8006161C: -/* 06221C 8006161C 26310001 */ addiu $s1, $s1, 1 -/* 062220 80061620 00117400 */ sll $t6, $s1, 0x10 -/* 062224 80061624 000E8C03 */ sra $s1, $t6, 0x10 -/* 062228 80061628 0223082A */ slt $at, $s1, $v1 -/* 06222C 8006162C 1420FF1D */ bnez $at, .L800612A4 -/* 062230 80061630 00000000 */ nop -.L80061634: -/* 062234 80061634 00162080 */ sll $a0, $s6, 2 -/* 062238 80061638 00962023 */ subu $a0, $a0, $s6 -/* 06223C 8006163C 3C05FF7F */ lui $a1, (0xFF7F7FFF >> 16) # lui $a1, 0xff7f -/* 062240 80061640 AFBF00A4 */ sw $ra, 0xa4($sp) -/* 062244 80061644 34A57FFF */ ori $a1, (0xFF7F7FFF & 0xFFFF) # ori $a1, $a1, 0x7fff -/* 062248 80061648 0C01C344 */ jal mempool_alloc -/* 06224C 8006164C 00042080 */ sll $a0, $a0, 2 -/* 062250 80061650 8FBF00A4 */ lw $ra, 0xa4($sp) -/* 062254 80061654 240D000C */ li $t5, 12 -/* 062258 80061658 1440000B */ bnez $v0, .L80061688 -/* 06225C 8006165C 00409025 */ move $s2, $v0 -/* 062260 80061660 8FA400AC */ lw $a0, 0xac($sp) -/* 062264 80061664 0C01C450 */ jal mempool_free -/* 062268 80061668 00000000 */ nop -/* 06226C 8006166C 8FA400A0 */ lw $a0, 0xa0($sp) -/* 062270 80061670 0C01C450 */ jal mempool_free -/* 062274 80061674 00000000 */ nop -/* 062278 80061678 0C01C450 */ jal mempool_free -/* 06227C 8006167C 02E02025 */ move $a0, $s7 -/* 062280 80061680 100000CE */ b .L800619BC -/* 062284 80061684 24020001 */ li $v0, 1 -.L80061688: -/* 062288 80061688 00003825 */ move $a3, $zero -/* 06228C 8006168C 1AC0000C */ blez $s6, .L800616C0 -/* 062290 80061690 00008825 */ move $s1, $zero -.L80061694: -/* 062294 80061694 00ED0019 */ multu $a3, $t5 -/* 062298 80061698 24E70001 */ addiu $a3, $a3, 1 -/* 06229C 8006169C 00077C00 */ sll $t7, $a3, 0x10 -/* 0622A0 800616A0 000F3C03 */ sra $a3, $t7, 0x10 -/* 0622A4 800616A4 00F6082A */ slt $at, $a3, $s6 -/* 0622A8 800616A8 0000C812 */ mflo $t9 -/* 0622AC 800616AC 00591821 */ addu $v1, $v0, $t9 -/* 0622B0 800616B0 E4740000 */ swc1 $f20, ($v1) -/* 0622B4 800616B4 E4740004 */ swc1 $f20, 4($v1) -/* 0622B8 800616B8 1420FFF6 */ bnez $at, .L80061694 -/* 0622BC 800616BC E4740008 */ swc1 $f20, 8($v1) -.L800616C0: -/* 0622C0 800616C0 8FB800B8 */ lw $t8, 0xb8($sp) -/* 0622C4 800616C4 00000000 */ nop -/* 0622C8 800616C8 87030028 */ lh $v1, 0x28($t8) -/* 0622CC 800616CC 00000000 */ nop -/* 0622D0 800616D0 1860004F */ blez $v1, .L80061810 -/* 0622D4 800616D4 00000000 */ nop -.L800616D8: -/* 0622D8 800616D8 022D0019 */ multu $s1, $t5 -/* 0622DC 800616DC 240100FF */ li $at, 255 -/* 0622E0 800616E0 26310001 */ addiu $s1, $s1, 1 -/* 0622E4 800616E4 0000C812 */ mflo $t9 -/* 0622E8 800616E8 03F94021 */ addu $t0, $ra, $t9 -/* 0622EC 800616EC 910F0006 */ lbu $t7, 6($t0) -/* 0622F0 800616F0 00000000 */ nop -/* 0622F4 800616F4 15E10006 */ bne $t7, $at, .L80061710 -/* 0622F8 800616F8 00000000 */ nop -/* 0622FC 800616FC 8D0E0008 */ lw $t6, 8($t0) -/* 062300 80061700 00000000 */ nop -/* 062304 80061704 31D88000 */ andi $t8, $t6, 0x8000 -/* 062308 80061708 1300003D */ beqz $t8, .L80061800 -/* 06230C 8006170C 0011C400 */ sll $t8, $s1, 0x10 -.L80061710: -/* 062310 80061710 85150004 */ lh $s5, 4($t0) -/* 062314 80061714 85190010 */ lh $t9, 0x10($t0) -/* 062318 80061718 85140002 */ lh $s4, 2($t0) -/* 06231C 8006171C 02B9082A */ slt $at, $s5, $t9 -/* 062320 80061720 10200037 */ beqz $at, .L80061800 -/* 062324 80061724 0011C400 */ sll $t8, $s1, 0x10 -/* 062328 80061728 8FA900B0 */ lw $t1, 0xb0($sp) -/* 06232C 8006172C 8FA500AC */ lw $a1, 0xac($sp) -/* 062330 80061730 00000000 */ nop -/* 062334 80061734 00157900 */ sll $t7, $s5, 4 -.L80061738: -/* 062338 80061738 012F2021 */ addu $a0, $t1, $t7 -/* 06233C 8006173C 00003825 */ move $a3, $zero -/* 062340 80061740 00877021 */ addu $t6, $a0, $a3 -.L80061744: -/* 062344 80061744 91D80001 */ lbu $t8, 1($t6) -/* 062348 80061748 24E70001 */ addiu $a3, $a3, 1 -/* 06234C 8006174C 03143021 */ addu $a2, $t8, $s4 -/* 062350 80061750 0006CC00 */ sll $t9, $a2, 0x10 -/* 062354 80061754 00197C03 */ sra $t7, $t9, 0x10 -/* 062358 80061758 000F7040 */ sll $t6, $t7, 1 -/* 06235C 8006175C 02EEC021 */ addu $t8, $s7, $t6 -/* 062360 80061760 87060000 */ lh $a2, ($t8) -/* 062364 80061764 00077400 */ sll $t6, $a3, 0x10 -/* 062368 80061768 04C00016 */ bltz $a2, .L800617C4 -/* 06236C 8006176C 000E3C03 */ sra $a3, $t6, 0x10 -/* 062370 80061770 00CD0019 */ multu $a2, $t5 -/* 062374 80061774 0000C812 */ mflo $t9 -/* 062378 80061778 00591821 */ addu $v1, $v0, $t9 -/* 06237C 8006177C C4700000 */ lwc1 $f16, ($v1) -/* 062380 80061780 02AD0019 */ multu $s5, $t5 -/* 062384 80061784 C4720004 */ lwc1 $f18, 4($v1) -/* 062388 80061788 00007812 */ mflo $t7 -/* 06238C 8006178C 00AF8021 */ addu $s0, $a1, $t7 -/* 062390 80061790 C60A0000 */ lwc1 $f10, ($s0) -/* 062394 80061794 00000000 */ nop -/* 062398 80061798 460A8180 */ add.s $f6, $f16, $f10 -/* 06239C 8006179C C4700008 */ lwc1 $f16, 8($v1) -/* 0623A0 800617A0 E4660000 */ swc1 $f6, ($v1) -/* 0623A4 800617A4 C6040004 */ lwc1 $f4, 4($s0) -/* 0623A8 800617A8 00000000 */ nop -/* 0623AC 800617AC 46049200 */ add.s $f8, $f18, $f4 -/* 0623B0 800617B0 E4680004 */ swc1 $f8, 4($v1) -/* 0623B4 800617B4 C60A0008 */ lwc1 $f10, 8($s0) -/* 0623B8 800617B8 00000000 */ nop -/* 0623BC 800617BC 460A8180 */ add.s $f6, $f16, $f10 -/* 0623C0 800617C0 E4660008 */ swc1 $f6, 8($v1) -.L800617C4: -/* 0623C4 800617C4 28E10003 */ slti $at, $a3, 3 -/* 0623C8 800617C8 1420FFDE */ bnez $at, .L80061744 -/* 0623CC 800617CC 00877021 */ addu $t6, $a0, $a3 -/* 0623D0 800617D0 26B50001 */ addiu $s5, $s5, 1 -/* 0623D4 800617D4 85030010 */ lh $v1, 0x10($t0) -/* 0623D8 800617D8 0015CC00 */ sll $t9, $s5, 0x10 -/* 0623DC 800617DC 0019AC03 */ sra $s5, $t9, 0x10 -/* 0623E0 800617E0 02A3082A */ slt $at, $s5, $v1 -/* 0623E4 800617E4 1420FFD4 */ bnez $at, .L80061738 -/* 0623E8 800617E8 00157900 */ sll $t7, $s5, 4 -/* 0623EC 800617EC 8FAE00B8 */ lw $t6, 0xb8($sp) -/* 0623F0 800617F0 00000000 */ nop -/* 0623F4 800617F4 85C30028 */ lh $v1, 0x28($t6) -/* 0623F8 800617F8 00000000 */ nop -/* 0623FC 800617FC 0011C400 */ sll $t8, $s1, 0x10 -.L80061800: -/* 062400 80061800 00188C03 */ sra $s1, $t8, 0x10 -/* 062404 80061804 0223082A */ slt $at, $s1, $v1 -/* 062408 80061808 1420FFB3 */ bnez $at, .L800616D8 -/* 06240C 8006180C 00000000 */ nop -.L80061810: -/* 062410 80061810 1AC00027 */ blez $s6, .L800618B0 -/* 062414 80061814 00003825 */ move $a3, $zero -.L80061818: -/* 062418 80061818 00ED0019 */ multu $a3, $t5 -/* 06241C 8006181C 00007812 */ mflo $t7 -/* 062420 80061820 024F8021 */ addu $s0, $s2, $t7 -/* 062424 80061824 C6020000 */ lwc1 $f2, ($s0) -/* 062428 80061828 C60E0004 */ lwc1 $f14, 4($s0) -/* 06242C 8006182C 46021482 */ mul.s $f18, $f2, $f2 -/* 062430 80061830 C6000008 */ lwc1 $f0, 8($s0) -/* 062434 80061834 A7A70098 */ sh $a3, 0x98($sp) -/* 062438 80061838 460E7102 */ mul.s $f4, $f14, $f14 -/* 06243C 8006183C 00000000 */ nop -/* 062440 80061840 46000402 */ mul.s $f16, $f0, $f0 -/* 062444 80061844 46049200 */ add.s $f8, $f18, $f4 -/* 062448 80061848 0C0326B4 */ jal sqrtf -/* 06244C 8006184C 46088300 */ add.s $f12, $f16, $f8 -/* 062450 80061850 46140032 */ c.eq.s $f0, $f20 -/* 062454 80061854 87A70098 */ lh $a3, 0x98($sp) -/* 062458 80061858 4501000E */ bc1t .L80061894 -/* 06245C 8006185C 240D000C */ li $t5, 12 -/* 062460 80061860 3C013900 */ li $at, 0x39000000 # 0.000122 -/* 062464 80061864 44815000 */ mtc1 $at, $f10 -/* 062468 80061868 C6060000 */ lwc1 $f6, ($s0) -/* 06246C 8006186C 460A0082 */ mul.s $f2, $f0, $f10 -/* 062470 80061870 C6040004 */ lwc1 $f4, 4($s0) -/* 062474 80061874 C6080008 */ lwc1 $f8, 8($s0) -/* 062478 80061878 46023483 */ div.s $f18, $f6, $f2 -/* 06247C 8006187C 00000000 */ nop -/* 062480 80061880 46022403 */ div.s $f16, $f4, $f2 -/* 062484 80061884 E6120000 */ swc1 $f18, ($s0) -/* 062488 80061888 46024283 */ div.s $f10, $f8, $f2 -/* 06248C 8006188C E6100004 */ swc1 $f16, 4($s0) -/* 062490 80061890 E60A0008 */ swc1 $f10, 8($s0) -.L80061894: -/* 062494 80061894 24E70001 */ addiu $a3, $a3, 1 -/* 062498 80061898 00077400 */ sll $t6, $a3, 0x10 -/* 06249C 8006189C 000E3C03 */ sra $a3, $t6, 0x10 -/* 0624A0 800618A0 00F6082A */ slt $at, $a3, $s6 -/* 0624A4 800618A4 1420FFDC */ bnez $at, .L80061818 -/* 0624A8 800618A8 00000000 */ nop -/* 0624AC 800618AC 00003825 */ move $a3, $zero -.L800618B0: -/* 0624B0 800618B0 8FAA00B8 */ lw $t2, 0xb8($sp) -/* 0624B4 800618B4 8FA900A0 */ lw $t1, 0xa0($sp) -/* 0624B8 800618B8 85450024 */ lh $a1, 0x24($t2) -/* 0624BC 800618BC 00002025 */ move $a0, $zero -/* 0624C0 800618C0 18A00034 */ blez $a1, .L80061994 -/* 0624C4 800618C4 24080006 */ li $t0, 6 -/* 0624C8 800618C8 0007C840 */ sll $t9, $a3, 1 -.L800618CC: -/* 0624CC 800618CC 02F97821 */ addu $t7, $s7, $t9 -/* 0624D0 800618D0 85E60000 */ lh $a2, ($t7) -/* 0624D4 800618D4 24E70001 */ addiu $a3, $a3, 1 -/* 0624D8 800618D8 04C0002A */ bltz $a2, .L80061984 -/* 0624DC 800618DC 0007CC00 */ sll $t9, $a3, 0x10 -/* 0624E0 800618E0 00880019 */ multu $a0, $t0 -/* 0624E4 800618E4 4459F800 */ cfc1 $t9, $31 -/* 0624E8 800618E8 24840001 */ addiu $a0, $a0, 1 -/* 0624EC 800618EC 37210003 */ ori $at, $t9, 3 -/* 0624F0 800618F0 38210002 */ xori $at, $at, 2 -/* 0624F4 800618F4 44C1F800 */ ctc1 $at, $31 -/* 0624F8 800618F8 00007012 */ mflo $t6 -/* 0624FC 800618FC 012E1821 */ addu $v1, $t1, $t6 -/* 062500 80061900 00000000 */ nop -/* 062504 80061904 00CD0019 */ multu $a2, $t5 -/* 062508 80061908 0000C012 */ mflo $t8 -/* 06250C 8006190C 02581021 */ addu $v0, $s2, $t8 -/* 062510 80061910 C4460000 */ lwc1 $f6, ($v0) -/* 062514 80061914 00000000 */ nop -/* 062518 80061918 460034A4 */ cvt.w.s $f18, $f6 -/* 06251C 8006191C 44D9F800 */ ctc1 $t9, $31 -/* 062520 80061920 440F9000 */ mfc1 $t7, $f18 -/* 062524 80061924 00000000 */ nop -/* 062528 80061928 444EF800 */ cfc1 $t6, $31 -/* 06252C 8006192C A46F0000 */ sh $t7, ($v1) -/* 062530 80061930 35C10003 */ ori $at, $t6, 3 -/* 062534 80061934 38210002 */ xori $at, $at, 2 -/* 062538 80061938 44C1F800 */ ctc1 $at, $31 -/* 06253C 8006193C C4440004 */ lwc1 $f4, 4($v0) -/* 062540 80061940 37210003 */ ori $at, $t9, 3 -/* 062544 80061944 46002424 */ cvt.w.s $f16, $f4 -/* 062548 80061948 38210002 */ xori $at, $at, 2 -/* 06254C 8006194C 44188000 */ mfc1 $t8, $f16 -/* 062550 80061950 44CEF800 */ ctc1 $t6, $31 -/* 062554 80061954 A4780002 */ sh $t8, 2($v1) -/* 062558 80061958 C4480008 */ lwc1 $f8, 8($v0) -/* 06255C 8006195C 44C1F800 */ ctc1 $at, $31 -/* 062560 80061960 00047400 */ sll $t6, $a0, 0x10 -/* 062564 80061964 460042A4 */ cvt.w.s $f10, $f8 -/* 062568 80061968 000E2403 */ sra $a0, $t6, 0x10 -/* 06256C 8006196C 440F5000 */ mfc1 $t7, $f10 -/* 062570 80061970 44D9F800 */ ctc1 $t9, $31 -/* 062574 80061974 A46F0004 */ sh $t7, 4($v1) -/* 062578 80061978 85450024 */ lh $a1, 0x24($t2) -/* 06257C 8006197C 00000000 */ nop -/* 062580 80061980 0007CC00 */ sll $t9, $a3, 0x10 -.L80061984: -/* 062584 80061984 00193C03 */ sra $a3, $t9, 0x10 -/* 062588 80061988 00E5082A */ slt $at, $a3, $a1 -/* 06258C 8006198C 1420FFCF */ bnez $at, .L800618CC -/* 062590 80061990 0007C840 */ sll $t9, $a3, 1 -.L80061994: -/* 062594 80061994 8FA900A0 */ lw $t1, 0xa0($sp) -/* 062598 80061998 02E02025 */ move $a0, $s7 -/* 06259C 8006199C 0C01C450 */ jal mempool_free -/* 0625A0 800619A0 AD490040 */ sw $t1, 0x40($t2) -/* 0625A4 800619A4 0C01C450 */ jal mempool_free -/* 0625A8 800619A8 02402025 */ move $a0, $s2 -/* 0625AC 800619AC 8FA400AC */ lw $a0, 0xac($sp) -/* 0625B0 800619B0 0C01C450 */ jal mempool_free -/* 0625B4 800619B4 00000000 */ nop -.L800619B8: -/* 0625B8 800619B8 00001025 */ move $v0, $zero -.L800619BC: -/* 0625BC 800619BC 8FBF0044 */ lw $ra, 0x44($sp) -/* 0625C0 800619C0 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 0625C4 800619C4 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 0625C8 800619C8 8FB00020 */ lw $s0, 0x20($sp) -/* 0625CC 800619CC 8FB10024 */ lw $s1, 0x24($sp) -/* 0625D0 800619D0 8FB20028 */ lw $s2, 0x28($sp) -/* 0625D4 800619D4 8FB3002C */ lw $s3, 0x2c($sp) -/* 0625D8 800619D8 8FB40030 */ lw $s4, 0x30($sp) -/* 0625DC 800619DC 8FB50034 */ lw $s5, 0x34($sp) -/* 0625E0 800619E0 8FB60038 */ lw $s6, 0x38($sp) -/* 0625E4 800619E4 8FB7003C */ lw $s7, 0x3c($sp) -/* 0625E8 800619E8 8FBE0040 */ lw $fp, 0x40($sp) -/* 0625EC 800619EC 03E00008 */ jr $ra -/* 0625F0 800619F0 27BD00B8 */ addiu $sp, $sp, 0xb8 - diff --git a/asm/non_matchings/objects/calc_dynamic_lighting_for_object_1.s b/asm/non_matchings/objects/calc_dynamic_lighting_for_object_1.s deleted file mode 100644 index df066c3b..00000000 --- a/asm/non_matchings/objects/calc_dynamic_lighting_for_object_1.s +++ /dev/null @@ -1,350 +0,0 @@ -glabel calc_dynamic_lighting_for_object_1 -/* 01E40C 8001D80C 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 01E410 8001D810 AFB20020 */ sw $s2, 0x20($sp) -/* 01E414 8001D814 AFBF003C */ sw $ra, 0x3c($sp) -/* 01E418 8001D818 AFBE0038 */ sw $fp, 0x38($sp) -/* 01E41C 8001D81C AFB70034 */ sw $s7, 0x34($sp) -/* 01E420 8001D820 AFB60030 */ sw $s6, 0x30($sp) -/* 01E424 8001D824 AFB5002C */ sw $s5, 0x2c($sp) -/* 01E428 8001D828 AFB40028 */ sw $s4, 0x28($sp) -/* 01E42C 8001D82C AFB30024 */ sw $s3, 0x24($sp) -/* 01E430 8001D830 AFB1001C */ sw $s1, 0x1c($sp) -/* 01E434 8001D834 AFB00018 */ sw $s0, 0x18($sp) -/* 01E438 8001D838 AFA600A8 */ sw $a2, 0xa8($sp) -/* 01E43C 8001D83C AFA700AC */ sw $a3, 0xac($sp) -/* 01E440 8001D840 8C820054 */ lw $v0, 0x54($a0) -/* 01E444 8001D844 00069400 */ sll $s2, $a2, 0x10 -/* 01E448 8001D848 00127403 */ sra $t6, $s2, 0x10 -/* 01E44C 8001D84C 01C09025 */ move $s2, $t6 -/* 01E450 8001D850 00808825 */ move $s1, $a0 -/* 01E454 8001D854 10400133 */ beqz $v0, .L8001DD24 -/* 01E458 8001D858 00A0B825 */ move $s7, $a1 -/* 01E45C 8001D85C 8CAF0040 */ lw $t7, 0x40($a1) -/* 01E460 8001D860 8C9E0044 */ lw $fp, 0x44($a0) -/* 01E464 8001D864 AFAF0054 */ sw $t7, 0x54($sp) -/* 01E468 8001D868 84580008 */ lh $t8, 8($v0) -/* 01E46C 8001D86C 27B0005C */ addiu $s0, $sp, 0x5c -/* 01E470 8001D870 0018C8C0 */ sll $t9, $t8, 3 -/* 01E474 8001D874 00197023 */ negu $t6, $t9 -/* 01E478 8001D878 448E2000 */ mtc1 $t6, $f4 -/* 01E47C 8001D87C 02002825 */ move $a1, $s0 -/* 01E480 8001D880 468021A0 */ cvt.s.w $f6, $f4 -/* 01E484 8001D884 E7A6005C */ swc1 $f6, 0x5c($sp) -/* 01E488 8001D888 8C8F0054 */ lw $t7, 0x54($a0) -/* 01E48C 8001D88C 00000000 */ nop -/* 01E490 8001D890 85F8000A */ lh $t8, 0xa($t7) -/* 01E494 8001D894 00000000 */ nop -/* 01E498 8001D898 0018C8C0 */ sll $t9, $t8, 3 -/* 01E49C 8001D89C 00197023 */ negu $t6, $t9 -/* 01E4A0 8001D8A0 448E4000 */ mtc1 $t6, $f8 -/* 01E4A4 8001D8A4 00000000 */ nop -/* 01E4A8 8001D8A8 468042A0 */ cvt.s.w $f10, $f8 -/* 01E4AC 8001D8AC E7AA0060 */ swc1 $f10, 0x60($sp) -/* 01E4B0 8001D8B0 8C8F0054 */ lw $t7, 0x54($a0) -/* 01E4B4 8001D8B4 00000000 */ nop -/* 01E4B8 8001D8B8 85F8000C */ lh $t8, 0xc($t7) -/* 01E4BC 8001D8BC 00000000 */ nop -/* 01E4C0 8001D8C0 0018C8C0 */ sll $t9, $t8, 3 -/* 01E4C4 8001D8C4 00197023 */ negu $t6, $t9 -/* 01E4C8 8001D8C8 448E8000 */ mtc1 $t6, $f16 -/* 01E4CC 8001D8CC 00000000 */ nop -/* 01E4D0 8001D8D0 468084A0 */ cvt.s.w $f18, $f16 -/* 01E4D4 8001D8D4 E7B20064 */ swc1 $f18, 0x64($sp) -/* 01E4D8 8001D8D8 848F0000 */ lh $t7, ($a0) -/* 01E4DC 8001D8DC 00000000 */ nop -/* 01E4E0 8001D8E0 000FC023 */ negu $t8, $t7 -/* 01E4E4 8001D8E4 A7B80094 */ sh $t8, 0x94($sp) -/* 01E4E8 8001D8E8 84990002 */ lh $t9, 2($a0) -/* 01E4EC 8001D8EC 00000000 */ nop -/* 01E4F0 8001D8F0 00197023 */ negu $t6, $t9 -/* 01E4F4 8001D8F4 A7AE0096 */ sh $t6, 0x96($sp) -/* 01E4F8 8001D8F8 848F0004 */ lh $t7, 4($a0) -/* 01E4FC 8001D8FC A7A0009E */ sh $zero, 0x9e($sp) -/* 01E500 8001D900 000FC023 */ negu $t8, $t7 -/* 01E504 8001D904 A7B80098 */ sh $t8, 0x98($sp) -/* 01E508 8001D908 0C01C0F6 */ jal f32_vec3_apply_object_rotation2 -/* 01E50C 8001D90C 27A40094 */ addiu $a0, $sp, 0x94 -/* 01E510 8001D910 8E390040 */ lw $t9, 0x40($s1) -/* 01E514 8001D914 87A9009E */ lh $t1, 0x9e($sp) -/* 01E518 8001D918 932E003D */ lbu $t6, 0x3d($t9) -/* 01E51C 8001D91C 00000000 */ nop -/* 01E520 8001D920 11C0000B */ beqz $t6, .L8001D950 -/* 01E524 8001D924 00000000 */ nop -/* 01E528 8001D928 12400009 */ beqz $s2, .L8001D950 -/* 01E52C 8001D92C 00000000 */ nop -/* 01E530 8001D930 0C01A769 */ jal get_projection_matrix_f32 -/* 01E534 8001D934 A7A9009E */ sh $t1, 0x9e($sp) -/* 01E538 8001D938 00402025 */ move $a0, $v0 -/* 01E53C 8001D93C 02002825 */ move $a1, $s0 -/* 01E540 8001D940 0C01BDBB */ jal f32_matrix_dot -/* 01E544 8001D944 02003025 */ move $a2, $s0 -/* 01E548 8001D948 87A9009E */ lh $t1, 0x9e($sp) -/* 01E54C 8001D94C 00000000 */ nop -.L8001D950: -/* 01E550 8001D950 C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 01E554 8001D954 C7AA0060 */ lwc1 $f10, 0x60($sp) -/* 01E558 8001D958 46002187 */ neg.s $f6, $f4 -/* 01E55C 8001D95C 444FF800 */ cfc1 $t7, $31 -/* 01E560 8001D960 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 01E564 8001D964 35E10003 */ ori $at, $t7, 3 -/* 01E568 8001D968 38210002 */ xori $at, $at, 2 -/* 01E56C 8001D96C 44C1F800 */ ctc1 $at, $31 -/* 01E570 8001D970 8E220054 */ lw $v0, 0x54($s1) -/* 01E574 8001D974 46003224 */ cvt.w.s $f8, $f6 -/* 01E578 8001D978 844E001C */ lh $t6, 0x1c($v0) -/* 01E57C 8001D97C 44CFF800 */ ctc1 $t7, $31 -/* 01E580 8001D980 44134000 */ mfc1 $s3, $f8 -/* 01E584 8001D984 46005407 */ neg.s $f16, $f10 -/* 01E588 8001D988 4458F800 */ cfc1 $t8, $31 -/* 01E58C 8001D98C 000E7880 */ sll $t7, $t6, 2 -/* 01E590 8001D990 37010003 */ ori $at, $t8, 3 -/* 01E594 8001D994 38210002 */ xori $at, $at, 2 -/* 01E598 8001D998 44C1F800 */ ctc1 $at, $31 -/* 01E59C 8001D99C 448F5000 */ mtc1 $t7, $f10 -/* 01E5A0 8001D9A0 460084A4 */ cvt.w.s $f18, $f16 -/* 01E5A4 8001D9A4 90560007 */ lbu $s6, 7($v0) -/* 01E5A8 8001D9A8 44D8F800 */ ctc1 $t8, $31 -/* 01E5AC 8001D9AC 44149000 */ mfc1 $s4, $f18 -/* 01E5B0 8001D9B0 46002187 */ neg.s $f6, $f4 -/* 01E5B4 8001D9B4 4459F800 */ cfc1 $t9, $31 -/* 01E5B8 8001D9B8 00000000 */ nop -/* 01E5BC 8001D9BC 37210003 */ ori $at, $t9, 3 -/* 01E5C0 8001D9C0 38210002 */ xori $at, $at, 2 -/* 01E5C4 8001D9C4 44C1F800 */ ctc1 $at, $31 -/* 01E5C8 8001D9C8 00000000 */ nop -/* 01E5CC 8001D9CC 46003224 */ cvt.w.s $f8, $f6 -/* 01E5D0 8001D9D0 44D9F800 */ ctc1 $t9, $31 -/* 01E5D4 8001D9D4 44154000 */ mfc1 $s5, $f8 -/* 01E5D8 8001D9D8 46805420 */ cvt.s.w $f16, $f10 -/* 01E5DC 8001D9DC E7B0005C */ swc1 $f16, 0x5c($sp) -/* 01E5E0 8001D9E0 8E380054 */ lw $t8, 0x54($s1) -/* 01E5E4 8001D9E4 00000000 */ nop -/* 01E5E8 8001D9E8 8719001E */ lh $t9, 0x1e($t8) -/* 01E5EC 8001D9EC 00000000 */ nop -/* 01E5F0 8001D9F0 00197080 */ sll $t6, $t9, 2 -/* 01E5F4 8001D9F4 448E9000 */ mtc1 $t6, $f18 -/* 01E5F8 8001D9F8 00000000 */ nop -/* 01E5FC 8001D9FC 46809120 */ cvt.s.w $f4, $f18 -/* 01E600 8001DA00 E7A40060 */ swc1 $f4, 0x60($sp) -/* 01E604 8001DA04 8E2F0054 */ lw $t7, 0x54($s1) -/* 01E608 8001DA08 00000000 */ nop -/* 01E60C 8001DA0C 85F80020 */ lh $t8, 0x20($t7) -/* 01E610 8001DA10 00000000 */ nop -/* 01E614 8001DA14 0018C880 */ sll $t9, $t8, 2 -/* 01E618 8001DA18 44993000 */ mtc1 $t9, $f6 -/* 01E61C 8001DA1C 00000000 */ nop -/* 01E620 8001DA20 46803220 */ cvt.s.w $f8, $f6 -/* 01E624 8001DA24 12400009 */ beqz $s2, .L8001DA4C -/* 01E628 8001DA28 E7A80064 */ swc1 $f8, 0x64($sp) -/* 01E62C 8001DA2C 0C01A769 */ jal get_projection_matrix_f32 -/* 01E630 8001DA30 A7A9009E */ sh $t1, 0x9e($sp) -/* 01E634 8001DA34 00402025 */ move $a0, $v0 -/* 01E638 8001DA38 02002825 */ move $a1, $s0 -/* 01E63C 8001DA3C 0C01BDBB */ jal f32_matrix_dot -/* 01E640 8001DA40 02003025 */ move $a2, $s0 -/* 01E644 8001DA44 87A9009E */ lh $t1, 0x9e($sp) -/* 01E648 8001DA48 00000000 */ nop -.L8001DA4C: -/* 01E64C 8001DA4C 27A40094 */ addiu $a0, $sp, 0x94 -/* 01E650 8001DA50 02002825 */ move $a1, $s0 -/* 01E654 8001DA54 0C01C0F6 */ jal f32_vec3_apply_object_rotation2 -/* 01E658 8001DA58 A7A9009E */ sh $t1, 0x9e($sp) -/* 01E65C 8001DA5C 444EF800 */ cfc1 $t6, $31 -/* 01E660 8001DA60 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 01E664 8001DA64 44816000 */ mtc1 $at, $f12 -/* 01E668 8001DA68 35C10003 */ ori $at, $t6, 3 -/* 01E66C 8001DA6C 38210002 */ xori $at, $at, 2 -/* 01E670 8001DA70 44C1F800 */ ctc1 $at, $31 -/* 01E674 8001DA74 C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 01E678 8001DA78 C7B20060 */ lwc1 $f18, 0x60($sp) -/* 01E67C 8001DA7C 46005424 */ cvt.w.s $f16, $f10 -/* 01E680 8001DA80 C7A60064 */ lwc1 $f6, 0x64($sp) -/* 01E684 8001DA84 44CEF800 */ ctc1 $t6, $31 -/* 01E688 8001DA88 8E220054 */ lw $v0, 0x54($s1) -/* 01E68C 8001DA8C 440C8000 */ mfc1 $t4, $f16 -/* 01E690 8001DA90 444FF800 */ cfc1 $t7, $31 -/* 01E694 8001DA94 C4400000 */ lwc1 $f0, ($v0) -/* 01E698 8001DA98 35E10003 */ ori $at, $t7, 3 -/* 01E69C 8001DA9C 38210002 */ xori $at, $at, 2 -/* 01E6A0 8001DAA0 44C1F800 */ ctc1 $at, $31 -/* 01E6A4 8001DAA4 C44A0028 */ lwc1 $f10, 0x28($v0) -/* 01E6A8 8001DAA8 46009124 */ cvt.w.s $f4, $f18 -/* 01E6AC 8001DAAC C7A200B0 */ lwc1 $f2, 0xb0($sp) -/* 01E6B0 8001DAB0 44CFF800 */ ctc1 $t7, $31 -/* 01E6B4 8001DAB4 440D2000 */ mfc1 $t5, $f4 -/* 01E6B8 8001DAB8 87A9009E */ lh $t1, 0x9e($sp) -/* 01E6BC 8001DABC 4458F800 */ cfc1 $t8, $31 -/* 01E6C0 8001DAC0 2412000A */ li $s2, 10 -/* 01E6C4 8001DAC4 37010003 */ ori $at, $t8, 3 -/* 01E6C8 8001DAC8 38210002 */ xori $at, $at, 2 -/* 01E6CC 8001DACC 44C1F800 */ ctc1 $at, $31 -/* 01E6D0 8001DAD0 00000000 */ nop -/* 01E6D4 8001DAD4 46003224 */ cvt.w.s $f8, $f6 -/* 01E6D8 8001DAD8 44D8F800 */ ctc1 $t8, $31 -/* 01E6DC 8001DADC 441F4000 */ mfc1 $ra, $f8 -/* 01E6E0 8001DAE0 46005402 */ mul.s $f16, $f10, $f0 -/* 01E6E4 8001DAE4 C448002C */ lwc1 $f8, 0x2c($v0) -/* 01E6E8 8001DAE8 A7A0009A */ sh $zero, 0x9a($sp) -/* 01E6EC 8001DAEC 86E30028 */ lh $v1, 0x28($s7) -/* 01E6F0 8001DAF0 460C8482 */ mul.s $f18, $f16, $f12 -/* 01E6F4 8001DAF4 00000000 */ nop -/* 01E6F8 8001DAF8 46029102 */ mul.s $f4, $f18, $f2 -/* 01E6FC 8001DAFC 4459F800 */ cfc1 $t9, $31 -/* 01E700 8001DB00 00000000 */ nop -/* 01E704 8001DB04 37210003 */ ori $at, $t9, 3 -/* 01E708 8001DB08 38210002 */ xori $at, $at, 2 -/* 01E70C 8001DB0C 44C1F800 */ ctc1 $at, $31 -/* 01E710 8001DB10 00000000 */ nop -/* 01E714 8001DB14 460021A4 */ cvt.w.s $f6, $f4 -/* 01E718 8001DB18 44D9F800 */ ctc1 $t9, $31 -/* 01E71C 8001DB1C 440A3000 */ mfc1 $t2, $f6 -/* 01E720 8001DB20 46004282 */ mul.s $f10, $f8, $f0 -/* 01E724 8001DB24 00000000 */ nop -/* 01E728 8001DB28 460C5402 */ mul.s $f16, $f10, $f12 -/* 01E72C 8001DB2C 00000000 */ nop -/* 01E730 8001DB30 46028482 */ mul.s $f18, $f16, $f2 -/* 01E734 8001DB34 444EF800 */ cfc1 $t6, $31 -/* 01E738 8001DB38 00000000 */ nop -/* 01E73C 8001DB3C 35C10003 */ ori $at, $t6, 3 -/* 01E740 8001DB40 38210002 */ xori $at, $at, 2 -/* 01E744 8001DB44 44C1F800 */ ctc1 $at, $31 -/* 01E748 8001DB48 00000000 */ nop -/* 01E74C 8001DB4C 46009124 */ cvt.w.s $f4, $f18 -/* 01E750 8001DB50 44102000 */ mfc1 $s0, $f4 -/* 01E754 8001DB54 44CEF800 */ ctc1 $t6, $31 -/* 01E758 8001DB58 18600072 */ blez $v1, .L8001DD24 -/* 01E75C 8001DB5C 00000000 */ nop -/* 01E760 8001DB60 8EE60038 */ lw $a2, 0x38($s7) -/* 01E764 8001DB64 24110006 */ li $s1, 6 -.L8001DB68: -/* 01E768 8001DB68 87AB009A */ lh $t3, 0x9a($sp) -/* 01E76C 8001DB6C 240100FF */ li $at, 255 -/* 01E770 8001DB70 000B7880 */ sll $t7, $t3, 2 -/* 01E774 8001DB74 01EB7823 */ subu $t7, $t7, $t3 -/* 01E778 8001DB78 000F5880 */ sll $t3, $t7, 2 -/* 01E77C 8001DB7C 00CB1021 */ addu $v0, $a2, $t3 -/* 01E780 8001DB80 90580006 */ lbu $t8, 6($v0) -/* 01E784 8001DB84 00000000 */ nop -/* 01E788 8001DB88 13010053 */ beq $t8, $at, .L8001DCD8 -/* 01E78C 8001DB8C 00000000 */ nop -/* 01E790 8001DB90 84450002 */ lh $a1, 2($v0) -/* 01E794 8001DB94 8459000E */ lh $t9, 0xe($v0) -/* 01E798 8001DB98 00000000 */ nop -/* 01E79C 8001DB9C 00B9082A */ slt $at, $a1, $t9 -/* 01E7A0 8001DBA0 10200059 */ beqz $at, .L8001DD08 -/* 01E7A4 8001DBA4 87A2009A */ lh $v0, 0x9a($sp) -.L8001DBA8: -/* 01E7A8 8001DBA8 01310019 */ multu $t1, $s1 -/* 01E7AC 8001DBAC 8FAE0054 */ lw $t6, 0x54($sp) -/* 01E7B0 8001DBB0 00007812 */ mflo $t7 -/* 01E7B4 8001DBB4 01CF1021 */ addu $v0, $t6, $t7 -/* 01E7B8 8001DBB8 84460004 */ lh $a2, 4($v0) -/* 01E7BC 8001DBBC 84470000 */ lh $a3, ($v0) -/* 01E7C0 8001DBC0 00D50019 */ multu $a2, $s5 -/* 01E7C4 8001DBC4 84480002 */ lh $t0, 2($v0) -/* 01E7C8 8001DBC8 0000C012 */ mflo $t8 -/* 01E7CC 8001DBCC 00000000 */ nop -/* 01E7D0 8001DBD0 00000000 */ nop -/* 01E7D4 8001DBD4 00F30019 */ multu $a3, $s3 -/* 01E7D8 8001DBD8 0000C812 */ mflo $t9 -/* 01E7DC 8001DBDC 03197021 */ addu $t6, $t8, $t9 -/* 01E7E0 8001DBE0 00000000 */ nop -/* 01E7E4 8001DBE4 01140019 */ multu $t0, $s4 -/* 01E7E8 8001DBE8 00007812 */ mflo $t7 -/* 01E7EC 8001DBEC 01CF2021 */ addu $a0, $t6, $t7 -/* 01E7F0 8001DBF0 0004C343 */ sra $t8, $a0, 0xd -/* 01E7F4 8001DBF4 1B000009 */ blez $t8, .L8001DC1C -/* 01E7F8 8001DBF8 00002025 */ move $a0, $zero -/* 01E7FC 8001DBFC 03160019 */ multu $t8, $s6 -/* 01E800 8001DC00 00002012 */ mflo $a0 -/* 01E804 8001DC04 0004CC03 */ sra $t9, $a0, 0x10 -/* 01E808 8001DC08 2B210100 */ slti $at, $t9, 0x100 -/* 01E80C 8001DC0C 14200003 */ bnez $at, .L8001DC1C -/* 01E810 8001DC10 03202025 */ move $a0, $t9 -/* 01E814 8001DC14 10000001 */ b .L8001DC1C -/* 01E818 8001DC18 240400FF */ li $a0, 255 -.L8001DC1C: -/* 01E81C 8001DC1C 00DF0019 */ multu $a2, $ra -/* 01E820 8001DC20 00007012 */ mflo $t6 -/* 01E824 8001DC24 00000000 */ nop -/* 01E828 8001DC28 00000000 */ nop -/* 01E82C 8001DC2C 00EC0019 */ multu $a3, $t4 -/* 01E830 8001DC30 00007812 */ mflo $t7 -/* 01E834 8001DC34 01CFC021 */ addu $t8, $t6, $t7 -/* 01E838 8001DC38 00000000 */ nop -/* 01E83C 8001DC3C 010D0019 */ multu $t0, $t5 -/* 01E840 8001DC40 0000C812 */ mflo $t9 -/* 01E844 8001DC44 03191821 */ addu $v1, $t8, $t9 -/* 01E848 8001DC48 00037343 */ sra $t6, $v1, 0xd -/* 01E84C 8001DC4C 19C0000A */ blez $t6, .L8001DC78 -/* 01E850 8001DC50 01401825 */ move $v1, $t2 -/* 01E854 8001DC54 01D00019 */ multu $t6, $s0 -/* 01E858 8001DC58 00001812 */ mflo $v1 -/* 01E85C 8001DC5C 00037C03 */ sra $t7, $v1, 0x10 -/* 01E860 8001DC60 01EA1821 */ addu $v1, $t7, $t2 -/* 01E864 8001DC64 28610100 */ slti $at, $v1, 0x100 -/* 01E868 8001DC68 14200003 */ bnez $at, .L8001DC78 -/* 01E86C 8001DC6C 00000000 */ nop -/* 01E870 8001DC70 10000001 */ b .L8001DC78 -/* 01E874 8001DC74 240300FF */ li $v1, 255 -.L8001DC78: -/* 01E878 8001DC78 00B20019 */ multu $a1, $s2 -/* 01E87C 8001DC7C 25290001 */ addiu $t1, $t1, 1 -/* 01E880 8001DC80 0009CC00 */ sll $t9, $t1, 0x10 -/* 01E884 8001DC84 00194C03 */ sra $t1, $t9, 0x10 -/* 01E888 8001DC88 24A50001 */ addiu $a1, $a1, 1 -/* 01E88C 8001DC8C 00057C00 */ sll $t7, $a1, 0x10 -/* 01E890 8001DC90 000F2C03 */ sra $a1, $t7, 0x10 -/* 01E894 8001DC94 0000C012 */ mflo $t8 -/* 01E898 8001DC98 03D81021 */ addu $v0, $fp, $t8 -/* 01E89C 8001DC9C A0440006 */ sb $a0, 6($v0) -/* 01E8A0 8001DCA0 A0440007 */ sb $a0, 7($v0) -/* 01E8A4 8001DCA4 A0440008 */ sb $a0, 8($v0) -/* 01E8A8 8001DCA8 A0430009 */ sb $v1, 9($v0) -/* 01E8AC 8001DCAC 8EE60038 */ lw $a2, 0x38($s7) -/* 01E8B0 8001DCB0 00000000 */ nop -/* 01E8B4 8001DCB4 00CBC821 */ addu $t9, $a2, $t3 -/* 01E8B8 8001DCB8 872E000E */ lh $t6, 0xe($t9) -/* 01E8BC 8001DCBC 00000000 */ nop -/* 01E8C0 8001DCC0 00AE082A */ slt $at, $a1, $t6 -/* 01E8C4 8001DCC4 1420FFB8 */ bnez $at, .L8001DBA8 -/* 01E8C8 8001DCC8 00000000 */ nop -/* 01E8CC 8001DCCC 86E30028 */ lh $v1, 0x28($s7) -/* 01E8D0 8001DCD0 1000000D */ b .L8001DD08 -/* 01E8D4 8001DCD4 87A2009A */ lh $v0, 0x9a($sp) -.L8001DCD8: -/* 01E8D8 8001DCD8 8C4F0008 */ lw $t7, 8($v0) -/* 01E8DC 8001DCDC 00000000 */ nop -/* 01E8E0 8001DCE0 31F88000 */ andi $t8, $t7, 0x8000 -/* 01E8E4 8001DCE4 13000007 */ beqz $t8, .L8001DD04 -/* 01E8E8 8001DCE8 00000000 */ nop -/* 01E8EC 8001DCEC 8459000E */ lh $t9, 0xe($v0) -/* 01E8F0 8001DCF0 844F0002 */ lh $t7, 2($v0) -/* 01E8F4 8001DCF4 01397021 */ addu $t6, $t1, $t9 -/* 01E8F8 8001DCF8 01CF4823 */ subu $t1, $t6, $t7 -/* 01E8FC 8001DCFC 0009C400 */ sll $t8, $t1, 0x10 -/* 01E900 8001DD00 00184C03 */ sra $t1, $t8, 0x10 -.L8001DD04: -/* 01E904 8001DD04 87A2009A */ lh $v0, 0x9a($sp) -.L8001DD08: -/* 01E908 8001DD08 00000000 */ nop -/* 01E90C 8001DD0C 24420001 */ addiu $v0, $v0, 1 -/* 01E910 8001DD10 00027400 */ sll $t6, $v0, 0x10 -/* 01E914 8001DD14 000E7C03 */ sra $t7, $t6, 0x10 -/* 01E918 8001DD18 01E3082A */ slt $at, $t7, $v1 -/* 01E91C 8001DD1C 1420FF92 */ bnez $at, .L8001DB68 -/* 01E920 8001DD20 A7AF009A */ sh $t7, 0x9a($sp) -.L8001DD24: -/* 01E924 8001DD24 8FBF003C */ lw $ra, 0x3c($sp) -/* 01E928 8001DD28 8FB00018 */ lw $s0, 0x18($sp) -/* 01E92C 8001DD2C 8FB1001C */ lw $s1, 0x1c($sp) -/* 01E930 8001DD30 8FB20020 */ lw $s2, 0x20($sp) -/* 01E934 8001DD34 8FB30024 */ lw $s3, 0x24($sp) -/* 01E938 8001DD38 8FB40028 */ lw $s4, 0x28($sp) -/* 01E93C 8001DD3C 8FB5002C */ lw $s5, 0x2c($sp) -/* 01E940 8001DD40 8FB60030 */ lw $s6, 0x30($sp) -/* 01E944 8001DD44 8FB70034 */ lw $s7, 0x34($sp) -/* 01E948 8001DD48 8FBE0038 */ lw $fp, 0x38($sp) -/* 01E94C 8001DD4C 03E00008 */ jr $ra -/* 01E950 8001DD50 27BD00A0 */ addiu $sp, $sp, 0xa0 - diff --git a/asm/non_matchings/objects/calc_env_mapping_for_object.s b/asm/non_matchings/objects/calc_env_mapping_for_object.s deleted file mode 100644 index 773a7a21..00000000 --- a/asm/non_matchings/objects/calc_env_mapping_for_object.s +++ /dev/null @@ -1,269 +0,0 @@ -glabel calc_env_mapping_for_object -/* 01E954 8001DD54 27BDFEE8 */ addiu $sp, $sp, -0x118 -/* 01E958 8001DD58 AFBF003C */ sw $ra, 0x3c($sp) -/* 01E95C 8001DD5C AFBE0038 */ sw $fp, 0x38($sp) -/* 01E960 8001DD60 AFB70034 */ sw $s7, 0x34($sp) -/* 01E964 8001DD64 AFB60030 */ sw $s6, 0x30($sp) -/* 01E968 8001DD68 AFB5002C */ sw $s5, 0x2c($sp) -/* 01E96C 8001DD6C AFB40028 */ sw $s4, 0x28($sp) -/* 01E970 8001DD70 AFB30024 */ sw $s3, 0x24($sp) -/* 01E974 8001DD74 AFB20020 */ sw $s2, 0x20($sp) -/* 01E978 8001DD78 AFB1001C */ sw $s1, 0x1c($sp) -/* 01E97C 8001DD7C AFB00018 */ sw $s0, 0x18($sp) -/* 01E980 8001DD80 AFA5011C */ sw $a1, 0x11c($sp) -/* 01E984 8001DD84 AFA60120 */ sw $a2, 0x120($sp) -/* 01E988 8001DD88 AFA70124 */ sw $a3, 0x124($sp) -/* 01E98C 8001DD8C 8C890008 */ lw $t1, 8($a0) -/* 01E990 8001DD90 44800000 */ mtc1 $zero, $f0 -/* 01E994 8001DD94 AFA90078 */ sw $t1, 0x78($sp) -/* 01E998 8001DD98 8C8A0040 */ lw $t2, 0x40($a0) -/* 01E99C 8001DD9C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01E9A0 8001DDA0 44812000 */ mtc1 $at, $f4 -/* 01E9A4 8001DDA4 27B10098 */ addiu $s1, $sp, 0x98 -/* 01E9A8 8001DDA8 0080F025 */ move $fp, $a0 -/* 01E9AC 8001DDAC 00A07025 */ move $t6, $a1 -/* 01E9B0 8001DDB0 0000A025 */ move $s4, $zero -/* 01E9B4 8001DDB4 A7AE0084 */ sh $t6, 0x84($sp) -/* 01E9B8 8001DDB8 A7A60082 */ sh $a2, 0x82($sp) -/* 01E9BC 8001DDBC A7A70080 */ sh $a3, 0x80($sp) -/* 01E9C0 8001DDC0 27A50080 */ addiu $a1, $sp, 0x80 -/* 01E9C4 8001DDC4 02202025 */ move $a0, $s1 -/* 01E9C8 8001DDC8 E7A0008C */ swc1 $f0, 0x8c($sp) -/* 01E9CC 8001DDCC E7A00090 */ swc1 $f0, 0x90($sp) -/* 01E9D0 8001DDD0 E7A00094 */ swc1 $f0, 0x94($sp) -/* 01E9D4 8001DDD4 AFAA0074 */ sw $t2, 0x74($sp) -/* 01E9D8 8001DDD8 0C01BF0C */ jal object_transform_to_matrix -/* 01E9DC 8001DDDC E7A40088 */ swc1 $f4, 0x88($sp) -/* 01E9E0 8001DDE0 02202025 */ move $a0, $s1 -/* 01E9E4 8001DDE4 0C01BD78 */ jal f32_matrix_to_s32_matrix -/* 01E9E8 8001DDE8 27A500D8 */ addiu $a1, $sp, 0xd8 -/* 01E9EC 8001DDEC A7A00062 */ sh $zero, 0x62($sp) -/* 01E9F0 8001DDF0 87C20028 */ lh $v0, 0x28($fp) -/* 01E9F4 8001DDF4 3C138012 */ lui $s3, %hi(D_8011AF68) # $s3, 0x8012 -/* 01E9F8 8001DDF8 184000C4 */ blez $v0, .L8001E10C -/* 01E9FC 8001DDFC 2673AF68 */ addiu $s3, %lo(D_8011AF68) # addiu $s3, $s3, -0x5098 -/* 01EA00 8001DE00 3C118012 */ lui $s1, %hi(gEnvmapPos) # $s1, 0x8012 -/* 01EA04 8001DE04 8FC60038 */ lw $a2, 0x38($fp) -/* 01EA08 8001DE08 2631AFE8 */ addiu $s1, %lo(gEnvmapPos) # addiu $s1, $s1, -0x5018 -.L8001DE0C: -/* 01EA0C 8001DE0C 87B70062 */ lh $s7, 0x62($sp) -/* 01EA10 8001DE10 3C010002 */ lui $at, 2 -/* 01EA14 8001DE14 00175880 */ sll $t3, $s7, 2 -/* 01EA18 8001DE18 01775823 */ subu $t3, $t3, $s7 -/* 01EA1C 8001DE1C 000BB880 */ sll $s7, $t3, 2 -/* 01EA20 8001DE20 00D72821 */ addu $a1, $a2, $s7 -/* 01EA24 8001DE24 8CA30008 */ lw $v1, 8($a1) -/* 01EA28 8001DE28 00000000 */ nop -/* 01EA2C 8001DE2C 306C8000 */ andi $t4, $v1, 0x8000 -/* 01EA30 8001DE30 118000A3 */ beqz $t4, .L8001E0C0 -/* 01EA34 8001DE34 00616824 */ and $t5, $v1, $at -/* 01EA38 8001DE38 35AE8000 */ ori $t6, $t5, 0x8000 -/* 01EA3C 8001DE3C 39CF8000 */ xori $t7, $t6, 0x8000 -/* 01EA40 8001DE40 AFAF0070 */ sw $t7, 0x70($sp) -/* 01EA44 8001DE44 90B90000 */ lbu $t9, ($a1) -/* 01EA48 8001DE48 8FD80000 */ lw $t8, ($fp) -/* 01EA4C 8001DE4C 001940C0 */ sll $t0, $t9, 3 -/* 01EA50 8001DE50 03084821 */ addu $t1, $t8, $t0 -/* 01EA54 8001DE54 8D240000 */ lw $a0, ($t1) -/* 01EA58 8001DE58 24070020 */ li $a3, 32 -/* 01EA5C 8001DE5C 90820000 */ lbu $v0, ($a0) -/* 01EA60 8001DE60 00009025 */ move $s2, $zero -/* 01EA64 8001DE64 10470014 */ beq $v0, $a3, .L8001DEB8 -/* 01EA68 8001DE68 24190006 */ li $t9, 6 -/* 01EA6C 8001DE6C 24010040 */ li $at, 64 -/* 01EA70 8001DE70 1041000D */ beq $v0, $at, .L8001DEA8 -/* 01EA74 8001DE74 240E0005 */ li $t6, 5 -/* 01EA78 8001DE78 24010080 */ li $at, 128 -/* 01EA7C 8001DE7C 10410006 */ beq $v0, $at, .L8001DE98 -/* 01EA80 8001DE80 240C0004 */ li $t4, 4 -/* 01EA84 8001DE84 240A0007 */ li $t2, 7 -/* 01EA88 8001DE88 240B01FF */ li $t3, 511 -/* 01EA8C 8001DE8C A7AB0068 */ sh $t3, 0x68($sp) -/* 01EA90 8001DE90 1000000C */ b .L8001DEC4 -/* 01EA94 8001DE94 A7AA006A */ sh $t2, 0x6a($sp) -.L8001DE98: -/* 01EA98 8001DE98 240D0FFF */ li $t5, 4095 -/* 01EA9C 8001DE9C A7AD0068 */ sh $t5, 0x68($sp) -/* 01EAA0 8001DEA0 10000008 */ b .L8001DEC4 -/* 01EAA4 8001DEA4 A7AC006A */ sh $t4, 0x6a($sp) -.L8001DEA8: -/* 01EAA8 8001DEA8 240F07FF */ li $t7, 2047 -/* 01EAAC 8001DEAC A7AF0068 */ sh $t7, 0x68($sp) -/* 01EAB0 8001DEB0 10000004 */ b .L8001DEC4 -/* 01EAB4 8001DEB4 A7AE006A */ sh $t6, 0x6a($sp) -.L8001DEB8: -/* 01EAB8 8001DEB8 241803FF */ li $t8, 1023 -/* 01EABC 8001DEBC A7B80068 */ sh $t8, 0x68($sp) -/* 01EAC0 8001DEC0 A7B9006A */ sh $t9, 0x6a($sp) -.L8001DEC4: -/* 01EAC4 8001DEC4 90820001 */ lbu $v0, 1($a0) -/* 01EAC8 8001DEC8 24150006 */ li $s5, 6 -/* 01EACC 8001DECC 1047000E */ beq $v0, $a3, .L8001DF08 -/* 01EAD0 8001DED0 241603FF */ li $s6, 1023 -/* 01EAD4 8001DED4 24010040 */ li $at, 64 -/* 01EAD8 8001DED8 10410009 */ beq $v0, $at, .L8001DF00 -/* 01EADC 8001DEDC 24150005 */ li $s5, 5 -/* 01EAE0 8001DEE0 24010080 */ li $at, 128 -/* 01EAE4 8001DEE4 10410004 */ beq $v0, $at, .L8001DEF8 -/* 01EAE8 8001DEE8 24150004 */ li $s5, 4 -/* 01EAEC 8001DEEC 24150007 */ li $s5, 7 -/* 01EAF0 8001DEF0 10000005 */ b .L8001DF08 -/* 01EAF4 8001DEF4 241601FF */ li $s6, 511 -.L8001DEF8: -/* 01EAF8 8001DEF8 10000003 */ b .L8001DF08 -/* 01EAFC 8001DEFC 24160FFF */ li $s6, 4095 -.L8001DF00: -/* 01EB00 8001DF00 10000001 */ b .L8001DF08 -/* 01EB04 8001DF04 241607FF */ li $s6, 2047 -.L8001DF08: -/* 01EB08 8001DF08 84B00002 */ lh $s0, 2($a1) -/* 01EB0C 8001DF0C 84A8000E */ lh $t0, 0xe($a1) -/* 01EB10 8001DF10 00000000 */ nop -/* 01EB14 8001DF14 0208082A */ slt $at, $s0, $t0 -/* 01EB18 8001DF18 10200040 */ beqz $at, .L8001E01C -.L8001DF1C: -/* 01EB1C 8001DF1C 00145080 */ sll $t2, $s4, 2 -/* 01EB20 8001DF20 8FA90074 */ lw $t1, 0x74($sp) -/* 01EB24 8001DF24 01545023 */ subu $t2, $t2, $s4 -/* 01EB28 8001DF28 000A5040 */ sll $t2, $t2, 1 -/* 01EB2C 8001DF2C 012A1021 */ addu $v0, $t1, $t2 -/* 01EB30 8001DF30 844B0000 */ lh $t3, ($v0) -/* 01EB34 8001DF34 26940001 */ addiu $s4, $s4, 1 -/* 01EB38 8001DF38 A62B0006 */ sh $t3, 6($s1) -/* 01EB3C 8001DF3C 844C0002 */ lh $t4, 2($v0) -/* 01EB40 8001DF40 00147400 */ sll $t6, $s4, 0x10 -/* 01EB44 8001DF44 A62C0008 */ sh $t4, 8($s1) -/* 01EB48 8001DF48 844D0004 */ lh $t5, 4($v0) -/* 01EB4C 8001DF4C 3C058012 */ lui $a1, %hi(D_8011AFEE) # $a1, 0x8012 -/* 01EB50 8001DF50 000EA403 */ sra $s4, $t6, 0x10 -/* 01EB54 8001DF54 24A5AFEE */ addiu $a1, %lo(D_8011AFEE) # addiu $a1, $a1, -0x5012 -/* 01EB58 8001DF58 27A400D8 */ addiu $a0, $sp, 0xd8 -/* 01EB5C 8001DF5C 0C01BED8 */ jal s16_vec3_mult_by_s32_matrix -/* 01EB60 8001DF60 A62D000A */ sh $t5, 0xa($s1) -/* 01EB64 8001DF64 8FB90070 */ lw $t9, 0x70($sp) -/* 01EB68 8001DF68 02202025 */ move $a0, $s1 -/* 01EB6C 8001DF6C 17200003 */ bnez $t9, .L8001DF7C -/* 01EB70 8001DF70 3C058012 */ lui $a1, %hi(D_8011AFEE) # $a1, 0x8012 -/* 01EB74 8001DF74 0C01BE6E */ jal s16_matrix_rotate -/* 01EB78 8001DF78 24A5AFEE */ addiu $a1, %lo(D_8011AFEE) # addiu $a1, $a1, -0x5012 -.L8001DF7C: -/* 01EB7C 8001DF7C 86220006 */ lh $v0, 6($s1) -/* 01EB80 8001DF80 86230008 */ lh $v1, 8($s1) -/* 01EB84 8001DF84 18400004 */ blez $v0, .L8001DF98 -/* 01EB88 8001DF88 34078000 */ li $a3, 32768 -/* 01EB8C 8001DF8C 2442FFFF */ addiu $v0, $v0, -1 -/* 01EB90 8001DF90 0002C400 */ sll $t8, $v0, 0x10 -/* 01EB94 8001DF94 00181403 */ sra $v0, $t8, 0x10 -.L8001DF98: -/* 01EB98 8001DF98 18600004 */ blez $v1, .L8001DFAC -/* 01EB9C 8001DF9C 00025880 */ sll $t3, $v0, 2 -/* 01EBA0 8001DFA0 2463FFFF */ addiu $v1, $v1, -1 -/* 01EBA4 8001DFA4 00034C00 */ sll $t1, $v1, 0x10 -/* 01EBA8 8001DFA8 00091C03 */ sra $v1, $t1, 0x10 -.L8001DFAC: -/* 01EBAC 8001DFAC 01671021 */ addu $v0, $t3, $a3 -/* 01EBB0 8001DFB0 00037080 */ sll $t6, $v1, 2 -/* 01EBB4 8001DFB4 87A8006A */ lh $t0, 0x6a($sp) -/* 01EBB8 8001DFB8 00026400 */ sll $t4, $v0, 0x10 -/* 01EBBC 8001DFBC 01C71821 */ addu $v1, $t6, $a3 -/* 01EBC0 8001DFC0 000C6C03 */ sra $t5, $t4, 0x10 -/* 01EBC4 8001DFC4 00037C00 */ sll $t7, $v1, 0x10 -/* 01EBC8 8001DFC8 87AA0068 */ lh $t2, 0x68($sp) -/* 01EBCC 8001DFCC 000FCC03 */ sra $t9, $t7, 0x10 -/* 01EBD0 8001DFD0 0012C080 */ sll $t8, $s2, 2 -/* 01EBD4 8001DFD4 010D4807 */ srav $t1, $t5, $t0 -/* 01EBD8 8001DFD8 02782021 */ addu $a0, $s3, $t8 -/* 01EBDC 8001DFDC 02B96007 */ srav $t4, $t9, $s5 -/* 01EBE0 8001DFE0 01966824 */ and $t5, $t4, $s6 -/* 01EBE4 8001DFE4 012A5824 */ and $t3, $t1, $t2 -/* 01EBE8 8001DFE8 A48B0000 */ sh $t3, ($a0) -/* 01EBEC 8001DFEC A48D0002 */ sh $t5, 2($a0) -/* 01EBF0 8001DFF0 8FC60038 */ lw $a2, 0x38($fp) -/* 01EBF4 8001DFF4 26100001 */ addiu $s0, $s0, 1 -/* 01EBF8 8001DFF8 00D72821 */ addu $a1, $a2, $s7 -/* 01EBFC 8001DFFC 84A8000E */ lh $t0, 0xe($a1) -/* 01EC00 8001E000 00107400 */ sll $t6, $s0, 0x10 -/* 01EC04 8001E004 000E8403 */ sra $s0, $t6, 0x10 -/* 01EC08 8001E008 26520001 */ addiu $s2, $s2, 1 -/* 01EC0C 8001E00C 0012CC00 */ sll $t9, $s2, 0x10 -/* 01EC10 8001E010 0208082A */ slt $at, $s0, $t0 -/* 01EC14 8001E014 1420FFC1 */ bnez $at, .L8001DF1C -/* 01EC18 8001E018 00199403 */ sra $s2, $t9, 0x10 -.L8001E01C: -/* 01EC1C 8001E01C 84B00004 */ lh $s0, 4($a1) -/* 01EC20 8001E020 84A90010 */ lh $t1, 0x10($a1) -/* 01EC24 8001E024 8FA70078 */ lw $a3, 0x78($sp) -/* 01EC28 8001E028 0209082A */ slt $at, $s0, $t1 -/* 01EC2C 8001E02C 10200021 */ beqz $at, .L8001E0B4 -/* 01EC30 8001E030 00105100 */ sll $t2, $s0, 4 -.L8001E034: -/* 01EC34 8001E034 00EA1021 */ addu $v0, $a3, $t2 -/* 01EC38 8001E038 904B0001 */ lbu $t3, 1($v0) -/* 01EC3C 8001E03C 904F0002 */ lbu $t7, 2($v0) -/* 01EC40 8001E040 000B6080 */ sll $t4, $t3, 2 -/* 01EC44 8001E044 026C1821 */ addu $v1, $s3, $t4 -/* 01EC48 8001E048 846D0000 */ lh $t5, ($v1) -/* 01EC4C 8001E04C 000FC880 */ sll $t9, $t7, 2 -/* 01EC50 8001E050 A44D0004 */ sh $t5, 4($v0) -/* 01EC54 8001E054 846E0002 */ lh $t6, 2($v1) -/* 01EC58 8001E058 02792021 */ addu $a0, $s3, $t9 -/* 01EC5C 8001E05C A44E0006 */ sh $t6, 6($v0) -/* 01EC60 8001E060 84980000 */ lh $t8, ($a0) -/* 01EC64 8001E064 90490003 */ lbu $t1, 3($v0) -/* 01EC68 8001E068 A4580008 */ sh $t8, 8($v0) -/* 01EC6C 8001E06C 84880002 */ lh $t0, 2($a0) -/* 01EC70 8001E070 00095080 */ sll $t2, $t1, 2 -/* 01EC74 8001E074 026A2821 */ addu $a1, $s3, $t2 -/* 01EC78 8001E078 A448000A */ sh $t0, 0xa($v0) -/* 01EC7C 8001E07C 84AB0000 */ lh $t3, ($a1) -/* 01EC80 8001E080 26100001 */ addiu $s0, $s0, 1 -/* 01EC84 8001E084 A44B000C */ sh $t3, 0xc($v0) -/* 01EC88 8001E088 84AC0002 */ lh $t4, 2($a1) -/* 01EC8C 8001E08C 00106C00 */ sll $t5, $s0, 0x10 -/* 01EC90 8001E090 A44C000E */ sh $t4, 0xe($v0) -/* 01EC94 8001E094 8FC60038 */ lw $a2, 0x38($fp) -/* 01EC98 8001E098 000D8403 */ sra $s0, $t5, 0x10 -/* 01EC9C 8001E09C 00D77821 */ addu $t7, $a2, $s7 -/* 01ECA0 8001E0A0 85F90010 */ lh $t9, 0x10($t7) -/* 01ECA4 8001E0A4 00000000 */ nop -/* 01ECA8 8001E0A8 0219082A */ slt $at, $s0, $t9 -/* 01ECAC 8001E0AC 1420FFE1 */ bnez $at, .L8001E034 -/* 01ECB0 8001E0B0 00105100 */ sll $t2, $s0, 4 -.L8001E0B4: -/* 01ECB4 8001E0B4 87C20028 */ lh $v0, 0x28($fp) -/* 01ECB8 8001E0B8 1000000D */ b .L8001E0F0 -/* 01ECBC 8001E0BC 87AD0062 */ lh $t5, 0x62($sp) -.L8001E0C0: -/* 01ECC0 8001E0C0 90B80006 */ lbu $t8, 6($a1) -/* 01ECC4 8001E0C4 00000000 */ nop -/* 01ECC8 8001E0C8 2B0100FF */ slti $at, $t8, 0xff -/* 01ECCC 8001E0CC 10200008 */ beqz $at, .L8001E0F0 -/* 01ECD0 8001E0D0 87AD0062 */ lh $t5, 0x62($sp) -/* 01ECD4 8001E0D4 84A8000E */ lh $t0, 0xe($a1) -/* 01ECD8 8001E0D8 84AA0002 */ lh $t2, 2($a1) -/* 01ECDC 8001E0DC 02884821 */ addu $t1, $s4, $t0 -/* 01ECE0 8001E0E0 012AA023 */ subu $s4, $t1, $t2 -/* 01ECE4 8001E0E4 00145C00 */ sll $t3, $s4, 0x10 -/* 01ECE8 8001E0E8 000BA403 */ sra $s4, $t3, 0x10 -/* 01ECEC 8001E0EC 87AD0062 */ lh $t5, 0x62($sp) -.L8001E0F0: -/* 01ECF0 8001E0F0 00000000 */ nop -/* 01ECF4 8001E0F4 25AE0001 */ addiu $t6, $t5, 1 -/* 01ECF8 8001E0F8 000E7C00 */ sll $t7, $t6, 0x10 -/* 01ECFC 8001E0FC 000FCC03 */ sra $t9, $t7, 0x10 -/* 01ED00 8001E100 0322082A */ slt $at, $t9, $v0 -/* 01ED04 8001E104 1420FF41 */ bnez $at, .L8001DE0C -/* 01ED08 8001E108 A7AE0062 */ sh $t6, 0x62($sp) -.L8001E10C: -/* 01ED0C 8001E10C 8FBF003C */ lw $ra, 0x3c($sp) -/* 01ED10 8001E110 8FB00018 */ lw $s0, 0x18($sp) -/* 01ED14 8001E114 8FB1001C */ lw $s1, 0x1c($sp) -/* 01ED18 8001E118 8FB20020 */ lw $s2, 0x20($sp) -/* 01ED1C 8001E11C 8FB30024 */ lw $s3, 0x24($sp) -/* 01ED20 8001E120 8FB40028 */ lw $s4, 0x28($sp) -/* 01ED24 8001E124 8FB5002C */ lw $s5, 0x2c($sp) -/* 01ED28 8001E128 8FB60030 */ lw $s6, 0x30($sp) -/* 01ED2C 8001E12C 8FB70034 */ lw $s7, 0x34($sp) -/* 01ED30 8001E130 8FBE0038 */ lw $fp, 0x38($sp) -/* 01ED34 8001E134 03E00008 */ jr $ra -/* 01ED38 8001E138 27BD0118 */ addiu $sp, $sp, 0x118 diff --git a/asm/non_matchings/objects/decrypt_magic_codes.s b/asm/non_matchings/objects/decrypt_magic_codes.s deleted file mode 100644 index 0e3b56f2..00000000 --- a/asm/non_matchings/objects/decrypt_magic_codes.s +++ /dev/null @@ -1,102 +0,0 @@ -glabel decrypt_magic_codes -/* 00CED8 8000C2D8 00053083 */ sra $a2, $a1, 2 -/* 00CEDC 8000C2DC 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 00CEE0 8000C2E0 00801025 */ move $v0, $a0 -/* 00CEE4 8000C2E4 18C0005C */ blez $a2, .L8000C458 -/* 00CEE8 8000C2E8 00001825 */ move $v1, $zero -.L8000C2EC: -/* 00CEEC 8000C2EC 904E0003 */ lbu $t6, 3($v0) -/* 00CEF0 8000C2F0 90590000 */ lbu $t9, ($v0) -/* 00CEF4 8000C2F4 31CF00C0 */ andi $t7, $t6, 0xc0 -/* 00CEF8 8000C2F8 904B0001 */ lbu $t3, 1($v0) -/* 00CEFC 8000C2FC 000FC183 */ sra $t8, $t7, 6 -/* 00CF00 8000C300 904F0002 */ lbu $t7, 2($v0) -/* 00CF04 8000C304 332900C0 */ andi $t1, $t9, 0xc0 -/* 00CF08 8000C308 03095025 */ or $t2, $t8, $t1 -/* 00CF0C 8000C30C 316C00C0 */ andi $t4, $t3, 0xc0 -/* 00CF10 8000C310 000C6883 */ sra $t5, $t4, 2 -/* 00CF14 8000C314 31F900C0 */ andi $t9, $t7, 0xc0 -/* 00CF18 8000C318 0019C103 */ sra $t8, $t9, 4 -/* 00CF1C 8000C31C 014D7025 */ or $t6, $t2, $t5 -/* 00CF20 8000C320 01D84825 */ or $t1, $t6, $t8 -/* 00CF24 8000C324 A3A90000 */ sb $t1, ($sp) -/* 00CF28 8000C328 904B0003 */ lbu $t3, 3($v0) -/* 00CF2C 8000C32C 904D0000 */ lbu $t5, ($v0) -/* 00CF30 8000C330 316C0030 */ andi $t4, $t3, 0x30 -/* 00CF34 8000C334 000C5103 */ sra $t2, $t4, 4 -/* 00CF38 8000C338 904C0002 */ lbu $t4, 2($v0) -/* 00CF3C 8000C33C 90580001 */ lbu $t8, 1($v0) -/* 00CF40 8000C340 31AF0030 */ andi $t7, $t5, 0x30 -/* 00CF44 8000C344 000FC880 */ sll $t9, $t7, 2 -/* 00CF48 8000C348 01597025 */ or $t6, $t2, $t9 -/* 00CF4C 8000C34C 318D0030 */ andi $t5, $t4, 0x30 -/* 00CF50 8000C350 33090030 */ andi $t1, $t8, 0x30 -/* 00CF54 8000C354 01C95825 */ or $t3, $t6, $t1 -/* 00CF58 8000C358 000D7883 */ sra $t7, $t5, 2 -/* 00CF5C 8000C35C 016F5025 */ or $t2, $t3, $t7 -/* 00CF60 8000C360 A3AA0001 */ sb $t2, 1($sp) -/* 00CF64 8000C364 90490000 */ lbu $t1, ($v0) -/* 00CF68 8000C368 90590003 */ lbu $t9, 3($v0) -/* 00CF6C 8000C36C 904F0001 */ lbu $t7, 1($v0) -/* 00CF70 8000C370 312C000C */ andi $t4, $t1, 0xc -/* 00CF74 8000C374 3338000C */ andi $t8, $t9, 0xc -/* 00CF78 8000C378 90490002 */ lbu $t1, 2($v0) -/* 00CF7C 8000C37C 00187083 */ sra $t6, $t8, 2 -/* 00CF80 8000C380 000C6900 */ sll $t5, $t4, 4 -/* 00CF84 8000C384 31EA000C */ andi $t2, $t7, 0xc -/* 00CF88 8000C388 000AC880 */ sll $t9, $t2, 2 -/* 00CF8C 8000C38C 01CD5825 */ or $t3, $t6, $t5 -/* 00CF90 8000C390 0179C025 */ or $t8, $t3, $t9 -/* 00CF94 8000C394 312C000C */ andi $t4, $t1, 0xc -/* 00CF98 8000C398 030C7025 */ or $t6, $t8, $t4 -/* 00CF9C 8000C39C A3AE0002 */ sb $t6, 2($sp) -/* 00CFA0 8000C3A0 904D0003 */ lbu $t5, 3($v0) -/* 00CFA4 8000C3A4 90580001 */ lbu $t8, 1($v0) -/* 00CFA8 8000C3A8 904B0000 */ lbu $t3, ($v0) -/* 00CFAC 8000C3AC 31AF0003 */ andi $t7, $t5, 3 -/* 00CFB0 8000C3B0 330C0003 */ andi $t4, $t8, 3 -/* 00CFB4 8000C3B4 000BC980 */ sll $t9, $t3, 6 -/* 00CFB8 8000C3B8 904A0002 */ lbu $t2, 2($v0) -/* 00CFBC 8000C3BC 93A40000 */ lbu $a0, ($sp) -/* 00CFC0 8000C3C0 01F94825 */ or $t1, $t7, $t9 -/* 00CFC4 8000C3C4 000C7100 */ sll $t6, $t4, 4 -/* 00CFC8 8000C3C8 012E6825 */ or $t5, $t1, $t6 -/* 00CFCC 8000C3CC 314B0003 */ andi $t3, $t2, 3 -/* 00CFD0 8000C3D0 000B7880 */ sll $t7, $t3, 2 -/* 00CFD4 8000C3D4 308900AA */ andi $t1, $a0, 0xaa -/* 00CFD8 8000C3D8 30980055 */ andi $t8, $a0, 0x55 -/* 00CFDC 8000C3DC 01AFC825 */ or $t9, $t5, $t7 -/* 00CFE0 8000C3E0 00186040 */ sll $t4, $t8, 1 -/* 00CFE4 8000C3E4 00097043 */ sra $t6, $t1, 1 -/* 00CFE8 8000C3E8 A3B90003 */ sb $t9, 3($sp) -/* 00CFEC 8000C3EC 018E5025 */ or $t2, $t4, $t6 -/* 00CFF0 8000C3F0 A04A0000 */ sb $t2, ($v0) -/* 00CFF4 8000C3F4 93A50001 */ lbu $a1, 1($sp) -/* 00CFF8 8000C3F8 24630001 */ addiu $v1, $v1, 1 -/* 00CFFC 8000C3FC 30AB0055 */ andi $t3, $a1, 0x55 -/* 00D000 8000C400 30AF00AA */ andi $t7, $a1, 0xaa -/* 00D004 8000C404 000FC843 */ sra $t9, $t7, 1 -/* 00D008 8000C408 000B6840 */ sll $t5, $t3, 1 -/* 00D00C 8000C40C 01B9C025 */ or $t8, $t5, $t9 -/* 00D010 8000C410 A0580001 */ sb $t8, 1($v0) -/* 00D014 8000C414 93A70002 */ lbu $a3, 2($sp) -/* 00D018 8000C418 24420004 */ addiu $v0, $v0, 4 -/* 00D01C 8000C41C 30E90055 */ andi $t1, $a3, 0x55 -/* 00D020 8000C420 30EE00AA */ andi $t6, $a3, 0xaa -/* 00D024 8000C424 000E5043 */ sra $t2, $t6, 1 -/* 00D028 8000C428 00096040 */ sll $t4, $t1, 1 -/* 00D02C 8000C42C 018A5825 */ or $t3, $t4, $t2 -/* 00D030 8000C430 A04BFFFE */ sb $t3, -2($v0) -/* 00D034 8000C434 93A80003 */ lbu $t0, 3($sp) -/* 00D038 8000C438 00000000 */ nop -/* 00D03C 8000C43C 310F0055 */ andi $t7, $t0, 0x55 -/* 00D040 8000C440 311900AA */ andi $t9, $t0, 0xaa -/* 00D044 8000C444 0019C043 */ sra $t8, $t9, 1 -/* 00D048 8000C448 000F6840 */ sll $t5, $t7, 1 -/* 00D04C 8000C44C 01B84825 */ or $t1, $t5, $t8 -/* 00D050 8000C450 1466FFA6 */ bne $v1, $a2, .L8000C2EC -/* 00D054 8000C454 A049FFFF */ sb $t1, -1($v0) -.L8000C458: -/* 00D058 8000C458 03E00008 */ jr $ra -/* 00D05C 8000C45C 27BD0010 */ addiu $sp, $sp, 0x10 - diff --git a/asm/non_matchings/objects/func_8000B38C.s b/asm/non_matchings/objects/func_8000B38C.s deleted file mode 100644 index b2b51608..00000000 --- a/asm/non_matchings/objects/func_8000B38C.s +++ /dev/null @@ -1,246 +0,0 @@ -glabel func_8000B38C -/* 00BF8C 8000B38C 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 00BF90 8000B390 C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 00BF94 8000B394 AFB60040 */ sw $s6, 0x40($sp) -/* 00BF98 8000B398 AFB5003C */ sw $s5, 0x3c($sp) -/* 00BF9C 8000B39C E7B4001C */ swc1 $f20, 0x1c($sp) -/* 00BFA0 8000B3A0 4487A000 */ mtc1 $a3, $f20 -/* 00BFA4 8000B3A4 27B50064 */ addiu $s5, $sp, 0x64 -/* 00BFA8 8000B3A8 0080B025 */ move $s6, $a0 -/* 00BFAC 8000B3AC AFBF0044 */ sw $ra, 0x44($sp) -/* 00BFB0 8000B3B0 AFB30034 */ sw $s3, 0x34($sp) -/* 00BFB4 8000B3B4 AFA500A4 */ sw $a1, 0xa4($sp) -/* 00BFB8 8000B3B8 46002187 */ neg.s $f6, $f4 -/* 00BFBC 8000B3BC 00C09825 */ move $s3, $a2 -/* 00BFC0 8000B3C0 AFB40038 */ sw $s4, 0x38($sp) -/* 00BFC4 8000B3C4 AFB20030 */ sw $s2, 0x30($sp) -/* 00BFC8 8000B3C8 AFB1002C */ sw $s1, 0x2c($sp) -/* 00BFCC 8000B3CC AFB00028 */ sw $s0, 0x28($sp) -/* 00BFD0 8000B3D0 E7B70020 */ swc1 $f23, 0x20($sp) -/* 00BFD4 8000B3D4 E7B60024 */ swc1 $f22, 0x24($sp) -/* 00BFD8 8000B3D8 E7B50018 */ swc1 $f21, 0x18($sp) -/* 00BFDC 8000B3DC E7A6006C */ swc1 $f6, 0x6c($sp) -/* 00BFE0 8000B3E0 02A02825 */ move $a1, $s5 -/* 00BFE4 8000B3E4 0C01C124 */ jal f32_vec3_apply_object_rotation3 -/* 00BFE8 8000B3E8 00C02025 */ move $a0, $a2 -/* 00BFEC 8000B3EC C7A80064 */ lwc1 $f8, 0x64($sp) -/* 00BFF0 8000B3F0 C66A000C */ lwc1 $f10, 0xc($s3) -/* 00BFF4 8000B3F4 02C08025 */ move $s0, $s6 -/* 00BFF8 8000B3F8 460A4400 */ add.s $f16, $f8, $f10 -/* 00BFFC 8000B3FC 2414FFFF */ li $s4, -1 -/* 00C000 8000B400 444EF800 */ cfc1 $t6, $31 -/* 00C004 8000B404 3C12800E */ lui $s2, %hi(D_800DC768) # $s2, 0x800e -/* 00C008 8000B408 35C10003 */ ori $at, $t6, 3 -/* 00C00C 8000B40C 38210002 */ xori $at, $at, 2 -/* 00C010 8000B410 44C1F800 */ ctc1 $at, $31 -/* 00C014 8000B414 4480B000 */ mtc1 $zero, $f22 -/* 00C018 8000B418 460084A4 */ cvt.w.s $f18, $f16 -/* 00C01C 8000B41C 2610000A */ addiu $s0, $s0, 0xa -/* 00C020 8000B420 440F9000 */ mfc1 $t7, $f18 -/* 00C024 8000B424 44CEF800 */ ctc1 $t6, $31 -/* 00C028 8000B428 A6CF0000 */ sh $t7, ($s6) -/* 00C02C 8000B42C C6660010 */ lwc1 $f6, 0x10($s3) -/* 00C030 8000B430 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 00C034 8000B434 2652C768 */ addiu $s2, %lo(D_800DC768) # addiu $s2, $s2, -0x3898 -/* 00C038 8000B438 46062200 */ add.s $f8, $f4, $f6 -/* 00C03C 8000B43C 00008825 */ move $s1, $zero -/* 00C040 8000B440 4458F800 */ cfc1 $t8, $31 -/* 00C044 8000B444 00000000 */ nop -/* 00C048 8000B448 37010003 */ ori $at, $t8, 3 -/* 00C04C 8000B44C 38210002 */ xori $at, $at, 2 -/* 00C050 8000B450 44C1F800 */ ctc1 $at, $31 -/* 00C054 8000B454 35C10003 */ ori $at, $t6, 3 -/* 00C058 8000B458 460042A4 */ cvt.w.s $f10, $f8 -/* 00C05C 8000B45C 38210002 */ xori $at, $at, 2 -/* 00C060 8000B460 44195000 */ mfc1 $t9, $f10 -/* 00C064 8000B464 44D8F800 */ ctc1 $t8, $31 -/* 00C068 8000B468 A619FFF8 */ sh $t9, -8($s0) -/* 00C06C 8000B46C C6720014 */ lwc1 $f18, 0x14($s3) -/* 00C070 8000B470 C7B0006C */ lwc1 $f16, 0x6c($sp) -/* 00C074 8000B474 A614FFFC */ sh $s4, -4($s0) -/* 00C078 8000B478 46128100 */ add.s $f4, $f16, $f18 -/* 00C07C 8000B47C A614FFFE */ sh $s4, -2($s0) -/* 00C080 8000B480 44C1F800 */ ctc1 $at, $31 -/* 00C084 8000B484 00000000 */ nop -/* 00C088 8000B488 460021A4 */ cvt.w.s $f6, $f4 -/* 00C08C 8000B48C 440F3000 */ mfc1 $t7, $f6 -/* 00C090 8000B490 44CEF800 */ ctc1 $t6, $31 -/* 00C094 8000B494 A60FFFFA */ sh $t7, -6($s0) -/* 00C098 8000B498 00000000 */ nop -.L8000B49C: -/* 00C09C 8000B49C C6480000 */ lwc1 $f8, ($s2) -/* 00C0A0 8000B4A0 26520008 */ addiu $s2, $s2, 8 -/* 00C0A4 8000B4A4 46144282 */ mul.s $f10, $f8, $f20 -/* 00C0A8 8000B4A8 02602025 */ move $a0, $s3 -/* 00C0AC 8000B4AC 02A02825 */ move $a1, $s5 -/* 00C0B0 8000B4B0 E7AA0064 */ swc1 $f10, 0x64($sp) -/* 00C0B4 8000B4B4 C650FFFC */ lwc1 $f16, -4($s2) -/* 00C0B8 8000B4B8 E7B6006C */ swc1 $f22, 0x6c($sp) -/* 00C0BC 8000B4BC 46148482 */ mul.s $f18, $f16, $f20 -/* 00C0C0 8000B4C0 0C01C0C8 */ jal f32_vec3_apply_object_rotation -/* 00C0C4 8000B4C4 E7B20068 */ swc1 $f18, 0x68($sp) -/* 00C0C8 8000B4C8 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 00C0CC 8000B4CC C666000C */ lwc1 $f6, 0xc($s3) -/* 00C0D0 8000B4D0 26310001 */ addiu $s1, $s1, 1 -/* 00C0D4 8000B4D4 46062200 */ add.s $f8, $f4, $f6 -/* 00C0D8 8000B4D8 2610000A */ addiu $s0, $s0, 0xa -/* 00C0DC 8000B4DC 4458F800 */ cfc1 $t8, $31 -/* 00C0E0 8000B4E0 00000000 */ nop -/* 00C0E4 8000B4E4 37010003 */ ori $at, $t8, 3 -/* 00C0E8 8000B4E8 38210002 */ xori $at, $at, 2 -/* 00C0EC 8000B4EC 44C1F800 */ ctc1 $at, $31 -/* 00C0F0 8000B4F0 00000000 */ nop -/* 00C0F4 8000B4F4 460042A4 */ cvt.w.s $f10, $f8 -/* 00C0F8 8000B4F8 44195000 */ mfc1 $t9, $f10 -/* 00C0FC 8000B4FC 44D8F800 */ ctc1 $t8, $31 -/* 00C100 8000B500 A619FFF6 */ sh $t9, -0xa($s0) -/* 00C104 8000B504 C6720010 */ lwc1 $f18, 0x10($s3) -/* 00C108 8000B508 C7B00068 */ lwc1 $f16, 0x68($sp) -/* 00C10C 8000B50C 00000000 */ nop -/* 00C110 8000B510 46128100 */ add.s $f4, $f16, $f18 -/* 00C114 8000B514 444EF800 */ cfc1 $t6, $31 -/* 00C118 8000B518 00000000 */ nop -/* 00C11C 8000B51C 35C10003 */ ori $at, $t6, 3 -/* 00C120 8000B520 38210002 */ xori $at, $at, 2 -/* 00C124 8000B524 44C1F800 */ ctc1 $at, $31 -/* 00C128 8000B528 37010003 */ ori $at, $t8, 3 -/* 00C12C 8000B52C 460021A4 */ cvt.w.s $f6, $f4 -/* 00C130 8000B530 38210002 */ xori $at, $at, 2 -/* 00C134 8000B534 440F3000 */ mfc1 $t7, $f6 -/* 00C138 8000B538 44CEF800 */ ctc1 $t6, $31 -/* 00C13C 8000B53C A60FFFF8 */ sh $t7, -8($s0) -/* 00C140 8000B540 C66A0014 */ lwc1 $f10, 0x14($s3) -/* 00C144 8000B544 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 00C148 8000B548 A614FFFC */ sh $s4, -4($s0) -/* 00C14C 8000B54C 460A4400 */ add.s $f16, $f8, $f10 -/* 00C150 8000B550 A614FFFE */ sh $s4, -2($s0) -/* 00C154 8000B554 44C1F800 */ ctc1 $at, $31 -/* 00C158 8000B558 2A210008 */ slti $at, $s1, 8 -/* 00C15C 8000B55C 460084A4 */ cvt.w.s $f18, $f16 -/* 00C160 8000B560 44199000 */ mfc1 $t9, $f18 -/* 00C164 8000B564 44D8F800 */ ctc1 $t8, $31 -/* 00C168 8000B568 1420FFCC */ bnez $at, .L8000B49C -/* 00C16C 8000B56C A619FFFA */ sh $t9, -6($s0) -/* 00C170 8000B570 8FA200B8 */ lw $v0, 0xb8($sp) -/* 00C174 8000B574 87B100B6 */ lh $s1, 0xb6($sp) -/* 00C178 8000B578 90560001 */ lbu $s6, 1($v0) -/* 00C17C 8000B57C 90520000 */ lbu $s2, ($v0) -/* 00C180 8000B580 26D6FFFF */ addiu $s6, $s6, -1 -/* 00C184 8000B584 00167900 */ sll $t7, $s6, 4 -/* 00C188 8000B588 2652FFFF */ addiu $s2, $s2, -1 -/* 00C18C 8000B58C 00127100 */ sll $t6, $s2, 4 -/* 00C190 8000B590 01C09025 */ move $s2, $t6 -/* 00C194 8000B594 01E0B025 */ move $s6, $t7 -/* 00C198 8000B598 000F9C00 */ sll $s3, $t7, 0x10 -/* 00C19C 8000B59C 27B00080 */ addiu $s0, $sp, 0x80 -/* 00C1A0 8000B5A0 27B500A0 */ addiu $s5, $sp, 0xa0 -/* 00C1A4 8000B5A4 3C14FFFF */ lui $s4, 0xffff -.L8000B5A8: -/* 00C1A8 8000B5A8 00112400 */ sll $a0, $s1, 0x10 -/* 00C1AC 8000B5AC 0004C403 */ sra $t8, $a0, 0x10 -/* 00C1B0 8000B5B0 0C01C20C */ jal sins_s16 -/* 00C1B4 8000B5B4 03002025 */ move $a0, $t8 -/* 00C1B8 8000B5B8 00520019 */ multu $v0, $s2 -/* 00C1BC 8000B5BC 00112400 */ sll $a0, $s1, 0x10 -/* 00C1C0 8000B5C0 0004C403 */ sra $t8, $a0, 0x10 -/* 00C1C4 8000B5C4 03002025 */ move $a0, $t8 -/* 00C1C8 8000B5C8 0000C812 */ mflo $t9 -/* 00C1CC 8000B5CC 00197403 */ sra $t6, $t9, 0x10 -/* 00C1D0 8000B5D0 01D27821 */ addu $t7, $t6, $s2 -/* 00C1D4 8000B5D4 0C01C20B */ jal coss_s16 -/* 00C1D8 8000B5D8 AE0F0000 */ sw $t7, ($s0) -/* 00C1DC 8000B5DC 02C20019 */ multu $s6, $v0 -/* 00C1E0 8000B5E0 8E190000 */ lw $t9, ($s0) -/* 00C1E4 8000B5E4 26312000 */ addiu $s1, $s1, 0x2000 -/* 00C1E8 8000B5E8 26100004 */ addiu $s0, $s0, 4 -/* 00C1EC 8000B5EC 0215082B */ sltu $at, $s0, $s5 -/* 00C1F0 8000B5F0 00007012 */ mflo $t6 -/* 00C1F4 8000B5F4 026E7821 */ addu $t7, $s3, $t6 -/* 00C1F8 8000B5F8 01F4C024 */ and $t8, $t7, $s4 -/* 00C1FC 8000B5FC 00117C00 */ sll $t7, $s1, 0x10 -/* 00C200 8000B600 03387025 */ or $t6, $t9, $t8 -/* 00C204 8000B604 000FCC03 */ sra $t9, $t7, 0x10 -/* 00C208 8000B608 AE0EFFFC */ sw $t6, -4($s0) -/* 00C20C 8000B60C 1420FFE6 */ bnez $at, .L8000B5A8 -/* 00C210 8000B610 03208825 */ move $s1, $t9 -/* 00C214 8000B614 00127400 */ sll $t6, $s2, 0x10 -/* 00C218 8000B618 32CFFFFF */ andi $t7, $s6, 0xffff -/* 00C21C 8000B61C 8FA200A4 */ lw $v0, 0xa4($sp) -/* 00C220 8000B620 A7B900B6 */ sh $t9, 0xb6($sp) -/* 00C224 8000B624 01CF6025 */ or $t4, $t6, $t7 -/* 00C228 8000B628 00008825 */ move $s1, $zero -/* 00C22C 8000B62C 27B00080 */ addiu $s0, $sp, 0x80 -/* 00C230 8000B630 240D0008 */ li $t5, 8 -/* 00C234 8000B634 27A40080 */ addiu $a0, $sp, 0x80 -.L8000B638: -/* 00C238 8000B638 26250001 */ addiu $a1, $s1, 1 -/* 00C23C 8000B63C 30A60007 */ andi $a2, $a1, 7 -/* 00C240 8000B640 24D80001 */ addiu $t8, $a2, 1 -/* 00C244 8000B644 0005CA00 */ sll $t9, $a1, 8 -/* 00C248 8000B648 03387025 */ or $t6, $t9, $t8 -/* 00C24C 8000B64C AC4E0000 */ sw $t6, ($v0) -/* 00C250 8000B650 AC4C0004 */ sw $t4, 4($v0) -/* 00C254 8000B654 8E0F0000 */ lw $t7, ($s0) -/* 00C258 8000B658 0006C880 */ sll $t9, $a2, 2 -/* 00C25C 8000B65C 0099C021 */ addu $t8, $a0, $t9 -/* 00C260 8000B660 AC4F0008 */ sw $t7, 8($v0) -/* 00C264 8000B664 8F0E0000 */ lw $t6, ($t8) -/* 00C268 8000B668 26270002 */ addiu $a3, $s1, 2 -/* 00C26C 8000B66C 30E80007 */ andi $t0, $a3, 7 -/* 00C270 8000B670 25190001 */ addiu $t9, $t0, 1 -/* 00C274 8000B674 00077A00 */ sll $t7, $a3, 8 -/* 00C278 8000B678 01F9C025 */ or $t8, $t7, $t9 -/* 00C27C 8000B67C AC580010 */ sw $t8, 0x10($v0) -/* 00C280 8000B680 AC4C0014 */ sw $t4, 0x14($v0) -/* 00C284 8000B684 AC4E000C */ sw $t6, 0xc($v0) -/* 00C288 8000B688 8E0E0004 */ lw $t6, 4($s0) -/* 00C28C 8000B68C 00087880 */ sll $t7, $t0, 2 -/* 00C290 8000B690 008FC821 */ addu $t9, $a0, $t7 -/* 00C294 8000B694 AC4E0018 */ sw $t6, 0x18($v0) -/* 00C298 8000B698 8F380000 */ lw $t8, ($t9) -/* 00C29C 8000B69C 26290003 */ addiu $t1, $s1, 3 -/* 00C2A0 8000B6A0 312A0007 */ andi $t2, $t1, 7 -/* 00C2A4 8000B6A4 254F0001 */ addiu $t7, $t2, 1 -/* 00C2A8 8000B6A8 00097200 */ sll $t6, $t1, 8 -/* 00C2AC 8000B6AC 01CFC825 */ or $t9, $t6, $t7 -/* 00C2B0 8000B6B0 AC590020 */ sw $t9, 0x20($v0) -/* 00C2B4 8000B6B4 AC4C0024 */ sw $t4, 0x24($v0) -/* 00C2B8 8000B6B8 AC58001C */ sw $t8, 0x1c($v0) -/* 00C2BC 8000B6BC 8E180008 */ lw $t8, 8($s0) -/* 00C2C0 8000B6C0 000A7080 */ sll $t6, $t2, 2 -/* 00C2C4 8000B6C4 008E7821 */ addu $t7, $a0, $t6 -/* 00C2C8 8000B6C8 AC580028 */ sw $t8, 0x28($v0) -/* 00C2CC 8000B6CC 8DF90000 */ lw $t9, ($t7) -/* 00C2D0 8000B6D0 26230004 */ addiu $v1, $s1, 4 -/* 00C2D4 8000B6D4 306B0007 */ andi $t3, $v1, 7 -/* 00C2D8 8000B6D8 256E0001 */ addiu $t6, $t3, 1 -/* 00C2DC 8000B6DC 0003C200 */ sll $t8, $v1, 8 -/* 00C2E0 8000B6E0 030E7825 */ or $t7, $t8, $t6 -/* 00C2E4 8000B6E4 AC4F0030 */ sw $t7, 0x30($v0) -/* 00C2E8 8000B6E8 AC4C0034 */ sw $t4, 0x34($v0) -/* 00C2EC 8000B6EC AC59002C */ sw $t9, 0x2c($v0) -/* 00C2F0 8000B6F0 8E19000C */ lw $t9, 0xc($s0) -/* 00C2F4 8000B6F4 000BC080 */ sll $t8, $t3, 2 -/* 00C2F8 8000B6F8 00987021 */ addu $t6, $a0, $t8 -/* 00C2FC 8000B6FC AC590038 */ sw $t9, 0x38($v0) -/* 00C300 8000B700 8DCF0000 */ lw $t7, ($t6) -/* 00C304 8000B704 00608825 */ move $s1, $v1 -/* 00C308 8000B708 24420040 */ addiu $v0, $v0, 0x40 -/* 00C30C 8000B70C 26100010 */ addiu $s0, $s0, 0x10 -/* 00C310 8000B710 146DFFC9 */ bne $v1, $t5, .L8000B638 -/* 00C314 8000B714 AC4FFFFC */ sw $t7, -4($v0) -/* 00C318 8000B718 8FBF0044 */ lw $ra, 0x44($sp) -/* 00C31C 8000B71C C7B50018 */ lwc1 $f21, 0x18($sp) -/* 00C320 8000B720 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 00C324 8000B724 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 00C328 8000B728 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 00C32C 8000B72C 8FB00028 */ lw $s0, 0x28($sp) -/* 00C330 8000B730 8FB1002C */ lw $s1, 0x2c($sp) -/* 00C334 8000B734 8FB20030 */ lw $s2, 0x30($sp) -/* 00C338 8000B738 8FB30034 */ lw $s3, 0x34($sp) -/* 00C33C 8000B73C 8FB40038 */ lw $s4, 0x38($sp) -/* 00C340 8000B740 8FB5003C */ lw $s5, 0x3c($sp) -/* 00C344 8000B744 8FB60040 */ lw $s6, 0x40($sp) -/* 00C348 8000B748 03E00008 */ jr $ra -/* 00C34C 8000B74C 27BD00A0 */ addiu $sp, $sp, 0xa0 - diff --git a/asm/non_matchings/objects/func_8000B750.s b/asm/non_matchings/objects/func_8000B750.s deleted file mode 100644 index e9193a34..00000000 --- a/asm/non_matchings/objects/func_8000B750.s +++ /dev/null @@ -1,248 +0,0 @@ -.late_rodata -glabel D_800E5130 -.float 1.09 -glabel D_800E5134 -.float 1.18 - -.text -glabel func_8000B750 -/* 00C350 8000B750 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 00C354 8000B754 AFB00028 */ sw $s0, 0x28($sp) -/* 00C358 8000B758 2401FFFF */ li $at, -1 -/* 00C35C 8000B75C 00A08025 */ move $s0, $a1 -/* 00C360 8000B760 AFBF002C */ sw $ra, 0x2c($sp) -/* 00C364 8000B764 AFA40080 */ sw $a0, 0x80($sp) -/* 00C368 8000B768 14A10007 */ bne $a1, $at, .L8000B788 -/* 00C36C 8000B76C AFA7008C */ sw $a3, 0x8c($sp) -/* 00C370 8000B770 3C03800E */ lui $v1, %hi(D_800DC760) # $v1, 0x800e -/* 00C374 8000B774 2463C760 */ addiu $v1, %lo(D_800DC760) # addiu $v1, $v1, -0x38a0 -/* 00C378 8000B778 8C700000 */ lw $s0, ($v1) -/* 00C37C 8000B77C 00000000 */ nop -/* 00C380 8000B780 260EFFFF */ addiu $t6, $s0, -1 -/* 00C384 8000B784 AC6E0000 */ sw $t6, ($v1) -.L8000B788: -/* 00C388 8000B788 3C03800E */ lui $v1, %hi(D_800DC760) # $v1, 0x800e -/* 00C38C 8000B78C 2463C760 */ addiu $v1, %lo(D_800DC760) # addiu $v1, $v1, -0x38a0 -/* 00C390 8000B790 8C6F0000 */ lw $t7, ($v1) -/* 00C394 8000B794 2A01000A */ slti $at, $s0, 0xa -/* 00C398 8000B798 05E10002 */ bgez $t7, .L8000B7A4 -/* 00C39C 8000B79C 00000000 */ nop -/* 00C3A0 8000B7A0 AC600000 */ sw $zero, ($v1) -.L8000B7A4: -/* 00C3A4 8000B7A4 060000CA */ bltz $s0, .L8000BAD0 -/* 00C3A8 8000B7A8 8FBF002C */ lw $ra, 0x2c($sp) -/* 00C3AC 8000B7AC 102000C7 */ beqz $at, .L8000BACC -/* 00C3B0 8000B7B0 24040014 */ li $a0, 20 -/* 00C3B4 8000B7B4 0C0078A7 */ jal get_misc_asset -/* 00C3B8 8000B7B8 AFA60088 */ sw $a2, 0x88($sp) -/* 00C3BC 8000B7BC 3C0E8012 */ lui $t6, %hi(D_8011B020) # $t6, 0x8012 -/* 00C3C0 8000B7C0 25CEB020 */ addiu $t6, %lo(D_8011B020) # addiu $t6, $t6, -0x4fe0 -/* 00C3C4 8000B7C4 00106880 */ sll $t5, $s0, 2 -/* 00C3C8 8000B7C8 8FA5008C */ lw $a1, 0x8c($sp) -/* 00C3CC 8000B7CC 01AE5021 */ addu $t2, $t5, $t6 -/* 00C3D0 8000B7D0 8D470000 */ lw $a3, ($t2) -/* 00C3D4 8000B7D4 0010C9C0 */ sll $t9, $s0, 7 -/* 00C3D8 8000B7D8 8FA60088 */ lw $a2, 0x88($sp) -/* 00C3DC 8000B7DC 03221821 */ addu $v1, $t9, $v0 -/* 00C3E0 8000B7E0 0005C1C0 */ sll $t8, $a1, 7 -/* 00C3E4 8000B7E4 03026021 */ addu $t4, $t8, $v0 -/* 00C3E8 8000B7E8 10E000B8 */ beqz $a3, .L8000BACC -/* 00C3EC 8000B7EC 00605825 */ move $t3, $v1 -/* 00C3F0 8000B7F0 10C00009 */ beqz $a2, .L8000B818 -/* 00C3F4 8000B7F4 24010001 */ li $at, 1 -/* 00C3F8 8000B7F8 10C10009 */ beq $a2, $at, .L8000B820 -/* 00C3FC 8000B7FC 24010002 */ li $at, 2 -/* 00C400 8000B800 10C10009 */ beq $a2, $at, .L8000B828 -/* 00C404 8000B804 2401000D */ li $at, 13 -/* 00C408 8000B808 10C10009 */ beq $a2, $at, .L8000B830 -/* 00C40C 8000B80C 24620048 */ addiu $v0, $v1, 0x48 -/* 00C410 8000B810 10000007 */ b .L8000B830 -/* 00C414 8000B814 00001025 */ move $v0, $zero -.L8000B818: -/* 00C418 8000B818 10000005 */ b .L8000B830 -/* 00C41C 8000B81C 00601025 */ move $v0, $v1 -.L8000B820: -/* 00C420 8000B820 10000003 */ b .L8000B830 -/* 00C424 8000B824 24620024 */ addiu $v0, $v1, 0x24 -.L8000B828: -/* 00C428 8000B828 10000001 */ b .L8000B830 -/* 00C42C 8000B82C 24620048 */ addiu $v0, $v1, 0x48 -.L8000B830: -/* 00C430 8000B830 104000A1 */ beqz $v0, .L8000BAB8 -/* 00C434 8000B834 3C018012 */ lui $at, %hi(D_8011B048) # $at, 0x8012 -/* 00C438 8000B838 00300821 */ addu $at, $at, $s0 -/* 00C43C 8000B83C A026B048 */ sb $a2, %lo(D_8011B048)($at) -/* 00C440 8000B840 3C018012 */ lui $at, %hi(D_8011B058) # $at, 0x8012 -/* 00C444 8000B844 00300821 */ addu $at, $at, $s0 -/* 00C448 8000B848 A025B058 */ sb $a1, %lo(D_8011B058)($at) -/* 00C44C 8000B84C 906F0070 */ lbu $t7, 0x70($v1) -/* 00C450 8000B850 24010002 */ li $at, 2 -/* 00C454 8000B854 15E10070 */ bne $t7, $at, .L8000BA18 -/* 00C458 8000B858 8FA40080 */ lw $a0, 0x80($sp) -/* 00C45C 8000B85C 91780072 */ lbu $t8, 0x72($t3) -/* 00C460 8000B860 AFAC0048 */ sw $t4, 0x48($sp) -/* 00C464 8000B864 0018CF00 */ sll $t9, $t8, 0x1c -/* 00C468 8000B868 00192403 */ sra $a0, $t9, 0x10 -/* 00C46C 8000B86C AFAB004C */ sw $t3, 0x4c($sp) -/* 00C470 8000B870 AFAA0038 */ sw $t2, 0x38($sp) -/* 00C474 8000B874 0C01C1FE */ jal coss_f -/* 00C478 8000B878 AFA20044 */ sw $v0, 0x44($sp) -/* 00C47C 8000B87C 8FA20044 */ lw $v0, 0x44($sp) -/* 00C480 8000B880 8FAB004C */ lw $t3, 0x4c($sp) -/* 00C484 8000B884 C4460018 */ lwc1 $f6, 0x18($v0) -/* 00C488 8000B888 C4440014 */ lwc1 $f4, 0x14($v0) -/* 00C48C 8000B88C 46060202 */ mul.s $f8, $f0, $f6 -/* 00C490 8000B890 C56C0074 */ lwc1 $f12, 0x74($t3) -/* 00C494 8000B894 C4520020 */ lwc1 $f18, 0x20($v0) -/* 00C498 8000B898 C450001C */ lwc1 $f16, 0x1c($v0) -/* 00C49C 8000B89C 46082280 */ add.s $f10, $f4, $f8 -/* 00C4A0 8000B8A0 8FA5008C */ lw $a1, 0x8c($sp) -/* 00C4A4 8000B8A4 460C5082 */ mul.s $f2, $f10, $f12 -/* 00C4A8 8000B8A8 8FAA0038 */ lw $t2, 0x38($sp) -/* 00C4AC 8000B8AC 8FAC0048 */ lw $t4, 0x48($sp) -/* 00C4B0 8000B8B0 24010001 */ li $at, 1 -/* 00C4B4 8000B8B4 46120182 */ mul.s $f6, $f0, $f18 -/* 00C4B8 8000B8B8 3C088012 */ lui $t0, %hi(D_8011AFFC) # $t0, 0x8012 -/* 00C4BC 8000B8BC 3C098012 */ lui $t1, %hi(D_8011B004) # $t1, 0x8012 -/* 00C4C0 8000B8C0 30A30003 */ andi $v1, $a1, 3 -/* 00C4C4 8000B8C4 46068100 */ add.s $f4, $f16, $f6 -/* 00C4C8 8000B8C8 2529B004 */ addiu $t1, %lo(D_8011B004) # addiu $t1, $t1, -0x4ffc -/* 00C4CC 8000B8CC 460C2382 */ mul.s $f14, $f4, $f12 -/* 00C4D0 8000B8D0 14610008 */ bne $v1, $at, .L8000B8F4 -/* 00C4D4 8000B8D4 2508AFFC */ addiu $t0, %lo(D_8011AFFC) # addiu $t0, $t0, -0x5004 -/* 00C4D8 8000B8D8 3C01800E */ lui $at, %hi(D_800E5130) # $at, 0x800e -/* 00C4DC 8000B8DC C4205130 */ lwc1 $f0, %lo(D_800E5130)($at) -/* 00C4E0 8000B8E0 00000000 */ nop -/* 00C4E4 8000B8E4 46001082 */ mul.s $f2, $f2, $f0 -/* 00C4E8 8000B8E8 00000000 */ nop -/* 00C4EC 8000B8EC 46007382 */ mul.s $f14, $f14, $f0 -/* 00C4F0 8000B8F0 00000000 */ nop -.L8000B8F4: -/* 00C4F4 8000B8F4 28610002 */ slti $at, $v1, 2 -/* 00C4F8 8000B8F8 14200008 */ bnez $at, .L8000B91C -/* 00C4FC 8000B8FC 240E8000 */ li $t6, -32768 -/* 00C500 8000B900 3C01800E */ lui $at, %hi(D_800E5134) # $at, 0x800e -/* 00C504 8000B904 C4205134 */ lwc1 $f0, %lo(D_800E5134)($at) -/* 00C508 8000B908 00000000 */ nop -/* 00C50C 8000B90C 46001082 */ mul.s $f2, $f2, $f0 -/* 00C510 8000B910 00000000 */ nop -/* 00C514 8000B914 46007382 */ mul.s $f14, $f14, $f0 -/* 00C518 8000B918 00000000 */ nop -.L8000B91C: -/* 00C51C 8000B91C C4480000 */ lwc1 $f8, ($v0) -/* 00C520 8000B920 3C038012 */ lui $v1, %hi(D_8011B008) # $v1, 0x8012 -/* 00C524 8000B924 E7A8005C */ swc1 $f8, 0x5c($sp) -/* 00C528 8000B928 C44A0004 */ lwc1 $f10, 4($v0) -/* 00C52C 8000B92C 8C63B008 */ lw $v1, %lo(D_8011B008)($v1) -/* 00C530 8000B930 E7AA0060 */ swc1 $f10, 0x60($sp) -/* 00C534 8000B934 C4520008 */ lwc1 $f18, 8($v0) -/* 00C538 8000B938 8D190000 */ lw $t9, ($t0) -/* 00C53C 8000B93C 3C18800E */ lui $t8, %hi(D_800DC74C) # $t8, 0x800e -/* 00C540 8000B940 00037880 */ sll $t7, $v1, 2 -/* 00C544 8000B944 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 00C548 8000B948 030FC021 */ addu $t8, $t8, $t7 -/* 00C54C 8000B94C 00196880 */ sll $t5, $t9, 2 -/* 00C550 8000B950 44818000 */ mtc1 $at, $f16 -/* 00C554 8000B954 8F18C74C */ lw $t8, %lo(D_800DC74C)($t8) -/* 00C558 8000B958 01B96821 */ addu $t5, $t5, $t9 -/* 00C55C 8000B95C A7AE0050 */ sh $t6, 0x50($sp) -/* 00C560 8000B960 000D6840 */ sll $t5, $t5, 1 -/* 00C564 8000B964 A7A00052 */ sh $zero, 0x52($sp) -/* 00C568 8000B968 A7A00054 */ sh $zero, 0x54($sp) -/* 00C56C 8000B96C 3C0E800E */ lui $t6, %hi(D_800DC754) # $t6, 0x800e -/* 00C570 8000B970 E7AE0010 */ swc1 $f14, 0x10($sp) -/* 00C574 8000B974 E7B20064 */ swc1 $f18, 0x64($sp) -/* 00C578 8000B978 E7B00058 */ swc1 $f16, 0x58($sp) -/* 00C57C 8000B97C 030D2021 */ addu $a0, $t8, $t5 -/* 00C580 8000B980 91780072 */ lbu $t8, 0x72($t3) -/* 00C584 8000B984 01CF7021 */ addu $t6, $t6, $t7 -/* 00C588 8000B988 01E01825 */ move $v1, $t7 -/* 00C58C 8000B98C 8D2F0000 */ lw $t7, ($t1) -/* 00C590 8000B990 00186B00 */ sll $t5, $t8, 0xc -/* 00C594 8000B994 AFAD0014 */ sw $t5, 0x14($sp) -/* 00C598 8000B998 000FC900 */ sll $t9, $t7, 4 -/* 00C59C 8000B99C 8D8F007C */ lw $t7, 0x7c($t4) -/* 00C5A0 8000B9A0 8DCEC754 */ lw $t6, %lo(D_800DC754)($t6) -/* 00C5A4 8000B9A4 44071000 */ mfc1 $a3, $f2 -/* 00C5A8 8000B9A8 AFAA0038 */ sw $t2, 0x38($sp) -/* 00C5AC 8000B9AC AFA20044 */ sw $v0, 0x44($sp) -/* 00C5B0 8000B9B0 27A60050 */ addiu $a2, $sp, 0x50 -/* 00C5B4 8000B9B4 AFAF0018 */ sw $t7, 0x18($sp) -/* 00C5B8 8000B9B8 0C002CE3 */ jal func_8000B38C -/* 00C5BC 8000B9BC 01D92821 */ addu $a1, $t6, $t9 -/* 00C5C0 8000B9C0 3C088012 */ lui $t0, %hi(D_8011AFFC) # $t0, 0x8012 -/* 00C5C4 8000B9C4 2508AFFC */ addiu $t0, %lo(D_8011AFFC) # addiu $t0, $t0, -0x5004 -/* 00C5C8 8000B9C8 8D190000 */ lw $t9, ($t0) -/* 00C5CC 8000B9CC 3C098012 */ lui $t1, %hi(D_8011B004) # $t1, 0x8012 -/* 00C5D0 8000B9D0 8FAA0038 */ lw $t2, 0x38($sp) -/* 00C5D4 8000B9D4 2529B004 */ addiu $t1, %lo(D_8011B004) # addiu $t1, $t1, -0x4ffc -/* 00C5D8 8000B9D8 00107700 */ sll $t6, $s0, 0x1c -/* 00C5DC 8000B9DC 0019C380 */ sll $t8, $t9, 0xe -/* 00C5E0 8000B9E0 8D2F0000 */ lw $t7, ($t1) -/* 00C5E4 8000B9E4 01D86825 */ or $t5, $t6, $t8 -/* 00C5E8 8000B9E8 8D4E0000 */ lw $t6, ($t2) -/* 00C5EC 8000B9EC 8FA20044 */ lw $v0, 0x44($sp) -/* 00C5F0 8000B9F0 01AFC825 */ or $t9, $t5, $t7 -/* 00C5F4 8000B9F4 ADD9007C */ sw $t9, 0x7c($t6) -/* 00C5F8 8000B9F8 8D180000 */ lw $t8, ($t0) -/* 00C5FC 8000B9FC 8D2F0000 */ lw $t7, ($t1) -/* 00C600 8000BA00 270D0009 */ addiu $t5, $t8, 9 -/* 00C604 8000BA04 25F90008 */ addiu $t9, $t7, 8 -/* 00C608 8000BA08 8D470000 */ lw $a3, ($t2) -/* 00C60C 8000BA0C AD0D0000 */ sw $t5, ($t0) -/* 00C610 8000BA10 AD390000 */ sw $t9, ($t1) -/* 00C614 8000BA14 8FA40080 */ lw $a0, 0x80($sp) -.L8000BA18: -/* 00C618 8000BA18 44800000 */ mtc1 $zero, $f0 -/* 00C61C 8000BA1C ACE40078 */ sw $a0, 0x78($a3) -/* 00C620 8000BA20 8D4E0000 */ lw $t6, ($t2) -/* 00C624 8000BA24 27A50074 */ addiu $a1, $sp, 0x74 -/* 00C628 8000BA28 E5C0000C */ swc1 $f0, 0xc($t6) -/* 00C62C 8000BA2C 8D580000 */ lw $t8, ($t2) -/* 00C630 8000BA30 00000000 */ nop -/* 00C634 8000BA34 E7000010 */ swc1 $f0, 0x10($t8) -/* 00C638 8000BA38 8D4D0000 */ lw $t5, ($t2) -/* 00C63C 8000BA3C 00000000 */ nop -/* 00C640 8000BA40 E5A00014 */ swc1 $f0, 0x14($t5) -/* 00C644 8000BA44 C4460000 */ lwc1 $f6, ($v0) -/* 00C648 8000BA48 00000000 */ nop -/* 00C64C 8000BA4C E7A60074 */ swc1 $f6, 0x74($sp) -/* 00C650 8000BA50 C4440004 */ lwc1 $f4, 4($v0) -/* 00C654 8000BA54 00000000 */ nop -/* 00C658 8000BA58 E7A40078 */ swc1 $f4, 0x78($sp) -/* 00C65C 8000BA5C C4480008 */ lwc1 $f8, 8($v0) -/* 00C660 8000BA60 AFAA0038 */ sw $t2, 0x38($sp) -/* 00C664 8000BA64 0C01C0C8 */ jal f32_vec3_apply_object_rotation -/* 00C668 8000BA68 E7A8007C */ swc1 $f8, 0x7c($sp) -/* 00C66C 8000BA6C 0C004558 */ jal ignore_bounds_check -/* 00C670 8000BA70 00000000 */ nop -/* 00C674 8000BA74 8FA20080 */ lw $v0, 0x80($sp) -/* 00C678 8000BA78 C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 00C67C 8000BA7C C452000C */ lwc1 $f18, 0xc($v0) -/* 00C680 8000BA80 C7A60078 */ lwc1 $f6, 0x78($sp) -/* 00C684 8000BA84 46125400 */ add.s $f16, $f10, $f18 -/* 00C688 8000BA88 C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 00C68C 8000BA8C C4520014 */ lwc1 $f18, 0x14($v0) -/* 00C690 8000BA90 C4440010 */ lwc1 $f4, 0x10($v0) -/* 00C694 8000BA94 44058000 */ mfc1 $a1, $f16 -/* 00C698 8000BA98 8FAA0038 */ lw $t2, 0x38($sp) -/* 00C69C 8000BA9C 46125400 */ add.s $f16, $f10, $f18 -/* 00C6A0 8000BAA0 8D440000 */ lw $a0, ($t2) -/* 00C6A4 8000BAA4 46043200 */ add.s $f8, $f6, $f4 -/* 00C6A8 8000BAA8 44078000 */ mfc1 $a3, $f16 -/* 00C6AC 8000BAAC 44064000 */ mfc1 $a2, $f8 -/* 00C6B0 8000BAB0 0C00455C */ jal move_object -/* 00C6B4 8000BAB4 00000000 */ nop -.L8000BAB8: -/* 00C6B8 8000BAB8 8FAF0090 */ lw $t7, 0x90($sp) -/* 00C6BC 8000BABC 3C018012 */ lui $at, %hi(D_8011B068) # $at, 0x8012 -/* 00C6C0 8000BAC0 11E00002 */ beqz $t7, .L8000BACC -/* 00C6C4 8000BAC4 00300821 */ addu $at, $at, $s0 -/* 00C6C8 8000BAC8 A020B068 */ sb $zero, %lo(D_8011B068)($at) -.L8000BACC: -/* 00C6CC 8000BACC 8FBF002C */ lw $ra, 0x2c($sp) -.L8000BAD0: -/* 00C6D0 8000BAD0 8FB00028 */ lw $s0, 0x28($sp) -/* 00C6D4 8000BAD4 03E00008 */ jr $ra -/* 00C6D8 8000BAD8 27BD0080 */ addiu $sp, $sp, 0x80 - diff --git a/asm/non_matchings/objects/func_8000CC7C.s b/asm/non_matchings/objects/func_8000CC7C.s deleted file mode 100644 index a54d2dab..00000000 --- a/asm/non_matchings/objects/func_8000CC7C.s +++ /dev/null @@ -1,1439 +0,0 @@ -.late_rodata -glabel jpt_800E5154 -.word L8000D974, L8000D974, L8000D974, L8000D974, L8000D974, L8000D98C, L8000D974, L8000D974, L8000D974 -glabel D_800E5178 -.float 0.0099999999 -glabel D_800E517C -.float 0.0099999999 -glabel D_800E5180 -.float 1.4 -glabel D_800E5184 -.float 0.714 - -.text -glabel func_8000CC7C -/* 00D87C 8000CC7C 27BDFEB0 */ addiu $sp, $sp, -0x150 -/* 00D880 8000CC80 3C018012 */ lui $at, %hi(D_8011AD20) # $at, 0x8012 -/* 00D884 8000CC84 A020AD20 */ sb $zero, %lo(D_8011AD20)($at) -/* 00D888 8000CC88 3C018012 */ lui $at, %hi(gEventCountdown) # $at, 0x8012 -/* 00D88C 8000CC8C AC20ADB0 */ sw $zero, %lo(gEventCountdown)($at) -/* 00D890 8000CC90 3C018012 */ lui $at, %hi(gFirstTimeFinish) # $at, 0x8012 -/* 00D894 8000CC94 AFB1001C */ sw $s1, 0x1c($sp) -/* 00D898 8000CC98 A020ADC4 */ sb $zero, %lo(gFirstTimeFinish)($at) -/* 00D89C 8000CC9C 3C118012 */ lui $s1, %hi(D_8011AF00) # $s1, 0x8012 -/* 00D8A0 8000CCA0 AFBE0038 */ sw $fp, 0x38($sp) -/* 00D8A4 8000CCA4 3C018012 */ lui $at, %hi(gNumRacers) # $at, 0x8012 -/* 00D8A8 8000CCA8 0080F025 */ move $fp, $a0 -/* 00D8AC 8000CCAC 2631AF00 */ addiu $s1, %lo(D_8011AF00) # addiu $s1, $s1, -0x5100 -/* 00D8B0 8000CCB0 AFBF003C */ sw $ra, 0x3c($sp) -/* 00D8B4 8000CCB4 AFB30024 */ sw $s3, 0x24($sp) -/* 00D8B8 8000CCB8 AFB00018 */ sw $s0, 0x18($sp) -/* 00D8BC 8000CCBC AC20AEF0 */ sw $zero, %lo(gNumRacers)($at) -/* 00D8C0 8000CCC0 00A08025 */ move $s0, $a1 -/* 00D8C4 8000CCC4 00C09825 */ move $s3, $a2 -/* 00D8C8 8000CCC8 AFB70034 */ sw $s7, 0x34($sp) -/* 00D8CC 8000CCCC AFB60030 */ sw $s6, 0x30($sp) -/* 00D8D0 8000CCD0 AFB5002C */ sw $s5, 0x2c($sp) -/* 00D8D4 8000CCD4 AFB40028 */ sw $s4, 0x28($sp) -/* 00D8D8 8000CCD8 AFB20020 */ sw $s2, 0x20($sp) -/* 00D8DC 8000CCDC A2200000 */ sb $zero, ($s1) -/* 00D8E0 8000CCE0 0C01486E */ jal set_taj_status -/* 00D8E4 8000CCE4 00002025 */ move $a0, $zero -/* 00D8E8 8000CCE8 0C01AF6C */ jal get_current_level_header -/* 00D8EC 8000CCEC 00000000 */ nop -/* 00D8F0 8000CCF0 AFA20078 */ sw $v0, 0x78($sp) -/* 00D8F4 8000CCF4 9043004C */ lbu $v1, 0x4c($v0) -/* 00D8F8 8000CCF8 24160006 */ li $s6, 6 -/* 00D8FC 8000CCFC 12C304E0 */ beq $s6, $v1, .L8000E080 -/* 00D900 8000CD00 00602025 */ move $a0, $v1 -/* 00D904 8000CD04 24010007 */ li $at, 7 -/* 00D908 8000CD08 106104DD */ beq $v1, $at, .L8000E080 -/* 00D90C 8000CD0C 240FFFFF */ li $t7, -1 -/* 00D910 8000CD10 24010008 */ li $at, 8 -/* 00D914 8000CD14 10610002 */ beq $v1, $at, .L8000CD20 -/* 00D918 8000CD18 306E0040 */ andi $t6, $v1, 0x40 -/* 00D91C 8000CD1C 11C00005 */ beqz $t6, .L8000CD34 -.L8000CD20: -/* 00D920 8000CD20 3C148012 */ lui $s4, %hi(gTimeTrialEnabled) # $s4, 0x8012 -/* 00D924 8000CD24 3C018012 */ lui $at, %hi(gIsTimeTrial) # $at, 0x8012 -/* 00D928 8000CD28 2694AEF4 */ addiu $s4, %lo(gTimeTrialEnabled) # addiu $s4, $s4, -0x510c -/* 00D92C 8000CD2C A020AEF5 */ sb $zero, %lo(gIsTimeTrial)($at) -/* 00D930 8000CD30 A2800000 */ sb $zero, ($s4) -.L8000CD34: -/* 00D934 8000CD34 3C148012 */ lui $s4, %hi(gTimeTrialEnabled) # $s4, 0x8012 -/* 00D938 8000CD38 2694AEF4 */ addiu $s4, %lo(gTimeTrialEnabled) # addiu $s4, $s4, -0x510c -/* 00D93C 8000CD3C AFAF0130 */ sw $t7, 0x130($sp) -/* 00D940 8000CD40 0C003932 */ jal is_time_trial_enabled -/* 00D944 8000CD44 AFA40068 */ sw $a0, 0x68($sp) -/* 00D948 8000CD48 1040000C */ beqz $v0, .L8000CD7C -/* 00D94C 8000CD4C 00000000 */ nop -/* 00D950 8000CD50 8FB80068 */ lw $t8, 0x68($sp) -/* 00D954 8000CD54 00000000 */ nop -/* 00D958 8000CD58 17000008 */ bnez $t8, .L8000CD7C -/* 00D95C 8000CD5C 00000000 */ nop -/* 00D960 8000CD60 0C01A75F */ jal get_cutscene_camera_segment -/* 00D964 8000CD64 00000000 */ nop -/* 00D968 8000CD68 AFA20074 */ sw $v0, 0x74($sp) -/* 00D96C 8000CD6C 9059003B */ lbu $t9, 0x3b($v0) -/* 00D970 8000CD70 240D0001 */ li $t5, 1 -/* 00D974 8000CD74 AFB90130 */ sw $t9, 0x130($sp) -/* 00D978 8000CD78 A04D003B */ sb $t5, 0x3b($v0) -.L8000CD7C: -/* 00D97C 8000CD7C 0C01B683 */ jal get_game_mode -/* 00D980 8000CD80 00000000 */ nop -/* 00D984 8000CD84 0C01BAA4 */ jal get_settings -/* 00D988 8000CD88 AFA20138 */ sw $v0, 0x138($sp) -/* 00D98C 8000CD8C 0040B825 */ move $s7, $v0 -/* 00D990 8000CD90 0C0078A7 */ jal get_misc_asset -/* 00D994 8000CD94 24040003 */ li $a0, 3 -/* 00D998 8000CD98 3C0B8012 */ lui $t3, %hi(D_8011ADC5) # $t3, 0x8012 -/* 00D99C 8000CD9C 256BADC5 */ addiu $t3, %lo(D_8011ADC5) # addiu $t3, $t3, -0x523b -/* 00D9A0 8000CDA0 816E0000 */ lb $t6, ($t3) -/* 00D9A4 8000CDA4 3C0C8012 */ lui $t4, %hi(gPrevTimeTrialVehicle) # $t4, 0x8012 -/* 00D9A8 8000CDA8 258CAE82 */ addiu $t4, %lo(gPrevTimeTrialVehicle) # addiu $t4, $t4, -0x517e -/* 00D9AC 8000CDAC AFA20128 */ sw $v0, 0x128($sp) -/* 00D9B0 8000CDB0 A58E0000 */ sh $t6, ($t4) -/* 00D9B4 8000CDB4 92F80049 */ lbu $t8, 0x49($s7) -/* 00D9B8 8000CDB8 8EEF0004 */ lw $t7, 4($s7) -/* 00D9BC 8000CDBC 0018C880 */ sll $t9, $t8, 2 -/* 00D9C0 8000CDC0 01F91821 */ addu $v1, $t7, $t9 -/* 00D9C4 8000CDC4 8C640000 */ lw $a0, ($v1) -/* 00D9C8 8000CDC8 27A200B4 */ addiu $v0, $sp, 0xb4 -/* 00D9CC 8000CDCC 308D0001 */ andi $t5, $a0, 1 -/* 00D9D0 8000CDD0 15A00005 */ bnez $t5, .L8000CDE8 -/* 00D9D4 8000CDD4 27A500D4 */ addiu $a1, $sp, 0xd4 -/* 00D9D8 8000CDD8 348E0001 */ ori $t6, $a0, 1 -/* 00D9DC 8000CDDC AC6E0000 */ sw $t6, ($v1) -/* 00D9E0 8000CDE0 24180002 */ li $t8, 2 -/* 00D9E4 8000CDE4 A2380000 */ sb $t8, ($s1) -.L8000CDE8: -/* 00D9E8 8000CDE8 8FAF0068 */ lw $t7, 0x68($sp) -/* 00D9EC 8000CDEC 27A300F4 */ addiu $v1, $sp, 0xf4 -/* 00D9F0 8000CDF0 11E00003 */ beqz $t7, .L8000CE00 -/* 00D9F4 8000CDF4 27A400D4 */ addiu $a0, $sp, 0xd4 -/* 00D9F8 8000CDF8 24190002 */ li $t9, 2 -/* 00D9FC 8000CDFC A2390000 */ sb $t9, ($s1) -.L8000CE00: -/* 00DA00 8000CE00 24420004 */ addiu $v0, $v0, 4 -/* 00DA04 8000CE04 0045082B */ sltu $at, $v0, $a1 -/* 00DA08 8000CE08 24630004 */ addiu $v1, $v1, 4 -/* 00DA0C 8000CE0C 24840004 */ addiu $a0, $a0, 4 -/* 00DA10 8000CE10 AC60FFFC */ sw $zero, -4($v1) -/* 00DA14 8000CE14 AC80FFFC */ sw $zero, -4($a0) -/* 00DA18 8000CE18 1420FFF9 */ bnez $at, .L8000CE00 -/* 00DA1C 8000CE1C AC40FFFC */ sw $zero, -4($v0) -/* 00DA20 8000CE20 3C028012 */ lui $v0, %hi(gObjectCount) # $v0, 0x8012 -/* 00DA24 8000CE24 8C42AE5C */ lw $v0, %lo(gObjectCount)($v0) -/* 00DA28 8000CE28 00009025 */ move $s2, $zero -/* 00DA2C 8000CE2C 18400050 */ blez $v0, .L8000CF70 -/* 00DA30 8000CE30 0000A825 */ move $s5, $zero -/* 00DA34 8000CE34 3C048012 */ lui $a0, %hi(gObjPtrList) # $a0, 0x8012 -/* 00DA38 8000CE38 8C84AE58 */ lw $a0, %lo(gObjPtrList)($a0) -/* 00DA3C 8000CE3C 00022880 */ sll $a1, $v0, 2 -/* 00DA40 8000CE40 27AA0094 */ addiu $t2, $sp, 0x94 -/* 00DA44 8000CE44 27A900B4 */ addiu $t1, $sp, 0xb4 -/* 00DA48 8000CE48 27A800D4 */ addiu $t0, $sp, 0xd4 -/* 00DA4C 8000CE4C 27A700F4 */ addiu $a3, $sp, 0xf4 -/* 00DA50 8000CE50 2406000B */ li $a2, 11 -.L8000CE54: -/* 00DA54 8000CE54 8C910000 */ lw $s1, ($a0) -/* 00DA58 8000CE58 26B50004 */ addiu $s5, $s5, 4 -/* 00DA5C 8000CE5C 862D0006 */ lh $t5, 6($s1) -/* 00DA60 8000CE60 00000000 */ nop -/* 00DA64 8000CE64 31AE8000 */ andi $t6, $t5, 0x8000 -/* 00DA68 8000CE68 15C0003E */ bnez $t6, .L8000CF64 -/* 00DA6C 8000CE6C 02A5082A */ slt $at, $s5, $a1 -/* 00DA70 8000CE70 86380048 */ lh $t8, 0x48($s1) -/* 00DA74 8000CE74 00000000 */ nop -/* 00DA78 8000CE78 14D8003A */ bne $a2, $t8, .L8000CF64 -/* 00DA7C 8000CE7C 02A5082A */ slt $at, $s5, $a1 -/* 00DA80 8000CE80 8E2F007C */ lw $t7, 0x7c($s1) -/* 00DA84 8000CE84 00000000 */ nop -/* 00DA88 8000CE88 160F0036 */ bne $s0, $t7, .L8000CF64 -/* 00DA8C 8000CE8C 02A5082A */ slt $at, $s5, $a1 -/* 00DA90 8000CE90 8E220078 */ lw $v0, 0x78($s1) -/* 00DA94 8000CE94 00000000 */ nop -/* 00DA98 8000CE98 28410008 */ slti $at, $v0, 8 -/* 00DA9C 8000CE9C 10200029 */ beqz $at, .L8000CF44 -/* 00DAA0 8000CEA0 00000000 */ nop -/* 00DAA4 8000CEA4 4459F800 */ cfc1 $t9, $31 -/* 00DAA8 8000CEA8 C624000C */ lwc1 $f4, 0xc($s1) -/* 00DAAC 8000CEAC 37210003 */ ori $at, $t9, 3 -/* 00DAB0 8000CEB0 38210002 */ xori $at, $at, 2 -/* 00DAB4 8000CEB4 44C1F800 */ ctc1 $at, $31 -/* 00DAB8 8000CEB8 00027080 */ sll $t6, $v0, 2 -/* 00DABC 8000CEBC 460021A4 */ cvt.w.s $f6, $f4 -/* 00DAC0 8000CEC0 00EEC021 */ addu $t8, $a3, $t6 -/* 00DAC4 8000CEC4 44D9F800 */ ctc1 $t9, $31 -/* 00DAC8 8000CEC8 440D3000 */ mfc1 $t5, $f6 -/* 00DACC 8000CECC 00000000 */ nop -/* 00DAD0 8000CED0 444FF800 */ cfc1 $t7, $31 -/* 00DAD4 8000CED4 AF0D0000 */ sw $t5, ($t8) -/* 00DAD8 8000CED8 35E10003 */ ori $at, $t7, 3 -/* 00DADC 8000CEDC 38210002 */ xori $at, $at, 2 -/* 00DAE0 8000CEE0 44C1F800 */ ctc1 $at, $31 -/* 00DAE4 8000CEE4 C6280010 */ lwc1 $f8, 0x10($s1) -/* 00DAE8 8000CEE8 8E2E0078 */ lw $t6, 0x78($s1) -/* 00DAEC 8000CEEC 460042A4 */ cvt.w.s $f10, $f8 -/* 00DAF0 8000CEF0 000E6880 */ sll $t5, $t6, 2 -/* 00DAF4 8000CEF4 44195000 */ mfc1 $t9, $f10 -/* 00DAF8 8000CEF8 010DC021 */ addu $t8, $t0, $t5 -/* 00DAFC 8000CEFC 35E10003 */ ori $at, $t7, 3 -/* 00DB00 8000CF00 38210002 */ xori $at, $at, 2 -/* 00DB04 8000CF04 44CFF800 */ ctc1 $t7, $31 -/* 00DB08 8000CF08 AF190000 */ sw $t9, ($t8) -/* 00DB0C 8000CF0C C6300014 */ lwc1 $f16, 0x14($s1) -/* 00DB10 8000CF10 44C1F800 */ ctc1 $at, $31 -/* 00DB14 8000CF14 8E2D0078 */ lw $t5, 0x78($s1) -/* 00DB18 8000CF18 460084A4 */ cvt.w.s $f18, $f16 -/* 00DB1C 8000CF1C 000DC880 */ sll $t9, $t5, 2 -/* 00DB20 8000CF20 440E9000 */ mfc1 $t6, $f18 -/* 00DB24 8000CF24 0139C021 */ addu $t8, $t1, $t9 -/* 00DB28 8000CF28 AF0E0000 */ sw $t6, ($t8) -/* 00DB2C 8000CF2C 8E2D0078 */ lw $t5, 0x78($s1) -/* 00DB30 8000CF30 44CFF800 */ ctc1 $t7, $31 -/* 00DB34 8000CF34 862F0000 */ lh $t7, ($s1) -/* 00DB38 8000CF38 000DC880 */ sll $t9, $t5, 2 -/* 00DB3C 8000CF3C 01597021 */ addu $t6, $t2, $t9 -/* 00DB40 8000CF40 ADCF0000 */ sw $t7, ($t6) -.L8000CF44: -/* 00DB44 8000CF44 8E22003C */ lw $v0, 0x3c($s1) -/* 00DB48 8000CF48 2401FFFF */ li $at, -1 -/* 00DB4C 8000CF4C 8043000B */ lb $v1, 0xb($v0) -/* 00DB50 8000CF50 00000000 */ nop -/* 00DB54 8000CF54 10610003 */ beq $v1, $at, .L8000CF64 -/* 00DB58 8000CF58 02A5082A */ slt $at, $s5, $a1 -/* 00DB5C 8000CF5C 0060F025 */ move $fp, $v1 -/* 00DB60 8000CF60 02A5082A */ slt $at, $s5, $a1 -.L8000CF64: -/* 00DB64 8000CF64 1420FFBB */ bnez $at, .L8000CE54 -/* 00DB68 8000CF68 24840004 */ addiu $a0, $a0, 4 -/* 00DB6C 8000CF6C 00009025 */ move $s2, $zero -.L8000CF70: -/* 00DB70 8000CF70 A17E0000 */ sb $fp, ($t3) -/* 00DB74 8000CF74 81780000 */ lb $t8, ($t3) -/* 00DB78 8000CF78 3C10800E */ lui $s0, %hi(D_800DC740) # $s0, 0x800e -/* 00DB7C 8000CF7C 240D0008 */ li $t5, 8 -/* 00DB80 8000CF80 3C018012 */ lui $at, %hi(gNumRacers) # $at, 0x8012 -/* 00DB84 8000CF84 A5980000 */ sh $t8, ($t4) -/* 00DB88 8000CF88 2610C740 */ addiu $s0, %lo(D_800DC740) # addiu $s0, $s0, -0x38c0 -/* 00DB8C 8000CF8C 26620001 */ addiu $v0, $s3, 1 -/* 00DB90 8000CF90 AC2DAEF0 */ sw $t5, %lo(gNumRacers)($at) -/* 00DB94 8000CF94 AFA20144 */ sw $v0, 0x144($sp) -/* 00DB98 8000CF98 A2000000 */ sb $zero, ($s0) -/* 00DB9C 8000CF9C 0C01B067 */ jal is_two_player_adventure_race -/* 00DBA0 8000CFA0 AFA20058 */ sw $v0, 0x58($sp) -/* 00DBA4 8000CFA4 10400006 */ beqz $v0, .L8000CFC0 -/* 00DBA8 8000CFA8 24190002 */ li $t9, 2 -/* 00DBAC 8000CFAC 240F0001 */ li $t7, 1 -/* 00DBB0 8000CFB0 AFB90144 */ sw $t9, 0x144($sp) -/* 00DBB4 8000CFB4 A20F0000 */ sb $t7, ($s0) -/* 00DBB8 8000CFB8 0C009278 */ jal set_scene_viewport_num -/* 00DBBC 8000CFBC 24040001 */ li $a0, 1 -.L8000CFC0: -/* 00DBC0 8000CFC0 8FAE0068 */ lw $t6, 0x68($sp) -/* 00DBC4 8000CFC4 24010005 */ li $at, 5 -/* 00DBC8 8000CFC8 15C10002 */ bne $t6, $at, .L8000CFD4 -/* 00DBCC 8000CFCC 3C0D8012 */ lui $t5, %hi(gIsTimeTrial) # $t5, 0x8012 -/* 00DBD0 8000CFD0 A2800000 */ sb $zero, ($s4) -.L8000CFD4: -/* 00DBD4 8000CFD4 92980000 */ lbu $t8, ($s4) -/* 00DBD8 8000CFD8 3C018012 */ lui $at, %hi(gIsTimeTrial) # $at, 0x8012 -/* 00DBDC 8000CFDC A038AEF5 */ sb $t8, %lo(gIsTimeTrial)($at) -/* 00DBE0 8000CFE0 91ADAEF5 */ lbu $t5, %lo(gIsTimeTrial)($t5) -/* 00DBE4 8000CFE4 24190005 */ li $t9, 5 -/* 00DBE8 8000CFE8 11A00003 */ beqz $t5, .L8000CFF8 -/* 00DBEC 8000CFEC 8FAF0068 */ lw $t7, 0x68($sp) -/* 00DBF0 8000CFF0 AFB90068 */ sw $t9, 0x68($sp) -/* 00DBF4 8000CFF4 8FAF0068 */ lw $t7, 0x68($sp) -.L8000CFF8: -/* 00DBF8 8000CFF8 24010005 */ li $at, 5 -/* 00DBFC 8000CFFC 31EE0040 */ andi $t6, $t7, 0x40 -/* 00DC00 8000D000 11E10006 */ beq $t7, $at, .L8000D01C -/* 00DC04 8000D004 AFAE0064 */ sw $t6, 0x64($sp) -/* 00DC08 8000D008 8FB80144 */ lw $t8, 0x144($sp) -/* 00DC0C 8000D00C 8FAF0144 */ lw $t7, 0x144($sp) -/* 00DC10 8000D010 2B010003 */ slti $at, $t8, 3 -/* 00DC14 8000D014 14200010 */ bnez $at, .L8000D058 -/* 00DC18 8000D018 24010002 */ li $at, 2 -.L8000D01C: -/* 00DC1C 8000D01C 8FAD0144 */ lw $t5, 0x144($sp) -/* 00DC20 8000D020 3C018012 */ lui $at, %hi(gNumRacers) # $at, 0x8012 -/* 00DC24 8000D024 0C01B0BC */ jal get_level_property_stack_pos -/* 00DC28 8000D028 AC2DAEF0 */ sw $t5, %lo(gNumRacers)($at) -/* 00DC2C 8000D02C 14400010 */ bnez $v0, .L8000D070 -/* 00DC30 8000D030 3C03800E */ lui $v1, %hi(D_800DC708) # $v1, 0x800e -/* 00DC34 8000D034 2463C708 */ addiu $v1, %lo(D_800DC708) # addiu $v1, $v1, -0x38f8 -/* 00DC38 8000D038 84620000 */ lh $v0, ($v1) -/* 00DC3C 8000D03C 8FB90094 */ lw $t9, 0x94($sp) -/* 00DC40 8000D040 1040000B */ beqz $v0, .L8000D070 -/* 00DC44 8000D044 03227021 */ addu $t6, $t9, $v0 -/* 00DC48 8000D048 AFAE0094 */ sw $t6, 0x94($sp) -/* 00DC4C 8000D04C 10000008 */ b .L8000D070 -/* 00DC50 8000D050 A4600000 */ sh $zero, ($v1) -/* 00DC54 8000D054 24010002 */ li $at, 2 -.L8000D058: -/* 00DC58 8000D058 15E10006 */ bne $t7, $at, .L8000D074 -/* 00DC5C 8000D05C 8FB80064 */ lw $t8, 0x64($sp) -/* 00DC60 8000D060 0C027110 */ jal get_multiplayer_racer_count -/* 00DC64 8000D064 00000000 */ nop -/* 00DC68 8000D068 3C018012 */ lui $at, %hi(gNumRacers) # $at, 0x8012 -/* 00DC6C 8000D06C AC22AEF0 */ sw $v0, %lo(gNumRacers)($at) -.L8000D070: -/* 00DC70 8000D070 8FB80064 */ lw $t8, 0x64($sp) -.L8000D074: -/* 00DC74 8000D074 3C058012 */ lui $a1, %hi(D_8011AD3C) # $a1, 0x8012 -/* 00DC78 8000D078 13000005 */ beqz $t8, .L8000D090 -/* 00DC7C 8000D07C 24A5AD3C */ addiu $a1, %lo(D_8011AD3C) # addiu $a1, $a1, -0x52c4 -/* 00DC80 8000D080 3C068012 */ lui $a2, %hi(gNumRacers) # $a2, 0x8012 -/* 00DC84 8000D084 24C6AEF0 */ addiu $a2, %lo(gNumRacers) # addiu $a2, $a2, -0x5110 -/* 00DC88 8000D088 240D0004 */ li $t5, 4 -/* 00DC8C 8000D08C ACCD0000 */ sw $t5, ($a2) -.L8000D090: -/* 00DC90 8000D090 8FB90068 */ lw $t9, 0x68($sp) -/* 00DC94 8000D094 3C068012 */ lui $a2, %hi(gNumRacers) # $a2, 0x8012 -/* 00DC98 8000D098 24010008 */ li $at, 8 -/* 00DC9C 8000D09C 24C6AEF0 */ addiu $a2, %lo(gNumRacers) # addiu $a2, $a2, -0x5110 -/* 00DCA0 8000D0A0 17210006 */ bne $t9, $at, .L8000D0BC -/* 00DCA4 8000D0A4 A0A00000 */ sb $zero, ($a1) -/* 00DCA8 8000D0A8 24070001 */ li $a3, 1 -/* 00DCAC 8000D0AC 240E0002 */ li $t6, 2 -/* 00DCB0 8000D0B0 ACCE0000 */ sw $t6, ($a2) -/* 00DCB4 8000D0B4 AFA70144 */ sw $a3, 0x144($sp) -/* 00DCB8 8000D0B8 A0A70000 */ sb $a3, ($a1) -.L8000D0BC: -/* 00DCBC 8000D0BC 8FAF0138 */ lw $t7, 0x138($sp) -/* 00DCC0 8000D0C0 3C02800E */ lui $v0, %hi(D_800DC71C) # $v0, 0x800e -/* 00DCC4 8000D0C4 2442C71C */ addiu $v0, %lo(D_800DC71C) # addiu $v0, $v0, -0x38e4 -/* 00DCC8 8000D0C8 24070001 */ li $a3, 1 -/* 00DCCC 8000D0CC 15E70008 */ bne $t7, $a3, .L8000D0F0 -/* 00DCD0 8000D0D0 A0400000 */ sb $zero, ($v0) -/* 00DCD4 8000D0D4 8FB80068 */ lw $t8, 0x68($sp) -/* 00DCD8 8000D0D8 240D0002 */ li $t5, 2 -/* 00DCDC 8000D0DC 17000004 */ bnez $t8, .L8000D0F0 -/* 00DCE0 8000D0E0 00000000 */ nop -/* 00DCE4 8000D0E4 ACD60000 */ sw $s6, ($a2) -/* 00DCE8 8000D0E8 A0470000 */ sb $a3, ($v0) -/* 00DCEC 8000D0EC A0AD0000 */ sb $t5, ($a1) -.L8000D0F0: -/* 00DCF0 8000D0F0 8CC30000 */ lw $v1, ($a2) -/* 00DCF4 8000D0F4 00008025 */ move $s0, $zero -/* 00DCF8 8000D0F8 18600007 */ blez $v1, .L8000D118 -/* 00DCFC 8000D0FC 27A2011C */ addiu $v0, $sp, 0x11c -/* 00DD00 8000D100 00622021 */ addu $a0, $v1, $v0 -.L8000D104: -/* 00DD04 8000D104 24420001 */ addiu $v0, $v0, 1 -/* 00DD08 8000D108 0044082B */ sltu $at, $v0, $a0 -/* 00DD0C 8000D10C 1420FFFD */ bnez $at, .L8000D104 -/* 00DD10 8000D110 A040FFFF */ sb $zero, -1($v0) -/* 00DD14 8000D114 00008025 */ move $s0, $zero -.L8000D118: -/* 00DD18 8000D118 8FAE0144 */ lw $t6, 0x144($sp) -/* 00DD1C 8000D11C 00002825 */ move $a1, $zero -/* 00DD20 8000D120 19C0006F */ blez $t6, .L8000D2E0 -/* 00DD24 8000D124 01C01025 */ move $v0, $t6 -/* 00DD28 8000D128 31C20003 */ andi $v0, $t6, 3 -/* 00DD2C 8000D12C 1040001D */ beqz $v0, .L8000D1A4 -/* 00DD30 8000D130 00404825 */ move $t1, $v0 -/* 00DD34 8000D134 00107880 */ sll $t7, $s0, 2 -/* 00DD38 8000D138 01F07823 */ subu $t7, $t7, $s0 -/* 00DD3C 8000D13C 000F78C0 */ sll $t7, $t7, 3 -/* 00DD40 8000D140 02EF3021 */ addu $a2, $s7, $t7 -/* 00DD44 8000D144 27A80114 */ addiu $t0, $sp, 0x114 -/* 00DD48 8000D148 27A7011C */ addiu $a3, $sp, 0x11c -.L8000D14C: -/* 00DD4C 8000D14C 80C2005A */ lb $v0, 0x5a($a2) -/* 00DD50 8000D150 00000000 */ nop -/* 00DD54 8000D154 0043082A */ slt $at, $v0, $v1 -/* 00DD58 8000D158 10200007 */ beqz $at, .L8000D178 -/* 00DD5C 8000D15C 00E22021 */ addu $a0, $a3, $v0 -/* 00DD60 8000D160 80980000 */ lb $t8, ($a0) -/* 00DD64 8000D164 240D0001 */ li $t5, 1 -/* 00DD68 8000D168 17000004 */ bnez $t8, .L8000D17C -/* 00DD6C 8000D16C 0105C821 */ addu $t9, $t0, $a1 -/* 00DD70 8000D170 10000006 */ b .L8000D18C -/* 00DD74 8000D174 A08D0000 */ sb $t5, ($a0) -.L8000D178: -/* 00DD78 8000D178 0105C821 */ addu $t9, $t0, $a1 -.L8000D17C: -/* 00DD7C 8000D17C 24A50001 */ addiu $a1, $a1, 1 -/* 00DD80 8000D180 30AE00FF */ andi $t6, $a1, 0xff -/* 00DD84 8000D184 01C02825 */ move $a1, $t6 -/* 00DD88 8000D188 A3300000 */ sb $s0, ($t9) -.L8000D18C: -/* 00DD8C 8000D18C 26100001 */ addiu $s0, $s0, 1 -/* 00DD90 8000D190 1530FFEE */ bne $t1, $s0, .L8000D14C -/* 00DD94 8000D194 24C60018 */ addiu $a2, $a2, 0x18 -/* 00DD98 8000D198 8FAF0144 */ lw $t7, 0x144($sp) -/* 00DD9C 8000D19C 00000000 */ nop -/* 00DDA0 8000D1A0 120F004D */ beq $s0, $t7, .L8000D2D8 -.L8000D1A4: -/* 00DDA4 8000D1A4 0010C080 */ sll $t8, $s0, 2 -/* 00DDA8 8000D1A8 0310C023 */ subu $t8, $t8, $s0 -/* 00DDAC 8000D1AC 0018C0C0 */ sll $t8, $t8, 3 -/* 00DDB0 8000D1B0 02F83021 */ addu $a2, $s7, $t8 -/* 00DDB4 8000D1B4 27A7011C */ addiu $a3, $sp, 0x11c -/* 00DDB8 8000D1B8 27A80114 */ addiu $t0, $sp, 0x114 -.L8000D1BC: -/* 00DDBC 8000D1BC 80C2005A */ lb $v0, 0x5a($a2) -/* 00DDC0 8000D1C0 00000000 */ nop -/* 00DDC4 8000D1C4 0043082A */ slt $at, $v0, $v1 -/* 00DDC8 8000D1C8 10200007 */ beqz $at, .L8000D1E8 -/* 00DDCC 8000D1CC 00E22021 */ addu $a0, $a3, $v0 -/* 00DDD0 8000D1D0 808D0000 */ lb $t5, ($a0) -/* 00DDD4 8000D1D4 24190001 */ li $t9, 1 -/* 00DDD8 8000D1D8 15A00004 */ bnez $t5, .L8000D1EC -/* 00DDDC 8000D1DC 01057021 */ addu $t6, $t0, $a1 -/* 00DDE0 8000D1E0 10000006 */ b .L8000D1FC -/* 00DDE4 8000D1E4 A0990000 */ sb $t9, ($a0) -.L8000D1E8: -/* 00DDE8 8000D1E8 01057021 */ addu $t6, $t0, $a1 -.L8000D1EC: -/* 00DDEC 8000D1EC 24A50001 */ addiu $a1, $a1, 1 -/* 00DDF0 8000D1F0 30AF00FF */ andi $t7, $a1, 0xff -/* 00DDF4 8000D1F4 01E02825 */ move $a1, $t7 -/* 00DDF8 8000D1F8 A1D00000 */ sb $s0, ($t6) -.L8000D1FC: -/* 00DDFC 8000D1FC 80C20072 */ lb $v0, 0x72($a2) -/* 00DE00 8000D200 00000000 */ nop -/* 00DE04 8000D204 0043082A */ slt $at, $v0, $v1 -/* 00DE08 8000D208 10200007 */ beqz $at, .L8000D228 -/* 00DE0C 8000D20C 00E22021 */ addu $a0, $a3, $v0 -/* 00DE10 8000D210 80980000 */ lb $t8, ($a0) -/* 00DE14 8000D214 240D0001 */ li $t5, 1 -/* 00DE18 8000D218 17000004 */ bnez $t8, .L8000D22C -/* 00DE1C 8000D21C 01057021 */ addu $t6, $t0, $a1 -/* 00DE20 8000D220 10000007 */ b .L8000D240 -/* 00DE24 8000D224 A08D0000 */ sb $t5, ($a0) -.L8000D228: -/* 00DE28 8000D228 01057021 */ addu $t6, $t0, $a1 -.L8000D22C: -/* 00DE2C 8000D22C 24A50001 */ addiu $a1, $a1, 1 -/* 00DE30 8000D230 30AF00FF */ andi $t7, $a1, 0xff -/* 00DE34 8000D234 26190001 */ addiu $t9, $s0, 1 -/* 00DE38 8000D238 A1D90000 */ sb $t9, ($t6) -/* 00DE3C 8000D23C 01E02825 */ move $a1, $t7 -.L8000D240: -/* 00DE40 8000D240 80C2008A */ lb $v0, 0x8a($a2) -/* 00DE44 8000D244 00000000 */ nop -/* 00DE48 8000D248 0043082A */ slt $at, $v0, $v1 -/* 00DE4C 8000D24C 10200007 */ beqz $at, .L8000D26C -/* 00DE50 8000D250 00E22021 */ addu $a0, $a3, $v0 -/* 00DE54 8000D254 80980000 */ lb $t8, ($a0) -/* 00DE58 8000D258 240D0001 */ li $t5, 1 -/* 00DE5C 8000D25C 17000004 */ bnez $t8, .L8000D270 -/* 00DE60 8000D260 01057021 */ addu $t6, $t0, $a1 -/* 00DE64 8000D264 10000007 */ b .L8000D284 -/* 00DE68 8000D268 A08D0000 */ sb $t5, ($a0) -.L8000D26C: -/* 00DE6C 8000D26C 01057021 */ addu $t6, $t0, $a1 -.L8000D270: -/* 00DE70 8000D270 24A50001 */ addiu $a1, $a1, 1 -/* 00DE74 8000D274 30AF00FF */ andi $t7, $a1, 0xff -/* 00DE78 8000D278 26190002 */ addiu $t9, $s0, 2 -/* 00DE7C 8000D27C A1D90000 */ sb $t9, ($t6) -/* 00DE80 8000D280 01E02825 */ move $a1, $t7 -.L8000D284: -/* 00DE84 8000D284 80C200A2 */ lb $v0, 0xa2($a2) -/* 00DE88 8000D288 00000000 */ nop -/* 00DE8C 8000D28C 0043082A */ slt $at, $v0, $v1 -/* 00DE90 8000D290 10200007 */ beqz $at, .L8000D2B0 -/* 00DE94 8000D294 00E22021 */ addu $a0, $a3, $v0 -/* 00DE98 8000D298 80980000 */ lb $t8, ($a0) -/* 00DE9C 8000D29C 240D0001 */ li $t5, 1 -/* 00DEA0 8000D2A0 17000004 */ bnez $t8, .L8000D2B4 -/* 00DEA4 8000D2A4 01057021 */ addu $t6, $t0, $a1 -/* 00DEA8 8000D2A8 10000007 */ b .L8000D2C8 -/* 00DEAC 8000D2AC A08D0000 */ sb $t5, ($a0) -.L8000D2B0: -/* 00DEB0 8000D2B0 01057021 */ addu $t6, $t0, $a1 -.L8000D2B4: -/* 00DEB4 8000D2B4 24A50001 */ addiu $a1, $a1, 1 -/* 00DEB8 8000D2B8 30AF00FF */ andi $t7, $a1, 0xff -/* 00DEBC 8000D2BC 26190003 */ addiu $t9, $s0, 3 -/* 00DEC0 8000D2C0 A1D90000 */ sb $t9, ($t6) -/* 00DEC4 8000D2C4 01E02825 */ move $a1, $t7 -.L8000D2C8: -/* 00DEC8 8000D2C8 8FB80144 */ lw $t8, 0x144($sp) -/* 00DECC 8000D2CC 26100004 */ addiu $s0, $s0, 4 -/* 00DED0 8000D2D0 1618FFBA */ bne $s0, $t8, .L8000D1BC -/* 00DED4 8000D2D4 24C60060 */ addiu $a2, $a2, 0x60 -.L8000D2D8: -/* 00DED8 8000D2D8 8FA20144 */ lw $v0, 0x144($sp) -/* 00DEDC 8000D2DC 00000000 */ nop -.L8000D2E0: -/* 00DEE0 8000D2E0 0043082A */ slt $at, $v0, $v1 -/* 00DEE4 8000D2E4 27A7011C */ addiu $a3, $sp, 0x11c -/* 00DEE8 8000D2E8 27A80114 */ addiu $t0, $sp, 0x114 -/* 00DEEC 8000D2EC 10200019 */ beqz $at, .L8000D354 -/* 00DEF0 8000D2F0 00408025 */ move $s0, $v0 -/* 00DEF4 8000D2F4 00026880 */ sll $t5, $v0, 2 -/* 00DEF8 8000D2F8 01A26823 */ subu $t5, $t5, $v0 -/* 00DEFC 8000D2FC 000D68C0 */ sll $t5, $t5, 3 -/* 00DF00 8000D300 02ED3021 */ addu $a2, $s7, $t5 -.L8000D304: -/* 00DF04 8000D304 80C2005A */ lb $v0, 0x5a($a2) -/* 00DF08 8000D308 00000000 */ nop -/* 00DF0C 8000D30C 0043082A */ slt $at, $v0, $v1 -/* 00DF10 8000D310 10200007 */ beqz $at, .L8000D330 -/* 00DF14 8000D314 00E22021 */ addu $a0, $a3, $v0 -/* 00DF18 8000D318 80990000 */ lb $t9, ($a0) -/* 00DF1C 8000D31C 240E0001 */ li $t6, 1 -/* 00DF20 8000D320 17200004 */ bnez $t9, .L8000D334 -/* 00DF24 8000D324 01057821 */ addu $t7, $t0, $a1 -/* 00DF28 8000D328 10000006 */ b .L8000D344 -/* 00DF2C 8000D32C A08E0000 */ sb $t6, ($a0) -.L8000D330: -/* 00DF30 8000D330 01057821 */ addu $t7, $t0, $a1 -.L8000D334: -/* 00DF34 8000D334 24A50001 */ addiu $a1, $a1, 1 -/* 00DF38 8000D338 30B800FF */ andi $t8, $a1, 0xff -/* 00DF3C 8000D33C 03002825 */ move $a1, $t8 -/* 00DF40 8000D340 A1F00000 */ sb $s0, ($t7) -.L8000D344: -/* 00DF44 8000D344 26100001 */ addiu $s0, $s0, 1 -/* 00DF48 8000D348 0203082A */ slt $at, $s0, $v1 -/* 00DF4C 8000D34C 1420FFED */ bnez $at, .L8000D304 -/* 00DF50 8000D350 24C60018 */ addiu $a2, $a2, 0x18 -.L8000D354: -/* 00DF54 8000D354 00008025 */ move $s0, $zero -/* 00DF58 8000D358 18A0001C */ blez $a1, .L8000D3CC -/* 00DF5C 8000D35C 00A02025 */ move $a0, $a1 -/* 00DF60 8000D360 24150018 */ li $s5, 24 -.L8000D364: -/* 00DF64 8000D364 18600015 */ blez $v1, .L8000D3BC -/* 00DF68 8000D368 00F21021 */ addu $v0, $a3, $s2 -.L8000D36C: -/* 00DF6C 8000D36C 804D0000 */ lb $t5, ($v0) -/* 00DF70 8000D370 01107021 */ addu $t6, $t0, $s0 -/* 00DF74 8000D374 15A0000C */ bnez $t5, .L8000D3A8 -/* 00DF78 8000D378 00000000 */ nop -/* 00DF7C 8000D37C 81CF0000 */ lb $t7, ($t6) -/* 00DF80 8000D380 24190001 */ li $t9, 1 -/* 00DF84 8000D384 01F50019 */ multu $t7, $s5 -/* 00DF88 8000D388 A0590000 */ sb $t9, ($v0) -/* 00DF8C 8000D38C 3C038012 */ lui $v1, %hi(gNumRacers) # $v1, 0x8012 -/* 00DF90 8000D390 0000C012 */ mflo $t8 -/* 00DF94 8000D394 02F86821 */ addu $t5, $s7, $t8 -/* 00DF98 8000D398 A1B2005A */ sb $s2, 0x5a($t5) -/* 00DF9C 8000D39C 8C63AEF0 */ lw $v1, %lo(gNumRacers)($v1) -/* 00DFA0 8000D3A0 00000000 */ nop -/* 00DFA4 8000D3A4 00609025 */ move $s2, $v1 -.L8000D3A8: -/* 00DFA8 8000D3A8 26520001 */ addiu $s2, $s2, 1 -/* 00DFAC 8000D3AC 0243082A */ slt $at, $s2, $v1 -/* 00DFB0 8000D3B0 1420FFEE */ bnez $at, .L8000D36C -/* 00DFB4 8000D3B4 00F21021 */ addu $v0, $a3, $s2 -/* 00DFB8 8000D3B8 00009025 */ move $s2, $zero -.L8000D3BC: -/* 00DFBC 8000D3BC 26100001 */ addiu $s0, $s0, 1 -/* 00DFC0 8000D3C0 1604FFE8 */ bne $s0, $a0, .L8000D364 -/* 00DFC4 8000D3C4 00000000 */ nop -/* 00DFC8 8000D3C8 00008025 */ move $s0, $zero -.L8000D3CC: -/* 00DFCC 8000D3CC 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff -/* 00DFD0 8000D3D0 24150018 */ li $s5, 24 -/* 00DFD4 8000D3D4 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff -/* 00DFD8 8000D3D8 0C01C327 */ jal mempool_alloc_safe -/* 00DFDC 8000D3DC 24040010 */ li $a0, 16 -/* 00DFE0 8000D3E0 A440000C */ sh $zero, 0xc($v0) -/* 00DFE4 8000D3E4 A440000A */ sh $zero, 0xa($v0) -/* 00DFE8 8000D3E8 A4400008 */ sh $zero, 8($v0) -/* 00DFEC 8000D3EC 8FB90078 */ lw $t9, 0x78($sp) -/* 00DFF0 8000D3F0 0040B025 */ move $s6, $v0 -/* 00DFF4 8000D3F4 832E004D */ lb $t6, 0x4d($t9) -/* 00DFF8 8000D3F8 2419FFFF */ li $t9, -1 -/* 00DFFC 8000D3FC 15C00004 */ bnez $t6, .L8000D410 -/* 00E000 8000D400 3C038012 */ lui $v1, %hi(gNumRacers) # $v1, 0x8012 -/* 00E004 8000D404 3C018012 */ lui $at, %hi(gIsNonCarRacers) # $at, 0x8012 -/* 00E008 8000D408 10000004 */ b .L8000D41C -/* 00E00C 8000D40C A020AE02 */ sb $zero, %lo(gIsNonCarRacers)($at) -.L8000D410: -/* 00E010 8000D410 240F0001 */ li $t7, 1 -/* 00E014 8000D414 3C018012 */ lui $at, %hi(gIsNonCarRacers) # $at, 0x8012 -/* 00E018 8000D418 A02FAE02 */ sb $t7, %lo(gIsNonCarRacers)($at) -.L8000D41C: -/* 00E01C 8000D41C 8FB80078 */ lw $t8, 0x78($sp) -/* 00E020 8000D420 8C63AEF0 */ lw $v1, %lo(gNumRacers)($v1) -/* 00E024 8000D424 830D00B8 */ lb $t5, 0xb8($t8) -/* 00E028 8000D428 3C018012 */ lui $at, %hi(D_8011AD24+1) # $at, 0x8012 -/* 00E02C 8000D42C A3B90127 */ sb $t9, 0x127($sp) -/* 00E030 8000D430 1860015E */ blez $v1, .L8000D9AC -/* 00E034 8000D434 A02DAD25 */ sb $t5, %lo(D_8011AD24+1)($at) -/* 00E038 8000D438 8FA40068 */ lw $a0, 0x68($sp) -/* 00E03C 8000D43C 24020005 */ li $v0, 5 -.L8000D440: -/* 00E040 8000D440 10440019 */ beq $v0, $a0, .L8000D4A8 -/* 00E044 8000D444 0200A025 */ move $s4, $s0 -/* 00E048 8000D448 8FAE0064 */ lw $t6, 0x64($sp) -/* 00E04C 8000D44C 3C0F8012 */ lui $t7, %hi(D_8011AD3C) # $t7, 0x8012 -/* 00E050 8000D450 15C00015 */ bnez $t6, .L8000D4A8 -/* 00E054 8000D454 00000000 */ nop -/* 00E058 8000D458 81EFAD3C */ lb $t7, %lo(D_8011AD3C)($t7) -/* 00E05C 8000D45C 00000000 */ nop -/* 00E060 8000D460 15E00011 */ bnez $t7, .L8000D4A8 -/* 00E064 8000D464 00000000 */ nop -/* 00E068 8000D468 0000A025 */ move $s4, $zero -.L8000D46C: -/* 00E06C 8000D46C 02550019 */ multu $s2, $s5 -/* 00E070 8000D470 0000C012 */ mflo $t8 -/* 00E074 8000D474 02F86821 */ addu $t5, $s7, $t8 -/* 00E078 8000D478 81B9005A */ lb $t9, 0x5a($t5) -/* 00E07C 8000D47C 00000000 */ nop -/* 00E080 8000D480 16190003 */ bne $s0, $t9, .L8000D490 -/* 00E084 8000D484 00000000 */ nop -/* 00E088 8000D488 0240A025 */ move $s4, $s2 -/* 00E08C 8000D48C 00609025 */ move $s2, $v1 -.L8000D490: -/* 00E090 8000D490 26520001 */ addiu $s2, $s2, 1 -/* 00E094 8000D494 0243082A */ slt $at, $s2, $v1 -/* 00E098 8000D498 1420FFF4 */ bnez $at, .L8000D46C -/* 00E09C 8000D49C 00000000 */ nop -/* 00E0A0 8000D4A0 10000001 */ b .L8000D4A8 -/* 00E0A4 8000D4A4 00009025 */ move $s2, $zero -.L8000D4A8: -/* 00E0A8 8000D4A8 8FAE0144 */ lw $t6, 0x144($sp) -/* 00E0AC 8000D4AC 240F0004 */ li $t7, 4 -/* 00E0B0 8000D4B0 028E082A */ slt $at, $s4, $t6 -/* 00E0B4 8000D4B4 10200003 */ beqz $at, .L8000D4C4 -/* 00E0B8 8000D4B8 00103080 */ sll $a2, $s0, 2 -/* 00E0BC 8000D4BC 10000002 */ b .L8000D4C8 -/* 00E0C0 8000D4C0 A6D4000E */ sh $s4, 0xe($s6) -.L8000D4C4: -/* 00E0C4 8000D4C4 A6CF000E */ sh $t7, 0xe($s6) -.L8000D4C8: -/* 00E0C8 8000D4C8 14440005 */ bne $v0, $a0, .L8000D4E0 -/* 00E0CC 8000D4CC 27AD00F4 */ addiu $t5, $sp, 0xf4 -/* 00E0D0 8000D4D0 86D8000E */ lh $t8, 0xe($s6) -/* 00E0D4 8000D4D4 24010004 */ li $at, 4 -/* 00E0D8 8000D4D8 1301012E */ beq $t8, $at, .L8000D994 -/* 00E0DC 8000D4DC 00000000 */ nop -.L8000D4E0: -/* 00E0E0 8000D4E0 3C028012 */ lui $v0, %hi(D_8011AD3C) # $v0, 0x8012 -/* 00E0E4 8000D4E4 00CD9821 */ addu $s3, $a2, $t5 -/* 00E0E8 8000D4E8 27B900D4 */ addiu $t9, $sp, 0xd4 -/* 00E0EC 8000D4EC 8042AD3C */ lb $v0, %lo(D_8011AD3C)($v0) -/* 00E0F0 8000D4F0 00D97021 */ addu $t6, $a2, $t9 -/* 00E0F4 8000D4F4 27AD0094 */ addiu $t5, $sp, 0x94 -/* 00E0F8 8000D4F8 27AF00B4 */ addiu $t7, $sp, 0xb4 -/* 00E0FC 8000D4FC 00CFC021 */ addu $t8, $a2, $t7 -/* 00E100 8000D500 00CDC821 */ addu $t9, $a2, $t5 -/* 00E104 8000D504 24010001 */ li $at, 1 -/* 00E108 8000D508 AFB90044 */ sw $t9, 0x44($sp) -/* 00E10C 8000D50C AFB80048 */ sw $t8, 0x48($sp) -/* 00E110 8000D510 AFAE004C */ sw $t6, 0x4c($sp) -/* 00E114 8000D514 14410012 */ bne $v0, $at, .L8000D560 -/* 00E118 8000D518 24110001 */ li $s1, 1 -/* 00E11C 8000D51C 16000009 */ bnez $s0, .L8000D544 -/* 00E120 8000D520 3C188012 */ lui $t8, %hi(D_8011AD24+1) # $t8, 0x8012 -/* 00E124 8000D524 3C0E8012 */ lui $t6, %hi(D_8011AD24+1) # $t6, 0x8012 -/* 00E128 8000D528 81CEAD25 */ lb $t6, %lo(D_8011AD24+1)($t6) -# Indexing into gBossVehicles only reading the MSB? -/* 00E12C 8000D52C 3C1E800E */ lui $fp, %hi(gBossVehicles) # $fp, 0x800e -/* 00E130 8000D530 000E7840 */ sll $t7, $t6, 1 -/* 00E134 8000D534 03CFF021 */ addu $fp, $fp, $t7 -/* 00E138 8000D538 83DEC820 */ lb $fp, %lo(gBossVehicles)($fp) -/* 00E13C 8000D53C 10000028 */ b .L8000D5E0 -/* 00E140 8000D540 00000000 */ nop -.L8000D544: -/* 00E144 8000D544 8318AD25 */ lb $t8, %lo(D_8011AD24+1)($t8) -# Indexing into gBossVehicles only reading the LSB? -/* 00E148 8000D548 3C1E800E */ lui $fp, %hi(gBossVehicles) # $fp, 0x800e -/* 00E14C 8000D54C 00186840 */ sll $t5, $t8, 1 -/* 00E150 8000D550 03CDF021 */ addu $fp, $fp, $t5 -/* 00E154 8000D554 83DEC821 */ lb $fp, %lo(gBossVehicles+1)($fp) -/* 00E158 8000D558 10000021 */ b .L8000D5E0 -/* 00E15C 8000D55C 00000000 */ nop -.L8000D560: -/* 00E160 8000D560 24010002 */ li $at, 2 -/* 00E164 8000D564 14410006 */ bne $v0, $at, .L8000D580 -/* 00E168 8000D568 00000000 */ nop -/* 00E16C 8000D56C 8FB90078 */ lw $t9, 0x78($sp) -/* 00E170 8000D570 00000000 */ nop -/* 00E174 8000D574 833E004D */ lb $fp, 0x4d($t9) -/* 00E178 8000D578 10000019 */ b .L8000D5E0 -/* 00E17C 8000D57C 00000000 */ nop -.L8000D580: -/* 00E180 8000D580 86CE000E */ lh $t6, 0xe($s6) -/* 00E184 8000D584 24010004 */ li $at, 4 -/* 00E188 8000D588 11C10006 */ beq $t6, $at, .L8000D5A4 -/* 00E18C 8000D58C 00002025 */ move $a0, $zero -/* 00E190 8000D590 0C01B067 */ jal is_two_player_adventure_race -/* 00E194 8000D594 AFA60054 */ sw $a2, 0x54($sp) -/* 00E198 8000D598 8FA60054 */ lw $a2, 0x54($sp) -/* 00E19C 8000D59C 10400006 */ beqz $v0, .L8000D5B8 -/* 00E1A0 8000D5A0 00002025 */ move $a0, $zero -.L8000D5A4: -/* 00E1A4 8000D5A4 0C027094 */ jal get_player_selected_vehicle -/* 00E1A8 8000D5A8 AFA60054 */ sw $a2, 0x54($sp) -/* 00E1AC 8000D5AC 8FA60054 */ lw $a2, 0x54($sp) -/* 00E1B0 8000D5B0 1000000B */ b .L8000D5E0 -/* 00E1B4 8000D5B4 0040F025 */ move $fp, $v0 -.L8000D5B8: -/* 00E1B8 8000D5B8 8FAF0144 */ lw $t7, 0x144($sp) -/* 00E1BC 8000D5BC 00000000 */ nop -/* 00E1C0 8000D5C0 29E10002 */ slti $at, $t7, 2 -/* 00E1C4 8000D5C4 14200006 */ bnez $at, .L8000D5E0 -/* 00E1C8 8000D5C8 00000000 */ nop -/* 00E1CC 8000D5CC 86C4000E */ lh $a0, 0xe($s6) -/* 00E1D0 8000D5D0 0C027094 */ jal get_player_selected_vehicle -/* 00E1D4 8000D5D4 AFA60054 */ sw $a2, 0x54($sp) -/* 00E1D8 8000D5D8 8FA60054 */ lw $a2, 0x54($sp) -/* 00E1DC 8000D5DC 0040F025 */ move $fp, $v0 -.L8000D5E0: -/* 00E1E0 8000D5E0 3C188012 */ lui $t8, %hi(D_8011AD3C) # $t8, 0x8012 -/* 00E1E4 8000D5E4 8318AD3C */ lb $t8, %lo(D_8011AD3C)($t8) -/* 00E1E8 8000D5E8 86C3000E */ lh $v1, 0xe($s6) -/* 00E1EC 8000D5EC 24010002 */ li $at, 2 -/* 00E1F0 8000D5F0 17010010 */ bne $t8, $at, .L8000D634 -/* 00E1F4 8000D5F4 3C0D800E */ lui $t5, %hi(D_800DC840) # $t5, 0x800e -/* 00E1F8 8000D5F8 01B06821 */ addu $t5, $t5, $s0 -/* 00E1FC 8000D5FC 81ADC840 */ lb $t5, %lo(D_800DC840)($t5) -/* 00E200 8000D600 001E7080 */ sll $t6, $fp, 2 -/* 00E204 8000D604 01DE7021 */ addu $t6, $t6, $fp -/* 00E208 8000D608 000DC840 */ sll $t9, $t5, 1 -/* 00E20C 8000D60C 000E7880 */ sll $t7, $t6, 2 -/* 00E210 8000D610 032FC021 */ addu $t8, $t9, $t7 -/* 00E214 8000D614 00146880 */ sll $t5, $s4, 2 -/* 00E218 8000D618 3C02800E */ lui $v0, %hi(D_800DC7A8) # $v0, 0x800e -/* 00E21C 8000D61C 00581021 */ addu $v0, $v0, $t8 -/* 00E220 8000D620 01B46823 */ subu $t5, $t5, $s4 -/* 00E224 8000D624 000D68C0 */ sll $t5, $t5, 3 -/* 00E228 8000D628 8442C7A8 */ lh $v0, %lo(D_800DC7A8)($v0) -/* 00E22C 8000D62C 1000001A */ b .L8000D698 -/* 00E230 8000D630 02ED3821 */ addu $a3, $s7, $t5 -.L8000D634: -/* 00E234 8000D634 2BC10005 */ slti $at, $fp, 5 -/* 00E238 8000D638 10200010 */ beqz $at, .L8000D67C -/* 00E23C 8000D63C 001EC840 */ sll $t9, $fp, 1 -/* 00E240 8000D640 02950019 */ multu $s4, $s5 -/* 00E244 8000D644 001EC080 */ sll $t8, $fp, 2 -/* 00E248 8000D648 031EC021 */ addu $t8, $t8, $fp -/* 00E24C 8000D64C 00186880 */ sll $t5, $t8, 2 -/* 00E250 8000D650 3C02800E */ lui $v0, %hi(D_800DC7A8) # $v0, 0x800e -/* 00E254 8000D654 00007012 */ mflo $t6 -/* 00E258 8000D658 02EE3821 */ addu $a3, $s7, $t6 -/* 00E25C 8000D65C 80F90059 */ lb $t9, 0x59($a3) -/* 00E260 8000D660 00000000 */ nop -/* 00E264 8000D664 00197840 */ sll $t7, $t9, 1 -/* 00E268 8000D668 01ED7021 */ addu $t6, $t7, $t5 -/* 00E26C 8000D66C 004E1021 */ addu $v0, $v0, $t6 -/* 00E270 8000D670 8442C7A8 */ lh $v0, %lo(D_800DC7A8)($v0) -/* 00E274 8000D674 10000009 */ b .L8000D69C -/* 00E278 8000D678 304F0100 */ andi $t7, $v0, 0x100 -.L8000D67C: -# Indexing into D_800DC7B8 starting at index 37? -/* 00E27C 8000D67C 3C02800E */ lui $v0, %hi(D_800DC7B8) # $v0, 0x800e -/* 00E280 8000D680 0014C080 */ sll $t8, $s4, 2 -/* 00E284 8000D684 0314C023 */ subu $t8, $t8, $s4 -/* 00E288 8000D688 00591021 */ addu $v0, $v0, $t9 -/* 00E28C 8000D68C 0018C0C0 */ sll $t8, $t8, 3 -/* 00E290 8000D690 8442C802 */ lh $v0, %lo(D_800DC7B8+0x4A)/*-0x37fe*/($v0) -/* 00E294 8000D694 02F83821 */ addu $a3, $s7, $t8 -.L8000D698: -/* 00E298 8000D698 304F0100 */ andi $t7, $v0, 0x100 -.L8000D69C: -/* 00E29C 8000D69C 000F6843 */ sra $t5, $t7, 1 -/* 00E2A0 8000D6A0 35AE0010 */ ori $t6, $t5, 0x10 -/* 00E2A4 8000D6A4 A2C20000 */ sb $v0, ($s6) -/* 00E2A8 8000D6A8 A2CE0001 */ sb $t6, 1($s6) -/* 00E2AC 8000D6AC 8E790000 */ lw $t9, ($s3) -/* 00E2B0 8000D6B0 24010004 */ li $at, 4 -/* 00E2B4 8000D6B4 A6D90002 */ sh $t9, 2($s6) -/* 00E2B8 8000D6B8 8FB8004C */ lw $t8, 0x4c($sp) -/* 00E2BC 8000D6BC 24040001 */ li $a0, 1 -/* 00E2C0 8000D6C0 8F0F0000 */ lw $t7, ($t8) -/* 00E2C4 8000D6C4 00000000 */ nop -/* 00E2C8 8000D6C8 A6CF0004 */ sh $t7, 4($s6) -/* 00E2CC 8000D6CC 8FAD0048 */ lw $t5, 0x48($sp) -/* 00E2D0 8000D6D0 00000000 */ nop -/* 00E2D4 8000D6D4 8DAE0000 */ lw $t6, ($t5) -/* 00E2D8 8000D6D8 00000000 */ nop -/* 00E2DC 8000D6DC A6CE0006 */ sh $t6, 6($s6) -/* 00E2E0 8000D6E0 8FB90044 */ lw $t9, 0x44($sp) -/* 00E2E4 8000D6E4 00000000 */ nop -/* 00E2E8 8000D6E8 8F380000 */ lw $t8, ($t9) -/* 00E2EC 8000D6EC 14610008 */ bne $v1, $at, .L8000D710 -/* 00E2F0 8000D6F0 A6D8000C */ sh $t8, 0xc($s6) -/* 00E2F4 8000D6F4 AFA60054 */ sw $a2, 0x54($sp) -/* 00E2F8 8000D6F8 0C01867D */ jal func_800619F4 -/* 00E2FC 8000D6FC AFA7005C */ sw $a3, 0x5c($sp) -/* 00E300 8000D700 8FA60054 */ lw $a2, 0x54($sp) -/* 00E304 8000D704 8FA7005C */ lw $a3, 0x5c($sp) -/* 00E308 8000D708 86C3000E */ lh $v1, 0xe($s6) -/* 00E30C 8000D70C 00000000 */ nop -.L8000D710: -/* 00E310 8000D710 24010004 */ li $at, 4 -/* 00E314 8000D714 14610007 */ bne $v1, $at, .L8000D734 -/* 00E318 8000D718 00002025 */ move $a0, $zero -/* 00E31C 8000D71C 8FAF0144 */ lw $t7, 0x144($sp) -/* 00E320 8000D720 24110005 */ li $s1, 5 -/* 00E324 8000D724 29E10002 */ slti $at, $t7, 2 -/* 00E328 8000D728 14200002 */ bnez $at, .L8000D734 -/* 00E32C 8000D72C 362D0008 */ ori $t5, $s1, 8 -/* 00E330 8000D730 01A08825 */ move $s1, $t5 -.L8000D734: -/* 00E334 8000D734 24010004 */ li $at, 4 -/* 00E338 8000D738 10610007 */ beq $v1, $at, .L8000D758 -/* 00E33C 8000D73C 2BC10005 */ slti $at, $fp, 5 -/* 00E340 8000D740 8FAE0144 */ lw $t6, 0x144($sp) -/* 00E344 8000D744 24010001 */ li $at, 1 -/* 00E348 8000D748 15C10002 */ bne $t6, $at, .L8000D754 -/* 00E34C 8000D74C 36390010 */ ori $t9, $s1, 0x10 -/* 00E350 8000D750 03208825 */ move $s1, $t9 -.L8000D754: -/* 00E354 8000D754 2BC10005 */ slti $at, $fp, 5 -.L8000D758: -/* 00E358 8000D758 14200008 */ bnez $at, .L8000D77C -/* 00E35C 8000D75C 00000000 */ nop -/* 00E360 8000D760 24110001 */ li $s1, 1 -/* 00E364 8000D764 AFA60054 */ sw $a2, 0x54($sp) -/* 00E368 8000D768 0C01867D */ jal func_800619F4 -/* 00E36C 8000D76C AFA7005C */ sw $a3, 0x5c($sp) -/* 00E370 8000D770 8FA60054 */ lw $a2, 0x54($sp) -/* 00E374 8000D774 8FA7005C */ lw $a3, 0x5c($sp) -/* 00E378 8000D778 00000000 */ nop -.L8000D77C: -/* 00E37C 8000D77C 02C02025 */ move $a0, $s6 -/* 00E380 8000D780 02202825 */ move $a1, $s1 -/* 00E384 8000D784 AFA60054 */ sw $a2, 0x54($sp) -/* 00E388 8000D788 0C003A95 */ jal spawn_object -/* 00E38C 8000D78C AFA7005C */ sw $a3, 0x5c($sp) -/* 00E390 8000D790 8FB80044 */ lw $t8, 0x44($sp) -/* 00E394 8000D794 8FA60054 */ lw $a2, 0x54($sp) -/* 00E398 8000D798 8F0F0000 */ lw $t7, ($t8) -/* 00E39C 8000D79C 8FA7005C */ lw $a3, 0x5c($sp) -/* 00E3A0 8000D7A0 3C0D8012 */ lui $t5, %hi(gRacers) # $t5, 0x8012 -/* 00E3A4 8000D7A4 A44F0000 */ sh $t7, ($v0) -/* 00E3A8 8000D7A8 8DADAEE4 */ lw $t5, %lo(gRacers)($t5) -/* 00E3AC 8000D7AC 3C198012 */ lui $t9, %hi(gRacersByPosition) # $t9, 0x8012 -/* 00E3B0 8000D7B0 01A67021 */ addu $t6, $t5, $a2 -/* 00E3B4 8000D7B4 ADC20000 */ sw $v0, ($t6) -/* 00E3B8 8000D7B8 8F39AEE8 */ lw $t9, %lo(gRacersByPosition)($t9) -/* 00E3BC 8000D7BC 3C0F8012 */ lui $t7, %hi(gRacersByPort) # $t7, 0x8012 -/* 00E3C0 8000D7C0 0326C021 */ addu $t8, $t9, $a2 -/* 00E3C4 8000D7C4 AF020000 */ sw $v0, ($t8) -/* 00E3C8 8000D7C8 8DEFAEEC */ lw $t7, %lo(gRacersByPort)($t7) -/* 00E3CC 8000D7CC 00146880 */ sll $t5, $s4, 2 -/* 00E3D0 8000D7D0 01ED7021 */ addu $t6, $t7, $t5 -/* 00E3D4 8000D7D4 ADC20000 */ sw $v0, ($t6) -/* 00E3D8 8000D7D8 8C530064 */ lw $s3, 0x64($v0) -/* 00E3DC 8000D7DC AC40003C */ sw $zero, 0x3c($v0) -/* 00E3E0 8000D7E0 A27E01D6 */ sb $fp, 0x1d6($s3) -/* 00E3E4 8000D7E4 A27E01D7 */ sb $fp, 0x1d7($s3) -/* 00E3E8 8000D7E8 83B90127 */ lb $t9, 0x127($sp) -/* 00E3EC 8000D7EC 2401FFFF */ li $at, -1 -/* 00E3F0 8000D7F0 13210005 */ beq $t9, $at, .L8000D808 -/* 00E3F4 8000D7F4 00408825 */ move $s1, $v0 -/* 00E3F8 8000D7F8 133E0003 */ beq $t9, $fp, .L8000D808 -/* 00E3FC 8000D7FC 24180001 */ li $t8, 1 -/* 00E400 8000D800 3C018012 */ lui $at, %hi(D_8011AD20) # $at, 0x8012 -/* 00E404 8000D804 A038AD20 */ sb $t8, %lo(D_8011AD20)($at) -.L8000D808: -/* 00E408 8000D808 A3BE0127 */ sb $fp, 0x127($sp) -/* 00E40C 8000D80C 826201D6 */ lb $v0, 0x1d6($s3) -/* 00E410 8000D810 24010002 */ li $at, 2 -/* 00E414 8000D814 10410005 */ beq $v0, $at, .L8000D82C -/* 00E418 8000D818 240F0001 */ li $t7, 1 -/* 00E41C 8000D81C 24010007 */ li $at, 7 -/* 00E420 8000D820 10410002 */ beq $v0, $at, .L8000D82C -/* 00E424 8000D824 24010008 */ li $at, 8 -/* 00E428 8000D828 14410002 */ bne $v0, $at, .L8000D834 -.L8000D82C: -/* 00E42C 8000D82C 3C018012 */ lui $at, %hi(gIsNonCarRacers) # $at, 0x8012 -/* 00E430 8000D830 A02FAE02 */ sb $t7, %lo(gIsNonCarRacers)($at) -.L8000D834: -/* 00E434 8000D834 A27E01CB */ sb $fp, 0x1cb($s3) -/* 00E438 8000D838 826201CB */ lb $v0, 0x1cb($s3) -/* 00E43C 8000D83C 3C19800E */ lui $t9, %hi(D_800DC840) # $t9, 0x800e -/* 00E440 8000D840 04400003 */ bltz $v0, .L8000D850 -/* 00E444 8000D844 28410003 */ slti $at, $v0, 3 -/* 00E448 8000D848 14200002 */ bnez $at, .L8000D854 -/* 00E44C 8000D84C 00000000 */ nop -.L8000D850: -/* 00E450 8000D850 A26001CB */ sb $zero, 0x1cb($s3) -.L8000D854: -/* 00E454 8000D854 A2740002 */ sb $s4, 2($s3) -/* 00E458 8000D858 80ED0059 */ lb $t5, 0x59($a3) -/* 00E45C 8000D85C 3C0E8012 */ lui $t6, %hi(D_8011AD3C) # $t6, 0x8012 -/* 00E460 8000D860 A26D0003 */ sb $t5, 3($s3) -/* 00E464 8000D864 81CEAD3C */ lb $t6, %lo(D_8011AD3C)($t6) -/* 00E468 8000D868 24010002 */ li $at, 2 -/* 00E46C 8000D86C 15C10004 */ bne $t6, $at, .L8000D880 -/* 00E470 8000D870 0330C821 */ addu $t9, $t9, $s0 -/* 00E474 8000D874 8339C840 */ lb $t9, %lo(D_800DC840)($t9) -/* 00E478 8000D878 10000004 */ b .L8000D88C -/* 00E47C 8000D87C A2790003 */ sb $t9, 3($s3) -.L8000D880: -/* 00E480 8000D880 80F80059 */ lb $t8, 0x59($a3) -/* 00E484 8000D884 00000000 */ nop -/* 00E488 8000D888 A2780003 */ sb $t8, 3($s3) -.L8000D88C: -/* 00E48C 8000D88C 8FAF0068 */ lw $t7, 0x68($sp) -/* 00E490 8000D890 24010040 */ li $at, 64 -/* 00E494 8000D894 15E10003 */ bne $t7, $at, .L8000D8A4 -/* 00E498 8000D898 240D0008 */ li $t5, 8 -/* 00E49C 8000D89C 10000002 */ b .L8000D8A8 -/* 00E4A0 8000D8A0 A26D0185 */ sb $t5, 0x185($s3) -.L8000D8A4: -/* 00E4A4 8000D8A4 A2600185 */ sb $zero, 0x185($s3) -.L8000D8A8: -/* 00E4A8 8000D8A8 0C0270C3 */ jal get_filtered_cheats -/* 00E4AC 8000D8AC 00000000 */ nop -/* 00E4B0 8000D8B0 304E0080 */ andi $t6, $v0, 0x80 -/* 00E4B4 8000D8B4 11C0000B */ beqz $t6, .L8000D8E4 -/* 00E4B8 8000D8B8 8FAD0138 */ lw $t5, 0x138($sp) -/* 00E4BC 8000D8BC 8FB90064 */ lw $t9, 0x64($sp) -/* 00E4C0 8000D8C0 00000000 */ nop -/* 00E4C4 8000D8C4 17200007 */ bnez $t9, .L8000D8E4 -/* 00E4C8 8000D8C8 8FAD0138 */ lw $t5, 0x138($sp) -/* 00E4CC 8000D8CC 86780000 */ lh $t8, ($s3) -/* 00E4D0 8000D8D0 2401FFFF */ li $at, -1 -/* 00E4D4 8000D8D4 13010002 */ beq $t8, $at, .L8000D8E0 -/* 00E4D8 8000D8D8 240F000A */ li $t7, 10 -/* 00E4DC 8000D8DC A26F0185 */ sb $t7, 0x185($s3) -.L8000D8E0: -/* 00E4E0 8000D8E0 8FAD0138 */ lw $t5, 0x138($sp) -.L8000D8E4: -/* 00E4E4 8000D8E4 24010001 */ li $at, 1 -/* 00E4E8 8000D8E8 15A10004 */ bne $t5, $at, .L8000D8FC -/* 00E4EC 8000D8EC 3C0E8012 */ lui $t6, %hi(D_8011AD3C) # $t6, 0x8012 -/* 00E4F0 8000D8F0 81CEAD3C */ lb $t6, %lo(D_8011AD3C)($t6) -/* 00E4F4 8000D8F4 24010002 */ li $at, 2 -/* 00E4F8 8000D8F8 15C10009 */ bne $t6, $at, .L8000D920 -.L8000D8FC: -/* 00E4FC 8000D8FC 2BC10005 */ slti $at, $fp, 5 -/* 00E500 8000D900 10200007 */ beqz $at, .L8000D920 -/* 00E504 8000D904 00000000 */ nop -/* 00E508 8000D908 82640003 */ lb $a0, 3($s3) -/* 00E50C 8000D90C 826501D6 */ lb $a1, 0x1d6($s3) -/* 00E510 8000D910 0C0012D0 */ jal func_80004B40 -/* 00E514 8000D914 00000000 */ nop -/* 00E518 8000D918 10000002 */ b .L8000D924 -/* 00E51C 8000D91C AE620118 */ sw $v0, 0x118($s3) -.L8000D920: -/* 00E520 8000D920 AE600118 */ sw $zero, 0x118($s3) -.L8000D924: -/* 00E524 8000D924 82790003 */ lb $t9, 3($s3) -/* 00E528 8000D928 8FB80128 */ lw $t8, 0x128($sp) -/* 00E52C 8000D92C 00000000 */ nop -/* 00E530 8000D930 03387821 */ addu $t7, $t9, $t8 -/* 00E534 8000D934 81ED0000 */ lb $t5, ($t7) -/* 00E538 8000D938 8E39004C */ lw $t9, 0x4c($s1) -/* 00E53C 8000D93C 25AE0001 */ addiu $t6, $t5, 1 -/* 00E540 8000D940 A32E0012 */ sb $t6, 0x12($t9) -/* 00E544 8000D944 827801D6 */ lb $t8, 0x1d6($s3) -/* 00E548 8000D948 00000000 */ nop -/* 00E54C 8000D94C 270FFFFB */ addiu $t7, $t8, -5 -/* 00E550 8000D950 2DE10009 */ sltiu $at, $t7, 9 -/* 00E554 8000D954 1020000D */ beqz $at, .L8000D98C -/* 00E558 8000D958 000F7880 */ sll $t7, $t7, 2 -/* 00E55C 8000D95C 3C01800E */ lui $at, %hi(jpt_800E5154) # $at, 0x800e -/* 00E560 8000D960 002F0821 */ addu $at, $at, $t7 -/* 00E564 8000D964 8C2F5154 */ lw $t7, %lo(jpt_800E5154)($at) -/* 00E568 8000D968 00000000 */ nop -/* 00E56C 8000D96C 01E00008 */ jr $t7 -/* 00E570 8000D970 00000000 */ nop -glabel L8000D974 -/* 00E574 8000D974 02202025 */ move $a0, $s1 -/* 00E578 8000D978 0C0170BC */ jal racer_special_init -/* 00E57C 8000D97C 02602825 */ move $a1, $s3 -/* 00E580 8000D980 8FA40068 */ lw $a0, 0x68($sp) -/* 00E584 8000D984 10000003 */ b .L8000D994 -/* 00E588 8000D988 24020005 */ li $v0, 5 -.L8000D98C: -glabel L8000D98C -/* 00E58C 8000D98C 8FA40068 */ lw $a0, 0x68($sp) -/* 00E590 8000D990 24020005 */ li $v0, 5 -.L8000D994: -/* 00E594 8000D994 3C038012 */ lui $v1, %hi(gNumRacers) # $v1, 0x8012 -/* 00E598 8000D998 8C63AEF0 */ lw $v1, %lo(gNumRacers)($v1) -/* 00E59C 8000D99C 26100001 */ addiu $s0, $s0, 1 -/* 00E5A0 8000D9A0 0203082A */ slt $at, $s0, $v1 -/* 00E5A4 8000D9A4 1420FEA6 */ bnez $at, .L8000D440 -/* 00E5A8 8000D9A8 00000000 */ nop -.L8000D9AC: -/* 00E5AC 8000D9AC 8FA40068 */ lw $a0, 0x68($sp) -/* 00E5B0 8000D9B0 24010008 */ li $at, 8 -/* 00E5B4 8000D9B4 10810003 */ beq $a0, $at, .L8000D9C4 -/* 00E5B8 8000D9B8 0000A025 */ move $s4, $zero -/* 00E5BC 8000D9BC 3C018012 */ lui $at, %hi(D_8011AD3C) # $at, 0x8012 -/* 00E5C0 8000D9C0 A020AD3C */ sb $zero, %lo(D_8011AD3C)($at) -.L8000D9C4: -/* 00E5C4 8000D9C4 3C0D8012 */ lui $t5, %hi(D_8011AD3C) # $t5, 0x8012 -/* 00E5C8 8000D9C8 81ADAD3C */ lb $t5, %lo(D_8011AD3C)($t5) -/* 00E5CC 8000D9CC 00000000 */ nop -/* 00E5D0 8000D9D0 11A00002 */ beqz $t5, .L8000D9DC -/* 00E5D4 8000D9D4 3C018012 */ lui $at, %hi(D_8011AD20) # $at, 0x8012 -/* 00E5D8 8000D9D8 A020AD20 */ sb $zero, %lo(D_8011AD20)($at) -.L8000D9DC: -/* 00E5DC 8000D9DC 0C01B683 */ jal get_game_mode -/* 00E5E0 8000D9E0 00000000 */ nop -/* 00E5E4 8000D9E4 1440002D */ bnez $v0, .L8000DA9C -/* 00E5E8 8000D9E8 3C028012 */ lui $v0, %hi(gObjectCount) # $v0, 0x8012 -/* 00E5EC 8000D9EC 8C42AE5C */ lw $v0, %lo(gObjectCount)($v0) -/* 00E5F0 8000D9F0 0000A825 */ move $s5, $zero -/* 00E5F4 8000D9F4 18400029 */ blez $v0, .L8000DA9C -/* 00E5F8 8000D9F8 3C138012 */ lui $s3, %hi(gObjPtrList) # $s3, 0x8012 -/* 00E5FC 8000D9FC 2673AE58 */ addiu $s3, %lo(gObjPtrList) # addiu $s3, $s3, -0x51a8 -.L8000DA00: -/* 00E600 8000DA00 8E6E0000 */ lw $t6, ($s3) -/* 00E604 8000DA04 3C0D8012 */ lui $t5, %hi(gIsTimeTrial) # $t5, 0x8012 -/* 00E608 8000DA08 01D5C821 */ addu $t9, $t6, $s5 -/* 00E60C 8000DA0C 8F310000 */ lw $s1, ($t9) -/* 00E610 8000DA10 00000000 */ nop -/* 00E614 8000DA14 8E380040 */ lw $t8, 0x40($s1) -/* 00E618 8000DA18 00000000 */ nop -/* 00E61C 8000DA1C 97100030 */ lhu $s0, 0x30($t8) -/* 00E620 8000DA20 00000000 */ nop -/* 00E624 8000DA24 320F0020 */ andi $t7, $s0, 0x20 -/* 00E628 8000DA28 11E0000B */ beqz $t7, .L8000DA58 -/* 00E62C 8000DA2C 320E0040 */ andi $t6, $s0, 0x40 -/* 00E630 8000DA30 91ADAEF5 */ lbu $t5, %lo(gIsTimeTrial)($t5) -/* 00E634 8000DA34 00000000 */ nop -/* 00E638 8000DA38 11A00007 */ beqz $t5, .L8000DA58 -/* 00E63C 8000DA3C 00000000 */ nop -/* 00E640 8000DA40 0C003FEE */ jal free_object -/* 00E644 8000DA44 02202025 */ move $a0, $s1 -/* 00E648 8000DA48 3C028012 */ lui $v0, %hi(gObjectCount) # $v0, 0x8012 -/* 00E64C 8000DA4C 8C42AE5C */ lw $v0, %lo(gObjectCount)($v0) -/* 00E650 8000DA50 1000000E */ b .L8000DA8C -/* 00E654 8000DA54 26520001 */ addiu $s2, $s2, 1 -.L8000DA58: -/* 00E658 8000DA58 11C0000B */ beqz $t6, .L8000DA88 -/* 00E65C 8000DA5C 00000000 */ nop -/* 00E660 8000DA60 8FB90144 */ lw $t9, 0x144($sp) -/* 00E664 8000DA64 00000000 */ nop -/* 00E668 8000DA68 2B210002 */ slti $at, $t9, 2 -/* 00E66C 8000DA6C 14200006 */ bnez $at, .L8000DA88 -/* 00E670 8000DA70 00000000 */ nop -/* 00E674 8000DA74 0C003FEE */ jal free_object -/* 00E678 8000DA78 02202025 */ move $a0, $s1 -/* 00E67C 8000DA7C 3C028012 */ lui $v0, %hi(gObjectCount) # $v0, 0x8012 -/* 00E680 8000DA80 8C42AE5C */ lw $v0, %lo(gObjectCount)($v0) -/* 00E684 8000DA84 00000000 */ nop -.L8000DA88: -/* 00E688 8000DA88 26520001 */ addiu $s2, $s2, 1 -.L8000DA8C: -/* 00E68C 8000DA8C 0242082A */ slt $at, $s2, $v0 -/* 00E690 8000DA90 1420FFDB */ bnez $at, .L8000DA00 -/* 00E694 8000DA94 26B50004 */ addiu $s5, $s5, 4 -/* 00E698 8000DA98 00009025 */ move $s2, $zero -.L8000DA9C: -/* 00E69C 8000DA9C 3C15800E */ lui $s5, %hi(gGhostObjStaff) # $s5, 0x800e -/* 00E6A0 8000DAA0 26B5C718 */ addiu $s5, %lo(gGhostObjStaff) # addiu $s5, $s5, -0x38e8 -/* 00E6A4 8000DAA4 0C0166D3 */ jal timetrial_free_staff_ghost -/* 00E6A8 8000DAA8 AEA00000 */ sw $zero, ($s5) -/* 00E6AC 8000DAAC 3C118012 */ lui $s1, %hi(gTimeTrialContPak) # $s1, 0x8012 -/* 00E6B0 8000DAB0 2631AD38 */ addiu $s1, %lo(gTimeTrialContPak) # addiu $s1, $s1, -0x52c8 -/* 00E6B4 8000DAB4 2418FFFF */ li $t8, -1 -/* 00E6B8 8000DAB8 AE380000 */ sw $t8, ($s1) -/* 00E6BC 8000DABC 3C0F8012 */ lui $t7, %hi(gIsTimeTrial) # $t7, 0x8012 -/* 00E6C0 8000DAC0 91EFAEF5 */ lbu $t7, %lo(gIsTimeTrial)($t7) -/* 00E6C4 8000DAC4 00000000 */ nop -/* 00E6C8 8000DAC8 11E00071 */ beqz $t7, .L8000DC90 -/* 00E6CC 8000DACC 00000000 */ nop -/* 00E6D0 8000DAD0 8FAD0144 */ lw $t5, 0x144($sp) -/* 00E6D4 8000DAD4 24010001 */ li $at, 1 -/* 00E6D8 8000DAD8 15A1006D */ bne $t5, $at, .L8000DC90 -/* 00E6DC 8000DADC 00000000 */ nop -/* 00E6E0 8000DAE0 0C016651 */ jal timetrial_reset_player_ghost -/* 00E6E4 8000DAE4 00000000 */ nop -/* 00E6E8 8000DAE8 0C006D9A */ jal timetrial_init_player_ghost -/* 00E6EC 8000DAEC 00002025 */ move $a0, $zero -/* 00E6F0 8000DAF0 3C10800E */ lui $s0, %hi(gTimeTrialVehicle) # $s0, 0x800e -/* 00E6F4 8000DAF4 AE220000 */ sw $v0, ($s1) -/* 00E6F8 8000DAF8 3C01800E */ lui $at, %hi(gHasGhostToSave) # $at, 0x800e -/* 00E6FC 8000DAFC 2610C728 */ addiu $s0, %lo(gTimeTrialVehicle) # addiu $s0, $s0, -0x38d8 -/* 00E700 8000DB00 A020C730 */ sb $zero, %lo(gHasGhostToSave)($at) -/* 00E704 8000DB04 860E0000 */ lh $t6, ($s0) -/* 00E708 8000DB08 00000000 */ nop -/* 00E70C 8000DB0C 29C10005 */ slti $at, $t6, 5 -/* 00E710 8000DB10 14200002 */ bnez $at, .L8000DB1C -/* 00E714 8000DB14 00000000 */ nop -/* 00E718 8000DB18 A6000000 */ sh $zero, ($s0) -.L8000DB1C: -/* 00E71C 8000DB1C 0C006CA2 */ jal timetrial_valid_player_ghost -/* 00E720 8000DB20 00000000 */ nop -/* 00E724 8000DB24 1040002C */ beqz $v0, .L8000DBD8 -/* 00E728 8000DB28 3C19800E */ lui $t9, %hi(gTimeTrialCharacter) # $t9, 0x800e -/* 00E72C 8000DB2C 860F0000 */ lh $t7, ($s0) -/* 00E730 8000DB30 8739C72C */ lh $t9, %lo(gTimeTrialCharacter)($t9) -/* 00E734 8000DB34 000F6880 */ sll $t5, $t7, 2 -/* 00E738 8000DB38 01AF6821 */ addu $t5, $t5, $t7 -/* 00E73C 8000DB3C 000D7080 */ sll $t6, $t5, 2 -/* 00E740 8000DB40 0019C040 */ sll $t8, $t9, 1 -/* 00E744 8000DB44 030EC821 */ addu $t9, $t8, $t6 -/* 00E748 8000DB48 3C02800E */ lui $v0, %hi(D_800DC7A8) # $v0, 0x800e -/* 00E74C 8000DB4C 00591021 */ addu $v0, $v0, $t9 -/* 00E750 8000DB50 8442C7A8 */ lh $v0, %lo(D_800DC7A8)($v0) -/* 00E754 8000DB54 02C02025 */ move $a0, $s6 -/* 00E758 8000DB58 304F0100 */ andi $t7, $v0, 0x100 -/* 00E75C 8000DB5C 000F6843 */ sra $t5, $t7, 1 -/* 00E760 8000DB60 35B80010 */ ori $t8, $t5, 0x10 -/* 00E764 8000DB64 A2D80001 */ sb $t8, 1($s6) -/* 00E768 8000DB68 A2C20000 */ sb $v0, ($s6) -/* 00E76C 8000DB6C 8FAE00F4 */ lw $t6, 0xf4($sp) -/* 00E770 8000DB70 24050001 */ li $a1, 1 -/* 00E774 8000DB74 A6CE0002 */ sh $t6, 2($s6) -/* 00E778 8000DB78 8FB900D4 */ lw $t9, 0xd4($sp) -/* 00E77C 8000DB7C 00000000 */ nop -/* 00E780 8000DB80 A6D90004 */ sh $t9, 4($s6) -/* 00E784 8000DB84 8FAF00B4 */ lw $t7, 0xb4($sp) -/* 00E788 8000DB88 00000000 */ nop -/* 00E78C 8000DB8C A6CF0006 */ sh $t7, 6($s6) -/* 00E790 8000DB90 8FAD0094 */ lw $t5, 0x94($sp) -/* 00E794 8000DB94 0C003A95 */ jal spawn_object -/* 00E798 8000DB98 A6CD000C */ sh $t5, 0xc($s6) -/* 00E79C 8000DB9C 2418003A */ li $t8, 58 -/* 00E7A0 8000DBA0 AC40003C */ sw $zero, 0x3c($v0) -/* 00E7A4 8000DBA4 A4580048 */ sh $t8, 0x48($v0) -/* 00E7A8 8000DBA8 3C01800E */ lui $at, %hi(D_800E5178) # $at, 0x800e -/* 00E7AC 8000DBAC C4245178 */ lwc1 $f4, %lo(D_800E5178)($at) -/* 00E7B0 8000DBB0 8C4E0050 */ lw $t6, 0x50($v0) -/* 00E7B4 8000DBB4 3C038012 */ lui $v1, %hi(gGhostObjPlayer) # $v1, 0x8012 -/* 00E7B8 8000DBB8 E5C40000 */ swc1 $f4, ($t6) -/* 00E7BC 8000DBBC 8C59004C */ lw $t9, 0x4c($v0) -/* 00E7C0 8000DBC0 2463AD34 */ addiu $v1, %lo(gGhostObjPlayer) # addiu $v1, $v1, -0x52cc -/* 00E7C4 8000DBC4 A7200014 */ sh $zero, 0x14($t9) -/* 00E7C8 8000DBC8 AC620000 */ sw $v0, ($v1) -/* 00E7CC 8000DBCC 8C530064 */ lw $s3, 0x64($v0) -/* 00E7D0 8000DBD0 240D0060 */ li $t5, 96 -/* 00E7D4 8000DBD4 A26D01F7 */ sb $t5, 0x1f7($s3) -.L8000DBD8: -/* 00E7D8 8000DBD8 0C01AF62 */ jal get_current_map_id -/* 00E7DC 8000DBDC 00000000 */ nop -/* 00E7E0 8000DBE0 0C006D3F */ jal timetrial_init_staff_ghost -/* 00E7E4 8000DBE4 00402025 */ move $a0, $v0 -/* 00E7E8 8000DBE8 10400029 */ beqz $v0, .L8000DC90 -/* 00E7EC 8000DBEC 3C188012 */ lui $t8, %hi(gMapDefaultVehicle) # $t8, 0x8012 -/* 00E7F0 8000DBF0 8718AE84 */ lh $t8, %lo(gMapDefaultVehicle)($t8) -/* 00E7F4 8000DBF4 3C02800E */ lui $v0, %hi(D_800DC7B8) # $v0, 0x800e -/* 00E7F8 8000DBF8 00187080 */ sll $t6, $t8, 2 -/* 00E7FC 8000DBFC 01D87021 */ addu $t6, $t6, $t8 -/* 00E800 8000DC00 000EC880 */ sll $t9, $t6, 2 -/* 00E804 8000DC04 00591021 */ addu $v0, $v0, $t9 -/* 00E808 8000DC08 8442C7B8 */ lh $v0, %lo(D_800DC7B8)($v0) -/* 00E80C 8000DC0C 02C02025 */ move $a0, $s6 -/* 00E810 8000DC10 304F0100 */ andi $t7, $v0, 0x100 -/* 00E814 8000DC14 000F6843 */ sra $t5, $t7, 1 -/* 00E818 8000DC18 35B80010 */ ori $t8, $t5, 0x10 -/* 00E81C 8000DC1C A2D80001 */ sb $t8, 1($s6) -/* 00E820 8000DC20 A2C20000 */ sb $v0, ($s6) -/* 00E824 8000DC24 8FAE00F4 */ lw $t6, 0xf4($sp) -/* 00E828 8000DC28 24050001 */ li $a1, 1 -/* 00E82C 8000DC2C A6CE0002 */ sh $t6, 2($s6) -/* 00E830 8000DC30 8FB900D4 */ lw $t9, 0xd4($sp) -/* 00E834 8000DC34 00000000 */ nop -/* 00E838 8000DC38 A6D90004 */ sh $t9, 4($s6) -/* 00E83C 8000DC3C 8FAF00B4 */ lw $t7, 0xb4($sp) -/* 00E840 8000DC40 00000000 */ nop -/* 00E844 8000DC44 A6CF0006 */ sh $t7, 6($s6) -/* 00E848 8000DC48 8FAD0094 */ lw $t5, 0x94($sp) -/* 00E84C 8000DC4C 0C003A95 */ jal spawn_object -/* 00E850 8000DC50 A6CD000C */ sh $t5, 0xc($s6) -/* 00E854 8000DC54 2418003A */ li $t8, 58 -/* 00E858 8000DC58 AC40003C */ sw $zero, 0x3c($v0) -/* 00E85C 8000DC5C A4580048 */ sh $t8, 0x48($v0) -/* 00E860 8000DC60 3C01800E */ lui $at, %hi(D_800E517C) # $at, 0x800e -/* 00E864 8000DC64 C426517C */ lwc1 $f6, %lo(D_800E517C)($at) -/* 00E868 8000DC68 8C4E0050 */ lw $t6, 0x50($v0) -/* 00E86C 8000DC6C 240D0060 */ li $t5, 96 -/* 00E870 8000DC70 E5C60000 */ swc1 $f6, ($t6) -/* 00E874 8000DC74 8C59004C */ lw $t9, 0x4c($v0) -/* 00E878 8000DC78 00000000 */ nop -/* 00E87C 8000DC7C A7200014 */ sh $zero, 0x14($t9) -/* 00E880 8000DC80 AEA20000 */ sw $v0, ($s5) -/* 00E884 8000DC84 8C530064 */ lw $s3, 0x64($v0) -/* 00E888 8000DC88 00000000 */ nop -/* 00E88C 8000DC8C A26D01F7 */ sb $t5, 0x1f7($s3) -.L8000DC90: -/* 00E890 8000DC90 3C0E8012 */ lui $t6, %hi(gNumRacers) # $t6, 0x8012 -/* 00E894 8000DC94 8DCEAEF0 */ lw $t6, %lo(gNumRacers)($t6) -/* 00E898 8000DC98 24180064 */ li $t8, 100 -/* 00E89C 8000DC9C 3C018012 */ lui $at, %hi(gEventCountdown) # $at, 0x8012 -/* 00E8A0 8000DCA0 19C00068 */ blez $t6, .L8000DE44 -/* 00E8A4 8000DCA4 AC38ADB0 */ sw $t8, %lo(gEventCountdown)($at) -/* 00E8A8 8000DCA8 0000A825 */ move $s5, $zero -.L8000DCAC: -/* 00E8AC 8000DCAC 3C198012 */ lui $t9, %hi(gRacers) # $t9, 0x8012 -/* 00E8B0 8000DCB0 8F39AEE4 */ lw $t9, %lo(gRacers)($t9) -/* 00E8B4 8000DCB4 00008025 */ move $s0, $zero -/* 00E8B8 8000DCB8 03357821 */ addu $t7, $t9, $s5 -/* 00E8BC 8000DCBC 8DF10000 */ lw $s1, ($t7) -/* 00E8C0 8000DCC0 00000000 */ nop -/* 00E8C4 8000DCC4 8E330064 */ lw $s3, 0x64($s1) -/* 00E8C8 8000DCC8 00000000 */ nop -/* 00E8CC 8000DCCC 02202025 */ move $a0, $s1 -.L8000DCD0: -/* 00E8D0 8000DCD0 0C01378E */ jal update_player_racer -/* 00E8D4 8000DCD4 24050002 */ li $a1, 2 -/* 00E8D8 8000DCD8 26100001 */ addiu $s0, $s0, 1 -/* 00E8DC 8000DCDC 2A01000A */ slti $at, $s0, 0xa -/* 00E8E0 8000DCE0 1420FFFB */ bnez $at, .L8000DCD0 -/* 00E8E4 8000DCE4 02202025 */ move $a0, $s1 -/* 00E8E8 8000DCE8 866D0000 */ lh $t5, ($s3) -/* 00E8EC 8000DCEC 2401FFFF */ li $at, -1 -/* 00E8F0 8000DCF0 15A1001D */ bne $t5, $at, .L8000DD68 -/* 00E8F4 8000DCF4 00008025 */ move $s0, $zero -/* 00E8F8 8000DCF8 8E2E0040 */ lw $t6, 0x40($s1) -/* 00E8FC 8000DCFC 26940001 */ addiu $s4, $s4, 1 -/* 00E900 8000DD00 81C40055 */ lb $a0, 0x55($t6) -/* 00E904 8000DD04 32980001 */ andi $t8, $s4, 1 -/* 00E908 8000DD08 18800030 */ blez $a0, .L8000DDCC -/* 00E90C 8000DD0C 0300A025 */ move $s4, $t8 -/* 00E910 8000DD10 00001825 */ move $v1, $zero -.L8000DD14: -/* 00E914 8000DD14 8E390068 */ lw $t9, 0x68($s1) -/* 00E918 8000DD18 26100001 */ addiu $s0, $s0, 1 -/* 00E91C 8000DD1C 03237821 */ addu $t7, $t9, $v1 -/* 00E920 8000DD20 8DE20000 */ lw $v0, ($t7) -/* 00E924 8000DD24 00000000 */ nop -/* 00E928 8000DD28 1040000B */ beqz $v0, .L8000DD58 -/* 00E92C 8000DD2C 0204082A */ slt $at, $s0, $a0 -/* 00E930 8000DD30 804D0020 */ lb $t5, 0x20($v0) -/* 00E934 8000DD34 0014C040 */ sll $t8, $s4, 1 -/* 00E938 8000DD38 11A00007 */ beqz $t5, .L8000DD58 -/* 00E93C 8000DD3C 0204082A */ slt $at, $s0, $a0 -/* 00E940 8000DD40 A0580020 */ sb $t8, 0x20($v0) -/* 00E944 8000DD44 8E2E0040 */ lw $t6, 0x40($s1) -/* 00E948 8000DD48 00000000 */ nop -/* 00E94C 8000DD4C 81C40055 */ lb $a0, 0x55($t6) -/* 00E950 8000DD50 00000000 */ nop -/* 00E954 8000DD54 0204082A */ slt $at, $s0, $a0 -.L8000DD58: -/* 00E958 8000DD58 1420FFEE */ bnez $at, .L8000DD14 -/* 00E95C 8000DD5C 24630004 */ addiu $v1, $v1, 4 -/* 00E960 8000DD60 1000001A */ b .L8000DDCC -/* 00E964 8000DD64 00000000 */ nop -.L8000DD68: -/* 00E968 8000DD68 8E390040 */ lw $t9, 0x40($s1) -/* 00E96C 8000DD6C 00008025 */ move $s0, $zero -/* 00E970 8000DD70 83240055 */ lb $a0, 0x55($t9) -/* 00E974 8000DD74 00001825 */ move $v1, $zero -/* 00E978 8000DD78 18800014 */ blez $a0, .L8000DDCC -/* 00E97C 8000DD7C 00000000 */ nop -.L8000DD80: -/* 00E980 8000DD80 8E2F0068 */ lw $t7, 0x68($s1) -/* 00E984 8000DD84 26100001 */ addiu $s0, $s0, 1 -/* 00E988 8000DD88 01E36821 */ addu $t5, $t7, $v1 -/* 00E98C 8000DD8C 8DA20000 */ lw $v0, ($t5) -/* 00E990 8000DD90 00000000 */ nop -/* 00E994 8000DD94 1040000B */ beqz $v0, .L8000DDC4 -/* 00E998 8000DD98 0204082A */ slt $at, $s0, $a0 -/* 00E99C 8000DD9C 80580020 */ lb $t8, 0x20($v0) -/* 00E9A0 8000DDA0 00000000 */ nop -/* 00E9A4 8000DDA4 13000007 */ beqz $t8, .L8000DDC4 -/* 00E9A8 8000DDA8 0204082A */ slt $at, $s0, $a0 -/* 00E9AC 8000DDAC A0400020 */ sb $zero, 0x20($v0) -/* 00E9B0 8000DDB0 8E2E0040 */ lw $t6, 0x40($s1) -/* 00E9B4 8000DDB4 00000000 */ nop -/* 00E9B8 8000DDB8 81C40055 */ lb $a0, 0x55($t6) -/* 00E9BC 8000DDBC 00000000 */ nop -/* 00E9C0 8000DDC0 0204082A */ slt $at, $s0, $a0 -.L8000DDC4: -/* 00E9C4 8000DDC4 1420FFEE */ bnez $at, .L8000DD80 -/* 00E9C8 8000DDC8 24630004 */ addiu $v1, $v1, 4 -.L8000DDCC: -/* 00E9CC 8000DDCC 0C0270C3 */ jal get_filtered_cheats -/* 00E9D0 8000DDD0 00000000 */ nop -/* 00E9D4 8000DDD4 30590010 */ andi $t9, $v0, 0x10 -/* 00E9D8 8000DDD8 13200006 */ beqz $t9, .L8000DDF4 -/* 00E9DC 8000DDDC 3C01800E */ lui $at, %hi(D_800E5180) # $at, 0x800e -/* 00E9E0 8000DDE0 C6280008 */ lwc1 $f8, 8($s1) -/* 00E9E4 8000DDE4 C42A5180 */ lwc1 $f10, %lo(D_800E5180)($at) -/* 00E9E8 8000DDE8 00000000 */ nop -/* 00E9EC 8000DDEC 460A4402 */ mul.s $f16, $f8, $f10 -/* 00E9F0 8000DDF0 E6300008 */ swc1 $f16, 8($s1) -.L8000DDF4: -/* 00E9F4 8000DDF4 0C0270C3 */ jal get_filtered_cheats -/* 00E9F8 8000DDF8 00000000 */ nop -/* 00E9FC 8000DDFC 304F0020 */ andi $t7, $v0, 0x20 -/* 00EA00 8000DE00 11E00006 */ beqz $t7, .L8000DE1C -/* 00EA04 8000DE04 3C01800E */ lui $at, %hi(D_800E5184) # $at, 0x800e -/* 00EA08 8000DE08 C6320008 */ lwc1 $f18, 8($s1) -/* 00EA0C 8000DE0C C4245184 */ lwc1 $f4, %lo(D_800E5184)($at) -/* 00EA10 8000DE10 00000000 */ nop -/* 00EA14 8000DE14 46049182 */ mul.s $f6, $f18, $f4 -/* 00EA18 8000DE18 E6260008 */ swc1 $f6, 8($s1) -.L8000DE1C: -/* 00EA1C 8000DE1C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 00EA20 8000DE20 44810000 */ mtc1 $at, $f0 -/* 00EA24 8000DE24 3C0D8012 */ lui $t5, %hi(gNumRacers) # $t5, 0x8012 -/* 00EA28 8000DE28 E6600090 */ swc1 $f0, 0x90($s3) -/* 00EA2C 8000DE2C E660008C */ swc1 $f0, 0x8c($s3) -/* 00EA30 8000DE30 8DADAEF0 */ lw $t5, %lo(gNumRacers)($t5) -/* 00EA34 8000DE34 26520001 */ addiu $s2, $s2, 1 -/* 00EA38 8000DE38 024D082A */ slt $at, $s2, $t5 -/* 00EA3C 8000DE3C 1420FF9B */ bnez $at, .L8000DCAC -/* 00EA40 8000DE40 26B50004 */ addiu $s5, $s5, 4 -.L8000DE44: -/* 00EA44 8000DE44 8FB80068 */ lw $t8, 0x68($sp) -/* 00EA48 8000DE48 8FAE0064 */ lw $t6, 0x64($sp) -/* 00EA4C 8000DE4C 1300000B */ beqz $t8, .L8000DE7C -/* 00EA50 8000DE50 240D0050 */ li $t5, 80 -/* 00EA54 8000DE54 15C00009 */ bnez $t6, .L8000DE7C -/* 00EA58 8000DE58 3C198012 */ lui $t9, %hi(gIsTimeTrial) # $t9, 0x8012 -/* 00EA5C 8000DE5C 9339AEF5 */ lbu $t9, %lo(gIsTimeTrial)($t9) -/* 00EA60 8000DE60 3C0F8012 */ lui $t7, %hi(D_8011AD3C) # $t7, 0x8012 -/* 00EA64 8000DE64 17200005 */ bnez $t9, .L8000DE7C -/* 00EA68 8000DE68 00000000 */ nop -/* 00EA6C 8000DE6C 81EFAD3C */ lb $t7, %lo(D_8011AD3C)($t7) -/* 00EA70 8000DE70 3C018012 */ lui $at, %hi(gEventCountdown) # $at, 0x8012 -/* 00EA74 8000DE74 11E00004 */ beqz $t7, .L8000DE88 -/* 00EA78 8000DE78 00000000 */ nop -.L8000DE7C: -/* 00EA7C 8000DE7C 3C018012 */ lui $at, %hi(gEventCountdown) # $at, 0x8012 -/* 00EA80 8000DE80 10000002 */ b .L8000DE8C -/* 00EA84 8000DE84 AC2DADB0 */ sw $t5, %lo(gEventCountdown)($at) -.L8000DE88: -/* 00EA88 8000DE88 AC20ADB0 */ sw $zero, %lo(gEventCountdown)($at) -.L8000DE8C: -/* 00EA8C 8000DE8C 8FB80068 */ lw $t8, 0x68($sp) -/* 00EA90 8000DE90 8FAE0058 */ lw $t6, 0x58($sp) -/* 00EA94 8000DE94 1700001A */ bnez $t8, .L8000DF00 -/* 00EA98 8000DE98 24010001 */ li $at, 1 -/* 00EA9C 8000DE9C 15C10018 */ bne $t6, $at, .L8000DF00 -/* 00EAA0 8000DEA0 00000000 */ nop -/* 00EAA4 8000DEA4 0C027B1C */ jal is_in_adventure_two -/* 00EAA8 8000DEA8 00000000 */ nop -/* 00EAAC 8000DEAC 14400014 */ bnez $v0, .L8000DF00 -/* 00EAB0 8000DEB0 00000000 */ nop -/* 00EAB4 8000DEB4 0C01B067 */ jal is_two_player_adventure_race -/* 00EAB8 8000DEB8 00000000 */ nop -/* 00EABC 8000DEBC 14400010 */ bnez $v0, .L8000DF00 -/* 00EAC0 8000DEC0 00009025 */ move $s2, $zero -/* 00EAC4 8000DEC4 24130003 */ li $s3, 3 -/* 00EAC8 8000DEC8 24110008 */ li $s1, 8 -/* 00EACC 8000DECC 24100032 */ li $s0, 50 -.L8000DED0: -/* 00EAD0 8000DED0 A2D00000 */ sb $s0, ($s6) -/* 00EAD4 8000DED4 A2D10001 */ sb $s1, 1($s6) -/* 00EAD8 8000DED8 A6C00002 */ sh $zero, 2($s6) -/* 00EADC 8000DEDC A6C00004 */ sh $zero, 4($s6) -/* 00EAE0 8000DEE0 A6C00006 */ sh $zero, 6($s6) -/* 00EAE4 8000DEE4 02C02025 */ move $a0, $s6 -/* 00EAE8 8000DEE8 0C003A95 */ jal spawn_object -/* 00EAEC 8000DEEC 24050001 */ li $a1, 1 -/* 00EAF0 8000DEF0 AC520078 */ sw $s2, 0x78($v0) -/* 00EAF4 8000DEF4 26520001 */ addiu $s2, $s2, 1 -/* 00EAF8 8000DEF8 1653FFF5 */ bne $s2, $s3, .L8000DED0 -/* 00EAFC 8000DEFC AC40003C */ sw $zero, 0x3c($v0) -.L8000DF00: -/* 00EB00 8000DF00 3C018012 */ lui $at, %hi(gRaceEndTimer) # $at, 0x8012 -/* 00EB04 8000DF04 A420AD4E */ sh $zero, %lo(gRaceEndTimer)($at) -/* 00EB08 8000DF08 3C018012 */ lui $at, %hi(D_8011ADB4) # $at, 0x8012 -/* 00EB0C 8000DF0C AC20ADB4 */ sw $zero, %lo(D_8011ADB4)($at) -/* 00EB10 8000DF10 0C0274CC */ jal set_next_taj_challenge_menu -/* 00EB14 8000DF14 00002025 */ move $a0, $zero -/* 00EB18 8000DF18 92F90048 */ lbu $t9, 0x48($s7) -/* 00EB1C 8000DF1C 00000000 */ nop -/* 00EB20 8000DF20 1720003D */ bnez $t9, .L8000E018 -/* 00EB24 8000DF24 8FAE0130 */ lw $t6, 0x130($sp) -/* 00EB28 8000DF28 0C0270B4 */ jal is_in_tracks_mode -/* 00EB2C 8000DF2C 00000000 */ nop -/* 00EB30 8000DF30 14400038 */ bnez $v0, .L8000E014 -/* 00EB34 8000DF34 24040010 */ li $a0, 16 -/* 00EB38 8000DF38 0C0078A7 */ jal get_misc_asset -/* 00EB3C 8000DF3C 00009025 */ move $s2, $zero -/* 00EB40 8000DF40 96E30014 */ lhu $v1, 0x14($s7) -/* 00EB44 8000DF44 00000000 */ nop -/* 00EB48 8000DF48 306F0001 */ andi $t7, $v1, 1 -/* 00EB4C 8000DF4C 15E0000A */ bnez $t7, .L8000DF78 -/* 00EB50 8000DF50 30790002 */ andi $t9, $v1, 2 -/* 00EB54 8000DF54 8EED0000 */ lw $t5, ($s7) -/* 00EB58 8000DF58 804E0000 */ lb $t6, ($v0) -/* 00EB5C 8000DF5C 85B80000 */ lh $t8, ($t5) -/* 00EB60 8000DF60 00000000 */ nop -/* 00EB64 8000DF64 030E082A */ slt $at, $t8, $t6 -/* 00EB68 8000DF68 14200003 */ bnez $at, .L8000DF78 -/* 00EB6C 8000DF6C 00000000 */ nop -/* 00EB70 8000DF70 10000016 */ b .L8000DFCC -/* 00EB74 8000DF74 24120001 */ li $s2, 1 -.L8000DF78: -/* 00EB78 8000DF78 1720000A */ bnez $t9, .L8000DFA4 -/* 00EB7C 8000DF7C 306E0004 */ andi $t6, $v1, 4 -/* 00EB80 8000DF80 8EEF0000 */ lw $t7, ($s7) -/* 00EB84 8000DF84 80580001 */ lb $t8, 1($v0) -/* 00EB88 8000DF88 85ED0000 */ lh $t5, ($t7) -/* 00EB8C 8000DF8C 00000000 */ nop -/* 00EB90 8000DF90 01B8082A */ slt $at, $t5, $t8 -/* 00EB94 8000DF94 14200003 */ bnez $at, .L8000DFA4 -/* 00EB98 8000DF98 00000000 */ nop -/* 00EB9C 8000DF9C 1000000B */ b .L8000DFCC -/* 00EBA0 8000DFA0 24120002 */ li $s2, 2 -.L8000DFA4: -/* 00EBA4 8000DFA4 15C00009 */ bnez $t6, .L8000DFCC -/* 00EBA8 8000DFA8 00000000 */ nop -/* 00EBAC 8000DFAC 8EF90000 */ lw $t9, ($s7) -/* 00EBB0 8000DFB0 804D0002 */ lb $t5, 2($v0) -/* 00EBB4 8000DFB4 872F0000 */ lh $t7, ($t9) -/* 00EBB8 8000DFB8 00000000 */ nop -/* 00EBBC 8000DFBC 01ED082A */ slt $at, $t7, $t5 -/* 00EBC0 8000DFC0 14200002 */ bnez $at, .L8000DFCC -/* 00EBC4 8000DFC4 00000000 */ nop -/* 00EBC8 8000DFC8 24120003 */ li $s2, 3 -.L8000DFCC: -/* 00EBCC 8000DFCC 12400012 */ beqz $s2, .L8000E018 -/* 00EBD0 8000DFD0 8FAE0130 */ lw $t6, 0x130($sp) -/* 00EBD4 8000DFD4 0C00E4C8 */ jal set_taj_voice_line -/* 00EBD8 8000DFD8 24040250 */ li $a0, 592 -/* 00EBDC 8000DFDC 96F80014 */ lhu $t8, 0x14($s7) -/* 00EBE0 8000DFE0 264E001F */ addiu $t6, $s2, 0x1f -/* 00EBE4 8000DFE4 24190001 */ li $t9, 1 -/* 00EBE8 8000DFE8 01D97804 */ sllv $t7, $t9, $t6 -/* 00EBEC 8000DFEC 030F6825 */ or $t5, $t8, $t7 -/* 00EBF0 8000DFF0 A6ED0014 */ sh $t5, 0x14($s7) -/* 00EBF4 8000DFF4 0C01486E */ jal set_taj_status -/* 00EBF8 8000DFF8 24040002 */ li $a0, 2 -/* 00EBFC 8000DFFC 0C0274CC */ jal set_next_taj_challenge_menu -/* 00EC00 8000E000 02402025 */ move $a0, $s2 -/* 00EC04 8000E004 0C027068 */ jal get_save_file_index -/* 00EC08 8000E008 00000000 */ nop -/* 00EC0C 8000E00C 0C01BB12 */ jal safe_mark_write_save_file -/* 00EC10 8000E010 00402025 */ move $a0, $v0 -.L8000E014: -/* 00EC14 8000E014 8FAE0130 */ lw $t6, 0x130($sp) -.L8000E018: -/* 00EC18 8000E018 24190001 */ li $t9, 1 -/* 00EC1C 8000E01C 3C018012 */ lui $at, %hi(D_8011AD24) # $at, 0x8012 -/* 00EC20 8000E020 05C00005 */ bltz $t6, .L8000E038 -/* 00EC24 8000E024 A039AD24 */ sb $t9, %lo(D_8011AD24)($at) -/* 00EC28 8000E028 8FB80130 */ lw $t8, 0x130($sp) -/* 00EC2C 8000E02C 8FAF0074 */ lw $t7, 0x74($sp) -/* 00EC30 8000E030 00000000 */ nop -/* 00EC34 8000E034 A1F8003B */ sb $t8, 0x3b($t7) -.L8000E038: -/* 00EC38 8000E038 0C003852 */ jal func_8000E148 -/* 00EC3C 8000E03C 00000000 */ nop -/* 00EC40 8000E040 10400009 */ beqz $v0, .L8000E068 -/* 00EC44 8000E044 00000000 */ nop -/* 00EC48 8000E048 0C01C8A6 */ jal rumble_init -/* 00EC4C 8000E04C 00002025 */ move $a0, $zero -/* 00EC50 8000E050 3C018012 */ lui $at, %hi(gEventCountdown) # $at, 0x8012 -/* 00EC54 8000E054 AC20ADB0 */ sw $zero, %lo(gEventCountdown)($at) -/* 00EC58 8000E058 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 00EC5C 8000E05C 44816000 */ mtc1 $at, $f12 -/* 00EC60 8000E060 0C01AF44 */ jal start_level_music -/* 00EC64 8000E064 00000000 */ nop -.L8000E068: -/* 00EC68 8000E068 0C01C42C */ jal mempool_free_timer -/* 00EC6C 8000E06C 00002025 */ move $a0, $zero -/* 00EC70 8000E070 0C01C450 */ jal mempool_free -/* 00EC74 8000E074 02C02025 */ move $a0, $s6 -/* 00EC78 8000E078 0C01C42C */ jal mempool_free_timer -/* 00EC7C 8000E07C 24040002 */ li $a0, 2 -.L8000E080: -/* 00EC80 8000E080 8FBF003C */ lw $ra, 0x3c($sp) -/* 00EC84 8000E084 8FB00018 */ lw $s0, 0x18($sp) -/* 00EC88 8000E088 8FB1001C */ lw $s1, 0x1c($sp) -/* 00EC8C 8000E08C 8FB20020 */ lw $s2, 0x20($sp) -/* 00EC90 8000E090 8FB30024 */ lw $s3, 0x24($sp) -/* 00EC94 8000E094 8FB40028 */ lw $s4, 0x28($sp) -/* 00EC98 8000E098 8FB5002C */ lw $s5, 0x2c($sp) -/* 00EC9C 8000E09C 8FB60030 */ lw $s6, 0x30($sp) -/* 00ECA0 8000E0A0 8FB70034 */ lw $s7, 0x34($sp) -/* 00ECA4 8000E0A4 8FBE0038 */ lw $fp, 0x38($sp) -/* 00ECA8 8000E0A8 03E00008 */ jr $ra -/* 00ECAC 8000E0AC 27BD0150 */ addiu $sp, $sp, 0x150 - diff --git a/asm/non_matchings/objects/func_8000E5EC.s b/asm/non_matchings/objects/func_8000E5EC.s deleted file mode 100644 index 6698b77e..00000000 --- a/asm/non_matchings/objects/func_8000E5EC.s +++ /dev/null @@ -1,121 +0,0 @@ -glabel func_8000E5EC -/* 00F1EC 8000E5EC 3C068012 */ lui $a2, %hi(D_8011AE98) # $a2, 0x8012 -/* 00F1F0 8000E5F0 3C0B8012 */ lui $t3, %hi(D_8011AEA0) # $t3, 0x8012 -/* 00F1F4 8000E5F4 256BAEA0 */ addiu $t3, %lo(D_8011AEA0) # addiu $t3, $t3, -0x5160 -/* 00F1F8 8000E5F8 24C6AE98 */ addiu $a2, %lo(D_8011AE98) # addiu $a2, $a2, -0x5168 -/* 00F1FC 8000E5FC 90820001 */ lbu $v0, 1($a0) -/* 00F200 8000E600 8CC30000 */ lw $v1, ($a2) -/* 00F204 8000E604 8D6F0000 */ lw $t7, ($t3) -/* 00F208 8000E608 8CC50004 */ lw $a1, 4($a2) -/* 00F20C 8000E60C 8D790004 */ lw $t9, 4($t3) -/* 00F210 8000E610 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 00F214 8000E614 304E003F */ andi $t6, $v0, 0x3f -/* 00F218 8000E618 0083082A */ slt $at, $a0, $v1 -/* 00F21C 8000E61C 01E3C021 */ addu $t8, $t7, $v1 -/* 00F220 8000E620 03256021 */ addu $t4, $t9, $a1 -/* 00F224 8000E624 01C01025 */ move $v0, $t6 -/* 00F228 8000E628 AFB8002C */ sw $t8, 0x2c($sp) -/* 00F22C 8000E62C 14200006 */ bnez $at, .L8000E648 -/* 00F230 8000E630 AFAC0030 */ sw $t4, 0x30($sp) -/* 00F234 8000E634 0098082A */ slt $at, $a0, $t8 -/* 00F238 8000E638 10200004 */ beqz $at, .L8000E64C -/* 00F23C 8000E63C 0085082A */ slt $at, $a0, $a1 -/* 00F240 8000E640 1000000A */ b .L8000E66C -/* 00F244 8000E644 AFA0001C */ sw $zero, 0x1c($sp) -.L8000E648: -/* 00F248 8000E648 0085082A */ slt $at, $a0, $a1 -.L8000E64C: -/* 00F24C 8000E64C 14200008 */ bnez $at, .L8000E670 -/* 00F250 8000E650 8FA8001C */ lw $t0, 0x1c($sp) -/* 00F254 8000E654 8FAE0030 */ lw $t6, 0x30($sp) -/* 00F258 8000E658 240F0001 */ li $t7, 1 -/* 00F25C 8000E65C 008E082A */ slt $at, $a0, $t6 -/* 00F260 8000E660 10200003 */ beqz $at, .L8000E670 -/* 00F264 8000E664 8FA8001C */ lw $t0, 0x1c($sp) -/* 00F268 8000E668 AFAF001C */ sw $t7, 0x1c($sp) -.L8000E66C: -/* 00F26C 8000E66C 8FA8001C */ lw $t0, 0x1c($sp) -.L8000E670: -/* 00F270 8000E670 00823021 */ addu $a2, $a0, $v0 -/* 00F274 8000E674 0008C080 */ sll $t8, $t0, 2 -/* 00F278 8000E678 03B83821 */ addu $a3, $sp, $t8 -/* 00F27C 8000E67C 8CE7002C */ lw $a3, 0x2c($a3) -/* 00F280 8000E680 00801825 */ move $v1, $a0 -/* 00F284 8000E684 00C7082B */ sltu $at, $a2, $a3 -/* 00F288 8000E688 00C02825 */ move $a1, $a2 -/* 00F28C 8000E68C 10200018 */ beqz $at, .L8000E6F0 -/* 00F290 8000E690 03004025 */ move $t0, $t8 -/* 00F294 8000E694 00E65023 */ subu $t2, $a3, $a2 -/* 00F298 8000E698 31590003 */ andi $t9, $t2, 3 -/* 00F29C 8000E69C 13200008 */ beqz $t9, .L8000E6C0 -/* 00F2A0 8000E6A0 03264821 */ addu $t1, $t9, $a2 -.L8000E6A4: -/* 00F2A4 8000E6A4 90AC0000 */ lbu $t4, ($a1) -/* 00F2A8 8000E6A8 24A50001 */ addiu $a1, $a1, 1 -/* 00F2AC 8000E6AC 24630001 */ addiu $v1, $v1, 1 -/* 00F2B0 8000E6B0 1525FFFC */ bne $t1, $a1, .L8000E6A4 -/* 00F2B4 8000E6B4 A06CFFFF */ sb $t4, -1($v1) -/* 00F2B8 8000E6B8 10A7000D */ beq $a1, $a3, .L8000E6F0 -/* 00F2BC 8000E6BC 00000000 */ nop -.L8000E6C0: -/* 00F2C0 8000E6C0 90AD0000 */ lbu $t5, ($a1) -/* 00F2C4 8000E6C4 24A50004 */ addiu $a1, $a1, 4 -/* 00F2C8 8000E6C8 A06D0000 */ sb $t5, ($v1) -/* 00F2CC 8000E6CC 90AEFFFD */ lbu $t6, -3($a1) -/* 00F2D0 8000E6D0 24630004 */ addiu $v1, $v1, 4 -/* 00F2D4 8000E6D4 A06EFFFD */ sb $t6, -3($v1) -/* 00F2D8 8000E6D8 90AFFFFE */ lbu $t7, -2($a1) -/* 00F2DC 8000E6DC 00000000 */ nop -/* 00F2E0 8000E6E0 A06FFFFE */ sb $t7, -2($v1) -/* 00F2E4 8000E6E4 90B8FFFF */ lbu $t8, -1($a1) -/* 00F2E8 8000E6E8 14A7FFF5 */ bne $a1, $a3, .L8000E6C0 -/* 00F2EC 8000E6EC A078FFFF */ sb $t8, -1($v1) -.L8000E6F0: -/* 00F2F0 8000E6F0 01681821 */ addu $v1, $t3, $t0 -/* 00F2F4 8000E6F4 8C790000 */ lw $t9, ($v1) -/* 00F2F8 8000E6F8 3C068012 */ lui $a2, %hi(gObjectCount) # $a2, 0x8012 -/* 00F2FC 8000E6FC 03226023 */ subu $t4, $t9, $v0 -/* 00F300 8000E700 AC6C0000 */ sw $t4, ($v1) -/* 00F304 8000E704 8CC6AE5C */ lw $a2, %lo(gObjectCount)($a2) -/* 00F308 8000E708 00004025 */ move $t0, $zero -/* 00F30C 8000E70C 18C00021 */ blez $a2, .L8000E794 -/* 00F310 8000E710 00002825 */ move $a1, $zero -/* 00F314 8000E714 3C0B8012 */ lui $t3, %hi(gObjPtrList) # $t3, 0x8012 -/* 00F318 8000E718 256BAE58 */ addiu $t3, %lo(gObjPtrList) # addiu $t3, $t3, -0x51a8 -.L8000E71C: -/* 00F31C 8000E71C 8D6D0000 */ lw $t5, ($t3) -/* 00F320 8000E720 24A50001 */ addiu $a1, $a1, 1 -/* 00F324 8000E724 01A87021 */ addu $t6, $t5, $t0 -/* 00F328 8000E728 8DC30000 */ lw $v1, ($t6) -/* 00F32C 8000E72C 00000000 */ nop -/* 00F330 8000E730 10600016 */ beqz $v1, .L8000E78C -/* 00F334 8000E734 00A6082A */ slt $at, $a1, $a2 -/* 00F338 8000E738 8C69003C */ lw $t1, 0x3c($v1) -/* 00F33C 8000E73C 00000000 */ nop -/* 00F340 8000E740 11200011 */ beqz $t1, .L8000E788 -/* 00F344 8000E744 0089082A */ slt $at, $a0, $t1 -/* 00F348 8000E748 10200009 */ beqz $at, .L8000E770 -/* 00F34C 8000E74C 01205025 */ move $t2, $t1 -/* 00F350 8000E750 0127082A */ slt $at, $t1, $a3 -/* 00F354 8000E754 10200006 */ beqz $at, .L8000E770 -/* 00F358 8000E758 01227823 */ subu $t7, $t1, $v0 -/* 00F35C 8000E75C AC6F003C */ sw $t7, 0x3c($v1) -/* 00F360 8000E760 3C068012 */ lui $a2, %hi(gObjectCount) # $a2, 0x8012 -/* 00F364 8000E764 8CC6AE5C */ lw $a2, %lo(gObjectCount)($a2) -/* 00F368 8000E768 10000008 */ b .L8000E78C -/* 00F36C 8000E76C 00A6082A */ slt $at, $a1, $a2 -.L8000E770: -/* 00F370 8000E770 148A0006 */ bne $a0, $t2, .L8000E78C -/* 00F374 8000E774 00A6082A */ slt $at, $a1, $a2 -/* 00F378 8000E778 AC60003C */ sw $zero, 0x3c($v1) -/* 00F37C 8000E77C 3C068012 */ lui $a2, %hi(gObjectCount) # $a2, 0x8012 -/* 00F380 8000E780 8CC6AE5C */ lw $a2, %lo(gObjectCount)($a2) -/* 00F384 8000E784 00000000 */ nop -.L8000E788: -/* 00F388 8000E788 00A6082A */ slt $at, $a1, $a2 -.L8000E78C: -/* 00F38C 8000E78C 1420FFE3 */ bnez $at, .L8000E71C -/* 00F390 8000E790 25080004 */ addiu $t0, $t0, 4 -.L8000E794: -/* 00F394 8000E794 03E00008 */ jr $ra -/* 00F398 8000E798 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/objects/func_8000E79C.s b/asm/non_matchings/objects/func_8000E79C.s deleted file mode 100644 index 05e6e641..00000000 --- a/asm/non_matchings/objects/func_8000E79C.s +++ /dev/null @@ -1,70 +0,0 @@ -glabel func_8000E79C -/* 00F39C 8000E79C 3C068012 */ lui $a2, %hi(D_8011AEC0) # $a2, 0x8012 -/* 00F3A0 8000E7A0 8CC6AEC0 */ lw $a2, %lo(D_8011AEC0)($a2) -/* 00F3A4 8000E7A4 3C188012 */ lui $t8, %hi(D_8011AEA0) # $t8, 0x8012 -/* 00F3A8 8000E7A8 00064080 */ sll $t0, $a2, 2 -/* 00F3AC 8000E7AC 2718AEA0 */ addiu $t8, %lo(D_8011AEA0) # addiu $t8, $t8, -0x5160 -/* 00F3B0 8000E7B0 3C0D8012 */ lui $t5, %hi(D_8011AEB0) # $t5, 0x8012 -/* 00F3B4 8000E7B4 90820001 */ lbu $v0, 1($a0) -/* 00F3B8 8000E7B8 90A30001 */ lbu $v1, 1($a1) -/* 00F3BC 8000E7BC 01A86821 */ addu $t5, $t5, $t0 -/* 00F3C0 8000E7C0 01184821 */ addu $t1, $t0, $t8 -/* 00F3C4 8000E7C4 8D390000 */ lw $t9, ($t1) -/* 00F3C8 8000E7C8 8DADAEB0 */ lw $t5, %lo(D_8011AEB0)($t5) -/* 00F3CC 8000E7CC 304E003F */ andi $t6, $v0, 0x3f -/* 00F3D0 8000E7D0 306F003F */ andi $t7, $v1, 0x3f -/* 00F3D4 8000E7D4 01EE082A */ slt $at, $t7, $t6 -/* 00F3D8 8000E7D8 032D3821 */ addu $a3, $t9, $t5 -/* 00F3DC 8000E7DC 01C01025 */ move $v0, $t6 -/* 00F3E0 8000E7E0 01E01825 */ move $v1, $t7 -/* 00F3E4 8000E7E4 1020000E */ beqz $at, .L8000E820 -/* 00F3E8 8000E7E8 24E70010 */ addiu $a3, $a3, 0x10 -/* 00F3EC 8000E7EC 008E4021 */ addu $t0, $a0, $t6 -/* 00F3F0 8000E7F0 0107082B */ sltu $at, $t0, $a3 -/* 00F3F4 8000E7F4 008F3021 */ addu $a2, $a0, $t7 -/* 00F3F8 8000E7F8 10200017 */ beqz $at, .L8000E858 -/* 00F3FC 8000E7FC 00E05025 */ move $t2, $a3 -.L8000E800: -/* 00F400 8000E800 910E0000 */ lbu $t6, ($t0) -/* 00F404 8000E804 25080001 */ addiu $t0, $t0, 1 -/* 00F408 8000E808 010A082B */ sltu $at, $t0, $t2 -/* 00F40C 8000E80C 24C60001 */ addiu $a2, $a2, 1 -/* 00F410 8000E810 1420FFFB */ bnez $at, .L8000E800 -/* 00F414 8000E814 A0CEFFFF */ sb $t6, -1($a2) -/* 00F418 8000E818 10000010 */ b .L8000E85C -/* 00F41C 8000E81C 00003025 */ move $a2, $zero -.L8000E820: -/* 00F420 8000E820 0043082A */ slt $at, $v0, $v1 -/* 00F424 8000E824 1020000C */ beqz $at, .L8000E858 -/* 00F428 8000E828 00E37821 */ addu $t7, $a3, $v1 -/* 00F42C 8000E82C 01E23023 */ subu $a2, $t7, $v0 -/* 00F430 8000E830 00835021 */ addu $t2, $a0, $v1 -/* 00F434 8000E834 0146082B */ sltu $at, $t2, $a2 -/* 00F438 8000E838 10200007 */ beqz $at, .L8000E858 -/* 00F43C 8000E83C 00E04025 */ move $t0, $a3 -.L8000E840: -/* 00F440 8000E840 9118FFFF */ lbu $t8, -1($t0) -/* 00F444 8000E844 24C6FFFF */ addiu $a2, $a2, -1 -/* 00F448 8000E848 0146082B */ sltu $at, $t2, $a2 -/* 00F44C 8000E84C 2508FFFF */ addiu $t0, $t0, -1 -/* 00F450 8000E850 1420FFFB */ bnez $at, .L8000E840 -/* 00F454 8000E854 A0D80000 */ sb $t8, ($a2) -.L8000E858: -/* 00F458 8000E858 00003025 */ move $a2, $zero -.L8000E85C: -/* 00F45C 8000E85C 00803825 */ move $a3, $a0 -/* 00F460 8000E860 00A04025 */ move $t0, $a1 -.L8000E864: -/* 00F464 8000E864 91190000 */ lbu $t9, ($t0) -/* 00F468 8000E868 24C60001 */ addiu $a2, $a2, 1 -/* 00F46C 8000E86C 00C3082A */ slt $at, $a2, $v1 -/* 00F470 8000E870 24E70001 */ addiu $a3, $a3, 1 -/* 00F474 8000E874 25080001 */ addiu $t0, $t0, 1 -/* 00F478 8000E878 1420FFFA */ bnez $at, .L8000E864 -/* 00F47C 8000E87C A0F9FFFF */ sb $t9, -1($a3) -/* 00F480 8000E880 8D2D0000 */ lw $t5, ($t1) -/* 00F484 8000E884 00000000 */ nop -/* 00F488 8000E888 01A37021 */ addu $t6, $t5, $v1 -/* 00F48C 8000E88C 01C27823 */ subu $t7, $t6, $v0 -/* 00F490 8000E890 03E00008 */ jr $ra -/* 00F494 8000E894 AD2F0000 */ sw $t7, ($t1) diff --git a/asm/non_matchings/objects/func_800101AC.s b/asm/non_matchings/objects/func_800101AC.s deleted file mode 100644 index 002c54ff..00000000 --- a/asm/non_matchings/objects/func_800101AC.s +++ /dev/null @@ -1,582 +0,0 @@ -.late_rodata -glabel jpt_800E5250 -.word L80010374, L800105F8, L800105F8, L800105F8, L80010400, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L80010400, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800104C0, L800105F8, L800105F8, L800105A8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105D0, L800105E4, L800105F8, L800105F8, L800105F8, L800105F8, L800104D8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800104AC, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105A8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L80010508, L800105F8, L80010374, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L8001047C, L8001047C, L800105F8, L800105F8, L800105F8, L8001047C, L8001047C, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L800105F8, L8001044C -glabel jpt_800E5420 -.word L8001063C, L8001063C, L80010664, L8001063C, L8001063C, L80010664, L8001063C, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L8001063C, L80010664, L8001063C, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L8001063C, L8001063C, L80010664, L80010664, L8001063C, L8001063C, L8001063C, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L8001063C, L8001063C, L80010664, L80010664, L80010664, L8001063C, L8001063C, L8001063C, L8001063C, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L80010664, L8001063C, L80010664, L8001063C, L80010664, L80010664, L80010664, L8001063C - -.text -glabel func_800101AC -/* 010DAC 800101AC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 010DB0 800101B0 AFBF0034 */ sw $ra, 0x34($sp) -/* 010DB4 800101B4 AFB60030 */ sw $s6, 0x30($sp) -/* 010DB8 800101B8 AFB5002C */ sw $s5, 0x2c($sp) -/* 010DBC 800101BC AFB40028 */ sw $s4, 0x28($sp) -/* 010DC0 800101C0 AFB30024 */ sw $s3, 0x24($sp) -/* 010DC4 800101C4 AFB20020 */ sw $s2, 0x20($sp) -/* 010DC8 800101C8 AFB1001C */ sw $s1, 0x1c($sp) -/* 010DCC 800101CC AFB00018 */ sw $s0, 0x18($sp) -/* 010DD0 800101D0 AFA5003C */ sw $a1, 0x3c($sp) -/* 010DD4 800101D4 848E0006 */ lh $t6, 6($a0) -/* 010DD8 800101D8 0080B025 */ move $s6, $a0 -/* 010DDC 800101DC 31CF8000 */ andi $t7, $t6, 0x8000 -/* 010DE0 800101E0 11E0000A */ beqz $t7, .L8001020C -/* 010DE4 800101E4 00000000 */ nop -/* 010DE8 800101E8 0C02C810 */ jal func_800B2040 -/* 010DEC 800101EC 00000000 */ nop -/* 010DF0 800101F0 3C028012 */ lui $v0, %hi(gParticleCount) # $v0, 0x8012 -/* 010DF4 800101F4 2442AE64 */ addiu $v0, %lo(gParticleCount) # addiu $v0, $v0, -0x519c -/* 010DF8 800101F8 8C580000 */ lw $t8, ($v0) -/* 010DFC 800101FC 00000000 */ nop -/* 010E00 80010200 2719FFFF */ addiu $t9, $t8, -1 -/* 010E04 80010204 100001D9 */ b .L8001096C -/* 010E08 80010208 AC590000 */ sw $t9, ($v0) -.L8001020C: -/* 010E0C 8001020C 8EC30060 */ lw $v1, 0x60($s6) -/* 010E10 80010210 00000000 */ nop -/* 010E14 80010214 10600033 */ beqz $v1, .L800102E4 -/* 010E18 80010218 00000000 */ nop -/* 010E1C 8001021C 8C680000 */ lw $t0, ($v1) -/* 010E20 80010220 0000A825 */ move $s5, $zero -/* 010E24 80010224 1900002F */ blez $t0, .L800102E4 -/* 010E28 80010228 00000000 */ nop -/* 010E2C 8001022C 0000A025 */ move $s4, $zero -/* 010E30 80010230 00744821 */ addu $t1, $v1, $s4 -.L80010234: -/* 010E34 80010234 8D310004 */ lw $s1, 4($t1) -/* 010E38 80010238 00009825 */ move $s3, $zero -/* 010E3C 8001023C 8E220040 */ lw $v0, 0x40($s1) -/* 010E40 80010240 00000000 */ nop -/* 010E44 80010244 80440053 */ lb $a0, 0x53($v0) -/* 010E48 80010248 80520055 */ lb $s2, 0x55($v0) -/* 010E4C 8001024C 1480000E */ bnez $a0, .L80010288 -/* 010E50 80010250 00000000 */ nop -/* 010E54 80010254 1A400017 */ blez $s2, .L800102B4 -/* 010E58 80010258 00008025 */ move $s0, $zero -.L8001025C: -/* 010E5C 8001025C 8E2A0068 */ lw $t2, 0x68($s1) -/* 010E60 80010260 00000000 */ nop -/* 010E64 80010264 01505821 */ addu $t3, $t2, $s0 -/* 010E68 80010268 8D640000 */ lw $a0, ($t3) -/* 010E6C 8001026C 0C017FD0 */ jal free_3d_model -/* 010E70 80010270 00000000 */ nop -/* 010E74 80010274 26730001 */ addiu $s3, $s3, 1 -/* 010E78 80010278 1672FFF8 */ bne $s3, $s2, .L8001025C -/* 010E7C 8001027C 26100004 */ addiu $s0, $s0, 4 -/* 010E80 80010280 1000000D */ b .L800102B8 -/* 010E84 80010284 8624002C */ lh $a0, 0x2c($s1) -.L80010288: -/* 010E88 80010288 1A40000A */ blez $s2, .L800102B4 -/* 010E8C 8001028C 00008025 */ move $s0, $zero -.L80010290: -/* 010E90 80010290 8E2C0068 */ lw $t4, 0x68($s1) -/* 010E94 80010294 00000000 */ nop -/* 010E98 80010298 01906821 */ addu $t5, $t4, $s0 -/* 010E9C 8001029C 8DA40000 */ lw $a0, ($t5) -/* 010EA0 800102A0 0C01F32C */ jal free_sprite -/* 010EA4 800102A4 00000000 */ nop -/* 010EA8 800102A8 26730001 */ addiu $s3, $s3, 1 -/* 010EAC 800102AC 1672FFF8 */ bne $s3, $s2, .L80010290 -/* 010EB0 800102B0 26100004 */ addiu $s0, $s0, 4 -.L800102B4: -/* 010EB4 800102B4 8624002C */ lh $a0, 0x2c($s1) -.L800102B8: -/* 010EB8 800102B8 0C003211 */ jal try_free_object_header -/* 010EBC 800102BC 00000000 */ nop -/* 010EC0 800102C0 0C01C450 */ jal mempool_free -/* 010EC4 800102C4 02202025 */ move $a0, $s1 -/* 010EC8 800102C8 8EC30060 */ lw $v1, 0x60($s6) -/* 010ECC 800102CC 26B50001 */ addiu $s5, $s5, 1 -/* 010ED0 800102D0 8C6E0000 */ lw $t6, ($v1) -/* 010ED4 800102D4 26940004 */ addiu $s4, $s4, 4 -/* 010ED8 800102D8 02AE082A */ slt $at, $s5, $t6 -/* 010EDC 800102DC 1420FFD5 */ bnez $at, .L80010234 -/* 010EE0 800102E0 00744821 */ addu $t1, $v1, $s4 -.L800102E4: -/* 010EE4 800102E4 8ECF0070 */ lw $t7, 0x70($s6) -/* 010EE8 800102E8 00009825 */ move $s3, $zero -/* 010EEC 800102EC 11E00015 */ beqz $t7, .L80010344 -/* 010EF0 800102F0 00000000 */ nop -/* 010EF4 800102F4 8ED80040 */ lw $t8, 0x40($s6) -/* 010EF8 800102F8 0000A825 */ move $s5, $zero -/* 010EFC 800102FC 8319005A */ lb $t9, 0x5a($t8) -/* 010F00 80010300 00000000 */ nop -/* 010F04 80010304 1B20000F */ blez $t9, .L80010344 -/* 010F08 80010308 00000000 */ nop -/* 010F0C 8001030C 0000A025 */ move $s4, $zero -.L80010310: -/* 010F10 80010310 8EC80070 */ lw $t0, 0x70($s6) -/* 010F14 80010314 00000000 */ nop -/* 010F18 80010318 01144821 */ addu $t1, $t0, $s4 -/* 010F1C 8001031C 8D240000 */ lw $a0, ($t1) -/* 010F20 80010320 0C00CAEB */ jal func_80032BAC -/* 010F24 80010324 00000000 */ nop -/* 010F28 80010328 8ECA0040 */ lw $t2, 0x40($s6) -/* 010F2C 8001032C 26B50001 */ addiu $s5, $s5, 1 -/* 010F30 80010330 814B005A */ lb $t3, 0x5a($t2) -/* 010F34 80010334 26940004 */ addiu $s4, $s4, 4 -/* 010F38 80010338 02AB082A */ slt $at, $s5, $t3 -/* 010F3C 8001033C 1420FFF4 */ bnez $at, .L80010310 -/* 010F40 80010340 00000000 */ nop -.L80010344: -/* 010F44 80010344 86C50048 */ lh $a1, 0x48($s6) -/* 010F48 80010348 00000000 */ nop -/* 010F4C 8001034C 24ACFFFF */ addiu $t4, $a1, -1 -/* 010F50 80010350 2D810074 */ sltiu $at, $t4, 0x74 -/* 010F54 80010354 102000A8 */ beqz $at, .L800105F8 -/* 010F58 80010358 000C6080 */ sll $t4, $t4, 2 -/* 010F5C 8001035C 3C01800E */ lui $at, %hi(jpt_800E5250) # $at, 0x800e -/* 010F60 80010360 002C0821 */ addu $at, $at, $t4 -/* 010F64 80010364 8C2C5250 */ lw $t4, %lo(jpt_800E5250)($at) -/* 010F68 80010368 00000000 */ nop -/* 010F6C 8001036C 01800008 */ jr $t4 -/* 010F70 80010370 00000000 */ nop -glabel L80010374 -/* 010F74 80010374 3C038012 */ lui $v1, %hi(gObjectCount) # $v1, 0x8012 -/* 010F78 80010378 8C63AE5C */ lw $v1, %lo(gObjectCount)($v1) -/* 010F7C 8001037C 0000A825 */ move $s5, $zero -/* 010F80 80010380 1860001D */ blez $v1, .L800103F8 -/* 010F84 80010384 0000A025 */ move $s4, $zero -/* 010F88 80010388 24050001 */ li $a1, 1 -/* 010F8C 8001038C 2404003D */ li $a0, 61 -.L80010390: -/* 010F90 80010390 3C0D8012 */ lui $t5, %hi(gObjPtrList) # $t5, 0x8012 -/* 010F94 80010394 8DADAE58 */ lw $t5, %lo(gObjPtrList)($t5) -/* 010F98 80010398 26B50001 */ addiu $s5, $s5, 1 -/* 010F9C 8001039C 01B47021 */ addu $t6, $t5, $s4 -/* 010FA0 800103A0 8DD10000 */ lw $s1, ($t6) -/* 010FA4 800103A4 00000000 */ nop -/* 010FA8 800103A8 862F0048 */ lh $t7, 0x48($s1) -/* 010FAC 800103AC 00000000 */ nop -/* 010FB0 800103B0 148F000D */ bne $a0, $t7, .L800103E8 -/* 010FB4 800103B4 02A3082A */ slt $at, $s5, $v1 -/* 010FB8 800103B8 8E220064 */ lw $v0, 0x64($s1) -/* 010FBC 800103BC 00000000 */ nop -/* 010FC0 800103C0 8C580100 */ lw $t8, 0x100($v0) -/* 010FC4 800103C4 00000000 */ nop -/* 010FC8 800103C8 16D80007 */ bne $s6, $t8, .L800103E8 -/* 010FCC 800103CC 02A3082A */ slt $at, $s5, $v1 -/* 010FD0 800103D0 AC400100 */ sw $zero, 0x100($v0) -/* 010FD4 800103D4 A04500FD */ sb $a1, 0xfd($v0) -/* 010FD8 800103D8 3C038012 */ lui $v1, %hi(gObjectCount) # $v1, 0x8012 -/* 010FDC 800103DC 8C63AE5C */ lw $v1, %lo(gObjectCount)($v1) -/* 010FE0 800103E0 00000000 */ nop -/* 010FE4 800103E4 02A3082A */ slt $at, $s5, $v1 -.L800103E8: -/* 010FE8 800103E8 1420FFE9 */ bnez $at, .L80010390 -/* 010FEC 800103EC 26940004 */ addiu $s4, $s4, 4 -/* 010FF0 800103F0 86C50048 */ lh $a1, 0x48($s6) -/* 010FF4 800103F4 00000000 */ nop -.L800103F8: -/* 010FF8 800103F8 10000080 */ b .L800105FC -/* 010FFC 800103FC 24140012 */ li $s4, 18 -glabel L80010400 -/* 011000 80010400 8ED00064 */ lw $s0, 0x64($s6) -/* 011004 80010404 00000000 */ nop -/* 011008 80010408 8E04001C */ lw $a0, 0x1c($s0) -/* 01100C 8001040C 00000000 */ nop -/* 011010 80010410 1080000C */ beqz $a0, .L80010444 -/* 011014 80010414 00000000 */ nop -/* 011018 80010418 0C0025BE */ jal func_800096F8 -/* 01101C 8001041C 00000000 */ nop -/* 011020 80010420 AE00001C */ sw $zero, 0x1c($s0) -/* 011024 80010424 86C50048 */ lh $a1, 0x48($s6) -/* 011028 80010428 24140012 */ li $s4, 18 -/* 01102C 8001042C 16850005 */ bne $s4, $a1, .L80010444 -/* 011030 80010430 00000000 */ nop -/* 011034 80010434 0C00FC37 */ jal decrease_rocket_sound_timer -/* 011038 80010438 00000000 */ nop -/* 01103C 8001043C 86C50048 */ lh $a1, 0x48($s6) -/* 011040 80010440 00000000 */ nop -.L80010444: -/* 011044 80010444 1000006D */ b .L800105FC -/* 011048 80010448 24140012 */ li $s4, 18 -glabel L8001044C -/* 01104C 8001044C 8ED00064 */ lw $s0, 0x64($s6) -/* 011050 80010450 00000000 */ nop -/* 011054 80010454 8E04001C */ lw $a0, 0x1c($s0) -/* 011058 80010458 00000000 */ nop -/* 01105C 8001045C 10800005 */ beqz $a0, .L80010474 -/* 011060 80010460 00000000 */ nop -/* 011064 80010464 0C0025BE */ jal func_800096F8 -/* 011068 80010468 00000000 */ nop -/* 01106C 8001046C 86C50048 */ lh $a1, 0x48($s6) -/* 011070 80010470 00000000 */ nop -.L80010474: -/* 011074 80010474 10000061 */ b .L800105FC -/* 011078 80010478 24140012 */ li $s4, 18 -glabel L8001047C -/* 01107C 8001047C 8EC20064 */ lw $v0, 0x64($s6) -/* 011080 80010480 00000000 */ nop -/* 011084 80010484 8C430020 */ lw $v1, 0x20($v0) -/* 011088 80010488 00000000 */ nop -/* 01108C 8001048C 10600005 */ beqz $v1, .L800104A4 -/* 011090 80010490 00000000 */ nop -/* 011094 80010494 0C0025BE */ jal func_800096F8 -/* 011098 80010498 00602025 */ move $a0, $v1 -/* 01109C 8001049C 86C50048 */ lh $a1, 0x48($s6) -/* 0110A0 800104A0 00000000 */ nop -.L800104A4: -/* 0110A4 800104A4 10000055 */ b .L800105FC -/* 0110A8 800104A8 24140012 */ li $s4, 18 -glabel L800104AC -/* 0110AC 800104AC 0C02FCF9 */ jal func_800BF3E4 -/* 0110B0 800104B0 02C02025 */ move $a0, $s6 -/* 0110B4 800104B4 86C50048 */ lh $a1, 0x48($s6) -/* 0110B8 800104B8 10000050 */ b .L800105FC -/* 0110BC 800104BC 24140012 */ li $s4, 18 -glabel L800104C0 -/* 0110C0 800104C0 8EC40064 */ lw $a0, 0x64($s6) -/* 0110C4 800104C4 0C00CAEB */ jal func_80032BAC -/* 0110C8 800104C8 00000000 */ nop -/* 0110CC 800104CC 86C50048 */ lh $a1, 0x48($s6) -/* 0110D0 800104D0 1000004A */ b .L800105FC -/* 0110D4 800104D4 24140012 */ li $s4, 18 -glabel L800104D8 -/* 0110D8 800104D8 8EC40064 */ lw $a0, 0x64($s6) -/* 0110DC 800104DC 8FB9003C */ lw $t9, 0x3c($sp) -/* 0110E0 800104E0 10800007 */ beqz $a0, .L80010500 -/* 0110E4 800104E4 00000000 */ nop -/* 0110E8 800104E8 17200005 */ bnez $t9, .L80010500 -/* 0110EC 800104EC 00000000 */ nop -/* 0110F0 800104F0 0C003FEE */ jal free_object -/* 0110F4 800104F4 00000000 */ nop -/* 0110F8 800104F8 86C50048 */ lh $a1, 0x48($s6) -/* 0110FC 800104FC 00000000 */ nop -.L80010500: -/* 011100 80010500 1000003E */ b .L800105FC -/* 011104 80010504 24140012 */ li $s4, 18 -glabel L80010508 -/* 011108 80010508 3C048012 */ lui $a0, %hi(D_8011AE00) # $a0, 0x8012 -/* 01110C 8001050C 2484AE00 */ addiu $a0, %lo(D_8011AE00) # addiu $a0, $a0, -0x5200 -/* 011110 80010510 80830000 */ lb $v1, ($a0) -/* 011114 80010514 3C088012 */ lui $t0, %hi(D_8011ADD8) # $t0, 0x8012 -/* 011118 80010518 1860000E */ blez $v1, .L80010554 -/* 01111C 8001051C 24140012 */ li $s4, 18 -/* 011120 80010520 8D08ADD8 */ lw $t0, %lo(D_8011ADD8)($t0) -/* 011124 80010524 3C028012 */ lui $v0, %hi(D_8011ADD8) # $v0, 0x8012 -/* 011128 80010528 12C8000A */ beq $s6, $t0, .L80010554 -/* 01112C 8001052C 2442ADD8 */ addiu $v0, %lo(D_8011ADD8) # addiu $v0, $v0, -0x5228 -.L80010530: -/* 011130 80010530 26730001 */ addiu $s3, $s3, 1 -/* 011134 80010534 0263082A */ slt $at, $s3, $v1 -/* 011138 80010538 10200006 */ beqz $at, .L80010554 -/* 01113C 8001053C 00134880 */ sll $t1, $s3, 2 -/* 011140 80010540 00495021 */ addu $t2, $v0, $t1 -/* 011144 80010544 8D4B0000 */ lw $t3, ($t2) -/* 011148 80010548 00000000 */ nop -/* 01114C 8001054C 16CBFFF8 */ bne $s6, $t3, .L80010530 -/* 011150 80010550 00000000 */ nop -.L80010554: -/* 011154 80010554 0263082A */ slt $at, $s3, $v1 -/* 011158 80010558 10200010 */ beqz $at, .L8001059C -/* 01115C 8001055C 246CFFFF */ addiu $t4, $v1, -1 -/* 011160 80010560 A08C0000 */ sb $t4, ($a0) -/* 011164 80010564 80830000 */ lb $v1, ($a0) -/* 011168 80010568 00136880 */ sll $t5, $s3, 2 -/* 01116C 8001056C 0263082A */ slt $at, $s3, $v1 -/* 011170 80010570 1020000A */ beqz $at, .L8001059C -/* 011174 80010574 3C0E8012 */ lui $t6, %hi(D_8011ADD8) # $t6, 0x8012 -/* 011178 80010578 25CEADD8 */ addiu $t6, %lo(D_8011ADD8) # addiu $t6, $t6, -0x5228 -/* 01117C 8001057C 00037880 */ sll $t7, $v1, 2 -/* 011180 80010580 01EE2021 */ addu $a0, $t7, $t6 -/* 011184 80010584 01AE1021 */ addu $v0, $t5, $t6 -.L80010588: -/* 011188 80010588 8C580004 */ lw $t8, 4($v0) -/* 01118C 8001058C 24420004 */ addiu $v0, $v0, 4 -/* 011190 80010590 0044082B */ sltu $at, $v0, $a0 -/* 011194 80010594 1420FFFC */ bnez $at, .L80010588 -/* 011198 80010598 AC58FFFC */ sw $t8, -4($v0) -.L8001059C: -/* 01119C 8001059C 86C50048 */ lh $a1, 0x48($s6) -/* 0111A0 800105A0 10000016 */ b .L800105FC -/* 0111A4 800105A4 00009825 */ move $s3, $zero -glabel L800105A8 -/* 0111A8 800105A8 8EC40064 */ lw $a0, 0x64($s6) -/* 0111AC 800105AC 00000000 */ nop -/* 0111B0 800105B0 10800005 */ beqz $a0, .L800105C8 -/* 0111B4 800105B4 00000000 */ nop -/* 0111B8 800105B8 0C01C450 */ jal mempool_free -/* 0111BC 800105BC 00000000 */ nop -/* 0111C0 800105C0 86C50048 */ lh $a1, 0x48($s6) -/* 0111C4 800105C4 00000000 */ nop -.L800105C8: -/* 0111C8 800105C8 1000000C */ b .L800105FC -/* 0111CC 800105CC 24140012 */ li $s4, 18 -glabel L800105D0 -/* 0111D0 800105D0 0C02B220 */ jal lensflare_remove -/* 0111D4 800105D4 02C02025 */ move $a0, $s6 -/* 0111D8 800105D8 86C50048 */ lh $a1, 0x48($s6) -/* 0111DC 800105DC 10000007 */ b .L800105FC -/* 0111E0 800105E0 24140012 */ li $s4, 18 -glabel L800105E4 -/* 0111E4 800105E4 0C02B3E6 */ jal lensflare_override_remove -/* 0111E8 800105E8 02C02025 */ move $a0, $s6 -/* 0111EC 800105EC 86C50048 */ lh $a1, 0x48($s6) -/* 0111F0 800105F0 10000002 */ b .L800105FC -/* 0111F4 800105F4 24140012 */ li $s4, 18 -.L800105F8: -glabel L800105F8 -/* 0111F8 800105F8 24140012 */ li $s4, 18 -.L800105FC: -/* 0111FC 800105FC 28A1000D */ slti $at, $a1, 0xd -/* 011200 80010600 1420000B */ bnez $at, .L80010630 -/* 011204 80010604 00A01025 */ move $v0, $a1 -/* 011208 80010608 2459FFCE */ addiu $t9, $v0, -0x32 -/* 01120C 8001060C 2F210046 */ sltiu $at, $t9, 0x46 -/* 011210 80010610 10200014 */ beqz $at, .L80010664 -/* 011214 80010614 0019C880 */ sll $t9, $t9, 2 -/* 011218 80010618 3C01800E */ lui $at, %hi(jpt_800E5420) # $at, 0x800e -/* 01121C 8001061C 00390821 */ addu $at, $at, $t9 -/* 011220 80010620 8C395420 */ lw $t9, %lo(jpt_800E5420)($at) -/* 011224 80010624 00000000 */ nop -/* 011228 80010628 03200008 */ jr $t9 -/* 01122C 8001062C 00000000 */ nop -.L80010630: -/* 011230 80010630 2401000C */ li $at, 12 -/* 011234 80010634 1441000C */ bne $v0, $at, .L80010668 -/* 011238 80010638 24010001 */ li $at, 1 -glabel L8001063C -/* 01123C 8001063C 8EC20064 */ lw $v0, 0x64($s6) -/* 011240 80010640 00000000 */ nop -/* 011244 80010644 8C440018 */ lw $a0, 0x18($v0) -/* 011248 80010648 00000000 */ nop -/* 01124C 8001064C 10800006 */ beqz $a0, .L80010668 -/* 011250 80010650 24010001 */ li $at, 1 -/* 011254 80010654 0C001223 */ jal sound_stop -/* 011258 80010658 00000000 */ nop -/* 01125C 8001065C 86C50048 */ lh $a1, 0x48($s6) -/* 011260 80010660 00000000 */ nop -.L80010664: -glabel L80010664 -/* 011264 80010664 24010001 */ li $at, 1 -.L80010668: -/* 011268 80010668 14A10061 */ bne $a1, $at, .L800107F0 -/* 01126C 8001066C 00000000 */ nop -/* 011270 80010670 8ED00064 */ lw $s0, 0x64($s6) -/* 011274 80010674 00000000 */ nop -/* 011278 80010678 8E020018 */ lw $v0, 0x18($s0) -/* 01127C 8001067C 00000000 */ nop -/* 011280 80010680 10400003 */ beqz $v0, .L80010690 -/* 011284 80010684 00000000 */ nop -/* 011288 80010688 0C001223 */ jal sound_stop -/* 01128C 8001068C 00402025 */ move $a0, $v0 -.L80010690: -/* 011290 80010690 8E020010 */ lw $v0, 0x10($s0) -/* 011294 80010694 00000000 */ nop -/* 011298 80010698 10400003 */ beqz $v0, .L800106A8 -/* 01129C 8001069C 00000000 */ nop -/* 0112A0 800106A0 0C001223 */ jal sound_stop -/* 0112A4 800106A4 00402025 */ move $a0, $v0 -.L800106A8: -/* 0112A8 800106A8 8E020014 */ lw $v0, 0x14($s0) -/* 0112AC 800106AC 00000000 */ nop -/* 0112B0 800106B0 10400003 */ beqz $v0, .L800106C0 -/* 0112B4 800106B4 00000000 */ nop -/* 0112B8 800106B8 0C001223 */ jal sound_stop -/* 0112BC 800106BC 00402025 */ move $a0, $v0 -.L800106C0: -/* 0112C0 800106C0 8E02001C */ lw $v0, 0x1c($s0) -/* 0112C4 800106C4 00000000 */ nop -/* 0112C8 800106C8 10400003 */ beqz $v0, .L800106D8 -/* 0112CC 800106CC 00000000 */ nop -/* 0112D0 800106D0 0C001223 */ jal sound_stop -/* 0112D4 800106D4 00402025 */ move $a0, $v0 -.L800106D8: -/* 0112D8 800106D8 8E020020 */ lw $v0, 0x20($s0) -/* 0112DC 800106DC 00000000 */ nop -/* 0112E0 800106E0 10400003 */ beqz $v0, .L800106F0 -/* 0112E4 800106E4 00000000 */ nop -/* 0112E8 800106E8 0C001223 */ jal sound_stop -/* 0112EC 800106EC 00402025 */ move $a0, $v0 -.L800106F0: -/* 0112F0 800106F0 8E040024 */ lw $a0, 0x24($s0) -/* 0112F4 800106F4 00000000 */ nop -/* 0112F8 800106F8 10800003 */ beqz $a0, .L80010708 -/* 0112FC 800106FC 00000000 */ nop -/* 011300 80010700 0C0025BE */ jal func_800096F8 -/* 011304 80010704 00000000 */ nop -.L80010708: -/* 011308 80010708 8E04017C */ lw $a0, 0x17c($s0) -/* 01130C 8001070C 00000000 */ nop -/* 011310 80010710 10800003 */ beqz $a0, .L80010720 -/* 011314 80010714 00000000 */ nop -/* 011318 80010718 0C0025BE */ jal func_800096F8 -/* 01131C 8001071C 00000000 */ nop -.L80010720: -/* 011320 80010720 8E040178 */ lw $a0, 0x178($s0) -/* 011324 80010724 00000000 */ nop -/* 011328 80010728 10800003 */ beqz $a0, .L80010738 -/* 01132C 8001072C 00000000 */ nop -/* 011330 80010730 0C001223 */ jal sound_stop -/* 011334 80010734 00000000 */ nop -.L80010738: -/* 011338 80010738 0C001AB2 */ jal racer_sound_free -/* 01133C 8001073C 02C02025 */ move $a0, $s6 -/* 011340 80010740 3C158012 */ lui $s5, %hi(gObjectCount) # $s5, 0x8012 -/* 011344 80010744 26B5AE5C */ addiu $s5, %lo(gObjectCount) # addiu $s5, $s5, -0x51a4 -/* 011348 80010748 8EA80000 */ lw $t0, ($s5) -/* 01134C 8001074C 00008025 */ move $s0, $zero -/* 011350 80010750 19000027 */ blez $t0, .L800107F0 -/* 011354 80010754 24120005 */ li $s2, 5 -/* 011358 80010758 2411004C */ li $s1, 76 -.L8001075C: -/* 01135C 8001075C 3C098012 */ lui $t1, %hi(gObjPtrList) # $t1, 0x8012 -/* 011360 80010760 8D29AE58 */ lw $t1, %lo(gObjPtrList)($t1) -/* 011364 80010764 00000000 */ nop -/* 011368 80010768 01305021 */ addu $t2, $t1, $s0 -/* 01136C 8001076C 8D440000 */ lw $a0, ($t2) -/* 011370 80010770 00000000 */ nop -/* 011374 80010774 848B0006 */ lh $t3, 6($a0) -/* 011378 80010778 00000000 */ nop -/* 01137C 8001077C 316C8000 */ andi $t4, $t3, 0x8000 -/* 011380 80010780 1180000B */ beqz $t4, .L800107B0 -/* 011384 80010784 00000000 */ nop -/* 011388 80010788 8C8D003C */ lw $t5, 0x3c($a0) -/* 01138C 8001078C 3C0F8012 */ lui $t7, %hi(gObjPtrList) # $t7, 0x8012 -/* 011390 80010790 16CD0007 */ bne $s6, $t5, .L800107B0 -/* 011394 80010794 00000000 */ nop -/* 011398 80010798 AC80003C */ sw $zero, 0x3c($a0) -/* 01139C 8001079C 8DEFAE58 */ lw $t7, %lo(gObjPtrList)($t7) -/* 0113A0 800107A0 00000000 */ nop -/* 0113A4 800107A4 01F07021 */ addu $t6, $t7, $s0 -/* 0113A8 800107A8 8DC40000 */ lw $a0, ($t6) -/* 0113AC 800107AC 00000000 */ nop -.L800107B0: -/* 0113B0 800107B0 84820048 */ lh $v0, 0x48($a0) -/* 0113B4 800107B4 00000000 */ nop -/* 0113B8 800107B8 12820005 */ beq $s4, $v0, .L800107D0 -/* 0113BC 800107BC 00000000 */ nop -/* 0113C0 800107C0 12220003 */ beq $s1, $v0, .L800107D0 -/* 0113C4 800107C4 00000000 */ nop -/* 0113C8 800107C8 16420003 */ bne $s2, $v0, .L800107D8 -/* 0113CC 800107CC 00000000 */ nop -.L800107D0: -/* 0113D0 800107D0 0C003FEE */ jal free_object -/* 0113D4 800107D4 00000000 */ nop -.L800107D8: -/* 0113D8 800107D8 8EB80000 */ lw $t8, ($s5) -/* 0113DC 800107DC 26730001 */ addiu $s3, $s3, 1 -/* 0113E0 800107E0 0278082A */ slt $at, $s3, $t8 -/* 0113E4 800107E4 1420FFDD */ bnez $at, .L8001075C -/* 0113E8 800107E8 26100004 */ addiu $s0, $s0, 4 -/* 0113EC 800107EC 00009825 */ move $s3, $zero -.L800107F0: -/* 0113F0 800107F0 8EC20050 */ lw $v0, 0x50($s6) -/* 0113F4 800107F4 00000000 */ nop -/* 0113F8 800107F8 10400007 */ beqz $v0, .L80010818 -/* 0113FC 800107FC 00000000 */ nop -/* 011400 80010800 8C440004 */ lw $a0, 4($v0) -/* 011404 80010804 00000000 */ nop -/* 011408 80010808 10800003 */ beqz $a0, .L80010818 -/* 01140C 8001080C 00000000 */ nop -/* 011410 80010810 0C01ECAF */ jal free_texture -/* 011414 80010814 00000000 */ nop -.L80010818: -/* 011418 80010818 8EC20058 */ lw $v0, 0x58($s6) -/* 01141C 8001081C 00000000 */ nop -/* 011420 80010820 10400007 */ beqz $v0, .L80010840 -/* 011424 80010824 00000000 */ nop -/* 011428 80010828 8C440004 */ lw $a0, 4($v0) -/* 01142C 8001082C 00000000 */ nop -/* 011430 80010830 10800003 */ beqz $a0, .L80010840 -/* 011434 80010834 00000000 */ nop -/* 011438 80010838 0C01ECAF */ jal free_texture -/* 01143C 8001083C 00000000 */ nop -.L80010840: -/* 011440 80010840 8EC20040 */ lw $v0, 0x40($s6) -/* 011444 80010844 00000000 */ nop -/* 011448 80010848 80440053 */ lb $a0, 0x53($v0) -/* 01144C 8001084C 80520055 */ lb $s2, 0x55($v0) -/* 011450 80010850 14800013 */ bnez $a0, .L800108A0 -/* 011454 80010854 24010004 */ li $at, 4 -/* 011458 80010858 1A40002E */ blez $s2, .L80010914 -/* 01145C 8001085C 00008025 */ move $s0, $zero -.L80010860: -/* 011460 80010860 8ED90068 */ lw $t9, 0x68($s6) -/* 011464 80010864 00000000 */ nop -/* 011468 80010868 03304021 */ addu $t0, $t9, $s0 -/* 01146C 8001086C 8D020000 */ lw $v0, ($t0) -/* 011470 80010870 00000000 */ nop -/* 011474 80010874 10400003 */ beqz $v0, .L80010884 -/* 011478 80010878 00000000 */ nop -/* 01147C 8001087C 0C017FD0 */ jal free_3d_model -/* 011480 80010880 00402025 */ move $a0, $v0 -.L80010884: -/* 011484 80010884 26730001 */ addiu $s3, $s3, 1 -/* 011488 80010888 1672FFF5 */ bne $s3, $s2, .L80010860 -/* 01148C 8001088C 26100004 */ addiu $s0, $s0, 4 -/* 011490 80010890 8EC20040 */ lw $v0, 0x40($s6) -/* 011494 80010894 10000020 */ b .L80010918 -/* 011498 80010898 80430057 */ lb $v1, 0x57($v0) -/* 01149C 8001089C 24010004 */ li $at, 4 -.L800108A0: -/* 0114A0 800108A0 1481000F */ bne $a0, $at, .L800108E0 -/* 0114A4 800108A4 00000000 */ nop -/* 0114A8 800108A8 1A40001A */ blez $s2, .L80010914 -/* 0114AC 800108AC 00008025 */ move $s0, $zero -.L800108B0: -/* 0114B0 800108B0 8EC90068 */ lw $t1, 0x68($s6) -/* 0114B4 800108B4 00000000 */ nop -/* 0114B8 800108B8 01305021 */ addu $t2, $t1, $s0 -/* 0114BC 800108BC 8D440000 */ lw $a0, ($t2) -/* 0114C0 800108C0 0C01ECAF */ jal free_texture -/* 0114C4 800108C4 00000000 */ nop -/* 0114C8 800108C8 26730001 */ addiu $s3, $s3, 1 -/* 0114CC 800108CC 1672FFF8 */ bne $s3, $s2, .L800108B0 -/* 0114D0 800108D0 26100004 */ addiu $s0, $s0, 4 -/* 0114D4 800108D4 8EC20040 */ lw $v0, 0x40($s6) -/* 0114D8 800108D8 1000000F */ b .L80010918 -/* 0114DC 800108DC 80430057 */ lb $v1, 0x57($v0) -.L800108E0: -/* 0114E0 800108E0 1A40000C */ blez $s2, .L80010914 -/* 0114E4 800108E4 00008025 */ move $s0, $zero -.L800108E8: -/* 0114E8 800108E8 8ECB0068 */ lw $t3, 0x68($s6) -/* 0114EC 800108EC 00000000 */ nop -/* 0114F0 800108F0 01706021 */ addu $t4, $t3, $s0 -/* 0114F4 800108F4 8D840000 */ lw $a0, ($t4) -/* 0114F8 800108F8 0C01F32C */ jal free_sprite -/* 0114FC 800108FC 00000000 */ nop -/* 011500 80010900 26730001 */ addiu $s3, $s3, 1 -/* 011504 80010904 1672FFF8 */ bne $s3, $s2, .L800108E8 -/* 011508 80010908 26100004 */ addiu $s0, $s0, 4 -/* 01150C 8001090C 8EC20040 */ lw $v0, 0x40($s6) -/* 011510 80010910 00000000 */ nop -.L80010914: -/* 011514 80010914 80430057 */ lb $v1, 0x57($v0) -.L80010918: -/* 011518 80010918 00000000 */ nop -/* 01151C 8001091C 1860000E */ blez $v1, .L80010958 -/* 011520 80010920 00000000 */ nop -/* 011524 80010924 1860000C */ blez $v1, .L80010958 -/* 011528 80010928 00009825 */ move $s3, $zero -.L8001092C: -/* 01152C 8001092C 8ECD006C */ lw $t5, 0x6c($s6) -/* 011530 80010930 00137940 */ sll $t7, $s3, 5 -/* 011534 80010934 0C02C898 */ jal func_800B2260 -/* 011538 80010938 01AF2021 */ addu $a0, $t5, $t7 -/* 01153C 8001093C 8ECE0040 */ lw $t6, 0x40($s6) -/* 011540 80010940 26730001 */ addiu $s3, $s3, 1 -/* 011544 80010944 81D80057 */ lb $t8, 0x57($t6) -/* 011548 80010948 00000000 */ nop -/* 01154C 8001094C 0278082A */ slt $at, $s3, $t8 -/* 011550 80010950 1420FFF6 */ bnez $at, .L8001092C -/* 011554 80010954 00000000 */ nop -.L80010958: -/* 011558 80010958 86C4002C */ lh $a0, 0x2c($s6) -/* 01155C 8001095C 0C003211 */ jal try_free_object_header -/* 011560 80010960 00000000 */ nop -/* 011564 80010964 0C01C450 */ jal mempool_free -/* 011568 80010968 02C02025 */ move $a0, $s6 -.L8001096C: -/* 01156C 8001096C 8FBF0034 */ lw $ra, 0x34($sp) -/* 011570 80010970 8FB00018 */ lw $s0, 0x18($sp) -/* 011574 80010974 8FB1001C */ lw $s1, 0x1c($sp) -/* 011578 80010978 8FB20020 */ lw $s2, 0x20($sp) -/* 01157C 8001097C 8FB30024 */ lw $s3, 0x24($sp) -/* 011580 80010980 8FB40028 */ lw $s4, 0x28($sp) -/* 011584 80010984 8FB5002C */ lw $s5, 0x2c($sp) -/* 011588 80010988 8FB60030 */ lw $s6, 0x30($sp) -/* 01158C 8001098C 03E00008 */ jr $ra -/* 011590 80010990 27BD0038 */ addiu $sp, $sp, 0x38 - diff --git a/asm/non_matchings/objects/func_80010994.s b/asm/non_matchings/objects/func_80010994.s deleted file mode 100644 index a904fc18..00000000 --- a/asm/non_matchings/objects/func_80010994.s +++ /dev/null @@ -1,534 +0,0 @@ -glabel func_80010994 -/* 011594 80010994 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 011598 80010998 AFB40028 */ sw $s4, 0x28($sp) -/* 01159C 8001099C 0080A025 */ move $s4, $a0 -/* 0115A0 800109A0 AFBF0034 */ sw $ra, 0x34($sp) -/* 0115A4 800109A4 AFB60030 */ sw $s6, 0x30($sp) -/* 0115A8 800109A8 AFB5002C */ sw $s5, 0x2c($sp) -/* 0115AC 800109AC AFB30024 */ sw $s3, 0x24($sp) -/* 0115B0 800109B0 AFB20020 */ sw $s2, 0x20($sp) -/* 0115B4 800109B4 AFB1001C */ sw $s1, 0x1c($sp) -/* 0115B8 800109B8 AFB00018 */ sw $s0, 0x18($sp) -/* 0115BC 800109BC 0C00916D */ jal func_800245B4 -/* 0115C0 800109C0 2404FFFF */ li $a0, -1 -/* 0115C4 800109C4 3C028012 */ lui $v0, %hi(gEventCountdown) # $v0, 0x8012 -/* 0115C8 800109C8 8C42ADB0 */ lw $v0, %lo(gEventCountdown)($v0) -/* 0115CC 800109CC 3C018012 */ lui $at, %hi(gEventStartTimer) # $at, 0x8012 -/* 0115D0 800109D0 1840000D */ blez $v0, .L80010A08 -/* 0115D4 800109D4 AC22ADB8 */ sw $v0, %lo(gEventStartTimer)($at) -/* 0115D8 800109D8 0C028064 */ jal race_starting -/* 0115DC 800109DC 00000000 */ nop -/* 0115E0 800109E0 10400009 */ beqz $v0, .L80010A08 -/* 0115E4 800109E4 3C038012 */ lui $v1, %hi(D_8011ADBC) # $v1, 0x8012 -/* 0115E8 800109E8 3C048012 */ lui $a0, %hi(gEventCountdown) # $a0, 0x8012 -/* 0115EC 800109EC 2484ADB0 */ addiu $a0, %lo(gEventCountdown) # addiu $a0, $a0, -0x5250 -/* 0115F0 800109F0 8C8E0000 */ lw $t6, ($a0) -/* 0115F4 800109F4 2463ADBC */ addiu $v1, %lo(D_8011ADBC) # addiu $v1, $v1, -0x5244 -/* 0115F8 800109F8 01D41023 */ subu $v0, $t6, $s4 -/* 0115FC 800109FC AC820000 */ sw $v0, ($a0) -/* 011600 80010A00 10000009 */ b .L80010A28 -/* 011604 80010A04 AC600000 */ sw $zero, ($v1) -.L80010A08: -/* 011608 80010A08 3C038012 */ lui $v1, %hi(D_8011ADBC) # $v1, 0x8012 -/* 01160C 80010A0C 2463ADBC */ addiu $v1, %lo(D_8011ADBC) # addiu $v1, $v1, -0x5244 -/* 011610 80010A10 8C780000 */ lw $t8, ($v1) -/* 011614 80010A14 3C028012 */ lui $v0, %hi(gEventCountdown) # $v0, 0x8012 -/* 011618 80010A18 0314C821 */ addu $t9, $t8, $s4 -/* 01161C 80010A1C AC790000 */ sw $t9, ($v1) -/* 011620 80010A20 8C42ADB0 */ lw $v0, %lo(gEventCountdown)($v0) -/* 011624 80010A24 00000000 */ nop -.L80010A28: -/* 011628 80010A28 1C400003 */ bgtz $v0, .L80010A38 -/* 01162C 80010A2C 3C048012 */ lui $a0, %hi(gNumRacers) # $a0, 0x8012 -/* 011630 80010A30 3C018012 */ lui $at, %hi(gEventCountdown) # $at, 0x8012 -/* 011634 80010A34 AC20ADB0 */ sw $zero, %lo(gEventCountdown)($at) -.L80010A38: -/* 011638 80010A38 3C028012 */ lui $v0, %hi(D_8011AD21) # $v0, 0x8012 -/* 01163C 80010A3C 3C018012 */ lui $at, %hi(D_8011AD3D) # $at, 0x8012 -/* 011640 80010A40 2442AD21 */ addiu $v0, %lo(D_8011AD21) # addiu $v0, $v0, -0x52df -/* 011644 80010A44 A020AD3D */ sb $zero, %lo(D_8011AD3D)($at) -/* 011648 80010A48 80480000 */ lb $t0, ($v0) -/* 01164C 80010A4C 24090001 */ li $t1, 1 -/* 011650 80010A50 01285023 */ subu $t2, $t1, $t0 -/* 011654 80010A54 A04A0000 */ sb $t2, ($v0) -/* 011658 80010A58 804B0000 */ lb $t3, ($v0) -/* 01165C 80010A5C 3C018012 */ lui $at, %hi(D_8011AD22) # $at, 0x8012 -/* 011660 80010A60 002B0821 */ addu $at, $at, $t3 -/* 011664 80010A64 2484AEF0 */ addiu $a0, %lo(gNumRacers) # addiu $a0, $a0, -0x5110 -/* 011668 80010A68 A020AD22 */ sb $zero, %lo(D_8011AD22)($at) -/* 01166C 80010A6C 8C8C0000 */ lw $t4, ($a0) -/* 011670 80010A70 00009825 */ move $s3, $zero -/* 011674 80010A74 19800021 */ blez $t4, .L80010AFC -/* 011678 80010A78 3C158012 */ lui $s5, %hi(gRacers) # $s5, 0x8012 -/* 01167C 80010A7C 26B5AEE4 */ addiu $s5, %lo(gRacers) # addiu $s5, $s5, -0x511c -/* 011680 80010A80 00001825 */ move $v1, $zero -.L80010A84: -/* 011684 80010A84 8EAD0000 */ lw $t5, ($s5) -/* 011688 80010A88 26730001 */ addiu $s3, $s3, 1 -/* 01168C 80010A8C 01A37021 */ addu $t6, $t5, $v1 -/* 011690 80010A90 8DC20000 */ lw $v0, ($t6) -/* 011694 80010A94 00000000 */ nop -/* 011698 80010A98 8C450064 */ lw $a1, 0x64($v0) -/* 01169C 80010A9C C444000C */ lwc1 $f4, 0xc($v0) -/* 0116A0 80010AA0 00000000 */ nop -/* 0116A4 80010AA4 E4A4005C */ swc1 $f4, 0x5c($a1) -/* 0116A8 80010AA8 8EAF0000 */ lw $t7, ($s5) -/* 0116AC 80010AAC 00000000 */ nop -/* 0116B0 80010AB0 01E3C021 */ addu $t8, $t7, $v1 -/* 0116B4 80010AB4 8F190000 */ lw $t9, ($t8) -/* 0116B8 80010AB8 00000000 */ nop -/* 0116BC 80010ABC C7260010 */ lwc1 $f6, 0x10($t9) -/* 0116C0 80010AC0 00000000 */ nop -/* 0116C4 80010AC4 E4A60060 */ swc1 $f6, 0x60($a1) -/* 0116C8 80010AC8 8EA90000 */ lw $t1, ($s5) -/* 0116CC 80010ACC 00000000 */ nop -/* 0116D0 80010AD0 01234021 */ addu $t0, $t1, $v1 -/* 0116D4 80010AD4 8D0A0000 */ lw $t2, ($t0) -/* 0116D8 80010AD8 24630004 */ addiu $v1, $v1, 4 -/* 0116DC 80010ADC C5480014 */ lwc1 $f8, 0x14($t2) -/* 0116E0 80010AE0 00000000 */ nop -/* 0116E4 80010AE4 E4A80064 */ swc1 $f8, 0x64($a1) -/* 0116E8 80010AE8 8C8B0000 */ lw $t3, ($a0) -/* 0116EC 80010AEC 00000000 */ nop -/* 0116F0 80010AF0 026B082A */ slt $at, $s3, $t3 -/* 0116F4 80010AF4 1420FFE3 */ bnez $at, .L80010A84 -/* 0116F8 80010AF8 00000000 */ nop -.L80010AFC: -/* 0116FC 80010AFC 3C158012 */ lui $s5, %hi(gRacers) # $s5, 0x8012 -/* 011700 80010B00 0C0050AE */ jal func_800142B8 -/* 011704 80010B04 26B5AEE4 */ addiu $s5, %lo(gRacers) # addiu $s5, $s5, -0x511c -/* 011708 80010B08 0C00556E */ jal process_object_interactions -/* 01170C 80010B0C 00000000 */ nop -/* 011710 80010B10 0C007A27 */ jal func_8001E89C -/* 011714 80010B14 00000000 */ nop -/* 011718 80010B18 3C138012 */ lui $s3, %hi(D_8011AE70) # $s3, 0x8012 -/* 01171C 80010B1C 2673AE70 */ addiu $s3, %lo(D_8011AE70) # addiu $s3, $s3, -0x5190 -/* 011720 80010B20 8E6C0000 */ lw $t4, ($s3) -/* 011724 80010B24 00008825 */ move $s1, $zero -/* 011728 80010B28 1980000F */ blez $t4, .L80010B68 -/* 01172C 80010B2C 3C108012 */ lui $s0, %hi(D_8011AE6C) # $s0, 0x8012 -/* 011730 80010B30 2610AE6C */ addiu $s0, %lo(D_8011AE6C) # addiu $s0, $s0, -0x5194 -/* 011734 80010B34 00009025 */ move $s2, $zero -.L80010B38: -/* 011738 80010B38 8E0D0000 */ lw $t5, ($s0) -/* 01173C 80010B3C 02802825 */ move $a1, $s4 -/* 011740 80010B40 01B27021 */ addu $t6, $t5, $s2 -/* 011744 80010B44 8DC40000 */ lw $a0, ($t6) -/* 011748 80010B48 0C008FD2 */ jal run_object_loop_func -/* 01174C 80010B4C 00000000 */ nop -/* 011750 80010B50 8E6F0000 */ lw $t7, ($s3) -/* 011754 80010B54 26310001 */ addiu $s1, $s1, 1 -/* 011758 80010B58 022F082A */ slt $at, $s1, $t7 -/* 01175C 80010B5C 1420FFF6 */ bnez $at, .L80010B38 -/* 011760 80010B60 26520004 */ addiu $s2, $s2, 4 -/* 011764 80010B64 00008825 */ move $s1, $zero -.L80010B68: -/* 011768 80010B68 3C108012 */ lui $s0, %hi(D_8011AE6C) # $s0, 0x8012 -/* 01176C 80010B6C 2610AE6C */ addiu $s0, %lo(D_8011AE6C) # addiu $s0, $s0, -0x5194 -/* 011770 80010B70 0C0079BB */ jal func_8001E6EC -/* 011774 80010B74 24040001 */ li $a0, 1 -/* 011778 80010B78 8E780000 */ lw $t8, ($s3) -/* 01177C 80010B7C 00000000 */ nop -/* 011780 80010B80 1B00000C */ blez $t8, .L80010BB4 -/* 011784 80010B84 00009025 */ move $s2, $zero -.L80010B88: -/* 011788 80010B88 8E190000 */ lw $t9, ($s0) -/* 01178C 80010B8C 00000000 */ nop -/* 011790 80010B90 03324821 */ addu $t1, $t9, $s2 -/* 011794 80010B94 8D240000 */ lw $a0, ($t1) -/* 011798 80010B98 0C005C27 */ jal func_8001709C -/* 01179C 80010B9C 00000000 */ nop -/* 0117A0 80010BA0 8E680000 */ lw $t0, ($s3) -/* 0117A4 80010BA4 26310001 */ addiu $s1, $s1, 1 -/* 0117A8 80010BA8 0228082A */ slt $at, $s1, $t0 -/* 0117AC 80010BAC 1420FFF6 */ bnez $at, .L80010B88 -/* 0117B0 80010BB0 26520004 */ addiu $s2, $s2, 4 -.L80010BB4: -/* 0117B4 80010BB4 3C138012 */ lui $s3, %hi(gObjectCount) # $s3, 0x8012 -/* 0117B8 80010BB8 3C118012 */ lui $s1, %hi(gObjectListStart) # $s1, 0x8012 -/* 0117BC 80010BBC 8E73AE5C */ lw $s3, %lo(gObjectCount)($s3) -/* 0117C0 80010BC0 8E31AE60 */ lw $s1, %lo(gObjectListStart)($s1) -/* 0117C4 80010BC4 00000000 */ nop -/* 0117C8 80010BC8 0233082A */ slt $at, $s1, $s3 -/* 0117CC 80010BCC 1020004C */ beqz $at, .L80010D00 -/* 0117D0 80010BD0 00119080 */ sll $s2, $s1, 2 -/* 0117D4 80010BD4 00135080 */ sll $t2, $s3, 2 -/* 0117D8 80010BD8 3C168012 */ lui $s6, %hi(gObjPtrList) # $s6, 0x8012 -/* 0117DC 80010BDC 26D6AE58 */ addiu $s6, %lo(gObjPtrList) # addiu $s6, $s6, -0x51a8 -/* 0117E0 80010BE0 AFAA0038 */ sw $t2, 0x38($sp) -/* 0117E4 80010BE4 24110021 */ li $s1, 33 -.L80010BE8: -/* 0117E8 80010BE8 8ECB0000 */ lw $t3, ($s6) -/* 0117EC 80010BEC 00000000 */ nop -/* 0117F0 80010BF0 01726021 */ addu $t4, $t3, $s2 -/* 0117F4 80010BF4 8D900000 */ lw $s0, ($t4) -/* 0117F8 80010BF8 00000000 */ nop -/* 0117FC 80010BFC 860D0006 */ lh $t5, 6($s0) -/* 011800 80010C00 00000000 */ nop -/* 011804 80010C04 31AE8000 */ andi $t6, $t5, 0x8000 -/* 011808 80010C08 15C00039 */ bnez $t6, .L80010CF0 -/* 01180C 80010C0C 8FAB0038 */ lw $t3, 0x38($sp) -/* 011810 80010C10 86020048 */ lh $v0, 0x48($s0) -/* 011814 80010C14 24010005 */ li $at, 5 -/* 011818 80010C18 12220035 */ beq $s1, $v0, .L80010CF0 -/* 01181C 80010C1C 8FAB0038 */ lw $t3, 0x38($sp) -/* 011820 80010C20 10410032 */ beq $v0, $at, .L80010CEC -/* 011824 80010C24 2401000F */ li $at, 15 -/* 011828 80010C28 10410031 */ beq $v0, $at, .L80010CF0 -/* 01182C 80010C2C 8FAB0038 */ lw $t3, 0x38($sp) -/* 011830 80010C30 8E02004C */ lw $v0, 0x4c($s0) -/* 011834 80010C34 02002025 */ move $a0, $s0 -/* 011838 80010C38 10400009 */ beqz $v0, .L80010C60 -/* 01183C 80010C3C 00000000 */ nop -/* 011840 80010C40 904F0011 */ lbu $t7, 0x11($v0) -/* 011844 80010C44 24010002 */ li $at, 2 -/* 011848 80010C48 11E10007 */ beq $t7, $at, .L80010C68 -/* 01184C 80010C4C 02002025 */ move $a0, $s0 -/* 011850 80010C50 0C008FD2 */ jal run_object_loop_func -/* 011854 80010C54 02802825 */ move $a1, $s4 -/* 011858 80010C58 10000004 */ b .L80010C6C -/* 01185C 80010C5C 8E060040 */ lw $a2, 0x40($s0) -.L80010C60: -/* 011860 80010C60 0C008FD2 */ jal run_object_loop_func -/* 011864 80010C64 02802825 */ move $a1, $s4 -.L80010C68: -/* 011868 80010C68 8E060040 */ lw $a2, 0x40($s0) -.L80010C6C: -/* 01186C 80010C6C 00000000 */ nop -/* 011870 80010C70 80D80053 */ lb $t8, 0x53($a2) -/* 011874 80010C74 00000000 */ nop -/* 011878 80010C78 1700001D */ bnez $t8, .L80010CF0 -/* 01187C 80010C7C 8FAB0038 */ lw $t3, 0x38($sp) -/* 011880 80010C80 80C40055 */ lb $a0, 0x55($a2) -/* 011884 80010C84 00002825 */ move $a1, $zero -/* 011888 80010C88 18800012 */ blez $a0, .L80010CD4 -/* 01188C 80010C8C 00001025 */ move $v0, $zero -.L80010C90: -/* 011890 80010C90 8E190068 */ lw $t9, 0x68($s0) -/* 011894 80010C94 24A50001 */ addiu $a1, $a1, 1 -/* 011898 80010C98 03224821 */ addu $t1, $t9, $v0 -/* 01189C 80010C9C 8D230000 */ lw $v1, ($t1) -/* 0118A0 80010CA0 00000000 */ nop -/* 0118A4 80010CA4 10600009 */ beqz $v1, .L80010CCC -/* 0118A8 80010CA8 00A4082A */ slt $at, $a1, $a0 -/* 0118AC 80010CAC 8C680000 */ lw $t0, ($v1) -/* 0118B0 80010CB0 00000000 */ nop -/* 0118B4 80010CB4 A5140052 */ sh $s4, 0x52($t0) -/* 0118B8 80010CB8 8E060040 */ lw $a2, 0x40($s0) -/* 0118BC 80010CBC 00000000 */ nop -/* 0118C0 80010CC0 80C40055 */ lb $a0, 0x55($a2) -/* 0118C4 80010CC4 00000000 */ nop -/* 0118C8 80010CC8 00A4082A */ slt $at, $a1, $a0 -.L80010CCC: -/* 0118CC 80010CCC 1420FFF0 */ bnez $at, .L80010C90 -/* 0118D0 80010CD0 24420004 */ addiu $v0, $v0, 4 -.L80010CD4: -/* 0118D4 80010CD4 90CA0072 */ lbu $t2, 0x72($a2) -/* 0118D8 80010CD8 240100FF */ li $at, 255 -/* 0118DC 80010CDC 11410003 */ beq $t2, $at, .L80010CEC -/* 0118E0 80010CE0 02002025 */ move $a0, $s0 -/* 0118E4 80010CE4 0C005024 */ jal func_80014090 -/* 0118E8 80010CE8 02802825 */ move $a1, $s4 -.L80010CEC: -/* 0118EC 80010CEC 8FAB0038 */ lw $t3, 0x38($sp) -.L80010CF0: -/* 0118F0 80010CF0 26520004 */ addiu $s2, $s2, 4 -/* 0118F4 80010CF4 024B082A */ slt $at, $s2, $t3 -/* 0118F8 80010CF8 1420FFBB */ bnez $at, .L80010BE8 -/* 0118FC 80010CFC 00000000 */ nop -.L80010D00: -/* 011900 80010D00 3C0C8012 */ lui $t4, %hi(gNumRacers) # $t4, 0x8012 -/* 011904 80010D04 8D8CAEF0 */ lw $t4, %lo(gNumRacers)($t4) -/* 011908 80010D08 3C168012 */ lui $s6, %hi(gObjPtrList) # $s6, 0x8012 -/* 01190C 80010D0C 26D6AE58 */ addiu $s6, %lo(gObjPtrList) # addiu $s6, $s6, -0x51a8 -/* 011910 80010D10 1980000E */ blez $t4, .L80010D4C -/* 011914 80010D14 00008825 */ move $s1, $zero -/* 011918 80010D18 00009025 */ move $s2, $zero -.L80010D1C: -/* 01191C 80010D1C 8EAD0000 */ lw $t5, ($s5) -/* 011920 80010D20 02802825 */ move $a1, $s4 -/* 011924 80010D24 01B27021 */ addu $t6, $t5, $s2 -/* 011928 80010D28 8DC40000 */ lw $a0, ($t6) -/* 01192C 80010D2C 0C01378E */ jal update_player_racer -/* 011930 80010D30 00000000 */ nop -/* 011934 80010D34 3C0F8012 */ lui $t7, %hi(gNumRacers) # $t7, 0x8012 -/* 011938 80010D38 8DEFAEF0 */ lw $t7, %lo(gNumRacers)($t7) -/* 01193C 80010D3C 26310001 */ addiu $s1, $s1, 1 -/* 011940 80010D40 022F082A */ slt $at, $s1, $t7 -/* 011944 80010D44 1420FFF5 */ bnez $at, .L80010D1C -/* 011948 80010D48 26520004 */ addiu $s2, $s2, 4 -.L80010D4C: -/* 01194C 80010D4C 0C01AF66 */ jal get_current_level_race_type -/* 011950 80010D50 00000000 */ nop -/* 011954 80010D54 1440001C */ bnez $v0, .L80010DC8 -/* 011958 80010D58 3C078012 */ lui $a3, %hi(gNumRacers) # $a3, 0x8012 -/* 01195C 80010D5C 8CE7AEF0 */ lw $a3, %lo(gNumRacers)($a3) -/* 011960 80010D60 00008825 */ move $s1, $zero -/* 011964 80010D64 18E00018 */ blez $a3, .L80010DC8 -/* 011968 80010D68 2412FFFF */ li $s2, -1 -/* 01196C 80010D6C 3C108012 */ lui $s0, %hi(gRacersByPosition) # $s0, 0x8012 -/* 011970 80010D70 2610AEE8 */ addiu $s0, %lo(gRacersByPosition) # addiu $s0, $s0, -0x5118 -.L80010D74: -/* 011974 80010D74 8E180000 */ lw $t8, ($s0) -/* 011978 80010D78 0011C880 */ sll $t9, $s1, 2 -/* 01197C 80010D7C 03194821 */ addu $t1, $t8, $t9 -/* 011980 80010D80 8D240000 */ lw $a0, ($t1) -/* 011984 80010D84 00000000 */ nop -/* 011988 80010D88 8C850064 */ lw $a1, 0x64($a0) -/* 01198C 80010D8C 00000000 */ nop -/* 011990 80010D90 84A80000 */ lh $t0, ($a1) -/* 011994 80010D94 00000000 */ nop -/* 011998 80010D98 12480008 */ beq $s2, $t0, .L80010DBC -/* 01199C 80010D9C 26310001 */ addiu $s1, $s1, 1 -/* 0119A0 80010DA0 0C010FB3 */ jal increment_ai_behaviour_chances -/* 0119A4 80010DA4 02803025 */ move $a2, $s4 -/* 0119A8 80010DA8 3C078012 */ lui $a3, %hi(gNumRacers) # $a3, 0x8012 -/* 0119AC 80010DAC 8CE7AEF0 */ lw $a3, %lo(gNumRacers)($a3) -/* 0119B0 80010DB0 00000000 */ nop -/* 0119B4 80010DB4 00E08825 */ move $s1, $a3 -/* 0119B8 80010DB8 26310001 */ addiu $s1, $s1, 1 -.L80010DBC: -/* 0119BC 80010DBC 0227082A */ slt $at, $s1, $a3 -/* 0119C0 80010DC0 1420FFEC */ bnez $at, .L80010D74 -/* 0119C4 80010DC4 00000000 */ nop -.L80010DC8: -/* 0119C8 80010DC8 0C002EB7 */ jal func_8000BADC -/* 0119CC 80010DCC 02802025 */ move $a0, $s4 -/* 0119D0 80010DD0 3C118012 */ lui $s1, %hi(gObjectListStart) # $s1, 0x8012 -/* 0119D4 80010DD4 8E31AE60 */ lw $s1, %lo(gObjectListStart)($s1) -/* 0119D8 80010DD8 00000000 */ nop -/* 0119DC 80010DDC 0233082A */ slt $at, $s1, $s3 -/* 0119E0 80010DE0 1020001D */ beqz $at, .L80010E58 -/* 0119E4 80010DE4 00119080 */ sll $s2, $s1, 2 -/* 0119E8 80010DE8 00131080 */ sll $v0, $s3, 2 -.L80010DEC: -/* 0119EC 80010DEC 8ECA0000 */ lw $t2, ($s6) -/* 0119F0 80010DF0 00000000 */ nop -/* 0119F4 80010DF4 01525821 */ addu $t3, $t2, $s2 -/* 0119F8 80010DF8 8D700000 */ lw $s0, ($t3) -/* 0119FC 80010DFC 00000000 */ nop -/* 011A00 80010E00 860C0006 */ lh $t4, 6($s0) -/* 011A04 80010E04 00000000 */ nop -/* 011A08 80010E08 318D8000 */ andi $t5, $t4, 0x8000 -/* 011A0C 80010E0C 15A00005 */ bnez $t5, .L80010E24 -/* 011A10 80010E10 00000000 */ nop -/* 011A14 80010E14 860E0048 */ lh $t6, 0x48($s0) -/* 011A18 80010E18 24010005 */ li $at, 5 -/* 011A1C 80010E1C 11C10005 */ beq $t6, $at, .L80010E34 -/* 011A20 80010E20 02002025 */ move $a0, $s0 -.L80010E24: -/* 011A24 80010E24 860F0048 */ lh $t7, 0x48($s0) -/* 011A28 80010E28 2401000F */ li $at, 15 -/* 011A2C 80010E2C 15E10006 */ bne $t7, $at, .L80010E48 -/* 011A30 80010E30 02002025 */ move $a0, $s0 -.L80010E34: -/* 011A34 80010E34 02802825 */ move $a1, $s4 -/* 011A38 80010E38 0C008FD2 */ jal run_object_loop_func -/* 011A3C 80010E3C AFA20044 */ sw $v0, 0x44($sp) -/* 011A40 80010E40 8FA20044 */ lw $v0, 0x44($sp) -/* 011A44 80010E44 00000000 */ nop -.L80010E48: -/* 011A48 80010E48 26520004 */ addiu $s2, $s2, 4 -/* 011A4C 80010E4C 0242082A */ slt $at, $s2, $v0 -/* 011A50 80010E50 1420FFE6 */ bnez $at, .L80010DEC -/* 011A54 80010E54 00000000 */ nop -.L80010E58: -/* 011A58 80010E58 3C188012 */ lui $t8, %hi(gParticleCount) # $t8, 0x8012 -/* 011A5C 80010E5C 8F18AE64 */ lw $t8, %lo(gParticleCount)($t8) -/* 011A60 80010E60 00000000 */ nop -/* 011A64 80010E64 1B000018 */ blez $t8, .L80010EC8 -/* 011A68 80010E68 3C118012 */ lui $s1, %hi(gObjectListStart) # $s1, 0x8012 -/* 011A6C 80010E6C 8E31AE60 */ lw $s1, %lo(gObjectListStart)($s1) -/* 011A70 80010E70 00131080 */ sll $v0, $s3, 2 -/* 011A74 80010E74 0233082A */ slt $at, $s1, $s3 -/* 011A78 80010E78 10200013 */ beqz $at, .L80010EC8 -/* 011A7C 80010E7C 00119080 */ sll $s2, $s1, 2 -.L80010E80: -/* 011A80 80010E80 8ED90000 */ lw $t9, ($s6) -/* 011A84 80010E84 02802825 */ move $a1, $s4 -/* 011A88 80010E88 03324821 */ addu $t1, $t9, $s2 -/* 011A8C 80010E8C 8D300000 */ lw $s0, ($t1) -/* 011A90 80010E90 00000000 */ nop -/* 011A94 80010E94 86080006 */ lh $t0, 6($s0) -/* 011A98 80010E98 02002025 */ move $a0, $s0 -/* 011A9C 80010E9C 310A8000 */ andi $t2, $t0, 0x8000 -/* 011AA0 80010EA0 11400005 */ beqz $t2, .L80010EB8 -/* 011AA4 80010EA4 00000000 */ nop -/* 011AA8 80010EA8 0C02C8BF */ jal handle_particle_movement -/* 011AAC 80010EAC AFA20044 */ sw $v0, 0x44($sp) -/* 011AB0 80010EB0 8FA20044 */ lw $v0, 0x44($sp) -/* 011AB4 80010EB4 00000000 */ nop -.L80010EB8: -/* 011AB8 80010EB8 26520004 */ addiu $s2, $s2, 4 -/* 011ABC 80010EBC 0242082A */ slt $at, $s2, $v0 -/* 011AC0 80010EC0 1420FFEF */ bnez $at, .L80010E80 -/* 011AC4 80010EC4 00000000 */ nop -.L80010EC8: -/* 011AC8 80010EC8 0C00C8E6 */ jal lightUpdateLights -/* 011ACC 80010ECC 02802025 */ move $a0, $s4 -/* 011AD0 80010ED0 0C00CB1B */ jal get_light_count -/* 011AD4 80010ED4 00000000 */ nop -/* 011AD8 80010ED8 1840001F */ blez $v0, .L80010F58 -/* 011ADC 80010EDC 3C118012 */ lui $s1, %hi(gObjectListStart) # $s1, 0x8012 -/* 011AE0 80010EE0 3C028012 */ lui $v0, %hi(gObjectCount) # $v0, 0x8012 -/* 011AE4 80010EE4 8C42AE5C */ lw $v0, %lo(gObjectCount)($v0) -/* 011AE8 80010EE8 8E31AE60 */ lw $s1, %lo(gObjectListStart)($s1) -/* 011AEC 80010EEC 00000000 */ nop -/* 011AF0 80010EF0 0222082A */ slt $at, $s1, $v0 -/* 011AF4 80010EF4 10200018 */ beqz $at, .L80010F58 -/* 011AF8 80010EF8 00119080 */ sll $s2, $s1, 2 -.L80010EFC: -/* 011AFC 80010EFC 8ECB0000 */ lw $t3, ($s6) -/* 011B00 80010F00 00000000 */ nop -/* 011B04 80010F04 01726021 */ addu $t4, $t3, $s2 -/* 011B08 80010F08 8D900000 */ lw $s0, ($t4) -/* 011B0C 80010F0C 00000000 */ nop -/* 011B10 80010F10 860D0006 */ lh $t5, 6($s0) -/* 011B14 80010F14 00000000 */ nop -/* 011B18 80010F18 31AE8000 */ andi $t6, $t5, 0x8000 -/* 011B1C 80010F1C 15C0000A */ bnez $t6, .L80010F48 -/* 011B20 80010F20 00000000 */ nop -/* 011B24 80010F24 8E0F0054 */ lw $t7, 0x54($s0) -/* 011B28 80010F28 00000000 */ nop -/* 011B2C 80010F2C 11E00006 */ beqz $t7, .L80010F48 -/* 011B30 80010F30 00000000 */ nop -/* 011B34 80010F34 0C00CB1F */ jal func_80032C7C -/* 011B38 80010F38 02002025 */ move $a0, $s0 -/* 011B3C 80010F3C 3C028012 */ lui $v0, %hi(gObjectCount) # $v0, 0x8012 -/* 011B40 80010F40 8C42AE5C */ lw $v0, %lo(gObjectCount)($v0) -/* 011B44 80010F44 00000000 */ nop -.L80010F48: -/* 011B48 80010F48 26310001 */ addiu $s1, $s1, 1 -/* 011B4C 80010F4C 0222082A */ slt $at, $s1, $v0 -/* 011B50 80010F50 1420FFEA */ bnez $at, .L80010EFC -/* 011B54 80010F54 26520004 */ addiu $s2, $s2, 4 -.L80010F58: -/* 011B58 80010F58 0C0079BB */ jal func_8001E6EC -/* 011B5C 80010F5C 00002025 */ move $a0, $zero -/* 011B60 80010F60 3C188012 */ lui $t8, %hi(gTajRaceInit) # $t8, 0x8012 -/* 011B64 80010F64 8318AEF7 */ lb $t8, %lo(gTajRaceInit)($t8) -/* 011B68 80010F68 00000000 */ nop -/* 011B6C 80010F6C 13000003 */ beqz $t8, .L80010F7C -/* 011B70 80010F70 00000000 */ nop -/* 011B74 80010F74 0C008A52 */ jal mode_init_taj_race -/* 011B78 80010F78 00000000 */ nop -.L80010F7C: -/* 011B7C 80010F7C 3C108012 */ lui $s0, %hi(gPathUpdateOff) # $s0, 0x8012 -/* 011B80 80010F80 2610ADAC */ addiu $s0, %lo(gPathUpdateOff) # addiu $s0, $s0, -0x5254 -/* 011B84 80010F84 8E190000 */ lw $t9, ($s0) -/* 011B88 80010F88 00000000 */ nop -/* 011B8C 80010F8C 17200009 */ bnez $t9, .L80010FB4 -/* 011B90 80010F90 00000000 */ nop -/* 011B94 80010F94 0C004013 */ jal gParticlePtrList_flush -/* 011B98 80010F98 00000000 */ nop -/* 011B9C 80010F9C 0C005FA6 */ jal func_80017E98 -/* 011BA0 80010FA0 00000000 */ nop -/* 011BA4 80010FA4 0C006F15 */ jal spectate_update -/* 011BA8 80010FA8 00000000 */ nop -/* 011BAC 80010FAC 0C007A4F */ jal func_8001E93C -/* 011BB0 80010FB0 00000000 */ nop -.L80010FB4: -/* 011BB4 80010FB4 3C078012 */ lui $a3, %hi(gNumRacers) # $a3, 0x8012 -/* 011BB8 80010FB8 8CE7AEF0 */ lw $a3, %lo(gNumRacers)($a3) -/* 011BBC 80010FBC 3C098012 */ lui $t1, %hi(gRaceEndTimer) # $t1, 0x8012 -/* 011BC0 80010FC0 10E00010 */ beqz $a3, .L80011004 -/* 011BC4 80010FC4 00000000 */ nop -/* 011BC8 80010FC8 8529AD4E */ lh $t1, %lo(gRaceEndTimer)($t1) -/* 011BCC 80010FCC 00000000 */ nop -/* 011BD0 80010FD0 15200007 */ bnez $t1, .L80010FF0 -/* 011BD4 80010FD4 00000000 */ nop -/* 011BD8 80010FD8 0C006602 */ jal func_80019808 -/* 011BDC 80010FDC 02802025 */ move $a0, $s4 -/* 011BE0 80010FE0 3C078012 */ lui $a3, %hi(gNumRacers) # $a3, 0x8012 -/* 011BE4 80010FE4 8CE7AEF0 */ lw $a3, %lo(gNumRacers)($a3) -/* 011BE8 80010FE8 10000006 */ b .L80011004 -/* 011BEC 80010FEC 00000000 */ nop -.L80010FF0: -/* 011BF0 80010FF0 0C006A3D */ jal race_transition_adventure -/* 011BF4 80010FF4 02802025 */ move $a0, $s4 -/* 011BF8 80010FF8 3C078012 */ lui $a3, %hi(gNumRacers) # $a3, 0x8012 -/* 011BFC 80010FFC 8CE7AEF0 */ lw $a3, %lo(gNumRacers)($a3) -/* 011C00 80011000 00000000 */ nop -.L80011004: -/* 011C04 80011004 3C048012 */ lui $a0, %hi(gRacersByPort) # $a0, 0x8012 -/* 011C08 80011008 8C84AEEC */ lw $a0, %lo(gRacersByPort)($a0) -/* 011C0C 8001100C 00E02825 */ move $a1, $a3 -/* 011C10 80011010 0C00210E */ jal func_80008438 -/* 011C14 80011014 02803025 */ move $a2, $s4 -/* 011C18 80011018 44945000 */ mtc1 $s4, $f10 -/* 011C1C 8001101C 24080001 */ li $t0, 1 -/* 011C20 80011020 46805420 */ cvt.s.w $f16, $f10 -/* 011C24 80011024 AE080000 */ sw $t0, ($s0) -/* 011C28 80011028 3C018012 */ lui $at, %hi(gObjectUpdateRateF) # $at, 0x8012 -/* 011C2C 8001102C E430ADA8 */ swc1 $f16, %lo(gObjectUpdateRateF)($at) -/* 011C30 80011030 3C018012 */ lui $at, %hi(D_8011AD24) # $at, 0x8012 -/* 011C34 80011034 A020AD24 */ sb $zero, %lo(D_8011AD24)($at) -/* 011C38 80011038 3C018012 */ lui $at, %hi(D_8011AD53) # $at, 0x8012 -/* 011C3C 8001103C 0C0038AD */ jal transform_player_vehicle -/* 011C40 80011040 A020AD53 */ sb $zero, %lo(D_8011AD53)($at) -/* 011C44 80011044 0C0273EC */ jal dialogue_try_close -/* 011C48 80011048 00000000 */ nop -/* 011C4C 8001104C 0C005E74 */ jal func_800179D0 -/* 011C50 80011050 00000000 */ nop -/* 011C54 80011054 3C038012 */ lui $v1, %hi(D_8011AF00) # $v1, 0x8012 -/* 011C58 80011058 2463AF00 */ addiu $v1, %lo(D_8011AF00) # addiu $v1, $v1, -0x5100 -/* 011C5C 8001105C 80620000 */ lb $v0, ($v1) -/* 011C60 80011060 24010001 */ li $at, 1 -/* 011C64 80011064 14410026 */ bne $v0, $at, .L80011100 -/* 011C68 80011068 3C0A8012 */ lui $t2, %hi(gEventCountdown) # $t2, 0x8012 -/* 011C6C 8001106C 8D4AADB0 */ lw $t2, %lo(gEventCountdown)($t2) -/* 011C70 80011070 24010050 */ li $at, 80 -/* 011C74 80011074 15410025 */ bne $t2, $at, .L8001110C -/* 011C78 80011078 3C0B8012 */ lui $t3, %hi(gCutsceneID) # $t3, 0x8012 -/* 011C7C 8001107C 856BAE7A */ lh $t3, %lo(gCutsceneID)($t3) -/* 011C80 80011080 00002825 */ move $a1, $zero -/* 011C84 80011084 15600021 */ bnez $t3, .L8001110C -/* 011C88 80011088 00009825 */ move $s3, $zero -/* 011C8C 8001108C 24100004 */ li $s0, 4 -.L80011090: -/* 011C90 80011090 02602025 */ move $a0, $s3 -/* 011C94 80011094 0C01A955 */ jal get_buttons_pressed_from_player -/* 011C98 80011098 AFA50054 */ sw $a1, 0x54($sp) -/* 011C9C 8001109C 8FA50054 */ lw $a1, 0x54($sp) -/* 011CA0 800110A0 26730001 */ addiu $s3, $s3, 1 -/* 011CA4 800110A4 1670FFFA */ bne $s3, $s0, .L80011090 -/* 011CA8 800110A8 00A22825 */ or $a1, $a1, $v0 -/* 011CAC 800110AC 30AC8000 */ andi $t4, $a1, 0x8000 -/* 011CB0 800110B0 11800005 */ beqz $t4, .L800110C8 -/* 011CB4 800110B4 30AD4000 */ andi $t5, $a1, 0x4000 -/* 011CB8 800110B8 0C007917 */ jal func_8001E45C -/* 011CBC 800110BC 24040064 */ li $a0, 100 -/* 011CC0 800110C0 10000013 */ b .L80011110 -/* 011CC4 800110C4 8FBF0034 */ lw $ra, 0x34($sp) -.L800110C8: -/* 011CC8 800110C8 11A00011 */ beqz $t5, .L80011110 -/* 011CCC 800110CC 8FBF0034 */ lw $ra, 0x34($sp) -/* 011CD0 800110D0 0C02658B */ jal get_trophy_race_world_id -/* 011CD4 800110D4 00000000 */ nop -/* 011CD8 800110D8 1440000D */ bnez $v0, .L80011110 -/* 011CDC 800110DC 8FBF0034 */ lw $ra, 0x34($sp) -/* 011CE0 800110E0 0C0270B4 */ jal is_in_tracks_mode -/* 011CE4 800110E4 00000000 */ nop -/* 011CE8 800110E8 14400009 */ bnez $v0, .L80011110 -/* 011CEC 800110EC 8FBF0034 */ lw $ra, 0x34($sp) -/* 011CF0 800110F0 0C01BC50 */ jal level_transition_begin -/* 011CF4 800110F4 24040001 */ li $a0, 1 -/* 011CF8 800110F8 10000005 */ b .L80011110 -/* 011CFC 800110FC 8FBF0034 */ lw $ra, 0x34($sp) -.L80011100: -/* 011D00 80011100 14400002 */ bnez $v0, .L8001110C -/* 011D04 80011104 240E0001 */ li $t6, 1 -/* 011D08 80011108 A06E0000 */ sb $t6, ($v1) -.L8001110C: -/* 011D0C 8001110C 8FBF0034 */ lw $ra, 0x34($sp) -.L80011110: -/* 011D10 80011110 8FB00018 */ lw $s0, 0x18($sp) -/* 011D14 80011114 8FB1001C */ lw $s1, 0x1c($sp) -/* 011D18 80011118 8FB20020 */ lw $s2, 0x20($sp) -/* 011D1C 8001111C 8FB30024 */ lw $s3, 0x24($sp) -/* 011D20 80011120 8FB40028 */ lw $s4, 0x28($sp) -/* 011D24 80011124 8FB5002C */ lw $s5, 0x2c($sp) -/* 011D28 80011128 8FB60030 */ lw $s6, 0x30($sp) -/* 011D2C 8001112C 03E00008 */ jr $ra -/* 011D30 80011130 27BD0068 */ addiu $sp, $sp, 0x68 - diff --git a/asm/non_matchings/objects/func_80011134.s b/asm/non_matchings/objects/func_80011134.s deleted file mode 100644 index 32941486..00000000 --- a/asm/non_matchings/objects/func_80011134.s +++ /dev/null @@ -1,82 +0,0 @@ -glabel func_80011134 -/* 011D34 80011134 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 011D38 80011138 AFBF003C */ sw $ra, 0x3c($sp) -/* 011D3C 8001113C AFBE0038 */ sw $fp, 0x38($sp) -/* 011D40 80011140 AFB70034 */ sw $s7, 0x34($sp) -/* 011D44 80011144 AFB60030 */ sw $s6, 0x30($sp) -/* 011D48 80011148 AFB5002C */ sw $s5, 0x2c($sp) -/* 011D4C 8001114C AFB40028 */ sw $s4, 0x28($sp) -/* 011D50 80011150 AFB30024 */ sw $s3, 0x24($sp) -/* 011D54 80011154 AFB20020 */ sw $s2, 0x20($sp) -/* 011D58 80011158 AFB1001C */ sw $s1, 0x1c($sp) -/* 011D5C 8001115C AFB00018 */ sw $s0, 0x18($sp) -/* 011D60 80011160 808F003A */ lb $t7, 0x3a($a0) -/* 011D64 80011164 8C8E0068 */ lw $t6, 0x68($a0) -/* 011D68 80011168 000FC080 */ sll $t8, $t7, 2 -/* 011D6C 8001116C 01D8C821 */ addu $t9, $t6, $t8 -/* 011D70 80011170 8F220000 */ lw $v0, ($t9) -/* 011D74 80011174 00A0B025 */ move $s6, $a1 -/* 011D78 80011178 8C530000 */ lw $s3, ($v0) -/* 011D7C 8001117C 00008825 */ move $s1, $zero -/* 011D80 80011180 86750050 */ lh $s5, 0x50($s3) -/* 011D84 80011184 8E740038 */ lw $s4, 0x38($s3) -/* 011D88 80011188 1AA0002B */ blez $s5, .L80011238 -/* 011D8C 8001118C 8FBF003C */ lw $ra, 0x3c($sp) -/* 011D90 80011190 86680028 */ lh $t0, 0x28($s3) -/* 011D94 80011194 00009080 */ sll $s2, $zero, 2 -/* 011D98 80011198 19000026 */ blez $t0, .L80011234 -/* 011D9C 8001119C 02409023 */ subu $s2, $s2, $zero -/* 011DA0 800111A0 00129080 */ sll $s2, $s2, 2 -/* 011DA4 800111A4 02928021 */ addu $s0, $s4, $s2 -/* 011DA8 800111A8 241E00FF */ li $fp, 255 -/* 011DAC 800111AC 3C170001 */ lui $s7, 1 -.L800111B0: -/* 011DB0 800111B0 8E090008 */ lw $t1, 8($s0) -/* 011DB4 800111B4 00000000 */ nop -/* 011DB8 800111B8 01375024 */ and $t2, $t1, $s7 -/* 011DBC 800111BC 11400014 */ beqz $t2, .L80011210 -/* 011DC0 800111C0 00000000 */ nop -/* 011DC4 800111C4 92020000 */ lbu $v0, ($s0) -/* 011DC8 800111C8 02542821 */ addu $a1, $s2, $s4 -/* 011DCC 800111CC 13C20010 */ beq $fp, $v0, .L80011210 -/* 011DD0 800111D0 000260C0 */ sll $t4, $v0, 3 -/* 011DD4 800111D4 8E6B0000 */ lw $t3, ($s3) -/* 011DD8 800111D8 920F0007 */ lbu $t7, 7($s0) -/* 011DDC 800111DC 016C6821 */ addu $t5, $t3, $t4 -/* 011DE0 800111E0 8DA40000 */ lw $a0, ($t5) -/* 011DE4 800111E4 AFAF005C */ sw $t7, 0x5c($sp) -/* 011DE8 800111E8 000FC180 */ sll $t8, $t7, 6 -/* 011DEC 800111EC AFB8005C */ sw $t8, 0x5c($sp) -/* 011DF0 800111F0 24A50008 */ addiu $a1, $a1, 8 -/* 011DF4 800111F4 27A6005C */ addiu $a2, $sp, 0x5c -/* 011DF8 800111F8 0C01FBE0 */ jal tex_animate_texture -/* 011DFC 800111FC 02C03825 */ move $a3, $s6 -/* 011E00 80011200 8FB9005C */ lw $t9, 0x5c($sp) -/* 011E04 80011204 00000000 */ nop -/* 011E08 80011208 00194983 */ sra $t1, $t9, 6 -/* 011E0C 8001120C A2090007 */ sb $t1, 7($s0) -.L80011210: -/* 011E10 80011210 26310001 */ addiu $s1, $s1, 1 -/* 011E14 80011214 2652000C */ addiu $s2, $s2, 0xc -/* 011E18 80011218 1AA00006 */ blez $s5, .L80011234 -/* 011E1C 8001121C 2610000C */ addiu $s0, $s0, 0xc -/* 011E20 80011220 866A0028 */ lh $t2, 0x28($s3) -/* 011E24 80011224 00000000 */ nop -/* 011E28 80011228 022A082A */ slt $at, $s1, $t2 -/* 011E2C 8001122C 1420FFE0 */ bnez $at, .L800111B0 -/* 011E30 80011230 00000000 */ nop -.L80011234: -/* 011E34 80011234 8FBF003C */ lw $ra, 0x3c($sp) -.L80011238: -/* 011E38 80011238 8FB00018 */ lw $s0, 0x18($sp) -/* 011E3C 8001123C 8FB1001C */ lw $s1, 0x1c($sp) -/* 011E40 80011240 8FB20020 */ lw $s2, 0x20($sp) -/* 011E44 80011244 8FB30024 */ lw $s3, 0x24($sp) -/* 011E48 80011248 8FB40028 */ lw $s4, 0x28($sp) -/* 011E4C 8001124C 8FB5002C */ lw $s5, 0x2c($sp) -/* 011E50 80011250 8FB60030 */ lw $s6, 0x30($sp) -/* 011E54 80011254 8FB70034 */ lw $s7, 0x34($sp) -/* 011E58 80011258 8FBE0038 */ lw $fp, 0x38($sp) -/* 011E5C 8001125C 03E00008 */ jr $ra -/* 011E60 80011260 27BD0068 */ addiu $sp, $sp, 0x68 - diff --git a/asm/non_matchings/objects/func_80011264.s b/asm/non_matchings/objects/func_80011264.s deleted file mode 100644 index 613fea8a..00000000 --- a/asm/non_matchings/objects/func_80011264.s +++ /dev/null @@ -1,71 +0,0 @@ -glabel func_80011264 -/* 011E64 80011264 848E0050 */ lh $t6, 0x50($a0) -/* 011E68 80011268 00000000 */ nop -/* 011E6C 8001126C 19C0003B */ blez $t6, .L8001135C -/* 011E70 80011270 00000000 */ nop -/* 011E74 80011274 8CA20064 */ lw $v0, 0x64($a1) -/* 011E78 80011278 240A000A */ li $t2, 10 -/* 011E7C 8001127C 90430010 */ lbu $v1, 0x10($v0) -/* 011E80 80011280 8C880038 */ lw $t0, 0x38($a0) -/* 011E84 80011284 006A001A */ div $zero, $v1, $t2 -/* 011E88 80011288 15400002 */ bnez $t2, .L80011294 -/* 011E8C 8001128C 00000000 */ nop -/* 011E90 80011290 0007000D */ break 7 -.L80011294: -/* 011E94 80011294 2401FFFF */ li $at, -1 -/* 011E98 80011298 15410004 */ bne $t2, $at, .L800112AC -/* 011E9C 8001129C 3C018000 */ lui $at, 0x8000 -/* 011EA0 800112A0 14610002 */ bne $v1, $at, .L800112AC -/* 011EA4 800112A4 00000000 */ nop -/* 011EA8 800112A8 0006000D */ break 6 -.L800112AC: -/* 011EAC 800112AC 84890028 */ lh $t1, 0x28($a0) -/* 011EB0 800112B0 00003825 */ move $a3, $zero -/* 011EB4 800112B4 3C0A0001 */ lui $t2, 1 -/* 011EB8 800112B8 240B00FF */ li $t3, 255 -/* 011EBC 800112BC 01001025 */ move $v0, $t0 -/* 011EC0 800112C0 00003012 */ mflo $a2 -/* 011EC4 800112C4 24C6FFFF */ addiu $a2, $a2, -1 -/* 011EC8 800112C8 00001810 */ mfhi $v1 -/* 011ECC 800112CC 00067880 */ sll $t7, $a2, 2 -/* 011ED0 800112D0 0003C080 */ sll $t8, $v1, 2 -/* 011ED4 800112D4 01E03025 */ move $a2, $t7 -/* 011ED8 800112D8 19200020 */ blez $t1, .L8001135C -/* 011EDC 800112DC 03001825 */ move $v1, $t8 -.L800112E0: -/* 011EE0 800112E0 8C590008 */ lw $t9, 8($v0) -/* 011EE4 800112E4 24E70001 */ addiu $a3, $a3, 1 -/* 011EE8 800112E8 032A6024 */ and $t4, $t9, $t2 -/* 011EEC 800112EC 11800019 */ beqz $t4, .L80011354 -/* 011EF0 800112F0 00E9082A */ slt $at, $a3, $t1 -/* 011EF4 800112F4 90450000 */ lbu $a1, ($v0) -/* 011EF8 800112F8 00000000 */ nop -/* 011EFC 800112FC 11650015 */ beq $t3, $a1, .L80011354 -/* 011F00 80011300 00E9082A */ slt $at, $a3, $t1 -/* 011F04 80011304 8C8D0000 */ lw $t5, ($a0) -/* 011F08 80011308 000570C0 */ sll $t6, $a1, 3 -/* 011F0C 8001130C 01AE7821 */ addu $t7, $t5, $t6 -/* 011F10 80011310 8DE80000 */ lw $t0, ($t7) -/* 011F14 80011314 00000000 */ nop -/* 011F18 80011318 95180012 */ lhu $t8, 0x12($t0) -/* 011F1C 8001131C 00000000 */ nop -/* 011F20 80011320 2B010901 */ slti $at, $t8, 0x901 -/* 011F24 80011324 14200005 */ bnez $at, .L8001133C -/* 011F28 80011328 00000000 */ nop -/* 011F2C 8001132C A0430007 */ sb $v1, 7($v0) -/* 011F30 80011330 84890028 */ lh $t1, 0x28($a0) -/* 011F34 80011334 10000007 */ b .L80011354 -/* 011F38 80011338 00E9082A */ slt $at, $a3, $t1 -.L8001133C: -/* 011F3C 8001133C 04C00005 */ bltz $a2, .L80011354 -/* 011F40 80011340 00E9082A */ slt $at, $a3, $t1 -/* 011F44 80011344 A0460007 */ sb $a2, 7($v0) -/* 011F48 80011348 84890028 */ lh $t1, 0x28($a0) -/* 011F4C 8001134C 00000000 */ nop -/* 011F50 80011350 00E9082A */ slt $at, $a3, $t1 -.L80011354: -/* 011F54 80011354 1420FFE2 */ bnez $at, .L800112E0 -/* 011F58 80011358 2442000C */ addiu $v0, $v0, 0xc -.L8001135C: -/* 011F5C 8001135C 03E00008 */ jr $ra -/* 011F60 80011360 00000000 */ nop diff --git a/asm/non_matchings/objects/func_80012F94.s b/asm/non_matchings/objects/func_80012F94.s deleted file mode 100644 index 2fe92257..00000000 --- a/asm/non_matchings/objects/func_80012F94.s +++ /dev/null @@ -1,364 +0,0 @@ -.late_rodata -glabel D_800E5554 -.float 0.2 -glabel D_800E5558 -.float 0.05 -glabel D_800E555C -.float 3500.0 -glabel D_800E5560 -.float 2700.0 -glabel D_800E5564 -.float 0.6 - -.text -glabel func_80012F94 -/* 013B94 80012F94 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 013B98 80012F98 AFBF001C */ sw $ra, 0x1c($sp) -/* 013B9C 80012F9C AFB00018 */ sw $s0, 0x18($sp) -/* 013BA0 80012FA0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 013BA4 80012FA4 44811000 */ mtc1 $at, $f2 -/* 013BA8 80012FA8 848E0006 */ lh $t6, 6($a0) -/* 013BAC 80012FAC 00808025 */ move $s0, $a0 -/* 013BB0 80012FB0 31CF8000 */ andi $t7, $t6, 0x8000 -/* 013BB4 80012FB4 46001006 */ mov.s $f0, $f2 -/* 013BB8 80012FB8 15E0012C */ bnez $t7, .L8001346C -/* 013BBC 80012FBC 46001386 */ mov.s $f14, $f2 -/* 013BC0 80012FC0 8C980040 */ lw $t8, 0x40($a0) -/* 013BC4 80012FC4 24010001 */ li $at, 1 -/* 013BC8 80012FC8 83190054 */ lb $t9, 0x54($t8) -/* 013BCC 80012FCC 00000000 */ nop -/* 013BD0 80012FD0 1721011E */ bne $t9, $at, .L8001344C -/* 013BD4 80012FD4 00000000 */ nop -/* 013BD8 80012FD8 8C8A0064 */ lw $t2, 0x64($a0) -/* 013BDC 80012FDC 240B001E */ li $t3, 30 -/* 013BE0 80012FE0 85420206 */ lh $v0, 0x206($t2) -/* 013BE4 80012FE4 3C01800E */ lui $at, %hi(D_800E5554) # $at, 0x800e -/* 013BE8 80012FE8 1840000E */ blez $v0, .L80013024 -/* 013BEC 80012FEC A14B0201 */ sb $t3, 0x201($t2) -/* 013BF0 80012FF0 44822000 */ mtc1 $v0, $f4 -/* 013BF4 80012FF4 C4205554 */ lwc1 $f0, %lo(D_800E5554)($at) -/* 013BF8 80012FF8 468021A0 */ cvt.s.w $f6, $f4 -/* 013BFC 80012FFC 3C01800E */ lui $at, %hi(D_800E5558) # $at, 0x800e -/* 013C00 80013000 C4285558 */ lwc1 $f8, %lo(D_800E5558)($at) -/* 013C04 80013004 00000000 */ nop -/* 013C08 80013008 46083282 */ mul.s $f10, $f6, $f8 -/* 013C0C 8001300C 460A1381 */ sub.s $f14, $f2, $f10 -/* 013C10 80013010 4600703C */ c.lt.s $f14, $f0 -/* 013C14 80013014 00000000 */ nop -/* 013C18 80013018 45000002 */ bc1f .L80013024 -/* 013C1C 8001301C 00000000 */ nop -/* 013C20 80013020 46000386 */ mov.s $f14, $f0 -.L80013024: -/* 013C24 80013024 854C0000 */ lh $t4, ($t2) -/* 013C28 80013028 2401FFFF */ li $at, -1 -/* 013C2C 8001302C 11810007 */ beq $t4, $at, .L8001304C -/* 013C30 80013030 00000000 */ nop -/* 013C34 80013034 814D01D8 */ lb $t5, 0x1d8($t2) -/* 013C38 80013038 00004025 */ move $t0, $zero -/* 013C3C 8001303C 11A00003 */ beqz $t5, .L8001304C -/* 013C40 80013040 00000000 */ nop -/* 013C44 80013044 1000008B */ b .L80013274 -/* 013C48 80013048 00004825 */ move $t1, $zero -.L8001304C: -/* 013C4C 8001304C 860E0048 */ lh $t6, 0x48($s0) -/* 013C50 80013050 2401003A */ li $at, 58 -/* 013C54 80013054 15C10003 */ bne $t6, $at, .L80013064 -/* 013C58 80013058 24080001 */ li $t0, 1 -/* 013C5C 8001305C 10000085 */ b .L80013274 -/* 013C60 80013060 00004825 */ move $t1, $zero -.L80013064: -/* 013C64 80013064 814901D6 */ lb $t1, 0x1d6($t2) -/* 013C68 80013068 00000000 */ nop -/* 013C6C 8001306C 29210003 */ slti $at, $t1, 3 -/* 013C70 80013070 14200003 */ bnez $at, .L80013080 -/* 013C74 80013074 25240005 */ addiu $a0, $t1, 5 -/* 013C78 80013078 00004825 */ move $t1, $zero -/* 013C7C 8001307C 25240005 */ addiu $a0, $t1, 5 -.L80013080: -/* 013C80 80013080 00004825 */ move $t1, $zero -/* 013C84 80013084 AFA0004C */ sw $zero, 0x4c($sp) -/* 013C88 80013088 AFAA0024 */ sw $t2, 0x24($sp) -/* 013C8C 8001308C 0C0078A7 */ jal get_misc_asset -/* 013C90 80013090 E7AE002C */ swc1 $f14, 0x2c($sp) -/* 013C94 80013094 0C019884 */ jal get_viewport_count -/* 013C98 80013098 AFA20038 */ sw $v0, 0x38($sp) -/* 013C9C 8001309C 00027880 */ sll $t7, $v0, 2 -/* 013CA0 800130A0 8FA50038 */ lw $a1, 0x38($sp) -/* 013CA4 800130A4 01E27821 */ addu $t7, $t7, $v0 -/* 013CA8 800130A8 000F7840 */ sll $t7, $t7, 1 -/* 013CAC 800130AC 00AF2821 */ addu $a1, $a1, $t7 -/* 013CB0 800130B0 0C019888 */ jal get_current_viewport -/* 013CB4 800130B4 AFA50038 */ sw $a1, 0x38($sp) -/* 013CB8 800130B8 8FAA0024 */ lw $t2, 0x24($sp) -/* 013CBC 800130BC 8FA50038 */ lw $a1, 0x38($sp) -/* 013CC0 800130C0 85580000 */ lh $t8, ($t2) -/* 013CC4 800130C4 8FA9004C */ lw $t1, 0x4c($sp) -/* 013CC8 800130C8 C7AE002C */ lwc1 $f14, 0x2c($sp) -/* 013CCC 800130CC 10580002 */ beq $v0, $t8, .L800130D8 -/* 013CD0 800130D0 00000000 */ nop -/* 013CD4 800130D4 24A50005 */ addiu $a1, $a1, 5 -.L800130D8: -/* 013CD8 800130D8 4459F800 */ cfc1 $t9, $31 -/* 013CDC 800130DC C6000030 */ lwc1 $f0, 0x30($s0) -/* 013CE0 800130E0 37210003 */ ori $at, $t9, 3 -/* 013CE4 800130E4 38210002 */ xori $at, $at, 2 -/* 013CE8 800130E8 44C1F800 */ ctc1 $at, $31 -/* 013CEC 800130EC 44806000 */ mtc1 $zero, $f12 -/* 013CF0 800130F0 46000424 */ cvt.w.s $f16, $f0 -/* 013CF4 800130F4 3C01800E */ lui $at, %hi(D_800E555C) # $at, 0x800e -/* 013CF8 800130F8 44D9F800 */ ctc1 $t9, $31 -/* 013CFC 800130FC 44038000 */ mfc1 $v1, $f16 -/* 013D00 80013100 460C003C */ c.lt.s $f0, $f12 -/* 013D04 80013104 000358C3 */ sra $t3, $v1, 3 -/* 013D08 80013108 45000003 */ bc1f .L80013118 -/* 013D0C 8001310C 01601825 */ move $v1, $t3 -/* 013D10 80013110 10000008 */ b .L80013134 -/* 013D14 80013114 46006006 */ mov.s $f0, $f12 -.L80013118: -/* 013D18 80013118 C422555C */ lwc1 $f2, %lo(D_800E555C)($at) -/* 013D1C 8001311C 00000000 */ nop -/* 013D20 80013120 4600103C */ c.lt.s $f2, $f0 -/* 013D24 80013124 00000000 */ nop -/* 013D28 80013128 45000002 */ bc1f .L80013134 -/* 013D2C 8001312C 00000000 */ nop -/* 013D30 80013130 46001006 */ mov.s $f0, $f2 -.L80013134: -/* 013D34 80013134 3C01800E */ lui $at, %hi(D_800E5560) # $at, 0x800e -/* 013D38 80013138 C4325560 */ lwc1 $f18, %lo(D_800E5560)($at) -/* 013D3C 8001313C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 013D40 80013140 46120003 */ div.s $f0, $f0, $f18 -/* 013D44 80013144 44812000 */ mtc1 $at, $f4 -/* 013D48 80013148 C6060008 */ lwc1 $f6, 8($s0) -/* 013D4C 8001314C 24040004 */ li $a0, 4 -/* 013D50 80013150 46040000 */ add.s $f0, $f0, $f4 -/* 013D54 80013154 46003202 */ mul.s $f8, $f6, $f0 -/* 013D58 80013158 E6080008 */ swc1 $f8, 8($s0) -/* 013D5C 8001315C E7AE002C */ swc1 $f14, 0x2c($sp) -/* 013D60 80013160 AFAA0024 */ sw $t2, 0x24($sp) -/* 013D64 80013164 AFA9004C */ sw $t1, 0x4c($sp) -/* 013D68 80013168 AFA50038 */ sw $a1, 0x38($sp) -/* 013D6C 8001316C 0C0078A7 */ jal get_misc_asset -/* 013D70 80013170 AFA30044 */ sw $v1, 0x44($sp) -/* 013D74 80013174 8FAA0024 */ lw $t2, 0x24($sp) -/* 013D78 80013178 8FA30044 */ lw $v1, 0x44($sp) -/* 013D7C 8001317C 814C0003 */ lb $t4, 3($t2) -/* 013D80 80013180 44835000 */ mtc1 $v1, $f10 -/* 013D84 80013184 000C6880 */ sll $t5, $t4, 2 -/* 013D88 80013188 46805420 */ cvt.s.w $f16, $f10 -/* 013D8C 8001318C 004D7021 */ addu $t6, $v0, $t5 -/* 013D90 80013190 C5D20000 */ lwc1 $f18, ($t6) -/* 013D94 80013194 8FA50038 */ lw $a1, 0x38($sp) -/* 013D98 80013198 46128102 */ mul.s $f4, $f16, $f18 -/* 013D9C 8001319C 8FA9004C */ lw $t1, 0x4c($sp) -/* 013DA0 800131A0 C7AE002C */ lwc1 $f14, 0x2c($sp) -/* 013DA4 800131A4 444FF800 */ cfc1 $t7, $31 -/* 013DA8 800131A8 00000000 */ nop -/* 013DAC 800131AC 35E10003 */ ori $at, $t7, 3 -/* 013DB0 800131B0 38210002 */ xori $at, $at, 2 -/* 013DB4 800131B4 44C1F800 */ ctc1 $at, $31 -/* 013DB8 800131B8 00000000 */ nop -/* 013DBC 800131BC 460021A4 */ cvt.w.s $f6, $f4 -/* 013DC0 800131C0 44033000 */ mfc1 $v1, $f6 -/* 013DC4 800131C4 44CFF800 */ ctc1 $t7, $31 -/* 013DC8 800131C8 2861FFCE */ slti $at, $v1, -0x32 -/* 013DCC 800131CC 10200003 */ beqz $at, .L800131DC -/* 013DD0 800131D0 0003C043 */ sra $t8, $v1, 1 -/* 013DD4 800131D4 10000027 */ b .L80013274 -/* 013DD8 800131D8 24080005 */ li $t0, 5 -.L800131DC: -/* 013DDC 800131DC 07010002 */ bgez $t8, .L800131E8 -/* 013DE0 800131E0 03001825 */ move $v1, $t8 -/* 013DE4 800131E4 00001825 */ move $v1, $zero -.L800131E8: -/* 013DE8 800131E8 90B90000 */ lbu $t9, ($a1) -/* 013DEC 800131EC 00000000 */ nop -/* 013DF0 800131F0 0079082A */ slt $at, $v1, $t9 -/* 013DF4 800131F4 10200003 */ beqz $at, .L80013204 -/* 013DF8 800131F8 00000000 */ nop -/* 013DFC 800131FC 1000001D */ b .L80013274 -/* 013E00 80013200 00004025 */ move $t0, $zero -.L80013204: -/* 013E04 80013204 90AB0001 */ lbu $t3, 1($a1) -/* 013E08 80013208 00000000 */ nop -/* 013E0C 8001320C 006B082A */ slt $at, $v1, $t3 -/* 013E10 80013210 10200003 */ beqz $at, .L80013220 -/* 013E14 80013214 00000000 */ nop -/* 013E18 80013218 10000016 */ b .L80013274 -/* 013E1C 8001321C 24080001 */ li $t0, 1 -.L80013220: -/* 013E20 80013220 90AC0002 */ lbu $t4, 2($a1) -/* 013E24 80013224 00000000 */ nop -/* 013E28 80013228 006C082A */ slt $at, $v1, $t4 -/* 013E2C 8001322C 10200003 */ beqz $at, .L8001323C -/* 013E30 80013230 00000000 */ nop -/* 013E34 80013234 1000000F */ b .L80013274 -/* 013E38 80013238 24080002 */ li $t0, 2 -.L8001323C: -/* 013E3C 8001323C 90AD0003 */ lbu $t5, 3($a1) -/* 013E40 80013240 00000000 */ nop -/* 013E44 80013244 006D082A */ slt $at, $v1, $t5 -/* 013E48 80013248 10200003 */ beqz $at, .L80013258 -/* 013E4C 8001324C 00000000 */ nop -/* 013E50 80013250 10000008 */ b .L80013274 -/* 013E54 80013254 24080003 */ li $t0, 3 -.L80013258: -/* 013E58 80013258 90AE0004 */ lbu $t6, 4($a1) -/* 013E5C 8001325C 24080005 */ li $t0, 5 -/* 013E60 80013260 006E082A */ slt $at, $v1, $t6 -/* 013E64 80013264 10200003 */ beqz $at, .L80013274 -/* 013E68 80013268 00000000 */ nop -/* 013E6C 8001326C 10000001 */ b .L80013274 -/* 013E70 80013270 24080004 */ li $t0, 4 -.L80013274: -/* 013E74 80013274 8E050068 */ lw $a1, 0x68($s0) -/* 013E78 80013278 00002025 */ move $a0, $zero -/* 013E7C 8001327C 8CAF0000 */ lw $t7, ($a1) -/* 013E80 80013280 00A01025 */ move $v0, $a1 -/* 013E84 80013284 15E00005 */ bnez $t7, .L8001329C -/* 013E88 80013288 00000000 */ nop -.L8001328C: -/* 013E8C 8001328C 8C580004 */ lw $t8, 4($v0) -/* 013E90 80013290 24840001 */ addiu $a0, $a0, 1 -/* 013E94 80013294 1300FFFD */ beqz $t8, .L8001328C -/* 013E98 80013298 24420004 */ addiu $v0, $v0, 4 -.L8001329C: -/* 013E9C 8001329C 8E190040 */ lw $t9, 0x40($s0) -/* 013EA0 800132A0 0104082A */ slt $at, $t0, $a0 -/* 013EA4 800132A4 83230055 */ lb $v1, 0x55($t9) -/* 013EA8 800132A8 00000000 */ nop -/* 013EAC 800132AC 2463FFFF */ addiu $v1, $v1, -1 -/* 013EB0 800132B0 00035880 */ sll $t3, $v1, 2 -/* 013EB4 800132B4 00AB1021 */ addu $v0, $a1, $t3 -/* 013EB8 800132B8 8C4C0000 */ lw $t4, ($v0) -/* 013EBC 800132BC 00000000 */ nop -/* 013EC0 800132C0 15800005 */ bnez $t4, .L800132D8 -/* 013EC4 800132C4 00000000 */ nop -.L800132C8: -/* 013EC8 800132C8 8C4DFFFC */ lw $t5, -4($v0) -/* 013ECC 800132CC 2463FFFF */ addiu $v1, $v1, -1 -/* 013ED0 800132D0 11A0FFFD */ beqz $t5, .L800132C8 -/* 013ED4 800132D4 2442FFFC */ addiu $v0, $v0, -4 -.L800132D8: -/* 013ED8 800132D8 10200002 */ beqz $at, .L800132E4 -/* 013EDC 800132DC 3C070081 */ lui $a3, 0x81 -/* 013EE0 800132E0 00804025 */ move $t0, $a0 -.L800132E4: -/* 013EE4 800132E4 0068082A */ slt $at, $v1, $t0 -/* 013EE8 800132E8 10200002 */ beqz $at, .L800132F4 -/* 013EEC 800132EC 3C060001 */ lui $a2, 1 -/* 013EF0 800132F0 00604025 */ move $t0, $v1 -.L800132F4: -/* 013EF4 800132F4 8E020054 */ lw $v0, 0x54($s0) -/* 013EF8 800132F8 A208003A */ sb $t0, 0x3a($s0) -/* 013EFC 800132FC 1040000D */ beqz $v0, .L80013334 -/* 013F00 80013300 3C01800E */ lui $at, %hi(D_800E5564) # $at, 0x800e -/* 013F04 80013304 C4480000 */ lwc1 $f8, ($v0) -/* 013F08 80013308 C42A5564 */ lwc1 $f10, %lo(D_800E5564)($at) -/* 013F0C 8001330C 00000000 */ nop -/* 013F10 80013310 460A403C */ c.lt.s $f8, $f10 -/* 013F14 80013314 00000000 */ nop -/* 013F18 80013318 45000006 */ bc1f .L80013334 -/* 013F1C 8001331C 00000000 */ nop -/* 013F20 80013320 914E020A */ lbu $t6, 0x20a($t2) -/* 013F24 80013324 00000000 */ nop -/* 013F28 80013328 35CF0040 */ ori $t7, $t6, 0x40 -/* 013F2C 8001332C 10000005 */ b .L80013344 -/* 013F30 80013330 A14F020A */ sb $t7, 0x20a($t2) -.L80013334: -/* 013F34 80013334 9158020A */ lbu $t8, 0x20a($t2) -/* 013F38 80013338 00000000 */ nop -/* 013F3C 8001333C 3319FFBF */ andi $t9, $t8, 0xffbf -/* 013F40 80013340 A159020A */ sb $t9, 0x20a($t2) -.L80013344: -/* 013F44 80013344 820C003A */ lb $t4, 0x3a($s0) -/* 013F48 80013348 8E0B0068 */ lw $t3, 0x68($s0) -/* 013F4C 8001334C 000C6880 */ sll $t5, $t4, 2 -/* 013F50 80013350 016D7021 */ addu $t6, $t3, $t5 -/* 013F54 80013354 9142020A */ lbu $v0, 0x20a($t2) -/* 013F58 80013358 8DC30000 */ lw $v1, ($t6) -/* 013F5C 8001335C 3048000F */ andi $t0, $v0, 0xf -/* 013F60 80013360 8C650000 */ lw $a1, ($v1) -/* 013F64 80013364 11000015 */ beqz $t0, .L800133BC -/* 013F68 80013368 304F0080 */ andi $t7, $v0, 0x80 -/* 013F6C 8001336C 11E00006 */ beqz $t7, .L80013388 -/* 013F70 80013370 2508FFFF */ addiu $t0, $t0, -1 -/* 013F74 80013374 3058FFEF */ andi $t8, $v0, 0xffef -/* 013F78 80013378 37190020 */ ori $t9, $t8, 0x20 -/* 013F7C 8001337C 25080001 */ addiu $t0, $t0, 1 -/* 013F80 80013380 1000000E */ b .L800133BC -/* 013F84 80013384 A159020A */ sb $t9, 0x20a($t2) -.L80013388: -/* 013F88 80013388 304C0040 */ andi $t4, $v0, 0x40 -/* 013F8C 8001338C 11800006 */ beqz $t4, .L800133A8 -/* 013F90 80013390 304E0020 */ andi $t6, $v0, 0x20 -/* 013F94 80013394 304BFFDF */ andi $t3, $v0, 0xffdf -/* 013F98 80013398 356D0010 */ ori $t5, $t3, 0x10 -/* 013F9C 8001339C 25080003 */ addiu $t0, $t0, 3 -/* 013FA0 800133A0 10000006 */ b .L800133BC -/* 013FA4 800133A4 A14D020A */ sb $t5, 0x20a($t2) -.L800133A8: -/* 013FA8 800133A8 11C00003 */ beqz $t6, .L800133B8 -/* 013FAC 800133AC 00000000 */ nop -/* 013FB0 800133B0 10000002 */ b .L800133BC -/* 013FB4 800133B4 25080001 */ addiu $t0, $t0, 1 -.L800133B8: -/* 013FB8 800133B8 25080003 */ addiu $t0, $t0, 3 -.L800133BC: -/* 013FBC 800133BC 84A40028 */ lh $a0, 0x28($a1) -/* 013FC0 800133C0 00087880 */ sll $t7, $t0, 2 -/* 013FC4 800133C4 18800010 */ blez $a0, .L80013408 -/* 013FC8 800133C8 01E04025 */ move $t0, $t7 -/* 013FCC 800133CC 00001025 */ move $v0, $zero -.L800133D0: -/* 013FD0 800133D0 8CB80038 */ lw $t8, 0x38($a1) -/* 013FD4 800133D4 25290001 */ addiu $t1, $t1, 1 -/* 013FD8 800133D8 03021821 */ addu $v1, $t8, $v0 -/* 013FDC 800133DC 8C790008 */ lw $t9, 8($v1) -/* 013FE0 800133E0 00000000 */ nop -/* 013FE4 800133E4 03276024 */ and $t4, $t9, $a3 -/* 013FE8 800133E8 14CC0005 */ bne $a2, $t4, .L80013400 -/* 013FEC 800133EC 0124082A */ slt $at, $t1, $a0 -/* 013FF0 800133F0 A0680007 */ sb $t0, 7($v1) -/* 013FF4 800133F4 84A40028 */ lh $a0, 0x28($a1) -/* 013FF8 800133F8 00000000 */ nop -/* 013FFC 800133FC 0124082A */ slt $at, $t1, $a0 -.L80013400: -/* 014000 80013400 1420FFF3 */ bnez $at, .L800133D0 -/* 014004 80013404 2442000C */ addiu $v0, $v0, 0xc -.L80013408: -/* 014008 80013408 C610000C */ lwc1 $f16, 0xc($s0) -/* 01400C 8001340C C5520078 */ lwc1 $f18, 0x78($t2) -/* 014010 80013410 C6060010 */ lwc1 $f6, 0x10($s0) -/* 014014 80013414 46128100 */ add.s $f4, $f16, $f18 -/* 014018 80013418 C6100014 */ lwc1 $f16, 0x14($s0) -/* 01401C 8001341C E604000C */ swc1 $f4, 0xc($s0) -/* 014020 80013420 C548007C */ lwc1 $f8, 0x7c($t2) -/* 014024 80013424 00000000 */ nop -/* 014028 80013428 46083280 */ add.s $f10, $f6, $f8 -/* 01402C 8001342C E60A0010 */ swc1 $f10, 0x10($s0) -/* 014030 80013430 C5520080 */ lwc1 $f18, 0x80($t2) -/* 014034 80013434 00000000 */ nop -/* 014038 80013438 46128100 */ add.s $f4, $f16, $f18 -/* 01403C 8001343C E6040014 */ swc1 $f4, 0x14($s0) -/* 014040 80013440 C540008C */ lwc1 $f0, 0x8c($t2) -/* 014044 80013444 10000009 */ b .L8001346C -/* 014048 80013448 00000000 */ nop -.L8001344C: -/* 01404C 8001344C 860B0048 */ lh $t3, 0x48($s0) -/* 014050 80013450 2401006D */ li $at, 109 -/* 014054 80013454 15610005 */ bne $t3, $at, .L8001346C -/* 014058 80013458 00000000 */ nop -/* 01405C 8001345C 8E0D0064 */ lw $t5, 0x64($s0) -/* 014060 80013460 00000000 */ nop -/* 014064 80013464 C5A00030 */ lwc1 $f0, 0x30($t5) -/* 014068 80013468 00000000 */ nop -.L8001346C: -/* 01406C 8001346C 3C018012 */ lui $at, %hi(D_8011AD28) # $at, 0x8012 -/* 014070 80013470 8FBF001C */ lw $ra, 0x1c($sp) -/* 014074 80013474 E420AD28 */ swc1 $f0, %lo(D_8011AD28)($at) -/* 014078 80013478 3C018012 */ lui $at, %hi(gCurrentLightIntensity) # $at, 0x8012 -/* 01407C 8001347C 8FB00018 */ lw $s0, 0x18($sp) -/* 014080 80013480 E42EAD30 */ swc1 $f14, %lo(gCurrentLightIntensity)($at) -/* 014084 80013484 03E00008 */ jr $ra -/* 014088 80013488 27BD0050 */ addiu $sp, $sp, 0x50 - diff --git a/asm/non_matchings/objects/func_800135B8.s b/asm/non_matchings/objects/func_800135B8.s deleted file mode 100644 index 7baee82e..00000000 --- a/asm/non_matchings/objects/func_800135B8.s +++ /dev/null @@ -1,202 +0,0 @@ -.late_rodata -glabel D_800E5568 -.float 1.15 - -.text -glabel func_800135B8 -/* 0141B8 800135B8 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0141BC 800135BC AFBF0024 */ sw $ra, 0x24($sp) -/* 0141C0 800135C0 AFB10020 */ sw $s1, 0x20($sp) -/* 0141C4 800135C4 AFB0001C */ sw $s0, 0x1c($sp) -/* 0141C8 800135C8 8C90007C */ lw $s0, 0x7c($a0) -/* 0141CC 800135CC 3C028012 */ lui $v0, %hi(D_8011B048) # $v0, 0x8012 -/* 0141D0 800135D0 00107703 */ sra $t6, $s0, 0x1c -/* 0141D4 800135D4 31D0000F */ andi $s0, $t6, 0xf -/* 0141D8 800135D8 00501021 */ addu $v0, $v0, $s0 -/* 0141DC 800135DC 9042B048 */ lbu $v0, %lo(D_8011B048)($v0) -/* 0141E0 800135E0 8C910064 */ lw $s1, 0x64($a0) -/* 0141E4 800135E4 10400006 */ beqz $v0, .L80013600 -/* 0141E8 800135E8 00802825 */ move $a1, $a0 -/* 0141EC 800135EC 24010001 */ li $at, 1 -/* 0141F0 800135F0 10410005 */ beq $v0, $at, .L80013608 -/* 0141F4 800135F4 26230024 */ addiu $v1, $s1, 0x24 -/* 0141F8 800135F8 10000003 */ b .L80013608 -/* 0141FC 800135FC 26230048 */ addiu $v1, $s1, 0x48 -.L80013600: -/* 014200 80013600 10000001 */ b .L80013608 -/* 014204 80013604 02201825 */ move $v1, $s1 -.L80013608: -/* 014208 80013608 24040014 */ li $a0, 20 -/* 01420C 8001360C AFA30050 */ sw $v1, 0x50($sp) -/* 014210 80013610 0C0078A7 */ jal get_misc_asset -/* 014214 80013614 AFA50078 */ sw $a1, 0x78($sp) -/* 014218 80013618 3C188012 */ lui $t8, %hi(D_8011B058) # $t8, 0x8012 -/* 01421C 8001361C 2718B058 */ addiu $t8, %lo(D_8011B058) # addiu $t8, $t8, -0x4fa8 -/* 014220 80013620 02182821 */ addu $a1, $s0, $t8 -/* 014224 80013624 90B90000 */ lbu $t9, ($a1) -/* 014228 80013628 8FAE0078 */ lw $t6, 0x78($sp) -/* 01422C 8001362C 001961C0 */ sll $t4, $t9, 7 -/* 014230 80013630 01826821 */ addu $t5, $t4, $v0 -/* 014234 80013634 AFAD0048 */ sw $t5, 0x48($sp) -/* 014238 80013638 8DC40078 */ lw $a0, 0x78($t6) -/* 01423C 8001363C 0C004B8A */ jal object_do_player_tumble -/* 014240 80013640 AFA50028 */ sw $a1, 0x28($sp) -/* 014244 80013644 8FAF0078 */ lw $t7, 0x78($sp) -/* 014248 80013648 44802000 */ mtc1 $zero, $f4 -/* 01424C 8001364C 3C108012 */ lui $s0, %hi(gObjectCurrDisplayList) # $s0, 0x8012 -/* 014250 80013650 2610AE8C */ addiu $s0, %lo(gObjectCurrDisplayList) # addiu $s0, $s0, -0x5174 -/* 014254 80013654 3C058012 */ lui $a1, %hi(gObjectCurrMatrix) # $a1, 0x8012 -/* 014258 80013658 8DE60078 */ lw $a2, 0x78($t7) -/* 01425C 8001365C 24A5AE90 */ addiu $a1, %lo(gObjectCurrMatrix) # addiu $a1, $a1, -0x5170 -/* 014260 80013660 02002025 */ move $a0, $s0 -/* 014264 80013664 3C073F80 */ lui $a3, 0x3f80 -/* 014268 80013668 0C01A521 */ jal camera_push_model_mtx -/* 01426C 8001366C E7A40010 */ swc1 $f4, 0x10($sp) -/* 014270 80013670 8FB80078 */ lw $t8, 0x78($sp) -/* 014274 80013674 00000000 */ nop -/* 014278 80013678 8F040078 */ lw $a0, 0x78($t8) -/* 01427C 8001367C 0C004BCC */ jal object_undo_player_tumble -/* 014280 80013680 00000000 */ nop -/* 014284 80013684 8FA30050 */ lw $v1, 0x50($sp) -/* 014288 80013688 00000000 */ nop -/* 01428C 8001368C C4660000 */ lwc1 $f6, ($v1) -/* 014290 80013690 00000000 */ nop -/* 014294 80013694 E7A60060 */ swc1 $f6, 0x60($sp) -/* 014298 80013698 C4680004 */ lwc1 $f8, 4($v1) -/* 01429C 8001369C 00000000 */ nop -/* 0142A0 800136A0 E7A80064 */ swc1 $f8, 0x64($sp) -/* 0142A4 800136A4 C46A0008 */ lwc1 $f10, 8($v1) -/* 0142A8 800136A8 00000000 */ nop -/* 0142AC 800136AC E7AA0068 */ swc1 $f10, 0x68($sp) -/* 0142B0 800136B0 92390072 */ lbu $t9, 0x72($s1) -/* 0142B4 800136B4 00000000 */ nop -/* 0142B8 800136B8 00196700 */ sll $t4, $t9, 0x1c -/* 0142BC 800136BC 0C01C1FE */ jal coss_f -/* 0142C0 800136C0 000C2403 */ sra $a0, $t4, 0x10 -/* 0142C4 800136C4 8FA30050 */ lw $v1, 0x50($sp) -/* 0142C8 800136C8 3C058012 */ lui $a1, %hi(gObjectCurrMatrix) # $a1, 0x8012 -/* 0142CC 800136CC C4700010 */ lwc1 $f16, 0x10($v1) -/* 0142D0 800136D0 C464000C */ lwc1 $f4, 0xc($v1) -/* 0142D4 800136D4 46100482 */ mul.s $f18, $f0, $f16 -/* 0142D8 800136D8 3C068012 */ lui $a2, %hi(gObjectCurrVertexList) # $a2, 0x8012 -/* 0142DC 800136DC 3C0CFA00 */ lui $t4, 0xfa00 -/* 0142E0 800136E0 240DFFFF */ li $t5, -1 -/* 0142E4 800136E4 46049180 */ add.s $f6, $f18, $f4 -/* 0142E8 800136E8 24C6AE94 */ addiu $a2, %lo(gObjectCurrVertexList) # addiu $a2, $a2, -0x516c -/* 0142EC 800136EC E7A6005C */ swc1 $f6, 0x5c($sp) -/* 0142F0 800136F0 922E0070 */ lbu $t6, 0x70($s1) -/* 0142F4 800136F4 24A5AE90 */ addiu $a1, %lo(gObjectCurrMatrix) # addiu $a1, $a1, -0x5170 -/* 0142F8 800136F8 29C10002 */ slti $at, $t6, 2 -/* 0142FC 800136FC 10200005 */ beqz $at, .L80013714 -/* 014300 80013700 02002025 */ move $a0, $s0 -/* 014304 80013704 C6280074 */ lwc1 $f8, 0x74($s1) -/* 014308 80013708 00000000 */ nop -/* 01430C 8001370C 46083282 */ mul.s $f10, $f6, $f8 -/* 014310 80013710 E7AA005C */ swc1 $f10, 0x5c($sp) -.L80013714: -/* 014314 80013714 8FAF0028 */ lw $t7, 0x28($sp) -/* 014318 80013718 C7B0005C */ lwc1 $f16, 0x5c($sp) -/* 01431C 8001371C 91F80000 */ lbu $t8, ($t7) -/* 014320 80013720 3C0FFB00 */ lui $t7, 0xfb00 -/* 014324 80013724 13000006 */ beqz $t8, .L80013740 -/* 014328 80013728 27A70054 */ addiu $a3, $sp, 0x54 -/* 01432C 8001372C 3C01800E */ lui $at, %hi(D_800E5568) # $at, 0x800e -/* 014330 80013730 C4325568 */ lwc1 $f18, %lo(D_800E5568)($at) -/* 014334 80013734 00000000 */ nop -/* 014338 80013738 46128102 */ mul.s $f4, $f16, $f18 -/* 01433C 8001373C E7A4005C */ swc1 $f4, 0x5c($sp) -.L80013740: -/* 014340 80013740 8E020000 */ lw $v0, ($s0) -/* 014344 80013744 A7A00058 */ sh $zero, 0x58($sp) -/* 014348 80013748 24590008 */ addiu $t9, $v0, 8 -/* 01434C 8001374C A7A00056 */ sh $zero, 0x56($sp) -/* 014350 80013750 A7A00054 */ sh $zero, 0x54($sp) -/* 014354 80013754 A7A0006C */ sh $zero, 0x6c($sp) -/* 014358 80013758 AE190000 */ sw $t9, ($s0) -/* 01435C 8001375C AC4D0004 */ sw $t5, 4($v0) -/* 014360 80013760 AC4C0000 */ sw $t4, ($v0) -/* 014364 80013764 8E020000 */ lw $v0, ($s0) -/* 014368 80013768 2418FF00 */ li $t8, -256 -/* 01436C 8001376C 244E0008 */ addiu $t6, $v0, 8 -/* 014370 80013770 AE0E0000 */ sw $t6, ($s0) -/* 014374 80013774 AC580004 */ sw $t8, 4($v0) -/* 014378 80013778 AC4F0000 */ sw $t7, ($v0) -/* 01437C 8001377C 8FB90048 */ lw $t9, 0x48($sp) -/* 014380 80013780 240D010A */ li $t5, 266 -/* 014384 80013784 8F2C0078 */ lw $t4, 0x78($t9) -/* 014388 80013788 AFAD0014 */ sw $t5, 0x14($sp) -/* 01438C 8001378C 0C01A145 */ jal render_sprite_billboard -/* 014390 80013790 AFAC0010 */ sw $t4, 0x10($sp) -/* 014394 80013794 922E0070 */ lbu $t6, 0x70($s1) -/* 014398 80013798 24010002 */ li $at, 2 -/* 01439C 8001379C 15C1003B */ bne $t6, $at, .L8001388C -/* 0143A0 800137A0 02002025 */ move $a0, $s0 -/* 0143A4 800137A4 8FAF0048 */ lw $t7, 0x48($sp) -/* 0143A8 800137A8 2406000E */ li $a2, 14 -/* 0143AC 800137AC 8DE5007C */ lw $a1, 0x7c($t7) -/* 0143B0 800137B0 0C01ED3A */ jal load_and_set_texture -/* 0143B4 800137B4 00003825 */ move $a3, $zero -/* 0143B8 800137B8 8FB80048 */ lw $t8, 0x48($sp) -/* 0143BC 800137BC 8FAD0078 */ lw $t5, 0x78($sp) -/* 0143C0 800137C0 8F19007C */ lw $t9, 0x7c($t8) -/* 0143C4 800137C4 3C0B8000 */ lui $t3, 0x8000 -/* 0143C8 800137C8 13200003 */ beqz $t9, .L800137D8 -/* 0143CC 800137CC 3C048012 */ lui $a0, %hi(D_8011B008) # $a0, 0x8012 -/* 0143D0 800137D0 10000002 */ b .L800137DC -/* 0143D4 800137D4 240A0001 */ li $t2, 1 -.L800137D8: -/* 0143D8 800137D8 00005025 */ move $t2, $zero -.L800137DC: -/* 0143DC 800137DC 8DA3007C */ lw $v1, 0x7c($t5) -/* 0143E0 800137E0 8C84B008 */ lw $a0, %lo(D_8011B008)($a0) -/* 0143E4 800137E4 00037B83 */ sra $t7, $v1, 0xe -/* 0143E8 800137E8 31F83FFF */ andi $t8, $t7, 0x3fff -/* 0143EC 800137EC 3C0E800E */ lui $t6, %hi(D_800DC74C) # $t6, 0x800e -/* 0143F0 800137F0 00046080 */ sll $t4, $a0, 2 -/* 0143F4 800137F4 01CC7021 */ addu $t6, $t6, $t4 -/* 0143F8 800137F8 0018C880 */ sll $t9, $t8, 2 -/* 0143FC 800137FC 8DCEC74C */ lw $t6, %lo(D_800DC74C)($t6) -/* 014400 80013800 0338C821 */ addu $t9, $t9, $t8 -/* 014404 80013804 0019C840 */ sll $t9, $t9, 1 -/* 014408 80013808 01802025 */ move $a0, $t4 -/* 01440C 8001380C 3C0C800E */ lui $t4, %hi(D_800DC754) # $t4, 0x800e -/* 014410 80013810 01D94021 */ addu $t0, $t6, $t9 -/* 014414 80013814 01846021 */ addu $t4, $t4, $a0 -/* 014418 80013818 010B3021 */ addu $a2, $t0, $t3 -/* 01441C 8001381C 306D3FFF */ andi $t5, $v1, 0x3fff -/* 014420 80013820 8D8CC754 */ lw $t4, %lo(D_800DC754)($t4) -/* 014424 80013824 8E020000 */ lw $v0, ($s0) -/* 014428 80013828 000D7900 */ sll $t7, $t5, 4 -/* 01442C 8001382C 30CE0006 */ andi $t6, $a2, 6 -/* 014430 80013830 35D90040 */ ori $t9, $t6, 0x40 -/* 014434 80013834 332D00FF */ andi $t5, $t9, 0xff -/* 014438 80013838 018F4821 */ addu $t1, $t4, $t7 -/* 01443C 8001383C 24580008 */ addiu $t8, $v0, 8 -/* 014440 80013840 AE180000 */ sw $t8, ($s0) -/* 014444 80013844 000D6400 */ sll $t4, $t5, 0x10 -/* 014448 80013848 3C010400 */ lui $at, 0x400 -/* 01444C 8001384C 01817825 */ or $t7, $t4, $at -/* 014450 80013850 35F800AA */ ori $t8, $t7, 0xaa -/* 014454 80013854 AC580000 */ sw $t8, ($v0) -/* 014458 80013858 AC460004 */ sw $a2, 4($v0) -/* 01445C 8001385C 8E020000 */ lw $v0, ($s0) -/* 014460 80013860 35590070 */ ori $t9, $t2, 0x70 -/* 014464 80013864 332D00FF */ andi $t5, $t9, 0xff -/* 014468 80013868 244E0008 */ addiu $t6, $v0, 8 -/* 01446C 8001386C AE0E0000 */ sw $t6, ($s0) -/* 014470 80013870 000D6400 */ sll $t4, $t5, 0x10 -/* 014474 80013874 3C010500 */ lui $at, 0x500 -/* 014478 80013878 01817825 */ or $t7, $t4, $at -/* 01447C 8001387C 35F80080 */ ori $t8, $t7, 0x80 -/* 014480 80013880 012B7021 */ addu $t6, $t1, $t3 -/* 014484 80013884 AC4E0004 */ sw $t6, 4($v0) -/* 014488 80013888 AC580000 */ sw $t8, ($v0) -.L8001388C: -/* 01448C 8001388C 0C01A690 */ jal apply_matrix_from_stack -/* 014490 80013890 02002025 */ move $a0, $s0 -/* 014494 80013894 8FBF0024 */ lw $ra, 0x24($sp) -/* 014498 80013898 8FB0001C */ lw $s0, 0x1c($sp) -/* 01449C 8001389C 8FB10020 */ lw $s1, 0x20($sp) -/* 0144A0 800138A0 03E00008 */ jr $ra -/* 0144A4 800138A4 27BD0078 */ addiu $sp, $sp, 0x78 - diff --git a/asm/non_matchings/objects/func_80014090.s b/asm/non_matchings/objects/func_80014090.s deleted file mode 100644 index 251c7f32..00000000 --- a/asm/non_matchings/objects/func_80014090.s +++ /dev/null @@ -1,149 +0,0 @@ -glabel func_80014090 -/* 014C90 80014090 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 014C94 80014094 AFBF002C */ sw $ra, 0x2c($sp) -/* 014C98 80014098 AFBE0028 */ sw $fp, 0x28($sp) -/* 014C9C 8001409C AFB70024 */ sw $s7, 0x24($sp) -/* 014CA0 800140A0 AFB60020 */ sw $s6, 0x20($sp) -/* 014CA4 800140A4 AFB5001C */ sw $s5, 0x1c($sp) -/* 014CA8 800140A8 AFB40018 */ sw $s4, 0x18($sp) -/* 014CAC 800140AC AFB30014 */ sw $s3, 0x14($sp) -/* 014CB0 800140B0 AFB20010 */ sw $s2, 0x10($sp) -/* 014CB4 800140B4 AFB1000C */ sw $s1, 0xc($sp) -/* 014CB8 800140B8 AFB00008 */ sw $s0, 8($sp) -/* 014CBC 800140BC 8C820040 */ lw $v0, 0x40($a0) -/* 014CC0 800140C0 240600FF */ li $a2, 255 -/* 014CC4 800140C4 804E0074 */ lb $t6, 0x74($v0) -/* 014CC8 800140C8 80590075 */ lb $t9, 0x75($v0) -/* 014CCC 800140CC 01C50019 */ multu $t6, $a1 -/* 014CD0 800140D0 90430073 */ lbu $v1, 0x73($v0) -/* 014CD4 800140D4 90550072 */ lbu $s5, 0x72($v0) -/* 014CD8 800140D8 0080F825 */ move $ra, $a0 -/* 014CDC 800140DC 00008012 */ mflo $s0 -/* 014CE0 800140E0 00107C00 */ sll $t7, $s0, 0x10 -/* 014CE4 800140E4 000F8403 */ sra $s0, $t7, 0x10 -/* 014CE8 800140E8 03250019 */ multu $t9, $a1 -/* 014CEC 800140EC 00008812 */ mflo $s1 -/* 014CF0 800140F0 00117400 */ sll $t6, $s1, 0x10 -/* 014CF4 800140F4 10660006 */ beq $v1, $a2, .L80014110 -/* 014CF8 800140F8 000E8C03 */ sra $s1, $t6, 0x10 -/* 014CFC 800140FC 80580055 */ lb $t8, 0x55($v0) -/* 014D00 80014100 00000000 */ nop -/* 014D04 80014104 0078082A */ slt $at, $v1, $t8 -/* 014D08 80014108 1020005F */ beqz $at, .L80014288 -/* 014D0C 8001410C 00000000 */ nop -.L80014110: -/* 014D10 80014110 14660004 */ bne $v1, $a2, .L80014124 -/* 014D14 80014114 247E0001 */ addiu $fp, $v1, 1 -/* 014D18 80014118 805E0055 */ lb $fp, 0x55($v0) -/* 014D1C 8001411C 10000001 */ b .L80014124 -/* 014D20 80014120 00001825 */ move $v1, $zero -.L80014124: -/* 014D24 80014124 007E082A */ slt $at, $v1, $fp -/* 014D28 80014128 10200057 */ beqz $at, .L80014288 -/* 014D2C 8001412C 0060B825 */ move $s7, $v1 -/* 014D30 80014130 0003B080 */ sll $s6, $v1, 2 -.L80014134: -/* 014D34 80014134 8FF90068 */ lw $t9, 0x68($ra) -/* 014D38 80014138 26F70001 */ addiu $s7, $s7, 1 -/* 014D3C 8001413C 03367021 */ addu $t6, $t9, $s6 -/* 014D40 80014140 8DC20000 */ lw $v0, ($t6) -/* 014D44 80014144 0015C8C0 */ sll $t9, $s5, 3 -/* 014D48 80014148 8C4C0000 */ lw $t4, ($v0) -/* 014D4C 8001414C 00000000 */ nop -/* 014D50 80014150 858F0022 */ lh $t7, 0x22($t4) -/* 014D54 80014154 00000000 */ nop -/* 014D58 80014158 02AF082A */ slt $at, $s5, $t7 -/* 014D5C 8001415C 10200048 */ beqz $at, .L80014280 -/* 014D60 80014160 00000000 */ nop -/* 014D64 80014164 8D980000 */ lw $t8, ($t4) -/* 014D68 80014168 85830028 */ lh $v1, 0x28($t4) -/* 014D6C 8001416C 03197021 */ addu $t6, $t8, $t9 -/* 014D70 80014170 8DC20000 */ lw $v0, ($t6) -/* 014D74 80014174 00009025 */ move $s2, $zero -/* 014D78 80014178 904F0000 */ lbu $t7, ($v0) -/* 014D7C 8001417C 904E0001 */ lbu $t6, 1($v0) -/* 014D80 80014180 000FC540 */ sll $t8, $t7, 0x15 -/* 014D84 80014184 000E7D40 */ sll $t7, $t6, 0x15 -/* 014D88 80014188 00189C03 */ sra $s3, $t8, 0x10 -/* 014D8C 8001418C 1860003C */ blez $v1, .L80014280 -/* 014D90 80014190 000FA403 */ sra $s4, $t7, 0x10 -/* 014D94 80014194 8D890038 */ lw $t1, 0x38($t4) -/* 014D98 80014198 00006825 */ move $t5, $zero -.L8001419C: -/* 014D9C 8001419C 91390000 */ lbu $t9, ($t1) -/* 014DA0 800141A0 26520001 */ addiu $s2, $s2, 1 -/* 014DA4 800141A4 16B90033 */ bne $s5, $t9, .L80014274 -/* 014DA8 800141A8 0243082A */ slt $at, $s2, $v1 -/* 014DAC 800141AC 85250004 */ lh $a1, 4($t1) -/* 014DB0 800141B0 852E0010 */ lh $t6, 0x10($t1) -/* 014DB4 800141B4 266AFFFF */ addiu $t2, $s3, -1 -/* 014DB8 800141B8 00AE082A */ slt $at, $a1, $t6 -/* 014DBC 800141BC 1020002C */ beqz $at, .L80014270 -/* 014DC0 800141C0 000A7C00 */ sll $t7, $t2, 0x10 -/* 014DC4 800141C4 268BFFFF */ addiu $t3, $s4, -1 -/* 014DC8 800141C8 000BCC00 */ sll $t9, $t3, 0x10 -/* 014DCC 800141CC 00195C03 */ sra $t3, $t9, 0x10 -/* 014DD0 800141D0 000F5403 */ sra $t2, $t7, 0x10 -.L800141D4: -/* 014DD4 800141D4 8D8F0008 */ lw $t7, 8($t4) -/* 014DD8 800141D8 0005C100 */ sll $t8, $a1, 4 -/* 014DDC 800141DC 01F81021 */ addu $v0, $t7, $t8 -/* 014DE0 800141E0 84430004 */ lh $v1, 4($v0) -/* 014DE4 800141E4 84440006 */ lh $a0, 6($v0) -/* 014DE8 800141E8 84590008 */ lh $t9, 8($v0) -/* 014DEC 800141EC 844F000C */ lh $t7, 0xc($v0) -/* 014DF0 800141F0 8458000A */ lh $t8, 0xa($v0) -/* 014DF4 800141F4 844E000E */ lh $t6, 0xe($v0) -/* 014DF8 800141F8 03234823 */ subu $t1, $t9, $v1 -/* 014DFC 800141FC 01E33823 */ subu $a3, $t7, $v1 -/* 014E00 80014200 0070C821 */ addu $t9, $v1, $s0 -/* 014E04 80014204 00917821 */ addu $t7, $a0, $s1 -/* 014E08 80014208 03043023 */ subu $a2, $t8, $a0 -/* 014E0C 8001420C 01C44023 */ subu $t0, $t6, $a0 -/* 014E10 80014210 032A7024 */ and $t6, $t9, $t2 -/* 014E14 80014214 01EBC024 */ and $t8, $t7, $t3 -/* 014E18 80014218 A44E0004 */ sh $t6, 4($v0) -/* 014E1C 8001421C A4580006 */ sh $t8, 6($v0) -/* 014E20 80014220 84430004 */ lh $v1, 4($v0) -/* 014E24 80014224 84440006 */ lh $a0, 6($v0) -/* 014E28 80014228 0069C821 */ addu $t9, $v1, $t1 -/* 014E2C 8001422C 00677821 */ addu $t7, $v1, $a3 -/* 014E30 80014230 00867021 */ addu $t6, $a0, $a2 -/* 014E34 80014234 0088C021 */ addu $t8, $a0, $t0 -/* 014E38 80014238 A4590008 */ sh $t9, 8($v0) -/* 014E3C 8001423C A44E000A */ sh $t6, 0xa($v0) -/* 014E40 80014240 A44F000C */ sh $t7, 0xc($v0) -/* 014E44 80014244 A458000E */ sh $t8, 0xe($v0) -/* 014E48 80014248 8D990038 */ lw $t9, 0x38($t4) -/* 014E4C 8001424C 24A50001 */ addiu $a1, $a1, 1 -/* 014E50 80014250 032D4821 */ addu $t1, $t9, $t5 -/* 014E54 80014254 852E0010 */ lh $t6, 0x10($t1) -/* 014E58 80014258 00000000 */ nop -/* 014E5C 8001425C 00AE082A */ slt $at, $a1, $t6 -/* 014E60 80014260 1420FFDC */ bnez $at, .L800141D4 -/* 014E64 80014264 00000000 */ nop -/* 014E68 80014268 85830028 */ lh $v1, 0x28($t4) -/* 014E6C 8001426C 00000000 */ nop -.L80014270: -/* 014E70 80014270 0243082A */ slt $at, $s2, $v1 -.L80014274: -/* 014E74 80014274 25AD000C */ addiu $t5, $t5, 0xc -/* 014E78 80014278 1420FFC8 */ bnez $at, .L8001419C -/* 014E7C 8001427C 2529000C */ addiu $t1, $t1, 0xc -.L80014280: -/* 014E80 80014280 16FEFFAC */ bne $s7, $fp, .L80014134 -/* 014E84 80014284 26D60004 */ addiu $s6, $s6, 4 -.L80014288: -/* 014E88 80014288 8FBF002C */ lw $ra, 0x2c($sp) -/* 014E8C 8001428C 8FB00008 */ lw $s0, 8($sp) -/* 014E90 80014290 8FB1000C */ lw $s1, 0xc($sp) -/* 014E94 80014294 8FB20010 */ lw $s2, 0x10($sp) -/* 014E98 80014298 8FB30014 */ lw $s3, 0x14($sp) -/* 014E9C 8001429C 8FB40018 */ lw $s4, 0x18($sp) -/* 014EA0 800142A0 8FB5001C */ lw $s5, 0x1c($sp) -/* 014EA4 800142A4 8FB60020 */ lw $s6, 0x20($sp) -/* 014EA8 800142A8 8FB70024 */ lw $s7, 0x24($sp) -/* 014EAC 800142AC 8FBE0028 */ lw $fp, 0x28($sp) -/* 014EB0 800142B0 03E00008 */ jr $ra -/* 014EB4 800142B4 27BD0030 */ addiu $sp, $sp, 0x30 - diff --git a/asm/non_matchings/objects/func_80014814.s b/asm/non_matchings/objects/func_80014814.s deleted file mode 100644 index 2b3c9507..00000000 --- a/asm/non_matchings/objects/func_80014814.s +++ /dev/null @@ -1,126 +0,0 @@ -glabel func_80014814 -/* 015414 80014814 3C068012 */ lui $a2, %hi(gObjectCount) # $a2, 0x8012 -/* 015418 80014818 24C6AE5C */ addiu $a2, %lo(gObjectCount) # addiu $a2, $a2, -0x51a4 -/* 01541C 8001481C 8CCE0000 */ lw $t6, ($a2) -/* 015420 80014820 3C0A8012 */ lui $t2, %hi(D_8011AE7C) # $t2, 0x8012 -/* 015424 80014824 254AAE7C */ addiu $t2, %lo(D_8011AE7C) # addiu $t2, $t2, -0x5184 -/* 015428 80014828 AC8E0000 */ sw $t6, ($a0) -/* 01542C 8001482C 85430000 */ lh $v1, ($t2) -/* 015430 80014830 00000000 */ nop -/* 015434 80014834 10600003 */ beqz $v1, .L80014844 -/* 015438 80014838 00000000 */ nop -/* 01543C 8001483C 03E00008 */ jr $ra -/* 015440 80014840 00601025 */ move $v0, $v1 - -.L80014844: -/* 015444 80014844 8CC20000 */ lw $v0, ($a2) -/* 015448 80014848 3C038012 */ lui $v1, %hi(gObjectListStart) # $v1, 0x8012 -/* 01544C 8001484C 8C63AE60 */ lw $v1, %lo(gObjectListStart)($v1) -/* 015450 80014850 2442FFFF */ addiu $v0, $v0, -1 -/* 015454 80014854 0043082A */ slt $at, $v0, $v1 -/* 015458 80014858 00402825 */ move $a1, $v0 -/* 01545C 8001485C 14200054 */ bnez $at, .L800149B0 -/* 015460 80014860 00602025 */ move $a0, $v1 -/* 015464 80014864 3C0B8012 */ lui $t3, %hi(gObjPtrList) # $t3, 0x8012 -/* 015468 80014868 256BAE58 */ addiu $t3, %lo(gObjPtrList) # addiu $t3, $t3, -0x51a8 -/* 01546C 8001486C 00A3082A */ slt $at, $a1, $v1 -.L80014870: -/* 015470 80014870 1420001E */ bnez $at, .L800148EC -/* 015474 80014874 00003025 */ move $a2, $zero -/* 015478 80014878 8D6F0000 */ lw $t7, ($t3) -/* 01547C 8001487C 0003C080 */ sll $t8, $v1, 2 -/* 015480 80014880 01F83821 */ addu $a3, $t7, $t8 -.L80014884: -/* 015484 80014884 8CE80000 */ lw $t0, ($a3) -/* 015488 80014888 00000000 */ nop -/* 01548C 8001488C 85190006 */ lh $t9, 6($t0) -/* 015490 80014890 00000000 */ nop -/* 015494 80014894 332C8000 */ andi $t4, $t9, 0x8000 -/* 015498 80014898 1580000D */ bnez $t4, .L800148D0 -/* 01549C 8001489C 00000000 */ nop -/* 0154A0 800148A0 8D0D0040 */ lw $t5, 0x40($t0) -/* 0154A4 800148A4 00000000 */ nop -/* 0154A8 800148A8 95AE0030 */ lhu $t6, 0x30($t5) -/* 0154AC 800148AC 00000000 */ nop -/* 0154B0 800148B0 31CF0001 */ andi $t7, $t6, 1 -/* 0154B4 800148B4 11E00004 */ beqz $t7, .L800148C8 -/* 0154B8 800148B8 00000000 */ nop -/* 0154BC 800148BC 24630001 */ addiu $v1, $v1, 1 -/* 0154C0 800148C0 10000005 */ b .L800148D8 -/* 0154C4 800148C4 24E70004 */ addiu $a3, $a3, 4 -.L800148C8: -/* 0154C8 800148C8 10000003 */ b .L800148D8 -/* 0154CC 800148CC 2406FFFF */ li $a2, -1 -.L800148D0: -/* 0154D0 800148D0 24630001 */ addiu $v1, $v1, 1 -/* 0154D4 800148D4 24E70004 */ addiu $a3, $a3, 4 -.L800148D8: -/* 0154D8 800148D8 00A3082A */ slt $at, $a1, $v1 -/* 0154DC 800148DC 14200004 */ bnez $at, .L800148F0 -/* 0154E0 800148E0 0044082A */ slt $at, $v0, $a0 -/* 0154E4 800148E4 10C0FFE7 */ beqz $a2, .L80014884 -/* 0154E8 800148E8 00000000 */ nop -.L800148EC: -/* 0154EC 800148EC 0044082A */ slt $at, $v0, $a0 -.L800148F0: -/* 0154F0 800148F0 1420001D */ bnez $at, .L80014968 -/* 0154F4 800148F4 00003025 */ move $a2, $zero -/* 0154F8 800148F8 8D780000 */ lw $t8, ($t3) -/* 0154FC 800148FC 0002C880 */ sll $t9, $v0, 2 -/* 015500 80014900 03193821 */ addu $a3, $t8, $t9 -.L80014904: -/* 015504 80014904 8CE80000 */ lw $t0, ($a3) -/* 015508 80014908 00000000 */ nop -/* 01550C 8001490C 850C0006 */ lh $t4, 6($t0) -/* 015510 80014910 00000000 */ nop -/* 015514 80014914 318D8000 */ andi $t5, $t4, 0x8000 -/* 015518 80014918 11A00003 */ beqz $t5, .L80014928 -/* 01551C 8001491C 00000000 */ nop -/* 015520 80014920 1000000C */ b .L80014954 -/* 015524 80014924 2406FFFF */ li $a2, -1 -.L80014928: -/* 015528 80014928 8D0E0040 */ lw $t6, 0x40($t0) -/* 01552C 8001492C 00000000 */ nop -/* 015530 80014930 95CF0030 */ lhu $t7, 0x30($t6) -/* 015534 80014934 00000000 */ nop -/* 015538 80014938 31F80001 */ andi $t8, $t7, 1 -/* 01553C 8001493C 17000004 */ bnez $t8, .L80014950 -/* 015540 80014940 00000000 */ nop -/* 015544 80014944 2442FFFF */ addiu $v0, $v0, -1 -/* 015548 80014948 10000002 */ b .L80014954 -/* 01554C 8001494C 24E7FFFC */ addiu $a3, $a3, -4 -.L80014950: -/* 015550 80014950 2406FFFF */ li $a2, -1 -.L80014954: -/* 015554 80014954 0044082A */ slt $at, $v0, $a0 -/* 015558 80014958 14200004 */ bnez $at, .L8001496C -/* 01555C 8001495C 0062082A */ slt $at, $v1, $v0 -/* 015560 80014960 10C0FFE8 */ beqz $a2, .L80014904 -/* 015564 80014964 00000000 */ nop -.L80014968: -/* 015568 80014968 0062082A */ slt $at, $v1, $v0 -.L8001496C: -/* 01556C 8001496C 1020000D */ beqz $at, .L800149A4 -/* 015570 80014970 0003C880 */ sll $t9, $v1, 2 -/* 015574 80014974 8D660000 */ lw $a2, ($t3) -/* 015578 80014978 00024080 */ sll $t0, $v0, 2 -/* 01557C 8001497C 00C86021 */ addu $t4, $a2, $t0 -/* 015580 80014980 8D8D0000 */ lw $t5, ($t4) -/* 015584 80014984 00D93821 */ addu $a3, $a2, $t9 -/* 015588 80014988 8CE90000 */ lw $t1, ($a3) -/* 01558C 8001498C ACED0000 */ sw $t5, ($a3) -/* 015590 80014990 8D6E0000 */ lw $t6, ($t3) -/* 015594 80014994 24630001 */ addiu $v1, $v1, 1 -/* 015598 80014998 01C87821 */ addu $t7, $t6, $t0 -/* 01559C 8001499C 2442FFFF */ addiu $v0, $v0, -1 -/* 0155A0 800149A0 ADE90000 */ sw $t1, ($t7) -.L800149A4: -/* 0155A4 800149A4 0043082A */ slt $at, $v0, $v1 -/* 0155A8 800149A8 1020FFB1 */ beqz $at, .L80014870 -/* 0155AC 800149AC 00A3082A */ slt $at, $a1, $v1 -.L800149B0: -/* 0155B0 800149B0 A5430000 */ sh $v1, ($t2) -/* 0155B4 800149B4 00601025 */ move $v0, $v1 -/* 0155B8 800149B8 03E00008 */ jr $ra -/* 0155BC 800149BC 00000000 */ nop - diff --git a/asm/non_matchings/objects/func_800159C8.s b/asm/non_matchings/objects/func_800159C8.s deleted file mode 100644 index 7e2cb4b6..00000000 --- a/asm/non_matchings/objects/func_800159C8.s +++ /dev/null @@ -1,774 +0,0 @@ -.late_rodata -glabel D_800E55B8 -.double 0.3 -glabel D_800E55C0 -.double 0.3 -glabel D_800E55C8 -.double 0.8 -glabel D_800E55D0 -.double 0.1 -glabel D_800E55D8 -.double 0.1 -glabel D_800E55E0 -.double 0.3 -glabel D_800E55E8 -.double 0.3 -glabel D_800E55F0 -.double 0.1 - -.text -glabel func_800159C8 -/* 0165C8 800159C8 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 0165CC 800159CC AFBF0014 */ sw $ra, 0x14($sp) -/* 0165D0 800159D0 C484000C */ lwc1 $f4, 0xc($a0) -/* 0165D4 800159D4 C4A6000C */ lwc1 $f6, 0xc($a1) -/* 0165D8 800159D8 C48A0010 */ lwc1 $f10, 0x10($a0) -/* 0165DC 800159DC C4A80010 */ lwc1 $f8, 0x10($a1) -/* 0165E0 800159E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0165E4 800159E4 46043081 */ sub.s $f2, $f6, $f4 -/* 0165E8 800159E8 C4840014 */ lwc1 $f4, 0x14($a0) -/* 0165EC 800159EC 460A4001 */ sub.s $f0, $f8, $f10 -/* 0165F0 800159F0 44814000 */ mtc1 $at, $f8 -/* 0165F4 800159F4 C4A60014 */ lwc1 $f6, 0x14($a1) -/* 0165F8 800159F8 3C018012 */ lui $at, %hi(gObjectUpdateRateF) # $at, 0x8012 -/* 0165FC 800159FC C42AADA8 */ lwc1 $f10, %lo(gObjectUpdateRateF)($at) -/* 016600 80015A00 46043381 */ sub.s $f14, $f6, $f4 -/* 016604 80015A04 8CA6004C */ lw $a2, 0x4c($a1) -/* 016608 80015A08 460A4183 */ div.s $f6, $f8, $f10 -/* 01660C 80015A0C 8C88004C */ lw $t0, 0x4c($a0) -/* 016610 80015A10 24090001 */ li $t1, 1 -/* 016614 80015A14 00A03825 */ move $a3, $a1 -/* 016618 80015A18 E7A60080 */ swc1 $f6, 0x80($sp) -/* 01661C 80015A1C 90C20011 */ lbu $v0, 0x11($a2) -/* 016620 80015A20 00000000 */ nop -/* 016624 80015A24 1522001A */ bne $t1, $v0, .L80015A90 -/* 016628 80015A28 24010004 */ li $at, 4 -/* 01662C 80015A2C 80D90016 */ lb $t9, 0x16($a2) -/* 016630 80015A30 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 016634 80015A34 44992000 */ mtc1 $t9, $f4 -/* 016638 80015A38 44816000 */ mtc1 $at, $f12 -/* 01663C 80015A3C 46802220 */ cvt.s.w $f8, $f4 -/* 016640 80015A40 460C4282 */ mul.s $f10, $f8, $f12 -/* 016644 80015A44 46000007 */ neg.s $f0, $f0 -/* 016648 80015A48 460A003C */ c.lt.s $f0, $f10 -/* 01664C 80015A4C 00000000 */ nop -/* 016650 80015A50 450102A8 */ bc1t .L800164F4 -/* 016654 80015A54 8FBF0014 */ lw $ra, 0x14($sp) -/* 016658 80015A58 80CA0017 */ lb $t2, 0x17($a2) -/* 01665C 80015A5C 00000000 */ nop -/* 016660 80015A60 448A3000 */ mtc1 $t2, $f6 -/* 016664 80015A64 00000000 */ nop -/* 016668 80015A68 46803120 */ cvt.s.w $f4, $f6 -/* 01666C 80015A6C 460C2202 */ mul.s $f8, $f4, $f12 -/* 016670 80015A70 4600403C */ c.lt.s $f8, $f0 -/* 016674 80015A74 00000000 */ nop -/* 016678 80015A78 4501029E */ bc1t .L800164F4 -/* 01667C 80015A7C 8FBF0014 */ lw $ra, 0x14($sp) -/* 016680 80015A80 44800000 */ mtc1 $zero, $f0 -/* 016684 80015A84 00000000 */ nop -/* 016688 80015A88 E7A00064 */ swc1 $f0, 0x64($sp) -/* 01668C 80015A8C 24010004 */ li $at, 4 -.L80015A90: -/* 016690 80015A90 1441000C */ bne $v0, $at, .L80015AC4 -/* 016694 80015A94 00000000 */ nop -/* 016698 80015A98 44803000 */ mtc1 $zero, $f6 -/* 01669C 80015A9C 3C01800E */ lui $at, %hi(D_800E55B8 + 4) # $at, 0x800e -/* 0166A0 80015AA0 4606003C */ c.lt.s $f0, $f6 -/* 0166A4 80015AA4 00000000 */ nop -/* 0166A8 80015AA8 45000006 */ bc1f .L80015AC4 -/* 0166AC 80015AAC 00000000 */ nop -/* 0166B0 80015AB0 C42955B8 */ lwc1 $f9, %lo(D_800E55B8)($at) -/* 0166B4 80015AB4 C42855BC */ lwc1 $f8, %lo(D_800E55B8 + 4)($at) -/* 0166B8 80015AB8 46000121 */ cvt.d.s $f4, $f0 -/* 0166BC 80015ABC 46282282 */ mul.d $f10, $f4, $f8 -/* 0166C0 80015AC0 46205020 */ cvt.s.d $f0, $f10 -.L80015AC4: -/* 0166C4 80015AC4 46021182 */ mul.s $f6, $f2, $f2 -/* 0166C8 80015AC8 AFA400A0 */ sw $a0, 0xa0($sp) -/* 0166CC 80015ACC AFA60054 */ sw $a2, 0x54($sp) -/* 0166D0 80015AD0 AFA700A4 */ sw $a3, 0xa4($sp) -/* 0166D4 80015AD4 46000102 */ mul.s $f4, $f0, $f0 -/* 0166D8 80015AD8 AFA80058 */ sw $t0, 0x58($sp) -/* 0166DC 80015ADC E7A00064 */ swc1 $f0, 0x64($sp) -/* 0166E0 80015AE0 E7A20068 */ swc1 $f2, 0x68($sp) -/* 0166E4 80015AE4 460E7282 */ mul.s $f10, $f14, $f14 -/* 0166E8 80015AE8 46043200 */ add.s $f8, $f6, $f4 -/* 0166EC 80015AEC E7AE0060 */ swc1 $f14, 0x60($sp) -/* 0166F0 80015AF0 0C0326B4 */ jal sqrtf -/* 0166F4 80015AF4 460A4300 */ add.s $f12, $f8, $f10 -/* 0166F8 80015AF8 46000406 */ mov.s $f16, $f0 -/* 0166FC 80015AFC 444CF800 */ cfc1 $t4, $31 -/* 016700 80015B00 8FA80058 */ lw $t0, 0x58($sp) -/* 016704 80015B04 35810003 */ ori $at, $t4, 3 -/* 016708 80015B08 38210002 */ xori $at, $at, 2 -/* 01670C 80015B0C 44C1F800 */ ctc1 $at, $31 -/* 016710 80015B10 850E0014 */ lh $t6, 0x14($t0) -/* 016714 80015B14 460001A4 */ cvt.w.s $f6, $f0 -/* 016718 80015B18 8FA400A0 */ lw $a0, 0xa0($sp) -/* 01671C 80015B1C 440B3000 */ mfc1 $t3, $f6 -/* 016720 80015B20 44CCF800 */ ctc1 $t4, $31 -/* 016724 80015B24 448B2000 */ mtc1 $t3, $f4 -/* 016728 80015B28 8FA60054 */ lw $a2, 0x54($sp) -/* 01672C 80015B2C 46802220 */ cvt.s.w $f8, $f4 -/* 016730 80015B30 8FA700A4 */ lw $a3, 0xa4($sp) -/* 016734 80015B34 31CF0020 */ andi $t7, $t6, 0x20 -/* 016738 80015B38 444DF800 */ cfc1 $t5, $31 -/* 01673C 80015B3C 24090001 */ li $t1, 1 -/* 016740 80015B40 35A10003 */ ori $at, $t5, 3 -/* 016744 80015B44 38210002 */ xori $at, $at, 2 -/* 016748 80015B48 44C1F800 */ ctc1 $at, $31 -/* 01674C 80015B4C 00000000 */ nop -/* 016750 80015B50 460042A4 */ cvt.w.s $f10, $f8 -/* 016754 80015B54 44035000 */ mfc1 $v1, $f10 -/* 016758 80015B58 44CDF800 */ ctc1 $t5, $31 -/* 01675C 80015B5C 11E00002 */ beqz $t7, .L80015B68 -/* 016760 80015B60 00601025 */ move $v0, $v1 -/* 016764 80015B64 000310C3 */ sra $v0, $v1, 3 -.L80015B68: -/* 016768 80015B68 28410100 */ slti $at, $v0, 0x100 -/* 01676C 80015B6C 14200002 */ bnez $at, .L80015B78 -/* 016770 80015B70 00000000 */ nop -/* 016774 80015B74 240200FF */ li $v0, 255 -.L80015B78: -/* 016778 80015B78 91180013 */ lbu $t8, 0x13($t0) -/* 01677C 80015B7C 00000000 */ nop -/* 016780 80015B80 0302082A */ slt $at, $t8, $v0 -/* 016784 80015B84 14200003 */ bnez $at, .L80015B94 -/* 016788 80015B88 00000000 */ nop -/* 01678C 80015B8C AD070000 */ sw $a3, ($t0) -/* 016790 80015B90 A1020013 */ sb $v0, 0x13($t0) -.L80015B94: -/* 016794 80015B94 84C50014 */ lh $a1, 0x14($a2) -/* 016798 80015B98 00601025 */ move $v0, $v1 -/* 01679C 80015B9C 30B90020 */ andi $t9, $a1, 0x20 -/* 0167A0 80015BA0 13200003 */ beqz $t9, .L80015BB0 -/* 0167A4 80015BA4 28410100 */ slti $at, $v0, 0x100 -/* 0167A8 80015BA8 000310C3 */ sra $v0, $v1, 3 -/* 0167AC 80015BAC 28410100 */ slti $at, $v0, 0x100 -.L80015BB0: -/* 0167B0 80015BB0 14200002 */ bnez $at, .L80015BBC -/* 0167B4 80015BB4 00000000 */ nop -/* 0167B8 80015BB8 240200FF */ li $v0, 255 -.L80015BBC: -/* 0167BC 80015BBC 90CA0013 */ lbu $t2, 0x13($a2) -/* 0167C0 80015BC0 00000000 */ nop -/* 0167C4 80015BC4 0142082A */ slt $at, $t2, $v0 -/* 0167C8 80015BC8 14200005 */ bnez $at, .L80015BE0 -/* 0167CC 80015BCC 30AC0001 */ andi $t4, $a1, 1 -/* 0167D0 80015BD0 84C50014 */ lh $a1, 0x14($a2) -/* 0167D4 80015BD4 ACC40000 */ sw $a0, ($a2) -/* 0167D8 80015BD8 A0C20013 */ sb $v0, 0x13($a2) -/* 0167DC 80015BDC 30AC0001 */ andi $t4, $a1, 1 -.L80015BE0: -/* 0167E0 80015BE0 11800244 */ beqz $t4, .L800164F4 -/* 0167E4 80015BE4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0167E8 80015BE8 80CB0010 */ lb $t3, 0x10($a2) -/* 0167EC 80015BEC 810D0010 */ lb $t5, 0x10($t0) -/* 0167F0 80015BF0 00000000 */ nop -/* 0167F4 80015BF4 016D7021 */ addu $t6, $t3, $t5 -/* 0167F8 80015BF8 448E3000 */ mtc1 $t6, $f6 -/* 0167FC 80015BFC 00000000 */ nop -/* 016800 80015C00 46803120 */ cvt.s.w $f4, $f6 -/* 016804 80015C04 E7A40098 */ swc1 $f4, 0x98($sp) -/* 016808 80015C08 C5080004 */ lwc1 $f8, 4($t0) -/* 01680C 80015C0C 00000000 */ nop -/* 016810 80015C10 E7A8003C */ swc1 $f8, 0x3c($sp) -/* 016814 80015C14 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 016818 80015C18 C48A000C */ lwc1 $f10, 0xc($a0) -/* 01681C 80015C1C 00000000 */ nop -/* 016820 80015C20 46065101 */ sub.s $f4, $f10, $f6 -/* 016824 80015C24 E7A4007C */ swc1 $f4, 0x7c($sp) -/* 016828 80015C28 C5080008 */ lwc1 $f8, 8($t0) -/* 01682C 80015C2C 00000000 */ nop -/* 016830 80015C30 E7A80038 */ swc1 $f8, 0x38($sp) -/* 016834 80015C34 C48A0010 */ lwc1 $f10, 0x10($a0) -/* 016838 80015C38 C504000C */ lwc1 $f4, 0xc($t0) -/* 01683C 80015C3C C7A60038 */ lwc1 $f6, 0x38($sp) -/* 016840 80015C40 E7A40034 */ swc1 $f4, 0x34($sp) -/* 016844 80015C44 46065301 */ sub.s $f12, $f10, $f6 -/* 016848 80015C48 C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 01684C 80015C4C C4880014 */ lwc1 $f8, 0x14($a0) -/* 016850 80015C50 C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 016854 80015C54 460A4181 */ sub.s $f6, $f8, $f10 -/* 016858 80015C58 E7A60074 */ swc1 $f6, 0x74($sp) -/* 01685C 80015C5C 90CF0011 */ lbu $t7, 0x11($a2) -/* 016860 80015C60 46042202 */ mul.s $f8, $f4, $f4 -/* 016864 80015C64 152F0003 */ bne $t1, $t7, .L80015C74 -/* 016868 80015C68 00000000 */ nop -/* 01686C 80015C6C 44806000 */ mtc1 $zero, $f12 -/* 016870 80015C70 00000000 */ nop -.L80015C74: -/* 016874 80015C74 460C6282 */ mul.s $f10, $f12, $f12 -/* 016878 80015C78 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 01687C 80015C7C 460A4180 */ add.s $f6, $f8, $f10 -/* 016880 80015C80 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 016884 80015C84 44813800 */ mtc1 $at, $f7 -/* 016888 80015C88 46084282 */ mul.s $f10, $f8, $f8 -/* 01688C 80015C8C 460A3380 */ add.s $f14, $f6, $f10 -/* 016890 80015C90 44803000 */ mtc1 $zero, $f6 -/* 016894 80015C94 460072A1 */ cvt.d.s $f10, $f14 -/* 016898 80015C98 462A303C */ c.lt.d $f6, $f10 -/* 01689C 80015C9C 00000000 */ nop -/* 0168A0 80015CA0 4500004E */ bc1f .L80015DDC -/* 0168A4 80015CA4 00000000 */ nop -/* 0168A8 80015CA8 C4E60010 */ lwc1 $f6, 0x10($a3) -/* 0168AC 80015CAC C4F2000C */ lwc1 $f18, 0xc($a3) -/* 0168B0 80015CB0 E7A60044 */ swc1 $f6, 0x44($sp) -/* 0168B4 80015CB4 C4EA0014 */ lwc1 $f10, 0x14($a3) -/* 0168B8 80015CB8 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 0168BC 80015CBC E7AA0040 */ swc1 $f10, 0x40($sp) -/* 0168C0 80015CC0 46069281 */ sub.s $f10, $f18, $f6 -/* 0168C4 80015CC4 E7A80018 */ swc1 $f8, 0x18($sp) -/* 0168C8 80015CC8 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 0168CC 80015CCC 46045282 */ mul.s $f10, $f10, $f4 -/* 0168D0 80015CD0 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 0168D4 80015CD4 C7A80044 */ lwc1 $f8, 0x44($sp) -/* 0168D8 80015CD8 E7A40020 */ swc1 $f4, 0x20($sp) -/* 0168DC 80015CDC 46064101 */ sub.s $f4, $f8, $f6 -/* 0168E0 80015CE0 E7A80024 */ swc1 $f8, 0x24($sp) -/* 0168E4 80015CE4 460C2102 */ mul.s $f4, $f4, $f12 -/* 0168E8 80015CE8 C7A80034 */ lwc1 $f8, 0x34($sp) -/* 0168EC 80015CEC E7A60028 */ swc1 $f6, 0x28($sp) -/* 0168F0 80015CF0 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 0168F4 80015CF4 46045280 */ add.s $f10, $f10, $f4 -/* 0168F8 80015CF8 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0168FC 80015CFC E7AA002C */ swc1 $f10, 0x2c($sp) -/* 016900 80015D00 C7AA0018 */ lwc1 $f10, 0x18($sp) -/* 016904 80015D04 46082181 */ sub.s $f6, $f4, $f8 -/* 016908 80015D08 E7A40018 */ swc1 $f4, 0x18($sp) -/* 01690C 80015D0C 460A3182 */ mul.s $f6, $f6, $f10 -/* 016910 80015D10 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 016914 80015D14 E7B20048 */ swc1 $f18, 0x48($sp) -/* 016918 80015D18 46062100 */ add.s $f4, $f4, $f6 -/* 01691C 80015D1C 44803000 */ mtc1 $zero, $f6 -/* 016920 80015D20 460E2083 */ div.s $f2, $f4, $f14 -/* 016924 80015D24 4602303E */ c.le.s $f6, $f2 -/* 016928 80015D28 00000000 */ nop -/* 01692C 80015D2C 4500002B */ bc1f .L80015DDC -/* 016930 80015D30 00000000 */ nop -/* 016934 80015D34 44812800 */ mtc1 $at, $f5 -/* 016938 80015D38 44802000 */ mtc1 $zero, $f4 -/* 01693C 80015D3C 460011A1 */ cvt.d.s $f6, $f2 -/* 016940 80015D40 4624303E */ c.le.d $f6, $f4 -/* 016944 80015D44 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 016948 80015D48 45000024 */ bc1f .L80015DDC -/* 01694C 80015D4C E7AC0078 */ swc1 $f12, 0x78($sp) -/* 016950 80015D50 46061182 */ mul.s $f6, $f2, $f6 -/* 016954 80015D54 E7A8002C */ swc1 $f8, 0x2c($sp) -/* 016958 80015D58 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 01695C 80015D5C C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 016960 80015D60 46081202 */ mul.s $f8, $f2, $f8 -/* 016964 80015D64 46062100 */ add.s $f4, $f4, $f6 -/* 016968 80015D68 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 01696C 80015D6C E7A4008C */ swc1 $f4, 0x8c($sp) -/* 016970 80015D70 46083480 */ add.s $f18, $f6, $f8 -/* 016974 80015D74 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 016978 80015D78 460A1202 */ mul.s $f8, $f2, $f10 -/* 01697C 80015D7C AFA400A0 */ sw $a0, 0xa0($sp) -/* 016980 80015D80 AFA60054 */ sw $a2, 0x54($sp) -/* 016984 80015D84 AFA700A4 */ sw $a3, 0xa4($sp) -/* 016988 80015D88 46083280 */ add.s $f10, $f6, $f8 -/* 01698C 80015D8C C7A60048 */ lwc1 $f6, 0x48($sp) -/* 016990 80015D90 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 016994 80015D94 46062001 */ sub.s $f0, $f4, $f6 -/* 016998 80015D98 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 01699C 80015D9C 46000182 */ mul.s $f6, $f0, $f0 -/* 0169A0 80015DA0 46089381 */ sub.s $f14, $f18, $f8 -/* 0169A4 80015DA4 E7AA0084 */ swc1 $f10, 0x84($sp) -/* 0169A8 80015DA8 AFA80058 */ sw $t0, 0x58($sp) -/* 0169AC 80015DAC 460E7202 */ mul.s $f8, $f14, $f14 -/* 0169B0 80015DB0 46045401 */ sub.s $f16, $f10, $f4 -/* 0169B4 80015DB4 46108102 */ mul.s $f4, $f16, $f16 -/* 0169B8 80015DB8 46083280 */ add.s $f10, $f6, $f8 -/* 0169BC 80015DBC 0C0326B4 */ jal sqrtf -/* 0169C0 80015DC0 46045300 */ add.s $f12, $f10, $f4 -/* 0169C4 80015DC4 8FA400A0 */ lw $a0, 0xa0($sp) -/* 0169C8 80015DC8 8FA60054 */ lw $a2, 0x54($sp) -/* 0169CC 80015DCC 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0169D0 80015DD0 8FA80058 */ lw $t0, 0x58($sp) -/* 0169D4 80015DD4 24090001 */ li $t1, 1 -/* 0169D8 80015DD8 46000406 */ mov.s $f16, $f0 -.L80015DDC: -/* 0169DC 80015DDC C7A60098 */ lwc1 $f6, 0x98($sp) -/* 0169E0 80015DE0 00000000 */ nop -/* 0169E4 80015DE4 4606003C */ c.lt.s $f0, $f6 -/* 0169E8 80015DE8 00000000 */ nop -/* 0169EC 80015DEC 450001C1 */ bc1f .L800164F4 -/* 0169F0 80015DF0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0169F4 80015DF4 44804000 */ mtc1 $zero, $f8 -/* 0169F8 80015DF8 00000000 */ nop -/* 0169FC 80015DFC 4600403C */ c.lt.s $f8, $f0 -/* 016A00 80015E00 00000000 */ nop -/* 016A04 80015E04 450001BB */ bc1f .L800164F4 -/* 016A08 80015E08 8FBF0014 */ lw $ra, 0x14($sp) -/* 016A0C 80015E0C C4CA0004 */ lwc1 $f10, 4($a2) -/* 016A10 80015E10 C5040004 */ lwc1 $f4, 4($t0) -/* 016A14 80015E14 C4C60008 */ lwc1 $f6, 8($a2) -/* 016A18 80015E18 46045081 */ sub.s $f2, $f10, $f4 -/* 016A1C 80015E1C C5080008 */ lwc1 $f8, 8($t0) -/* 016A20 80015E20 C504000C */ lwc1 $f4, 0xc($t0) -/* 016A24 80015E24 C4CA000C */ lwc1 $f10, 0xc($a2) -/* 016A28 80015E28 90D80011 */ lbu $t8, 0x11($a2) -/* 016A2C 80015E2C 46083481 */ sub.s $f18, $f6, $f8 -/* 016A30 80015E30 15380003 */ bne $t1, $t8, .L80015E40 -/* 016A34 80015E34 46045381 */ sub.s $f14, $f10, $f4 -/* 016A38 80015E38 44809000 */ mtc1 $zero, $f18 -/* 016A3C 80015E3C 00000000 */ nop -.L80015E40: -/* 016A40 80015E40 46021182 */ mul.s $f6, $f2, $f2 -/* 016A44 80015E44 AFA400A0 */ sw $a0, 0xa0($sp) -/* 016A48 80015E48 AFA60054 */ sw $a2, 0x54($sp) -/* 016A4C 80015E4C AFA700A4 */ sw $a3, 0xa4($sp) -/* 016A50 80015E50 46129202 */ mul.s $f8, $f18, $f18 -/* 016A54 80015E54 AFA80058 */ sw $t0, 0x58($sp) -/* 016A58 80015E58 E7A2008C */ swc1 $f2, 0x8c($sp) -/* 016A5C 80015E5C E7AE0084 */ swc1 $f14, 0x84($sp) -/* 016A60 80015E60 460E7102 */ mul.s $f4, $f14, $f14 -/* 016A64 80015E64 46083280 */ add.s $f10, $f6, $f8 -/* 016A68 80015E68 E7B0009C */ swc1 $f16, 0x9c($sp) -/* 016A6C 80015E6C E7B20088 */ swc1 $f18, 0x88($sp) -/* 016A70 80015E70 0C0326B4 */ jal sqrtf -/* 016A74 80015E74 46045300 */ add.s $f12, $f10, $f4 -/* 016A78 80015E78 44803000 */ mtc1 $zero, $f6 -/* 016A7C 80015E7C 8FA400A0 */ lw $a0, 0xa0($sp) -/* 016A80 80015E80 4600303C */ c.lt.s $f6, $f0 -/* 016A84 80015E84 8FA60054 */ lw $a2, 0x54($sp) -/* 016A88 80015E88 8FA700A4 */ lw $a3, 0xa4($sp) -/* 016A8C 80015E8C 8FA80058 */ lw $t0, 0x58($sp) -/* 016A90 80015E90 C7A2008C */ lwc1 $f2, 0x8c($sp) -/* 016A94 80015E94 C7AE0084 */ lwc1 $f14, 0x84($sp) -/* 016A98 80015E98 C7B0009C */ lwc1 $f16, 0x9c($sp) -/* 016A9C 80015E9C C7B20088 */ lwc1 $f18, 0x88($sp) -/* 016AA0 80015EA0 45000009 */ bc1f .L80015EC8 -/* 016AA4 80015EA4 24090001 */ li $t1, 1 -/* 016AA8 80015EA8 00000000 */ nop -/* 016AAC 80015EAC 46009203 */ div.s $f8, $f18, $f0 -/* 016AB0 80015EB0 00000000 */ nop -/* 016AB4 80015EB4 46007283 */ div.s $f10, $f14, $f0 -/* 016AB8 80015EB8 E7A80064 */ swc1 $f8, 0x64($sp) -/* 016ABC 80015EBC 46001303 */ div.s $f12, $f2, $f0 -/* 016AC0 80015EC0 1000000A */ b .L80015EEC -/* 016AC4 80015EC4 E7AA0060 */ swc1 $f10, 0x60($sp) -.L80015EC8: -/* 016AC8 80015EC8 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 016ACC 80015ECC C7A80064 */ lwc1 $f8, 0x64($sp) -/* 016AD0 80015ED0 46102303 */ div.s $f12, $f4, $f16 -/* 016AD4 80015ED4 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 016AD8 80015ED8 46104283 */ div.s $f10, $f8, $f16 -/* 016ADC 80015EDC E7AC0068 */ swc1 $f12, 0x68($sp) -/* 016AE0 80015EE0 46102203 */ div.s $f8, $f4, $f16 -/* 016AE4 80015EE4 E7AA0064 */ swc1 $f10, 0x64($sp) -/* 016AE8 80015EE8 E7A80060 */ swc1 $f8, 0x60($sp) -.L80015EEC: -/* 016AEC 80015EEC 46100401 */ sub.s $f16, $f0, $f16 -/* 016AF0 80015EF0 44805000 */ mtc1 $zero, $f10 -/* 016AF4 80015EF4 3C013FE0 */ lui $at, 0x3fe0 -/* 016AF8 80015EF8 460A803C */ c.lt.s $f16, $f10 -/* 016AFC 80015EFC 00000000 */ nop -/* 016B00 80015F00 45000002 */ bc1f .L80015F0C -/* 016B04 80015F04 00000000 */ nop -/* 016B08 80015F08 46008407 */ neg.s $f16, $f16 -.L80015F0C: -/* 016B0C 80015F0C 46106302 */ mul.s $f12, $f12, $f16 -/* 016B10 80015F10 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 016B14 80015F14 C7A60060 */ lwc1 $f6, 0x60($sp) -/* 016B18 80015F18 C7A00080 */ lwc1 $f0, 0x80($sp) -/* 016B1C 80015F1C 46102202 */ mul.s $f8, $f4, $f16 -/* 016B20 80015F20 00000000 */ nop -/* 016B24 80015F24 46103282 */ mul.s $f10, $f6, $f16 -/* 016B28 80015F28 E7A80064 */ swc1 $f8, 0x64($sp) -/* 016B2C 80015F2C E7AA0060 */ swc1 $f10, 0x60($sp) -/* 016B30 80015F30 85190014 */ lh $t9, 0x14($t0) -/* 016B34 80015F34 46008402 */ mul.s $f16, $f16, $f0 -/* 016B38 80015F38 372A0008 */ ori $t2, $t9, 8 -/* 016B3C 80015F3C A50A0014 */ sh $t2, 0x14($t0) -/* 016B40 80015F40 84CC0014 */ lh $t4, 0x14($a2) -/* 016B44 80015F44 90CD0012 */ lbu $t5, 0x12($a2) -/* 016B48 80015F48 358B0008 */ ori $t3, $t4, 8 -/* 016B4C 80015F4C 15A000C6 */ bnez $t5, .L80016268 -/* 016B50 80015F50 A4CB0014 */ sh $t3, 0x14($a2) -/* 016B54 80015F54 C484000C */ lwc1 $f4, 0xc($a0) -/* 016B58 80015F58 C4860010 */ lwc1 $f6, 0x10($a0) -/* 016B5C 80015F5C 460C2201 */ sub.s $f8, $f4, $f12 -/* 016B60 80015F60 E488000C */ swc1 $f8, 0xc($a0) -/* 016B64 80015F64 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 016B68 80015F68 C4880014 */ lwc1 $f8, 0x14($a0) -/* 016B6C 80015F6C 460A3101 */ sub.s $f4, $f6, $f10 -/* 016B70 80015F70 E4840010 */ swc1 $f4, 0x10($a0) -/* 016B74 80015F74 C7A60060 */ lwc1 $f6, 0x60($sp) -/* 016B78 80015F78 46006302 */ mul.s $f12, $f12, $f0 -/* 016B7C 80015F7C 46064281 */ sub.s $f10, $f8, $f6 -/* 016B80 80015F80 E48A0014 */ swc1 $f10, 0x14($a0) -/* 016B84 80015F84 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 016B88 80015F88 00000000 */ nop -/* 016B8C 80015F8C 46002202 */ mul.s $f8, $f4, $f0 -/* 016B90 80015F90 E7A80060 */ swc1 $f8, 0x60($sp) -/* 016B94 80015F94 848E0048 */ lh $t6, 0x48($a0) -/* 016B98 80015F98 00000000 */ nop -/* 016B9C 80015F9C 152E0155 */ bne $t1, $t6, .L800164F4 -/* 016BA0 80015FA0 8FBF0014 */ lw $ra, 0x14($sp) -/* 016BA4 80015FA4 8C850064 */ lw $a1, 0x64($a0) -/* 016BA8 80015FA8 00001025 */ move $v0, $zero -/* 016BAC 80015FAC 80AF01D6 */ lb $t7, 0x1d6($a1) -# Used to access D_800E55E0 and D_800E55E0 + 4 -/* 016BB0 80015FB0 3C01800E */ lui $at, %hi(D_800E55E0) # $at, 0x800e -/* 016BB4 80015FB4 152F0059 */ bne $t1, $t7, .L8001611C -/* 016BB8 80015FB8 00000000 */ nop -/* 016BBC 80015FBC 3C01800E */ lui $at, %hi(D_800E55C0 + 4) # $at, 0x800e -/* 016BC0 80015FC0 C42755C0 */ lwc1 $f7, %lo(D_800E55C0)($at) -/* 016BC4 80015FC4 C42655C4 */ lwc1 $f6, %lo(D_800E55C0 + 4)($at) -/* 016BC8 80015FC8 46008021 */ cvt.d.s $f0, $f16 -/* 016BCC 80015FCC 4620303C */ c.lt.d $f6, $f0 -/* 016BD0 80015FD0 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 016BD4 80015FD4 4500009A */ bc1f .L80016240 -/* 016BD8 80015FD8 00000000 */ nop -/* 016BDC 80015FDC 44815800 */ mtc1 $at, $f11 -/* 016BE0 80015FE0 44805000 */ mtc1 $zero, $f10 -/* 016BE4 80015FE4 3C01800E */ lui $at, %hi(D_800E55C8 + 4) # $at, 0x800e -/* 016BE8 80015FE8 4620503C */ c.lt.d $f10, $f0 -/* 016BEC 80015FEC 00000000 */ nop -/* 016BF0 80015FF0 45000002 */ bc1f .L80015FFC -/* 016BF4 80015FF4 00000000 */ nop -/* 016BF8 80015FF8 24020001 */ li $v0, 1 -.L80015FFC: -/* 016BFC 80015FFC 1040000E */ beqz $v0, .L80016038 -/* 016C00 80016000 00000000 */ nop -/* 016C04 80016004 C484001C */ lwc1 $f4, 0x1c($a0) -/* 016C08 80016008 C42155C8 */ lwc1 $f1, %lo(D_800E55C8)($at) -/* 016C0C 8001600C C42055CC */ lwc1 $f0, %lo(D_800E55C8 + 4)($at) -/* 016C10 80016010 46002221 */ cvt.d.s $f8, $f4 -/* 016C14 80016014 46204182 */ mul.d $f6, $f8, $f0 -/* 016C18 80016018 C4840024 */ lwc1 $f4, 0x24($a0) -/* 016C1C 8001601C 00000000 */ nop -/* 016C20 80016020 46002221 */ cvt.d.s $f8, $f4 -/* 016C24 80016024 462032A0 */ cvt.s.d $f10, $f6 -/* 016C28 80016028 46204182 */ mul.d $f6, $f8, $f0 -/* 016C2C 8001602C E48A001C */ swc1 $f10, 0x1c($a0) -/* 016C30 80016030 462032A0 */ cvt.s.d $f10, $f6 -/* 016C34 80016034 E48A0024 */ swc1 $f10, 0x24($a0) -.L80016038: -/* 016C38 80016038 10400081 */ beqz $v0, .L80016240 -/* 016C3C 8001603C 00000000 */ nop -/* 016C40 80016040 84D80014 */ lh $t8, 0x14($a2) -/* 016C44 80016044 240A0007 */ li $t2, 7 -/* 016C48 80016048 37190040 */ ori $t9, $t8, 0x40 -/* 016C4C 8001604C A4D90014 */ sh $t9, 0x14($a2) -/* 016C50 80016050 C484000C */ lwc1 $f4, 0xc($a0) -/* 016C54 80016054 C48C0024 */ lwc1 $f12, 0x24($a0) -/* 016C58 80016058 C4860014 */ lwc1 $f6, 0x14($a0) -/* 016C5C 8001605C 460C2202 */ mul.s $f8, $f4, $f12 -/* 016C60 80016060 C480001C */ lwc1 $f0, 0x1c($a0) -/* 016C64 80016064 C4E4000C */ lwc1 $f4, 0xc($a3) -# Used to access D_800E55D8 and D_800E55D8 + 4. -/* 016C68 80016068 3C01800E */ lui $at, %hi(D_800E55D8) # $at, 0x800e -/* 016C6C 8001606C 46003282 */ mul.s $f10, $f6, $f0 -/* 016C70 80016070 460A4081 */ sub.s $f2, $f8, $f10 -/* 016C74 80016074 C4E80014 */ lwc1 $f8, 0x14($a3) -/* 016C78 80016078 460C2182 */ mul.s $f6, $f4, $f12 -/* 016C7C 8001607C A0AA01D2 */ sb $t2, 0x1d2($a1) -/* 016C80 80016080 46004282 */ mul.s $f10, $f8, $f0 -/* 016C84 80016084 44804000 */ mtc1 $zero, $f8 -/* 016C88 80016088 460A3101 */ sub.s $f4, $f6, $f10 -/* 016C8C 8001608C 46022081 */ sub.s $f2, $f4, $f2 -/* 016C90 80016090 4602403E */ c.le.s $f8, $f2 -/* 016C94 80016094 00000000 */ nop -/* 016C98 80016098 45000011 */ bc1f .L800160E0 -/* 016C9C 8001609C 00000000 */ nop -# Used to access D_800E55D0 and D_800E55D0 + 4. -/* 016CA0 800160A0 3C01800E */ lui $at, %hi(D_800E55D0) # $at, 0x800e -/* 016CA4 800160A4 C486001C */ lwc1 $f6, 0x1c($a0) -/* 016CA8 800160A8 C42155D0 */ lwc1 $f1, %lo(D_800E55D0)($at) -/* 016CAC 800160AC C42055D4 */ lwc1 $f0, %lo(D_800E55D0 + 4)($at) -/* 016CB0 800160B0 460032A1 */ cvt.d.s $f10, $f6 -/* 016CB4 800160B4 46205102 */ mul.d $f4, $f10, $f0 -/* 016CB8 800160B8 46202220 */ cvt.s.d $f8, $f4 -/* 016CBC 800160BC E4A80120 */ swc1 $f8, 0x120($a1) -/* 016CC0 800160C0 C4860024 */ lwc1 $f6, 0x24($a0) -/* 016CC4 800160C4 00000000 */ nop -/* 016CC8 800160C8 46003287 */ neg.s $f10, $f6 -/* 016CCC 800160CC 46005121 */ cvt.d.s $f4, $f10 -/* 016CD0 800160D0 46202202 */ mul.d $f8, $f4, $f0 -/* 016CD4 800160D4 462041A0 */ cvt.s.d $f6, $f8 -/* 016CD8 800160D8 10000059 */ b .L80016240 -/* 016CDC 800160DC E4A6011C */ swc1 $f6, 0x11c($a1) -.L800160E0: -/* 016CE0 800160E0 C48A001C */ lwc1 $f10, 0x1c($a0) -/* 016CE4 800160E4 C42155D8 */ lwc1 $f1, %lo(D_800E55D8)($at) -/* 016CE8 800160E8 C42055DC */ lwc1 $f0, %lo(D_800E55D8 + 4)($at) -/* 016CEC 800160EC 46005107 */ neg.s $f4, $f10 -/* 016CF0 800160F0 46002221 */ cvt.d.s $f8, $f4 -/* 016CF4 800160F4 46204182 */ mul.d $f6, $f8, $f0 -/* 016CF8 800160F8 462032A0 */ cvt.s.d $f10, $f6 -/* 016CFC 800160FC E4AA0120 */ swc1 $f10, 0x120($a1) -/* 016D00 80016100 C4840024 */ lwc1 $f4, 0x24($a0) -/* 016D04 80016104 00000000 */ nop -/* 016D08 80016108 46002221 */ cvt.d.s $f8, $f4 -/* 016D0C 8001610C 46204182 */ mul.d $f6, $f8, $f0 -/* 016D10 80016110 462032A0 */ cvt.s.d $f10, $f6 -/* 016D14 80016114 1000004A */ b .L80016240 -/* 016D18 80016118 E4AA011C */ swc1 $f10, 0x11c($a1) -.L8001611C: -/* 016D1C 8001611C C42555E0 */ lwc1 $f5, %lo(D_800E55E0)($at) -/* 016D20 80016120 C42455E4 */ lwc1 $f4, %lo(D_800E55E0 + 4)($at) -/* 016D24 80016124 46008021 */ cvt.d.s $f0, $f16 -/* 016D28 80016128 4620203C */ c.lt.d $f4, $f0 -/* 016D2C 8001612C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 016D30 80016130 45000018 */ bc1f .L80016194 -/* 016D34 80016134 00000000 */ nop -/* 016D38 80016138 44814800 */ mtc1 $at, $f9 -/* 016D3C 8001613C 44804000 */ mtc1 $zero, $f8 -/* 016D40 80016140 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 -/* 016D44 80016144 4620403C */ c.lt.d $f8, $f0 -/* 016D48 80016148 00000000 */ nop -/* 016D4C 8001614C 45000002 */ bc1f .L80016158 -/* 016D50 80016150 00000000 */ nop -/* 016D54 80016154 24020001 */ li $v0, 1 -.L80016158: -/* 016D58 80016158 C486001C */ lwc1 $f6, 0x1c($a0) -/* 016D5C 8001615C C4840024 */ lwc1 $f4, 0x24($a0) -/* 016D60 80016160 460C3281 */ sub.s $f10, $f6, $f12 -/* 016D64 80016164 44815800 */ mtc1 $at, $f11 -/* 016D68 80016168 E48A001C */ swc1 $f10, 0x1c($a0) -/* 016D6C 8001616C C7A80060 */ lwc1 $f8, 0x60($sp) -/* 016D70 80016170 44805000 */ mtc1 $zero, $f10 -/* 016D74 80016174 46082181 */ sub.s $f6, $f4, $f8 -/* 016D78 80016178 462A0102 */ mul.d $f4, $f0, $f10 -/* 016D7C 8001617C E4860024 */ swc1 $f6, 0x24($a0) -/* 016D80 80016180 44803000 */ mtc1 $zero, $f6 -/* 016D84 80016184 00000000 */ nop -/* 016D88 80016188 E4A60030 */ swc1 $f6, 0x30($a1) -/* 016D8C 8001618C 46202220 */ cvt.s.d $f8, $f4 -/* 016D90 80016190 E4A8002C */ swc1 $f8, 0x2c($a1) -.L80016194: -/* 016D94 80016194 1040002A */ beqz $v0, .L80016240 -/* 016D98 80016198 00000000 */ nop -/* 016D9C 8001619C 84CC0014 */ lh $t4, 0x14($a2) -/* 016DA0 800161A0 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 016DA4 800161A4 358B0040 */ ori $t3, $t4, 0x40 -/* 016DA8 800161A8 A4CB0014 */ sh $t3, 0x14($a2) -/* 016DAC 800161AC C48A000C */ lwc1 $f10, 0xc($a0) -/* 016DB0 800161B0 C48C0024 */ lwc1 $f12, 0x24($a0) -/* 016DB4 800161B4 C4880014 */ lwc1 $f8, 0x14($a0) -/* 016DB8 800161B8 460C5102 */ mul.s $f4, $f10, $f12 -/* 016DBC 800161BC C480001C */ lwc1 $f0, 0x1c($a0) -/* 016DC0 800161C0 C4EA000C */ lwc1 $f10, 0xc($a3) -/* 016DC4 800161C4 46004182 */ mul.s $f6, $f8, $f0 -/* 016DC8 800161C8 46062081 */ sub.s $f2, $f4, $f6 -/* 016DCC 800161CC C4E40014 */ lwc1 $f4, 0x14($a3) -/* 016DD0 800161D0 460C5202 */ mul.s $f8, $f10, $f12 -/* 016DD4 800161D4 00000000 */ nop -/* 016DD8 800161D8 46002182 */ mul.s $f6, $f4, $f0 -/* 016DDC 800161DC 44802000 */ mtc1 $zero, $f4 -/* 016DE0 800161E0 46064281 */ sub.s $f10, $f8, $f6 -/* 016DE4 800161E4 46025081 */ sub.s $f2, $f10, $f2 -/* 016DE8 800161E8 4602203E */ c.le.s $f4, $f2 -/* 016DEC 800161EC 00000000 */ nop -/* 016DF0 800161F0 45000005 */ bc1f .L80016208 -/* 016DF4 800161F4 00000000 */ nop -/* 016DF8 800161F8 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 016DFC 800161FC 44811000 */ mtc1 $at, $f2 -/* 016E00 80016200 10000004 */ b .L80016214 -/* 016E04 80016204 C4A80050 */ lwc1 $f8, 0x50($a1) -.L80016208: -/* 016E08 80016208 44811000 */ mtc1 $at, $f2 -/* 016E0C 8001620C 00000000 */ nop -/* 016E10 80016210 C4A80050 */ lwc1 $f8, 0x50($a1) -.L80016214: -/* 016E14 80016214 C4A0002C */ lwc1 $f0, 0x2c($a1) -/* 016E18 80016218 46024182 */ mul.s $f6, $f8, $f2 -/* 016E1C 8001621C C4A40058 */ lwc1 $f4, 0x58($a1) -/* 016E20 80016220 240D0007 */ li $t5, 7 -/* 016E24 80016224 A0AD01D2 */ sb $t5, 0x1d2($a1) -/* 016E28 80016228 46003282 */ mul.s $f10, $f6, $f0 -/* 016E2C 8001622C 00000000 */ nop -/* 016E30 80016230 46022202 */ mul.s $f8, $f4, $f2 -/* 016E34 80016234 E4AA011C */ swc1 $f10, 0x11c($a1) -/* 016E38 80016238 46004182 */ mul.s $f6, $f8, $f0 -/* 016E3C 8001623C E4A60120 */ swc1 $f6, 0x120($a1) -.L80016240: -/* 016E40 80016240 104000AC */ beqz $v0, .L800164F4 -/* 016E44 80016244 8FBF0014 */ lw $ra, 0x14($sp) -/* 016E48 80016248 84AE0000 */ lh $t6, ($a1) -/* 016E4C 8001624C 2401FFFF */ li $at, -1 -/* 016E50 80016250 11C100A8 */ beq $t6, $at, .L800164F4 -/* 016E54 80016254 8FBF0014 */ lw $ra, 0x14($sp) -/* 016E58 80016258 0C005940 */ jal func_80016500 -/* 016E5C 8001625C 00000000 */ nop -/* 016E60 80016260 100000A4 */ b .L800164F4 -/* 016E64 80016264 8FBF0014 */ lw $ra, 0x14($sp) -.L80016268: -/* 016E68 80016268 44811800 */ mtc1 $at, $f3 -/* 016E6C 8001626C 44801000 */ mtc1 $zero, $f2 -/* 016E70 80016270 460062A1 */ cvt.d.s $f10, $f12 -/* 016E74 80016274 46225102 */ mul.d $f4, $f10, $f2 -/* 016E78 80016278 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 016E7C 8001627C 00000000 */ nop -/* 016E80 80016280 460041A1 */ cvt.d.s $f6, $f8 -/* 016E84 80016284 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 016E88 80016288 46223282 */ mul.d $f10, $f6, $f2 -/* 016E8C 8001628C 46202320 */ cvt.s.d $f12, $f4 -/* 016E90 80016290 460041A1 */ cvt.d.s $f6, $f8 -/* 016E94 80016294 46205120 */ cvt.s.d $f4, $f10 -/* 016E98 80016298 46223282 */ mul.d $f10, $f6, $f2 -/* 016E9C 8001629C E7A40064 */ swc1 $f4, 0x64($sp) -/* 016EA0 800162A0 46205120 */ cvt.s.d $f4, $f10 -/* 016EA4 800162A4 E7A40060 */ swc1 $f4, 0x60($sp) -/* 016EA8 800162A8 910F0012 */ lbu $t7, 0x12($t0) -/* 016EAC 800162AC 00000000 */ nop -/* 016EB0 800162B0 11E0000D */ beqz $t7, .L800162E8 -/* 016EB4 800162B4 00000000 */ nop -/* 016EB8 800162B8 C488000C */ lwc1 $f8, 0xc($a0) -/* 016EBC 800162BC C48A0010 */ lwc1 $f10, 0x10($a0) -/* 016EC0 800162C0 460C4181 */ sub.s $f6, $f8, $f12 -/* 016EC4 800162C4 E486000C */ swc1 $f6, 0xc($a0) -/* 016EC8 800162C8 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 016ECC 800162CC C4860014 */ lwc1 $f6, 0x14($a0) -/* 016ED0 800162D0 46045201 */ sub.s $f8, $f10, $f4 -/* 016ED4 800162D4 E4880010 */ swc1 $f8, 0x10($a0) -/* 016ED8 800162D8 C7AA0060 */ lwc1 $f10, 0x60($sp) -/* 016EDC 800162DC 00000000 */ nop -/* 016EE0 800162E0 460A3101 */ sub.s $f4, $f6, $f10 -/* 016EE4 800162E4 E4840014 */ swc1 $f4, 0x14($a0) -.L800162E8: -/* 016EE8 800162E8 C4E8000C */ lwc1 $f8, 0xc($a3) -/* 016EEC 800162EC C4EA0010 */ lwc1 $f10, 0x10($a3) -/* 016EF0 800162F0 460C4180 */ add.s $f6, $f8, $f12 -/* 016EF4 800162F4 E4E6000C */ swc1 $f6, 0xc($a3) -/* 016EF8 800162F8 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 016EFC 800162FC C4E60014 */ lwc1 $f6, 0x14($a3) -/* 016F00 80016300 46045200 */ add.s $f8, $f10, $f4 -/* 016F04 80016304 E4E80010 */ swc1 $f8, 0x10($a3) -/* 016F08 80016308 C7AA0060 */ lwc1 $f10, 0x60($sp) -/* 016F0C 8001630C 46006302 */ mul.s $f12, $f12, $f0 -/* 016F10 80016310 460A3100 */ add.s $f4, $f6, $f10 -/* 016F14 80016314 E4E40014 */ swc1 $f4, 0x14($a3) -/* 016F18 80016318 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 016F1C 8001631C 00000000 */ nop -/* 016F20 80016320 46004182 */ mul.s $f6, $f8, $f0 -/* 016F24 80016324 E7A60060 */ swc1 $f6, 0x60($sp) -/* 016F28 80016328 84980048 */ lh $t8, 0x48($a0) -/* 016F2C 8001632C 00000000 */ nop -/* 016F30 80016330 15380070 */ bne $t1, $t8, .L800164F4 -/* 016F34 80016334 8FBF0014 */ lw $ra, 0x14($sp) -/* 016F38 80016338 84F90048 */ lh $t9, 0x48($a3) -/* 016F3C 8001633C 3C01800E */ lui $at, %hi(D_800E55E8 + 4) # $at, 0x800e -/* 016F40 80016340 1539006C */ bne $t1, $t9, .L800164F4 -/* 016F44 80016344 8FBF0014 */ lw $ra, 0x14($sp) -/* 016F48 80016348 910A0012 */ lbu $t2, 0x12($t0) -/* 016F4C 8001634C 90CC0012 */ lbu $t4, 0x12($a2) -/* 016F50 80016350 C42755E8 */ lwc1 $f7, %lo(D_800E55E8)($at) -/* 016F54 80016354 014C5823 */ subu $t3, $t2, $t4 -/* 016F58 80016358 448B5000 */ mtc1 $t3, $f10 -/* 016F5C 8001635C C42655EC */ lwc1 $f6, %lo(D_800E55E8 + 4)($at) -/* 016F60 80016360 46805120 */ cvt.s.w $f4, $f10 -/* 016F64 80016364 8C850064 */ lw $a1, 0x64($a0) -/* 016F68 80016368 8CED0064 */ lw $t5, 0x64($a3) -/* 016F6C 8001636C 46002221 */ cvt.d.s $f8, $f4 -/* 016F70 80016370 46264282 */ mul.d $f10, $f8, $f6 -/* 016F74 80016374 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 016F78 80016378 44812000 */ mtc1 $at, $f4 -/* 016F7C 8001637C AFAD004C */ sw $t5, 0x4c($sp) -/* 016F80 80016380 80A20189 */ lb $v0, 0x189($a1) -/* 016F84 80016384 46002221 */ cvt.d.s $f8, $f4 -/* 016F88 80016388 462A4180 */ add.d $f6, $f8, $f10 -/* 016F8C 8001638C 10400006 */ beqz $v0, .L800163A8 -/* 016F90 80016390 462033A0 */ cvt.s.d $f14, $f6 -/* 016F94 80016394 81AF0189 */ lb $t7, 0x189($t5) -/* 016F98 80016398 00000000 */ nop -/* 016F9C 8001639C 15E00003 */ bnez $t7, .L800163AC -/* 016FA0 800163A0 8FB8004C */ lw $t8, 0x4c($sp) -/* 016FA4 800163A4 A1A201DB */ sb $v0, 0x1db($t5) -.L800163A8: -/* 016FA8 800163A8 8FB8004C */ lw $t8, 0x4c($sp) -.L800163AC: -/* 016FAC 800163AC 3C01800E */ lui $at, %hi(D_800E55F0 + 4) # $at, 0x800e -/* 016FB0 800163B0 83020189 */ lb $v0, 0x189($t8) -/* 016FB4 800163B4 00000000 */ nop -/* 016FB8 800163B8 10400006 */ beqz $v0, .L800163D4 -/* 016FBC 800163BC 00000000 */ nop -/* 016FC0 800163C0 80B90189 */ lb $t9, 0x189($a1) -/* 016FC4 800163C4 00000000 */ nop -/* 016FC8 800163C8 17200002 */ bnez $t9, .L800163D4 -/* 016FCC 800163CC 00000000 */ nop -/* 016FD0 800163D0 A0A201DB */ sb $v0, 0x1db($a1) -.L800163D4: -/* 016FD4 800163D4 80AA01D6 */ lb $t2, 0x1d6($a1) -/* 016FD8 800163D8 00001025 */ move $v0, $zero -/* 016FDC 800163DC 152A0004 */ bne $t1, $t2, .L800163F0 -/* 016FE0 800163E0 00000000 */ nop -/* 016FE4 800163E4 24020001 */ li $v0, 1 -/* 016FE8 800163E8 10000014 */ b .L8001643C -/* 016FEC 800163EC E7AC0068 */ swc1 $f12, 0x68($sp) -.L800163F0: -/* 016FF0 800163F0 C42155F0 */ lwc1 $f1, %lo(D_800E55F0)($at) -/* 016FF4 800163F4 C42055F4 */ lwc1 $f0, %lo(D_800E55F0 + 4)($at) -/* 016FF8 800163F8 46008121 */ cvt.d.s $f4, $f16 -/* 016FFC 800163FC 4624003C */ c.lt.d $f0, $f4 -/* 017000 80016400 E7AC0068 */ swc1 $f12, 0x68($sp) -/* 017004 80016404 4500000D */ bc1f .L8001643C -/* 017008 80016408 00000000 */ nop -/* 01700C 8001640C C7A80068 */ lwc1 $f8, 0x68($sp) -/* 017010 80016410 24020001 */ li $v0, 1 -/* 017014 80016414 460042A1 */ cvt.d.s $f10, $f8 -/* 017018 80016418 46225182 */ mul.d $f6, $f10, $f2 -/* 01701C 8001641C C7A80060 */ lwc1 $f8, 0x60($sp) -/* 017020 80016420 00000000 */ nop -/* 017024 80016424 460042A1 */ cvt.d.s $f10, $f8 -/* 017028 80016428 46203120 */ cvt.s.d $f4, $f6 -/* 01702C 8001642C 46225182 */ mul.d $f6, $f10, $f2 -/* 017030 80016430 E7A40068 */ swc1 $f4, 0x68($sp) -/* 017034 80016434 46203120 */ cvt.s.d $f4, $f6 -/* 017038 80016438 E7A40060 */ swc1 $f4, 0x60($sp) -.L8001643C: -/* 01703C 8001643C C7AC0068 */ lwc1 $f12, 0x68($sp) -/* 017040 80016440 1040002C */ beqz $v0, .L800164F4 -/* 017044 80016444 8FBF0014 */ lw $ra, 0x14($sp) -/* 017048 80016448 910C0012 */ lbu $t4, 0x12($t0) -/* 01704C 8001644C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 017050 80016450 11800019 */ beqz $t4, .L800164B8 -/* 017054 80016454 00000000 */ nop -/* 017058 80016458 44814800 */ mtc1 $at, $f9 -/* 01705C 8001645C 44804000 */ mtc1 $zero, $f8 -/* 017060 80016460 460072A1 */ cvt.d.s $f10, $f14 -/* 017064 80016464 462A4181 */ sub.d $f6, $f8, $f10 -/* 017068 80016468 E7AC0068 */ swc1 $f12, 0x68($sp) -/* 01706C 8001646C C7A80068 */ lwc1 $f8, 0x68($sp) -/* 017070 80016470 46203020 */ cvt.s.d $f0, $f6 -/* 017074 80016474 C484001C */ lwc1 $f4, 0x1c($a0) -/* 017078 80016478 46004282 */ mul.s $f10, $f8, $f0 -/* 01707C 8001647C C4880024 */ lwc1 $f8, 0x24($a0) -/* 017080 80016480 460A2181 */ sub.s $f6, $f4, $f10 -/* 017084 80016484 E486001C */ swc1 $f6, 0x1c($a0) -/* 017088 80016488 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 01708C 8001648C 00000000 */ nop -/* 017090 80016490 46002282 */ mul.s $f10, $f4, $f0 -/* 017094 80016494 460A4181 */ sub.s $f6, $f8, $f10 -/* 017098 80016498 E4860024 */ swc1 $f6, 0x24($a0) -/* 01709C 8001649C E7AE0090 */ swc1 $f14, 0x90($sp) -/* 0170A0 800164A0 0C005940 */ jal func_80016500 -/* 0170A4 800164A4 AFA700A4 */ sw $a3, 0xa4($sp) -/* 0170A8 800164A8 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0170AC 800164AC C7AE0090 */ lwc1 $f14, 0x90($sp) -/* 0170B0 800164B0 C7AC0068 */ lwc1 $f12, 0x68($sp) -/* 0170B4 800164B4 00000000 */ nop -.L800164B8: -/* 0170B8 800164B8 460E6202 */ mul.s $f8, $f12, $f14 -/* 0170BC 800164BC C4E4001C */ lwc1 $f4, 0x1c($a3) -/* 0170C0 800164C0 C4E60024 */ lwc1 $f6, 0x24($a3) -/* 0170C4 800164C4 00E02025 */ move $a0, $a3 -/* 0170C8 800164C8 46082280 */ add.s $f10, $f4, $f8 -/* 0170CC 800164CC E4EA001C */ swc1 $f10, 0x1c($a3) -/* 0170D0 800164D0 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 0170D4 800164D4 00000000 */ nop -/* 0170D8 800164D8 460E2202 */ mul.s $f8, $f4, $f14 -/* 0170DC 800164DC 46083280 */ add.s $f10, $f6, $f8 -/* 0170E0 800164E0 E4EA0024 */ swc1 $f10, 0x24($a3) -/* 0170E4 800164E4 8FA5004C */ lw $a1, 0x4c($sp) -/* 0170E8 800164E8 0C005940 */ jal func_80016500 -/* 0170EC 800164EC 00000000 */ nop -/* 0170F0 800164F0 8FBF0014 */ lw $ra, 0x14($sp) -.L800164F4: -/* 0170F4 800164F4 27BD00A0 */ addiu $sp, $sp, 0xa0 -/* 0170F8 800164F8 03E00008 */ jr $ra -/* 0170FC 800164FC 00000000 */ nop - diff --git a/asm/non_matchings/objects/func_80017248.s b/asm/non_matchings/objects/func_80017248.s deleted file mode 100644 index 25de9e08..00000000 --- a/asm/non_matchings/objects/func_80017248.s +++ /dev/null @@ -1,461 +0,0 @@ -glabel func_80017248 -/* 017E48 80017248 27BDFE88 */ addiu $sp, $sp, -0x178 -/* 017E4C 8001724C AFB50054 */ sw $s5, 0x54($sp) -/* 017E50 80017250 3C158012 */ lui $s5, %hi(D_8011AE70) # $s5, 0x8012 -/* 017E54 80017254 26B5AE70 */ addiu $s5, %lo(D_8011AE70) # addiu $s5, $s5, -0x5190 -/* 017E58 80017258 8EAE0000 */ lw $t6, ($s5) -/* 017E5C 8001725C AFBF0064 */ sw $ra, 0x64($sp) -/* 017E60 80017260 AFBE0060 */ sw $fp, 0x60($sp) -/* 017E64 80017264 AFB7005C */ sw $s7, 0x5c($sp) -/* 017E68 80017268 AFB60058 */ sw $s6, 0x58($sp) -/* 017E6C 8001726C AFB40050 */ sw $s4, 0x50($sp) -/* 017E70 80017270 AFB3004C */ sw $s3, 0x4c($sp) -/* 017E74 80017274 AFB20048 */ sw $s2, 0x48($sp) -/* 017E78 80017278 AFB10044 */ sw $s1, 0x44($sp) -/* 017E7C 8001727C AFB00040 */ sw $s0, 0x40($sp) -/* 017E80 80017280 E7B50038 */ swc1 $f21, 0x38($sp) -/* 017E84 80017284 E7B4003C */ swc1 $f20, 0x3c($sp) -/* 017E88 80017288 AFA5017C */ sw $a1, 0x17c($sp) -/* 017E8C 8001728C AFA70184 */ sw $a3, 0x184($sp) -/* 017E90 80017290 AFA00160 */ sw $zero, 0x160($sp) -/* 017E94 80017294 AFA00170 */ sw $zero, 0x170($sp) -/* 017E98 80017298 19C0007B */ blez $t6, .L80017488 -/* 017E9C 8001729C AFA60180 */ sw $a2, 0x180($sp) -/* 017EA0 800172A0 00009025 */ move $s2, $zero -/* 017EA4 800172A4 AFA40178 */ sw $a0, 0x178($sp) -/* 017EA8 800172A8 AFA60180 */ sw $a2, 0x180($sp) -/* 017EAC 800172AC 27B4008C */ addiu $s4, $sp, 0x8c -/* 017EB0 800172B0 27B300B4 */ addiu $s3, $sp, 0xb4 -/* 017EB4 800172B4 27B000B8 */ addiu $s0, $sp, 0xb8 -.L800172B8: -/* 017EB8 800172B8 3C0F8012 */ lui $t7, %hi(D_8011AE6C) # $t7, 0x8012 -/* 017EBC 800172BC 8DEFAE6C */ lw $t7, %lo(D_8011AE6C)($t7) -/* 017EC0 800172C0 8FA40178 */ lw $a0, 0x178($sp) -/* 017EC4 800172C4 01F2C021 */ addu $t8, $t7, $s2 -/* 017EC8 800172C8 8F020000 */ lw $v0, ($t8) -/* 017ECC 800172CC 00000000 */ nop -/* 017ED0 800172D0 804A003A */ lb $t2, 0x3a($v0) -/* 017ED4 800172D4 8C590068 */ lw $t9, 0x68($v0) -/* 017ED8 800172D8 000A5880 */ sll $t3, $t2, 2 -/* 017EDC 800172DC 032B6021 */ addu $t4, $t9, $t3 -/* 017EE0 800172E0 8D830000 */ lw $v1, ($t4) -/* 017EE4 800172E4 00000000 */ nop -/* 017EE8 800172E8 8C6D0000 */ lw $t5, ($v1) -/* 017EEC 800172EC 00000000 */ nop -/* 017EF0 800172F0 AFAD0154 */ sw $t5, 0x154($sp) -/* 017EF4 800172F4 C486000C */ lwc1 $f6, 0xc($a0) -/* 017EF8 800172F8 C444000C */ lwc1 $f4, 0xc($v0) -/* 017EFC 800172FC C48A0010 */ lwc1 $f10, 0x10($a0) -/* 017F00 80017300 46062381 */ sub.s $f14, $f4, $f6 -/* 017F04 80017304 C4480010 */ lwc1 $f8, 0x10($v0) -/* 017F08 80017308 460E7102 */ mul.s $f4, $f14, $f14 -/* 017F0C 8001730C 460A4001 */ sub.s $f0, $f8, $f10 -/* 017F10 80017310 C4920014 */ lwc1 $f18, 0x14($a0) -/* 017F14 80017314 C4500014 */ lwc1 $f16, 0x14($v0) -/* 017F18 80017318 46000182 */ mul.s $f6, $f0, $f0 -/* 017F1C 8001731C 46128081 */ sub.s $f2, $f16, $f18 -/* 017F20 80017320 AFA20158 */ sw $v0, 0x158($sp) -/* 017F24 80017324 46021282 */ mul.s $f10, $f2, $f2 -/* 017F28 80017328 46062200 */ add.s $f8, $f4, $f6 -/* 017F2C 8001732C 0C0326B4 */ jal sqrtf -/* 017F30 80017330 460A4300 */ add.s $f12, $f8, $f10 -/* 017F34 80017334 444EF800 */ cfc1 $t6, $31 -/* 017F38 80017338 8FA40158 */ lw $a0, 0x158($sp) -/* 017F3C 8001733C 35C10003 */ ori $at, $t6, 3 -/* 017F40 80017340 38210002 */ xori $at, $at, 2 -/* 017F44 80017344 44C1F800 */ ctc1 $at, $31 -/* 017F48 80017348 8C83004C */ lw $v1, 0x4c($a0) -/* 017F4C 8001734C 46000424 */ cvt.w.s $f16, $f0 -/* 017F50 80017350 846F0014 */ lh $t7, 0x14($v1) -/* 017F54 80017354 44028000 */ mfc1 $v0, $f16 -/* 017F58 80017358 44CEF800 */ ctc1 $t6, $31 -/* 017F5C 8001735C 31F80020 */ andi $t8, $t7, 0x20 -/* 017F60 80017360 13000002 */ beqz $t8, .L8001736C -/* 017F64 80017364 0040F025 */ move $fp, $v0 -/* 017F68 80017368 0002F0C3 */ sra $fp, $v0, 3 -.L8001736C: -/* 017F6C 8001736C 2BC10100 */ slti $at, $fp, 0x100 -/* 017F70 80017370 14200002 */ bnez $at, .L8001737C -/* 017F74 80017374 26520004 */ addiu $s2, $s2, 4 -/* 017F78 80017378 241E00FF */ li $fp, 255 -.L8001737C: -/* 017F7C 8001737C 906A0013 */ lbu $t2, 0x13($v1) -/* 017F80 80017380 00000000 */ nop -/* 017F84 80017384 03CA082A */ slt $at, $fp, $t2 -/* 017F88 80017388 10200007 */ beqz $at, .L800173A8 -/* 017F8C 8001738C 8FAC0154 */ lw $t4, 0x154($sp) -/* 017F90 80017390 A07E0013 */ sb $fp, 0x13($v1) -/* 017F94 80017394 8C8B004C */ lw $t3, 0x4c($a0) -/* 017F98 80017398 8FB90178 */ lw $t9, 0x178($sp) -/* 017F9C 8001739C 00000000 */ nop -/* 017FA0 800173A0 AD790000 */ sw $t9, ($t3) -/* 017FA4 800173A4 8FAC0154 */ lw $t4, 0x154($sp) -.L800173A8: -/* 017FA8 800173A8 C4880008 */ lwc1 $f8, 8($a0) -/* 017FAC 800173AC C586003C */ lwc1 $f6, 0x3c($t4) -/* 017FB0 800173B0 3C0141C8 */ li $at, 0x41C80000 # 25.000000 -/* 017FB4 800173B4 46083282 */ mul.s $f10, $f6, $f8 -/* 017FB8 800173B8 44819000 */ mtc1 $at, $f18 -/* 017FBC 800173BC 8FA50160 */ lw $a1, 0x160($sp) -/* 017FC0 800173C0 8FAD0170 */ lw $t5, 0x170($sp) -/* 017FC4 800173C4 46120101 */ sub.s $f4, $f0, $f18 -/* 017FC8 800173C8 00051080 */ sll $v0, $a1, 2 -/* 017FCC 800173CC 460A203C */ c.lt.s $f4, $f10 -/* 017FD0 800173D0 02627021 */ addu $t6, $s3, $v0 -/* 017FD4 800173D4 45000022 */ bc1f .L80017460 -/* 017FD8 800173D8 02821821 */ addu $v1, $s4, $v0 -/* 017FDC 800173DC ADCD0000 */ sw $t5, ($t6) -/* 017FE0 800173E0 E4600000 */ swc1 $f0, ($v1) -/* 017FE4 800173E4 18A0001C */ blez $a1, .L80017458 -/* 017FE8 800173E8 00A08825 */ move $s1, $a1 -/* 017FEC 800173EC C470FFFC */ lwc1 $f16, -4($v1) -/* 017FF0 800173F0 C4720000 */ lwc1 $f18, ($v1) -/* 017FF4 800173F4 00112080 */ sll $a0, $s1, 2 -/* 017FF8 800173F8 4612803C */ c.lt.s $f16, $f18 -/* 017FFC 800173FC 02841821 */ addu $v1, $s4, $a0 -/* 018000 80017400 45000015 */ bc1f .L80017458 -/* 018004 80017404 00000000 */ nop -/* 018008 80017408 C460FFFC */ lwc1 $f0, -4($v1) -/* 01800C 8001740C C4620000 */ lwc1 $f2, ($v1) -/* 018010 80017410 02641021 */ addu $v0, $s3, $a0 -.L80017414: -/* 018014 80017414 8C480000 */ lw $t0, ($v0) -/* 018018 80017418 8C4FFFFC */ lw $t7, -4($v0) -/* 01801C 8001741C 2442FFFC */ addiu $v0, $v0, -4 -/* 018020 80017420 0050082B */ sltu $at, $v0, $s0 -/* 018024 80017424 E4600000 */ swc1 $f0, ($v1) -/* 018028 80017428 E462FFFC */ swc1 $f2, -4($v1) -/* 01802C 8001742C 2463FFFC */ addiu $v1, $v1, -4 -/* 018030 80017430 AC480000 */ sw $t0, ($v0) -/* 018034 80017434 14200008 */ bnez $at, .L80017458 -/* 018038 80017438 AC4F0004 */ sw $t7, 4($v0) -/* 01803C 8001743C C460FFFC */ lwc1 $f0, -4($v1) -/* 018040 80017440 C4620000 */ lwc1 $f2, ($v1) -/* 018044 80017444 00000000 */ nop -/* 018048 80017448 4602003C */ c.lt.s $f0, $f2 -/* 01804C 8001744C 00000000 */ nop -/* 018050 80017450 4501FFF0 */ bc1t .L80017414 -/* 018054 80017454 00000000 */ nop -.L80017458: -/* 018058 80017458 24A50001 */ addiu $a1, $a1, 1 -/* 01805C 8001745C AFA50160 */ sw $a1, 0x160($sp) -.L80017460: -/* 018060 80017460 8FB80170 */ lw $t8, 0x170($sp) -/* 018064 80017464 8EB90000 */ lw $t9, ($s5) -/* 018068 80017468 270A0001 */ addiu $t2, $t8, 1 -/* 01806C 8001746C 8FA50160 */ lw $a1, 0x160($sp) -/* 018070 80017470 0159082A */ slt $at, $t2, $t9 -/* 018074 80017474 1420FF90 */ bnez $at, .L800172B8 -/* 018078 80017478 AFAA0170 */ sw $t2, 0x170($sp) -/* 01807C 8001747C 8FA40178 */ lw $a0, 0x178($sp) -/* 018080 80017480 AFA00170 */ sw $zero, 0x170($sp) -/* 018084 80017484 AFA50160 */ sw $a1, 0x160($sp) -.L80017488: -/* 018088 80017488 8FAB0160 */ lw $t3, 0x160($sp) -/* 01808C 8001748C 8FA60180 */ lw $a2, 0x180($sp) -/* 018090 80017490 196000F8 */ blez $t3, .L80017874 -/* 018094 80017494 00003825 */ move $a3, $zero -/* 018098 80017498 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 01809C 8001749C 27A900B4 */ addiu $t1, $sp, 0xb4 -/* 0180A0 800174A0 4481A800 */ mtc1 $at, $f21 -/* 0180A4 800174A4 4480A000 */ mtc1 $zero, $f20 -/* 0180A8 800174A8 AFA90088 */ sw $t1, 0x88($sp) -/* 0180AC 800174AC AFA40178 */ sw $a0, 0x178($sp) -/* 0180B0 800174B0 AFA60180 */ sw $a2, 0x180($sp) -/* 0180B4 800174B4 AFA00168 */ sw $zero, 0x168($sp) -.L800174B8: -/* 0180B8 800174B8 8FA90088 */ lw $t1, 0x88($sp) -/* 0180BC 800174BC 3C0C8012 */ lui $t4, %hi(D_8011AE6C) # $t4, 0x8012 -/* 0180C0 800174C0 8D2D0000 */ lw $t5, ($t1) -/* 0180C4 800174C4 8D8CAE6C */ lw $t4, %lo(D_8011AE6C)($t4) -/* 0180C8 800174C8 000D7080 */ sll $t6, $t5, 2 -/* 0180CC 800174CC 018E7821 */ addu $t7, $t4, $t6 -/* 0180D0 800174D0 8DE50000 */ lw $a1, ($t7) -/* 0180D4 800174D4 8FA40178 */ lw $a0, 0x178($sp) -/* 0180D8 800174D8 80AA003A */ lb $t2, 0x3a($a1) -/* 0180DC 800174DC 8CB80068 */ lw $t8, 0x68($a1) -/* 0180E0 800174E0 000AC880 */ sll $t9, $t2, 2 -/* 0180E4 800174E4 03195821 */ addu $t3, $t8, $t9 -/* 0180E8 800174E8 8D630000 */ lw $v1, ($t3) -/* 0180EC 800174EC 24080001 */ li $t0, 1 -/* 0180F0 800174F0 8C6D0000 */ lw $t5, ($v1) -/* 0180F4 800174F4 00008825 */ move $s1, $zero -/* 0180F8 800174F8 AFAD0154 */ sw $t5, 0x154($sp) -/* 0180FC 800174FC 8CA2005C */ lw $v0, 0x5c($a1) -/* 018100 80017500 0000F025 */ move $fp, $zero -/* 018104 80017504 904C0104 */ lbu $t4, 0x104($v0) -/* 018108 80017508 AFA8016C */ sw $t0, 0x16c($sp) -/* 01810C 8001750C 258E0001 */ addiu $t6, $t4, 1 -/* 018110 80017510 31CA0001 */ andi $t2, $t6, 1 -/* 018114 80017514 000AC180 */ sll $t8, $t2, 6 -/* 018118 80017518 0058C821 */ addu $t9, $v0, $t8 -/* 01811C 8001751C AFB900DC */ sw $t9, 0xdc($sp) -/* 018120 80017520 0C005E43 */ jal func_8001790C -/* 018124 80017524 AFA50158 */ sw $a1, 0x158($sp) -/* 018128 80017528 8FA8016C */ lw $t0, 0x16c($sp) -/* 01812C 8001752C 1040002C */ beqz $v0, .L800175E0 -/* 018130 80017530 AFA2014C */ sw $v0, 0x14c($sp) -/* 018134 80017534 8FAB017C */ lw $t3, 0x17c($sp) -/* 018138 80017538 27B2013C */ addiu $s2, $sp, 0x13c -/* 01813C 8001753C 19600041 */ blez $t3, .L80017644 -/* 018140 80017540 00408025 */ move $s0, $v0 -/* 018144 80017544 8FB10188 */ lw $s1, 0x188($sp) -/* 018148 80017548 27B3012C */ addiu $s3, $sp, 0x12c -/* 01814C 8001754C 27B4011C */ addiu $s4, $sp, 0x11c -/* 018150 80017550 27B50100 */ addiu $s5, $sp, 0x100 -/* 018154 80017554 27B600F0 */ addiu $s6, $sp, 0xf0 -/* 018158 80017558 27B700E0 */ addiu $s7, $sp, 0xe0 -.L8001755C: -/* 01815C 8001755C C606000C */ lwc1 $f6, 0xc($s0) -/* 018160 80017560 00000000 */ nop -/* 018164 80017564 E6460000 */ swc1 $f6, ($s2) -/* 018168 80017568 C6080010 */ lwc1 $f8, 0x10($s0) -/* 01816C 8001756C 00000000 */ nop -/* 018170 80017570 E6680000 */ swc1 $f8, ($s3) -/* 018174 80017574 C6040014 */ lwc1 $f4, 0x14($s0) -/* 018178 80017578 00000000 */ nop -/* 01817C 8001757C E6840000 */ swc1 $f4, ($s4) -/* 018180 80017580 8E270008 */ lw $a3, 8($s1) -/* 018184 80017584 8E260004 */ lw $a2, 4($s1) -/* 018188 80017588 8E250000 */ lw $a1, ($s1) -/* 01818C 8001758C 8FA400DC */ lw $a0, 0xdc($sp) -/* 018190 80017590 AFA8016C */ sw $t0, 0x16c($sp) -/* 018194 80017594 AFB70018 */ sw $s7, 0x18($sp) -/* 018198 80017598 AFB60014 */ sw $s6, 0x14($sp) -/* 01819C 8001759C 0C01BD93 */ jal guMtxXFMF -/* 0181A0 800175A0 AFB50010 */ sw $s5, 0x10($sp) -/* 0181A4 800175A4 8FAD017C */ lw $t5, 0x17c($sp) -/* 0181A8 800175A8 27DE0001 */ addiu $fp, $fp, 1 -/* 0181AC 800175AC 8FA8016C */ lw $t0, 0x16c($sp) -/* 0181B0 800175B0 26520004 */ addiu $s2, $s2, 4 -/* 0181B4 800175B4 26730004 */ addiu $s3, $s3, 4 -/* 0181B8 800175B8 26940004 */ addiu $s4, $s4, 4 -/* 0181BC 800175BC 26B50004 */ addiu $s5, $s5, 4 -/* 0181C0 800175C0 26D60004 */ addiu $s6, $s6, 4 -/* 0181C4 800175C4 26F70004 */ addiu $s7, $s7, 4 -/* 0181C8 800175C8 2610000C */ addiu $s0, $s0, 0xc -/* 0181CC 800175CC 17CDFFE3 */ bne $fp, $t5, .L8001755C -/* 0181D0 800175D0 2631000C */ addiu $s1, $s1, 0xc -/* 0181D4 800175D4 00008825 */ move $s1, $zero -/* 0181D8 800175D8 1000001A */ b .L80017644 -/* 0181DC 800175DC 0000F025 */ move $fp, $zero -.L800175E0: -/* 0181E0 800175E0 8FAC017C */ lw $t4, 0x17c($sp) -/* 0181E4 800175E4 27B2013C */ addiu $s2, $sp, 0x13c -/* 0181E8 800175E8 19800016 */ blez $t4, .L80017644 -/* 0181EC 800175EC 27B3012C */ addiu $s3, $sp, 0x12c -/* 0181F0 800175F0 8FB00184 */ lw $s0, 0x184($sp) -/* 0181F4 800175F4 27B4011C */ addiu $s4, $sp, 0x11c -.L800175F8: -/* 0181F8 800175F8 8E050000 */ lw $a1, ($s0) -/* 0181FC 800175FC 8E060004 */ lw $a2, 4($s0) -/* 018200 80017600 8E070008 */ lw $a3, 8($s0) -/* 018204 80017604 8FA400DC */ lw $a0, 0xdc($sp) -/* 018208 80017608 AFA8016C */ sw $t0, 0x16c($sp) -/* 01820C 8001760C AFB40018 */ sw $s4, 0x18($sp) -/* 018210 80017610 AFB30014 */ sw $s3, 0x14($sp) -/* 018214 80017614 0C01BD93 */ jal guMtxXFMF -/* 018218 80017618 AFB20010 */ sw $s2, 0x10($sp) -/* 01821C 8001761C 8FAE017C */ lw $t6, 0x17c($sp) -/* 018220 80017620 27DE0001 */ addiu $fp, $fp, 1 -/* 018224 80017624 8FA8016C */ lw $t0, 0x16c($sp) -/* 018228 80017628 26520004 */ addiu $s2, $s2, 4 -/* 01822C 8001762C 26730004 */ addiu $s3, $s3, 4 -/* 018230 80017630 26940004 */ addiu $s4, $s4, 4 -/* 018234 80017634 17CEFFF0 */ bne $fp, $t6, .L800175F8 -/* 018238 80017638 2610000C */ addiu $s0, $s0, 0xc -/* 01823C 8001763C 00008825 */ move $s1, $zero -/* 018240 80017640 0000F025 */ move $fp, $zero -.L80017644: -/* 018244 80017644 8FAF017C */ lw $t7, 0x17c($sp) -/* 018248 80017648 27B50100 */ addiu $s5, $sp, 0x100 -/* 01824C 8001764C 19E00015 */ blez $t7, .L800176A4 -/* 018250 80017650 27B600F0 */ addiu $s6, $sp, 0xf0 -/* 018254 80017654 8FB10188 */ lw $s1, 0x188($sp) -/* 018258 80017658 27B700E0 */ addiu $s7, $sp, 0xe0 -.L8001765C: -/* 01825C 8001765C 8E250000 */ lw $a1, ($s1) -/* 018260 80017660 8E260004 */ lw $a2, 4($s1) -/* 018264 80017664 8E270008 */ lw $a3, 8($s1) -/* 018268 80017668 8FA400DC */ lw $a0, 0xdc($sp) -/* 01826C 8001766C AFA8016C */ sw $t0, 0x16c($sp) -/* 018270 80017670 AFB70018 */ sw $s7, 0x18($sp) -/* 018274 80017674 AFB60014 */ sw $s6, 0x14($sp) -/* 018278 80017678 0C01BD93 */ jal guMtxXFMF -/* 01827C 8001767C AFB50010 */ sw $s5, 0x10($sp) -/* 018280 80017680 8FAA017C */ lw $t2, 0x17c($sp) -/* 018284 80017684 27DE0001 */ addiu $fp, $fp, 1 -/* 018288 80017688 8FA8016C */ lw $t0, 0x16c($sp) -/* 01828C 8001768C 26B50004 */ addiu $s5, $s5, 4 -/* 018290 80017690 26D60004 */ addiu $s6, $s6, 4 -/* 018294 80017694 26F70004 */ addiu $s7, $s7, 4 -/* 018298 80017698 17CAFFF0 */ bne $fp, $t2, .L8001765C -/* 01829C 8001769C 2631000C */ addiu $s1, $s1, 0xc -/* 0182A0 800176A0 00008825 */ move $s1, $zero -.L800176A4: -/* 0182A4 800176A4 8FA60180 */ lw $a2, 0x180($sp) -/* 0182A8 800176A8 27B8012C */ addiu $t8, $sp, 0x12c -/* 0182AC 800176AC ACC00000 */ sw $zero, ($a2) -/* 0182B0 800176B0 8FAF0190 */ lw $t7, 0x190($sp) -/* 0182B4 800176B4 8FAE018C */ lw $t6, 0x18c($sp) -/* 0182B8 800176B8 8FAA0158 */ lw $t2, 0x158($sp) -/* 0182BC 800176BC 27B9011C */ addiu $t9, $sp, 0x11c -/* 0182C0 800176C0 27AB0100 */ addiu $t3, $sp, 0x100 -/* 0182C4 800176C4 27AD00F0 */ addiu $t5, $sp, 0xf0 -/* 0182C8 800176C8 27AC00E0 */ addiu $t4, $sp, 0xe0 -/* 0182CC 800176CC AFAC0020 */ sw $t4, 0x20($sp) -/* 0182D0 800176D0 AFAD001C */ sw $t5, 0x1c($sp) -/* 0182D4 800176D4 AFAB0018 */ sw $t3, 0x18($sp) -/* 0182D8 800176D8 AFB90014 */ sw $t9, 0x14($sp) -/* 0182DC 800176DC AFB80010 */ sw $t8, 0x10($sp) -/* 0182E0 800176E0 AFAF0028 */ sw $t7, 0x28($sp) -/* 0182E4 800176E4 AFAE0024 */ sw $t6, 0x24($sp) -/* 0182E8 800176E8 C54A0008 */ lwc1 $f10, 8($t2) -/* 0182EC 800176EC 8FA5017C */ lw $a1, 0x17c($sp) -/* 0182F0 800176F0 46005421 */ cvt.d.s $f16, $f10 -/* 0182F4 800176F4 00000000 */ nop -/* 0182F8 800176F8 4630A483 */ div.d $f18, $f20, $f16 -/* 0182FC 800176FC 8FA40154 */ lw $a0, 0x154($sp) -/* 018300 80017700 AFA8016C */ sw $t0, 0x16c($sp) -/* 018304 80017704 27A7013C */ addiu $a3, $sp, 0x13c -/* 018308 80017708 462091A0 */ cvt.s.d $f6, $f18 -/* 01830C 8001770C 0C005E86 */ jal func_80017A18 -/* 018310 80017710 E7A6002C */ swc1 $f6, 0x2c($sp) -/* 018314 80017714 8FA8016C */ lw $t0, 0x16c($sp) -/* 018318 80017718 10400006 */ beqz $v0, .L80017734 -/* 01831C 8001771C 00409025 */ move $s2, $v0 -/* 018320 80017720 8FA50158 */ lw $a1, 0x158($sp) -/* 018324 80017724 8FB80178 */ lw $t8, 0x178($sp) -/* 018328 80017728 8CB9005C */ lw $t9, 0x5c($a1) -/* 01832C 8001772C 00000000 */ nop -/* 018330 80017730 AF380100 */ sw $t8, 0x100($t9) -.L80017734: -/* 018334 80017734 3C0B8012 */ lui $t3, %hi(D_8011AD24) # $t3, 0x8012 -/* 018338 80017738 816BAD24 */ lb $t3, %lo(D_8011AD24)($t3) -/* 01833C 8001773C 8FA50158 */ lw $a1, 0x158($sp) -/* 018340 80017740 15600007 */ bnez $t3, .L80017760 -/* 018344 80017744 0000F025 */ move $fp, $zero -/* 018348 80017748 8FA40178 */ lw $a0, 0x178($sp) -/* 01834C 8001774C 0C005E5E */ jal func_80017978 -/* 018350 80017750 AFA8016C */ sw $t0, 0x16c($sp) -/* 018354 80017754 8FA8016C */ lw $t0, 0x16c($sp) -/* 018358 80017758 8FA50158 */ lw $a1, 0x158($sp) -/* 01835C 8001775C AFA2014C */ sw $v0, 0x14c($sp) -.L80017760: -/* 018360 80017760 8CA2005C */ lw $v0, 0x5c($a1) -/* 018364 80017764 8FB8017C */ lw $t8, 0x17c($sp) -/* 018368 80017768 904D0104 */ lbu $t5, 0x104($v0) -/* 01836C 8001776C 00000000 */ nop -/* 018370 80017770 25AE0002 */ addiu $t6, $t5, 2 -/* 018374 80017774 000E7980 */ sll $t7, $t6, 6 -/* 018378 80017778 004F5021 */ addu $t2, $v0, $t7 -/* 01837C 8001777C 1B000030 */ blez $t8, .L80017840 -/* 018380 80017780 AFAA00DC */ sw $t2, 0xdc($sp) -.L80017784: -/* 018384 80017784 8FB9014C */ lw $t9, 0x14c($sp) -/* 018388 80017788 00115880 */ sll $t3, $s1, 2 -/* 01838C 8001778C 1320000D */ beqz $t9, .L800177C4 -/* 018390 80017790 02487824 */ and $t7, $s2, $t0 -/* 018394 80017794 001E1080 */ sll $v0, $fp, 2 -/* 018398 80017798 03A26821 */ addu $t5, $sp, $v0 -/* 01839C 8001779C C5A80100 */ lwc1 $f8, 0x100($t5) -/* 0183A0 800177A0 032B8021 */ addu $s0, $t9, $t3 -/* 0183A4 800177A4 03A26021 */ addu $t4, $sp, $v0 -/* 0183A8 800177A8 E608000C */ swc1 $f8, 0xc($s0) -/* 0183AC 800177AC C58400F0 */ lwc1 $f4, 0xf0($t4) -/* 0183B0 800177B0 03A27021 */ addu $t6, $sp, $v0 -/* 0183B4 800177B4 E6040010 */ swc1 $f4, 0x10($s0) -/* 0183B8 800177B8 C5CA00E0 */ lwc1 $f10, 0xe0($t6) -/* 0183BC 800177BC 00000000 */ nop -/* 0183C0 800177C0 E60A0014 */ swc1 $f10, 0x14($s0) -.L800177C4: -/* 0183C4 800177C4 11E00018 */ beqz $t7, .L80017828 -/* 0183C8 800177C8 001E1080 */ sll $v0, $fp, 2 -/* 0183CC 800177CC 03A25021 */ addu $t2, $sp, $v0 -/* 0183D0 800177D0 03A2C021 */ addu $t8, $sp, $v0 -/* 0183D4 800177D4 03A2C821 */ addu $t9, $sp, $v0 -/* 0183D8 800177D8 8FA30188 */ lw $v1, 0x188($sp) -/* 0183DC 800177DC 8F2700E0 */ lw $a3, 0xe0($t9) -/* 0183E0 800177E0 8F0600F0 */ lw $a2, 0xf0($t8) -/* 0183E4 800177E4 8D450100 */ lw $a1, 0x100($t2) -/* 0183E8 800177E8 262A0002 */ addiu $t2, $s1, 2 -/* 0183EC 800177EC 262C0001 */ addiu $t4, $s1, 1 -/* 0183F0 800177F0 000C7080 */ sll $t6, $t4, 2 -/* 0183F4 800177F4 000AC080 */ sll $t8, $t2, 2 -/* 0183F8 800177F8 00115880 */ sll $t3, $s1, 2 -/* 0183FC 800177FC 8FA400DC */ lw $a0, 0xdc($sp) -/* 018400 80017800 01636821 */ addu $t5, $t3, $v1 -/* 018404 80017804 0303C821 */ addu $t9, $t8, $v1 -/* 018408 80017808 01C37821 */ addu $t7, $t6, $v1 -/* 01840C 8001780C AFAF0014 */ sw $t7, 0x14($sp) -/* 018410 80017810 AFB90018 */ sw $t9, 0x18($sp) -/* 018414 80017814 AFAD0010 */ sw $t5, 0x10($sp) -/* 018418 80017818 0C01BD93 */ jal guMtxXFMF -/* 01841C 8001781C AFA8016C */ sw $t0, 0x16c($sp) -/* 018420 80017820 8FA8016C */ lw $t0, 0x16c($sp) -/* 018424 80017824 00000000 */ nop -.L80017828: -/* 018428 80017828 8FAD017C */ lw $t5, 0x17c($sp) -/* 01842C 8001782C 27DE0001 */ addiu $fp, $fp, 1 -/* 018430 80017830 00085840 */ sll $t3, $t0, 1 -/* 018434 80017834 01604025 */ move $t0, $t3 -/* 018438 80017838 17CDFFD2 */ bne $fp, $t5, .L80017784 -/* 01843C 8001783C 26310003 */ addiu $s1, $s1, 3 -.L80017840: -/* 018440 80017840 8FAC0168 */ lw $t4, 0x168($sp) -/* 018444 80017844 8FAF0170 */ lw $t7, 0x170($sp) -/* 018448 80017848 8FB80088 */ lw $t8, 0x88($sp) -/* 01844C 8001784C 8FAB0160 */ lw $t3, 0x160($sp) -/* 018450 80017850 01927025 */ or $t6, $t4, $s2 -/* 018454 80017854 25EA0001 */ addiu $t2, $t7, 1 -/* 018458 80017858 27190004 */ addiu $t9, $t8, 4 -/* 01845C 8001785C AFAE0168 */ sw $t6, 0x168($sp) -/* 018460 80017860 AFB90088 */ sw $t9, 0x88($sp) -/* 018464 80017864 154BFF14 */ bne $t2, $t3, .L800174B8 -/* 018468 80017868 AFAA0170 */ sw $t2, 0x170($sp) -/* 01846C 8001786C 8FA60180 */ lw $a2, 0x180($sp) -/* 018470 80017870 01C03825 */ move $a3, $t6 -.L80017874: -/* 018474 80017874 30ED0001 */ andi $t5, $a3, 1 -/* 018478 80017878 11A00003 */ beqz $t5, .L80017888 -/* 01847C 8001787C ACC00000 */ sw $zero, ($a2) -/* 018480 80017880 240F0001 */ li $t7, 1 -/* 018484 80017884 ACCF0000 */ sw $t7, ($a2) -.L80017888: -/* 018488 80017888 30F80002 */ andi $t8, $a3, 2 -/* 01848C 8001788C 13000005 */ beqz $t8, .L800178A4 -/* 018490 80017890 30EB0004 */ andi $t3, $a3, 4 -/* 018494 80017894 8CD90000 */ lw $t9, ($a2) -/* 018498 80017898 00000000 */ nop -/* 01849C 8001789C 272A0001 */ addiu $t2, $t9, 1 -/* 0184A0 800178A0 ACCA0000 */ sw $t2, ($a2) -.L800178A4: -/* 0184A4 800178A4 11600005 */ beqz $t3, .L800178BC -/* 0184A8 800178A8 30EC0008 */ andi $t4, $a3, 8 -/* 0184AC 800178AC 8CCE0000 */ lw $t6, ($a2) -/* 0184B0 800178B0 00000000 */ nop -/* 0184B4 800178B4 25CD0001 */ addiu $t5, $t6, 1 -/* 0184B8 800178B8 ACCD0000 */ sw $t5, ($a2) -.L800178BC: -/* 0184BC 800178BC 11800005 */ beqz $t4, .L800178D4 -/* 0184C0 800178C0 00E01025 */ move $v0, $a3 -/* 0184C4 800178C4 8CCF0000 */ lw $t7, ($a2) -/* 0184C8 800178C8 00000000 */ nop -/* 0184CC 800178CC 25F80001 */ addiu $t8, $t7, 1 -/* 0184D0 800178D0 ACD80000 */ sw $t8, ($a2) -.L800178D4: -/* 0184D4 800178D4 8FBF0064 */ lw $ra, 0x64($sp) -/* 0184D8 800178D8 C7B50038 */ lwc1 $f21, 0x38($sp) -/* 0184DC 800178DC C7B4003C */ lwc1 $f20, 0x3c($sp) -/* 0184E0 800178E0 8FB00040 */ lw $s0, 0x40($sp) -/* 0184E4 800178E4 8FB10044 */ lw $s1, 0x44($sp) -/* 0184E8 800178E8 8FB20048 */ lw $s2, 0x48($sp) -/* 0184EC 800178EC 8FB3004C */ lw $s3, 0x4c($sp) -/* 0184F0 800178F0 8FB40050 */ lw $s4, 0x50($sp) -/* 0184F4 800178F4 8FB50054 */ lw $s5, 0x54($sp) -/* 0184F8 800178F8 8FB60058 */ lw $s6, 0x58($sp) -/* 0184FC 800178FC 8FB7005C */ lw $s7, 0x5c($sp) -/* 018500 80017900 8FBE0060 */ lw $fp, 0x60($sp) -/* 018504 80017904 03E00008 */ jr $ra -/* 018508 80017908 27BD0178 */ addiu $sp, $sp, 0x178 - diff --git a/asm/non_matchings/objects/func_80017A18.s b/asm/non_matchings/objects/func_80017A18.s deleted file mode 100644 index 394e9c77..00000000 --- a/asm/non_matchings/objects/func_80017A18.s +++ /dev/null @@ -1,305 +0,0 @@ -.late_rodata -glabel D_800E5608 -.double -0.1 -glabel D_800E5610 -.double -0.1 -glabel D_800E5618 -.double 0.707 - -.text -glabel func_80017A18 -/* 018618 80017A18 27BDFEE0 */ addiu $sp, $sp, -0x120 -/* 01861C 80017A1C AFBF005C */ sw $ra, 0x5c($sp) -/* 018620 80017A20 AFBE0058 */ sw $fp, 0x58($sp) -/* 018624 80017A24 AFB70054 */ sw $s7, 0x54($sp) -/* 018628 80017A28 AFB60050 */ sw $s6, 0x50($sp) -/* 01862C 80017A2C AFB5004C */ sw $s5, 0x4c($sp) -/* 018630 80017A30 AFB40048 */ sw $s4, 0x48($sp) -/* 018634 80017A34 AFB30044 */ sw $s3, 0x44($sp) -/* 018638 80017A38 AFB20040 */ sw $s2, 0x40($sp) -/* 01863C 80017A3C AFB1003C */ sw $s1, 0x3c($sp) -/* 018640 80017A40 AFB00038 */ sw $s0, 0x38($sp) -/* 018644 80017A44 E7BF0030 */ swc1 $f31, 0x30($sp) -/* 018648 80017A48 E7BE0034 */ swc1 $f30, 0x34($sp) -/* 01864C 80017A4C E7BD0028 */ swc1 $f29, 0x28($sp) -/* 018650 80017A50 E7BC002C */ swc1 $f28, 0x2c($sp) -/* 018654 80017A54 E7BB0020 */ swc1 $f27, 0x20($sp) -/* 018658 80017A58 E7BA0024 */ swc1 $f26, 0x24($sp) -/* 01865C 80017A5C E7B90018 */ swc1 $f25, 0x18($sp) -/* 018660 80017A60 E7B8001C */ swc1 $f24, 0x1c($sp) -/* 018664 80017A64 E7B70010 */ swc1 $f23, 0x10($sp) -/* 018668 80017A68 E7B60014 */ swc1 $f22, 0x14($sp) -/* 01866C 80017A6C E7B50008 */ swc1 $f21, 8($sp) -/* 018670 80017A70 E7B4000C */ swc1 $f20, 0xc($sp) -/* 018674 80017A74 AFA50124 */ sw $a1, 0x124($sp) -/* 018678 80017A78 AFA60128 */ sw $a2, 0x128($sp) -/* 01867C 80017A7C AFA000F8 */ sw $zero, 0xf8($sp) -/* 018680 80017A80 8C880010 */ lw $t0, 0x10($a0) -/* 018684 80017A84 00808025 */ move $s0, $a0 -/* 018688 80017A88 24160001 */ li $s6, 1 -/* 01868C 80017A8C 18A000E0 */ blez $a1, .L80017E10 -/* 018690 80017A90 00008825 */ move $s1, $zero -/* 018694 80017A94 8FAF0144 */ lw $t7, 0x144($sp) -/* 018698 80017A98 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 01869C 80017A9C 00E0B825 */ move $s7, $a3 -/* 0186A0 80017AA0 4481C000 */ mtc1 $at, $f24 -/* 0186A4 80017AA4 8FB20138 */ lw $s2, 0x138($sp) -/* 0186A8 80017AA8 8FB3013C */ lw $s3, 0x13c($sp) -/* 0186AC 80017AAC 8FB40140 */ lw $s4, 0x140($sp) -/* 0186B0 80017AB0 8FBE0130 */ lw $fp, 0x130($sp) -/* 0186B4 80017AB4 8FBF0134 */ lw $ra, 0x134($sp) -/* 0186B8 80017AB8 8FB50148 */ lw $s5, 0x148($sp) -/* 0186BC 80017ABC 24070001 */ li $a3, 1 -/* 0186C0 80017AC0 AFAF0080 */ sw $t7, 0x80($sp) -.L80017AC4: -/* 0186C4 80017AC4 C6440000 */ lwc1 $f4, ($s2) -/* 0186C8 80017AC8 8FAE0080 */ lw $t6, 0x80($sp) -/* 0186CC 80017ACC E7A400BC */ swc1 $f4, 0xbc($sp) -/* 0186D0 80017AD0 C6880000 */ lwc1 $f8, ($s4) -/* 0186D4 80017AD4 C67E0000 */ lwc1 $f30, ($s3) -/* 0186D8 80017AD8 E7A800B4 */ swc1 $f8, 0xb4($sp) -/* 0186DC 80017ADC C7AA014C */ lwc1 $f10, 0x14c($sp) -/* 0186E0 80017AE0 C5C60000 */ lwc1 $f6, ($t6) -/* 0186E4 80017AE4 C6F20000 */ lwc1 $f18, ($s7) -/* 0186E8 80017AE8 460A3102 */ mul.s $f4, $f6, $f10 -/* 0186EC 80017AEC C7D40000 */ lwc1 $f20, ($fp) -/* 0186F0 80017AF0 C7F60000 */ lwc1 $f22, ($ra) -/* 0186F4 80017AF4 26F70004 */ addiu $s7, $s7, 4 -/* 0186F8 80017AF8 E7A400C0 */ swc1 $f4, 0xc0($sp) -/* 0186FC 80017AFC 860B0032 */ lh $t3, 0x32($s0) -/* 018700 80017B00 00006025 */ move $t4, $zero -/* 018704 80017B04 00006825 */ move $t5, $zero -.L80017B08: -/* 018708 80017B08 196000A7 */ blez $t3, .L80017DA8 -/* 01870C 80017B0C 00005025 */ move $t2, $zero -/* 018710 80017B10 E7B200A4 */ swc1 $f18, 0xa4($sp) -/* 018714 80017B14 E7B400A0 */ swc1 $f20, 0xa0($sp) -/* 018718 80017B18 E7B6009C */ swc1 $f22, 0x9c($sp) -.L80017B1C: -/* 01871C 80017B1C 8E18000C */ lw $t8, 0xc($s0) -/* 018720 80017B20 C7BC00A4 */ lwc1 $f28, 0xa4($sp) -/* 018724 80017B24 C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 018728 80017B28 C7B4009C */ lwc1 $f20, 0x9c($sp) -/* 01872C 80017B2C 000AC8C0 */ sll $t9, $t2, 3 -/* 018730 80017B30 03194821 */ addu $t1, $t8, $t9 -/* 018734 80017B34 952F0000 */ lhu $t7, ($t1) -/* 018738 80017B38 C7B200C0 */ lwc1 $f18, 0xc0($sp) -/* 01873C 80017B3C 000F7100 */ sll $t6, $t7, 4 -/* 018740 80017B40 010E1021 */ addu $v0, $t0, $t6 -/* 018744 80017B44 C45A0004 */ lwc1 $f26, 4($v0) -/* 018748 80017B48 C4500000 */ lwc1 $f16, ($v0) -/* 01874C 80017B4C 4606D382 */ mul.s $f14, $f26, $f6 -/* 018750 80017B50 C44C0008 */ lwc1 $f12, 8($v0) -/* 018754 80017B54 C44A000C */ lwc1 $f10, 0xc($v0) -/* 018758 80017B58 E7B000E4 */ swc1 $f16, 0xe4($sp) -/* 01875C 80017B5C 461C8102 */ mul.s $f4, $f16, $f28 -/* 018760 80017B60 C7B000E4 */ lwc1 $f16, 0xe4($sp) -/* 018764 80017B64 E7AC00DC */ swc1 $f12, 0xdc($sp) -/* 018768 80017B68 C7A800DC */ lwc1 $f8, 0xdc($sp) -/* 01876C 80017B6C 46146302 */ mul.s $f12, $f12, $f20 -/* 018770 80017B70 460E2100 */ add.s $f4, $f4, $f14 -/* 018774 80017B74 E7A60064 */ swc1 $f6, 0x64($sp) -/* 018778 80017B78 C7A600B4 */ lwc1 $f6, 0xb4($sp) -/* 01877C 80017B7C 461ED382 */ mul.s $f14, $f26, $f30 -/* 018780 80017B80 460C2100 */ add.s $f4, $f4, $f12 -/* 018784 80017B84 E7AA00D8 */ swc1 $f10, 0xd8($sp) -/* 018788 80017B88 C7AC00D8 */ lwc1 $f12, 0xd8($sp) -/* 01878C 80017B8C 46064202 */ mul.s $f8, $f8, $f6 -/* 018790 80017B90 460A2280 */ add.s $f10, $f4, $f10 -/* 018794 80017B94 C7A400BC */ lwc1 $f4, 0xbc($sp) -/* 018798 80017B98 3C01800E */ lui $at, %hi(D_800E5608) # $at, 0x800e -/* 01879C 80017B9C 46048402 */ mul.s $f16, $f16, $f4 -/* 0187A0 80017BA0 46125001 */ sub.s $f0, $f10, $f18 -/* 0187A4 80017BA4 C42A560C */ lwc1 $f10, %lo(D_800E5608 + 4)($at) -/* 0187A8 80017BA8 E7BC0060 */ swc1 $f28, 0x60($sp) -/* 0187AC 80017BAC 460E8380 */ add.s $f14, $f16, $f14 -/* 0187B0 80017BB0 E7B40068 */ swc1 $f20, 0x68($sp) -/* 0187B4 80017BB4 46087380 */ add.s $f14, $f14, $f8 -/* 0187B8 80017BB8 E7B00074 */ swc1 $f16, 0x74($sp) -/* 0187BC 80017BBC 460C7300 */ add.s $f12, $f14, $f12 -/* 0187C0 80017BC0 C42B5608 */ lwc1 $f11, %lo(D_800E5608)($at) -/* 0187C4 80017BC4 460003A1 */ cvt.d.s $f14, $f0 -/* 0187C8 80017BC8 462E503E */ c.le.d $f10, $f14 -/* 0187CC 80017BCC 46126581 */ sub.s $f22, $f12, $f18 -/* 0187D0 80017BD0 4500006D */ bc1f .L80017D88 -/* 0187D4 80017BD4 E7A80070 */ swc1 $f8, 0x70($sp) -/* 0187D8 80017BD8 3C01800E */ lui $at, %hi(D_800E5610 + 4) # $at, 0x800e -/* 0187DC 80017BDC C4295610 */ lwc1 $f9, %lo(D_800E5610)($at) -/* 0187E0 80017BE0 C4285614 */ lwc1 $f8, %lo(D_800E5610 + 4)($at) -/* 0187E4 80017BE4 4600B2A1 */ cvt.d.s $f10, $f22 -/* 0187E8 80017BE8 4628503C */ c.lt.d $f10, $f8 -/* 0187EC 80017BEC C7AA0060 */ lwc1 $f10, 0x60($sp) -/* 0187F0 80017BF0 45000065 */ bc1f .L80017D88 -/* 0187F4 80017BF4 24060001 */ li $a2, 1 -/* 0187F8 80017BF8 460A2301 */ sub.s $f12, $f4, $f10 -/* 0187FC 80017BFC C7A40068 */ lwc1 $f4, 0x68($sp) -/* 018800 80017C00 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 018804 80017C04 46160032 */ c.eq.s $f0, $f22 -/* 018808 80017C08 00001025 */ move $v0, $zero -/* 01880C 80017C0C 46043701 */ sub.s $f28, $f6, $f4 -/* 018810 80017C10 45010004 */ bc1t .L80017C24 -/* 018814 80017C14 4608F381 */ sub.s $f14, $f30, $f8 -/* 018818 80017C18 46160281 */ sub.s $f10, $f0, $f22 -/* 01881C 80017C1C 10000003 */ b .L80017C2C -/* 018820 80017C20 460A0083 */ div.s $f2, $f0, $f10 -.L80017C24: -/* 018824 80017C24 44801000 */ mtc1 $zero, $f2 -/* 018828 80017C28 00000000 */ nop -.L80017C2C: -/* 01882C 80017C2C 46026202 */ mul.s $f8, $f12, $f2 -/* 018830 80017C30 C7A600A4 */ lwc1 $f6, 0xa4($sp) -/* 018834 80017C34 C7AA00A0 */ lwc1 $f10, 0xa0($sp) -/* 018838 80017C38 00021840 */ sll $v1, $v0, 1 -/* 01883C 80017C3C 46027102 */ mul.s $f4, $f14, $f2 -/* 018840 80017C40 46064400 */ add.s $f16, $f8, $f6 -/* 018844 80017C44 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 018848 80017C48 01232021 */ addu $a0, $t1, $v1 -/* 01884C 80017C4C 4602E202 */ mul.s $f8, $f28, $f2 -/* 018850 80017C50 460A2480 */ add.s $f18, $f4, $f10 -/* 018854 80017C54 46064500 */ add.s $f20, $f8, $f6 -.L80017C58: -/* 018858 80017C58 94980002 */ lhu $t8, 2($a0) -/* 01885C 80017C5C 24630002 */ addiu $v1, $v1, 2 -/* 018860 80017C60 0018C900 */ sll $t9, $t8, 4 -/* 018864 80017C64 01191021 */ addu $v0, $t0, $t9 -/* 018868 80017C68 C4400000 */ lwc1 $f0, ($v0) -/* 01886C 80017C6C C4420004 */ lwc1 $f2, 4($v0) -/* 018870 80017C70 46100102 */ mul.s $f4, $f0, $f16 -/* 018874 80017C74 C44C0008 */ lwc1 $f12, 8($v0) -/* 018878 80017C78 C44E000C */ lwc1 $f14, 0xc($v0) -/* 01887C 80017C7C 28610006 */ slti $at, $v1, 6 -/* 018880 80017C80 46121282 */ mul.s $f10, $f2, $f18 -/* 018884 80017C84 00000000 */ nop -/* 018888 80017C88 46146182 */ mul.s $f6, $f12, $f20 -/* 01888C 80017C8C 460A2200 */ add.s $f8, $f4, $f10 -/* 018890 80017C90 46064100 */ add.s $f4, $f8, $f6 -/* 018894 80017C94 460E2280 */ add.s $f10, $f4, $f14 -/* 018898 80017C98 460AC03C */ c.lt.s $f24, $f10 -/* 01889C 80017C9C 00000000 */ nop -/* 0188A0 80017CA0 45000002 */ bc1f .L80017CAC -/* 0188A4 80017CA4 00000000 */ nop -/* 0188A8 80017CA8 00003025 */ move $a2, $zero -.L80017CAC: -/* 0188AC 80017CAC 10200003 */ beqz $at, .L80017CBC -/* 0188B0 80017CB0 24840002 */ addiu $a0, $a0, 2 -/* 0188B4 80017CB4 10C7FFE8 */ beq $a2, $a3, .L80017C58 -/* 0188B8 80017CB8 00000000 */ nop -.L80017CBC: -/* 0188BC 80017CBC 10C00032 */ beqz $a2, .L80017D88 -/* 0188C0 80017CC0 3C01800E */ lui $at, %hi(D_800E5618 + 4) # $at, 0x800e -/* 0188C4 80017CC4 C4295618 */ lwc1 $f9, %lo(D_800E5618)($at) -/* 0188C8 80017CC8 C428561C */ lwc1 $f8, %lo(D_800E5618 + 4)($at) -/* 0188CC 80017CCC 4600D1A1 */ cvt.d.s $f6, $f26 -/* 0188D0 80017CD0 4626403C */ c.lt.d $f8, $f6 -/* 0188D4 80017CD4 240D0001 */ li $t5, 1 -/* 0188D8 80017CD8 4500000A */ bc1f .L80017D04 -/* 0188DC 80017CDC 02B11021 */ addu $v0, $s5, $s1 -/* 0188E0 80017CE0 C7A40074 */ lwc1 $f4, 0x74($sp) -/* 0188E4 80017CE4 C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 0188E8 80017CE8 C7A600D8 */ lwc1 $f6, 0xd8($sp) -/* 0188EC 80017CEC 460A2200 */ add.s $f8, $f4, $f10 -/* 0188F0 80017CF0 C7AA00C0 */ lwc1 $f10, 0xc0($sp) -/* 0188F4 80017CF4 46064100 */ add.s $f4, $f8, $f6 -/* 0188F8 80017CF8 46045201 */ sub.s $f8, $f10, $f4 -/* 0188FC 80017CFC 1000000D */ b .L80017D34 -/* 018900 80017D00 461A4783 */ div.s $f30, $f8, $f26 -.L80017D04: -/* 018904 80017D04 C7AA00E4 */ lwc1 $f10, 0xe4($sp) -/* 018908 80017D08 C7A600BC */ lwc1 $f6, 0xbc($sp) -/* 01890C 80017D0C 460AB102 */ mul.s $f4, $f22, $f10 -/* 018910 80017D10 46043201 */ sub.s $f8, $f6, $f4 -/* 018914 80017D14 C7A400DC */ lwc1 $f4, 0xdc($sp) -/* 018918 80017D18 461AB282 */ mul.s $f10, $f22, $f26 -/* 01891C 80017D1C E7A800BC */ swc1 $f8, 0xbc($sp) -/* 018920 80017D20 C7A600B4 */ lwc1 $f6, 0xb4($sp) -/* 018924 80017D24 4604B202 */ mul.s $f8, $f22, $f4 -/* 018928 80017D28 460AF781 */ sub.s $f30, $f30, $f10 -/* 01892C 80017D2C 46083281 */ sub.s $f10, $f6, $f8 -/* 018930 80017D30 E7AA00B4 */ swc1 $f10, 0xb4($sp) -.L80017D34: -/* 018934 80017D34 258C0001 */ addiu $t4, $t4, 1 -/* 018938 80017D38 2981000B */ slti $at, $t4, 0xb -/* 01893C 80017D3C 14200007 */ bnez $at, .L80017D5C -/* 018940 80017D40 00000000 */ nop -/* 018944 80017D44 C7A400A4 */ lwc1 $f4, 0xa4($sp) -/* 018948 80017D48 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 01894C 80017D4C C7BE00A0 */ lwc1 $f30, 0xa0($sp) -/* 018950 80017D50 00006825 */ move $t5, $zero -/* 018954 80017D54 E7A400BC */ swc1 $f4, 0xbc($sp) -/* 018958 80017D58 E7A600B4 */ swc1 $f6, 0xb4($sp) -.L80017D5C: -/* 01895C 80017D5C A0400000 */ sb $zero, ($v0) -/* 018960 80017D60 C7A800BC */ lwc1 $f8, 0xbc($sp) -/* 018964 80017D64 00000000 */ nop -/* 018968 80017D68 E6480000 */ swc1 $f8, ($s2) -/* 01896C 80017D6C E67E0000 */ swc1 $f30, ($s3) -/* 018970 80017D70 C7AA00B4 */ lwc1 $f10, 0xb4($sp) -/* 018974 80017D74 00000000 */ nop -/* 018978 80017D78 E68A0000 */ swc1 $f10, ($s4) -/* 01897C 80017D7C 860B0032 */ lh $t3, 0x32($s0) -/* 018980 80017D80 00000000 */ nop -/* 018984 80017D84 01605025 */ move $t2, $t3 -.L80017D88: -/* 018988 80017D88 254A0001 */ addiu $t2, $t2, 1 -/* 01898C 80017D8C 014B082A */ slt $at, $t2, $t3 -/* 018990 80017D90 1420FF62 */ bnez $at, .L80017B1C -/* 018994 80017D94 00000000 */ nop -/* 018998 80017D98 C7B6009C */ lwc1 $f22, 0x9c($sp) -/* 01899C 80017D9C C7B400A0 */ lwc1 $f20, 0xa0($sp) -/* 0189A0 80017DA0 C7B200A4 */ lwc1 $f18, 0xa4($sp) -/* 0189A4 80017DA4 00000000 */ nop -.L80017DA8: -/* 0189A8 80017DA8 15A0FF57 */ bnez $t5, .L80017B08 -/* 0189AC 80017DAC 00006825 */ move $t5, $zero -/* 0189B0 80017DB0 1980000B */ blez $t4, .L80017DE0 -/* 0189B4 80017DB4 26310001 */ addiu $s1, $s1, 1 -/* 0189B8 80017DB8 8FAF0128 */ lw $t7, 0x128($sp) -/* 0189BC 80017DBC 00000000 */ nop -/* 0189C0 80017DC0 8DEE0000 */ lw $t6, ($t7) -/* 0189C4 80017DC4 00000000 */ nop -/* 0189C8 80017DC8 25D80001 */ addiu $t8, $t6, 1 -/* 0189CC 80017DCC ADF80000 */ sw $t8, ($t7) -/* 0189D0 80017DD0 8FB900F8 */ lw $t9, 0xf8($sp) -/* 0189D4 80017DD4 00000000 */ nop -/* 0189D8 80017DD8 03367025 */ or $t6, $t9, $s6 -/* 0189DC 80017DDC AFAE00F8 */ sw $t6, 0xf8($sp) -.L80017DE0: -/* 0189E0 80017DE0 8FAF0080 */ lw $t7, 0x80($sp) -/* 0189E4 80017DE4 8FAE0124 */ lw $t6, 0x124($sp) -/* 0189E8 80017DE8 0016C040 */ sll $t8, $s6, 1 -/* 0189EC 80017DEC 25F90004 */ addiu $t9, $t7, 4 -/* 0189F0 80017DF0 AFB90080 */ sw $t9, 0x80($sp) -/* 0189F4 80017DF4 26520004 */ addiu $s2, $s2, 4 -/* 0189F8 80017DF8 26730004 */ addiu $s3, $s3, 4 -/* 0189FC 80017DFC 26940004 */ addiu $s4, $s4, 4 -/* 018A00 80017E00 27DE0004 */ addiu $fp, $fp, 4 -/* 018A04 80017E04 27FF0004 */ addiu $ra, $ra, 4 -/* 018A08 80017E08 162EFF2E */ bne $s1, $t6, .L80017AC4 -/* 018A0C 80017E0C 0300B025 */ move $s6, $t8 -.L80017E10: -/* 018A10 80017E10 8FBF005C */ lw $ra, 0x5c($sp) -/* 018A14 80017E14 8FA200F8 */ lw $v0, 0xf8($sp) -/* 018A18 80017E18 C7B50008 */ lwc1 $f21, 8($sp) -/* 018A1C 80017E1C C7B4000C */ lwc1 $f20, 0xc($sp) -/* 018A20 80017E20 C7B70010 */ lwc1 $f23, 0x10($sp) -/* 018A24 80017E24 C7B60014 */ lwc1 $f22, 0x14($sp) -/* 018A28 80017E28 C7B90018 */ lwc1 $f25, 0x18($sp) -/* 018A2C 80017E2C C7B8001C */ lwc1 $f24, 0x1c($sp) -/* 018A30 80017E30 C7BB0020 */ lwc1 $f27, 0x20($sp) -/* 018A34 80017E34 C7BA0024 */ lwc1 $f26, 0x24($sp) -/* 018A38 80017E38 C7BD0028 */ lwc1 $f29, 0x28($sp) -/* 018A3C 80017E3C C7BC002C */ lwc1 $f28, 0x2c($sp) -/* 018A40 80017E40 C7BF0030 */ lwc1 $f31, 0x30($sp) -/* 018A44 80017E44 C7BE0034 */ lwc1 $f30, 0x34($sp) -/* 018A48 80017E48 8FB00038 */ lw $s0, 0x38($sp) -/* 018A4C 80017E4C 8FB1003C */ lw $s1, 0x3c($sp) -/* 018A50 80017E50 8FB20040 */ lw $s2, 0x40($sp) -/* 018A54 80017E54 8FB30044 */ lw $s3, 0x44($sp) -/* 018A58 80017E58 8FB40048 */ lw $s4, 0x48($sp) -/* 018A5C 80017E5C 8FB5004C */ lw $s5, 0x4c($sp) -/* 018A60 80017E60 8FB60050 */ lw $s6, 0x50($sp) -/* 018A64 80017E64 8FB70054 */ lw $s7, 0x54($sp) -/* 018A68 80017E68 8FBE0058 */ lw $fp, 0x58($sp) -/* 018A6C 80017E6C 03E00008 */ jr $ra -/* 018A70 80017E70 27BD0120 */ addiu $sp, $sp, 0x120 - diff --git a/asm/non_matchings/objects/func_80017E98.s b/asm/non_matchings/objects/func_80017E98.s deleted file mode 100644 index 99120adc..00000000 --- a/asm/non_matchings/objects/func_80017E98.s +++ /dev/null @@ -1,492 +0,0 @@ -glabel func_80017E98 -/* 018A98 80017E98 27BDFEE8 */ addiu $sp, $sp, -0x118 -/* 018A9C 80017E9C 3C038012 */ lui $v1, %hi(gObjectCount) # $v1, 0x8012 -/* 018AA0 80017EA0 8C63AE5C */ lw $v1, %lo(gObjectCount)($v1) -/* 018AA4 80017EA4 AFB30044 */ sw $s3, 0x44($sp) -/* 018AA8 80017EA8 3C018012 */ lui $at, %hi(gNumberOfCheckpoints) # $at, 0x8012 -/* 018AAC 80017EAC AFBF005C */ sw $ra, 0x5c($sp) -/* 018AB0 80017EB0 AFBE0058 */ sw $fp, 0x58($sp) -/* 018AB4 80017EB4 AFB70054 */ sw $s7, 0x54($sp) -/* 018AB8 80017EB8 AFB60050 */ sw $s6, 0x50($sp) -/* 018ABC 80017EBC AFB5004C */ sw $s5, 0x4c($sp) -/* 018AC0 80017EC0 AFB40048 */ sw $s4, 0x48($sp) -/* 018AC4 80017EC4 AFB20040 */ sw $s2, 0x40($sp) -/* 018AC8 80017EC8 AFB1003C */ sw $s1, 0x3c($sp) -/* 018ACC 80017ECC AFB00038 */ sw $s0, 0x38($sp) -/* 018AD0 80017ED0 E7B70030 */ swc1 $f23, 0x30($sp) -/* 018AD4 80017ED4 E7B60034 */ swc1 $f22, 0x34($sp) -/* 018AD8 80017ED8 E7B50028 */ swc1 $f21, 0x28($sp) -/* 018ADC 80017EDC E7B4002C */ swc1 $f20, 0x2c($sp) -/* 018AE0 80017EE0 00005025 */ move $t2, $zero -/* 018AE4 80017EE4 AC20AED0 */ sw $zero, %lo(gNumberOfCheckpoints)($at) -/* 018AE8 80017EE8 18600047 */ blez $v1, .L80018008 -/* 018AEC 80017EEC 00009825 */ move $s3, $zero -/* 018AF0 80017EF0 3C148012 */ lui $s4, %hi(gTrackCheckpoints) # $s4, 0x8012 -/* 018AF4 80017EF4 3C098012 */ lui $t1, %hi(gTajChallengeType) # $t1, 0x8012 -/* 018AF8 80017EF8 3C068012 */ lui $a2, %hi(gObjPtrList) # $a2, 0x8012 -/* 018AFC 80017EFC 24C6AE58 */ addiu $a2, %lo(gObjPtrList) # addiu $a2, $a2, -0x51a8 -/* 018B00 80017F00 2529AED8 */ addiu $t1, %lo(gTajChallengeType) # addiu $t1, $t1, -0x5128 -/* 018B04 80017F04 2694AECC */ addiu $s4, %lo(gTrackCheckpoints) # addiu $s4, $s4, -0x5134 -/* 018B08 80017F08 00001025 */ move $v0, $zero -/* 018B0C 80017F0C 2408000D */ li $t0, 13 -/* 018B10 80017F10 2405003C */ li $a1, 60 -.L80017F14: -/* 018B14 80017F14 8CCE0000 */ lw $t6, ($a2) -/* 018B18 80017F18 26730001 */ addiu $s3, $s3, 1 -/* 018B1C 80017F1C 01C27821 */ addu $t7, $t6, $v0 -/* 018B20 80017F20 8DF00000 */ lw $s0, ($t7) -/* 018B24 80017F24 00000000 */ nop -/* 018B28 80017F28 86180006 */ lh $t8, 6($s0) -/* 018B2C 80017F2C 00000000 */ nop -/* 018B30 80017F30 33198000 */ andi $t9, $t8, 0x8000 -/* 018B34 80017F34 17200032 */ bnez $t9, .L80018000 -/* 018B38 80017F38 0263082A */ slt $at, $s3, $v1 -/* 018B3C 80017F3C 860B0048 */ lh $t3, 0x48($s0) -/* 018B40 80017F40 3C078012 */ lui $a3, %hi(gNumberOfCheckpoints) # $a3, 0x8012 -/* 018B44 80017F44 150B002E */ bne $t0, $t3, .L80018000 -/* 018B48 80017F48 0263082A */ slt $at, $s3, $v1 -/* 018B4C 80017F4C 8CE7AED0 */ lw $a3, %lo(gNumberOfCheckpoints)($a3) -/* 018B50 80017F50 00000000 */ nop -/* 018B54 80017F54 28E1003C */ slti $at, $a3, 0x3c -/* 018B58 80017F58 10200029 */ beqz $at, .L80018000 -/* 018B5C 80017F5C 0263082A */ slt $at, $s3, $v1 -/* 018B60 80017F60 8E17003C */ lw $s7, 0x3c($s0) -/* 018B64 80017F64 852C0000 */ lh $t4, ($t1) -/* 018B68 80017F68 82ED001A */ lb $t5, 0x1a($s7) -/* 018B6C 80017F6C 00000000 */ nop -/* 018B70 80017F70 158D0023 */ bne $t4, $t5, .L80018000 -/* 018B74 80017F74 0263082A */ slt $at, $s3, $v1 -/* 018B78 80017F78 00E50019 */ multu $a3, $a1 -/* 018B7C 80017F7C 8E8E0000 */ lw $t6, ($s4) -/* 018B80 80017F80 3C078012 */ lui $a3, %hi(gNumberOfCheckpoints) # $a3, 0x8012 -/* 018B84 80017F84 24E7AED0 */ addiu $a3, %lo(gNumberOfCheckpoints) # addiu $a3, $a3, -0x5130 -/* 018B88 80017F88 00007812 */ mflo $t7 -/* 018B8C 80017F8C 01CFC021 */ addu $t8, $t6, $t7 -/* 018B90 80017F90 AF100028 */ sw $s0, 0x28($t8) -/* 018B94 80017F94 92F90017 */ lbu $t9, 0x17($s7) -/* 018B98 80017F98 92E40009 */ lbu $a0, 9($s7) -/* 018B9C 80017F9C 13200003 */ beqz $t9, .L80017FAC -/* 018BA0 80017FA0 00000000 */ nop -/* 018BA4 80017FA4 248400FF */ addiu $a0, $a0, 0xff -/* 018BA8 80017FA8 254A0001 */ addiu $t2, $t2, 1 -.L80017FAC: -/* 018BAC 80017FAC 8CEC0000 */ lw $t4, ($a3) -/* 018BB0 80017FB0 8E8B0000 */ lw $t3, ($s4) -/* 018BB4 80017FB4 01850019 */ multu $t4, $a1 -/* 018BB8 80017FB8 240FFFFF */ li $t7, -1 -/* 018BBC 80017FBC 3C038012 */ lui $v1, %hi(gObjectCount) # $v1, 0x8012 -/* 018BC0 80017FC0 00006812 */ mflo $t5 -/* 018BC4 80017FC4 016D7021 */ addu $t6, $t3, $t5 -/* 018BC8 80017FC8 A5C4002C */ sh $a0, 0x2c($t6) -/* 018BCC 80017FCC 8CF90000 */ lw $t9, ($a3) -/* 018BD0 80017FD0 8E980000 */ lw $t8, ($s4) -/* 018BD4 80017FD4 03250019 */ multu $t9, $a1 -/* 018BD8 80017FD8 00006012 */ mflo $t4 -/* 018BDC 80017FDC 030C5821 */ addu $t3, $t8, $t4 -/* 018BE0 80017FE0 A16F003A */ sb $t7, 0x3a($t3) -/* 018BE4 80017FE4 8CED0000 */ lw $t5, ($a3) -/* 018BE8 80017FE8 00000000 */ nop -/* 018BEC 80017FEC 25AE0001 */ addiu $t6, $t5, 1 -/* 018BF0 80017FF0 ACEE0000 */ sw $t6, ($a3) -/* 018BF4 80017FF4 8C63AE5C */ lw $v1, %lo(gObjectCount)($v1) -/* 018BF8 80017FF8 00000000 */ nop -/* 018BFC 80017FFC 0263082A */ slt $at, $s3, $v1 -.L80018000: -/* 018C00 80018000 1420FFC4 */ bnez $at, .L80017F14 -/* 018C04 80018004 24420004 */ addiu $v0, $v0, 4 -.L80018008: -/* 018C08 80018008 3C078012 */ lui $a3, %hi(gNumberOfCheckpoints) # $a3, 0x8012 -/* 018C0C 8001800C 8CE7AED0 */ lw $a3, %lo(gNumberOfCheckpoints)($a3) -/* 018C10 80018010 3C148012 */ lui $s4, %hi(gTrackCheckpoints) # $s4, 0x8012 -/* 018C14 80018014 8FB20104 */ lw $s2, 0x104($sp) -/* 018C18 80018018 2694AECC */ addiu $s4, %lo(gTrackCheckpoints) # addiu $s4, $s4, -0x5134 -/* 018C1C 8001801C 00004825 */ move $t1, $zero -/* 018C20 80018020 24E6FFFF */ addiu $a2, $a3, -1 -/* 018C24 80018024 24080001 */ li $t0, 1 -.L80018028: -/* 018C28 80018028 18C00023 */ blez $a2, .L800180B8 -/* 018C2C 8001802C 00009825 */ move $s3, $zero -/* 018C30 80018030 00008825 */ move $s1, $zero -.L80018034: -/* 018C34 80018034 8E990000 */ lw $t9, ($s4) -/* 018C38 80018038 26730001 */ addiu $s3, $s3, 1 -/* 018C3C 8001803C 03311021 */ addu $v0, $t9, $s1 -/* 018C40 80018040 8443002C */ lh $v1, 0x2c($v0) -/* 018C44 80018044 84440068 */ lh $a0, 0x68($v0) -/* 018C48 80018048 00000000 */ nop -/* 018C4C 8001804C 14640003 */ bne $v1, $a0, .L8001805C -/* 018C50 80018050 0083082A */ slt $at, $a0, $v1 -/* 018C54 80018054 24090001 */ li $t1, 1 -/* 018C58 80018058 00609025 */ move $s2, $v1 -.L8001805C: -/* 018C5C 8001805C 10200014 */ beqz $at, .L800180B0 -/* 018C60 80018060 0266082A */ slt $at, $s3, $a2 -/* 018C64 80018064 A444002C */ sh $a0, 0x2c($v0) -/* 018C68 80018068 8E980000 */ lw $t8, ($s4) -/* 018C6C 8001806C 8C500028 */ lw $s0, 0x28($v0) -/* 018C70 80018070 03111021 */ addu $v0, $t8, $s1 -/* 018C74 80018074 8C4C0064 */ lw $t4, 0x64($v0) -/* 018C78 80018078 3C078012 */ lui $a3, %hi(gNumberOfCheckpoints) # $a3, 0x8012 -/* 018C7C 8001807C AC4C0028 */ sw $t4, 0x28($v0) -/* 018C80 80018080 8E8F0000 */ lw $t7, ($s4) -/* 018C84 80018084 00004025 */ move $t0, $zero -/* 018C88 80018088 01F15821 */ addu $t3, $t7, $s1 -/* 018C8C 8001808C A5630068 */ sh $v1, 0x68($t3) -/* 018C90 80018090 8E8D0000 */ lw $t5, ($s4) -/* 018C94 80018094 00000000 */ nop -/* 018C98 80018098 01B17021 */ addu $t6, $t5, $s1 -/* 018C9C 8001809C ADD00064 */ sw $s0, 0x64($t6) -/* 018CA0 800180A0 8CE7AED0 */ lw $a3, %lo(gNumberOfCheckpoints)($a3) -/* 018CA4 800180A4 00000000 */ nop -/* 018CA8 800180A8 24E6FFFF */ addiu $a2, $a3, -1 -/* 018CAC 800180AC 0266082A */ slt $at, $s3, $a2 -.L800180B0: -/* 018CB0 800180B0 1420FFE0 */ bnez $at, .L80018034 -/* 018CB4 800180B4 2631003C */ addiu $s1, $s1, 0x3c -.L800180B8: -/* 018CB8 800180B8 1100FFDB */ beqz $t0, .L80018028 -/* 018CBC 800180BC 24080001 */ li $t0, 1 -/* 018CC0 800180C0 3C088012 */ lui $t0, %hi(D_8011AED4) # $t0, 0x8012 -/* 018CC4 800180C4 2508AED4 */ addiu $t0, %lo(D_8011AED4) # addiu $t0, $t0, -0x512c -/* 018CC8 800180C8 AD070000 */ sw $a3, ($t0) -/* 018CCC 800180CC 00EAC823 */ subu $t9, $a3, $t2 -/* 018CD0 800180D0 3C018012 */ lui $at, %hi(gNumberOfCheckpoints) # $at, 0x8012 -/* 018CD4 800180D4 1120000A */ beqz $t1, .L80018100 -/* 018CD8 800180D8 AC39AED0 */ sw $t9, %lo(gNumberOfCheckpoints)($at) -/* 018CDC 800180DC 24040014 */ li $a0, 20 -/* 018CE0 800180E0 0C02D8D7 */ jal set_render_printf_position -/* 018CE4 800180E4 240500DC */ li $a1, 220 -/* 018CE8 800180E8 3C04800E */ lui $a0, %hi(sDuplicateCheckpointString) # $a0, 0x800e -/* 018CEC 800180EC 248450D4 */ addiu $a0, %lo(sDuplicateCheckpointString) # addiu $a0, $a0, 0x50d4 -/* 018CF0 800180F0 0C02D7B7 */ jal render_printf -/* 018CF4 800180F4 02402825 */ move $a1, $s2 -/* 018CF8 800180F8 3C088012 */ lui $t0, %hi(D_8011AED4) # $t0, 0x8012 -/* 018CFC 800180FC 2508AED4 */ addiu $t0, %lo(D_8011AED4) # addiu $t0, $t0, -0x512c -.L80018100: -/* 018D00 80018100 3C078012 */ lui $a3, %hi(gNumberOfCheckpoints) # $a3, 0x8012 -/* 018D04 80018104 8CE7AED0 */ lw $a3, %lo(gNumberOfCheckpoints)($a3) -/* 018D08 80018108 8D020000 */ lw $v0, ($t0) -/* 018D0C 8001810C 00E09825 */ move $s3, $a3 -/* 018D10 80018110 00E2082A */ slt $at, $a3, $v0 -/* 018D14 80018114 10200026 */ beqz $at, .L800181B0 -/* 018D18 80018118 00078900 */ sll $s1, $a3, 4 -/* 018D1C 8001811C 02278823 */ subu $s1, $s1, $a3 -/* 018D20 80018120 00118880 */ sll $s1, $s1, 2 -.L80018124: -/* 018D24 80018124 8E980000 */ lw $t8, ($s4) -/* 018D28 80018128 00002025 */ move $a0, $zero -/* 018D2C 8001812C 03116021 */ addu $t4, $t8, $s1 -/* 018D30 80018130 8585002C */ lh $a1, 0x2c($t4) -/* 018D34 80018134 00003025 */ move $a2, $zero -/* 018D38 80018138 18E00018 */ blez $a3, .L8001819C -/* 018D3C 8001813C 24A5FF01 */ addiu $a1, $a1, -0xff -/* 018D40 80018140 00001100 */ sll $v0, $zero, 4 -/* 018D44 80018144 00401023 */ subu $v0, $v0, $zero -/* 018D48 80018148 00021080 */ sll $v0, $v0, 2 -.L8001814C: -/* 018D4C 8001814C 8E8F0000 */ lw $t7, ($s4) -/* 018D50 80018150 00000000 */ nop -/* 018D54 80018154 01E21821 */ addu $v1, $t7, $v0 -/* 018D58 80018158 846B002C */ lh $t3, 0x2c($v1) -/* 018D5C 8001815C 00000000 */ nop -/* 018D60 80018160 14AB0008 */ bne $a1, $t3, .L80018184 -/* 018D64 80018164 00000000 */ nop -/* 018D68 80018168 A073003A */ sb $s3, 0x3a($v1) -/* 018D6C 8001816C 8E8D0000 */ lw $t5, ($s4) -/* 018D70 80018170 3C078012 */ lui $a3, %hi(gNumberOfCheckpoints) # $a3, 0x8012 -/* 018D74 80018174 01B17021 */ addu $t6, $t5, $s1 -/* 018D78 80018178 A1C4003A */ sb $a0, 0x3a($t6) -/* 018D7C 8001817C 8CE7AED0 */ lw $a3, %lo(gNumberOfCheckpoints)($a3) -/* 018D80 80018180 24060001 */ li $a2, 1 -.L80018184: -/* 018D84 80018184 24840001 */ addiu $a0, $a0, 1 -/* 018D88 80018188 0087082A */ slt $at, $a0, $a3 -/* 018D8C 8001818C 10200003 */ beqz $at, .L8001819C -/* 018D90 80018190 2442003C */ addiu $v0, $v0, 0x3c -/* 018D94 80018194 10C0FFED */ beqz $a2, .L8001814C -/* 018D98 80018198 00000000 */ nop -.L8001819C: -/* 018D9C 8001819C 8D020000 */ lw $v0, ($t0) -/* 018DA0 800181A0 26730001 */ addiu $s3, $s3, 1 -/* 018DA4 800181A4 0262082A */ slt $at, $s3, $v0 -/* 018DA8 800181A8 1420FFDE */ bnez $at, .L80018124 -/* 018DAC 800181AC 2631003C */ addiu $s1, $s1, 0x3c -.L800181B0: -/* 018DB0 800181B0 184000FC */ blez $v0, .L800185A4 -/* 018DB4 800181B4 00009825 */ move $s3, $zero -/* 018DB8 800181B8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 018DBC 800181BC 4481B000 */ mtc1 $at, $f22 -/* 018DC0 800181C0 4480A000 */ mtc1 $zero, $f20 -/* 018DC4 800181C4 00008825 */ move $s1, $zero -.L800181C8: -/* 018DC8 800181C8 8E990000 */ lw $t9, ($s4) -/* 018DCC 800181CC 27A40094 */ addiu $a0, $sp, 0x94 -/* 018DD0 800181D0 02399021 */ addu $s2, $s1, $t9 -/* 018DD4 800181D4 8E500028 */ lw $s0, 0x28($s2) -/* 018DD8 800181D8 27A5007C */ addiu $a1, $sp, 0x7c -/* 018DDC 800181DC 86180000 */ lh $t8, ($s0) -/* 018DE0 800181E0 8E17003C */ lw $s7, 0x3c($s0) -/* 018DE4 800181E4 A7B8007C */ sh $t8, 0x7c($sp) -/* 018DE8 800181E8 860C0002 */ lh $t4, 2($s0) -/* 018DEC 800181EC 00000000 */ nop -/* 018DF0 800181F0 A7AC007E */ sh $t4, 0x7e($sp) -/* 018DF4 800181F4 860F0004 */ lh $t7, 4($s0) -/* 018DF8 800181F8 E7B60084 */ swc1 $f22, 0x84($sp) -/* 018DFC 800181FC E7B40088 */ swc1 $f20, 0x88($sp) -/* 018E00 80018200 E7B4008C */ swc1 $f20, 0x8c($sp) -/* 018E04 80018204 E7B40090 */ swc1 $f20, 0x90($sp) -/* 018E08 80018208 0C01BF0C */ jal object_transform_to_matrix -/* 018E0C 8001820C A7AF0080 */ sh $t7, 0x80($sp) -/* 018E10 80018210 4405A000 */ mfc1 $a1, $f20 -/* 018E14 80018214 4406A000 */ mfc1 $a2, $f20 -/* 018E18 80018218 4407B000 */ mfc1 $a3, $f22 -/* 018E1C 8001821C 27AB00E8 */ addiu $t3, $sp, 0xe8 -/* 018E20 80018220 27AD00E4 */ addiu $t5, $sp, 0xe4 -/* 018E24 80018224 27AE00E0 */ addiu $t6, $sp, 0xe0 -/* 018E28 80018228 AFAE0018 */ sw $t6, 0x18($sp) -/* 018E2C 8001822C AFAD0014 */ sw $t5, 0x14($sp) -/* 018E30 80018230 AFAB0010 */ sw $t3, 0x10($sp) -/* 018E34 80018234 0C01BD93 */ jal guMtxXFMF -/* 018E38 80018238 27A40094 */ addiu $a0, $sp, 0x94 -/* 018E3C 8001823C C7A400E8 */ lwc1 $f4, 0xe8($sp) -/* 018E40 80018240 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 018E44 80018244 E6440000 */ swc1 $f4, ($s2) -/* 018E48 80018248 C7A600E4 */ lwc1 $f6, 0xe4($sp) -/* 018E4C 8001824C 3C078012 */ lui $a3, %hi(gNumberOfCheckpoints) # $a3, 0x8012 -/* 018E50 80018250 E6460004 */ swc1 $f6, 4($s2) -/* 018E54 80018254 C7A800E0 */ lwc1 $f8, 0xe0($sp) -/* 018E58 80018258 266C0001 */ addiu $t4, $s3, 1 -/* 018E5C 8001825C E6480008 */ swc1 $f8, 8($s2) -/* 018E60 80018260 C60A000C */ lwc1 $f10, 0xc($s0) -/* 018E64 80018264 C7B000E8 */ lwc1 $f16, 0xe8($sp) -/* 018E68 80018268 C6040010 */ lwc1 $f4, 0x10($s0) -/* 018E6C 8001826C 46105482 */ mul.s $f18, $f10, $f16 -/* 018E70 80018270 C7A600E4 */ lwc1 $f6, 0xe4($sp) -/* 018E74 80018274 C6100014 */ lwc1 $f16, 0x14($s0) -/* 018E78 80018278 46062202 */ mul.s $f8, $f4, $f6 -/* 018E7C 8001827C C7A400E0 */ lwc1 $f4, 0xe0($sp) -/* 018E80 80018280 00000000 */ nop -/* 018E84 80018284 46048182 */ mul.s $f6, $f16, $f4 -/* 018E88 80018288 46089280 */ add.s $f10, $f18, $f8 -/* 018E8C 8001828C 46065480 */ add.s $f18, $f10, $f6 -/* 018E90 80018290 46009207 */ neg.s $f8, $f18 -/* 018E94 80018294 E648000C */ swc1 $f8, 0xc($s2) -/* 018E98 80018298 C610000C */ lwc1 $f16, 0xc($s0) -/* 018E9C 8001829C 44819000 */ mtc1 $at, $f18 -/* 018EA0 800182A0 E6500010 */ swc1 $f16, 0x10($s2) -/* 018EA4 800182A4 C6040010 */ lwc1 $f4, 0x10($s0) -/* 018EA8 800182A8 3C014300 */ li $at, 0x43000000 # 128.000000 -/* 018EAC 800182AC E6440014 */ swc1 $f4, 0x14($s2) -/* 018EB0 800182B0 C60A0014 */ lwc1 $f10, 0x14($s0) -/* 018EB4 800182B4 44812000 */ mtc1 $at, $f4 -/* 018EB8 800182B8 E64A0018 */ swc1 $f10, 0x18($s2) -/* 018EBC 800182BC C6060008 */ lwc1 $f6, 8($s0) -/* 018EC0 800182C0 00000000 */ nop -/* 018EC4 800182C4 46123202 */ mul.s $f8, $f6, $f18 -/* 018EC8 800182C8 E648001C */ swc1 $f8, 0x1c($s2) -/* 018ECC 800182CC C6100008 */ lwc1 $f16, 8($s0) -/* 018ED0 800182D0 E6540024 */ swc1 $f20, 0x24($s2) -/* 018ED4 800182D4 46048282 */ mul.s $f10, $f16, $f4 -/* 018ED8 800182D8 E6540020 */ swc1 $f20, 0x20($s2) -/* 018EDC 800182DC 4459F800 */ cfc1 $t9, $31 -/* 018EE0 800182E0 00000000 */ nop -/* 018EE4 800182E4 37210003 */ ori $at, $t9, 3 -/* 018EE8 800182E8 38210002 */ xori $at, $at, 2 -/* 018EEC 800182EC 44C1F800 */ ctc1 $at, $31 -/* 018EF0 800182F0 00000000 */ nop -/* 018EF4 800182F4 460051A4 */ cvt.w.s $f6, $f10 -/* 018EF8 800182F8 44183000 */ mfc1 $t8, $f6 -/* 018EFC 800182FC 44D9F800 */ ctc1 $t9, $31 -/* 018F00 80018300 A658002C */ sh $t8, 0x2c($s2) -/* 018F04 80018304 8CE7AED0 */ lw $a3, %lo(gNumberOfCheckpoints)($a3) -/* 018F08 80018308 00000000 */ nop -/* 018F0C 8001830C 0267082A */ slt $at, $s3, $a3 -/* 018F10 80018310 1020003A */ beqz $at, .L800183FC -/* 018F14 80018314 00000000 */ nop -/* 018F18 80018318 267E0001 */ addiu $fp, $s3, 1 -/* 018F1C 8001831C 15870002 */ bne $t4, $a3, .L80018328 -/* 018F20 80018320 03C02825 */ move $a1, $fp -/* 018F24 80018324 00002825 */ move $a1, $zero -.L80018328: -/* 018F28 80018328 0005B100 */ sll $s6, $a1, 4 -/* 018F2C 8001832C 8E8F0000 */ lw $t7, ($s4) -/* 018F30 80018330 02C5B023 */ subu $s6, $s6, $a1 -/* 018F34 80018334 0016B080 */ sll $s6, $s6, 2 -/* 018F38 80018338 01F65821 */ addu $t3, $t7, $s6 -/* 018F3C 8001833C 8D620028 */ lw $v0, 0x28($t3) -/* 018F40 80018340 C612000C */ lwc1 $f18, 0xc($s0) -/* 018F44 80018344 C448000C */ lwc1 $f8, 0xc($v0) -/* 018F48 80018348 C6100010 */ lwc1 $f16, 0x10($s0) -/* 018F4C 8001834C 46089001 */ sub.s $f0, $f18, $f8 -/* 018F50 80018350 C4440010 */ lwc1 $f4, 0x10($v0) -/* 018F54 80018354 46000482 */ mul.s $f18, $f0, $f0 -/* 018F58 80018358 46048081 */ sub.s $f2, $f16, $f4 -/* 018F5C 8001835C C60A0014 */ lwc1 $f10, 0x14($s0) -/* 018F60 80018360 C4460014 */ lwc1 $f6, 0x14($v0) -/* 018F64 80018364 46021202 */ mul.s $f8, $f2, $f2 -/* 018F68 80018368 46065381 */ sub.s $f14, $f10, $f6 -/* 018F6C 8001836C 460E7102 */ mul.s $f4, $f14, $f14 -/* 018F70 80018370 46089400 */ add.s $f16, $f18, $f8 -/* 018F74 80018374 0C0326B4 */ jal sqrtf -/* 018F78 80018378 46048300 */ add.s $f12, $f16, $f4 -/* 018F7C 8001837C E6400020 */ swc1 $f0, 0x20($s2) -/* 018F80 80018380 8E950000 */ lw $s5, ($s4) -/* 018F84 80018384 2401FFFF */ li $at, -1 -/* 018F88 80018388 02B66821 */ addu $t5, $s5, $s6 -/* 018F8C 8001838C 81A3003A */ lb $v1, 0x3a($t5) -/* 018F90 80018390 00000000 */ nop -/* 018F94 80018394 10610016 */ beq $v1, $at, .L800183F0 -/* 018F98 80018398 00037100 */ sll $t6, $v1, 4 -/* 018F9C 8001839C 01C37023 */ subu $t6, $t6, $v1 -/* 018FA0 800183A0 000E7080 */ sll $t6, $t6, 2 -/* 018FA4 800183A4 02AEC821 */ addu $t9, $s5, $t6 -/* 018FA8 800183A8 8F220028 */ lw $v0, 0x28($t9) -/* 018FAC 800183AC C60A000C */ lwc1 $f10, 0xc($s0) -/* 018FB0 800183B0 C446000C */ lwc1 $f6, 0xc($v0) -/* 018FB4 800183B4 C6120010 */ lwc1 $f18, 0x10($s0) -/* 018FB8 800183B8 46065001 */ sub.s $f0, $f10, $f6 -/* 018FBC 800183BC C4480010 */ lwc1 $f8, 0x10($v0) -/* 018FC0 800183C0 46000282 */ mul.s $f10, $f0, $f0 -/* 018FC4 800183C4 46089081 */ sub.s $f2, $f18, $f8 -/* 018FC8 800183C8 C6100014 */ lwc1 $f16, 0x14($s0) -/* 018FCC 800183CC C4440014 */ lwc1 $f4, 0x14($v0) -/* 018FD0 800183D0 46021182 */ mul.s $f6, $f2, $f2 -/* 018FD4 800183D4 46048381 */ sub.s $f14, $f16, $f4 -/* 018FD8 800183D8 460E7202 */ mul.s $f8, $f14, $f14 -/* 018FDC 800183DC 46065480 */ add.s $f18, $f10, $f6 -/* 018FE0 800183E0 0C0326B4 */ jal sqrtf -/* 018FE4 800183E4 46089300 */ add.s $f12, $f18, $f8 -/* 018FE8 800183E8 10000042 */ b .L800184F4 -/* 018FEC 800183EC E6400024 */ swc1 $f0, 0x24($s2) -.L800183F0: -/* 018FF0 800183F0 C6500020 */ lwc1 $f16, 0x20($s2) -/* 018FF4 800183F4 1000003F */ b .L800184F4 -/* 018FF8 800183F8 E6500024 */ swc1 $f16, 0x24($s2) -.L800183FC: -/* 018FFC 800183FC 8E950000 */ lw $s5, ($s4) -/* 019000 80018400 00000000 */ nop -/* 019004 80018404 02B1C021 */ addu $t8, $s5, $s1 -/* 019008 80018408 8305003A */ lb $a1, 0x3a($t8) -/* 01900C 8001840C 00000000 */ nop -/* 019010 80018410 24A50001 */ addiu $a1, $a1, 1 -/* 019014 80018414 14A70003 */ bne $a1, $a3, .L80018424 -/* 019018 80018418 0005B100 */ sll $s6, $a1, 4 -/* 01901C 8001841C 00002825 */ move $a1, $zero -/* 019020 80018420 0005B100 */ sll $s6, $a1, 4 -.L80018424: -/* 019024 80018424 02C5B023 */ subu $s6, $s6, $a1 -/* 019028 80018428 0016B080 */ sll $s6, $s6, 2 -/* 01902C 8001842C 02B66021 */ addu $t4, $s5, $s6 -/* 019030 80018430 8D820028 */ lw $v0, 0x28($t4) -/* 019034 80018434 C604000C */ lwc1 $f4, 0xc($s0) -/* 019038 80018438 C44A000C */ lwc1 $f10, 0xc($v0) -/* 01903C 8001843C C6060010 */ lwc1 $f6, 0x10($s0) -/* 019040 80018440 460A2001 */ sub.s $f0, $f4, $f10 -/* 019044 80018444 C4520010 */ lwc1 $f18, 0x10($v0) -/* 019048 80018448 46000102 */ mul.s $f4, $f0, $f0 -/* 01904C 8001844C 46123081 */ sub.s $f2, $f6, $f18 -/* 019050 80018450 C6080014 */ lwc1 $f8, 0x14($s0) -/* 019054 80018454 C4500014 */ lwc1 $f16, 0x14($v0) -/* 019058 80018458 46021282 */ mul.s $f10, $f2, $f2 -/* 01905C 8001845C 46104381 */ sub.s $f14, $f8, $f16 -/* 019060 80018460 460E7482 */ mul.s $f18, $f14, $f14 -/* 019064 80018464 460A2180 */ add.s $f6, $f4, $f10 -/* 019068 80018468 0C0326B4 */ jal sqrtf -/* 01906C 8001846C 46123300 */ add.s $f12, $f6, $f18 -/* 019070 80018470 E6400020 */ swc1 $f0, 0x20($s2) -/* 019074 80018474 8E950000 */ lw $s5, ($s4) -/* 019078 80018478 2401FFFF */ li $at, -1 -/* 01907C 8001847C 02B67821 */ addu $t7, $s5, $s6 -/* 019080 80018480 81E3003A */ lb $v1, 0x3a($t7) -/* 019084 80018484 00000000 */ nop -/* 019088 80018488 10610017 */ beq $v1, $at, .L800184E8 -/* 01908C 8001848C 00035900 */ sll $t3, $v1, 4 -/* 019090 80018490 01635823 */ subu $t3, $t3, $v1 -/* 019094 80018494 000B5880 */ sll $t3, $t3, 2 -/* 019098 80018498 02AB6821 */ addu $t5, $s5, $t3 -/* 01909C 8001849C 8DA20028 */ lw $v0, 0x28($t5) -/* 0190A0 800184A0 C608000C */ lwc1 $f8, 0xc($s0) -/* 0190A4 800184A4 C450000C */ lwc1 $f16, 0xc($v0) -/* 0190A8 800184A8 C6040010 */ lwc1 $f4, 0x10($s0) -/* 0190AC 800184AC 46104001 */ sub.s $f0, $f8, $f16 -/* 0190B0 800184B0 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 0190B4 800184B4 46000202 */ mul.s $f8, $f0, $f0 -/* 0190B8 800184B8 460A2081 */ sub.s $f2, $f4, $f10 -/* 0190BC 800184BC C6060014 */ lwc1 $f6, 0x14($s0) -/* 0190C0 800184C0 C4520014 */ lwc1 $f18, 0x14($v0) -/* 0190C4 800184C4 46021402 */ mul.s $f16, $f2, $f2 -/* 0190C8 800184C8 46123381 */ sub.s $f14, $f6, $f18 -/* 0190CC 800184CC 460E7282 */ mul.s $f10, $f14, $f14 -/* 0190D0 800184D0 46104100 */ add.s $f4, $f8, $f16 -/* 0190D4 800184D4 0C0326B4 */ jal sqrtf -/* 0190D8 800184D8 460A2300 */ add.s $f12, $f4, $f10 -/* 0190DC 800184DC E6400024 */ swc1 $f0, 0x24($s2) -/* 0190E0 800184E0 10000004 */ b .L800184F4 -/* 0190E4 800184E4 267E0001 */ addiu $fp, $s3, 1 -.L800184E8: -/* 0190E8 800184E8 C6460020 */ lwc1 $f6, 0x20($s2) -/* 0190EC 800184EC 267E0001 */ addiu $fp, $s3, 1 -/* 0190F0 800184F0 E6460024 */ swc1 $f6, 0x24($s2) -.L800184F4: -/* 0190F4 800184F4 82EE000B */ lb $t6, 0xb($s7) -/* 0190F8 800184F8 03C09825 */ move $s3, $fp -/* 0190FC 800184FC A24E002E */ sb $t6, 0x2e($s2) -/* 019100 80018500 82F9000F */ lb $t9, 0xf($s7) -/* 019104 80018504 2631003C */ addiu $s1, $s1, 0x3c -/* 019108 80018508 A2590032 */ sb $t9, 0x32($s2) -/* 01910C 8001850C 82F80013 */ lb $t8, 0x13($s7) -/* 019110 80018510 00000000 */ nop -/* 019114 80018514 A2580036 */ sb $t8, 0x36($s2) -/* 019118 80018518 82EC000C */ lb $t4, 0xc($s7) -/* 01911C 8001851C 00000000 */ nop -/* 019120 80018520 A24C002F */ sb $t4, 0x2f($s2) -/* 019124 80018524 82EF0010 */ lb $t7, 0x10($s7) -/* 019128 80018528 00000000 */ nop -/* 01912C 8001852C A24F0033 */ sb $t7, 0x33($s2) -/* 019130 80018530 82EB0014 */ lb $t3, 0x14($s7) -/* 019134 80018534 00000000 */ nop -/* 019138 80018538 A24B0037 */ sb $t3, 0x37($s2) -/* 01913C 8001853C 82ED000D */ lb $t5, 0xd($s7) -/* 019140 80018540 00000000 */ nop -/* 019144 80018544 A24D0030 */ sb $t5, 0x30($s2) -/* 019148 80018548 82EE0011 */ lb $t6, 0x11($s7) -/* 01914C 8001854C 3C0D8012 */ lui $t5, %hi(D_8011AED4) # $t5, 0x8012 -/* 019150 80018550 A24E0034 */ sb $t6, 0x34($s2) -/* 019154 80018554 82F90015 */ lb $t9, 0x15($s7) -/* 019158 80018558 00000000 */ nop -/* 01915C 8001855C A2590038 */ sb $t9, 0x38($s2) -/* 019160 80018560 82F8000E */ lb $t8, 0xe($s7) -/* 019164 80018564 00000000 */ nop -/* 019168 80018568 A2580031 */ sb $t8, 0x31($s2) -/* 01916C 8001856C 82EC0012 */ lb $t4, 0x12($s7) -/* 019170 80018570 00000000 */ nop -/* 019174 80018574 A24C0035 */ sb $t4, 0x35($s2) -/* 019178 80018578 82EF0016 */ lb $t7, 0x16($s7) -/* 01917C 8001857C 00000000 */ nop -/* 019180 80018580 A24F0039 */ sb $t7, 0x39($s2) -/* 019184 80018584 92EB0019 */ lbu $t3, 0x19($s7) -/* 019188 80018588 00000000 */ nop -/* 01918C 8001858C A24B003B */ sb $t3, 0x3b($s2) -/* 019190 80018590 8DADAED4 */ lw $t5, %lo(D_8011AED4)($t5) -/* 019194 80018594 00000000 */ nop -/* 019198 80018598 03CD082A */ slt $at, $fp, $t5 -/* 01919C 8001859C 1420FF0A */ bnez $at, .L800181C8 -/* 0191A0 800185A0 00000000 */ nop -.L800185A4: -/* 0191A4 800185A4 8FBF005C */ lw $ra, 0x5c($sp) -/* 0191A8 800185A8 C7B50028 */ lwc1 $f21, 0x28($sp) -/* 0191AC 800185AC C7B4002C */ lwc1 $f20, 0x2c($sp) -/* 0191B0 800185B0 C7B70030 */ lwc1 $f23, 0x30($sp) -/* 0191B4 800185B4 C7B60034 */ lwc1 $f22, 0x34($sp) -/* 0191B8 800185B8 8FB00038 */ lw $s0, 0x38($sp) -/* 0191BC 800185BC 8FB1003C */ lw $s1, 0x3c($sp) -/* 0191C0 800185C0 8FB20040 */ lw $s2, 0x40($sp) -/* 0191C4 800185C4 8FB30044 */ lw $s3, 0x44($sp) -/* 0191C8 800185C8 8FB40048 */ lw $s4, 0x48($sp) -/* 0191CC 800185CC 8FB5004C */ lw $s5, 0x4c($sp) -/* 0191D0 800185D0 8FB60050 */ lw $s6, 0x50($sp) -/* 0191D4 800185D4 8FB70054 */ lw $s7, 0x54($sp) -/* 0191D8 800185D8 8FBE0058 */ lw $fp, 0x58($sp) -/* 0191DC 800185DC 03E00008 */ jr $ra -/* 0191E0 800185E0 27BD0118 */ addiu $sp, $sp, 0x118 - diff --git a/asm/non_matchings/objects/func_800185E4.s b/asm/non_matchings/objects/func_800185E4.s deleted file mode 100644 index 865b5f0a..00000000 --- a/asm/non_matchings/objects/func_800185E4.s +++ /dev/null @@ -1,448 +0,0 @@ -.late_rodata -glabel D_800E5620 -.double -0.3 -glabel D_800E5628 -.double 1.3 - -.text -glabel func_800185E4 -/* 0191E4 800185E4 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0191E8 800185E8 3C028012 */ lui $v0, %hi(gNumberOfCheckpoints) # $v0, 0x8012 -/* 0191EC 800185EC 8C42AED0 */ lw $v0, %lo(gNumberOfCheckpoints)($v0) -/* 0191F0 800185F0 AFA70084 */ sw $a3, 0x84($sp) -/* 0191F4 800185F4 00A03825 */ move $a3, $a1 -/* 0191F8 800185F8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0191FC 800185FC E7B50010 */ swc1 $f21, 0x10($sp) -/* 019200 80018600 E7B40014 */ swc1 $f20, 0x14($sp) -/* 019204 80018604 AFA40078 */ sw $a0, 0x78($sp) -/* 019208 80018608 AFA5007C */ sw $a1, 0x7c($sp) -/* 01920C 8001860C 14400003 */ bnez $v0, .L8001861C -/* 019210 80018610 AFA60080 */ sw $a2, 0x80($sp) -/* 019214 80018614 10000190 */ b .L80018C58 -/* 019218 80018618 24020001 */ li $v0, 1 -.L8001861C: -/* 01921C 8001861C 8FAF0078 */ lw $t7, 0x78($sp) -/* 019220 80018620 2408003C */ li $t0, 60 -/* 019224 80018624 01E80019 */ multu $t7, $t0 -/* 019228 80018628 3C068012 */ lui $a2, %hi(gTrackCheckpoints) # $a2, 0x8012 -/* 01922C 8001862C 8CC6AECC */ lw $a2, %lo(gTrackCheckpoints)($a2) -/* 019230 80018630 8FB90090 */ lw $t9, 0x90($sp) -/* 019234 80018634 00005825 */ move $t3, $zero -/* 019238 80018638 00004812 */ mflo $t1 -/* 01923C 8001863C 01261821 */ addu $v1, $t1, $a2 -/* 019240 80018640 11E00003 */ beqz $t7, .L80018650 -/* 019244 80018644 00602825 */ move $a1, $v1 -/* 019248 80018648 10000005 */ b .L80018660 -/* 01924C 8001864C 2464FFC4 */ addiu $a0, $v1, -0x3c -.L80018650: -/* 019250 80018650 00480019 */ multu $v0, $t0 -/* 019254 80018654 0000C012 */ mflo $t8 -/* 019258 80018658 03062021 */ addu $a0, $t8, $a2 -/* 01925C 8001865C 2484FFC4 */ addiu $a0, $a0, -0x3c -.L80018660: -/* 019260 80018660 93230000 */ lbu $v1, ($t9) -/* 019264 80018664 00000000 */ nop -/* 019268 80018668 10600011 */ beqz $v1, .L800186B0 -/* 01926C 8001866C 00000000 */ nop -/* 019270 80018670 80A2003A */ lb $v0, 0x3a($a1) -/* 019274 80018674 240AFFFF */ li $t2, -1 -/* 019278 80018678 11420005 */ beq $t2, $v0, .L80018690 -/* 01927C 8001867C 00000000 */ nop -/* 019280 80018680 00480019 */ multu $v0, $t0 -/* 019284 80018684 00006012 */ mflo $t4 -/* 019288 80018688 01862821 */ addu $a1, $t4, $a2 -/* 01928C 8001868C 00000000 */ nop -.L80018690: -/* 019290 80018690 8082003A */ lb $v0, 0x3a($a0) -/* 019294 80018694 00000000 */ nop -/* 019298 80018698 11420005 */ beq $t2, $v0, .L800186B0 -/* 01929C 8001869C 00000000 */ nop -/* 0192A0 800186A0 00480019 */ multu $v0, $t0 -/* 0192A4 800186A4 00006812 */ mflo $t5 -/* 0192A8 800186A8 01A62021 */ addu $a0, $t5, $a2 -/* 0192AC 800186AC 00000000 */ nop -.L800186B0: -/* 0192B0 800186B0 14600031 */ bnez $v1, .L80018778 -/* 0192B4 800186B4 240AFFFF */ li $t2, -1 -/* 0192B8 800186B8 808E003A */ lb $t6, 0x3a($a0) -/* 0192BC 800186BC 00000000 */ nop -/* 0192C0 800186C0 154E002D */ bne $t2, $t6, .L80018778 -/* 0192C4 800186C4 00000000 */ nop -/* 0192C8 800186C8 80A2003A */ lb $v0, 0x3a($a1) -/* 0192CC 800186CC 00000000 */ nop -/* 0192D0 800186D0 11420029 */ beq $t2, $v0, .L80018778 -/* 0192D4 800186D4 00000000 */ nop -/* 0192D8 800186D8 00480019 */ multu $v0, $t0 -/* 0192DC 800186DC C4E8000C */ lwc1 $f8, 0xc($a3) -/* 0192E0 800186E0 C4E60010 */ lwc1 $f6, 0x10($a3) -/* 0192E4 800186E4 00007812 */ mflo $t7 -/* 0192E8 800186E8 01E61821 */ addu $v1, $t7, $a2 -/* 0192EC 800186EC C4640010 */ lwc1 $f4, 0x10($v1) -/* 0192F0 800186F0 C46A0014 */ lwc1 $f10, 0x14($v1) -/* 0192F4 800186F4 46082001 */ sub.s $f0, $f4, $f8 -/* 0192F8 800186F8 C4E80014 */ lwc1 $f8, 0x14($a3) -/* 0192FC 800186FC 46065501 */ sub.s $f20, $f10, $f6 -/* 019300 80018700 C4640018 */ lwc1 $f4, 0x18($v1) -/* 019304 80018704 46000282 */ mul.s $f10, $f0, $f0 -/* 019308 80018708 46082081 */ sub.s $f2, $f4, $f8 -/* 01930C 8001870C AFA00070 */ sw $zero, 0x70($sp) -/* 019310 80018710 AFA90038 */ sw $t1, 0x38($sp) -/* 019314 80018714 4614A182 */ mul.s $f6, $f20, $f20 -/* 019318 80018718 AFA7007C */ sw $a3, 0x7c($sp) -/* 01931C 8001871C AFA5004C */ sw $a1, 0x4c($sp) -/* 019320 80018720 AFA40048 */ sw $a0, 0x48($sp) -/* 019324 80018724 46021202 */ mul.s $f8, $f2, $f2 -/* 019328 80018728 46065100 */ add.s $f4, $f10, $f6 -/* 01932C 8001872C AFA30044 */ sw $v1, 0x44($sp) -/* 019330 80018730 0C0326B4 */ jal sqrtf -/* 019334 80018734 46082300 */ add.s $f12, $f4, $f8 -/* 019338 80018738 8FA30044 */ lw $v1, 0x44($sp) -/* 01933C 8001873C 8FA40048 */ lw $a0, 0x48($sp) -/* 019340 80018740 8478002C */ lh $t8, 0x2c($v1) -/* 019344 80018744 8FA5004C */ lw $a1, 0x4c($sp) -/* 019348 80018748 44985000 */ mtc1 $t8, $f10 -/* 01934C 8001874C 8FA7007C */ lw $a3, 0x7c($sp) -/* 019350 80018750 468051A0 */ cvt.s.w $f6, $f10 -/* 019354 80018754 8FA80078 */ lw $t0, 0x78($sp) -/* 019358 80018758 8FA90038 */ lw $t1, 0x38($sp) -/* 01935C 8001875C 4606003C */ c.lt.s $f0, $f6 -/* 019360 80018760 8FAB0070 */ lw $t3, 0x70($sp) -/* 019364 80018764 45000004 */ bc1f .L80018778 -/* 019368 80018768 00000000 */ nop -/* 01936C 8001876C 00602825 */ move $a1, $v1 -/* 019370 80018770 240B0001 */ li $t3, 1 -/* 019374 80018774 AFA80078 */ sw $t0, 0x78($sp) -.L80018778: -/* 019378 80018778 C4A40010 */ lwc1 $f4, 0x10($a1) -/* 01937C 8001877C C4880010 */ lwc1 $f8, 0x10($a0) -/* 019380 80018780 C4AA0014 */ lwc1 $f10, 0x14($a1) -/* 019384 80018784 C4860014 */ lwc1 $f6, 0x14($a0) -/* 019388 80018788 46082001 */ sub.s $f0, $f4, $f8 -/* 01938C 8001878C C4880018 */ lwc1 $f8, 0x18($a0) -/* 019390 80018790 46065501 */ sub.s $f20, $f10, $f6 -/* 019394 80018794 C4A40018 */ lwc1 $f4, 0x18($a1) -/* 019398 80018798 46000282 */ mul.s $f10, $f0, $f0 -/* 01939C 8001879C 46082081 */ sub.s $f2, $f4, $f8 -/* 0193A0 800187A0 E7A0006C */ swc1 $f0, 0x6c($sp) -/* 0193A4 800187A4 E7A20064 */ swc1 $f2, 0x64($sp) -/* 0193A8 800187A8 4614A182 */ mul.s $f6, $f20, $f20 -/* 0193AC 800187AC AFAB0070 */ sw $t3, 0x70($sp) -/* 0193B0 800187B0 AFA90038 */ sw $t1, 0x38($sp) -/* 0193B4 800187B4 AFA7007C */ sw $a3, 0x7c($sp) -/* 0193B8 800187B8 46021202 */ mul.s $f8, $f2, $f2 -/* 0193BC 800187BC 46065100 */ add.s $f4, $f10, $f6 -/* 0193C0 800187C0 AFA5004C */ sw $a1, 0x4c($sp) -/* 0193C4 800187C4 AFA40048 */ sw $a0, 0x48($sp) -/* 0193C8 800187C8 0C0326B4 */ jal sqrtf -/* 0193CC 800187CC 46082300 */ add.s $f12, $f4, $f8 -/* 0193D0 800187D0 44805800 */ mtc1 $zero, $f11 -/* 0193D4 800187D4 44805000 */ mtc1 $zero, $f10 -/* 0193D8 800187D8 460001A1 */ cvt.d.s $f6, $f0 -/* 0193DC 800187DC 4626503C */ c.lt.d $f10, $f6 -/* 0193E0 800187E0 8FA40048 */ lw $a0, 0x48($sp) -/* 0193E4 800187E4 8FA5004C */ lw $a1, 0x4c($sp) -/* 0193E8 800187E8 8FA7007C */ lw $a3, 0x7c($sp) -/* 0193EC 800187EC 8FA80078 */ lw $t0, 0x78($sp) -/* 0193F0 800187F0 8FA90038 */ lw $t1, 0x38($sp) -/* 0193F4 800187F4 8FAB0070 */ lw $t3, 0x70($sp) -/* 0193F8 800187F8 4500000C */ bc1f .L8001882C -/* 0193FC 800187FC 240AFFFF */ li $t2, -1 -/* 019400 80018800 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 019404 80018804 44812000 */ mtc1 $at, $f4 -/* 019408 80018808 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 01940C 8001880C 46002083 */ div.s $f2, $f4, $f0 -/* 019410 80018810 C7A60064 */ lwc1 $f6, 0x64($sp) -/* 019414 80018814 46024282 */ mul.s $f10, $f8, $f2 -/* 019418 80018818 00000000 */ nop -/* 01941C 8001881C 4602A502 */ mul.s $f20, $f20, $f2 -/* 019420 80018820 E7AA006C */ swc1 $f10, 0x6c($sp) -/* 019424 80018824 46023102 */ mul.s $f4, $f6, $f2 -/* 019428 80018828 E7A40064 */ swc1 $f4, 0x64($sp) -.L8001882C: -/* 01942C 8001882C C4AE0000 */ lwc1 $f14, ($a1) -/* 019430 80018830 C4E0000C */ lwc1 $f0, 0xc($a3) -/* 019434 80018834 C4B00004 */ lwc1 $f16, 4($a1) -/* 019438 80018838 46007202 */ mul.s $f8, $f14, $f0 -/* 01943C 8001883C C4E20010 */ lwc1 $f2, 0x10($a3) -/* 019440 80018840 C4B20008 */ lwc1 $f18, 8($a1) -/* 019444 80018844 C4EC0014 */ lwc1 $f12, 0x14($a3) -/* 019448 80018848 46028282 */ mul.s $f10, $f16, $f2 -/* 01944C 8001884C 8FA6008C */ lw $a2, 0x8c($sp) -/* 019450 80018850 460C9102 */ mul.s $f4, $f18, $f12 -/* 019454 80018854 460A4180 */ add.s $f6, $f8, $f10 -/* 019458 80018858 C4AA000C */ lwc1 $f10, 0xc($a1) -/* 01945C 8001885C 46043200 */ add.s $f8, $f6, $f4 -/* 019460 80018860 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 019464 80018864 460A4180 */ add.s $f6, $f8, $f10 -/* 019468 80018868 46047202 */ mul.s $f8, $f14, $f4 -/* 01946C 8001886C E7A60058 */ swc1 $f6, 0x58($sp) -/* 019470 80018870 E7A60020 */ swc1 $f6, 0x20($sp) -/* 019474 80018874 46148282 */ mul.s $f10, $f16, $f20 -/* 019478 80018878 460A4200 */ add.s $f8, $f8, $f10 -/* 01947C 8001887C C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 019480 80018880 00000000 */ nop -/* 019484 80018884 460A9182 */ mul.s $f6, $f18, $f10 -/* 019488 80018888 46064200 */ add.s $f8, $f8, $f6 -/* 01948C 8001888C C7A60020 */ lwc1 $f6, 0x20($sp) -/* 019490 80018890 E7A8005C */ swc1 $f8, 0x5c($sp) -/* 019494 80018894 46003187 */ neg.s $f6, $f6 -/* 019498 80018898 00000000 */ nop -/* 01949C 8001889C 46083183 */ div.s $f6, $f6, $f8 -/* 0194A0 800188A0 E7A6005C */ swc1 $f6, 0x5c($sp) -/* 0194A4 800188A4 C4880000 */ lwc1 $f8, ($a0) -/* 0194A8 800188A8 00000000 */ nop -/* 0194AC 800188AC E7A8003C */ swc1 $f8, 0x3c($sp) -/* 0194B0 800188B0 C4880004 */ lwc1 $f8, 4($a0) -/* 0194B4 800188B4 00000000 */ nop -/* 0194B8 800188B8 E7A80034 */ swc1 $f8, 0x34($sp) -/* 0194BC 800188BC C4880008 */ lwc1 $f8, 8($a0) -/* 0194C0 800188C0 E7A40020 */ swc1 $f4, 0x20($sp) -/* 0194C4 800188C4 E7A80030 */ swc1 $f8, 0x30($sp) -/* 0194C8 800188C8 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 0194CC 800188CC E7AA0024 */ swc1 $f10, 0x24($sp) -/* 0194D0 800188D0 46004102 */ mul.s $f4, $f8, $f0 -/* 0194D4 800188D4 C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 0194D8 800188D8 E7A60028 */ swc1 $f6, 0x28($sp) -/* 0194DC 800188DC E7A8002C */ swc1 $f8, 0x2c($sp) -/* 0194E0 800188E0 46025182 */ mul.s $f6, $f10, $f2 -/* 0194E4 800188E4 46062100 */ add.s $f4, $f4, $f6 -/* 0194E8 800188E8 C7A60030 */ lwc1 $f6, 0x30($sp) -/* 0194EC 800188EC 00000000 */ nop -/* 0194F0 800188F0 460C3202 */ mul.s $f8, $f6, $f12 -/* 0194F4 800188F4 C7AC0028 */ lwc1 $f12, 0x28($sp) -/* 0194F8 800188F8 46082100 */ add.s $f4, $f4, $f8 -/* 0194FC 800188FC C488000C */ lwc1 $f8, 0xc($a0) -/* 019500 80018900 00000000 */ nop -/* 019504 80018904 46082100 */ add.s $f4, $f4, $f8 -/* 019508 80018908 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 01950C 8001890C E7AA002C */ swc1 $f10, 0x2c($sp) -/* 019510 80018910 C7AA0020 */ lwc1 $f10, 0x20($sp) -/* 019514 80018914 E7A40050 */ swc1 $f4, 0x50($sp) -/* 019518 80018918 460A4202 */ mul.s $f8, $f8, $f10 -/* 01951C 8001891C C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 019520 80018920 00000000 */ nop -/* 019524 80018924 46145282 */ mul.s $f10, $f10, $f20 -/* 019528 80018928 44805800 */ mtc1 $zero, $f11 -/* 01952C 8001892C 460A4200 */ add.s $f8, $f8, $f10 -/* 019530 80018930 C7AA0024 */ lwc1 $f10, 0x24($sp) -/* 019534 80018934 00000000 */ nop -/* 019538 80018938 460A3182 */ mul.s $f6, $f6, $f10 -/* 01953C 8001893C 44805000 */ mtc1 $zero, $f10 -/* 019540 80018940 46064000 */ add.s $f0, $f8, $f6 -/* 019544 80018944 00000000 */ nop -/* 019548 80018948 46002003 */ div.s $f0, $f4, $f0 -/* 01954C 8001894C 46006080 */ add.s $f2, $f12, $f0 -/* 019550 80018950 46001221 */ cvt.d.s $f8, $f2 -/* 019554 80018954 46285032 */ c.eq.d $f10, $f8 -/* 019558 80018958 00000000 */ nop -/* 01955C 8001895C 45010003 */ bc1t .L8001896C -/* 019560 80018960 00000000 */ nop -/* 019564 80018964 10000003 */ b .L80018974 -/* 019568 80018968 46026003 */ div.s $f0, $f12, $f2 -.L8001896C: -/* 01956C 8001896C 44800000 */ mtc1 $zero, $f0 -/* 019570 80018970 00000000 */ nop -.L80018974: -/* 019574 80018974 E4C00000 */ swc1 $f0, ($a2) -/* 019578 80018978 84F90048 */ lh $t9, 0x48($a3) -/* 01957C 8001897C 24030001 */ li $v1, 1 -/* 019580 80018980 14790019 */ bne $v1, $t9, .L800189E8 -/* 019584 80018984 00000000 */ nop -/* 019588 80018988 8CE20064 */ lw $v0, 0x64($a3) -/* 01958C 8001898C 3C01800E */ lui $at, %hi(D_800E5620 + 4) # $at, 0x800e -/* 019590 80018990 844C0000 */ lh $t4, ($v0) -/* 019594 80018994 00000000 */ nop -/* 019598 80018998 154C0013 */ bne $t2, $t4, .L800189E8 -/* 01959C 8001899C 00000000 */ nop -/* 0195A0 800189A0 C4275620 */ lwc1 $f7, %lo(D_800E5620)($at) -/* 0195A4 800189A4 C4265624 */ lwc1 $f6, %lo(D_800E5620 + 4)($at) -/* 0195A8 800189A8 460000A1 */ cvt.d.s $f2, $f0 -/* 0195AC 800189AC 4626103C */ c.lt.d $f2, $f6 -/* 0195B0 800189B0 3C01800E */ lui $at, %hi(D_800E5628 + 4) # $at, 0x800e -/* 0195B4 800189B4 45000003 */ bc1f .L800189C4 -/* 0195B8 800189B8 00000000 */ nop -/* 0195BC 800189BC 100000A6 */ b .L80018C58 -/* 0195C0 800189C0 2402FF9C */ li $v0, -100 -.L800189C4: -/* 0195C4 800189C4 C4255628 */ lwc1 $f5, %lo(D_800E5628)($at) -/* 0195C8 800189C8 C424562C */ lwc1 $f4, %lo(D_800E5628 + 4)($at) -/* 0195CC 800189CC 00000000 */ nop -/* 0195D0 800189D0 4622203C */ c.lt.d $f4, $f2 -/* 0195D4 800189D4 00000000 */ nop -/* 0195D8 800189D8 45000003 */ bc1f .L800189E8 -/* 0195DC 800189DC 00000000 */ nop -/* 0195E0 800189E0 1000009D */ b .L80018C58 -/* 0195E4 800189E4 2402FF9C */ li $v0, -100 -.L800189E8: -/* 0195E8 800189E8 44801000 */ mtc1 $zero, $f2 -/* 0195EC 800189EC 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0195F0 800189F0 4602603E */ c.le.s $f12, $f2 -/* 0195F4 800189F4 00000000 */ nop -/* 0195F8 800189F8 45000087 */ bc1f .L80018C18 -/* 0195FC 800189FC 00000000 */ nop -/* 019600 80018A00 11600004 */ beqz $t3, .L80018A14 -/* 019604 80018A04 240D0001 */ li $t5, 1 -/* 019608 80018A08 8FAE0090 */ lw $t6, 0x90($sp) -/* 01960C 80018A0C 10000006 */ b .L80018A28 -/* 019610 80018A10 A1CD0000 */ sb $t5, ($t6) -.L80018A14: -/* 019614 80018A14 80AF003A */ lb $t7, 0x3a($a1) -/* 019618 80018A18 8FB80090 */ lw $t8, 0x90($sp) -/* 01961C 80018A1C 154F0002 */ bne $t2, $t7, .L80018A28 -/* 019620 80018A20 00000000 */ nop -/* 019624 80018A24 A3000000 */ sb $zero, ($t8) -.L80018A28: -/* 019628 80018A28 C4AA0000 */ lwc1 $f10, ($a1) -/* 01962C 80018A2C C7A80080 */ lwc1 $f8, 0x80($sp) -/* 019630 80018A30 C4A40004 */ lwc1 $f4, 4($a1) -/* 019634 80018A34 46085182 */ mul.s $f6, $f10, $f8 -/* 019638 80018A38 C7AA0084 */ lwc1 $f10, 0x84($sp) -/* 01963C 80018A3C 00A02025 */ move $a0, $a1 -/* 019640 80018A40 3C0D8012 */ lui $t5, %hi(gNumberOfCheckpoints) # $t5, 0x8012 -/* 019644 80018A44 460A2202 */ mul.s $f8, $f4, $f10 -/* 019648 80018A48 C4AA0008 */ lwc1 $f10, 8($a1) -/* 01964C 80018A4C 3C0E8012 */ lui $t6, %hi(gTrackCheckpoints) # $t6, 0x8012 -/* 019650 80018A50 46083100 */ add.s $f4, $f6, $f8 -/* 019654 80018A54 C7A60088 */ lwc1 $f6, 0x88($sp) -/* 019658 80018A58 00000000 */ nop -/* 01965C 80018A5C 46065202 */ mul.s $f8, $f10, $f6 -/* 019660 80018A60 C4A6000C */ lwc1 $f6, 0xc($a1) -/* 019664 80018A64 46082280 */ add.s $f10, $f4, $f8 -/* 019668 80018A68 46065500 */ add.s $f20, $f10, $f6 -/* 01966C 80018A6C 4614103C */ c.lt.s $f2, $f20 -/* 019670 80018A70 00000000 */ nop -/* 019674 80018A74 45000065 */ bc1f .L80018C0C -/* 019678 80018A78 00000000 */ nop -/* 01967C 80018A7C 84F90048 */ lh $t9, 0x48($a3) -/* 019680 80018A80 00000000 */ nop -/* 019684 80018A84 14790007 */ bne $v1, $t9, .L80018AA4 -/* 019688 80018A88 00000000 */ nop -/* 01968C 80018A8C 90A3003B */ lbu $v1, 0x3b($a1) -/* 019690 80018A90 8CE20064 */ lw $v0, 0x64($a3) -/* 019694 80018A94 10600003 */ beqz $v1, .L80018AA4 -/* 019698 80018A98 240C0078 */ li $t4, 120 -/* 01969C 80018A9C A04301F8 */ sb $v1, 0x1f8($v0) -/* 0196A0 80018AA0 A04C01F9 */ sb $t4, 0x1f9($v0) -.L80018AA4: -/* 0196A4 80018AA4 8DADAED0 */ lw $t5, %lo(gNumberOfCheckpoints)($t5) -/* 0196A8 80018AA8 25080001 */ addiu $t0, $t0, 1 -/* 0196AC 80018AAC 150D0002 */ bne $t0, $t5, .L80018AB8 -/* 0196B0 80018AB0 2529003C */ addiu $t1, $t1, 0x3c -/* 0196B4 80018AB4 00004825 */ move $t1, $zero -.L80018AB8: -/* 0196B8 80018AB8 8DCEAECC */ lw $t6, %lo(gTrackCheckpoints)($t6) -/* 0196BC 80018ABC C4E0000C */ lwc1 $f0, 0xc($a3) -/* 0196C0 80018AC0 012E2821 */ addu $a1, $t1, $t6 -/* 0196C4 80018AC4 C4AE0000 */ lwc1 $f14, ($a1) -/* 0196C8 80018AC8 C4B00004 */ lwc1 $f16, 4($a1) -/* 0196CC 80018ACC 46007102 */ mul.s $f4, $f14, $f0 -/* 0196D0 80018AD0 C4E20010 */ lwc1 $f2, 0x10($a3) -/* 0196D4 80018AD4 C4B20008 */ lwc1 $f18, 8($a1) -/* 0196D8 80018AD8 C4EC0014 */ lwc1 $f12, 0x14($a3) -/* 0196DC 80018ADC 46028202 */ mul.s $f8, $f16, $f2 -/* 0196E0 80018AE0 00001025 */ move $v0, $zero -/* 0196E4 80018AE4 460C9182 */ mul.s $f6, $f18, $f12 -/* 0196E8 80018AE8 46082280 */ add.s $f10, $f4, $f8 -/* 0196EC 80018AEC C4A8000C */ lwc1 $f8, 0xc($a1) -/* 0196F0 80018AF0 46065100 */ add.s $f4, $f10, $f6 -/* 0196F4 80018AF4 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 0196F8 80018AF8 46082280 */ add.s $f10, $f4, $f8 -/* 0196FC 80018AFC 46067102 */ mul.s $f4, $f14, $f6 -/* 019700 80018B00 E7AA0058 */ swc1 $f10, 0x58($sp) -/* 019704 80018B04 E7AA002C */ swc1 $f10, 0x2c($sp) -/* 019708 80018B08 46148202 */ mul.s $f8, $f16, $f20 -/* 01970C 80018B0C 46082100 */ add.s $f4, $f4, $f8 -/* 019710 80018B10 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 019714 80018B14 00000000 */ nop -/* 019718 80018B18 46089282 */ mul.s $f10, $f18, $f8 -/* 01971C 80018B1C 460A2100 */ add.s $f4, $f4, $f10 -/* 019720 80018B20 C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 019724 80018B24 E7A4005C */ swc1 $f4, 0x5c($sp) -/* 019728 80018B28 46005287 */ neg.s $f10, $f10 -/* 01972C 80018B2C 00000000 */ nop -/* 019730 80018B30 46045283 */ div.s $f10, $f10, $f4 -/* 019734 80018B34 E7AA005C */ swc1 $f10, 0x5c($sp) -/* 019738 80018B38 C4840000 */ lwc1 $f4, ($a0) -/* 01973C 80018B3C 00000000 */ nop -/* 019740 80018B40 E7A4003C */ swc1 $f4, 0x3c($sp) -/* 019744 80018B44 C4840004 */ lwc1 $f4, 4($a0) -/* 019748 80018B48 00000000 */ nop -/* 01974C 80018B4C E7A40034 */ swc1 $f4, 0x34($sp) -/* 019750 80018B50 C4840008 */ lwc1 $f4, 8($a0) -/* 019754 80018B54 E7A6002C */ swc1 $f6, 0x2c($sp) -/* 019758 80018B58 E7A40030 */ swc1 $f4, 0x30($sp) -/* 01975C 80018B5C C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 019760 80018B60 E7A80028 */ swc1 $f8, 0x28($sp) -/* 019764 80018B64 46002182 */ mul.s $f6, $f4, $f0 -/* 019768 80018B68 C7A80034 */ lwc1 $f8, 0x34($sp) -/* 01976C 80018B6C E7AA0024 */ swc1 $f10, 0x24($sp) -/* 019770 80018B70 E7A40020 */ swc1 $f4, 0x20($sp) -/* 019774 80018B74 46024282 */ mul.s $f10, $f8, $f2 -/* 019778 80018B78 460A3180 */ add.s $f6, $f6, $f10 -/* 01977C 80018B7C C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 019780 80018B80 00000000 */ nop -/* 019784 80018B84 460C5102 */ mul.s $f4, $f10, $f12 -/* 019788 80018B88 C7AC0024 */ lwc1 $f12, 0x24($sp) -/* 01978C 80018B8C 46043180 */ add.s $f6, $f6, $f4 -/* 019790 80018B90 C484000C */ lwc1 $f4, 0xc($a0) -/* 019794 80018B94 E7A80024 */ swc1 $f8, 0x24($sp) -/* 019798 80018B98 46043180 */ add.s $f6, $f6, $f4 -/* 01979C 80018B9C C7A40020 */ lwc1 $f4, 0x20($sp) -/* 0197A0 80018BA0 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 0197A4 80018BA4 E7A60050 */ swc1 $f6, 0x50($sp) -/* 0197A8 80018BA8 46082102 */ mul.s $f4, $f4, $f8 -/* 0197AC 80018BAC C7A80024 */ lwc1 $f8, 0x24($sp) -/* 0197B0 80018BB0 00000000 */ nop -/* 0197B4 80018BB4 46144202 */ mul.s $f8, $f8, $f20 -/* 0197B8 80018BB8 44804800 */ mtc1 $zero, $f9 -/* 0197BC 80018BBC 46082100 */ add.s $f4, $f4, $f8 -/* 0197C0 80018BC0 C7A80028 */ lwc1 $f8, 0x28($sp) -/* 0197C4 80018BC4 00000000 */ nop -/* 0197C8 80018BC8 46085282 */ mul.s $f10, $f10, $f8 -/* 0197CC 80018BCC 44804000 */ mtc1 $zero, $f8 -/* 0197D0 80018BD0 460A2000 */ add.s $f0, $f4, $f10 -/* 0197D4 80018BD4 00000000 */ nop -/* 0197D8 80018BD8 46003003 */ div.s $f0, $f6, $f0 -/* 0197DC 80018BDC 46006080 */ add.s $f2, $f12, $f0 -/* 0197E0 80018BE0 46001121 */ cvt.d.s $f4, $f2 -/* 0197E4 80018BE4 46244032 */ c.eq.d $f8, $f4 -/* 0197E8 80018BE8 00000000 */ nop -/* 0197EC 80018BEC 45010003 */ bc1t .L80018BFC -/* 0197F0 80018BF0 00000000 */ nop -/* 0197F4 80018BF4 10000003 */ b .L80018C04 -/* 0197F8 80018BF8 46026003 */ div.s $f0, $f12, $f2 -.L80018BFC: -/* 0197FC 80018BFC 44800000 */ mtc1 $zero, $f0 -/* 019800 80018C00 00000000 */ nop -.L80018C04: -/* 019804 80018C04 10000014 */ b .L80018C58 -/* 019808 80018C08 E4C00000 */ swc1 $f0, ($a2) -.L80018C0C: -/* 01980C 80018C0C E4C20000 */ swc1 $f2, ($a2) -/* 019810 80018C10 10000011 */ b .L80018C58 -/* 019814 80018C14 00001025 */ move $v0, $zero -.L80018C18: -/* 019818 80018C18 44815000 */ mtc1 $at, $f10 -/* 01981C 80018C1C 00000000 */ nop -/* 019820 80018C20 460A0182 */ mul.s $f6, $f0, $f10 -/* 019824 80018C24 444FF800 */ cfc1 $t7, $31 -/* 019828 80018C28 00000000 */ nop -/* 01982C 80018C2C 35E10003 */ ori $at, $t7, 3 -/* 019830 80018C30 38210002 */ xori $at, $at, 2 -/* 019834 80018C34 44C1F800 */ ctc1 $at, $31 -/* 019838 80018C38 00000000 */ nop -/* 01983C 80018C3C 46003224 */ cvt.w.s $f8, $f6 -/* 019840 80018C40 44024000 */ mfc1 $v0, $f8 -/* 019844 80018C44 44CFF800 */ ctc1 $t7, $31 -/* 019848 80018C48 14400002 */ bnez $v0, .L80018C54 -/* 01984C 80018C4C 00401825 */ move $v1, $v0 -/* 019850 80018C50 24430001 */ addiu $v1, $v0, 1 -.L80018C54: -/* 019854 80018C54 00601025 */ move $v0, $v1 -.L80018C58: -/* 019858 80018C58 8FBF001C */ lw $ra, 0x1c($sp) -/* 01985C 80018C5C C7B50010 */ lwc1 $f21, 0x10($sp) -/* 019860 80018C60 C7B40014 */ lwc1 $f20, 0x14($sp) -/* 019864 80018C64 03E00008 */ jr $ra -/* 019868 80018C68 27BD0078 */ addiu $sp, $sp, 0x78 - diff --git a/asm/non_matchings/objects/func_80018CE0.s b/asm/non_matchings/objects/func_80018CE0.s deleted file mode 100644 index f80336ac..00000000 --- a/asm/non_matchings/objects/func_80018CE0.s +++ /dev/null @@ -1,580 +0,0 @@ -glabel func_80018CE0 -/* 0198E0 80018CE0 27BDFF00 */ addiu $sp, $sp, -0x100 -/* 0198E4 80018CE4 AFBF006C */ sw $ra, 0x6c($sp) -/* 0198E8 80018CE8 AFBE0068 */ sw $fp, 0x68($sp) -/* 0198EC 80018CEC AFB70064 */ sw $s7, 0x64($sp) -/* 0198F0 80018CF0 AFB60060 */ sw $s6, 0x60($sp) -/* 0198F4 80018CF4 AFB5005C */ sw $s5, 0x5c($sp) -/* 0198F8 80018CF8 AFB40058 */ sw $s4, 0x58($sp) -/* 0198FC 80018CFC AFB30054 */ sw $s3, 0x54($sp) -/* 019900 80018D00 AFB20050 */ sw $s2, 0x50($sp) -/* 019904 80018D04 AFB1004C */ sw $s1, 0x4c($sp) -/* 019908 80018D08 AFB00048 */ sw $s0, 0x48($sp) -/* 01990C 80018D0C E7BF0040 */ swc1 $f31, 0x40($sp) -/* 019910 80018D10 E7BE0044 */ swc1 $f30, 0x44($sp) -/* 019914 80018D14 E7BD0038 */ swc1 $f29, 0x38($sp) -/* 019918 80018D18 E7BC003C */ swc1 $f28, 0x3c($sp) -/* 01991C 80018D1C E7BB0030 */ swc1 $f27, 0x30($sp) -/* 019920 80018D20 E7BA0034 */ swc1 $f26, 0x34($sp) -/* 019924 80018D24 E7B90028 */ swc1 $f25, 0x28($sp) -/* 019928 80018D28 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 01992C 80018D2C E7B70020 */ swc1 $f23, 0x20($sp) -/* 019930 80018D30 E7B60024 */ swc1 $f22, 0x24($sp) -/* 019934 80018D34 E7B50018 */ swc1 $f21, 0x18($sp) -/* 019938 80018D38 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 01993C 80018D3C AFA50104 */ sw $a1, 0x104($sp) -/* 019940 80018D40 AFA60108 */ sw $a2, 0x108($sp) -/* 019944 80018D44 AFA7010C */ sw $a3, 0x10c($sp) -/* 019948 80018D48 8C820064 */ lw $v0, 0x64($a0) -/* 01994C 80018D4C 0080A025 */ move $s4, $a0 -/* 019950 80018D50 844B0000 */ lh $t3, ($v0) -/* 019954 80018D54 00000000 */ nop -/* 019958 80018D58 156001E9 */ bnez $t3, .L80019500 -/* 01995C 80018D5C 8FBF006C */ lw $ra, 0x6c($sp) -/* 019960 80018D60 0C019884 */ jal get_viewport_count -/* 019964 80018D64 00000000 */ nop -/* 019968 80018D68 144001E4 */ bnez $v0, .L800194FC -/* 01996C 80018D6C 3C0C8012 */ lui $t4, %hi(gObjectListStart) # $t4, 0x8012 -/* 019970 80018D70 8D8CAE60 */ lw $t4, %lo(gObjectListStart)($t4) -/* 019974 80018D74 3C0D8012 */ lui $t5, %hi(gObjectCount) # $t5, 0x8012 -/* 019978 80018D78 8DADAE5C */ lw $t5, %lo(gObjectCount)($t5) -/* 01997C 80018D7C AFAC00F4 */ sw $t4, 0xf4($sp) -/* 019980 80018D80 018D082A */ slt $at, $t4, $t5 -/* 019984 80018D84 10200135 */ beqz $at, .L8001925C -/* 019988 80018D88 000CC080 */ sll $t8, $t4, 2 -/* 01998C 80018D8C AFB80098 */ sw $t8, 0x98($sp) -/* 019990 80018D90 241E007F */ li $fp, 127 -/* 019994 80018D94 24170010 */ li $s7, 16 -/* 019998 80018D98 24160002 */ li $s6, 2 -/* 01999C 80018D9C 24150001 */ li $s5, 1 -.L80018DA0: -/* 0199A0 80018DA0 3C0F8012 */ lui $t7, %hi(gObjPtrList) # $t7, 0x8012 -/* 0199A4 80018DA4 8DEFAE58 */ lw $t7, %lo(gObjPtrList)($t7) -/* 0199A8 80018DA8 8FAE0098 */ lw $t6, 0x98($sp) -/* 0199AC 80018DAC 00000000 */ nop -/* 0199B0 80018DB0 01EEC821 */ addu $t9, $t7, $t6 -/* 0199B4 80018DB4 8F300000 */ lw $s0, ($t9) -/* 0199B8 80018DB8 00000000 */ nop -/* 0199BC 80018DBC 86080006 */ lh $t0, 6($s0) -/* 0199C0 80018DC0 00000000 */ nop -/* 0199C4 80018DC4 31098000 */ andi $t1, $t0, 0x8000 -/* 0199C8 80018DC8 1520011B */ bnez $t1, .L80019238 -/* 0199CC 80018DCC 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 0199D0 80018DD0 86020048 */ lh $v0, 0x48($s0) -/* 0199D4 80018DD4 24010070 */ li $at, 112 -/* 0199D8 80018DD8 14410070 */ bne $v0, $at, .L80018F9C -/* 0199DC 80018DDC 24010047 */ li $at, 71 -/* 0199E0 80018DE0 C686000C */ lwc1 $f6, 0xc($s4) -/* 0199E4 80018DE4 C604000C */ lwc1 $f4, 0xc($s0) -/* 0199E8 80018DE8 C68A0010 */ lwc1 $f10, 0x10($s4) -/* 0199EC 80018DEC C6080010 */ lwc1 $f8, 0x10($s0) -/* 0199F0 80018DF0 46043001 */ sub.s $f0, $f6, $f4 -/* 0199F4 80018DF4 C6040014 */ lwc1 $f4, 0x14($s0) -/* 0199F8 80018DF8 46085081 */ sub.s $f2, $f10, $f8 -/* 0199FC 80018DFC C6860014 */ lwc1 $f6, 0x14($s4) -/* 019A00 80018E00 46000282 */ mul.s $f10, $f0, $f0 -/* 019A04 80018E04 46043381 */ sub.s $f14, $f6, $f4 -/* 019A08 80018E08 46021202 */ mul.s $f8, $f2, $f2 -/* 019A0C 80018E0C 00000000 */ nop -/* 019A10 80018E10 460E7102 */ mul.s $f4, $f14, $f14 -/* 019A14 80018E14 46085180 */ add.s $f6, $f10, $f8 -/* 019A18 80018E18 0C0326B4 */ jal sqrtf -/* 019A1C 80018E1C 46043300 */ add.s $f12, $f6, $f4 -/* 019A20 80018E20 8E030064 */ lw $v1, 0x64($s0) -/* 019A24 80018E24 46000086 */ mov.s $f2, $f0 -/* 019A28 80018E28 946A0002 */ lhu $t2, 2($v1) -/* 019A2C 80018E2C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 019A30 80018E30 448A5000 */ mtc1 $t2, $f10 -/* 019A34 80018E34 05410004 */ bgez $t2, .L80018E48 -/* 019A38 80018E38 46805220 */ cvt.s.w $f8, $f10 -/* 019A3C 80018E3C 44813000 */ mtc1 $at, $f6 -/* 019A40 80018E40 00000000 */ nop -/* 019A44 80018E44 46064200 */ add.s $f8, $f8, $f6 -.L80018E48: -/* 019A48 80018E48 4608003C */ c.lt.s $f0, $f8 -/* 019A4C 80018E4C 00000000 */ nop -/* 019A50 80018E50 450000F9 */ bc1f .L80019238 -/* 019A54 80018E54 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 019A58 80018E58 AFA300BC */ sw $v1, 0xbc($sp) -/* 019A5C 80018E5C 0C000646 */ jal music_current_sequence -/* 019A60 80018E60 E7A200C0 */ swc1 $f2, 0xc0($sp) -/* 019A64 80018E64 8FA300BC */ lw $v1, 0xbc($sp) -/* 019A68 80018E68 C7A200C0 */ lwc1 $f2, 0xc0($sp) -/* 019A6C 80018E6C 906B001C */ lbu $t3, 0x1c($v1) -/* 019A70 80018E70 00008825 */ move $s1, $zero -/* 019A74 80018E74 156200EF */ bne $t3, $v0, .L80019234 -/* 019A78 80018E78 00609825 */ move $s3, $v1 -/* 019A7C 80018E7C 94620000 */ lhu $v0, ($v1) -/* 019A80 80018E80 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 019A84 80018E84 44822000 */ mtc1 $v0, $f4 -/* 019A88 80018E88 04410004 */ bgez $v0, .L80018E9C -/* 019A8C 80018E8C 46802320 */ cvt.s.w $f12, $f4 -/* 019A90 80018E90 44815000 */ mtc1 $at, $f10 -/* 019A94 80018E94 00000000 */ nop -/* 019A98 80018E98 460A6300 */ add.s $f12, $f12, $f10 -.L80018E9C: -/* 019A9C 80018E9C 460C103E */ c.le.s $f2, $f12 -/* 019AA0 80018EA0 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 019AA4 80018EA4 45000003 */ bc1f .L80018EB4 -/* 019AA8 80018EA8 00000000 */ nop -/* 019AAC 80018EAC 10000014 */ b .L80018F00 -/* 019AB0 80018EB0 00009025 */ move $s2, $zero -.L80018EB4: -/* 019AB4 80018EB4 946D0002 */ lhu $t5, 2($v1) -/* 019AB8 80018EB8 460C1081 */ sub.s $f2, $f2, $f12 -/* 019ABC 80018EBC 44814000 */ mtc1 $at, $f8 -/* 019AC0 80018EC0 01A26023 */ subu $t4, $t5, $v0 -/* 019AC4 80018EC4 448C3000 */ mtc1 $t4, $f6 -/* 019AC8 80018EC8 46024102 */ mul.s $f4, $f8, $f2 -/* 019ACC 80018ECC 46803020 */ cvt.s.w $f0, $f6 -/* 019AD0 80018ED0 00000000 */ nop -/* 019AD4 80018ED4 46002283 */ div.s $f10, $f4, $f0 -/* 019AD8 80018ED8 4458F800 */ cfc1 $t8, $31 -/* 019ADC 80018EDC 00000000 */ nop -/* 019AE0 80018EE0 37010003 */ ori $at, $t8, 3 -/* 019AE4 80018EE4 38210002 */ xori $at, $at, 2 -/* 019AE8 80018EE8 44C1F800 */ ctc1 $at, $31 -/* 019AEC 80018EEC 00000000 */ nop -/* 019AF0 80018EF0 460051A4 */ cvt.w.s $f6, $f10 -/* 019AF4 80018EF4 44D8F800 */ ctc1 $t8, $31 -/* 019AF8 80018EF8 44123000 */ mfc1 $s2, $f6 -/* 019AFC 80018EFC 00000000 */ nop -.L80018F00: -/* 019B00 80018F00 9262000C */ lbu $v0, 0xc($s3) -/* 019B04 80018F04 2A41007B */ slti $at, $s2, 0x7b -/* 019B08 80018F08 10550005 */ beq $v0, $s5, .L80018F20 -/* 019B0C 80018F0C 00000000 */ nop -/* 019B10 80018F10 10560012 */ beq $v0, $s6, .L80018F5C -/* 019B14 80018F14 323000FF */ andi $s0, $s1, 0xff -/* 019B18 80018F18 1000001B */ b .L80018F88 -/* 019B1C 80018F1C 26310001 */ addiu $s1, $s1, 1 -.L80018F20: -/* 019B20 80018F20 14200005 */ bnez $at, .L80018F38 -/* 019B24 80018F24 323000FF */ andi $s0, $s1, 0xff -/* 019B28 80018F28 0C000445 */ jal music_channel_off -/* 019B2C 80018F2C 322400FF */ andi $a0, $s1, 0xff -/* 019B30 80018F30 10000015 */ b .L80018F88 -/* 019B34 80018F34 26310001 */ addiu $s1, $s1, 1 -.L80018F38: -/* 019B38 80018F38 03D22823 */ subu $a1, $fp, $s2 -/* 019B3C 80018F3C 30AF00FF */ andi $t7, $a1, 0xff -/* 019B40 80018F40 01E02825 */ move $a1, $t7 -/* 019B44 80018F44 0C00049A */ jal music_channel_fade_set -/* 019B48 80018F48 320400FF */ andi $a0, $s0, 0xff -/* 019B4C 80018F4C 0C00045C */ jal music_channel_on -/* 019B50 80018F50 320400FF */ andi $a0, $s0, 0xff -/* 019B54 80018F54 1000000C */ b .L80018F88 -/* 019B58 80018F58 26310001 */ addiu $s1, $s1, 1 -.L80018F5C: -/* 019B5C 80018F5C 0C0004AA */ jal music_channel_fade -/* 019B60 80018F60 320400FF */ andi $a0, $s0, 0xff -/* 019B64 80018F64 18400007 */ blez $v0, .L80018F84 -/* 019B68 80018F68 00000000 */ nop -/* 019B6C 80018F6C 0C000453 */ jal music_channel_active -/* 019B70 80018F70 02202025 */ move $a0, $s1 -/* 019B74 80018F74 14400003 */ bnez $v0, .L80018F84 -/* 019B78 80018F78 320400FF */ andi $a0, $s0, 0xff -/* 019B7C 80018F7C 0C00049A */ jal music_channel_fade_set -/* 019B80 80018F80 324500FF */ andi $a1, $s2, 0xff -.L80018F84: -/* 019B84 80018F84 26310001 */ addiu $s1, $s1, 1 -.L80018F88: -/* 019B88 80018F88 1637FFDD */ bne $s1, $s7, .L80018F00 -/* 019B8C 80018F8C 26730001 */ addiu $s3, $s3, 1 -/* 019B90 80018F90 100000A9 */ b .L80019238 -/* 019B94 80018F94 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 019B98 80018F98 24010047 */ li $at, 71 -.L80018F9C: -/* 019B9C 80018F9C 14410079 */ bne $v0, $at, .L80019184 -/* 019BA0 80018FA0 24010076 */ li $at, 118 -/* 019BA4 80018FA4 8E020064 */ lw $v0, 0x64($s0) -/* 019BA8 80018FA8 C7A80108 */ lwc1 $f8, 0x108($sp) -/* 019BAC 80018FAC C450000C */ lwc1 $f16, 0xc($v0) -/* 019BB0 80018FB0 C7A4010C */ lwc1 $f4, 0x10c($sp) -/* 019BB4 80018FB4 46088782 */ mul.s $f30, $f16, $f8 -/* 019BB8 80018FB8 C4520010 */ lwc1 $f18, 0x10($v0) -/* 019BBC 80018FBC C7AA0104 */ lwc1 $f10, 0x104($sp) -/* 019BC0 80018FC0 C44C0008 */ lwc1 $f12, 8($v0) -/* 019BC4 80018FC4 46049382 */ mul.s $f14, $f18, $f4 -/* 019BC8 80018FC8 C698000C */ lwc1 $f24, 0xc($s4) -/* 019BCC 80018FCC C69A0010 */ lwc1 $f26, 0x10($s4) -/* 019BD0 80018FD0 C4540014 */ lwc1 $f20, 0x14($v0) -/* 019BD4 80018FD4 460A6182 */ mul.s $f6, $f12, $f10 -/* 019BD8 80018FD8 C69C0014 */ lwc1 $f28, 0x14($s4) -/* 019BDC 80018FDC E7AE0078 */ swc1 $f14, 0x78($sp) -/* 019BE0 80018FE0 46186282 */ mul.s $f10, $f12, $f24 -/* 019BE4 80018FE4 461E3200 */ add.s $f8, $f6, $f30 -/* 019BE8 80018FE8 461A8182 */ mul.s $f6, $f16, $f26 -/* 019BEC 80018FEC 460E4100 */ add.s $f4, $f8, $f14 -/* 019BF0 80018FF0 46142000 */ add.s $f0, $f4, $f20 -/* 019BF4 80018FF4 461C9102 */ mul.s $f4, $f18, $f28 -/* 019BF8 80018FF8 46065200 */ add.s $f8, $f10, $f6 -/* 019BFC 80018FFC 44803000 */ mtc1 $zero, $f6 -/* 019C00 80019000 00000000 */ nop -/* 019C04 80019004 4600303C */ c.lt.s $f6, $f0 -/* 019C08 80019008 46044280 */ add.s $f10, $f8, $f4 -/* 019C0C 8001900C 45000009 */ bc1f .L80019034 -/* 019C10 80019010 46145080 */ add.s $f2, $f10, $f20 -/* 019C14 80019014 44804000 */ mtc1 $zero, $f8 -/* 019C18 80019018 00151E00 */ sll $v1, $s5, 0x18 -/* 019C1C 8001901C 4608103E */ c.le.s $f2, $f8 -/* 019C20 80019020 00037603 */ sra $t6, $v1, 0x18 -/* 019C24 80019024 45000003 */ bc1f .L80019034 -/* 019C28 80019028 00000000 */ nop -/* 019C2C 8001902C 1000000F */ b .L8001906C -/* 019C30 80019030 01C01825 */ move $v1, $t6 -.L80019034: -/* 019C34 80019034 44802000 */ mtc1 $zero, $f4 -/* 019C38 80019038 00001825 */ move $v1, $zero -/* 019C3C 8001903C 4602203C */ c.lt.s $f4, $f2 -/* 019C40 80019040 00000000 */ nop -/* 019C44 80019044 45000009 */ bc1f .L8001906C -/* 019C48 80019048 00000000 */ nop -/* 019C4C 8001904C 44805000 */ mtc1 $zero, $f10 -/* 019C50 80019050 00000000 */ nop -/* 019C54 80019054 460A003E */ c.le.s $f0, $f10 -/* 019C58 80019058 00000000 */ nop -/* 019C5C 8001905C 45000003 */ bc1f .L8001906C -/* 019C60 80019060 00000000 */ nop -/* 019C64 80019064 10000001 */ b .L8001906C -/* 019C68 80019068 2403FFFF */ li $v1, -1 -.L8001906C: -/* 019C6C 8001906C 10600072 */ beqz $v1, .L80019238 -/* 019C70 80019070 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 019C74 80019074 C7A60104 */ lwc1 $f6, 0x104($sp) -/* 019C78 80019078 46006287 */ neg.s $f10, $f12 -/* 019C7C 8001907C 46065282 */ mul.s $f10, $f10, $f6 -/* 019C80 80019080 C7A80108 */ lwc1 $f8, 0x108($sp) -/* 019C84 80019084 C7A4010C */ lwc1 $f4, 0x10c($sp) -/* 019C88 80019088 E7A80070 */ swc1 $f8, 0x70($sp) -/* 019C8C 8001908C 4608D081 */ sub.s $f2, $f26, $f8 -/* 019C90 80019090 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 019C94 80019094 461E5281 */ sub.s $f10, $f10, $f30 -/* 019C98 80019098 E7A40074 */ swc1 $f4, 0x74($sp) -/* 019C9C 8001909C 46085281 */ sub.s $f10, $f10, $f8 -/* 019CA0 800190A0 4606C001 */ sub.s $f0, $f24, $f6 -/* 019CA4 800190A4 46145201 */ sub.s $f8, $f10, $f20 -/* 019CA8 800190A8 46006282 */ mul.s $f10, $f12, $f0 -/* 019CAC 800190AC 4604E381 */ sub.s $f14, $f28, $f4 -/* 019CB0 800190B0 46028102 */ mul.s $f4, $f16, $f2 -/* 019CB4 800190B4 46045280 */ add.s $f10, $f10, $f4 -/* 019CB8 800190B8 460E9102 */ mul.s $f4, $f18, $f14 -/* 019CBC 800190BC 46045280 */ add.s $f10, $f10, $f4 -/* 019CC0 800190C0 00000000 */ nop -/* 019CC4 800190C4 460A4583 */ div.s $f22, $f8, $f10 -/* 019CC8 800190C8 C4480018 */ lwc1 $f8, 0x18($v0) -/* 019CCC 800190CC 4600B102 */ mul.s $f4, $f22, $f0 -/* 019CD0 800190D0 46062300 */ add.s $f12, $f4, $f6 -/* 019CD4 800190D4 460C403E */ c.le.s $f8, $f12 -/* 019CD8 800190D8 00000000 */ nop -/* 019CDC 800190DC 45000056 */ bc1f .L80019238 -/* 019CE0 800190E0 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 019CE4 800190E4 C44A0024 */ lwc1 $f10, 0x24($v0) -/* 019CE8 800190E8 00000000 */ nop -/* 019CEC 800190EC 460A603E */ c.le.s $f12, $f10 -/* 019CF0 800190F0 00000000 */ nop -/* 019CF4 800190F4 45000050 */ bc1f .L80019238 -/* 019CF8 800190F8 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 019CFC 800190FC 4602B102 */ mul.s $f4, $f22, $f2 -/* 019D00 80019100 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 019D04 80019104 C448001C */ lwc1 $f8, 0x1c($v0) -/* 019D08 80019108 46062000 */ add.s $f0, $f4, $f6 -/* 019D0C 8001910C 4600403E */ c.le.s $f8, $f0 -/* 019D10 80019110 00000000 */ nop -/* 019D14 80019114 45000048 */ bc1f .L80019238 -/* 019D18 80019118 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 019D1C 8001911C C44A0028 */ lwc1 $f10, 0x28($v0) -/* 019D20 80019120 00000000 */ nop -/* 019D24 80019124 460A003E */ c.le.s $f0, $f10 -/* 019D28 80019128 00000000 */ nop -/* 019D2C 8001912C 45000042 */ bc1f .L80019238 -/* 019D30 80019130 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 019D34 80019134 460EB102 */ mul.s $f4, $f22, $f14 -/* 019D38 80019138 C7A60074 */ lwc1 $f6, 0x74($sp) -/* 019D3C 8001913C C4480020 */ lwc1 $f8, 0x20($v0) -/* 019D40 80019140 46062000 */ add.s $f0, $f4, $f6 -/* 019D44 80019144 4600403E */ c.le.s $f8, $f0 -/* 019D48 80019148 00000000 */ nop -/* 019D4C 8001914C 4500003A */ bc1f .L80019238 -/* 019D50 80019150 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 019D54 80019154 C44A002C */ lwc1 $f10, 0x2c($v0) -/* 019D58 80019158 3C018012 */ lui $at, %hi(D_8011AF60) # $at, 0x8012 -/* 019D5C 8001915C 460A003E */ c.le.s $f0, $f10 -/* 019D60 80019160 00000000 */ nop -/* 019D64 80019164 45000034 */ bc1f .L80019238 -/* 019D68 80019168 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 019D6C 8001916C A0430000 */ sb $v1, ($v0) -/* 019D70 80019170 A0400001 */ sb $zero, 1($v0) -/* 019D74 80019174 A4400004 */ sh $zero, 4($v0) -/* 019D78 80019178 1000002E */ b .L80019234 -/* 019D7C 8001917C AC22AF60 */ sw $v0, %lo(D_8011AF60)($at) -/* 019D80 80019180 24010076 */ li $at, 118 -.L80019184: -/* 019D84 80019184 1441002C */ bne $v0, $at, .L80019238 -/* 019D88 80019188 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 019D8C 8001918C C684000C */ lwc1 $f4, 0xc($s4) -/* 019D90 80019190 C606000C */ lwc1 $f6, 0xc($s0) -/* 019D94 80019194 C6880010 */ lwc1 $f8, 0x10($s4) -/* 019D98 80019198 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 019D9C 8001919C 46062001 */ sub.s $f0, $f4, $f6 -/* 019DA0 800191A0 C6060014 */ lwc1 $f6, 0x14($s0) -/* 019DA4 800191A4 460A4081 */ sub.s $f2, $f8, $f10 -/* 019DA8 800191A8 C6840014 */ lwc1 $f4, 0x14($s4) -/* 019DAC 800191AC 46000202 */ mul.s $f8, $f0, $f0 -/* 019DB0 800191B0 46062381 */ sub.s $f14, $f4, $f6 -/* 019DB4 800191B4 8E110064 */ lw $s1, 0x64($s0) -/* 019DB8 800191B8 46021282 */ mul.s $f10, $f2, $f2 -/* 019DBC 800191BC 00000000 */ nop -/* 019DC0 800191C0 460E7182 */ mul.s $f6, $f14, $f14 -/* 019DC4 800191C4 460A4100 */ add.s $f4, $f8, $f10 -/* 019DC8 800191C8 0C0326B4 */ jal sqrtf -/* 019DCC 800191CC 46062300 */ add.s $f12, $f4, $f6 -/* 019DD0 800191D0 92220002 */ lbu $v0, 2($s1) -/* 019DD4 800191D4 00000000 */ nop -/* 019DD8 800191D8 0002C880 */ sll $t9, $v0, 2 -/* 019DDC 800191DC 44994000 */ mtc1 $t9, $f8 -/* 019DE0 800191E0 00000000 */ nop -/* 019DE4 800191E4 468042A0 */ cvt.s.w $f10, $f8 -/* 019DE8 800191E8 460A003C */ c.lt.s $f0, $f10 -/* 019DEC 800191EC 00000000 */ nop -/* 019DF0 800191F0 45000011 */ bc1f .L80019238 -/* 019DF4 800191F4 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 019DF8 800191F8 0C000417 */ jal music_channel_get_mask -/* 019DFC 800191FC 00000000 */ nop -/* 019E00 80019200 96280000 */ lhu $t0, ($s1) -/* 019E04 80019204 00000000 */ nop -/* 019E08 80019208 1102000B */ beq $t0, $v0, .L80019238 -/* 019E0C 8001920C 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 019E10 80019210 0C000646 */ jal music_current_sequence -/* 019E14 80019214 00000000 */ nop -/* 019E18 80019218 92290003 */ lbu $t1, 3($s1) -/* 019E1C 8001921C 00000000 */ nop -/* 019E20 80019220 15220005 */ bne $t1, $v0, .L80019238 -/* 019E24 80019224 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 019E28 80019228 96240000 */ lhu $a0, ($s1) -/* 019E2C 8001922C 0C00041D */ jal music_dynamic_set -/* 019E30 80019230 00000000 */ nop -.L80019234: -/* 019E34 80019234 8FAA00F4 */ lw $t2, 0xf4($sp) -.L80019238: -/* 019E38 80019238 3C188012 */ lui $t8, %hi(gObjectCount) # $t8, 0x8012 -/* 019E3C 8001923C 8F18AE5C */ lw $t8, %lo(gObjectCount)($t8) -/* 019E40 80019240 8FAD0098 */ lw $t5, 0x98($sp) -/* 019E44 80019244 254B0001 */ addiu $t3, $t2, 1 -/* 019E48 80019248 0178082A */ slt $at, $t3, $t8 -/* 019E4C 8001924C 25AC0004 */ addiu $t4, $t5, 4 -/* 019E50 80019250 AFAC0098 */ sw $t4, 0x98($sp) -/* 019E54 80019254 1420FED2 */ bnez $at, .L80018DA0 -/* 019E58 80019258 AFAB00F4 */ sw $t3, 0xf4($sp) -.L8001925C: -/* 019E5C 8001925C 3C0F8012 */ lui $t7, %hi(D_8011AF60) # $t7, 0x8012 -/* 019E60 80019260 8DEFAF60 */ lw $t7, %lo(D_8011AF60)($t7) -/* 019E64 80019264 24150001 */ li $s5, 1 -/* 019E68 80019268 24160002 */ li $s6, 2 -/* 019E6C 8001926C 24170010 */ li $s7, 16 -/* 019E70 80019270 11E000A2 */ beqz $t7, .L800194FC -/* 019E74 80019274 241E007F */ li $fp, 127 -/* 019E78 80019278 0C000646 */ jal music_current_sequence -/* 019E7C 8001927C 00000000 */ nop -/* 019E80 80019280 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 -/* 019E84 80019284 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) -/* 019E88 80019288 8FA80110 */ lw $t0, 0x110($sp) -/* 019E8C 8001928C 906E0040 */ lbu $t6, 0x40($v1) -/* 019E90 80019290 00008825 */ move $s1, $zero -/* 019E94 80019294 15C2008B */ bne $t6, $v0, .L800194C4 -/* 019E98 80019298 24140003 */ li $s4, 3 -/* 019E9C 8001929C 94790004 */ lhu $t9, 4($v1) -/* 019EA0 800192A0 3C0D8012 */ lui $t5, %hi(gVideoRefreshRate) # $t5, 0x8012 -/* 019EA4 800192A4 03284821 */ addu $t1, $t9, $t0 -/* 019EA8 800192A8 A4690004 */ sh $t1, 4($v1) -/* 019EAC 800192AC 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 -/* 019EB0 800192B0 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) -/* 019EB4 800192B4 8DAD6170 */ lw $t5, %lo(gVideoRefreshRate)($t5) -/* 019EB8 800192B8 906A0002 */ lbu $t2, 2($v1) -/* 019EBC 800192BC 94620004 */ lhu $v0, 4($v1) -/* 019EC0 800192C0 014D0019 */ multu $t2, $t5 -/* 019EC4 800192C4 241800FE */ li $t8, 254 -/* 019EC8 800192C8 00002012 */ mflo $a0 -/* 019ECC 800192CC 308CFFFF */ andi $t4, $a0, 0xffff -/* 019ED0 800192D0 0182082A */ slt $at, $t4, $v0 -/* 019ED4 800192D4 10200007 */ beqz $at, .L800192F4 -/* 019ED8 800192D8 01802025 */ move $a0, $t4 -/* 019EDC 800192DC A46C0004 */ sh $t4, 4($v1) -/* 019EE0 800192E0 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 -/* 019EE4 800192E4 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) -/* 019EE8 800192E8 00000000 */ nop -/* 019EEC 800192EC 94620004 */ lhu $v0, 4($v1) -/* 019EF0 800192F0 00000000 */ nop -.L800192F4: -/* 019EF4 800192F4 44822000 */ mtc1 $v0, $f4 -/* 019EF8 800192F8 04410005 */ bgez $v0, .L80019310 -/* 019EFC 800192FC 468021A0 */ cvt.s.w $f6, $f4 -/* 019F00 80019300 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 019F04 80019304 44814000 */ mtc1 $at, $f8 -/* 019F08 80019308 00000000 */ nop -/* 019F0C 8001930C 46083180 */ add.s $f6, $f6, $f8 -.L80019310: -/* 019F10 80019310 3C01437E */ li $at, 0x437E0000 # 254.000000 -/* 019F14 80019314 44815000 */ mtc1 $at, $f10 -/* 019F18 80019318 44844000 */ mtc1 $a0, $f8 -/* 019F1C 8001931C 460A3102 */ mul.s $f4, $f6, $f10 -/* 019F20 80019320 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 019F24 80019324 04810004 */ bgez $a0, .L80019338 -/* 019F28 80019328 468041A0 */ cvt.s.w $f6, $f8 -/* 019F2C 8001932C 44815000 */ mtc1 $at, $f10 -/* 019F30 80019330 00000000 */ nop -/* 019F34 80019334 460A3180 */ add.s $f6, $f6, $f10 -.L80019338: -/* 019F38 80019338 00000000 */ nop -/* 019F3C 8001933C 46062203 */ div.s $f8, $f4, $f6 -/* 019F40 80019340 444BF800 */ cfc1 $t3, $31 -/* 019F44 80019344 00000000 */ nop -/* 019F48 80019348 35610003 */ ori $at, $t3, 3 -/* 019F4C 8001934C 38210002 */ xori $at, $at, 2 -/* 019F50 80019350 44C1F800 */ ctc1 $at, $31 -/* 019F54 80019354 00000000 */ nop -/* 019F58 80019358 460042A4 */ cvt.w.s $f10, $f8 -/* 019F5C 8001935C 44055000 */ mfc1 $a1, $f10 -/* 019F60 80019360 44CBF800 */ ctc1 $t3, $31 -/* 019F64 80019364 28A100FE */ slti $at, $a1, 0xfe -/* 019F68 80019368 10200003 */ beqz $at, .L80019378 -/* 019F6C 8001936C 00000000 */ nop -/* 019F70 80019370 10000002 */ b .L8001937C -/* 019F74 80019374 A0650001 */ sb $a1, 1($v1) -.L80019378: -/* 019F78 80019378 A0780001 */ sb $t8, 1($v1) -.L8001937C: -/* 019F7C 8001937C 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 -/* 019F80 80019380 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) -/* 019F84 80019384 2413FFFF */ li $s3, -1 -.L80019388: -/* 019F88 80019388 806E0000 */ lb $t6, ($v1) -/* 019F8C 8001938C 00717821 */ addu $t7, $v1, $s1 -/* 019F90 80019390 81E20030 */ lb $v0, 0x30($t7) -/* 019F94 80019394 166E0003 */ bne $s3, $t6, .L800193A4 -/* 019F98 80019398 0002C883 */ sra $t9, $v0, 2 -/* 019F9C 8001939C 00194600 */ sll $t0, $t9, 0x18 -/* 019FA0 800193A0 00081603 */ sra $v0, $t0, 0x18 -.L800193A4: -/* 019FA4 800193A4 304A0003 */ andi $t2, $v0, 3 -/* 019FA8 800193A8 000A6E00 */ sll $t5, $t2, 0x18 -/* 019FAC 800193AC 000D6603 */ sra $t4, $t5, 0x18 -/* 019FB0 800193B0 11800012 */ beqz $t4, .L800193FC -/* 019FB4 800193B4 00000000 */ nop -/* 019FB8 800193B8 11950007 */ beq $t4, $s5, .L800193D8 -/* 019FBC 800193BC 323000FF */ andi $s0, $s1, 0xff -/* 019FC0 800193C0 11960028 */ beq $t4, $s6, .L80019464 -/* 019FC4 800193C4 00000000 */ nop -/* 019FC8 800193C8 11940012 */ beq $t4, $s4, .L80019414 -/* 019FCC 800193CC 00000000 */ nop -/* 019FD0 800193D0 1000003A */ b .L800194BC -/* 019FD4 800193D4 26310001 */ addiu $s1, $s1, 1 -.L800193D8: -/* 019FD8 800193D8 0C00045C */ jal music_channel_on -/* 019FDC 800193DC 320400FF */ andi $a0, $s0, 0xff -/* 019FE0 800193E0 320400FF */ andi $a0, $s0, 0xff -/* 019FE4 800193E4 0C00049A */ jal music_channel_fade_set -/* 019FE8 800193E8 2405007F */ li $a1, 127 -/* 019FEC 800193EC 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 -/* 019FF0 800193F0 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) -/* 019FF4 800193F4 10000031 */ b .L800194BC -/* 019FF8 800193F8 26310001 */ addiu $s1, $s1, 1 -.L800193FC: -/* 019FFC 800193FC 0C000445 */ jal music_channel_off -/* 01A000 80019400 322400FF */ andi $a0, $s1, 0xff -/* 01A004 80019404 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 -/* 01A008 80019408 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) -/* 01A00C 8001940C 1000002B */ b .L800194BC -/* 01A010 80019410 26310001 */ addiu $s1, $s1, 1 -.L80019414: -/* 01A014 80019414 90620001 */ lbu $v0, 1($v1) -/* 01A018 80019418 323000FF */ andi $s0, $s1, 0xff -/* 01A01C 8001941C 28410080 */ slti $at, $v0, 0x80 -/* 01A020 80019420 1420000C */ bnez $at, .L80019454 -/* 01A024 80019424 2452FF81 */ addiu $s2, $v0, -0x7f -/* 01A028 80019428 324B00FF */ andi $t3, $s2, 0xff -/* 01A02C 8001942C 01609025 */ move $s2, $t3 -/* 01A030 80019430 0C00045C */ jal music_channel_on -/* 01A034 80019434 320400FF */ andi $a0, $s0, 0xff -/* 01A038 80019438 0C0004AA */ jal music_channel_fade -/* 01A03C 8001943C 320400FF */ andi $a0, $s0, 0xff -/* 01A040 80019440 0052082A */ slt $at, $v0, $s2 -/* 01A044 80019444 10200003 */ beqz $at, .L80019454 -/* 01A048 80019448 320400FF */ andi $a0, $s0, 0xff -/* 01A04C 8001944C 0C00049A */ jal music_channel_fade_set -/* 01A050 80019450 324500FF */ andi $a1, $s2, 0xff -.L80019454: -/* 01A054 80019454 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 -/* 01A058 80019458 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) -/* 01A05C 8001945C 10000017 */ b .L800194BC -/* 01A060 80019460 26310001 */ addiu $s1, $s1, 1 -.L80019464: -/* 01A064 80019464 90620001 */ lbu $v0, 1($v1) -/* 01A068 80019468 323000FF */ andi $s0, $s1, 0xff -/* 01A06C 8001946C 2841007F */ slti $at, $v0, 0x7f -/* 01A070 80019470 1020000C */ beqz $at, .L800194A4 -/* 01A074 80019474 03C29023 */ subu $s2, $fp, $v0 -/* 01A078 80019478 325800FF */ andi $t8, $s2, 0xff -/* 01A07C 8001947C 03009025 */ move $s2, $t8 -/* 01A080 80019480 0C0004AA */ jal music_channel_fade -/* 01A084 80019484 320400FF */ andi $a0, $s0, 0xff -/* 01A088 80019488 0242082A */ slt $at, $s2, $v0 -/* 01A08C 8001948C 10200007 */ beqz $at, .L800194AC -/* 01A090 80019490 320400FF */ andi $a0, $s0, 0xff -/* 01A094 80019494 0C00049A */ jal music_channel_fade_set -/* 01A098 80019498 324500FF */ andi $a1, $s2, 0xff -/* 01A09C 8001949C 10000003 */ b .L800194AC -/* 01A0A0 800194A0 00000000 */ nop -.L800194A4: -/* 01A0A4 800194A4 0C000445 */ jal music_channel_off -/* 01A0A8 800194A8 322400FF */ andi $a0, $s1, 0xff -.L800194AC: -/* 01A0AC 800194AC 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 -/* 01A0B0 800194B0 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) -/* 01A0B4 800194B4 00000000 */ nop -/* 01A0B8 800194B8 26310001 */ addiu $s1, $s1, 1 -.L800194BC: -/* 01A0BC 800194BC 1637FFB2 */ bne $s1, $s7, .L80019388 -/* 01A0C0 800194C0 00000000 */ nop -.L800194C4: -/* 01A0C4 800194C4 906F0001 */ lbu $t7, 1($v1) -/* 01A0C8 800194C8 240100FE */ li $at, 254 -/* 01A0CC 800194CC 15E1000C */ bne $t7, $at, .L80019500 -/* 01A0D0 800194D0 8FBF006C */ lw $ra, 0x6c($sp) -/* 01A0D4 800194D4 0C000646 */ jal music_current_sequence -/* 01A0D8 800194D8 00000000 */ nop -/* 01A0DC 800194DC 3C0E8012 */ lui $t6, %hi(D_8011AF60) # $t6, 0x8012 -/* 01A0E0 800194E0 8DCEAF60 */ lw $t6, %lo(D_8011AF60)($t6) -/* 01A0E4 800194E4 3C018012 */ lui $at, %hi(D_8011AF60) # $at, 0x8012 -/* 01A0E8 800194E8 91D90040 */ lbu $t9, 0x40($t6) -/* 01A0EC 800194EC 00000000 */ nop -/* 01A0F0 800194F0 17220003 */ bne $t9, $v0, .L80019500 -/* 01A0F4 800194F4 8FBF006C */ lw $ra, 0x6c($sp) -/* 01A0F8 800194F8 AC20AF60 */ sw $zero, %lo(D_8011AF60)($at) -.L800194FC: -/* 01A0FC 800194FC 8FBF006C */ lw $ra, 0x6c($sp) -.L80019500: -/* 01A100 80019500 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 01A104 80019504 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 01A108 80019508 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 01A10C 8001950C C7B60024 */ lwc1 $f22, 0x24($sp) -/* 01A110 80019510 C7B90028 */ lwc1 $f25, 0x28($sp) -/* 01A114 80019514 C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 01A118 80019518 C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 01A11C 8001951C C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 01A120 80019520 C7BD0038 */ lwc1 $f29, 0x38($sp) -/* 01A124 80019524 C7BC003C */ lwc1 $f28, 0x3c($sp) -/* 01A128 80019528 C7BF0040 */ lwc1 $f31, 0x40($sp) -/* 01A12C 8001952C C7BE0044 */ lwc1 $f30, 0x44($sp) -/* 01A130 80019530 8FB00048 */ lw $s0, 0x48($sp) -/* 01A134 80019534 8FB1004C */ lw $s1, 0x4c($sp) -/* 01A138 80019538 8FB20050 */ lw $s2, 0x50($sp) -/* 01A13C 8001953C 8FB30054 */ lw $s3, 0x54($sp) -/* 01A140 80019540 8FB40058 */ lw $s4, 0x58($sp) -/* 01A144 80019544 8FB5005C */ lw $s5, 0x5c($sp) -/* 01A148 80019548 8FB60060 */ lw $s6, 0x60($sp) -/* 01A14C 8001954C 8FB70064 */ lw $s7, 0x64($sp) -/* 01A150 80019550 8FBE0068 */ lw $fp, 0x68($sp) -/* 01A154 80019554 03E00008 */ jr $ra -/* 01A158 80019558 27BD0100 */ addiu $sp, $sp, 0x100 - diff --git a/asm/non_matchings/objects/func_80019808.s b/asm/non_matchings/objects/func_80019808.s deleted file mode 100644 index 085a25d0..00000000 --- a/asm/non_matchings/objects/func_80019808.s +++ /dev/null @@ -1,1113 +0,0 @@ -glabel func_80019808 -/* 01A408 80019808 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 01A40C 8001980C AFBF0034 */ sw $ra, 0x34($sp) -/* 01A410 80019810 AFB60030 */ sw $s6, 0x30($sp) -/* 01A414 80019814 AFB5002C */ sw $s5, 0x2c($sp) -/* 01A418 80019818 AFB40028 */ sw $s4, 0x28($sp) -/* 01A41C 8001981C AFB30024 */ sw $s3, 0x24($sp) -/* 01A420 80019820 AFB20020 */ sw $s2, 0x20($sp) -/* 01A424 80019824 AFB1001C */ sw $s1, 0x1c($sp) -/* 01A428 80019828 AFB00018 */ sw $s0, 0x18($sp) -/* 01A42C 8001982C 0C01AF6C */ jal get_current_level_header -/* 01A430 80019830 AFA400A0 */ sw $a0, 0xa0($sp) -/* 01A434 80019834 0C01BAA4 */ jal get_settings -/* 01A438 80019838 AFA20064 */ sw $v0, 0x64($sp) -/* 01A43C 8001983C 8FBF0064 */ lw $ra, 0x64($sp) -/* 01A440 80019840 A7A00088 */ sh $zero, 0x88($sp) -/* 01A444 80019844 A7A0008A */ sh $zero, 0x8a($sp) -/* 01A448 80019848 83E3004C */ lb $v1, 0x4c($ra) -/* 01A44C 8001984C 0040B025 */ move $s6, $v0 -/* 01A450 80019850 106001A2 */ beqz $v1, .L80019EDC -/* 01A454 80019854 00009825 */ move $s3, $zero -/* 01A458 80019858 24010003 */ li $at, 3 -/* 01A45C 8001985C 1061019F */ beq $v1, $at, .L80019EDC -/* 01A460 80019860 24010008 */ li $at, 8 -/* 01A464 80019864 1061019D */ beq $v1, $at, .L80019EDC -/* 01A468 80019868 306E0040 */ andi $t6, $v1, 0x40 -/* 01A46C 8001986C 11C003D0 */ beqz $t6, .L8001A7B0 -/* 01A470 80019870 24010042 */ li $at, 66 -/* 01A474 80019874 14610008 */ bne $v1, $at, .L80019898 -/* 01A478 80019878 3C0B8012 */ lui $t3, %hi(gRacers) # $t3, 0x8012 -/* 01A47C 8001987C 256BAEE4 */ addiu $t3, %lo(gRacers) # addiu $t3, $t3, -0x511c -/* 01A480 80019880 8D640000 */ lw $a0, ($t3) -/* 01A484 80019884 AFBF0064 */ sw $ra, 0x64($sp) -/* 01A488 80019888 0C01144A */ jal func_80045128 -/* 01A48C 8001988C 00000000 */ nop -/* 01A490 80019890 8FBF0064 */ lw $ra, 0x64($sp) -/* 01A494 80019894 00000000 */ nop -.L80019898: -/* 01A498 80019898 3C0F8012 */ lui $t7, %hi(D_8011ADB4) # $t7, 0x8012 -/* 01A49C 8001989C 8DEFADB4 */ lw $t7, %lo(D_8011ADB4)($t7) -/* 01A4A0 800198A0 3C0B8012 */ lui $t3, %hi(gRacers) # $t3, 0x8012 -/* 01A4A4 800198A4 15E003C2 */ bnez $t7, .L8001A7B0 -/* 01A4A8 800198A8 256BAEE4 */ addiu $t3, %lo(gRacers) # addiu $t3, $t3, -0x511c -/* 01A4AC 800198AC 3C128012 */ lui $s2, %hi(gNumRacers) # $s2, 0x8012 -/* 01A4B0 800198B0 2652AEF0 */ addiu $s2, %lo(gNumRacers) # addiu $s2, $s2, -0x5110 -/* 01A4B4 800198B4 8E470000 */ lw $a3, ($s2) -/* 01A4B8 800198B8 00008025 */ move $s0, $zero -/* 01A4BC 800198BC 18E00066 */ blez $a3, .L80019A58 -/* 01A4C0 800198C0 00005025 */ move $t2, $zero -/* 01A4C4 800198C4 3C118012 */ lui $s1, %hi(D_8011ADC0) # $s1, 0x8012 -/* 01A4C8 800198C8 2631ADC0 */ addiu $s1, %lo(D_8011ADC0) # addiu $s1, $s1, -0x5240 -/* 01A4CC 800198CC 27A5006C */ addiu $a1, $sp, 0x6c -/* 01A4D0 800198D0 2415FFFF */ li $s5, -1 -/* 01A4D4 800198D4 24140001 */ li $s4, 1 -/* 01A4D8 800198D8 24090040 */ li $t1, 64 -.L800198DC: -/* 01A4DC 800198DC 8D780000 */ lw $t8, ($t3) -/* 01A4E0 800198E0 00000000 */ nop -/* 01A4E4 800198E4 030AC821 */ addu $t9, $t8, $t2 -/* 01A4E8 800198E8 8F2E0000 */ lw $t6, ($t9) -/* 01A4EC 800198EC 00000000 */ nop -/* 01A4F0 800198F0 8DCF0064 */ lw $t7, 0x64($t6) -/* 01A4F4 800198F4 00000000 */ nop -/* 01A4F8 800198F8 ACAF0000 */ sw $t7, ($a1) -/* 01A4FC 800198FC 83F8004C */ lb $t8, 0x4c($ra) -/* 01A500 80019900 00000000 */ nop -/* 01A504 80019904 15380031 */ bne $t1, $t8, .L800199CC -/* 01A508 80019908 00000000 */ nop -/* 01A50C 8001990C 81F90185 */ lb $t9, 0x185($t7) -/* 01A510 80019910 00000000 */ nop -/* 01A514 80019914 1F20002D */ bgtz $t9, .L800199CC -/* 01A518 80019918 00000000 */ nop -/* 01A51C 8001991C 81EE01D8 */ lb $t6, 0x1d8($t7) -/* 01A520 80019920 00000000 */ nop -/* 01A524 80019924 15C00029 */ bnez $t6, .L800199CC -/* 01A528 80019928 00000000 */ nop -/* 01A52C 8001992C A1F401D8 */ sb $s4, 0x1d8($t7) -/* 01A530 80019930 8CAF0000 */ lw $t7, ($a1) -/* 01A534 80019934 00000000 */ nop -/* 01A538 80019938 A1E00173 */ sb $zero, 0x173($t7) -/* 01A53C 8001993C 8D780000 */ lw $t8, ($t3) -/* 01A540 80019940 00000000 */ nop -/* 01A544 80019944 030AC821 */ addu $t9, $t8, $t2 -/* 01A548 80019948 8F240000 */ lw $a0, ($t9) -/* 01A54C 8001994C AFBF0064 */ sw $ra, 0x64($sp) -/* 01A550 80019950 AFAA0044 */ sw $t2, 0x44($sp) -/* 01A554 80019954 0C001AB2 */ jal racer_sound_free -/* 01A558 80019958 AFA5004C */ sw $a1, 0x4c($sp) -/* 01A55C 8001995C 3C0B8012 */ lui $t3, %hi(gRacers) # $t3, 0x8012 -/* 01A560 80019960 256BAEE4 */ addiu $t3, %lo(gRacers) # addiu $t3, $t3, -0x511c -/* 01A564 80019964 8FAA0044 */ lw $t2, 0x44($sp) -/* 01A568 80019968 8D6E0000 */ lw $t6, ($t3) -/* 01A56C 8001996C 8FA5004C */ lw $a1, 0x4c($sp) -/* 01A570 80019970 01CA7821 */ addu $t7, $t6, $t2 -/* 01A574 80019974 8DE20000 */ lw $v0, ($t7) -/* 01A578 80019978 8FBF0064 */ lw $ra, 0x64($sp) -/* 01A57C 8001997C 84580006 */ lh $t8, 6($v0) -/* 01A580 80019980 24090040 */ li $t1, 64 -/* 01A584 80019984 37194000 */ ori $t9, $t8, 0x4000 -/* 01A588 80019988 A4590006 */ sh $t9, 6($v0) -/* 01A58C 8001998C 8D6E0000 */ lw $t6, ($t3) -/* 01A590 80019990 00000000 */ nop -/* 01A594 80019994 01CA7821 */ addu $t7, $t6, $t2 -/* 01A598 80019998 8DF80000 */ lw $t8, ($t7) -/* 01A59C 8001999C 240F0005 */ li $t7, 5 -/* 01A5A0 800199A0 8F19004C */ lw $t9, 0x4c($t8) -/* 01A5A4 800199A4 00000000 */ nop -/* 01A5A8 800199A8 A7200014 */ sh $zero, 0x14($t9) -/* 01A5AC 800199AC 8E2E0000 */ lw $t6, ($s1) -/* 01A5B0 800199B0 8CB90000 */ lw $t9, ($a1) -/* 01A5B4 800199B4 01EEC023 */ subu $t8, $t7, $t6 -/* 01A5B8 800199B8 A73801AC */ sh $t8, 0x1ac($t9) -/* 01A5BC 800199BC 8E2F0000 */ lw $t7, ($s1) -/* 01A5C0 800199C0 00000000 */ nop -/* 01A5C4 800199C4 25EE0001 */ addiu $t6, $t7, 1 -/* 01A5C8 800199C8 AE2E0000 */ sw $t6, ($s1) -.L800199CC: -/* 01A5CC 800199CC 8CA20000 */ lw $v0, ($a1) -/* 01A5D0 800199D0 26100001 */ addiu $s0, $s0, 1 -/* 01A5D4 800199D4 84580000 */ lh $t8, ($v0) -/* 01A5D8 800199D8 804301D8 */ lb $v1, 0x1d8($v0) -/* 01A5DC 800199DC 12B8000B */ beq $s5, $t8, .L80019A0C -/* 01A5E0 800199E0 00000000 */ nop -/* 01A5E4 800199E4 10600006 */ beqz $v1, .L80019A00 -/* 01A5E8 800199E8 87AE008A */ lh $t6, 0x8a($sp) -/* 01A5EC 800199EC 87B90088 */ lh $t9, 0x88($sp) -/* 01A5F0 800199F0 00000000 */ nop -/* 01A5F4 800199F4 272F0001 */ addiu $t7, $t9, 1 -/* 01A5F8 800199F8 A7AF0088 */ sh $t7, 0x88($sp) -/* 01A5FC 800199FC 87AE008A */ lh $t6, 0x8a($sp) -.L80019A00: -/* 01A600 80019A00 00000000 */ nop -/* 01A604 80019A04 25D80001 */ addiu $t8, $t6, 1 -/* 01A608 80019A08 A7B8008A */ sh $t8, 0x8a($sp) -.L80019A0C: -/* 01A60C 80019A0C 1060000D */ beqz $v1, .L80019A44 -/* 01A610 80019A10 00000000 */ nop -/* 01A614 80019A14 844E01AC */ lh $t6, 0x1ac($v0) -/* 01A618 80019A18 26730001 */ addiu $s3, $s3, 1 -/* 01A61C 80019A1C 0013CC00 */ sll $t9, $s3, 0x10 -/* 01A620 80019A20 15C00008 */ bnez $t6, .L80019A44 -/* 01A624 80019A24 00199C03 */ sra $s3, $t9, 0x10 -/* 01A628 80019A28 8E380000 */ lw $t8, ($s1) -/* 01A62C 80019A2C 00000000 */ nop -/* 01A630 80019A30 A45801AC */ sh $t8, 0x1ac($v0) -/* 01A634 80019A34 8E390000 */ lw $t9, ($s1) -/* 01A638 80019A38 00000000 */ nop -/* 01A63C 80019A3C 272F0001 */ addiu $t7, $t9, 1 -/* 01A640 80019A40 AE2F0000 */ sw $t7, ($s1) -.L80019A44: -/* 01A644 80019A44 8E470000 */ lw $a3, ($s2) -/* 01A648 80019A48 254A0004 */ addiu $t2, $t2, 4 -/* 01A64C 80019A4C 0207082A */ slt $at, $s0, $a3 -/* 01A650 80019A50 1420FFA2 */ bnez $at, .L800198DC -/* 01A654 80019A54 24A50004 */ addiu $a1, $a1, 4 -.L80019A58: -/* 01A658 80019A58 83EE004C */ lb $t6, 0x4c($ra) -/* 01A65C 80019A5C 24090040 */ li $t1, 64 -/* 01A660 80019A60 3C118012 */ lui $s1, %hi(D_8011ADC0) # $s1, 0x8012 -/* 01A664 80019A64 2631ADC0 */ addiu $s1, %lo(D_8011ADC0) # addiu $s1, $s1, -0x5240 -/* 01A668 80019A68 24140001 */ li $s4, 1 -/* 01A66C 80019A6C 112E0003 */ beq $t1, $t6, .L80019A7C -/* 01A670 80019A70 2415FFFF */ li $s5, -1 -/* 01A674 80019A74 1E600010 */ bgtz $s3, .L80019AB8 -/* 01A678 80019A78 00000000 */ nop -.L80019A7C: -/* 01A67C 80019A7C 87B8008A */ lh $t8, 0x8a($sp) -/* 01A680 80019A80 87B90088 */ lh $t9, 0x88($sp) -/* 01A684 80019A84 17140004 */ bne $t8, $s4, .L80019A98 -/* 01A688 80019A88 87AF008A */ lh $t7, 0x8a($sp) -/* 01A68C 80019A8C 1334000A */ beq $t9, $s4, .L80019AB8 -/* 01A690 80019A90 00000000 */ nop -/* 01A694 80019A94 87AF008A */ lh $t7, 0x8a($sp) -.L80019A98: -/* 01A698 80019A98 87AE0088 */ lh $t6, 0x88($sp) -/* 01A69C 80019A9C 29E10002 */ slti $at, $t7, 2 -/* 01A6A0 80019AA0 14200002 */ bnez $at, .L80019AAC -/* 01A6A4 80019AA4 01CF082A */ slt $at, $t6, $t7 -/* 01A6A8 80019AA8 10200003 */ beqz $at, .L80019AB8 -.L80019AAC: -/* 01A6AC 80019AAC 2A610003 */ slti $at, $s3, 3 -/* 01A6B0 80019AB0 1420033F */ bnez $at, .L8001A7B0 -/* 01A6B4 80019AB4 00000000 */ nop -.L80019AB8: -/* 01A6B8 80019AB8 18E00041 */ blez $a3, .L80019BC0 -/* 01A6BC 80019ABC 00008025 */ move $s0, $zero -/* 01A6C0 80019AC0 27A3005C */ addiu $v1, $sp, 0x5c -/* 01A6C4 80019AC4 00E32021 */ addu $a0, $a3, $v1 -/* 01A6C8 80019AC8 24070003 */ li $a3, 3 -/* 01A6CC 80019ACC 27A5006C */ addiu $a1, $sp, 0x6c -/* 01A6D0 80019AD0 240D000A */ li $t5, 10 -/* 01A6D4 80019AD4 24060042 */ li $a2, 66 -.L80019AD8: -/* 01A6D8 80019AD8 83F9004C */ lb $t9, 0x4c($ra) -/* 01A6DC 80019ADC 00000000 */ nop -/* 01A6E0 80019AE0 15390008 */ bne $t1, $t9, .L80019B04 -/* 01A6E4 80019AE4 00000000 */ nop -/* 01A6E8 80019AE8 8CAE0000 */ lw $t6, ($a1) -/* 01A6EC 80019AEC 00000000 */ nop -/* 01A6F0 80019AF0 81CF0185 */ lb $t7, 0x185($t6) -/* 01A6F4 80019AF4 00000000 */ nop -/* 01A6F8 80019AF8 01AFC023 */ subu $t8, $t5, $t7 -/* 01A6FC 80019AFC 10000020 */ b .L80019B80 -/* 01A700 80019B00 A0780000 */ sb $t8, ($v1) -.L80019B04: -/* 01A704 80019B04 8CA20000 */ lw $v0, ($a1) -/* 01A708 80019B08 00000000 */ nop -/* 01A70C 80019B0C 80590193 */ lb $t9, 0x193($v0) -/* 01A710 80019B10 00000000 */ nop -/* 01A714 80019B14 A0790000 */ sb $t9, ($v1) -/* 01A718 80019B18 83EE004C */ lb $t6, 0x4c($ra) -/* 01A71C 80019B1C 00000000 */ nop -/* 01A720 80019B20 14CE0017 */ bne $a2, $t6, .L80019B80 -/* 01A724 80019B24 00000000 */ nop -/* 01A728 80019B28 806F0000 */ lb $t7, ($v1) -/* 01A72C 80019B2C 00000000 */ nop -/* 01A730 80019B30 01E70019 */ multu $t7, $a3 -/* 01A734 80019B34 0000C012 */ mflo $t8 -/* 01A738 80019B38 A0780000 */ sb $t8, ($v1) -/* 01A73C 80019B3C 805901CF */ lb $t9, 0x1cf($v0) -/* 01A740 80019B40 00000000 */ nop -/* 01A744 80019B44 13200006 */ beqz $t9, .L80019B60 -/* 01A748 80019B48 00000000 */ nop -/* 01A74C 80019B4C 806E0000 */ lb $t6, ($v1) -/* 01A750 80019B50 00000000 */ nop -/* 01A754 80019B54 25CF0002 */ addiu $t7, $t6, 2 -/* 01A758 80019B58 10000009 */ b .L80019B80 -/* 01A75C 80019B5C A06F0000 */ sb $t7, ($v1) -.L80019B60: -/* 01A760 80019B60 8C580144 */ lw $t8, 0x144($v0) -/* 01A764 80019B64 00000000 */ nop -/* 01A768 80019B68 13000005 */ beqz $t8, .L80019B80 -/* 01A76C 80019B6C 00000000 */ nop -/* 01A770 80019B70 80790000 */ lb $t9, ($v1) -/* 01A774 80019B74 00000000 */ nop -/* 01A778 80019B78 272E0001 */ addiu $t6, $t9, 1 -/* 01A77C 80019B7C A06E0000 */ sb $t6, ($v1) -.L80019B80: -/* 01A780 80019B80 80620000 */ lb $v0, ($v1) -/* 01A784 80019B84 00000000 */ nop -/* 01A788 80019B88 2841000B */ slti $at, $v0, 0xb -/* 01A78C 80019B8C 14200004 */ bnez $at, .L80019BA0 -/* 01A790 80019B90 00000000 */ nop -/* 01A794 80019B94 A06D0000 */ sb $t5, ($v1) -/* 01A798 80019B98 80620000 */ lb $v0, ($v1) -/* 01A79C 80019B9C 00000000 */ nop -.L80019BA0: -/* 01A7A0 80019BA0 04410002 */ bgez $v0, .L80019BAC -/* 01A7A4 80019BA4 00000000 */ nop -/* 01A7A8 80019BA8 A0600000 */ sb $zero, ($v1) -.L80019BAC: -/* 01A7AC 80019BAC 24630001 */ addiu $v1, $v1, 1 -/* 01A7B0 80019BB0 0064082B */ sltu $at, $v1, $a0 -/* 01A7B4 80019BB4 1420FFC8 */ bnez $at, .L80019AD8 -/* 01A7B8 80019BB8 24A50004 */ addiu $a1, $a1, 4 -/* 01A7BC 80019BBC 00008025 */ move $s0, $zero -.L80019BC0: -/* 01A7C0 80019BC0 27A8006C */ addiu $t0, $sp, 0x6c -/* 01A7C4 80019BC4 27A6005C */ addiu $a2, $sp, 0x5c -.L80019BC8: -/* 01A7C8 80019BC8 8E470000 */ lw $a3, ($s2) -/* 01A7CC 80019BCC 00152400 */ sll $a0, $s5, 0x10 -/* 01A7D0 80019BD0 00151C00 */ sll $v1, $s5, 0x10 -/* 01A7D4 80019BD4 00047C03 */ sra $t7, $a0, 0x10 -/* 01A7D8 80019BD8 0003C403 */ sra $t8, $v1, 0x10 -/* 01A7DC 80019BDC 01E02025 */ move $a0, $t7 -/* 01A7E0 80019BE0 18E00018 */ blez $a3, .L80019C44 -/* 01A7E4 80019BE4 03001825 */ move $v1, $t8 -/* 01A7E8 80019BE8 27A5006C */ addiu $a1, $sp, 0x6c -.L80019BEC: -/* 01A7EC 80019BEC 8CB90000 */ lw $t9, ($a1) -/* 01A7F0 80019BF0 00D07821 */ addu $t7, $a2, $s0 -/* 01A7F4 80019BF4 832E01D8 */ lb $t6, 0x1d8($t9) -/* 01A7F8 80019BF8 00000000 */ nop -/* 01A7FC 80019BFC 15C0000C */ bnez $t6, .L80019C30 -/* 01A800 80019C00 00000000 */ nop -/* 01A804 80019C04 81E20000 */ lb $v0, ($t7) -/* 01A808 80019C08 00000000 */ nop -/* 01A80C 80019C0C 0043082A */ slt $at, $v0, $v1 -/* 01A810 80019C10 14200007 */ bnez $at, .L80019C30 -/* 01A814 80019C14 00000000 */ nop -/* 01A818 80019C18 00021C00 */ sll $v1, $v0, 0x10 -/* 01A81C 80019C1C 00102400 */ sll $a0, $s0, 0x10 -/* 01A820 80019C20 0003C403 */ sra $t8, $v1, 0x10 -/* 01A824 80019C24 0004CC03 */ sra $t9, $a0, 0x10 -/* 01A828 80019C28 03001825 */ move $v1, $t8 -/* 01A82C 80019C2C 03202025 */ move $a0, $t9 -.L80019C30: -/* 01A830 80019C30 26100001 */ addiu $s0, $s0, 1 -/* 01A834 80019C34 0207082A */ slt $at, $s0, $a3 -/* 01A838 80019C38 1420FFEC */ bnez $at, .L80019BEC -/* 01A83C 80019C3C 24A50004 */ addiu $a1, $a1, 4 -/* 01A840 80019C40 00008025 */ move $s0, $zero -.L80019C44: -/* 01A844 80019C44 10950016 */ beq $a0, $s5, .L80019CA0 -/* 01A848 80019C48 00000000 */ nop -/* 01A84C 80019C4C 83EE004C */ lb $t6, 0x4c($ra) -/* 01A850 80019C50 0004C880 */ sll $t9, $a0, 2 -/* 01A854 80019C54 152E0009 */ bne $t1, $t6, .L80019C7C -/* 01A858 80019C58 01191021 */ addu $v0, $t0, $t9 -/* 01A85C 80019C5C 00047880 */ sll $t7, $a0, 2 -/* 01A860 80019C60 8E380000 */ lw $t8, ($s1) -/* 01A864 80019C64 010F1021 */ addu $v0, $t0, $t7 -/* 01A868 80019C68 8C4F0000 */ lw $t7, ($v0) -/* 01A86C 80019C6C 24190005 */ li $t9, 5 -/* 01A870 80019C70 03387023 */ subu $t6, $t9, $t8 -/* 01A874 80019C74 10000005 */ b .L80019C8C -/* 01A878 80019C78 A5EE01AC */ sh $t6, 0x1ac($t7) -.L80019C7C: -/* 01A87C 80019C7C 8E380000 */ lw $t8, ($s1) -/* 01A880 80019C80 8C4E0000 */ lw $t6, ($v0) -/* 01A884 80019C84 00000000 */ nop -/* 01A888 80019C88 A5D801AC */ sh $t8, 0x1ac($t6) -.L80019C8C: -/* 01A88C 80019C8C 8E2F0000 */ lw $t7, ($s1) -/* 01A890 80019C90 8C580000 */ lw $t8, ($v0) -/* 01A894 80019C94 25F90001 */ addiu $t9, $t7, 1 -/* 01A898 80019C98 AE390000 */ sw $t9, ($s1) -/* 01A89C 80019C9C A31401D8 */ sb $s4, 0x1d8($t8) -.L80019CA0: -/* 01A8A0 80019CA0 1495FFC9 */ bne $a0, $s5, .L80019BC8 -/* 01A8A4 80019CA4 00000000 */ nop -/* 01A8A8 80019CA8 3C13800E */ lui $s3, %hi(gSwapLeadPlayer) # $s3, 0x800e -/* 01A8AC 80019CAC 2673C744 */ addiu $s3, %lo(gSwapLeadPlayer) # addiu $s3, $s3, -0x38bc -/* 01A8B0 80019CB0 0C0270B4 */ jal is_in_tracks_mode -/* 01A8B4 80019CB4 A2600000 */ sb $zero, ($s3) -/* 01A8B8 80019CB8 14400024 */ bnez $v0, .L80019D4C -/* 01A8BC 80019CBC 00003025 */ move $a2, $zero -/* 01A8C0 80019CC0 8FAE006C */ lw $t6, 0x6c($sp) -/* 01A8C4 80019CC4 00000000 */ nop -/* 01A8C8 80019CC8 85CF01AC */ lh $t7, 0x1ac($t6) -/* 01A8CC 80019CCC 00000000 */ nop -/* 01A8D0 80019CD0 128F000B */ beq $s4, $t7, .L80019D00 -/* 01A8D4 80019CD4 00000000 */ nop -/* 01A8D8 80019CD8 0C027B20 */ jal is_in_two_player_adventure -/* 01A8DC 80019CDC 00000000 */ nop -/* 01A8E0 80019CE0 1040001A */ beqz $v0, .L80019D4C -/* 01A8E4 80019CE4 00003025 */ move $a2, $zero -/* 01A8E8 80019CE8 8FB90070 */ lw $t9, 0x70($sp) -/* 01A8EC 80019CEC 00000000 */ nop -/* 01A8F0 80019CF0 873801AC */ lh $t8, 0x1ac($t9) -/* 01A8F4 80019CF4 00000000 */ nop -/* 01A8F8 80019CF8 16980014 */ bne $s4, $t8, .L80019D4C -/* 01A8FC 80019CFC 00003025 */ move $a2, $zero -.L80019D00: -/* 01A900 80019D00 92CF0049 */ lbu $t7, 0x49($s6) -/* 01A904 80019D04 8ECE0004 */ lw $t6, 4($s6) -/* 01A908 80019D08 000FC880 */ sll $t9, $t7, 2 -/* 01A90C 80019D0C 01D91021 */ addu $v0, $t6, $t9 -/* 01A910 80019D10 8C430000 */ lw $v1, ($v0) -/* 01A914 80019D14 00000000 */ nop -/* 01A918 80019D18 30780002 */ andi $t8, $v1, 2 -/* 01A91C 80019D1C 1700000A */ bnez $t8, .L80019D48 -/* 01A920 80019D20 346F0002 */ ori $t7, $v1, 2 -/* 01A924 80019D24 AC4F0000 */ sw $t7, ($v0) -/* 01A928 80019D28 92D00016 */ lbu $s0, 0x16($s6) -/* 01A92C 80019D2C 00000000 */ nop -/* 01A930 80019D30 26100001 */ addiu $s0, $s0, 1 -/* 01A934 80019D34 2A010005 */ slti $at, $s0, 5 -/* 01A938 80019D38 14200002 */ bnez $at, .L80019D44 -/* 01A93C 80019D3C 00000000 */ nop -/* 01A940 80019D40 24100004 */ li $s0, 4 -.L80019D44: -/* 01A944 80019D44 A2D00016 */ sb $s0, 0x16($s6) -.L80019D48: -/* 01A948 80019D48 00003025 */ move $a2, $zero -.L80019D4C: -/* 01A94C 80019D4C 02C01025 */ move $v0, $s6 -.L80019D50: -/* 01A950 80019D50 24C60001 */ addiu $a2, $a2, 1 -/* 01A954 80019D54 28C10008 */ slti $at, $a2, 8 -/* 01A958 80019D58 A055005A */ sb $s5, 0x5a($v0) -/* 01A95C 80019D5C 1420FFFC */ bnez $at, .L80019D50 -/* 01A960 80019D60 24420018 */ addiu $v0, $v0, 0x18 -/* 01A964 80019D64 8E4E0000 */ lw $t6, ($s2) -/* 01A968 80019D68 2405003E */ li $a1, 62 -/* 01A96C 80019D6C 19C00017 */ blez $t6, .L80019DCC -/* 01A970 80019D70 00003025 */ move $a2, $zero -/* 01A974 80019D74 02C01025 */ move $v0, $s6 -/* 01A978 80019D78 27A4006C */ addiu $a0, $sp, 0x6c -.L80019D7C: -/* 01A97C 80019D7C 8C830000 */ lw $v1, ($a0) -/* 01A980 80019D80 00000000 */ nop -/* 01A984 80019D84 84790000 */ lh $t9, ($v1) -/* 01A988 80019D88 00000000 */ nop -/* 01A98C 80019D8C 12B90006 */ beq $s5, $t9, .L80019DA8 -/* 01A990 80019D90 00000000 */ nop -/* 01A994 80019D94 847801AC */ lh $t8, 0x1ac($v1) -/* 01A998 80019D98 00000000 */ nop -/* 01A99C 80019D9C 16980002 */ bne $s4, $t8, .L80019DA8 -/* 01A9A0 80019DA0 00000000 */ nop -/* 01A9A4 80019DA4 2405003D */ li $a1, 61 -.L80019DA8: -/* 01A9A8 80019DA8 846F01AC */ lh $t7, 0x1ac($v1) -/* 01A9AC 80019DAC 24C60001 */ addiu $a2, $a2, 1 -/* 01A9B0 80019DB0 25EEFFFF */ addiu $t6, $t7, -1 -/* 01A9B4 80019DB4 A04E005A */ sb $t6, 0x5a($v0) -/* 01A9B8 80019DB8 8E590000 */ lw $t9, ($s2) -/* 01A9BC 80019DBC 24420018 */ addiu $v0, $v0, 0x18 -/* 01A9C0 80019DC0 00D9082A */ slt $at, $a2, $t9 -/* 01A9C4 80019DC4 1420FFED */ bnez $at, .L80019D7C -/* 01A9C8 80019DC8 24840004 */ addiu $a0, $a0, 4 -.L80019DCC: -/* 01A9CC 80019DCC 0C0002CD */ jal music_play -/* 01A9D0 80019DD0 30A400FF */ andi $a0, $a1, 0xff -/* 01A9D4 80019DD4 24050004 */ li $a1, 4 -/* 01A9D8 80019DD8 00001825 */ move $v1, $zero -/* 01A9DC 80019DDC 02C01025 */ move $v0, $s6 -/* 01A9E0 80019DE0 240400C0 */ li $a0, 192 -.L80019DE4: -/* 01A9E4 80019DE4 8058005A */ lb $t8, 0x5a($v0) -/* 01A9E8 80019DE8 24630018 */ addiu $v1, $v1, 0x18 -/* 01A9EC 80019DEC 16B80003 */ bne $s5, $t8, .L80019DFC -/* 01A9F0 80019DF0 00000000 */ nop -/* 01A9F4 80019DF4 A045005A */ sb $a1, 0x5a($v0) -/* 01A9F8 80019DF8 24A50001 */ addiu $a1, $a1, 1 -.L80019DFC: -/* 01A9FC 80019DFC 1464FFF9 */ bne $v1, $a0, .L80019DE4 -/* 01AA00 80019E00 24420018 */ addiu $v0, $v0, 0x18 -/* 01AA04 80019E04 0C027B20 */ jal is_in_two_player_adventure -/* 01AA08 80019E08 A2600000 */ sb $zero, ($s3) -/* 01AA0C 80019E0C 10400008 */ beqz $v0, .L80019E30 -/* 01AA10 80019E10 2404FFFF */ li $a0, -1 -/* 01AA14 80019E14 82CF0072 */ lb $t7, 0x72($s6) -/* 01AA18 80019E18 82CE005A */ lb $t6, 0x5a($s6) -/* 01AA1C 80019E1C 00000000 */ nop -/* 01AA20 80019E20 01EE082A */ slt $at, $t7, $t6 -/* 01AA24 80019E24 10200002 */ beqz $at, .L80019E30 -/* 01AA28 80019E28 00000000 */ nop -/* 01AA2C 80019E2C A2740000 */ sb $s4, ($s3) -.L80019E30: -/* 01AA30 80019E30 1600001C */ bnez $s0, .L80019EA4 -/* 01AA34 80019E34 00002825 */ move $a1, $zero -/* 01AA38 80019E38 0C027B20 */ jal is_in_two_player_adventure -/* 01AA3C 80019E3C 00000000 */ nop -/* 01AA40 80019E40 10400014 */ beqz $v0, .L80019E94 -/* 01AA44 80019E44 00002025 */ move $a0, $zero -/* 01AA48 80019E48 82790000 */ lb $t9, ($s3) -/* 01AA4C 80019E4C 3C0F800E */ lui $t7, %hi(D_800DC73C) # $t7, 0x800e -/* 01AA50 80019E50 1320000A */ beqz $t9, .L80019E7C -/* 01AA54 80019E54 00000000 */ nop -/* 01AA58 80019E58 0C01BCE6 */ jal swap_lead_player -/* 01AA5C 80019E5C A2600000 */ sb $zero, ($s3) -/* 01AA60 80019E60 3C18800E */ lui $t8, %hi(D_800DC73C) # $t8, 0x800e -/* 01AA64 80019E64 8318C73C */ lb $t8, %lo(D_800DC73C)($t8) -/* 01AA68 80019E68 3C01800E */ lui $at, %hi(D_800DC748) # $at, 0x800e -/* 01AA6C 80019E6C 13000009 */ beqz $t8, .L80019E94 -/* 01AA70 80019E70 00002025 */ move $a0, $zero -/* 01AA74 80019E74 10000006 */ b .L80019E90 -/* 01AA78 80019E78 A034C748 */ sb $s4, %lo(D_800DC748)($at) -.L80019E7C: -/* 01AA7C 80019E7C 81EFC73C */ lb $t7, %lo(D_800DC73C)($t7) -/* 01AA80 80019E80 3C01800E */ lui $at, %hi(D_800DC748) # $at, 0x800e -/* 01AA84 80019E84 11E00003 */ beqz $t7, .L80019E94 -/* 01AA88 80019E88 00002025 */ move $a0, $zero -/* 01AA8C 80019E8C A034C748 */ sb $s4, %lo(D_800DC748)($at) -.L80019E90: -/* 01AA90 80019E90 00002025 */ move $a0, $zero -.L80019E94: -/* 01AA94 80019E94 0C0251A2 */ jal postrace_start -/* 01AA98 80019E98 2405001E */ li $a1, 30 -/* 01AA9C 80019E9C 1000000C */ b .L80019ED0 -/* 01AAA0 80019EA0 00000000 */ nop -.L80019EA4: -/* 01AAA4 80019EA4 00003025 */ move $a2, $zero -/* 01AAA8 80019EA8 0C01B06B */ jal push_level_property_stack -/* 01AAAC 80019EAC 00003825 */ move $a3, $zero -/* 01AAB0 80019EB0 92C70016 */ lbu $a3, 0x16($s6) -/* 01AAB4 80019EB4 2404002C */ li $a0, 44 -/* 01AAB8 80019EB8 00002825 */ move $a1, $zero -/* 01AABC 80019EBC 2406FFFF */ li $a2, -1 -/* 01AAC0 80019EC0 0C01B06B */ jal push_level_property_stack -/* 01AAC4 80019EC4 24E7FFFF */ addiu $a3, $a3, -1 -/* 01AAC8 80019EC8 0C006A35 */ jal race_finish_adventure -/* 01AACC 80019ECC 02802025 */ move $a0, $s4 -.L80019ED0: -/* 01AAD0 80019ED0 3C018012 */ lui $at, %hi(D_8011ADB4) # $at, 0x8012 -/* 01AAD4 80019ED4 10000236 */ b .L8001A7B0 -/* 01AAD8 80019ED8 AC34ADB4 */ sw $s4, %lo(D_8011ADB4)($at) -.L80019EDC: -/* 01AADC 80019EDC 3C078012 */ lui $a3, %hi(gNumRacers) # $a3, 0x8012 -/* 01AAE0 80019EE0 3C128012 */ lui $s2, %hi(gNumRacers) # $s2, 0x8012 -/* 01AAE4 80019EE4 3C0B8012 */ lui $t3, %hi(gRacers) # $t3, 0x8012 -/* 01AAE8 80019EE8 8CE7AEF0 */ lw $a3, %lo(gNumRacers)($a3) -/* 01AAEC 80019EEC 00008025 */ move $s0, $zero -/* 01AAF0 80019EF0 256BAEE4 */ addiu $t3, %lo(gRacers) # addiu $t3, $t3, -0x511c -/* 01AAF4 80019EF4 2652AEF0 */ addiu $s2, %lo(gNumRacers) # addiu $s2, $s2, -0x5110 -/* 01AAF8 80019EF8 00005025 */ move $t2, $zero -/* 01AAFC 80019EFC 240D000A */ li $t5, 10 -.L80019F00: -/* 01AB00 80019F00 8D690000 */ lw $t1, ($t3) -/* 01AB04 80019F04 24060001 */ li $a2, 1 -/* 01AB08 80019F08 012A7021 */ addu $t6, $t1, $t2 -/* 01AB0C 80019F0C 8DD90000 */ lw $t9, ($t6) -/* 01AB10 80019F10 00002825 */ move $a1, $zero -/* 01AB14 80019F14 8F280064 */ lw $t0, 0x64($t9) -/* 01AB18 80019F18 00000000 */ nop -/* 01AB1C 80019F1C 850C01AA */ lh $t4, 0x1aa($t0) -/* 01AB20 80019F20 00000000 */ nop -.L80019F24: -/* 01AB24 80019F24 10B00023 */ beq $a1, $s0, .L80019FB4 -/* 01AB28 80019F28 0005C080 */ sll $t8, $a1, 2 -/* 01AB2C 80019F2C 01387821 */ addu $t7, $t1, $t8 -/* 01AB30 80019F30 8DEE0000 */ lw $t6, ($t7) -/* 01AB34 80019F34 811901D8 */ lb $t9, 0x1d8($t0) -/* 01AB38 80019F38 8DC20064 */ lw $v0, 0x64($t6) -/* 01AB3C 80019F3C 17200007 */ bnez $t9, .L80019F5C -/* 01AB40 80019F40 00000000 */ nop -/* 01AB44 80019F44 805801D8 */ lb $t8, 0x1d8($v0) -/* 01AB48 80019F48 00000000 */ nop -/* 01AB4C 80019F4C 13000003 */ beqz $t8, .L80019F5C -/* 01AB50 80019F50 00000000 */ nop -/* 01AB54 80019F54 10000017 */ b .L80019FB4 -/* 01AB58 80019F58 24C60001 */ addiu $a2, $a2, 1 -.L80019F5C: -/* 01AB5C 80019F5C 85030190 */ lh $v1, 0x190($t0) -/* 01AB60 80019F60 84440190 */ lh $a0, 0x190($v0) -/* 01AB64 80019F64 00000000 */ nop -/* 01AB68 80019F68 0064082A */ slt $at, $v1, $a0 -/* 01AB6C 80019F6C 10200003 */ beqz $at, .L80019F7C -/* 01AB70 80019F70 00000000 */ nop -/* 01AB74 80019F74 1000000F */ b .L80019FB4 -/* 01AB78 80019F78 24C60001 */ addiu $a2, $a2, 1 -.L80019F7C: -/* 01AB7C 80019F7C 1483000D */ bne $a0, $v1, .L80019FB4 -/* 01AB80 80019F80 00000000 */ nop -/* 01AB84 80019F84 844301A8 */ lh $v1, 0x1a8($v0) -/* 01AB88 80019F88 850401A8 */ lh $a0, 0x1a8($t0) -/* 01AB8C 80019F8C 00000000 */ nop -/* 01AB90 80019F90 0064082A */ slt $at, $v1, $a0 -/* 01AB94 80019F94 10200002 */ beqz $at, .L80019FA0 -/* 01AB98 80019F98 00000000 */ nop -/* 01AB9C 80019F9C 24C60001 */ addiu $a2, $a2, 1 -.L80019FA0: -/* 01ABA0 80019FA0 14640004 */ bne $v1, $a0, .L80019FB4 -/* 01ABA4 80019FA4 0205082A */ slt $at, $s0, $a1 -/* 01ABA8 80019FA8 10200002 */ beqz $at, .L80019FB4 -/* 01ABAC 80019FAC 00000000 */ nop -/* 01ABB0 80019FB0 24C60001 */ addiu $a2, $a2, 1 -.L80019FB4: -/* 01ABB4 80019FB4 24A50001 */ addiu $a1, $a1, 1 -/* 01ABB8 80019FB8 00A7082A */ slt $at, $a1, $a3 -/* 01ABBC 80019FBC 1420FFD9 */ bnez $at, .L80019F24 -/* 01ABC0 80019FC0 00000000 */ nop -/* 01ABC4 80019FC4 A50601AA */ sh $a2, 0x1aa($t0) -/* 01ABC8 80019FC8 83EE004B */ lb $t6, 0x4b($ra) -/* 01ABCC 80019FCC 810F0193 */ lb $t7, 0x193($t0) -/* 01ABD0 80019FD0 00000000 */ nop -/* 01ABD4 80019FD4 01EE082A */ slt $at, $t7, $t6 -/* 01ABD8 80019FD8 10200018 */ beqz $at, .L8001A03C -/* 01ABDC 80019FDC 00000000 */ nop -/* 01ABE0 80019FE0 850201AA */ lh $v0, 0x1aa($t0) -/* 01ABE4 80019FE4 00000000 */ nop -/* 01ABE8 80019FE8 15820013 */ bne $t4, $v0, .L8001A038 -/* 01ABEC 80019FEC 00000000 */ nop -/* 01ABF0 80019FF0 850301B0 */ lh $v1, 0x1b0($t0) -/* 01ABF4 80019FF4 00000000 */ nop -/* 01ABF8 80019FF8 28610002 */ slti $at, $v1, 2 -/* 01ABFC 80019FFC 10200007 */ beqz $at, .L8001A01C -/* 01AC00 8001A000 00000000 */ nop -/* 01AC04 8001A004 811901D6 */ lb $t9, 0x1d6($t0) -/* 01AC08 8001A008 24010004 */ li $at, 4 -/* 01AC0C 8001A00C 1321000B */ beq $t9, $at, .L8001A03C -/* 01AC10 8001A010 24780001 */ addiu $t8, $v1, 1 -/* 01AC14 8001A014 10000009 */ b .L8001A03C -/* 01AC18 8001A018 A51801B0 */ sh $t8, 0x1b0($t0) -.L8001A01C: -/* 01AC1C 8001A01C 850F01AE */ lh $t7, 0x1ae($t0) -/* 01AC20 8001A020 00000000 */ nop -/* 01AC24 8001A024 11E20005 */ beq $t7, $v0, .L8001A03C -/* 01AC28 8001A028 00000000 */ nop -/* 01AC2C 8001A02C A50D01B2 */ sh $t5, 0x1b2($t0) -/* 01AC30 8001A030 10000002 */ b .L8001A03C -/* 01AC34 8001A034 A50201AE */ sh $v0, 0x1ae($t0) -.L8001A038: -/* 01AC38 8001A038 A50001B0 */ sh $zero, 0x1b0($t0) -.L8001A03C: -/* 01AC3C 8001A03C 8E470000 */ lw $a3, ($s2) -/* 01AC40 8001A040 26100001 */ addiu $s0, $s0, 1 -/* 01AC44 8001A044 0207082A */ slt $at, $s0, $a3 -/* 01AC48 8001A048 1420FFAD */ bnez $at, .L80019F00 -/* 01AC4C 8001A04C 254A0004 */ addiu $t2, $t2, 4 -/* 01AC50 8001A050 3C118012 */ lui $s1, %hi(D_8011ADC0) # $s1, 0x8012 -/* 01AC54 8001A054 2631ADC0 */ addiu $s1, %lo(D_8011ADC0) # addiu $s1, $s1, -0x5240 -/* 01AC58 8001A058 00005025 */ move $t2, $zero -/* 01AC5C 8001A05C 2415FFFF */ li $s5, -1 -/* 01AC60 8001A060 24140001 */ li $s4, 1 -.L8001A064: -/* 01AC64 8001A064 8D6E0000 */ lw $t6, ($t3) -/* 01AC68 8001A068 00000000 */ nop -/* 01AC6C 8001A06C 01CAC821 */ addu $t9, $t6, $t2 -/* 01AC70 8001A070 8F380000 */ lw $t8, ($t9) -/* 01AC74 8001A074 83EE004B */ lb $t6, 0x4b($ra) -/* 01AC78 8001A078 8F080064 */ lw $t0, 0x64($t8) -/* 01AC7C 8001A07C 00000000 */ nop -/* 01AC80 8001A080 810F0193 */ lb $t7, 0x193($t0) -/* 01AC84 8001A084 00000000 */ nop -/* 01AC88 8001A088 01EE082A */ slt $at, $t7, $t6 -/* 01AC8C 8001A08C 14200028 */ bnez $at, .L8001A130 -/* 01AC90 8001A090 00000000 */ nop -/* 01AC94 8001A094 811901D8 */ lb $t9, 0x1d8($t0) -/* 01AC98 8001A098 00000000 */ nop -/* 01AC9C 8001A09C 17200024 */ bnez $t9, .L8001A130 -/* 01ACA0 8001A0A0 00000000 */ nop -/* 01ACA4 8001A0A4 AFBF0064 */ sw $ra, 0x64($sp) -/* 01ACA8 8001A0A8 AFA80080 */ sw $t0, 0x80($sp) -/* 01ACAC 8001A0AC 0C01B683 */ jal get_game_mode -/* 01ACB0 8001A0B0 AFAA0044 */ sw $t2, 0x44($sp) -/* 01ACB4 8001A0B4 8FA80080 */ lw $t0, 0x80($sp) -/* 01ACB8 8001A0B8 8FAA0044 */ lw $t2, 0x44($sp) -/* 01ACBC 8001A0BC 3C0B8012 */ lui $t3, %hi(gRacers) # $t3, 0x8012 -/* 01ACC0 8001A0C0 8FBF0064 */ lw $ra, 0x64($sp) -/* 01ACC4 8001A0C4 24010004 */ li $at, 4 -/* 01ACC8 8001A0C8 10410019 */ beq $v0, $at, .L8001A130 -/* 01ACCC 8001A0CC 256BAEE4 */ addiu $t3, %lo(gRacers) # addiu $t3, $t3, -0x511c -/* 01ACD0 8001A0D0 A11401D8 */ sb $s4, 0x1d8($t0) -/* 01ACD4 8001A0D4 8E380000 */ lw $t8, ($s1) -/* 01ACD8 8001A0D8 00000000 */ nop -/* 01ACDC 8001A0DC A51801AC */ sh $t8, 0x1ac($t0) -/* 01ACE0 8001A0E0 8E220000 */ lw $v0, ($s1) -/* 01ACE4 8001A0E4 00000000 */ nop -/* 01ACE8 8001A0E8 16820010 */ bne $s4, $v0, .L8001A12C -/* 01ACEC 8001A0EC 244E0001 */ addiu $t6, $v0, 1 -/* 01ACF0 8001A0F0 850F0000 */ lh $t7, ($t0) -/* 01ACF4 8001A0F4 2404023C */ li $a0, 572 -/* 01ACF8 8001A0F8 16AF000B */ bne $s5, $t7, .L8001A128 -/* 01ACFC 8001A0FC 00002825 */ move $a1, $zero -/* 01AD00 8001A100 AFBF0064 */ sw $ra, 0x64($sp) -/* 01AD04 8001A104 AFA80080 */ sw $t0, 0x80($sp) -/* 01AD08 8001A108 0C000741 */ jal sound_play -/* 01AD0C 8001A10C AFAA0044 */ sw $t2, 0x44($sp) -/* 01AD10 8001A110 3C0B8012 */ lui $t3, %hi(gRacers) # $t3, 0x8012 -/* 01AD14 8001A114 8FA80080 */ lw $t0, 0x80($sp) -/* 01AD18 8001A118 8FAA0044 */ lw $t2, 0x44($sp) -/* 01AD1C 8001A11C 8FBF0064 */ lw $ra, 0x64($sp) -/* 01AD20 8001A120 8E220000 */ lw $v0, ($s1) -/* 01AD24 8001A124 256BAEE4 */ addiu $t3, %lo(gRacers) # addiu $t3, $t3, -0x511c -.L8001A128: -/* 01AD28 8001A128 244E0001 */ addiu $t6, $v0, 1 -.L8001A12C: -/* 01AD2C 8001A12C AE2E0000 */ sw $t6, ($s1) -.L8001A130: -/* 01AD30 8001A130 8E470000 */ lw $a3, ($s2) -/* 01AD34 8001A134 85190000 */ lh $t9, ($t0) -/* 01AD38 8001A138 810201D8 */ lb $v0, 0x1d8($t0) -/* 01AD3C 8001A13C 12B9000C */ beq $s5, $t9, .L8001A170 -/* 01AD40 8001A140 00071880 */ sll $v1, $a3, 2 -/* 01AD44 8001A144 87B8008A */ lh $t8, 0x8a($sp) -/* 01AD48 8001A148 87AE0088 */ lh $t6, 0x88($sp) -/* 01AD4C 8001A14C 270F0001 */ addiu $t7, $t8, 1 -/* 01AD50 8001A150 1040000C */ beqz $v0, .L8001A184 -/* 01AD54 8001A154 A7AF008A */ sh $t7, 0x8a($sp) -/* 01AD58 8001A158 26730001 */ addiu $s3, $s3, 1 -/* 01AD5C 8001A15C 0013C400 */ sll $t8, $s3, 0x10 -/* 01AD60 8001A160 25D90001 */ addiu $t9, $t6, 1 -/* 01AD64 8001A164 A7B90088 */ sh $t9, 0x88($sp) -/* 01AD68 8001A168 10000006 */ b .L8001A184 -/* 01AD6C 8001A16C 00189C03 */ sra $s3, $t8, 0x10 -.L8001A170: -/* 01AD70 8001A170 10400004 */ beqz $v0, .L8001A184 -/* 01AD74 8001A174 00000000 */ nop -/* 01AD78 8001A178 26730001 */ addiu $s3, $s3, 1 -/* 01AD7C 8001A17C 00137400 */ sll $t6, $s3, 0x10 -/* 01AD80 8001A180 000E9C03 */ sra $s3, $t6, 0x10 -.L8001A184: -/* 01AD84 8001A184 254A0004 */ addiu $t2, $t2, 4 -/* 01AD88 8001A188 0143082A */ slt $at, $t2, $v1 -/* 01AD8C 8001A18C 1420FFB5 */ bnez $at, .L8001A064 -/* 01AD90 8001A190 00000000 */ nop -/* 01AD94 8001A194 3C098012 */ lui $t1, %hi(gRacersByPosition) # $t1, 0x8012 -/* 01AD98 8001A198 00008025 */ move $s0, $zero -/* 01AD9C 8001A19C 2529AEE8 */ addiu $t1, %lo(gRacersByPosition) # addiu $t1, $t1, -0x5118 -/* 01ADA0 8001A1A0 00005025 */ move $t2, $zero -.L8001A1A4: -/* 01ADA4 8001A1A4 8D380000 */ lw $t8, ($t1) -/* 01ADA8 8001A1A8 26100001 */ addiu $s0, $s0, 1 -/* 01ADAC 8001A1AC 030A7821 */ addu $t7, $t8, $t2 -/* 01ADB0 8001A1B0 ADE00000 */ sw $zero, ($t7) -/* 01ADB4 8001A1B4 8E4E0000 */ lw $t6, ($s2) -/* 01ADB8 8001A1B8 254A0004 */ addiu $t2, $t2, 4 -/* 01ADBC 8001A1BC 020E082A */ slt $at, $s0, $t6 -/* 01ADC0 8001A1C0 1420FFF8 */ bnez $at, .L8001A1A4 -/* 01ADC4 8001A1C4 00000000 */ nop -/* 01ADC8 8001A1C8 00008025 */ move $s0, $zero -/* 01ADCC 8001A1CC 00005025 */ move $t2, $zero -.L8001A1D0: -/* 01ADD0 8001A1D0 8D790000 */ lw $t9, ($t3) -/* 01ADD4 8001A1D4 00000000 */ nop -/* 01ADD8 8001A1D8 032AC021 */ addu $t8, $t9, $t2 -/* 01ADDC 8001A1DC 8F020000 */ lw $v0, ($t8) -/* 01ADE0 8001A1E0 00000000 */ nop -/* 01ADE4 8001A1E4 8C480064 */ lw $t0, 0x64($v0) -/* 01ADE8 8001A1E8 00000000 */ nop -/* 01ADEC 8001A1EC 810F01D8 */ lb $t7, 0x1d8($t0) -/* 01ADF0 8001A1F0 00000000 */ nop -/* 01ADF4 8001A1F4 11E00004 */ beqz $t7, .L8001A208 -/* 01ADF8 8001A1F8 00000000 */ nop -/* 01ADFC 8001A1FC 850601AC */ lh $a2, 0x1ac($t0) -/* 01AE00 8001A200 10000004 */ b .L8001A214 -/* 01AE04 8001A204 24C6FFFF */ addiu $a2, $a2, -1 -.L8001A208: -/* 01AE08 8001A208 850601AA */ lh $a2, 0x1aa($t0) -/* 01AE0C 8001A20C 00000000 */ nop -/* 01AE10 8001A210 24C6FFFF */ addiu $a2, $a2, -1 -.L8001A214: -/* 01AE14 8001A214 8D2E0000 */ lw $t6, ($t1) -/* 01AE18 8001A218 0006C880 */ sll $t9, $a2, 2 -/* 01AE1C 8001A21C 01D9C021 */ addu $t8, $t6, $t9 -/* 01AE20 8001A220 AF020000 */ sw $v0, ($t8) -/* 01AE24 8001A224 8E470000 */ lw $a3, ($s2) -/* 01AE28 8001A228 26100001 */ addiu $s0, $s0, 1 -/* 01AE2C 8001A22C 0207082A */ slt $at, $s0, $a3 -/* 01AE30 8001A230 1420FFE7 */ bnez $at, .L8001A1D0 -/* 01AE34 8001A234 254A0004 */ addiu $t2, $t2, 4 -/* 01AE38 8001A238 00008025 */ move $s0, $zero -/* 01AE3C 8001A23C 00002825 */ move $a1, $zero -.L8001A240: -/* 01AE40 8001A240 18E00016 */ blez $a3, .L8001A29C -/* 01AE44 8001A244 00002025 */ move $a0, $zero -/* 01AE48 8001A248 8D6F0000 */ lw $t7, ($t3) -/* 01AE4C 8001A24C 00107080 */ sll $t6, $s0, 2 -/* 01AE50 8001A250 01EEC821 */ addu $t9, $t7, $t6 -/* 01AE54 8001A254 8F220000 */ lw $v0, ($t9) -/* 01AE58 8001A258 8D230000 */ lw $v1, ($t1) -/* 01AE5C 8001A25C 00000000 */ nop -/* 01AE60 8001A260 0005C080 */ sll $t8, $a1, 2 -.L8001A264: -/* 01AE64 8001A264 00787821 */ addu $t7, $v1, $t8 -/* 01AE68 8001A268 8DEE0000 */ lw $t6, ($t7) -/* 01AE6C 8001A26C 00000000 */ nop -/* 01AE70 8001A270 15C20006 */ bne $t6, $v0, .L8001A28C -/* 01AE74 8001A274 24A50001 */ addiu $a1, $a1, 1 -/* 01AE78 8001A278 00142600 */ sll $a0, $s4, 0x18 -/* 01AE7C 8001A27C 0004CE03 */ sra $t9, $a0, 0x18 -/* 01AE80 8001A280 03202025 */ move $a0, $t9 -/* 01AE84 8001A284 00E02825 */ move $a1, $a3 -/* 01AE88 8001A288 24A50001 */ addiu $a1, $a1, 1 -.L8001A28C: -/* 01AE8C 8001A28C 00A7082A */ slt $at, $a1, $a3 -/* 01AE90 8001A290 1420FFF4 */ bnez $at, .L8001A264 -/* 01AE94 8001A294 0005C080 */ sll $t8, $a1, 2 -/* 01AE98 8001A298 00002825 */ move $a1, $zero -.L8001A29C: -/* 01AE9C 8001A29C 14800018 */ bnez $a0, .L8001A300 -/* 01AEA0 8001A2A0 00000000 */ nop -/* 01AEA4 8001A2A4 18E00016 */ blez $a3, .L8001A300 -/* 01AEA8 8001A2A8 00000000 */ nop -.L8001A2AC: -/* 01AEAC 8001A2AC 8D380000 */ lw $t8, ($t1) -/* 01AEB0 8001A2B0 00057880 */ sll $t7, $a1, 2 -/* 01AEB4 8001A2B4 030F1021 */ addu $v0, $t8, $t7 -/* 01AEB8 8001A2B8 8C4E0000 */ lw $t6, ($v0) -/* 01AEBC 8001A2BC 00000000 */ nop -/* 01AEC0 8001A2C0 15C0000B */ bnez $t6, .L8001A2F0 -/* 01AEC4 8001A2C4 24A50001 */ addiu $a1, $a1, 1 -/* 01AEC8 8001A2C8 8D790000 */ lw $t9, ($t3) -/* 01AECC 8001A2CC 0010C080 */ sll $t8, $s0, 2 -/* 01AED0 8001A2D0 03387821 */ addu $t7, $t9, $t8 -/* 01AED4 8001A2D4 8DEE0000 */ lw $t6, ($t7) -/* 01AED8 8001A2D8 00000000 */ nop -/* 01AEDC 8001A2DC AC4E0000 */ sw $t6, ($v0) -/* 01AEE0 8001A2E0 8E470000 */ lw $a3, ($s2) -/* 01AEE4 8001A2E4 00000000 */ nop -/* 01AEE8 8001A2E8 00E02825 */ move $a1, $a3 -/* 01AEEC 8001A2EC 24A50001 */ addiu $a1, $a1, 1 -.L8001A2F0: -/* 01AEF0 8001A2F0 00A7082A */ slt $at, $a1, $a3 -/* 01AEF4 8001A2F4 1420FFED */ bnez $at, .L8001A2AC -/* 01AEF8 8001A2F8 00000000 */ nop -/* 01AEFC 8001A2FC 00002825 */ move $a1, $zero -.L8001A300: -/* 01AF00 8001A300 26100001 */ addiu $s0, $s0, 1 -/* 01AF04 8001A304 0207082A */ slt $at, $s0, $a3 -/* 01AF08 8001A308 1420FFCD */ bnez $at, .L8001A240 -/* 01AF0C 8001A30C 00000000 */ nop -/* 01AF10 8001A310 00008025 */ move $s0, $zero -.L8001A314: -/* 01AF14 8001A314 02002025 */ move $a0, $s0 -/* 01AF18 8001A318 0C01A955 */ jal get_buttons_pressed_from_player -/* 01AF1C 8001A31C AFA50094 */ sw $a1, 0x94($sp) -/* 01AF20 8001A320 8FA50094 */ lw $a1, 0x94($sp) -/* 01AF24 8001A324 26100001 */ addiu $s0, $s0, 1 -/* 01AF28 8001A328 2A010004 */ slti $at, $s0, 4 -/* 01AF2C 8001A32C 3C0B8012 */ lui $t3, %hi(gRacers) # $t3, 0x8012 -/* 01AF30 8001A330 256BAEE4 */ addiu $t3, %lo(gRacers) # addiu $t3, $t3, -0x511c -/* 01AF34 8001A334 1420FFF7 */ bnez $at, .L8001A314 -/* 01AF38 8001A338 00A22825 */ or $a1, $a1, $v0 -/* 01AF3C 8001A33C 3C198012 */ lui $t9, %hi(gIsTajChallenge) # $t9, 0x8012 -/* 01AF40 8001A340 8339AEF6 */ lb $t9, %lo(gIsTajChallenge)($t9) -/* 01AF44 8001A344 87B80088 */ lh $t8, 0x88($sp) -/* 01AF48 8001A348 13200007 */ beqz $t9, .L8001A368 -/* 01AF4C 8001A34C 3C0F8012 */ lui $t7, %hi(D_8011AD3C) # $t7, 0x8012 -/* 01AF50 8001A350 13000005 */ beqz $t8, .L8001A368 -/* 01AF54 8001A354 00000000 */ nop -/* 01AF58 8001A358 0C008B86 */ jal mode_end_taj_race -/* 01AF5C 8001A35C 00002025 */ move $a0, $zero -/* 01AF60 8001A360 10000114 */ b .L8001A7B4 -/* 01AF64 8001A364 8FBF0034 */ lw $ra, 0x34($sp) -.L8001A368: -/* 01AF68 8001A368 81EFAD3C */ lb $t7, %lo(D_8011AD3C)($t7) -/* 01AF6C 8001A36C 3C188012 */ lui $t8, %hi(D_8011ADB4) # $t8, 0x8012 -/* 01AF70 8001A370 11E00016 */ beqz $t7, .L8001A3CC -/* 01AF74 8001A374 00000000 */ nop -/* 01AF78 8001A378 12600014 */ beqz $s3, .L8001A3CC -/* 01AF7C 8001A37C 00000000 */ nop -/* 01AF80 8001A380 8D6E0000 */ lw $t6, ($t3) -/* 01AF84 8001A384 00000000 */ nop -/* 01AF88 8001A388 8DD90000 */ lw $t9, ($t6) -/* 01AF8C 8001A38C 00000000 */ nop -/* 01AF90 8001A390 8F280064 */ lw $t0, 0x64($t9) -/* 01AF94 8001A394 00000000 */ nop -/* 01AF98 8001A398 811801D8 */ lb $t8, 0x1d8($t0) -/* 01AF9C 8001A39C 00000000 */ nop -/* 01AFA0 8001A3A0 17000104 */ bnez $t8, .L8001A7B4 -/* 01AFA4 8001A3A4 8FBF0034 */ lw $ra, 0x34($sp) -/* 01AFA8 8001A3A8 A11401D8 */ sb $s4, 0x1d8($t0) -/* 01AFAC 8001A3AC 8E2F0000 */ lw $t7, ($s1) -/* 01AFB0 8001A3B0 00000000 */ nop -/* 01AFB4 8001A3B4 A50F01AC */ sh $t7, 0x1ac($t0) -/* 01AFB8 8001A3B8 8E2E0000 */ lw $t6, ($s1) -/* 01AFBC 8001A3BC 00000000 */ nop -/* 01AFC0 8001A3C0 25D90001 */ addiu $t9, $t6, 1 -/* 01AFC4 8001A3C4 100000FA */ b .L8001A7B0 -/* 01AFC8 8001A3C8 AE390000 */ sw $t9, ($s1) -.L8001A3CC: -/* 01AFCC 8001A3CC 8F18ADB4 */ lw $t8, %lo(D_8011ADB4)($t8) -/* 01AFD0 8001A3D0 00000000 */ nop -/* 01AFD4 8001A3D4 170000F7 */ bnez $t8, .L8001A7B4 -/* 01AFD8 8001A3D8 8FBF0034 */ lw $ra, 0x34($sp) -/* 01AFDC 8001A3DC 0C027B20 */ jal is_in_two_player_adventure -/* 01AFE0 8001A3E0 A3A0005B */ sb $zero, 0x5b($sp) -/* 01AFE4 8001A3E4 3C098012 */ lui $t1, %hi(gRacersByPosition) # $t1, 0x8012 -/* 01AFE8 8001A3E8 10400010 */ beqz $v0, .L8001A42C -/* 01AFEC 8001A3EC 2529AEE8 */ addiu $t1, %lo(gRacersByPosition) # addiu $t1, $t1, -0x5118 -/* 01AFF0 8001A3F0 87AF0088 */ lh $t7, 0x88($sp) -/* 01AFF4 8001A3F4 00000000 */ nop -/* 01AFF8 8001A3F8 19E0000D */ blez $t7, .L8001A430 -/* 01AFFC 8001A3FC 87AE0088 */ lh $t6, 0x88($sp) -/* 01B000 8001A400 0C02658B */ jal get_trophy_race_world_id -/* 01B004 8001A404 00000000 */ nop -/* 01B008 8001A408 3C098012 */ lui $t1, %hi(gRacersByPosition) # $t1, 0x8012 -/* 01B00C 8001A40C 14400007 */ bnez $v0, .L8001A42C -/* 01B010 8001A410 2529AEE8 */ addiu $t1, %lo(gRacersByPosition) # addiu $t1, $t1, -0x5118 -/* 01B014 8001A414 0C0069F6 */ jal set_course_finish_flags -/* 01B018 8001A418 02C02025 */ move $a0, $s6 -/* 01B01C 8001A41C 3C098012 */ lui $t1, %hi(gRacersByPosition) # $t1, 0x8012 -/* 01B020 8001A420 10400002 */ beqz $v0, .L8001A42C -/* 01B024 8001A424 2529AEE8 */ addiu $t1, %lo(gRacersByPosition) # addiu $t1, $t1, -0x5118 -/* 01B028 8001A428 A3B4005B */ sb $s4, 0x5b($sp) -.L8001A42C: -/* 01B02C 8001A42C 87AE0088 */ lh $t6, 0x88($sp) -.L8001A430: -/* 01B030 8001A430 87B9008A */ lh $t9, 0x8a($sp) -/* 01B034 8001A434 00000000 */ nop -/* 01B038 8001A438 11D9000D */ beq $t6, $t9, .L8001A470 -/* 01B03C 8001A43C 2B210002 */ slti $at, $t9, 2 -/* 01B040 8001A440 14200008 */ bnez $at, .L8001A464 -/* 01B044 8001A444 83AE005B */ lb $t6, 0x5b($sp) -/* 01B048 8001A448 8E580000 */ lw $t8, ($s2) -/* 01B04C 8001A44C 00000000 */ nop -/* 01B050 8001A450 270FFFFF */ addiu $t7, $t8, -1 -/* 01B054 8001A454 026F082A */ slt $at, $s3, $t7 -/* 01B058 8001A458 10200006 */ beqz $at, .L8001A474 -/* 01B05C 8001A45C 87B90088 */ lh $t9, 0x88($sp) -/* 01B060 8001A460 83AE005B */ lb $t6, 0x5b($sp) -.L8001A464: -/* 01B064 8001A464 00000000 */ nop -/* 01B068 8001A468 11C000D2 */ beqz $t6, .L8001A7B4 -/* 01B06C 8001A46C 8FBF0034 */ lw $ra, 0x34($sp) -.L8001A470: -/* 01B070 8001A470 87B90088 */ lh $t9, 0x88($sp) -.L8001A474: -/* 01B074 8001A474 87B8008A */ lh $t8, 0x8a($sp) -/* 01B078 8001A478 00000000 */ nop -/* 01B07C 8001A47C 13380029 */ beq $t9, $t8, .L8001A524 -/* 01B080 8001A480 00008025 */ move $s0, $zero -/* 01B084 8001A484 00005025 */ move $t2, $zero -.L8001A488: -/* 01B088 8001A488 8D2F0000 */ lw $t7, ($t1) -/* 01B08C 8001A48C 00000000 */ nop -/* 01B090 8001A490 01EA7021 */ addu $t6, $t7, $t2 -/* 01B094 8001A494 8DD90000 */ lw $t9, ($t6) -/* 01B098 8001A498 00000000 */ nop -/* 01B09C 8001A49C 8F280064 */ lw $t0, 0x64($t9) -/* 01B0A0 8001A4A0 00000000 */ nop -/* 01B0A4 8001A4A4 811801D8 */ lb $t8, 0x1d8($t0) -/* 01B0A8 8001A4A8 00000000 */ nop -/* 01B0AC 8001A4AC 17000018 */ bnez $t8, .L8001A510 -/* 01B0B0 8001A4B0 00000000 */ nop -/* 01B0B4 8001A4B4 85040000 */ lh $a0, ($t0) -/* 01B0B8 8001A4B8 00000000 */ nop -/* 01B0BC 8001A4BC 0480000C */ bltz $a0, .L8001A4F0 -/* 01B0C0 8001A4C0 00000000 */ nop -/* 01B0C4 8001A4C4 AFA80080 */ sw $t0, 0x80($sp) -/* 01B0C8 8001A4C8 0C01997A */ jal set_active_camera -/* 01B0CC 8001A4CC AFAA0044 */ sw $t2, 0x44($sp) -/* 01B0D0 8001A4D0 0C01A73F */ jal get_active_camera_segment_no_cutscenes -/* 01B0D4 8001A4D4 00000000 */ nop -/* 01B0D8 8001A4D8 8FA80080 */ lw $t0, 0x80($sp) -/* 01B0DC 8001A4DC 3C098012 */ lui $t1, %hi(gRacersByPosition) # $t1, 0x8012 -/* 01B0E0 8001A4E0 8FAA0044 */ lw $t2, 0x44($sp) -/* 01B0E4 8001A4E4 240F0005 */ li $t7, 5 -/* 01B0E8 8001A4E8 2529AEE8 */ addiu $t1, %lo(gRacersByPosition) # addiu $t1, $t1, -0x5118 -/* 01B0EC 8001A4EC A44F0036 */ sh $t7, 0x36($v0) -.L8001A4F0: -/* 01B0F0 8001A4F0 A11401D8 */ sb $s4, 0x1d8($t0) -/* 01B0F4 8001A4F4 8E2E0000 */ lw $t6, ($s1) -/* 01B0F8 8001A4F8 00000000 */ nop -/* 01B0FC 8001A4FC A50E01AC */ sh $t6, 0x1ac($t0) -/* 01B100 8001A500 8E390000 */ lw $t9, ($s1) -/* 01B104 8001A504 00000000 */ nop -/* 01B108 8001A508 27380001 */ addiu $t8, $t9, 1 -/* 01B10C 8001A50C AE380000 */ sw $t8, ($s1) -.L8001A510: -/* 01B110 8001A510 8E4F0000 */ lw $t7, ($s2) -/* 01B114 8001A514 26100001 */ addiu $s0, $s0, 1 -/* 01B118 8001A518 020F082A */ slt $at, $s0, $t7 -/* 01B11C 8001A51C 1420FFDA */ bnez $at, .L8001A488 -/* 01B120 8001A520 254A0004 */ addiu $t2, $t2, 4 -.L8001A524: -/* 01B124 8001A524 3C03A460 */ lui $v1, (0xA4600010 >> 16) # lui $v1, 0xa460 -/* 01B128 8001A528 34630010 */ ori $v1, (0xA4600010 & 0xFFFF) # ori $v1, $v1, 0x10 -/* 01B12C 8001A52C 8C620000 */ lw $v0, ($v1) -/* 01B130 8001A530 00002025 */ move $a0, $zero -/* 01B134 8001A534 304E0003 */ andi $t6, $v0, 3 -/* 01B138 8001A538 11C00006 */ beqz $t6, .L8001A554 -/* 01B13C 8001A53C 3C18B000 */ lui $t8, %hi(D_B0000574) # $t8, 0xb000 -.L8001A540: -/* 01B140 8001A540 8C620000 */ lw $v0, ($v1) -/* 01B144 8001A544 00000000 */ nop -/* 01B148 8001A548 30590003 */ andi $t9, $v0, 3 -/* 01B14C 8001A54C 1720FFFC */ bnez $t9, .L8001A540 -/* 01B150 8001A550 00000000 */ nop -.L8001A554: -/* 01B154 8001A554 8F0F0574 */ lw $t7, %lo(D_B0000574)($t8) -/* 01B158 8001A558 24016C07 */ li $at, 0x6C07 -/* 01B15C 8001A55C 31EEFFFF */ andi $t6, $t7, 0xffff -/* 01B160 8001A560 11C10004 */ beq $t6, $at, .L8001A574 -/* 01B164 8001A564 3C188012 */ lui $t8, %hi(gIsTimeTrial) # $t8, 0x8012 -/* 01B168 8001A568 00142600 */ sll $a0, $s4, 0x18 -/* 01B16C 8001A56C 0004CE03 */ sra $t9, $a0, 0x18 -/* 01B170 8001A570 03202025 */ move $a0, $t9 -.L8001A574: -/* 01B174 8001A574 9318AEF5 */ lbu $t8, %lo(gIsTimeTrial)($t8) -/* 01B178 8001A578 3C13800E */ lui $s3, %hi(gSwapLeadPlayer) # $s3, 0x800e -/* 01B17C 8001A57C 17000016 */ bnez $t8, .L8001A5D8 -/* 01B180 8001A580 2673C744 */ addiu $s3, %lo(gSwapLeadPlayer) # addiu $s3, $s3, -0x38bc -/* 01B184 8001A584 00008025 */ move $s0, $zero -/* 01B188 8001A588 00005025 */ move $t2, $zero -/* 01B18C 8001A58C 24020018 */ li $v0, 24 -.L8001A590: -/* 01B190 8001A590 8D2F0000 */ lw $t7, ($t1) -/* 01B194 8001A594 00000000 */ nop -/* 01B198 8001A598 01EA7021 */ addu $t6, $t7, $t2 -/* 01B19C 8001A59C 8DD90000 */ lw $t9, ($t6) -/* 01B1A0 8001A5A0 254A0004 */ addiu $t2, $t2, 4 -/* 01B1A4 8001A5A4 8F280064 */ lw $t0, 0x64($t9) -/* 01B1A8 8001A5A8 00000000 */ nop -/* 01B1AC 8001A5AC 81060002 */ lb $a2, 2($t0) -/* 01B1B0 8001A5B0 00000000 */ nop -/* 01B1B4 8001A5B4 00C20019 */ multu $a2, $v0 -/* 01B1B8 8001A5B8 0000C012 */ mflo $t8 -/* 01B1BC 8001A5BC 02D87821 */ addu $t7, $s6, $t8 -/* 01B1C0 8001A5C0 A1F0005A */ sb $s0, 0x5a($t7) -/* 01B1C4 8001A5C4 8E4E0000 */ lw $t6, ($s2) -/* 01B1C8 8001A5C8 26100001 */ addiu $s0, $s0, 1 -/* 01B1CC 8001A5CC 020E082A */ slt $at, $s0, $t6 -/* 01B1D0 8001A5D0 1420FFEF */ bnez $at, .L8001A590 -/* 01B1D4 8001A5D4 00000000 */ nop -.L8001A5D8: -/* 01B1D8 8001A5D8 A2600000 */ sb $zero, ($s3) -/* 01B1DC 8001A5DC 0C027B20 */ jal is_in_two_player_adventure -/* 01B1E0 8001A5E0 A3A4005A */ sb $a0, 0x5a($sp) -/* 01B1E4 8001A5E4 3C098012 */ lui $t1, %hi(gRacersByPosition) # $t1, 0x8012 -/* 01B1E8 8001A5E8 10400008 */ beqz $v0, .L8001A60C -/* 01B1EC 8001A5EC 2529AEE8 */ addiu $t1, %lo(gRacersByPosition) # addiu $t1, $t1, -0x5118 -/* 01B1F0 8001A5F0 82D90072 */ lb $t9, 0x72($s6) -/* 01B1F4 8001A5F4 82D8005A */ lb $t8, 0x5a($s6) -/* 01B1F8 8001A5F8 00000000 */ nop -/* 01B1FC 8001A5FC 0338082A */ slt $at, $t9, $t8 -/* 01B200 8001A600 10200002 */ beqz $at, .L8001A60C -/* 01B204 8001A604 00000000 */ nop -/* 01B208 8001A608 A2740000 */ sb $s4, ($s3) -.L8001A60C: -/* 01B20C 8001A60C 8D2F0000 */ lw $t7, ($t1) -/* 01B210 8001A610 3C118012 */ lui $s1, %hi(gFirstTimeFinish) # $s1, 0x8012 -/* 01B214 8001A614 8DEE0000 */ lw $t6, ($t7) -/* 01B218 8001A618 2631ADC4 */ addiu $s1, %lo(gFirstTimeFinish) # addiu $s1, $s1, -0x523c -/* 01B21C 8001A61C 8DC80064 */ lw $t0, 0x64($t6) -/* 01B220 8001A620 A2200000 */ sb $zero, ($s1) -/* 01B224 8001A624 92D9004A */ lbu $t9, 0x4a($s6) -/* 01B228 8001A628 00000000 */ nop -/* 01B22C 8001A62C 12990006 */ beq $s4, $t9, .L8001A648 -/* 01B230 8001A630 00000000 */ nop -/* 01B234 8001A634 0C027B20 */ jal is_in_two_player_adventure -/* 01B238 8001A638 AFA80080 */ sw $t0, 0x80($sp) -/* 01B23C 8001A63C 8FA80080 */ lw $t0, 0x80($sp) -/* 01B240 8001A640 1040000E */ beqz $v0, .L8001A67C -/* 01B244 8001A644 00000000 */ nop -.L8001A648: -/* 01B248 8001A648 85180000 */ lh $t8, ($t0) -/* 01B24C 8001A64C 00000000 */ nop -/* 01B250 8001A650 12B8000A */ beq $s5, $t8, .L8001A67C -/* 01B254 8001A654 00000000 */ nop -/* 01B258 8001A658 0C0270B4 */ jal is_in_tracks_mode -/* 01B25C 8001A65C 00000000 */ nop -/* 01B260 8001A660 14400006 */ bnez $v0, .L8001A67C -/* 01B264 8001A664 00000000 */ nop -/* 01B268 8001A668 0C02658B */ jal get_trophy_race_world_id -/* 01B26C 8001A66C 00000000 */ nop -/* 01B270 8001A670 14400002 */ bnez $v0, .L8001A67C -/* 01B274 8001A674 00000000 */ nop -/* 01B278 8001A678 A2340000 */ sb $s4, ($s1) -.L8001A67C: -/* 01B27C 8001A67C 822F0000 */ lb $t7, ($s1) -/* 01B280 8001A680 83AE005B */ lb $t6, 0x5b($sp) -/* 01B284 8001A684 11E00006 */ beqz $t7, .L8001A6A0 -/* 01B288 8001A688 00008025 */ move $s0, $zero -/* 01B28C 8001A68C 15C00005 */ bnez $t6, .L8001A6A4 -/* 01B290 8001A690 83B9005B */ lb $t9, 0x5b($sp) -/* 01B294 8001A694 0C0069F6 */ jal set_course_finish_flags -/* 01B298 8001A698 02C02025 */ move $a0, $s6 -/* 01B29C 8001A69C 00408025 */ move $s0, $v0 -.L8001A6A0: -/* 01B2A0 8001A6A0 83B9005B */ lb $t9, 0x5b($sp) -.L8001A6A4: -/* 01B2A4 8001A6A4 00000000 */ nop -/* 01B2A8 8001A6A8 13200004 */ beqz $t9, .L8001A6BC -/* 01B2AC 8001A6AC 83B8005A */ lb $t8, 0x5a($sp) -/* 01B2B0 8001A6B0 A2340000 */ sb $s4, ($s1) -/* 01B2B4 8001A6B4 02808025 */ move $s0, $s4 -/* 01B2B8 8001A6B8 83B8005A */ lb $t8, 0x5a($sp) -.L8001A6BC: -/* 01B2BC 8001A6BC 00000000 */ nop -/* 01B2C0 8001A6C0 13000003 */ beqz $t8, .L8001A6D0 -/* 01B2C4 8001A6C4 00000000 */ nop -/* 01B2C8 8001A6C8 00008025 */ move $s0, $zero -/* 01B2CC 8001A6CC A2200000 */ sb $zero, ($s1) -.L8001A6D0: -/* 01B2D0 8001A6D0 1600001C */ bnez $s0, .L8001A744 -/* 01B2D4 8001A6D4 00000000 */ nop -/* 01B2D8 8001A6D8 0C027B20 */ jal is_in_two_player_adventure -/* 01B2DC 8001A6DC 00000000 */ nop -/* 01B2E0 8001A6E0 10400013 */ beqz $v0, .L8001A730 -/* 01B2E4 8001A6E4 00000000 */ nop -/* 01B2E8 8001A6E8 826F0000 */ lb $t7, ($s3) -/* 01B2EC 8001A6EC 3C19800E */ lui $t9, %hi(D_800DC73C) # $t9, 0x800e -/* 01B2F0 8001A6F0 11E0000A */ beqz $t7, .L8001A71C -/* 01B2F4 8001A6F4 00000000 */ nop -/* 01B2F8 8001A6F8 0C01BCE6 */ jal swap_lead_player -/* 01B2FC 8001A6FC A2600000 */ sb $zero, ($s3) -/* 01B300 8001A700 3C0E800E */ lui $t6, %hi(D_800DC73C) # $t6, 0x800e -/* 01B304 8001A704 81CEC73C */ lb $t6, %lo(D_800DC73C)($t6) -/* 01B308 8001A708 3C01800E */ lui $at, %hi(D_800DC748) # $at, 0x800e -/* 01B30C 8001A70C 11C00008 */ beqz $t6, .L8001A730 -/* 01B310 8001A710 00000000 */ nop -/* 01B314 8001A714 10000006 */ b .L8001A730 -/* 01B318 8001A718 A034C748 */ sb $s4, %lo(D_800DC748)($at) -.L8001A71C: -/* 01B31C 8001A71C 8339C73C */ lb $t9, %lo(D_800DC73C)($t9) -/* 01B320 8001A720 3C01800E */ lui $at, %hi(D_800DC748) # $at, 0x800e -/* 01B324 8001A724 13200002 */ beqz $t9, .L8001A730 -/* 01B328 8001A728 00000000 */ nop -/* 01B32C 8001A72C A034C748 */ sb $s4, %lo(D_800DC748)($at) -.L8001A730: -/* 01B330 8001A730 82240000 */ lb $a0, ($s1) -/* 01B334 8001A734 0C0251A2 */ jal postrace_start -/* 01B338 8001A738 2405001E */ li $a1, 30 -/* 01B33C 8001A73C 10000015 */ b .L8001A794 -/* 01B340 8001A740 00000000 */ nop -.L8001A744: -/* 01B344 8001A744 92CF0048 */ lbu $t7, 0x48($s6) -/* 01B348 8001A748 8ED80000 */ lw $t8, ($s6) -/* 01B34C 8001A74C 000F7040 */ sll $t6, $t7, 1 -/* 01B350 8001A750 030E1021 */ addu $v0, $t8, $t6 -/* 01B354 8001A754 84590000 */ lh $t9, ($v0) -/* 01B358 8001A758 00000000 */ nop -/* 01B35C 8001A75C 272F0001 */ addiu $t7, $t9, 1 -/* 01B360 8001A760 A44F0000 */ sh $t7, ($v0) -/* 01B364 8001A764 92D80048 */ lbu $t8, 0x48($s6) -/* 01B368 8001A768 00000000 */ nop -/* 01B36C 8001A76C 13000007 */ beqz $t8, .L8001A78C -/* 01B370 8001A770 00000000 */ nop -/* 01B374 8001A774 8EC20000 */ lw $v0, ($s6) -/* 01B378 8001A778 00000000 */ nop -/* 01B37C 8001A77C 844E0000 */ lh $t6, ($v0) -/* 01B380 8001A780 00000000 */ nop -/* 01B384 8001A784 25D90001 */ addiu $t9, $t6, 1 -/* 01B388 8001A788 A4590000 */ sh $t9, ($v0) -.L8001A78C: -/* 01B38C 8001A78C 0C006A35 */ jal race_finish_adventure -/* 01B390 8001A790 02802025 */ move $a0, $s4 -.L8001A794: -/* 01B394 8001A794 3C018012 */ lui $at, %hi(D_8011ADB4) # $at, 0x8012 -/* 01B398 8001A798 0C0270F2 */ jal get_number_of_active_players -/* 01B39C 8001A79C AC35ADB4 */ sw $s5, %lo(D_8011ADB4)($at) -/* 01B3A0 8001A7A0 14540004 */ bne $v0, $s4, .L8001A7B4 -/* 01B3A4 8001A7A4 8FBF0034 */ lw $ra, 0x34($sp) -/* 01B3A8 8001A7A8 0C006B99 */ jal race_finish_time_trial -/* 01B3AC 8001A7AC 00000000 */ nop -.L8001A7B0: -/* 01B3B0 8001A7B0 8FBF0034 */ lw $ra, 0x34($sp) -.L8001A7B4: -/* 01B3B4 8001A7B4 8FB00018 */ lw $s0, 0x18($sp) -/* 01B3B8 8001A7B8 8FB1001C */ lw $s1, 0x1c($sp) -/* 01B3BC 8001A7BC 8FB20020 */ lw $s2, 0x20($sp) -/* 01B3C0 8001A7C0 8FB30024 */ lw $s3, 0x24($sp) -/* 01B3C4 8001A7C4 8FB40028 */ lw $s4, 0x28($sp) -/* 01B3C8 8001A7C8 8FB5002C */ lw $s5, 0x2c($sp) -/* 01B3CC 8001A7CC 8FB60030 */ lw $s6, 0x30($sp) -/* 01B3D0 8001A7D0 03E00008 */ jr $ra -/* 01B3D4 8001A7D4 27BD00A0 */ addiu $sp, $sp, 0xa0 - diff --git a/asm/non_matchings/objects/func_8001C6C4.s b/asm/non_matchings/objects/func_8001C6C4.s deleted file mode 100644 index 2a46647f..00000000 --- a/asm/non_matchings/objects/func_8001C6C4.s +++ /dev/null @@ -1,382 +0,0 @@ -.late_rodata -glabel D_800E5648 -.double 1.2 -glabel D_800E5650 -.float 0.01 -.word 0 # Padding -glabel D_800E5658 -.double 255.0 - -.text -glabel func_8001C6C4 -/* 01D2C4 8001C6C4 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 01D2C8 8001C6C8 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -/* 01D2CC 8001C6CC 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -/* 01D2D0 8001C6D0 AFB2004C */ sw $s2, 0x4c($sp) -/* 01D2D4 8001C6D4 00809025 */ move $s2, $a0 -/* 01D2D8 8001C6D8 AFBF005C */ sw $ra, 0x5c($sp) -/* 01D2DC 8001C6DC AFB50058 */ sw $s5, 0x58($sp) -/* 01D2E0 8001C6E0 AFB40054 */ sw $s4, 0x54($sp) -/* 01D2E4 8001C6E4 AFB30050 */ sw $s3, 0x50($sp) -/* 01D2E8 8001C6E8 AFB10048 */ sw $s1, 0x48($sp) -/* 01D2EC 8001C6EC AFB00044 */ sw $s0, 0x44($sp) -/* 01D2F0 8001C6F0 E7BF0038 */ swc1 $f31, 0x38($sp) -/* 01D2F4 8001C6F4 E7BE003C */ swc1 $f30, 0x3c($sp) -/* 01D2F8 8001C6F8 E7BD0030 */ swc1 $f29, 0x30($sp) -/* 01D2FC 8001C6FC E7BC0034 */ swc1 $f28, 0x34($sp) -/* 01D300 8001C700 E7BB0028 */ swc1 $f27, 0x28($sp) -/* 01D304 8001C704 E7BA002C */ swc1 $f26, 0x2c($sp) -/* 01D308 8001C708 E7B90020 */ swc1 $f25, 0x20($sp) -/* 01D30C 8001C70C E7B80024 */ swc1 $f24, 0x24($sp) -/* 01D310 8001C710 E7B70018 */ swc1 $f23, 0x18($sp) -/* 01D314 8001C714 E7B6001C */ swc1 $f22, 0x1c($sp) -/* 01D318 8001C718 E7B50010 */ swc1 $f21, 0x10($sp) -/* 01D31C 8001C71C E7B40014 */ swc1 $f20, 0x14($sp) -/* 01D320 8001C720 AFA500EC */ sw $a1, 0xec($sp) -/* 01D324 8001C724 AFA600F0 */ sw $a2, 0xf0($sp) -/* 01D328 8001C728 15C00009 */ bnez $t6, .L8001C750 -/* 01D32C 8001C72C AFA700F4 */ sw $a3, 0xf4($sp) -/* 01D330 8001C730 3C01800E */ lui $at, %hi(D_800E5648 + 4) # $at, 0x800e -/* 01D334 8001C734 C7A400F0 */ lwc1 $f4, 0xf0($sp) -/* 01D338 8001C738 C4295648 */ lwc1 $f9, %lo(D_800E5648)($at) -/* 01D33C 8001C73C C428564C */ lwc1 $f8, %lo(D_800E5648 + 4)($at) -/* 01D340 8001C740 460021A1 */ cvt.d.s $f6, $f4 -/* 01D344 8001C744 46283282 */ mul.d $f10, $f6, $f8 -/* 01D348 8001C748 46205420 */ cvt.s.d $f16, $f10 -/* 01D34C 8001C74C E7B000F0 */ swc1 $f16, 0xf0($sp) -.L8001C750: -/* 01D350 8001C750 00002825 */ move $a1, $zero -/* 01D354 8001C754 02403025 */ move $a2, $s2 -/* 01D358 8001C758 27B500AC */ addiu $s5, $sp, 0xac -/* 01D35C 8001C75C 27B400C0 */ addiu $s4, $sp, 0xc0 -/* 01D360 8001C760 27B300D4 */ addiu $s3, $sp, 0xd4 -/* 01D364 8001C764 24110005 */ li $s1, 5 -/* 01D368 8001C768 241000FF */ li $s0, 255 -.L8001C76C: -/* 01D36C 8001C76C 90C4000C */ lbu $a0, 0xc($a2) -/* 01D370 8001C770 00000000 */ nop -/* 01D374 8001C774 16040004 */ bne $s0, $a0, .L8001C788 -/* 01D378 8001C778 00000000 */ nop -/* 01D37C 8001C77C 44800000 */ mtc1 $zero, $f0 -/* 01D380 8001C780 1000011D */ b .L8001CBF8 -/* 01D384 8001C784 8FBF005C */ lw $ra, 0x5c($sp) -.L8001C788: -/* 01D388 8001C788 AFA50080 */ sw $a1, 0x80($sp) -/* 01D38C 8001C78C 0C007485 */ jal ainode_get -/* 01D390 8001C790 AFA6006C */ sw $a2, 0x6c($sp) -/* 01D394 8001C794 8FA50080 */ lw $a1, 0x80($sp) -/* 01D398 8001C798 8FA6006C */ lw $a2, 0x6c($sp) -/* 01D39C 8001C79C 14400004 */ bnez $v0, .L8001C7B0 -/* 01D3A0 8001C7A0 00051880 */ sll $v1, $a1, 2 -/* 01D3A4 8001C7A4 44800000 */ mtc1 $zero, $f0 -/* 01D3A8 8001C7A8 10000113 */ b .L8001CBF8 -/* 01D3AC 8001C7AC 8FBF005C */ lw $ra, 0x5c($sp) -.L8001C7B0: -/* 01D3B0 8001C7B0 C452000C */ lwc1 $f18, 0xc($v0) -/* 01D3B4 8001C7B4 02637821 */ addu $t7, $s3, $v1 -/* 01D3B8 8001C7B8 E5F20000 */ swc1 $f18, ($t7) -/* 01D3BC 8001C7BC C4440010 */ lwc1 $f4, 0x10($v0) -/* 01D3C0 8001C7C0 0283C021 */ addu $t8, $s4, $v1 -/* 01D3C4 8001C7C4 E7040000 */ swc1 $f4, ($t8) -/* 01D3C8 8001C7C8 C4460014 */ lwc1 $f6, 0x14($v0) -/* 01D3CC 8001C7CC 24A50001 */ addiu $a1, $a1, 1 -/* 01D3D0 8001C7D0 02A3C821 */ addu $t9, $s5, $v1 -/* 01D3D4 8001C7D4 24C60001 */ addiu $a2, $a2, 1 -/* 01D3D8 8001C7D8 14B1FFE4 */ bne $a1, $s1, .L8001C76C -/* 01D3DC 8001C7DC E7260000 */ swc1 $f6, ($t9) -/* 01D3E0 8001C7E0 8E460000 */ lw $a2, ($s2) -/* 01D3E4 8001C7E4 02602025 */ move $a0, $s3 -/* 01D3E8 8001C7E8 0C008950 */ jal catmull_rom_interpolation -/* 01D3EC 8001C7EC 00002825 */ move $a1, $zero -/* 01D3F0 8001C7F0 E7A000A8 */ swc1 $f0, 0xa8($sp) -/* 01D3F4 8001C7F4 8E460000 */ lw $a2, ($s2) -/* 01D3F8 8001C7F8 02802025 */ move $a0, $s4 -/* 01D3FC 8001C7FC 0C008950 */ jal catmull_rom_interpolation -/* 01D400 8001C800 00002825 */ move $a1, $zero -/* 01D404 8001C804 8E460000 */ lw $a2, ($s2) -/* 01D408 8001C808 46000786 */ mov.s $f30, $f0 -/* 01D40C 8001C80C 02A02025 */ move $a0, $s5 -/* 01D410 8001C810 0C008950 */ jal catmull_rom_interpolation -/* 01D414 8001C814 00002825 */ move $a1, $zero -/* 01D418 8001C818 E7A000A0 */ swc1 $f0, 0xa0($sp) -/* 01D41C 8001C81C C64A0008 */ lwc1 $f10, 8($s2) -/* 01D420 8001C820 44804000 */ mtc1 $zero, $f8 -/* 01D424 8001C824 4480E000 */ mtc1 $zero, $f28 -/* 01D428 8001C828 460A4032 */ c.eq.s $f8, $f10 -/* 01D42C 8001C82C 00008825 */ move $s1, $zero -/* 01D430 8001C830 45000004 */ bc1f .L8001C844 -/* 01D434 8001C834 3C01800E */ lui $at, %hi(D_800E5650) # $at, 0x800e -/* 01D438 8001C838 C4305650 */ lwc1 $f16, %lo(D_800E5650)($at) -/* 01D43C 8001C83C 00000000 */ nop -/* 01D440 8001C840 E6500008 */ swc1 $f16, 8($s2) -.L8001C844: -/* 01D444 8001C844 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 01D448 8001C848 4481E800 */ mtc1 $at, $f29 -/* 01D44C 8001C84C 00008025 */ move $s0, $zero -.L8001C850: -/* 01D450 8001C850 C6520008 */ lwc1 $f18, 8($s2) -/* 01D454 8001C854 C7A400F0 */ lwc1 $f4, 0xf0($sp) -/* 01D458 8001C858 C6480000 */ lwc1 $f8, ($s2) -/* 01D45C 8001C85C 46049182 */ mul.s $f6, $f18, $f4 -/* 01D460 8001C860 02602025 */ move $a0, $s3 -/* 01D464 8001C864 46064500 */ add.s $f20, $f8, $f6 -/* 01D468 8001C868 4600A021 */ cvt.d.s $f0, $f20 -/* 01D46C 8001C86C 4620E03E */ c.le.d $f28, $f0 -/* 01D470 8001C870 00000000 */ nop -/* 01D474 8001C874 45000004 */ bc1f .L8001C888 -/* 01D478 8001C878 00000000 */ nop -/* 01D47C 8001C87C 463C0281 */ sub.d $f10, $f0, $f28 -/* 01D480 8001C880 24110001 */ li $s1, 1 -/* 01D484 8001C884 46205520 */ cvt.s.d $f20, $f10 -.L8001C888: -/* 01D488 8001C888 4406A000 */ mfc1 $a2, $f20 -/* 01D48C 8001C88C 0C008950 */ jal catmull_rom_interpolation -/* 01D490 8001C890 02202825 */ move $a1, $s1 -/* 01D494 8001C894 4406A000 */ mfc1 $a2, $f20 -/* 01D498 8001C898 46000586 */ mov.s $f22, $f0 -/* 01D49C 8001C89C 02802025 */ move $a0, $s4 -/* 01D4A0 8001C8A0 0C008950 */ jal catmull_rom_interpolation -/* 01D4A4 8001C8A4 02202825 */ move $a1, $s1 -/* 01D4A8 8001C8A8 4406A000 */ mfc1 $a2, $f20 -/* 01D4AC 8001C8AC 46000606 */ mov.s $f24, $f0 -/* 01D4B0 8001C8B0 02A02025 */ move $a0, $s5 -/* 01D4B4 8001C8B4 0C008950 */ jal catmull_rom_interpolation -/* 01D4B8 8001C8B8 02202825 */ move $a1, $s1 -/* 01D4BC 8001C8BC C7B000A8 */ lwc1 $f16, 0xa8($sp) -/* 01D4C0 8001C8C0 C7B200A0 */ lwc1 $f18, 0xa0($sp) -/* 01D4C4 8001C8C4 461EC601 */ sub.s $f24, $f24, $f30 -/* 01D4C8 8001C8C8 4610B581 */ sub.s $f22, $f22, $f16 -/* 01D4CC 8001C8CC 16000016 */ bnez $s0, .L8001C928 -/* 01D4D0 8001C8D0 46120681 */ sub.s $f26, $f0, $f18 -/* 01D4D4 8001C8D4 4616B102 */ mul.s $f4, $f22, $f22 -/* 01D4D8 8001C8D8 00008825 */ move $s1, $zero -/* 01D4DC 8001C8DC 4618C202 */ mul.s $f8, $f24, $f24 -/* 01D4E0 8001C8E0 00000000 */ nop -/* 01D4E4 8001C8E4 461AD282 */ mul.s $f10, $f26, $f26 -/* 01D4E8 8001C8E8 46082180 */ add.s $f6, $f4, $f8 -/* 01D4EC 8001C8EC 0C0326B4 */ jal sqrtf -/* 01D4F0 8001C8F0 460A3300 */ add.s $f12, $f6, $f10 -/* 01D4F4 8001C8F4 C7B000F0 */ lwc1 $f16, 0xf0($sp) -/* 01D4F8 8001C8F8 44809000 */ mtc1 $zero, $f18 -/* 01D4FC 8001C8FC 46100083 */ div.s $f2, $f0, $f16 -/* 01D500 8001C900 C7A800F4 */ lwc1 $f8, 0xf4($sp) -/* 01D504 8001C904 46029032 */ c.eq.s $f18, $f2 -/* 01D508 8001C908 00000000 */ nop -/* 01D50C 8001C90C 45010006 */ bc1t .L8001C928 -/* 01D510 8001C910 00000000 */ nop -/* 01D514 8001C914 46024183 */ div.s $f6, $f8, $f2 -/* 01D518 8001C918 C6440008 */ lwc1 $f4, 8($s2) -/* 01D51C 8001C91C 00000000 */ nop -/* 01D520 8001C920 46062282 */ mul.s $f10, $f4, $f6 -/* 01D524 8001C924 E64A0008 */ swc1 $f10, 8($s2) -.L8001C928: -/* 01D528 8001C928 26100001 */ addiu $s0, $s0, 1 -/* 01D52C 8001C92C 24010002 */ li $at, 2 -/* 01D530 8001C930 1601FFC7 */ bne $s0, $at, .L8001C850 -/* 01D534 8001C934 00000000 */ nop -/* 01D538 8001C938 8FA200EC */ lw $v0, 0xec($sp) -/* 01D53C 8001C93C E6540000 */ swc1 $f20, ($s2) -/* 01D540 8001C940 C7B000A8 */ lwc1 $f16, 0xa8($sp) -/* 01D544 8001C944 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 01D548 8001C948 4610B480 */ add.s $f18, $f22, $f16 -/* 01D54C 8001C94C 461EC780 */ add.s $f30, $f24, $f30 -/* 01D550 8001C950 E7B200A8 */ swc1 $f18, 0xa8($sp) -/* 01D554 8001C954 4608D100 */ add.s $f4, $f26, $f8 -/* 01D558 8001C958 E7BE0088 */ swc1 $f30, 0x88($sp) -/* 01D55C 8001C95C E7A400A0 */ swc1 $f4, 0xa0($sp) -/* 01D560 8001C960 C7A600A8 */ lwc1 $f6, 0xa8($sp) -/* 01D564 8001C964 C44A000C */ lwc1 $f10, 0xc($v0) -/* 01D568 8001C968 C4500010 */ lwc1 $f16, 0x10($v0) -/* 01D56C 8001C96C 460A3581 */ sub.s $f22, $f6, $f10 -/* 01D570 8001C970 C7B200A0 */ lwc1 $f18, 0xa0($sp) -/* 01D574 8001C974 4616B102 */ mul.s $f4, $f22, $f22 -/* 01D578 8001C978 4610F601 */ sub.s $f24, $f30, $f16 -/* 01D57C 8001C97C C4480014 */ lwc1 $f8, 0x14($v0) -/* 01D580 8001C980 E7B600A8 */ swc1 $f22, 0xa8($sp) -/* 01D584 8001C984 4618C182 */ mul.s $f6, $f24, $f24 -/* 01D588 8001C988 46089681 */ sub.s $f26, $f18, $f8 -/* 01D58C 8001C98C E7BA00A0 */ swc1 $f26, 0xa0($sp) -/* 01D590 8001C990 461AD402 */ mul.s $f16, $f26, $f26 -/* 01D594 8001C994 46062280 */ add.s $f10, $f4, $f6 -/* 01D598 8001C998 4600C786 */ mov.s $f30, $f24 -/* 01D59C 8001C99C 0C0326B4 */ jal sqrtf -/* 01D5A0 8001C9A0 46105300 */ add.s $f12, $f10, $f16 -/* 01D5A4 8001C9A4 44809000 */ mtc1 $zero, $f18 -/* 01D5A8 8001C9A8 C7AA00A8 */ lwc1 $f10, 0xa8($sp) -/* 01D5AC 8001C9AC 46120032 */ c.eq.s $f0, $f18 -/* 01D5B0 8001C9B0 460A5402 */ mul.s $f16, $f10, $f10 -/* 01D5B4 8001C9B4 4501000D */ bc1t .L8001C9EC -/* 01D5B8 8001C9B8 3C01800E */ lui $at, %hi(D_800E5658 + 4) # $at, 0x800e -/* 01D5BC 8001C9BC C4295658 */ lwc1 $f9, %lo(D_800E5658)($at) -/* 01D5C0 8001C9C0 C428565C */ lwc1 $f8, %lo(D_800E5658 + 4)($at) -/* 01D5C4 8001C9C4 46000121 */ cvt.d.s $f4, $f0 -/* 01D5C8 8001C9C8 00000000 */ nop -/* 01D5CC 8001C9CC 46244183 */ div.d $f6, $f8, $f4 -/* 01D5D0 8001C9D0 46203520 */ cvt.s.d $f20, $f6 -/* 01D5D4 8001C9D4 4614B582 */ mul.s $f22, $f22, $f20 -/* 01D5D8 8001C9D8 00000000 */ nop -/* 01D5DC 8001C9DC 4614C602 */ mul.s $f24, $f24, $f20 -/* 01D5E0 8001C9E0 00000000 */ nop -/* 01D5E4 8001C9E4 4614D682 */ mul.s $f26, $f26, $f20 -/* 01D5E8 8001C9E8 00000000 */ nop -.L8001C9EC: -/* 01D5EC 8001C9EC 461EF482 */ mul.s $f18, $f30, $f30 -/* 01D5F0 8001C9F0 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 01D5F4 8001C9F4 00000000 */ nop -/* 01D5F8 8001C9F8 46042182 */ mul.s $f6, $f4, $f4 -/* 01D5FC 8001C9FC 46128200 */ add.s $f8, $f16, $f18 -/* 01D600 8001CA00 0C0326B4 */ jal sqrtf -/* 01D604 8001CA04 46064300 */ add.s $f12, $f8, $f6 -/* 01D608 8001CA08 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 01D60C 8001CA0C 44815000 */ mtc1 $at, $f10 -/* 01D610 8001CA10 C7B000F4 */ lwc1 $f16, 0xf4($sp) -/* 01D614 8001CA14 460A0503 */ div.s $f20, $f0, $f10 -/* 01D618 8001CA18 4614803C */ c.lt.s $f16, $f20 -/* 01D61C 8001CA1C 00000000 */ nop -/* 01D620 8001CA20 45000002 */ bc1f .L8001CA2C -/* 01D624 8001CA24 00000000 */ nop -/* 01D628 8001CA28 46008506 */ mov.s $f20, $f16 -.L8001CA2C: -/* 01D62C 8001CA2C 4600A4A1 */ cvt.d.s $f18, $f20 -/* 01D630 8001CA30 4632E03E */ c.le.d $f28, $f18 -/* 01D634 8001CA34 00000000 */ nop -/* 01D638 8001CA38 4500003C */ bc1f .L8001CB2C -/* 01D63C 8001CA3C 8FAB00EC */ lw $t3, 0xec($sp) -/* 01D640 8001CA40 4600B306 */ mov.s $f12, $f22 -/* 01D644 8001CA44 0C01C1D4 */ jal arctan2_f -/* 01D648 8001CA48 4600D386 */ mov.s $f14, $f26 -/* 01D64C 8001CA4C 8FA800EC */ lw $t0, 0xec($sp) -/* 01D650 8001CA50 24018000 */ li $at, -32768 -/* 01D654 8001CA54 85030000 */ lh $v1, ($t0) -/* 01D658 8001CA58 34148001 */ li $s4, 32769 -/* 01D65C 8001CA5C 3069FFFF */ andi $t1, $v1, 0xffff -/* 01D660 8001CA60 00498023 */ subu $s0, $v0, $t1 -/* 01D664 8001CA64 02018021 */ addu $s0, $s0, $at -/* 01D668 8001CA68 0214082A */ slt $at, $s0, $s4 -/* 01D66C 8001CA6C 14200003 */ bnez $at, .L8001CA7C -/* 01D670 8001CA70 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 01D674 8001CA74 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 01D678 8001CA78 02018021 */ addu $s0, $s0, $at -.L8001CA7C: -/* 01D67C 8001CA7C 2A018000 */ slti $at, $s0, -0x8000 -/* 01D680 8001CA80 10200002 */ beqz $at, .L8001CA8C -/* 01D684 8001CA84 3401FFFF */ li $at, 65535 -/* 01D688 8001CA88 02018021 */ addu $s0, $s0, $at -.L8001CA8C: -/* 01D68C 8001CA8C 444AF800 */ cfc1 $t2, $31 -/* 01D690 8001CA90 C7A400F0 */ lwc1 $f4, 0xf0($sp) -/* 01D694 8001CA94 35410003 */ ori $at, $t2, 3 -/* 01D698 8001CA98 38210002 */ xori $at, $at, 2 -/* 01D69C 8001CA9C 44C1F800 */ ctc1 $at, $31 -/* 01D6A0 8001CAA0 8FAE00EC */ lw $t6, 0xec($sp) -/* 01D6A4 8001CAA4 46002224 */ cvt.w.s $f8, $f4 -/* 01D6A8 8001CAA8 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 01D6AC 8001CAAC 44134000 */ mfc1 $s3, $f8 -/* 01D6B0 8001CAB0 44CAF800 */ ctc1 $t2, $31 -/* 01D6B4 8001CAB4 02130019 */ multu $s0, $s3 -/* 01D6B8 8001CAB8 44817000 */ mtc1 $at, $f14 -/* 01D6BC 8001CABC 4600C306 */ mov.s $f12, $f24 -/* 01D6C0 8001CAC0 00005812 */ mflo $t3 -/* 01D6C4 8001CAC4 000B6103 */ sra $t4, $t3, 4 -/* 01D6C8 8001CAC8 006C6821 */ addu $t5, $v1, $t4 -/* 01D6CC 8001CACC 0C01C1D4 */ jal arctan2_f -/* 01D6D0 8001CAD0 A5CD0000 */ sh $t5, ($t6) -/* 01D6D4 8001CAD4 8FAF00EC */ lw $t7, 0xec($sp) -/* 01D6D8 8001CAD8 00000000 */ nop -/* 01D6DC 8001CADC 85E30002 */ lh $v1, 2($t7) -/* 01D6E0 8001CAE0 00000000 */ nop -/* 01D6E4 8001CAE4 3078FFFF */ andi $t8, $v1, 0xffff -/* 01D6E8 8001CAE8 00588023 */ subu $s0, $v0, $t8 -/* 01D6EC 8001CAEC 0214082A */ slt $at, $s0, $s4 -/* 01D6F0 8001CAF0 14200003 */ bnez $at, .L8001CB00 -/* 01D6F4 8001CAF4 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 01D6F8 8001CAF8 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 01D6FC 8001CAFC 02018021 */ addu $s0, $s0, $at -.L8001CB00: -/* 01D700 8001CB00 2A018000 */ slti $at, $s0, -0x8000 -/* 01D704 8001CB04 10200002 */ beqz $at, .L8001CB10 -/* 01D708 8001CB08 3401FFFF */ li $at, 65535 -/* 01D70C 8001CB0C 02018021 */ addu $s0, $s0, $at -.L8001CB10: -/* 01D710 8001CB10 02130019 */ multu $s0, $s3 -/* 01D714 8001CB14 8FAA00EC */ lw $t2, 0xec($sp) -/* 01D718 8001CB18 0000C812 */ mflo $t9 -/* 01D71C 8001CB1C 00194103 */ sra $t0, $t9, 4 -/* 01D720 8001CB20 00684821 */ addu $t1, $v1, $t0 -/* 01D724 8001CB24 A5490002 */ sh $t1, 2($t2) -/* 01D728 8001CB28 8FAB00EC */ lw $t3, 0xec($sp) -.L8001CB2C: -/* 01D72C 8001CB2C 34108000 */ li $s0, 32768 -/* 01D730 8001CB30 856C0000 */ lh $t4, ($t3) -/* 01D734 8001CB34 A5600004 */ sh $zero, 4($t3) -/* 01D738 8001CB38 01902021 */ addu $a0, $t4, $s0 -/* 01D73C 8001CB3C 00046C00 */ sll $t5, $a0, 0x10 -/* 01D740 8001CB40 0C01C1F1 */ jal sins_f -/* 01D744 8001CB44 000D2403 */ sra $a0, $t5, 0x10 -/* 01D748 8001CB48 8FAF00EC */ lw $t7, 0xec($sp) -/* 01D74C 8001CB4C 46140582 */ mul.s $f22, $f0, $f20 -/* 01D750 8001CB50 85F80000 */ lh $t8, ($t7) -/* 01D754 8001CB54 00000000 */ nop -/* 01D758 8001CB58 03102021 */ addu $a0, $t8, $s0 -/* 01D75C 8001CB5C 0004CC00 */ sll $t9, $a0, 0x10 -/* 01D760 8001CB60 0C01C1FE */ jal coss_f -/* 01D764 8001CB64 00192403 */ sra $a0, $t9, 0x10 -/* 01D768 8001CB68 C7A600F0 */ lwc1 $f6, 0xf0($sp) -/* 01D76C 8001CB6C 8FA400EC */ lw $a0, 0xec($sp) -/* 01D770 8001CB70 4606B282 */ mul.s $f10, $f22, $f6 -/* 01D774 8001CB74 24060000 */ li $a2, 0 -/* 01D778 8001CB78 46140402 */ mul.s $f16, $f0, $f20 -/* 01D77C 8001CB7C 44055000 */ mfc1 $a1, $f10 -/* 01D780 8001CB80 46068482 */ mul.s $f18, $f16, $f6 -/* 01D784 8001CB84 44079000 */ mfc1 $a3, $f18 -/* 01D788 8001CB88 0C00455C */ jal move_object -/* 01D78C 8001CB8C 00000000 */ nop -/* 01D790 8001CB90 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 01D794 8001CB94 8FA900EC */ lw $t1, 0xec($sp) -/* 01D798 8001CB98 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 01D79C 8001CB9C E5240010 */ swc1 $f4, 0x10($t1) -/* 01D7A0 8001CBA0 C7A800F0 */ lwc1 $f8, 0xf0($sp) -/* 01D7A4 8001CBA4 44818000 */ mtc1 $at, $f16 -/* 01D7A8 8001CBA8 4608A282 */ mul.s $f10, $f20, $f8 -/* 01D7AC 8001CBAC 00000000 */ nop -/* 01D7B0 8001CBB0 46105502 */ mul.s $f20, $f10, $f16 -/* 01D7B4 8001CBB4 1220000E */ beqz $s1, .L8001CBF0 -/* 01D7B8 8001CBB8 00000000 */ nop -/* 01D7BC 8001CBBC 924A000D */ lbu $t2, 0xd($s2) -/* 01D7C0 8001CBC0 924B000E */ lbu $t3, 0xe($s2) -/* 01D7C4 8001CBC4 924C000F */ lbu $t4, 0xf($s2) -/* 01D7C8 8001CBC8 924D0010 */ lbu $t5, 0x10($s2) -/* 01D7CC 8001CBCC A24A000C */ sb $t2, 0xc($s2) -/* 01D7D0 8001CBD0 A24B000D */ sb $t3, 0xd($s2) -/* 01D7D4 8001CBD4 A24C000E */ sb $t4, 0xe($s2) -/* 01D7D8 8001CBD8 A24D000F */ sb $t5, 0xf($s2) -/* 01D7DC 8001CBDC 8FA600F8 */ lw $a2, 0xf8($sp) -/* 01D7E0 8001CBE0 318500FF */ andi $a1, $t4, 0xff -/* 01D7E4 8001CBE4 0C007312 */ jal func_8001CC48 -/* 01D7E8 8001CBE8 31A400FF */ andi $a0, $t5, 0xff -/* 01D7EC 8001CBEC A2420010 */ sb $v0, 0x10($s2) -.L8001CBF0: -/* 01D7F0 8001CBF0 4600A006 */ mov.s $f0, $f20 -/* 01D7F4 8001CBF4 8FBF005C */ lw $ra, 0x5c($sp) -.L8001CBF8: -/* 01D7F8 8001CBF8 C7B50010 */ lwc1 $f21, 0x10($sp) -/* 01D7FC 8001CBFC C7B40014 */ lwc1 $f20, 0x14($sp) -/* 01D800 8001CC00 C7B70018 */ lwc1 $f23, 0x18($sp) -/* 01D804 8001CC04 C7B6001C */ lwc1 $f22, 0x1c($sp) -/* 01D808 8001CC08 C7B90020 */ lwc1 $f25, 0x20($sp) -/* 01D80C 8001CC0C C7B80024 */ lwc1 $f24, 0x24($sp) -/* 01D810 8001CC10 C7BB0028 */ lwc1 $f27, 0x28($sp) -/* 01D814 8001CC14 C7BA002C */ lwc1 $f26, 0x2c($sp) -/* 01D818 8001CC18 C7BD0030 */ lwc1 $f29, 0x30($sp) -/* 01D81C 8001CC1C C7BC0034 */ lwc1 $f28, 0x34($sp) -/* 01D820 8001CC20 C7BF0038 */ lwc1 $f31, 0x38($sp) -/* 01D824 8001CC24 C7BE003C */ lwc1 $f30, 0x3c($sp) -/* 01D828 8001CC28 8FB00044 */ lw $s0, 0x44($sp) -/* 01D82C 8001CC2C 8FB10048 */ lw $s1, 0x48($sp) -/* 01D830 8001CC30 8FB2004C */ lw $s2, 0x4c($sp) -/* 01D834 8001CC34 8FB30050 */ lw $s3, 0x50($sp) -/* 01D838 8001CC38 8FB40054 */ lw $s4, 0x54($sp) -/* 01D83C 8001CC3C 8FB50058 */ lw $s5, 0x58($sp) -/* 01D840 8001CC40 03E00008 */ jr $ra -/* 01D844 8001CC44 27BD00E8 */ addiu $sp, $sp, 0xe8 - diff --git a/asm/non_matchings/objects/func_8001CC48.s b/asm/non_matchings/objects/func_8001CC48.s deleted file mode 100644 index 0cb356a5..00000000 --- a/asm/non_matchings/objects/func_8001CC48.s +++ /dev/null @@ -1,66 +0,0 @@ -glabel func_8001CC48 -/* 01D848 8001CC48 27BDFFF8 */ addiu $sp, $sp, -8 -/* 01D84C 8001CC4C AFB00004 */ sw $s0, 4($sp) -/* 01D850 8001CC50 2881FFFF */ slti $at, $a0, -1 -/* 01D854 8001CC54 14200004 */ bnez $at, .L8001CC68 -/* 01D858 8001CC58 00A08025 */ move $s0, $a1 -/* 01D85C 8001CC5C 28810080 */ slti $at, $a0, 0x80 -/* 01D860 8001CC60 14200003 */ bnez $at, .L8001CC70 -/* 01D864 8001CC64 3C0E8012 */ lui $t6, %hi(gAINodes) # $t6, 0x8012 -.L8001CC68: -/* 01D868 8001CC68 1000002C */ b .L8001CD1C -/* 01D86C 8001CC6C 240200FF */ li $v0, 255 -.L8001CC70: -/* 01D870 8001CC70 8DCEAF04 */ lw $t6, %lo(gAINodes)($t6) -/* 01D874 8001CC74 00047880 */ sll $t7, $a0, 2 -/* 01D878 8001CC78 01CFC021 */ addu $t8, $t6, $t7 -/* 01D87C 8001CC7C 8F020000 */ lw $v0, ($t8) -/* 01D880 8001CC80 30D90003 */ andi $t9, $a2, 3 -/* 01D884 8001CC84 14400003 */ bnez $v0, .L8001CC94 -/* 01D888 8001CC88 00002825 */ move $a1, $zero -/* 01D88C 8001CC8C 10000023 */ b .L8001CD1C -/* 01D890 8001CC90 240200FF */ li $v0, 255 -.L8001CC94: -/* 01D894 8001CC94 8C440064 */ lw $a0, 0x64($v0) -/* 01D898 8001CC98 8C43003C */ lw $v1, 0x3c($v0) -/* 01D89C 8001CC9C 00994021 */ addu $t0, $a0, $t9 -/* 01D8A0 8001CCA0 81070018 */ lb $a3, 0x18($t0) -/* 01D8A4 8001CCA4 240400FF */ li $a0, 255 -/* 01D8A8 8001CCA8 24E70001 */ addiu $a3, $a3, 1 -/* 01D8AC 8001CCAC 30EA0003 */ andi $t2, $a3, 3 -/* 01D8B0 8001CCB0 01403825 */ move $a3, $t2 -/* 01D8B4 8001CCB4 00004825 */ move $t1, $zero -.L8001CCB8: -/* 01D8B8 8001CCB8 00675821 */ addu $t3, $v1, $a3 -/* 01D8BC 8001CCBC 9162000A */ lbu $v0, 0xa($t3) -/* 01D8C0 8001CCC0 00000000 */ nop -/* 01D8C4 8001CCC4 10820006 */ beq $a0, $v0, .L8001CCE0 -/* 01D8C8 8001CCC8 00000000 */ nop -/* 01D8CC 8001CCCC 12020005 */ beq $s0, $v0, .L8001CCE4 -/* 01D8D0 8001CCD0 25290001 */ addiu $t1, $t1, 1 -/* 01D8D4 8001CCD4 A1070018 */ sb $a3, 0x18($t0) -/* 01D8D8 8001CCD8 24090004 */ li $t1, 4 -/* 01D8DC 8001CCDC 24A50001 */ addiu $a1, $a1, 1 -.L8001CCE0: -/* 01D8E0 8001CCE0 25290001 */ addiu $t1, $t1, 1 -.L8001CCE4: -/* 01D8E4 8001CCE4 24E70001 */ addiu $a3, $a3, 1 -/* 01D8E8 8001CCE8 29210004 */ slti $at, $t1, 4 -/* 01D8EC 8001CCEC 30EC0003 */ andi $t4, $a3, 3 -/* 01D8F0 8001CCF0 1420FFF1 */ bnez $at, .L8001CCB8 -/* 01D8F4 8001CCF4 01803825 */ move $a3, $t4 -/* 01D8F8 8001CCF8 14A00003 */ bnez $a1, .L8001CD08 -/* 01D8FC 8001CCFC 00000000 */ nop -/* 01D900 8001CD00 10000006 */ b .L8001CD1C -/* 01D904 8001CD04 240200FF */ li $v0, 255 -.L8001CD08: -/* 01D908 8001CD08 810D0018 */ lb $t5, 0x18($t0) -/* 01D90C 8001CD0C 00000000 */ nop -/* 01D910 8001CD10 006D7021 */ addu $t6, $v1, $t5 -/* 01D914 8001CD14 91C2000A */ lbu $v0, 0xa($t6) -/* 01D918 8001CD18 00000000 */ nop -.L8001CD1C: -/* 01D91C 8001CD1C 8FB00004 */ lw $s0, 4($sp) -/* 01D920 8001CD20 03E00008 */ jr $ra -/* 01D924 8001CD24 27BD0008 */ addiu $sp, $sp, 8 - diff --git a/asm/non_matchings/objects/func_8001CD28.s b/asm/non_matchings/objects/func_8001CD28.s deleted file mode 100644 index a625f991..00000000 --- a/asm/non_matchings/objects/func_8001CD28.s +++ /dev/null @@ -1,318 +0,0 @@ -glabel func_8001CD28 -/* 01D928 8001CD28 27BDFC88 */ addiu $sp, $sp, -0x378 -/* 01D92C 8001CD2C AFB60020 */ sw $s6, 0x20($sp) -/* 01D930 8001CD30 00A0B025 */ move $s6, $a1 -/* 01D934 8001CD34 AFBF002C */ sw $ra, 0x2c($sp) -/* 01D938 8001CD38 AFBE0028 */ sw $fp, 0x28($sp) -/* 01D93C 8001CD3C AFB70024 */ sw $s7, 0x24($sp) -/* 01D940 8001CD40 AFB5001C */ sw $s5, 0x1c($sp) -/* 01D944 8001CD44 AFB40018 */ sw $s4, 0x18($sp) -/* 01D948 8001CD48 AFB30014 */ sw $s3, 0x14($sp) -/* 01D94C 8001CD4C AFB20010 */ sw $s2, 0x10($sp) -/* 01D950 8001CD50 AFB1000C */ sw $s1, 0xc($sp) -/* 01D954 8001CD54 AFB00008 */ sw $s0, 8($sp) -/* 01D958 8001CD58 AFA40378 */ sw $a0, 0x378($sp) -/* 01D95C 8001CD5C AFA60380 */ sw $a2, 0x380($sp) -/* 01D960 8001CD60 AFA70384 */ sw $a3, 0x384($sp) -/* 01D964 8001CD64 00006825 */ move $t5, $zero -/* 01D968 8001CD68 27AA0154 */ addiu $t2, $sp, 0x154 -.L8001CD6C: -/* 01D96C 8001CD6C 000D7080 */ sll $t6, $t5, 2 -/* 01D970 8001CD70 25AD0001 */ addiu $t5, $t5, 1 -/* 01D974 8001CD74 000DC400 */ sll $t8, $t5, 0x10 -/* 01D978 8001CD78 00186C03 */ sra $t5, $t8, 0x10 -/* 01D97C 8001CD7C 014E7821 */ addu $t7, $t2, $t6 -/* 01D980 8001CD80 29A10080 */ slti $at, $t5, 0x80 -/* 01D984 8001CD84 1420FFF9 */ bnez $at, .L8001CD6C -/* 01D988 8001CD88 ADE00000 */ sw $zero, ($t7) -/* 01D98C 8001CD8C 8FAE0378 */ lw $t6, 0x378($sp) -/* 01D990 8001CD90 3C038012 */ lui $v1, %hi(gAINodes) # $v1, 0x8012 -/* 01D994 8001CD94 8C63AF04 */ lw $v1, %lo(gAINodes)($v1) -/* 01D998 8001CD98 000E7880 */ sll $t7, $t6, 2 -/* 01D99C 8001CD9C 006F2021 */ addu $a0, $v1, $t7 -/* 01D9A0 8001CDA0 8C820000 */ lw $v0, ($a0) -/* 01D9A4 8001CDA4 24180001 */ li $t8, 1 -/* 01D9A8 8001CDA8 8C540064 */ lw $s4, 0x64($v0) -/* 01D9AC 8001CDAC 8C51003C */ lw $s1, 0x3c($v0) -/* 01D9B0 8001CDB0 8FBE0370 */ lw $fp, 0x370($sp) -/* 01D9B4 8001CDB4 87A6036C */ lh $a2, 0x36c($sp) -/* 01D9B8 8001CDB8 00004825 */ move $t1, $zero -/* 01D9BC 8001CDBC 0000F825 */ move $ra, $zero -/* 01D9C0 8001CDC0 241200FF */ li $s2, 255 -/* 01D9C4 8001CDC4 00009825 */ move $s3, $zero -/* 01D9C8 8001CDC8 A3B80363 */ sb $t8, 0x363($sp) -/* 01D9CC 8001CDCC 0000A825 */ move $s5, $zero -/* 01D9D0 8001CDD0 AFA4004C */ sw $a0, 0x4c($sp) -/* 01D9D4 8001CDD4 241700FF */ li $s7, 255 -/* 01D9D8 8001CDD8 27AB0054 */ addiu $t3, $sp, 0x54 -/* 01D9DC 8001CDDC 27A800D4 */ addiu $t0, $sp, 0xd4 -/* 01D9E0 8001CDE0 AFA30050 */ sw $v1, 0x50($sp) -/* 01D9E4 8001CDE4 00006825 */ move $t5, $zero -.L8001CDE8: -/* 01D9E8 8001CDE8 000DC880 */ sll $t9, $t5, 2 -.L8001CDEC: -/* 01D9EC 8001CDEC 02997021 */ addu $t6, $s4, $t9 -/* 01D9F0 8001CDF0 8DCF0000 */ lw $t7, ($t6) -/* 01D9F4 8001CDF4 8FB80378 */ lw $t8, 0x378($sp) -/* 01D9F8 8001CDF8 11E0008A */ beqz $t7, .L8001D024 -/* 01D9FC 8001CDFC 022D8021 */ addu $s0, $s1, $t5 -/* 01DA00 8001CE00 92230009 */ lbu $v1, 9($s1) -/* 01DA04 8001CE04 9202000A */ lbu $v0, 0xa($s0) -/* 01DA08 8001CE08 17030005 */ bne $t8, $v1, .L8001CE20 -/* 01DA0C 8001CE0C 24070001 */ li $a3, 1 -/* 01DA10 8001CE10 8FB90380 */ lw $t9, 0x380($sp) -/* 01DA14 8001CE14 00000000 */ nop -/* 01DA18 8001CE18 10590007 */ beq $v0, $t9, .L8001CE38 -/* 01DA1C 8001CE1C 00000000 */ nop -.L8001CE20: -/* 01DA20 8001CE20 8FAE0380 */ lw $t6, 0x380($sp) -/* 01DA24 8001CE24 8FAF0378 */ lw $t7, 0x378($sp) -/* 01DA28 8001CE28 15C30009 */ bne $t6, $v1, .L8001CE50 -/* 01DA2C 8001CE2C 00000000 */ nop -/* 01DA30 8001CE30 144F0007 */ bne $v0, $t7, .L8001CE50 -/* 01DA34 8001CE34 00000000 */ nop -.L8001CE38: -/* 01DA38 8001CE38 12A00002 */ beqz $s5, .L8001CE44 -/* 01DA3C 8001CE3C 00003825 */ move $a3, $zero -/* 01DA40 8001CE40 24070001 */ li $a3, 1 -.L8001CE44: -/* 01DA44 8001CE44 26B50001 */ addiu $s5, $s5, 1 -/* 01DA48 8001CE48 0015C600 */ sll $t8, $s5, 0x18 -/* 01DA4C 8001CE4C 0018AE03 */ sra $s5, $t8, 0x18 -.L8001CE50: -/* 01DA50 8001CE50 10E00022 */ beqz $a3, .L8001CEDC -/* 01DA54 8001CE54 2524FFFF */ addiu $a0, $t1, -1 -/* 01DA58 8001CE58 00003025 */ move $a2, $zero -/* 01DA5C 8001CE5C 19200010 */ blez $t1, .L8001CEA0 -/* 01DA60 8001CE60 00003825 */ move $a3, $zero -/* 01DA64 8001CE64 83AE00D4 */ lb $t6, 0xd4($sp) -/* 01DA68 8001CE68 00000000 */ nop -/* 01DA6C 8001CE6C 104E000D */ beq $v0, $t6, .L8001CEA4 -/* 01DA70 8001CE70 000D7840 */ sll $t7, $t5, 1 -.L8001CE74: -/* 01DA74 8001CE74 24C60001 */ addiu $a2, $a2, 1 -/* 01DA78 8001CE78 00067C00 */ sll $t7, $a2, 0x10 -/* 01DA7C 8001CE7C 000FC403 */ sra $t8, $t7, 0x10 -/* 01DA80 8001CE80 0309082A */ slt $at, $t8, $t1 -/* 01DA84 8001CE84 10200006 */ beqz $at, .L8001CEA0 -/* 01DA88 8001CE88 03003025 */ move $a2, $t8 -/* 01DA8C 8001CE8C 0118C821 */ addu $t9, $t0, $t8 -/* 01DA90 8001CE90 832E0000 */ lb $t6, ($t9) -/* 01DA94 8001CE94 00000000 */ nop -/* 01DA98 8001CE98 144EFFF6 */ bne $v0, $t6, .L8001CE74 -/* 01DA9C 8001CE9C 00000000 */ nop -.L8001CEA0: -/* 01DAA0 8001CEA0 000D7840 */ sll $t7, $t5, 1 -.L8001CEA4: -/* 01DAA4 8001CEA4 028FC021 */ addu $t8, $s4, $t7 -/* 01DAA8 8001CEA8 87190010 */ lh $t9, 0x10($t8) -/* 01DAAC 8001CEAC 14C90003 */ bne $a2, $t1, .L8001CEBC -/* 01DAB0 8001CEB0 033FF021 */ addu $fp, $t9, $ra -/* 01DAB4 8001CEB4 10000009 */ b .L8001CEDC -/* 01DAB8 8001CEB8 24070002 */ li $a3, 2 -.L8001CEBC: -/* 01DABC 8001CEBC 00027080 */ sll $t6, $v0, 2 -/* 01DAC0 8001CEC0 014E7821 */ addu $t7, $t2, $t6 -/* 01DAC4 8001CEC4 8DF80000 */ lw $t8, ($t7) -/* 01DAC8 8001CEC8 00000000 */ nop -/* 01DACC 8001CECC 03D8082A */ slt $at, $fp, $t8 -/* 01DAD0 8001CED0 10200002 */ beqz $at, .L8001CEDC -/* 01DAD4 8001CED4 00000000 */ nop -/* 01DAD8 8001CED8 24070001 */ li $a3, 1 -.L8001CEDC: -/* 01DADC 8001CEDC 10E00051 */ beqz $a3, .L8001D024 -/* 01DAE0 8001CEE0 0002C880 */ sll $t9, $v0, 2 -/* 01DAE4 8001CEE4 00C4082A */ slt $at, $a2, $a0 -/* 01DAE8 8001CEE8 1020000C */ beqz $at, .L8001CF1C -/* 01DAEC 8001CEEC 01596021 */ addu $t4, $t2, $t9 -.L8001CEF0: -/* 01DAF0 8001CEF0 01061021 */ addu $v0, $t0, $a2 -/* 01DAF4 8001CEF4 01661821 */ addu $v1, $t3, $a2 -/* 01DAF8 8001CEF8 24C60001 */ addiu $a2, $a2, 1 -/* 01DAFC 8001CEFC 0006C400 */ sll $t8, $a2, 0x10 -/* 01DB00 8001CF00 804E0001 */ lb $t6, 1($v0) -/* 01DB04 8001CF04 806F0001 */ lb $t7, 1($v1) -/* 01DB08 8001CF08 00183403 */ sra $a2, $t8, 0x10 -/* 01DB0C 8001CF0C 00C4082A */ slt $at, $a2, $a0 -/* 01DB10 8001CF10 A04E0000 */ sb $t6, ($v0) -/* 01DB14 8001CF14 1420FFF6 */ bnez $at, .L8001CEF0 -/* 01DB18 8001CF18 A06F0000 */ sb $t7, ($v1) -.L8001CF1C: -/* 01DB1C 8001CF1C 24010002 */ li $at, 2 -/* 01DB20 8001CF20 14E10005 */ bne $a3, $at, .L8001CF38 -/* 01DB24 8001CF24 00000000 */ nop -/* 01DB28 8001CF28 25290001 */ addiu $t1, $t1, 1 -/* 01DB2C 8001CF2C 00097400 */ sll $t6, $t1, 0x10 -/* 01DB30 8001CF30 000E4C03 */ sra $t1, $t6, 0x10 -/* 01DB34 8001CF34 2524FFFF */ addiu $a0, $t1, -1 -.L8001CF38: -/* 01DB38 8001CF38 AD9E0000 */ sw $fp, ($t4) -/* 01DB3C 8001CF3C 00041400 */ sll $v0, $a0, 0x10 -/* 01DB40 8001CF40 83AE0363 */ lb $t6, 0x363($sp) -/* 01DB44 8001CF44 00043400 */ sll $a2, $a0, 0x10 -/* 01DB48 8001CF48 0002CC03 */ sra $t9, $v0, 0x10 -/* 01DB4C 8001CF4C 0006C403 */ sra $t8, $a2, 0x10 -/* 01DB50 8001CF50 03003025 */ move $a2, $t8 -/* 01DB54 8001CF54 03201025 */ move $v0, $t9 -/* 01DB58 8001CF58 01792821 */ addu $a1, $t3, $t9 -/* 01DB5C 8001CF5C 11C00004 */ beqz $t6, .L8001CF70 -/* 01DB60 8001CF60 01191821 */ addu $v1, $t0, $t9 -/* 01DB64 8001CF64 920F000A */ lbu $t7, 0xa($s0) -/* 01DB68 8001CF68 10000002 */ b .L8001CF74 -/* 01DB6C 8001CF6C A0AF0000 */ sb $t7, ($a1) -.L8001CF70: -/* 01DB70 8001CF70 A0B30000 */ sb $s3, ($a1) -.L8001CF74: -/* 01DB74 8001CF74 9218000A */ lbu $t8, 0xa($s0) -/* 01DB78 8001CF78 1840002A */ blez $v0, .L8001D024 -/* 01DB7C 8001CF7C A0780000 */ sb $t8, ($v1) -/* 01DB80 8001CF80 8079FFFF */ lb $t9, -1($v1) -/* 01DB84 8001CF84 01061021 */ addu $v0, $t0, $a2 -/* 01DB88 8001CF88 00197080 */ sll $t6, $t9, 2 -/* 01DB8C 8001CF8C 80790000 */ lb $t9, ($v1) -/* 01DB90 8001CF90 014E7821 */ addu $t7, $t2, $t6 -/* 01DB94 8001CF94 8DF80000 */ lw $t8, ($t7) -/* 01DB98 8001CF98 00197080 */ sll $t6, $t9, 2 -/* 01DB9C 8001CF9C 014E7821 */ addu $t7, $t2, $t6 -/* 01DBA0 8001CFA0 8DF90000 */ lw $t9, ($t7) -/* 01DBA4 8001CFA4 00000000 */ nop -/* 01DBA8 8001CFA8 0319082A */ slt $at, $t8, $t9 -/* 01DBAC 8001CFAC 1020001D */ beqz $at, .L8001D024 -/* 01DBB0 8001CFB0 00000000 */ nop -/* 01DBB4 8001CFB4 80440000 */ lb $a0, ($v0) -/* 01DBB8 8001CFB8 8045FFFF */ lb $a1, -1($v0) -/* 01DBBC 8001CFBC 00000000 */ nop -/* 01DBC0 8001CFC0 01661821 */ addu $v1, $t3, $a2 -.L8001CFC4: -/* 01DBC4 8001CFC4 24C6FFFF */ addiu $a2, $a2, -1 -/* 01DBC8 8001CFC8 80670000 */ lb $a3, ($v1) -/* 01DBCC 8001CFCC 806EFFFF */ lb $t6, -1($v1) -/* 01DBD0 8001CFD0 0006C400 */ sll $t8, $a2, 0x10 -/* 01DBD4 8001CFD4 0018CC03 */ sra $t9, $t8, 0x10 -/* 01DBD8 8001CFD8 A0450000 */ sb $a1, ($v0) -/* 01DBDC 8001CFDC A044FFFF */ sb $a0, -1($v0) -/* 01DBE0 8001CFE0 03203025 */ move $a2, $t9 -/* 01DBE4 8001CFE4 A067FFFF */ sb $a3, -1($v1) -/* 01DBE8 8001CFE8 1B20000E */ blez $t9, .L8001D024 -/* 01DBEC 8001CFEC A06E0000 */ sb $t6, ($v1) -/* 01DBF0 8001CFF0 01191021 */ addu $v0, $t0, $t9 -/* 01DBF4 8001CFF4 8045FFFF */ lb $a1, -1($v0) -/* 01DBF8 8001CFF8 80440000 */ lb $a0, ($v0) -/* 01DBFC 8001CFFC 00057080 */ sll $t6, $a1, 2 -/* 01DC00 8001D000 014E7821 */ addu $t7, $t2, $t6 -/* 01DC04 8001D004 0004C880 */ sll $t9, $a0, 2 -/* 01DC08 8001D008 8DF80000 */ lw $t8, ($t7) -/* 01DC0C 8001D00C 01597021 */ addu $t6, $t2, $t9 -/* 01DC10 8001D010 8DCF0000 */ lw $t7, ($t6) -/* 01DC14 8001D014 00000000 */ nop -/* 01DC18 8001D018 030F082A */ slt $at, $t8, $t7 -/* 01DC1C 8001D01C 1420FFE9 */ bnez $at, .L8001CFC4 -/* 01DC20 8001D020 01661821 */ addu $v1, $t3, $a2 -.L8001D024: -/* 01DC24 8001D024 25AD0001 */ addiu $t5, $t5, 1 -/* 01DC28 8001D028 000DCC00 */ sll $t9, $t5, 0x10 -/* 01DC2C 8001D02C 00196C03 */ sra $t5, $t9, 0x10 -/* 01DC30 8001D030 29A10004 */ slti $at, $t5, 4 -/* 01DC34 8001D034 1420FF6D */ bnez $at, .L8001CDEC -/* 01DC38 8001D038 000DC880 */ sll $t9, $t5, 2 -/* 01DC3C 8001D03C 1920002A */ blez $t1, .L8001D0E8 -/* 01DC40 8001D040 00000000 */ nop -/* 01DC44 8001D044 2529FFFF */ addiu $t1, $t1, -1 -/* 01DC48 8001D048 0009C400 */ sll $t8, $t1, 0x10 -/* 01DC4C 8001D04C 00184C03 */ sra $t1, $t8, 0x10 -/* 01DC50 8001D050 0109C821 */ addu $t9, $t0, $t1 -/* 01DC54 8001D054 83230000 */ lb $v1, ($t9) -/* 01DC58 8001D058 8FAE0050 */ lw $t6, 0x50($sp) -/* 01DC5C 8001D05C 0003C080 */ sll $t8, $v1, 2 -/* 01DC60 8001D060 01D87821 */ addu $t7, $t6, $t8 -/* 01DC64 8001D064 8DE20000 */ lw $v0, ($t7) -/* 01DC68 8001D068 0169C821 */ addu $t9, $t3, $t1 -/* 01DC6C 8001D06C 8C51003C */ lw $s1, 0x3c($v0) -/* 01DC70 8001D070 83330000 */ lb $s3, ($t9) -/* 01DC74 8001D074 922E0009 */ lbu $t6, 9($s1) -/* 01DC78 8001D078 32D90100 */ andi $t9, $s6, 0x100 -/* 01DC7C 8001D07C 000EC080 */ sll $t8, $t6, 2 -/* 01DC80 8001D080 01587821 */ addu $t7, $t2, $t8 -/* 01DC84 8001D084 8DFF0000 */ lw $ra, ($t7) -/* 01DC88 8001D088 8C540064 */ lw $s4, 0x64($v0) -/* 01DC8C 8001D08C 13200008 */ beqz $t9, .L8001D0B0 -/* 01DC90 8001D090 A3A00363 */ sb $zero, 0x363($sp) -/* 01DC94 8001D094 32CE007F */ andi $t6, $s6, 0x7f -/* 01DC98 8001D098 15C3000C */ bne $t6, $v1, .L8001D0CC -/* 01DC9C 8001D09C 00000000 */ nop -/* 01DCA0 8001D0A0 00139400 */ sll $s2, $s3, 0x10 -/* 01DCA4 8001D0A4 0012C403 */ sra $t8, $s2, 0x10 -/* 01DCA8 8001D0A8 10000008 */ b .L8001D0CC -/* 01DCAC 8001D0AC 03009025 */ move $s2, $t8 -.L8001D0B0: -/* 01DCB0 8001D0B0 922F0008 */ lbu $t7, 8($s1) -/* 01DCB4 8001D0B4 00000000 */ nop -/* 01DCB8 8001D0B8 16CF0004 */ bne $s6, $t7, .L8001D0CC -/* 01DCBC 8001D0BC 00000000 */ nop -/* 01DCC0 8001D0C0 00139400 */ sll $s2, $s3, 0x10 -/* 01DCC4 8001D0C4 0012CC03 */ sra $t9, $s2, 0x10 -/* 01DCC8 8001D0C8 03209025 */ move $s2, $t9 -.L8001D0CC: -/* 01DCCC 8001D0CC 15200006 */ bnez $t1, .L8001D0E8 -/* 01DCD0 8001D0D0 00000000 */ nop -/* 01DCD4 8001D0D4 16570004 */ bne $s2, $s7, .L8001D0E8 -/* 01DCD8 8001D0D8 00000000 */ nop -/* 01DCDC 8001D0DC 00139400 */ sll $s2, $s3, 0x10 -/* 01DCE0 8001D0E0 00127403 */ sra $t6, $s2, 0x10 -/* 01DCE4 8001D0E4 01C09025 */ move $s2, $t6 -.L8001D0E8: -/* 01DCE8 8001D0E8 16570005 */ bne $s2, $s7, .L8001D100 -/* 01DCEC 8001D0EC 00000000 */ nop -/* 01DCF0 8001D0F0 1D20FF3D */ bgtz $t1, .L8001CDE8 -/* 01DCF4 8001D0F4 00006825 */ move $t5, $zero -/* 01DCF8 8001D0F8 AFBE0370 */ sw $fp, 0x370($sp) -/* 01DCFC 8001D0FC A7A6036C */ sh $a2, 0x36c($sp) -.L8001D100: -/* 01DD00 8001D100 1257001E */ beq $s2, $s7, .L8001D17C -/* 01DD04 8001D104 8FBF002C */ lw $ra, 0x2c($sp) -/* 01DD08 8001D108 8FB8004C */ lw $t8, 0x4c($sp) -/* 01DD0C 8001D10C 00006825 */ move $t5, $zero -/* 01DD10 8001D110 8F020000 */ lw $v0, ($t8) -/* 01DD14 8001D114 00000000 */ nop -/* 01DD18 8001D118 8C51003C */ lw $s1, 0x3c($v0) -/* 01DD1C 8001D11C 8C540064 */ lw $s4, 0x64($v0) -/* 01DD20 8001D120 922F000A */ lbu $t7, 0xa($s1) -/* 01DD24 8001D124 00000000 */ nop -/* 01DD28 8001D128 124F000D */ beq $s2, $t7, .L8001D160 -/* 01DD2C 8001D12C 29A10004 */ slti $at, $t5, 4 -.L8001D130: -/* 01DD30 8001D130 25AD0001 */ addiu $t5, $t5, 1 -/* 01DD34 8001D134 000DCC00 */ sll $t9, $t5, 0x10 -/* 01DD38 8001D138 00197403 */ sra $t6, $t9, 0x10 -/* 01DD3C 8001D13C 29C10004 */ slti $at, $t6, 4 -/* 01DD40 8001D140 10200006 */ beqz $at, .L8001D15C -/* 01DD44 8001D144 01C06825 */ move $t5, $t6 -/* 01DD48 8001D148 022EC021 */ addu $t8, $s1, $t6 -/* 01DD4C 8001D14C 930F000A */ lbu $t7, 0xa($t8) -/* 01DD50 8001D150 00000000 */ nop -/* 01DD54 8001D154 164FFFF6 */ bne $s2, $t7, .L8001D130 -/* 01DD58 8001D158 00000000 */ nop -.L8001D15C: -/* 01DD5C 8001D15C 29A10004 */ slti $at, $t5, 4 -.L8001D160: -/* 01DD60 8001D160 10200006 */ beqz $at, .L8001D17C -/* 01DD64 8001D164 8FBF002C */ lw $ra, 0x2c($sp) -/* 01DD68 8001D168 8FB90384 */ lw $t9, 0x384($sp) -/* 01DD6C 8001D16C 00000000 */ nop -/* 01DD70 8001D170 02997021 */ addu $t6, $s4, $t9 -/* 01DD74 8001D174 A1CD0018 */ sb $t5, 0x18($t6) -/* 01DD78 8001D178 8FBF002C */ lw $ra, 0x2c($sp) -.L8001D17C: -/* 01DD7C 8001D17C 02401025 */ move $v0, $s2 -/* 01DD80 8001D180 8FB20010 */ lw $s2, 0x10($sp) -/* 01DD84 8001D184 8FB00008 */ lw $s0, 8($sp) -/* 01DD88 8001D188 8FB1000C */ lw $s1, 0xc($sp) -/* 01DD8C 8001D18C 8FB30014 */ lw $s3, 0x14($sp) -/* 01DD90 8001D190 8FB40018 */ lw $s4, 0x18($sp) -/* 01DD94 8001D194 8FB5001C */ lw $s5, 0x1c($sp) -/* 01DD98 8001D198 8FB60020 */ lw $s6, 0x20($sp) -/* 01DD9C 8001D19C 8FB70024 */ lw $s7, 0x24($sp) -/* 01DDA0 8001D1A0 8FBE0028 */ lw $fp, 0x28($sp) -/* 01DDA4 8001D1A4 03E00008 */ jr $ra -/* 01DDA8 8001D1A8 27BD0378 */ addiu $sp, $sp, 0x378 - diff --git a/asm/non_matchings/objects/func_8001E93C.s b/asm/non_matchings/objects/func_8001E93C.s deleted file mode 100644 index cb4d34c6..00000000 --- a/asm/non_matchings/objects/func_8001E93C.s +++ /dev/null @@ -1,366 +0,0 @@ -glabel func_8001E93C -/* 01F53C 8001E93C 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 01F540 8001E940 3C0E8012 */ lui $t6, %hi(D_8011AE7E) # $t6, 0x8012 -/* 01F544 8001E944 81CEAE7E */ lb $t6, %lo(D_8011AE7E)($t6) -/* 01F548 8001E948 AFBF0024 */ sw $ra, 0x24($sp) -/* 01F54C 8001E94C AFB30020 */ sw $s3, 0x20($sp) -/* 01F550 8001E950 AFB2001C */ sw $s2, 0x1c($sp) -/* 01F554 8001E954 AFB10018 */ sw $s1, 0x18($sp) -/* 01F558 8001E958 11C00023 */ beqz $t6, .L8001E9E8 -/* 01F55C 8001E95C AFB00014 */ sw $s0, 0x14($sp) -/* 01F560 8001E960 3C048012 */ lui $a0, %hi(D_8011AE78) # $a0, 0x8012 -/* 01F564 8001E964 8484AE78 */ lh $a0, %lo(D_8011AE78)($a0) -/* 01F568 8001E968 00009825 */ move $s3, $zero -/* 01F56C 8001E96C 1880001E */ blez $a0, .L8001E9E8 -/* 01F570 8001E970 00008825 */ move $s1, $zero -/* 01F574 8001E974 3C0D8012 */ lui $t5, %hi(D_8011AE74) # $t5, 0x8012 -/* 01F578 8001E978 25ADAE74 */ addiu $t5, %lo(D_8011AE74) # addiu $t5, $t5, -0x518c -/* 01F57C 8001E97C 24100014 */ li $s0, 20 -.L8001E980: -/* 01F580 8001E980 8DAF0000 */ lw $t7, ($t5) -/* 01F584 8001E984 00000000 */ nop -/* 01F588 8001E988 01F1C021 */ addu $t8, $t7, $s1 -/* 01F58C 8001E98C 8F020000 */ lw $v0, ($t8) -/* 01F590 8001E990 00000000 */ nop -/* 01F594 8001E994 8C430064 */ lw $v1, 0x64($v0) -/* 01F598 8001E998 8C48003C */ lw $t0, 0x3c($v0) -/* 01F59C 8001E99C 1060000E */ beqz $v1, .L8001E9D8 -/* 01F5A0 8001E9A0 00000000 */ nop -/* 01F5A4 8001E9A4 81190021 */ lb $t9, 0x21($t0) -/* 01F5A8 8001E9A8 00000000 */ nop -/* 01F5AC 8001E9AC 1219000A */ beq $s0, $t9, .L8001E9D8 -/* 01F5B0 8001E9B0 00000000 */ nop -/* 01F5B4 8001E9B4 00602025 */ move $a0, $v1 -/* 01F5B8 8001E9B8 0C003FEE */ jal free_object -/* 01F5BC 8001E9BC AFA2003C */ sw $v0, 0x3c($sp) -/* 01F5C0 8001E9C0 8FA2003C */ lw $v0, 0x3c($sp) -/* 01F5C4 8001E9C4 3C048012 */ lui $a0, %hi(D_8011AE78) # $a0, 0x8012 -/* 01F5C8 8001E9C8 AC400064 */ sw $zero, 0x64($v0) -/* 01F5CC 8001E9CC 3C0D8012 */ lui $t5, %hi(D_8011AE74) # $t5, 0x8012 -/* 01F5D0 8001E9D0 8484AE78 */ lh $a0, %lo(D_8011AE78)($a0) -/* 01F5D4 8001E9D4 25ADAE74 */ addiu $t5, %lo(D_8011AE74) # addiu $t5, $t5, -0x518c -.L8001E9D8: -/* 01F5D8 8001E9D8 26730001 */ addiu $s3, $s3, 1 -/* 01F5DC 8001E9DC 0264082A */ slt $at, $s3, $a0 -/* 01F5E0 8001E9E0 1420FFE7 */ bnez $at, .L8001E980 -/* 01F5E4 8001E9E4 26310004 */ addiu $s1, $s1, 4 -.L8001E9E8: -/* 01F5E8 8001E9E8 3C028012 */ lui $v0, %hi(D_8011AD3E) # $v0, 0x8012 -/* 01F5EC 8001E9EC 2442AD3E */ addiu $v0, %lo(D_8011AD3E) # addiu $v0, $v0, -0x52c2 -/* 01F5F0 8001E9F0 804E0000 */ lb $t6, ($v0) -/* 01F5F4 8001E9F4 24100014 */ li $s0, 20 -/* 01F5F8 8001E9F8 29C10015 */ slti $at, $t6, 0x15 -/* 01F5FC 8001E9FC 14200002 */ bnez $at, .L8001EA08 -/* 01F600 8001EA00 00009825 */ move $s3, $zero -/* 01F604 8001EA04 A0400000 */ sb $zero, ($v0) -.L8001EA08: -/* 01F608 8001EA08 0C007931 */ jal func_8001E4C4 -/* 01F60C 8001EA0C 00000000 */ nop -/* 01F610 8001EA10 3C068012 */ lui $a2, %hi(gObjectCount) # $a2, 0x8012 -/* 01F614 8001EA14 8CC6AE5C */ lw $a2, %lo(gObjectCount)($a2) -/* 01F618 8001EA18 3C0D8012 */ lui $t5, %hi(D_8011AE74) # $t5, 0x8012 -/* 01F61C 8001EA1C 18C00023 */ blez $a2, .L8001EAAC -/* 01F620 8001EA20 25ADAE74 */ addiu $t5, %lo(D_8011AE74) # addiu $t5, $t5, -0x518c -/* 01F624 8001EA24 3C058012 */ lui $a1, %hi(gObjPtrList) # $a1, 0x8012 -/* 01F628 8001EA28 3C0B8012 */ lui $t3, %hi(D_8011ADD8) # $t3, 0x8012 -/* 01F62C 8001EA2C 3C098012 */ lui $t1, %hi(gCutsceneID) # $t1, 0x8012 -/* 01F630 8001EA30 8CA5AE58 */ lw $a1, %lo(gObjPtrList)($a1) -/* 01F634 8001EA34 2529AE7A */ addiu $t1, %lo(gCutsceneID) # addiu $t1, $t1, -0x5186 -/* 01F638 8001EA38 256BADD8 */ addiu $t3, %lo(D_8011ADD8) # addiu $t3, $t3, -0x5228 -/* 01F63C 8001EA3C 00005025 */ move $t2, $zero -/* 01F640 8001EA40 00063880 */ sll $a3, $a2, 2 -/* 01F644 8001EA44 24080053 */ li $t0, 83 -.L8001EA48: -/* 01F648 8001EA48 8CA20000 */ lw $v0, ($a1) -/* 01F64C 8001EA4C 254A0004 */ addiu $t2, $t2, 4 -/* 01F650 8001EA50 10400014 */ beqz $v0, .L8001EAA4 -/* 01F654 8001EA54 0147082A */ slt $at, $t2, $a3 -/* 01F658 8001EA58 844F0006 */ lh $t7, 6($v0) -/* 01F65C 8001EA5C 00000000 */ nop -/* 01F660 8001EA60 31F88000 */ andi $t8, $t7, 0x8000 -/* 01F664 8001EA64 1700000F */ bnez $t8, .L8001EAA4 -/* 01F668 8001EA68 00000000 */ nop -/* 01F66C 8001EA6C 84590048 */ lh $t9, 0x48($v0) -/* 01F670 8001EA70 00000000 */ nop -/* 01F674 8001EA74 1519000B */ bne $t0, $t9, .L8001EAA4 -/* 01F678 8001EA78 00000000 */ nop -/* 01F67C 8001EA7C 8C43003C */ lw $v1, 0x3c($v0) -/* 01F680 8001EA80 852E0000 */ lh $t6, ($t1) -/* 01F684 8001EA84 80640009 */ lb $a0, 9($v1) -/* 01F688 8001EA88 00137880 */ sll $t7, $s3, 2 -/* 01F68C 8001EA8C 11C40003 */ beq $t6, $a0, .L8001EA9C -/* 01F690 8001EA90 016FC021 */ addu $t8, $t3, $t7 -/* 01F694 8001EA94 16040003 */ bne $s0, $a0, .L8001EAA4 -/* 01F698 8001EA98 00000000 */ nop -.L8001EA9C: -/* 01F69C 8001EA9C AF020000 */ sw $v0, ($t8) -/* 01F6A0 8001EAA0 26730001 */ addiu $s3, $s3, 1 -.L8001EAA4: -/* 01F6A4 8001EAA4 1420FFE8 */ bnez $at, .L8001EA48 -/* 01F6A8 8001EAA8 24A50004 */ addiu $a1, $a1, 4 -.L8001EAAC: -/* 01F6AC 8001EAAC 3C018012 */ lui $at, %hi(D_8011AE00) # $at, 0x8012 -/* 01F6B0 8001EAB0 A033AE00 */ sb $s3, %lo(D_8011AE00)($at) -/* 01F6B4 8001EAB4 24120001 */ li $s2, 1 -/* 01F6B8 8001EAB8 3C018012 */ lui $at, %hi(D_8011AE01) # $at, 0x8012 -/* 01F6BC 8001EABC A032AE01 */ sb $s2, %lo(D_8011AE01)($at) -/* 01F6C0 8001EAC0 3C0C8012 */ lui $t4, %hi(gObjectListStart) # $t4, 0x8012 -/* 01F6C4 8001EAC4 8D8CAE60 */ lw $t4, %lo(gObjectListStart)($t4) -/* 01F6C8 8001EAC8 3C018012 */ lui $at, %hi(D_8011AE78) # $at, 0x8012 -/* 01F6CC 8001EACC A420AE78 */ sh $zero, %lo(D_8011AE78)($at) -/* 01F6D0 8001EAD0 0186082A */ slt $at, $t4, $a2 -/* 01F6D4 8001EAD4 1020001E */ beqz $at, .L8001EB50 -/* 01F6D8 8001EAD8 00009825 */ move $s3, $zero -/* 01F6DC 8001EADC 3C038012 */ lui $v1, %hi(gObjPtrList) # $v1, 0x8012 -/* 01F6E0 8001EAE0 2463AE58 */ addiu $v1, %lo(gObjPtrList) # addiu $v1, $v1, -0x51a8 -/* 01F6E4 8001EAE4 000C5080 */ sll $t2, $t4, 2 -/* 01F6E8 8001EAE8 24040031 */ li $a0, 49 -.L8001EAEC: -/* 01F6EC 8001EAEC 8C790000 */ lw $t9, ($v1) -/* 01F6F0 8001EAF0 258C0001 */ addiu $t4, $t4, 1 -/* 01F6F4 8001EAF4 032A7021 */ addu $t6, $t9, $t2 -/* 01F6F8 8001EAF8 8DC20000 */ lw $v0, ($t6) -/* 01F6FC 8001EAFC 00000000 */ nop -/* 01F700 8001EB00 10400011 */ beqz $v0, .L8001EB48 -/* 01F704 8001EB04 0186082A */ slt $at, $t4, $a2 -/* 01F708 8001EB08 844F0006 */ lh $t7, 6($v0) -/* 01F70C 8001EB0C 00000000 */ nop -/* 01F710 8001EB10 31F88000 */ andi $t8, $t7, 0x8000 -/* 01F714 8001EB14 1700000C */ bnez $t8, .L8001EB48 -/* 01F718 8001EB18 0186082A */ slt $at, $t4, $a2 -/* 01F71C 8001EB1C 84590048 */ lh $t9, 0x48($v0) -/* 01F720 8001EB20 00137880 */ sll $t7, $s3, 2 -/* 01F724 8001EB24 14990008 */ bne $a0, $t9, .L8001EB48 -/* 01F728 8001EB28 0186082A */ slt $at, $t4, $a2 -/* 01F72C 8001EB2C 8DAE0000 */ lw $t6, ($t5) -/* 01F730 8001EB30 3C068012 */ lui $a2, %hi(gObjectCount) # $a2, 0x8012 -/* 01F734 8001EB34 01CFC021 */ addu $t8, $t6, $t7 -/* 01F738 8001EB38 AF020000 */ sw $v0, ($t8) -/* 01F73C 8001EB3C 8CC6AE5C */ lw $a2, %lo(gObjectCount)($a2) -/* 01F740 8001EB40 26730001 */ addiu $s3, $s3, 1 -/* 01F744 8001EB44 0186082A */ slt $at, $t4, $a2 -.L8001EB48: -/* 01F748 8001EB48 1420FFE8 */ bnez $at, .L8001EAEC -/* 01F74C 8001EB4C 254A0004 */ addiu $t2, $t2, 4 -.L8001EB50: -/* 01F750 8001EB50 00006025 */ move $t4, $zero -/* 01F754 8001EB54 267FFFFF */ addiu $ra, $s3, -1 -/* 01F758 8001EB58 24110002 */ li $s1, 2 -.L8001EB5C: -/* 01F75C 8001EB5C 1BE00041 */ blez $ra, .L8001EC64 -/* 01F760 8001EB60 02405825 */ move $t3, $s2 -/* 01F764 8001EB64 00005025 */ move $t2, $zero -.L8001EB68: -/* 01F768 8001EB68 8DB90000 */ lw $t9, ($t5) -/* 01F76C 8001EB6C 258C0001 */ addiu $t4, $t4, 1 -/* 01F770 8001EB70 032A2821 */ addu $a1, $t9, $t2 -/* 01F774 8001EB74 8CA60000 */ lw $a2, ($a1) -/* 01F778 8001EB78 8CA70004 */ lw $a3, 4($a1) -/* 01F77C 8001EB7C 8CC9003C */ lw $t1, 0x3c($a2) -/* 01F780 8001EB80 8CE4003C */ lw $a0, 0x3c($a3) -/* 01F784 8001EB84 812E0021 */ lb $t6, 0x21($t1) -/* 01F788 8001EB88 81220010 */ lb $v0, 0x10($t1) -/* 01F78C 8001EB8C 80830010 */ lb $v1, 0x10($a0) -/* 01F790 8001EB90 160E0004 */ bne $s0, $t6, .L8001EBA4 -/* 01F794 8001EB94 00000000 */ nop -/* 01F798 8001EB98 2442FE70 */ addiu $v0, $v0, -0x190 -/* 01F79C 8001EB9C 00027C00 */ sll $t7, $v0, 0x10 -/* 01F7A0 8001EBA0 000F1403 */ sra $v0, $t7, 0x10 -.L8001EBA4: -/* 01F7A4 8001EBA4 80990021 */ lb $t9, 0x21($a0) -/* 01F7A8 8001EBA8 00000000 */ nop -/* 01F7AC 8001EBAC 16190005 */ bne $s0, $t9, .L8001EBC4 -/* 01F7B0 8001EBB0 0062082A */ slt $at, $v1, $v0 -/* 01F7B4 8001EBB4 2463FE70 */ addiu $v1, $v1, -0x190 -/* 01F7B8 8001EBB8 00037400 */ sll $t6, $v1, 0x10 -/* 01F7BC 8001EBBC 000E1C03 */ sra $v1, $t6, 0x10 -/* 01F7C0 8001EBC0 0062082A */ slt $at, $v1, $v0 -.L8001EBC4: -/* 01F7C4 8001EBC4 10200007 */ beqz $at, .L8001EBE4 -/* 01F7C8 8001EBC8 00000000 */ nop -/* 01F7CC 8001EBCC ACA70000 */ sw $a3, ($a1) -/* 01F7D0 8001EBD0 8DB80000 */ lw $t8, ($t5) -/* 01F7D4 8001EBD4 00005825 */ move $t3, $zero -/* 01F7D8 8001EBD8 030AC821 */ addu $t9, $t8, $t2 -/* 01F7DC 8001EBDC 1000001E */ b .L8001EC58 -/* 01F7E0 8001EBE0 AF260004 */ sw $a2, 4($t9) -.L8001EBE4: -/* 01F7E4 8001EBE4 1443001C */ bne $v0, $v1, .L8001EC58 -/* 01F7E8 8001EBE8 00000000 */ nop -/* 01F7EC 8001EBEC 80820011 */ lb $v0, 0x11($a0) -/* 01F7F0 8001EBF0 81230011 */ lb $v1, 0x11($t1) -/* 01F7F4 8001EBF4 00000000 */ nop -/* 01F7F8 8001EBF8 0043082A */ slt $at, $v0, $v1 -/* 01F7FC 8001EBFC 10200007 */ beqz $at, .L8001EC1C -/* 01F800 8001EC00 00000000 */ nop -/* 01F804 8001EC04 ACA70000 */ sw $a3, ($a1) -/* 01F808 8001EC08 8DAE0000 */ lw $t6, ($t5) -/* 01F80C 8001EC0C 00005825 */ move $t3, $zero -/* 01F810 8001EC10 01CA7821 */ addu $t7, $t6, $t2 -/* 01F814 8001EC14 10000010 */ b .L8001EC58 -/* 01F818 8001EC18 ADE60004 */ sw $a2, 4($t7) -.L8001EC1C: -/* 01F81C 8001EC1C 1443000E */ bne $v0, $v1, .L8001EC58 -/* 01F820 8001EC20 00000000 */ nop -/* 01F824 8001EC24 8CF80078 */ lw $t8, 0x78($a3) -/* 01F828 8001EC28 00000000 */ nop -/* 01F82C 8001EC2C 12580005 */ beq $s2, $t8, .L8001EC44 -/* 01F830 8001EC30 00000000 */ nop -/* 01F834 8001EC34 8CD90078 */ lw $t9, 0x78($a2) -/* 01F838 8001EC38 00000000 */ nop -/* 01F83C 8001EC3C 16390006 */ bne $s1, $t9, .L8001EC58 -/* 01F840 8001EC40 00000000 */ nop -.L8001EC44: -/* 01F844 8001EC44 ACA70000 */ sw $a3, ($a1) -/* 01F848 8001EC48 8DAE0000 */ lw $t6, ($t5) -/* 01F84C 8001EC4C 00005825 */ move $t3, $zero -/* 01F850 8001EC50 01CA7821 */ addu $t7, $t6, $t2 -/* 01F854 8001EC54 ADE60004 */ sw $a2, 4($t7) -.L8001EC58: -/* 01F858 8001EC58 159FFFC3 */ bne $t4, $ra, .L8001EB68 -/* 01F85C 8001EC5C 254A0004 */ addiu $t2, $t2, 4 -/* 01F860 8001EC60 00006025 */ move $t4, $zero -.L8001EC64: -/* 01F864 8001EC64 1160FFBD */ beqz $t3, .L8001EB5C -/* 01F868 8001EC68 00000000 */ nop -/* 01F86C 8001EC6C 1A600071 */ blez $s3, .L8001EE34 -/* 01F870 8001EC70 2404FF9B */ li $a0, -101 -/* 01F874 8001EC74 32620003 */ andi $v0, $s3, 3 -/* 01F878 8001EC78 1040001A */ beqz $v0, .L8001ECE4 -/* 01F87C 8001EC7C 00401825 */ move $v1, $v0 -/* 01F880 8001EC80 8FA20028 */ lw $v0, 0x28($sp) -/* 01F884 8001EC84 000C5080 */ sll $t2, $t4, 2 -.L8001EC88: -/* 01F888 8001EC88 8DB80000 */ lw $t8, ($t5) -/* 01F88C 8001EC8C 258C0001 */ addiu $t4, $t4, 1 -/* 01F890 8001EC90 030AC821 */ addu $t9, $t8, $t2 -/* 01F894 8001EC94 8F2E0000 */ lw $t6, ($t9) -/* 01F898 8001EC98 00000000 */ nop -/* 01F89C 8001EC9C 8DC9003C */ lw $t1, 0x3c($t6) -/* 01F8A0 8001ECA0 00000000 */ nop -/* 01F8A4 8001ECA4 812F0010 */ lb $t7, 0x10($t1) -/* 01F8A8 8001ECA8 01204025 */ move $t0, $t1 -/* 01F8AC 8001ECAC 108F0003 */ beq $a0, $t7, .L8001ECBC -/* 01F8B0 8001ECB0 00000000 */ nop -/* 01F8B4 8001ECB4 81240010 */ lb $a0, 0x10($t1) -/* 01F8B8 8001ECB8 00001025 */ move $v0, $zero -.L8001ECBC: -/* 01F8BC 8001ECBC A1020011 */ sb $v0, 0x11($t0) -/* 01F8C0 8001ECC0 8DB80000 */ lw $t8, ($t5) -/* 01F8C4 8001ECC4 24420001 */ addiu $v0, $v0, 1 -/* 01F8C8 8001ECC8 030AC821 */ addu $t9, $t8, $t2 -/* 01F8CC 8001ECCC 8F2E0000 */ lw $t6, ($t9) -/* 01F8D0 8001ECD0 254A0004 */ addiu $t2, $t2, 4 -/* 01F8D4 8001ECD4 146CFFEC */ bne $v1, $t4, .L8001EC88 -/* 01F8D8 8001ECD8 ADC00078 */ sw $zero, 0x78($t6) -/* 01F8DC 8001ECDC 11930055 */ beq $t4, $s3, .L8001EE34 -/* 01F8E0 8001ECE0 AFA20028 */ sw $v0, 0x28($sp) -.L8001ECE4: -/* 01F8E4 8001ECE4 8FA20028 */ lw $v0, 0x28($sp) -/* 01F8E8 8001ECE8 000C5080 */ sll $t2, $t4, 2 -/* 01F8EC 8001ECEC 00132880 */ sll $a1, $s3, 2 -.L8001ECF0: -/* 01F8F0 8001ECF0 8DAF0000 */ lw $t7, ($t5) -/* 01F8F4 8001ECF4 00000000 */ nop -/* 01F8F8 8001ECF8 01EAC021 */ addu $t8, $t7, $t2 -/* 01F8FC 8001ECFC 8F190000 */ lw $t9, ($t8) -/* 01F900 8001ED00 00000000 */ nop -/* 01F904 8001ED04 8F29003C */ lw $t1, 0x3c($t9) -/* 01F908 8001ED08 00000000 */ nop -/* 01F90C 8001ED0C 812E0010 */ lb $t6, 0x10($t1) -/* 01F910 8001ED10 01204025 */ move $t0, $t1 -/* 01F914 8001ED14 108E0003 */ beq $a0, $t6, .L8001ED24 -/* 01F918 8001ED18 00000000 */ nop -/* 01F91C 8001ED1C 81240010 */ lb $a0, 0x10($t1) -/* 01F920 8001ED20 00001025 */ move $v0, $zero -.L8001ED24: -/* 01F924 8001ED24 A1020011 */ sb $v0, 0x11($t0) -/* 01F928 8001ED28 8DAF0000 */ lw $t7, ($t5) -/* 01F92C 8001ED2C 24420001 */ addiu $v0, $v0, 1 -/* 01F930 8001ED30 01EAC021 */ addu $t8, $t7, $t2 -/* 01F934 8001ED34 8F190000 */ lw $t9, ($t8) -/* 01F938 8001ED38 00000000 */ nop -/* 01F93C 8001ED3C AF200078 */ sw $zero, 0x78($t9) -/* 01F940 8001ED40 8DAE0000 */ lw $t6, ($t5) -/* 01F944 8001ED44 00000000 */ nop -/* 01F948 8001ED48 01CA7821 */ addu $t7, $t6, $t2 -/* 01F94C 8001ED4C 8DF80004 */ lw $t8, 4($t7) -/* 01F950 8001ED50 00000000 */ nop -/* 01F954 8001ED54 8F08003C */ lw $t0, 0x3c($t8) -/* 01F958 8001ED58 00000000 */ nop -/* 01F95C 8001ED5C 81030010 */ lb $v1, 0x10($t0) -/* 01F960 8001ED60 00000000 */ nop -/* 01F964 8001ED64 10830003 */ beq $a0, $v1, .L8001ED74 -/* 01F968 8001ED68 00000000 */ nop -/* 01F96C 8001ED6C 00602025 */ move $a0, $v1 -/* 01F970 8001ED70 00001025 */ move $v0, $zero -.L8001ED74: -/* 01F974 8001ED74 A1020011 */ sb $v0, 0x11($t0) -/* 01F978 8001ED78 8DB90000 */ lw $t9, ($t5) -/* 01F97C 8001ED7C 24420001 */ addiu $v0, $v0, 1 -/* 01F980 8001ED80 032A7021 */ addu $t6, $t9, $t2 -/* 01F984 8001ED84 8DCF0004 */ lw $t7, 4($t6) -/* 01F988 8001ED88 00000000 */ nop -/* 01F98C 8001ED8C ADE00078 */ sw $zero, 0x78($t7) -/* 01F990 8001ED90 8DB80000 */ lw $t8, ($t5) -/* 01F994 8001ED94 00000000 */ nop -/* 01F998 8001ED98 030AC821 */ addu $t9, $t8, $t2 -/* 01F99C 8001ED9C 8F2E0008 */ lw $t6, 8($t9) -/* 01F9A0 8001EDA0 00000000 */ nop -/* 01F9A4 8001EDA4 8DC8003C */ lw $t0, 0x3c($t6) -/* 01F9A8 8001EDA8 00000000 */ nop -/* 01F9AC 8001EDAC 81030010 */ lb $v1, 0x10($t0) -/* 01F9B0 8001EDB0 00000000 */ nop -/* 01F9B4 8001EDB4 10830003 */ beq $a0, $v1, .L8001EDC4 -/* 01F9B8 8001EDB8 00000000 */ nop -/* 01F9BC 8001EDBC 00602025 */ move $a0, $v1 -/* 01F9C0 8001EDC0 00001025 */ move $v0, $zero -.L8001EDC4: -/* 01F9C4 8001EDC4 A1020011 */ sb $v0, 0x11($t0) -/* 01F9C8 8001EDC8 8DAF0000 */ lw $t7, ($t5) -/* 01F9CC 8001EDCC 24420001 */ addiu $v0, $v0, 1 -/* 01F9D0 8001EDD0 01EAC021 */ addu $t8, $t7, $t2 -/* 01F9D4 8001EDD4 8F190008 */ lw $t9, 8($t8) -/* 01F9D8 8001EDD8 00000000 */ nop -/* 01F9DC 8001EDDC AF200078 */ sw $zero, 0x78($t9) -/* 01F9E0 8001EDE0 8DAE0000 */ lw $t6, ($t5) -/* 01F9E4 8001EDE4 00000000 */ nop -/* 01F9E8 8001EDE8 01CA7821 */ addu $t7, $t6, $t2 -/* 01F9EC 8001EDEC 8DF8000C */ lw $t8, 0xc($t7) -/* 01F9F0 8001EDF0 00000000 */ nop -/* 01F9F4 8001EDF4 8F08003C */ lw $t0, 0x3c($t8) -/* 01F9F8 8001EDF8 00000000 */ nop -/* 01F9FC 8001EDFC 81030010 */ lb $v1, 0x10($t0) -/* 01FA00 8001EE00 00000000 */ nop -/* 01FA04 8001EE04 10830003 */ beq $a0, $v1, .L8001EE14 -/* 01FA08 8001EE08 00000000 */ nop -/* 01FA0C 8001EE0C 00602025 */ move $a0, $v1 -/* 01FA10 8001EE10 00001025 */ move $v0, $zero -.L8001EE14: -/* 01FA14 8001EE14 A1020011 */ sb $v0, 0x11($t0) -/* 01FA18 8001EE18 8DB90000 */ lw $t9, ($t5) -/* 01FA1C 8001EE1C 24420001 */ addiu $v0, $v0, 1 -/* 01FA20 8001EE20 032A7021 */ addu $t6, $t9, $t2 -/* 01FA24 8001EE24 8DCF000C */ lw $t7, 0xc($t6) -/* 01FA28 8001EE28 254A0010 */ addiu $t2, $t2, 0x10 -/* 01FA2C 8001EE2C 1545FFB0 */ bne $t2, $a1, .L8001ECF0 -/* 01FA30 8001EE30 ADE00078 */ sw $zero, 0x78($t7) -.L8001EE34: -/* 01FA34 8001EE34 3C188012 */ lui $t8, %hi(D_8011AE7E) # $t8, 0x8012 -/* 01FA38 8001EE38 8318AE7E */ lb $t8, %lo(D_8011AE7E)($t8) -/* 01FA3C 8001EE3C 3C018012 */ lui $at, %hi(D_8011AE78) # $at, 0x8012 -/* 01FA40 8001EE40 13000003 */ beqz $t8, .L8001EE50 -/* 01FA44 8001EE44 A433AE78 */ sh $s3, %lo(D_8011AE78)($at) -/* 01FA48 8001EE48 0C007B9D */ jal func_8001EE74 -/* 01FA4C 8001EE4C 00000000 */ nop -.L8001EE50: -/* 01FA50 8001EE50 8FBF0024 */ lw $ra, 0x24($sp) -/* 01FA54 8001EE54 3C018012 */ lui $at, %hi(D_8011AE7E) # $at, 0x8012 -/* 01FA58 8001EE58 8FB00014 */ lw $s0, 0x14($sp) -/* 01FA5C 8001EE5C 8FB10018 */ lw $s1, 0x18($sp) -/* 01FA60 8001EE60 8FB2001C */ lw $s2, 0x1c($sp) -/* 01FA64 8001EE64 8FB30020 */ lw $s3, 0x20($sp) -/* 01FA68 8001EE68 A020AE7E */ sb $zero, %lo(D_8011AE7E)($at) -/* 01FA6C 8001EE6C 03E00008 */ jr $ra -/* 01FA70 8001EE70 27BD0050 */ addiu $sp, $sp, 0x50 - diff --git a/asm/non_matchings/objects/func_8001F460.s b/asm/non_matchings/objects/func_8001F460.s deleted file mode 100644 index 68a62371..00000000 --- a/asm/non_matchings/objects/func_8001F460.s +++ /dev/null @@ -1,1952 +0,0 @@ -.late_rodata -glabel D_800E5670 -.double 1.2 -glabel D_800E5678 -.float 0.01 -.word 0 # Padding -glabel D_800E5680 -.double 0.1 - -.text -glabel func_8001F460 -/* 020060 8001F460 27BDFE68 */ addiu $sp, $sp, -0x198 -/* 020064 8001F464 3C0E8012 */ lui $t6, %hi(gCutsceneID) # $t6, 0x8012 -/* 020068 8001F468 85CEAE7A */ lh $t6, %lo(gCutsceneID)($t6) -/* 02006C 8001F46C AFB60050 */ sw $s6, 0x50($sp) -/* 020070 8001F470 AFB40048 */ sw $s4, 0x48($sp) -/* 020074 8001F474 00C0A025 */ move $s4, $a2 -/* 020078 8001F478 0080B025 */ move $s6, $a0 -/* 02007C 8001F47C AFBF0054 */ sw $ra, 0x54($sp) -/* 020080 8001F480 AFB5004C */ sw $s5, 0x4c($sp) -/* 020084 8001F484 AFB30044 */ sw $s3, 0x44($sp) -/* 020088 8001F488 AFB20040 */ sw $s2, 0x40($sp) -/* 02008C 8001F48C AFB1003C */ sw $s1, 0x3c($sp) -/* 020090 8001F490 AFB00038 */ sw $s0, 0x38($sp) -/* 020094 8001F494 E7B70030 */ swc1 $f23, 0x30($sp) -/* 020098 8001F498 E7B60034 */ swc1 $f22, 0x34($sp) -/* 02009C 8001F49C E7B50028 */ swc1 $f21, 0x28($sp) -/* 0200A0 8001F4A0 E7B4002C */ swc1 $f20, 0x2c($sp) -/* 0200A4 8001F4A4 05C10003 */ bgez $t6, .L8001F4B4 -/* 0200A8 8001F4A8 AFA5019C */ sw $a1, 0x19c($sp) -/* 0200AC 8001F4AC 100006F9 */ b .L80021094 -/* 0200B0 8001F4B0 24020001 */ li $v0, 1 -.L8001F4B4: -/* 0200B4 8001F4B4 8FAF019C */ lw $t7, 0x19c($sp) -/* 0200B8 8001F4B8 24180008 */ li $t8, 8 -/* 0200BC 8001F4BC 29E10009 */ slti $at, $t7, 9 -/* 0200C0 8001F4C0 14200002 */ bnez $at, .L8001F4CC -/* 0200C4 8001F4C4 00009025 */ move $s2, $zero -/* 0200C8 8001F4C8 AFB8019C */ sw $t8, 0x19c($sp) -.L8001F4CC: -/* 0200CC 8001F4CC 8FB9019C */ lw $t9, 0x19c($sp) -/* 0200D0 8001F4D0 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -/* 0200D4 8001F4D4 44992000 */ mtc1 $t9, $f4 -/* 0200D8 8001F4D8 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -/* 0200DC 8001F4DC 46802020 */ cvt.s.w $f0, $f4 -/* 0200E0 8001F4E0 3C01800E */ lui $at, %hi(D_800E5670 + 4) # $at, 0x800e -/* 0200E4 8001F4E4 00008025 */ move $s0, $zero -/* 0200E8 8001F4E8 E7A00114 */ swc1 $f0, 0x114($sp) -/* 0200EC 8001F4EC 8ED30064 */ lw $s3, 0x64($s6) -/* 0200F0 8001F4F0 15C00007 */ bnez $t6, .L8001F510 -/* 0200F4 8001F4F4 24110004 */ li $s1, 4 -/* 0200F8 8001F4F8 C4295670 */ lwc1 $f9, %lo(D_800E5670)($at) -/* 0200FC 8001F4FC C4285674 */ lwc1 $f8, %lo(D_800E5670 + 4)($at) -/* 020100 8001F500 460001A1 */ cvt.d.s $f6, $f0 -/* 020104 8001F504 46283282 */ mul.d $f10, $f6, $f8 -/* 020108 8001F508 46205120 */ cvt.s.d $f4, $f10 -/* 02010C 8001F50C E7A40114 */ swc1 $f4, 0x114($sp) -.L8001F510: -/* 020110 8001F510 866F002A */ lh $t7, 0x2a($s3) -/* 020114 8001F514 00000000 */ nop -/* 020118 8001F518 05E10019 */ bgez $t7, .L8001F580 -/* 02011C 8001F51C 00000000 */ nop -/* 020120 8001F520 92620034 */ lbu $v0, 0x34($s3) -/* 020124 8001F524 00004025 */ move $t0, $zero -/* 020128 8001F528 30580001 */ andi $t8, $v0, 1 -/* 02012C 8001F52C 13000002 */ beqz $t8, .L8001F538 -/* 020130 8001F530 30590002 */ andi $t9, $v0, 2 -/* 020134 8001F534 34088000 */ li $t0, 32768 -.L8001F538: -/* 020138 8001F538 13200003 */ beqz $t9, .L8001F548 -/* 02013C 8001F53C 304F0004 */ andi $t7, $v0, 4 -/* 020140 8001F540 350E4000 */ ori $t6, $t0, 0x4000 -/* 020144 8001F544 01C04025 */ move $t0, $t6 -.L8001F548: -/* 020148 8001F548 11E00002 */ beqz $t7, .L8001F554 -/* 02014C 8001F54C 35181000 */ ori $t8, $t0, 0x1000 -/* 020150 8001F550 03004025 */ move $t0, $t8 -.L8001F554: -/* 020154 8001F554 02002025 */ move $a0, $s0 -/* 020158 8001F558 0C01A955 */ jal get_buttons_pressed_from_player -/* 02015C 8001F55C AFA80174 */ sw $t0, 0x174($sp) -/* 020160 8001F560 8FA80174 */ lw $t0, 0x174($sp) -/* 020164 8001F564 26100001 */ addiu $s0, $s0, 1 -/* 020168 8001F568 1611FFFA */ bne $s0, $s1, .L8001F554 -/* 02016C 8001F56C 02429025 */ or $s2, $s2, $v0 -/* 020170 8001F570 0248C824 */ and $t9, $s2, $t0 -/* 020174 8001F574 13200002 */ beqz $t9, .L8001F580 -/* 020178 8001F578 240E0001 */ li $t6, 1 -/* 02017C 8001F57C A66E002A */ sh $t6, 0x2a($s3) -.L8001F580: -/* 020180 8001F580 8662002A */ lh $v0, 0x2a($s3) -/* 020184 8001F584 00000000 */ nop -/* 020188 8001F588 04400018 */ bltz $v0, .L8001F5EC -/* 02018C 8001F58C 00000000 */ nop -/* 020190 8001F590 826F0045 */ lb $t7, 0x45($s3) -/* 020194 8001F594 8FB8019C */ lw $t8, 0x19c($sp) -/* 020198 8001F598 15E00014 */ bnez $t7, .L8001F5EC -/* 02019C 8001F59C 0058C823 */ subu $t9, $v0, $t8 -/* 0201A0 8001F5A0 A679002A */ sh $t9, 0x2a($s3) -/* 0201A4 8001F5A4 8662002A */ lh $v0, 0x2a($s3) -/* 0201A8 8001F5A8 240E0001 */ li $t6, 1 -/* 0201AC 8001F5AC 1C40000F */ bgtz $v0, .L8001F5EC -/* 0201B0 8001F5B0 02C02025 */ move $a0, $s6 -/* 0201B4 8001F5B4 8E6F001C */ lw $t7, 0x1c($s3) -/* 0201B8 8001F5B8 A26E0045 */ sb $t6, 0x45($s3) -/* 0201BC 8001F5BC 8DF1003C */ lw $s1, 0x3c($t7) -/* 0201C0 8001F5C0 02602825 */ move $a1, $s3 -/* 0201C4 8001F5C4 0C008441 */ jal func_80021104 -/* 0201C8 8001F5C8 02203025 */ move $a2, $s1 -/* 0201CC 8001F5CC A660002A */ sh $zero, 0x2a($s3) -/* 0201D0 8001F5D0 02C02025 */ move $a0, $s6 -/* 0201D4 8001F5D4 02202825 */ move $a1, $s1 -/* 0201D8 8001F5D8 02603025 */ move $a2, $s3 -/* 0201DC 8001F5DC 0C008497 */ jal func_8002125C -/* 0201E0 8001F5E0 2407FFFF */ li $a3, -1 -/* 0201E4 8001F5E4 8662002A */ lh $v0, 0x2a($s3) -/* 0201E8 8001F5E8 00000000 */ nop -.L8001F5EC: -/* 0201EC 8001F5EC 1040000D */ beqz $v0, .L8001F624 -/* 0201F0 8001F5F0 00000000 */ nop -/* 0201F4 8001F5F4 8278003A */ lb $t8, 0x3a($s3) -/* 0201F8 8001F5F8 00000000 */ nop -/* 0201FC 8001F5FC 13000007 */ beqz $t8, .L8001F61C -/* 020200 8001F600 00000000 */ nop -/* 020204 8001F604 86D90006 */ lh $t9, 6($s6) -/* 020208 8001F608 24020001 */ li $v0, 1 -/* 02020C 8001F60C 372E4000 */ ori $t6, $t9, 0x4000 -/* 020210 8001F610 A6CE0006 */ sh $t6, 6($s6) -/* 020214 8001F614 1000069F */ b .L80021094 -/* 020218 8001F618 A2600042 */ sb $zero, 0x42($s3) -.L8001F61C: -/* 02021C 8001F61C 1000069D */ b .L80021094 -/* 020220 8001F620 00001025 */ move $v0, $zero -.L8001F624: -/* 020224 8001F624 86CF0006 */ lh $t7, 6($s6) -/* 020228 8001F628 2410BFFF */ li $s0, -16385 -/* 02022C 8001F62C 31F8BFFF */ andi $t8, $t7, 0xbfff -/* 020230 8001F630 A6D80006 */ sh $t8, 6($s6) -/* 020234 8001F634 82630039 */ lb $v1, 0x39($s3) -/* 020238 8001F638 2401FFFE */ li $at, -2 -/* 02023C 8001F63C 18600010 */ blez $v1, .L8001F680 -/* 020240 8001F640 00000000 */ nop -/* 020244 8001F644 0C000646 */ jal music_current_sequence -/* 020248 8001F648 00000000 */ nop -/* 02024C 8001F64C 82630039 */ lb $v1, 0x39($s3) -/* 020250 8001F650 00000000 */ nop -/* 020254 8001F654 10620006 */ beq $v1, $v0, .L8001F670 -/* 020258 8001F658 2419FFFE */ li $t9, -2 -/* 02025C 8001F65C 0C0002CD */ jal music_play -/* 020260 8001F660 306400FF */ andi $a0, $v1, 0xff -/* 020264 8001F664 0C0002C6 */ jal music_change_off -/* 020268 8001F668 00000000 */ nop -/* 02026C 8001F66C 2419FFFE */ li $t9, -2 -.L8001F670: -/* 020270 8001F670 0C00032F */ jal music_volume_reset -/* 020274 8001F674 A2790039 */ sb $t9, 0x39($s3) -/* 020278 8001F678 10000008 */ b .L8001F69C -/* 02027C 8001F67C 82630038 */ lb $v1, 0x38($s3) -.L8001F680: -/* 020280 8001F680 14610005 */ bne $v1, $at, .L8001F698 -/* 020284 8001F684 00000000 */ nop -/* 020288 8001F688 0C0002CA */ jal music_change_on -/* 02028C 8001F68C 00000000 */ nop -/* 020290 8001F690 240EFFFF */ li $t6, -1 -/* 020294 8001F694 A26E0039 */ sb $t6, 0x39($s3) -.L8001F698: -/* 020298 8001F698 82630038 */ lb $v1, 0x38($s3) -.L8001F69C: -/* 02029C 8001F69C 00000000 */ nop -/* 0202A0 8001F6A0 1060001D */ beqz $v1, .L8001F718 -/* 0202A4 8001F6A4 00000000 */ nop -/* 0202A8 8001F6A8 866F0024 */ lh $t7, 0x24($s3) -/* 0202AC 8001F6AC 306200FF */ andi $v0, $v1, 0xff -/* 0202B0 8001F6B0 15E00019 */ bnez $t7, .L8001F718 -/* 0202B4 8001F6B4 240100FF */ li $at, 255 -/* 0202B8 8001F6B8 14410009 */ bne $v0, $at, .L8001F6E0 -/* 0202BC 8001F6BC 00000000 */ nop -/* 0202C0 8001F6C0 8E640018 */ lw $a0, 0x18($s3) -/* 0202C4 8001F6C4 00000000 */ nop -/* 0202C8 8001F6C8 10800012 */ beqz $a0, .L8001F714 -/* 0202CC 8001F6CC 00000000 */ nop -/* 0202D0 8001F6D0 0C001223 */ jal sound_stop -/* 0202D4 8001F6D4 00000000 */ nop -/* 0202D8 8001F6D8 1000000F */ b .L8001F718 -/* 0202DC 8001F6DC A2600038 */ sb $zero, 0x38($s3) -.L8001F6E0: -/* 0202E0 8001F6E0 8E640018 */ lw $a0, 0x18($s3) -/* 0202E4 8001F6E4 00000000 */ nop -/* 0202E8 8001F6E8 10800007 */ beqz $a0, .L8001F708 -/* 0202EC 8001F6EC 00000000 */ nop -/* 0202F0 8001F6F0 0C001223 */ jal sound_stop -/* 0202F4 8001F6F4 00000000 */ nop -/* 0202F8 8001F6F8 82620038 */ lb $v0, 0x38($s3) -/* 0202FC 8001F6FC 00000000 */ nop -/* 020300 8001F700 305800FF */ andi $t8, $v0, 0xff -/* 020304 8001F704 03001025 */ move $v0, $t8 -.L8001F708: -/* 020308 8001F708 3044FFFF */ andi $a0, $v0, 0xffff -/* 02030C 8001F70C 0C000741 */ jal sound_play -/* 020310 8001F710 26650018 */ addiu $a1, $s3, 0x18 -.L8001F714: -/* 020314 8001F714 A2600038 */ sb $zero, 0x38($s3) -.L8001F718: -/* 020318 8001F718 82620043 */ lb $v0, 0x43($s3) -/* 02031C 8001F71C 00000000 */ nop -/* 020320 8001F720 10400004 */ beqz $v0, .L8001F734 -/* 020324 8001F724 00000000 */ nop -/* 020328 8001F728 0C000326 */ jal music_fade -/* 02032C 8001F72C 00022200 */ sll $a0, $v0, 8 -/* 020330 8001F730 A2600043 */ sb $zero, 0x43($s3) -.L8001F734: -/* 020334 8001F734 82620041 */ lb $v0, 0x41($s3) -/* 020338 8001F738 92680042 */ lbu $t0, 0x42($s3) -/* 02033C 8001F73C 30590001 */ andi $t9, $v0, 1 -/* 020340 8001F740 13200010 */ beqz $t9, .L8001F784 -/* 020344 8001F744 304E0002 */ andi $t6, $v0, 2 -/* 020348 8001F748 304E0002 */ andi $t6, $v0, 2 -/* 02034C 8001F74C 8FA2019C */ lw $v0, 0x19c($sp) -/* 020350 8001F750 11C00002 */ beqz $t6, .L8001F75C -/* 020354 8001F754 000278C0 */ sll $t7, $v0, 3 -/* 020358 8001F758 00004025 */ move $t0, $zero -.L8001F75C: -/* 02035C 8001F75C 01E8082A */ slt $at, $t7, $t0 -/* 020360 8001F760 10200003 */ beqz $at, .L8001F770 -/* 020364 8001F764 00000000 */ nop -/* 020368 8001F768 10000013 */ b .L8001F7B8 -/* 02036C 8001F76C 010F4023 */ subu $t0, $t0, $t7 -.L8001F770: -/* 020370 8001F770 86D80006 */ lh $t8, 6($s6) -/* 020374 8001F774 00004025 */ move $t0, $zero -/* 020378 8001F778 37194000 */ ori $t9, $t8, 0x4000 -/* 02037C 8001F77C 1000000E */ b .L8001F7B8 -/* 020380 8001F780 A6D90006 */ sh $t9, 6($s6) -.L8001F784: -/* 020384 8001F784 8FAF019C */ lw $t7, 0x19c($sp) -/* 020388 8001F788 11C00002 */ beqz $t6, .L8001F794 -/* 02038C 8001F78C 000FC0C0 */ sll $t8, $t7, 3 -/* 020390 8001F790 240800FF */ li $t0, 255 -.L8001F794: -/* 020394 8001F794 01184021 */ addu $t0, $t0, $t8 -/* 020398 8001F798 29010100 */ slti $at, $t0, 0x100 -/* 02039C 8001F79C 14200002 */ bnez $at, .L8001F7A8 -/* 0203A0 8001F7A0 00000000 */ nop -/* 0203A4 8001F7A4 240800FF */ li $t0, 255 -.L8001F7A8: -/* 0203A8 8001F7A8 86D90006 */ lh $t9, 6($s6) -/* 0203AC 8001F7AC 00000000 */ nop -/* 0203B0 8001F7B0 03307024 */ and $t6, $t9, $s0 -/* 0203B4 8001F7B4 A6CE0006 */ sh $t6, 6($s6) -.L8001F7B8: -/* 0203B8 8001F7B8 9262003B */ lbu $v0, 0x3b($s3) -/* 0203BC 8001F7BC 2401007F */ li $at, 127 -/* 0203C0 8001F7C0 3052007F */ andi $s2, $v0, 0x7f -/* 0203C4 8001F7C4 12410070 */ beq $s2, $at, .L8001F988 -/* 0203C8 8001F7C8 A2680042 */ sb $t0, 0x42($s3) -/* 0203CC 8001F7CC 2A410008 */ slti $at, $s2, 8 -/* 0203D0 8001F7D0 14200026 */ bnez $at, .L8001F86C -/* 0203D4 8001F7D4 2A410006 */ slti $at, $s2, 6 -/* 0203D8 8001F7D8 0C0078A7 */ jal get_misc_asset -/* 0203DC 8001F7DC 2404000D */ li $a0, 13 -/* 0203E0 8001F7E0 00127880 */ sll $t7, $s2, 2 -/* 0203E4 8001F7E4 01F27821 */ addu $t7, $t7, $s2 -/* 0203E8 8001F7E8 004F1821 */ addu $v1, $v0, $t7 -/* 0203EC 8001F7EC 2471FFD8 */ addiu $s1, $v1, -0x28 -/* 0203F0 8001F7F0 82280000 */ lb $t0, ($s1) -/* 0203F4 8001F7F4 82300001 */ lb $s0, 1($s1) -/* 0203F8 8001F7F8 311800FF */ andi $t8, $t0, 0xff -/* 0203FC 8001F7FC 27080384 */ addiu $t0, $t8, 0x384 -/* 020400 8001F800 321900FF */ andi $t9, $s0, 0xff -/* 020404 8001F804 27300384 */ addiu $s0, $t9, 0x384 -/* 020408 8001F808 AFA80174 */ sw $t0, 0x174($sp) -/* 02040C 8001F80C 0C00322D */ jal normalise_time -/* 020410 8001F810 24040006 */ li $a0, 6 -/* 020414 8001F814 8FA80174 */ lw $t0, 0x174($sp) -/* 020418 8001F818 82250002 */ lb $a1, 2($s1) -/* 02041C 8001F81C 82260003 */ lb $a2, 3($s1) -/* 020420 8001F820 82270004 */ lb $a3, 4($s1) -/* 020424 8001F824 AFB00014 */ sw $s0, 0x14($sp) -/* 020428 8001F828 AFA80010 */ sw $t0, 0x10($sp) -/* 02042C 8001F82C 9279003C */ lbu $t9, 0x3c($s3) -/* 020430 8001F830 30AE00FF */ andi $t6, $a1, 0xff -/* 020434 8001F834 00590019 */ multu $v0, $t9 -/* 020438 8001F838 01C02825 */ move $a1, $t6 -/* 02043C 8001F83C 30CF00FF */ andi $t7, $a2, 0xff -/* 020440 8001F840 30F800FF */ andi $t8, $a3, 0xff -/* 020444 8001F844 03003825 */ move $a3, $t8 -/* 020448 8001F848 01E03025 */ move $a2, $t7 -/* 02044C 8001F84C 00002025 */ move $a0, $zero -/* 020450 8001F850 00007012 */ mflo $t6 -/* 020454 8001F854 AFAE0018 */ sw $t6, 0x18($sp) -/* 020458 8001F858 0C00C378 */ jal slowly_change_fog -/* 02045C 8001F85C 00000000 */ nop -/* 020460 8001F860 10000048 */ b .L8001F984 -/* 020464 8001F864 241800FF */ li $t8, 255 -/* 020468 8001F868 2A410006 */ slti $at, $s2, 6 -.L8001F86C: -/* 02046C 8001F86C 1420001A */ bnez $at, .L8001F8D8 -/* 020470 8001F870 2404000E */ li $a0, 14 -/* 020474 8001F874 240F0040 */ li $t7, 64 -/* 020478 8001F878 24010007 */ li $at, 7 -/* 02047C 8001F87C 16410008 */ bne $s2, $at, .L8001F8A0 -/* 020480 8001F880 A3AF00A4 */ sb $t7, 0xa4($sp) -/* 020484 8001F884 241800C8 */ li $t8, 200 -/* 020488 8001F888 241900C8 */ li $t9, 200 -/* 02048C 8001F88C 240E00FF */ li $t6, 255 -/* 020490 8001F890 A3AE00A7 */ sb $t6, 0xa7($sp) -/* 020494 8001F894 A3B900A6 */ sb $t9, 0xa6($sp) -/* 020498 8001F898 10000007 */ b .L8001F8B8 -/* 02049C 8001F89C A3B800A5 */ sb $t8, 0xa5($sp) -.L8001F8A0: -/* 0204A0 8001F8A0 240F00FF */ li $t7, 255 -/* 0204A4 8001F8A4 241800FF */ li $t8, 255 -/* 0204A8 8001F8A8 241900FF */ li $t9, 255 -/* 0204AC 8001F8AC A3B900A7 */ sb $t9, 0xa7($sp) -/* 0204B0 8001F8B0 A3B800A6 */ sb $t8, 0xa6($sp) -/* 0204B4 8001F8B4 A3AF00A5 */ sb $t7, 0xa5($sp) -.L8001F8B8: -/* 0204B8 8001F8B8 240E0007 */ li $t6, 7 -/* 0204BC 8001F8BC 240F0003 */ li $t7, 3 -/* 0204C0 8001F8C0 A7AE00A8 */ sh $t6, 0xa8($sp) -/* 0204C4 8001F8C4 A7AF00AA */ sh $t7, 0xaa($sp) -/* 0204C8 8001F8C8 0C030076 */ jal transition_begin -/* 0204CC 8001F8CC 27A400A4 */ addiu $a0, $sp, 0xa4 -/* 0204D0 8001F8D0 1000002C */ b .L8001F984 -/* 0204D4 8001F8D4 241800FF */ li $t8, 255 -.L8001F8D8: -/* 0204D8 8001F8D8 0C0078A7 */ jal get_misc_asset -/* 0204DC 8001F8DC A3A200A4 */ sb $v0, 0xa4($sp) -/* 0204E0 8001F8E0 82780040 */ lb $t8, 0x40($s3) -/* 0204E4 8001F8E4 00000000 */ nop -/* 0204E8 8001F8E8 0018C880 */ sll $t9, $t8, 2 -/* 0204EC 8001F8EC 0338C823 */ subu $t9, $t9, $t8 -/* 0204F0 8001F8F0 00598821 */ addu $s1, $v0, $t9 -/* 0204F4 8001F8F4 822E0000 */ lb $t6, ($s1) -/* 0204F8 8001F8F8 00000000 */ nop -/* 0204FC 8001F8FC A3AE00A5 */ sb $t6, 0xa5($sp) -/* 020500 8001F900 822F0001 */ lb $t7, 1($s1) -/* 020504 8001F904 00000000 */ nop -/* 020508 8001F908 A3AF00A6 */ sb $t7, 0xa6($sp) -/* 02050C 8001F90C 82380002 */ lb $t8, 2($s1) -/* 020510 8001F910 340FFFFF */ li $t7, 65535 -/* 020514 8001F914 A3B800A7 */ sb $t8, 0xa7($sp) -/* 020518 8001F918 9279003B */ lbu $t9, 0x3b($s3) -/* 02051C 8001F91C 00000000 */ nop -/* 020520 8001F920 332E0080 */ andi $t6, $t9, 0x80 -/* 020524 8001F924 11C00003 */ beqz $t6, .L8001F934 -/* 020528 8001F928 00000000 */ nop -/* 02052C 8001F92C 10000002 */ b .L8001F938 -/* 020530 8001F930 A7A000AA */ sh $zero, 0xaa($sp) -.L8001F934: -/* 020534 8001F934 A7AF00AA */ sh $t7, 0xaa($sp) -.L8001F938: -/* 020538 8001F938 0C00322D */ jal normalise_time -/* 02053C 8001F93C 24040006 */ li $a0, 6 -/* 020540 8001F940 9278003C */ lbu $t8, 0x3c($s3) -/* 020544 8001F944 00000000 */ nop -/* 020548 8001F948 00580019 */ multu $v0, $t8 -/* 02054C 8001F94C 0000C812 */ mflo $t9 -/* 020550 8001F950 A7B900A8 */ sh $t9, 0xa8($sp) -/* 020554 8001F954 0C030063 */ jal check_fadeout_transition -/* 020558 8001F958 00000000 */ nop -/* 02055C 8001F95C 10400006 */ beqz $v0, .L8001F978 -/* 020560 8001F960 00000000 */ nop -/* 020564 8001F964 93AE00A4 */ lbu $t6, 0xa4($sp) -/* 020568 8001F968 00000000 */ nop -/* 02056C 8001F96C 31CF0080 */ andi $t7, $t6, 0x80 -/* 020570 8001F970 11E00004 */ beqz $t7, .L8001F984 -/* 020574 8001F974 241800FF */ li $t8, 255 -.L8001F978: -/* 020578 8001F978 0C030076 */ jal transition_begin -/* 02057C 8001F97C 27A400A4 */ addiu $a0, $sp, 0xa4 -/* 020580 8001F980 241800FF */ li $t8, 255 -.L8001F984: -/* 020584 8001F984 A278003B */ sb $t8, 0x3b($s3) -.L8001F988: -/* 020588 8001F988 9279002E */ lbu $t9, 0x2e($s3) -/* 02058C 8001F98C 24010001 */ li $at, 1 -/* 020590 8001F990 1721003E */ bne $t9, $at, .L8001FA8C -/* 020594 8001F994 00000000 */ nop -/* 020598 8001F998 C7A60114 */ lwc1 $f6, 0x114($sp) -/* 02059C 8001F99C 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 0205A0 8001F9A0 44815800 */ mtc1 $at, $f11 -/* 0205A4 8001F9A4 44805000 */ mtc1 $zero, $f10 -/* 0205A8 8001F9A8 46003221 */ cvt.d.s $f8, $f6 -/* 0205AC 8001F9AC 462A4102 */ mul.d $f4, $f8, $f10 -/* 0205B0 8001F9B0 826F0031 */ lb $t7, 0x31($s3) -/* 0205B4 8001F9B4 86CE0000 */ lh $t6, ($s6) -/* 0205B8 8001F9B8 448F3000 */ mtc1 $t7, $f6 -/* 0205BC 8001F9BC 86CF0002 */ lh $t7, 2($s6) -/* 0205C0 8001F9C0 46803220 */ cvt.s.w $f8, $f6 -/* 0205C4 8001F9C4 46202020 */ cvt.s.d $f0, $f4 -/* 0205C8 8001F9C8 46004282 */ mul.s $f10, $f8, $f0 -/* 0205CC 8001F9CC 4458F800 */ cfc1 $t8, $31 -/* 0205D0 8001F9D0 00000000 */ nop -/* 0205D4 8001F9D4 37010003 */ ori $at, $t8, 3 -/* 0205D8 8001F9D8 38210002 */ xori $at, $at, 2 -/* 0205DC 8001F9DC 44C1F800 */ ctc1 $at, $31 -/* 0205E0 8001F9E0 00000000 */ nop -/* 0205E4 8001F9E4 46005124 */ cvt.w.s $f4, $f10 -/* 0205E8 8001F9E8 44D8F800 */ ctc1 $t8, $31 -/* 0205EC 8001F9EC 44182000 */ mfc1 $t8, $f4 -/* 0205F0 8001F9F0 00000000 */ nop -/* 0205F4 8001F9F4 01D8C821 */ addu $t9, $t6, $t8 -/* 0205F8 8001F9F8 A6D90000 */ sh $t9, ($s6) -/* 0205FC 8001F9FC 826E0032 */ lb $t6, 0x32($s3) -/* 020600 8001FA00 00000000 */ nop -/* 020604 8001FA04 448E3000 */ mtc1 $t6, $f6 -/* 020608 8001FA08 86CE0004 */ lh $t6, 4($s6) -/* 02060C 8001FA0C 46803220 */ cvt.s.w $f8, $f6 -/* 020610 8001FA10 46004282 */ mul.s $f10, $f8, $f0 -/* 020614 8001FA14 4458F800 */ cfc1 $t8, $31 -/* 020618 8001FA18 00000000 */ nop -/* 02061C 8001FA1C 37010003 */ ori $at, $t8, 3 -/* 020620 8001FA20 38210002 */ xori $at, $at, 2 -/* 020624 8001FA24 44C1F800 */ ctc1 $at, $31 -/* 020628 8001FA28 00000000 */ nop -/* 02062C 8001FA2C 46005124 */ cvt.w.s $f4, $f10 -/* 020630 8001FA30 44D8F800 */ ctc1 $t8, $31 -/* 020634 8001FA34 44182000 */ mfc1 $t8, $f4 -/* 020638 8001FA38 00000000 */ nop -/* 02063C 8001FA3C 01F8C821 */ addu $t9, $t7, $t8 -/* 020640 8001FA40 A6D90002 */ sh $t9, 2($s6) -/* 020644 8001FA44 826F0033 */ lb $t7, 0x33($s3) -/* 020648 8001FA48 00000000 */ nop -/* 02064C 8001FA4C 448F3000 */ mtc1 $t7, $f6 -/* 020650 8001FA50 00000000 */ nop -/* 020654 8001FA54 46803220 */ cvt.s.w $f8, $f6 -/* 020658 8001FA58 46004282 */ mul.s $f10, $f8, $f0 -/* 02065C 8001FA5C 4458F800 */ cfc1 $t8, $31 -/* 020660 8001FA60 00000000 */ nop -/* 020664 8001FA64 37010003 */ ori $at, $t8, 3 -/* 020668 8001FA68 38210002 */ xori $at, $at, 2 -/* 02066C 8001FA6C 44C1F800 */ ctc1 $at, $31 -/* 020670 8001FA70 00000000 */ nop -/* 020674 8001FA74 46005124 */ cvt.w.s $f4, $f10 -/* 020678 8001FA78 44D8F800 */ ctc1 $t8, $31 -/* 02067C 8001FA7C 44182000 */ mfc1 $t8, $f4 -/* 020680 8001FA80 00000000 */ nop -/* 020684 8001FA84 01D8C821 */ addu $t9, $t6, $t8 -/* 020688 8001FA88 A6D90004 */ sh $t9, 4($s6) -.L8001FA8C: -/* 02068C 8001FA8C 128000C5 */ beqz $s4, .L8001FDA4 -/* 020690 8001FA90 00000000 */ nop -/* 020694 8001FA94 8E8F0040 */ lw $t7, 0x40($s4) -/* 020698 8001FA98 00000000 */ nop -/* 02069C 8001FA9C 81EE0053 */ lb $t6, 0x53($t7) -/* 0206A0 8001FAA0 00000000 */ nop -/* 0206A4 8001FAA4 15C000BF */ bnez $t6, .L8001FDA4 -/* 0206A8 8001FAA8 00000000 */ nop -/* 0206AC 8001FAAC 4459F800 */ cfc1 $t9, $31 -/* 0206B0 8001FAB0 82D8003B */ lb $t8, 0x3b($s6) -/* 0206B4 8001FAB4 37210003 */ ori $at, $t9, 3 -/* 0206B8 8001FAB8 38210002 */ xori $at, $at, 2 -/* 0206BC 8001FABC A298003B */ sb $t8, 0x3b($s4) -/* 0206C0 8001FAC0 C6620010 */ lwc1 $f2, 0x10($s3) -/* 0206C4 8001FAC4 44C1F800 */ ctc1 $at, $31 -/* 0206C8 8001FAC8 86820018 */ lh $v0, 0x18($s4) -/* 0206CC 8001FACC 460011A4 */ cvt.w.s $f6, $f2 -/* 0206D0 8001FAD0 440F3000 */ mfc1 $t7, $f6 -/* 0206D4 8001FAD4 44D9F800 */ ctc1 $t9, $31 -/* 0206D8 8001FAD8 000F7400 */ sll $t6, $t7, 0x10 -/* 0206DC 8001FADC 000EC403 */ sra $t8, $t6, 0x10 -/* 0206E0 8001FAE0 10580007 */ beq $v0, $t8, .L8001FB00 -/* 0206E4 8001FAE4 00000000 */ nop -/* 0206E8 8001FAE8 44824000 */ mtc1 $v0, $f8 -/* 0206EC 8001FAEC 00000000 */ nop -/* 0206F0 8001FAF0 468042A0 */ cvt.s.w $f10, $f8 -/* 0206F4 8001FAF4 E66A0010 */ swc1 $f10, 0x10($s3) -/* 0206F8 8001FAF8 C6620010 */ lwc1 $f2, 0x10($s3) -/* 0206FC 8001FAFC 00000000 */ nop -.L8001FB00: -/* 020700 8001FB00 828F003A */ lb $t7, 0x3a($s4) -/* 020704 8001FB04 8E990068 */ lw $t9, 0x68($s4) -/* 020708 8001FB08 000F7080 */ sll $t6, $t7, 2 -/* 02070C 8001FB0C 032EC021 */ addu $t8, $t9, $t6 -/* 020710 8001FB10 8F030000 */ lw $v1, ($t8) -/* 020714 8001FB14 00000000 */ nop -/* 020718 8001FB18 10600097 */ beqz $v1, .L8001FD78 -/* 02071C 8001FB1C 00000000 */ nop -/* 020720 8001FB20 8282003B */ lb $v0, 0x3b($s4) -/* 020724 8001FB24 8C640000 */ lw $a0, ($v1) -/* 020728 8001FB28 04400093 */ bltz $v0, .L8001FD78 -/* 02072C 8001FB2C 00000000 */ nop -/* 020730 8001FB30 848F0048 */ lh $t7, 0x48($a0) -/* 020734 8001FB34 00000000 */ nop -/* 020738 8001FB38 004F082A */ slt $at, $v0, $t7 -/* 02073C 8001FB3C 1020008E */ beqz $at, .L8001FD78 -/* 020740 8001FB40 00000000 */ nop -/* 020744 8001FB44 8C990044 */ lw $t9, 0x44($a0) -/* 020748 8001FB48 000270C0 */ sll $t6, $v0, 3 -/* 02074C 8001FB4C 032EC021 */ addu $t8, $t9, $t6 -/* 020750 8001FB50 8F150004 */ lw $s5, 4($t8) -/* 020754 8001FB54 9263002C */ lbu $v1, 0x2c($s3) -/* 020758 8001FB58 26B5FFFF */ addiu $s5, $s5, -1 -/* 02075C 8001FB5C 00157900 */ sll $t7, $s5, 4 -/* 020760 8001FB60 1060000A */ beqz $v1, .L8001FB8C -/* 020764 8001FB64 01E0A825 */ move $s5, $t7 -/* 020768 8001FB68 24010001 */ li $at, 1 -/* 02076C 8001FB6C 1061002F */ beq $v1, $at, .L8001FC2C -/* 020770 8001FB70 24010002 */ li $at, 2 -/* 020774 8001FB74 10610018 */ beq $v1, $at, .L8001FBD8 -/* 020778 8001FB78 24010003 */ li $at, 3 -/* 02077C 8001FB7C 10610055 */ beq $v1, $at, .L8001FCD4 -/* 020780 8001FB80 00000000 */ nop -/* 020784 8001FB84 1000007D */ b .L8001FD7C -/* 020788 8001FB88 4459F800 */ cfc1 $t9, $31 -.L8001FB8C: -/* 02078C 8001FB8C C6640014 */ lwc1 $f4, 0x14($s3) -/* 020790 8001FB90 C7A60114 */ lwc1 $f6, 0x114($sp) -/* 020794 8001FB94 00000000 */ nop -/* 020798 8001FB98 46062202 */ mul.s $f8, $f4, $f6 -/* 02079C 8001FB9C 44952000 */ mtc1 $s5, $f4 -/* 0207A0 8001FBA0 46081280 */ add.s $f10, $f2, $f8 -/* 0207A4 8001FBA4 46802020 */ cvt.s.w $f0, $f4 -/* 0207A8 8001FBA8 E66A0010 */ swc1 $f10, 0x10($s3) -/* 0207AC 8001FBAC C6620010 */ lwc1 $f2, 0x10($s3) -/* 0207B0 8001FBB0 00000000 */ nop -/* 0207B4 8001FBB4 4602003E */ c.le.s $f0, $f2 -/* 0207B8 8001FBB8 00000000 */ nop -/* 0207BC 8001FBBC 4500006E */ bc1f .L8001FD78 -/* 0207C0 8001FBC0 00000000 */ nop -/* 0207C4 8001FBC4 46001181 */ sub.s $f6, $f2, $f0 -/* 0207C8 8001FBC8 E6660010 */ swc1 $f6, 0x10($s3) -/* 0207CC 8001FBCC C6620010 */ lwc1 $f2, 0x10($s3) -/* 0207D0 8001FBD0 1000006A */ b .L8001FD7C -/* 0207D4 8001FBD4 4459F800 */ cfc1 $t9, $31 -.L8001FBD8: -/* 0207D8 8001FBD8 C6680014 */ lwc1 $f8, 0x14($s3) -/* 0207DC 8001FBDC C7AA0114 */ lwc1 $f10, 0x114($sp) -/* 0207E0 8001FBE0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0207E4 8001FBE4 460A4102 */ mul.s $f4, $f8, $f10 -/* 0207E8 8001FBE8 44954000 */ mtc1 $s5, $f8 -/* 0207EC 8001FBEC 46041180 */ add.s $f6, $f2, $f4 -/* 0207F0 8001FBF0 46804020 */ cvt.s.w $f0, $f8 -/* 0207F4 8001FBF4 E6660010 */ swc1 $f6, 0x10($s3) -/* 0207F8 8001FBF8 C6620010 */ lwc1 $f2, 0x10($s3) -/* 0207FC 8001FBFC 00000000 */ nop -/* 020800 8001FC00 4602003E */ c.le.s $f0, $f2 -/* 020804 8001FC04 00000000 */ nop -/* 020808 8001FC08 4500005B */ bc1f .L8001FD78 -/* 02080C 8001FC0C 00000000 */ nop -/* 020810 8001FC10 44815000 */ mtc1 $at, $f10 -/* 020814 8001FC14 00000000 */ nop -/* 020818 8001FC18 460A0101 */ sub.s $f4, $f0, $f10 -/* 02081C 8001FC1C E6640010 */ swc1 $f4, 0x10($s3) -/* 020820 8001FC20 C6620010 */ lwc1 $f2, 0x10($s3) -/* 020824 8001FC24 10000055 */ b .L8001FD7C -/* 020828 8001FC28 4459F800 */ cfc1 $t9, $31 -.L8001FC2C: -/* 02082C 8001FC2C 9279002D */ lbu $t9, 0x2d($s3) -/* 020830 8001FC30 C7A60114 */ lwc1 $f6, 0x114($sp) -/* 020834 8001FC34 17200018 */ bnez $t9, .L8001FC98 -/* 020838 8001FC38 00000000 */ nop -/* 02083C 8001FC3C C6660014 */ lwc1 $f6, 0x14($s3) -/* 020840 8001FC40 C7A80114 */ lwc1 $f8, 0x114($sp) -/* 020844 8001FC44 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 020848 8001FC48 46083282 */ mul.s $f10, $f6, $f8 -/* 02084C 8001FC4C 44953000 */ mtc1 $s5, $f6 -/* 020850 8001FC50 460A1100 */ add.s $f4, $f2, $f10 -/* 020854 8001FC54 46803020 */ cvt.s.w $f0, $f6 -/* 020858 8001FC58 E6640010 */ swc1 $f4, 0x10($s3) -/* 02085C 8001FC5C C6620010 */ lwc1 $f2, 0x10($s3) -/* 020860 8001FC60 00000000 */ nop -/* 020864 8001FC64 4602003E */ c.le.s $f0, $f2 -/* 020868 8001FC68 00000000 */ nop -/* 02086C 8001FC6C 45000008 */ bc1f .L8001FC90 -/* 020870 8001FC70 00000000 */ nop -/* 020874 8001FC74 44814000 */ mtc1 $at, $f8 -/* 020878 8001FC78 240E0001 */ li $t6, 1 -/* 02087C 8001FC7C 46080281 */ sub.s $f10, $f0, $f8 -/* 020880 8001FC80 A26E002D */ sb $t6, 0x2d($s3) -/* 020884 8001FC84 E66A0010 */ swc1 $f10, 0x10($s3) -/* 020888 8001FC88 C6620010 */ lwc1 $f2, 0x10($s3) -/* 02088C 8001FC8C 00000000 */ nop -.L8001FC90: -/* 020890 8001FC90 1000003A */ b .L8001FD7C -/* 020894 8001FC94 4459F800 */ cfc1 $t9, $31 -.L8001FC98: -/* 020898 8001FC98 C6640014 */ lwc1 $f4, 0x14($s3) -/* 02089C 8001FC9C 4480B000 */ mtc1 $zero, $f22 -/* 0208A0 8001FCA0 46062202 */ mul.s $f8, $f4, $f6 -/* 0208A4 8001FCA4 46081281 */ sub.s $f10, $f2, $f8 -/* 0208A8 8001FCA8 E66A0010 */ swc1 $f10, 0x10($s3) -/* 0208AC 8001FCAC C6620010 */ lwc1 $f2, 0x10($s3) -/* 0208B0 8001FCB0 00000000 */ nop -/* 0208B4 8001FCB4 4616103E */ c.le.s $f2, $f22 -/* 0208B8 8001FCB8 00000000 */ nop -/* 0208BC 8001FCBC 4500002E */ bc1f .L8001FD78 -/* 0208C0 8001FCC0 00000000 */ nop -/* 0208C4 8001FCC4 E6760010 */ swc1 $f22, 0x10($s3) -/* 0208C8 8001FCC8 C6620010 */ lwc1 $f2, 0x10($s3) -/* 0208CC 8001FCCC 1000002A */ b .L8001FD78 -/* 0208D0 8001FCD0 A260002D */ sb $zero, 0x2d($s3) -.L8001FCD4: -/* 0208D4 8001FCD4 9278002D */ lbu $t8, 0x2d($s3) -/* 0208D8 8001FCD8 C7A40114 */ lwc1 $f4, 0x114($sp) -/* 0208DC 8001FCDC 17000018 */ bnez $t8, .L8001FD40 -/* 0208E0 8001FCE0 00000000 */ nop -/* 0208E4 8001FCE4 C6640014 */ lwc1 $f4, 0x14($s3) -/* 0208E8 8001FCE8 C7A60114 */ lwc1 $f6, 0x114($sp) -/* 0208EC 8001FCEC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0208F0 8001FCF0 46062202 */ mul.s $f8, $f4, $f6 -/* 0208F4 8001FCF4 44952000 */ mtc1 $s5, $f4 -/* 0208F8 8001FCF8 46081280 */ add.s $f10, $f2, $f8 -/* 0208FC 8001FCFC 46802020 */ cvt.s.w $f0, $f4 -/* 020900 8001FD00 E66A0010 */ swc1 $f10, 0x10($s3) -/* 020904 8001FD04 C6620010 */ lwc1 $f2, 0x10($s3) -/* 020908 8001FD08 00000000 */ nop -/* 02090C 8001FD0C 4602003E */ c.le.s $f0, $f2 -/* 020910 8001FD10 00000000 */ nop -/* 020914 8001FD14 45000008 */ bc1f .L8001FD38 -/* 020918 8001FD18 00000000 */ nop -/* 02091C 8001FD1C 44813000 */ mtc1 $at, $f6 -/* 020920 8001FD20 240F0001 */ li $t7, 1 -/* 020924 8001FD24 46060201 */ sub.s $f8, $f0, $f6 -/* 020928 8001FD28 A26F002D */ sb $t7, 0x2d($s3) -/* 02092C 8001FD2C E6680010 */ swc1 $f8, 0x10($s3) -/* 020930 8001FD30 C6620010 */ lwc1 $f2, 0x10($s3) -/* 020934 8001FD34 00000000 */ nop -.L8001FD38: -/* 020938 8001FD38 10000010 */ b .L8001FD7C -/* 02093C 8001FD3C 4459F800 */ cfc1 $t9, $31 -.L8001FD40: -/* 020940 8001FD40 C66A0014 */ lwc1 $f10, 0x14($s3) -/* 020944 8001FD44 4480B000 */ mtc1 $zero, $f22 -/* 020948 8001FD48 46045182 */ mul.s $f6, $f10, $f4 -/* 02094C 8001FD4C 46061201 */ sub.s $f8, $f2, $f6 -/* 020950 8001FD50 E6680010 */ swc1 $f8, 0x10($s3) -/* 020954 8001FD54 C6620010 */ lwc1 $f2, 0x10($s3) -/* 020958 8001FD58 00000000 */ nop -/* 02095C 8001FD5C 4616103E */ c.le.s $f2, $f22 -/* 020960 8001FD60 00000000 */ nop -/* 020964 8001FD64 45000004 */ bc1f .L8001FD78 -/* 020968 8001FD68 00000000 */ nop -/* 02096C 8001FD6C E6760010 */ swc1 $f22, 0x10($s3) -/* 020970 8001FD70 C6620010 */ lwc1 $f2, 0x10($s3) -/* 020974 8001FD74 00000000 */ nop -.L8001FD78: -/* 020978 8001FD78 4459F800 */ cfc1 $t9, $31 -.L8001FD7C: -/* 02097C 8001FD7C 00000000 */ nop -/* 020980 8001FD80 37210003 */ ori $at, $t9, 3 -/* 020984 8001FD84 38210002 */ xori $at, $at, 2 -/* 020988 8001FD88 44C1F800 */ ctc1 $at, $31 -/* 02098C 8001FD8C 00000000 */ nop -/* 020990 8001FD90 460012A4 */ cvt.w.s $f10, $f2 -/* 020994 8001FD94 440E5000 */ mfc1 $t6, $f10 -/* 020998 8001FD98 44D9F800 */ ctc1 $t9, $31 -/* 02099C 8001FD9C A68E0018 */ sh $t6, 0x18($s4) -/* 0209A0 8001FDA0 00000000 */ nop -.L8001FDA4: -/* 0209A4 8001FDA4 C6660008 */ lwc1 $f6, 8($s3) -/* 0209A8 8001FDA8 44802800 */ mtc1 $zero, $f5 -/* 0209AC 8001FDAC 44802000 */ mtc1 $zero, $f4 -/* 0209B0 8001FDB0 46003221 */ cvt.d.s $f8, $f6 -/* 0209B4 8001FDB4 4624403E */ c.le.d $f8, $f4 -/* 0209B8 8001FDB8 4480B000 */ mtc1 $zero, $f22 -/* 0209BC 8001FDBC 45000006 */ bc1f .L8001FDD8 -/* 0209C0 8001FDC0 3C038012 */ lui $v1, %hi(D_8011AE78) # $v1, 0x8012 -/* 0209C4 8001FDC4 8FA5019C */ lw $a1, 0x19c($sp) -/* 0209C8 8001FDC8 0C008539 */ jal func_800214E4 -/* 0209CC 8001FDCC 02C02025 */ move $a0, $s6 -/* 0209D0 8001FDD0 100004B1 */ b .L80021098 -/* 0209D4 8001FDD4 8FBF0054 */ lw $ra, 0x54($sp) -.L8001FDD8: -/* 0209D8 8001FDD8 8463AE78 */ lh $v1, %lo(D_8011AE78)($v1) -/* 0209DC 8001FDDC 86650028 */ lh $a1, 0x28($s3) -/* 0209E0 8001FDE0 18600016 */ blez $v1, .L8001FE3C -/* 0209E4 8001FDE4 0000A025 */ move $s4, $zero -/* 0209E8 8001FDE8 3C078012 */ lui $a3, %hi(D_8011AE74) # $a3, 0x8012 -/* 0209EC 8001FDEC 24E7AE74 */ addiu $a3, %lo(D_8011AE74) # addiu $a3, $a3, -0x518c -/* 0209F0 8001FDF0 8CE60000 */ lw $a2, ($a3) -/* 0209F4 8001FDF4 00000000 */ nop -/* 0209F8 8001FDF8 8CD80000 */ lw $t8, ($a2) -/* 0209FC 8001FDFC 00000000 */ nop -/* 020A00 8001FE00 8F0F007C */ lw $t7, 0x7c($t8) -/* 020A04 8001FE04 00000000 */ nop -/* 020A08 8001FE08 10AF000C */ beq $a1, $t7, .L8001FE3C -/* 020A0C 8001FE0C 00000000 */ nop -.L8001FE10: -/* 020A10 8001FE10 26940001 */ addiu $s4, $s4, 1 -/* 020A14 8001FE14 0283082A */ slt $at, $s4, $v1 -/* 020A18 8001FE18 10200008 */ beqz $at, .L8001FE3C -/* 020A1C 8001FE1C 0014C880 */ sll $t9, $s4, 2 -/* 020A20 8001FE20 00D97021 */ addu $t6, $a2, $t9 -/* 020A24 8001FE24 8DD80000 */ lw $t8, ($t6) -/* 020A28 8001FE28 00000000 */ nop -/* 020A2C 8001FE2C 8F0F007C */ lw $t7, 0x7c($t8) -/* 020A30 8001FE30 00000000 */ nop -/* 020A34 8001FE34 14AFFFF6 */ bne $a1, $t7, .L8001FE10 -/* 020A38 8001FE38 00000000 */ nop -.L8001FE3C: -/* 020A3C 8001FE3C 3C078012 */ lui $a3, %hi(D_8011AE74) # $a3, 0x8012 -/* 020A40 8001FE40 0283082A */ slt $at, $s4, $v1 -/* 020A44 8001FE44 14200006 */ bnez $at, .L8001FE60 -/* 020A48 8001FE48 24E7AE74 */ addiu $a3, %lo(D_8011AE74) # addiu $a3, $a3, -0x518c -/* 020A4C 8001FE4C 8FA5019C */ lw $a1, 0x19c($sp) -/* 020A50 8001FE50 0C008539 */ jal func_800214E4 -/* 020A54 8001FE54 02C02025 */ move $a0, $s6 -/* 020A58 8001FE58 1000048F */ b .L80021098 -/* 020A5C 8001FE5C 8FBF0054 */ lw $ra, 0x54($sp) -.L8001FE60: -/* 020A60 8001FE60 26990001 */ addiu $t9, $s4, 1 -/* 020A64 8001FE64 0323082A */ slt $at, $t9, $v1 -/* 020A68 8001FE68 10200015 */ beqz $at, .L8001FEC0 -/* 020A6C 8001FE6C 24150001 */ li $s5, 1 -/* 020A70 8001FE70 8CEE0000 */ lw $t6, ($a3) -/* 020A74 8001FE74 0014C080 */ sll $t8, $s4, 2 -/* 020A78 8001FE78 01D82021 */ addu $a0, $t6, $t8 -/* 020A7C 8001FE7C 8C8F0004 */ lw $t7, 4($a0) -/* 020A80 8001FE80 02951021 */ addu $v0, $s4, $s5 -/* 020A84 8001FE84 8DF9007C */ lw $t9, 0x7c($t7) -/* 020A88 8001FE88 00000000 */ nop -/* 020A8C 8001FE8C 14B9000C */ bne $a1, $t9, .L8001FEC0 -/* 020A90 8001FE90 24420001 */ addiu $v0, $v0, 1 -.L8001FE94: -/* 020A94 8001FE94 0043082A */ slt $at, $v0, $v1 -/* 020A98 8001FE98 10200009 */ beqz $at, .L8001FEC0 -/* 020A9C 8001FE9C 26B50001 */ addiu $s5, $s5, 1 -/* 020AA0 8001FEA0 00157080 */ sll $t6, $s5, 2 -/* 020AA4 8001FEA4 008EC021 */ addu $t8, $a0, $t6 -/* 020AA8 8001FEA8 8F0F0000 */ lw $t7, ($t8) -/* 020AAC 8001FEAC 00000000 */ nop -/* 020AB0 8001FEB0 8DF9007C */ lw $t9, 0x7c($t7) -/* 020AB4 8001FEB4 00000000 */ nop -/* 020AB8 8001FEB8 10B9FFF6 */ beq $a1, $t9, .L8001FE94 -/* 020ABC 8001FEBC 24420001 */ addiu $v0, $v0, 1 -.L8001FEC0: -/* 020AC0 8001FEC0 2AA10002 */ slti $at, $s5, 2 -/* 020AC4 8001FEC4 10200006 */ beqz $at, .L8001FEE0 -/* 020AC8 8001FEC8 00000000 */ nop -/* 020ACC 8001FECC 8FA5019C */ lw $a1, 0x19c($sp) -/* 020AD0 8001FED0 0C008539 */ jal func_800214E4 -/* 020AD4 8001FED4 02C02025 */ move $a0, $s6 -/* 020AD8 8001FED8 1000046F */ b .L80021098 -/* 020ADC 8001FEDC 8FBF0054 */ lw $ra, 0x54($sp) -.L8001FEE0: -/* 020AE0 8001FEE0 8CE60000 */ lw $a2, ($a3) -/* 020AE4 8001FEE4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 020AE8 8001FEE8 8CCE0000 */ lw $t6, ($a2) -/* 020AEC 8001FEEC 44815800 */ mtc1 $at, $f11 -/* 020AF0 8001FEF0 8DD80040 */ lw $t8, 0x40($t6) -/* 020AF4 8001FEF4 44805000 */ mtc1 $zero, $f10 -/* 020AF8 8001FEF8 C706000C */ lwc1 $f6, 0xc($t8) -/* 020AFC 8001FEFC 00147880 */ sll $t7, $s4, 2 -/* 020B00 8001FF00 46003121 */ cvt.d.s $f4, $f6 -/* 020B04 8001FF04 00000000 */ nop -/* 020B08 8001FF08 46245203 */ div.d $f8, $f10, $f4 -/* 020B0C 8001FF0C 00157080 */ sll $t6, $s5, 2 -/* 020B10 8001FF10 00CFC821 */ addu $t9, $a2, $t7 -/* 020B14 8001FF14 032EC021 */ addu $t8, $t9, $t6 -/* 020B18 8001FF18 2AA10003 */ slti $at, $s5, 3 -/* 020B1C 8001FF1C 2403FFFF */ li $v1, -1 -/* 020B20 8001FF20 462041A0 */ cvt.s.d $f6, $f8 -/* 020B24 8001FF24 E7A600B4 */ swc1 $f6, 0xb4($sp) -/* 020B28 8001FF28 8F0FFFFC */ lw $t7, -4($t8) -/* 020B2C 8001FF2C 00000000 */ nop -/* 020B30 8001FF30 8DF1003C */ lw $s1, 0x3c($t7) -/* 020B34 8001FF34 14200009 */ bnez $at, .L8001FF5C -/* 020B38 8001FF38 2401FFFF */ li $at, -1 -/* 020B3C 8001FF3C 8222001D */ lb $v0, 0x1d($s1) -/* 020B40 8001FF40 26B9FFFF */ addiu $t9, $s5, -1 -/* 020B44 8001FF44 04400004 */ bltz $v0, .L8001FF58 -/* 020B48 8001FF48 0059082A */ slt $at, $v0, $t9 -/* 020B4C 8001FF4C 10200003 */ beqz $at, .L8001FF5C -/* 020B50 8001FF50 2401FFFF */ li $at, -1 -/* 020B54 8001FF54 00401825 */ move $v1, $v0 -.L8001FF58: -/* 020B58 8001FF58 2401FFFF */ li $at, -1 -.L8001FF5C: -/* 020B5C 8001FF5C 1461000B */ bne $v1, $at, .L8001FF8C -/* 020B60 8001FF60 00000000 */ nop -/* 020B64 8001FF64 866E0026 */ lh $t6, 0x26($s3) -/* 020B68 8001FF68 26B8FFFF */ addiu $t8, $s5, -1 -/* 020B6C 8001FF6C 01D8082A */ slt $at, $t6, $t8 -/* 020B70 8001FF70 14200006 */ bnez $at, .L8001FF8C -/* 020B74 8001FF74 00000000 */ nop -/* 020B78 8001FF78 8FA5019C */ lw $a1, 0x19c($sp) -/* 020B7C 8001FF7C 0C008539 */ jal func_800214E4 -/* 020B80 8001FF80 02C02025 */ move $a0, $s6 -/* 020B84 8001FF84 10000444 */ b .L80021098 -/* 020B88 8001FF88 8FBF0054 */ lw $ra, 0x54($sp) -.L8001FF8C: -/* 020B8C 8001FF8C 86620036 */ lh $v0, 0x36($s3) -/* 020B90 8001FF90 AFA30168 */ sw $v1, 0x168($sp) -/* 020B94 8001FF94 04400009 */ bltz $v0, .L8001FFBC -/* 020B98 8001FF98 27A90154 */ addiu $t1, $sp, 0x154 -/* 020B9C 8001FF9C 3C0F8012 */ lui $t7, %hi(D_8011AD53) # $t7, 0x8012 -/* 020BA0 8001FFA0 81EFAD53 */ lb $t7, %lo(D_8011AD53)($t7) -/* 020BA4 8001FFA4 8FB9019C */ lw $t9, 0x19c($sp) -/* 020BA8 8001FFA8 15E00002 */ bnez $t7, .L8001FFB4 -/* 020BAC 8001FFAC 00597023 */ subu $t6, $v0, $t9 -/* 020BB0 8001FFB0 A66E0036 */ sh $t6, 0x36($s3) -.L8001FFB4: -/* 020BB4 8001FFB4 10000437 */ b .L80021094 -/* 020BB8 8001FFB8 00001025 */ move $v0, $zero -.L8001FFBC: -/* 020BBC 8001FFBC 86700026 */ lh $s0, 0x26($s3) -/* 020BC0 8001FFC0 27AA0140 */ addiu $t2, $sp, 0x140 -/* 020BC4 8001FFC4 27AB012C */ addiu $t3, $sp, 0x12c -/* 020BC8 8001FFC8 27AD00E0 */ addiu $t5, $sp, 0xe0 -/* 020BCC 8001FFCC 27AC00CC */ addiu $t4, $sp, 0xcc -/* 020BD0 8001FFD0 27BF00B8 */ addiu $ra, $sp, 0xb8 -/* 020BD4 8001FFD4 27A700F4 */ addiu $a3, $sp, 0xf4 -/* 020BD8 8001FFD8 27B20108 */ addiu $s2, $sp, 0x108 -/* 020BDC 8001FFDC 2610FFFF */ addiu $s0, $s0, -1 -.L8001FFE0: -/* 020BE0 8001FFE0 2401FFFF */ li $at, -1 -/* 020BE4 8001FFE4 1601006A */ bne $s0, $at, .L80020190 -/* 020BE8 8001FFE8 0215082A */ slt $at, $s0, $s5 -/* 020BEC 8001FFEC 8FB80168 */ lw $t8, 0x168($sp) -/* 020BF0 8001FFF0 00147880 */ sll $t7, $s4, 2 -/* 020BF4 8001FFF4 13000037 */ beqz $t8, .L800200D4 -/* 020BF8 8001FFF8 02957021 */ addu $t6, $s4, $s5 -/* 020BFC 8001FFFC 00CF1021 */ addu $v0, $a2, $t7 -/* 020C00 80020000 8C590000 */ lw $t9, ($v0) -/* 020C04 80020004 8C4E0004 */ lw $t6, 4($v0) -/* 020C08 80020008 C720000C */ lwc1 $f0, 0xc($t9) -/* 020C0C 8002000C C5CA000C */ lwc1 $f10, 0xc($t6) -/* 020C10 80020010 00000000 */ nop -/* 020C14 80020014 460A0101 */ sub.s $f4, $f0, $f10 -/* 020C18 80020018 46002200 */ add.s $f8, $f4, $f0 -/* 020C1C 8002001C E5280000 */ swc1 $f8, ($t1) -/* 020C20 80020020 8C580000 */ lw $t8, ($v0) -/* 020C24 80020024 8C4F0004 */ lw $t7, 4($v0) -/* 020C28 80020028 C7020010 */ lwc1 $f2, 0x10($t8) -/* 020C2C 8002002C C5E60010 */ lwc1 $f6, 0x10($t7) -/* 020C30 80020030 00000000 */ nop -/* 020C34 80020034 46061281 */ sub.s $f10, $f2, $f6 -/* 020C38 80020038 46025100 */ add.s $f4, $f10, $f2 -/* 020C3C 8002003C E5440000 */ swc1 $f4, ($t2) -/* 020C40 80020040 8C590000 */ lw $t9, ($v0) -/* 020C44 80020044 8C4E0004 */ lw $t6, 4($v0) -/* 020C48 80020048 C72C0014 */ lwc1 $f12, 0x14($t9) -/* 020C4C 8002004C C5C80014 */ lwc1 $f8, 0x14($t6) -/* 020C50 80020050 00000000 */ nop -/* 020C54 80020054 46086181 */ sub.s $f6, $f12, $f8 -/* 020C58 80020058 460C3280 */ add.s $f10, $f6, $f12 -/* 020C5C 8002005C E56A0000 */ swc1 $f10, ($t3) -/* 020C60 80020060 8C580000 */ lw $t8, ($v0) -/* 020C64 80020064 00000000 */ nop -/* 020C68 80020068 870F0000 */ lh $t7, ($t8) -/* 020C6C 8002006C 00000000 */ nop -/* 020C70 80020070 448F2000 */ mtc1 $t7, $f4 -/* 020C74 80020074 00000000 */ nop -/* 020C78 80020078 46802220 */ cvt.s.w $f8, $f4 -/* 020C7C 8002007C E5A80000 */ swc1 $f8, ($t5) -/* 020C80 80020080 8C590000 */ lw $t9, ($v0) -/* 020C84 80020084 00000000 */ nop -/* 020C88 80020088 872E0002 */ lh $t6, 2($t9) -/* 020C8C 8002008C 00000000 */ nop -/* 020C90 80020090 448E3000 */ mtc1 $t6, $f6 -/* 020C94 80020094 00000000 */ nop -/* 020C98 80020098 468032A0 */ cvt.s.w $f10, $f6 -/* 020C9C 8002009C E58A0000 */ swc1 $f10, ($t4) -/* 020CA0 800200A0 8C580000 */ lw $t8, ($v0) -/* 020CA4 800200A4 00000000 */ nop -/* 020CA8 800200A8 870F0004 */ lh $t7, 4($t8) -/* 020CAC 800200AC 00000000 */ nop -/* 020CB0 800200B0 448F2000 */ mtc1 $t7, $f4 -/* 020CB4 800200B4 00000000 */ nop -/* 020CB8 800200B8 46802220 */ cvt.s.w $f8, $f4 -/* 020CBC 800200BC E7E80000 */ swc1 $f8, ($ra) -/* 020CC0 800200C0 8C590000 */ lw $t9, ($v0) -/* 020CC4 800200C4 00000000 */ nop -/* 020CC8 800200C8 C7260008 */ lwc1 $f6, 8($t9) -/* 020CCC 800200CC 1000010A */ b .L800204F8 -/* 020CD0 800200D0 E4E60000 */ swc1 $f6, ($a3) -.L800200D4: -/* 020CD4 800200D4 000EC080 */ sll $t8, $t6, 2 -/* 020CD8 800200D8 00D81021 */ addu $v0, $a2, $t8 -/* 020CDC 800200DC 8C4FFFFC */ lw $t7, -4($v0) -/* 020CE0 800200E0 00000000 */ nop -/* 020CE4 800200E4 C5EA000C */ lwc1 $f10, 0xc($t7) -/* 020CE8 800200E8 00000000 */ nop -/* 020CEC 800200EC E52A0000 */ swc1 $f10, ($t1) -/* 020CF0 800200F0 8C59FFFC */ lw $t9, -4($v0) -/* 020CF4 800200F4 00000000 */ nop -/* 020CF8 800200F8 C7240010 */ lwc1 $f4, 0x10($t9) -/* 020CFC 800200FC 00000000 */ nop -/* 020D00 80020100 E5440000 */ swc1 $f4, ($t2) -/* 020D04 80020104 8C4EFFFC */ lw $t6, -4($v0) -/* 020D08 80020108 00000000 */ nop -/* 020D0C 8002010C C5C80014 */ lwc1 $f8, 0x14($t6) -/* 020D10 80020110 00000000 */ nop -/* 020D14 80020114 E5680000 */ swc1 $f8, ($t3) -/* 020D18 80020118 8C58FFFC */ lw $t8, -4($v0) -/* 020D1C 8002011C 00000000 */ nop -/* 020D20 80020120 870F0000 */ lh $t7, ($t8) -/* 020D24 80020124 00000000 */ nop -/* 020D28 80020128 448F3000 */ mtc1 $t7, $f6 -/* 020D2C 8002012C 00000000 */ nop -/* 020D30 80020130 468032A0 */ cvt.s.w $f10, $f6 -/* 020D34 80020134 E5AA0000 */ swc1 $f10, ($t5) -/* 020D38 80020138 8C59FFFC */ lw $t9, -4($v0) -/* 020D3C 8002013C 00000000 */ nop -/* 020D40 80020140 872E0002 */ lh $t6, 2($t9) -/* 020D44 80020144 00000000 */ nop -/* 020D48 80020148 448E2000 */ mtc1 $t6, $f4 -/* 020D4C 8002014C 00000000 */ nop -/* 020D50 80020150 46802220 */ cvt.s.w $f8, $f4 -/* 020D54 80020154 E5880000 */ swc1 $f8, ($t4) -/* 020D58 80020158 8C58FFFC */ lw $t8, -4($v0) -/* 020D5C 8002015C 00000000 */ nop -/* 020D60 80020160 870F0004 */ lh $t7, 4($t8) -/* 020D64 80020164 00000000 */ nop -/* 020D68 80020168 448F3000 */ mtc1 $t7, $f6 -/* 020D6C 8002016C 00000000 */ nop -/* 020D70 80020170 468032A0 */ cvt.s.w $f10, $f6 -/* 020D74 80020174 E7EA0000 */ swc1 $f10, ($ra) -/* 020D78 80020178 8C59FFFC */ lw $t9, -4($v0) -/* 020D7C 8002017C 00000000 */ nop -/* 020D80 80020180 C7240008 */ lwc1 $f4, 8($t9) -/* 020D84 80020184 100000DC */ b .L800204F8 -/* 020D88 80020188 E4E40000 */ swc1 $f4, ($a3) -/* 020D8C 8002018C 0215082A */ slt $at, $s0, $s5 -.L80020190: -/* 020D90 80020190 1420008C */ bnez $at, .L800203C4 -/* 020D94 80020194 02142821 */ addu $a1, $s0, $s4 -/* 020D98 80020198 8FAE0168 */ lw $t6, 0x168($sp) -/* 020D9C 8002019C 2401FFFF */ li $at, -1 -/* 020DA0 800201A0 15C10055 */ bne $t6, $at, .L800202F8 -/* 020DA4 800201A4 02B41021 */ addu $v0, $s5, $s4 -/* 020DA8 800201A8 0002C080 */ sll $t8, $v0, 2 -/* 020DAC 800201AC 00D87821 */ addu $t7, $a2, $t8 -/* 020DB0 800201B0 8DF9FFFC */ lw $t9, -4($t7) -/* 020DB4 800201B4 00022880 */ sll $a1, $v0, 2 -/* 020DB8 800201B8 8F31003C */ lw $s1, 0x3c($t9) -/* 020DBC 800201BC 24010001 */ li $at, 1 -/* 020DC0 800201C0 822E0022 */ lb $t6, 0x22($s1) -/* 020DC4 800201C4 26B0FFFF */ addiu $s0, $s5, -1 -/* 020DC8 800201C8 15C1001A */ bne $t6, $at, .L80020234 -/* 020DCC 800201CC 24A5FFFC */ addiu $a1, $a1, -4 -/* 020DD0 800201D0 82640030 */ lb $a0, 0x30($s3) -/* 020DD4 800201D4 AFBF006C */ sw $ra, 0x6c($sp) -/* 020DD8 800201D8 AFAD0074 */ sw $t5, 0x74($sp) -/* 020DDC 800201DC AFAC0070 */ sw $t4, 0x70($sp) -/* 020DE0 800201E0 AFAB0078 */ sw $t3, 0x78($sp) -/* 020DE4 800201E4 AFAA007C */ sw $t2, 0x7c($sp) -/* 020DE8 800201E8 AFA90088 */ sw $t1, 0x88($sp) -/* 020DEC 800201EC AFA70068 */ sw $a3, 0x68($sp) -/* 020DF0 800201F0 0C01997A */ jal set_active_camera -/* 020DF4 800201F4 AFA5005C */ sw $a1, 0x5c($sp) -/* 020DF8 800201F8 0C01A73F */ jal get_active_camera_segment_no_cutscenes -/* 020DFC 800201FC 00000000 */ nop -/* 020E00 80020200 3C068012 */ lui $a2, %hi(D_8011AE74) # $a2, 0x8012 -/* 020E04 80020204 8CC6AE74 */ lw $a2, %lo(D_8011AE74)($a2) -/* 020E08 80020208 8FA5005C */ lw $a1, 0x5c($sp) -/* 020E0C 8002020C 8FA70068 */ lw $a3, 0x68($sp) -/* 020E10 80020210 8FA90088 */ lw $t1, 0x88($sp) -/* 020E14 80020214 8FAA007C */ lw $t2, 0x7c($sp) -/* 020E18 80020218 8FAB0078 */ lw $t3, 0x78($sp) -/* 020E1C 8002021C 8FAC0070 */ lw $t4, 0x70($sp) -/* 020E20 80020220 8FAD0074 */ lw $t5, 0x74($sp) -/* 020E24 80020224 8FBF006C */ lw $ra, 0x6c($sp) -/* 020E28 80020228 00401825 */ move $v1, $v0 -/* 020E2C 8002022C 10000004 */ b .L80020240 -/* 020E30 80020230 00C52021 */ addu $a0, $a2, $a1 -.L80020234: -/* 020E34 80020234 00C52021 */ addu $a0, $a2, $a1 -/* 020E38 80020238 8C830000 */ lw $v1, ($a0) -/* 020E3C 8002023C 00000000 */ nop -.L80020240: -/* 020E40 80020240 8C98FFFC */ lw $t8, -4($a0) -/* 020E44 80020244 C460000C */ lwc1 $f0, 0xc($v1) -/* 020E48 80020248 C708000C */ lwc1 $f8, 0xc($t8) -/* 020E4C 8002024C 00000000 */ nop -/* 020E50 80020250 46080181 */ sub.s $f6, $f0, $f8 -/* 020E54 80020254 46003280 */ add.s $f10, $f6, $f0 -/* 020E58 80020258 E52A0000 */ swc1 $f10, ($t1) -/* 020E5C 8002025C 8C8FFFFC */ lw $t7, -4($a0) -/* 020E60 80020260 C4620010 */ lwc1 $f2, 0x10($v1) -/* 020E64 80020264 C5E40010 */ lwc1 $f4, 0x10($t7) -/* 020E68 80020268 00000000 */ nop -/* 020E6C 8002026C 46041201 */ sub.s $f8, $f2, $f4 -/* 020E70 80020270 46024180 */ add.s $f6, $f8, $f2 -/* 020E74 80020274 E5460000 */ swc1 $f6, ($t2) -/* 020E78 80020278 8C99FFFC */ lw $t9, -4($a0) -/* 020E7C 8002027C C46C0014 */ lwc1 $f12, 0x14($v1) -/* 020E80 80020280 C72A0014 */ lwc1 $f10, 0x14($t9) -/* 020E84 80020284 00000000 */ nop -/* 020E88 80020288 460A6101 */ sub.s $f4, $f12, $f10 -/* 020E8C 8002028C 460C2200 */ add.s $f8, $f4, $f12 -/* 020E90 80020290 E5680000 */ swc1 $f8, ($t3) -/* 020E94 80020294 846E0002 */ lh $t6, 2($v1) -/* 020E98 80020298 00000000 */ nop -/* 020E9C 8002029C 448E3000 */ mtc1 $t6, $f6 -/* 020EA0 800202A0 00000000 */ nop -/* 020EA4 800202A4 468032A0 */ cvt.s.w $f10, $f6 -/* 020EA8 800202A8 E58A0000 */ swc1 $f10, ($t4) -/* 020EAC 800202AC 84780004 */ lh $t8, 4($v1) -/* 020EB0 800202B0 00000000 */ nop -/* 020EB4 800202B4 44982000 */ mtc1 $t8, $f4 -/* 020EB8 800202B8 00000000 */ nop -/* 020EBC 800202BC 46802220 */ cvt.s.w $f8, $f4 -/* 020EC0 800202C0 E7E80000 */ swc1 $f8, ($ra) -/* 020EC4 800202C4 8C830000 */ lw $v1, ($a0) -/* 020EC8 800202C8 00000000 */ nop -/* 020ECC 800202CC 846F0000 */ lh $t7, ($v1) -/* 020ED0 800202D0 00000000 */ nop -/* 020ED4 800202D4 448F3000 */ mtc1 $t7, $f6 -/* 020ED8 800202D8 00000000 */ nop -/* 020EDC 800202DC 468032A0 */ cvt.s.w $f10, $f6 -/* 020EE0 800202E0 E5AA0000 */ swc1 $f10, ($t5) -/* 020EE4 800202E4 8C990000 */ lw $t9, ($a0) -/* 020EE8 800202E8 00000000 */ nop -/* 020EEC 800202EC C7240008 */ lwc1 $f4, 8($t9) -/* 020EF0 800202F0 10000081 */ b .L800204F8 -/* 020EF4 800202F4 E4E40000 */ swc1 $f4, ($a3) -.L800202F8: -/* 020EF8 800202F8 8FAE0168 */ lw $t6, 0x168($sp) -/* 020EFC 800202FC 00000000 */ nop -/* 020F00 80020300 028EC021 */ addu $t8, $s4, $t6 -/* 020F04 80020304 03107821 */ addu $t7, $t8, $s0 -/* 020F08 80020308 01F5C823 */ subu $t9, $t7, $s5 -/* 020F0C 8002030C 00197080 */ sll $t6, $t9, 2 -/* 020F10 80020310 00CE1021 */ addu $v0, $a2, $t6 -/* 020F14 80020314 8C580000 */ lw $t8, ($v0) -/* 020F18 80020318 00000000 */ nop -/* 020F1C 8002031C C708000C */ lwc1 $f8, 0xc($t8) -/* 020F20 80020320 00000000 */ nop -/* 020F24 80020324 E5280000 */ swc1 $f8, ($t1) -/* 020F28 80020328 8C4F0000 */ lw $t7, ($v0) -/* 020F2C 8002032C 00000000 */ nop -/* 020F30 80020330 C5E60010 */ lwc1 $f6, 0x10($t7) -/* 020F34 80020334 00000000 */ nop -/* 020F38 80020338 E5460000 */ swc1 $f6, ($t2) -/* 020F3C 8002033C 8C590000 */ lw $t9, ($v0) -/* 020F40 80020340 00000000 */ nop -/* 020F44 80020344 C72A0014 */ lwc1 $f10, 0x14($t9) -/* 020F48 80020348 00000000 */ nop -/* 020F4C 8002034C E56A0000 */ swc1 $f10, ($t3) -/* 020F50 80020350 8C4E0000 */ lw $t6, ($v0) -/* 020F54 80020354 00000000 */ nop -/* 020F58 80020358 85D80000 */ lh $t8, ($t6) -/* 020F5C 8002035C 00000000 */ nop -/* 020F60 80020360 44982000 */ mtc1 $t8, $f4 -/* 020F64 80020364 00000000 */ nop -/* 020F68 80020368 46802220 */ cvt.s.w $f8, $f4 -/* 020F6C 8002036C E5A80000 */ swc1 $f8, ($t5) -/* 020F70 80020370 8C4F0000 */ lw $t7, ($v0) -/* 020F74 80020374 00000000 */ nop -/* 020F78 80020378 85F90002 */ lh $t9, 2($t7) -/* 020F7C 8002037C 00000000 */ nop -/* 020F80 80020380 44993000 */ mtc1 $t9, $f6 -/* 020F84 80020384 00000000 */ nop -/* 020F88 80020388 468032A0 */ cvt.s.w $f10, $f6 -/* 020F8C 8002038C E58A0000 */ swc1 $f10, ($t4) -/* 020F90 80020390 8C4E0000 */ lw $t6, ($v0) -/* 020F94 80020394 00000000 */ nop -/* 020F98 80020398 85D80004 */ lh $t8, 4($t6) -/* 020F9C 8002039C 00000000 */ nop -/* 020FA0 800203A0 44982000 */ mtc1 $t8, $f4 -/* 020FA4 800203A4 00000000 */ nop -/* 020FA8 800203A8 46802220 */ cvt.s.w $f8, $f4 -/* 020FAC 800203AC E7E80000 */ swc1 $f8, ($ra) -/* 020FB0 800203B0 8C4F0000 */ lw $t7, ($v0) -/* 020FB4 800203B4 00000000 */ nop -/* 020FB8 800203B8 C5E60008 */ lwc1 $f6, 8($t7) -/* 020FBC 800203BC 1000004E */ b .L800204F8 -/* 020FC0 800203C0 E4E60000 */ swc1 $f6, ($a3) -.L800203C4: -/* 020FC4 800203C4 0005C880 */ sll $t9, $a1, 2 -/* 020FC8 800203C8 00D92021 */ addu $a0, $a2, $t9 -/* 020FCC 800203CC 8C820000 */ lw $v0, ($a0) -/* 020FD0 800203D0 24010001 */ li $at, 1 -/* 020FD4 800203D4 8C51003C */ lw $s1, 0x3c($v0) -/* 020FD8 800203D8 00401825 */ move $v1, $v0 -/* 020FDC 800203DC 822E0022 */ lb $t6, 0x22($s1) -/* 020FE0 800203E0 00000000 */ nop -/* 020FE4 800203E4 15C1001A */ bne $t6, $at, .L80020450 -/* 020FE8 800203E8 00000000 */ nop -/* 020FEC 800203EC 82640030 */ lb $a0, 0x30($s3) -/* 020FF0 800203F0 AFBF006C */ sw $ra, 0x6c($sp) -/* 020FF4 800203F4 AFAD0074 */ sw $t5, 0x74($sp) -/* 020FF8 800203F8 AFAC0070 */ sw $t4, 0x70($sp) -/* 020FFC 800203FC AFAB0078 */ sw $t3, 0x78($sp) -/* 021000 80020400 AFAA007C */ sw $t2, 0x7c($sp) -/* 021004 80020404 AFA90088 */ sw $t1, 0x88($sp) -/* 021008 80020408 AFA70068 */ sw $a3, 0x68($sp) -/* 02100C 8002040C 0C01997A */ jal set_active_camera -/* 021010 80020410 AFB90080 */ sw $t9, 0x80($sp) -/* 021014 80020414 0C01A73F */ jal get_active_camera_segment_no_cutscenes -/* 021018 80020418 00000000 */ nop -/* 02101C 8002041C 3C068012 */ lui $a2, %hi(D_8011AE74) # $a2, 0x8012 -/* 021020 80020420 8CC6AE74 */ lw $a2, %lo(D_8011AE74)($a2) -/* 021024 80020424 8FA50080 */ lw $a1, 0x80($sp) -/* 021028 80020428 8FA70068 */ lw $a3, 0x68($sp) -/* 02102C 8002042C 8FA90088 */ lw $t1, 0x88($sp) -/* 021030 80020430 8FAA007C */ lw $t2, 0x7c($sp) -/* 021034 80020434 8FAB0078 */ lw $t3, 0x78($sp) -/* 021038 80020438 8FAC0070 */ lw $t4, 0x70($sp) -/* 02103C 8002043C 8FAD0074 */ lw $t5, 0x74($sp) -/* 021040 80020440 8FBF006C */ lw $ra, 0x6c($sp) -/* 021044 80020444 00401825 */ move $v1, $v0 -/* 021048 80020448 10000001 */ b .L80020450 -/* 02104C 8002044C 00C52021 */ addu $a0, $a2, $a1 -.L80020450: -/* 021050 80020450 C46A000C */ lwc1 $f10, 0xc($v1) -/* 021054 80020454 24010001 */ li $at, 1 -/* 021058 80020458 E52A0000 */ swc1 $f10, ($t1) -/* 02105C 8002045C C4640010 */ lwc1 $f4, 0x10($v1) -/* 021060 80020460 00000000 */ nop -/* 021064 80020464 E5440000 */ swc1 $f4, ($t2) -/* 021068 80020468 C4680014 */ lwc1 $f8, 0x14($v1) -/* 02106C 8002046C 00000000 */ nop -/* 021070 80020470 E5680000 */ swc1 $f8, ($t3) -/* 021074 80020474 84780002 */ lh $t8, 2($v1) -/* 021078 80020478 00000000 */ nop -/* 02107C 8002047C 44983000 */ mtc1 $t8, $f6 -/* 021080 80020480 00000000 */ nop -/* 021084 80020484 468032A0 */ cvt.s.w $f10, $f6 -/* 021088 80020488 E58A0000 */ swc1 $f10, ($t4) -/* 02108C 8002048C 846F0004 */ lh $t7, 4($v1) -/* 021090 80020490 00000000 */ nop -/* 021094 80020494 448F2000 */ mtc1 $t7, $f4 -/* 021098 80020498 00000000 */ nop -/* 02109C 8002049C 46802220 */ cvt.s.w $f8, $f4 -/* 0210A0 800204A0 E7E80000 */ swc1 $f8, ($ra) -/* 0210A4 800204A4 8C830000 */ lw $v1, ($a0) -/* 0210A8 800204A8 00000000 */ nop -/* 0210AC 800204AC 84790000 */ lh $t9, ($v1) -/* 0210B0 800204B0 00000000 */ nop -/* 0210B4 800204B4 44993000 */ mtc1 $t9, $f6 -/* 0210B8 800204B8 00000000 */ nop -/* 0210BC 800204BC 468032A0 */ cvt.s.w $f10, $f6 -/* 0210C0 800204C0 E5AA0000 */ swc1 $f10, ($t5) -/* 0210C4 800204C4 822E0022 */ lb $t6, 0x22($s1) -/* 0210C8 800204C8 00000000 */ nop -/* 0210CC 800204CC 15C10005 */ bne $t6, $at, .L800204E4 -/* 0210D0 800204D0 00000000 */ nop -/* 0210D4 800204D4 C5840000 */ lwc1 $f4, ($t4) -/* 0210D8 800204D8 00000000 */ nop -/* 0210DC 800204DC 46002207 */ neg.s $f8, $f4 -/* 0210E0 800204E0 E5880000 */ swc1 $f8, ($t4) -.L800204E4: -/* 0210E4 800204E4 8C980000 */ lw $t8, ($a0) -/* 0210E8 800204E8 00000000 */ nop -/* 0210EC 800204EC C7060008 */ lwc1 $f6, 8($t8) -/* 0210F0 800204F0 00000000 */ nop -/* 0210F4 800204F4 E4E60000 */ swc1 $f6, ($a3) -.L800204F8: -/* 0210F8 800204F8 24E70004 */ addiu $a3, $a3, 4 -/* 0210FC 800204FC 25290004 */ addiu $t1, $t1, 4 -/* 021100 80020500 254A0004 */ addiu $t2, $t2, 4 -/* 021104 80020504 256B0004 */ addiu $t3, $t3, 4 -/* 021108 80020508 25AD0004 */ addiu $t5, $t5, 4 -/* 02110C 8002050C 258C0004 */ addiu $t4, $t4, 4 -/* 021110 80020510 27FF0004 */ addiu $ra, $ra, 4 -/* 021114 80020514 14F2FEB2 */ bne $a3, $s2, .L8001FFE0 -/* 021118 80020518 26100001 */ addiu $s0, $s0, 1 -/* 02111C 8002051C C66A0004 */ lwc1 $f10, 4($s3) -/* 021120 80020520 00009025 */ move $s2, $zero -/* 021124 80020524 460AB032 */ c.eq.s $f22, $f10 -/* 021128 80020528 00008025 */ move $s0, $zero -/* 02112C 8002052C 45000005 */ bc1f .L80020544 -/* 021130 80020530 27B10154 */ addiu $s1, $sp, 0x154 -/* 021134 80020534 3C01800E */ lui $at, %hi(D_800E5678) # $at, 0x800e -/* 021138 80020538 C4245678 */ lwc1 $f4, %lo(D_800E5678)($at) -/* 02113C 8002053C 00000000 */ nop -/* 021140 80020540 E6640004 */ swc1 $f4, 4($s3) -.L80020544: -/* 021144 80020544 C6680004 */ lwc1 $f8, 4($s3) -/* 021148 80020548 C7A60114 */ lwc1 $f6, 0x114($sp) -/* 02114C 8002054C C6640000 */ lwc1 $f4, ($s3) -/* 021150 80020550 46064282 */ mul.s $f10, $f8, $f6 -/* 021154 80020554 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 021158 80020558 44814800 */ mtc1 $at, $f9 -/* 02115C 8002055C 44804000 */ mtc1 $zero, $f8 -/* 021160 80020560 460A2500 */ add.s $f20, $f4, $f10 -/* 021164 80020564 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 021168 80020568 4600A021 */ cvt.d.s $f0, $f20 -/* 02116C 8002056C 4620403E */ c.le.d $f8, $f0 -/* 021170 80020570 02202025 */ move $a0, $s1 -/* 021174 80020574 45000006 */ bc1f .L80020590 -/* 021178 80020578 00000000 */ nop -/* 02117C 8002057C 44813800 */ mtc1 $at, $f7 -/* 021180 80020580 44803000 */ mtc1 $zero, $f6 -/* 021184 80020584 24120001 */ li $s2, 1 -/* 021188 80020588 46260101 */ sub.d $f4, $f0, $f6 -/* 02118C 8002058C 46202520 */ cvt.s.d $f20, $f4 -.L80020590: -/* 021190 80020590 826F003F */ lb $t7, 0x3f($s3) -/* 021194 80020594 02402825 */ move $a1, $s2 -/* 021198 80020598 15E00010 */ bnez $t7, .L800205DC -/* 02119C 8002059C 00000000 */ nop -/* 0211A0 800205A0 4406A000 */ mfc1 $a2, $f20 -/* 0211A4 800205A4 0C008950 */ jal catmull_rom_interpolation -/* 0211A8 800205A8 02202025 */ move $a0, $s1 -/* 0211AC 800205AC 4406A000 */ mfc1 $a2, $f20 -/* 0211B0 800205B0 E7A00124 */ swc1 $f0, 0x124($sp) -/* 0211B4 800205B4 27A40140 */ addiu $a0, $sp, 0x140 -/* 0211B8 800205B8 0C008950 */ jal catmull_rom_interpolation -/* 0211BC 800205BC 02402825 */ move $a1, $s2 -/* 0211C0 800205C0 4406A000 */ mfc1 $a2, $f20 -/* 0211C4 800205C4 27A4012C */ addiu $a0, $sp, 0x12c -/* 0211C8 800205C8 02402825 */ move $a1, $s2 -/* 0211CC 800205CC 0C008950 */ jal catmull_rom_interpolation -/* 0211D0 800205D0 E7A00120 */ swc1 $f0, 0x120($sp) -/* 0211D4 800205D4 1000000F */ b .L80020614 -/* 0211D8 800205D8 E7A0011C */ swc1 $f0, 0x11c($sp) -.L800205DC: -/* 0211DC 800205DC 4406A000 */ mfc1 $a2, $f20 -/* 0211E0 800205E0 0C008A22 */ jal lerp -/* 0211E4 800205E4 02402825 */ move $a1, $s2 -/* 0211E8 800205E8 4406A000 */ mfc1 $a2, $f20 -/* 0211EC 800205EC E7A00124 */ swc1 $f0, 0x124($sp) -/* 0211F0 800205F0 27A40140 */ addiu $a0, $sp, 0x140 -/* 0211F4 800205F4 0C008A22 */ jal lerp -/* 0211F8 800205F8 02402825 */ move $a1, $s2 -/* 0211FC 800205FC 4406A000 */ mfc1 $a2, $f20 -/* 021200 80020600 27A4012C */ addiu $a0, $sp, 0x12c -/* 021204 80020604 02402825 */ move $a1, $s2 -/* 021208 80020608 0C008A22 */ jal lerp -/* 02120C 8002060C E7A00120 */ swc1 $f0, 0x120($sp) -/* 021210 80020610 E7A0011C */ swc1 $f0, 0x11c($sp) -.L80020614: -/* 021214 80020614 C7AA0124 */ lwc1 $f10, 0x124($sp) -/* 021218 80020618 C6C8000C */ lwc1 $f8, 0xc($s6) -/* 02121C 8002061C C7A40120 */ lwc1 $f4, 0x120($sp) -/* 021220 80020620 46085181 */ sub.s $f6, $f10, $f8 -/* 021224 80020624 24010001 */ li $at, 1 -/* 021228 80020628 E7A60124 */ swc1 $f6, 0x124($sp) -/* 02122C 8002062C C6CA0010 */ lwc1 $f10, 0x10($s6) -/* 021230 80020630 00000000 */ nop -/* 021234 80020634 460A2201 */ sub.s $f8, $f4, $f10 -/* 021238 80020638 E7A80120 */ swc1 $f8, 0x120($sp) -/* 02123C 8002063C C6C40014 */ lwc1 $f4, 0x14($s6) -/* 021240 80020640 00000000 */ nop -/* 021244 80020644 46040281 */ sub.s $f10, $f0, $f4 -/* 021248 80020648 12010016 */ beq $s0, $at, .L800206A4 -/* 02124C 8002064C E7AA011C */ swc1 $f10, 0x11c($sp) -/* 021250 80020650 46063102 */ mul.s $f4, $f6, $f6 -/* 021254 80020654 C7AE011C */ lwc1 $f14, 0x11c($sp) -/* 021258 80020658 00009025 */ move $s2, $zero -/* 02125C 8002065C 46084282 */ mul.s $f10, $f8, $f8 -/* 021260 80020660 00000000 */ nop -/* 021264 80020664 460E7202 */ mul.s $f8, $f14, $f14 -/* 021268 80020668 460A2180 */ add.s $f6, $f4, $f10 -/* 02126C 8002066C 0C0326B4 */ jal sqrtf -/* 021270 80020670 46083300 */ add.s $f12, $f6, $f8 -/* 021274 80020674 C7A40114 */ lwc1 $f4, 0x114($sp) -/* 021278 80020678 00000000 */ nop -/* 02127C 8002067C 46040083 */ div.s $f2, $f0, $f4 -/* 021280 80020680 4602B032 */ c.eq.s $f22, $f2 -/* 021284 80020684 00000000 */ nop -/* 021288 80020688 45010006 */ bc1t .L800206A4 -/* 02128C 8002068C 00000000 */ nop -/* 021290 80020690 C6660008 */ lwc1 $f6, 8($s3) -/* 021294 80020694 C66A0004 */ lwc1 $f10, 4($s3) -/* 021298 80020698 46023203 */ div.s $f8, $f6, $f2 -/* 02129C 8002069C 46085102 */ mul.s $f4, $f10, $f8 -/* 0212A0 800206A0 E6640004 */ swc1 $f4, 4($s3) -.L800206A4: -/* 0212A4 800206A4 26100001 */ addiu $s0, $s0, 1 -/* 0212A8 800206A8 24010002 */ li $at, 2 -/* 0212AC 800206AC 1601FFA5 */ bne $s0, $at, .L80020544 -/* 0212B0 800206B0 00000000 */ nop -/* 0212B4 800206B4 4406A000 */ mfc1 $a2, $f20 -/* 0212B8 800206B8 27A400F4 */ addiu $a0, $sp, 0xf4 -/* 0212BC 800206BC 0C008950 */ jal catmull_rom_interpolation -/* 0212C0 800206C0 02402825 */ move $a1, $s2 -/* 0212C4 800206C4 C7A600B4 */ lwc1 $f6, 0xb4($sp) -/* 0212C8 800206C8 8ED90040 */ lw $t9, 0x40($s6) -/* 0212CC 800206CC 46060282 */ mul.s $f10, $f0, $f6 -/* 0212D0 800206D0 C728000C */ lwc1 $f8, 0xc($t9) -/* 0212D4 800206D4 00000000 */ nop -/* 0212D8 800206D8 46085102 */ mul.s $f4, $f10, $f8 -/* 0212DC 800206DC 12400024 */ beqz $s2, .L80020770 -/* 0212E0 800206E0 E6C40008 */ swc1 $f4, 8($s6) -/* 0212E4 800206E4 8FAE0168 */ lw $t6, 0x168($sp) -/* 0212E8 800206E8 2401FFFF */ li $at, -1 -/* 0212EC 800206EC 15C10020 */ bne $t6, $at, .L80020770 -/* 0212F0 800206F0 00000000 */ nop -/* 0212F4 800206F4 86780026 */ lh $t8, 0x26($s3) -/* 0212F8 800206F8 02202025 */ move $a0, $s1 -/* 0212FC 800206FC 270F0002 */ addiu $t7, $t8, 2 -/* 021300 80020700 16AF001B */ bne $s5, $t7, .L80020770 -/* 021304 80020704 00002825 */ move $a1, $zero -/* 021308 80020708 0C008950 */ jal catmull_rom_interpolation -/* 02130C 8002070C 3C063F80 */ lui $a2, 0x3f80 -/* 021310 80020710 E7A00124 */ swc1 $f0, 0x124($sp) -/* 021314 80020714 27A40140 */ addiu $a0, $sp, 0x140 -/* 021318 80020718 00002825 */ move $a1, $zero -/* 02131C 8002071C 0C008950 */ jal catmull_rom_interpolation -/* 021320 80020720 3C063F80 */ lui $a2, 0x3f80 -/* 021324 80020724 27A4012C */ addiu $a0, $sp, 0x12c -/* 021328 80020728 00002825 */ move $a1, $zero -/* 02132C 8002072C 3C063F80 */ lui $a2, 0x3f80 -/* 021330 80020730 0C008950 */ jal catmull_rom_interpolation -/* 021334 80020734 E7A00120 */ swc1 $f0, 0x120($sp) -/* 021338 80020738 E7A0011C */ swc1 $f0, 0x11c($sp) -/* 02133C 8002073C C6CA000C */ lwc1 $f10, 0xc($s6) -/* 021340 80020740 C7A60124 */ lwc1 $f6, 0x124($sp) -/* 021344 80020744 C7A40120 */ lwc1 $f4, 0x120($sp) -/* 021348 80020748 460A3201 */ sub.s $f8, $f6, $f10 -/* 02134C 8002074C E7A80124 */ swc1 $f8, 0x124($sp) -/* 021350 80020750 C6C60010 */ lwc1 $f6, 0x10($s6) -/* 021354 80020754 00000000 */ nop -/* 021358 80020758 46062281 */ sub.s $f10, $f4, $f6 -/* 02135C 8002075C E7AA0120 */ swc1 $f10, 0x120($sp) -/* 021360 80020760 C6C80014 */ lwc1 $f8, 0x14($s6) -/* 021364 80020764 00000000 */ nop -/* 021368 80020768 46080101 */ sub.s $f4, $f0, $f8 -/* 02136C 8002076C E7A4011C */ swc1 $f4, 0x11c($sp) -.L80020770: -/* 021370 80020770 C7A60124 */ lwc1 $f6, 0x124($sp) -/* 021374 80020774 C7AA0114 */ lwc1 $f10, 0x114($sp) -/* 021378 80020778 02C02025 */ move $a0, $s6 -/* 02137C 8002077C 460A3203 */ div.s $f8, $f6, $f10 -/* 021380 80020780 E6C8001C */ swc1 $f8, 0x1c($s6) -/* 021384 80020784 C7A40120 */ lwc1 $f4, 0x120($sp) -/* 021388 80020788 C7A60114 */ lwc1 $f6, 0x114($sp) -/* 02138C 8002078C 00000000 */ nop -/* 021390 80020790 46062283 */ div.s $f10, $f4, $f6 -/* 021394 80020794 E6CA0020 */ swc1 $f10, 0x20($s6) -/* 021398 80020798 C7A8011C */ lwc1 $f8, 0x11c($sp) -/* 02139C 8002079C C7A40114 */ lwc1 $f4, 0x114($sp) -/* 0213A0 800207A0 00000000 */ nop -/* 0213A4 800207A4 46044183 */ div.s $f6, $f8, $f4 -/* 0213A8 800207A8 E6C60024 */ swc1 $f6, 0x24($s6) -/* 0213AC 800207AC 8FA7011C */ lw $a3, 0x11c($sp) -/* 0213B0 800207B0 8FA60120 */ lw $a2, 0x120($sp) -/* 0213B4 800207B4 8FA50124 */ lw $a1, 0x124($sp) -/* 0213B8 800207B8 0C00455C */ jal move_object -/* 0213BC 800207BC 00000000 */ nop -/* 0213C0 800207C0 9263002E */ lbu $v1, 0x2e($s3) -/* 0213C4 800207C4 24010001 */ li $at, 1 -/* 0213C8 800207C8 1061015B */ beq $v1, $at, .L80020D38 -/* 0213CC 800207CC 24010002 */ li $at, 2 -/* 0213D0 800207D0 10610005 */ beq $v1, $at, .L800207E8 -/* 0213D4 800207D4 24010003 */ li $at, 3 -/* 0213D8 800207D8 10610157 */ beq $v1, $at, .L80020D38 -/* 0213DC 800207DC 24080001 */ li $t0, 1 -/* 0213E0 800207E0 1000004F */ b .L80020920 -/* 0213E4 800207E4 27AD00E4 */ addiu $t5, $sp, 0xe4 -.L800207E8: -/* 0213E8 800207E8 8279003F */ lb $t9, 0x3f($s3) -/* 0213EC 800207EC 02202025 */ move $a0, $s1 -/* 0213F0 800207F0 17200012 */ bnez $t9, .L8002083C -/* 0213F4 800207F4 02402825 */ move $a1, $s2 -/* 0213F8 800207F8 4406A000 */ mfc1 $a2, $f20 -/* 0213FC 800207FC 02202025 */ move $a0, $s1 -/* 021400 80020800 02402825 */ move $a1, $s2 -/* 021404 80020804 0C00898F */ jal cubic_spline_interpolation -/* 021408 80020808 27A70124 */ addiu $a3, $sp, 0x124 -/* 02140C 8002080C 4406A000 */ mfc1 $a2, $f20 -/* 021410 80020810 27A40140 */ addiu $a0, $sp, 0x140 -/* 021414 80020814 02402825 */ move $a1, $s2 -/* 021418 80020818 0C00898F */ jal cubic_spline_interpolation -/* 02141C 8002081C 27A70120 */ addiu $a3, $sp, 0x120 -/* 021420 80020820 4406A000 */ mfc1 $a2, $f20 -/* 021424 80020824 27A4012C */ addiu $a0, $sp, 0x12c -/* 021428 80020828 02402825 */ move $a1, $s2 -/* 02142C 8002082C 0C00898F */ jal cubic_spline_interpolation -/* 021430 80020830 27A7011C */ addiu $a3, $sp, 0x11c -/* 021434 80020834 1000000F */ b .L80020874 -/* 021438 80020838 C7AA0124 */ lwc1 $f10, 0x124($sp) -.L8002083C: -/* 02143C 8002083C 4406A000 */ mfc1 $a2, $f20 -/* 021440 80020840 0C008A2C */ jal func_800228B0 -/* 021444 80020844 27A70124 */ addiu $a3, $sp, 0x124 -/* 021448 80020848 4406A000 */ mfc1 $a2, $f20 -/* 02144C 8002084C 27A40140 */ addiu $a0, $sp, 0x140 -/* 021450 80020850 02402825 */ move $a1, $s2 -/* 021454 80020854 0C008A2C */ jal func_800228B0 -/* 021458 80020858 27A70120 */ addiu $a3, $sp, 0x120 -/* 02145C 8002085C 4406A000 */ mfc1 $a2, $f20 -/* 021460 80020860 27A4012C */ addiu $a0, $sp, 0x12c -/* 021464 80020864 02402825 */ move $a1, $s2 -/* 021468 80020868 0C008A2C */ jal func_800228B0 -/* 02146C 8002086C 27A7011C */ addiu $a3, $sp, 0x11c -/* 021470 80020870 C7AA0124 */ lwc1 $f10, 0x124($sp) -.L80020874: -/* 021474 80020874 C7A20120 */ lwc1 $f2, 0x120($sp) -/* 021478 80020878 460A5202 */ mul.s $f8, $f10, $f10 -/* 02147C 8002087C C7AE011C */ lwc1 $f14, 0x11c($sp) -/* 021480 80020880 46021102 */ mul.s $f4, $f2, $f2 -/* 021484 80020884 00000000 */ nop -/* 021488 80020888 460E7282 */ mul.s $f10, $f14, $f14 -/* 02148C 8002088C 46044180 */ add.s $f6, $f8, $f4 -/* 021490 80020890 0C0326B4 */ jal sqrtf -/* 021494 80020894 460A3300 */ add.s $f12, $f6, $f10 -/* 021498 80020898 46160032 */ c.eq.s $f0, $f22 -/* 02149C 8002089C 3C014059 */ li $at, 0x40590000 # 3.390625 -/* 0214A0 800208A0 45010011 */ bc1t .L800208E8 -/* 0214A4 800208A4 00000000 */ nop -/* 0214A8 800208A8 44814800 */ mtc1 $at, $f9 -/* 0214AC 800208AC 44804000 */ mtc1 $zero, $f8 -/* 0214B0 800208B0 46000121 */ cvt.d.s $f4, $f0 -/* 0214B4 800208B4 00000000 */ nop -/* 0214B8 800208B8 46244183 */ div.d $f6, $f8, $f4 -/* 0214BC 800208BC C7AA0124 */ lwc1 $f10, 0x124($sp) -/* 0214C0 800208C0 C7A20120 */ lwc1 $f2, 0x120($sp) -/* 0214C4 800208C4 C7AE011C */ lwc1 $f14, 0x11c($sp) -/* 0214C8 800208C8 46203320 */ cvt.s.d $f12, $f6 -/* 0214CC 800208CC 460C5202 */ mul.s $f8, $f10, $f12 -/* 0214D0 800208D0 00000000 */ nop -/* 0214D4 800208D4 460C1082 */ mul.s $f2, $f2, $f12 -/* 0214D8 800208D8 E7A80124 */ swc1 $f8, 0x124($sp) -/* 0214DC 800208DC 460C7382 */ mul.s $f14, $f14, $f12 -/* 0214E0 800208E0 E7A20120 */ swc1 $f2, 0x120($sp) -/* 0214E4 800208E4 E7AE011C */ swc1 $f14, 0x11c($sp) -.L800208E8: -/* 0214E8 800208E8 C7AE011C */ lwc1 $f14, 0x11c($sp) -/* 0214EC 800208EC C7AC0124 */ lwc1 $f12, 0x124($sp) -/* 0214F0 800208F0 0C01C1D4 */ jal arctan2_f -/* 0214F4 800208F4 00000000 */ nop -/* 0214F8 800208F8 24018000 */ li $at, -32768 -/* 0214FC 800208FC 00417021 */ addu $t6, $v0, $at -/* 021500 80020900 A6CE0000 */ sh $t6, ($s6) -/* 021504 80020904 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 021508 80020908 44817000 */ mtc1 $at, $f14 -/* 02150C 8002090C C7AC0120 */ lwc1 $f12, 0x120($sp) -/* 021510 80020910 0C01C1D4 */ jal arctan2_f -/* 021514 80020914 00000000 */ nop -/* 021518 80020918 10000107 */ b .L80020D38 -/* 02151C 8002091C A6C20002 */ sh $v0, 2($s6) -.L80020920: -/* 021520 80020920 3C01C0E0 */ li $at, 0xC0E00000 # -7.000000 -/* 021524 80020924 44819800 */ mtc1 $at, $f19 -/* 021528 80020928 3C0140E0 */ li $at, 0x40E00000 # 7.000000 -/* 02152C 8002092C 44818800 */ mtc1 $at, $f17 -/* 021530 80020930 3C0140F0 */ li $at, 0x40F00000 # 7.500000 -/* 021534 80020934 44817800 */ mtc1 $at, $f15 -/* 021538 80020938 44809000 */ mtc1 $zero, $f18 -/* 02153C 8002093C 44808000 */ mtc1 $zero, $f16 -/* 021540 80020940 44807000 */ mtc1 $zero, $f14 -/* 021544 80020944 27AC00D0 */ addiu $t4, $sp, 0xd0 -/* 021548 80020948 27BF00BC */ addiu $ra, $sp, 0xbc -/* 02154C 8002094C 27A700CC */ addiu $a3, $sp, 0xcc -/* 021550 80020950 27A600E0 */ addiu $a2, $sp, 0xe0 -/* 021554 80020954 27A500F4 */ addiu $a1, $sp, 0xf4 -.L80020958: -/* 021558 80020958 C5A40000 */ lwc1 $f4, ($t5) -/* 02155C 8002095C C5A6FFFC */ lwc1 $f6, -4($t5) -/* 021560 80020960 25AD0004 */ addiu $t5, $t5, 4 -/* 021564 80020964 46062301 */ sub.s $f12, $f4, $f6 -/* 021568 80020968 29010005 */ slti $at, $t0, 5 -/* 02156C 8002096C 460060A1 */ cvt.d.s $f2, $f12 -/* 021570 80020970 4622803C */ c.lt.d $f16, $f2 -/* 021574 80020974 4600B006 */ mov.s $f0, $f22 -/* 021578 80020978 45000005 */ bc1f .L80020990 -/* 02157C 8002097C 24180005 */ li $t8, 5 -/* 021580 80020980 4600B2A1 */ cvt.d.s $f10, $f22 -/* 021584 80020984 462E5201 */ sub.d $f8, $f10, $f14 -/* 021588 80020988 10000008 */ b .L800209AC -/* 02158C 8002098C 46204020 */ cvt.s.d $f0, $f8 -.L80020990: -/* 021590 80020990 4632103C */ c.lt.d $f2, $f18 -/* 021594 80020994 00000000 */ nop -/* 021598 80020998 45000004 */ bc1f .L800209AC -/* 02159C 8002099C 00000000 */ nop -/* 0215A0 800209A0 4600B121 */ cvt.d.s $f4, $f22 -/* 0215A4 800209A4 462E2180 */ add.d $f6, $f4, $f14 -/* 0215A8 800209A8 46203020 */ cvt.s.d $f0, $f6 -.L800209AC: -/* 0215AC 800209AC 10200022 */ beqz $at, .L80020A38 -/* 0215B0 800209B0 01008025 */ move $s0, $t0 -/* 0215B4 800209B4 03082023 */ subu $a0, $t8, $t0 -/* 0215B8 800209B8 308F0003 */ andi $t7, $a0, 3 -/* 0215BC 800209BC 11E0000C */ beqz $t7, .L800209F0 -/* 0215C0 800209C0 01E81821 */ addu $v1, $t7, $t0 -/* 0215C4 800209C4 0010C880 */ sll $t9, $s0, 2 -/* 0215C8 800209C8 27AE00E0 */ addiu $t6, $sp, 0xe0 -/* 0215CC 800209CC 032E1021 */ addu $v0, $t9, $t6 -.L800209D0: -/* 0215D0 800209D0 C44A0000 */ lwc1 $f10, ($v0) -/* 0215D4 800209D4 26100001 */ addiu $s0, $s0, 1 -/* 0215D8 800209D8 46005200 */ add.s $f8, $f10, $f0 -/* 0215DC 800209DC 24420004 */ addiu $v0, $v0, 4 -/* 0215E0 800209E0 1470FFFB */ bne $v1, $s0, .L800209D0 -/* 0215E4 800209E4 E448FFFC */ swc1 $f8, -4($v0) -/* 0215E8 800209E8 24010005 */ li $at, 5 -/* 0215EC 800209EC 12010011 */ beq $s0, $at, .L80020A34 -.L800209F0: -/* 0215F0 800209F0 0010C080 */ sll $t8, $s0, 2 -/* 0215F4 800209F4 27AF00E0 */ addiu $t7, $sp, 0xe0 -/* 0215F8 800209F8 030F1021 */ addu $v0, $t8, $t7 -.L800209FC: -/* 0215FC 800209FC C4440000 */ lwc1 $f4, ($v0) -/* 021600 80020A00 C44A0004 */ lwc1 $f10, 4($v0) -/* 021604 80020A04 46002180 */ add.s $f6, $f4, $f0 -/* 021608 80020A08 C4440008 */ lwc1 $f4, 8($v0) -/* 02160C 80020A0C 46005200 */ add.s $f8, $f10, $f0 -/* 021610 80020A10 C44A000C */ lwc1 $f10, 0xc($v0) -/* 021614 80020A14 E4480004 */ swc1 $f8, 4($v0) -/* 021618 80020A18 E4460000 */ swc1 $f6, ($v0) -/* 02161C 80020A1C 46002180 */ add.s $f6, $f4, $f0 -/* 021620 80020A20 24420010 */ addiu $v0, $v0, 0x10 -/* 021624 80020A24 46005200 */ add.s $f8, $f10, $f0 -/* 021628 80020A28 E446FFF8 */ swc1 $f6, -8($v0) -/* 02162C 80020A2C 1445FFF3 */ bne $v0, $a1, .L800209FC -/* 021630 80020A30 E448FFFC */ swc1 $f8, -4($v0) -.L80020A34: -/* 021634 80020A34 01008025 */ move $s0, $t0 -.L80020A38: -/* 021638 80020A38 C5840000 */ lwc1 $f4, ($t4) -/* 02163C 80020A3C C586FFFC */ lwc1 $f6, -4($t4) -/* 021640 80020A40 258C0004 */ addiu $t4, $t4, 4 -/* 021644 80020A44 46062301 */ sub.s $f12, $f4, $f6 -/* 021648 80020A48 29010005 */ slti $at, $t0, 5 -/* 02164C 80020A4C 460060A1 */ cvt.d.s $f2, $f12 -/* 021650 80020A50 4622803C */ c.lt.d $f16, $f2 -/* 021654 80020A54 4600B006 */ mov.s $f0, $f22 -/* 021658 80020A58 45000005 */ bc1f .L80020A70 -/* 02165C 80020A5C 24190005 */ li $t9, 5 -/* 021660 80020A60 4600B2A1 */ cvt.d.s $f10, $f22 -/* 021664 80020A64 462E5201 */ sub.d $f8, $f10, $f14 -/* 021668 80020A68 10000008 */ b .L80020A8C -/* 02166C 80020A6C 46204020 */ cvt.s.d $f0, $f8 -.L80020A70: -/* 021670 80020A70 4632103C */ c.lt.d $f2, $f18 -/* 021674 80020A74 00000000 */ nop -/* 021678 80020A78 45000004 */ bc1f .L80020A8C -/* 02167C 80020A7C 00000000 */ nop -/* 021680 80020A80 4600B121 */ cvt.d.s $f4, $f22 -/* 021684 80020A84 462E2180 */ add.d $f6, $f4, $f14 -/* 021688 80020A88 46203020 */ cvt.s.d $f0, $f6 -.L80020A8C: -/* 02168C 80020A8C 10200021 */ beqz $at, .L80020B14 -/* 021690 80020A90 03282023 */ subu $a0, $t9, $t0 -/* 021694 80020A94 308E0003 */ andi $t6, $a0, 3 -/* 021698 80020A98 11C0000C */ beqz $t6, .L80020ACC -/* 02169C 80020A9C 01C81821 */ addu $v1, $t6, $t0 -/* 0216A0 80020AA0 0010C080 */ sll $t8, $s0, 2 -/* 0216A4 80020AA4 27AF00CC */ addiu $t7, $sp, 0xcc -/* 0216A8 80020AA8 030F1021 */ addu $v0, $t8, $t7 -.L80020AAC: -/* 0216AC 80020AAC C44A0000 */ lwc1 $f10, ($v0) -/* 0216B0 80020AB0 26100001 */ addiu $s0, $s0, 1 -/* 0216B4 80020AB4 46005200 */ add.s $f8, $f10, $f0 -/* 0216B8 80020AB8 24420004 */ addiu $v0, $v0, 4 -/* 0216BC 80020ABC 1470FFFB */ bne $v1, $s0, .L80020AAC -/* 0216C0 80020AC0 E448FFFC */ swc1 $f8, -4($v0) -/* 0216C4 80020AC4 24010005 */ li $at, 5 -/* 0216C8 80020AC8 12010011 */ beq $s0, $at, .L80020B10 -.L80020ACC: -/* 0216CC 80020ACC 0010C880 */ sll $t9, $s0, 2 -/* 0216D0 80020AD0 27AE00CC */ addiu $t6, $sp, 0xcc -/* 0216D4 80020AD4 032E1021 */ addu $v0, $t9, $t6 -.L80020AD8: -/* 0216D8 80020AD8 C4440000 */ lwc1 $f4, ($v0) -/* 0216DC 80020ADC C44A0004 */ lwc1 $f10, 4($v0) -/* 0216E0 80020AE0 46002180 */ add.s $f6, $f4, $f0 -/* 0216E4 80020AE4 C4440008 */ lwc1 $f4, 8($v0) -/* 0216E8 80020AE8 46005200 */ add.s $f8, $f10, $f0 -/* 0216EC 80020AEC C44A000C */ lwc1 $f10, 0xc($v0) -/* 0216F0 80020AF0 E4480004 */ swc1 $f8, 4($v0) -/* 0216F4 80020AF4 E4460000 */ swc1 $f6, ($v0) -/* 0216F8 80020AF8 46002180 */ add.s $f6, $f4, $f0 -/* 0216FC 80020AFC 24420010 */ addiu $v0, $v0, 0x10 -/* 021700 80020B00 46005200 */ add.s $f8, $f10, $f0 -/* 021704 80020B04 E446FFF8 */ swc1 $f6, -8($v0) -/* 021708 80020B08 1446FFF3 */ bne $v0, $a2, .L80020AD8 -/* 02170C 80020B0C E448FFFC */ swc1 $f8, -4($v0) -.L80020B10: -/* 021710 80020B10 01008025 */ move $s0, $t0 -.L80020B14: -/* 021714 80020B14 C7E40000 */ lwc1 $f4, ($ra) -/* 021718 80020B18 C7E6FFFC */ lwc1 $f6, -4($ra) -/* 02171C 80020B1C 24180005 */ li $t8, 5 -/* 021720 80020B20 46062301 */ sub.s $f12, $f4, $f6 -/* 021724 80020B24 03082023 */ subu $a0, $t8, $t0 -/* 021728 80020B28 460060A1 */ cvt.d.s $f2, $f12 -/* 02172C 80020B2C 4622803C */ c.lt.d $f16, $f2 -/* 021730 80020B30 4600B006 */ mov.s $f0, $f22 -/* 021734 80020B34 45000005 */ bc1f .L80020B4C -/* 021738 80020B38 29010005 */ slti $at, $t0, 5 -/* 02173C 80020B3C 4600B2A1 */ cvt.d.s $f10, $f22 -/* 021740 80020B40 462E5201 */ sub.d $f8, $f10, $f14 -/* 021744 80020B44 10000008 */ b .L80020B68 -/* 021748 80020B48 46204020 */ cvt.s.d $f0, $f8 -.L80020B4C: -/* 02174C 80020B4C 4632103C */ c.lt.d $f2, $f18 -/* 021750 80020B50 00000000 */ nop -/* 021754 80020B54 45000004 */ bc1f .L80020B68 -/* 021758 80020B58 00000000 */ nop -/* 02175C 80020B5C 4600B121 */ cvt.d.s $f4, $f22 -/* 021760 80020B60 462E2180 */ add.d $f6, $f4, $f14 -/* 021764 80020B64 46203020 */ cvt.s.d $f0, $f6 -.L80020B68: -/* 021768 80020B68 1020001F */ beqz $at, .L80020BE8 -/* 02176C 80020B6C 308F0003 */ andi $t7, $a0, 3 -/* 021770 80020B70 11E0000C */ beqz $t7, .L80020BA4 -/* 021774 80020B74 01E81821 */ addu $v1, $t7, $t0 -/* 021778 80020B78 0010C880 */ sll $t9, $s0, 2 -/* 02177C 80020B7C 27AE00B8 */ addiu $t6, $sp, 0xb8 -/* 021780 80020B80 032E1021 */ addu $v0, $t9, $t6 -.L80020B84: -/* 021784 80020B84 C44A0000 */ lwc1 $f10, ($v0) -/* 021788 80020B88 26100001 */ addiu $s0, $s0, 1 -/* 02178C 80020B8C 46005200 */ add.s $f8, $f10, $f0 -/* 021790 80020B90 24420004 */ addiu $v0, $v0, 4 -/* 021794 80020B94 1470FFFB */ bne $v1, $s0, .L80020B84 -/* 021798 80020B98 E448FFFC */ swc1 $f8, -4($v0) -/* 02179C 80020B9C 24010005 */ li $at, 5 -/* 0217A0 80020BA0 12010011 */ beq $s0, $at, .L80020BE8 -.L80020BA4: -/* 0217A4 80020BA4 0010C080 */ sll $t8, $s0, 2 -/* 0217A8 80020BA8 27AF00B8 */ addiu $t7, $sp, 0xb8 -/* 0217AC 80020BAC 030F1021 */ addu $v0, $t8, $t7 -.L80020BB0: -/* 0217B0 80020BB0 C4440000 */ lwc1 $f4, ($v0) -/* 0217B4 80020BB4 C44A0004 */ lwc1 $f10, 4($v0) -/* 0217B8 80020BB8 46002180 */ add.s $f6, $f4, $f0 -/* 0217BC 80020BBC C4440008 */ lwc1 $f4, 8($v0) -/* 0217C0 80020BC0 46005200 */ add.s $f8, $f10, $f0 -/* 0217C4 80020BC4 C44A000C */ lwc1 $f10, 0xc($v0) -/* 0217C8 80020BC8 E4480004 */ swc1 $f8, 4($v0) -/* 0217CC 80020BCC E4460000 */ swc1 $f6, ($v0) -/* 0217D0 80020BD0 46002180 */ add.s $f6, $f4, $f0 -/* 0217D4 80020BD4 24420010 */ addiu $v0, $v0, 0x10 -/* 0217D8 80020BD8 46005200 */ add.s $f8, $f10, $f0 -/* 0217DC 80020BDC E446FFF8 */ swc1 $f6, -8($v0) -/* 0217E0 80020BE0 1447FFF3 */ bne $v0, $a3, .L80020BB0 -/* 0217E4 80020BE4 E448FFFC */ swc1 $f8, -4($v0) -.L80020BE8: -/* 0217E8 80020BE8 25080001 */ addiu $t0, $t0, 1 -/* 0217EC 80020BEC 24010005 */ li $at, 5 -/* 0217F0 80020BF0 1501FF59 */ bne $t0, $at, .L80020958 -/* 0217F4 80020BF4 27FF0004 */ addiu $ra, $ra, 4 -/* 0217F8 80020BF8 8279003F */ lb $t9, 0x3f($s3) -/* 0217FC 80020BFC 02402825 */ move $a1, $s2 -/* 021800 80020C00 17200027 */ bnez $t9, .L80020CA0 -/* 021804 80020C04 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 021808 80020C08 4406A000 */ mfc1 $a2, $f20 -/* 02180C 80020C0C 0C008950 */ jal catmull_rom_interpolation -/* 021810 80020C10 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 021814 80020C14 444EF800 */ cfc1 $t6, $31 -/* 021818 80020C18 4406A000 */ mfc1 $a2, $f20 -/* 02181C 80020C1C 35C10003 */ ori $at, $t6, 3 -/* 021820 80020C20 38210002 */ xori $at, $at, 2 -/* 021824 80020C24 44C1F800 */ ctc1 $at, $31 -/* 021828 80020C28 27A400CC */ addiu $a0, $sp, 0xcc -/* 02182C 80020C2C 46000124 */ cvt.w.s $f4, $f0 -/* 021830 80020C30 02402825 */ move $a1, $s2 -/* 021834 80020C34 44182000 */ mfc1 $t8, $f4 -/* 021838 80020C38 44CEF800 */ ctc1 $t6, $31 -/* 02183C 80020C3C 0C008950 */ jal catmull_rom_interpolation -/* 021840 80020C40 A6D80000 */ sh $t8, ($s6) -/* 021844 80020C44 444FF800 */ cfc1 $t7, $31 -/* 021848 80020C48 4406A000 */ mfc1 $a2, $f20 -/* 02184C 80020C4C 35E10003 */ ori $at, $t7, 3 -/* 021850 80020C50 38210002 */ xori $at, $at, 2 -/* 021854 80020C54 44C1F800 */ ctc1 $at, $31 -/* 021858 80020C58 27A400B8 */ addiu $a0, $sp, 0xb8 -/* 02185C 80020C5C 460001A4 */ cvt.w.s $f6, $f0 -/* 021860 80020C60 02402825 */ move $a1, $s2 -/* 021864 80020C64 44193000 */ mfc1 $t9, $f6 -/* 021868 80020C68 44CFF800 */ ctc1 $t7, $31 -/* 02186C 80020C6C 0C008950 */ jal catmull_rom_interpolation -/* 021870 80020C70 A6D90002 */ sh $t9, 2($s6) -/* 021874 80020C74 444EF800 */ cfc1 $t6, $31 -/* 021878 80020C78 00000000 */ nop -/* 02187C 80020C7C 35C10003 */ ori $at, $t6, 3 -/* 021880 80020C80 38210002 */ xori $at, $at, 2 -/* 021884 80020C84 44C1F800 */ ctc1 $at, $31 -/* 021888 80020C88 00000000 */ nop -/* 02188C 80020C8C 460002A4 */ cvt.w.s $f10, $f0 -/* 021890 80020C90 44185000 */ mfc1 $t8, $f10 -/* 021894 80020C94 44CEF800 */ ctc1 $t6, $31 -/* 021898 80020C98 10000027 */ b .L80020D38 -/* 02189C 80020C9C A6D80004 */ sh $t8, 4($s6) -.L80020CA0: -/* 0218A0 80020CA0 4406A000 */ mfc1 $a2, $f20 -/* 0218A4 80020CA4 0C008A22 */ jal lerp -/* 0218A8 80020CA8 02402825 */ move $a1, $s2 -/* 0218AC 80020CAC 444FF800 */ cfc1 $t7, $31 -/* 0218B0 80020CB0 4406A000 */ mfc1 $a2, $f20 -/* 0218B4 80020CB4 35E10003 */ ori $at, $t7, 3 -/* 0218B8 80020CB8 38210002 */ xori $at, $at, 2 -/* 0218BC 80020CBC 44C1F800 */ ctc1 $at, $31 -/* 0218C0 80020CC0 27A400CC */ addiu $a0, $sp, 0xcc -/* 0218C4 80020CC4 46000224 */ cvt.w.s $f8, $f0 -/* 0218C8 80020CC8 02402825 */ move $a1, $s2 -/* 0218CC 80020CCC 44194000 */ mfc1 $t9, $f8 -/* 0218D0 80020CD0 44CFF800 */ ctc1 $t7, $31 -/* 0218D4 80020CD4 0C008A22 */ jal lerp -/* 0218D8 80020CD8 A6D90000 */ sh $t9, ($s6) -/* 0218DC 80020CDC 444EF800 */ cfc1 $t6, $31 -/* 0218E0 80020CE0 4406A000 */ mfc1 $a2, $f20 -/* 0218E4 80020CE4 35C10003 */ ori $at, $t6, 3 -/* 0218E8 80020CE8 38210002 */ xori $at, $at, 2 -/* 0218EC 80020CEC 44C1F800 */ ctc1 $at, $31 -/* 0218F0 80020CF0 27A400B8 */ addiu $a0, $sp, 0xb8 -/* 0218F4 80020CF4 46000124 */ cvt.w.s $f4, $f0 -/* 0218F8 80020CF8 02402825 */ move $a1, $s2 -/* 0218FC 80020CFC 44182000 */ mfc1 $t8, $f4 -/* 021900 80020D00 44CEF800 */ ctc1 $t6, $31 -/* 021904 80020D04 0C008A22 */ jal lerp -/* 021908 80020D08 A6D80002 */ sh $t8, 2($s6) -/* 02190C 80020D0C 444FF800 */ cfc1 $t7, $31 -/* 021910 80020D10 00000000 */ nop -/* 021914 80020D14 35E10003 */ ori $at, $t7, 3 -/* 021918 80020D18 38210002 */ xori $at, $at, 2 -/* 02191C 80020D1C 44C1F800 */ ctc1 $at, $31 -/* 021920 80020D20 00000000 */ nop -/* 021924 80020D24 460001A4 */ cvt.w.s $f6, $f0 -/* 021928 80020D28 44193000 */ mfc1 $t9, $f6 -/* 02192C 80020D2C 44CFF800 */ ctc1 $t7, $31 -/* 021930 80020D30 A6D90004 */ sh $t9, 4($s6) -/* 021934 80020D34 00000000 */ nop -.L80020D38: -/* 021938 80020D38 8FA30168 */ lw $v1, 0x168($sp) -/* 02193C 80020D3C 86680026 */ lh $t0, 0x26($s3) -/* 021940 80020D40 2401FFFF */ li $at, -1 -/* 021944 80020D44 10610005 */ beq $v1, $at, .L80020D5C -/* 021948 80020D48 E6740000 */ swc1 $f20, ($s3) -/* 02194C 80020D4C 0115082A */ slt $at, $t0, $s5 -/* 021950 80020D50 14200002 */ bnez $at, .L80020D5C -/* 021954 80020D54 01157023 */ subu $t6, $t0, $s5 -/* 021958 80020D58 01C34021 */ addu $t0, $t6, $v1 -.L80020D5C: -/* 02195C 80020D5C 3C098012 */ lui $t1, %hi(D_8011AE74) # $t1, 0x8012 -/* 021960 80020D60 2529AE74 */ addiu $t1, %lo(D_8011AE74) # addiu $t1, $t1, -0x518c -/* 021964 80020D64 8D380000 */ lw $t8, ($t1) -/* 021968 80020D68 00147880 */ sll $t7, $s4, 2 -/* 02196C 80020D6C 00087080 */ sll $t6, $t0, 2 -/* 021970 80020D70 030FC821 */ addu $t9, $t8, $t7 -/* 021974 80020D74 032EC021 */ addu $t8, $t9, $t6 -/* 021978 80020D78 8F0F0000 */ lw $t7, ($t8) -/* 02197C 80020D7C 3C01800E */ lui $at, %hi(D_800E5680 + 4) # $at, 0x800e -/* 021980 80020D80 8DF1003C */ lw $s1, 0x3c($t7) -/* 021984 80020D84 C4215680 */ lwc1 $f1, %lo(D_800E5680)($at) -/* 021988 80020D88 82390014 */ lb $t9, 0x14($s1) -/* 02198C 80020D8C C4205684 */ lwc1 $f0, %lo(D_800E5680 + 4)($at) -/* 021990 80020D90 44995000 */ mtc1 $t9, $f10 -/* 021994 80020D94 00000000 */ nop -/* 021998 80020D98 46805220 */ cvt.s.w $f8, $f10 -/* 02199C 80020D9C 46004121 */ cvt.d.s $f4, $f8 -/* 0219A0 80020DA0 46202182 */ mul.d $f6, $f4, $f0 -/* 0219A4 80020DA4 462032A0 */ cvt.s.d $f10, $f6 -/* 0219A8 80020DA8 4616503C */ c.lt.s $f10, $f22 -/* 0219AC 80020DAC E7AA0124 */ swc1 $f10, 0x124($sp) -/* 0219B0 80020DB0 45000004 */ bc1f .L80020DC4 -/* 0219B4 80020DB4 00000000 */ nop -/* 0219B8 80020DB8 C668000C */ lwc1 $f8, 0xc($s3) -/* 0219BC 80020DBC 10000004 */ b .L80020DD0 -/* 0219C0 80020DC0 E7A80124 */ swc1 $f8, 0x124($sp) -.L80020DC4: -/* 0219C4 80020DC4 C7A40124 */ lwc1 $f4, 0x124($sp) -/* 0219C8 80020DC8 00000000 */ nop -/* 0219CC 80020DCC E664000C */ swc1 $f4, 0xc($s3) -.L80020DD0: -/* 0219D0 80020DD0 C7A60124 */ lwc1 $f6, 0x124($sp) -/* 0219D4 80020DD4 00000000 */ nop -/* 0219D8 80020DD8 4606B03E */ c.le.s $f22, $f6 -/* 0219DC 80020DDC 00000000 */ nop -/* 0219E0 80020DE0 45000029 */ bc1f .L80020E88 -/* 0219E4 80020DE4 00000000 */ nop -/* 0219E8 80020DE8 16400027 */ bnez $s2, .L80020E88 -/* 0219EC 80020DEC 25020001 */ addiu $v0, $t0, 1 -/* 0219F0 80020DF0 2401FFFF */ li $at, -1 -/* 0219F4 80020DF4 10610005 */ beq $v1, $at, .L80020E0C -/* 0219F8 80020DF8 00408025 */ move $s0, $v0 -/* 0219FC 80020DFC 0055082A */ slt $at, $v0, $s5 -/* 021A00 80020E00 14200002 */ bnez $at, .L80020E0C -/* 021A04 80020E04 00557023 */ subu $t6, $v0, $s5 -/* 021A08 80020E08 01C38021 */ addu $s0, $t6, $v1 -.L80020E0C: -/* 021A0C 80020E0C 0215082A */ slt $at, $s0, $s5 -/* 021A10 80020E10 10200016 */ beqz $at, .L80020E6C -/* 021A14 80020E14 00147880 */ sll $t7, $s4, 2 -/* 021A18 80020E18 8D380000 */ lw $t8, ($t1) -/* 021A1C 80020E1C 00107080 */ sll $t6, $s0, 2 -/* 021A20 80020E20 030FC821 */ addu $t9, $t8, $t7 -/* 021A24 80020E24 032EC021 */ addu $t8, $t9, $t6 -/* 021A28 80020E28 8F0F0000 */ lw $t7, ($t8) -/* 021A2C 80020E2C C7AE0124 */ lwc1 $f14, 0x124($sp) -/* 021A30 80020E30 8DF1003C */ lw $s1, 0x3c($t7) -/* 021A34 80020E34 00000000 */ nop -/* 021A38 80020E38 82220014 */ lb $v0, 0x14($s1) -/* 021A3C 80020E3C 00000000 */ nop -/* 021A40 80020E40 04400009 */ bltz $v0, .L80020E68 -/* 021A44 80020E44 00000000 */ nop -/* 021A48 80020E48 44825000 */ mtc1 $v0, $f10 -/* 021A4C 80020E4C 00000000 */ nop -/* 021A50 80020E50 46805220 */ cvt.s.w $f8, $f10 -/* 021A54 80020E54 46004121 */ cvt.d.s $f4, $f8 -/* 021A58 80020E58 46202182 */ mul.d $f6, $f4, $f0 -/* 021A5C 80020E5C 462032A0 */ cvt.s.d $f10, $f6 -/* 021A60 80020E60 10000002 */ b .L80020E6C -/* 021A64 80020E64 E7AA011C */ swc1 $f10, 0x11c($sp) -.L80020E68: -/* 021A68 80020E68 E7AE011C */ swc1 $f14, 0x11c($sp) -.L80020E6C: -/* 021A6C 80020E6C C7A8011C */ lwc1 $f8, 0x11c($sp) -/* 021A70 80020E70 C7A40124 */ lwc1 $f4, 0x124($sp) -/* 021A74 80020E74 00000000 */ nop -/* 021A78 80020E78 46044181 */ sub.s $f6, $f8, $f4 -/* 021A7C 80020E7C 46143282 */ mul.s $f10, $f6, $f20 -/* 021A80 80020E80 46045200 */ add.s $f8, $f10, $f4 -/* 021A84 80020E84 E6680008 */ swc1 $f8, 8($s3) -.L80020E88: -/* 021A88 80020E88 1240002F */ beqz $s2, .L80020F48 -/* 021A8C 80020E8C 00000000 */ nop -/* 021A90 80020E90 86790026 */ lh $t9, 0x26($s3) -/* 021A94 80020E94 2401FFFF */ li $at, -1 -/* 021A98 80020E98 272E0001 */ addiu $t6, $t9, 1 -/* 021A9C 80020E9C 14610014 */ bne $v1, $at, .L80020EF0 -/* 021AA0 80020EA0 A66E0026 */ sh $t6, 0x26($s3) -/* 021AA4 80020EA4 86620026 */ lh $v0, 0x26($s3) -/* 021AA8 80020EA8 0014C080 */ sll $t8, $s4, 2 -/* 021AAC 80020EAC 0055082A */ slt $at, $v0, $s5 -/* 021AB0 80020EB0 14200004 */ bnez $at, .L80020EC4 -/* 021AB4 80020EB4 0002C880 */ sll $t9, $v0, 2 -/* 021AB8 80020EB8 26B8FFFF */ addiu $t8, $s5, -1 -/* 021ABC 80020EBC 10000022 */ b .L80020F48 -/* 021AC0 80020EC0 A6780026 */ sh $t8, 0x26($s3) -.L80020EC4: -/* 021AC4 80020EC4 8D2F0000 */ lw $t7, ($t1) -/* 021AC8 80020EC8 02C02025 */ move $a0, $s6 -/* 021ACC 80020ECC 01F97021 */ addu $t6, $t7, $t9 -/* 021AD0 80020ED0 01D87821 */ addu $t7, $t6, $t8 -/* 021AD4 80020ED4 8DF90000 */ lw $t9, ($t7) -/* 021AD8 80020ED8 02603025 */ move $a2, $s3 -/* 021ADC 80020EDC 8F25003C */ lw $a1, 0x3c($t9) -/* 021AE0 80020EE0 0C008497 */ jal func_8002125C -/* 021AE4 80020EE4 02803825 */ move $a3, $s4 -/* 021AE8 80020EE8 10000018 */ b .L80020F4C -/* 021AEC 80020EEC 926F002E */ lbu $t7, 0x2e($s3) -.L80020EF0: -/* 021AF0 80020EF0 86620026 */ lh $v0, 0x26($s3) -/* 021AF4 80020EF4 246E0001 */ addiu $t6, $v1, 1 -/* 021AF8 80020EF8 02A2082A */ slt $at, $s5, $v0 -/* 021AFC 80020EFC 10200004 */ beqz $at, .L80020F10 -/* 021B00 80020F00 02C02025 */ move $a0, $s6 -/* 021B04 80020F04 A66E0026 */ sh $t6, 0x26($s3) -/* 021B08 80020F08 86620026 */ lh $v0, 0x26($s3) -/* 021B0C 80020F0C 00000000 */ nop -.L80020F10: -/* 021B10 80020F10 0055082A */ slt $at, $v0, $s5 -/* 021B14 80020F14 14200003 */ bnez $at, .L80020F24 -/* 021B18 80020F18 00409025 */ move $s2, $v0 -/* 021B1C 80020F1C 0055C023 */ subu $t8, $v0, $s5 -/* 021B20 80020F20 03039021 */ addu $s2, $t8, $v1 -.L80020F24: -/* 021B24 80020F24 8D2F0000 */ lw $t7, ($t1) -/* 021B28 80020F28 02549021 */ addu $s2, $s2, $s4 -/* 021B2C 80020F2C 0012C880 */ sll $t9, $s2, 2 -/* 021B30 80020F30 01F97021 */ addu $t6, $t7, $t9 -/* 021B34 80020F34 8DD80000 */ lw $t8, ($t6) -/* 021B38 80020F38 02603025 */ move $a2, $s3 -/* 021B3C 80020F3C 8F05003C */ lw $a1, 0x3c($t8) -/* 021B40 80020F40 0C008497 */ jal func_8002125C -/* 021B44 80020F44 02803825 */ move $a3, $s4 -.L80020F48: -/* 021B48 80020F48 926F002E */ lbu $t7, 0x2e($s3) -.L80020F4C: -/* 021B4C 80020F4C 24010003 */ li $at, 3 -/* 021B50 80020F50 15E10049 */ bne $t7, $at, .L80021078 -/* 021B54 80020F54 3C038012 */ lui $v1, %hi(D_8011AE78) # $v1, 0x8012 -/* 021B58 80020F58 8463AE78 */ lh $v1, %lo(D_8011AE78)($v1) -/* 021B5C 80020F5C 00004025 */ move $t0, $zero -/* 021B60 80020F60 18600015 */ blez $v1, .L80020FB8 -/* 021B64 80020F64 3C098012 */ lui $t1, %hi(D_8011AE74) # $t1, 0x8012 -/* 021B68 80020F68 3C068012 */ lui $a2, %hi(D_8011AE74) # $a2, 0x8012 -/* 021B6C 80020F6C 8CC6AE74 */ lw $a2, %lo(D_8011AE74)($a2) -/* 021B70 80020F70 8262003E */ lb $v0, 0x3e($s3) -/* 021B74 80020F74 8CD90000 */ lw $t9, ($a2) -/* 021B78 80020F78 00000000 */ nop -/* 021B7C 80020F7C 8F2E007C */ lw $t6, 0x7c($t9) -/* 021B80 80020F80 00000000 */ nop -/* 021B84 80020F84 104E000C */ beq $v0, $t6, .L80020FB8 -/* 021B88 80020F88 00000000 */ nop -.L80020F8C: -/* 021B8C 80020F8C 25080001 */ addiu $t0, $t0, 1 -/* 021B90 80020F90 0103082A */ slt $at, $t0, $v1 -/* 021B94 80020F94 10200008 */ beqz $at, .L80020FB8 -/* 021B98 80020F98 0008C080 */ sll $t8, $t0, 2 -/* 021B9C 80020F9C 00D87821 */ addu $t7, $a2, $t8 -/* 021BA0 80020FA0 8DF90000 */ lw $t9, ($t7) -/* 021BA4 80020FA4 00000000 */ nop -/* 021BA8 80020FA8 8F2E007C */ lw $t6, 0x7c($t9) -/* 021BAC 80020FAC 00000000 */ nop -/* 021BB0 80020FB0 144EFFF6 */ bne $v0, $t6, .L80020F8C -/* 021BB4 80020FB4 00000000 */ nop -.L80020FB8: -/* 021BB8 80020FB8 1103002F */ beq $t0, $v1, .L80021078 -/* 021BBC 80020FBC 2529AE74 */ addiu $t1, %lo(D_8011AE74) # addiu $t1, $t1, -0x518c -/* 021BC0 80020FC0 8D380000 */ lw $t8, ($t1) -/* 021BC4 80020FC4 00087880 */ sll $t7, $t0, 2 -/* 021BC8 80020FC8 030FC821 */ addu $t9, $t8, $t7 -/* 021BCC 80020FCC 8F2E0000 */ lw $t6, ($t9) -/* 021BD0 80020FD0 00000000 */ nop -/* 021BD4 80020FD4 8DC30064 */ lw $v1, 0x64($t6) -/* 021BD8 80020FD8 00000000 */ nop -/* 021BDC 80020FDC 10600026 */ beqz $v1, .L80021078 -/* 021BE0 80020FE0 00000000 */ nop -/* 021BE4 80020FE4 C466000C */ lwc1 $f6, 0xc($v1) -/* 021BE8 80020FE8 C6CA000C */ lwc1 $f10, 0xc($s6) -/* 021BEC 80020FEC 00000000 */ nop -/* 021BF0 80020FF0 460A3101 */ sub.s $f4, $f6, $f10 -/* 021BF4 80020FF4 E7A40124 */ swc1 $f4, 0x124($sp) -/* 021BF8 80020FF8 C6C60010 */ lwc1 $f6, 0x10($s6) -/* 021BFC 80020FFC C4680010 */ lwc1 $f8, 0x10($v1) -/* 021C00 80021000 00000000 */ nop -/* 021C04 80021004 46064281 */ sub.s $f10, $f8, $f6 -/* 021C08 80021008 E7AA0120 */ swc1 $f10, 0x120($sp) -/* 021C0C 8002100C C6C80014 */ lwc1 $f8, 0x14($s6) -/* 021C10 80021010 C4640014 */ lwc1 $f4, 0x14($v1) -/* 021C14 80021014 C7AA0124 */ lwc1 $f10, 0x124($sp) -/* 021C18 80021018 46082181 */ sub.s $f6, $f4, $f8 -/* 021C1C 8002101C C7A80120 */ lwc1 $f8, 0x120($sp) -/* 021C20 80021020 460A5102 */ mul.s $f4, $f10, $f10 -/* 021C24 80021024 E7A6011C */ swc1 $f6, 0x11c($sp) -/* 021C28 80021028 46084182 */ mul.s $f6, $f8, $f8 -/* 021C2C 8002102C C7A8011C */ lwc1 $f8, 0x11c($sp) -/* 021C30 80021030 46062280 */ add.s $f10, $f4, $f6 -/* 021C34 80021034 46084102 */ mul.s $f4, $f8, $f8 -/* 021C38 80021038 0C0326B4 */ jal sqrtf -/* 021C3C 8002103C 46045300 */ add.s $f12, $f10, $f4 -/* 021C40 80021040 4600B03C */ c.lt.s $f22, $f0 -/* 021C44 80021044 C7AE011C */ lwc1 $f14, 0x11c($sp) -/* 021C48 80021048 4500000B */ bc1f .L80021078 -/* 021C4C 8002104C 46000506 */ mov.s $f20, $f0 -/* 021C50 80021050 C7AC0124 */ lwc1 $f12, 0x124($sp) -/* 021C54 80021054 0C01C1D4 */ jal arctan2_f -/* 021C58 80021058 00000000 */ nop -/* 021C5C 8002105C 24018000 */ li $at, -32768 -/* 021C60 80021060 0041C021 */ addu $t8, $v0, $at -/* 021C64 80021064 A6D80000 */ sh $t8, ($s6) -/* 021C68 80021068 C7AC0120 */ lwc1 $f12, 0x120($sp) -/* 021C6C 8002106C 0C01C1D4 */ jal arctan2_f -/* 021C70 80021070 4600A386 */ mov.s $f14, $f20 -/* 021C74 80021074 A6C20002 */ sh $v0, 2($s6) -.L80021078: -/* 021C78 80021078 826F002F */ lb $t7, 0x2f($s3) -/* 021C7C 8002107C 02C02025 */ move $a0, $s6 -/* 021C80 80021080 AECF0074 */ sw $t7, 0x74($s6) -/* 021C84 80021084 8FA5019C */ lw $a1, 0x19c($sp) -/* 021C88 80021088 0C02BF0F */ jal obj_spawn_particle -/* 021C8C 8002108C 00000000 */ nop -/* 021C90 80021090 00001025 */ move $v0, $zero -.L80021094: -/* 021C94 80021094 8FBF0054 */ lw $ra, 0x54($sp) -.L80021098: -/* 021C98 80021098 C7B50028 */ lwc1 $f21, 0x28($sp) -/* 021C9C 8002109C C7B4002C */ lwc1 $f20, 0x2c($sp) -/* 021CA0 800210A0 C7B70030 */ lwc1 $f23, 0x30($sp) -/* 021CA4 800210A4 C7B60034 */ lwc1 $f22, 0x34($sp) -/* 021CA8 800210A8 8FB00038 */ lw $s0, 0x38($sp) -/* 021CAC 800210AC 8FB1003C */ lw $s1, 0x3c($sp) -/* 021CB0 800210B0 8FB20040 */ lw $s2, 0x40($sp) -/* 021CB4 800210B4 8FB30044 */ lw $s3, 0x44($sp) -/* 021CB8 800210B8 8FB40048 */ lw $s4, 0x48($sp) -/* 021CBC 800210BC 8FB5004C */ lw $s5, 0x4c($sp) -/* 021CC0 800210C0 8FB60050 */ lw $s6, 0x50($sp) -/* 021CC4 800210C4 03E00008 */ jr $ra -/* 021CC8 800210C8 27BD0198 */ addiu $sp, $sp, 0x198 - diff --git a/asm/non_matchings/objects/func_80021600.s b/asm/non_matchings/objects/func_80021600.s deleted file mode 100644 index e01b4852..00000000 --- a/asm/non_matchings/objects/func_80021600.s +++ /dev/null @@ -1,1031 +0,0 @@ -glabel func_80021600 -/* 022200 80021600 27BDFEA0 */ addiu $sp, $sp, -0x160 -/* 022204 80021604 3C0E8012 */ lui $t6, %hi(gCutsceneID) # $t6, 0x8012 -/* 022208 80021608 85CEAE7A */ lh $t6, %lo(gCutsceneID)($t6) -/* 02220C 8002160C AFBF0044 */ sw $ra, 0x44($sp) -/* 022210 80021610 AFBE0040 */ sw $fp, 0x40($sp) -/* 022214 80021614 AFB7003C */ sw $s7, 0x3c($sp) -/* 022218 80021618 AFB60038 */ sw $s6, 0x38($sp) -/* 02221C 8002161C AFB50034 */ sw $s5, 0x34($sp) -/* 022220 80021620 AFB40030 */ sw $s4, 0x30($sp) -/* 022224 80021624 AFB3002C */ sw $s3, 0x2c($sp) -/* 022228 80021628 AFB20028 */ sw $s2, 0x28($sp) -/* 02222C 8002162C AFB10024 */ sw $s1, 0x24($sp) -/* 022230 80021630 AFB00020 */ sw $s0, 0x20($sp) -/* 022234 80021634 E7B50018 */ swc1 $f21, 0x18($sp) -/* 022238 80021638 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 02223C 8002163C 05C10003 */ bgez $t6, .L8002164C -/* 022240 80021640 00802825 */ move $a1, $a0 -/* 022244 80021644 100003B0 */ b .L80022508 -/* 022248 80021648 24020001 */ li $v0, 1 -.L8002164C: -/* 02224C 8002164C 3C038012 */ lui $v1, %hi(D_8011AE78) # $v1, 0x8012 -/* 022250 80021650 8463AE78 */ lh $v1, %lo(D_8011AE78)($v1) -/* 022254 80021654 0000B825 */ move $s7, $zero -/* 022258 80021658 18600015 */ blez $v1, .L800216B0 -/* 02225C 8002165C 3C068012 */ lui $a2, %hi(D_8011AE74) # $a2, 0x8012 -/* 022260 80021660 24C6AE74 */ addiu $a2, %lo(D_8011AE74) # addiu $a2, $a2, -0x518c -/* 022264 80021664 8CC70000 */ lw $a3, ($a2) -/* 022268 80021668 00000000 */ nop -/* 02226C 8002166C 8CEF0000 */ lw $t7, ($a3) -/* 022270 80021670 00000000 */ nop -/* 022274 80021674 8DF8007C */ lw $t8, 0x7c($t7) -/* 022278 80021678 00000000 */ nop -/* 02227C 8002167C 10B8000C */ beq $a1, $t8, .L800216B0 -/* 022280 80021680 00000000 */ nop -.L80021684: -/* 022284 80021684 26F70001 */ addiu $s7, $s7, 1 -/* 022288 80021688 02E3082A */ slt $at, $s7, $v1 -/* 02228C 8002168C 10200008 */ beqz $at, .L800216B0 -/* 022290 80021690 0017C880 */ sll $t9, $s7, 2 -/* 022294 80021694 00F95821 */ addu $t3, $a3, $t9 -/* 022298 80021698 8D6C0000 */ lw $t4, ($t3) -/* 02229C 8002169C 00000000 */ nop -/* 0222A0 800216A0 8D8D007C */ lw $t5, 0x7c($t4) -/* 0222A4 800216A4 00000000 */ nop -/* 0222A8 800216A8 14ADFFF6 */ bne $a1, $t5, .L80021684 -/* 0222AC 800216AC 00000000 */ nop -.L800216B0: -/* 0222B0 800216B0 3C068012 */ lui $a2, %hi(D_8011AE74) # $a2, 0x8012 -/* 0222B4 800216B4 02E3082A */ slt $at, $s7, $v1 -/* 0222B8 800216B8 14200003 */ bnez $at, .L800216C8 -/* 0222BC 800216BC 24C6AE74 */ addiu $a2, %lo(D_8011AE74) # addiu $a2, $a2, -0x518c -/* 0222C0 800216C0 10000391 */ b .L80022508 -/* 0222C4 800216C4 24020001 */ li $v0, 1 -.L800216C8: -/* 0222C8 800216C8 26EE0001 */ addiu $t6, $s7, 1 -/* 0222CC 800216CC 01C3082A */ slt $at, $t6, $v1 -/* 0222D0 800216D0 10200015 */ beqz $at, .L80021728 -/* 0222D4 800216D4 24150001 */ li $s5, 1 -/* 0222D8 800216D8 8CCF0000 */ lw $t7, ($a2) -/* 0222DC 800216DC 0017C080 */ sll $t8, $s7, 2 -/* 0222E0 800216E0 01F82021 */ addu $a0, $t7, $t8 -/* 0222E4 800216E4 8C990004 */ lw $t9, 4($a0) -/* 0222E8 800216E8 02F51021 */ addu $v0, $s7, $s5 -/* 0222EC 800216EC 8F2B007C */ lw $t3, 0x7c($t9) -/* 0222F0 800216F0 00000000 */ nop -/* 0222F4 800216F4 14AB000C */ bne $a1, $t3, .L80021728 -/* 0222F8 800216F8 24420001 */ addiu $v0, $v0, 1 -.L800216FC: -/* 0222FC 800216FC 0043082A */ slt $at, $v0, $v1 -/* 022300 80021700 10200009 */ beqz $at, .L80021728 -/* 022304 80021704 26B50001 */ addiu $s5, $s5, 1 -/* 022308 80021708 00156080 */ sll $t4, $s5, 2 -/* 02230C 8002170C 008C6821 */ addu $t5, $a0, $t4 -/* 022310 80021710 8DAE0000 */ lw $t6, ($t5) -/* 022314 80021714 00000000 */ nop -/* 022318 80021718 8DCF007C */ lw $t7, 0x7c($t6) -/* 02231C 8002171C 00000000 */ nop -/* 022320 80021720 10AFFFF6 */ beq $a1, $t7, .L800216FC -/* 022324 80021724 24420001 */ addiu $v0, $v0, 1 -.L80021728: -/* 022328 80021728 2AA10002 */ slti $at, $s5, 2 -/* 02232C 8002172C 10200003 */ beqz $at, .L8002173C -/* 022330 80021730 0017C080 */ sll $t8, $s7, 2 -/* 022334 80021734 10000374 */ b .L80022508 -/* 022338 80021738 24020001 */ li $v0, 1 -.L8002173C: -/* 02233C 8002173C 8CC70000 */ lw $a3, ($a2) -/* 022340 80021740 AFB8007C */ sw $t8, 0x7c($sp) -/* 022344 80021744 00F85821 */ addu $t3, $a3, $t8 -/* 022348 80021748 8D620000 */ lw $v0, ($t3) -/* 02234C 8002174C 27B20124 */ addiu $s2, $sp, 0x124 -/* 022350 80021750 8C4C0064 */ lw $t4, 0x64($v0) -/* 022354 80021754 27B30110 */ addiu $s3, $sp, 0x110 -/* 022358 80021758 15800003 */ bnez $t4, .L80021768 -/* 02235C 8002175C AFAC0154 */ sw $t4, 0x154($sp) -/* 022360 80021760 10000369 */ b .L80022508 -/* 022364 80021764 24020001 */ li $v0, 1 -.L80021768: -/* 022368 80021768 8FAE0154 */ lw $t6, 0x154($sp) -/* 02236C 8002176C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 022370 80021770 8DCF0064 */ lw $t7, 0x64($t6) -/* 022374 80021774 44812800 */ mtc1 $at, $f5 -/* 022378 80021778 AFAF015C */ sw $t7, 0x15c($sp) -/* 02237C 8002177C 8C580040 */ lw $t8, 0x40($v0) -/* 022380 80021780 44802000 */ mtc1 $zero, $f4 -/* 022384 80021784 C706000C */ lwc1 $f6, 0xc($t8) -/* 022388 80021788 0017C880 */ sll $t9, $s7, 2 -/* 02238C 8002178C 46003221 */ cvt.d.s $f8, $f6 -/* 022390 80021790 00000000 */ nop -/* 022394 80021794 46282283 */ div.d $f10, $f4, $f8 -/* 022398 80021798 00F95821 */ addu $t3, $a3, $t9 -/* 02239C 8002179C 00156080 */ sll $t4, $s5, 2 -/* 0223A0 800217A0 016C6821 */ addu $t5, $t3, $t4 -/* 0223A4 800217A4 2AA10003 */ slti $at, $s5, 3 -/* 0223A8 800217A8 8FB8015C */ lw $t8, 0x15c($sp) -/* 0223AC 800217AC 2403FFFF */ li $v1, -1 -/* 0223B0 800217B0 27B400FC */ addiu $s4, $sp, 0xfc -/* 0223B4 800217B4 27BE00BC */ addiu $fp, $sp, 0xbc -/* 0223B8 800217B8 27B600A8 */ addiu $s6, $sp, 0xa8 -/* 0223BC 800217BC 27A90094 */ addiu $t1, $sp, 0x94 -/* 0223C0 800217C0 27B100D0 */ addiu $s1, $sp, 0xd0 -/* 0223C4 800217C4 462051A0 */ cvt.s.d $f6, $f10 -/* 0223C8 800217C8 E7A60090 */ swc1 $f6, 0x90($sp) -/* 0223CC 800217CC 8DAEFFFC */ lw $t6, -4($t5) -/* 0223D0 800217D0 00000000 */ nop -/* 0223D4 800217D4 8DC5003C */ lw $a1, 0x3c($t6) -/* 0223D8 800217D8 14200008 */ bnez $at, .L800217FC -/* 0223DC 800217DC 00000000 */ nop -/* 0223E0 800217E0 80A2001D */ lb $v0, 0x1d($a1) -/* 0223E4 800217E4 26AFFFFF */ addiu $t7, $s5, -1 -/* 0223E8 800217E8 04400004 */ bltz $v0, .L800217FC -/* 0223EC 800217EC 004F082A */ slt $at, $v0, $t7 -/* 0223F0 800217F0 10200002 */ beqz $at, .L800217FC -/* 0223F4 800217F4 00000000 */ nop -/* 0223F8 800217F8 00401825 */ move $v1, $v0 -.L800217FC: -/* 0223FC 800217FC 87100026 */ lh $s0, 0x26($t8) -/* 022400 80021800 AFA30138 */ sw $v1, 0x138($sp) -/* 022404 80021804 2610FFFF */ addiu $s0, $s0, -1 -.L80021808: -/* 022408 80021808 2401FFFF */ li $at, -1 -/* 02240C 8002180C 1601006B */ bne $s0, $at, .L800219BC -/* 022410 80021810 0215082A */ slt $at, $s0, $s5 -/* 022414 80021814 8FB90138 */ lw $t9, 0x138($sp) -/* 022418 80021818 02F55821 */ addu $t3, $s7, $s5 -/* 02241C 8002181C 13200039 */ beqz $t9, .L80021904 -/* 022420 80021820 000B6080 */ sll $t4, $t3, 2 -/* 022424 80021824 8FAB007C */ lw $t3, 0x7c($sp) -/* 022428 80021828 00000000 */ nop -/* 02242C 8002182C 00EB1021 */ addu $v0, $a3, $t3 -/* 022430 80021830 8C4C0000 */ lw $t4, ($v0) -/* 022434 80021834 8C4D0004 */ lw $t5, 4($v0) -/* 022438 80021838 C580000C */ lwc1 $f0, 0xc($t4) -/* 02243C 8002183C C5A4000C */ lwc1 $f4, 0xc($t5) -/* 022440 80021840 00000000 */ nop -/* 022444 80021844 46040201 */ sub.s $f8, $f0, $f4 -/* 022448 80021848 46004280 */ add.s $f10, $f8, $f0 -/* 02244C 8002184C E64A0000 */ swc1 $f10, ($s2) -/* 022450 80021850 8C4E0000 */ lw $t6, ($v0) -/* 022454 80021854 8C4F0004 */ lw $t7, 4($v0) -/* 022458 80021858 C5C20010 */ lwc1 $f2, 0x10($t6) -/* 02245C 8002185C C5E60010 */ lwc1 $f6, 0x10($t7) -/* 022460 80021860 00000000 */ nop -/* 022464 80021864 46061101 */ sub.s $f4, $f2, $f6 -/* 022468 80021868 46022200 */ add.s $f8, $f4, $f2 -/* 02246C 8002186C E6680000 */ swc1 $f8, ($s3) -/* 022470 80021870 8C580000 */ lw $t8, ($v0) -/* 022474 80021874 8C590004 */ lw $t9, 4($v0) -/* 022478 80021878 C70C0014 */ lwc1 $f12, 0x14($t8) -/* 02247C 8002187C C72A0014 */ lwc1 $f10, 0x14($t9) -/* 022480 80021880 00000000 */ nop -/* 022484 80021884 460A6181 */ sub.s $f6, $f12, $f10 -/* 022488 80021888 460C3100 */ add.s $f4, $f6, $f12 -/* 02248C 8002188C E6840000 */ swc1 $f4, ($s4) -/* 022490 80021890 8C4B0000 */ lw $t3, ($v0) -/* 022494 80021894 00000000 */ nop -/* 022498 80021898 856C0000 */ lh $t4, ($t3) -/* 02249C 8002189C 00000000 */ nop -/* 0224A0 800218A0 448C4000 */ mtc1 $t4, $f8 -/* 0224A4 800218A4 00000000 */ nop -/* 0224A8 800218A8 468042A0 */ cvt.s.w $f10, $f8 -/* 0224AC 800218AC E7CA0000 */ swc1 $f10, ($fp) -/* 0224B0 800218B0 8C4D0000 */ lw $t5, ($v0) -/* 0224B4 800218B4 00000000 */ nop -/* 0224B8 800218B8 85AE0002 */ lh $t6, 2($t5) -/* 0224BC 800218BC 00000000 */ nop -/* 0224C0 800218C0 448E3000 */ mtc1 $t6, $f6 -/* 0224C4 800218C4 00000000 */ nop -/* 0224C8 800218C8 46803120 */ cvt.s.w $f4, $f6 -/* 0224CC 800218CC E6C40000 */ swc1 $f4, ($s6) -/* 0224D0 800218D0 8C4F0000 */ lw $t7, ($v0) -/* 0224D4 800218D4 00000000 */ nop -/* 0224D8 800218D8 85F80004 */ lh $t8, 4($t7) -/* 0224DC 800218DC 00000000 */ nop -/* 0224E0 800218E0 44984000 */ mtc1 $t8, $f8 -/* 0224E4 800218E4 00000000 */ nop -/* 0224E8 800218E8 468042A0 */ cvt.s.w $f10, $f8 -/* 0224EC 800218EC E52A0000 */ swc1 $f10, ($t1) -/* 0224F0 800218F0 8C590000 */ lw $t9, ($v0) -/* 0224F4 800218F4 00000000 */ nop -/* 0224F8 800218F8 C7260008 */ lwc1 $f6, 8($t9) -/* 0224FC 800218FC 100000F5 */ b .L80021CD4 -/* 022500 80021900 E6260000 */ swc1 $f6, ($s1) -.L80021904: -/* 022504 80021904 00EC1021 */ addu $v0, $a3, $t4 -/* 022508 80021908 8C4DFFFC */ lw $t5, -4($v0) -/* 02250C 8002190C 00000000 */ nop -/* 022510 80021910 C5A4000C */ lwc1 $f4, 0xc($t5) -/* 022514 80021914 00000000 */ nop -/* 022518 80021918 E6440000 */ swc1 $f4, ($s2) -/* 02251C 8002191C 8C4EFFFC */ lw $t6, -4($v0) -/* 022520 80021920 00000000 */ nop -/* 022524 80021924 C5C80010 */ lwc1 $f8, 0x10($t6) -/* 022528 80021928 00000000 */ nop -/* 02252C 8002192C E6680000 */ swc1 $f8, ($s3) -/* 022530 80021930 8C4FFFFC */ lw $t7, -4($v0) -/* 022534 80021934 00000000 */ nop -/* 022538 80021938 C5EA0014 */ lwc1 $f10, 0x14($t7) -/* 02253C 8002193C 00000000 */ nop -/* 022540 80021940 E68A0000 */ swc1 $f10, ($s4) -/* 022544 80021944 8C58FFFC */ lw $t8, -4($v0) -/* 022548 80021948 00000000 */ nop -/* 02254C 8002194C 87190000 */ lh $t9, ($t8) -/* 022550 80021950 00000000 */ nop -/* 022554 80021954 44993000 */ mtc1 $t9, $f6 -/* 022558 80021958 00000000 */ nop -/* 02255C 8002195C 46803120 */ cvt.s.w $f4, $f6 -/* 022560 80021960 E7C40000 */ swc1 $f4, ($fp) -/* 022564 80021964 8C4BFFFC */ lw $t3, -4($v0) -/* 022568 80021968 00000000 */ nop -/* 02256C 8002196C 856C0002 */ lh $t4, 2($t3) -/* 022570 80021970 00000000 */ nop -/* 022574 80021974 448C4000 */ mtc1 $t4, $f8 -/* 022578 80021978 00000000 */ nop -/* 02257C 8002197C 468042A0 */ cvt.s.w $f10, $f8 -/* 022580 80021980 E6CA0000 */ swc1 $f10, ($s6) -/* 022584 80021984 8C4DFFFC */ lw $t5, -4($v0) -/* 022588 80021988 00000000 */ nop -/* 02258C 8002198C 85AE0004 */ lh $t6, 4($t5) -/* 022590 80021990 00000000 */ nop -/* 022594 80021994 448E3000 */ mtc1 $t6, $f6 -/* 022598 80021998 00000000 */ nop -/* 02259C 8002199C 46803120 */ cvt.s.w $f4, $f6 -/* 0225A0 800219A0 E5240000 */ swc1 $f4, ($t1) -/* 0225A4 800219A4 8C4FFFFC */ lw $t7, -4($v0) -/* 0225A8 800219A8 00000000 */ nop -/* 0225AC 800219AC C5E80008 */ lwc1 $f8, 8($t7) -/* 0225B0 800219B0 100000C8 */ b .L80021CD4 -/* 0225B4 800219B4 E6280000 */ swc1 $f8, ($s1) -/* 0225B8 800219B8 0215082A */ slt $at, $s0, $s5 -.L800219BC: -/* 0225BC 800219BC 14200082 */ bnez $at, .L80021BC8 -/* 0225C0 800219C0 02173021 */ addu $a2, $s0, $s7 -/* 0225C4 800219C4 8FB80138 */ lw $t8, 0x138($sp) -/* 0225C8 800219C8 2401FFFF */ li $at, -1 -/* 0225CC 800219CC 1701004B */ bne $t8, $at, .L80021AFC -/* 0225D0 800219D0 02B71021 */ addu $v0, $s5, $s7 -/* 0225D4 800219D4 0002C880 */ sll $t9, $v0, 2 -/* 0225D8 800219D8 00F95821 */ addu $t3, $a3, $t9 -/* 0225DC 800219DC 8D6CFFFC */ lw $t4, -4($t3) -/* 0225E0 800219E0 00023080 */ sll $a2, $v0, 2 -/* 0225E4 800219E4 8D85003C */ lw $a1, 0x3c($t4) -/* 0225E8 800219E8 24010001 */ li $at, 1 -/* 0225EC 800219EC 80AD0022 */ lb $t5, 0x22($a1) -/* 0225F0 800219F0 26B0FFFF */ addiu $s0, $s5, -1 -/* 0225F4 800219F4 15A10010 */ bne $t5, $at, .L80021A38 -/* 0225F8 800219F8 24C6FFFC */ addiu $a2, $a2, -4 -/* 0225FC 800219FC 8FAE015C */ lw $t6, 0x15c($sp) -/* 022600 80021A00 00000000 */ nop -/* 022604 80021A04 81C40030 */ lb $a0, 0x30($t6) -/* 022608 80021A08 AFA9005C */ sw $t1, 0x5c($sp) -/* 02260C 80021A0C 0C01997A */ jal set_active_camera -/* 022610 80021A10 AFA6004C */ sw $a2, 0x4c($sp) -/* 022614 80021A14 0C01A73F */ jal get_active_camera_segment_no_cutscenes -/* 022618 80021A18 00000000 */ nop -/* 02261C 80021A1C 3C078012 */ lui $a3, %hi(D_8011AE74) # $a3, 0x8012 -/* 022620 80021A20 8CE7AE74 */ lw $a3, %lo(D_8011AE74)($a3) -/* 022624 80021A24 8FA6004C */ lw $a2, 0x4c($sp) -/* 022628 80021A28 8FA9005C */ lw $t1, 0x5c($sp) -/* 02262C 80021A2C 00401825 */ move $v1, $v0 -/* 022630 80021A30 10000004 */ b .L80021A44 -/* 022634 80021A34 00E62021 */ addu $a0, $a3, $a2 -.L80021A38: -/* 022638 80021A38 00E62021 */ addu $a0, $a3, $a2 -/* 02263C 80021A3C 8C830000 */ lw $v1, ($a0) -/* 022640 80021A40 00000000 */ nop -.L80021A44: -/* 022644 80021A44 8C8FFFFC */ lw $t7, -4($a0) -/* 022648 80021A48 C460000C */ lwc1 $f0, 0xc($v1) -/* 02264C 80021A4C C5EA000C */ lwc1 $f10, 0xc($t7) -/* 022650 80021A50 00000000 */ nop -/* 022654 80021A54 460A0181 */ sub.s $f6, $f0, $f10 -/* 022658 80021A58 46003100 */ add.s $f4, $f6, $f0 -/* 02265C 80021A5C E6440000 */ swc1 $f4, ($s2) -/* 022660 80021A60 8C98FFFC */ lw $t8, -4($a0) -/* 022664 80021A64 C4620010 */ lwc1 $f2, 0x10($v1) -/* 022668 80021A68 C7080010 */ lwc1 $f8, 0x10($t8) -/* 02266C 80021A6C 00000000 */ nop -/* 022670 80021A70 46081281 */ sub.s $f10, $f2, $f8 -/* 022674 80021A74 46025180 */ add.s $f6, $f10, $f2 -/* 022678 80021A78 E6660000 */ swc1 $f6, ($s3) -/* 02267C 80021A7C 8C99FFFC */ lw $t9, -4($a0) -/* 022680 80021A80 C46C0014 */ lwc1 $f12, 0x14($v1) -/* 022684 80021A84 C7240014 */ lwc1 $f4, 0x14($t9) -/* 022688 80021A88 00000000 */ nop -/* 02268C 80021A8C 46046201 */ sub.s $f8, $f12, $f4 -/* 022690 80021A90 460C4280 */ add.s $f10, $f8, $f12 -/* 022694 80021A94 E68A0000 */ swc1 $f10, ($s4) -/* 022698 80021A98 846B0002 */ lh $t3, 2($v1) -/* 02269C 80021A9C 00000000 */ nop -/* 0226A0 80021AA0 448B3000 */ mtc1 $t3, $f6 -/* 0226A4 80021AA4 00000000 */ nop -/* 0226A8 80021AA8 46803120 */ cvt.s.w $f4, $f6 -/* 0226AC 80021AAC E6C40000 */ swc1 $f4, ($s6) -/* 0226B0 80021AB0 846C0004 */ lh $t4, 4($v1) -/* 0226B4 80021AB4 00000000 */ nop -/* 0226B8 80021AB8 448C4000 */ mtc1 $t4, $f8 -/* 0226BC 80021ABC 00000000 */ nop -/* 0226C0 80021AC0 468042A0 */ cvt.s.w $f10, $f8 -/* 0226C4 80021AC4 E52A0000 */ swc1 $f10, ($t1) -/* 0226C8 80021AC8 8C830000 */ lw $v1, ($a0) -/* 0226CC 80021ACC 00000000 */ nop -/* 0226D0 80021AD0 846D0000 */ lh $t5, ($v1) -/* 0226D4 80021AD4 00000000 */ nop -/* 0226D8 80021AD8 448D3000 */ mtc1 $t5, $f6 -/* 0226DC 80021ADC 00000000 */ nop -/* 0226E0 80021AE0 46803120 */ cvt.s.w $f4, $f6 -/* 0226E4 80021AE4 E7C40000 */ swc1 $f4, ($fp) -/* 0226E8 80021AE8 8C8E0000 */ lw $t6, ($a0) -/* 0226EC 80021AEC 00000000 */ nop -/* 0226F0 80021AF0 C5C80008 */ lwc1 $f8, 8($t6) -/* 0226F4 80021AF4 10000077 */ b .L80021CD4 -/* 0226F8 80021AF8 E6280000 */ swc1 $f8, ($s1) -.L80021AFC: -/* 0226FC 80021AFC 8FAF0138 */ lw $t7, 0x138($sp) -/* 022700 80021B00 00000000 */ nop -/* 022704 80021B04 02EFC021 */ addu $t8, $s7, $t7 -/* 022708 80021B08 0310C821 */ addu $t9, $t8, $s0 -/* 02270C 80021B0C 03355823 */ subu $t3, $t9, $s5 -/* 022710 80021B10 000B6080 */ sll $t4, $t3, 2 -/* 022714 80021B14 00EC1021 */ addu $v0, $a3, $t4 -/* 022718 80021B18 8C4D0000 */ lw $t5, ($v0) -/* 02271C 80021B1C 00000000 */ nop -/* 022720 80021B20 C5AA000C */ lwc1 $f10, 0xc($t5) -/* 022724 80021B24 00000000 */ nop -/* 022728 80021B28 E64A0000 */ swc1 $f10, ($s2) -/* 02272C 80021B2C 8C4E0000 */ lw $t6, ($v0) -/* 022730 80021B30 00000000 */ nop -/* 022734 80021B34 C5C60010 */ lwc1 $f6, 0x10($t6) -/* 022738 80021B38 00000000 */ nop -/* 02273C 80021B3C E6660000 */ swc1 $f6, ($s3) -/* 022740 80021B40 8C4F0000 */ lw $t7, ($v0) -/* 022744 80021B44 00000000 */ nop -/* 022748 80021B48 C5E40014 */ lwc1 $f4, 0x14($t7) -/* 02274C 80021B4C 00000000 */ nop -/* 022750 80021B50 E6840000 */ swc1 $f4, ($s4) -/* 022754 80021B54 8C580000 */ lw $t8, ($v0) -/* 022758 80021B58 00000000 */ nop -/* 02275C 80021B5C 87190000 */ lh $t9, ($t8) -/* 022760 80021B60 00000000 */ nop -/* 022764 80021B64 44994000 */ mtc1 $t9, $f8 -/* 022768 80021B68 00000000 */ nop -/* 02276C 80021B6C 468042A0 */ cvt.s.w $f10, $f8 -/* 022770 80021B70 E7CA0000 */ swc1 $f10, ($fp) -/* 022774 80021B74 8C4B0000 */ lw $t3, ($v0) -/* 022778 80021B78 00000000 */ nop -/* 02277C 80021B7C 856C0002 */ lh $t4, 2($t3) -/* 022780 80021B80 00000000 */ nop -/* 022784 80021B84 448C3000 */ mtc1 $t4, $f6 -/* 022788 80021B88 00000000 */ nop -/* 02278C 80021B8C 46803120 */ cvt.s.w $f4, $f6 -/* 022790 80021B90 E6C40000 */ swc1 $f4, ($s6) -/* 022794 80021B94 8C4D0000 */ lw $t5, ($v0) -/* 022798 80021B98 00000000 */ nop -/* 02279C 80021B9C 85AE0004 */ lh $t6, 4($t5) -/* 0227A0 80021BA0 00000000 */ nop -/* 0227A4 80021BA4 448E4000 */ mtc1 $t6, $f8 -/* 0227A8 80021BA8 00000000 */ nop -/* 0227AC 80021BAC 468042A0 */ cvt.s.w $f10, $f8 -/* 0227B0 80021BB0 E52A0000 */ swc1 $f10, ($t1) -/* 0227B4 80021BB4 8C4F0000 */ lw $t7, ($v0) -/* 0227B8 80021BB8 00000000 */ nop -/* 0227BC 80021BBC C5E60008 */ lwc1 $f6, 8($t7) -/* 0227C0 80021BC0 10000044 */ b .L80021CD4 -/* 0227C4 80021BC4 E6260000 */ swc1 $f6, ($s1) -.L80021BC8: -/* 0227C8 80021BC8 0006C080 */ sll $t8, $a2, 2 -/* 0227CC 80021BCC 00F82021 */ addu $a0, $a3, $t8 -/* 0227D0 80021BD0 8C820000 */ lw $v0, ($a0) -/* 0227D4 80021BD4 24010001 */ li $at, 1 -/* 0227D8 80021BD8 8C45003C */ lw $a1, 0x3c($v0) -/* 0227DC 80021BDC 8FAB015C */ lw $t3, 0x15c($sp) -/* 0227E0 80021BE0 80B90022 */ lb $t9, 0x22($a1) -/* 0227E4 80021BE4 00401825 */ move $v1, $v0 -/* 0227E8 80021BE8 17210010 */ bne $t9, $at, .L80021C2C -/* 0227EC 80021BEC 00000000 */ nop -/* 0227F0 80021BF0 81640030 */ lb $a0, 0x30($t3) -/* 0227F4 80021BF4 AFA9005C */ sw $t1, 0x5c($sp) -/* 0227F8 80021BF8 AFB80074 */ sw $t8, 0x74($sp) -/* 0227FC 80021BFC 0C01997A */ jal set_active_camera -/* 022800 80021C00 AFA50150 */ sw $a1, 0x150($sp) -/* 022804 80021C04 0C01A73F */ jal get_active_camera_segment_no_cutscenes -/* 022808 80021C08 00000000 */ nop -/* 02280C 80021C0C 3C078012 */ lui $a3, %hi(D_8011AE74) # $a3, 0x8012 -/* 022810 80021C10 8CE7AE74 */ lw $a3, %lo(D_8011AE74)($a3) -/* 022814 80021C14 8FA60074 */ lw $a2, 0x74($sp) -/* 022818 80021C18 8FA50150 */ lw $a1, 0x150($sp) -/* 02281C 80021C1C 8FA9005C */ lw $t1, 0x5c($sp) -/* 022820 80021C20 00401825 */ move $v1, $v0 -/* 022824 80021C24 10000001 */ b .L80021C2C -/* 022828 80021C28 00E62021 */ addu $a0, $a3, $a2 -.L80021C2C: -/* 02282C 80021C2C C464000C */ lwc1 $f4, 0xc($v1) -/* 022830 80021C30 24010001 */ li $at, 1 -/* 022834 80021C34 E6440000 */ swc1 $f4, ($s2) -/* 022838 80021C38 C4680010 */ lwc1 $f8, 0x10($v1) -/* 02283C 80021C3C 00000000 */ nop -/* 022840 80021C40 E6680000 */ swc1 $f8, ($s3) -/* 022844 80021C44 C46A0014 */ lwc1 $f10, 0x14($v1) -/* 022848 80021C48 00000000 */ nop -/* 02284C 80021C4C E68A0000 */ swc1 $f10, ($s4) -/* 022850 80021C50 846C0002 */ lh $t4, 2($v1) -/* 022854 80021C54 00000000 */ nop -/* 022858 80021C58 448C3000 */ mtc1 $t4, $f6 -/* 02285C 80021C5C 00000000 */ nop -/* 022860 80021C60 46803120 */ cvt.s.w $f4, $f6 -/* 022864 80021C64 E6C40000 */ swc1 $f4, ($s6) -/* 022868 80021C68 846D0004 */ lh $t5, 4($v1) -/* 02286C 80021C6C 00000000 */ nop -/* 022870 80021C70 448D4000 */ mtc1 $t5, $f8 -/* 022874 80021C74 00000000 */ nop -/* 022878 80021C78 468042A0 */ cvt.s.w $f10, $f8 -/* 02287C 80021C7C E52A0000 */ swc1 $f10, ($t1) -/* 022880 80021C80 8C830000 */ lw $v1, ($a0) -/* 022884 80021C84 00000000 */ nop -/* 022888 80021C88 846E0000 */ lh $t6, ($v1) -/* 02288C 80021C8C 00000000 */ nop -/* 022890 80021C90 448E3000 */ mtc1 $t6, $f6 -/* 022894 80021C94 00000000 */ nop -/* 022898 80021C98 46803120 */ cvt.s.w $f4, $f6 -/* 02289C 80021C9C E7C40000 */ swc1 $f4, ($fp) -/* 0228A0 80021CA0 80AF0022 */ lb $t7, 0x22($a1) -/* 0228A4 80021CA4 00000000 */ nop -/* 0228A8 80021CA8 15E10005 */ bne $t7, $at, .L80021CC0 -/* 0228AC 80021CAC 00000000 */ nop -/* 0228B0 80021CB0 C6C80000 */ lwc1 $f8, ($s6) -/* 0228B4 80021CB4 00000000 */ nop -/* 0228B8 80021CB8 46004287 */ neg.s $f10, $f8 -/* 0228BC 80021CBC E6CA0000 */ swc1 $f10, ($s6) -.L80021CC0: -/* 0228C0 80021CC0 8C980000 */ lw $t8, ($a0) -/* 0228C4 80021CC4 00000000 */ nop -/* 0228C8 80021CC8 C7060008 */ lwc1 $f6, 8($t8) -/* 0228CC 80021CCC 00000000 */ nop -/* 0228D0 80021CD0 E6260000 */ swc1 $f6, ($s1) -.L80021CD4: -/* 0228D4 80021CD4 26310004 */ addiu $s1, $s1, 4 -/* 0228D8 80021CD8 27B900E4 */ addiu $t9, $sp, 0xe4 -/* 0228DC 80021CDC 0239082B */ sltu $at, $s1, $t9 -/* 0228E0 80021CE0 26520004 */ addiu $s2, $s2, 4 -/* 0228E4 80021CE4 26730004 */ addiu $s3, $s3, 4 -/* 0228E8 80021CE8 26940004 */ addiu $s4, $s4, 4 -/* 0228EC 80021CEC 27DE0004 */ addiu $fp, $fp, 4 -/* 0228F0 80021CF0 26D60004 */ addiu $s6, $s6, 4 -/* 0228F4 80021CF4 25290004 */ addiu $t1, $t1, 4 -/* 0228F8 80021CF8 1420FEC3 */ bnez $at, .L80021808 -/* 0228FC 80021CFC 26100001 */ addiu $s0, $s0, 1 -/* 022900 80021D00 8FAB015C */ lw $t3, 0x15c($sp) -/* 022904 80021D04 27B00124 */ addiu $s0, $sp, 0x124 -/* 022908 80021D08 816C003F */ lb $t4, 0x3f($t3) -/* 02290C 80021D0C C5600000 */ lwc1 $f0, ($t3) -/* 022910 80021D10 15800015 */ bnez $t4, .L80021D68 -/* 022914 80021D14 02002025 */ move $a0, $s0 -/* 022918 80021D18 27B00124 */ addiu $s0, $sp, 0x124 -/* 02291C 80021D1C 44060000 */ mfc1 $a2, $f0 -/* 022920 80021D20 02002025 */ move $a0, $s0 -/* 022924 80021D24 00002825 */ move $a1, $zero -/* 022928 80021D28 0C008950 */ jal catmull_rom_interpolation -/* 02292C 80021D2C E7A000EC */ swc1 $f0, 0xec($sp) -/* 022930 80021D30 27B10110 */ addiu $s1, $sp, 0x110 -/* 022934 80021D34 8FA600EC */ lw $a2, 0xec($sp) -/* 022938 80021D38 02202025 */ move $a0, $s1 -/* 02293C 80021D3C 00002825 */ move $a1, $zero -/* 022940 80021D40 0C008950 */ jal catmull_rom_interpolation -/* 022944 80021D44 E7A000F8 */ swc1 $f0, 0xf8($sp) -/* 022948 80021D48 27B200FC */ addiu $s2, $sp, 0xfc -/* 02294C 80021D4C 8FA600EC */ lw $a2, 0xec($sp) -/* 022950 80021D50 02402025 */ move $a0, $s2 -/* 022954 80021D54 00002825 */ move $a1, $zero -/* 022958 80021D58 0C008950 */ jal catmull_rom_interpolation -/* 02295C 80021D5C E7A000F4 */ swc1 $f0, 0xf4($sp) -/* 022960 80021D60 10000012 */ b .L80021DAC -/* 022964 80021D64 E7A000F0 */ swc1 $f0, 0xf0($sp) -.L80021D68: -/* 022968 80021D68 44060000 */ mfc1 $a2, $f0 -/* 02296C 80021D6C 00002825 */ move $a1, $zero -/* 022970 80021D70 0C008A22 */ jal lerp -/* 022974 80021D74 E7A000EC */ swc1 $f0, 0xec($sp) -/* 022978 80021D78 27B10110 */ addiu $s1, $sp, 0x110 -/* 02297C 80021D7C 8FA600EC */ lw $a2, 0xec($sp) -/* 022980 80021D80 02202025 */ move $a0, $s1 -/* 022984 80021D84 00002825 */ move $a1, $zero -/* 022988 80021D88 0C008A22 */ jal lerp -/* 02298C 80021D8C E7A000F8 */ swc1 $f0, 0xf8($sp) -/* 022990 80021D90 27B200FC */ addiu $s2, $sp, 0xfc -/* 022994 80021D94 8FA600EC */ lw $a2, 0xec($sp) -/* 022998 80021D98 02402025 */ move $a0, $s2 -/* 02299C 80021D9C 00002825 */ move $a1, $zero -/* 0229A0 80021DA0 0C008A22 */ jal lerp -/* 0229A4 80021DA4 E7A000F4 */ swc1 $f0, 0xf4($sp) -/* 0229A8 80021DA8 E7A000F0 */ swc1 $f0, 0xf0($sp) -.L80021DAC: -/* 0229AC 80021DAC 8FA40154 */ lw $a0, 0x154($sp) -/* 0229B0 80021DB0 C7A400F8 */ lwc1 $f4, 0xf8($sp) -/* 0229B4 80021DB4 C488000C */ lwc1 $f8, 0xc($a0) -/* 0229B8 80021DB8 C7A600F4 */ lwc1 $f6, 0xf4($sp) -/* 0229BC 80021DBC 46082281 */ sub.s $f10, $f4, $f8 -/* 0229C0 80021DC0 E7AA00F8 */ swc1 $f10, 0xf8($sp) -/* 0229C4 80021DC4 C4840010 */ lwc1 $f4, 0x10($a0) -/* 0229C8 80021DC8 44055000 */ mfc1 $a1, $f10 -/* 0229CC 80021DCC 46043201 */ sub.s $f8, $f6, $f4 -/* 0229D0 80021DD0 C7A600F0 */ lwc1 $f6, 0xf0($sp) -/* 0229D4 80021DD4 E7A800F4 */ swc1 $f8, 0xf4($sp) -/* 0229D8 80021DD8 C4840014 */ lwc1 $f4, 0x14($a0) -/* 0229DC 80021DDC 44064000 */ mfc1 $a2, $f8 -/* 0229E0 80021DE0 46043181 */ sub.s $f6, $f6, $f4 -/* 0229E4 80021DE4 44073000 */ mfc1 $a3, $f6 -/* 0229E8 80021DE8 0C00455C */ jal move_object -/* 0229EC 80021DEC E7A600F0 */ swc1 $f6, 0xf0($sp) -/* 0229F0 80021DF0 8FA600EC */ lw $a2, 0xec($sp) -/* 0229F4 80021DF4 27A400D0 */ addiu $a0, $sp, 0xd0 -/* 0229F8 80021DF8 0C008950 */ jal catmull_rom_interpolation -/* 0229FC 80021DFC 00002825 */ move $a1, $zero -/* 022A00 80021E00 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 022A04 80021E04 8FAE0154 */ lw $t6, 0x154($sp) -/* 022A08 80021E08 46040282 */ mul.s $f10, $f0, $f4 -/* 022A0C 80021E0C 8DCF0040 */ lw $t7, 0x40($t6) -/* 022A10 80021E10 24010001 */ li $at, 1 -/* 022A14 80021E14 C5E8000C */ lwc1 $f8, 0xc($t7) -/* 022A18 80021E18 00000000 */ nop -/* 022A1C 80021E1C 46085182 */ mul.s $f6, $f10, $f8 -/* 022A20 80021E20 E5C60008 */ swc1 $f6, 8($t6) -/* 022A24 80021E24 8FB8015C */ lw $t8, 0x15c($sp) -/* 022A28 80021E28 00000000 */ nop -/* 022A2C 80021E2C 9302002E */ lbu $v0, 0x2e($t8) -/* 022A30 80021E30 00000000 */ nop -/* 022A34 80021E34 104101B3 */ beq $v0, $at, .L80022504 -/* 022A38 80021E38 24010002 */ li $at, 2 -/* 022A3C 80021E3C 10410005 */ beq $v0, $at, .L80021E54 -/* 022A40 80021E40 24010003 */ li $at, 3 -/* 022A44 80021E44 10410056 */ beq $v0, $at, .L80021FA0 -/* 022A48 80021E48 3C038012 */ lui $v1, %hi(D_8011AE78) # $v1, 0x8012 -/* 022A4C 80021E4C 100000A0 */ b .L800220D0 -/* 022A50 80021E50 24050001 */ li $a1, 1 -.L80021E54: -/* 022A54 80021E54 8FB9015C */ lw $t9, 0x15c($sp) -/* 022A58 80021E58 8FA600EC */ lw $a2, 0xec($sp) -/* 022A5C 80021E5C 832B003F */ lb $t3, 0x3f($t9) -/* 022A60 80021E60 02002025 */ move $a0, $s0 -/* 022A64 80021E64 15600012 */ bnez $t3, .L80021EB0 -/* 022A68 80021E68 00002825 */ move $a1, $zero -/* 022A6C 80021E6C 8FA600EC */ lw $a2, 0xec($sp) -/* 022A70 80021E70 02002025 */ move $a0, $s0 -/* 022A74 80021E74 00002825 */ move $a1, $zero -/* 022A78 80021E78 0C00898F */ jal cubic_spline_interpolation -/* 022A7C 80021E7C 27A700F8 */ addiu $a3, $sp, 0xf8 -/* 022A80 80021E80 8FA600EC */ lw $a2, 0xec($sp) -/* 022A84 80021E84 02202025 */ move $a0, $s1 -/* 022A88 80021E88 00002825 */ move $a1, $zero -/* 022A8C 80021E8C 0C00898F */ jal cubic_spline_interpolation -/* 022A90 80021E90 27A700F4 */ addiu $a3, $sp, 0xf4 -/* 022A94 80021E94 8FA600EC */ lw $a2, 0xec($sp) -/* 022A98 80021E98 02402025 */ move $a0, $s2 -/* 022A9C 80021E9C 00002825 */ move $a1, $zero -/* 022AA0 80021EA0 0C00898F */ jal cubic_spline_interpolation -/* 022AA4 80021EA4 27A700F0 */ addiu $a3, $sp, 0xf0 -/* 022AA8 80021EA8 1000000E */ b .L80021EE4 -/* 022AAC 80021EAC C7B400F8 */ lwc1 $f20, 0xf8($sp) -.L80021EB0: -/* 022AB0 80021EB0 0C008A2C */ jal func_800228B0 -/* 022AB4 80021EB4 27A700F8 */ addiu $a3, $sp, 0xf8 -/* 022AB8 80021EB8 8FA600EC */ lw $a2, 0xec($sp) -/* 022ABC 80021EBC 02202025 */ move $a0, $s1 -/* 022AC0 80021EC0 00002825 */ move $a1, $zero -/* 022AC4 80021EC4 0C008A2C */ jal func_800228B0 -/* 022AC8 80021EC8 27A700F4 */ addiu $a3, $sp, 0xf4 -/* 022ACC 80021ECC 8FA600EC */ lw $a2, 0xec($sp) -/* 022AD0 80021ED0 02402025 */ move $a0, $s2 -/* 022AD4 80021ED4 00002825 */ move $a1, $zero -/* 022AD8 80021ED8 0C008A2C */ jal func_800228B0 -/* 022ADC 80021EDC 27A700F0 */ addiu $a3, $sp, 0xf0 -/* 022AE0 80021EE0 C7B400F8 */ lwc1 $f20, 0xf8($sp) -.L80021EE4: -/* 022AE4 80021EE4 C7A200F4 */ lwc1 $f2, 0xf4($sp) -/* 022AE8 80021EE8 4614A102 */ mul.s $f4, $f20, $f20 -/* 022AEC 80021EEC C7AE00F0 */ lwc1 $f14, 0xf0($sp) -/* 022AF0 80021EF0 46021282 */ mul.s $f10, $f2, $f2 -/* 022AF4 80021EF4 00000000 */ nop -/* 022AF8 80021EF8 460E7182 */ mul.s $f6, $f14, $f14 -/* 022AFC 80021EFC 460A2200 */ add.s $f8, $f4, $f10 -/* 022B00 80021F00 0C0326B4 */ jal sqrtf -/* 022B04 80021F04 46064300 */ add.s $f12, $f8, $f6 -/* 022B08 80021F08 44808000 */ mtc1 $zero, $f16 -/* 022B0C 80021F0C 3C014059 */ li $at, 0x40590000 # 3.390625 -/* 022B10 80021F10 46100032 */ c.eq.s $f0, $f16 -/* 022B14 80021F14 00000000 */ nop -/* 022B18 80021F18 45010011 */ bc1t .L80021F60 -/* 022B1C 80021F1C 00000000 */ nop -/* 022B20 80021F20 44812800 */ mtc1 $at, $f5 -/* 022B24 80021F24 44802000 */ mtc1 $zero, $f4 -/* 022B28 80021F28 460002A1 */ cvt.d.s $f10, $f0 -/* 022B2C 80021F2C 00000000 */ nop -/* 022B30 80021F30 462A2203 */ div.d $f8, $f4, $f10 -/* 022B34 80021F34 C7B400F8 */ lwc1 $f20, 0xf8($sp) -/* 022B38 80021F38 C7A200F4 */ lwc1 $f2, 0xf4($sp) -/* 022B3C 80021F3C C7AE00F0 */ lwc1 $f14, 0xf0($sp) -/* 022B40 80021F40 46204320 */ cvt.s.d $f12, $f8 -/* 022B44 80021F44 460CA502 */ mul.s $f20, $f20, $f12 -/* 022B48 80021F48 00000000 */ nop -/* 022B4C 80021F4C 460C1082 */ mul.s $f2, $f2, $f12 -/* 022B50 80021F50 E7B400F8 */ swc1 $f20, 0xf8($sp) -/* 022B54 80021F54 460C7382 */ mul.s $f14, $f14, $f12 -/* 022B58 80021F58 E7A200F4 */ swc1 $f2, 0xf4($sp) -/* 022B5C 80021F5C E7AE00F0 */ swc1 $f14, 0xf0($sp) -.L80021F60: -/* 022B60 80021F60 C7AE00F0 */ lwc1 $f14, 0xf0($sp) -/* 022B64 80021F64 C7AC00F8 */ lwc1 $f12, 0xf8($sp) -/* 022B68 80021F68 0C01C1D4 */ jal arctan2_f -/* 022B6C 80021F6C 00000000 */ nop -/* 022B70 80021F70 24018000 */ li $at, -32768 -/* 022B74 80021F74 8FAD0154 */ lw $t5, 0x154($sp) -/* 022B78 80021F78 00416021 */ addu $t4, $v0, $at -/* 022B7C 80021F7C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 022B80 80021F80 A5AC0000 */ sh $t4, ($t5) -/* 022B84 80021F84 C7AC00F4 */ lwc1 $f12, 0xf4($sp) -/* 022B88 80021F88 44817000 */ mtc1 $at, $f14 -/* 022B8C 80021F8C 0C01C1D4 */ jal arctan2_f -/* 022B90 80021F90 00000000 */ nop -/* 022B94 80021F94 8FAF0154 */ lw $t7, 0x154($sp) -/* 022B98 80021F98 1000015A */ b .L80022504 -/* 022B9C 80021F9C A5E20002 */ sh $v0, 2($t7) -.L80021FA0: -/* 022BA0 80021FA0 8463AE78 */ lh $v1, %lo(D_8011AE78)($v1) -/* 022BA4 80021FA4 00002825 */ move $a1, $zero -/* 022BA8 80021FA8 18600014 */ blez $v1, .L80021FFC -/* 022BAC 80021FAC 3C078012 */ lui $a3, %hi(D_8011AE74) # $a3, 0x8012 -/* 022BB0 80021FB0 8CE7AE74 */ lw $a3, %lo(D_8011AE74)($a3) -/* 022BB4 80021FB4 8FAE015C */ lw $t6, 0x15c($sp) -/* 022BB8 80021FB8 8CF80000 */ lw $t8, ($a3) -/* 022BBC 80021FBC 81C2003E */ lb $v0, 0x3e($t6) -/* 022BC0 80021FC0 8F19007C */ lw $t9, 0x7c($t8) -/* 022BC4 80021FC4 00000000 */ nop -/* 022BC8 80021FC8 1059000C */ beq $v0, $t9, .L80021FFC -/* 022BCC 80021FCC 00000000 */ nop -.L80021FD0: -/* 022BD0 80021FD0 24A50001 */ addiu $a1, $a1, 1 -/* 022BD4 80021FD4 00A3082A */ slt $at, $a1, $v1 -/* 022BD8 80021FD8 10200008 */ beqz $at, .L80021FFC -/* 022BDC 80021FDC 00055880 */ sll $t3, $a1, 2 -/* 022BE0 80021FE0 00EB6021 */ addu $t4, $a3, $t3 -/* 022BE4 80021FE4 8D8D0000 */ lw $t5, ($t4) -/* 022BE8 80021FE8 00000000 */ nop -/* 022BEC 80021FEC 8DAF007C */ lw $t7, 0x7c($t5) -/* 022BF0 80021FF0 00000000 */ nop -/* 022BF4 80021FF4 144FFFF6 */ bne $v0, $t7, .L80021FD0 -/* 022BF8 80021FF8 00000000 */ nop -.L80021FFC: -/* 022BFC 80021FFC 10A30141 */ beq $a1, $v1, .L80022504 -/* 022C00 80022000 3C0E8012 */ lui $t6, %hi(D_8011AE74) # $t6, 0x8012 -/* 022C04 80022004 8DCEAE74 */ lw $t6, %lo(D_8011AE74)($t6) -/* 022C08 80022008 0005C080 */ sll $t8, $a1, 2 -/* 022C0C 8002200C 01D8C821 */ addu $t9, $t6, $t8 -/* 022C10 80022010 8F2B0000 */ lw $t3, ($t9) -/* 022C14 80022014 8FAC0154 */ lw $t4, 0x154($sp) -/* 022C18 80022018 8D630064 */ lw $v1, 0x64($t3) -/* 022C1C 8002201C 00000000 */ nop -/* 022C20 80022020 10600139 */ beqz $v1, .L80022508 -/* 022C24 80022024 00001025 */ move $v0, $zero -/* 022C28 80022028 C466000C */ lwc1 $f6, 0xc($v1) -/* 022C2C 8002202C C584000C */ lwc1 $f4, 0xc($t4) -/* 022C30 80022030 00000000 */ nop -/* 022C34 80022034 46043281 */ sub.s $f10, $f6, $f4 -/* 022C38 80022038 E7AA00F8 */ swc1 $f10, 0xf8($sp) -/* 022C3C 8002203C C5860010 */ lwc1 $f6, 0x10($t4) -/* 022C40 80022040 C4680010 */ lwc1 $f8, 0x10($v1) -/* 022C44 80022044 00000000 */ nop -/* 022C48 80022048 46064101 */ sub.s $f4, $f8, $f6 -/* 022C4C 8002204C E7A400F4 */ swc1 $f4, 0xf4($sp) -/* 022C50 80022050 C5880014 */ lwc1 $f8, 0x14($t4) -/* 022C54 80022054 C46A0014 */ lwc1 $f10, 0x14($v1) -/* 022C58 80022058 C7A400F8 */ lwc1 $f4, 0xf8($sp) -/* 022C5C 8002205C 46085181 */ sub.s $f6, $f10, $f8 -/* 022C60 80022060 C7A800F4 */ lwc1 $f8, 0xf4($sp) -/* 022C64 80022064 46042282 */ mul.s $f10, $f4, $f4 -/* 022C68 80022068 E7A600F0 */ swc1 $f6, 0xf0($sp) -/* 022C6C 8002206C 46084182 */ mul.s $f6, $f8, $f8 -/* 022C70 80022070 C7A800F0 */ lwc1 $f8, 0xf0($sp) -/* 022C74 80022074 46065100 */ add.s $f4, $f10, $f6 -/* 022C78 80022078 46084282 */ mul.s $f10, $f8, $f8 -/* 022C7C 8002207C 0C0326B4 */ jal sqrtf -/* 022C80 80022080 460A2300 */ add.s $f12, $f4, $f10 -/* 022C84 80022084 44808000 */ mtc1 $zero, $f16 -/* 022C88 80022088 C7AE00F0 */ lwc1 $f14, 0xf0($sp) -/* 022C8C 8002208C 4600803C */ c.lt.s $f16, $f0 -/* 022C90 80022090 C7AC00F8 */ lwc1 $f12, 0xf8($sp) -/* 022C94 80022094 4500011B */ bc1f .L80022504 -/* 022C98 80022098 E7A000EC */ swc1 $f0, 0xec($sp) -/* 022C9C 8002209C 0C01C1D4 */ jal arctan2_f -/* 022CA0 800220A0 00000000 */ nop -/* 022CA4 800220A4 8FAF0154 */ lw $t7, 0x154($sp) -/* 022CA8 800220A8 24018000 */ li $at, -32768 -/* 022CAC 800220AC 00416821 */ addu $t5, $v0, $at -/* 022CB0 800220B0 A5ED0000 */ sh $t5, ($t7) -/* 022CB4 800220B4 C7AE00EC */ lwc1 $f14, 0xec($sp) -/* 022CB8 800220B8 C7AC00F4 */ lwc1 $f12, 0xf4($sp) -/* 022CBC 800220BC 0C01C1D4 */ jal arctan2_f -/* 022CC0 800220C0 00000000 */ nop -/* 022CC4 800220C4 8FAE0154 */ lw $t6, 0x154($sp) -/* 022CC8 800220C8 1000010E */ b .L80022504 -/* 022CCC 800220CC A5C20002 */ sh $v0, 2($t6) -.L800220D0: -/* 022CD0 800220D0 3C01C0E0 */ li $at, 0xC0E00000 # -7.000000 -/* 022CD4 800220D4 4481A800 */ mtc1 $at, $f21 -/* 022CD8 800220D8 3C0140E0 */ li $at, 0x40E00000 # 7.000000 -/* 022CDC 800220DC 44819800 */ mtc1 $at, $f19 -/* 022CE0 800220E0 3C0140F0 */ li $at, 0x40F00000 # 7.500000 -/* 022CE4 800220E4 44817800 */ mtc1 $at, $f15 -/* 022CE8 800220E8 4480A000 */ mtc1 $zero, $f20 -/* 022CEC 800220EC 44809000 */ mtc1 $zero, $f18 -/* 022CF0 800220F0 44808000 */ mtc1 $zero, $f16 -/* 022CF4 800220F4 44807000 */ mtc1 $zero, $f14 -/* 022CF8 800220F8 27BE00C0 */ addiu $fp, $sp, 0xc0 -/* 022CFC 800220FC 27B600AC */ addiu $s6, $sp, 0xac -/* 022D00 80022100 27A90098 */ addiu $t1, $sp, 0x98 -/* 022D04 80022104 240A0005 */ li $t2, 5 -/* 022D08 80022108 27A800A8 */ addiu $t0, $sp, 0xa8 -/* 022D0C 8002210C 27A700BC */ addiu $a3, $sp, 0xbc -/* 022D10 80022110 27A600D0 */ addiu $a2, $sp, 0xd0 -.L80022114: -/* 022D14 80022114 C7C60000 */ lwc1 $f6, ($fp) -/* 022D18 80022118 C7C8FFFC */ lwc1 $f8, -4($fp) -/* 022D1C 8002211C 27DE0004 */ addiu $fp, $fp, 4 -/* 022D20 80022120 46083301 */ sub.s $f12, $f6, $f8 -/* 022D24 80022124 28A10005 */ slti $at, $a1, 5 -/* 022D28 80022128 460060A1 */ cvt.d.s $f2, $f12 -/* 022D2C 8002212C 4622903C */ c.lt.d $f18, $f2 -/* 022D30 80022130 46008006 */ mov.s $f0, $f16 -/* 022D34 80022134 45000005 */ bc1f .L8002214C -/* 022D38 80022138 01452023 */ subu $a0, $t2, $a1 -/* 022D3C 8002213C 46008121 */ cvt.d.s $f4, $f16 -/* 022D40 80022140 462E2281 */ sub.d $f10, $f4, $f14 -/* 022D44 80022144 10000008 */ b .L80022168 -/* 022D48 80022148 46205020 */ cvt.s.d $f0, $f10 -.L8002214C: -/* 022D4C 8002214C 4634103C */ c.lt.d $f2, $f20 -/* 022D50 80022150 00000000 */ nop -/* 022D54 80022154 45000004 */ bc1f .L80022168 -/* 022D58 80022158 00000000 */ nop -/* 022D5C 8002215C 460081A1 */ cvt.d.s $f6, $f16 -/* 022D60 80022160 462E3200 */ add.d $f8, $f6, $f14 -/* 022D64 80022164 46204020 */ cvt.s.d $f0, $f8 -.L80022168: -/* 022D68 80022168 10200020 */ beqz $at, .L800221EC -/* 022D6C 8002216C 00A08025 */ move $s0, $a1 -/* 022D70 80022170 30980003 */ andi $t8, $a0, 3 -/* 022D74 80022174 1300000B */ beqz $t8, .L800221A4 -/* 022D78 80022178 03051821 */ addu $v1, $t8, $a1 -/* 022D7C 8002217C 0010C880 */ sll $t9, $s0, 2 -/* 022D80 80022180 27AB00BC */ addiu $t3, $sp, 0xbc -/* 022D84 80022184 032B1021 */ addu $v0, $t9, $t3 -.L80022188: -/* 022D88 80022188 C4440000 */ lwc1 $f4, ($v0) -/* 022D8C 8002218C 26100001 */ addiu $s0, $s0, 1 -/* 022D90 80022190 46002280 */ add.s $f10, $f4, $f0 -/* 022D94 80022194 24420004 */ addiu $v0, $v0, 4 -/* 022D98 80022198 1470FFFB */ bne $v1, $s0, .L80022188 -/* 022D9C 8002219C E44AFFFC */ swc1 $f10, -4($v0) -/* 022DA0 800221A0 120A0011 */ beq $s0, $t2, .L800221E8 -.L800221A4: -/* 022DA4 800221A4 00106080 */ sll $t4, $s0, 2 -/* 022DA8 800221A8 27AD00BC */ addiu $t5, $sp, 0xbc -/* 022DAC 800221AC 018D1021 */ addu $v0, $t4, $t5 -.L800221B0: -/* 022DB0 800221B0 C4460000 */ lwc1 $f6, ($v0) -/* 022DB4 800221B4 C4440004 */ lwc1 $f4, 4($v0) -/* 022DB8 800221B8 46003200 */ add.s $f8, $f6, $f0 -/* 022DBC 800221BC C4460008 */ lwc1 $f6, 8($v0) -/* 022DC0 800221C0 46002280 */ add.s $f10, $f4, $f0 -/* 022DC4 800221C4 C444000C */ lwc1 $f4, 0xc($v0) -/* 022DC8 800221C8 E44A0004 */ swc1 $f10, 4($v0) -/* 022DCC 800221CC E4480000 */ swc1 $f8, ($v0) -/* 022DD0 800221D0 46003200 */ add.s $f8, $f6, $f0 -/* 022DD4 800221D4 24420010 */ addiu $v0, $v0, 0x10 -/* 022DD8 800221D8 46002280 */ add.s $f10, $f4, $f0 -/* 022DDC 800221DC E448FFF8 */ swc1 $f8, -8($v0) -/* 022DE0 800221E0 1446FFF3 */ bne $v0, $a2, .L800221B0 -/* 022DE4 800221E4 E44AFFFC */ swc1 $f10, -4($v0) -.L800221E8: -/* 022DE8 800221E8 00A08025 */ move $s0, $a1 -.L800221EC: -/* 022DEC 800221EC C6C60000 */ lwc1 $f6, ($s6) -/* 022DF0 800221F0 C6C8FFFC */ lwc1 $f8, -4($s6) -/* 022DF4 800221F4 26D60004 */ addiu $s6, $s6, 4 -/* 022DF8 800221F8 46083301 */ sub.s $f12, $f6, $f8 -/* 022DFC 800221FC 28A10005 */ slti $at, $a1, 5 -/* 022E00 80022200 460060A1 */ cvt.d.s $f2, $f12 -/* 022E04 80022204 4622903C */ c.lt.d $f18, $f2 -/* 022E08 80022208 46008006 */ mov.s $f0, $f16 -/* 022E0C 8002220C 45000005 */ bc1f .L80022224 -/* 022E10 80022210 240F0005 */ li $t7, 5 -/* 022E14 80022214 46008121 */ cvt.d.s $f4, $f16 -/* 022E18 80022218 462E2281 */ sub.d $f10, $f4, $f14 -/* 022E1C 8002221C 10000008 */ b .L80022240 -/* 022E20 80022220 46205020 */ cvt.s.d $f0, $f10 -.L80022224: -/* 022E24 80022224 4634103C */ c.lt.d $f2, $f20 -/* 022E28 80022228 00000000 */ nop -/* 022E2C 8002222C 45000004 */ bc1f .L80022240 -/* 022E30 80022230 00000000 */ nop -/* 022E34 80022234 460081A1 */ cvt.d.s $f6, $f16 -/* 022E38 80022238 462E3200 */ add.d $f8, $f6, $f14 -/* 022E3C 8002223C 46204020 */ cvt.s.d $f0, $f8 -.L80022240: -/* 022E40 80022240 10200020 */ beqz $at, .L800222C4 -/* 022E44 80022244 01E52023 */ subu $a0, $t7, $a1 -/* 022E48 80022248 308E0003 */ andi $t6, $a0, 3 -/* 022E4C 8002224C 11C0000B */ beqz $t6, .L8002227C -/* 022E50 80022250 01C51821 */ addu $v1, $t6, $a1 -/* 022E54 80022254 0010C080 */ sll $t8, $s0, 2 -/* 022E58 80022258 27B900A8 */ addiu $t9, $sp, 0xa8 -/* 022E5C 8002225C 03191021 */ addu $v0, $t8, $t9 -.L80022260: -/* 022E60 80022260 C4440000 */ lwc1 $f4, ($v0) -/* 022E64 80022264 26100001 */ addiu $s0, $s0, 1 -/* 022E68 80022268 46002280 */ add.s $f10, $f4, $f0 -/* 022E6C 8002226C 24420004 */ addiu $v0, $v0, 4 -/* 022E70 80022270 1470FFFB */ bne $v1, $s0, .L80022260 -/* 022E74 80022274 E44AFFFC */ swc1 $f10, -4($v0) -/* 022E78 80022278 120A0011 */ beq $s0, $t2, .L800222C0 -.L8002227C: -/* 022E7C 8002227C 00105880 */ sll $t3, $s0, 2 -/* 022E80 80022280 27AC00A8 */ addiu $t4, $sp, 0xa8 -/* 022E84 80022284 016C1021 */ addu $v0, $t3, $t4 -.L80022288: -/* 022E88 80022288 C4460000 */ lwc1 $f6, ($v0) -/* 022E8C 8002228C C4440004 */ lwc1 $f4, 4($v0) -/* 022E90 80022290 46003200 */ add.s $f8, $f6, $f0 -/* 022E94 80022294 C4460008 */ lwc1 $f6, 8($v0) -/* 022E98 80022298 46002280 */ add.s $f10, $f4, $f0 -/* 022E9C 8002229C C444000C */ lwc1 $f4, 0xc($v0) -/* 022EA0 800222A0 E44A0004 */ swc1 $f10, 4($v0) -/* 022EA4 800222A4 E4480000 */ swc1 $f8, ($v0) -/* 022EA8 800222A8 46003200 */ add.s $f8, $f6, $f0 -/* 022EAC 800222AC 24420010 */ addiu $v0, $v0, 0x10 -/* 022EB0 800222B0 46002280 */ add.s $f10, $f4, $f0 -/* 022EB4 800222B4 E448FFF8 */ swc1 $f8, -8($v0) -/* 022EB8 800222B8 1447FFF3 */ bne $v0, $a3, .L80022288 -/* 022EBC 800222BC E44AFFFC */ swc1 $f10, -4($v0) -.L800222C0: -/* 022EC0 800222C0 00A08025 */ move $s0, $a1 -.L800222C4: -/* 022EC4 800222C4 C5260000 */ lwc1 $f6, ($t1) -/* 022EC8 800222C8 C528FFFC */ lwc1 $f8, -4($t1) -/* 022ECC 800222CC 240D0005 */ li $t5, 5 -/* 022ED0 800222D0 46083301 */ sub.s $f12, $f6, $f8 -/* 022ED4 800222D4 01A52023 */ subu $a0, $t5, $a1 -/* 022ED8 800222D8 460060A1 */ cvt.d.s $f2, $f12 -/* 022EDC 800222DC 4622903C */ c.lt.d $f18, $f2 -/* 022EE0 800222E0 46008006 */ mov.s $f0, $f16 -/* 022EE4 800222E4 45000005 */ bc1f .L800222FC -/* 022EE8 800222E8 28A10005 */ slti $at, $a1, 5 -/* 022EEC 800222EC 46008121 */ cvt.d.s $f4, $f16 -/* 022EF0 800222F0 462E2281 */ sub.d $f10, $f4, $f14 -/* 022EF4 800222F4 10000008 */ b .L80022318 -/* 022EF8 800222F8 46205020 */ cvt.s.d $f0, $f10 -.L800222FC: -/* 022EFC 800222FC 4634103C */ c.lt.d $f2, $f20 -/* 022F00 80022300 00000000 */ nop -/* 022F04 80022304 45000004 */ bc1f .L80022318 -/* 022F08 80022308 00000000 */ nop -/* 022F0C 8002230C 460081A1 */ cvt.d.s $f6, $f16 -/* 022F10 80022310 462E3200 */ add.d $f8, $f6, $f14 -/* 022F14 80022314 46204020 */ cvt.s.d $f0, $f8 -.L80022318: -/* 022F18 80022318 1020001E */ beqz $at, .L80022394 -/* 022F1C 8002231C 308F0003 */ andi $t7, $a0, 3 -/* 022F20 80022320 11E0000B */ beqz $t7, .L80022350 -/* 022F24 80022324 01E51821 */ addu $v1, $t7, $a1 -/* 022F28 80022328 00107080 */ sll $t6, $s0, 2 -/* 022F2C 8002232C 27B80094 */ addiu $t8, $sp, 0x94 -/* 022F30 80022330 01D81021 */ addu $v0, $t6, $t8 -.L80022334: -/* 022F34 80022334 C4440000 */ lwc1 $f4, ($v0) -/* 022F38 80022338 26100001 */ addiu $s0, $s0, 1 -/* 022F3C 8002233C 46002280 */ add.s $f10, $f4, $f0 -/* 022F40 80022340 24420004 */ addiu $v0, $v0, 4 -/* 022F44 80022344 1470FFFB */ bne $v1, $s0, .L80022334 -/* 022F48 80022348 E44AFFFC */ swc1 $f10, -4($v0) -/* 022F4C 8002234C 120A0011 */ beq $s0, $t2, .L80022394 -.L80022350: -/* 022F50 80022350 0010C880 */ sll $t9, $s0, 2 -/* 022F54 80022354 27AB0094 */ addiu $t3, $sp, 0x94 -/* 022F58 80022358 032B1021 */ addu $v0, $t9, $t3 -.L8002235C: -/* 022F5C 8002235C C4460000 */ lwc1 $f6, ($v0) -/* 022F60 80022360 C4440004 */ lwc1 $f4, 4($v0) -/* 022F64 80022364 46003200 */ add.s $f8, $f6, $f0 -/* 022F68 80022368 C4460008 */ lwc1 $f6, 8($v0) -/* 022F6C 8002236C 46002280 */ add.s $f10, $f4, $f0 -/* 022F70 80022370 C444000C */ lwc1 $f4, 0xc($v0) -/* 022F74 80022374 E44A0004 */ swc1 $f10, 4($v0) -/* 022F78 80022378 E4480000 */ swc1 $f8, ($v0) -/* 022F7C 8002237C 46003200 */ add.s $f8, $f6, $f0 -/* 022F80 80022380 24420010 */ addiu $v0, $v0, 0x10 -/* 022F84 80022384 46002280 */ add.s $f10, $f4, $f0 -/* 022F88 80022388 E448FFF8 */ swc1 $f8, -8($v0) -/* 022F8C 8002238C 1448FFF3 */ bne $v0, $t0, .L8002235C -/* 022F90 80022390 E44AFFFC */ swc1 $f10, -4($v0) -.L80022394: -/* 022F94 80022394 24A50001 */ addiu $a1, $a1, 1 -/* 022F98 80022398 14AAFF5E */ bne $a1, $t2, .L80022114 -/* 022F9C 8002239C 25290004 */ addiu $t1, $t1, 4 -/* 022FA0 800223A0 8FAC015C */ lw $t4, 0x15c($sp) -/* 022FA4 800223A4 8FA600EC */ lw $a2, 0xec($sp) -/* 022FA8 800223A8 818D003F */ lb $t5, 0x3f($t4) -/* 022FAC 800223AC 00002825 */ move $a1, $zero -/* 022FB0 800223B0 15A0002B */ bnez $t5, .L80022460 -/* 022FB4 800223B4 27A400BC */ addiu $a0, $sp, 0xbc -/* 022FB8 800223B8 8FA600EC */ lw $a2, 0xec($sp) -/* 022FBC 800223BC 0C008950 */ jal catmull_rom_interpolation -/* 022FC0 800223C0 27A400BC */ addiu $a0, $sp, 0xbc -/* 022FC4 800223C4 444FF800 */ cfc1 $t7, $31 -/* 022FC8 800223C8 8FB80154 */ lw $t8, 0x154($sp) -/* 022FCC 800223CC 35E10003 */ ori $at, $t7, 3 -/* 022FD0 800223D0 38210002 */ xori $at, $at, 2 -/* 022FD4 800223D4 44C1F800 */ ctc1 $at, $31 -/* 022FD8 800223D8 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 022FDC 800223DC 460001A4 */ cvt.w.s $f6, $f0 -/* 022FE0 800223E0 00002825 */ move $a1, $zero -/* 022FE4 800223E4 440E3000 */ mfc1 $t6, $f6 -/* 022FE8 800223E8 44CFF800 */ ctc1 $t7, $31 -/* 022FEC 800223EC A70E0000 */ sh $t6, ($t8) -/* 022FF0 800223F0 8FA600EC */ lw $a2, 0xec($sp) -/* 022FF4 800223F4 0C008950 */ jal catmull_rom_interpolation -/* 022FF8 800223F8 00000000 */ nop -/* 022FFC 800223FC 4459F800 */ cfc1 $t9, $31 -/* 023000 80022400 8FAC0154 */ lw $t4, 0x154($sp) -/* 023004 80022404 37210003 */ ori $at, $t9, 3 -/* 023008 80022408 38210002 */ xori $at, $at, 2 -/* 02300C 8002240C 44C1F800 */ ctc1 $at, $31 -/* 023010 80022410 27A40094 */ addiu $a0, $sp, 0x94 -/* 023014 80022414 46000224 */ cvt.w.s $f8, $f0 -/* 023018 80022418 00002825 */ move $a1, $zero -/* 02301C 8002241C 440B4000 */ mfc1 $t3, $f8 -/* 023020 80022420 44D9F800 */ ctc1 $t9, $31 -/* 023024 80022424 A58B0002 */ sh $t3, 2($t4) -/* 023028 80022428 8FA600EC */ lw $a2, 0xec($sp) -/* 02302C 8002242C 0C008950 */ jal catmull_rom_interpolation -/* 023030 80022430 00000000 */ nop -/* 023034 80022434 444DF800 */ cfc1 $t5, $31 -/* 023038 80022438 8FAE0154 */ lw $t6, 0x154($sp) -/* 02303C 8002243C 35A10003 */ ori $at, $t5, 3 -/* 023040 80022440 38210002 */ xori $at, $at, 2 -/* 023044 80022444 44C1F800 */ ctc1 $at, $31 -/* 023048 80022448 00000000 */ nop -/* 02304C 8002244C 46000124 */ cvt.w.s $f4, $f0 -/* 023050 80022450 440F2000 */ mfc1 $t7, $f4 -/* 023054 80022454 44CDF800 */ ctc1 $t5, $31 -/* 023058 80022458 1000002A */ b .L80022504 -/* 02305C 8002245C A5CF0004 */ sh $t7, 4($t6) -.L80022460: -/* 023060 80022460 0C008A22 */ jal lerp -/* 023064 80022464 00002825 */ move $a1, $zero -/* 023068 80022468 4458F800 */ cfc1 $t8, $31 -/* 02306C 8002246C 8FAB0154 */ lw $t3, 0x154($sp) -/* 023070 80022470 37010003 */ ori $at, $t8, 3 -/* 023074 80022474 38210002 */ xori $at, $at, 2 -/* 023078 80022478 44C1F800 */ ctc1 $at, $31 -/* 02307C 8002247C 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 023080 80022480 460002A4 */ cvt.w.s $f10, $f0 -/* 023084 80022484 00002825 */ move $a1, $zero -/* 023088 80022488 44195000 */ mfc1 $t9, $f10 -/* 02308C 8002248C 44D8F800 */ ctc1 $t8, $31 -/* 023090 80022490 A5790000 */ sh $t9, ($t3) -/* 023094 80022494 8FA600EC */ lw $a2, 0xec($sp) -/* 023098 80022498 0C008A22 */ jal lerp -/* 02309C 8002249C 00000000 */ nop -/* 0230A0 800224A0 444CF800 */ cfc1 $t4, $31 -/* 0230A4 800224A4 8FAF0154 */ lw $t7, 0x154($sp) -/* 0230A8 800224A8 35810003 */ ori $at, $t4, 3 -/* 0230AC 800224AC 38210002 */ xori $at, $at, 2 -/* 0230B0 800224B0 44C1F800 */ ctc1 $at, $31 -/* 0230B4 800224B4 27A40094 */ addiu $a0, $sp, 0x94 -/* 0230B8 800224B8 460001A4 */ cvt.w.s $f6, $f0 -/* 0230BC 800224BC 00002825 */ move $a1, $zero -/* 0230C0 800224C0 440D3000 */ mfc1 $t5, $f6 -/* 0230C4 800224C4 44CCF800 */ ctc1 $t4, $31 -/* 0230C8 800224C8 A5ED0002 */ sh $t5, 2($t7) -/* 0230CC 800224CC 8FA600EC */ lw $a2, 0xec($sp) -/* 0230D0 800224D0 0C008A22 */ jal lerp -/* 0230D4 800224D4 00000000 */ nop -/* 0230D8 800224D8 444EF800 */ cfc1 $t6, $31 -/* 0230DC 800224DC 8FB90154 */ lw $t9, 0x154($sp) -/* 0230E0 800224E0 35C10003 */ ori $at, $t6, 3 -/* 0230E4 800224E4 38210002 */ xori $at, $at, 2 -/* 0230E8 800224E8 44C1F800 */ ctc1 $at, $31 -/* 0230EC 800224EC 00000000 */ nop -/* 0230F0 800224F0 46000224 */ cvt.w.s $f8, $f0 -/* 0230F4 800224F4 44184000 */ mfc1 $t8, $f8 -/* 0230F8 800224F8 44CEF800 */ ctc1 $t6, $31 -/* 0230FC 800224FC A7380004 */ sh $t8, 4($t9) -/* 023100 80022500 00000000 */ nop -.L80022504: -/* 023104 80022504 00001025 */ move $v0, $zero -.L80022508: -/* 023108 80022508 8FBF0044 */ lw $ra, 0x44($sp) -/* 02310C 8002250C C7B50018 */ lwc1 $f21, 0x18($sp) -/* 023110 80022510 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 023114 80022514 8FB00020 */ lw $s0, 0x20($sp) -/* 023118 80022518 8FB10024 */ lw $s1, 0x24($sp) -/* 02311C 8002251C 8FB20028 */ lw $s2, 0x28($sp) -/* 023120 80022520 8FB3002C */ lw $s3, 0x2c($sp) -/* 023124 80022524 8FB40030 */ lw $s4, 0x30($sp) -/* 023128 80022528 8FB50034 */ lw $s5, 0x34($sp) -/* 02312C 8002252C 8FB60038 */ lw $s6, 0x38($sp) -/* 023130 80022530 8FB7003C */ lw $s7, 0x3c($sp) -/* 023134 80022534 8FBE0040 */ lw $fp, 0x40($sp) -/* 023138 80022538 03E00008 */ jr $ra -/* 02313C 8002253C 27BD0160 */ addiu $sp, $sp, 0x160 - diff --git a/asm/non_matchings/objects/spawn_object.s b/asm/non_matchings/objects/spawn_object.s deleted file mode 100644 index b9bfc563..00000000 --- a/asm/non_matchings/objects/spawn_object.s +++ /dev/null @@ -1,842 +0,0 @@ -.late_rodata -glabel jpt_800E51B4 -.word L8000ECD8, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000ED98, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000ECF4, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000ED10, L8000EDE0, L8000EDE0, L8000EDE0, L8000ED40, L8000EDE0, L8000EDE0, L8000EDE0, L8000EDE0, L8000ED54 - -.text -glabel spawn_object -/* 00F654 8000EA54 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 00F658 8000EA58 AFBF0024 */ sw $ra, 0x24($sp) -/* 00F65C 8000EA5C AFB30020 */ sw $s3, 0x20($sp) -/* 00F660 8000EA60 AFB2001C */ sw $s2, 0x1c($sp) -/* 00F664 8000EA64 AFB10018 */ sw $s1, 0x18($sp) -/* 00F668 8000EA68 AFB00014 */ sw $s0, 0x14($sp) -/* 00F66C 8000EA6C AFA40068 */ sw $a0, 0x68($sp) -/* 00F670 8000EA70 0C01BAA4 */ jal get_settings -/* 00F674 8000EA74 AFA5006C */ sw $a1, 0x6c($sp) -/* 00F678 8000EA78 8FA30068 */ lw $v1, 0x68($sp) -/* 00F67C 8000EA7C 00408825 */ move $s1, $v0 -/* 00F680 8000EA80 906F0001 */ lbu $t7, 1($v1) -/* 00F684 8000EA84 906E0000 */ lbu $t6, ($v1) -/* 00F688 8000EA88 31F80080 */ andi $t8, $t7, 0x80 -/* 00F68C 8000EA8C 0018C840 */ sll $t9, $t8, 1 -/* 00F690 8000EA90 01D92825 */ or $a1, $t6, $t9 -/* 00F694 8000EA94 AFA50064 */ sw $a1, 0x64($sp) -/* 00F698 8000EA98 0C02DDAE */ jal update_object_stack_trace -/* 00F69C 8000EA9C 00002025 */ move $a0, $zero -/* 00F6A0 8000EAA0 8FA3006C */ lw $v1, 0x6c($sp) -/* 00F6A4 8000EAA4 3C0F8012 */ lui $t7, %hi(gAssetsObjectHeadersTableLength) # $t7, 0x8012 -/* 00F6A8 8000EAA8 30680002 */ andi $t0, $v1, 2 -/* 00F6AC 8000EAAC 11000004 */ beqz $t0, .L8000EAC0 -/* 00F6B0 8000EAB0 01001825 */ move $v1, $t0 -/* 00F6B4 8000EAB4 87A40066 */ lh $a0, 0x66($sp) -/* 00F6B8 8000EAB8 10000009 */ b .L8000EAE0 -/* 00F6BC 8000EABC 00000000 */ nop -.L8000EAC0: -/* 00F6C0 8000EAC0 8FAA0064 */ lw $t2, 0x64($sp) -/* 00F6C4 8000EAC4 3C098012 */ lui $t1, %hi(gAssetsLvlObjTranslationTable) # $t1, 0x8012 -/* 00F6C8 8000EAC8 8D29AEB8 */ lw $t1, %lo(gAssetsLvlObjTranslationTable)($t1) -/* 00F6CC 8000EACC 000A5840 */ sll $t3, $t2, 1 -/* 00F6D0 8000EAD0 012B6021 */ addu $t4, $t1, $t3 -/* 00F6D4 8000EAD4 85840000 */ lh $a0, ($t4) -/* 00F6D8 8000EAD8 00000000 */ nop -/* 00F6DC 8000EADC A7A4004E */ sh $a0, 0x4e($sp) -.L8000EAE0: -/* 00F6E0 8000EAE0 8DEFAD68 */ lw $t7, %lo(gAssetsObjectHeadersTableLength)($t7) -/* 00F6E4 8000EAE4 00008025 */ move $s0, $zero -/* 00F6E8 8000EAE8 008F082A */ slt $at, $a0, $t7 -/* 00F6EC 8000EAEC 14200002 */ bnez $at, .L8000EAF8 -/* 00F6F0 8000EAF0 3C028012 */ lui $v0, %hi(gSpawnObjectHeap) # $v0, 0x8012 -/* 00F6F4 8000EAF4 00002025 */ move $a0, $zero -.L8000EAF8: -/* 00F6F8 8000EAF8 2442AD58 */ addiu $v0, %lo(gSpawnObjectHeap) # addiu $v0, $v0, -0x52a8 -.L8000EAFC: -/* 00F6FC 8000EAFC 8C580000 */ lw $t8, ($v0) -/* 00F700 8000EB00 00000000 */ nop -/* 00F704 8000EB04 03107021 */ addu $t6, $t8, $s0 -/* 00F708 8000EB08 26100004 */ addiu $s0, $s0, 4 -/* 00F70C 8000EB0C 2A010800 */ slti $at, $s0, 0x800 -/* 00F710 8000EB10 1420FFFA */ bnez $at, .L8000EAFC -/* 00F714 8000EB14 ADC00000 */ sw $zero, ($t6) -/* 00F718 8000EB18 8C520000 */ lw $s2, ($v0) -/* 00F71C 8000EB1C 24190002 */ li $t9, 2 -/* 00F720 8000EB20 A6590006 */ sh $t9, 6($s2) -/* 00F724 8000EB24 A7A4004E */ sh $a0, 0x4e($sp) -/* 00F728 8000EB28 0C0031C6 */ jal load_object_header -/* 00F72C 8000EB2C AFA3002C */ sw $v1, 0x2c($sp) -/* 00F730 8000EB30 14400003 */ bnez $v0, .L8000EB40 -/* 00F734 8000EB34 AE420040 */ sw $v0, 0x40($s2) -/* 00F738 8000EB38 100002BC */ b .L8000F62C -/* 00F73C 8000EB3C 00001025 */ move $v0, $zero -.L8000EB40: -/* 00F740 8000EB40 8E500040 */ lw $s0, 0x40($s2) -/* 00F744 8000EB44 00000000 */ nop -/* 00F748 8000EB48 96080030 */ lhu $t0, 0x30($s0) -/* 00F74C 8000EB4C 00000000 */ nop -/* 00F750 8000EB50 310A0080 */ andi $t2, $t0, 0x80 -/* 00F754 8000EB54 11400005 */ beqz $t2, .L8000EB6C -/* 00F758 8000EB58 00000000 */ nop -/* 00F75C 8000EB5C 86490006 */ lh $t1, 6($s2) -/* 00F760 8000EB60 8E500040 */ lw $s0, 0x40($s2) -/* 00F764 8000EB64 352B0080 */ ori $t3, $t1, 0x80 -/* 00F768 8000EB68 A64B0006 */ sh $t3, 6($s2) -.L8000EB6C: -/* 00F76C 8000EB6C 820C0054 */ lb $t4, 0x54($s0) -/* 00F770 8000EB70 24010063 */ li $at, 99 -/* 00F774 8000EB74 1581000B */ bne $t4, $at, .L8000EBA4 -/* 00F778 8000EB78 8FA20068 */ lw $v0, 0x68($sp) -/* 00F77C 8000EB7C 8E2D0010 */ lw $t5, 0x10($s1) -/* 00F780 8000EB80 00002025 */ move $a0, $zero -/* 00F784 8000EB84 31AF0001 */ andi $t7, $t5, 1 -/* 00F788 8000EB88 11E00006 */ beqz $t7, .L8000EBA4 -/* 00F78C 8000EB8C 8FA20068 */ lw $v0, 0x68($sp) -/* 00F790 8000EB90 0C02DDAE */ jal update_object_stack_trace -/* 00F794 8000EB94 2405FFFF */ li $a1, -1 -/* 00F798 8000EB98 100002A4 */ b .L8000F62C -/* 00F79C 8000EB9C 00001025 */ move $v0, $zero -/* 00F7A0 8000EBA0 8FA20068 */ lw $v0, 0x68($sp) -.L8000EBA4: -/* 00F7A4 8000EBA4 00000000 */ nop -/* 00F7A8 8000EBA8 84580002 */ lh $t8, 2($v0) -/* 00F7AC 8000EBAC 00000000 */ nop -/* 00F7B0 8000EBB0 44982000 */ mtc1 $t8, $f4 -/* 00F7B4 8000EBB4 00000000 */ nop -/* 00F7B8 8000EBB8 468021A0 */ cvt.s.w $f6, $f4 -/* 00F7BC 8000EBBC E646000C */ swc1 $f6, 0xc($s2) -/* 00F7C0 8000EBC0 844E0004 */ lh $t6, 4($v0) -/* 00F7C4 8000EBC4 C64C000C */ lwc1 $f12, 0xc($s2) -/* 00F7C8 8000EBC8 448E4000 */ mtc1 $t6, $f8 -/* 00F7CC 8000EBCC 00000000 */ nop -/* 00F7D0 8000EBD0 468042A0 */ cvt.s.w $f10, $f8 -/* 00F7D4 8000EBD4 E64A0010 */ swc1 $f10, 0x10($s2) -/* 00F7D8 8000EBD8 84590006 */ lh $t9, 6($v0) -/* 00F7DC 8000EBDC C64E0010 */ lwc1 $f14, 0x10($s2) -/* 00F7E0 8000EBE0 44998000 */ mtc1 $t9, $f16 -/* 00F7E4 8000EBE4 00000000 */ nop -/* 00F7E8 8000EBE8 468084A0 */ cvt.s.w $f18, $f16 -/* 00F7EC 8000EBEC E6520014 */ swc1 $f18, 0x14($s2) -/* 00F7F0 8000EBF0 8E460014 */ lw $a2, 0x14($s2) -/* 00F7F4 8000EBF4 0C00A7C6 */ jal get_level_segment_index_from_position -/* 00F7F8 8000EBF8 00000000 */ nop -/* 00F7FC 8000EBFC A642002E */ sh $v0, 0x2e($s2) -/* 00F800 8000EC00 87A8004E */ lh $t0, 0x4e($sp) -/* 00F804 8000EC04 00000000 */ nop -/* 00F808 8000EC08 A648002C */ sh $t0, 0x2c($s2) -/* 00F80C 8000EC0C 8FAA0068 */ lw $t2, 0x68($sp) -/* 00F810 8000EC10 00000000 */ nop -/* 00F814 8000EC14 AE4A003C */ sw $t2, 0x3c($s2) -/* 00F818 8000EC18 8FA90064 */ lw $t1, 0x64($sp) -/* 00F81C 8000EC1C 00000000 */ nop -/* 00F820 8000EC20 A649004A */ sh $t1, 0x4a($s2) -/* 00F824 8000EC24 87A40066 */ lh $a0, 0x66($sp) -/* 00F828 8000EC28 0C00916D */ jal func_800245B4 -/* 00F82C 8000EC2C 00000000 */ nop -/* 00F830 8000EC30 8E500040 */ lw $s0, 0x40($s2) -/* 00F834 8000EC34 240C00FF */ li $t4, 255 -/* 00F838 8000EC38 C604000C */ lwc1 $f4, 0xc($s0) -/* 00F83C 8000EC3C 00000000 */ nop -/* 00F840 8000EC40 E6440008 */ swc1 $f4, 8($s2) -/* 00F844 8000EC44 860B0050 */ lh $t3, 0x50($s0) -/* 00F848 8000EC48 C64A0008 */ lwc1 $f10, 8($s2) -/* 00F84C 8000EC4C 448B3000 */ mtc1 $t3, $f6 -/* 00F850 8000EC50 A24C0039 */ sb $t4, 0x39($s2) -/* 00F854 8000EC54 46803220 */ cvt.s.w $f8, $f6 -/* 00F858 8000EC58 460A4402 */ mul.s $f16, $f8, $f10 -/* 00F85C 8000EC5C E6500034 */ swc1 $f16, 0x34($s2) -/* 00F860 8000EC60 82040054 */ lb $a0, 0x54($s0) -/* 00F864 8000EC64 0C008F8C */ jal obj_init_property_flags -/* 00F868 8000EC68 00000000 */ nop -/* 00F86C 8000EC6C AFA20050 */ sw $v0, 0x50($sp) -/* 00F870 8000EC70 8E500040 */ lw $s0, 0x40($s2) -/* 00F874 8000EC74 8FA7006C */ lw $a3, 0x6c($sp) -/* 00F878 8000EC78 820D0052 */ lb $t5, 0x52($s0) -/* 00F87C 8000EC7C 264E0080 */ addiu $t6, $s2, 0x80 -/* 00F880 8000EC80 25AF0001 */ addiu $t7, $t5, 1 -/* 00F884 8000EC84 A20F0052 */ sb $t7, 0x52($s0) -/* 00F888 8000EC88 8E500040 */ lw $s0, 0x40($s2) -/* 00F88C 8000EC8C 30F90010 */ andi $t9, $a3, 0x10 -/* 00F890 8000EC90 82180053 */ lb $t8, 0x53($s0) -/* 00F894 8000EC94 82130055 */ lb $s3, 0x55($s0) -/* 00F898 8000EC98 AFB80064 */ sw $t8, 0x64($sp) -/* 00F89C 8000EC9C 13200002 */ beqz $t9, .L8000ECA8 -/* 00F8A0 8000ECA0 AE4E0068 */ sw $t6, 0x68($s2) -/* 00F8A4 8000ECA4 24130001 */ li $s3, 1 -.L8000ECA8: -/* 00F8A8 8000ECA8 82080054 */ lb $t0, 0x54($s0) -/* 00F8AC 8000ECAC 00003025 */ move $a2, $zero -/* 00F8B0 8000ECB0 250AFFC2 */ addiu $t2, $t0, -0x3e -/* 00F8B4 8000ECB4 2D410027 */ sltiu $at, $t2, 0x27 -/* 00F8B8 8000ECB8 10200049 */ beqz $at, .L8000EDE0 -/* 00F8BC 8000ECBC 000A5080 */ sll $t2, $t2, 2 -/* 00F8C0 8000ECC0 3C01800E */ lui $at, %hi(jpt_800E51B4) # $at, 0x800e -/* 00F8C4 8000ECC4 002A0821 */ addu $at, $at, $t2 -/* 00F8C8 8000ECC8 8C2A51B4 */ lw $t2, %lo(jpt_800E51B4)($at) -/* 00F8CC 8000ECCC 00000000 */ nop -/* 00F8D0 8000ECD0 01400008 */ jr $t2 -/* 00F8D4 8000ECD4 00000000 */ nop -glabel L8000ECD8 -/* 00F8D8 8000ECD8 24040007 */ li $a0, 7 -/* 00F8DC 8000ECDC 0C01867D */ jal func_800619F4 -/* 00F8E0 8000ECE0 AFA6005C */ sw $a2, 0x5c($sp) -/* 00F8E4 8000ECE4 8FA6005C */ lw $a2, 0x5c($sp) -/* 00F8E8 8000ECE8 8FA7006C */ lw $a3, 0x6c($sp) -/* 00F8EC 8000ECEC 1000003D */ b .L8000EDE4 -/* 00F8F0 8000ECF0 8FAF002C */ lw $t7, 0x2c($sp) -glabel L8000ECF4 -/* 00F8F4 8000ECF4 0C02708A */ jal get_character_id_from_slot -/* 00F8F8 8000ECF8 00002025 */ move $a0, $zero -/* 00F8FC 8000ECFC A242003A */ sb $v0, 0x3a($s2) -/* 00F900 8000ED00 8FA7006C */ lw $a3, 0x6c($sp) -/* 00F904 8000ED04 00403025 */ move $a2, $v0 -/* 00F908 8000ED08 10000035 */ b .L8000EDE0 -/* 00F90C 8000ED0C 24530001 */ addiu $s3, $v0, 1 -glabel L8000ED10 -/* 00F910 8000ED10 922B0048 */ lbu $t3, 0x48($s1) -/* 00F914 8000ED14 9629000E */ lhu $t1, 0xe($s1) -/* 00F918 8000ED18 256CFFFF */ addiu $t4, $t3, -1 -/* 00F91C 8000ED1C 000C6840 */ sll $t5, $t4, 1 -/* 00F920 8000ED20 01A93007 */ srav $a2, $t1, $t5 -/* 00F924 8000ED24 30CF0003 */ andi $t7, $a2, 3 -/* 00F928 8000ED28 11E0002D */ beqz $t7, .L8000EDE0 -/* 00F92C 8000ED2C 01E03025 */ move $a2, $t7 -/* 00F930 8000ED30 25E6FFFF */ addiu $a2, $t7, -1 -/* 00F934 8000ED34 24D30001 */ addiu $s3, $a2, 1 -/* 00F938 8000ED38 10000029 */ b .L8000EDE0 -/* 00F93C 8000ED3C A246003A */ sb $a2, 0x3a($s2) -glabel L8000ED40 -/* 00F940 8000ED40 92260017 */ lbu $a2, 0x17($s1) -/* 00F944 8000ED44 00000000 */ nop -/* 00F948 8000ED48 24D30001 */ addiu $s3, $a2, 1 -/* 00F94C 8000ED4C 10000024 */ b .L8000EDE0 -/* 00F950 8000ED50 A246003A */ sb $a2, 0x3a($s2) -glabel L8000ED54 -/* 00F954 8000ED54 9638000E */ lhu $t8, 0xe($s1) -/* 00F958 8000ED58 00009825 */ move $s3, $zero -/* 00F95C 8000ED5C 24020003 */ li $v0, 3 -/* 00F960 8000ED60 AFB80064 */ sw $t8, 0x64($sp) -.L8000ED64: -/* 00F964 8000ED64 8FAE0064 */ lw $t6, 0x64($sp) -/* 00F968 8000ED68 8FA80064 */ lw $t0, 0x64($sp) -/* 00F96C 8000ED6C 31D90003 */ andi $t9, $t6, 3 -/* 00F970 8000ED70 14590002 */ bne $v0, $t9, .L8000ED7C -/* 00F974 8000ED74 00085083 */ sra $t2, $t0, 2 -/* 00F978 8000ED78 24C60001 */ addiu $a2, $a2, 1 -.L8000ED7C: -/* 00F97C 8000ED7C 26730001 */ addiu $s3, $s3, 1 -/* 00F980 8000ED80 2A610004 */ slti $at, $s3, 4 -/* 00F984 8000ED84 1420FFF7 */ bnez $at, .L8000ED64 -/* 00F988 8000ED88 AFAA0064 */ sw $t2, 0x64($sp) -/* 00F98C 8000ED8C A246003A */ sb $a2, 0x3a($s2) -/* 00F990 8000ED90 10000013 */ b .L8000EDE0 -/* 00F994 8000ED94 24D30001 */ addiu $s3, $a2, 1 -glabel L8000ED98 -/* 00F998 8000ED98 24130001 */ li $s3, 1 -/* 00F99C 8000ED9C 0C027B1C */ jal is_in_adventure_two -/* 00F9A0 8000EDA0 AFA6005C */ sw $a2, 0x5c($sp) -/* 00F9A4 8000EDA4 8FA6005C */ lw $a2, 0x5c($sp) -/* 00F9A8 8000EDA8 10400008 */ beqz $v0, .L8000EDCC -/* 00F9AC 8000EDAC 00000000 */ nop -/* 00F9B0 8000EDB0 8E4B0040 */ lw $t3, 0x40($s2) -/* 00F9B4 8000EDB4 00000000 */ nop -/* 00F9B8 8000EDB8 8D620010 */ lw $v0, 0x10($t3) -/* 00F9BC 8000EDBC 00000000 */ nop -/* 00F9C0 8000EDC0 8C4C0004 */ lw $t4, 4($v0) -/* 00F9C4 8000EDC4 00000000 */ nop -/* 00F9C8 8000EDC8 AC4C0000 */ sw $t4, ($v0) -.L8000EDCC: -/* 00F9CC 8000EDCC 8E4D0040 */ lw $t5, 0x40($s2) -/* 00F9D0 8000EDD0 24090001 */ li $t1, 1 -/* 00F9D4 8000EDD4 A1A90055 */ sb $t1, 0x55($t5) -/* 00F9D8 8000EDD8 8FA7006C */ lw $a3, 0x6c($sp) -/* 00F9DC 8000EDDC 00000000 */ nop -.L8000EDE0: -glabel L8000EDE0 -/* 00F9E0 8000EDE0 8FAF002C */ lw $t7, 0x2c($sp) -.L8000EDE4: -/* 00F9E4 8000EDE4 00000000 */ nop -/* 00F9E8 8000EDE8 15E0004B */ bnez $t7, .L8000EF18 -/* 00F9EC 8000EDEC 8FB80064 */ lw $t8, 0x64($sp) -/* 00F9F0 8000EDF0 8642004A */ lh $v0, 0x4a($s2) -/* 00F9F4 8000EDF4 24010019 */ li $at, 25 -/* 00F9F8 8000EDF8 10410016 */ beq $v0, $at, .L8000EE54 -/* 00F9FC 8000EDFC 240100CB */ li $at, 203 -/* 00FA00 8000EE00 14410045 */ bne $v0, $at, .L8000EF18 -/* 00FA04 8000EE04 8FB80064 */ lw $t8, 0x64($sp) -/* 00FA08 8000EE08 24130001 */ li $s3, 1 -/* 00FA0C 8000EE0C 0C027B1C */ jal is_in_adventure_two -/* 00FA10 8000EE10 AFA6005C */ sw $a2, 0x5c($sp) -/* 00FA14 8000EE14 8FA6005C */ lw $a2, 0x5c($sp) -/* 00FA18 8000EE18 10400008 */ beqz $v0, .L8000EE3C -/* 00FA1C 8000EE1C 00000000 */ nop -/* 00FA20 8000EE20 8E580040 */ lw $t8, 0x40($s2) -/* 00FA24 8000EE24 00000000 */ nop -/* 00FA28 8000EE28 8F020010 */ lw $v0, 0x10($t8) -/* 00FA2C 8000EE2C 00000000 */ nop -/* 00FA30 8000EE30 8C4E0004 */ lw $t6, 4($v0) -/* 00FA34 8000EE34 00000000 */ nop -/* 00FA38 8000EE38 AC4E0000 */ sw $t6, ($v0) -.L8000EE3C: -/* 00FA3C 8000EE3C 8E480040 */ lw $t0, 0x40($s2) -/* 00FA40 8000EE40 24190001 */ li $t9, 1 -/* 00FA44 8000EE44 A1190055 */ sb $t9, 0x55($t0) -/* 00FA48 8000EE48 8FA7006C */ lw $a3, 0x6c($sp) -/* 00FA4C 8000EE4C 10000032 */ b .L8000EF18 -/* 00FA50 8000EE50 8FB80064 */ lw $t8, 0x64($sp) -.L8000EE54: -/* 00FA54 8000EE54 0C027B1C */ jal is_in_adventure_two -/* 00FA58 8000EE58 00000000 */ nop -/* 00FA5C 8000EE5C 10400028 */ beqz $v0, .L8000EF00 -/* 00FA60 8000EE60 24130005 */ li $s3, 5 -/* 00FA64 8000EE64 8E4A0040 */ lw $t2, 0x40($s2) -/* 00FA68 8000EE68 24060001 */ li $a2, 1 -/* 00FA6C 8000EE6C 8D420010 */ lw $v0, 0x10($t2) -/* 00FA70 8000EE70 00068080 */ sll $s0, $a2, 2 -/* 00FA74 8000EE74 8C4B0014 */ lw $t3, 0x14($v0) -/* 00FA78 8000EE78 00000000 */ nop -/* 00FA7C 8000EE7C AC4B0000 */ sw $t3, ($v0) -/* 00FA80 8000EE80 8E4C0040 */ lw $t4, 0x40($s2) -/* 00FA84 8000EE84 00000000 */ nop -/* 00FA88 8000EE88 8D890010 */ lw $t1, 0x10($t4) -/* 00FA8C 8000EE8C 00000000 */ nop -/* 00FA90 8000EE90 01301021 */ addu $v0, $t1, $s0 -/* 00FA94 8000EE94 8C4D0014 */ lw $t5, 0x14($v0) -/* 00FA98 8000EE98 00000000 */ nop -/* 00FA9C 8000EE9C AC4D0000 */ sw $t5, ($v0) -/* 00FAA0 8000EEA0 8E4F0040 */ lw $t7, 0x40($s2) -/* 00FAA4 8000EEA4 00000000 */ nop -/* 00FAA8 8000EEA8 8DF80010 */ lw $t8, 0x10($t7) -/* 00FAAC 8000EEAC 00000000 */ nop -/* 00FAB0 8000EEB0 03101021 */ addu $v0, $t8, $s0 -/* 00FAB4 8000EEB4 8C4E0018 */ lw $t6, 0x18($v0) -/* 00FAB8 8000EEB8 00000000 */ nop -/* 00FABC 8000EEBC AC4E0004 */ sw $t6, 4($v0) -/* 00FAC0 8000EEC0 8E590040 */ lw $t9, 0x40($s2) -/* 00FAC4 8000EEC4 00000000 */ nop -/* 00FAC8 8000EEC8 8F280010 */ lw $t0, 0x10($t9) -/* 00FACC 8000EECC 00000000 */ nop -/* 00FAD0 8000EED0 01101021 */ addu $v0, $t0, $s0 -/* 00FAD4 8000EED4 8C4A001C */ lw $t2, 0x1c($v0) -/* 00FAD8 8000EED8 00000000 */ nop -/* 00FADC 8000EEDC AC4A0008 */ sw $t2, 8($v0) -/* 00FAE0 8000EEE0 8E4B0040 */ lw $t3, 0x40($s2) -/* 00FAE4 8000EEE4 00000000 */ nop -/* 00FAE8 8000EEE8 8D6C0010 */ lw $t4, 0x10($t3) -/* 00FAEC 8000EEEC 00000000 */ nop -/* 00FAF0 8000EEF0 01901021 */ addu $v0, $t4, $s0 -/* 00FAF4 8000EEF4 8C490020 */ lw $t1, 0x20($v0) -/* 00FAF8 8000EEF8 00000000 */ nop -/* 00FAFC 8000EEFC AC49000C */ sw $t1, 0xc($v0) -.L8000EF00: -/* 00FB00 8000EF00 8E4F0040 */ lw $t7, 0x40($s2) -/* 00FB04 8000EF04 240D0005 */ li $t5, 5 -/* 00FB08 8000EF08 A1ED0055 */ sb $t5, 0x55($t7) -/* 00FB0C 8000EF0C 8FA7006C */ lw $a3, 0x6c($sp) -/* 00FB10 8000EF10 00003025 */ move $a2, $zero -/* 00FB14 8000EF14 8FB80064 */ lw $t8, 0x64($sp) -.L8000EF18: -/* 00FB18 8000EF18 8FAB0064 */ lw $t3, 0x64($sp) -/* 00FB1C 8000EF1C 17000033 */ bnez $t8, .L8000EFEC -/* 00FB20 8000EF20 00001825 */ move $v1, $zero -/* 00FB24 8000EF24 00D3082A */ slt $at, $a2, $s3 -/* 00FB28 8000EF28 10200066 */ beqz $at, .L8000F0C4 -/* 00FB2C 8000EF2C 00068080 */ sll $s0, $a2, 2 -.L8000EF30: -/* 00FB30 8000EF30 14C00009 */ bnez $a2, .L8000EF58 -/* 00FB34 8000EF34 24D10001 */ addiu $s1, $a2, 1 -/* 00FB38 8000EF38 30EE0004 */ andi $t6, $a3, 4 -/* 00FB3C 8000EF3C 11C00007 */ beqz $t6, .L8000EF5C -/* 00FB40 8000EF40 24010001 */ li $at, 1 -/* 00FB44 8000EF44 8E590068 */ lw $t9, 0x68($s2) -/* 00FB48 8000EF48 00000000 */ nop -/* 00FB4C 8000EF4C 03304021 */ addu $t0, $t9, $s0 -/* 00FB50 8000EF50 1000001F */ b .L8000EFD0 -/* 00FB54 8000EF54 AD000000 */ sw $zero, ($t0) -.L8000EF58: -/* 00FB58 8000EF58 24010001 */ li $at, 1 -.L8000EF5C: -/* 00FB5C 8000EF5C 14C10008 */ bne $a2, $at, .L8000EF80 -/* 00FB60 8000EF60 30EA0008 */ andi $t2, $a3, 8 -/* 00FB64 8000EF64 11400006 */ beqz $t2, .L8000EF80 -/* 00FB68 8000EF68 00000000 */ nop -/* 00FB6C 8000EF6C 8E4B0068 */ lw $t3, 0x68($s2) -/* 00FB70 8000EF70 00000000 */ nop -/* 00FB74 8000EF74 01706021 */ addu $t4, $t3, $s0 -/* 00FB78 8000EF78 10000015 */ b .L8000EFD0 -/* 00FB7C 8000EF7C AD800000 */ sw $zero, ($t4) -.L8000EF80: -/* 00FB80 8000EF80 8E490040 */ lw $t1, 0x40($s2) -/* 00FB84 8000EF84 8FA50050 */ lw $a1, 0x50($sp) -/* 00FB88 8000EF88 8D2D0010 */ lw $t5, 0x10($t1) -/* 00FB8C 8000EF8C 00000000 */ nop -/* 00FB90 8000EF90 01B07821 */ addu $t7, $t5, $s0 -/* 00FB94 8000EF94 8DE40000 */ lw $a0, ($t7) -/* 00FB98 8000EF98 0C017E67 */ jal object_model_init -/* 00FB9C 8000EF9C A3A30037 */ sb $v1, 0x37($sp) -/* 00FBA0 8000EFA0 8E580068 */ lw $t8, 0x68($s2) -/* 00FBA4 8000EFA4 83A30037 */ lb $v1, 0x37($sp) -/* 00FBA8 8000EFA8 03107021 */ addu $t6, $t8, $s0 -/* 00FBAC 8000EFAC ADC20000 */ sw $v0, ($t6) -/* 00FBB0 8000EFB0 8E590068 */ lw $t9, 0x68($s2) -/* 00FBB4 8000EFB4 00000000 */ nop -/* 00FBB8 8000EFB8 03304021 */ addu $t0, $t9, $s0 -/* 00FBBC 8000EFBC 8D0A0000 */ lw $t2, ($t0) -/* 00FBC0 8000EFC0 00000000 */ nop -/* 00FBC4 8000EFC4 15400003 */ bnez $t2, .L8000EFD4 -/* 00FBC8 8000EFC8 8FA7006C */ lw $a3, 0x6c($sp) -/* 00FBCC 8000EFCC 24030001 */ li $v1, 1 -.L8000EFD0: -/* 00FBD0 8000EFD0 8FA7006C */ lw $a3, 0x6c($sp) -.L8000EFD4: -/* 00FBD4 8000EFD4 0233082A */ slt $at, $s1, $s3 -/* 00FBD8 8000EFD8 02203025 */ move $a2, $s1 -/* 00FBDC 8000EFDC 1420FFD4 */ bnez $at, .L8000EF30 -/* 00FBE0 8000EFE0 26100004 */ addiu $s0, $s0, 4 -/* 00FBE4 8000EFE4 10000037 */ b .L8000F0C4 -/* 00FBE8 8000EFE8 00000000 */ nop -.L8000EFEC: -/* 00FBEC 8000EFEC 24010004 */ li $at, 4 -/* 00FBF0 8000EFF0 1561001B */ bne $t3, $at, .L8000F060 -/* 00FBF4 8000EFF4 00D3082A */ slt $at, $a2, $s3 -/* 00FBF8 8000EFF8 10200032 */ beqz $at, .L8000F0C4 -/* 00FBFC 8000EFFC 00068080 */ sll $s0, $a2, 2 -.L8000F000: -/* 00FC00 8000F000 8E4C0040 */ lw $t4, 0x40($s2) -/* 00FC04 8000F004 24D10001 */ addiu $s1, $a2, 1 -/* 00FC08 8000F008 8D890010 */ lw $t1, 0x10($t4) -/* 00FC0C 8000F00C 00000000 */ nop -/* 00FC10 8000F010 01306821 */ addu $t5, $t1, $s0 -/* 00FC14 8000F014 8DA40000 */ lw $a0, ($t5) -/* 00FC18 8000F018 0C01EB9D */ jal load_texture -/* 00FC1C 8000F01C A3A30037 */ sb $v1, 0x37($sp) -/* 00FC20 8000F020 8E4F0068 */ lw $t7, 0x68($s2) -/* 00FC24 8000F024 83A30037 */ lb $v1, 0x37($sp) -/* 00FC28 8000F028 01F0C021 */ addu $t8, $t7, $s0 -/* 00FC2C 8000F02C AF020000 */ sw $v0, ($t8) -/* 00FC30 8000F030 8E4E0068 */ lw $t6, 0x68($s2) -/* 00FC34 8000F034 02203025 */ move $a2, $s1 -/* 00FC38 8000F038 01D0C821 */ addu $t9, $t6, $s0 -/* 00FC3C 8000F03C 8F280000 */ lw $t0, ($t9) -/* 00FC40 8000F040 0233082A */ slt $at, $s1, $s3 -/* 00FC44 8000F044 15000002 */ bnez $t0, .L8000F050 -/* 00FC48 8000F048 00000000 */ nop -/* 00FC4C 8000F04C 24030001 */ li $v1, 1 -.L8000F050: -/* 00FC50 8000F050 1420FFEB */ bnez $at, .L8000F000 -/* 00FC54 8000F054 26100004 */ addiu $s0, $s0, 4 -/* 00FC58 8000F058 1000001A */ b .L8000F0C4 -/* 00FC5C 8000F05C 00000000 */ nop -.L8000F060: -/* 00FC60 8000F060 00D3082A */ slt $at, $a2, $s3 -/* 00FC64 8000F064 10200017 */ beqz $at, .L8000F0C4 -/* 00FC68 8000F068 00068080 */ sll $s0, $a2, 2 -.L8000F06C: -/* 00FC6C 8000F06C 8E4A0040 */ lw $t2, 0x40($s2) -/* 00FC70 8000F070 2405000A */ li $a1, 10 -/* 00FC74 8000F074 8D4B0010 */ lw $t3, 0x10($t2) -/* 00FC78 8000F078 24D10001 */ addiu $s1, $a2, 1 -/* 00FC7C 8000F07C 01706021 */ addu $t4, $t3, $s0 -/* 00FC80 8000F080 8D840000 */ lw $a0, ($t4) -/* 00FC84 8000F084 0C01F04B */ jal func_8007C12C -/* 00FC88 8000F088 A3A30037 */ sb $v1, 0x37($sp) -/* 00FC8C 8000F08C 8E490068 */ lw $t1, 0x68($s2) -/* 00FC90 8000F090 83A30037 */ lb $v1, 0x37($sp) -/* 00FC94 8000F094 01306821 */ addu $t5, $t1, $s0 -/* 00FC98 8000F098 ADA20000 */ sw $v0, ($t5) -/* 00FC9C 8000F09C 8E4F0068 */ lw $t7, 0x68($s2) -/* 00FCA0 8000F0A0 02203025 */ move $a2, $s1 -/* 00FCA4 8000F0A4 01F0C021 */ addu $t8, $t7, $s0 -/* 00FCA8 8000F0A8 8F0E0000 */ lw $t6, ($t8) -/* 00FCAC 8000F0AC 0233082A */ slt $at, $s1, $s3 -/* 00FCB0 8000F0B0 15C00002 */ bnez $t6, .L8000F0BC -/* 00FCB4 8000F0B4 00000000 */ nop -/* 00FCB8 8000F0B8 24030001 */ li $v1, 1 -.L8000F0BC: -/* 00FCBC 8000F0BC 1420FFEB */ bnez $at, .L8000F06C -/* 00FCC0 8000F0C0 26100004 */ addiu $s0, $s0, 4 -.L8000F0C4: -/* 00FCC4 8000F0C4 10600009 */ beqz $v1, .L8000F0EC -/* 00FCC8 8000F0C8 02402025 */ move $a0, $s2 -/* 00FCCC 8000F0CC 8FA60064 */ lw $a2, 0x64($sp) -/* 00FCD0 8000F0D0 0C003D92 */ jal objFreeAssets -/* 00FCD4 8000F0D4 02602825 */ move $a1, $s3 -/* 00FCD8 8000F0D8 87A4004E */ lh $a0, 0x4e($sp) -/* 00FCDC 8000F0DC 0C003211 */ jal try_free_object_header -/* 00FCE0 8000F0E0 00000000 */ nop -/* 00FCE4 8000F0E4 10000151 */ b .L8000F62C -/* 00FCE8 8000F0E8 00001025 */ move $v0, $zero -.L8000F0EC: -/* 00FCEC 8000F0EC 8E480040 */ lw $t0, 0x40($s2) -/* 00FCF0 8000F0F0 8E590068 */ lw $t9, 0x68($s2) -/* 00FCF4 8000F0F4 810A0055 */ lb $t2, 0x55($t0) -/* 00FCF8 8000F0F8 02402025 */ move $a0, $s2 -/* 00FCFC 8000F0FC 000A5880 */ sll $t3, $t2, 2 -/* 00FD00 8000F100 032B2821 */ addu $a1, $t9, $t3 -/* 00FD04 8000F104 0C008D77 */ jal get_object_property_size -/* 00FD08 8000F108 AFA50048 */ sw $a1, 0x48($sp) -/* 00FD0C 8000F10C 8FAC0050 */ lw $t4, 0x50($sp) -/* 00FD10 8000F110 3C018012 */ lui $at, %hi(D_8011AE50) # $at, 0x8012 -/* 00FD14 8000F114 8FA60048 */ lw $a2, 0x48($sp) -/* 00FD18 8000F118 AC20AE50 */ sw $zero, %lo(D_8011AE50)($at) -/* 00FD1C 8000F11C 3C018012 */ lui $at, %hi(D_8011AE54) # $at, 0x8012 -/* 00FD20 8000F120 31890001 */ andi $t1, $t4, 1 -/* 00FD24 8000F124 AC20AE54 */ sw $zero, %lo(D_8011AE54)($at) -/* 00FD28 8000F128 11200008 */ beqz $t1, .L8000F14C -/* 00FD2C 8000F12C 00C23021 */ addu $a2, $a2, $v0 -/* 00FD30 8000F130 02402025 */ move $a0, $s2 -/* 00FD34 8000F134 00C02825 */ move $a1, $a2 -/* 00FD38 8000F138 0C003DFB */ jal init_object_shading -/* 00FD3C 8000F13C AFA60048 */ sw $a2, 0x48($sp) -/* 00FD40 8000F140 8FA60048 */ lw $a2, 0x48($sp) -/* 00FD44 8000F144 00000000 */ nop -/* 00FD48 8000F148 00C23021 */ addu $a2, $a2, $v0 -.L8000F14C: -/* 00FD4C 8000F14C 8FAD0050 */ lw $t5, 0x50($sp) -/* 00FD50 8000F150 02402025 */ move $a0, $s2 -/* 00FD54 8000F154 31AF0002 */ andi $t7, $t5, 2 -/* 00FD58 8000F158 11E0000F */ beqz $t7, .L8000F198 -/* 00FD5C 8000F15C 00C02825 */ move $a1, $a2 -/* 00FD60 8000F160 0C003EF3 */ jal init_object_shadow -/* 00FD64 8000F164 AFA60048 */ sw $a2, 0x48($sp) -/* 00FD68 8000F168 8FA60048 */ lw $a2, 0x48($sp) -/* 00FD6C 8000F16C 1440000A */ bnez $v0, .L8000F198 -/* 00FD70 8000F170 00C23021 */ addu $a2, $a2, $v0 -/* 00FD74 8000F174 8FA60064 */ lw $a2, 0x64($sp) -/* 00FD78 8000F178 02402025 */ move $a0, $s2 -/* 00FD7C 8000F17C 0C003D92 */ jal objFreeAssets -/* 00FD80 8000F180 02602825 */ move $a1, $s3 -/* 00FD84 8000F184 87A4004E */ lh $a0, 0x4e($sp) -/* 00FD88 8000F188 0C003211 */ jal try_free_object_header -/* 00FD8C 8000F18C 00000000 */ nop -/* 00FD90 8000F190 10000126 */ b .L8000F62C -/* 00FD94 8000F194 00001025 */ move $v0, $zero -.L8000F198: -/* 00FD98 8000F198 8FB80050 */ lw $t8, 0x50($sp) -/* 00FD9C 8000F19C 02402025 */ move $a0, $s2 -/* 00FDA0 8000F1A0 330E0004 */ andi $t6, $t8, 4 -/* 00FDA4 8000F1A4 11C00016 */ beqz $t6, .L8000F200 -/* 00FDA8 8000F1A8 00C02825 */ move $a1, $a2 -/* 00FDAC 8000F1AC 0C003F1B */ jal init_object_water_effect -/* 00FDB0 8000F1B0 AFA60048 */ sw $a2, 0x48($sp) -/* 00FDB4 8000F1B4 8FA60048 */ lw $a2, 0x48($sp) -/* 00FDB8 8000F1B8 14400011 */ bnez $v0, .L8000F200 -/* 00FDBC 8000F1BC 00C23021 */ addu $a2, $a2, $v0 -/* 00FDC0 8000F1C0 3C028012 */ lui $v0, %hi(D_8011AE50) # $v0, 0x8012 -/* 00FDC4 8000F1C4 8C42AE50 */ lw $v0, %lo(D_8011AE50)($v0) -/* 00FDC8 8000F1C8 00000000 */ nop -/* 00FDCC 8000F1CC 10400004 */ beqz $v0, .L8000F1E0 -/* 00FDD0 8000F1D0 8FA60064 */ lw $a2, 0x64($sp) -/* 00FDD4 8000F1D4 0C01ECAF */ jal free_texture -/* 00FDD8 8000F1D8 00402025 */ move $a0, $v0 -/* 00FDDC 8000F1DC 8FA60064 */ lw $a2, 0x64($sp) -.L8000F1E0: -/* 00FDE0 8000F1E0 02402025 */ move $a0, $s2 -/* 00FDE4 8000F1E4 0C003D92 */ jal objFreeAssets -/* 00FDE8 8000F1E8 02602825 */ move $a1, $s3 -/* 00FDEC 8000F1EC 87A4004E */ lh $a0, 0x4e($sp) -/* 00FDF0 8000F1F0 0C003211 */ jal try_free_object_header -/* 00FDF4 8000F1F4 00000000 */ nop -/* 00FDF8 8000F1F8 1000010C */ b .L8000F62C -/* 00FDFC 8000F1FC 00001025 */ move $v0, $zero -.L8000F200: -/* 00FE00 8000F200 8FA80050 */ lw $t0, 0x50($sp) -/* 00FE04 8000F204 02402025 */ move $a0, $s2 -/* 00FE08 8000F208 310A0010 */ andi $t2, $t0, 0x10 -/* 00FE0C 8000F20C 11400006 */ beqz $t2, .L8000F228 -/* 00FE10 8000F210 00C02825 */ move $a1, $a2 -/* 00FE14 8000F214 0C003F48 */ jal init_object_interaction_data -/* 00FE18 8000F218 AFA60048 */ sw $a2, 0x48($sp) -/* 00FE1C 8000F21C 8FA60048 */ lw $a2, 0x48($sp) -/* 00FE20 8000F220 00000000 */ nop -/* 00FE24 8000F224 00C23021 */ addu $a2, $a2, $v0 -.L8000F228: -/* 00FE28 8000F228 8FB90050 */ lw $t9, 0x50($sp) -/* 00FE2C 8000F22C 02402025 */ move $a0, $s2 -/* 00FE30 8000F230 332B0020 */ andi $t3, $t9, 0x20 -/* 00FE34 8000F234 11600006 */ beqz $t3, .L8000F250 -/* 00FE38 8000F238 00C02825 */ move $a1, $a2 -/* 00FE3C 8000F23C 0C003F4D */ jal func_8000FD34 -/* 00FE40 8000F240 AFA60048 */ sw $a2, 0x48($sp) -/* 00FE44 8000F244 8FA60048 */ lw $a2, 0x48($sp) -/* 00FE48 8000F248 00000000 */ nop -/* 00FE4C 8000F24C 00C23021 */ addu $a2, $a2, $v0 -.L8000F250: -/* 00FE50 8000F250 8E500040 */ lw $s0, 0x40($s2) -/* 00FE54 8000F254 02402025 */ move $a0, $s2 -/* 00FE58 8000F258 82020056 */ lb $v0, 0x56($s0) -/* 00FE5C 8000F25C 00000000 */ nop -/* 00FE60 8000F260 18400006 */ blez $v0, .L8000F27C -/* 00FE64 8000F264 2841000A */ slti $at, $v0, 0xa -/* 00FE68 8000F268 10200004 */ beqz $at, .L8000F27C -/* 00FE6C 8000F26C 00000000 */ nop -/* 00FE70 8000F270 AE460060 */ sw $a2, 0x60($s2) -/* 00FE74 8000F274 8E500040 */ lw $s0, 0x40($s2) -/* 00FE78 8000F278 24C60030 */ addiu $a2, $a2, 0x30 -.L8000F27C: -/* 00FE7C 8000F27C 820C0057 */ lb $t4, 0x57($s0) -/* 00FE80 8000F280 00C02825 */ move $a1, $a2 -/* 00FE84 8000F284 19800006 */ blez $t4, .L8000F2A0 -/* 00FE88 8000F288 00000000 */ nop -/* 00FE8C 8000F28C 0C003EB1 */ jal obj_init_emitter -/* 00FE90 8000F290 AFA60048 */ sw $a2, 0x48($sp) -/* 00FE94 8000F294 8FA60048 */ lw $a2, 0x48($sp) -/* 00FE98 8000F298 8E500040 */ lw $s0, 0x40($s2) -/* 00FE9C 8000F29C 00C23021 */ addu $a2, $a2, $v0 -.L8000F2A0: -/* 00FEA0 8000F2A0 8209005A */ lb $t1, 0x5a($s0) -/* 00FEA4 8000F2A4 3C048012 */ lui $a0, %hi(gObjectMemoryPool) # $a0, 0x8012 -/* 00FEA8 8000F2A8 19200007 */ blez $t1, .L8000F2C8 -/* 00FEAC 8000F2AC 00D22823 */ subu $a1, $a2, $s2 -/* 00FEB0 8000F2B0 AE460070 */ sw $a2, 0x70($s2) -/* 00FEB4 8000F2B4 820D005A */ lb $t5, 0x5a($s0) -/* 00FEB8 8000F2B8 00000000 */ nop -/* 00FEBC 8000F2BC 000D7880 */ sll $t7, $t5, 2 -/* 00FEC0 8000F2C0 00CF3021 */ addu $a2, $a2, $t7 -/* 00FEC4 8000F2C4 00D22823 */ subu $a1, $a2, $s2 -.L8000F2C8: -/* 00FEC8 8000F2C8 8C84AE68 */ lw $a0, %lo(gObjectMemoryPool)($a0) -/* 00FECC 8000F2CC 00A08825 */ move $s1, $a1 -/* 00FED0 8000F2D0 0C01C3A4 */ jal mempool_alloc_pool -/* 00FED4 8000F2D4 02408025 */ move $s0, $s2 -/* 00FED8 8000F2D8 14400018 */ bnez $v0, .L8000F33C -/* 00FEDC 8000F2DC 00409025 */ move $s2, $v0 -/* 00FEE0 8000F2E0 3C028012 */ lui $v0, %hi(D_8011AE50) # $v0, 0x8012 -/* 00FEE4 8000F2E4 8C42AE50 */ lw $v0, %lo(D_8011AE50)($v0) -/* 00FEE8 8000F2E8 00000000 */ nop -/* 00FEEC 8000F2EC 10400003 */ beqz $v0, .L8000F2FC -/* 00FEF0 8000F2F0 00000000 */ nop -/* 00FEF4 8000F2F4 0C01ECAF */ jal free_texture -/* 00FEF8 8000F2F8 00402025 */ move $a0, $v0 -.L8000F2FC: -/* 00FEFC 8000F2FC 3C028012 */ lui $v0, %hi(D_8011AE54) # $v0, 0x8012 -/* 00FF00 8000F300 8C42AE54 */ lw $v0, %lo(D_8011AE54)($v0) -/* 00FF04 8000F304 00000000 */ nop -/* 00FF08 8000F308 10400004 */ beqz $v0, .L8000F31C -/* 00FF0C 8000F30C 8FA60064 */ lw $a2, 0x64($sp) -/* 00FF10 8000F310 0C01ECAF */ jal free_texture -/* 00FF14 8000F314 00402025 */ move $a0, $v0 -/* 00FF18 8000F318 8FA60064 */ lw $a2, 0x64($sp) -.L8000F31C: -/* 00FF1C 8000F31C 02002025 */ move $a0, $s0 -/* 00FF20 8000F320 0C003D92 */ jal objFreeAssets -/* 00FF24 8000F324 02602825 */ move $a1, $s3 -/* 00FF28 8000F328 87A4004E */ lh $a0, 0x4e($sp) -/* 00FF2C 8000F32C 0C003211 */ jal try_free_object_header -/* 00FF30 8000F330 00000000 */ nop -/* 00FF34 8000F334 100000BD */ b .L8000F62C -/* 00FF38 8000F338 00001025 */ move $v0, $zero -.L8000F33C: -/* 00FF3C 8000F33C 3238000F */ andi $t8, $s1, 0xf -/* 00FF40 8000F340 13000004 */ beqz $t8, .L8000F354 -/* 00FF44 8000F344 00003025 */ move $a2, $zero -/* 00FF48 8000F348 2401FFF0 */ li $at, -16 -/* 00FF4C 8000F34C 02217024 */ and $t6, $s1, $at -/* 00FF50 8000F350 25D10010 */ addiu $s1, $t6, 0x10 -.L8000F354: -/* 00FF54 8000F354 00114083 */ sra $t0, $s1, 2 -/* 00FF58 8000F358 1900000D */ blez $t0, .L8000F390 -/* 00FF5C 8000F35C 00068080 */ sll $s0, $a2, 2 -/* 00FF60 8000F360 3C058012 */ lui $a1, %hi(gSpawnObjectHeap) # $a1, 0x8012 -/* 00FF64 8000F364 24A5AD58 */ addiu $a1, %lo(gSpawnObjectHeap) # addiu $a1, $a1, -0x52a8 -/* 00FF68 8000F368 00501821 */ addu $v1, $v0, $s0 -/* 00FF6C 8000F36C 00082080 */ sll $a0, $t0, 2 -.L8000F370: -/* 00FF70 8000F370 8CAA0000 */ lw $t2, ($a1) -/* 00FF74 8000F374 24630004 */ addiu $v1, $v1, 4 -/* 00FF78 8000F378 0150C821 */ addu $t9, $t2, $s0 -/* 00FF7C 8000F37C 8F2B0000 */ lw $t3, ($t9) -/* 00FF80 8000F380 26100004 */ addiu $s0, $s0, 4 -/* 00FF84 8000F384 0204082A */ slt $at, $s0, $a0 -/* 00FF88 8000F388 1420FFF9 */ bnez $at, .L8000F370 -/* 00FF8C 8000F38C AC6BFFFC */ sw $t3, -4($v1) -.L8000F390: -/* 00FF90 8000F390 8C430058 */ lw $v1, 0x58($v0) -/* 00FF94 8000F394 3C058012 */ lui $a1, %hi(gSpawnObjectHeap) # $a1, 0x8012 -/* 00FF98 8000F398 10600005 */ beqz $v1, .L8000F3B0 -/* 00FF9C 8000F39C 24A5AD58 */ addiu $a1, %lo(gSpawnObjectHeap) # addiu $a1, $a1, -0x52a8 -/* 00FFA0 8000F3A0 8CA90000 */ lw $t1, ($a1) -/* 00FFA4 8000F3A4 00436021 */ addu $t4, $v0, $v1 -/* 00FFA8 8000F3A8 01896823 */ subu $t5, $t4, $t1 -/* 00FFAC 8000F3AC AC4D0058 */ sw $t5, 0x58($v0) -.L8000F3B0: -/* 00FFB0 8000F3B0 8C430050 */ lw $v1, 0x50($v0) -/* 00FFB4 8000F3B4 02402025 */ move $a0, $s2 -/* 00FFB8 8000F3B8 10600005 */ beqz $v1, .L8000F3D0 -/* 00FFBC 8000F3BC 00003025 */ move $a2, $zero -/* 00FFC0 8000F3C0 8CB80000 */ lw $t8, ($a1) -/* 00FFC4 8000F3C4 00437821 */ addu $t7, $v0, $v1 -/* 00FFC8 8000F3C8 01F87023 */ subu $t6, $t7, $t8 -/* 00FFCC 8000F3CC AC4E0050 */ sw $t6, 0x50($v0) -.L8000F3D0: -/* 00FFD0 8000F3D0 8C430054 */ lw $v1, 0x54($v0) -/* 00FFD4 8000F3D4 00000000 */ nop -/* 00FFD8 8000F3D8 10600005 */ beqz $v1, .L8000F3F0 -/* 00FFDC 8000F3DC 00000000 */ nop -/* 00FFE0 8000F3E0 8CAA0000 */ lw $t2, ($a1) -/* 00FFE4 8000F3E4 00434021 */ addu $t0, $v0, $v1 -/* 00FFE8 8000F3E8 010AC823 */ subu $t9, $t0, $t2 -/* 00FFEC 8000F3EC AC590054 */ sw $t9, 0x54($v0) -.L8000F3F0: -/* 00FFF0 8000F3F0 8C430064 */ lw $v1, 0x64($v0) -/* 00FFF4 8000F3F4 00000000 */ nop -/* 00FFF8 8000F3F8 10600005 */ beqz $v1, .L8000F410 -/* 00FFFC 8000F3FC 00000000 */ nop -/* 010000 8000F400 8CAC0000 */ lw $t4, ($a1) -/* 010004 8000F404 00435821 */ addu $t3, $v0, $v1 -/* 010008 8000F408 016C4823 */ subu $t1, $t3, $t4 -/* 01000C 8000F40C AC490064 */ sw $t1, 0x64($v0) -.L8000F410: -/* 010010 8000F410 8C43004C */ lw $v1, 0x4c($v0) -/* 010014 8000F414 00000000 */ nop -/* 010018 8000F418 10600005 */ beqz $v1, .L8000F430 -/* 01001C 8000F41C 00000000 */ nop -/* 010020 8000F420 8CAF0000 */ lw $t7, ($a1) -/* 010024 8000F424 00436821 */ addu $t5, $v0, $v1 -/* 010028 8000F428 01AFC023 */ subu $t8, $t5, $t7 -/* 01002C 8000F42C AC58004C */ sw $t8, 0x4c($v0) -.L8000F430: -/* 010030 8000F430 8C43005C */ lw $v1, 0x5c($v0) -/* 010034 8000F434 00000000 */ nop -/* 010038 8000F438 10600005 */ beqz $v1, .L8000F450 -/* 01003C 8000F43C 00000000 */ nop -/* 010040 8000F440 8CA80000 */ lw $t0, ($a1) -/* 010044 8000F444 00437021 */ addu $t6, $v0, $v1 -/* 010048 8000F448 01C85023 */ subu $t2, $t6, $t0 -/* 01004C 8000F44C AC4A005C */ sw $t2, 0x5c($v0) -.L8000F450: -/* 010050 8000F450 8C430060 */ lw $v1, 0x60($v0) -/* 010054 8000F454 3C108012 */ lui $s0, %hi(gObjectCount) # $s0, 0x8012 -/* 010058 8000F458 10600005 */ beqz $v1, .L8000F470 -/* 01005C 8000F45C 2610AE5C */ addiu $s0, %lo(gObjectCount) # addiu $s0, $s0, -0x51a4 -/* 010060 8000F460 8CAB0000 */ lw $t3, ($a1) -/* 010064 8000F464 0043C821 */ addu $t9, $v0, $v1 -/* 010068 8000F468 032B6023 */ subu $t4, $t9, $t3 -/* 01006C 8000F46C AC4C0060 */ sw $t4, 0x60($v0) -.L8000F470: -/* 010070 8000F470 8C430040 */ lw $v1, 0x40($v0) -/* 010074 8000F474 00000000 */ nop -/* 010078 8000F478 80690057 */ lb $t1, 0x57($v1) -/* 01007C 8000F47C 00000000 */ nop -/* 010080 8000F480 19200007 */ blez $t1, .L8000F4A0 -/* 010084 8000F484 00000000 */ nop -/* 010088 8000F488 8C4D006C */ lw $t5, 0x6c($v0) -/* 01008C 8000F48C 8CB80000 */ lw $t8, ($a1) -/* 010090 8000F490 004D7821 */ addu $t7, $v0, $t5 -/* 010094 8000F494 01F87023 */ subu $t6, $t7, $t8 -/* 010098 8000F498 8C430040 */ lw $v1, 0x40($v0) -/* 01009C 8000F49C AC4E006C */ sw $t6, 0x6c($v0) -.L8000F4A0: -/* 0100A0 8000F4A0 8068005A */ lb $t0, 0x5a($v1) -/* 0100A4 8000F4A4 24490080 */ addiu $t1, $v0, 0x80 -/* 0100A8 8000F4A8 19000006 */ blez $t0, .L8000F4C4 -/* 0100AC 8000F4AC 3C0F8012 */ lui $t7, %hi(gObjPtrList) # $t7, 0x8012 -/* 0100B0 8000F4B0 8C4A0070 */ lw $t2, 0x70($v0) -/* 0100B4 8000F4B4 8CAB0000 */ lw $t3, ($a1) -/* 0100B8 8000F4B8 004AC821 */ addu $t9, $v0, $t2 -/* 0100BC 8000F4BC 032B6023 */ subu $t4, $t9, $t3 -/* 0100C0 8000F4C0 AC4C0070 */ sw $t4, 0x70($v0) -.L8000F4C4: -/* 0100C4 8000F4C4 AC490068 */ sw $t1, 0x68($v0) -/* 0100C8 8000F4C8 8FB1006C */ lw $s1, 0x6c($sp) -/* 0100CC 8000F4CC 00000000 */ nop -/* 0100D0 8000F4D0 322D0001 */ andi $t5, $s1, 1 -/* 0100D4 8000F4D4 11A0000A */ beqz $t5, .L8000F500 -/* 0100D8 8000F4D8 01A08825 */ move $s1, $t5 -/* 0100DC 8000F4DC 8E180000 */ lw $t8, ($s0) -/* 0100E0 8000F4E0 8DEFAE58 */ lw $t7, %lo(gObjPtrList)($t7) -/* 0100E4 8000F4E4 00187080 */ sll $t6, $t8, 2 -/* 0100E8 8000F4E8 01EE4021 */ addu $t0, $t7, $t6 -/* 0100EC 8000F4EC AD020000 */ sw $v0, ($t0) -/* 0100F0 8000F4F0 8E0A0000 */ lw $t2, ($s0) -/* 0100F4 8000F4F4 00000000 */ nop -/* 0100F8 8000F4F8 25590001 */ addiu $t9, $t2, 1 -/* 0100FC 8000F4FC AE190000 */ sw $t9, ($s0) -.L8000F500: -/* 010100 8000F500 3C108012 */ lui $s0, %hi(gObjectCount) # $s0, 0x8012 -/* 010104 8000F504 8FA50068 */ lw $a1, 0x68($sp) -/* 010108 8000F508 0C008E2F */ jal run_object_init_func -/* 01010C 8000F50C 2610AE5C */ addiu $s0, %lo(gObjectCount) # addiu $s0, $s0, -0x51a4 -/* 010110 8000F510 8E42004C */ lw $v0, 0x4c($s2) -/* 010114 8000F514 00000000 */ nop -/* 010118 8000F518 1040000C */ beqz $v0, .L8000F54C -/* 01011C 8000F51C 00000000 */ nop -/* 010120 8000F520 C652000C */ lwc1 $f18, 0xc($s2) -/* 010124 8000F524 00000000 */ nop -/* 010128 8000F528 E4520004 */ swc1 $f18, 4($v0) -/* 01012C 8000F52C 8E4B004C */ lw $t3, 0x4c($s2) -/* 010130 8000F530 C6440010 */ lwc1 $f4, 0x10($s2) -/* 010134 8000F534 00000000 */ nop -/* 010138 8000F538 E5640008 */ swc1 $f4, 8($t3) -/* 01013C 8000F53C 8E4C004C */ lw $t4, 0x4c($s2) -/* 010140 8000F540 C6460014 */ lwc1 $f6, 0x14($s2) -/* 010144 8000F544 00000000 */ nop -/* 010148 8000F548 E586000C */ swc1 $f6, 0xc($t4) -.L8000F54C: -/* 01014C 8000F54C 8E490040 */ lw $t1, 0x40($s2) -/* 010150 8000F550 00000000 */ nop -/* 010154 8000F554 81220056 */ lb $v0, 0x56($t1) -/* 010158 8000F558 00000000 */ nop -/* 01015C 8000F55C 18400025 */ blez $v0, .L8000F5F4 -/* 010160 8000F560 2841000A */ slti $at, $v0, 0xa -/* 010164 8000F564 10200023 */ beqz $at, .L8000F5F4 -/* 010168 8000F568 00000000 */ nop -/* 01016C 8000F56C 0C003E67 */ jal func_8000F99C -/* 010170 8000F570 02402025 */ move $a0, $s2 -/* 010174 8000F574 1040001F */ beqz $v0, .L8000F5F4 -/* 010178 8000F578 3C028012 */ lui $v0, %hi(D_8011AE50) # $v0, 0x8012 -/* 01017C 8000F57C 8C42AE50 */ lw $v0, %lo(D_8011AE50)($v0) -/* 010180 8000F580 00000000 */ nop -/* 010184 8000F584 10400003 */ beqz $v0, .L8000F594 -/* 010188 8000F588 00000000 */ nop -/* 01018C 8000F58C 0C01ECAF */ jal free_texture -/* 010190 8000F590 00402025 */ move $a0, $v0 -.L8000F594: -/* 010194 8000F594 3C028012 */ lui $v0, %hi(D_8011AE54) # $v0, 0x8012 -/* 010198 8000F598 8C42AE54 */ lw $v0, %lo(D_8011AE54)($v0) -/* 01019C 8000F59C 00000000 */ nop -/* 0101A0 8000F5A0 10400004 */ beqz $v0, .L8000F5B4 -/* 0101A4 8000F5A4 8FA60064 */ lw $a2, 0x64($sp) -/* 0101A8 8000F5A8 0C01ECAF */ jal free_texture -/* 0101AC 8000F5AC 00402025 */ move $a0, $v0 -/* 0101B0 8000F5B0 8FA60064 */ lw $a2, 0x64($sp) -.L8000F5B4: -/* 0101B4 8000F5B4 02402025 */ move $a0, $s2 -/* 0101B8 8000F5B8 0C003D92 */ jal objFreeAssets -/* 0101BC 8000F5BC 02602825 */ move $a1, $s3 -/* 0101C0 8000F5C0 87A4004E */ lh $a0, 0x4e($sp) -/* 0101C4 8000F5C4 0C003211 */ jal try_free_object_header -/* 0101C8 8000F5C8 00000000 */ nop -/* 0101CC 8000F5CC 0C01C450 */ jal mempool_free -/* 0101D0 8000F5D0 02402025 */ move $a0, $s2 -/* 0101D4 8000F5D4 12200005 */ beqz $s1, .L8000F5EC -/* 0101D8 8000F5D8 00000000 */ nop -/* 0101DC 8000F5DC 8E0D0000 */ lw $t5, ($s0) -/* 0101E0 8000F5E0 00000000 */ nop -/* 0101E4 8000F5E4 25B8FFFF */ addiu $t8, $t5, -1 -/* 0101E8 8000F5E8 AE180000 */ sw $t8, ($s0) -.L8000F5EC: -/* 0101EC 8000F5EC 1000000F */ b .L8000F62C -/* 0101F0 8000F5F0 00001025 */ move $v0, $zero -.L8000F5F4: -/* 0101F4 8000F5F4 8E4F0040 */ lw $t7, 0x40($s2) -/* 0101F8 8000F5F8 00000000 */ nop -/* 0101FC 8000F5FC 81EE005A */ lb $t6, 0x5a($t7) -/* 010200 8000F600 00000000 */ nop -/* 010204 8000F604 19C00003 */ blez $t6, .L8000F614 -/* 010208 8000F608 00000000 */ nop -/* 01020C 8000F60C 0C003DD6 */ jal light_setup_light_sources -/* 010210 8000F610 02402025 */ move $a0, $s2 -.L8000F614: -/* 010214 8000F614 0C01867D */ jal func_800619F4 -/* 010218 8000F618 00002025 */ move $a0, $zero -/* 01021C 8000F61C 00002025 */ move $a0, $zero -/* 010220 8000F620 0C02DDAE */ jal update_object_stack_trace -/* 010224 8000F624 2405FFFF */ li $a1, -1 -/* 010228 8000F628 02401025 */ move $v0, $s2 -.L8000F62C: -/* 01022C 8000F62C 8FBF0024 */ lw $ra, 0x24($sp) -/* 010230 8000F630 8FB00014 */ lw $s0, 0x14($sp) -/* 010234 8000F634 8FB10018 */ lw $s1, 0x18($sp) -/* 010238 8000F638 8FB2001C */ lw $s2, 0x1c($sp) -/* 01023C 8000F63C 8FB30020 */ lw $s3, 0x20($sp) -/* 010240 8000F640 03E00008 */ jr $ra -/* 010244 8000F644 27BD0068 */ addiu $sp, $sp, 0x68 - diff --git a/asm/non_matchings/particles/func_800AE728.s b/asm/non_matchings/particles/func_800AE728.s deleted file mode 100644 index 4236d3de..00000000 --- a/asm/non_matchings/particles/func_800AE728.s +++ /dev/null @@ -1,478 +0,0 @@ -glabel func_800AE728 -/* 0AF328 800AE728 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0AF32C 800AE72C AFB70034 */ sw $s7, 0x34($sp) -/* 0AF330 800AE730 AFB40028 */ sw $s4, 0x28($sp) -/* 0AF334 800AE734 AFB30024 */ sw $s3, 0x24($sp) -/* 0AF338 800AE738 AFB1001C */ sw $s1, 0x1c($sp) -/* 0AF33C 800AE73C 3C01800E */ lui $at, %hi(D_800E2D00) # $at, 0x800e -/* 0AF340 800AE740 00808825 */ move $s1, $a0 -/* 0AF344 800AE744 00A09825 */ move $s3, $a1 -/* 0AF348 800AE748 00E0A025 */ move $s4, $a3 -/* 0AF34C 800AE74C 00C0B825 */ move $s7, $a2 -/* 0AF350 800AE750 AFBF003C */ sw $ra, 0x3c($sp) -/* 0AF354 800AE754 AFBE0038 */ sw $fp, 0x38($sp) -/* 0AF358 800AE758 AFB60030 */ sw $s6, 0x30($sp) -/* 0AF35C 800AE75C AFB5002C */ sw $s5, 0x2c($sp) -/* 0AF360 800AE760 AFB20020 */ sw $s2, 0x20($sp) -/* 0AF364 800AE764 AFB00018 */ sw $s0, 0x18($sp) -/* 0AF368 800AE768 04810002 */ bgez $a0, .L800AE774 -/* 0AF36C 800AE76C AC202D00 */ sw $zero, %lo(D_800E2D00)($at) -/* 0AF370 800AE770 24110010 */ li $s1, 16 -.L800AE774: -/* 0AF374 800AE774 8FBE0078 */ lw $fp, 0x78($sp) -/* 0AF378 800AE778 06610002 */ bgez $s3, .L800AE784 -/* 0AF37C 800AE77C 3C01800E */ lui $at, %hi(D_800E2E4C) # $at, 0x800e -/* 0AF380 800AE780 24130010 */ li $s3, 16 -.L800AE784: -/* 0AF384 800AE784 06E10002 */ bgez $s7, .L800AE790 -/* 0AF388 800AE788 00000000 */ nop -/* 0AF38C 800AE78C 241700D0 */ li $s7, 208 -.L800AE790: -/* 0AF390 800AE790 06810002 */ bgez $s4, .L800AE79C -/* 0AF394 800AE794 00000000 */ nop -/* 0AF398 800AE798 241400A0 */ li $s4, 160 -.L800AE79C: -/* 0AF39C 800AE79C 07C10002 */ bgez $fp, .L800AE7A8 -/* 0AF3A0 800AE7A0 00000000 */ nop -/* 0AF3A4 800AE7A4 241E0040 */ li $fp, 64 -.L800AE7A8: -/* 0AF3A8 800AE7A8 AC312E4C */ sw $s1, %lo(D_800E2E4C)($at) -/* 0AF3AC 800AE7AC 3C01800E */ lui $at, %hi(D_800E2CA4) # $at, 0x800e -/* 0AF3B0 800AE7B0 AC202CA4 */ sw $zero, %lo(D_800E2CA4)($at) -/* 0AF3B4 800AE7B4 3C01800E */ lui $at, %hi(D_800E2E50) # $at, 0x800e -/* 0AF3B8 800AE7B8 AC332E50 */ sw $s3, %lo(D_800E2E50)($at) -/* 0AF3BC 800AE7BC 3C01800E */ lui $at, %hi(D_800E2CB0) # $at, 0x800e -/* 0AF3C0 800AE7C0 AC202CB0 */ sw $zero, %lo(D_800E2CB0)($at) -/* 0AF3C4 800AE7C4 3C01800E */ lui $at, %hi(D_800E2E54) # $at, 0x800e -/* 0AF3C8 800AE7C8 AC372E54 */ sw $s7, %lo(D_800E2E54)($at) -/* 0AF3CC 800AE7CC 3C01800E */ lui $at, %hi(D_800E2CBC) # $at, 0x800e -/* 0AF3D0 800AE7D0 AC202CBC */ sw $zero, %lo(D_800E2CBC)($at) -/* 0AF3D4 800AE7D4 3C01800E */ lui $at, %hi(D_800E2E58) # $at, 0x800e -/* 0AF3D8 800AE7D8 AC342E58 */ sw $s4, %lo(D_800E2E58)($at) -/* 0AF3DC 800AE7DC 3C01800E */ lui $at, %hi(D_800E2CC8) # $at, 0x800e -/* 0AF3E0 800AE7E0 AC202CC8 */ sw $zero, %lo(D_800E2CC8)($at) -/* 0AF3E4 800AE7E4 3C01800E */ lui $at, %hi(D_800E2E5C) # $at, 0x800e -/* 0AF3E8 800AE7E8 AC3E2E5C */ sw $fp, %lo(D_800E2E5C)($at) -/* 0AF3EC 800AE7EC 3C01800E */ lui $at, %hi(D_800E2CD4) # $at, 0x800e -/* 0AF3F0 800AE7F0 0C02B90E */ jal func_800AE438 -/* 0AF3F4 800AE7F4 AC202CD4 */ sw $zero, %lo(D_800E2CD4)($at) -/* 0AF3F8 800AE7F8 00117080 */ sll $t6, $s1, 2 -/* 0AF3FC 800AE7FC 00144880 */ sll $t1, $s4, 2 -/* 0AF400 800AE800 01344823 */ subu $t1, $t1, $s4 -/* 0AF404 800AE804 01D17023 */ subu $t6, $t6, $s1 -/* 0AF408 800AE808 00137880 */ sll $t7, $s3, 2 -/* 0AF40C 800AE80C 01CFC021 */ addu $t8, $t6, $t7 -/* 0AF410 800AE810 00094840 */ sll $t1, $t1, 1 -/* 0AF414 800AE814 03095021 */ addu $t2, $t8, $t1 -/* 0AF418 800AE818 001E5900 */ sll $t3, $fp, 4 -/* 0AF41C 800AE81C 014B2021 */ addu $a0, $t2, $t3 -/* 0AF420 800AE820 3C128080 */ lui $s2, (0x80808080 >> 16) # lui $s2, 0x8080 -/* 0AF424 800AE824 00046080 */ sll $t4, $a0, 2 -/* 0AF428 800AE828 36528080 */ ori $s2, (0x80808080 & 0xFFFF) # ori $s2, $s2, 0x8080 -/* 0AF42C 800AE82C 01846021 */ addu $t4, $t4, $a0 -/* 0AF430 800AE830 000C2040 */ sll $a0, $t4, 1 -/* 0AF434 800AE834 02402825 */ move $a1, $s2 -/* 0AF438 800AE838 0C01C327 */ jal mempool_alloc_safe -/* 0AF43C 800AE83C 00008025 */ move $s0, $zero -/* 0AF440 800AE840 00136840 */ sll $t5, $s3, 1 -/* 0AF444 800AE844 022D7021 */ addu $t6, $s1, $t5 -/* 0AF448 800AE848 01D02021 */ addu $a0, $t6, $s0 -/* 0AF44C 800AE84C 3C01800E */ lui $at, %hi(D_800E2CE0) # $at, 0x800e -/* 0AF450 800AE850 00047900 */ sll $t7, $a0, 4 -/* 0AF454 800AE854 AC222CE0 */ sw $v0, %lo(D_800E2CE0)($at) -/* 0AF458 800AE858 01E02025 */ move $a0, $t7 -/* 0AF45C 800AE85C 0C01C327 */ jal mempool_alloc_safe -/* 0AF460 800AE860 02402825 */ move $a1, $s2 -/* 0AF464 800AE864 3C10800E */ lui $s0, %hi(D_800E2CE4) # $s0, 0x800e -/* 0AF468 800AE868 26102CE4 */ addiu $s0, %lo(D_800E2CE4) # addiu $s0, $s0, 0x2ce4 -/* 0AF46C 800AE86C AE020000 */ sw $v0, ($s0) -/* 0AF470 800AE870 3C01800E */ lui $at, %hi(D_800E2CDC) # $at, 0x800e -/* 0AF474 800AE874 0C02B8DD */ jal func_800AE374 -/* 0AF478 800AE878 AC202CDC */ sw $zero, %lo(D_800E2CDC)($at) -/* 0AF47C 800AE87C 3C18800E */ lui $t8, %hi(D_800E2E4C) # $t8, 0x800e -/* 0AF480 800AE880 8F182E4C */ lw $t8, %lo(D_800E2E4C)($t8) -/* 0AF484 800AE884 00000000 */ nop -/* 0AF488 800AE888 1B000008 */ blez $t8, .L800AE8AC -/* 0AF48C 800AE88C 3C01800E */ lui $at, %hi(D_800E2CA0) # $at, 0x800e -/* 0AF490 800AE890 AC202CA0 */ sw $zero, %lo(D_800E2CA0)($at) -/* 0AF494 800AE894 001121C0 */ sll $a0, $s1, 7 -/* 0AF498 800AE898 0C01C327 */ jal mempool_alloc_safe -/* 0AF49C 800AE89C 02402825 */ move $a1, $s2 -/* 0AF4A0 800AE8A0 3C15800E */ lui $s5, %hi(D_800E2CA8) # $s5, 0x800e -/* 0AF4A4 800AE8A4 26B52CA8 */ addiu $s5, %lo(D_800E2CA8) # addiu $s5, $s5, 0x2ca8 -/* 0AF4A8 800AE8A8 AEA20000 */ sw $v0, ($s5) -.L800AE8AC: -/* 0AF4AC 800AE8AC 3C19800E */ lui $t9, %hi(D_800E2E50) # $t9, 0x800e -/* 0AF4B0 800AE8B0 8F392E50 */ lw $t9, %lo(D_800E2E50)($t9) -/* 0AF4B4 800AE8B4 3C15800E */ lui $s5, %hi(D_800E2CA8) # $s5, 0x800e -/* 0AF4B8 800AE8B8 1B200009 */ blez $t9, .L800AE8E0 -/* 0AF4BC 800AE8BC 26B52CA8 */ addiu $s5, %lo(D_800E2CA8) # addiu $s5, $s5, 0x2ca8 -/* 0AF4C0 800AE8C0 3C01800E */ lui $at, %hi(D_800E2CAC) # $at, 0x800e -/* 0AF4C4 800AE8C4 AC202CAC */ sw $zero, %lo(D_800E2CAC)($at) -/* 0AF4C8 800AE8C8 001321C0 */ sll $a0, $s3, 7 -/* 0AF4CC 800AE8CC 0C01C327 */ jal mempool_alloc_safe -/* 0AF4D0 800AE8D0 02402825 */ move $a1, $s2 -/* 0AF4D4 800AE8D4 3C16800E */ lui $s6, %hi(D_800E2CB4) # $s6, 0x800e -/* 0AF4D8 800AE8D8 26D62CB4 */ addiu $s6, %lo(D_800E2CB4) # addiu $s6, $s6, 0x2cb4 -/* 0AF4DC 800AE8DC AEC20000 */ sw $v0, ($s6) -.L800AE8E0: -/* 0AF4E0 800AE8E0 3C09800E */ lui $t1, %hi(D_800E2E54) # $t1, 0x800e -/* 0AF4E4 800AE8E4 8D292E54 */ lw $t1, %lo(D_800E2E54)($t1) -/* 0AF4E8 800AE8E8 3C16800E */ lui $s6, %hi(D_800E2CB4) # $s6, 0x800e -/* 0AF4EC 800AE8EC 1920000A */ blez $t1, .L800AE918 -/* 0AF4F0 800AE8F0 26D62CB4 */ addiu $s6, %lo(D_800E2CB4) # addiu $s6, $s6, 0x2cb4 -/* 0AF4F4 800AE8F4 001720C0 */ sll $a0, $s7, 3 -/* 0AF4F8 800AE8F8 3C01800E */ lui $at, %hi(D_800E2CB8) # $at, 0x800e -/* 0AF4FC 800AE8FC 00972023 */ subu $a0, $a0, $s7 -/* 0AF500 800AE900 AC202CB8 */ sw $zero, %lo(D_800E2CB8)($at) -/* 0AF504 800AE904 00042100 */ sll $a0, $a0, 4 -/* 0AF508 800AE908 0C01C327 */ jal mempool_alloc_safe -/* 0AF50C 800AE90C 02402825 */ move $a1, $s2 -/* 0AF510 800AE910 3C01800E */ lui $at, %hi(D_800E2CC0) # $at, 0x800e -/* 0AF514 800AE914 AC222CC0 */ sw $v0, %lo(D_800E2CC0)($at) -.L800AE918: -/* 0AF518 800AE918 3C0A800E */ lui $t2, %hi(D_800E2E58) # $t2, 0x800e -/* 0AF51C 800AE91C 8D4A2E58 */ lw $t2, %lo(D_800E2E58)($t2) -/* 0AF520 800AE920 00000000 */ nop -/* 0AF524 800AE924 19400008 */ blez $t2, .L800AE948 -/* 0AF528 800AE928 3C01800E */ lui $at, %hi(D_800E2CC4) # $at, 0x800e -/* 0AF52C 800AE92C AC202CC4 */ sw $zero, %lo(D_800E2CC4)($at) -/* 0AF530 800AE930 001421C0 */ sll $a0, $s4, 7 -/* 0AF534 800AE934 0C01C327 */ jal mempool_alloc_safe -/* 0AF538 800AE938 02402825 */ move $a1, $s2 -/* 0AF53C 800AE93C 3C17800E */ lui $s7, %hi(D_800E2CCC) # $s7, 0x800e -/* 0AF540 800AE940 26F72CCC */ addiu $s7, %lo(D_800E2CCC) # addiu $s7, $s7, 0x2ccc -/* 0AF544 800AE944 AEE20000 */ sw $v0, ($s7) -.L800AE948: -/* 0AF548 800AE948 3C0B800E */ lui $t3, %hi(D_800E2E5C) # $t3, 0x800e -/* 0AF54C 800AE94C 8D6B2E5C */ lw $t3, %lo(D_800E2E5C)($t3) -/* 0AF550 800AE950 3C17800E */ lui $s7, %hi(D_800E2CCC) # $s7, 0x800e -/* 0AF554 800AE954 1960000B */ blez $t3, .L800AE984 -/* 0AF558 800AE958 26F72CCC */ addiu $s7, %lo(D_800E2CCC) # addiu $s7, $s7, 0x2ccc -/* 0AF55C 800AE95C 001E2100 */ sll $a0, $fp, 4 -/* 0AF560 800AE960 3C01800E */ lui $at, %hi(D_800E2CD0) # $at, 0x800e -/* 0AF564 800AE964 009E2021 */ addu $a0, $a0, $fp -/* 0AF568 800AE968 AC202CD0 */ sw $zero, %lo(D_800E2CD0)($at) -/* 0AF56C 800AE96C 000420C0 */ sll $a0, $a0, 3 -/* 0AF570 800AE970 0C01C327 */ jal mempool_alloc_safe -/* 0AF574 800AE974 02402825 */ move $a1, $s2 -/* 0AF578 800AE978 3C1E800E */ lui $fp, %hi(D_800E2CD8) # $fp, 0x800e -/* 0AF57C 800AE97C 27DE2CD8 */ addiu $fp, %lo(D_800E2CD8) # addiu $fp, $fp, 0x2cd8 -/* 0AF580 800AE980 AFC20000 */ sw $v0, ($fp) -.L800AE984: -/* 0AF584 800AE984 3C02800E */ lui $v0, %hi(D_800E2E4C) # $v0, 0x800e -/* 0AF588 800AE988 8C422E4C */ lw $v0, %lo(D_800E2E4C)($v0) -/* 0AF58C 800AE98C 3C0D800E */ lui $t5, %hi(D_800E2CE0) # $t5, 0x800e -/* 0AF590 800AE990 8DAD2CE0 */ lw $t5, %lo(D_800E2CE0)($t5) -/* 0AF594 800AE994 8E180000 */ lw $t8, ($s0) -/* 0AF598 800AE998 000250C0 */ sll $t2, $v0, 3 -/* 0AF59C 800AE99C 8EA90000 */ lw $t1, ($s5) -/* 0AF5A0 800AE9A0 000060C0 */ sll $t4, $zero, 3 -/* 0AF5A4 800AE9A4 00007900 */ sll $t7, $zero, 4 -/* 0AF5A8 800AE9A8 01425023 */ subu $t2, $t2, $v0 -/* 0AF5AC 800AE9AC 3C1E800E */ lui $fp, %hi(D_800E2CD8) # $fp, 0x800e -/* 0AF5B0 800AE9B0 000A5100 */ sll $t2, $t2, 4 -/* 0AF5B4 800AE9B4 018D7021 */ addu $t6, $t4, $t5 -/* 0AF5B8 800AE9B8 01F8C821 */ addu $t9, $t7, $t8 -/* 0AF5BC 800AE9BC 27DE2CD8 */ addiu $fp, %lo(D_800E2CD8) # addiu $fp, $fp, 0x2cd8 -/* 0AF5C0 800AE9C0 AFAE0054 */ sw $t6, 0x54($sp) -/* 0AF5C4 800AE9C4 AFB90050 */ sw $t9, 0x50($sp) -/* 0AF5C8 800AE9C8 00008825 */ move $s1, $zero -/* 0AF5CC 800AE9CC 18400016 */ blez $v0, .L800AEA28 -/* 0AF5D0 800AE9D0 012A9021 */ addu $s2, $t1, $t2 -/* 0AF5D4 800AE9D4 00008025 */ move $s0, $zero -/* 0AF5D8 800AE9D8 27B40050 */ addiu $s4, $sp, 0x50 -/* 0AF5DC 800AE9DC 27B30054 */ addiu $s3, $sp, 0x54 -.L800AE9E0: -/* 0AF5E0 800AE9E0 8EAD0000 */ lw $t5, ($s5) -/* 0AF5E4 800AE9E4 00115900 */ sll $t3, $s1, 4 -/* 0AF5E8 800AE9E8 01726021 */ addu $t4, $t3, $s2 -/* 0AF5EC 800AE9EC 01B07021 */ addu $t6, $t5, $s0 -/* 0AF5F0 800AE9F0 ADCC0044 */ sw $t4, 0x44($t6) -/* 0AF5F4 800AE9F4 8EAF0000 */ lw $t7, ($s5) -/* 0AF5F8 800AE9F8 02602825 */ move $a1, $s3 -/* 0AF5FC 800AE9FC 01F0C021 */ addu $t8, $t7, $s0 -/* 0AF600 800AEA00 8F040044 */ lw $a0, 0x44($t8) -/* 0AF604 800AEA04 0C02BB85 */ jal generate_particle_shape_triangle -/* 0AF608 800AEA08 02803025 */ move $a2, $s4 -/* 0AF60C 800AEA0C 3C19800E */ lui $t9, %hi(D_800E2E4C) # $t9, 0x800e -/* 0AF610 800AEA10 8F392E4C */ lw $t9, %lo(D_800E2E4C)($t9) -/* 0AF614 800AEA14 26310001 */ addiu $s1, $s1, 1 -/* 0AF618 800AEA18 0239082A */ slt $at, $s1, $t9 -/* 0AF61C 800AEA1C 1420FFF0 */ bnez $at, .L800AE9E0 -/* 0AF620 800AEA20 26100070 */ addiu $s0, $s0, 0x70 -/* 0AF624 800AEA24 00008825 */ move $s1, $zero -.L800AEA28: -/* 0AF628 800AEA28 3C03800E */ lui $v1, %hi(D_800E2E50) # $v1, 0x800e -/* 0AF62C 800AEA2C 24632E50 */ addiu $v1, %lo(D_800E2E50) # addiu $v1, $v1, 0x2e50 -/* 0AF630 800AEA30 8C620000 */ lw $v0, ($v1) -/* 0AF634 800AEA34 8EC90000 */ lw $t1, ($s6) -/* 0AF638 800AEA38 000250C0 */ sll $t2, $v0, 3 -/* 0AF63C 800AEA3C 01425023 */ subu $t2, $t2, $v0 -/* 0AF640 800AEA40 000A5100 */ sll $t2, $t2, 4 -/* 0AF644 800AEA44 27B30054 */ addiu $s3, $sp, 0x54 -/* 0AF648 800AEA48 27B40050 */ addiu $s4, $sp, 0x50 -/* 0AF64C 800AEA4C 18400016 */ blez $v0, .L800AEAA8 -/* 0AF650 800AEA50 012A9021 */ addu $s2, $t1, $t2 -/* 0AF654 800AEA54 00008025 */ move $s0, $zero -.L800AEA58: -/* 0AF658 800AEA58 8ECC0000 */ lw $t4, ($s6) -/* 0AF65C 800AEA5C 00115900 */ sll $t3, $s1, 4 -/* 0AF660 800AEA60 01726821 */ addu $t5, $t3, $s2 -/* 0AF664 800AEA64 01907021 */ addu $t6, $t4, $s0 -/* 0AF668 800AEA68 ADCD0044 */ sw $t5, 0x44($t6) -/* 0AF66C 800AEA6C 8ECF0000 */ lw $t7, ($s6) -/* 0AF670 800AEA70 02602825 */ move $a1, $s3 -/* 0AF674 800AEA74 01F0C021 */ addu $t8, $t7, $s0 -/* 0AF678 800AEA78 8F040044 */ lw $a0, 0x44($t8) -/* 0AF67C 800AEA7C 0C02BBAE */ jal generate_particle_shape_quad -/* 0AF680 800AEA80 02803025 */ move $a2, $s4 -/* 0AF684 800AEA84 3C19800E */ lui $t9, %hi(D_800E2E50) # $t9, 0x800e -/* 0AF688 800AEA88 8F392E50 */ lw $t9, %lo(D_800E2E50)($t9) -/* 0AF68C 800AEA8C 26310001 */ addiu $s1, $s1, 1 -/* 0AF690 800AEA90 0239082A */ slt $at, $s1, $t9 -/* 0AF694 800AEA94 1420FFF0 */ bnez $at, .L800AEA58 -/* 0AF698 800AEA98 26100070 */ addiu $s0, $s0, 0x70 -/* 0AF69C 800AEA9C 3C03800E */ lui $v1, %hi(D_800E2E50) # $v1, 0x800e -/* 0AF6A0 800AEAA0 24632E50 */ addiu $v1, %lo(D_800E2E50) # addiu $v1, $v1, 0x2e50 -/* 0AF6A4 800AEAA4 00008825 */ move $s1, $zero -.L800AEAA8: -/* 0AF6A8 800AEAA8 3C07800E */ lui $a3, %hi(D_800E2E58) # $a3, 0x800e -/* 0AF6AC 800AEAAC 24E72E58 */ addiu $a3, %lo(D_800E2E58) # addiu $a3, $a3, 0x2e58 -/* 0AF6B0 800AEAB0 8CE20000 */ lw $v0, ($a3) -/* 0AF6B4 800AEAB4 8EE90000 */ lw $t1, ($s7) -/* 0AF6B8 800AEAB8 000250C0 */ sll $t2, $v0, 3 -/* 0AF6BC 800AEABC 01425023 */ subu $t2, $t2, $v0 -/* 0AF6C0 800AEAC0 000A5100 */ sll $t2, $t2, 4 -/* 0AF6C4 800AEAC4 1840001B */ blez $v0, .L800AEB34 -/* 0AF6C8 800AEAC8 012A9021 */ addu $s2, $t1, $t2 -/* 0AF6CC 800AEACC 00008025 */ move $s0, $zero -.L800AEAD0: -/* 0AF6D0 800AEAD0 8EED0000 */ lw $t5, ($s7) -/* 0AF6D4 800AEAD4 00115900 */ sll $t3, $s1, 4 -/* 0AF6D8 800AEAD8 01726021 */ addu $t4, $t3, $s2 -/* 0AF6DC 800AEADC 01B07021 */ addu $t6, $t5, $s0 -/* 0AF6E0 800AEAE0 ADCC0044 */ sw $t4, 0x44($t6) -/* 0AF6E4 800AEAE4 8EF80000 */ lw $t8, ($s7) -/* 0AF6E8 800AEAE8 3C0F800E */ lui $t7, %hi(D_800E2D08) # $t7, 0x800e -/* 0AF6EC 800AEAEC 25EF2D08 */ addiu $t7, %lo(D_800E2D08) # addiu $t7, $t7, 0x2d08 -/* 0AF6F0 800AEAF0 AFAF0050 */ sw $t7, 0x50($sp) -/* 0AF6F4 800AEAF4 0310C821 */ addu $t9, $t8, $s0 -/* 0AF6F8 800AEAF8 8F240044 */ lw $a0, 0x44($t9) -/* 0AF6FC 800AEAFC 02602825 */ move $a1, $s3 -/* 0AF700 800AEB00 0C02BBE2 */ jal func_800AEF88 -/* 0AF704 800AEB04 02803025 */ move $a2, $s4 -/* 0AF708 800AEB08 3C09800E */ lui $t1, %hi(D_800E2E58) # $t1, 0x800e -/* 0AF70C 800AEB0C 8D292E58 */ lw $t1, %lo(D_800E2E58)($t1) -/* 0AF710 800AEB10 26310001 */ addiu $s1, $s1, 1 -/* 0AF714 800AEB14 0229082A */ slt $at, $s1, $t1 -/* 0AF718 800AEB18 1420FFED */ bnez $at, .L800AEAD0 -/* 0AF71C 800AEB1C 26100070 */ addiu $s0, $s0, 0x70 -/* 0AF720 800AEB20 3C07800E */ lui $a3, %hi(D_800E2E58) # $a3, 0x800e -/* 0AF724 800AEB24 3C03800E */ lui $v1, %hi(D_800E2E50) # $v1, 0x800e -/* 0AF728 800AEB28 24632E50 */ addiu $v1, %lo(D_800E2E50) # addiu $v1, $v1, 0x2e50 -/* 0AF72C 800AEB2C 24E72E58 */ addiu $a3, %lo(D_800E2E58) # addiu $a3, $a3, 0x2e58 -/* 0AF730 800AEB30 00008825 */ move $s1, $zero -.L800AEB34: -/* 0AF734 800AEB34 3C08800E */ lui $t0, %hi(D_800E2E5C) # $t0, 0x800e -/* 0AF738 800AEB38 25082E5C */ addiu $t0, %lo(D_800E2E5C) # addiu $t0, $t0, 0x2e5c -/* 0AF73C 800AEB3C 8D020000 */ lw $v0, ($t0) -/* 0AF740 800AEB40 8FCA0000 */ lw $t2, ($fp) -/* 0AF744 800AEB44 00025900 */ sll $t3, $v0, 4 -/* 0AF748 800AEB48 01625823 */ subu $t3, $t3, $v0 -/* 0AF74C 800AEB4C 000B58C0 */ sll $t3, $t3, 3 -/* 0AF750 800AEB50 1840001D */ blez $v0, .L800AEBC8 -/* 0AF754 800AEB54 014B9021 */ addu $s2, $t2, $t3 -/* 0AF758 800AEB58 00008025 */ move $s0, $zero -.L800AEB5C: -/* 0AF75C 800AEB5C 8FCE0000 */ lw $t6, ($fp) -/* 0AF760 800AEB60 00116900 */ sll $t5, $s1, 4 -/* 0AF764 800AEB64 01B26021 */ addu $t4, $t5, $s2 -/* 0AF768 800AEB68 01D07821 */ addu $t7, $t6, $s0 -/* 0AF76C 800AEB6C ADEC0044 */ sw $t4, 0x44($t7) -/* 0AF770 800AEB70 8FD90000 */ lw $t9, ($fp) -/* 0AF774 800AEB74 3C18800E */ lui $t8, %hi(D_800E2D78) # $t8, 0x800e -/* 0AF778 800AEB78 27182D78 */ addiu $t8, %lo(D_800E2D78) # addiu $t8, $t8, 0x2d78 -/* 0AF77C 800AEB7C AFB80050 */ sw $t8, 0x50($sp) -/* 0AF780 800AEB80 03304821 */ addu $t1, $t9, $s0 -/* 0AF784 800AEB84 8D240044 */ lw $a0, 0x44($t1) -/* 0AF788 800AEB88 02602825 */ move $a1, $s3 -/* 0AF78C 800AEB8C 0C02BC09 */ jal func_800AF024 -/* 0AF790 800AEB90 02803025 */ move $a2, $s4 -/* 0AF794 800AEB94 3C0A800E */ lui $t2, %hi(D_800E2E5C) # $t2, 0x800e -/* 0AF798 800AEB98 8D4A2E5C */ lw $t2, %lo(D_800E2E5C)($t2) -/* 0AF79C 800AEB9C 26310001 */ addiu $s1, $s1, 1 -/* 0AF7A0 800AEBA0 022A082A */ slt $at, $s1, $t2 -/* 0AF7A4 800AEBA4 1420FFED */ bnez $at, .L800AEB5C -/* 0AF7A8 800AEBA8 26100078 */ addiu $s0, $s0, 0x78 -/* 0AF7AC 800AEBAC 3C08800E */ lui $t0, %hi(D_800E2E5C) # $t0, 0x800e -/* 0AF7B0 800AEBB0 3C07800E */ lui $a3, %hi(D_800E2E58) # $a3, 0x800e -/* 0AF7B4 800AEBB4 3C03800E */ lui $v1, %hi(D_800E2E50) # $v1, 0x800e -/* 0AF7B8 800AEBB8 24632E50 */ addiu $v1, %lo(D_800E2E50) # addiu $v1, $v1, 0x2e50 -/* 0AF7BC 800AEBBC 24E72E58 */ addiu $a3, %lo(D_800E2E58) # addiu $a3, $a3, 0x2e58 -/* 0AF7C0 800AEBC0 25082E5C */ addiu $t0, %lo(D_800E2E5C) # addiu $t0, $t0, 0x2e5c -/* 0AF7C4 800AEBC4 00008825 */ move $s1, $zero -.L800AEBC8: -/* 0AF7C8 800AEBC8 3C0B800E */ lui $t3, %hi(D_800E2E4C) # $t3, 0x800e -/* 0AF7CC 800AEBCC 8D6B2E4C */ lw $t3, %lo(D_800E2E4C)($t3) -/* 0AF7D0 800AEBD0 3C13800E */ lui $s3, %hi(D_800E2E60) # $s3, 0x800e -/* 0AF7D4 800AEBD4 1960000E */ blez $t3, .L800AEC10 -/* 0AF7D8 800AEBD8 26732E60 */ addiu $s3, %lo(D_800E2E60) # addiu $s3, $s3, 0x2e60 -/* 0AF7DC 800AEBDC 00008025 */ move $s0, $zero -.L800AEBE0: -/* 0AF7E0 800AEBE0 8EAD0000 */ lw $t5, ($s5) -/* 0AF7E4 800AEBE4 3C0C800E */ lui $t4, %hi(D_800E2E4C) # $t4, 0x800e -/* 0AF7E8 800AEBE8 01B07021 */ addu $t6, $t5, $s0 -/* 0AF7EC 800AEBEC A5C0002C */ sh $zero, 0x2c($t6) -/* 0AF7F0 800AEBF0 8D8C2E4C */ lw $t4, %lo(D_800E2E4C)($t4) -/* 0AF7F4 800AEBF4 26310001 */ addiu $s1, $s1, 1 -/* 0AF7F8 800AEBF8 022C082A */ slt $at, $s1, $t4 -/* 0AF7FC 800AEBFC 1420FFF8 */ bnez $at, .L800AEBE0 -/* 0AF800 800AEC00 26100070 */ addiu $s0, $s0, 0x70 -/* 0AF804 800AEC04 3C08800E */ lui $t0, %hi(D_800E2E5C) # $t0, 0x800e -/* 0AF808 800AEC08 25082E5C */ addiu $t0, %lo(D_800E2E5C) # addiu $t0, $t0, 0x2e5c -/* 0AF80C 800AEC0C 00008825 */ move $s1, $zero -.L800AEC10: -/* 0AF810 800AEC10 8C6F0000 */ lw $t7, ($v1) -/* 0AF814 800AEC14 00008025 */ move $s0, $zero -/* 0AF818 800AEC18 19E0000D */ blez $t7, .L800AEC50 -/* 0AF81C 800AEC1C 3C02800E */ lui $v0, %hi(D_800E2CC0) # $v0, 0x800e -.L800AEC20: -/* 0AF820 800AEC20 8ED80000 */ lw $t8, ($s6) -/* 0AF824 800AEC24 26310001 */ addiu $s1, $s1, 1 -/* 0AF828 800AEC28 0310C821 */ addu $t9, $t8, $s0 -/* 0AF82C 800AEC2C A720002C */ sh $zero, 0x2c($t9) -/* 0AF830 800AEC30 8C690000 */ lw $t1, ($v1) -/* 0AF834 800AEC34 26100070 */ addiu $s0, $s0, 0x70 -/* 0AF838 800AEC38 0229082A */ slt $at, $s1, $t1 -/* 0AF83C 800AEC3C 1420FFF8 */ bnez $at, .L800AEC20 -/* 0AF840 800AEC40 00000000 */ nop -/* 0AF844 800AEC44 3C08800E */ lui $t0, %hi(D_800E2E5C) # $t0, 0x800e -/* 0AF848 800AEC48 25082E5C */ addiu $t0, %lo(D_800E2E5C) # addiu $t0, $t0, 0x2e5c -/* 0AF84C 800AEC4C 00008825 */ move $s1, $zero -.L800AEC50: -/* 0AF850 800AEC50 3C03800E */ lui $v1, %hi(D_800E2E54) # $v1, 0x800e -/* 0AF854 800AEC54 24632E54 */ addiu $v1, %lo(D_800E2E54) # addiu $v1, $v1, 0x2e54 -/* 0AF858 800AEC58 8C6A0000 */ lw $t2, ($v1) -/* 0AF85C 800AEC5C 00008025 */ move $s0, $zero -/* 0AF860 800AEC60 1940000D */ blez $t2, .L800AEC98 -/* 0AF864 800AEC64 24422CC0 */ addiu $v0, %lo(D_800E2CC0) # addiu $v0, $v0, 0x2cc0 -.L800AEC68: -/* 0AF868 800AEC68 8C4B0000 */ lw $t3, ($v0) -/* 0AF86C 800AEC6C 26310001 */ addiu $s1, $s1, 1 -/* 0AF870 800AEC70 01706821 */ addu $t5, $t3, $s0 -/* 0AF874 800AEC74 A5A0002C */ sh $zero, 0x2c($t5) -/* 0AF878 800AEC78 8C6E0000 */ lw $t6, ($v1) -/* 0AF87C 800AEC7C 26100070 */ addiu $s0, $s0, 0x70 -/* 0AF880 800AEC80 022E082A */ slt $at, $s1, $t6 -/* 0AF884 800AEC84 1420FFF8 */ bnez $at, .L800AEC68 -/* 0AF888 800AEC88 00000000 */ nop -/* 0AF88C 800AEC8C 3C08800E */ lui $t0, %hi(D_800E2E5C) # $t0, 0x800e -/* 0AF890 800AEC90 25082E5C */ addiu $t0, %lo(D_800E2E5C) # addiu $t0, $t0, 0x2e5c -/* 0AF894 800AEC94 00008825 */ move $s1, $zero -.L800AEC98: -/* 0AF898 800AEC98 8CEC0000 */ lw $t4, ($a3) -/* 0AF89C 800AEC9C 00008025 */ move $s0, $zero -/* 0AF8A0 800AECA0 1980000D */ blez $t4, .L800AECD8 -/* 0AF8A4 800AECA4 2404002F */ li $a0, 47 -.L800AECA8: -/* 0AF8A8 800AECA8 8EEF0000 */ lw $t7, ($s7) -/* 0AF8AC 800AECAC 26310001 */ addiu $s1, $s1, 1 -/* 0AF8B0 800AECB0 01F0C021 */ addu $t8, $t7, $s0 -/* 0AF8B4 800AECB4 A700002C */ sh $zero, 0x2c($t8) -/* 0AF8B8 800AECB8 8CF90000 */ lw $t9, ($a3) -/* 0AF8BC 800AECBC 26100070 */ addiu $s0, $s0, 0x70 -/* 0AF8C0 800AECC0 0239082A */ slt $at, $s1, $t9 -/* 0AF8C4 800AECC4 1420FFF8 */ bnez $at, .L800AECA8 -/* 0AF8C8 800AECC8 00000000 */ nop -/* 0AF8CC 800AECCC 3C08800E */ lui $t0, %hi(D_800E2E5C) # $t0, 0x800e -/* 0AF8D0 800AECD0 25082E5C */ addiu $t0, %lo(D_800E2E5C) # addiu $t0, $t0, 0x2e5c -/* 0AF8D4 800AECD4 00008825 */ move $s1, $zero -.L800AECD8: -/* 0AF8D8 800AECD8 8D090000 */ lw $t1, ($t0) -/* 0AF8DC 800AECDC 00008025 */ move $s0, $zero -/* 0AF8E0 800AECE0 1920000A */ blez $t1, .L800AED0C -/* 0AF8E4 800AECE4 00000000 */ nop -.L800AECE8: -/* 0AF8E8 800AECE8 8FCA0000 */ lw $t2, ($fp) -/* 0AF8EC 800AECEC 26310001 */ addiu $s1, $s1, 1 -/* 0AF8F0 800AECF0 01505821 */ addu $t3, $t2, $s0 -/* 0AF8F4 800AECF4 A560002C */ sh $zero, 0x2c($t3) -/* 0AF8F8 800AECF8 8D0D0000 */ lw $t5, ($t0) -/* 0AF8FC 800AECFC 26100078 */ addiu $s0, $s0, 0x78 -/* 0AF900 800AED00 022D082A */ slt $at, $s1, $t5 -/* 0AF904 800AED04 1420FFF8 */ bnez $at, .L800AECE8 -/* 0AF908 800AED08 00000000 */ nop -.L800AED0C: -/* 0AF90C 800AED0C 8E6E0000 */ lw $t6, ($s3) -/* 0AF910 800AED10 00000000 */ nop -/* 0AF914 800AED14 15C00034 */ bnez $t6, .L800AEDE8 -/* 0AF918 800AED18 8FBF003C */ lw $ra, 0x3c($sp) -/* 0AF91C 800AED1C 0C01DB16 */ jal load_asset_section_from_rom -/* 0AF920 800AED20 00008825 */ move $s1, $zero -/* 0AF924 800AED24 3C06800E */ lui $a2, %hi(D_800E2E64) # $a2, 0x800e -/* 0AF928 800AED28 24C62E64 */ addiu $a2, %lo(D_800E2E64) # addiu $a2, $a2, 0x2e64 -/* 0AF92C 800AED2C 00006040 */ sll $t4, $zero, 1 -/* 0AF930 800AED30 ACC00000 */ sw $zero, ($a2) -/* 0AF934 800AED34 004C7821 */ addu $t7, $v0, $t4 -/* 0AF938 800AED38 85F80000 */ lh $t8, ($t7) -/* 0AF93C 800AED3C 2404FFFF */ li $a0, -1 -/* 0AF940 800AED40 00409025 */ move $s2, $v0 -/* 0AF944 800AED44 10980009 */ beq $a0, $t8, .L800AED6C -/* 0AF948 800AED48 00001825 */ move $v1, $zero -/* 0AF94C 800AED4C 24790001 */ addiu $t9, $v1, 1 -.L800AED50: -/* 0AF950 800AED50 00194840 */ sll $t1, $t9, 1 -/* 0AF954 800AED54 02495021 */ addu $t2, $s2, $t1 -/* 0AF958 800AED58 ACD90000 */ sw $t9, ($a2) -/* 0AF95C 800AED5C 854B0000 */ lh $t3, ($t2) -/* 0AF960 800AED60 03201825 */ move $v1, $t9 -/* 0AF964 800AED64 148BFFFA */ bne $a0, $t3, .L800AED50 -/* 0AF968 800AED68 24790001 */ addiu $t9, $v1, 1 -.L800AED6C: -/* 0AF96C 800AED6C 00032080 */ sll $a0, $v1, 2 -/* 0AF970 800AED70 0C01C327 */ jal mempool_alloc_safe -/* 0AF974 800AED74 3405FFFF */ li $a1, 65535 -/* 0AF978 800AED78 3C06800E */ lui $a2, %hi(D_800E2E64) # $a2, 0x800e -/* 0AF97C 800AED7C 24C62E64 */ addiu $a2, %lo(D_800E2E64) # addiu $a2, $a2, 0x2e64 -/* 0AF980 800AED80 8CCD0000 */ lw $t5, ($a2) -/* 0AF984 800AED84 AE620000 */ sw $v0, ($s3) -/* 0AF988 800AED88 19A00014 */ blez $t5, .L800AEDDC -/* 0AF98C 800AED8C 02408025 */ move $s0, $s2 -/* 0AF990 800AED90 00001825 */ move $v1, $zero -.L800AED94: -/* 0AF994 800AED94 86040000 */ lh $a0, ($s0) -/* 0AF998 800AED98 AFA30044 */ sw $v1, 0x44($sp) -/* 0AF99C 800AED9C 308E3FFF */ andi $t6, $a0, 0x3fff -/* 0AF9A0 800AEDA0 01C02025 */ move $a0, $t6 -/* 0AF9A4 800AEDA4 0C01F04B */ jal func_8007C12C -/* 0AF9A8 800AEDA8 24050001 */ li $a1, 1 -/* 0AF9AC 800AEDAC 8FA30044 */ lw $v1, 0x44($sp) -/* 0AF9B0 800AEDB0 8E6C0000 */ lw $t4, ($s3) -/* 0AF9B4 800AEDB4 3C06800E */ lui $a2, %hi(D_800E2E64) # $a2, 0x800e -/* 0AF9B8 800AEDB8 01837821 */ addu $t7, $t4, $v1 -/* 0AF9BC 800AEDBC ADE20000 */ sw $v0, ($t7) -/* 0AF9C0 800AEDC0 24C62E64 */ addiu $a2, %lo(D_800E2E64) # addiu $a2, $a2, 0x2e64 -/* 0AF9C4 800AEDC4 8CD80000 */ lw $t8, ($a2) -/* 0AF9C8 800AEDC8 26310001 */ addiu $s1, $s1, 1 -/* 0AF9CC 800AEDCC 0238082A */ slt $at, $s1, $t8 -/* 0AF9D0 800AEDD0 26100002 */ addiu $s0, $s0, 2 -/* 0AF9D4 800AEDD4 1420FFEF */ bnez $at, .L800AED94 -/* 0AF9D8 800AEDD8 24630004 */ addiu $v1, $v1, 4 -.L800AEDDC: -/* 0AF9DC 800AEDDC 0C01C450 */ jal mempool_free -/* 0AF9E0 800AEDE0 02402025 */ move $a0, $s2 -/* 0AF9E4 800AEDE4 8FBF003C */ lw $ra, 0x3c($sp) -.L800AEDE8: -/* 0AF9E8 800AEDE8 8FB00018 */ lw $s0, 0x18($sp) -/* 0AF9EC 800AEDEC 8FB1001C */ lw $s1, 0x1c($sp) -/* 0AF9F0 800AEDF0 8FB20020 */ lw $s2, 0x20($sp) -/* 0AF9F4 800AEDF4 8FB30024 */ lw $s3, 0x24($sp) -/* 0AF9F8 800AEDF8 8FB40028 */ lw $s4, 0x28($sp) -/* 0AF9FC 800AEDFC 8FB5002C */ lw $s5, 0x2c($sp) -/* 0AFA00 800AEE00 8FB60030 */ lw $s6, 0x30($sp) -/* 0AFA04 800AEE04 8FB70034 */ lw $s7, 0x34($sp) -/* 0AFA08 800AEE08 8FBE0038 */ lw $fp, 0x38($sp) -/* 0AFA0C 800AEE0C 03E00008 */ jr $ra -/* 0AFA10 800AEE10 27BD0068 */ addiu $sp, $sp, 0x68 - diff --git a/asm/non_matchings/particles/func_800AF404.s b/asm/non_matchings/particles/func_800AF404.s deleted file mode 100644 index 562729a4..00000000 --- a/asm/non_matchings/particles/func_800AF404.s +++ /dev/null @@ -1,77 +0,0 @@ -glabel func_800AF404 -/* 0B0004 800AF404 3C08800E */ lui $t0, %hi(D_800E2E28) # $t0, 0x800e -/* 0B0008 800AF408 25082E28 */ addiu $t0, %lo(D_800E2E28) # addiu $t0, $t0, 0x2e28 -/* 0B000C 800AF40C 850E0000 */ lh $t6, ($t0) -/* 0B0010 800AF410 00047980 */ sll $t7, $a0, 6 -/* 0B0014 800AF414 01CFC021 */ addu $t8, $t6, $t7 -/* 0B0018 800AF418 331901FF */ andi $t9, $t8, 0x1ff -/* 0B001C 800AF41C A5190000 */ sh $t9, ($t0) -/* 0B0020 800AF420 3C06800E */ lui $a2, %hi(D_800E2D08) # $a2, 0x800e -/* 0B0024 800AF424 3C07800E */ lui $a3, %hi(D_800E2D58) # $a3, 0x800e -/* 0B0028 800AF428 3C03800E */ lui $v1, %hi(D_800E2D58) # $v1, 0x800e -/* 0B002C 800AF42C 85020000 */ lh $v0, ($t0) -/* 0B0030 800AF430 24632D58 */ addiu $v1, %lo(D_800E2D58) # addiu $v1, $v1, 0x2d58 -/* 0B0034 800AF434 24E72D58 */ addiu $a3, %lo(D_800E2D58) # addiu $a3, $a3, 0x2d58 -/* 0B0038 800AF438 24C62D08 */ addiu $a2, %lo(D_800E2D08) # addiu $a2, $a2, 0x2d08 -.L800AF43C: -/* 0B003C 800AF43C 84E90000 */ lh $t1, ($a3) -/* 0B0040 800AF440 84EB0002 */ lh $t3, 2($a3) -/* 0B0044 800AF444 84ED0004 */ lh $t5, 4($a3) -/* 0B0048 800AF448 24C60010 */ addiu $a2, $a2, 0x10 -/* 0B004C 800AF44C 00C3082B */ sltu $at, $a2, $v1 -/* 0B0050 800AF450 01225021 */ addu $t2, $t1, $v0 -/* 0B0054 800AF454 01626021 */ addu $t4, $t3, $v0 -/* 0B0058 800AF458 01A27021 */ addu $t6, $t5, $v0 -/* 0B005C 800AF45C A4CAFFF6 */ sh $t2, -0xa($a2) -/* 0B0060 800AF460 A4CCFFFA */ sh $t4, -6($a2) -/* 0B0064 800AF464 A4CEFFFE */ sh $t6, -2($a2) -/* 0B0068 800AF468 1420FFF4 */ bnez $at, .L800AF43C -/* 0B006C 800AF46C 24E70006 */ addiu $a3, $a3, 6 -/* 0B0070 800AF470 3C04800E */ lui $a0, %hi(D_800E2D78) # $a0, 0x800e -/* 0B0074 800AF474 3C06800E */ lui $a2, %hi(D_800E2DF8) # $a2, 0x800e -/* 0B0078 800AF478 3C03800E */ lui $v1, %hi(D_800E2DF8) # $v1, 0x800e -/* 0B007C 800AF47C 24632DF8 */ addiu $v1, %lo(D_800E2DF8) # addiu $v1, $v1, 0x2df8 -/* 0B0080 800AF480 24C62DF8 */ addiu $a2, %lo(D_800E2DF8) # addiu $a2, $a2, 0x2df8 -/* 0B0084 800AF484 24842D78 */ addiu $a0, %lo(D_800E2D78) # addiu $a0, $a0, 0x2d78 -.L800AF488: -/* 0B0088 800AF488 84CF0000 */ lh $t7, ($a2) -/* 0B008C 800AF48C 84D90002 */ lh $t9, 2($a2) -/* 0B0090 800AF490 84CA0004 */ lh $t2, 4($a2) -/* 0B0094 800AF494 01E2C021 */ addu $t8, $t7, $v0 -/* 0B0098 800AF498 03224821 */ addu $t1, $t9, $v0 -/* 0B009C 800AF49C A4980006 */ sh $t8, 6($a0) -/* 0B00A0 800AF4A0 A489000A */ sh $t1, 0xa($a0) -/* 0B00A4 800AF4A4 84C9000C */ lh $t1, 0xc($a2) -/* 0B00A8 800AF4A8 84D8000A */ lh $t8, 0xa($a2) -/* 0B00AC 800AF4AC 84CC0006 */ lh $t4, 6($a2) -/* 0B00B0 800AF4B0 84CE0008 */ lh $t6, 8($a2) -/* 0B00B4 800AF4B4 01425821 */ addu $t3, $t2, $v0 -/* 0B00B8 800AF4B8 A48B000E */ sh $t3, 0xe($a0) -/* 0B00BC 800AF4BC 01225021 */ addu $t2, $t1, $v0 -/* 0B00C0 800AF4C0 0302C821 */ addu $t9, $t8, $v0 -/* 0B00C4 800AF4C4 01826821 */ addu $t5, $t4, $v0 -/* 0B00C8 800AF4C8 01C27821 */ addu $t7, $t6, $v0 -/* 0B00CC 800AF4CC 84CB000E */ lh $t3, 0xe($a2) -/* 0B00D0 800AF4D0 A48F001A */ sh $t7, 0x1a($a0) -/* 0B00D4 800AF4D4 A48D0016 */ sh $t5, 0x16($a0) -/* 0B00D8 800AF4D8 A499001E */ sh $t9, 0x1e($a0) -/* 0B00DC 800AF4DC A48A0026 */ sh $t2, 0x26($a0) -/* 0B00E0 800AF4E0 84CA0016 */ lh $t2, 0x16($a2) -/* 0B00E4 800AF4E4 84D90014 */ lh $t9, 0x14($a2) -/* 0B00E8 800AF4E8 84CD0010 */ lh $t5, 0x10($a2) -/* 0B00EC 800AF4EC 84CF0012 */ lh $t7, 0x12($a2) -/* 0B00F0 800AF4F0 01626021 */ addu $t4, $t3, $v0 -/* 0B00F4 800AF4F4 24840040 */ addiu $a0, $a0, 0x40 -/* 0B00F8 800AF4F8 01425821 */ addu $t3, $t2, $v0 -/* 0B00FC 800AF4FC 03224821 */ addu $t1, $t9, $v0 -/* 0B0100 800AF500 01A27021 */ addu $t6, $t5, $v0 -/* 0B0104 800AF504 01E2C021 */ addu $t8, $t7, $v0 -/* 0B0108 800AF508 A498FFF6 */ sh $t8, -0xa($a0) -/* 0B010C 800AF50C A48EFFEE */ sh $t6, -0x12($a0) -/* 0B0110 800AF510 A489FFFA */ sh $t1, -6($a0) -/* 0B0114 800AF514 A48BFFFE */ sh $t3, -2($a0) -/* 0B0118 800AF518 A48CFFEA */ sh $t4, -0x16($a0) -/* 0B011C 800AF51C 1483FFDA */ bne $a0, $v1, .L800AF488 -/* 0B0120 800AF520 24C60018 */ addiu $a2, $a2, 0x18 -/* 0B0124 800AF524 03E00008 */ jr $ra -/* 0B0128 800AF528 00000000 */ nop diff --git a/asm/non_matchings/printf/func_800B653C.s b/asm/non_matchings/printf/func_800B653C.s deleted file mode 100644 index 14109536..00000000 --- a/asm/non_matchings/printf/func_800B653C.s +++ /dev/null @@ -1,296 +0,0 @@ -.late_rodata -glabel jpt_800E8E58 -.word L800B6658, L800B6740, L800B6614, L800B6634, L800B66CC - -.text -glabel func_800B653C -/* 0B713C 800B653C 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0B7140 800B6540 AFBF0044 */ sw $ra, 0x44($sp) -/* 0B7144 800B6544 AFBE0040 */ sw $fp, 0x40($sp) -/* 0B7148 800B6548 AFB7003C */ sw $s7, 0x3c($sp) -/* 0B714C 800B654C AFB60038 */ sw $s6, 0x38($sp) -/* 0B7150 800B6550 AFB50034 */ sw $s5, 0x34($sp) -/* 0B7154 800B6554 AFB40030 */ sw $s4, 0x30($sp) -/* 0B7158 800B6558 AFB3002C */ sw $s3, 0x2c($sp) -/* 0B715C 800B655C AFB20028 */ sw $s2, 0x28($sp) -/* 0B7160 800B6560 AFB10024 */ sw $s1, 0x24($sp) -/* 0B7164 800B6564 AFB00020 */ sw $s0, 0x20($sp) -/* 0B7168 800B6568 AFA5004C */ sw $a1, 0x4c($sp) -/* 0B716C 800B656C 90B10000 */ lbu $s1, ($a1) -/* 0B7170 800B6570 0080A825 */ move $s5, $a0 -/* 0B7174 800B6574 122000EB */ beqz $s1, .L800B6924 -/* 0B7178 800B6578 24B00001 */ addiu $s0, $a1, 1 -/* 0B717C 800B657C 3C1E8012 */ lui $fp, %hi(gDebugTextOn) # $fp, 0x8012 -/* 0B7180 800B6580 3C178012 */ lui $s7, %hi(D_80127CB2) # $s7, 0x8012 -/* 0B7184 800B6584 3C168012 */ lui $s6, %hi(D_80127CB0) # $s6, 0x8012 -/* 0B7188 800B6588 3C148012 */ lui $s4, %hi(gDebugTextY) # $s4, 0x8012 -/* 0B718C 800B658C 3C128012 */ lui $s2, %hi(gDebugTextX) # $s2, 0x8012 -/* 0B7190 800B6590 26527CAC */ addiu $s2, %lo(gDebugTextX) # addiu $s2, $s2, 0x7cac -/* 0B7194 800B6594 26947CAE */ addiu $s4, %lo(gDebugTextY) # addiu $s4, $s4, 0x7cae -/* 0B7198 800B6598 26D67CB0 */ addiu $s6, %lo(D_80127CB0) # addiu $s6, $s6, 0x7cb0 -/* 0B719C 800B659C 26F77CB2 */ addiu $s7, %lo(D_80127CB2) # addiu $s7, $s7, 0x7cb2 -/* 0B71A0 800B65A0 27DE7CB8 */ addiu $fp, %lo(gDebugTextOn) # addiu $fp, $fp, 0x7cb8 -/* 0B71A4 800B65A4 2A21000B */ slti $at, $s1, 0xb -.L800B65A8: -/* 0B71A8 800B65A8 14200012 */ bnez $at, .L800B65F4 -/* 0B71AC 800B65AC 00009825 */ move $s3, $zero -/* 0B71B0 800B65B0 2A210021 */ slti $at, $s1, 0x21 -/* 0B71B4 800B65B4 1420000A */ bnez $at, .L800B65E0 -/* 0B71B8 800B65B8 262EFF7F */ addiu $t6, $s1, -0x81 -/* 0B71BC 800B65BC 2DC10005 */ sltiu $at, $t6, 5 -/* 0B71C0 800B65C0 102000AE */ beqz $at, .L800B687C -/* 0B71C4 800B65C4 000E7080 */ sll $t6, $t6, 2 -/* 0B71C8 800B65C8 3C01800F */ lui $at, %hi(jpt_800E8E58) # $at, 0x800f -/* 0B71CC 800B65CC 002E0821 */ addu $at, $at, $t6 -/* 0B71D0 800B65D0 8C2E8E58 */ lw $t6, %lo(jpt_800E8E58)($at) -/* 0B71D4 800B65D4 00000000 */ nop -/* 0B71D8 800B65D8 01C00008 */ jr $t6 -/* 0B71DC 800B65DC 00000000 */ nop -.L800B65E0: -/* 0B71E0 800B65E0 24010020 */ li $at, 32 -/* 0B71E4 800B65E4 12210077 */ beq $s1, $at, .L800B67C4 -/* 0B71E8 800B65E8 24130006 */ li $s3, 6 -/* 0B71EC 800B65EC 100000A4 */ b .L800B6880 -/* 0B71F0 800B65F0 02A02025 */ move $a0, $s5 -.L800B65F4: -/* 0B71F4 800B65F4 24010009 */ li $at, 9 -/* 0B71F8 800B65F8 12210090 */ beq $s1, $at, .L800B683C -/* 0B71FC 800B65FC 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 -/* 0B7200 800B6600 2401000A */ li $at, 10 -/* 0B7204 800B6604 12210076 */ beq $s1, $at, .L800B67E0 -/* 0B7208 800B6608 00000000 */ nop -/* 0B720C 800B660C 1000009C */ b .L800B6880 -/* 0B7210 800B6610 02A02025 */ move $a0, $s5 -glabel L800B6614 -/* 0B7214 800B6614 3C018012 */ lui $at, %hi(D_80127CB4) # $at, 0x8012 -/* 0B7218 800B6618 3C058012 */ lui $a1, %hi(gDebugScreenWidth) # $a1, 0x8012 -/* 0B721C 800B661C 94A57CD0 */ lhu $a1, %lo(gDebugScreenWidth)($a1) -/* 0B7220 800B6620 AC207CB4 */ sw $zero, %lo(D_80127CB4)($at) -/* 0B7224 800B6624 96440000 */ lhu $a0, ($s2) -/* 0B7228 800B6628 00001825 */ move $v1, $zero -/* 0B722C 800B662C 1000009D */ b .L800B68A4 -/* 0B7230 800B6630 24A5FFF0 */ addiu $a1, $a1, -0x10 -glabel L800B6634 -/* 0B7234 800B6634 240F0001 */ li $t7, 1 -/* 0B7238 800B6638 3C018012 */ lui $at, %hi(D_80127CB4) # $at, 0x8012 -/* 0B723C 800B663C 3C058012 */ lui $a1, %hi(gDebugScreenWidth) # $a1, 0x8012 -/* 0B7240 800B6640 94A57CD0 */ lhu $a1, %lo(gDebugScreenWidth)($a1) -/* 0B7244 800B6644 AC2F7CB4 */ sw $t7, %lo(D_80127CB4)($at) -/* 0B7248 800B6648 96440000 */ lhu $a0, ($s2) -/* 0B724C 800B664C 24030001 */ li $v1, 1 -/* 0B7250 800B6650 10000094 */ b .L800B68A4 -/* 0B7254 800B6654 24A5FFF0 */ addiu $a1, $a1, -0x10 -glabel L800B6658 -/* 0B7258 800B6658 8FD80000 */ lw $t8, ($fp) -/* 0B725C 800B665C 92040000 */ lbu $a0, ($s0) -/* 0B7260 800B6660 92050001 */ lbu $a1, 1($s0) -/* 0B7264 800B6664 92060002 */ lbu $a2, 2($s0) -/* 0B7268 800B6668 92070003 */ lbu $a3, 3($s0) -/* 0B726C 800B666C 13000010 */ beqz $t8, .L800B66B0 -/* 0B7270 800B6670 26100004 */ addiu $s0, $s0, 4 -/* 0B7274 800B6674 8EA30000 */ lw $v1, ($s5) -/* 0B7278 800B6678 30AB00FF */ andi $t3, $a1, 0xff -/* 0B727C 800B667C 24790008 */ addiu $t9, $v1, 8 -/* 0B7280 800B6680 AEB90000 */ sw $t9, ($s5) -/* 0B7284 800B6684 000B6400 */ sll $t4, $t3, 0x10 -/* 0B7288 800B6688 00045600 */ sll $t2, $a0, 0x18 -/* 0B728C 800B668C 30CE00FF */ andi $t6, $a2, 0xff -/* 0B7290 800B6690 000E7A00 */ sll $t7, $t6, 8 -/* 0B7294 800B6694 014C6825 */ or $t5, $t2, $t4 -/* 0B7298 800B6698 3C08FB00 */ lui $t0, 0xfb00 -/* 0B729C 800B669C 01AFC025 */ or $t8, $t5, $t7 -/* 0B72A0 800B66A0 30F900FF */ andi $t9, $a3, 0xff -/* 0B72A4 800B66A4 AC680000 */ sw $t0, ($v1) -/* 0B72A8 800B66A8 03194025 */ or $t0, $t8, $t9 -/* 0B72AC 800B66AC AC680004 */ sw $t0, 4($v1) -.L800B66B0: -/* 0B72B0 800B66B0 3C058012 */ lui $a1, %hi(gDebugScreenWidth) # $a1, 0x8012 -/* 0B72B4 800B66B4 94A57CD0 */ lhu $a1, %lo(gDebugScreenWidth)($a1) -/* 0B72B8 800B66B8 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 -/* 0B72BC 800B66BC 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) -/* 0B72C0 800B66C0 96440000 */ lhu $a0, ($s2) -/* 0B72C4 800B66C4 10000077 */ b .L800B68A4 -/* 0B72C8 800B66C8 24A5FFF0 */ addiu $a1, $a1, -0x10 -glabel L800B66CC -/* 0B72CC 800B66CC 8FC90000 */ lw $t1, ($fp) -/* 0B72D0 800B66D0 92040000 */ lbu $a0, ($s0) -/* 0B72D4 800B66D4 92050001 */ lbu $a1, 1($s0) -/* 0B72D8 800B66D8 92060002 */ lbu $a2, 2($s0) -/* 0B72DC 800B66DC 92070003 */ lbu $a3, 3($s0) -/* 0B72E0 800B66E0 15200010 */ bnez $t1, .L800B6724 -/* 0B72E4 800B66E4 26100004 */ addiu $s0, $s0, 4 -/* 0B72E8 800B66E8 8EA30000 */ lw $v1, ($s5) -/* 0B72EC 800B66EC 30AD00FF */ andi $t5, $a1, 0xff -/* 0B72F0 800B66F0 246B0008 */ addiu $t3, $v1, 8 -/* 0B72F4 800B66F4 AEAB0000 */ sw $t3, ($s5) -/* 0B72F8 800B66F8 000D7C00 */ sll $t7, $t5, 0x10 -/* 0B72FC 800B66FC 00047600 */ sll $t6, $a0, 0x18 -/* 0B7300 800B6700 30D900FF */ andi $t9, $a2, 0xff -/* 0B7304 800B6704 00194200 */ sll $t0, $t9, 8 -/* 0B7308 800B6708 01CFC025 */ or $t8, $t6, $t7 -/* 0B730C 800B670C 3C0AFA00 */ lui $t2, 0xfa00 -/* 0B7310 800B6710 03084825 */ or $t1, $t8, $t0 -/* 0B7314 800B6714 30EB00FF */ andi $t3, $a3, 0xff -/* 0B7318 800B6718 AC6A0000 */ sw $t2, ($v1) -/* 0B731C 800B671C 012B5025 */ or $t2, $t1, $t3 -/* 0B7320 800B6720 AC6A0004 */ sw $t2, 4($v1) -.L800B6724: -/* 0B7324 800B6724 3C058012 */ lui $a1, %hi(gDebugScreenWidth) # $a1, 0x8012 -/* 0B7328 800B6728 94A57CD0 */ lhu $a1, %lo(gDebugScreenWidth)($a1) -/* 0B732C 800B672C 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 -/* 0B7330 800B6730 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) -/* 0B7334 800B6734 96440000 */ lhu $a0, ($s2) -/* 0B7338 800B6738 1000005A */ b .L800B68A4 -/* 0B733C 800B673C 24A5FFF0 */ addiu $a1, $a1, -0x10 -glabel L800B6740 -/* 0B7340 800B6740 8FCC0000 */ lw $t4, ($fp) -/* 0B7344 800B6744 02A02025 */ move $a0, $s5 -/* 0B7348 800B6748 15800008 */ bnez $t4, .L800B676C -/* 0B734C 800B674C 00000000 */ nop -/* 0B7350 800B6750 968D0000 */ lhu $t5, ($s4) -/* 0B7354 800B6754 96C50000 */ lhu $a1, ($s6) -/* 0B7358 800B6758 96E60000 */ lhu $a2, ($s7) -/* 0B735C 800B675C 96470000 */ lhu $a3, ($s2) -/* 0B7360 800B6760 25AE000A */ addiu $t6, $t5, 0xa -/* 0B7364 800B6764 0C02DA57 */ jal debug_text_background -/* 0B7368 800B6768 AFAE0010 */ sw $t6, 0x10($sp) -.L800B676C: -/* 0B736C 800B676C 92190000 */ lbu $t9, ($s0) -/* 0B7370 800B6770 3C058012 */ lui $a1, %hi(gDebugScreenWidth) # $a1, 0x8012 -/* 0B7374 800B6774 A6590000 */ sh $t9, ($s2) -/* 0B7378 800B6778 92180001 */ lbu $t8, 1($s0) -/* 0B737C 800B677C 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 -/* 0B7380 800B6780 00184200 */ sll $t0, $t8, 8 -/* 0B7384 800B6784 03284825 */ or $t1, $t9, $t0 -/* 0B7388 800B6788 A6490000 */ sh $t1, ($s2) -/* 0B738C 800B678C 920A0002 */ lbu $t2, 2($s0) -/* 0B7390 800B6790 3124FFFF */ andi $a0, $t1, 0xffff -/* 0B7394 800B6794 A68A0000 */ sh $t2, ($s4) -/* 0B7398 800B6798 920C0003 */ lbu $t4, 3($s0) -/* 0B739C 800B679C A6C40000 */ sh $a0, ($s6) -/* 0B73A0 800B67A0 000C6A00 */ sll $t5, $t4, 8 -/* 0B73A4 800B67A4 014D7825 */ or $t7, $t2, $t5 -/* 0B73A8 800B67A8 A68F0000 */ sh $t7, ($s4) -/* 0B73AC 800B67AC A6EF0000 */ sh $t7, ($s7) -/* 0B73B0 800B67B0 94A57CD0 */ lhu $a1, %lo(gDebugScreenWidth)($a1) -/* 0B73B4 800B67B4 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) -/* 0B73B8 800B67B8 26100004 */ addiu $s0, $s0, 4 -/* 0B73BC 800B67BC 10000039 */ b .L800B68A4 -/* 0B73C0 800B67C0 24A5FFF0 */ addiu $a1, $a1, -0x10 -.L800B67C4: -/* 0B73C4 800B67C4 3C058012 */ lui $a1, %hi(gDebugScreenWidth) # $a1, 0x8012 -/* 0B73C8 800B67C8 94A57CD0 */ lhu $a1, %lo(gDebugScreenWidth)($a1) -/* 0B73CC 800B67CC 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 -/* 0B73D0 800B67D0 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) -/* 0B73D4 800B67D4 96440000 */ lhu $a0, ($s2) -/* 0B73D8 800B67D8 10000032 */ b .L800B68A4 -/* 0B73DC 800B67DC 24A5FFF0 */ addiu $a1, $a1, -0x10 -.L800B67E0: -/* 0B73E0 800B67E0 8FD80000 */ lw $t8, ($fp) -/* 0B73E4 800B67E4 02A02025 */ move $a0, $s5 -/* 0B73E8 800B67E8 17000008 */ bnez $t8, .L800B680C -/* 0B73EC 800B67EC 00000000 */ nop -/* 0B73F0 800B67F0 96990000 */ lhu $t9, ($s4) -/* 0B73F4 800B67F4 96C50000 */ lhu $a1, ($s6) -/* 0B73F8 800B67F8 96E60000 */ lhu $a2, ($s7) -/* 0B73FC 800B67FC 96470000 */ lhu $a3, ($s2) -/* 0B7400 800B6800 2728000A */ addiu $t0, $t9, 0xa -/* 0B7404 800B6804 0C02DA57 */ jal debug_text_background -/* 0B7408 800B6808 AFA80010 */ sw $t0, 0x10($sp) -.L800B680C: -/* 0B740C 800B680C 0C02DBC1 */ jal debug_text_newline -/* 0B7410 800B6810 00000000 */ nop -/* 0B7414 800B6814 96440000 */ lhu $a0, ($s2) -/* 0B7418 800B6818 96890000 */ lhu $t1, ($s4) -/* 0B741C 800B681C 3C058012 */ lui $a1, %hi(gDebugScreenWidth) # $a1, 0x8012 -/* 0B7420 800B6820 A6C40000 */ sh $a0, ($s6) -/* 0B7424 800B6824 A6E90000 */ sh $t1, ($s7) -/* 0B7428 800B6828 94A57CD0 */ lhu $a1, %lo(gDebugScreenWidth)($a1) -/* 0B742C 800B682C 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 -/* 0B7430 800B6830 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) -/* 0B7434 800B6834 1000001B */ b .L800B68A4 -/* 0B7438 800B6838 24A5FFF0 */ addiu $a1, $a1, -0x10 -.L800B683C: -/* 0B743C 800B683C 96440000 */ lhu $a0, ($s2) -/* 0B7440 800B6840 3C058012 */ lui $a1, %hi(gDebugScreenWidth) # $a1, 0x8012 -/* 0B7444 800B6844 94A57CD0 */ lhu $a1, %lo(gDebugScreenWidth)($a1) -/* 0B7448 800B6848 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) -/* 0B744C 800B684C 04810004 */ bgez $a0, .L800B6860 -/* 0B7450 800B6850 3082001F */ andi $v0, $a0, 0x1f -/* 0B7454 800B6854 10400002 */ beqz $v0, .L800B6860 -/* 0B7458 800B6858 00000000 */ nop -/* 0B745C 800B685C 2442FFE0 */ addiu $v0, $v0, -0x20 -.L800B6860: -/* 0B7460 800B6860 14400003 */ bnez $v0, .L800B6870 -/* 0B7464 800B6864 24A5FFF0 */ addiu $a1, $a1, -0x10 -/* 0B7468 800B6868 1000000E */ b .L800B68A4 -/* 0B746C 800B686C 24130020 */ li $s3, 32 -.L800B6870: -/* 0B7470 800B6870 240B0020 */ li $t3, 32 -/* 0B7474 800B6874 1000000B */ b .L800B68A4 -/* 0B7478 800B6878 01629823 */ subu $s3, $t3, $v0 -.L800B687C: -/* 0B747C 800B687C 02A02025 */ move $a0, $s5 -.L800B6880: -/* 0B7480 800B6880 0C02DA7F */ jal debug_text_character -/* 0B7484 800B6884 02202825 */ move $a1, $s1 -/* 0B7488 800B6888 3C058012 */ lui $a1, %hi(gDebugScreenWidth) # $a1, 0x8012 -/* 0B748C 800B688C 94A57CD0 */ lhu $a1, %lo(gDebugScreenWidth)($a1) -/* 0B7490 800B6890 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 -/* 0B7494 800B6894 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) -/* 0B7498 800B6898 96440000 */ lhu $a0, ($s2) -/* 0B749C 800B689C 00409825 */ move $s3, $v0 -/* 0B74A0 800B68A0 24A5FFF0 */ addiu $a1, $a1, -0x10 -.L800B68A4: -/* 0B74A4 800B68A4 10600006 */ beqz $v1, .L800B68C0 -/* 0B74A8 800B68A8 2A210020 */ slti $at, $s1, 0x20 -/* 0B74AC 800B68AC 14200004 */ bnez $at, .L800B68C0 -/* 0B74B0 800B68B0 2A210080 */ slti $at, $s1, 0x80 -/* 0B74B4 800B68B4 10200003 */ beqz $at, .L800B68C4 -/* 0B74B8 800B68B8 00936021 */ addu $t4, $a0, $s3 -/* 0B74BC 800B68BC 24130007 */ li $s3, 7 -.L800B68C0: -/* 0B74C0 800B68C0 00936021 */ addu $t4, $a0, $s3 -.L800B68C4: -/* 0B74C4 800B68C4 3187FFFF */ andi $a3, $t4, 0xffff -/* 0B74C8 800B68C8 00A7082A */ slt $at, $a1, $a3 -/* 0B74CC 800B68CC 10200011 */ beqz $at, .L800B6914 -/* 0B74D0 800B68D0 A64C0000 */ sh $t4, ($s2) -/* 0B74D4 800B68D4 8FCA0000 */ lw $t2, ($fp) -/* 0B74D8 800B68D8 02A02025 */ move $a0, $s5 -/* 0B74DC 800B68DC 15400007 */ bnez $t2, .L800B68FC -/* 0B74E0 800B68E0 00000000 */ nop -/* 0B74E4 800B68E4 968D0000 */ lhu $t5, ($s4) -/* 0B74E8 800B68E8 96C50000 */ lhu $a1, ($s6) -/* 0B74EC 800B68EC 96E60000 */ lhu $a2, ($s7) -/* 0B74F0 800B68F0 25AE000A */ addiu $t6, $t5, 0xa -/* 0B74F4 800B68F4 0C02DA57 */ jal debug_text_background -/* 0B74F8 800B68F8 AFAE0010 */ sw $t6, 0x10($sp) -.L800B68FC: -/* 0B74FC 800B68FC 0C02DBC1 */ jal debug_text_newline -/* 0B7500 800B6900 00000000 */ nop -/* 0B7504 800B6904 964F0000 */ lhu $t7, ($s2) -/* 0B7508 800B6908 96980000 */ lhu $t8, ($s4) -/* 0B750C 800B690C A6CF0000 */ sh $t7, ($s6) -/* 0B7510 800B6910 A6F80000 */ sh $t8, ($s7) -.L800B6914: -/* 0B7514 800B6914 92110000 */ lbu $s1, ($s0) -/* 0B7518 800B6918 26100001 */ addiu $s0, $s0, 1 -/* 0B751C 800B691C 1620FF22 */ bnez $s1, .L800B65A8 -/* 0B7520 800B6920 2A21000B */ slti $at, $s1, 0xb -.L800B6924: -/* 0B7524 800B6924 8FB9004C */ lw $t9, 0x4c($sp) -/* 0B7528 800B6928 8FBF0044 */ lw $ra, 0x44($sp) -/* 0B752C 800B692C 02191023 */ subu $v0, $s0, $t9 -/* 0B7530 800B6930 8FB00020 */ lw $s0, 0x20($sp) -/* 0B7534 800B6934 8FB10024 */ lw $s1, 0x24($sp) -/* 0B7538 800B6938 8FB20028 */ lw $s2, 0x28($sp) -/* 0B753C 800B693C 8FB3002C */ lw $s3, 0x2c($sp) -/* 0B7540 800B6940 8FB40030 */ lw $s4, 0x30($sp) -/* 0B7544 800B6944 8FB50034 */ lw $s5, 0x34($sp) -/* 0B7548 800B6948 8FB60038 */ lw $s6, 0x38($sp) -/* 0B754C 800B694C 8FB7003C */ lw $s7, 0x3c($sp) -/* 0B7550 800B6950 8FBE0040 */ lw $fp, 0x40($sp) -/* 0B7554 800B6954 03E00008 */ jr $ra -/* 0B7558 800B6958 27BD0050 */ addiu $sp, $sp, 0x50 - diff --git a/asm/non_matchings/printf/vsprintf.s b/asm/non_matchings/printf/vsprintf.s deleted file mode 100644 index 16bb92a6..00000000 --- a/asm/non_matchings/printf/vsprintf.s +++ /dev/null @@ -1,1500 +0,0 @@ -.late_rodata -glabel jpt_800E8CAC -.word L800B4BA4, L800B4BC8, L800B4BC8, L800B4BBC, L800B4BC8, L800B4BC8, L800B4BC8, L800B4BC8, L800B4BC8, L800B4BC8, L800B4BC8, L800B4BAC, L800B4BC8, L800B4BB4, L800B4BC8, L800B4BC8, L800B4BC4 -glabel jpt_800E8CF0 -.word L800B4DB0, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DB8, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4D90, L800B4DC4, L800B4DC4, L800B4DC4, L800B4D98, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC4, L800B4DC0 -glabel jpt_800E8D88 -.word L800B52C4, L800B5E0C, L800B5794, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B4F84, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5AC4, L800B4E38, L800B52C4, L800B57A4, L800B5794, L800B5E0C, L800B4E38, L800B5E0C, L800B5E0C, L800B5E0C, L800B5E0C, L800B5D78, L800B4F64, L800B5C8C, L800B5E0C, L800B5E0C, L800B5B48, L800B5E0C, L800B4F44, L800B5E0C, L800B5E0C, L800B4FA4 - -.text -glabel vsprintf -/* 0B5640 800B4A40 27BDFE48 */ addiu $sp, $sp, -0x1b8 -/* 0B5644 800B4A44 AFBF004C */ sw $ra, 0x4c($sp) -/* 0B5648 800B4A48 AFBE0048 */ sw $fp, 0x48($sp) -/* 0B564C 800B4A4C AFB70044 */ sw $s7, 0x44($sp) -/* 0B5650 800B4A50 AFB60040 */ sw $s6, 0x40($sp) -/* 0B5654 800B4A54 AFB5003C */ sw $s5, 0x3c($sp) -/* 0B5658 800B4A58 AFB40038 */ sw $s4, 0x38($sp) -/* 0B565C 800B4A5C AFB30034 */ sw $s3, 0x34($sp) -/* 0B5660 800B4A60 AFB20030 */ sw $s2, 0x30($sp) -/* 0B5664 800B4A64 AFB1002C */ sw $s1, 0x2c($sp) -/* 0B5668 800B4A68 AFB00028 */ sw $s0, 0x28($sp) -/* 0B566C 800B4A6C E7B50020 */ swc1 $f21, 0x20($sp) -/* 0B5670 800B4A70 E7B40024 */ swc1 $f20, 0x24($sp) -/* 0B5674 800B4A74 90AE0000 */ lbu $t6, ($a1) -/* 0B5678 800B4A78 00808025 */ move $s0, $a0 -/* 0B567C 800B4A7C 00C08825 */ move $s1, $a2 -/* 0B5680 800B4A80 00004825 */ move $t1, $zero -/* 0B5684 800B4A84 11C004F0 */ beqz $t6, .L800B5E48 -/* 0B5688 800B4A88 00A05825 */ move $t3, $a1 -/* 0B568C 800B4A8C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 0B5690 800B4A90 4481A800 */ mtc1 $at, $f21 -/* 0B5694 800B4A94 90A30000 */ lbu $v1, ($a1) -/* 0B5698 800B4A98 3C014024 */ li $at, 0x40240000 # 2.562500 -/* 0B569C 800B4A9C 44819800 */ mtc1 $at, $f19 -/* 0B56A0 800B4AA0 4480A000 */ mtc1 $zero, $f20 -/* 0B56A4 800B4AA4 44809000 */ mtc1 $zero, $f18 -/* 0B56A8 800B4AA8 C7B100E0 */ lwc1 $f17, 0xe0($sp) -/* 0B56AC 800B4AAC C7B000E4 */ lwc1 $f16, 0xe4($sp) -/* 0B56B0 800B4AB0 8FB400C8 */ lw $s4, 0xc8($sp) -/* 0B56B4 800B4AB4 240D0020 */ li $t5, 32 -/* 0B56B8 800B4AB8 24040025 */ li $a0, 37 -/* 0B56BC 800B4ABC 00601025 */ move $v0, $v1 -.L800B4AC0: -/* 0B56C0 800B4AC0 1082000F */ beq $a0, $v0, .L800B4B00 -/* 0B56C4 800B4AC4 00000000 */ nop -/* 0B56C8 800B4AC8 108204D8 */ beq $a0, $v0, .L800B5E2C -/* 0B56CC 800B4ACC 00000000 */ nop -/* 0B56D0 800B4AD0 104004D6 */ beqz $v0, .L800B5E2C -/* 0B56D4 800B4AD4 00000000 */ nop -.L800B4AD8: -/* 0B56D8 800B4AD8 A2030000 */ sb $v1, ($s0) -/* 0B56DC 800B4ADC 91630001 */ lbu $v1, 1($t3) -/* 0B56E0 800B4AE0 25290001 */ addiu $t1, $t1, 1 -/* 0B56E4 800B4AE4 26100001 */ addiu $s0, $s0, 1 -/* 0B56E8 800B4AE8 108304D0 */ beq $a0, $v1, .L800B5E2C -/* 0B56EC 800B4AEC 256B0001 */ addiu $t3, $t3, 1 -/* 0B56F0 800B4AF0 1460FFF9 */ bnez $v1, .L800B4AD8 -/* 0B56F4 800B4AF4 00000000 */ nop -/* 0B56F8 800B4AF8 100004CD */ b .L800B5E30 -/* 0B56FC 800B4AFC 91630000 */ lbu $v1, ($t3) -.L800B4B00: -/* 0B5700 800B4B00 91630001 */ lbu $v1, 1($t3) -/* 0B5704 800B4B04 256B0001 */ addiu $t3, $t3, 1 -/* 0B5708 800B4B08 14830007 */ bne $a0, $v1, .L800B4B28 -/* 0B570C 800B4B0C 00601025 */ move $v0, $v1 -/* 0B5710 800B4B10 240F0025 */ li $t7, 37 -/* 0B5714 800B4B14 256B0001 */ addiu $t3, $t3, 1 -/* 0B5718 800B4B18 A20F0000 */ sb $t7, ($s0) -/* 0B571C 800B4B1C 25290001 */ addiu $t1, $t1, 1 -/* 0B5720 800B4B20 100004C2 */ b .L800B5E2C -/* 0B5724 800B4B24 26100001 */ addiu $s0, $s0, 1 -.L800B4B28: -/* 0B5728 800B4B28 24010020 */ li $at, 32 -/* 0B572C 800B4B2C 0000F025 */ move $fp, $zero -/* 0B5730 800B4B30 0000B825 */ move $s7, $zero -/* 0B5734 800B4B34 0000A825 */ move $s5, $zero -/* 0B5738 800B4B38 0000B025 */ move $s6, $zero -/* 0B573C 800B4B3C 31AC00FF */ andi $t4, $t5, 0xff -/* 0B5740 800B4B40 00004025 */ move $t0, $zero -/* 0B5744 800B4B44 240AFFFF */ li $t2, -1 -/* 0B5748 800B4B48 00002025 */ move $a0, $zero -/* 0B574C 800B4B4C 00002825 */ move $a1, $zero -/* 0B5750 800B4B50 10410009 */ beq $v0, $at, .L800B4B78 -/* 0B5754 800B4B54 00003025 */ move $a2, $zero -/* 0B5758 800B4B58 2401002B */ li $at, 43 -/* 0B575C 800B4B5C 10410006 */ beq $v0, $at, .L800B4B78 -/* 0B5760 800B4B60 2401002D */ li $at, 45 -/* 0B5764 800B4B64 10410004 */ beq $v0, $at, .L800B4B78 -/* 0B5768 800B4B68 24010023 */ li $at, 35 -/* 0B576C 800B4B6C 10410002 */ beq $v0, $at, .L800B4B78 -/* 0B5770 800B4B70 24010030 */ li $at, 48 -/* 0B5774 800B4B74 14410024 */ bne $v0, $at, .L800B4C08 -.L800B4B78: -/* 0B5778 800B4B78 2458FFE0 */ addiu $t8, $v0, -0x20 -.L800B4B7C: -/* 0B577C 800B4B7C 2F010011 */ sltiu $at, $t8, 0x11 -/* 0B5780 800B4B80 10200011 */ beqz $at, .L800B4BC8 -/* 0B5784 800B4B84 256B0001 */ addiu $t3, $t3, 1 -/* 0B5788 800B4B88 0018C080 */ sll $t8, $t8, 2 -/* 0B578C 800B4B8C 3C01800F */ lui $at, %hi(jpt_800E8CAC) # $at, 0x800f -/* 0B5790 800B4B90 00380821 */ addu $at, $at, $t8 -/* 0B5794 800B4B94 8C388CAC */ lw $t8, %lo(jpt_800E8CAC)($at) -/* 0B5798 800B4B98 00000000 */ nop -/* 0B579C 800B4B9C 03000008 */ jr $t8 -/* 0B57A0 800B4BA0 00000000 */ nop -glabel L800B4BA4 -/* 0B57A4 800B4BA4 10000008 */ b .L800B4BC8 -/* 0B57A8 800B4BA8 24160001 */ li $s6, 1 -glabel L800B4BAC -/* 0B57AC 800B4BAC 10000006 */ b .L800B4BC8 -/* 0B57B0 800B4BB0 24150001 */ li $s5, 1 -glabel L800B4BB4 -/* 0B57B4 800B4BB4 10000004 */ b .L800B4BC8 -/* 0B57B8 800B4BB8 24170001 */ li $s7, 1 -glabel L800B4BBC -/* 0B57BC 800B4BBC 10000002 */ b .L800B4BC8 -/* 0B57C0 800B4BC0 241E0001 */ li $fp, 1 -glabel L800B4BC4 -/* 0B57C4 800B4BC4 240C0030 */ li $t4, 48 -.L800B4BC8: -glabel L800B4BC8 -/* 0B57C8 800B4BC8 91630000 */ lbu $v1, ($t3) -/* 0B57CC 800B4BCC 24010020 */ li $at, 32 -/* 0B57D0 800B4BD0 1061FFE9 */ beq $v1, $at, .L800B4B78 -/* 0B57D4 800B4BD4 00601025 */ move $v0, $v1 -/* 0B57D8 800B4BD8 2401002B */ li $at, 43 -/* 0B57DC 800B4BDC 1061FFE7 */ beq $v1, $at, .L800B4B7C -/* 0B57E0 800B4BE0 2458FFE0 */ addiu $t8, $v0, -0x20 -/* 0B57E4 800B4BE4 2401002D */ li $at, 45 -/* 0B57E8 800B4BE8 1061FFE4 */ beq $v1, $at, .L800B4B7C -/* 0B57EC 800B4BEC 2458FFE0 */ addiu $t8, $v0, -0x20 -/* 0B57F0 800B4BF0 24010023 */ li $at, 35 -/* 0B57F4 800B4BF4 1061FFE1 */ beq $v1, $at, .L800B4B7C -/* 0B57F8 800B4BF8 2458FFE0 */ addiu $t8, $v0, -0x20 -/* 0B57FC 800B4BFC 24010030 */ li $at, 48 -/* 0B5800 800B4C00 1061FFDE */ beq $v1, $at, .L800B4B7C -/* 0B5804 800B4C04 2458FFE0 */ addiu $t8, $v0, -0x20 -.L800B4C08: -/* 0B5808 800B4C08 12E00002 */ beqz $s7, .L800B4C14 -/* 0B580C 800B4C0C 2401002A */ li $at, 42 -/* 0B5810 800B4C10 31AC00FF */ andi $t4, $t5, 0xff -.L800B4C14: -/* 0B5814 800B4C14 1441000F */ bne $v0, $at, .L800B4C54 -/* 0B5818 800B4C18 28410030 */ slti $at, $v0, 0x30 -/* 0B581C 800B4C1C 26310003 */ addiu $s1, $s1, 3 -/* 0B5820 800B4C20 2401FFFC */ li $at, -4 -/* 0B5824 800B4C24 0221C824 */ and $t9, $s1, $at -/* 0B5828 800B4C28 27310004 */ addiu $s1, $t9, 4 -/* 0B582C 800B4C2C 8E28FFFC */ lw $t0, -4($s1) -/* 0B5830 800B4C30 256B0001 */ addiu $t3, $t3, 1 -/* 0B5834 800B4C34 05010003 */ bgez $t0, .L800B4C44 -/* 0B5838 800B4C38 00000000 */ nop -/* 0B583C 800B4C3C 00084023 */ negu $t0, $t0 -/* 0B5840 800B4C40 24170001 */ li $s7, 1 -.L800B4C44: -/* 0B5844 800B4C44 91630000 */ lbu $v1, ($t3) -/* 0B5848 800B4C48 10000012 */ b .L800B4C94 -/* 0B584C 800B4C4C 00601025 */ move $v0, $v1 -/* 0B5850 800B4C50 28410030 */ slti $at, $v0, 0x30 -.L800B4C54: -/* 0B5854 800B4C54 1420000F */ bnez $at, .L800B4C94 -/* 0B5858 800B4C58 2841003A */ slti $at, $v0, 0x3a -/* 0B585C 800B4C5C 1020000D */ beqz $at, .L800B4C94 -/* 0B5860 800B4C60 00087080 */ sll $t6, $t0, 2 -.L800B4C64: -/* 0B5864 800B4C64 91630001 */ lbu $v1, 1($t3) -/* 0B5868 800B4C68 01C87021 */ addu $t6, $t6, $t0 -/* 0B586C 800B4C6C 000E7040 */ sll $t6, $t6, 1 -/* 0B5870 800B4C70 01C24021 */ addu $t0, $t6, $v0 -/* 0B5874 800B4C74 28610030 */ slti $at, $v1, 0x30 -/* 0B5878 800B4C78 2508FFD0 */ addiu $t0, $t0, -0x30 -/* 0B587C 800B4C7C 256B0001 */ addiu $t3, $t3, 1 -/* 0B5880 800B4C80 14200004 */ bnez $at, .L800B4C94 -/* 0B5884 800B4C84 00601025 */ move $v0, $v1 -/* 0B5888 800B4C88 2841003A */ slti $at, $v0, 0x3a -/* 0B588C 800B4C8C 1420FFF5 */ bnez $at, .L800B4C64 -/* 0B5890 800B4C90 00087080 */ sll $t6, $t0, 2 -.L800B4C94: -/* 0B5894 800B4C94 2401002E */ li $at, 46 -/* 0B5898 800B4C98 14410029 */ bne $v0, $at, .L800B4D40 -/* 0B589C 800B4C9C 24010068 */ li $at, 104 -/* 0B58A0 800B4CA0 91630001 */ lbu $v1, 1($t3) -/* 0B58A4 800B4CA4 2401002A */ li $at, 42 -/* 0B58A8 800B4CA8 256B0001 */ addiu $t3, $t3, 1 -/* 0B58AC 800B4CAC 1461000D */ bne $v1, $at, .L800B4CE4 -/* 0B58B0 800B4CB0 00601025 */ move $v0, $v1 -/* 0B58B4 800B4CB4 26310003 */ addiu $s1, $s1, 3 -/* 0B58B8 800B4CB8 2401FFFC */ li $at, -4 -/* 0B58BC 800B4CBC 02217824 */ and $t7, $s1, $at -/* 0B58C0 800B4CC0 25F10004 */ addiu $s1, $t7, 4 -/* 0B58C4 800B4CC4 8E2AFFFC */ lw $t2, -4($s1) -/* 0B58C8 800B4CC8 256B0001 */ addiu $t3, $t3, 1 -/* 0B58CC 800B4CCC 05410002 */ bgez $t2, .L800B4CD8 -/* 0B58D0 800B4CD0 00000000 */ nop -/* 0B58D4 800B4CD4 240AFFFF */ li $t2, -1 -.L800B4CD8: -/* 0B58D8 800B4CD8 91630000 */ lbu $v1, ($t3) -/* 0B58DC 800B4CDC 10000017 */ b .L800B4D3C -/* 0B58E0 800B4CE0 00601025 */ move $v0, $v1 -.L800B4CE4: -/* 0B58E4 800B4CE4 28410030 */ slti $at, $v0, 0x30 -/* 0B58E8 800B4CE8 14200014 */ bnez $at, .L800B4D3C -/* 0B58EC 800B4CEC 2841003A */ slti $at, $v0, 0x3a -/* 0B58F0 800B4CF0 10200012 */ beqz $at, .L800B4D3C -/* 0B58F4 800B4CF4 28410030 */ slti $at, $v0, 0x30 -/* 0B58F8 800B4CF8 14200010 */ bnez $at, .L800B4D3C -/* 0B58FC 800B4CFC 00005025 */ move $t2, $zero -/* 0B5900 800B4D00 2841003A */ slti $at, $v0, 0x3a -/* 0B5904 800B4D04 1020000D */ beqz $at, .L800B4D3C -/* 0B5908 800B4D08 000AC080 */ sll $t8, $t2, 2 -.L800B4D0C: -/* 0B590C 800B4D0C 91630001 */ lbu $v1, 1($t3) -/* 0B5910 800B4D10 030AC021 */ addu $t8, $t8, $t2 -/* 0B5914 800B4D14 0018C040 */ sll $t8, $t8, 1 -/* 0B5918 800B4D18 03025021 */ addu $t2, $t8, $v0 -/* 0B591C 800B4D1C 28610030 */ slti $at, $v1, 0x30 -/* 0B5920 800B4D20 254AFFD0 */ addiu $t2, $t2, -0x30 -/* 0B5924 800B4D24 256B0001 */ addiu $t3, $t3, 1 -/* 0B5928 800B4D28 14200004 */ bnez $at, .L800B4D3C -/* 0B592C 800B4D2C 00601025 */ move $v0, $v1 -/* 0B5930 800B4D30 2841003A */ slti $at, $v0, 0x3a -/* 0B5934 800B4D34 1420FFF5 */ bnez $at, .L800B4D0C -/* 0B5938 800B4D38 000AC080 */ sll $t8, $t2, 2 -.L800B4D3C: -/* 0B593C 800B4D3C 24010068 */ li $at, 104 -.L800B4D40: -/* 0B5940 800B4D40 10410008 */ beq $v0, $at, .L800B4D64 -/* 0B5944 800B4D44 2401006C */ li $at, 108 -/* 0B5948 800B4D48 10410006 */ beq $v0, $at, .L800B4D64 -/* 0B594C 800B4D4C 2401004C */ li $at, 76 -/* 0B5950 800B4D50 10410004 */ beq $v0, $at, .L800B4D64 -/* 0B5954 800B4D54 2401005A */ li $at, 90 -/* 0B5958 800B4D58 10410002 */ beq $v0, $at, .L800B4D64 -/* 0B595C 800B4D5C 24010071 */ li $at, 113 -/* 0B5960 800B4D60 14410028 */ bne $v0, $at, .L800B4E04 -.L800B4D64: -/* 0B5964 800B4D64 2459FFB4 */ addiu $t9, $v0, -0x4c -.L800B4D68: -/* 0B5968 800B4D68 2F210026 */ sltiu $at, $t9, 0x26 -/* 0B596C 800B4D6C 10200015 */ beqz $at, .L800B4DC4 -/* 0B5970 800B4D70 256B0001 */ addiu $t3, $t3, 1 -/* 0B5974 800B4D74 0019C880 */ sll $t9, $t9, 2 -/* 0B5978 800B4D78 3C01800F */ lui $at, %hi(jpt_800E8CF0) # $at, 0x800f -/* 0B597C 800B4D7C 00390821 */ addu $at, $at, $t9 -/* 0B5980 800B4D80 8C398CF0 */ lw $t9, %lo(jpt_800E8CF0)($at) -/* 0B5984 800B4D84 00000000 */ nop -/* 0B5988 800B4D88 03200008 */ jr $t9 -/* 0B598C 800B4D8C 00000000 */ nop -glabel L800B4D90 -/* 0B5990 800B4D90 1000000C */ b .L800B4DC4 -/* 0B5994 800B4D94 24060001 */ li $a2, 1 -glabel L800B4D98 -/* 0B5998 800B4D98 10A00003 */ beqz $a1, .L800B4DA8 -/* 0B599C 800B4D9C 00000000 */ nop -/* 0B59A0 800B4DA0 10000008 */ b .L800B4DC4 -/* 0B59A4 800B4DA4 24040001 */ li $a0, 1 -.L800B4DA8: -/* 0B59A8 800B4DA8 10000006 */ b .L800B4DC4 -/* 0B59AC 800B4DAC 24050001 */ li $a1, 1 -glabel L800B4DB0 -/* 0B59B0 800B4DB0 10000004 */ b .L800B4DC4 -/* 0B59B4 800B4DB4 24040001 */ li $a0, 1 -glabel L800B4DB8 -/* 0B59B8 800B4DB8 10000002 */ b .L800B4DC4 -/* 0B59BC 800B4DBC 24050001 */ li $a1, 1 -glabel L800B4DC0 -/* 0B59C0 800B4DC0 24040001 */ li $a0, 1 -.L800B4DC4: -glabel L800B4DC4 -/* 0B59C4 800B4DC4 91630000 */ lbu $v1, ($t3) -/* 0B59C8 800B4DC8 24010068 */ li $at, 104 -/* 0B59CC 800B4DCC 1061FFE5 */ beq $v1, $at, .L800B4D64 -/* 0B59D0 800B4DD0 00601025 */ move $v0, $v1 -/* 0B59D4 800B4DD4 2401006C */ li $at, 108 -/* 0B59D8 800B4DD8 1061FFE3 */ beq $v1, $at, .L800B4D68 -/* 0B59DC 800B4DDC 2459FFB4 */ addiu $t9, $v0, -0x4c -/* 0B59E0 800B4DE0 2401004C */ li $at, 76 -/* 0B59E4 800B4DE4 1061FFE0 */ beq $v1, $at, .L800B4D68 -/* 0B59E8 800B4DE8 2459FFB4 */ addiu $t9, $v0, -0x4c -/* 0B59EC 800B4DEC 2401005A */ li $at, 90 -/* 0B59F0 800B4DF0 1061FFDD */ beq $v1, $at, .L800B4D68 -/* 0B59F4 800B4DF4 2459FFB4 */ addiu $t9, $v0, -0x4c -/* 0B59F8 800B4DF8 24010071 */ li $at, 113 -/* 0B59FC 800B4DFC 1061FFDA */ beq $v1, $at, .L800B4D68 -/* 0B5A00 800B4E00 2459FFB4 */ addiu $t9, $v0, -0x4c -.L800B4E04: -/* 0B5A04 800B4E04 307300FF */ andi $s3, $v1, 0xff -/* 0B5A08 800B4E08 266EFFBB */ addiu $t6, $s3, -0x45 -/* 0B5A0C 800B4E0C 2DC10034 */ sltiu $at, $t6, 0x34 -/* 0B5A10 800B4E10 256B0001 */ addiu $t3, $t3, 1 -/* 0B5A14 800B4E14 102003FD */ beqz $at, L800B5E0C -/* 0B5A18 800B4E18 A3B3019A */ sb $s3, 0x19a($sp) -/* 0B5A1C 800B4E1C 000E7080 */ sll $t6, $t6, 2 -/* 0B5A20 800B4E20 3C01800F */ lui $at, %hi(jpt_800E8D88) # $at, 0x800f -/* 0B5A24 800B4E24 002E0821 */ addu $at, $at, $t6 -/* 0B5A28 800B4E28 8C2E8D88 */ lw $t6, %lo(jpt_800E8D88)($at) -/* 0B5A2C 800B4E2C 00000000 */ nop -/* 0B5A30 800B4E30 01C00008 */ jr $t6 -/* 0B5A34 800B4E34 00000000 */ nop -glabel L800B4E38 -/* 0B5A38 800B4E38 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B5A3C 800B4E3C 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B5A40 800B4E40 2407000A */ li $a3, 10 -/* 0B5A44 800B4E44 1080000A */ beqz $a0, .L800B4E70 -/* 0B5A48 800B4E48 27BF017B */ addiu $ra, $sp, 0x17b -/* 0B5A4C 800B4E4C 26310007 */ addiu $s1, $s1, 7 -/* 0B5A50 800B4E50 2401FFF8 */ li $at, -8 -/* 0B5A54 800B4E54 02217824 */ and $t7, $s1, $at -/* 0B5A58 800B4E58 25F10008 */ addiu $s1, $t7, 8 -/* 0B5A5C 800B4E5C 8E38FFF8 */ lw $t8, -8($s1) -/* 0B5A60 800B4E60 8E39FFFC */ lw $t9, -4($s1) -/* 0B5A64 800B4E64 AFB80180 */ sw $t8, 0x180($sp) -/* 0B5A68 800B4E68 10000020 */ b .L800B4EEC -/* 0B5A6C 800B4E6C AFB90184 */ sw $t9, 0x184($sp) -.L800B4E70: -/* 0B5A70 800B4E70 10A0000A */ beqz $a1, .L800B4E9C -/* 0B5A74 800B4E74 2401FFFC */ li $at, -4 -/* 0B5A78 800B4E78 26310003 */ addiu $s1, $s1, 3 -/* 0B5A7C 800B4E7C 02217024 */ and $t6, $s1, $at -/* 0B5A80 800B4E80 25D10004 */ addiu $s1, $t6, 4 -/* 0B5A84 800B4E84 8E2FFFFC */ lw $t7, -4($s1) -/* 0B5A88 800B4E88 00000000 */ nop -/* 0B5A8C 800B4E8C 000FC7C3 */ sra $t8, $t7, 0x1f -/* 0B5A90 800B4E90 AFB80180 */ sw $t8, 0x180($sp) -/* 0B5A94 800B4E94 10000015 */ b .L800B4EEC -/* 0B5A98 800B4E98 AFAF0184 */ sw $t7, 0x184($sp) -.L800B4E9C: -/* 0B5A9C 800B4E9C 14C0000B */ bnez $a2, .L800B4ECC -/* 0B5AA0 800B4EA0 2401FFFC */ li $at, -4 -/* 0B5AA4 800B4EA4 26310003 */ addiu $s1, $s1, 3 -/* 0B5AA8 800B4EA8 2401FFFC */ li $at, -4 -/* 0B5AAC 800B4EAC 02217024 */ and $t6, $s1, $at -/* 0B5AB0 800B4EB0 25D10004 */ addiu $s1, $t6, 4 -/* 0B5AB4 800B4EB4 8E2FFFFC */ lw $t7, -4($s1) -/* 0B5AB8 800B4EB8 00000000 */ nop -/* 0B5ABC 800B4EBC 000FC7C3 */ sra $t8, $t7, 0x1f -/* 0B5AC0 800B4EC0 AFB80180 */ sw $t8, 0x180($sp) -/* 0B5AC4 800B4EC4 10000009 */ b .L800B4EEC -/* 0B5AC8 800B4EC8 AFAF0184 */ sw $t7, 0x184($sp) -.L800B4ECC: -/* 0B5ACC 800B4ECC 26310003 */ addiu $s1, $s1, 3 -/* 0B5AD0 800B4ED0 02217024 */ and $t6, $s1, $at -/* 0B5AD4 800B4ED4 25D10004 */ addiu $s1, $t6, 4 -/* 0B5AD8 800B4ED8 862FFFFE */ lh $t7, -2($s1) -/* 0B5ADC 800B4EDC 00000000 */ nop -/* 0B5AE0 800B4EE0 000FC7C3 */ sra $t8, $t7, 0x1f -/* 0B5AE4 800B4EE4 AFB80180 */ sw $t8, 0x180($sp) -/* 0B5AE8 800B4EE8 AFAF0184 */ sw $t7, 0x184($sp) -.L800B4EEC: -/* 0B5AEC 800B4EEC 8FAE0180 */ lw $t6, 0x180($sp) -/* 0B5AF0 800B4EF0 8FAF0184 */ lw $t7, 0x184($sp) -/* 0B5AF4 800B4EF4 29C20000 */ slti $v0, $t6, 0 -/* 0B5AF8 800B4EF8 1C400004 */ bgtz $v0, .L800B4F0C -/* 0B5AFC 800B4EFC 2DE10001 */ sltiu $at, $t7, 1 -/* 0B5B00 800B4F00 1DC00003 */ bgtz $t6, .L800B4F10 -/* 0B5B04 800B4F04 305800FF */ andi $t8, $v0, 0xff -/* 0B5B08 800B4F08 2DE20000 */ sltiu $v0, $t7, 0 -.L800B4F0C: -/* 0B5B0C 800B4F0C 305800FF */ andi $t8, $v0, 0xff -.L800B4F10: -/* 0B5B10 800B4F10 13000007 */ beqz $t8, .L800B4F30 -/* 0B5B14 800B4F14 305200FF */ andi $s2, $v0, 0xff -/* 0B5B18 800B4F18 01C0C027 */ not $t8, $t6 -/* 0B5B1C 800B4F1C 0301C021 */ addu $t8, $t8, $at -/* 0B5B20 800B4F20 000FC823 */ negu $t9, $t7 -/* 0B5B24 800B4F24 AFB9018C */ sw $t9, 0x18c($sp) -/* 0B5B28 800B4F28 1000004B */ b .L800B5058 -/* 0B5B2C 800B4F2C AFB80188 */ sw $t8, 0x188($sp) -.L800B4F30: -/* 0B5B30 800B4F30 8FAE0180 */ lw $t6, 0x180($sp) -/* 0B5B34 800B4F34 8FAF0184 */ lw $t7, 0x184($sp) -/* 0B5B38 800B4F38 AFAE0188 */ sw $t6, 0x188($sp) -/* 0B5B3C 800B4F3C 10000046 */ b .L800B5058 -/* 0B5B40 800B4F40 AFAF018C */ sw $t7, 0x18c($sp) -glabel L800B4F44 -/* 0B5B44 800B4F44 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B5B48 800B4F48 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B5B4C 800B4F4C 2407000A */ li $a3, 10 -/* 0B5B50 800B4F50 0000A825 */ move $s5, $zero -/* 0B5B54 800B4F54 0000B025 */ move $s6, $zero -/* 0B5B58 800B4F58 00009025 */ move $s2, $zero -/* 0B5B5C 800B4F5C 10000018 */ b .L800B4FC0 -/* 0B5B60 800B4F60 27BF017B */ addiu $ra, $sp, 0x17b -glabel L800B4F64 -/* 0B5B64 800B4F64 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B5B68 800B4F68 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B5B6C 800B4F6C 24070008 */ li $a3, 8 -/* 0B5B70 800B4F70 0000A825 */ move $s5, $zero -/* 0B5B74 800B4F74 0000B025 */ move $s6, $zero -/* 0B5B78 800B4F78 00009025 */ move $s2, $zero -/* 0B5B7C 800B4F7C 10000010 */ b .L800B4FC0 -/* 0B5B80 800B4F80 27BF017B */ addiu $ra, $sp, 0x17b -glabel L800B4F84 -/* 0B5B84 800B4F84 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B5B88 800B4F88 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B5B8C 800B4F8C 24070010 */ li $a3, 16 -/* 0B5B90 800B4F90 0000A825 */ move $s5, $zero -/* 0B5B94 800B4F94 0000B025 */ move $s6, $zero -/* 0B5B98 800B4F98 00009025 */ move $s2, $zero -/* 0B5B9C 800B4F9C 10000008 */ b .L800B4FC0 -/* 0B5BA0 800B4FA0 27BF017B */ addiu $ra, $sp, 0x17b -glabel L800B4FA4 -/* 0B5BA4 800B4FA4 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B5BA8 800B4FA8 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B5BAC 800B4FAC 24070010 */ li $a3, 16 -/* 0B5BB0 800B4FB0 0000A825 */ move $s5, $zero -/* 0B5BB4 800B4FB4 0000B025 */ move $s6, $zero -/* 0B5BB8 800B4FB8 00009025 */ move $s2, $zero -/* 0B5BBC 800B4FBC 27BF017B */ addiu $ra, $sp, 0x17b -.L800B4FC0: -/* 0B5BC0 800B4FC0 10800009 */ beqz $a0, .L800B4FE8 -/* 0B5BC4 800B4FC4 2401FFF8 */ li $at, -8 -/* 0B5BC8 800B4FC8 26310007 */ addiu $s1, $s1, 7 -/* 0B5BCC 800B4FCC 0221C024 */ and $t8, $s1, $at -/* 0B5BD0 800B4FD0 27110008 */ addiu $s1, $t8, 8 -/* 0B5BD4 800B4FD4 8E2EFFF8 */ lw $t6, -8($s1) -/* 0B5BD8 800B4FD8 8E2FFFFC */ lw $t7, -4($s1) -/* 0B5BDC 800B4FDC AFAE0188 */ sw $t6, 0x188($sp) -/* 0B5BE0 800B4FE0 1000001D */ b .L800B5058 -/* 0B5BE4 800B4FE4 AFAF018C */ sw $t7, 0x18c($sp) -.L800B4FE8: -/* 0B5BE8 800B4FE8 10A00009 */ beqz $a1, .L800B5010 -/* 0B5BEC 800B4FEC 2401FFFC */ li $at, -4 -/* 0B5BF0 800B4FF0 26310003 */ addiu $s1, $s1, 3 -/* 0B5BF4 800B4FF4 0221C824 */ and $t9, $s1, $at -/* 0B5BF8 800B4FF8 27310004 */ addiu $s1, $t9, 4 -/* 0B5BFC 800B4FFC 8E38FFFC */ lw $t8, -4($s1) -/* 0B5C00 800B5000 240E0000 */ li $t6, 0 -/* 0B5C04 800B5004 AFAE0188 */ sw $t6, 0x188($sp) -/* 0B5C08 800B5008 10000013 */ b .L800B5058 -/* 0B5C0C 800B500C AFB8018C */ sw $t8, 0x18c($sp) -.L800B5010: -/* 0B5C10 800B5010 14C0000A */ bnez $a2, .L800B503C -/* 0B5C14 800B5014 2401FFFC */ li $at, -4 -/* 0B5C18 800B5018 26310003 */ addiu $s1, $s1, 3 -/* 0B5C1C 800B501C 2401FFFC */ li $at, -4 -/* 0B5C20 800B5020 0221C824 */ and $t9, $s1, $at -/* 0B5C24 800B5024 27310004 */ addiu $s1, $t9, 4 -/* 0B5C28 800B5028 8E38FFFC */ lw $t8, -4($s1) -/* 0B5C2C 800B502C 240E0000 */ li $t6, 0 -/* 0B5C30 800B5030 AFAE0188 */ sw $t6, 0x188($sp) -/* 0B5C34 800B5034 10000008 */ b .L800B5058 -/* 0B5C38 800B5038 AFB8018C */ sw $t8, 0x18c($sp) -.L800B503C: -/* 0B5C3C 800B503C 26310003 */ addiu $s1, $s1, 3 -/* 0B5C40 800B5040 0221C824 */ and $t9, $s1, $at -/* 0B5C44 800B5044 27310004 */ addiu $s1, $t9, 4 -/* 0B5C48 800B5048 9638FFFE */ lhu $t8, -2($s1) -/* 0B5C4C 800B504C 240E0000 */ li $t6, 0 -/* 0B5C50 800B5050 AFAE0188 */ sw $t6, 0x188($sp) -/* 0B5C54 800B5054 AFB8018C */ sw $t8, 0x18c($sp) -.L800B5058: -/* 0B5C58 800B5058 10600005 */ beqz $v1, .L800B5070 -/* 0B5C5C 800B505C 2401FFFF */ li $at, -1 -/* 0B5C60 800B5060 24190084 */ li $t9, 132 -/* 0B5C64 800B5064 A2190000 */ sb $t9, ($s0) -/* 0B5C68 800B5068 25290001 */ addiu $t1, $t1, 1 -/* 0B5C6C 800B506C 26100001 */ addiu $s0, $s0, 1 -.L800B5070: -/* 0B5C70 800B5070 05400002 */ bltz $t2, .L800B507C -/* 0B5C74 800B5074 27A6017C */ addiu $a2, $sp, 0x17c -/* 0B5C78 800B5078 31AC00FF */ andi $t4, $t5, 0xff -.L800B507C: -/* 0B5C7C 800B507C 15410002 */ bne $t2, $at, .L800B5088 -/* 0B5C80 800B5080 3A780058 */ xori $t8, $s3, 0x58 -/* 0B5C84 800B5084 240A0001 */ li $t2, 1 -.L800B5088: -/* 0B5C88 800B5088 8FA40188 */ lw $a0, 0x188($sp) -/* 0B5C8C 800B508C 8FA5018C */ lw $a1, 0x18c($sp) -/* 0B5C90 800B5090 2F180001 */ sltiu $t8, $t8, 1 -/* 0B5C94 800B5094 AFBF00F8 */ sw $ra, 0xf8($sp) -/* 0B5C98 800B5098 AFB80010 */ sw $t8, 0x10($sp) -/* 0B5C9C 800B509C AFA70194 */ sw $a3, 0x194($sp) -/* 0B5CA0 800B50A0 AFA801A0 */ sw $t0, 0x1a0($sp) -/* 0B5CA4 800B50A4 AFA901AC */ sw $t1, 0x1ac($sp) -/* 0B5CA8 800B50A8 AFAA019C */ sw $t2, 0x19c($sp) -/* 0B5CAC 800B50AC AFAB01B4 */ sw $t3, 0x1b4($sp) -/* 0B5CB0 800B50B0 A3AC01A4 */ sb $t4, 0x1a4($sp) -/* 0B5CB4 800B50B4 E7B100E0 */ swc1 $f17, 0xe0($sp) -/* 0B5CB8 800B50B8 0C02D250 */ jal _itoa -/* 0B5CBC 800B50BC E7B000E4 */ swc1 $f16, 0xe4($sp) -/* 0B5CC0 800B50C0 27AE017B */ addiu $t6, $sp, 0x17b -/* 0B5CC4 800B50C4 8FA801A0 */ lw $t0, 0x1a0($sp) -/* 0B5CC8 800B50C8 8FAA019C */ lw $t2, 0x19c($sp) -/* 0B5CCC 800B50CC 3C014024 */ li $at, 0x40240000 # 2.562500 -/* 0B5CD0 800B50D0 01C21823 */ subu $v1, $t6, $v0 -/* 0B5CD4 800B50D4 44819800 */ mtc1 $at, $f19 -/* 0B5CD8 800B50D8 8FA70194 */ lw $a3, 0x194($sp) -/* 0B5CDC 800B50DC 8FA901AC */ lw $t1, 0x1ac($sp) -/* 0B5CE0 800B50E0 8FAB01B4 */ lw $t3, 0x1b4($sp) -/* 0B5CE4 800B50E4 93AC01A4 */ lbu $t4, 0x1a4($sp) -/* 0B5CE8 800B50E8 8FBF00F8 */ lw $ra, 0xf8($sp) -/* 0B5CEC 800B50EC C7B100E0 */ lwc1 $f17, 0xe0($sp) -/* 0B5CF0 800B50F0 C7B000E4 */ lwc1 $f16, 0xe4($sp) -/* 0B5CF4 800B50F4 44809000 */ mtc1 $zero, $f18 -/* 0B5CF8 800B50F8 2445FFFF */ addiu $a1, $v0, -1 -/* 0B5CFC 800B50FC 24630001 */ addiu $v1, $v1, 1 -/* 0B5D00 800B5100 001E302B */ sltu $a2, $zero, $fp -/* 0B5D04 800B5104 00A02025 */ move $a0, $a1 -/* 0B5D08 800B5108 240D0020 */ li $t5, 32 -/* 0B5D0C 800B510C 01034023 */ subu $t0, $t0, $v1 -/* 0B5D10 800B5110 10C00009 */ beqz $a2, .L800B5138 -/* 0B5D14 800B5114 01435023 */ subu $t2, $t2, $v1 -/* 0B5D18 800B5118 24010008 */ li $at, 8 -/* 0B5D1C 800B511C 14E10007 */ bne $a3, $at, .L800B513C -/* 0B5D20 800B5120 000A982A */ slt $s3, $zero, $t2 -/* 0B5D24 800B5124 1D400004 */ bgtz $t2, .L800B5138 -/* 0B5D28 800B5128 240F0030 */ li $t7, 48 -/* 0B5D2C 800B512C A0AF0000 */ sb $t7, ($a1) -/* 0B5D30 800B5130 24A4FFFF */ addiu $a0, $a1, -1 -/* 0B5D34 800B5134 2508FFFF */ addiu $t0, $t0, -1 -.L800B5138: -/* 0B5D38 800B5138 000A982A */ slt $s3, $zero, $t2 -.L800B513C: -/* 0B5D3C 800B513C 1260000A */ beqz $s3, .L800B5168 -/* 0B5D40 800B5140 24010010 */ li $at, 16 -/* 0B5D44 800B5144 010A4023 */ subu $t0, $t0, $t2 -/* 0B5D48 800B5148 12600007 */ beqz $s3, .L800B5168 -/* 0B5D4C 800B514C 254AFFFF */ addiu $t2, $t2, -1 -/* 0B5D50 800B5150 24020030 */ li $v0, 48 -.L800B5154: -/* 0B5D54 800B5154 000A182A */ slt $v1, $zero, $t2 -/* 0B5D58 800B5158 254AFFFF */ addiu $t2, $t2, -1 -/* 0B5D5C 800B515C A0820000 */ sb $v0, ($a0) -/* 0B5D60 800B5160 1460FFFC */ bnez $v1, .L800B5154 -/* 0B5D64 800B5164 2484FFFF */ addiu $a0, $a0, -1 -.L800B5168: -/* 0B5D68 800B5168 10C00004 */ beqz $a2, .L800B517C -/* 0B5D6C 800B516C 24840001 */ addiu $a0, $a0, 1 -/* 0B5D70 800B5170 14E10002 */ bne $a3, $at, .L800B517C -/* 0B5D74 800B5174 00000000 */ nop -/* 0B5D78 800B5178 2508FFFE */ addiu $t0, $t0, -2 -.L800B517C: -/* 0B5D7C 800B517C 16400005 */ bnez $s2, .L800B5194 -/* 0B5D80 800B5180 24010020 */ li $at, 32 -/* 0B5D84 800B5184 16A00003 */ bnez $s5, .L800B5194 -/* 0B5D88 800B5188 00000000 */ nop -/* 0B5D8C 800B518C 12C00002 */ beqz $s6, .L800B5198 -/* 0B5D90 800B5190 00000000 */ nop -.L800B5194: -/* 0B5D94 800B5194 2508FFFF */ addiu $t0, $t0, -1 -.L800B5198: -/* 0B5D98 800B5198 16E0000B */ bnez $s7, .L800B51C8 -/* 0B5D9C 800B519C 2419002D */ li $t9, 45 -/* 0B5DA0 800B51A0 15810009 */ bne $t4, $at, .L800B51C8 -/* 0B5DA4 800B51A4 0008182A */ slt $v1, $zero, $t0 -/* 0B5DA8 800B51A8 10600007 */ beqz $v1, .L800B51C8 -/* 0B5DAC 800B51AC 2508FFFF */ addiu $t0, $t0, -1 -.L800B51B0: -/* 0B5DB0 800B51B0 0008182A */ slt $v1, $zero, $t0 -/* 0B5DB4 800B51B4 2508FFFF */ addiu $t0, $t0, -1 -/* 0B5DB8 800B51B8 25290001 */ addiu $t1, $t1, 1 -/* 0B5DBC 800B51BC A20D0000 */ sb $t5, ($s0) -/* 0B5DC0 800B51C0 1460FFFB */ bnez $v1, .L800B51B0 -/* 0B5DC4 800B51C4 26100001 */ addiu $s0, $s0, 1 -.L800B51C8: -/* 0B5DC8 800B51C8 12400005 */ beqz $s2, .L800B51E0 -/* 0B5DCC 800B51CC 24010010 */ li $at, 16 -/* 0B5DD0 800B51D0 25290001 */ addiu $t1, $t1, 1 -/* 0B5DD4 800B51D4 A2190000 */ sb $t9, ($s0) -/* 0B5DD8 800B51D8 1000000C */ b .L800B520C -/* 0B5DDC 800B51DC 26100001 */ addiu $s0, $s0, 1 -.L800B51E0: -/* 0B5DE0 800B51E0 12A00005 */ beqz $s5, .L800B51F8 -/* 0B5DE4 800B51E4 2418002B */ li $t8, 43 -/* 0B5DE8 800B51E8 25290001 */ addiu $t1, $t1, 1 -/* 0B5DEC 800B51EC A2180000 */ sb $t8, ($s0) -/* 0B5DF0 800B51F0 10000006 */ b .L800B520C -/* 0B5DF4 800B51F4 26100001 */ addiu $s0, $s0, 1 -.L800B51F8: -/* 0B5DF8 800B51F8 12C00004 */ beqz $s6, .L800B520C -/* 0B5DFC 800B51FC 00000000 */ nop -/* 0B5E00 800B5200 25290001 */ addiu $t1, $t1, 1 -/* 0B5E04 800B5204 A20D0000 */ sb $t5, ($s0) -/* 0B5E08 800B5208 26100001 */ addiu $s0, $s0, 1 -.L800B520C: -/* 0B5E0C 800B520C 10C00008 */ beqz $a2, .L800B5230 -/* 0B5E10 800B5210 27B8017B */ addiu $t8, $sp, 0x17b -/* 0B5E14 800B5214 14E10006 */ bne $a3, $at, .L800B5230 -/* 0B5E18 800B5218 240E0030 */ li $t6, 48 -/* 0B5E1C 800B521C A20E0000 */ sb $t6, ($s0) -/* 0B5E20 800B5220 93AF019A */ lbu $t7, 0x19a($sp) -/* 0B5E24 800B5224 25290002 */ addiu $t1, $t1, 2 -/* 0B5E28 800B5228 26100002 */ addiu $s0, $s0, 2 -/* 0B5E2C 800B522C A20FFFFF */ sb $t7, -1($s0) -.L800B5230: -/* 0B5E30 800B5230 16E0000C */ bnez $s7, .L800B5264 -/* 0B5E34 800B5234 24010030 */ li $at, 48 -/* 0B5E38 800B5238 1581000A */ bne $t4, $at, .L800B5264 -/* 0B5E3C 800B523C 0008182A */ slt $v1, $zero, $t0 -/* 0B5E40 800B5240 10600008 */ beqz $v1, .L800B5264 -/* 0B5E44 800B5244 2508FFFF */ addiu $t0, $t0, -1 -.L800B5248: -/* 0B5E48 800B5248 24190030 */ li $t9, 48 -/* 0B5E4C 800B524C 0008182A */ slt $v1, $zero, $t0 -/* 0B5E50 800B5250 2508FFFF */ addiu $t0, $t0, -1 -/* 0B5E54 800B5254 A2190000 */ sb $t9, ($s0) -/* 0B5E58 800B5258 25290001 */ addiu $t1, $t1, 1 -/* 0B5E5C 800B525C 1460FFFA */ bnez $v1, .L800B5248 -/* 0B5E60 800B5260 26100001 */ addiu $s0, $s0, 1 -.L800B5264: -/* 0B5E64 800B5264 0304082B */ sltu $at, $t8, $a0 -/* 0B5E68 800B5268 14200008 */ bnez $at, .L800B528C -/* 0B5E6C 800B526C 0008182A */ slt $v1, $zero, $t0 -.L800B5270: -/* 0B5E70 800B5270 908E0000 */ lbu $t6, ($a0) -/* 0B5E74 800B5274 24840001 */ addiu $a0, $a0, 1 -/* 0B5E78 800B5278 03E4082B */ sltu $at, $ra, $a0 -/* 0B5E7C 800B527C 25290001 */ addiu $t1, $t1, 1 -/* 0B5E80 800B5280 26100001 */ addiu $s0, $s0, 1 -/* 0B5E84 800B5284 1020FFFA */ beqz $at, .L800B5270 -/* 0B5E88 800B5288 A20EFFFF */ sb $t6, -1($s0) -.L800B528C: -/* 0B5E8C 800B528C 12E00009 */ beqz $s7, .L800B52B4 -/* 0B5E90 800B5290 00000000 */ nop -/* 0B5E94 800B5294 10600007 */ beqz $v1, .L800B52B4 -/* 0B5E98 800B5298 2508FFFF */ addiu $t0, $t0, -1 -.L800B529C: -/* 0B5E9C 800B529C 0008182A */ slt $v1, $zero, $t0 -/* 0B5EA0 800B52A0 2508FFFF */ addiu $t0, $t0, -1 -/* 0B5EA4 800B52A4 25290001 */ addiu $t1, $t1, 1 -/* 0B5EA8 800B52A8 A20D0000 */ sb $t5, ($s0) -/* 0B5EAC 800B52AC 1460FFFB */ bnez $v1, .L800B529C -/* 0B5EB0 800B52B0 26100001 */ addiu $s0, $s0, 1 -.L800B52B4: -/* 0B5EB4 800B52B4 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B5EB8 800B52B8 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B5EBC 800B52BC 100002D6 */ b .L800B5E18 -/* 0B5EC0 800B52C0 00000000 */ nop -glabel L800B52C4 -/* 0B5EC4 800B52C4 3C0F800E */ lui $t7, %hi(D_800E2EF0) # $t7, 0x800e -/* 0B5EC8 800B52C8 8DEF2EF0 */ lw $t7, %lo(D_800E2EF0)($t7) -/* 0B5ECC 800B52CC 00002825 */ move $a1, $zero -/* 0B5ED0 800B52D0 11E00004 */ beqz $t7, .L800B52E4 -/* 0B5ED4 800B52D4 24190084 */ li $t9, 132 -/* 0B5ED8 800B52D8 25290001 */ addiu $t1, $t1, 1 -/* 0B5EDC 800B52DC A2190000 */ sb $t9, ($s0) -/* 0B5EE0 800B52E0 26100001 */ addiu $s0, $s0, 1 -.L800B52E4: -/* 0B5EE4 800B52E4 05410002 */ bgez $t2, .L800B52F0 -/* 0B5EE8 800B52E8 322E0001 */ andi $t6, $s1, 1 -/* 0B5EEC 800B52EC 240A0006 */ li $t2, 6 -.L800B52F0: -/* 0B5EF0 800B52F0 10C0000A */ beqz $a2, .L800B531C -/* 0B5EF4 800B52F4 2401FFFC */ li $at, -4 -/* 0B5EF8 800B52F8 26310003 */ addiu $s1, $s1, 3 -/* 0B5EFC 800B52FC 0221C024 */ and $t8, $s1, $at -/* 0B5F00 800B5300 27110004 */ addiu $s1, $t8, 4 -/* 0B5F04 800B5304 C624FFFC */ lwc1 $f4, -4($s1) -/* 0B5F08 800B5308 00000000 */ nop -/* 0B5F0C 800B530C 460021A1 */ cvt.d.s $f6, $f4 -/* 0B5F10 800B5310 E7A600D4 */ swc1 $f6, 0xd4($sp) -/* 0B5F14 800B5314 10000014 */ b .L800B5368 -/* 0B5F18 800B5318 E7A700D0 */ swc1 $f7, 0xd0($sp) -.L800B531C: -/* 0B5F1C 800B531C 11C00004 */ beqz $t6, .L800B5330 -/* 0B5F20 800B5320 322F0002 */ andi $t7, $s1, 2 -/* 0B5F24 800B5324 26310007 */ addiu $s1, $s1, 7 -/* 0B5F28 800B5328 1000000B */ b .L800B5358 -/* 0B5F2C 800B532C 2623FFEA */ addiu $v1, $s1, -0x16 -.L800B5330: -/* 0B5F30 800B5330 11E00004 */ beqz $t7, .L800B5344 -/* 0B5F34 800B5334 2401FFF8 */ li $at, -8 -/* 0B5F38 800B5338 2631000A */ addiu $s1, $s1, 0xa -/* 0B5F3C 800B533C 10000005 */ b .L800B5354 -/* 0B5F40 800B5340 2624FFD8 */ addiu $a0, $s1, -0x28 -.L800B5344: -/* 0B5F44 800B5344 26310007 */ addiu $s1, $s1, 7 -/* 0B5F48 800B5348 0221C824 */ and $t9, $s1, $at -/* 0B5F4C 800B534C 27310008 */ addiu $s1, $t9, 8 -/* 0B5F50 800B5350 02202025 */ move $a0, $s1 -.L800B5354: -/* 0B5F54 800B5354 00801825 */ move $v1, $a0 -.L800B5358: -/* 0B5F58 800B5358 C469FFF8 */ lwc1 $f9, -8($v1) -/* 0B5F5C 800B535C C468FFFC */ lwc1 $f8, -4($v1) -/* 0B5F60 800B5360 E7A900D0 */ swc1 $f9, 0xd0($sp) -/* 0B5F64 800B5364 E7A800D4 */ swc1 $f8, 0xd4($sp) -.L800B5368: -/* 0B5F68 800B5368 83B800D0 */ lb $t8, 0xd0($sp) -/* 0B5F6C 800B536C 44804800 */ mtc1 $zero, $f9 -/* 0B5F70 800B5370 07010007 */ bgez $t8, .L800B5390 -/* 0B5F74 800B5374 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 0B5F78 800B5378 C7AB00D0 */ lwc1 $f11, 0xd0($sp) -/* 0B5F7C 800B537C C7AA00D4 */ lwc1 $f10, 0xd4($sp) -/* 0B5F80 800B5380 24050001 */ li $a1, 1 -/* 0B5F84 800B5384 46205107 */ neg.d $f4, $f10 -/* 0B5F88 800B5388 E7A400D4 */ swc1 $f4, 0xd4($sp) -/* 0B5F8C 800B538C E7A500D0 */ swc1 $f5, 0xd0($sp) -.L800B5390: -/* 0B5F90 800B5390 C7A700D0 */ lwc1 $f7, 0xd0($sp) -/* 0B5F94 800B5394 C7A600D4 */ lwc1 $f6, 0xd4($sp) -/* 0B5F98 800B5398 44804000 */ mtc1 $zero, $f8 -/* 0B5F9C 800B539C C7AB00D0 */ lwc1 $f11, 0xd0($sp) -/* 0B5FA0 800B53A0 46283032 */ c.eq.d $f6, $f8 -/* 0B5FA4 800B53A4 C7A600D4 */ lwc1 $f6, 0xd4($sp) -/* 0B5FA8 800B53A8 C7A700D0 */ lwc1 $f7, 0xd0($sp) -/* 0B5FAC 800B53AC 45000004 */ bc1f .L800B53C0 -/* 0B5FB0 800B53B0 31440003 */ andi $a0, $t2, 3 -/* 0B5FB4 800B53B4 0000A025 */ move $s4, $zero -/* 0B5FB8 800B53B8 10000014 */ b .L800B540C -/* 0B5FBC 800B53BC 4620A406 */ mov.d $f16, $f20 -.L800B53C0: -/* 0B5FC0 800B53C0 C7AA00D4 */ lwc1 $f10, 0xd4($sp) -/* 0B5FC4 800B53C4 00000000 */ nop -/* 0B5FC8 800B53C8 4634503C */ c.lt.d $f10, $f20 -/* 0B5FCC 800B53CC 00000000 */ nop -/* 0B5FD0 800B53D0 4500000E */ bc1f .L800B540C -/* 0B5FD4 800B53D4 00000000 */ nop -/* 0B5FD8 800B53D8 4634503C */ c.lt.d $f10, $f20 -/* 0B5FDC 800B53DC 0000A025 */ move $s4, $zero -/* 0B5FE0 800B53E0 4500000A */ bc1f .L800B540C -/* 0B5FE4 800B53E4 4620A406 */ mov.d $f16, $f20 -/* 0B5FE8 800B53E8 00000000 */ nop -.L800B53EC: -/* 0B5FEC 800B53EC 46328403 */ div.d $f16, $f16, $f18 -/* 0B5FF0 800B53F0 C7A500D0 */ lwc1 $f5, 0xd0($sp) -/* 0B5FF4 800B53F4 C7A400D4 */ lwc1 $f4, 0xd4($sp) -/* 0B5FF8 800B53F8 2694FFFF */ addiu $s4, $s4, -1 -/* 0B5FFC 800B53FC 4630203C */ c.lt.d $f4, $f16 -/* 0B6000 800B5400 00000000 */ nop -/* 0B6004 800B5404 4501FFF9 */ bc1t .L800B53EC -/* 0B6008 800B5408 00000000 */ nop -.L800B540C: -/* 0B600C 800B540C 4626A03E */ c.le.d $f20, $f6 -/* 0B6010 800B5410 44815800 */ mtc1 $at, $f11 -/* 0B6014 800B5414 4500000F */ bc1f .L800B5454 -/* 0B6018 800B5418 00042023 */ negu $a0, $a0 -/* 0B601C 800B541C 4626903E */ c.le.d $f18, $f6 -/* 0B6020 800B5420 0000A025 */ move $s4, $zero -/* 0B6024 800B5424 4620A406 */ mov.d $f16, $f20 -/* 0B6028 800B5428 4500000A */ bc1f .L800B5454 -/* 0B602C 800B542C 46209006 */ mov.d $f0, $f18 -.L800B5430: -/* 0B6030 800B5430 46200406 */ mov.d $f16, $f0 -/* 0B6034 800B5434 46320002 */ mul.d $f0, $f0, $f18 -/* 0B6038 800B5438 C7A900D0 */ lwc1 $f9, 0xd0($sp) -/* 0B603C 800B543C C7A800D4 */ lwc1 $f8, 0xd4($sp) -/* 0B6040 800B5440 26940001 */ addiu $s4, $s4, 1 -/* 0B6044 800B5444 4628003E */ c.le.d $f0, $f8 -/* 0B6048 800B5448 00000000 */ nop -/* 0B604C 800B544C 4501FFF8 */ bc1t .L800B5430 -/* 0B6050 800B5450 00000000 */ nop -.L800B5454: -/* 0B6054 800B5454 44805000 */ mtc1 $zero, $f10 -/* 0B6058 800B5458 000A982A */ slt $s3, $zero, $t2 -/* 0B605C 800B545C 462A8002 */ mul.d $f0, $f16, $f10 -/* 0B6060 800B5460 12600018 */ beqz $s3, .L800B54C4 -/* 0B6064 800B5464 01401025 */ move $v0, $t2 -/* 0B6068 800B5468 10800005 */ beqz $a0, .L800B5480 -/* 0B606C 800B546C 008A1821 */ addu $v1, $a0, $t2 -.L800B5470: -/* 0B6070 800B5470 2442FFFF */ addiu $v0, $v0, -1 -/* 0B6074 800B5474 1462FFFE */ bne $v1, $v0, .L800B5470 -/* 0B6078 800B5478 46320003 */ div.d $f0, $f0, $f18 -/* 0B607C 800B547C 10400011 */ beqz $v0, .L800B54C4 -.L800B5480: -/* 0B6080 800B5480 2442FFFC */ addiu $v0, $v0, -4 -/* 0B6084 800B5484 10400009 */ beqz $v0, .L800B54AC -/* 0B6088 800B5488 46320003 */ div.d $f0, $f0, $f18 -.L800B548C: -/* 0B608C 800B548C 00000000 */ nop -/* 0B6090 800B5490 46320003 */ div.d $f0, $f0, $f18 -/* 0B6094 800B5494 2442FFFC */ addiu $v0, $v0, -4 -/* 0B6098 800B5498 46320003 */ div.d $f0, $f0, $f18 -/* 0B609C 800B549C 00000000 */ nop -/* 0B60A0 800B54A0 46320003 */ div.d $f0, $f0, $f18 -/* 0B60A4 800B54A4 1440FFF9 */ bnez $v0, .L800B548C -/* 0B60A8 800B54A8 46320003 */ div.d $f0, $f0, $f18 -.L800B54AC: -/* 0B60AC 800B54AC 00000000 */ nop -/* 0B60B0 800B54B0 46320003 */ div.d $f0, $f0, $f18 -/* 0B60B4 800B54B4 00000000 */ nop -/* 0B60B8 800B54B8 46320003 */ div.d $f0, $f0, $f18 -/* 0B60BC 800B54BC 00000000 */ nop -/* 0B60C0 800B54C0 46320003 */ div.d $f0, $f0, $f18 -.L800B54C4: -/* 0B60C4 800B54C4 46328082 */ mul.d $f2, $f16, $f18 -/* 0B60C8 800B54C8 C7A500D0 */ lwc1 $f5, 0xd0($sp) -/* 0B60CC 800B54CC C7A400D4 */ lwc1 $f4, 0xd4($sp) -/* 0B60D0 800B54D0 0005102B */ sltu $v0, $zero, $a1 -/* 0B60D4 800B54D4 00402025 */ move $a0, $v0 -/* 0B60D8 800B54D8 46202180 */ add.d $f6, $f4, $f0 -/* 0B60DC 800B54DC 24010020 */ li $at, 32 -/* 0B60E0 800B54E0 4626103E */ c.le.d $f2, $f6 -/* 0B60E4 800B54E4 E7A600D4 */ swc1 $f6, 0xd4($sp) -/* 0B60E8 800B54E8 45000003 */ bc1f .L800B54F8 -/* 0B60EC 800B54EC E7A700D0 */ swc1 $f7, 0xd0($sp) -/* 0B60F0 800B54F0 46201406 */ mov.d $f16, $f2 -/* 0B60F4 800B54F4 26940001 */ addiu $s4, $s4, 1 -.L800B54F8: -/* 0B60F8 800B54F8 2A860064 */ slti $a2, $s4, 0x64 -/* 0B60FC 800B54FC 14400005 */ bnez $v0, .L800B5514 -/* 0B6100 800B5500 38C60001 */ xori $a2, $a2, 1 -/* 0B6104 800B5504 0015202B */ sltu $a0, $zero, $s5 -/* 0B6108 800B5508 14800002 */ bnez $a0, .L800B5514 -/* 0B610C 800B550C 00000000 */ nop -/* 0B6110 800B5510 0016202B */ sltu $a0, $zero, $s6 -.L800B5514: -/* 0B6114 800B5514 16600002 */ bnez $s3, .L800B5520 -/* 0B6118 800B5518 02601825 */ move $v1, $s3 -/* 0B611C 800B551C 001E182B */ sltu $v1, $zero, $fp -.L800B5520: -/* 0B6120 800B5520 00647021 */ addu $t6, $v1, $a0 -/* 0B6124 800B5524 01CA7821 */ addu $t7, $t6, $t2 -/* 0B6128 800B5528 01E62821 */ addu $a1, $t7, $a2 -/* 0B612C 800B552C 16E0000B */ bnez $s7, .L800B555C -/* 0B6130 800B5530 24A50005 */ addiu $a1, $a1, 5 -/* 0B6134 800B5534 15810009 */ bne $t4, $at, .L800B555C -/* 0B6138 800B5538 00A8182A */ slt $v1, $a1, $t0 -/* 0B613C 800B553C 10600007 */ beqz $v1, .L800B555C -/* 0B6140 800B5540 2508FFFF */ addiu $t0, $t0, -1 -.L800B5544: -/* 0B6144 800B5544 00A8182A */ slt $v1, $a1, $t0 -/* 0B6148 800B5548 2508FFFF */ addiu $t0, $t0, -1 -/* 0B614C 800B554C 25290001 */ addiu $t1, $t1, 1 -/* 0B6150 800B5550 A20C0000 */ sb $t4, ($s0) -/* 0B6154 800B5554 1460FFFB */ bnez $v1, .L800B5544 -/* 0B6158 800B5558 26100001 */ addiu $s0, $s0, 1 -.L800B555C: -/* 0B615C 800B555C 10400005 */ beqz $v0, .L800B5574 -/* 0B6160 800B5560 2419002D */ li $t9, 45 -/* 0B6164 800B5564 25290001 */ addiu $t1, $t1, 1 -/* 0B6168 800B5568 A2190000 */ sb $t9, ($s0) -/* 0B616C 800B556C 1000000C */ b .L800B55A0 -/* 0B6170 800B5570 26100001 */ addiu $s0, $s0, 1 -.L800B5574: -/* 0B6174 800B5574 12A00005 */ beqz $s5, .L800B558C -/* 0B6178 800B5578 2418002B */ li $t8, 43 -/* 0B617C 800B557C 25290001 */ addiu $t1, $t1, 1 -/* 0B6180 800B5580 A2180000 */ sb $t8, ($s0) -/* 0B6184 800B5584 10000006 */ b .L800B55A0 -/* 0B6188 800B5588 26100001 */ addiu $s0, $s0, 1 -.L800B558C: -/* 0B618C 800B558C 12C00004 */ beqz $s6, .L800B55A0 -/* 0B6190 800B5590 00000000 */ nop -/* 0B6194 800B5594 25290001 */ addiu $t1, $t1, 1 -/* 0B6198 800B5598 A20D0000 */ sb $t5, ($s0) -/* 0B619C 800B559C 26100001 */ addiu $s0, $s0, 1 -.L800B55A0: -/* 0B61A0 800B55A0 16E0000B */ bnez $s7, .L800B55D0 -/* 0B61A4 800B55A4 24010030 */ li $at, 48 -/* 0B61A8 800B55A8 15810009 */ bne $t4, $at, .L800B55D0 -/* 0B61AC 800B55AC 00A8182A */ slt $v1, $a1, $t0 -/* 0B61B0 800B55B0 10600007 */ beqz $v1, .L800B55D0 -/* 0B61B4 800B55B4 2508FFFF */ addiu $t0, $t0, -1 -.L800B55B8: -/* 0B61B8 800B55B8 00A8182A */ slt $v1, $a1, $t0 -/* 0B61BC 800B55BC 2508FFFF */ addiu $t0, $t0, -1 -/* 0B61C0 800B55C0 25290001 */ addiu $t1, $t1, 1 -/* 0B61C4 800B55C4 A20C0000 */ sb $t4, ($s0) -/* 0B61C8 800B55C8 1460FFFB */ bnez $v1, .L800B55B8 -/* 0B61CC 800B55CC 26100001 */ addiu $s0, $s0, 1 -.L800B55D0: -/* 0B61D0 800B55D0 C7A900D0 */ lwc1 $f9, 0xd0($sp) -/* 0B61D4 800B55D4 C7A800D4 */ lwc1 $f8, 0xd4($sp) -/* 0B61D8 800B55D8 24020030 */ li $v0, 48 -/* 0B61DC 800B55DC 4628803E */ c.le.d $f16, $f8 -/* 0B61E0 800B55E0 25290001 */ addiu $t1, $t1, 1 -/* 0B61E4 800B55E4 45000009 */ bc1f .L800B560C -/* 0B61E8 800B55E8 240E002E */ li $t6, 46 -.L800B55EC: -/* 0B61EC 800B55EC C7AB00D0 */ lwc1 $f11, 0xd0($sp) -/* 0B61F0 800B55F0 C7AA00D4 */ lwc1 $f10, 0xd4($sp) -/* 0B61F4 800B55F4 24420001 */ addiu $v0, $v0, 1 -/* 0B61F8 800B55F8 46305101 */ sub.d $f4, $f10, $f16 -/* 0B61FC 800B55FC 4624803E */ c.le.d $f16, $f4 -/* 0B6200 800B5600 E7A400D4 */ swc1 $f4, 0xd4($sp) -/* 0B6204 800B5604 4501FFF9 */ bc1t .L800B55EC -/* 0B6208 800B5608 E7A500D0 */ swc1 $f5, 0xd0($sp) -.L800B560C: -/* 0B620C 800B560C A2020000 */ sb $v0, ($s0) -/* 0B6210 800B5610 26100001 */ addiu $s0, $s0, 1 -/* 0B6214 800B5614 16600003 */ bnez $s3, .L800B5624 -/* 0B6218 800B5618 46328403 */ div.d $f16, $f16, $f18 -/* 0B621C 800B561C 13C00004 */ beqz $fp, .L800B5630 -/* 0B6220 800B5620 00000000 */ nop -.L800B5624: -/* 0B6224 800B5624 25290001 */ addiu $t1, $t1, 1 -/* 0B6228 800B5628 A20E0000 */ sb $t6, ($s0) -/* 0B622C 800B562C 26100001 */ addiu $s0, $s0, 1 -.L800B5630: -/* 0B6230 800B5630 12600014 */ beqz $s3, .L800B5684 -/* 0B6234 800B5634 2401000A */ li $at, 10 -.L800B5638: -/* 0B6238 800B5638 C7A700D0 */ lwc1 $f7, 0xd0($sp) -/* 0B623C 800B563C C7A600D4 */ lwc1 $f6, 0xd4($sp) -/* 0B6240 800B5640 24020030 */ li $v0, 48 -/* 0B6244 800B5644 4626803E */ c.le.d $f16, $f6 -/* 0B6248 800B5648 25290001 */ addiu $t1, $t1, 1 -/* 0B624C 800B564C 45000009 */ bc1f .L800B5674 -/* 0B6250 800B5650 254AFFFF */ addiu $t2, $t2, -1 -.L800B5654: -/* 0B6254 800B5654 C7A900D0 */ lwc1 $f9, 0xd0($sp) -/* 0B6258 800B5658 C7A800D4 */ lwc1 $f8, 0xd4($sp) -/* 0B625C 800B565C 24420001 */ addiu $v0, $v0, 1 -/* 0B6260 800B5660 46304281 */ sub.d $f10, $f8, $f16 -/* 0B6264 800B5664 462A803E */ c.le.d $f16, $f10 -/* 0B6268 800B5668 E7AA00D4 */ swc1 $f10, 0xd4($sp) -/* 0B626C 800B566C 4501FFF9 */ bc1t .L800B5654 -/* 0B6270 800B5670 E7AB00D0 */ swc1 $f11, 0xd0($sp) -.L800B5674: -/* 0B6274 800B5674 A2020000 */ sb $v0, ($s0) -/* 0B6278 800B5678 26100001 */ addiu $s0, $s0, 1 -/* 0B627C 800B567C 1D40FFEE */ bgtz $t2, .L800B5638 -/* 0B6280 800B5680 46328403 */ div.d $f16, $f16, $f18 -.L800B5684: -/* 0B6284 800B5684 93AF019A */ lbu $t7, 0x19a($sp) -/* 0B6288 800B5688 25290001 */ addiu $t1, $t1, 1 -/* 0B628C 800B568C 26100001 */ addiu $s0, $s0, 1 -/* 0B6290 800B5690 06810016 */ bgez $s4, .L800B56EC -/* 0B6294 800B5694 A20FFFFF */ sb $t7, -1($s0) -/* 0B6298 800B5698 0014A023 */ negu $s4, $s4 -/* 0B629C 800B569C 2401000A */ li $at, 10 -/* 0B62A0 800B56A0 0281001A */ div $zero, $s4, $at -/* 0B62A4 800B56A4 2A860064 */ slti $a2, $s4, 0x64 -/* 0B62A8 800B56A8 2419002D */ li $t9, 45 -/* 0B62AC 800B56AC A2190000 */ sb $t9, ($s0) -/* 0B62B0 800B56B0 38C60001 */ xori $a2, $a2, 1 -/* 0B62B4 800B56B4 25290001 */ addiu $t1, $t1, 1 -/* 0B62B8 800B56B8 26100001 */ addiu $s0, $s0, 1 -/* 0B62BC 800B56BC 00001812 */ mflo $v1 -/* 0B62C0 800B56C0 00000000 */ nop -/* 0B62C4 800B56C4 00000000 */ nop -/* 0B62C8 800B56C8 0061001A */ div $zero, $v1, $at -/* 0B62CC 800B56CC 0000C010 */ mfhi $t8 -/* 0B62D0 800B56D0 27030030 */ addiu $v1, $t8, 0x30 -/* 0B62D4 800B56D4 00000000 */ nop -/* 0B62D8 800B56D8 0281001A */ div $zero, $s4, $at -/* 0B62DC 800B56DC 00002010 */ mfhi $a0 -/* 0B62E0 800B56E0 24840030 */ addiu $a0, $a0, 0x30 -/* 0B62E4 800B56E4 10000011 */ b .L800B572C -/* 0B62E8 800B56E8 00000000 */ nop -.L800B56EC: -/* 0B62EC 800B56EC 0281001A */ div $zero, $s4, $at -/* 0B62F0 800B56F0 240F002B */ li $t7, 43 -/* 0B62F4 800B56F4 A20F0000 */ sb $t7, ($s0) -/* 0B62F8 800B56F8 25290001 */ addiu $t1, $t1, 1 -/* 0B62FC 800B56FC 26100001 */ addiu $s0, $s0, 1 -/* 0B6300 800B5700 00001812 */ mflo $v1 -/* 0B6304 800B5704 00000000 */ nop -/* 0B6308 800B5708 00000000 */ nop -/* 0B630C 800B570C 0061001A */ div $zero, $v1, $at -/* 0B6310 800B5710 00007010 */ mfhi $t6 -/* 0B6314 800B5714 25C30030 */ addiu $v1, $t6, 0x30 -/* 0B6318 800B5718 00000000 */ nop -/* 0B631C 800B571C 0281001A */ div $zero, $s4, $at -/* 0B6320 800B5720 00002010 */ mfhi $a0 -/* 0B6324 800B5724 24840030 */ addiu $a0, $a0, 0x30 -/* 0B6328 800B5728 00000000 */ nop -.L800B572C: -/* 0B632C 800B572C 10C00007 */ beqz $a2, .L800B574C -/* 0B6330 800B5730 24010064 */ li $at, 100 -/* 0B6334 800B5734 0281001A */ div $zero, $s4, $at -/* 0B6338 800B5738 25290001 */ addiu $t1, $t1, 1 -/* 0B633C 800B573C 26100001 */ addiu $s0, $s0, 1 -/* 0B6340 800B5740 00001012 */ mflo $v0 -/* 0B6344 800B5744 24420030 */ addiu $v0, $v0, 0x30 -/* 0B6348 800B5748 A202FFFF */ sb $v0, -1($s0) -.L800B574C: -/* 0B634C 800B574C A2030000 */ sb $v1, ($s0) -/* 0B6350 800B5750 25290002 */ addiu $t1, $t1, 2 -/* 0B6354 800B5754 A2040001 */ sb $a0, 1($s0) -/* 0B6358 800B5758 12E0000A */ beqz $s7, .L800B5784 -/* 0B635C 800B575C 26100002 */ addiu $s0, $s0, 2 -/* 0B6360 800B5760 00A8182A */ slt $v1, $a1, $t0 -/* 0B6364 800B5764 10600007 */ beqz $v1, .L800B5784 -/* 0B6368 800B5768 2508FFFF */ addiu $t0, $t0, -1 -.L800B576C: -/* 0B636C 800B576C 00A8182A */ slt $v1, $a1, $t0 -/* 0B6370 800B5770 2508FFFF */ addiu $t0, $t0, -1 -/* 0B6374 800B5774 25290001 */ addiu $t1, $t1, 1 -/* 0B6378 800B5778 A20D0000 */ sb $t5, ($s0) -/* 0B637C 800B577C 1460FFFB */ bnez $v1, .L800B576C -/* 0B6380 800B5780 26100001 */ addiu $s0, $s0, 1 -.L800B5784: -/* 0B6384 800B5784 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B6388 800B5788 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B638C 800B578C 100001A2 */ b .L800B5E18 -/* 0B6390 800B5790 00000000 */ nop -glabel L800B5794 -/* 0B6394 800B5794 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B6398 800B5798 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B639C 800B579C 1000019E */ b .L800B5E18 -/* 0B63A0 800B57A0 00000000 */ nop -glabel L800B57A4 -/* 0B63A4 800B57A4 3C19800E */ lui $t9, %hi(D_800E2EF0) # $t9, 0x800e -/* 0B63A8 800B57A8 8F392EF0 */ lw $t9, %lo(D_800E2EF0)($t9) -/* 0B63AC 800B57AC 4620A306 */ mov.d $f12, $f20 -/* 0B63B0 800B57B0 00002825 */ move $a1, $zero -/* 0B63B4 800B57B4 13200005 */ beqz $t9, .L800B57CC -/* 0B63B8 800B57B8 46209386 */ mov.d $f14, $f18 -/* 0B63BC 800B57BC 24180084 */ li $t8, 132 -/* 0B63C0 800B57C0 A2180000 */ sb $t8, ($s0) -/* 0B63C4 800B57C4 25290001 */ addiu $t1, $t1, 1 -/* 0B63C8 800B57C8 26100001 */ addiu $s0, $s0, 1 -.L800B57CC: -/* 0B63CC 800B57CC 05410003 */ bgez $t2, .L800B57DC -/* 0B63D0 800B57D0 000A982A */ slt $s3, $zero, $t2 -/* 0B63D4 800B57D4 240A0006 */ li $t2, 6 -/* 0B63D8 800B57D8 000A982A */ slt $s3, $zero, $t2 -.L800B57DC: -/* 0B63DC 800B57DC 12600019 */ beqz $s3, .L800B5844 -/* 0B63E0 800B57E0 00001025 */ move $v0, $zero -/* 0B63E4 800B57E4 31440003 */ andi $a0, $t2, 3 -/* 0B63E8 800B57E8 10800005 */ beqz $a0, .L800B5800 -/* 0B63EC 800B57EC 00801825 */ move $v1, $a0 -.L800B57F0: -/* 0B63F0 800B57F0 24420001 */ addiu $v0, $v0, 1 -/* 0B63F4 800B57F4 1462FFFE */ bne $v1, $v0, .L800B57F0 -/* 0B63F8 800B57F8 46326303 */ div.d $f12, $f12, $f18 -/* 0B63FC 800B57FC 104A0011 */ beq $v0, $t2, .L800B5844 -.L800B5800: -/* 0B6400 800B5800 24420004 */ addiu $v0, $v0, 4 -/* 0B6404 800B5804 104A0009 */ beq $v0, $t2, .L800B582C -/* 0B6408 800B5808 46326303 */ div.d $f12, $f12, $f18 -.L800B580C: -/* 0B640C 800B580C 00000000 */ nop -/* 0B6410 800B5810 46326303 */ div.d $f12, $f12, $f18 -/* 0B6414 800B5814 24420004 */ addiu $v0, $v0, 4 -/* 0B6418 800B5818 46326303 */ div.d $f12, $f12, $f18 -/* 0B641C 800B581C 00000000 */ nop -/* 0B6420 800B5820 46326303 */ div.d $f12, $f12, $f18 -/* 0B6424 800B5824 144AFFF9 */ bne $v0, $t2, .L800B580C -/* 0B6428 800B5828 46326303 */ div.d $f12, $f12, $f18 -.L800B582C: -/* 0B642C 800B582C 00000000 */ nop -/* 0B6430 800B5830 46326303 */ div.d $f12, $f12, $f18 -/* 0B6434 800B5834 00000000 */ nop -/* 0B6438 800B5838 46326303 */ div.d $f12, $f12, $f18 -/* 0B643C 800B583C 00000000 */ nop -/* 0B6440 800B5840 46326303 */ div.d $f12, $f12, $f18 -.L800B5844: -/* 0B6444 800B5844 10C00008 */ beqz $a2, .L800B5868 -/* 0B6448 800B5848 322F0001 */ andi $t7, $s1, 1 -/* 0B644C 800B584C 26310003 */ addiu $s1, $s1, 3 -/* 0B6450 800B5850 2401FFFC */ li $at, -4 -/* 0B6454 800B5854 02217024 */ and $t6, $s1, $at -/* 0B6458 800B5858 25D10004 */ addiu $s1, $t6, 4 -/* 0B645C 800B585C C624FFFC */ lwc1 $f4, -4($s1) -/* 0B6460 800B5860 10000013 */ b .L800B58B0 -/* 0B6464 800B5864 46002021 */ cvt.d.s $f0, $f4 -.L800B5868: -/* 0B6468 800B5868 11E00004 */ beqz $t7, .L800B587C -/* 0B646C 800B586C 32390002 */ andi $t9, $s1, 2 -/* 0B6470 800B5870 26310007 */ addiu $s1, $s1, 7 -/* 0B6474 800B5874 1000000B */ b .L800B58A4 -/* 0B6478 800B5878 2623FFEA */ addiu $v1, $s1, -0x16 -.L800B587C: -/* 0B647C 800B587C 13200004 */ beqz $t9, .L800B5890 -/* 0B6480 800B5880 2401FFF8 */ li $at, -8 -/* 0B6484 800B5884 2631000A */ addiu $s1, $s1, 0xa -/* 0B6488 800B5888 10000005 */ b .L800B58A0 -/* 0B648C 800B588C 2624FFD8 */ addiu $a0, $s1, -0x28 -.L800B5890: -/* 0B6490 800B5890 26310007 */ addiu $s1, $s1, 7 -/* 0B6494 800B5894 0221C024 */ and $t8, $s1, $at -/* 0B6498 800B5898 27110008 */ addiu $s1, $t8, 8 -/* 0B649C 800B589C 02202025 */ move $a0, $s1 -.L800B58A0: -/* 0B64A0 800B58A0 00801825 */ move $v1, $a0 -.L800B58A4: -/* 0B64A4 800B58A4 C461FFF8 */ lwc1 $f1, -8($v1) -/* 0B64A8 800B58A8 C460FFFC */ lwc1 $f0, -4($v1) -/* 0B64AC 800B58AC 00000000 */ nop -.L800B58B0: -/* 0B64B0 800B58B0 44803800 */ mtc1 $zero, $f7 -/* 0B64B4 800B58B4 44803000 */ mtc1 $zero, $f6 -/* 0B64B8 800B58B8 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 0B64BC 800B58BC 44814800 */ mtc1 $at, $f9 -/* 0B64C0 800B58C0 44804000 */ mtc1 $zero, $f8 -/* 0B64C4 800B58C4 4626003C */ c.lt.d $f0, $f6 -/* 0B64C8 800B58C8 46286282 */ mul.d $f10, $f12, $f8 -/* 0B64CC 800B58CC 45000003 */ bc1f .L800B58DC -/* 0B64D0 800B58D0 24010020 */ li $at, 32 -/* 0B64D4 800B58D4 24050001 */ li $a1, 1 -/* 0B64D8 800B58D8 46200007 */ neg.d $f0, $f0 -.L800B58DC: -/* 0B64DC 800B58DC 462A0000 */ add.d $f0, $f0, $f10 -/* 0B64E0 800B58E0 24020001 */ li $v0, 1 -/* 0B64E4 800B58E4 4620903E */ c.le.d $f18, $f0 -/* 0B64E8 800B58E8 4620A086 */ mov.d $f2, $f20 -/* 0B64EC 800B58EC 45000008 */ bc1f .L800B5910 -/* 0B64F0 800B58F0 0005302B */ sltu $a2, $zero, $a1 -.L800B58F4: -/* 0B64F4 800B58F4 46207086 */ mov.d $f2, $f14 -/* 0B64F8 800B58F8 46327382 */ mul.d $f14, $f14, $f18 -/* 0B64FC 800B58FC 24420001 */ addiu $v0, $v0, 1 -/* 0B6500 800B5900 4620703E */ c.le.d $f14, $f0 -/* 0B6504 800B5904 00000000 */ nop -/* 0B6508 800B5908 4501FFFA */ bc1t .L800B58F4 -/* 0B650C 800B590C 00000000 */ nop -.L800B5910: -/* 0B6510 800B5910 14C00005 */ bnez $a2, .L800B5928 -/* 0B6514 800B5914 00C02025 */ move $a0, $a2 -/* 0B6518 800B5918 0015202B */ sltu $a0, $zero, $s5 -/* 0B651C 800B591C 14800002 */ bnez $a0, .L800B5928 -/* 0B6520 800B5920 00000000 */ nop -/* 0B6524 800B5924 0016202B */ sltu $a0, $zero, $s6 -.L800B5928: -/* 0B6528 800B5928 16600002 */ bnez $s3, .L800B5934 -/* 0B652C 800B592C 02601825 */ move $v1, $s3 -/* 0B6530 800B5930 001E182B */ sltu $v1, $zero, $fp -.L800B5934: -/* 0B6534 800B5934 00647021 */ addu $t6, $v1, $a0 -/* 0B6538 800B5938 01C27821 */ addu $t7, $t6, $v0 -/* 0B653C 800B593C 16E0000B */ bnez $s7, .L800B596C -/* 0B6540 800B5940 01EA2821 */ addu $a1, $t7, $t2 -/* 0B6544 800B5944 15810009 */ bne $t4, $at, .L800B596C -/* 0B6548 800B5948 00A8182A */ slt $v1, $a1, $t0 -/* 0B654C 800B594C 10600007 */ beqz $v1, .L800B596C -/* 0B6550 800B5950 2508FFFF */ addiu $t0, $t0, -1 -.L800B5954: -/* 0B6554 800B5954 00A8182A */ slt $v1, $a1, $t0 -/* 0B6558 800B5958 2508FFFF */ addiu $t0, $t0, -1 -/* 0B655C 800B595C 25290001 */ addiu $t1, $t1, 1 -/* 0B6560 800B5960 A20C0000 */ sb $t4, ($s0) -/* 0B6564 800B5964 1460FFFB */ bnez $v1, .L800B5954 -/* 0B6568 800B5968 26100001 */ addiu $s0, $s0, 1 -.L800B596C: -/* 0B656C 800B596C 10C00005 */ beqz $a2, .L800B5984 -/* 0B6570 800B5970 2419002D */ li $t9, 45 -/* 0B6574 800B5974 25290001 */ addiu $t1, $t1, 1 -/* 0B6578 800B5978 A2190000 */ sb $t9, ($s0) -/* 0B657C 800B597C 1000000C */ b .L800B59B0 -/* 0B6580 800B5980 26100001 */ addiu $s0, $s0, 1 -.L800B5984: -/* 0B6584 800B5984 12A00005 */ beqz $s5, .L800B599C -/* 0B6588 800B5988 2418002B */ li $t8, 43 -/* 0B658C 800B598C 25290001 */ addiu $t1, $t1, 1 -/* 0B6590 800B5990 A2180000 */ sb $t8, ($s0) -/* 0B6594 800B5994 10000006 */ b .L800B59B0 -/* 0B6598 800B5998 26100001 */ addiu $s0, $s0, 1 -.L800B599C: -/* 0B659C 800B599C 12C00004 */ beqz $s6, .L800B59B0 -/* 0B65A0 800B59A0 00000000 */ nop -/* 0B65A4 800B59A4 25290001 */ addiu $t1, $t1, 1 -/* 0B65A8 800B59A8 A20D0000 */ sb $t5, ($s0) -/* 0B65AC 800B59AC 26100001 */ addiu $s0, $s0, 1 -.L800B59B0: -/* 0B65B0 800B59B0 16E0000B */ bnez $s7, .L800B59E0 -/* 0B65B4 800B59B4 24010030 */ li $at, 48 -/* 0B65B8 800B59B8 15810009 */ bne $t4, $at, .L800B59E0 -/* 0B65BC 800B59BC 00A8182A */ slt $v1, $a1, $t0 -/* 0B65C0 800B59C0 10600007 */ beqz $v1, .L800B59E0 -/* 0B65C4 800B59C4 2508FFFF */ addiu $t0, $t0, -1 -.L800B59C8: -/* 0B65C8 800B59C8 00A8182A */ slt $v1, $a1, $t0 -/* 0B65CC 800B59CC 2508FFFF */ addiu $t0, $t0, -1 -/* 0B65D0 800B59D0 25290001 */ addiu $t1, $t1, 1 -/* 0B65D4 800B59D4 A20C0000 */ sb $t4, ($s0) -/* 0B65D8 800B59D8 1460FFFB */ bnez $v1, .L800B59C8 -/* 0B65DC 800B59DC 26100001 */ addiu $s0, $s0, 1 -.L800B59E0: -/* 0B65E0 800B59E0 4620103E */ c.le.d $f2, $f0 -/* 0B65E4 800B59E4 24020030 */ li $v0, 48 -/* 0B65E8 800B59E8 45000008 */ bc1f .L800B5A0C -/* 0B65EC 800B59EC 00000000 */ nop -.L800B59F0: -/* 0B65F0 800B59F0 46220001 */ sub.d $f0, $f0, $f2 -/* 0B65F4 800B59F4 24420001 */ addiu $v0, $v0, 1 -/* 0B65F8 800B59F8 4620103E */ c.le.d $f2, $f0 -/* 0B65FC 800B59FC 00000000 */ nop -/* 0B6600 800B5A00 4501FFFB */ bc1t .L800B59F0 -/* 0B6604 800B5A04 00000000 */ nop -/* 0B6608 800B5A08 00000000 */ nop -.L800B5A0C: -/* 0B660C 800B5A0C 46321083 */ div.d $f2, $f2, $f18 -/* 0B6610 800B5A10 25290001 */ addiu $t1, $t1, 1 -/* 0B6614 800B5A14 A2020000 */ sb $v0, ($s0) -/* 0B6618 800B5A18 26100001 */ addiu $s0, $s0, 1 -/* 0B661C 800B5A1C 4622A03E */ c.le.d $f20, $f2 -/* 0B6620 800B5A20 00000000 */ nop -/* 0B6624 800B5A24 4501FFEE */ bc1t .L800B59E0 -/* 0B6628 800B5A28 00000000 */ nop -/* 0B662C 800B5A2C 16600003 */ bnez $s3, .L800B5A3C -/* 0B6630 800B5A30 240E002E */ li $t6, 46 -/* 0B6634 800B5A34 13C00004 */ beqz $fp, .L800B5A48 -/* 0B6638 800B5A38 00000000 */ nop -.L800B5A3C: -/* 0B663C 800B5A3C 25290001 */ addiu $t1, $t1, 1 -/* 0B6640 800B5A40 A20E0000 */ sb $t6, ($s0) -/* 0B6644 800B5A44 26100001 */ addiu $s0, $s0, 1 -.L800B5A48: -/* 0B6648 800B5A48 12600010 */ beqz $s3, .L800B5A8C -/* 0B664C 800B5A4C 00A8182A */ slt $v1, $a1, $t0 -.L800B5A50: -/* 0B6650 800B5A50 4620103E */ c.le.d $f2, $f0 -/* 0B6654 800B5A54 24020030 */ li $v0, 48 -/* 0B6658 800B5A58 45000007 */ bc1f .L800B5A78 -/* 0B665C 800B5A5C 25290001 */ addiu $t1, $t1, 1 -.L800B5A60: -/* 0B6660 800B5A60 46220001 */ sub.d $f0, $f0, $f2 -/* 0B6664 800B5A64 24420001 */ addiu $v0, $v0, 1 -/* 0B6668 800B5A68 4620103E */ c.le.d $f2, $f0 -/* 0B666C 800B5A6C 00000000 */ nop -/* 0B6670 800B5A70 4501FFFB */ bc1t .L800B5A60 -/* 0B6674 800B5A74 00000000 */ nop -.L800B5A78: -/* 0B6678 800B5A78 254AFFFF */ addiu $t2, $t2, -1 -/* 0B667C 800B5A7C A2020000 */ sb $v0, ($s0) -/* 0B6680 800B5A80 26100001 */ addiu $s0, $s0, 1 -/* 0B6684 800B5A84 1D40FFF2 */ bgtz $t2, .L800B5A50 -/* 0B6688 800B5A88 46321083 */ div.d $f2, $f2, $f18 -.L800B5A8C: -/* 0B668C 800B5A8C 12E00009 */ beqz $s7, .L800B5AB4 -/* 0B6690 800B5A90 00000000 */ nop -/* 0B6694 800B5A94 10600007 */ beqz $v1, .L800B5AB4 -/* 0B6698 800B5A98 2508FFFF */ addiu $t0, $t0, -1 -.L800B5A9C: -/* 0B669C 800B5A9C 00A8182A */ slt $v1, $a1, $t0 -/* 0B66A0 800B5AA0 2508FFFF */ addiu $t0, $t0, -1 -/* 0B66A4 800B5AA4 25290001 */ addiu $t1, $t1, 1 -/* 0B66A8 800B5AA8 A20D0000 */ sb $t5, ($s0) -/* 0B66AC 800B5AAC 1460FFFB */ bnez $v1, .L800B5A9C -/* 0B66B0 800B5AB0 26100001 */ addiu $s0, $s0, 1 -.L800B5AB4: -/* 0B66B4 800B5AB4 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B66B8 800B5AB8 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B66BC 800B5ABC 100000D6 */ b .L800B5E18 -/* 0B66C0 800B5AC0 00000000 */ nop -glabel L800B5AC4 -/* 0B66C4 800B5AC4 26310003 */ addiu $s1, $s1, 3 -/* 0B66C8 800B5AC8 2401FFFC */ li $at, -4 -/* 0B66CC 800B5ACC 02217824 */ and $t7, $s1, $at -/* 0B66D0 800B5AD0 25F10004 */ addiu $s1, $t7, 4 -/* 0B66D4 800B5AD4 8E39FFFC */ lw $t9, -4($s1) -/* 0B66D8 800B5AD8 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B66DC 800B5ADC 0019C7C3 */ sra $t8, $t9, 0x1f -/* 0B66E0 800B5AE0 AFB80188 */ sw $t8, 0x188($sp) -/* 0B66E4 800B5AE4 16E00009 */ bnez $s7, .L800B5B0C -/* 0B66E8 800B5AE8 AFB9018C */ sw $t9, 0x18c($sp) -/* 0B66EC 800B5AEC 2508FFFF */ addiu $t0, $t0, -1 -/* 0B66F0 800B5AF0 19000007 */ blez $t0, .L800B5B10 -/* 0B66F4 800B5AF4 8FAF018C */ lw $t7, 0x18c($sp) -.L800B5AF8: -/* 0B66F8 800B5AF8 2508FFFF */ addiu $t0, $t0, -1 -/* 0B66FC 800B5AFC 25290001 */ addiu $t1, $t1, 1 -/* 0B6700 800B5B00 A20C0000 */ sb $t4, ($s0) -/* 0B6704 800B5B04 1D00FFFC */ bgtz $t0, .L800B5AF8 -/* 0B6708 800B5B08 26100001 */ addiu $s0, $s0, 1 -.L800B5B0C: -/* 0B670C 800B5B0C 8FAF018C */ lw $t7, 0x18c($sp) -.L800B5B10: -/* 0B6710 800B5B10 25290001 */ addiu $t1, $t1, 1 -/* 0B6714 800B5B14 26100001 */ addiu $s0, $s0, 1 -/* 0B6718 800B5B18 12E00008 */ beqz $s7, .L800B5B3C -/* 0B671C 800B5B1C A20FFFFF */ sb $t7, -1($s0) -/* 0B6720 800B5B20 2508FFFF */ addiu $t0, $t0, -1 -/* 0B6724 800B5B24 19000005 */ blez $t0, .L800B5B3C -.L800B5B28: -/* 0B6728 800B5B28 2508FFFF */ addiu $t0, $t0, -1 -/* 0B672C 800B5B2C 25290001 */ addiu $t1, $t1, 1 -/* 0B6730 800B5B30 A20D0000 */ sb $t5, ($s0) -/* 0B6734 800B5B34 1D00FFFC */ bgtz $t0, .L800B5B28 -/* 0B6738 800B5B38 26100001 */ addiu $s0, $s0, 1 -.L800B5B3C: -/* 0B673C 800B5B3C 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B6740 800B5B40 100000B5 */ b .L800B5E18 -/* 0B6744 800B5B44 00000000 */ nop -glabel L800B5B48 -/* 0B6748 800B5B48 26310003 */ addiu $s1, $s1, 3 -/* 0B674C 800B5B4C 2401FFFC */ li $at, -4 -/* 0B6750 800B5B50 0221C824 */ and $t9, $s1, $at -/* 0B6754 800B5B54 27310004 */ addiu $s1, $t9, 4 -/* 0B6758 800B5B58 8E25FFFC */ lw $a1, -4($s1) -/* 0B675C 800B5B5C 2401FFFF */ li $at, -1 -/* 0B6760 800B5B60 14A0000C */ bnez $a1, .L800B5B94 -/* 0B6764 800B5B64 00A02025 */ move $a0, $a1 -/* 0B6768 800B5B68 11410004 */ beq $t2, $at, .L800B5B7C -/* 0B676C 800B5B6C 3C05800F */ lui $a1, %hi(D_800E8C54) # $a1, 0x800f -/* 0B6770 800B5B70 29410006 */ slti $at, $t2, 6 -/* 0B6774 800B5B74 14200004 */ bnez $at, .L800B5B88 -/* 0B6778 800B5B78 00002025 */ move $a0, $zero -.L800B5B7C: -/* 0B677C 800B5B7C 24A58C54 */ addiu $a1, %lo(D_800E8C54) # addiu $a1, $a1, -0x73ac -/* 0B6780 800B5B80 10000018 */ b .L800B5BE4 -/* 0B6784 800B5B84 24040006 */ li $a0, 6 -.L800B5B88: -/* 0B6788 800B5B88 3C05800F */ lui $a1, %hi(D_800E8C50) # $a1, 0x800f -/* 0B678C 800B5B8C 10000015 */ b .L800B5BE4 -/* 0B6790 800B5B90 24A58C50 */ addiu $a1, %lo(D_800E8C50) # addiu $a1, $a1, -0x73b0 -.L800B5B94: -/* 0B6794 800B5B94 AFA5017C */ sw $a1, 0x17c($sp) -/* 0B6798 800B5B98 AFA801A0 */ sw $t0, 0x1a0($sp) -/* 0B679C 800B5B9C AFA901AC */ sw $t1, 0x1ac($sp) -/* 0B67A0 800B5BA0 AFAA019C */ sw $t2, 0x19c($sp) -/* 0B67A4 800B5BA4 AFAB01B4 */ sw $t3, 0x1b4($sp) -/* 0B67A8 800B5BA8 E7B100E0 */ swc1 $f17, 0xe0($sp) -/* 0B67AC 800B5BAC 0C033867 */ jal strlen -/* 0B67B0 800B5BB0 E7B000E4 */ swc1 $f16, 0xe4($sp) -/* 0B67B4 800B5BB4 3C014024 */ li $at, 0x40240000 # 2.562500 -/* 0B67B8 800B5BB8 44819800 */ mtc1 $at, $f19 -/* 0B67BC 800B5BBC 8FA5017C */ lw $a1, 0x17c($sp) -/* 0B67C0 800B5BC0 8FA801A0 */ lw $t0, 0x1a0($sp) -/* 0B67C4 800B5BC4 8FA901AC */ lw $t1, 0x1ac($sp) -/* 0B67C8 800B5BC8 8FAA019C */ lw $t2, 0x19c($sp) -/* 0B67CC 800B5BCC 8FAB01B4 */ lw $t3, 0x1b4($sp) -/* 0B67D0 800B5BD0 C7B100E0 */ lwc1 $f17, 0xe0($sp) -/* 0B67D4 800B5BD4 C7B000E4 */ lwc1 $f16, 0xe4($sp) -/* 0B67D8 800B5BD8 44809000 */ mtc1 $zero, $f18 -/* 0B67DC 800B5BDC 240D0020 */ li $t5, 32 -/* 0B67E0 800B5BE0 00402025 */ move $a0, $v0 -.L800B5BE4: -/* 0B67E4 800B5BE4 2401FFFF */ li $at, -1 -/* 0B67E8 800B5BE8 11410004 */ beq $t2, $at, .L800B5BFC -/* 0B67EC 800B5BEC 0144082A */ slt $at, $t2, $a0 -/* 0B67F0 800B5BF0 10200002 */ beqz $at, .L800B5BFC -/* 0B67F4 800B5BF4 00000000 */ nop -/* 0B67F8 800B5BF8 01402025 */ move $a0, $t2 -.L800B5BFC: -/* 0B67FC 800B5BFC 16E0000A */ bnez $s7, .L800B5C28 -/* 0B6800 800B5C00 01044023 */ subu $t0, $t0, $a0 -/* 0B6804 800B5C04 0008182A */ slt $v1, $zero, $t0 -/* 0B6808 800B5C08 10600007 */ beqz $v1, .L800B5C28 -/* 0B680C 800B5C0C 2508FFFF */ addiu $t0, $t0, -1 -.L800B5C10: -/* 0B6810 800B5C10 0008182A */ slt $v1, $zero, $t0 -/* 0B6814 800B5C14 2508FFFF */ addiu $t0, $t0, -1 -/* 0B6818 800B5C18 25290001 */ addiu $t1, $t1, 1 -/* 0B681C 800B5C1C A20D0000 */ sb $t5, ($s0) -/* 0B6820 800B5C20 1460FFFB */ bnez $v1, .L800B5C10 -/* 0B6824 800B5C24 26100001 */ addiu $s0, $s0, 1 -.L800B5C28: -/* 0B6828 800B5C28 0004182A */ slt $v1, $zero, $a0 -/* 0B682C 800B5C2C 10600009 */ beqz $v1, .L800B5C54 -/* 0B6830 800B5C30 2484FFFF */ addiu $a0, $a0, -1 -.L800B5C34: -/* 0B6834 800B5C34 90AE0000 */ lbu $t6, ($a1) -/* 0B6838 800B5C38 0004182A */ slt $v1, $zero, $a0 -/* 0B683C 800B5C3C 2484FFFF */ addiu $a0, $a0, -1 -/* 0B6840 800B5C40 25290001 */ addiu $t1, $t1, 1 -/* 0B6844 800B5C44 26100001 */ addiu $s0, $s0, 1 -/* 0B6848 800B5C48 24A50001 */ addiu $a1, $a1, 1 -/* 0B684C 800B5C4C 1460FFF9 */ bnez $v1, .L800B5C34 -/* 0B6850 800B5C50 A20EFFFF */ sb $t6, -1($s0) -.L800B5C54: -/* 0B6854 800B5C54 12E00009 */ beqz $s7, .L800B5C7C -/* 0B6858 800B5C58 0008182A */ slt $v1, $zero, $t0 -/* 0B685C 800B5C5C 10600007 */ beqz $v1, .L800B5C7C -/* 0B6860 800B5C60 2508FFFF */ addiu $t0, $t0, -1 -.L800B5C64: -/* 0B6864 800B5C64 0008182A */ slt $v1, $zero, $t0 -/* 0B6868 800B5C68 2508FFFF */ addiu $t0, $t0, -1 -/* 0B686C 800B5C6C 25290001 */ addiu $t1, $t1, 1 -/* 0B6870 800B5C70 A20D0000 */ sb $t5, ($s0) -/* 0B6874 800B5C74 1460FFFB */ bnez $v1, .L800B5C64 -/* 0B6878 800B5C78 26100001 */ addiu $s0, $s0, 1 -.L800B5C7C: -/* 0B687C 800B5C7C 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B6880 800B5C80 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B6884 800B5C84 10000064 */ b .L800B5E18 -/* 0B6888 800B5C88 00000000 */ nop -glabel L800B5C8C -/* 0B688C 800B5C8C 26310003 */ addiu $s1, $s1, 3 -/* 0B6890 800B5C90 2401FFFC */ li $at, -4 -/* 0B6894 800B5C94 02217824 */ and $t7, $s1, $at -/* 0B6898 800B5C98 25F10004 */ addiu $s1, $t7, 4 -/* 0B689C 800B5C9C 8E22FFFC */ lw $v0, -4($s1) -/* 0B68A0 800B5CA0 3C04800F */ lui $a0, %hi(D_800E8C5C) # $a0, 0x800f -/* 0B68A4 800B5CA4 1040000E */ beqz $v0, .L800B5CE0 -/* 0B68A8 800B5CA8 24848C5C */ addiu $a0, %lo(D_800E8C5C) # addiu $a0, $a0, -0x73a4 -/* 0B68AC 800B5CAC 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B68B0 800B5CB0 24180078 */ li $t8, 120 -/* 0B68B4 800B5CB4 240E0000 */ li $t6, 0 -/* 0B68B8 800B5CB8 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B68BC 800B5CBC 24070010 */ li $a3, 16 -/* 0B68C0 800B5CC0 A3B8019A */ sb $t8, 0x19a($sp) -/* 0B68C4 800B5CC4 241E0001 */ li $fp, 1 -/* 0B68C8 800B5CC8 AFAE0188 */ sw $t6, 0x188($sp) -/* 0B68CC 800B5CCC AFA2018C */ sw $v0, 0x18c($sp) -/* 0B68D0 800B5CD0 00009025 */ move $s2, $zero -/* 0B68D4 800B5CD4 24130078 */ li $s3, 120 -/* 0B68D8 800B5CD8 1000FCDF */ b .L800B5058 -/* 0B68DC 800B5CDC 27BF017B */ addiu $ra, $sp, 0x17b -.L800B5CE0: -/* 0B68E0 800B5CE0 16E0000A */ bnez $s7, .L800B5D0C -/* 0B68E4 800B5CE4 2508FFFB */ addiu $t0, $t0, -5 -/* 0B68E8 800B5CE8 0008182A */ slt $v1, $zero, $t0 -/* 0B68EC 800B5CEC 10600007 */ beqz $v1, .L800B5D0C -/* 0B68F0 800B5CF0 2508FFFF */ addiu $t0, $t0, -1 -.L800B5CF4: -/* 0B68F4 800B5CF4 0008182A */ slt $v1, $zero, $t0 -/* 0B68F8 800B5CF8 2508FFFF */ addiu $t0, $t0, -1 -/* 0B68FC 800B5CFC 25290001 */ addiu $t1, $t1, 1 -/* 0B6900 800B5D00 A20D0000 */ sb $t5, ($s0) -/* 0B6904 800B5D04 1460FFFB */ bnez $v1, .L800B5CF4 -/* 0B6908 800B5D08 26100001 */ addiu $s0, $s0, 1 -.L800B5D0C: -/* 0B690C 800B5D0C 3C19800F */ lui $t9, %hi(D_800E8C5C) # $t9, 0x800f -/* 0B6910 800B5D10 93398C5C */ lbu $t9, %lo(D_800E8C5C)($t9) -/* 0B6914 800B5D14 3C18800F */ lui $t8, %hi(D_800E8C5C) # $t8, 0x800f -/* 0B6918 800B5D18 13200009 */ beqz $t9, .L800B5D40 -/* 0B691C 800B5D1C 27188C5C */ addiu $t8, %lo(D_800E8C5C) # addiu $t8, $t8, -0x73a4 -/* 0B6920 800B5D20 93020000 */ lbu $v0, ($t8) -/* 0B6924 800B5D24 00000000 */ nop -.L800B5D28: -/* 0B6928 800B5D28 A2020000 */ sb $v0, ($s0) -/* 0B692C 800B5D2C 90820001 */ lbu $v0, 1($a0) -/* 0B6930 800B5D30 25290001 */ addiu $t1, $t1, 1 -/* 0B6934 800B5D34 26100001 */ addiu $s0, $s0, 1 -/* 0B6938 800B5D38 1440FFFB */ bnez $v0, .L800B5D28 -/* 0B693C 800B5D3C 24840001 */ addiu $a0, $a0, 1 -.L800B5D40: -/* 0B6940 800B5D40 12E00009 */ beqz $s7, .L800B5D68 -/* 0B6944 800B5D44 0008182A */ slt $v1, $zero, $t0 -/* 0B6948 800B5D48 10600007 */ beqz $v1, .L800B5D68 -/* 0B694C 800B5D4C 2508FFFF */ addiu $t0, $t0, -1 -.L800B5D50: -/* 0B6950 800B5D50 0008182A */ slt $v1, $zero, $t0 -/* 0B6954 800B5D54 2508FFFF */ addiu $t0, $t0, -1 -/* 0B6958 800B5D58 25290001 */ addiu $t1, $t1, 1 -/* 0B695C 800B5D5C A20D0000 */ sb $t5, ($s0) -/* 0B6960 800B5D60 1460FFFB */ bnez $v1, .L800B5D50 -/* 0B6964 800B5D64 26100001 */ addiu $s0, $s0, 1 -.L800B5D68: -/* 0B6968 800B5D68 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B696C 800B5D6C 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B6970 800B5D70 10000029 */ b .L800B5E18 -/* 0B6974 800B5D74 00000000 */ nop -glabel L800B5D78 -/* 0B6978 800B5D78 1080000A */ beqz $a0, .L800B5DA4 -/* 0B697C 800B5D7C 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B6980 800B5D80 26310003 */ addiu $s1, $s1, 3 -/* 0B6984 800B5D84 2401FFFC */ li $at, -4 -/* 0B6988 800B5D88 02217024 */ and $t6, $s1, $at -/* 0B698C 800B5D8C 25D10004 */ addiu $s1, $t6, 4 -/* 0B6990 800B5D90 8E22FFFC */ lw $v0, -4($s1) -/* 0B6994 800B5D94 0009C7C3 */ sra $t8, $t1, 0x1f -/* 0B6998 800B5D98 AC580000 */ sw $t8, ($v0) -/* 0B699C 800B5D9C 10000018 */ b .L800B5E00 -/* 0B69A0 800B5DA0 AC490004 */ sw $t1, 4($v0) -.L800B5DA4: -/* 0B69A4 800B5DA4 10A00007 */ beqz $a1, .L800B5DC4 -/* 0B69A8 800B5DA8 2401FFFC */ li $at, -4 -/* 0B69AC 800B5DAC 26310003 */ addiu $s1, $s1, 3 -/* 0B69B0 800B5DB0 02217824 */ and $t7, $s1, $at -/* 0B69B4 800B5DB4 25F10004 */ addiu $s1, $t7, 4 -/* 0B69B8 800B5DB8 8E22FFFC */ lw $v0, -4($s1) -/* 0B69BC 800B5DBC 10000010 */ b .L800B5E00 -/* 0B69C0 800B5DC0 AC490000 */ sw $t1, ($v0) -.L800B5DC4: -/* 0B69C4 800B5DC4 14C00008 */ bnez $a2, .L800B5DE8 -/* 0B69C8 800B5DC8 2401FFFC */ li $at, -4 -/* 0B69CC 800B5DCC 26310003 */ addiu $s1, $s1, 3 -/* 0B69D0 800B5DD0 2401FFFC */ li $at, -4 -/* 0B69D4 800B5DD4 02217024 */ and $t6, $s1, $at -/* 0B69D8 800B5DD8 25D10004 */ addiu $s1, $t6, 4 -/* 0B69DC 800B5DDC 8E22FFFC */ lw $v0, -4($s1) -/* 0B69E0 800B5DE0 10000007 */ b .L800B5E00 -/* 0B69E4 800B5DE4 AC490000 */ sw $t1, ($v0) -.L800B5DE8: -/* 0B69E8 800B5DE8 26310003 */ addiu $s1, $s1, 3 -/* 0B69EC 800B5DEC 0221C024 */ and $t8, $s1, $at -/* 0B69F0 800B5DF0 27110004 */ addiu $s1, $t8, 4 -/* 0B69F4 800B5DF4 8E22FFFC */ lw $v0, -4($s1) -/* 0B69F8 800B5DF8 00000000 */ nop -/* 0B69FC 800B5DFC A4490000 */ sh $t1, ($v0) -.L800B5E00: -/* 0B6A00 800B5E00 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B6A04 800B5E04 10000004 */ b .L800B5E18 -/* 0B6A08 800B5E08 00000000 */ nop -.L800B5E0C: -glabel L800B5E0C -/* 0B6A0C 800B5E0C 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e -/* 0B6A10 800B5E10 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) -/* 0B6A14 800B5E14 00000000 */ nop -.L800B5E18: -/* 0B6A18 800B5E18 10600004 */ beqz $v1, .L800B5E2C -/* 0B6A1C 800B5E1C 24190083 */ li $t9, 131 -/* 0B6A20 800B5E20 25290001 */ addiu $t1, $t1, 1 -/* 0B6A24 800B5E24 A2190000 */ sb $t9, ($s0) -/* 0B6A28 800B5E28 26100001 */ addiu $s0, $s0, 1 -.L800B5E2C: -/* 0B6A2C 800B5E2C 91630000 */ lbu $v1, ($t3) -.L800B5E30: -/* 0B6A30 800B5E30 24040025 */ li $a0, 37 -/* 0B6A34 800B5E34 1460FB22 */ bnez $v1, .L800B4AC0 -/* 0B6A38 800B5E38 00601025 */ move $v0, $v1 -/* 0B6A3C 800B5E3C E7B100E0 */ swc1 $f17, 0xe0($sp) -/* 0B6A40 800B5E40 E7B000E4 */ swc1 $f16, 0xe4($sp) -/* 0B6A44 800B5E44 AFB400C8 */ sw $s4, 0xc8($sp) -.L800B5E48: -/* 0B6A48 800B5E48 A2000000 */ sb $zero, ($s0) -/* 0B6A4C 800B5E4C 8FBF004C */ lw $ra, 0x4c($sp) -/* 0B6A50 800B5E50 8FBE0048 */ lw $fp, 0x48($sp) -/* 0B6A54 800B5E54 8FB70044 */ lw $s7, 0x44($sp) -/* 0B6A58 800B5E58 8FB60040 */ lw $s6, 0x40($sp) -/* 0B6A5C 800B5E5C 8FB5003C */ lw $s5, 0x3c($sp) -/* 0B6A60 800B5E60 8FB40038 */ lw $s4, 0x38($sp) -/* 0B6A64 800B5E64 8FB30034 */ lw $s3, 0x34($sp) -/* 0B6A68 800B5E68 8FB20030 */ lw $s2, 0x30($sp) -/* 0B6A6C 800B5E6C 8FB1002C */ lw $s1, 0x2c($sp) -/* 0B6A70 800B5E70 8FB00028 */ lw $s0, 0x28($sp) -/* 0B6A74 800B5E74 C7B40024 */ lwc1 $f20, 0x24($sp) -/* 0B6A78 800B5E78 C7B50020 */ lwc1 $f21, 0x20($sp) -/* 0B6A7C 800B5E7C 27BD01B8 */ addiu $sp, $sp, 0x1b8 -/* 0B6A80 800B5E80 03E00008 */ jr $ra -/* 0B6A84 800B5E84 01201025 */ move $v0, $t1 - diff --git a/asm/non_matchings/racer/func_80042D20.s b/asm/non_matchings/racer/func_80042D20.s deleted file mode 100644 index d89c4579..00000000 --- a/asm/non_matchings/racer/func_80042D20.s +++ /dev/null @@ -1,1242 +0,0 @@ -.late_rodata -glabel D_800E62A8 -.double -2500.0 -glabel D_800E62B0 -.double 0.025 -glabel D_800E62B8 -.double 0.561 -glabel D_800E62C0 -.double 0.004 -glabel D_800E62C8 -.double 0.025 -glabel D_800E62D0 -.double 0.561 -glabel D_800E62D8 -.double 0.004 -glabel D_800E62E0 -.double 0.2 -glabel D_800E62E8 -.double 0.004 -glabel D_800E62F0 -.double 0.595 -glabel D_800E62F8 -.double 0.025 -glabel D_800E6300 -.double 500.0 -glabel D_800E6308 -.double 650.0 -glabel D_800E6310 -.double -0.3 - -.text -glabel func_80042D20 -/* 043920 80042D20 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 043924 80042D24 AFBF001C */ sw $ra, 0x1c($sp) -/* 043928 80042D28 AFB00018 */ sw $s0, 0x18($sp) -/* 04392C 80042D2C AFA40098 */ sw $a0, 0x98($sp) -/* 043930 80042D30 AFA600A0 */ sw $a2, 0xa0($sp) -/* 043934 80042D34 80AE01CA */ lb $t6, 0x1ca($a1) -/* 043938 80042D38 00A08025 */ move $s0, $a1 -/* 04393C 80042D3C 24040001 */ li $a0, 1 -/* 043940 80042D40 0C0078A7 */ jal get_misc_asset -/* 043944 80042D44 A7AE006E */ sh $t6, 0x6e($sp) -/* 043948 80042D48 AFA20040 */ sw $v0, 0x40($sp) -/* 04394C 80042D4C 0C0078A7 */ jal get_misc_asset -/* 043950 80042D50 24040002 */ li $a0, 2 -/* 043954 80042D54 0C01AF6C */ jal get_current_level_header -/* 043958 80042D58 AFA20044 */ sw $v0, 0x44($sp) -/* 04395C 80042D5C AFA20050 */ sw $v0, 0x50($sp) -/* 043960 80042D60 0C006EAB */ jal get_racer_objects_by_position -/* 043964 80042D64 27A40068 */ addiu $a0, $sp, 0x68 -/* 043968 80042D68 0C01B063 */ jal get_ai_behaviour_table -/* 04396C 80042D6C AFA20060 */ sw $v0, 0x60($sp) -/* 043970 80042D70 AFA20054 */ sw $v0, 0x54($sp) -/* 043974 80042D74 860301C6 */ lh $v1, 0x1c6($s0) -/* 043978 80042D78 8FAA0060 */ lw $t2, 0x60($sp) -/* 04397C 80042D7C 18600006 */ blez $v1, .L80042D98 -/* 043980 80042D80 00000000 */ nop -/* 043984 80042D84 8FAF00A0 */ lw $t7, 0xa0($sp) -/* 043988 80042D88 00000000 */ nop -/* 04398C 80042D8C 006FC023 */ subu $t8, $v1, $t7 -/* 043990 80042D90 10000002 */ b .L80042D9C -/* 043994 80042D94 A61801C6 */ sh $t8, 0x1c6($s0) -.L80042D98: -/* 043998 80042D98 A60001C6 */ sh $zero, 0x1c6($s0) -.L80042D9C: -/* 04399C 80042D9C 0C006B91 */ jal race_finish_timer -/* 0439A0 80042DA0 AFAA0060 */ sw $t2, 0x60($sp) -/* 0439A4 80042DA4 8FAA0060 */ lw $t2, 0x60($sp) -/* 0439A8 80042DA8 10400007 */ beqz $v0, .L80042DC8 -/* 0439AC 80042DAC 3C028012 */ lui $v0, %hi(gCurrentRacerInput) # $v0, 0x8012 -/* 0439B0 80042DB0 2442D528 */ addiu $v0, %lo(gCurrentRacerInput) # addiu $v0, $v0, -0x2ad8 -/* 0439B4 80042DB4 8C590000 */ lw $t9, ($v0) -/* 0439B8 80042DB8 00000000 */ nop -/* 0439BC 80042DBC 372E8000 */ ori $t6, $t9, 0x8000 -/* 0439C0 80042DC0 1000043E */ b .L80043EBC -/* 0439C4 80042DC4 AC4E0000 */ sw $t6, ($v0) -.L80042DC8: -/* 0439C8 80042DC8 8FAF0068 */ lw $t7, 0x68($sp) -/* 0439CC 80042DCC 00001825 */ move $v1, $zero -/* 0439D0 80042DD0 00006825 */ move $t5, $zero -/* 0439D4 80042DD4 00004025 */ move $t0, $zero -/* 0439D8 80042DD8 240CFFFF */ li $t4, -1 -/* 0439DC 80042DDC 19E00024 */ blez $t7, .L80042E70 -/* 0439E0 80042DE0 24020001 */ li $v0, 1 -/* 0439E4 80042DE4 241FFFFF */ li $ra, -1 -/* 0439E8 80042DE8 0003C080 */ sll $t8, $v1, 2 -.L80042DEC: -/* 0439EC 80042DEC 0158C821 */ addu $t9, $t2, $t8 -/* 0439F0 80042DF0 8F2E0000 */ lw $t6, ($t9) -/* 0439F4 80042DF4 00000000 */ nop -/* 0439F8 80042DF8 8DC90064 */ lw $t1, 0x64($t6) -/* 0439FC 80042DFC 00000000 */ nop -/* 043A00 80042E00 15300003 */ bne $t1, $s0, .L80042E10 -/* 043A04 80042E04 00000000 */ nop -/* 043A08 80042E08 00001025 */ move $v0, $zero -/* 043A0C 80042E0C A7A30072 */ sh $v1, 0x72($sp) -.L80042E10: -/* 043A10 80042E10 852F0000 */ lh $t7, ($t1) -/* 043A14 80042E14 00000000 */ nop -/* 043A18 80042E18 17EF0009 */ bne $ra, $t7, .L80042E40 -/* 043A1C 80042E1C 00000000 */ nop -/* 043A20 80042E20 25080001 */ addiu $t0, $t0, 1 -/* 043A24 80042E24 0008C400 */ sll $t8, $t0, 0x10 -/* 043A28 80042E28 1040000A */ beqz $v0, .L80042E54 -/* 043A2C 80042E2C 00184403 */ sra $t0, $t8, 0x10 -/* 043A30 80042E30 25AD0001 */ addiu $t5, $t5, 1 -/* 043A34 80042E34 000D7400 */ sll $t6, $t5, 0x10 -/* 043A38 80042E38 10000006 */ b .L80042E54 -/* 043A3C 80042E3C 000E6C03 */ sra $t5, $t6, 0x10 -.L80042E40: -/* 043A40 80042E40 159F0004 */ bne $t4, $ra, .L80042E54 -/* 043A44 80042E44 00000000 */ nop -/* 043A48 80042E48 00036400 */ sll $t4, $v1, 0x10 -/* 043A4C 80042E4C 000CC403 */ sra $t8, $t4, 0x10 -/* 043A50 80042E50 03006025 */ move $t4, $t8 -.L80042E54: -/* 043A54 80042E54 24630001 */ addiu $v1, $v1, 1 -/* 043A58 80042E58 8FAF0068 */ lw $t7, 0x68($sp) -/* 043A5C 80042E5C 0003CC00 */ sll $t9, $v1, 0x10 -/* 043A60 80042E60 00191C03 */ sra $v1, $t9, 0x10 -/* 043A64 80042E64 006F082A */ slt $at, $v1, $t7 -/* 043A68 80042E68 1420FFE0 */ bnez $at, .L80042DEC -/* 043A6C 80042E6C 0003C080 */ sll $t8, $v1, 2 -.L80042E70: -/* 043A70 80042E70 241FFFFF */ li $ra, -1 -/* 043A74 80042E74 159F0002 */ bne $t4, $ra, .L80042E80 -/* 043A78 80042E78 00000000 */ nop -/* 043A7C 80042E7C 00006025 */ move $t4, $zero -.L80042E80: -/* 043A80 80042E80 1100040F */ beqz $t0, .L80043EC0 -/* 043A84 80042E84 8FBF001C */ lw $ra, 0x1c($sp) -/* 043A88 80042E88 A7A80076 */ sh $t0, 0x76($sp) -/* 043A8C 80042E8C AFAA0060 */ sw $t2, 0x60($sp) -/* 043A90 80042E90 A7AC0034 */ sh $t4, 0x34($sp) -/* 043A94 80042E94 0C008D5A */ jal func_80023568 -/* 043A98 80042E98 A7AD0078 */ sh $t5, 0x78($sp) -/* 043A9C 80042E9C 3C188012 */ lui $t8, %hi(gRaceStartTimer) # $t8, 0x8012 -/* 043AA0 80042EA0 8F18D540 */ lw $t8, %lo(gRaceStartTimer)($t8) -/* 043AA4 80042EA4 87A80076 */ lh $t0, 0x76($sp) -/* 043AA8 80042EA8 8FAA0060 */ lw $t2, 0x60($sp) -/* 043AAC 80042EAC 87AC0034 */ lh $t4, 0x34($sp) -/* 043AB0 80042EB0 87AD0078 */ lh $t5, 0x78($sp) -/* 043AB4 80042EB4 241FFFFF */ li $ra, -1 -/* 043AB8 80042EB8 17000088 */ bnez $t8, .L800430DC -/* 043ABC 80042EBC A7A20070 */ sh $v0, 0x70($sp) -/* 043AC0 80042EC0 821901D6 */ lb $t9, 0x1d6($s0) -/* 043AC4 80042EC4 24010004 */ li $at, 4 -/* 043AC8 80042EC8 13210085 */ beq $t9, $at, .L800430E0 -/* 043ACC 80042ECC 87A70072 */ lh $a3, 0x72($sp) -/* 043AD0 80042ED0 87A70072 */ lh $a3, 0x72($sp) -/* 043AD4 80042ED4 9204020B */ lbu $a0, 0x20b($s0) -/* 043AD8 80042ED8 24E3FFFF */ addiu $v1, $a3, -1 -/* 043ADC 80042EDC 0087082A */ slt $at, $a0, $a3 -/* 043AE0 80042EE0 10200043 */ beqz $at, .L80042FF0 -/* 043AE4 80042EE4 00037400 */ sll $t6, $v1, 0x10 -/* 043AE8 80042EE8 000E7C03 */ sra $t7, $t6, 0x10 -/* 043AEC 80042EEC 05E00041 */ bltz $t7, .L80042FF4 -/* 043AF0 80042EF0 87AE0072 */ lh $t6, 0x72($sp) -/* 043AF4 80042EF4 8FB80068 */ lw $t8, 0x68($sp) -/* 043AF8 80042EF8 000FC880 */ sll $t9, $t7, 2 -/* 043AFC 80042EFC 01F8082A */ slt $at, $t7, $t8 -/* 043B00 80042F00 1020003B */ beqz $at, .L80042FF0 -/* 043B04 80042F04 01595821 */ addu $t3, $t2, $t9 -/* 043B08 80042F08 8D6E0000 */ lw $t6, ($t3) -/* 043B0C 80042F0C 0002C400 */ sll $t8, $v0, 0x10 -/* 043B10 80042F10 8DC90064 */ lw $t1, 0x64($t6) -/* 043B14 80042F14 0018CC03 */ sra $t9, $t8, 0x10 -/* 043B18 80042F18 852F0000 */ lh $t7, ($t1) -/* 043B1C 80042F1C 00000000 */ nop -/* 043B20 80042F20 13EF0034 */ beq $ra, $t7, .L80042FF4 -/* 043B24 80042F24 87AE0072 */ lh $t6, 0x72($sp) -/* 043B28 80042F28 17200011 */ bnez $t9, .L80042F70 -/* 043B2C 80042F2C 240501C2 */ li $a1, 450 -/* 043B30 80042F30 8FA40098 */ lw $a0, 0x98($sp) -/* 043B34 80042F34 24060008 */ li $a2, 8 -/* 043B38 80042F38 24070003 */ li $a3, 3 -/* 043B3C 80042F3C A7A80076 */ sh $t0, 0x76($sp) -/* 043B40 80042F40 AFAA0060 */ sw $t2, 0x60($sp) -/* 043B44 80042F44 AFAB0024 */ sw $t3, 0x24($sp) -/* 043B48 80042F48 A7AC0034 */ sh $t4, 0x34($sp) -/* 043B4C 80042F4C 0C015C2E */ jal play_random_character_voice -/* 043B50 80042F50 A7AD0078 */ sh $t5, 0x78($sp) -/* 043B54 80042F54 87A80076 */ lh $t0, 0x76($sp) -/* 043B58 80042F58 8FAA0060 */ lw $t2, 0x60($sp) -/* 043B5C 80042F5C 8FAB0024 */ lw $t3, 0x24($sp) -/* 043B60 80042F60 87AC0034 */ lh $t4, 0x34($sp) -/* 043B64 80042F64 87AD0078 */ lh $t5, 0x78($sp) -/* 043B68 80042F68 10000013 */ b .L80042FB8 -/* 043B6C 80042F6C 8D640000 */ lw $a0, ($t3) -.L80042F70: -/* 043B70 80042F70 8FA20098 */ lw $v0, 0x98($sp) -/* 043B74 80042F74 24070005 */ li $a3, 5 -/* 043B78 80042F78 C44C000C */ lwc1 $f12, 0xc($v0) -/* 043B7C 80042F7C C44E0010 */ lwc1 $f14, 0x10($v0) -/* 043B80 80042F80 8C460014 */ lw $a2, 0x14($v0) -/* 043B84 80042F84 A7AD0078 */ sh $t5, 0x78($sp) -/* 043B88 80042F88 A7AC0034 */ sh $t4, 0x34($sp) -/* 043B8C 80042F8C AFAB0024 */ sw $t3, 0x24($sp) -/* 043B90 80042F90 AFAA0060 */ sw $t2, 0x60($sp) -/* 043B94 80042F94 0C0172A1 */ jal racer_boss_sound_spatial -/* 043B98 80042F98 A7A80076 */ sh $t0, 0x76($sp) -/* 043B9C 80042F9C 87A80076 */ lh $t0, 0x76($sp) -/* 043BA0 80042FA0 8FAA0060 */ lw $t2, 0x60($sp) -/* 043BA4 80042FA4 8FAB0024 */ lw $t3, 0x24($sp) -/* 043BA8 80042FA8 87AC0034 */ lh $t4, 0x34($sp) -/* 043BAC 80042FAC 87AD0078 */ lh $t5, 0x78($sp) -/* 043BB0 80042FB0 00000000 */ nop -/* 043BB4 80042FB4 8D640000 */ lw $a0, ($t3) -.L80042FB8: -/* 043BB8 80042FB8 A7AD0078 */ sh $t5, 0x78($sp) -/* 043BBC 80042FBC A7AC0034 */ sh $t4, 0x34($sp) -/* 043BC0 80042FC0 AFAA0060 */ sw $t2, 0x60($sp) -/* 043BC4 80042FC4 A7A80076 */ sh $t0, 0x76($sp) -/* 043BC8 80042FC8 24050162 */ li $a1, 354 -/* 043BCC 80042FCC 24060008 */ li $a2, 8 -/* 043BD0 80042FD0 0C015C2E */ jal play_random_character_voice -/* 043BD4 80042FD4 24070002 */ li $a3, 2 -/* 043BD8 80042FD8 87A80076 */ lh $t0, 0x76($sp) -/* 043BDC 80042FDC 8FAA0060 */ lw $t2, 0x60($sp) -/* 043BE0 80042FE0 87AC0034 */ lh $t4, 0x34($sp) -/* 043BE4 80042FE4 87AD0078 */ lh $t5, 0x78($sp) -/* 043BE8 80042FE8 9204020B */ lbu $a0, 0x20b($s0) -/* 043BEC 80042FEC 241FFFFF */ li $ra, -1 -.L80042FF0: -/* 043BF0 80042FF0 87AE0072 */ lh $t6, 0x72($sp) -.L80042FF4: -/* 043BF4 80042FF4 00000000 */ nop -/* 043BF8 80042FF8 01C4082A */ slt $at, $t6, $a0 -/* 043BFC 80042FFC 10200037 */ beqz $at, .L800430DC -/* 043C00 80043000 25C20001 */ addiu $v0, $t6, 1 -/* 043C04 80043004 00027C00 */ sll $t7, $v0, 0x10 -/* 043C08 80043008 000FC403 */ sra $t8, $t7, 0x10 -/* 043C0C 8004300C 07000034 */ bltz $t8, .L800430E0 -/* 043C10 80043010 87A70072 */ lh $a3, 0x72($sp) -/* 043C14 80043014 8FB90068 */ lw $t9, 0x68($sp) -/* 043C18 80043018 00187880 */ sll $t7, $t8, 2 -/* 043C1C 8004301C 0319082A */ slt $at, $t8, $t9 -/* 043C20 80043020 1020002E */ beqz $at, .L800430DC -/* 043C24 80043024 014FC021 */ addu $t8, $t2, $t7 -/* 043C28 80043028 8F190000 */ lw $t9, ($t8) -/* 043C2C 8004302C 000EC080 */ sll $t8, $t6, 2 -/* 043C30 80043030 8F290064 */ lw $t1, 0x64($t9) -/* 043C34 80043034 0158C821 */ addu $t9, $t2, $t8 -/* 043C38 80043038 852F0000 */ lh $t7, ($t1) -/* 043C3C 8004303C 240501C2 */ li $a1, 450 -/* 043C40 80043040 13EF0026 */ beq $ra, $t7, .L800430DC -/* 043C44 80043044 24060008 */ li $a2, 8 -/* 043C48 80043048 8F240004 */ lw $a0, 4($t9) -/* 043C4C 8004304C A7AD0078 */ sh $t5, 0x78($sp) -/* 043C50 80043050 A7AC0034 */ sh $t4, 0x34($sp) -/* 043C54 80043054 A7A80076 */ sh $t0, 0x76($sp) -/* 043C58 80043058 0C015C2E */ jal play_random_character_voice -/* 043C5C 8004305C 24070002 */ li $a3, 2 -/* 043C60 80043060 87AF0070 */ lh $t7, 0x70($sp) -/* 043C64 80043064 87A80076 */ lh $t0, 0x76($sp) -/* 043C68 80043068 87AC0034 */ lh $t4, 0x34($sp) -/* 043C6C 8004306C 87AD0078 */ lh $t5, 0x78($sp) -/* 043C70 80043070 15E0000D */ bnez $t7, .L800430A8 -/* 043C74 80043074 24050162 */ li $a1, 354 -/* 043C78 80043078 8FA40098 */ lw $a0, 0x98($sp) -/* 043C7C 8004307C 24060008 */ li $a2, 8 -/* 043C80 80043080 24070003 */ li $a3, 3 -/* 043C84 80043084 A7A80076 */ sh $t0, 0x76($sp) -/* 043C88 80043088 A7AC0034 */ sh $t4, 0x34($sp) -/* 043C8C 8004308C 0C015C2E */ jal play_random_character_voice -/* 043C90 80043090 A7AD0078 */ sh $t5, 0x78($sp) -/* 043C94 80043094 87A80076 */ lh $t0, 0x76($sp) -/* 043C98 80043098 87AC0034 */ lh $t4, 0x34($sp) -/* 043C9C 8004309C 87AD0078 */ lh $t5, 0x78($sp) -/* 043CA0 800430A0 1000000F */ b .L800430E0 -/* 043CA4 800430A4 87A70072 */ lh $a3, 0x72($sp) -.L800430A8: -/* 043CA8 800430A8 8FA20098 */ lw $v0, 0x98($sp) -/* 043CAC 800430AC 24070003 */ li $a3, 3 -/* 043CB0 800430B0 C44C000C */ lwc1 $f12, 0xc($v0) -/* 043CB4 800430B4 C44E0010 */ lwc1 $f14, 0x10($v0) -/* 043CB8 800430B8 8C460014 */ lw $a2, 0x14($v0) -/* 043CBC 800430BC A7AD0078 */ sh $t5, 0x78($sp) -/* 043CC0 800430C0 A7AC0034 */ sh $t4, 0x34($sp) -/* 043CC4 800430C4 0C0172A1 */ jal racer_boss_sound_spatial -/* 043CC8 800430C8 A7A80076 */ sh $t0, 0x76($sp) -/* 043CCC 800430CC 87A80076 */ lh $t0, 0x76($sp) -/* 043CD0 800430D0 87AC0034 */ lh $t4, 0x34($sp) -/* 043CD4 800430D4 87AD0078 */ lh $t5, 0x78($sp) -/* 043CD8 800430D8 00000000 */ nop -.L800430DC: -/* 043CDC 800430DC 87A70072 */ lh $a3, 0x72($sp) -.L800430E0: -/* 043CE0 800430E0 44800000 */ mtc1 $zero, $f0 -/* 043CE4 800430E4 A207020B */ sb $a3, 0x20b($s0) -/* 043CE8 800430E8 A7AD0078 */ sh $t5, 0x78($sp) -/* 043CEC 800430EC A7AC0034 */ sh $t4, 0x34($sp) -/* 043CF0 800430F0 AFA0005C */ sw $zero, 0x5c($sp) -/* 043CF4 800430F4 A7A80076 */ sh $t0, 0x76($sp) -/* 043CF8 800430F8 02002025 */ move $a0, $s0 -/* 043CFC 800430FC 24050001 */ li $a1, 1 -/* 043D00 80043100 27A60094 */ addiu $a2, $sp, 0x94 -/* 043D04 80043104 E7A00094 */ swc1 $f0, 0x94($sp) -/* 043D08 80043108 0C006DEA */ jal func_8001B7A8 -/* 043D0C 8004310C E7A00090 */ swc1 $f0, 0x90($sp) -/* 043D10 80043110 87A80076 */ lh $t0, 0x76($sp) -/* 043D14 80043114 8FA9005C */ lw $t1, 0x5c($sp) -/* 043D18 80043118 87AC0034 */ lh $t4, 0x34($sp) -/* 043D1C 8004311C 87AD0078 */ lh $t5, 0x78($sp) -/* 043D20 80043120 10400003 */ beqz $v0, .L80043130 -/* 043D24 80043124 241FFFFF */ li $ra, -1 -/* 043D28 80043128 8C490064 */ lw $t1, 0x64($v0) -/* 043D2C 8004312C 00000000 */ nop -.L80043130: -/* 043D30 80043130 03E02825 */ move $a1, $ra -/* 043D34 80043134 AFA00058 */ sw $zero, 0x58($sp) -/* 043D38 80043138 02002025 */ move $a0, $s0 -/* 043D3C 8004313C 27A60090 */ addiu $a2, $sp, 0x90 -/* 043D40 80043140 A7A80076 */ sh $t0, 0x76($sp) -/* 043D44 80043144 AFA9005C */ sw $t1, 0x5c($sp) -/* 043D48 80043148 A7AC0034 */ sh $t4, 0x34($sp) -/* 043D4C 8004314C 0C006DEA */ jal func_8001B7A8 -/* 043D50 80043150 A7AD0078 */ sh $t5, 0x78($sp) -/* 043D54 80043154 87A80076 */ lh $t0, 0x76($sp) -/* 043D58 80043158 8FA9005C */ lw $t1, 0x5c($sp) -/* 043D5C 8004315C 87AC0034 */ lh $t4, 0x34($sp) -/* 043D60 80043160 87AD0078 */ lh $t5, 0x78($sp) -/* 043D64 80043164 10400004 */ beqz $v0, .L80043178 -/* 043D68 80043168 29010007 */ slti $at, $t0, 7 -/* 043D6C 8004316C 8C4E0064 */ lw $t6, 0x64($v0) -/* 043D70 80043170 00000000 */ nop -/* 043D74 80043174 AFAE0058 */ sw $t6, 0x58($sp) -.L80043178: -/* 043D78 80043178 82180003 */ lb $t8, 3($s0) -/* 043D7C 8004317C 11200004 */ beqz $t1, .L80043190 -/* 043D80 80043180 A3B8003E */ sb $t8, 0x3e($sp) -/* 043D84 80043184 81390003 */ lb $t9, 3($t1) -/* 043D88 80043188 00000000 */ nop -/* 043D8C 8004318C A3B9003F */ sb $t9, 0x3f($sp) -.L80043190: -/* 043D90 80043190 1020002A */ beqz $at, .L8004323C -/* 043D94 80043194 00000000 */ nop -/* 043D98 80043198 AFA9005C */ sw $t1, 0x5c($sp) -/* 043D9C 8004319C A7AC0034 */ sh $t4, 0x34($sp) -/* 043DA0 800431A0 0C02658B */ jal get_trophy_race_world_id -/* 043DA4 800431A4 A7AD0078 */ sh $t5, 0x78($sp) -/* 043DA8 800431A8 8FA9005C */ lw $t1, 0x5c($sp) -/* 043DAC 800431AC 87AC0034 */ lh $t4, 0x34($sp) -/* 043DB0 800431B0 87AD0078 */ lh $t5, 0x78($sp) -/* 043DB4 800431B4 14400021 */ bnez $v0, .L8004323C -/* 043DB8 800431B8 00000000 */ nop -/* 043DBC 800431BC AFA9005C */ sw $t1, 0x5c($sp) -/* 043DC0 800431C0 A7AC0034 */ sh $t4, 0x34($sp) -/* 043DC4 800431C4 0C008D5A */ jal func_80023568 -/* 043DC8 800431C8 A7AD0078 */ sh $t5, 0x78($sp) -/* 043DCC 800431CC 8FA9005C */ lw $t1, 0x5c($sp) -/* 043DD0 800431D0 87AC0034 */ lh $t4, 0x34($sp) -/* 043DD4 800431D4 87AD0078 */ lh $t5, 0x78($sp) -/* 043DD8 800431D8 14400018 */ bnez $v0, .L8004323C -/* 043DDC 800431DC 00000000 */ nop -/* 043DE0 800431E0 AFA9005C */ sw $t1, 0x5c($sp) -/* 043DE4 800431E4 A7AC0034 */ sh $t4, 0x34($sp) -/* 043DE8 800431E8 0C008D07 */ jal is_taj_challenge -/* 043DEC 800431EC A7AD0078 */ sh $t5, 0x78($sp) -/* 043DF0 800431F0 8FA9005C */ lw $t1, 0x5c($sp) -/* 043DF4 800431F4 87AC0034 */ lh $t4, 0x34($sp) -/* 043DF8 800431F8 87AD0078 */ lh $t5, 0x78($sp) -/* 043DFC 800431FC 1440000F */ bnez $v0, .L8004323C -/* 043E00 80043200 3C0F8012 */ lui $t7, %hi(gRaceStartTimer) # $t7, 0x8012 -/* 043E04 80043204 8DEFD540 */ lw $t7, %lo(gRaceStartTimer)($t7) -/* 043E08 80043208 24010064 */ li $at, 100 -/* 043E0C 8004320C 15E10022 */ bne $t7, $at, .L80043298 -/* 043E10 80043210 00002025 */ move $a0, $zero -/* 043E14 80043214 24050002 */ li $a1, 2 -/* 043E18 80043218 AFA9005C */ sw $t1, 0x5c($sp) -/* 043E1C 8004321C A7AC0034 */ sh $t4, 0x34($sp) -/* 043E20 80043220 0C01BE53 */ jal get_random_number_from_range -/* 043E24 80043224 A7AD0078 */ sh $t5, 0x78($sp) -/* 043E28 80043228 8FA9005C */ lw $t1, 0x5c($sp) -/* 043E2C 8004322C 87AC0034 */ lh $t4, 0x34($sp) -/* 043E30 80043230 87AD0078 */ lh $t5, 0x78($sp) -/* 043E34 80043234 10000018 */ b .L80043298 -/* 043E38 80043238 A20201CC */ sb $v0, 0x1cc($s0) -.L8004323C: -/* 043E3C 8004323C AFA9005C */ sw $t1, 0x5c($sp) -/* 043E40 80043240 A7AC0034 */ sh $t4, 0x34($sp) -/* 043E44 80043244 0C02658B */ jal get_trophy_race_world_id -/* 043E48 80043248 A7AD0078 */ sh $t5, 0x78($sp) -/* 043E4C 8004324C 8FA9005C */ lw $t1, 0x5c($sp) -/* 043E50 80043250 87AC0034 */ lh $t4, 0x34($sp) -/* 043E54 80043254 87AD0078 */ lh $t5, 0x78($sp) -/* 043E58 80043258 10400009 */ beqz $v0, .L80043280 -/* 043E5C 8004325C 8FAE0050 */ lw $t6, 0x50($sp) -/* 043E60 80043260 8FAE0050 */ lw $t6, 0x50($sp) -/* 043E64 80043264 83B8003E */ lb $t8, 0x3e($sp) -/* 043E68 80043268 00000000 */ nop -/* 043E6C 8004326C 01D8C821 */ addu $t9, $t6, $t8 -/* 043E70 80043270 932F0016 */ lbu $t7, 0x16($t9) -/* 043E74 80043274 10000008 */ b .L80043298 -/* 043E78 80043278 A20F01CC */ sb $t7, 0x1cc($s0) -/* 043E7C 8004327C 8FAE0050 */ lw $t6, 0x50($sp) -.L80043280: -/* 043E80 80043280 83B8003E */ lb $t8, 0x3e($sp) -/* 043E84 80043284 00000000 */ nop -/* 043E88 80043288 01D8C821 */ addu $t9, $t6, $t8 -/* 043E8C 8004328C 932F000C */ lbu $t7, 0xc($t9) -/* 043E90 80043290 00000000 */ nop -/* 043E94 80043294 A20F01CC */ sb $t7, 0x1cc($s0) -.L80043298: -/* 043E98 80043298 3C018012 */ lui $at, %hi(D_8011D544) # $at, 0x8012 -/* 043E9C 8004329C C420D544 */ lwc1 $f0, %lo(D_8011D544)($at) -/* 043EA0 800432A0 44802000 */ mtc1 $zero, $f4 -/* 043EA4 800432A4 2404000C */ li $a0, 12 -/* 043EA8 800432A8 46002032 */ c.eq.s $f4, $f0 -/* 043EAC 800432AC 00000000 */ nop -/* 043EB0 800432B0 45010009 */ bc1t .L800432D8 -/* 043EB4 800432B4 00000000 */ nop -/* 043EB8 800432B8 860E01AE */ lh $t6, 0x1ae($s0) -/* 043EBC 800432BC 3C18800E */ lui $t8, %hi(D_800DCDA0) # $t8, 0x800e -/* 043EC0 800432C0 030EC021 */ addu $t8, $t8, $t6 -/* 043EC4 800432C4 8318CDA0 */ lb $t8, %lo(D_800DCDA0)($t8) -/* 043EC8 800432C8 3C018012 */ lui $at, %hi(D_8011D544) # $at, 0x8012 -/* 043ECC 800432CC A21801CA */ sb $t8, 0x1ca($s0) -/* 043ED0 800432D0 C420D544 */ lwc1 $f0, %lo(D_8011D544)($at) -/* 043ED4 800432D4 00000000 */ nop -.L800432D8: -/* 043ED8 800432D8 820301CC */ lb $v1, 0x1cc($s0) -/* 043EDC 800432DC 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 043EE0 800432E0 246EFFFE */ addiu $t6, $v1, -2 -/* 043EE4 800432E4 000EC480 */ sll $t8, $t6, 0x12 -/* 043EE8 800432E8 00181C03 */ sra $v1, $t8, 0x10 -/* 043EEC 800432EC 44835000 */ mtc1 $v1, $f10 -/* 043EF0 800432F0 44813000 */ mtc1 $at, $f6 -/* 043EF4 800432F4 46805420 */ cvt.s.w $f16, $f10 -/* 043EF8 800432F8 46003201 */ sub.s $f8, $f6, $f0 -/* 043EFC 800432FC 4608803E */ c.le.s $f16, $f8 -/* 043F00 80043300 00000000 */ nop -/* 043F04 80043304 45000005 */ bc1f .L8004331C -/* 043F08 80043308 3C0F8012 */ lui $t7, %hi(gCurrentRacerInput) # $t7, 0x8012 -/* 043F0C 8004330C 8DEFD528 */ lw $t7, %lo(gCurrentRacerInput)($t7) -/* 043F10 80043310 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 043F14 80043314 35EE8000 */ ori $t6, $t7, 0x8000 -/* 043F18 80043318 AC2ED528 */ sw $t6, %lo(gCurrentRacerInput)($at) -.L8004331C: -/* 043F1C 8004331C AFA9005C */ sw $t1, 0x5c($sp) -/* 043F20 80043320 A7AC0034 */ sh $t4, 0x34($sp) -/* 043F24 80043324 0C0078A7 */ jal get_misc_asset -/* 043F28 80043328 A7AD0078 */ sh $t5, 0x78($sp) -/* 043F2C 8004332C 82080174 */ lb $t0, 0x174($s0) -/* 043F30 80043330 8FA9005C */ lw $t1, 0x5c($sp) -/* 043F34 80043334 87AC0034 */ lh $t4, 0x34($sp) -/* 043F38 80043338 87AD0078 */ lh $t5, 0x78($sp) -/* 043F3C 8004333C 29010003 */ slti $at, $t0, 3 -/* 043F40 80043340 1020000A */ beqz $at, .L8004336C -/* 043F44 80043344 241FFFFF */ li $ra, -1 -/* 043F48 80043348 82180172 */ lb $t8, 0x172($s0) -/* 043F4C 8004334C 00000000 */ nop -/* 043F50 80043350 0018C880 */ sll $t9, $t8, 2 -/* 043F54 80043354 0338C823 */ subu $t9, $t9, $t8 -/* 043F58 80043358 03287821 */ addu $t7, $t9, $t0 -/* 043F5C 8004335C 01E27021 */ addu $t6, $t7, $v0 -/* 043F60 80043360 81CA0000 */ lb $t2, ($t6) -/* 043F64 80043364 10000004 */ b .L80043378 -/* 043F68 80043368 8FB80054 */ lw $t8, 0x54($sp) -.L8004336C: -/* 043F6C 8004336C 820A0172 */ lb $t2, 0x172($s0) -/* 043F70 80043370 00000000 */ nop -/* 043F74 80043374 8FB80054 */ lw $t8, 0x54($sp) -.L80043378: -/* 043F78 80043378 24020007 */ li $v0, 7 -/* 043F7C 8004337C 8303000C */ lb $v1, 0xc($t8) -/* 043F80 80043380 8319000D */ lb $t9, 0xd($t8) -/* 043F84 80043384 004D5823 */ subu $t3, $v0, $t5 -/* 043F88 80043388 03237823 */ subu $t7, $t9, $v1 -/* 043F8C 8004338C 01EB0019 */ multu $t7, $t3 -/* 043F90 80043390 00007012 */ mflo $t6 -/* 043F94 80043394 00000000 */ nop -/* 043F98 80043398 00000000 */ nop -/* 043F9C 8004339C 01C2001A */ div $zero, $t6, $v0 -/* 043FA0 800433A0 14400002 */ bnez $v0, .L800433AC -/* 043FA4 800433A4 00000000 */ nop -/* 043FA8 800433A8 0007000D */ break 7 -.L800433AC: -/* 043FAC 800433AC 2401FFFF */ li $at, -1 -/* 043FB0 800433B0 14410004 */ bne $v0, $at, .L800433C4 -/* 043FB4 800433B4 3C018000 */ lui $at, 0x8000 -/* 043FB8 800433B8 15C10002 */ bne $t6, $at, .L800433C4 -/* 043FBC 800433BC 00000000 */ nop -/* 043FC0 800433C0 0006000D */ break 6 -.L800433C4: -/* 043FC4 800433C4 0000C812 */ mflo $t9 -/* 043FC8 800433C8 03237821 */ addu $t7, $t9, $v1 -/* 043FCC 800433CC A7AF0038 */ sh $t7, 0x38($sp) -/* 043FD0 800433D0 830E0011 */ lb $t6, 0x11($t8) -/* 043FD4 800433D4 83040010 */ lb $a0, 0x10($t8) -/* 043FD8 800433D8 00000000 */ nop -/* 043FDC 800433DC 01C4C823 */ subu $t9, $t6, $a0 -/* 043FE0 800433E0 032B0019 */ multu $t9, $t3 -/* 043FE4 800433E4 00007012 */ mflo $t6 -/* 043FE8 800433E8 00000000 */ nop -/* 043FEC 800433EC 00000000 */ nop -/* 043FF0 800433F0 01C2001A */ div $zero, $t6, $v0 -/* 043FF4 800433F4 14400002 */ bnez $v0, .L80043400 -/* 043FF8 800433F8 00000000 */ nop -/* 043FFC 800433FC 0007000D */ break 7 -.L80043400: -/* 044000 80043400 2401FFFF */ li $at, -1 -/* 044004 80043404 14410004 */ bne $v0, $at, .L80043418 -/* 044008 80043408 3C018000 */ lui $at, 0x8000 -/* 04400C 8004340C 15C10002 */ bne $t6, $at, .L80043418 -/* 044010 80043410 00000000 */ nop -/* 044014 80043414 0006000D */ break 6 -.L80043418: -/* 044018 80043418 0000C812 */ mflo $t9 -/* 04401C 8004341C 03247021 */ addu $t6, $t9, $a0 -/* 044020 80043420 A7AE0036 */ sh $t6, 0x36($sp) -/* 044024 80043424 83190009 */ lb $t9, 9($t8) -/* 044028 80043428 83050008 */ lb $a1, 8($t8) -/* 04402C 8004342C 00000000 */ nop -/* 044030 80043430 03257023 */ subu $t6, $t9, $a1 -/* 044034 80043434 01CB0019 */ multu $t6, $t3 -/* 044038 80043438 0000C812 */ mflo $t9 -/* 04403C 8004343C 00000000 */ nop -/* 044040 80043440 00000000 */ nop -/* 044044 80043444 0322001A */ div $zero, $t9, $v0 -/* 044048 80043448 14400002 */ bnez $v0, .L80043454 -/* 04404C 8004344C 00000000 */ nop -/* 044050 80043450 0007000D */ break 7 -.L80043454: -/* 044054 80043454 2401FFFF */ li $at, -1 -/* 044058 80043458 14410004 */ bne $v0, $at, .L8004346C -/* 04405C 8004345C 3C018000 */ lui $at, 0x8000 -/* 044060 80043460 17210002 */ bne $t9, $at, .L8004346C -/* 044064 80043464 00000000 */ nop -/* 044068 80043468 0006000D */ break 6 -.L8004346C: -/* 04406C 8004346C 00007012 */ mflo $t6 -/* 044070 80043470 01C5C821 */ addu $t9, $t6, $a1 -/* 044074 80043474 A7B9003A */ sh $t9, 0x3a($sp) -/* 044078 80043478 830E0015 */ lb $t6, 0x15($t8) -/* 04407C 8004347C 83060014 */ lb $a2, 0x14($t8) -/* 044080 80043480 00000000 */ nop -/* 044084 80043484 01C6C823 */ subu $t9, $t6, $a2 -/* 044088 80043488 032B0019 */ multu $t9, $t3 -/* 04408C 8004348C 0000C012 */ mflo $t8 -/* 044090 80043490 00000000 */ nop -/* 044094 80043494 00000000 */ nop -/* 044098 80043498 0302001A */ div $zero, $t8, $v0 -/* 04409C 8004349C 14400002 */ bnez $v0, .L800434A8 -/* 0440A0 800434A0 00000000 */ nop -/* 0440A4 800434A4 0007000D */ break 7 -.L800434A8: -/* 0440A8 800434A8 2401FFFF */ li $at, -1 -/* 0440AC 800434AC 14410004 */ bne $v0, $at, .L800434C0 -/* 0440B0 800434B0 3C018000 */ lui $at, 0x8000 -/* 0440B4 800434B4 17010002 */ bne $t8, $at, .L800434C0 -/* 0440B8 800434B8 00000000 */ nop -/* 0440BC 800434BC 0006000D */ break 6 -.L800434C0: -/* 0440C0 800434C0 00007012 */ mflo $t6 -/* 0440C4 800434C4 01C6C821 */ addu $t9, $t6, $a2 -/* 0440C8 800434C8 A7B9003C */ sh $t9, 0x3c($sp) -/* 0440CC 800434CC 92070209 */ lbu $a3, 0x209($s0) -/* 0440D0 800434D0 AFAB0028 */ sw $t3, 0x28($sp) -/* 0440D4 800434D4 30F80001 */ andi $t8, $a3, 1 -/* 0440D8 800434D8 130000AF */ beqz $t8, .L80043798 -/* 0440DC 800434DC 00000000 */ nop -/* 0440E0 800434E0 820E0201 */ lb $t6, 0x201($s0) -/* 0440E4 800434E4 00000000 */ nop -/* 0440E8 800434E8 15C00025 */ bnez $t6, .L80043580 -/* 0440EC 800434EC 00000000 */ nop -/* 0440F0 800434F0 15000012 */ bnez $t0, .L8004353C -/* 0440F4 800434F4 000F2400 */ sll $a0, $t7, 0x10 -/* 0440F8 800434F8 0004CC03 */ sra $t9, $a0, 0x10 -/* 0440FC 800434FC 03202025 */ move $a0, $t9 -/* 044100 80043500 AFA9005C */ sw $t1, 0x5c($sp) -/* 044104 80043504 A3AA004B */ sb $t2, 0x4b($sp) -/* 044108 80043508 A7AC0034 */ sh $t4, 0x34($sp) -/* 04410C 8004350C 0C011114 */ jal roll_percent_chance -/* 044110 80043510 A7AD0078 */ sh $t5, 0x78($sp) -/* 044114 80043514 8FA9005C */ lw $t1, 0x5c($sp) -/* 044118 80043518 83AA004B */ lb $t2, 0x4b($sp) -/* 04411C 8004351C 87AC0034 */ lh $t4, 0x34($sp) -/* 044120 80043520 87AD0078 */ lh $t5, 0x78($sp) -/* 044124 80043524 10400005 */ beqz $v0, .L8004353C -/* 044128 80043528 241FFFFF */ li $ra, -1 -/* 04412C 8004352C 82180174 */ lb $t8, 0x174($s0) -/* 044130 80043530 00000000 */ nop -/* 044134 80043534 270E0001 */ addiu $t6, $t8, 1 -/* 044138 80043538 A20E0174 */ sb $t6, 0x174($s0) -.L8004353C: -/* 04413C 8004353C 15800010 */ bnez $t4, .L80043580 -/* 044140 80043540 29A10003 */ slti $at, $t5, 3 -/* 044144 80043544 1020000E */ beqz $at, .L80043580 -/* 044148 80043548 00000000 */ nop -/* 04414C 8004354C 87A4003C */ lh $a0, 0x3c($sp) -/* 044150 80043550 AFA9005C */ sw $t1, 0x5c($sp) -/* 044154 80043554 A3AA004B */ sb $t2, 0x4b($sp) -/* 044158 80043558 A7AC0034 */ sh $t4, 0x34($sp) -/* 04415C 8004355C 0C011114 */ jal roll_percent_chance -/* 044160 80043560 A7AD0078 */ sh $t5, 0x78($sp) -/* 044164 80043564 8FA9005C */ lw $t1, 0x5c($sp) -/* 044168 80043568 83AA004B */ lb $t2, 0x4b($sp) -/* 04416C 8004356C 87AC0034 */ lh $t4, 0x34($sp) -/* 044170 80043570 87AD0078 */ lh $t5, 0x78($sp) -/* 044174 80043574 10400002 */ beqz $v0, .L80043580 -/* 044178 80043578 241FFFFF */ li $ra, -1 -/* 04417C 8004357C A2000172 */ sb $zero, 0x172($s0) -.L80043580: -/* 044180 80043580 820F01D3 */ lb $t7, 0x1d3($s0) -/* 044184 80043584 3C19800E */ lui $t9, %hi(gRacerAIBalloonActionTable) # $t9, 0x800e -/* 044188 80043588 15E00016 */ bnez $t7, .L800435E4 -/* 04418C 8004358C 032AC821 */ addu $t9, $t9, $t2 -/* 044190 80043590 8339CD90 */ lb $t9, %lo(gRacerAIBalloonActionTable)($t9) -/* 044194 80043594 24010004 */ li $at, 4 -/* 044198 80043598 17210012 */ bne $t9, $at, .L800435E4 -/* 04419C 8004359C 00000000 */ nop -/* 0441A0 800435A0 87A4003C */ lh $a0, 0x3c($sp) -/* 0441A4 800435A4 AFA9005C */ sw $t1, 0x5c($sp) -/* 0441A8 800435A8 A3AA004B */ sb $t2, 0x4b($sp) -/* 0441AC 800435AC A7AC0034 */ sh $t4, 0x34($sp) -/* 0441B0 800435B0 0C011114 */ jal roll_percent_chance -/* 0441B4 800435B4 A7AD0078 */ sh $t5, 0x78($sp) -/* 0441B8 800435B8 8FA9005C */ lw $t1, 0x5c($sp) -/* 0441BC 800435BC 83AA004B */ lb $t2, 0x4b($sp) -/* 0441C0 800435C0 87AC0034 */ lh $t4, 0x34($sp) -/* 0441C4 800435C4 87AD0078 */ lh $t5, 0x78($sp) -/* 0441C8 800435C8 10400006 */ beqz $v0, .L800435E4 -/* 0441CC 800435CC 241FFFFF */ li $ra, -1 -/* 0441D0 800435D0 3C188012 */ lui $t8, %hi(gCurrentButtonsReleased) # $t8, 0x8012 -/* 0441D4 800435D4 8F18D530 */ lw $t8, %lo(gCurrentButtonsReleased)($t8) -/* 0441D8 800435D8 3C018012 */ lui $at, %hi(gCurrentButtonsReleased) # $at, 0x8012 -/* 0441DC 800435DC 370E2000 */ ori $t6, $t8, 0x2000 -/* 0441E0 800435E0 AC2ED530 */ sw $t6, %lo(gCurrentButtonsReleased)($at) -.L800435E4: -/* 0441E4 800435E4 820F0173 */ lb $t7, 0x173($s0) -/* 0441E8 800435E8 3C19800E */ lui $t9, %hi(gRacerAIBalloonActionTable) # $t9, 0x800e -/* 0441EC 800435EC 11E00065 */ beqz $t7, .L80043784 -/* 0441F0 800435F0 2739CD90 */ addiu $t9, %lo(gRacerAIBalloonActionTable) # addiu $t9, $t9, -0x3270 -/* 0441F4 800435F4 01591821 */ addu $v1, $t2, $t9 -/* 0441F8 800435F8 80780000 */ lb $t8, ($v1) -/* 0441FC 800435FC 24010001 */ li $at, 1 -/* 044200 80043600 1701002F */ bne $t8, $at, .L800436C0 -/* 044204 80043604 00000000 */ nop -/* 044208 80043608 11200014 */ beqz $t1, .L8004365C -/* 04420C 8004360C 87A40036 */ lh $a0, 0x36($sp) -/* 044210 80043610 852E0000 */ lh $t6, ($t1) -/* 044214 80043614 29810004 */ slti $at, $t4, 4 -/* 044218 80043618 17EE0010 */ bne $ra, $t6, .L8004365C -/* 04421C 8004361C 87A40036 */ lh $a0, 0x36($sp) -/* 044220 80043620 10200027 */ beqz $at, .L800436C0 -/* 044224 80043624 00000000 */ nop -/* 044228 80043628 83AF003E */ lb $t7, 0x3e($sp) -/* 04422C 8004362C 8FB90044 */ lw $t9, 0x44($sp) -/* 044230 80043630 00000000 */ nop -/* 044234 80043634 01F9C021 */ addu $t8, $t7, $t9 -/* 044238 80043638 830E0000 */ lb $t6, ($t8) -/* 04423C 8004363C 24190004 */ li $t9, 4 -/* 044240 80043640 000E7900 */ sll $t7, $t6, 4 -/* 044244 80043644 01EE7823 */ subu $t7, $t7, $t6 -/* 044248 80043648 000F7880 */ sll $t7, $t7, 2 -/* 04424C 8004364C A60F01C6 */ sh $t7, 0x1c6($s0) -/* 044250 80043650 1000001B */ b .L800436C0 -/* 044254 80043654 A21901C9 */ sb $t9, 0x1c9($s0) -/* 044258 80043658 87A40036 */ lh $a0, 0x36($sp) -.L8004365C: -/* 04425C 8004365C AFA3002C */ sw $v1, 0x2c($sp) -/* 044260 80043660 AFA9005C */ sw $t1, 0x5c($sp) -/* 044264 80043664 A7AC0034 */ sh $t4, 0x34($sp) -/* 044268 80043668 0C011114 */ jal roll_percent_chance -/* 04426C 8004366C A7AD0078 */ sh $t5, 0x78($sp) -/* 044270 80043670 8FA3002C */ lw $v1, 0x2c($sp) -/* 044274 80043674 8FA9005C */ lw $t1, 0x5c($sp) -/* 044278 80043678 87AC0034 */ lh $t4, 0x34($sp) -/* 04427C 8004367C 87AD0078 */ lh $t5, 0x78($sp) -/* 044280 80043680 1040000F */ beqz $v0, .L800436C0 -/* 044284 80043684 241FFFFF */ li $ra, -1 -/* 044288 80043688 29810002 */ slti $at, $t4, 2 -/* 04428C 8004368C 1020000C */ beqz $at, .L800436C0 -/* 044290 80043690 00000000 */ nop -/* 044294 80043694 83B8003E */ lb $t8, 0x3e($sp) -/* 044298 80043698 8FAE0044 */ lw $t6, 0x44($sp) -/* 04429C 8004369C 00000000 */ nop -/* 0442A0 800436A0 030E7821 */ addu $t7, $t8, $t6 -/* 0442A4 800436A4 81F90000 */ lb $t9, ($t7) -/* 0442A8 800436A8 240E0004 */ li $t6, 4 -/* 0442AC 800436AC 0019C100 */ sll $t8, $t9, 4 -/* 0442B0 800436B0 0319C023 */ subu $t8, $t8, $t9 -/* 0442B4 800436B4 0018C080 */ sll $t8, $t8, 2 -/* 0442B8 800436B8 A61801C6 */ sh $t8, 0x1c6($s0) -/* 0442BC 800436BC A20E01C9 */ sb $t6, 0x1c9($s0) -.L800436C0: -/* 0442C0 800436C0 806F0000 */ lb $t7, ($v1) -/* 0442C4 800436C4 24010002 */ li $at, 2 -/* 0442C8 800436C8 15E1002E */ bne $t7, $at, .L80043784 -/* 0442CC 800436CC 00000000 */ nop -/* 0442D0 800436D0 8FA30058 */ lw $v1, 0x58($sp) -/* 0442D4 800436D4 87A40036 */ lh $a0, 0x36($sp) -/* 0442D8 800436D8 10600013 */ beqz $v1, .L80043728 -/* 0442DC 800436DC 00000000 */ nop -/* 0442E0 800436E0 84790000 */ lh $t9, ($v1) -/* 0442E4 800436E4 29810004 */ slti $at, $t4, 4 -/* 0442E8 800436E8 17F9000F */ bne $ra, $t9, .L80043728 -/* 0442EC 800436EC 00000000 */ nop -/* 0442F0 800436F0 10200024 */ beqz $at, .L80043784 -/* 0442F4 800436F4 00000000 */ nop -/* 0442F8 800436F8 83B8003E */ lb $t8, 0x3e($sp) -/* 0442FC 800436FC 8FAE0044 */ lw $t6, 0x44($sp) -/* 044300 80043700 00000000 */ nop -/* 044304 80043704 030E7821 */ addu $t7, $t8, $t6 -/* 044308 80043708 81F90000 */ lb $t9, ($t7) -/* 04430C 8004370C 240E0005 */ li $t6, 5 -/* 044310 80043710 0019C100 */ sll $t8, $t9, 4 -/* 044314 80043714 0319C023 */ subu $t8, $t8, $t9 -/* 044318 80043718 0018C080 */ sll $t8, $t8, 2 -/* 04431C 8004371C A61801C6 */ sh $t8, 0x1c6($s0) -/* 044320 80043720 10000018 */ b .L80043784 -/* 044324 80043724 A20E01C9 */ sb $t6, 0x1c9($s0) -.L80043728: -/* 044328 80043728 AFA9005C */ sw $t1, 0x5c($sp) -/* 04432C 8004372C A7AC0034 */ sh $t4, 0x34($sp) -/* 044330 80043730 0C011114 */ jal roll_percent_chance -/* 044334 80043734 A7AD0078 */ sh $t5, 0x78($sp) -/* 044338 80043738 8FA9005C */ lw $t1, 0x5c($sp) -/* 04433C 8004373C 87AC0034 */ lh $t4, 0x34($sp) -/* 044340 80043740 87AD0078 */ lh $t5, 0x78($sp) -/* 044344 80043744 1040000F */ beqz $v0, .L80043784 -/* 044348 80043748 241FFFFF */ li $ra, -1 -/* 04434C 8004374C 29810002 */ slti $at, $t4, 2 -/* 044350 80043750 1020000C */ beqz $at, .L80043784 -/* 044354 80043754 00000000 */ nop -/* 044358 80043758 83AF003E */ lb $t7, 0x3e($sp) -/* 04435C 8004375C 8FB90044 */ lw $t9, 0x44($sp) -/* 044360 80043760 00000000 */ nop -/* 044364 80043764 01F9C021 */ addu $t8, $t7, $t9 -/* 044368 80043768 830E0000 */ lb $t6, ($t8) -/* 04436C 8004376C 24190005 */ li $t9, 5 -/* 044370 80043770 000E7900 */ sll $t7, $t6, 4 -/* 044374 80043774 01EE7823 */ subu $t7, $t7, $t6 -/* 044378 80043778 000F7880 */ sll $t7, $t7, 2 -/* 04437C 8004377C A60F01C6 */ sh $t7, 0x1c6($s0) -/* 044380 80043780 A21901C9 */ sb $t9, 0x1c9($s0) -.L80043784: -/* 044384 80043784 92180209 */ lbu $t8, 0x209($s0) -/* 044388 80043788 00000000 */ nop -/* 04438C 8004378C 330EFFFE */ andi $t6, $t8, 0xfffe -/* 044390 80043790 A20E0209 */ sb $t6, 0x209($s0) -/* 044394 80043794 31C700FF */ andi $a3, $t6, 0xff -.L80043798: -/* 044398 80043798 820F01D3 */ lb $t7, 0x1d3($s0) -/* 04439C 8004379C 8FA30058 */ lw $v1, 0x58($sp) -/* 0443A0 800437A0 11E00021 */ beqz $t7, .L80043828 -/* 0443A4 800437A4 30F90002 */ andi $t9, $a3, 2 -/* 0443A8 800437A8 17200016 */ bnez $t9, .L80043804 -/* 0443AC 800437AC 30F80004 */ andi $t8, $a3, 4 -/* 0443B0 800437B0 87A4003A */ lh $a0, 0x3a($sp) -/* 0443B4 800437B4 AFA9005C */ sw $t1, 0x5c($sp) -/* 0443B8 800437B8 A7AC0034 */ sh $t4, 0x34($sp) -/* 0443BC 800437BC 0C011114 */ jal roll_percent_chance -/* 0443C0 800437C0 A7AD0078 */ sh $t5, 0x78($sp) -/* 0443C4 800437C4 8FA9005C */ lw $t1, 0x5c($sp) -/* 0443C8 800437C8 87AC0034 */ lh $t4, 0x34($sp) -/* 0443CC 800437CC 87AD0078 */ lh $t5, 0x78($sp) -/* 0443D0 800437D0 10400005 */ beqz $v0, .L800437E8 -/* 0443D4 800437D4 241FFFFF */ li $ra, -1 -/* 0443D8 800437D8 92180209 */ lbu $t8, 0x209($s0) -/* 0443DC 800437DC 00000000 */ nop -/* 0443E0 800437E0 370E0004 */ ori $t6, $t8, 4 -/* 0443E4 800437E4 A20E0209 */ sb $t6, 0x209($s0) -.L800437E8: -/* 0443E8 800437E8 920F0209 */ lbu $t7, 0x209($s0) -/* 0443EC 800437EC 00000000 */ nop -/* 0443F0 800437F0 35F90002 */ ori $t9, $t7, 2 -/* 0443F4 800437F4 A2190209 */ sb $t9, 0x209($s0) -/* 0443F8 800437F8 8FA30058 */ lw $v1, 0x58($sp) -/* 0443FC 800437FC 332700FF */ andi $a3, $t9, 0xff -/* 044400 80043800 30F80004 */ andi $t8, $a3, 4 -.L80043804: -/* 044404 80043804 13000014 */ beqz $t8, .L80043858 -/* 044408 80043808 3C0E8012 */ lui $t6, %hi(gCurrentRacerInput) # $t6, 0x8012 -/* 04440C 8004380C 8DCED528 */ lw $t6, %lo(gCurrentRacerInput)($t6) -/* 044410 80043810 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff -/* 044414 80043814 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff -/* 044418 80043818 01C17824 */ and $t7, $t6, $at -/* 04441C 8004381C 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 044420 80043820 1000000D */ b .L80043858 -/* 044424 80043824 AC2FD528 */ sw $t7, %lo(gCurrentRacerInput)($at) -.L80043828: -/* 044428 80043828 2401FFFD */ li $at, -3 -/* 04442C 8004382C 00E1C824 */ and $t9, $a3, $at -/* 044430 80043830 C604002C */ lwc1 $f4, 0x2c($s0) -/* 044434 80043834 3C01C028 */ li $at, 0xC0280000 # -2.625000 -/* 044438 80043838 44819800 */ mtc1 $at, $f19 -/* 04443C 8004383C 44809000 */ mtc1 $zero, $f18 -/* 044440 80043840 460021A1 */ cvt.d.s $f6, $f4 -/* 044444 80043844 4626903C */ c.lt.d $f18, $f6 -/* 044448 80043848 A2190209 */ sb $t9, 0x209($s0) -/* 04444C 8004384C 45000002 */ bc1f .L80043858 -/* 044450 80043850 332EFFFB */ andi $t6, $t9, 0xfffb -/* 044454 80043854 A20E0209 */ sb $t6, 0x209($s0) -.L80043858: -/* 044458 80043858 920F0209 */ lbu $t7, 0x209($s0) -/* 04445C 8004385C 00000000 */ nop -/* 044460 80043860 31F90004 */ andi $t9, $t7, 4 -/* 044464 80043864 13200007 */ beqz $t9, .L80043884 -/* 044468 80043868 3C188012 */ lui $t8, %hi(gCurrentRacerInput) # $t8, 0x8012 -/* 04446C 8004386C 8F18D528 */ lw $t8, %lo(gCurrentRacerInput)($t8) -/* 044470 80043870 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff -/* 044474 80043874 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff -/* 044478 80043878 03017024 */ and $t6, $t8, $at -/* 04447C 8004387C 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 044480 80043880 AC2ED528 */ sw $t6, %lo(gCurrentRacerInput)($at) -.L80043884: -/* 044484 80043884 860F01C6 */ lh $t7, 0x1c6($s0) -/* 044488 80043888 00000000 */ nop -/* 04448C 8004388C 15E00043 */ bnez $t7, .L8004399C -/* 044490 80043890 8FAF0028 */ lw $t7, 0x28($sp) -/* 044494 80043894 920201C9 */ lbu $v0, 0x1c9($s0) -/* 044498 80043898 24010004 */ li $at, 4 -/* 04449C 8004389C 10410004 */ beq $v0, $at, .L800438B0 -/* 0444A0 800438A0 3C198012 */ lui $t9, %hi(gCurrentButtonsReleased) # $t9, 0x8012 -/* 0444A4 800438A4 24010005 */ li $at, 5 -/* 0444A8 800438A8 14410005 */ bne $v0, $at, .L800438C0 -/* 0444AC 800438AC 00000000 */ nop -.L800438B0: -/* 0444B0 800438B0 8F39D530 */ lw $t9, %lo(gCurrentButtonsReleased)($t9) -/* 0444B4 800438B4 3C018012 */ lui $at, %hi(gCurrentButtonsReleased) # $at, 0x8012 -/* 0444B8 800438B8 37382000 */ ori $t8, $t9, 0x2000 -/* 0444BC 800438BC AC38D530 */ sw $t8, %lo(gCurrentButtonsReleased)($at) -.L800438C0: -/* 0444C0 800438C0 1060001D */ beqz $v1, .L80043938 -/* 0444C4 800438C4 A20001C9 */ sb $zero, 0x1c9($s0) -/* 0444C8 800438C8 846E0000 */ lh $t6, ($v1) -/* 0444CC 800438CC C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 0444D0 800438D0 13EE0019 */ beq $ra, $t6, .L80043938 -/* 0444D4 800438D4 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 0444D8 800438D8 44814000 */ mtc1 $at, $f8 -/* 0444DC 800438DC 00000000 */ nop -/* 0444E0 800438E0 4608503C */ c.lt.s $f10, $f8 -/* 0444E4 800438E4 00000000 */ nop -/* 0444E8 800438E8 45000013 */ bc1f .L80043938 -/* 0444EC 800438EC 00000000 */ nop -/* 0444F0 800438F0 11A00011 */ beqz $t5, .L80043938 -/* 0444F4 800438F4 29810003 */ slti $at, $t4, 3 -/* 0444F8 800438F8 1020000F */ beqz $at, .L80043938 -/* 0444FC 800438FC 00000000 */ nop -/* 044500 80043900 83AF003E */ lb $t7, 0x3e($sp) -/* 044504 80043904 83B8003F */ lb $t8, 0x3f($sp) -/* 044508 80043908 000FC880 */ sll $t9, $t7, 2 -/* 04450C 8004390C 032FC821 */ addu $t9, $t9, $t7 -/* 044510 80043910 8FAF0040 */ lw $t7, 0x40($sp) -/* 044514 80043914 0019C840 */ sll $t9, $t9, 1 -/* 044518 80043918 03387021 */ addu $t6, $t9, $t8 -/* 04451C 8004391C 01CFC821 */ addu $t9, $t6, $t7 -/* 044520 80043920 83380000 */ lb $t8, ($t9) -/* 044524 80043924 240E0005 */ li $t6, 5 -/* 044528 80043928 2B010005 */ slti $at, $t8, 5 -/* 04452C 8004392C 10200002 */ beqz $at, .L80043938 -/* 044530 80043930 00000000 */ nop -/* 044534 80043934 A20E01C9 */ sb $t6, 0x1c9($s0) -.L80043938: -/* 044538 80043938 3C018012 */ lui $at, %hi(D_8011D544) # $at, 0x8012 -/* 04453C 8004393C C424D544 */ lwc1 $f4, %lo(D_8011D544)($at) -/* 044540 80043940 44808000 */ mtc1 $zero, $f16 -/* 044544 80043944 3C0F800E */ lui $t7, %hi(D_800DCDA8) # $t7, 0x800e -/* 044548 80043948 46048032 */ c.eq.s $f16, $f4 -/* 04454C 8004394C 01ED7821 */ addu $t7, $t7, $t5 -/* 044550 80043950 4500000F */ bc1f .L80043990 -/* 044554 80043954 8FA30058 */ lw $v1, 0x58($sp) -/* 044558 80043958 81EFCDA8 */ lb $t7, %lo(D_800DCDA8)($t7) -/* 04455C 8004395C 00000000 */ nop -/* 044560 80043960 A20F01CA */ sb $t7, 0x1ca($s0) -/* 044564 80043964 87A4003C */ lh $a0, 0x3c($sp) -/* 044568 80043968 0C011114 */ jal roll_percent_chance -/* 04456C 8004396C AFA9005C */ sw $t1, 0x5c($sp) -/* 044570 80043970 8FA9005C */ lw $t1, 0x5c($sp) -/* 044574 80043974 10400005 */ beqz $v0, .L8004398C -/* 044578 80043978 241FFFFF */ li $ra, -1 -/* 04457C 8004397C 821901CA */ lb $t9, 0x1ca($s0) -/* 044580 80043980 00000000 */ nop -/* 044584 80043984 2738FFFF */ addiu $t8, $t9, -1 -/* 044588 80043988 A21801CA */ sb $t8, 0x1ca($s0) -.L8004398C: -/* 04458C 8004398C 8FA30058 */ lw $v1, 0x58($sp) -.L80043990: -/* 044590 80043990 240E012C */ li $t6, 300 -/* 044594 80043994 A60E01C6 */ sh $t6, 0x1c6($s0) -/* 044598 80043998 8FAF0028 */ lw $t7, 0x28($sp) -.L8004399C: -/* 04459C 8004399C 24010007 */ li $at, 7 -/* 0445A0 800439A0 15E1000F */ bne $t7, $at, .L800439E0 -/* 0445A4 800439A4 00000000 */ nop -/* 0445A8 800439A8 1060000D */ beqz $v1, .L800439E0 -/* 0445AC 800439AC 3C01800E */ lui $at, %hi(D_800E62A8 + 4) # $at, 0x800e -/* 0445B0 800439B0 C7B20090 */ lwc1 $f18, 0x90($sp) -/* 0445B4 800439B4 C42B62A8 */ lwc1 $f11, %lo(D_800E62A8)($at) -/* 0445B8 800439B8 C42A62AC */ lwc1 $f10, %lo(D_800E62A8 + 4)($at) -/* 0445BC 800439BC 460091A1 */ cvt.d.s $f6, $f18 -/* 0445C0 800439C0 462A303C */ c.lt.d $f6, $f10 -/* 0445C4 800439C4 240E0001 */ li $t6, 1 -/* 0445C8 800439C8 45000005 */ bc1f .L800439E0 -/* 0445CC 800439CC 00000000 */ nop -/* 0445D0 800439D0 92190209 */ lbu $t9, 0x209($s0) -/* 0445D4 800439D4 A20E01CA */ sb $t6, 0x1ca($s0) -/* 0445D8 800439D8 3338FFFB */ andi $t8, $t9, 0xfffb -/* 0445DC 800439DC A2180209 */ sb $t8, 0x209($s0) -.L800439E0: -/* 0445E0 800439E0 3C0F8012 */ lui $t7, %hi(gRaceStartTimer) # $t7, 0x8012 -/* 0445E4 800439E4 8DEFD540 */ lw $t7, %lo(gRaceStartTimer)($t7) -/* 0445E8 800439E8 8FB90054 */ lw $t9, 0x54($sp) -/* 0445EC 800439EC 15E00050 */ bnez $t7, .L80043B30 -/* 0445F0 800439F0 3C01800E */ lui $at, %hi(D_800E62B0 + 4) # $at, 0x800e -/* 0445F4 800439F4 C72E0004 */ lwc1 $f14, 4($t9) -/* 0445F8 800439F8 C43162B0 */ lwc1 $f17, %lo(D_800E62B0)($at) -/* 0445FC 800439FC C43062B4 */ lwc1 $f16, %lo(D_800E62B0 + 4)($at) -/* 044600 80043A00 46007221 */ cvt.d.s $f8, $f14 -/* 044604 80043A04 46304102 */ mul.d $f4, $f8, $f16 -/* 044608 80043A08 3C01800E */ lui $at, %hi(D_800E62B8 + 4) # $at, 0x800e -/* 04460C 80043A0C C43362B8 */ lwc1 $f19, %lo(D_800E62B8)($at) -/* 044610 80043A10 C43262BC */ lwc1 $f18, %lo(D_800E62B8 + 4)($at) -/* 044614 80043A14 3C01800E */ lui $at, %hi(D_800E62C0 + 4) # $at, 0x800e -/* 044618 80043A18 C42B62C0 */ lwc1 $f11, %lo(D_800E62C0)($at) -/* 04461C 80043A1C C42A62C4 */ lwc1 $f10, %lo(D_800E62C0 + 4)($at) -/* 044620 80043A20 46322180 */ add.d $f6, $f4, $f18 -/* 044624 80043A24 AFA9005C */ sw $t1, 0x5c($sp) -/* 044628 80043A28 462A3203 */ div.d $f8, $f6, $f10 -/* 04462C 80043A2C 0C0326B4 */ jal sqrtf -/* 044630 80043A30 46204320 */ cvt.s.d $f12, $f8 -/* 044634 80043A34 8FB80054 */ lw $t8, 0x54($sp) -/* 044638 80043A38 3C01800E */ lui $at, %hi(D_800E62C8 + 4) # $at, 0x800e -/* 04463C 80043A3C C7020000 */ lwc1 $f2, ($t8) -/* 044640 80043A40 C42562C8 */ lwc1 $f5, %lo(D_800E62C8)($at) -/* 044644 80043A44 C42462CC */ lwc1 $f4, %lo(D_800E62C8 + 4)($at) -/* 044648 80043A48 46001421 */ cvt.d.s $f16, $f2 -/* 04464C 80043A4C 46248482 */ mul.d $f18, $f16, $f4 -/* 044650 80043A50 3C01800E */ lui $at, %hi(D_800E62D0 + 4) # $at, 0x800e -/* 044654 80043A54 C42762D0 */ lwc1 $f7, %lo(D_800E62D0)($at) -/* 044658 80043A58 C42662D4 */ lwc1 $f6, %lo(D_800E62D0 + 4)($at) -/* 04465C 80043A5C 3C01800E */ lui $at, %hi(D_800E62D8 + 4) # $at, 0x800e -/* 044660 80043A60 C42962D8 */ lwc1 $f9, %lo(D_800E62D8)($at) -/* 044664 80043A64 C42862DC */ lwc1 $f8, %lo(D_800E62D8 + 4)($at) -/* 044668 80043A68 46269280 */ add.d $f10, $f18, $f6 -/* 04466C 80043A6C E7A00080 */ swc1 $f0, 0x80($sp) -/* 044670 80043A70 46285403 */ div.d $f16, $f10, $f8 -/* 044674 80043A74 0C0326B4 */ jal sqrtf -/* 044678 80043A78 46208320 */ cvt.s.d $f12, $f16 -/* 04467C 80043A7C 240E0007 */ li $t6, 7 -/* 044680 80043A80 448E9000 */ mtc1 $t6, $f18 -/* 044684 80043A84 C7AE0080 */ lwc1 $f14, 0x80($sp) -/* 044688 80043A88 468091A0 */ cvt.s.w $f6, $f18 -/* 04468C 80043A8C 8FAF0028 */ lw $t7, 0x28($sp) -/* 044690 80043A90 820201CA */ lb $v0, 0x1ca($s0) -/* 044694 80043A94 46007101 */ sub.s $f4, $f14, $f0 -/* 044698 80043A98 448F4000 */ mtc1 $t7, $f8 -/* 04469C 80043A9C 46062283 */ div.s $f10, $f4, $f6 -/* 0446A0 80043AA0 46804420 */ cvt.s.w $f16, $f8 -/* 0446A4 80043AA4 8FA9005C */ lw $t1, 0x5c($sp) -/* 0446A8 80043AA8 28410002 */ slti $at, $v0, 2 -/* 0446AC 80043AAC 241FFFFF */ li $ra, -1 -/* 0446B0 80043AB0 2459FFFF */ addiu $t9, $v0, -1 -/* 0446B4 80043AB4 46105482 */ mul.s $f18, $f10, $f16 -/* 0446B8 80043AB8 46120300 */ add.s $f12, $f0, $f18 -/* 0446BC 80043ABC 1420000B */ bnez $at, .L80043AEC -/* 0446C0 80043AC0 46006086 */ mov.s $f2, $f12 -/* 0446C4 80043AC4 44992000 */ mtc1 $t9, $f4 -/* 0446C8 80043AC8 3C01800E */ lui $at, %hi(D_800E62E0 + 4) # $at, 0x800e -/* 0446CC 80043ACC 468021A0 */ cvt.s.w $f6, $f4 -/* 0446D0 80043AD0 C42B62E0 */ lwc1 $f11, %lo(D_800E62E0)($at) -/* 0446D4 80043AD4 C42A62E4 */ lwc1 $f10, %lo(D_800E62E0 + 4)($at) -/* 0446D8 80043AD8 46003221 */ cvt.d.s $f8, $f6 -/* 0446DC 80043ADC 462A4402 */ mul.d $f16, $f8, $f10 -/* 0446E0 80043AE0 460064A1 */ cvt.d.s $f18, $f12 -/* 0446E4 80043AE4 46309100 */ add.d $f4, $f18, $f16 -/* 0446E8 80043AE8 462020A0 */ cvt.s.d $f2, $f4 -.L80043AEC: -/* 0446EC 80043AEC 46021182 */ mul.s $f6, $f2, $f2 -/* 0446F0 80043AF0 3C01800E */ lui $at, %hi(D_800E62E8 + 4) # $at, 0x800e -/* 0446F4 80043AF4 C42B62E8 */ lwc1 $f11, %lo(D_800E62E8)($at) -/* 0446F8 80043AF8 C42A62EC */ lwc1 $f10, %lo(D_800E62E8 + 4)($at) -/* 0446FC 80043AFC 46003221 */ cvt.d.s $f8, $f6 -/* 044700 80043B00 462A4482 */ mul.d $f18, $f8, $f10 -/* 044704 80043B04 3C01800E */ lui $at, %hi(D_800E62F0 + 4) # $at, 0x800e -/* 044708 80043B08 C43162F0 */ lwc1 $f17, %lo(D_800E62F0)($at) -/* 04470C 80043B0C C43062F4 */ lwc1 $f16, %lo(D_800E62F0 + 4)($at) -/* 044710 80043B10 3C01800E */ lui $at, %hi(D_800E62F8 + 4) # $at, 0x800e -/* 044714 80043B14 C42762F8 */ lwc1 $f7, %lo(D_800E62F8)($at) -/* 044718 80043B18 C42662FC */ lwc1 $f6, %lo(D_800E62F8 + 4)($at) -/* 04471C 80043B1C 46309101 */ sub.d $f4, $f18, $f16 -/* 044720 80043B20 00000000 */ nop -/* 044724 80043B24 46262203 */ div.d $f8, $f4, $f6 -/* 044728 80043B28 462040A0 */ cvt.s.d $f2, $f8 -/* 04472C 80043B2C E6020124 */ swc1 $f2, 0x124($s0) -.L80043B30: -/* 044730 80043B30 8FA30058 */ lw $v1, 0x58($sp) -/* 044734 80043B34 1120000E */ beqz $t1, .L80043B70 -/* 044738 80043B38 00000000 */ nop -/* 04473C 80043B3C 821801CA */ lb $t8, 0x1ca($s0) -/* 044740 80043B40 24010003 */ li $at, 3 -/* 044744 80043B44 1701000A */ bne $t8, $at, .L80043B70 -/* 044748 80043B48 3C01800E */ lui $at, %hi(D_800E6300 + 4) # $at, 0x800e -/* 04474C 80043B4C C7B20094 */ lwc1 $f18, 0x94($sp) -/* 044750 80043B50 C42B6300 */ lwc1 $f11, %lo(D_800E6300)($at) -/* 044754 80043B54 C42A6304 */ lwc1 $f10, %lo(D_800E6300 + 4)($at) -/* 044758 80043B58 46009421 */ cvt.d.s $f16, $f18 -/* 04475C 80043B5C 4630503C */ c.lt.d $f10, $f16 -/* 044760 80043B60 240E0002 */ li $t6, 2 -/* 044764 80043B64 45000002 */ bc1f .L80043B70 -/* 044768 80043B68 00000000 */ nop -/* 04476C 80043B6C A20E01CA */ sb $t6, 0x1ca($s0) -.L80043B70: -/* 044770 80043B70 920201C9 */ lbu $v0, 0x1c9($s0) -/* 044774 80043B74 24010004 */ li $at, 4 -/* 044778 80043B78 10400007 */ beqz $v0, .L80043B98 -/* 04477C 80043B7C 00000000 */ nop -/* 044780 80043B80 10410023 */ beq $v0, $at, .L80043C10 -/* 044784 80043B84 24010005 */ li $at, 5 -/* 044788 80043B88 10410026 */ beq $v0, $at, .L80043C24 -/* 04478C 80043B8C 00000000 */ nop -/* 044790 80043B90 10000029 */ b .L80043C38 -/* 044794 80043B94 00000000 */ nop -.L80043B98: -/* 044798 80043B98 11200027 */ beqz $t1, .L80043C38 -/* 04479C 80043B9C 00000000 */ nop -/* 0447A0 80043BA0 852F0000 */ lh $t7, ($t1) -/* 0447A4 80043BA4 00000000 */ nop -/* 0447A8 80043BA8 17EF0023 */ bne $ra, $t7, .L80043C38 -/* 0447AC 80043BAC 00000000 */ nop -/* 0447B0 80043BB0 913901C9 */ lbu $t9, 0x1c9($t1) -/* 0447B4 80043BB4 00000000 */ nop -/* 0447B8 80043BB8 1720001F */ bnez $t9, .L80043C38 -/* 0447BC 80043BBC 00000000 */ nop -/* 0447C0 80043BC0 820201CA */ lb $v0, 0x1ca($s0) -/* 0447C4 80043BC4 813801CA */ lb $t8, 0x1ca($t1) -/* 0447C8 80043BC8 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 0447CC 80043BCC 1458001A */ bne $v0, $t8, .L80043C38 -/* 0447D0 80043BD0 3C014059 */ li $at, 0x40590000 # 3.390625 -/* 0447D4 80043BD4 44814800 */ mtc1 $at, $f9 -/* 0447D8 80043BD8 44804000 */ mtc1 $zero, $f8 -/* 0447DC 80043BDC 460021A1 */ cvt.d.s $f6, $f4 -/* 0447E0 80043BE0 4628303C */ c.lt.d $f6, $f8 -/* 0447E4 80043BE4 244E0001 */ addiu $t6, $v0, 1 -/* 0447E8 80043BE8 45000013 */ bc1f .L80043C38 -/* 0447EC 80043BEC 00000000 */ nop -/* 0447F0 80043BF0 A20E01CA */ sb $t6, 0x1ca($s0) -/* 0447F4 80043BF4 820F01CA */ lb $t7, 0x1ca($s0) -/* 0447F8 80043BF8 24190003 */ li $t9, 3 -/* 0447FC 80043BFC 29E10004 */ slti $at, $t7, 4 -/* 044800 80043C00 1420000D */ bnez $at, .L80043C38 -/* 044804 80043C04 00000000 */ nop -/* 044808 80043C08 1000000B */ b .L80043C38 -/* 04480C 80043C0C A21901CA */ sb $t9, 0x1ca($s0) -.L80043C10: -/* 044810 80043C10 11200009 */ beqz $t1, .L80043C38 -/* 044814 80043C14 00000000 */ nop -/* 044818 80043C18 853801BA */ lh $t8, 0x1ba($t1) -/* 04481C 80043C1C 10000006 */ b .L80043C38 -/* 044820 80043C20 A61801BA */ sh $t8, 0x1ba($s0) -.L80043C24: -/* 044824 80043C24 10600004 */ beqz $v1, .L80043C38 -/* 044828 80043C28 00000000 */ nop -/* 04482C 80043C2C 846E01BA */ lh $t6, 0x1ba($v1) -/* 044830 80043C30 00000000 */ nop -/* 044834 80043C34 A60E01BA */ sh $t6, 0x1ba($s0) -.L80043C38: -/* 044838 80043C38 0C008D07 */ jal is_taj_challenge -/* 04483C 80043C3C 00000000 */ nop -/* 044840 80043C40 00021C00 */ sll $v1, $v0, 0x10 -/* 044844 80043C44 0002CC00 */ sll $t9, $v0, 0x10 -/* 044848 80043C48 0019C403 */ sra $t8, $t9, 0x10 -/* 04484C 80043C4C 00037C03 */ sra $t7, $v1, 0x10 -/* 044850 80043C50 17000005 */ bnez $t8, .L80043C68 -/* 044854 80043C54 01E01825 */ move $v1, $t7 -/* 044858 80043C58 87AE0070 */ lh $t6, 0x70($sp) -/* 04485C 80043C5C 00000000 */ nop -/* 044860 80043C60 11C00016 */ beqz $t6, .L80043CBC -/* 044864 80043C64 87AE0070 */ lh $t6, 0x70($sp) -.L80043C68: -/* 044868 80043C68 A20001CA */ sb $zero, 0x1ca($s0) -/* 04486C 80043C6C A20001C9 */ sb $zero, 0x1c9($s0) -/* 044870 80043C70 87AF0070 */ lh $t7, 0x70($sp) -/* 044874 80043C74 24040011 */ li $a0, 17 -/* 044878 80043C78 11E00006 */ beqz $t7, .L80043C94 -/* 04487C 80043C7C 00000000 */ nop -/* 044880 80043C80 0C0078A7 */ jal get_misc_asset -/* 044884 80043C84 24040012 */ li $a0, 18 -/* 044888 80043C88 87A30070 */ lh $v1, 0x70($sp) -/* 04488C 80043C8C 10000006 */ b .L80043CA8 -/* 044890 80043C90 0003C880 */ sll $t9, $v1, 2 -.L80043C94: -/* 044894 80043C94 0C0078A7 */ jal get_misc_asset -/* 044898 80043C98 A7A3007A */ sh $v1, 0x7a($sp) -/* 04489C 80043C9C 87A3007A */ lh $v1, 0x7a($sp) -/* 0448A0 80043CA0 00000000 */ nop -/* 0448A4 80043CA4 0003C880 */ sll $t9, $v1, 2 -.L80043CA8: -/* 0448A8 80043CA8 0059C021 */ addu $t8, $v0, $t9 -/* 0448AC 80043CAC C712FFFC */ lwc1 $f18, -4($t8) -/* 0448B0 80043CB0 00000000 */ nop -/* 0448B4 80043CB4 E6120124 */ swc1 $f18, 0x124($s0) -/* 0448B8 80043CB8 87AE0070 */ lh $t6, 0x70($sp) -.L80043CBC: -/* 0448BC 80043CBC 3C0F8012 */ lui $t7, %hi(gRaceStartTimer) # $t7, 0x8012 -/* 0448C0 80043CC0 11C00061 */ beqz $t6, .L80043E48 -/* 0448C4 80043CC4 00000000 */ nop -/* 0448C8 80043CC8 8DEFD540 */ lw $t7, %lo(gRaceStartTimer)($t7) -/* 0448CC 80043CCC 3C038012 */ lui $v1, %hi(D_8011D5B8) # $v1, 0x8012 -/* 0448D0 80043CD0 11E00006 */ beqz $t7, .L80043CEC -/* 0448D4 80043CD4 2463D5B8 */ addiu $v1, %lo(D_8011D5B8) # addiu $v1, $v1, -0x2a48 -/* 0448D8 80043CD8 3C038012 */ lui $v1, %hi(D_8011D5B8) # $v1, 0x8012 -/* 0448DC 80043CDC 2463D5B8 */ addiu $v1, %lo(D_8011D5B8) # addiu $v1, $v1, -0x2a48 -/* 0448E0 80043CE0 24190384 */ li $t9, 900 -/* 0448E4 80043CE4 10000040 */ b .L80043DE8 -/* 0448E8 80043CE8 A4790000 */ sh $t9, ($v1) -.L80043CEC: -/* 0448EC 80043CEC 84780000 */ lh $t8, ($v1) -/* 0448F0 80043CF0 8FAE00A0 */ lw $t6, 0xa0($sp) -/* 0448F4 80043CF4 00000000 */ nop -/* 0448F8 80043CF8 030E7823 */ subu $t7, $t8, $t6 -/* 0448FC 80043CFC A46F0000 */ sh $t7, ($v1) -/* 044900 80043D00 84620000 */ lh $v0, ($v1) -/* 044904 80043D04 00000000 */ nop -/* 044908 80043D08 04410016 */ bgez $v0, .L80043D64 -/* 04490C 80043D0C 284102D1 */ slti $at, $v0, 0x2d1 -/* 044910 80043D10 87B90072 */ lh $t9, 0x72($sp) -/* 044914 80043D14 24010001 */ li $at, 1 -/* 044918 80043D18 17210033 */ bne $t9, $at, .L80043DE8 -/* 04491C 80043D1C A4600000 */ sh $zero, ($v1) -/* 044920 80043D20 3C01800E */ lui $at, %hi(D_800E6308 + 4) # $at, 0x800e -/* 044924 80043D24 C7B00094 */ lwc1 $f16, 0x94($sp) -/* 044928 80043D28 C42B6308 */ lwc1 $f11, %lo(D_800E6308)($at) -/* 04492C 80043D2C C42A630C */ lwc1 $f10, %lo(D_800E6308 + 4)($at) -/* 044930 80043D30 46008121 */ cvt.d.s $f4, $f16 -/* 044934 80043D34 4624503C */ c.lt.d $f10, $f4 -/* 044938 80043D38 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 04493C 80043D3C 4500002A */ bc1f .L80043DE8 -/* 044940 80043D40 00000000 */ nop -/* 044944 80043D44 C6060124 */ lwc1 $f6, 0x124($s0) -/* 044948 80043D48 44819800 */ mtc1 $at, $f19 -/* 04494C 80043D4C 44809000 */ mtc1 $zero, $f18 -/* 044950 80043D50 46003221 */ cvt.d.s $f8, $f6 -/* 044954 80043D54 46324400 */ add.d $f16, $f8, $f18 -/* 044958 80043D58 462082A0 */ cvt.s.d $f10, $f16 -/* 04495C 80043D5C 10000022 */ b .L80043DE8 -/* 044960 80043D60 E60A0124 */ swc1 $f10, 0x124($s0) -.L80043D64: -/* 044964 80043D64 C6000124 */ lwc1 $f0, 0x124($s0) -/* 044968 80043D68 14200008 */ bnez $at, .L80043D8C -/* 04496C 80043D6C 46000386 */ mov.s $f14, $f0 -/* 044970 80043D70 3C014014 */ li $at, 0x40140000 # 2.312500 -/* 044974 80043D74 44813800 */ mtc1 $at, $f7 -/* 044978 80043D78 44803000 */ mtc1 $zero, $f6 -/* 04497C 80043D7C 46007121 */ cvt.d.s $f4, $f14 -/* 044980 80043D80 46262200 */ add.d $f8, $f4, $f6 -/* 044984 80043D84 10000013 */ b .L80043DD4 -/* 044988 80043D88 462043A0 */ cvt.s.d $f14, $f8 -.L80043D8C: -/* 04498C 80043D8C 87B80072 */ lh $t8, 0x72($sp) -/* 044990 80043D90 24010001 */ li $at, 1 -/* 044994 80043D94 1301000A */ beq $t8, $at, .L80043DC0 -/* 044998 80043D98 3C014024 */ lui $at, 0x4024 -/* 04499C 80043D9C C7B20090 */ lwc1 $f18, 0x90($sp) -/* 0449A0 80043DA0 3C014069 */ li $at, 0x40690000 # 3.640625 -/* 0449A4 80043DA4 44815800 */ mtc1 $at, $f11 -/* 0449A8 80043DA8 44805000 */ mtc1 $zero, $f10 -/* 0449AC 80043DAC 46009421 */ cvt.d.s $f16, $f18 -/* 0449B0 80043DB0 462A803C */ c.lt.d $f16, $f10 -/* 0449B4 80043DB4 00000000 */ nop -/* 0449B8 80043DB8 45000006 */ bc1f .L80043DD4 -/* 0449BC 80043DBC 3C014024 */ li $at, 0x40240000 # 2.562500 -.L80043DC0: -/* 0449C0 80043DC0 44813800 */ mtc1 $at, $f7 -/* 0449C4 80043DC4 44803000 */ mtc1 $zero, $f6 -/* 0449C8 80043DC8 46007121 */ cvt.d.s $f4, $f14 -/* 0449CC 80043DCC 46262200 */ add.d $f8, $f4, $f6 -/* 0449D0 80043DD0 462043A0 */ cvt.s.d $f14, $f8 -.L80043DD4: -/* 0449D4 80043DD4 460E003C */ c.lt.s $f0, $f14 -/* 0449D8 80043DD8 00000000 */ nop -/* 0449DC 80043DDC 45000002 */ bc1f .L80043DE8 -/* 0449E0 80043DE0 00000000 */ nop -/* 0449E4 80043DE4 E60E0124 */ swc1 $f14, 0x124($s0) -.L80043DE8: -/* 0449E8 80043DE8 820E01D8 */ lb $t6, 0x1d8($s0) -/* 0449EC 80043DEC 3C028012 */ lui $v0, %hi(gCurrentRacerInput) # $v0, 0x8012 -/* 0449F0 80043DF0 11C00015 */ beqz $t6, .L80043E48 -/* 0449F4 80043DF4 2442D528 */ addiu $v0, %lo(gCurrentRacerInput) # addiu $v0, $v0, -0x2ad8 -/* 0449F8 80043DF8 A20001D3 */ sb $zero, 0x1d3($s0) -/* 0449FC 80043DFC A2000213 */ sb $zero, 0x213($s0) -/* 044A00 80043E00 8C4F0000 */ lw $t7, ($v0) -/* 044A04 80043E04 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff -/* 044A08 80043E08 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff -/* 044A0C 80043E0C 01E1C824 */ and $t9, $t7, $at -/* 044A10 80043E10 AC590000 */ sw $t9, ($v0) -/* 044A14 80043E14 372E4000 */ ori $t6, $t9, 0x4000 -/* 044A18 80043E18 AC4E0000 */ sw $t6, ($v0) -/* 044A1C 80043E1C 3C01800E */ lui $at, %hi(D_800E6310 + 4) # $at, 0x800e -/* 044A20 80043E20 C610002C */ lwc1 $f16, 0x2c($s0) -/* 044A24 80043E24 C4336310 */ lwc1 $f19, %lo(D_800E6310)($at) -/* 044A28 80043E28 C4326314 */ lwc1 $f18, %lo(D_800E6310 + 4)($at) -/* 044A2C 80043E2C 460082A1 */ cvt.d.s $f10, $f16 -/* 044A30 80043E30 462A903C */ c.lt.d $f18, $f10 -/* 044A34 80043E34 35D98000 */ ori $t9, $t6, 0x8000 -/* 044A38 80043E38 45000003 */ bc1f .L80043E48 -/* 044A3C 80043E3C 3C018012 */ lui $at, %hi(gCurrentStickX) # $at, 0x8012 -/* 044A40 80043E40 AC590000 */ sw $t9, ($v0) -/* 044A44 80043E44 AC20D534 */ sw $zero, %lo(gCurrentStickX)($at) -.L80043E48: -/* 044A48 80043E48 82180214 */ lb $t8, 0x214($s0) -/* 044A4C 80043E4C 87AE006E */ lh $t6, 0x6e($sp) -/* 044A50 80043E50 13000002 */ beqz $t8, .L80043E5C -/* 044A54 80043E54 24190040 */ li $t9, 64 -/* 044A58 80043E58 A20E01CA */ sb $t6, 0x1ca($s0) -.L80043E5C: -/* 044A5C 80043E5C 860F01BA */ lh $t7, 0x1ba($s0) -/* 044A60 80043E60 240E0028 */ li $t6, 40 -/* 044A64 80043E64 29E10041 */ slti $at, $t7, 0x41 -/* 044A68 80043E68 14200002 */ bnez $at, .L80043E74 -/* 044A6C 80043E6C 00000000 */ nop -/* 044A70 80043E70 A61901BA */ sh $t9, 0x1ba($s0) -.L80043E74: -/* 044A74 80043E74 861801BC */ lh $t8, 0x1bc($s0) -/* 044A78 80043E78 2419FFC0 */ li $t9, -64 -/* 044A7C 80043E7C 2B010029 */ slti $at, $t8, 0x29 -/* 044A80 80043E80 14200002 */ bnez $at, .L80043E8C -/* 044A84 80043E84 00000000 */ nop -/* 044A88 80043E88 A60E01BC */ sh $t6, 0x1bc($s0) -.L80043E8C: -/* 044A8C 80043E8C 860F01BA */ lh $t7, 0x1ba($s0) -/* 044A90 80043E90 240EFFD8 */ li $t6, -40 -/* 044A94 80043E94 29E1FFC0 */ slti $at, $t7, -0x40 -/* 044A98 80043E98 10200002 */ beqz $at, .L80043EA4 -/* 044A9C 80043E9C 00000000 */ nop -/* 044AA0 80043EA0 A61901BA */ sh $t9, 0x1ba($s0) -.L80043EA4: -/* 044AA4 80043EA4 861801BC */ lh $t8, 0x1bc($s0) -/* 044AA8 80043EA8 00000000 */ nop -/* 044AAC 80043EAC 2B01FFD8 */ slti $at, $t8, -0x28 -/* 044AB0 80043EB0 10200003 */ beqz $at, .L80043EC0 -/* 044AB4 80043EB4 8FBF001C */ lw $ra, 0x1c($sp) -/* 044AB8 80043EB8 A60E01BC */ sh $t6, 0x1bc($s0) -.L80043EBC: -/* 044ABC 80043EBC 8FBF001C */ lw $ra, 0x1c($sp) -.L80043EC0: -/* 044AC0 80043EC0 8FB00018 */ lw $s0, 0x18($sp) -/* 044AC4 80043EC4 03E00008 */ jr $ra -/* 044AC8 80043EC8 27BD0098 */ addiu $sp, $sp, 0x98 - diff --git a/asm/non_matchings/racer/func_8004447C.s b/asm/non_matchings/racer/func_8004447C.s deleted file mode 100644 index 716e34f5..00000000 --- a/asm/non_matchings/racer/func_8004447C.s +++ /dev/null @@ -1,897 +0,0 @@ -.late_rodata -glabel jpt_800E6318 -.word L800446AC, L80044A04, L80044A04, L80044A04, L80044A04, L80044F54, L80044A04 -glabel jpt_800E6334 -.word L80044A2C, L80044A44, L80044A60, L80044A94, L80044ADC, L80044AC8 -.word 0 # Padding -glabel D_800E6350 -.double 300.0 - -.text -glabel func_8004447C -/* 04507C 8004447C 3C018012 */ lui $at, %hi(gCurrentButtonsPressed) # $at, 0x8012 -/* 045080 80044480 AC20D52C */ sw $zero, %lo(gCurrentButtonsPressed)($at) -/* 045084 80044484 3C018012 */ lui $at, %hi(gCurrentButtonsReleased) # $at, 0x8012 -/* 045088 80044488 AC20D530 */ sw $zero, %lo(gCurrentButtonsReleased)($at) -/* 04508C 8004448C 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 045090 80044490 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 045094 80044494 AC20D528 */ sw $zero, %lo(gCurrentRacerInput)($at) -/* 045098 80044498 3C018012 */ lui $at, %hi(gCurrentStickX) # $at, 0x8012 -/* 04509C 8004449C AC20D534 */ sw $zero, %lo(gCurrentStickX)($at) -/* 0450A0 800444A0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0450A4 800444A4 AFB00018 */ sw $s0, 0x18($sp) -/* 0450A8 800444A8 AFA40078 */ sw $a0, 0x78($sp) -/* 0450AC 800444AC 3C018012 */ lui $at, %hi(gCurrentStickY) # $at, 0x8012 -/* 0450B0 800444B0 00A08025 */ move $s0, $a1 -/* 0450B4 800444B4 AFA60080 */ sw $a2, 0x80($sp) -/* 0450B8 800444B8 AC20D538 */ sw $zero, %lo(gCurrentStickY)($at) -/* 0450BC 800444BC 0C006E9D */ jal get_racer_objects -/* 0450C0 800444C0 27A40058 */ addiu $a0, $sp, 0x58 -/* 0450C4 800444C4 8FAE0058 */ lw $t6, 0x58($sp) -/* 0450C8 800444C8 24010004 */ li $at, 4 -/* 0450CC 800444CC 15C10313 */ bne $t6, $at, .L8004511C -/* 0450D0 800444D0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0450D4 800444D4 0C01AF6C */ jal get_current_level_header -/* 0450D8 800444D8 00000000 */ nop -/* 0450DC 800444DC 804F004C */ lb $t7, 0x4c($v0) -/* 0450E0 800444E0 2458002A */ addiu $t8, $v0, 0x2a -/* 0450E4 800444E4 AFB80038 */ sw $t8, 0x38($sp) -/* 0450E8 800444E8 A3AF003F */ sb $t7, 0x3f($sp) -/* 0450EC 800444EC 921901CD */ lbu $t9, 0x1cd($s0) -/* 0450F0 800444F0 8FA20078 */ lw $v0, 0x78($sp) -/* 0450F4 800444F4 17200010 */ bnez $t9, .L80044538 -/* 0450F8 800444F8 00000000 */ nop -/* 0450FC 800444FC C44C000C */ lwc1 $f12, 0xc($v0) -/* 045100 80044500 C44E0010 */ lwc1 $f14, 0x10($v0) -/* 045104 80044504 8C460014 */ lw $a2, 0x14($v0) -/* 045108 80044508 0C007149 */ jal ainode_find_nearest -/* 04510C 8004450C 00003825 */ move $a3, $zero -/* 045110 80044510 240100FF */ li $at, 255 -/* 045114 80044514 10410008 */ beq $v0, $at, .L80044538 -/* 045118 80044518 AFA20058 */ sw $v0, 0x58($sp) -/* 04511C 8004451C 0C007485 */ jal ainode_get -/* 045120 80044520 00402025 */ move $a0, $v0 -/* 045124 80044524 240C0001 */ li $t4, 1 -/* 045128 80044528 240D00FF */ li $t5, 255 -/* 04512C 8004452C AE020154 */ sw $v0, 0x154($s0) -/* 045130 80044530 A20C01CD */ sb $t4, 0x1cd($s0) -/* 045134 80044534 A20D01CE */ sb $t5, 0x1ce($s0) -.L80044538: -/* 045138 80044538 8E060154 */ lw $a2, 0x154($s0) -/* 04513C 8004453C 00000000 */ nop -/* 045140 80044540 10C00032 */ beqz $a2, .L8004460C -/* 045144 80044544 00000000 */ nop -/* 045148 80044548 8CCE003C */ lw $t6, 0x3c($a2) -/* 04514C 8004454C 8FA20078 */ lw $v0, 0x78($sp) -/* 045150 80044550 AFAE006C */ sw $t6, 0x6c($sp) -/* 045154 80044554 C4C4000C */ lwc1 $f4, 0xc($a2) -/* 045158 80044558 C446000C */ lwc1 $f6, 0xc($v0) -/* 04515C 8004455C C4C80014 */ lwc1 $f8, 0x14($a2) -/* 045160 80044560 46062001 */ sub.s $f0, $f4, $f6 -/* 045164 80044564 C44A0014 */ lwc1 $f10, 0x14($v0) -/* 045168 80044568 46000402 */ mul.s $f16, $f0, $f0 -/* 04516C 8004456C 460A4381 */ sub.s $f14, $f8, $f10 -/* 045170 80044570 E7A00064 */ swc1 $f0, 0x64($sp) -/* 045174 80044574 E7AE0060 */ swc1 $f14, 0x60($sp) -/* 045178 80044578 460E7482 */ mul.s $f18, $f14, $f14 -/* 04517C 8004457C AFA60074 */ sw $a2, 0x74($sp) -/* 045180 80044580 0C0326B4 */ jal sqrtf -/* 045184 80044584 46128300 */ add.s $f12, $f16, $f18 -/* 045188 80044588 44802800 */ mtc1 $zero, $f5 -/* 04518C 8004458C 44802000 */ mtc1 $zero, $f4 -/* 045190 80044590 460001A1 */ cvt.d.s $f6, $f0 -/* 045194 80044594 4626203C */ c.lt.d $f4, $f6 -/* 045198 80044598 8FA60074 */ lw $a2, 0x74($sp) -/* 04519C 8004459C C7AE0060 */ lwc1 $f14, 0x60($sp) -/* 0451A0 800445A0 4500001A */ bc1f .L8004460C -/* 0451A4 800445A4 E7A0005C */ swc1 $f0, 0x5c($sp) -/* 0451A8 800445A8 C7AC0064 */ lwc1 $f12, 0x64($sp) -/* 0451AC 800445AC 0C01C1D4 */ jal arctan2_f -/* 0451B0 800445B0 AFA60074 */ sw $a2, 0x74($sp) -/* 0451B4 800445B4 24018000 */ li $at, -32768 -/* 0451B8 800445B8 00417821 */ addu $t7, $v0, $at -/* 0451BC 800445BC 31F8FFFF */ andi $t8, $t7, 0xffff -/* 0451C0 800445C0 AFB80058 */ sw $t8, 0x58($sp) -/* 0451C4 800445C4 861901A0 */ lh $t9, 0x1a0($s0) -/* 0451C8 800445C8 34018001 */ li $at, 32769 -/* 0451CC 800445CC 332CFFFF */ andi $t4, $t9, 0xffff -/* 0451D0 800445D0 030C1823 */ subu $v1, $t8, $t4 -/* 0451D4 800445D4 8FA60074 */ lw $a2, 0x74($sp) -/* 0451D8 800445D8 0061082A */ slt $at, $v1, $at -/* 0451DC 800445DC 14200003 */ bnez $at, .L800445EC -/* 0451E0 800445E0 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 0451E4 800445E4 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 0451E8 800445E8 00611821 */ addu $v1, $v1, $at -.L800445EC: -/* 0451EC 800445EC 28618000 */ slti $at, $v1, -0x8000 -/* 0451F0 800445F0 10200002 */ beqz $at, .L800445FC -/* 0451F4 800445F4 3401FFFF */ li $at, 65535 -/* 0451F8 800445F8 00611821 */ addu $v1, $v1, $at -.L800445FC: -/* 0451FC 800445FC 00036823 */ negu $t5, $v1 -/* 045200 80044600 000D7103 */ sra $t6, $t5, 4 -/* 045204 80044604 3C018012 */ lui $at, %hi(gCurrentStickX) # $at, 0x8012 -/* 045208 80044608 AC2ED534 */ sw $t6, %lo(gCurrentStickX)($at) -.L8004460C: -/* 04520C 8004460C 3C0F8012 */ lui $t7, %hi(gRaceStartTimer) # $t7, 0x8012 -/* 045210 80044610 8DEFD540 */ lw $t7, %lo(gRaceStartTimer)($t7) -/* 045214 80044614 00000000 */ nop -/* 045218 80044618 11E00002 */ beqz $t7, .L80044624 -/* 04521C 8004461C 00000000 */ nop -/* 045220 80044620 A60001C6 */ sh $zero, 0x1c6($s0) -.L80044624: -/* 045224 80044624 920301CD */ lbu $v1, 0x1cd($s0) -/* 045228 80044628 24010002 */ li $at, 2 -/* 04522C 8004462C 10610005 */ beq $v1, $at, .L80044644 -/* 045230 80044630 24010004 */ li $at, 4 -/* 045234 80044634 10610003 */ beq $v1, $at, .L80044644 -/* 045238 80044638 24010005 */ li $at, 5 -/* 04523C 8004463C 14610009 */ bne $v1, $at, .L80044664 -/* 045240 80044640 8FAC0078 */ lw $t4, 0x78($sp) -.L80044644: -/* 045244 80044644 860201C6 */ lh $v0, 0x1c6($s0) -/* 045248 80044648 8FB90080 */ lw $t9, 0x80($sp) -/* 04524C 8004464C 18400003 */ blez $v0, .L8004465C -/* 045250 80044650 0059C023 */ subu $t8, $v0, $t9 -/* 045254 80044654 10000002 */ b .L80044660 -/* 045258 80044658 A61801C6 */ sh $t8, 0x1c6($s0) -.L8004465C: -/* 04525C 8004465C A60001C6 */ sh $zero, 0x1c6($s0) -.L80044660: -/* 045260 80044660 8FAC0078 */ lw $t4, 0x78($sp) -.L80044664: -/* 045264 80044664 00000000 */ nop -/* 045268 80044668 C58C0010 */ lwc1 $f12, 0x10($t4) -/* 04526C 8004466C 0C007106 */ jal obj_elevation -/* 045270 80044670 AFA60074 */ sw $a2, 0x74($sp) -/* 045274 80044674 920301CD */ lbu $v1, 0x1cd($s0) -/* 045278 80044678 8FA60074 */ lw $a2, 0x74($sp) -/* 04527C 8004467C 246DFFFF */ addiu $t5, $v1, -1 -/* 045280 80044680 2DA10007 */ sltiu $at, $t5, 7 -/* 045284 80044684 A2020212 */ sb $v0, 0x212($s0) -/* 045288 80044688 10200245 */ beqz $at, .L80044FA0 -/* 04528C 8004468C 24050001 */ li $a1, 1 -/* 045290 80044690 000D6880 */ sll $t5, $t5, 2 -/* 045294 80044694 3C01800E */ lui $at, %hi(jpt_800E6318) # $at, 0x800e -/* 045298 80044698 002D0821 */ addu $at, $at, $t5 -/* 04529C 8004469C 8C2D6318 */ lw $t5, %lo(jpt_800E6318)($at) -/* 0452A0 800446A0 00000000 */ nop -/* 0452A4 800446A4 01A00008 */ jr $t5 -/* 0452A8 800446A8 00000000 */ nop -glabel L800446AC -/* 0452AC 800446AC 00002025 */ move $a0, $zero -/* 0452B0 800446B0 0C01BE53 */ jal get_random_number_from_range -/* 0452B4 800446B4 24050009 */ li $a1, 9 -/* 0452B8 800446B8 820E0173 */ lb $t6, 0x173($s0) -/* 0452BC 800446BC 8FAD0038 */ lw $t5, 0x38($sp) -/* 0452C0 800446C0 15C00035 */ bnez $t6, .L80044798 -/* 0452C4 800446C4 00000000 */ nop -/* 0452C8 800446C8 8FAF0038 */ lw $t7, 0x38($sp) -/* 0452CC 800446CC 00000000 */ nop -/* 0452D0 800446D0 81E40003 */ lb $a0, 3($t7) -/* 0452D4 800446D4 0C011114 */ jal roll_percent_chance -/* 0452D8 800446D8 00000000 */ nop -/* 0452DC 800446DC 10400003 */ beqz $v0, .L800446EC -/* 0452E0 800446E0 24190003 */ li $t9, 3 -/* 0452E4 800446E4 1000022E */ b .L80044FA0 -/* 0452E8 800446E8 A21901CD */ sb $t9, 0x1cd($s0) -.L800446EC: -/* 0452EC 800446EC 8FB80038 */ lw $t8, 0x38($sp) -/* 0452F0 800446F0 00000000 */ nop -/* 0452F4 800446F4 83040006 */ lb $a0, 6($t8) -/* 0452F8 800446F8 0C011114 */ jal roll_percent_chance -/* 0452FC 800446FC 00000000 */ nop -/* 045300 80044700 1040000D */ beqz $v0, .L80044738 -/* 045304 80044704 8FAF0038 */ lw $t7, 0x38($sp) -/* 045308 80044708 83AC003F */ lb $t4, 0x3f($sp) -/* 04530C 8004470C 24010041 */ li $at, 65 -/* 045310 80044710 15810009 */ bne $t4, $at, .L80044738 -/* 045314 80044714 8FAF0038 */ lw $t7, 0x38($sp) -/* 045318 80044718 820D0185 */ lb $t5, 0x185($s0) -/* 04531C 8004471C 240E0007 */ li $t6, 7 -/* 045320 80044720 29A10002 */ slti $at, $t5, 2 -/* 045324 80044724 14200004 */ bnez $at, .L80044738 -/* 045328 80044728 8FAF0038 */ lw $t7, 0x38($sp) -/* 04532C 8004472C 1000021C */ b .L80044FA0 -/* 045330 80044730 A20E01CD */ sb $t6, 0x1cd($s0) -/* 045334 80044734 8FAF0038 */ lw $t7, 0x38($sp) -.L80044738: -/* 045338 80044738 00000000 */ nop -/* 04533C 8004473C 81E40005 */ lb $a0, 5($t7) -/* 045340 80044740 0C011114 */ jal roll_percent_chance -/* 045344 80044744 00000000 */ nop -/* 045348 80044748 1040000E */ beqz $v0, .L80044784 -/* 04534C 8004474C 3C188012 */ lui $t8, %hi(D_8011D58C) # $t8, 0x8012 -/* 045350 80044750 82190002 */ lb $t9, 2($s0) -/* 045354 80044754 2718D58C */ addiu $t8, %lo(D_8011D58C) # addiu $t8, $t8, -0x2a74 -/* 045358 80044758 03381021 */ addu $v0, $t9, $t8 -/* 04535C 8004475C 804C0000 */ lb $t4, ($v0) -/* 045360 80044760 240D04B0 */ li $t5, 1200 -/* 045364 80044764 11800007 */ beqz $t4, .L80044784 -/* 045368 80044768 24190005 */ li $t9, 5 -/* 04536C 8004476C A60D01C6 */ sh $t5, 0x1c6($s0) -/* 045370 80044770 804E0000 */ lb $t6, ($v0) -/* 045374 80044774 A21901CD */ sb $t9, 0x1cd($s0) -/* 045378 80044778 25CFFFFF */ addiu $t7, $t6, -1 -/* 04537C 8004477C 10000208 */ b .L80044FA0 -/* 045380 80044780 A20F01CF */ sb $t7, 0x1cf($s0) -.L80044784: -/* 045384 80044784 24180002 */ li $t8, 2 -/* 045388 80044788 240C012C */ li $t4, 300 -/* 04538C 8004478C A21801CD */ sb $t8, 0x1cd($s0) -/* 045390 80044790 10000203 */ b .L80044FA0 -/* 045394 80044794 A60C01C6 */ sh $t4, 0x1c6($s0) -.L80044798: -/* 045398 80044798 81A40006 */ lb $a0, 6($t5) -/* 04539C 8004479C 0C011114 */ jal roll_percent_chance -/* 0453A0 800447A0 00000000 */ nop -/* 0453A4 800447A4 1040000D */ beqz $v0, .L800447DC -/* 0453A8 800447A8 8FB80038 */ lw $t8, 0x38($sp) -/* 0453AC 800447AC 83AE003F */ lb $t6, 0x3f($sp) -/* 0453B0 800447B0 24010041 */ li $at, 65 -/* 0453B4 800447B4 15C10009 */ bne $t6, $at, .L800447DC -/* 0453B8 800447B8 8FB80038 */ lw $t8, 0x38($sp) -/* 0453BC 800447BC 820F0185 */ lb $t7, 0x185($s0) -/* 0453C0 800447C0 24190007 */ li $t9, 7 -/* 0453C4 800447C4 29E10002 */ slti $at, $t7, 2 -/* 0453C8 800447C8 14200004 */ bnez $at, .L800447DC -/* 0453CC 800447CC 8FB80038 */ lw $t8, 0x38($sp) -/* 0453D0 800447D0 100001F3 */ b .L80044FA0 -/* 0453D4 800447D4 A21901CD */ sb $t9, 0x1cd($s0) -/* 0453D8 800447D8 8FB80038 */ lw $t8, 0x38($sp) -.L800447DC: -/* 0453DC 800447DC 00000000 */ nop -/* 0453E0 800447E0 83040000 */ lb $a0, ($t8) -/* 0453E4 800447E4 0C011114 */ jal roll_percent_chance -/* 0453E8 800447E8 00000000 */ nop -/* 0453EC 800447EC 10400081 */ beqz $v0, .L800449F4 -/* 0453F0 800447F0 24180002 */ li $t8, 2 -/* 0453F4 800447F4 0C011114 */ jal roll_percent_chance -/* 0453F8 800447F8 24040032 */ li $a0, 50 -/* 0453FC 800447FC 8FAC0038 */ lw $t4, 0x38($sp) -/* 045400 80044800 10400003 */ beqz $v0, .L80044810 -/* 045404 80044804 00005025 */ move $t2, $zero -/* 045408 80044808 10000001 */ b .L80044810 -/* 04540C 8004480C 240A0001 */ li $t2, 1 -.L80044810: -/* 045410 80044810 81840001 */ lb $a0, 1($t4) -/* 045414 80044814 0C011114 */ jal roll_percent_chance -/* 045418 80044818 A7AA004C */ sh $t2, 0x4c($sp) -/* 04541C 8004481C 87AA004C */ lh $t2, 0x4c($sp) -/* 045420 80044820 10400003 */ beqz $v0, .L80044830 -/* 045424 80044824 2408FFFF */ li $t0, -1 -/* 045428 80044828 10000002 */ b .L80044834 -/* 04542C 8004482C 00004825 */ move $t1, $zero -.L80044830: -/* 045430 80044830 24090001 */ li $t1, 1 -.L80044834: -/* 045434 80044834 01203825 */ move $a3, $t1 -/* 045438 80044838 00076D00 */ sll $t5, $a3, 0x14 -/* 04543C 8004483C 000D3C03 */ sra $a3, $t5, 0x10 -/* 045440 80044840 00002825 */ move $a1, $zero -.L80044844: -/* 045444 80044844 11400006 */ beqz $t2, .L80044860 -/* 045448 80044848 3C0D8012 */ lui $t5, %hi(D_8011D58C) # $t5, 0x8012 -/* 04544C 8004484C 240F0003 */ li $t7, 3 -/* 045450 80044850 01E53023 */ subu $a2, $t7, $a1 -/* 045454 80044854 0006CC00 */ sll $t9, $a2, 0x10 -/* 045458 80044858 10000004 */ b .L8004486C -/* 04545C 8004485C 00193403 */ sra $a2, $t9, 0x10 -.L80044860: -/* 045460 80044860 00053400 */ sll $a2, $a1, 0x10 -/* 045464 80044864 00066403 */ sra $t4, $a2, 0x10 -/* 045468 80044868 01803025 */ move $a2, $t4 -.L8004486C: -/* 04546C 8004486C 01A66821 */ addu $t5, $t5, $a2 -/* 045470 80044870 81ADD58C */ lb $t5, %lo(D_8011D58C)($t5) -/* 045474 80044874 00000000 */ nop -/* 045478 80044878 15A0002D */ bnez $t5, .L80044930 -/* 04547C 8004487C 00000000 */ nop -/* 045480 80044880 820E0002 */ lb $t6, 2($s0) -/* 045484 80044884 00C02025 */ move $a0, $a2 -/* 045488 80044888 10CE0029 */ beq $a2, $t6, .L80044930 -/* 04548C 8004488C 00000000 */ nop -/* 045490 80044890 A7A50052 */ sh $a1, 0x52($sp) -/* 045494 80044894 A7A60050 */ sh $a2, 0x50($sp) -/* 045498 80044898 A7A70048 */ sh $a3, 0x48($sp) -/* 04549C 8004489C A7A8004A */ sh $t0, 0x4a($sp) -/* 0454A0 800448A0 A7A90046 */ sh $t1, 0x46($sp) -/* 0454A4 800448A4 0C006EB2 */ jal get_racer_object -/* 0454A8 800448A8 A7AA004C */ sh $t2, 0x4c($sp) -/* 0454AC 800448AC 87A90046 */ lh $t1, 0x46($sp) -/* 0454B0 800448B0 87A50052 */ lh $a1, 0x52($sp) -/* 0454B4 800448B4 87A60050 */ lh $a2, 0x50($sp) -/* 0454B8 800448B8 87A70048 */ lh $a3, 0x48($sp) -/* 0454BC 800448BC 87A8004A */ lh $t0, 0x4a($sp) -/* 0454C0 800448C0 87AA004C */ lh $t2, 0x4c($sp) -/* 0454C4 800448C4 8C430064 */ lw $v1, 0x64($v0) -/* 0454C8 800448C8 1520000D */ bnez $t1, .L80044900 -/* 0454CC 800448CC 00000000 */ nop -/* 0454D0 800448D0 80620185 */ lb $v0, 0x185($v1) -/* 0454D4 800448D4 00000000 */ nop -/* 0454D8 800448D8 00E2082A */ slt $at, $a3, $v0 -/* 0454DC 800448DC 10200014 */ beqz $at, .L80044930 -/* 0454E0 800448E0 00000000 */ nop -/* 0454E4 800448E4 00023C00 */ sll $a3, $v0, 0x10 -/* 0454E8 800448E8 00064400 */ sll $t0, $a2, 0x10 -/* 0454EC 800448EC 00077C03 */ sra $t7, $a3, 0x10 -/* 0454F0 800448F0 0008CC03 */ sra $t9, $t0, 0x10 -/* 0454F4 800448F4 01E03825 */ move $a3, $t7 -/* 0454F8 800448F8 1000000D */ b .L80044930 -/* 0454FC 800448FC 03204025 */ move $t0, $t9 -.L80044900: -/* 045500 80044900 80620185 */ lb $v0, 0x185($v1) -/* 045504 80044904 00000000 */ nop -/* 045508 80044908 18400009 */ blez $v0, .L80044930 -/* 04550C 8004490C 0047082A */ slt $at, $v0, $a3 -/* 045510 80044910 10200007 */ beqz $at, .L80044930 -/* 045514 80044914 00000000 */ nop -/* 045518 80044918 00023C00 */ sll $a3, $v0, 0x10 -/* 04551C 8004491C 00064400 */ sll $t0, $a2, 0x10 -/* 045520 80044920 0007C403 */ sra $t8, $a3, 0x10 -/* 045524 80044924 00086403 */ sra $t4, $t0, 0x10 -/* 045528 80044928 03003825 */ move $a3, $t8 -/* 04552C 8004492C 01804025 */ move $t0, $t4 -.L80044930: -/* 045530 80044930 24A50001 */ addiu $a1, $a1, 1 -/* 045534 80044934 00056C00 */ sll $t5, $a1, 0x10 -/* 045538 80044938 000D2C03 */ sra $a1, $t5, 0x10 -/* 04553C 8004493C 28A10004 */ slti $at, $a1, 4 -/* 045540 80044940 1420FFC0 */ bnez $at, .L80044844 -/* 045544 80044944 00000000 */ nop -/* 045548 80044948 8FAF0038 */ lw $t7, 0x38($sp) -/* 04554C 8004494C 00000000 */ nop -/* 045550 80044950 81E40002 */ lb $a0, 2($t7) -/* 045554 80044954 A7A8004A */ sh $t0, 0x4a($sp) -/* 045558 80044958 0C011114 */ jal roll_percent_chance -/* 04555C 8004495C A7A60050 */ sh $a2, 0x50($sp) -/* 045560 80044960 87A60050 */ lh $a2, 0x50($sp) -/* 045564 80044964 87A8004A */ lh $t0, 0x4a($sp) -/* 045568 80044968 10400011 */ beqz $v0, .L800449B0 -/* 04556C 8004496C 00000000 */ nop -/* 045570 80044970 A7A60050 */ sh $a2, 0x50($sp) -/* 045574 80044974 0C019884 */ jal get_viewport_count -/* 045578 80044978 A7A8004A */ sh $t0, 0x4a($sp) -/* 04557C 8004497C 87A60050 */ lh $a2, 0x50($sp) -/* 045580 80044980 87A8004A */ lh $t0, 0x4a($sp) -/* 045584 80044984 1440000A */ bnez $v0, .L800449B0 -/* 045588 80044988 00C02025 */ move $a0, $a2 -/* 04558C 8004498C 0C006EB2 */ jal get_racer_object -/* 045590 80044990 A7A8004A */ sh $t0, 0x4a($sp) -/* 045594 80044994 8C430064 */ lw $v1, 0x64($v0) -/* 045598 80044998 87A8004A */ lh $t0, 0x4a($sp) -/* 04559C 8004499C 80790185 */ lb $t9, 0x185($v1) -/* 0455A0 800449A0 00000000 */ nop -/* 0455A4 800449A4 1B200002 */ blez $t9, .L800449B0 -/* 0455A8 800449A8 00000000 */ nop -/* 0455AC 800449AC 00004025 */ move $t0, $zero -.L800449B0: -/* 0455B0 800449B0 0500000C */ bltz $t0, .L800449E4 -/* 0455B4 800449B4 240F0002 */ li $t7, 2 -/* 0455B8 800449B8 82180002 */ lb $t8, 2($s0) -/* 0455BC 800449BC 3C018012 */ lui $at, %hi(D_8011D58C) # $at, 0x8012 -/* 0455C0 800449C0 A20801CF */ sb $t0, 0x1cf($s0) -/* 0455C4 800449C4 00280821 */ addu $at, $at, $t0 -/* 0455C8 800449C8 270C0001 */ addiu $t4, $t8, 1 -/* 0455CC 800449CC A02CD58C */ sb $t4, %lo(D_8011D58C)($at) -/* 0455D0 800449D0 240D0004 */ li $t5, 4 -/* 0455D4 800449D4 240E04B0 */ li $t6, 1200 -/* 0455D8 800449D8 A20D01CD */ sb $t5, 0x1cd($s0) -/* 0455DC 800449DC 10000170 */ b .L80044FA0 -/* 0455E0 800449E0 A60E01C6 */ sh $t6, 0x1c6($s0) -.L800449E4: -/* 0455E4 800449E4 241904B0 */ li $t9, 1200 -/* 0455E8 800449E8 A20F01CD */ sb $t7, 0x1cd($s0) -/* 0455EC 800449EC 1000016C */ b .L80044FA0 -/* 0455F0 800449F0 A61901C6 */ sh $t9, 0x1c6($s0) -.L800449F4: -/* 0455F4 800449F4 240C012C */ li $t4, 300 -/* 0455F8 800449F8 A21801CD */ sb $t8, 0x1cd($s0) -/* 0455FC 800449FC 10000168 */ b .L80044FA0 -/* 045600 80044A00 A60C01C6 */ sh $t4, 0x1c6($s0) -glabel L80044A04 -/* 045604 80044A04 246DFFFE */ addiu $t5, $v1, -2 -/* 045608 80044A08 2DA10006 */ sltiu $at, $t5, 6 -/* 04560C 80044A0C 10200033 */ beqz $at, .L80044ADC -/* 045610 80044A10 000D6880 */ sll $t5, $t5, 2 -/* 045614 80044A14 3C01800E */ lui $at, %hi(jpt_800E6334) # $at, 0x800e -/* 045618 80044A18 002D0821 */ addu $at, $at, $t5 -/* 04561C 80044A1C 8C2D6334 */ lw $t5, %lo(jpt_800E6334)($at) -/* 045620 80044A20 00000000 */ nop -/* 045624 80044A24 01A00008 */ jr $t5 -/* 045628 80044A28 00000000 */ nop -glabel L80044A2C -/* 04562C 80044A2C 860E01C6 */ lh $t6, 0x1c6($s0) -/* 045630 80044A30 00000000 */ nop -/* 045634 80044A34 15C00029 */ bnez $t6, .L80044ADC -/* 045638 80044A38 00000000 */ nop -/* 04563C 80044A3C 10000027 */ b .L80044ADC -/* 045640 80044A40 A20501CD */ sb $a1, 0x1cd($s0) -glabel L80044A44 -/* 045644 80044A44 820F0172 */ lb $t7, 0x172($s0) -/* 045648 80044A48 24190002 */ li $t9, 2 -/* 04564C 80044A4C 11E00023 */ beqz $t7, .L80044ADC -/* 045650 80044A50 241800B4 */ li $t8, 180 -/* 045654 80044A54 A21901CD */ sb $t9, 0x1cd($s0) -/* 045658 80044A58 10000020 */ b .L80044ADC -/* 04565C 80044A5C A61801C6 */ sh $t8, 0x1c6($s0) -glabel L80044A60 -/* 045660 80044A60 820C0173 */ lb $t4, 0x173($s0) -/* 045664 80044A64 3C018012 */ lui $at, %hi(D_8011D58C) # $at, 0x8012 -/* 045668 80044A68 11800005 */ beqz $t4, .L80044A80 -/* 04566C 80044A6C 00000000 */ nop -/* 045670 80044A70 860D01C6 */ lh $t5, 0x1c6($s0) -/* 045674 80044A74 00000000 */ nop -/* 045678 80044A78 15A00018 */ bnez $t5, .L80044ADC -/* 04567C 80044A7C 00000000 */ nop -.L80044A80: -/* 045680 80044A80 820E01CF */ lb $t6, 0x1cf($s0) -/* 045684 80044A84 A20501CD */ sb $a1, 0x1cd($s0) -/* 045688 80044A88 002E0821 */ addu $at, $at, $t6 -/* 04568C 80044A8C 10000013 */ b .L80044ADC -/* 045690 80044A90 A020D58C */ sb $zero, %lo(D_8011D58C)($at) -glabel L80044A94 -/* 045694 80044A94 820F0002 */ lb $t7, 2($s0) -/* 045698 80044A98 3C198012 */ lui $t9, %hi(D_8011D58C) # $t9, 0x8012 -/* 04569C 80044A9C 032FC821 */ addu $t9, $t9, $t7 -/* 0456A0 80044AA0 8339D58C */ lb $t9, %lo(D_8011D58C)($t9) -/* 0456A4 80044AA4 00000000 */ nop -/* 0456A8 80044AA8 13200005 */ beqz $t9, .L80044AC0 -/* 0456AC 80044AAC 00000000 */ nop -/* 0456B0 80044AB0 861801C6 */ lh $t8, 0x1c6($s0) -/* 0456B4 80044AB4 00000000 */ nop -/* 0456B8 80044AB8 17000008 */ bnez $t8, .L80044ADC -/* 0456BC 80044ABC 00000000 */ nop -.L80044AC0: -/* 0456C0 80044AC0 10000006 */ b .L80044ADC -/* 0456C4 80044AC4 A20501CD */ sb $a1, 0x1cd($s0) -glabel L80044AC8 -/* 0456C8 80044AC8 820C0185 */ lb $t4, 0x185($s0) -/* 0456CC 80044ACC 00000000 */ nop -/* 0456D0 80044AD0 15800002 */ bnez $t4, .L80044ADC -/* 0456D4 80044AD4 00000000 */ nop -/* 0456D8 80044AD8 A20501CD */ sb $a1, 0x1cd($s0) -.L80044ADC: -glabel L80044ADC -/* 0456DC 80044ADC 920401CE */ lbu $a0, 0x1ce($s0) -/* 0456E0 80044AE0 240100FF */ li $at, 255 -/* 0456E4 80044AE4 10810026 */ beq $a0, $at, .L80044B80 -/* 0456E8 80044AE8 00000000 */ nop -/* 0456EC 80044AEC 82030212 */ lb $v1, 0x212($s0) -/* 0456F0 80044AF0 AFA60074 */ sw $a2, 0x74($sp) -/* 0456F4 80044AF4 0C007485 */ jal ainode_get -/* 0456F8 80044AF8 A7A3004E */ sh $v1, 0x4e($sp) -/* 0456FC 80044AFC 8FAB006C */ lw $t3, 0x6c($sp) -/* 045700 80044B00 8C4A003C */ lw $t2, 0x3c($v0) -/* 045704 80044B04 8164000E */ lb $a0, 0xe($t3) -/* 045708 80044B08 8145000E */ lb $a1, 0xe($t2) -/* 04570C 80044B0C 87A3004E */ lh $v1, 0x4e($sp) -/* 045710 80044B10 8FA60074 */ lw $a2, 0x74($sp) -/* 045714 80044B14 0085082A */ slt $at, $a0, $a1 -/* 045718 80044B18 10200008 */ beqz $at, .L80044B3C -/* 04571C 80044B1C 00004825 */ move $t1, $zero -/* 045720 80044B20 00A3082A */ slt $at, $a1, $v1 -/* 045724 80044B24 14200003 */ bnez $at, .L80044B34 -/* 045728 80044B28 0064082A */ slt $at, $v1, $a0 -/* 04572C 80044B2C 10200009 */ beqz $at, .L80044B54 -/* 045730 80044B30 00000000 */ nop -.L80044B34: -/* 045734 80044B34 10000007 */ b .L80044B54 -/* 045738 80044B38 24090001 */ li $t1, 1 -.L80044B3C: -/* 04573C 80044B3C 0083082A */ slt $at, $a0, $v1 -/* 045740 80044B40 14200003 */ bnez $at, .L80044B50 -/* 045744 80044B44 0065082A */ slt $at, $v1, $a1 -/* 045748 80044B48 10200002 */ beqz $at, .L80044B54 -/* 04574C 80044B4C 00000000 */ nop -.L80044B50: -/* 045750 80044B50 24090001 */ li $t1, 1 -.L80044B54: -/* 045754 80044B54 1120000A */ beqz $t1, .L80044B80 -/* 045758 80044B58 240F0006 */ li $t7, 6 -/* 04575C 80044B5C 920D01CD */ lbu $t5, 0x1cd($s0) -/* 045760 80044B60 24010004 */ li $at, 4 -/* 045764 80044B64 15A10005 */ bne $t5, $at, .L80044B7C -/* 045768 80044B68 00000000 */ nop -/* 04576C 80044B6C 820E01CF */ lb $t6, 0x1cf($s0) -/* 045770 80044B70 3C018012 */ lui $at, %hi(D_8011D58C) # $at, 0x8012 -/* 045774 80044B74 002E0821 */ addu $at, $at, $t6 -/* 045778 80044B78 A020D58C */ sb $zero, %lo(D_8011D58C)($at) -.L80044B7C: -/* 04577C 80044B7C A20F01CD */ sb $t7, 0x1cd($s0) -.L80044B80: -/* 045780 80044B80 3C028012 */ lui $v0, %hi(gCurrentStickX) # $v0, 0x8012 -/* 045784 80044B84 8C42D534 */ lw $v0, %lo(gCurrentStickX)($v0) -/* 045788 80044B88 00000000 */ nop -/* 04578C 80044B8C 2841FFE3 */ slti $at, $v0, -0x1d -/* 045790 80044B90 1420000E */ bnez $at, .L80044BCC -/* 045794 80044B94 2841001E */ slti $at, $v0, 0x1e -/* 045798 80044B98 1020000C */ beqz $at, .L80044BCC -/* 04579C 80044B9C 00000000 */ nop -/* 0457A0 80044BA0 C60A002C */ lwc1 $f10, 0x2c($s0) -/* 0457A4 80044BA4 3C01C024 */ li $at, 0xC0240000 # -2.562500 -/* 0457A8 80044BA8 44814800 */ mtc1 $at, $f9 -/* 0457AC 80044BAC 44804000 */ mtc1 $zero, $f8 -/* 0457B0 80044BB0 46005421 */ cvt.d.s $f16, $f10 -/* 0457B4 80044BB4 4630403C */ c.lt.d $f8, $f16 -/* 0457B8 80044BB8 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 0457BC 80044BBC 4500001B */ bc1f .L80044C2C -/* 0457C0 80044BC0 34198000 */ li $t9, 32768 -/* 0457C4 80044BC4 10000019 */ b .L80044C2C -/* 0457C8 80044BC8 AC39D528 */ sw $t9, %lo(gCurrentRacerInput)($at) -.L80044BCC: -/* 0457CC 80044BCC C604002C */ lwc1 $f4, 0x2c($s0) -/* 0457D0 80044BD0 3C01C010 */ li $at, 0xC0100000 # -2.250000 -/* 0457D4 80044BD4 44819800 */ mtc1 $at, $f19 -/* 0457D8 80044BD8 44809000 */ mtc1 $zero, $f18 -/* 0457DC 80044BDC 460021A1 */ cvt.d.s $f6, $f4 -/* 0457E0 80044BE0 4626903C */ c.lt.d $f18, $f6 -/* 0457E4 80044BE4 44805000 */ mtc1 $zero, $f10 -/* 0457E8 80044BE8 45000005 */ bc1f .L80044C00 -/* 0457EC 80044BEC 240C4000 */ li $t4, 16384 -/* 0457F0 80044BF0 3418C000 */ li $t8, 49152 -/* 0457F4 80044BF4 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 0457F8 80044BF8 10000003 */ b .L80044C08 -/* 0457FC 80044BFC AC38D528 */ sw $t8, %lo(gCurrentRacerInput)($at) -.L80044C00: -/* 045800 80044C00 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 045804 80044C04 AC2CD528 */ sw $t4, %lo(gCurrentRacerInput)($at) -.L80044C08: -/* 045808 80044C08 C608002C */ lwc1 $f8, 0x2c($s0) -/* 04580C 80044C0C 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 -/* 045810 80044C10 44815800 */ mtc1 $at, $f11 -/* 045814 80044C14 46004421 */ cvt.d.s $f16, $f8 -/* 045818 80044C18 4630503C */ c.lt.d $f10, $f16 -/* 04581C 80044C1C 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 045820 80044C20 45000002 */ bc1f .L80044C2C -/* 045824 80044C24 340D8000 */ li $t5, 32768 -/* 045828 80044C28 AC2DD528 */ sw $t5, %lo(gCurrentRacerInput)($at) -.L80044C2C: -/* 04582C 80044C2C 8E080158 */ lw $t0, 0x158($s0) -/* 045830 80044C30 00000000 */ nop -/* 045834 80044C34 1100003B */ beqz $t0, .L80044D24 -/* 045838 80044C38 00000000 */ nop -/* 04583C 80044C3C C504000C */ lwc1 $f4, 0xc($t0) -/* 045840 80044C40 C4D2000C */ lwc1 $f18, 0xc($a2) -/* 045844 80044C44 C5060014 */ lwc1 $f6, 0x14($t0) -/* 045848 80044C48 46122001 */ sub.s $f0, $f4, $f18 -/* 04584C 80044C4C C4C80014 */ lwc1 $f8, 0x14($a2) -/* 045850 80044C50 46000282 */ mul.s $f10, $f0, $f0 -/* 045854 80044C54 46083381 */ sub.s $f14, $f6, $f8 -/* 045858 80044C58 E7A00064 */ swc1 $f0, 0x64($sp) -/* 04585C 80044C5C E7AE0060 */ swc1 $f14, 0x60($sp) -/* 045860 80044C60 460E7402 */ mul.s $f16, $f14, $f14 -/* 045864 80044C64 0C0326B4 */ jal sqrtf -/* 045868 80044C68 46105300 */ add.s $f12, $f10, $f16 -/* 04586C 80044C6C 44802800 */ mtc1 $zero, $f5 -/* 045870 80044C70 44802000 */ mtc1 $zero, $f4 -/* 045874 80044C74 460004A1 */ cvt.d.s $f18, $f0 -/* 045878 80044C78 4632203C */ c.lt.d $f4, $f18 -/* 04587C 80044C7C C7AE0060 */ lwc1 $f14, 0x60($sp) -/* 045880 80044C80 45000028 */ bc1f .L80044D24 -/* 045884 80044C84 00000000 */ nop -/* 045888 80044C88 C7AC0064 */ lwc1 $f12, 0x64($sp) -/* 04588C 80044C8C 0C01C1D4 */ jal arctan2_f -/* 045890 80044C90 00000000 */ nop -/* 045894 80044C94 24018000 */ li $at, -32768 -/* 045898 80044C98 00417021 */ addu $t6, $v0, $at -/* 04589C 80044C9C 31CFFFFF */ andi $t7, $t6, 0xffff -/* 0458A0 80044CA0 AFAF0058 */ sw $t7, 0x58($sp) -/* 0458A4 80044CA4 861901A0 */ lh $t9, 0x1a0($s0) -/* 0458A8 80044CA8 34018001 */ li $at, 32769 -/* 0458AC 80044CAC 3338FFFF */ andi $t8, $t9, 0xffff -/* 0458B0 80044CB0 01F81823 */ subu $v1, $t7, $t8 -/* 0458B4 80044CB4 0061082A */ slt $at, $v1, $at -/* 0458B8 80044CB8 14200003 */ bnez $at, .L80044CC8 -/* 0458BC 80044CBC 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 0458C0 80044CC0 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 0458C4 80044CC4 00611821 */ addu $v1, $v1, $at -.L80044CC8: -/* 0458C8 80044CC8 28618000 */ slti $at, $v1, -0x8000 -/* 0458CC 80044CCC 10200002 */ beqz $at, .L80044CD8 -/* 0458D0 80044CD0 3401FFFF */ li $at, 65535 -/* 0458D4 80044CD4 00611821 */ addu $v1, $v1, $at -.L80044CD8: -/* 0458D8 80044CD8 28611501 */ slti $at, $v1, 0x1501 -/* 0458DC 80044CDC 10200003 */ beqz $at, .L80044CEC -/* 0458E0 80044CE0 2861EB00 */ slti $at, $v1, -0x1500 -/* 0458E4 80044CE4 1020000F */ beqz $at, .L80044D24 -/* 0458E8 80044CE8 00000000 */ nop -.L80044CEC: -/* 0458EC 80044CEC C608002C */ lwc1 $f8, 0x2c($s0) -/* 0458F0 80044CF0 3C01C010 */ li $at, 0xC0100000 # -2.250000 -/* 0458F4 80044CF4 44813800 */ mtc1 $at, $f7 -/* 0458F8 80044CF8 44803000 */ mtc1 $zero, $f6 -/* 0458FC 80044CFC 460042A1 */ cvt.d.s $f10, $f8 -/* 045900 80044D00 462A303C */ c.lt.d $f6, $f10 -/* 045904 80044D04 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 045908 80044D08 45000005 */ bc1f .L80044D20 -/* 04590C 80044D0C 240D4000 */ li $t5, 16384 -/* 045910 80044D10 340CC000 */ li $t4, 49152 -/* 045914 80044D14 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 045918 80044D18 10000002 */ b .L80044D24 -/* 04591C 80044D1C AC2CD528 */ sw $t4, %lo(gCurrentRacerInput)($at) -.L80044D20: -/* 045920 80044D20 AC2DD528 */ sw $t5, %lo(gCurrentRacerInput)($at) -.L80044D24: -/* 045924 80044D24 3C01800E */ lui $at, %hi(D_800E6350 + 4) # $at, 0x800e -/* 045928 80044D28 C7B0005C */ lwc1 $f16, 0x5c($sp) -/* 04592C 80044D2C C4336350 */ lwc1 $f19, %lo(D_800E6350)($at) -/* 045930 80044D30 C4326354 */ lwc1 $f18, %lo(D_800E6350 + 4)($at) -/* 045934 80044D34 46008121 */ cvt.d.s $f4, $f16 -/* 045938 80044D38 4632203C */ c.lt.d $f4, $f18 -/* 04593C 80044D3C 8FAB006C */ lw $t3, 0x6c($sp) -/* 045940 80044D40 E7A40024 */ swc1 $f4, 0x24($sp) -/* 045944 80044D44 45000066 */ bc1f .L80044EE0 -/* 045948 80044D48 E7A50020 */ swc1 $f5, 0x20($sp) -/* 04594C 80044D4C 8E0E0158 */ lw $t6, 0x158($s0) -/* 045950 80044D50 00000000 */ nop -/* 045954 80044D54 15C00063 */ bnez $t6, .L80044EE4 -/* 045958 80044D58 3C014049 */ lui $at, 0x4049 -/* 04595C 80044D5C 920201CD */ lbu $v0, 0x1cd($s0) -/* 045960 80044D60 24010003 */ li $at, 3 -/* 045964 80044D64 1041000D */ beq $v0, $at, .L80044D9C -/* 045968 80044D68 24010004 */ li $at, 4 -/* 04596C 80044D6C 10410012 */ beq $v0, $at, .L80044DB8 -/* 045970 80044D70 00000000 */ nop -/* 045974 80044D74 921901CE */ lbu $t9, 0x1ce($s0) -/* 045978 80044D78 82070002 */ lb $a3, 2($s0) -/* 04597C 80044D7C 24010005 */ li $at, 5 -/* 045980 80044D80 1041002F */ beq $v0, $at, .L80044E40 -/* 045984 80044D84 AFB90028 */ sw $t9, 0x28($sp) -/* 045988 80044D88 24010007 */ li $at, 7 -/* 04598C 80044D8C 10410032 */ beq $v0, $at, .L80044E58 -/* 045990 80044D90 00000000 */ nop -/* 045994 80044D94 10000037 */ b .L80044E74 -/* 045998 80044D98 91640009 */ lbu $a0, 9($t3) -.L80044D9C: -/* 04599C 80044D9C 91640009 */ lbu $a0, 9($t3) -/* 0459A0 80044DA0 920601CE */ lbu $a2, 0x1ce($s0) -/* 0459A4 80044DA4 82070002 */ lb $a3, 2($s0) -/* 0459A8 80044DA8 0C00734A */ jal func_8001CD28 -/* 0459AC 80044DAC 24050001 */ li $a1, 1 -/* 0459B0 80044DB0 10000034 */ b .L80044E84 -/* 0459B4 80044DB4 AFA20058 */ sw $v0, 0x58($sp) -.L80044DB8: -/* 0459B8 80044DB8 820401CF */ lb $a0, 0x1cf($s0) -/* 0459BC 80044DBC 0C006EB2 */ jal get_racer_object -/* 0459C0 80044DC0 00000000 */ nop -/* 0459C4 80044DC4 8C430064 */ lw $v1, 0x64($v0) -/* 0459C8 80044DC8 2401FFFF */ li $at, -1 -/* 0459CC 80044DCC 846F0000 */ lh $t7, ($v1) -/* 0459D0 80044DD0 8FB8006C */ lw $t8, 0x6c($sp) -/* 0459D4 80044DD4 15E1000C */ bne $t7, $at, .L80044E08 -/* 0459D8 80044DD8 00404025 */ move $t0, $v0 -/* 0459DC 80044DDC 8C680154 */ lw $t0, 0x154($v1) -/* 0459E0 80044DE0 93040009 */ lbu $a0, 9($t8) -/* 0459E4 80044DE4 8D0A003C */ lw $t2, 0x3c($t0) -/* 0459E8 80044DE8 920601CE */ lbu $a2, 0x1ce($s0) -/* 0459EC 80044DEC 91450009 */ lbu $a1, 9($t2) -/* 0459F0 80044DF0 82070002 */ lb $a3, 2($s0) -/* 0459F4 80044DF4 34AC0100 */ ori $t4, $a1, 0x100 -/* 0459F8 80044DF8 0C00734A */ jal func_8001CD28 -/* 0459FC 80044DFC 01802825 */ move $a1, $t4 -/* 045A00 80044E00 10000020 */ b .L80044E84 -/* 045A04 80044E04 AFA20058 */ sw $v0, 0x58($sp) -.L80044E08: -/* 045A08 80044E08 C50C000C */ lwc1 $f12, 0xc($t0) -/* 045A0C 80044E0C C50E0010 */ lwc1 $f14, 0x10($t0) -/* 045A10 80044E10 8D060014 */ lw $a2, 0x14($t0) -/* 045A14 80044E14 0C007149 */ jal ainode_find_nearest -/* 045A18 80044E18 00003825 */ move $a3, $zero -/* 045A1C 80044E1C AFA20058 */ sw $v0, 0x58($sp) -/* 045A20 80044E20 8FAD006C */ lw $t5, 0x6c($sp) -/* 045A24 80044E24 82070002 */ lb $a3, 2($s0) -/* 045A28 80044E28 920601CE */ lbu $a2, 0x1ce($s0) -/* 045A2C 80044E2C 91A40009 */ lbu $a0, 9($t5) -/* 045A30 80044E30 0C00734A */ jal func_8001CD28 -/* 045A34 80044E34 34450100 */ ori $a1, $v0, 0x100 -/* 045A38 80044E38 10000012 */ b .L80044E84 -/* 045A3C 80044E3C AFA20058 */ sw $v0, 0x58($sp) -.L80044E40: -/* 045A40 80044E40 91640009 */ lbu $a0, 9($t3) -/* 045A44 80044E44 8FA60028 */ lw $a2, 0x28($sp) -/* 045A48 80044E48 0C00734A */ jal func_8001CD28 -/* 045A4C 80044E4C 24050001 */ li $a1, 1 -/* 045A50 80044E50 1000000C */ b .L80044E84 -/* 045A54 80044E54 AFA20058 */ sw $v0, 0x58($sp) -.L80044E58: -/* 045A58 80044E58 91640009 */ lbu $a0, 9($t3) -/* 045A5C 80044E5C 8FA60028 */ lw $a2, 0x28($sp) -/* 045A60 80044E60 0C00734A */ jal func_8001CD28 -/* 045A64 80044E64 24E50004 */ addiu $a1, $a3, 4 -/* 045A68 80044E68 10000006 */ b .L80044E84 -/* 045A6C 80044E6C AFA20058 */ sw $v0, 0x58($sp) -/* 045A70 80044E70 91640009 */ lbu $a0, 9($t3) -.L80044E74: -/* 045A74 80044E74 8FA50028 */ lw $a1, 0x28($sp) -/* 045A78 80044E78 0C007312 */ jal func_8001CC48 -/* 045A7C 80044E7C 00E03025 */ move $a2, $a3 -/* 045A80 80044E80 AFA20058 */ sw $v0, 0x58($sp) -.L80044E84: -/* 045A84 80044E84 240100FF */ li $at, 255 -/* 045A88 80044E88 10410008 */ beq $v0, $at, .L80044EAC -/* 045A8C 80044E8C 00000000 */ nop -/* 045A90 80044E90 8FA40058 */ lw $a0, 0x58($sp) -/* 045A94 80044E94 0C007485 */ jal ainode_get -/* 045A98 80044E98 00000000 */ nop -/* 045A9C 80044E9C AE020158 */ sw $v0, 0x158($s0) -/* 045AA0 80044EA0 8FAB006C */ lw $t3, 0x6c($sp) -/* 045AA4 80044EA4 1000000F */ b .L80044EE4 -/* 045AA8 80044EA8 3C014049 */ lui $at, 0x4049 -.L80044EAC: -/* 045AAC 80044EAC 920401CE */ lbu $a0, 0x1ce($s0) -/* 045AB0 80044EB0 240100FF */ li $at, 255 -/* 045AB4 80044EB4 10810007 */ beq $a0, $at, .L80044ED4 -/* 045AB8 80044EB8 00000000 */ nop -/* 045ABC 80044EBC 0C007485 */ jal ainode_get -/* 045AC0 80044EC0 00000000 */ nop -/* 045AC4 80044EC4 AE020158 */ sw $v0, 0x158($s0) -/* 045AC8 80044EC8 8FAB006C */ lw $t3, 0x6c($sp) -/* 045ACC 80044ECC 10000005 */ b .L80044EE4 -/* 045AD0 80044ED0 3C014049 */ lui $at, 0x4049 -.L80044ED4: -/* 045AD4 80044ED4 AE000158 */ sw $zero, 0x158($s0) -/* 045AD8 80044ED8 8FAB006C */ lw $t3, 0x6c($sp) -/* 045ADC 80044EDC 00000000 */ nop -.L80044EE0: -/* 045AE0 80044EE0 3C014049 */ li $at, 0x40490000 # 3.140625 -.L80044EE4: -/* 045AE4 80044EE4 44813800 */ mtc1 $at, $f7 -/* 045AE8 80044EE8 C7A90020 */ lwc1 $f9, 0x20($sp) -/* 045AEC 80044EEC C7A80024 */ lwc1 $f8, 0x24($sp) -/* 045AF0 80044EF0 44803000 */ mtc1 $zero, $f6 -/* 045AF4 80044EF4 3C014074 */ li $at, 0x40740000 # 3.812500 -/* 045AF8 80044EF8 4626403C */ c.lt.d $f8, $f6 -/* 045AFC 80044EFC 00000000 */ nop -/* 045B00 80044F00 4501000C */ bc1t .L80044F34 -/* 045B04 80044F04 00000000 */ nop -/* 045B08 80044F08 44815800 */ mtc1 $at, $f11 -/* 045B0C 80044F0C 44805000 */ mtc1 $zero, $f10 -/* 045B10 80044F10 00000000 */ nop -/* 045B14 80044F14 4628503C */ c.lt.d $f10, $f8 -/* 045B18 80044F18 00000000 */ nop -/* 045B1C 80044F1C 45000021 */ bc1f .L80044FA4 -/* 045B20 80044F20 00002825 */ move $a1, $zero -/* 045B24 80044F24 8E0E0158 */ lw $t6, 0x158($s0) -/* 045B28 80044F28 00000000 */ nop -/* 045B2C 80044F2C 11C0001D */ beqz $t6, .L80044FA4 -/* 045B30 80044F30 00002825 */ move $a1, $zero -.L80044F34: -/* 045B34 80044F34 91790009 */ lbu $t9, 9($t3) -/* 045B38 80044F38 8E020158 */ lw $v0, 0x158($s0) -/* 045B3C 80044F3C A21901CE */ sb $t9, 0x1ce($s0) -/* 045B40 80044F40 14400002 */ bnez $v0, .L80044F4C -/* 045B44 80044F44 AE020154 */ sw $v0, 0x154($s0) -/* 045B48 80044F48 A20001CD */ sb $zero, 0x1cd($s0) -.L80044F4C: -/* 045B4C 80044F4C 10000014 */ b .L80044FA0 -/* 045B50 80044F50 AE000158 */ sw $zero, 0x158($s0) -glabel L80044F54 -/* 045B54 80044F54 8FAF0078 */ lw $t7, 0x78($sp) -/* 045B58 80044F58 24070002 */ li $a3, 2 -/* 045B5C 80044F5C C5EC000C */ lwc1 $f12, 0xc($t7) -/* 045B60 80044F60 C5EE0010 */ lwc1 $f14, 0x10($t7) -/* 045B64 80044F64 8DE60014 */ lw $a2, 0x14($t7) -/* 045B68 80044F68 0C007149 */ jal ainode_find_nearest -/* 045B6C 80044F6C 00000000 */ nop -/* 045B70 80044F70 240100FF */ li $at, 255 -/* 045B74 80044F74 24050001 */ li $a1, 1 -/* 045B78 80044F78 10410008 */ beq $v0, $at, .L80044F9C -/* 045B7C 80044F7C AFA20058 */ sw $v0, 0x58($sp) -/* 045B80 80044F80 0C007485 */ jal ainode_get -/* 045B84 80044F84 00402025 */ move $a0, $v0 -/* 045B88 80044F88 24050001 */ li $a1, 1 -/* 045B8C 80044F8C 241800FF */ li $t8, 255 -/* 045B90 80044F90 AE020154 */ sw $v0, 0x154($s0) -/* 045B94 80044F94 A20501CD */ sb $a1, 0x1cd($s0) -/* 045B98 80044F98 A21801CE */ sb $t8, 0x1ce($s0) -.L80044F9C: -/* 045B9C 80044F9C A20501C9 */ sb $a1, 0x1c9($s0) -.L80044FA0: -/* 045BA0 80044FA0 00002825 */ move $a1, $zero -.L80044FA4: -/* 045BA4 80044FA4 820C0002 */ lb $t4, 2($s0) -/* 045BA8 80044FA8 00A02025 */ move $a0, $a1 -/* 045BAC 80044FAC 10AC0054 */ beq $a1, $t4, .L80045100 -/* 045BB0 80044FB0 00000000 */ nop -/* 045BB4 80044FB4 0C006EB2 */ jal get_racer_object -/* 045BB8 80044FB8 A7A50052 */ sh $a1, 0x52($sp) -/* 045BBC 80044FBC 8C430064 */ lw $v1, 0x64($v0) -/* 045BC0 80044FC0 87A50052 */ lh $a1, 0x52($sp) -/* 045BC4 80044FC4 846D0000 */ lh $t5, ($v1) -/* 045BC8 80044FC8 2401FFFF */ li $at, -1 -/* 045BCC 80044FCC 11A10005 */ beq $t5, $at, .L80044FE4 -/* 045BD0 80044FD0 00404025 */ move $t0, $v0 -/* 045BD4 80044FD4 806E0212 */ lb $t6, 0x212($v1) -/* 045BD8 80044FD8 3C018012 */ lui $at, %hi(D_8011D5B4) # $at, 0x8012 -/* 045BDC 80044FDC 00250821 */ addu $at, $at, $a1 -/* 045BE0 80044FE0 A02ED5B4 */ sb $t6, %lo(D_8011D5B4)($at) -.L80044FE4: -/* 045BE4 80044FE4 3C0F8012 */ lui $t7, %hi(D_8011D5B4) # $t7, 0x8012 -/* 045BE8 80044FE8 82190002 */ lb $t9, 2($s0) -/* 045BEC 80044FEC 25EFD5B4 */ addiu $t7, %lo(D_8011D5B4) # addiu $t7, $t7, -0x2a4c -/* 045BF0 80044FF0 00AF6821 */ addu $t5, $a1, $t7 -/* 045BF4 80044FF4 032FC021 */ addu $t8, $t9, $t7 -/* 045BF8 80044FF8 830C0000 */ lb $t4, ($t8) -/* 045BFC 80044FFC 81AE0000 */ lb $t6, ($t5) -/* 045C00 80045000 8FA20078 */ lw $v0, 0x78($sp) -/* 045C04 80045004 158E003E */ bne $t4, $t6, .L80045100 -/* 045C08 80045008 00000000 */ nop -/* 045C0C 8004500C C450000C */ lwc1 $f16, 0xc($v0) -/* 045C10 80045010 C504000C */ lwc1 $f4, 0xc($t0) -/* 045C14 80045014 C4520014 */ lwc1 $f18, 0x14($v0) -/* 045C18 80045018 46048001 */ sub.s $f0, $f16, $f4 -/* 045C1C 8004501C C5060014 */ lwc1 $f6, 0x14($t0) -/* 045C20 80045020 46000282 */ mul.s $f10, $f0, $f0 -/* 045C24 80045024 46069381 */ sub.s $f14, $f18, $f6 -/* 045C28 80045028 E7A00064 */ swc1 $f0, 0x64($sp) -/* 045C2C 8004502C E7AE0060 */ swc1 $f14, 0x60($sp) -/* 045C30 80045030 460E7202 */ mul.s $f8, $f14, $f14 -/* 045C34 80045034 A7A50052 */ sh $a1, 0x52($sp) -/* 045C38 80045038 0C0326B4 */ jal sqrtf -/* 045C3C 8004503C 46085300 */ add.s $f12, $f10, $f8 -/* 045C40 80045040 3C014089 */ li $at, 0x40890000 # 4.281250 -/* 045C44 80045044 44812800 */ mtc1 $at, $f5 -/* 045C48 80045048 44802000 */ mtc1 $zero, $f4 -/* 045C4C 8004504C 46000421 */ cvt.d.s $f16, $f0 -/* 045C50 80045050 4624803C */ c.lt.d $f16, $f4 -/* 045C54 80045054 87A50052 */ lh $a1, 0x52($sp) -/* 045C58 80045058 C7AE0060 */ lwc1 $f14, 0x60($sp) -/* 045C5C 8004505C 45000028 */ bc1f .L80045100 -/* 045C60 80045060 00000000 */ nop -/* 045C64 80045064 C7AC0064 */ lwc1 $f12, 0x64($sp) -/* 045C68 80045068 0C01C1D4 */ jal arctan2_f -/* 045C6C 8004506C A7A50052 */ sh $a1, 0x52($sp) -/* 045C70 80045070 8FB90078 */ lw $t9, 0x78($sp) -/* 045C74 80045074 AFA20058 */ sw $v0, 0x58($sp) -/* 045C78 80045078 87380000 */ lh $t8, ($t9) -/* 045C7C 8004507C 34018001 */ li $at, 32769 -/* 045C80 80045080 330FFFFF */ andi $t7, $t8, 0xffff -/* 045C84 80045084 004F6823 */ subu $t5, $v0, $t7 -/* 045C88 80045088 87A50052 */ lh $a1, 0x52($sp) -/* 045C8C 8004508C 01A1082A */ slt $at, $t5, $at -/* 045C90 80045090 14200004 */ bnez $at, .L800450A4 -/* 045C94 80045094 AFAD0058 */ sw $t5, 0x58($sp) -/* 045C98 80045098 3C0EFFFF */ lui $t6, (0xFFFF0001 >> 16) # lui $t6, 0xffff -/* 045C9C 8004509C 35CE0001 */ ori $t6, (0xFFFF0001 & 0xFFFF) # ori $t6, $t6, 1 -/* 045CA0 800450A0 AFAE0058 */ sw $t6, 0x58($sp) -.L800450A4: -/* 045CA4 800450A4 8FB90058 */ lw $t9, 0x58($sp) -/* 045CA8 800450A8 3418FFFF */ li $t8, 65535 -/* 045CAC 800450AC 2B218000 */ slti $at, $t9, -0x8000 -/* 045CB0 800450B0 10200002 */ beqz $at, .L800450BC -/* 045CB4 800450B4 24030800 */ li $v1, 2048 -/* 045CB8 800450B8 AFB80058 */ sw $t8, 0x58($sp) -.L800450BC: -/* 045CBC 800450BC 820F0174 */ lb $t7, 0x174($s0) -/* 045CC0 800450C0 24010001 */ li $at, 1 -/* 045CC4 800450C4 15E10003 */ bne $t7, $at, .L800450D4 -/* 045CC8 800450C8 00000000 */ nop -/* 045CCC 800450CC 10000001 */ b .L800450D4 -/* 045CD0 800450D0 24031000 */ li $v1, 4096 -.L800450D4: -/* 045CD4 800450D4 8FAC0058 */ lw $t4, 0x58($sp) -/* 045CD8 800450D8 00036823 */ negu $t5, $v1 -/* 045CDC 800450DC 01AC082A */ slt $at, $t5, $t4 -/* 045CE0 800450E0 10200007 */ beqz $at, .L80045100 -/* 045CE4 800450E4 0183082A */ slt $at, $t4, $v1 -/* 045CE8 800450E8 10200005 */ beqz $at, .L80045100 -/* 045CEC 800450EC 3C0E8012 */ lui $t6, %hi(gCurrentButtonsReleased) # $t6, 0x8012 -/* 045CF0 800450F0 8DCED530 */ lw $t6, %lo(gCurrentButtonsReleased)($t6) -/* 045CF4 800450F4 3C018012 */ lui $at, %hi(gCurrentButtonsReleased) # $at, 0x8012 -/* 045CF8 800450F8 35D92000 */ ori $t9, $t6, 0x2000 -/* 045CFC 800450FC AC39D530 */ sw $t9, %lo(gCurrentButtonsReleased)($at) -.L80045100: -/* 045D00 80045100 24A50001 */ addiu $a1, $a1, 1 -/* 045D04 80045104 0005C400 */ sll $t8, $a1, 0x10 -/* 045D08 80045108 00182C03 */ sra $a1, $t8, 0x10 -/* 045D0C 8004510C 28A10004 */ slti $at, $a1, 4 -/* 045D10 80045110 1420FFA4 */ bnez $at, .L80044FA4 -/* 045D14 80045114 00000000 */ nop -/* 045D18 80045118 8FBF001C */ lw $ra, 0x1c($sp) -.L8004511C: -/* 045D1C 8004511C 8FB00018 */ lw $s0, 0x18($sp) -/* 045D20 80045120 03E00008 */ jr $ra -/* 045D24 80045124 27BD0078 */ addiu $sp, $sp, 0x78 - diff --git a/asm/non_matchings/racer/func_800452A0.s b/asm/non_matchings/racer/func_800452A0.s deleted file mode 100644 index 4ef45c0d..00000000 --- a/asm/non_matchings/racer/func_800452A0.s +++ /dev/null @@ -1,707 +0,0 @@ -.late_rodata -glabel jpt_800E6358 -.word L800456A0, L800456A8, L800456B0, L800456BC, L800456CC, L800456D4, L800456B0, L800456DC -glabel D_800E6378 -.float 1000000.0 -glabel jpt_800E637C -.word L80045ADC, L80045AF8, L80045B30, L80045B30, L80045B58, L80045B70, L80045BB8, L80045ADC -.word 0 # Padding -glabel D_800E63A0 -.double 500.0 - -.text -glabel func_800452A0 -/* 045EA0 800452A0 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 045EA4 800452A4 3C018012 */ lui $at, %hi(gCurrentButtonsPressed) # $at, 0x8012 -/* 045EA8 800452A8 AC20D52C */ sw $zero, %lo(gCurrentButtonsPressed)($at) -/* 045EAC 800452AC 3C018012 */ lui $at, %hi(gCurrentButtonsReleased) # $at, 0x8012 -/* 045EB0 800452B0 AC20D530 */ sw $zero, %lo(gCurrentButtonsReleased)($at) -/* 045EB4 800452B4 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 045EB8 800452B8 340E8000 */ li $t6, 32768 -/* 045EBC 800452BC AC2ED528 */ sw $t6, %lo(gCurrentRacerInput)($at) -/* 045EC0 800452C0 3C018012 */ lui $at, %hi(gCurrentStickX) # $at, 0x8012 -/* 045EC4 800452C4 AFB60048 */ sw $s6, 0x48($sp) -/* 045EC8 800452C8 AC20D534 */ sw $zero, %lo(gCurrentStickX)($at) -/* 045ECC 800452CC 0080B025 */ move $s6, $a0 -/* 045ED0 800452D0 AFBF0054 */ sw $ra, 0x54($sp) -/* 045ED4 800452D4 AFB50044 */ sw $s5, 0x44($sp) -/* 045ED8 800452D8 AFB00030 */ sw $s0, 0x30($sp) -/* 045EDC 800452DC 3C018012 */ lui $at, %hi(gCurrentStickY) # $at, 0x8012 -/* 045EE0 800452E0 00C08025 */ move $s0, $a2 -/* 045EE4 800452E4 00A0A825 */ move $s5, $a1 -/* 045EE8 800452E8 AFBE0050 */ sw $fp, 0x50($sp) -/* 045EEC 800452EC AFB7004C */ sw $s7, 0x4c($sp) -/* 045EF0 800452F0 AFB40040 */ sw $s4, 0x40($sp) -/* 045EF4 800452F4 AFB3003C */ sw $s3, 0x3c($sp) -/* 045EF8 800452F8 AFB20038 */ sw $s2, 0x38($sp) -/* 045EFC 800452FC AFB10034 */ sw $s1, 0x34($sp) -/* 045F00 80045300 E7B90028 */ swc1 $f25, 0x28($sp) -/* 045F04 80045304 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 045F08 80045308 E7B70020 */ swc1 $f23, 0x20($sp) -/* 045F0C 8004530C E7B60024 */ swc1 $f22, 0x24($sp) -/* 045F10 80045310 E7B50018 */ swc1 $f21, 0x18($sp) -/* 045F14 80045314 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 045F18 80045318 AC20D538 */ sw $zero, %lo(gCurrentStickY)($at) -/* 045F1C 8004531C 0C006E9D */ jal get_racer_objects -/* 045F20 80045320 27A4009C */ addiu $a0, $sp, 0x9c -/* 045F24 80045324 8FAF009C */ lw $t7, 0x9c($sp) -/* 045F28 80045328 24010004 */ li $at, 4 -/* 045F2C 8004532C 15E10235 */ bne $t7, $at, .L80045C04 -/* 045F30 80045330 8FBF0054 */ lw $ra, 0x54($sp) -/* 045F34 80045334 0C01AF6C */ jal get_current_level_header -/* 045F38 80045338 00000000 */ nop -/* 045F3C 8004533C 2458002A */ addiu $t8, $v0, 0x2a -/* 045F40 80045340 AFB80074 */ sw $t8, 0x74($sp) -/* 045F44 80045344 82B901E2 */ lb $t9, 0x1e2($s5) -/* 045F48 80045348 00000000 */ nop -/* 045F4C 8004534C 1320000E */ beqz $t9, .L80045388 -/* 045F50 80045350 00000000 */ nop -/* 045F54 80045354 86A801C6 */ lh $t0, 0x1c6($s5) -/* 045F58 80045358 240B0003 */ li $t3, 3 -/* 045F5C 8004535C 01104821 */ addu $t1, $t0, $s0 -/* 045F60 80045360 A6A901C6 */ sh $t1, 0x1c6($s5) -/* 045F64 80045364 86AA01C6 */ lh $t2, 0x1c6($s5) -/* 045F68 80045368 00000000 */ nop -/* 045F6C 8004536C 2941003D */ slti $at, $t2, 0x3d -/* 045F70 80045370 14200006 */ bnez $at, .L8004538C -/* 045F74 80045374 00000000 */ nop -/* 045F78 80045378 A6A001C6 */ sh $zero, 0x1c6($s5) -/* 045F7C 8004537C A2A001CD */ sb $zero, 0x1cd($s5) -/* 045F80 80045380 10000002 */ b .L8004538C -/* 045F84 80045384 A2AB01CE */ sb $t3, 0x1ce($s5) -.L80045388: -/* 045F88 80045388 A6A001C6 */ sh $zero, 0x1c6($s5) -.L8004538C: -/* 045F8C 8004538C 92A301CD */ lbu $v1, 0x1cd($s5) -/* 045F90 80045390 00000000 */ nop -/* 045F94 80045394 14600144 */ bnez $v1, .L800458A8 -/* 045F98 80045398 00000000 */ nop -/* 045F9C 8004539C 8FBE0080 */ lw $fp, 0x80($sp) -/* 045FA0 800453A0 24170003 */ li $s7, 3 -.L800453A4: -/* 045FA4 800453A4 3C058012 */ lui $a1, %hi(gEggChallengeFlags+3) # $a1, 0x8012 -/* 045FA8 800453A8 2411FFFF */ li $s1, -1 -/* 045FAC 800453AC 00008025 */ move $s0, $zero -/* 045FB0 800453B0 00009025 */ move $s2, $zero -/* 045FB4 800453B4 24A5D58B */ addiu $a1, %lo(gEggChallengeFlags+3) # addiu $a1, $a1, -0x2a75 -/* 045FB8 800453B8 02E02025 */ move $a0, $s7 -/* 045FBC 800453BC 00009825 */ move $s3, $zero -.L800453C0: -/* 045FC0 800453C0 80A20000 */ lb $v0, ($a1) -/* 045FC4 800453C4 00000000 */ nop -/* 045FC8 800453C8 304C000F */ andi $t4, $v0, 0xf -/* 045FCC 800453CC 01970019 */ multu $t4, $s7 -/* 045FD0 800453D0 304F0040 */ andi $t7, $v0, 0x40 -/* 045FD4 800453D4 30480080 */ andi $t0, $v0, 0x80 -/* 045FD8 800453D8 00001812 */ mflo $v1 -/* 045FDC 800453DC 00036E00 */ sll $t5, $v1, 0x18 -/* 045FE0 800453E0 000D7603 */ sra $t6, $t5, 0x18 -/* 045FE4 800453E4 11E00005 */ beqz $t7, .L800453FC -/* 045FE8 800453E8 01C01825 */ move $v1, $t6 -/* 045FEC 800453EC 25C30002 */ addiu $v1, $t6, 2 -/* 045FF0 800453F0 0003C600 */ sll $t8, $v1, 0x18 -/* 045FF4 800453F4 10000006 */ b .L80045410 -/* 045FF8 800453F8 00181E03 */ sra $v1, $t8, 0x18 -.L800453FC: -/* 045FFC 800453FC 11000005 */ beqz $t0, .L80045414 -/* 046000 80045400 0243082A */ slt $at, $s2, $v1 -/* 046004 80045404 24630001 */ addiu $v1, $v1, 1 -/* 046008 80045408 00034E00 */ sll $t1, $v1, 0x18 -/* 04600C 8004540C 00091E03 */ sra $v1, $t1, 0x18 -.L80045410: -/* 046010 80045410 0243082A */ slt $at, $s2, $v1 -.L80045414: -/* 046014 80045414 10200007 */ beqz $at, .L80045434 -/* 046018 80045418 00000000 */ nop -/* 04601C 8004541C 00039600 */ sll $s2, $v1, 0x18 -/* 046020 80045420 00048600 */ sll $s0, $a0, 0x18 -/* 046024 80045424 00125E03 */ sra $t3, $s2, 0x18 -/* 046028 80045428 00106603 */ sra $t4, $s0, 0x18 -/* 04602C 8004542C 01609025 */ move $s2, $t3 -/* 046030 80045430 01808025 */ move $s0, $t4 -.L80045434: -/* 046034 80045434 2484FFFF */ addiu $a0, $a0, -1 -/* 046038 80045438 0481FFE1 */ bgez $a0, .L800453C0 -/* 04603C 8004543C 24A5FFFF */ addiu $a1, $a1, -1 -/* 046040 80045440 92A201CE */ lbu $v0, 0x1ce($s5) -/* 046044 80045444 24180008 */ li $t8, 8 -/* 046048 80045448 304D0040 */ andi $t5, $v0, 0x40 -/* 04604C 8004544C 11A00008 */ beqz $t5, .L80045470 -/* 046050 80045450 30590080 */ andi $t9, $v0, 0x80 -/* 046054 80045454 3051000F */ andi $s1, $v0, 0xf -/* 046058 80045458 00117600 */ sll $t6, $s1, 0x18 -/* 04605C 8004545C 000E8E03 */ sra $s1, $t6, 0x18 -/* 046060 80045460 A2B801CD */ sb $t8, 0x1cd($s5) -/* 046064 80045464 300200FF */ andi $v0, $zero, 0xff -/* 046068 80045468 A2A001CE */ sb $zero, 0x1ce($s5) -/* 04606C 8004546C 30590080 */ andi $t9, $v0, 0x80 -.L80045470: -/* 046070 80045470 1320005B */ beqz $t9, .L800455E0 -/* 046074 80045474 00000000 */ nop -/* 046078 80045478 8FA80074 */ lw $t0, 0x74($sp) -/* 04607C 8004547C 00000000 */ nop -/* 046080 80045480 81040006 */ lb $a0, 6($t0) -/* 046084 80045484 0C011114 */ jal roll_percent_chance -/* 046088 80045488 00000000 */ nop -/* 04608C 8004548C 10400004 */ beqz $v0, .L800454A0 -/* 046090 80045490 8FA90074 */ lw $t1, 0x74($sp) -/* 046094 80045494 1000000D */ b .L800454CC -/* 046098 80045498 24120002 */ li $s2, 2 -/* 04609C 8004549C 8FA90074 */ lw $t1, 0x74($sp) -.L800454A0: -/* 0460A0 800454A0 24120001 */ li $s2, 1 -/* 0460A4 800454A4 81240002 */ lb $a0, 2($t1) -/* 0460A8 800454A8 0C011114 */ jal roll_percent_chance -/* 0460AC 800454AC 00000000 */ nop -/* 0460B0 800454B0 10400007 */ beqz $v0, .L800454D0 -/* 0460B4 800454B4 24010002 */ li $at, 2 -/* 0460B8 800454B8 0C019884 */ jal get_viewport_count -/* 0460BC 800454BC 00000000 */ nop -/* 0460C0 800454C0 14400003 */ bnez $v0, .L800454D0 -/* 0460C4 800454C4 24010002 */ li $at, 2 -/* 0460C8 800454C8 00008025 */ move $s0, $zero -.L800454CC: -/* 0460CC 800454CC 24010002 */ li $at, 2 -.L800454D0: -/* 0460D0 800454D0 1641002E */ bne $s2, $at, .L8004558C -/* 0460D4 800454D4 24010001 */ li $at, 1 -/* 0460D8 800454D8 82A20002 */ lb $v0, 2($s5) -/* 0460DC 800454DC 24010001 */ li $at, 1 -/* 0460E0 800454E0 10400007 */ beqz $v0, .L80045500 -/* 0460E4 800454E4 3C0A8012 */ lui $t2, %hi(gEggChallengeFlags) # $t2, 0x8012 -/* 0460E8 800454E8 814AD588 */ lb $t2, %lo(gEggChallengeFlags)($t2) -/* 0460EC 800454EC 00000000 */ nop -/* 0460F0 800454F0 314B0040 */ andi $t3, $t2, 0x40 -/* 0460F4 800454F4 11600002 */ beqz $t3, .L80045500 -/* 0460F8 800454F8 00000000 */ nop -/* 0460FC 800454FC 00008825 */ move $s1, $zero -.L80045500: -/* 046100 80045500 10410007 */ beq $v0, $at, .L80045520 -/* 046104 80045504 3C0C8012 */ lui $t4, %hi(gEggChallengeFlags+1) # $t4, 0x8012 -/* 046108 80045508 818CD589 */ lb $t4, %lo(gEggChallengeFlags+1)($t4) -/* 04610C 8004550C 00000000 */ nop -/* 046110 80045510 318D0040 */ andi $t5, $t4, 0x40 -/* 046114 80045514 11A00003 */ beqz $t5, .L80045524 -/* 046118 80045518 24010002 */ li $at, 2 -/* 04611C 8004551C 24110001 */ li $s1, 1 -.L80045520: -/* 046120 80045520 24010002 */ li $at, 2 -.L80045524: -/* 046124 80045524 10410007 */ beq $v0, $at, .L80045544 -/* 046128 80045528 3C0E8012 */ lui $t6, %hi(gEggChallengeFlags+2) # $t6, 0x8012 -/* 04612C 8004552C 81CED58A */ lb $t6, %lo(gEggChallengeFlags+2)($t6) -/* 046130 80045530 00000000 */ nop -/* 046134 80045534 31CF0040 */ andi $t7, $t6, 0x40 -/* 046138 80045538 11E00003 */ beqz $t7, .L80045548 -/* 04613C 8004553C 24010003 */ li $at, 3 -/* 046140 80045540 24110002 */ li $s1, 2 -.L80045544: -/* 046144 80045544 24010003 */ li $at, 3 -.L80045548: -/* 046148 80045548 10410009 */ beq $v0, $at, .L80045570 -/* 04614C 8004554C 3C188012 */ lui $t8, %hi(gEggChallengeFlags+3) # $t8, 0x8012 -/* 046150 80045550 8318D58B */ lb $t8, %lo(gEggChallengeFlags+3)($t8) -/* 046154 80045554 00000000 */ nop -/* 046158 80045558 33190040 */ andi $t9, $t8, 0x40 -/* 04615C 8004555C 13200005 */ beqz $t9, .L80045574 -/* 046160 80045560 2401FFFF */ li $at, -1 -/* 046164 80045564 00178E00 */ sll $s1, $s7, 0x18 -/* 046168 80045568 00114603 */ sra $t0, $s1, 0x18 -/* 04616C 8004556C 01008825 */ move $s1, $t0 -.L80045570: -/* 046170 80045570 2401FFFF */ li $at, -1 -.L80045574: -/* 046174 80045574 16210003 */ bne $s1, $at, .L80045584 -/* 046178 80045578 24090007 */ li $t1, 7 -/* 04617C 8004557C 10000002 */ b .L80045588 -/* 046180 80045580 24120001 */ li $s2, 1 -.L80045584: -/* 046184 80045584 A2A901CD */ sb $t1, 0x1cd($s5) -.L80045588: -/* 046188 80045588 24010001 */ li $at, 1 -.L8004558C: -/* 04618C 8004558C 16410013 */ bne $s2, $at, .L800455DC -/* 046190 80045590 00000000 */ nop -/* 046194 80045594 82AA0173 */ lb $t2, 0x173($s5) -/* 046198 80045598 24180005 */ li $t8, 5 -/* 04619C 8004559C 1140000E */ beqz $t2, .L800455D8 -/* 0461A0 800455A0 00000000 */ nop -/* 0461A4 800455A4 82A20002 */ lb $v0, 2($s5) -/* 0461A8 800455A8 240B0006 */ li $t3, 6 -/* 0461AC 800455AC 12020005 */ beq $s0, $v0, .L800455C4 -/* 0461B0 800455B0 A2AB01CD */ sb $t3, 0x1cd($s5) -/* 0461B4 800455B4 00108E00 */ sll $s1, $s0, 0x18 -/* 0461B8 800455B8 00116603 */ sra $t4, $s1, 0x18 -/* 0461BC 800455BC 10000007 */ b .L800455DC -/* 0461C0 800455C0 01808825 */ move $s1, $t4 -.L800455C4: -/* 0461C4 800455C4 24510001 */ addiu $s1, $v0, 1 -/* 0461C8 800455C8 322D0003 */ andi $t5, $s1, 3 -/* 0461CC 800455CC 000D7600 */ sll $t6, $t5, 0x18 -/* 0461D0 800455D0 10000002 */ b .L800455DC -/* 0461D4 800455D4 000E8E03 */ sra $s1, $t6, 0x18 -.L800455D8: -/* 0461D8 800455D8 A2B801CD */ sb $t8, 0x1cd($s5) -.L800455DC: -/* 0461DC 800455DC A2A001CE */ sb $zero, 0x1ce($s5) -.L800455E0: -/* 0461E0 800455E0 8EB90144 */ lw $t9, 0x144($s5) -/* 0461E4 800455E4 24080002 */ li $t0, 2 -/* 0461E8 800455E8 13200002 */ beqz $t9, .L800455F4 -/* 0461EC 800455EC 240F0003 */ li $t7, 3 -/* 0461F0 800455F0 A2A801CD */ sb $t0, 0x1cd($s5) -.L800455F4: -/* 0461F4 800455F4 92A201CE */ lbu $v0, 0x1ce($s5) -/* 0461F8 800455F8 00000000 */ nop -/* 0461FC 800455FC 10400002 */ beqz $v0, .L80045608 -/* 046200 80045600 00000000 */ nop -/* 046204 80045604 A2A201CD */ sb $v0, 0x1cd($s5) -.L80045608: -/* 046208 80045608 92A901CD */ lbu $t1, 0x1cd($s5) -/* 04620C 8004560C A2A001CE */ sb $zero, 0x1ce($s5) -/* 046210 80045610 15200012 */ bnez $t1, .L8004565C -/* 046214 80045614 00000000 */ nop -/* 046218 80045618 8ECA004C */ lw $t2, 0x4c($s6) -/* 04621C 8004561C 24010001 */ li $at, 1 -/* 046220 80045620 91420012 */ lbu $v0, 0x12($t2) -/* 046224 80045624 240B0001 */ li $t3, 1 -/* 046228 80045628 10410007 */ beq $v0, $at, .L80045648 -/* 04622C 8004562C 24010002 */ li $at, 2 -/* 046230 80045630 10410007 */ beq $v0, $at, .L80045650 -/* 046234 80045634 240C0001 */ li $t4, 1 -/* 046238 80045638 10570007 */ beq $v0, $s7, .L80045658 -/* 04623C 8004563C 240D0001 */ li $t5, 1 -/* 046240 80045640 10000007 */ b .L80045660 -/* 046244 80045644 82AE01D8 */ lb $t6, 0x1d8($s5) -.L80045648: -/* 046248 80045648 10000004 */ b .L8004565C -/* 04624C 8004564C A2AB01CD */ sb $t3, 0x1cd($s5) -.L80045650: -/* 046250 80045650 10000002 */ b .L8004565C -/* 046254 80045654 A2AC01CD */ sb $t4, 0x1cd($s5) -.L80045658: -/* 046258 80045658 A2AD01CD */ sb $t5, 0x1cd($s5) -.L8004565C: -/* 04625C 8004565C 82AE01D8 */ lb $t6, 0x1d8($s5) -.L80045660: -/* 046260 80045660 00009025 */ move $s2, $zero -/* 046264 80045664 11C00002 */ beqz $t6, .L80045670 -/* 046268 80045668 00000000 */ nop -/* 04626C 8004566C A2AF01CD */ sb $t7, 0x1cd($s5) -.L80045670: -/* 046270 80045670 92B801CD */ lbu $t8, 0x1cd($s5) -/* 046274 80045674 00000000 */ nop -/* 046278 80045678 2719FFFF */ addiu $t9, $t8, -1 -/* 04627C 8004567C 2F210008 */ sltiu $at, $t9, 8 -/* 046280 80045680 10200018 */ beqz $at, .L800456E4 -/* 046284 80045684 0019C880 */ sll $t9, $t9, 2 -/* 046288 80045688 3C01800E */ lui $at, %hi(jpt_800E6358) # $at, 0x800e -/* 04628C 8004568C 00390821 */ addu $at, $at, $t9 -/* 046290 80045690 8C396358 */ lw $t9, %lo(jpt_800E6358)($at) -/* 046294 80045694 00000000 */ nop -/* 046298 80045698 03200008 */ jr $t9 -/* 04629C 8004569C 00000000 */ nop -glabel L800456A0 -/* 0462A0 800456A0 10000010 */ b .L800456E4 -/* 0462A4 800456A4 2413002D */ li $s3, 45 -glabel L800456A8 -/* 0462A8 800456A8 1000000E */ b .L800456E4 -/* 0462AC 800456AC 2413005C */ li $s3, 92 -glabel L800456B0 -/* 0462B0 800456B0 2413005C */ li $s3, 92 -/* 0462B4 800456B4 1000000B */ b .L800456E4 -/* 0462B8 800456B8 24120002 */ li $s2, 2 -glabel L800456BC -/* 0462BC 800456BC 82B10002 */ lb $s1, 2($s5) -/* 0462C0 800456C0 2413005C */ li $s3, 92 -/* 0462C4 800456C4 10000007 */ b .L800456E4 -/* 0462C8 800456C8 24120002 */ li $s2, 2 -glabel L800456CC -/* 0462CC 800456CC 10000005 */ b .L800456E4 -/* 0462D0 800456D0 24130011 */ li $s3, 17 -glabel L800456D4 -/* 0462D4 800456D4 10000003 */ b .L800456E4 -/* 0462D8 800456D8 24130001 */ li $s3, 1 -glabel L800456DC -/* 0462DC 800456DC 2413002D */ li $s3, 45 -/* 0462E0 800456E0 24120001 */ li $s2, 1 -.L800456E4: -/* 0462E4 800456E4 1260005E */ beqz $s3, .L80045860 -/* 0462E8 800456E8 24010001 */ li $at, 1 -/* 0462EC 800456EC 1261005C */ beq $s3, $at, .L80045860 -/* 0462F0 800456F0 27A40094 */ addiu $a0, $sp, 0x94 -/* 0462F4 800456F4 3C01800E */ lui $at, %hi(D_800E6378) # $at, 0x800e -/* 0462F8 800456F8 C4386378 */ lwc1 $f24, %lo(D_800E6378)($at) -/* 0462FC 800456FC 27A50090 */ addiu $a1, $sp, 0x90 -/* 046300 80045700 0C003A62 */ jal objGetObjList -/* 046304 80045704 0000F025 */ move $fp, $zero -/* 046308 80045708 8FA80090 */ lw $t0, 0x90($sp) -/* 04630C 8004570C 0040A025 */ move $s4, $v0 -/* 046310 80045710 19000053 */ blez $t0, .L80045860 -/* 046314 80045714 AFA00094 */ sw $zero, 0x94($sp) -.L80045718: -/* 046318 80045718 8FA90094 */ lw $t1, 0x94($sp) -/* 04631C 8004571C 00001825 */ move $v1, $zero -/* 046320 80045720 00095080 */ sll $t2, $t1, 2 -/* 046324 80045724 028A5821 */ addu $t3, $s4, $t2 -/* 046328 80045728 8D700000 */ lw $s0, ($t3) -/* 04632C 8004572C 00000000 */ nop -/* 046330 80045730 860C0006 */ lh $t4, 6($s0) -/* 046334 80045734 00000000 */ nop -/* 046338 80045738 318D8000 */ andi $t5, $t4, 0x8000 -/* 04633C 8004573C 15A0002B */ bnez $t5, .L800457EC -/* 046340 80045740 00000000 */ nop -/* 046344 80045744 860E0048 */ lh $t6, 0x48($s0) -/* 046348 80045748 2401002D */ li $at, 45 -/* 04634C 8004574C 166E0027 */ bne $s3, $t6, .L800457EC -/* 046350 80045750 00000000 */ nop -/* 046354 80045754 12610013 */ beq $s3, $at, .L800457A4 -/* 046358 80045758 2401005C */ li $at, 92 -/* 04635C 8004575C 12610003 */ beq $s3, $at, .L8004576C -/* 046360 80045760 00000000 */ nop -/* 046364 80045764 10000021 */ b .L800457EC -/* 046368 80045768 24030001 */ li $v1, 1 -.L8004576C: -/* 04636C 8004576C 8E02003C */ lw $v0, 0x3c($s0) -/* 046370 80045770 2401FFFF */ li $at, -1 -/* 046374 80045774 804F0008 */ lb $t7, 8($v0) -/* 046378 80045778 00000000 */ nop -/* 04637C 8004577C 164F001B */ bne $s2, $t7, .L800457EC -/* 046380 80045780 00000000 */ nop -/* 046384 80045784 12210005 */ beq $s1, $at, .L8004579C -/* 046388 80045788 00000000 */ nop -/* 04638C 8004578C 80580009 */ lb $t8, 9($v0) -/* 046390 80045790 00000000 */ nop -/* 046394 80045794 16380015 */ bne $s1, $t8, .L800457EC -/* 046398 80045798 00000000 */ nop -.L8004579C: -/* 04639C 8004579C 10000013 */ b .L800457EC -/* 0463A0 800457A0 24030001 */ li $v1, 1 -.L800457A4: -/* 0463A4 800457A4 8E020064 */ lw $v0, 0x64($s0) -/* 0463A8 800457A8 16400007 */ bnez $s2, .L800457C8 -/* 0463AC 800457AC 00000000 */ nop -/* 0463B0 800457B0 8059000B */ lb $t9, 0xb($v0) -/* 0463B4 800457B4 00000000 */ nop -/* 0463B8 800457B8 1720000C */ bnez $t9, .L800457EC -/* 0463BC 800457BC 00000000 */ nop -/* 0463C0 800457C0 1000000A */ b .L800457EC -/* 0463C4 800457C4 24030001 */ li $v1, 1 -.L800457C8: -/* 0463C8 800457C8 8048000B */ lb $t0, 0xb($v0) -/* 0463CC 800457CC 00000000 */ nop -/* 0463D0 800457D0 16E80006 */ bne $s7, $t0, .L800457EC -/* 0463D4 800457D4 00000000 */ nop -/* 0463D8 800457D8 8049000A */ lb $t1, 0xa($v0) -/* 0463DC 800457DC 00000000 */ nop -/* 0463E0 800457E0 16290002 */ bne $s1, $t1, .L800457EC -/* 0463E4 800457E4 00000000 */ nop -/* 0463E8 800457E8 24030001 */ li $v1, 1 -.L800457EC: -/* 0463EC 800457EC 10600017 */ beqz $v1, .L8004584C -/* 0463F0 800457F0 8FAA0094 */ lw $t2, 0x94($sp) -/* 0463F4 800457F4 C604000C */ lwc1 $f4, 0xc($s0) -/* 0463F8 800457F8 C6C6000C */ lwc1 $f6, 0xc($s6) -/* 0463FC 800457FC C6080010 */ lwc1 $f8, 0x10($s0) -/* 046400 80045800 46062501 */ sub.s $f20, $f4, $f6 -/* 046404 80045804 C6CA0010 */ lwc1 $f10, 0x10($s6) -/* 046408 80045808 4614A102 */ mul.s $f4, $f20, $f20 -/* 04640C 8004580C 460A4581 */ sub.s $f22, $f8, $f10 -/* 046410 80045810 C6100014 */ lwc1 $f16, 0x14($s0) -/* 046414 80045814 C6D20014 */ lwc1 $f18, 0x14($s6) -/* 046418 80045818 4616B182 */ mul.s $f6, $f22, $f22 -/* 04641C 8004581C 46128381 */ sub.s $f14, $f16, $f18 -/* 046420 80045820 460E7282 */ mul.s $f10, $f14, $f14 -/* 046424 80045824 46062200 */ add.s $f8, $f4, $f6 -/* 046428 80045828 0C0326B4 */ jal sqrtf -/* 04642C 8004582C 460A4300 */ add.s $f12, $f8, $f10 -/* 046430 80045830 4618003C */ c.lt.s $f0, $f24 -/* 046434 80045834 00000000 */ nop -/* 046438 80045838 45000004 */ bc1f .L8004584C -/* 04643C 8004583C 8FAA0094 */ lw $t2, 0x94($sp) -/* 046440 80045840 46000606 */ mov.s $f24, $f0 -/* 046444 80045844 0200F025 */ move $fp, $s0 -/* 046448 80045848 8FAA0094 */ lw $t2, 0x94($sp) -.L8004584C: -/* 04644C 8004584C 8FAC0090 */ lw $t4, 0x90($sp) -/* 046450 80045850 254B0001 */ addiu $t3, $t2, 1 -/* 046454 80045854 016C082A */ slt $at, $t3, $t4 -/* 046458 80045858 1420FFAF */ bnez $at, .L80045718 -/* 04645C 8004585C AFAB0094 */ sw $t3, 0x94($sp) -.L80045860: -/* 046460 80045860 24010001 */ li $at, 1 -/* 046464 80045864 16610006 */ bne $s3, $at, .L80045880 -/* 046468 80045868 2401FFFF */ li $at, -1 -/* 04646C 8004586C 12210004 */ beq $s1, $at, .L80045880 -/* 046470 80045870 00000000 */ nop -/* 046474 80045874 0C006EB2 */ jal get_racer_object -/* 046478 80045878 02202025 */ move $a0, $s1 -/* 04647C 8004587C 0040F025 */ move $fp, $v0 -.L80045880: -/* 046480 80045880 17C00004 */ bnez $fp, .L80045894 -/* 046484 80045884 AEBE0154 */ sw $fp, 0x154($s5) -/* 046488 80045888 240D0080 */ li $t5, 128 -/* 04648C 8004588C A2AD01CE */ sb $t5, 0x1ce($s5) -/* 046490 80045890 A2A001CD */ sb $zero, 0x1cd($s5) -.L80045894: -/* 046494 80045894 92A301CD */ lbu $v1, 0x1cd($s5) -/* 046498 80045898 00000000 */ nop -/* 04649C 8004589C 1060FEC1 */ beqz $v1, .L800453A4 -/* 0464A0 800458A0 00000000 */ nop -/* 0464A4 800458A4 AFBE0080 */ sw $fp, 0x80($sp) -.L800458A8: -/* 0464A8 800458A8 8EB00154 */ lw $s0, 0x154($s5) -/* 0464AC 800458AC 44801000 */ mtc1 $zero, $f2 -/* 0464B0 800458B0 1200007D */ beqz $s0, .L80045AA8 -/* 0464B4 800458B4 24170003 */ li $s7, 3 -/* 0464B8 800458B8 860E0048 */ lh $t6, 0x48($s0) -/* 0464BC 800458BC 2401002D */ li $at, 45 -/* 0464C0 800458C0 15C10013 */ bne $t6, $at, .L80045910 -/* 0464C4 800458C4 00000000 */ nop -/* 0464C8 800458C8 8E020064 */ lw $v0, 0x64($s0) -/* 0464CC 800458CC 24010001 */ li $at, 1 -/* 0464D0 800458D0 14610007 */ bne $v1, $at, .L800458F0 -/* 0464D4 800458D4 00602025 */ move $a0, $v1 -/* 0464D8 800458D8 804F000B */ lb $t7, 0xb($v0) -/* 0464DC 800458DC 00000000 */ nop -/* 0464E0 800458E0 11E00004 */ beqz $t7, .L800458F4 -/* 0464E4 800458E4 24010008 */ li $at, 8 -/* 0464E8 800458E8 92A401CD */ lbu $a0, 0x1cd($s5) -/* 0464EC 800458EC AEA00154 */ sw $zero, 0x154($s5) -.L800458F0: -/* 0464F0 800458F0 24010008 */ li $at, 8 -.L800458F4: -/* 0464F4 800458F4 14810006 */ bne $a0, $at, .L80045910 -/* 0464F8 800458F8 00000000 */ nop -/* 0464FC 800458FC 8058000B */ lb $t8, 0xb($v0) -/* 046500 80045900 00000000 */ nop -/* 046504 80045904 12F80002 */ beq $s7, $t8, .L80045910 -/* 046508 80045908 00000000 */ nop -/* 04650C 8004590C AEA00154 */ sw $zero, 0x154($s5) -.L80045910: -/* 046510 80045910 C610000C */ lwc1 $f16, 0xc($s0) -/* 046514 80045914 C6D2000C */ lwc1 $f18, 0xc($s6) -/* 046518 80045918 C6080014 */ lwc1 $f8, 0x14($s0) -/* 04651C 8004591C 46128501 */ sub.s $f20, $f16, $f18 -/* 046520 80045920 C6CA0014 */ lwc1 $f10, 0x14($s6) -/* 046524 80045924 4614A602 */ mul.s $f24, $f20, $f20 -/* 046528 80045928 460A4381 */ sub.s $f14, $f8, $f10 -/* 04652C 8004592C C6040010 */ lwc1 $f4, 0x10($s0) -/* 046530 80045930 C6C60010 */ lwc1 $f6, 0x10($s6) -/* 046534 80045934 460E7002 */ mul.s $f0, $f14, $f14 -/* 046538 80045938 46062581 */ sub.s $f22, $f4, $f6 -/* 04653C 8004593C E7AE00AC */ swc1 $f14, 0xac($sp) -/* 046540 80045940 4616B402 */ mul.s $f16, $f22, $f22 -/* 046544 80045944 E7A0005C */ swc1 $f0, 0x5c($sp) -/* 046548 80045948 4610C480 */ add.s $f18, $f24, $f16 -/* 04654C 8004594C 0C0326B4 */ jal sqrtf -/* 046550 80045950 46009300 */ add.s $f12, $f18, $f0 -/* 046554 80045954 44802800 */ mtc1 $zero, $f5 -/* 046558 80045958 44802000 */ mtc1 $zero, $f4 -/* 04655C 8004595C 460001A1 */ cvt.d.s $f6, $f0 -/* 046560 80045960 4626203C */ c.lt.d $f4, $f6 -/* 046564 80045964 C7AE00AC */ lwc1 $f14, 0xac($sp) -/* 046568 80045968 45000031 */ bc1f .L80045A30 -/* 04656C 8004596C 46000086 */ mov.s $f2, $f0 -/* 046570 80045970 4600A306 */ mov.s $f12, $f20 -/* 046574 80045974 0C01C1D4 */ jal arctan2_f -/* 046578 80045978 E7A200A8 */ swc1 $f2, 0xa8($sp) -/* 04657C 8004597C 24018000 */ li $at, -32768 -/* 046580 80045980 0041C821 */ addu $t9, $v0, $at -/* 046584 80045984 3328FFFF */ andi $t0, $t9, 0xffff -/* 046588 80045988 AFA8009C */ sw $t0, 0x9c($sp) -/* 04658C 8004598C 86A901A0 */ lh $t1, 0x1a0($s5) -/* 046590 80045990 34118001 */ li $s1, 32769 -/* 046594 80045994 312AFFFF */ andi $t2, $t1, 0xffff -/* 046598 80045998 010A1823 */ subu $v1, $t0, $t2 -/* 04659C 8004599C C7A200A8 */ lwc1 $f2, 0xa8($sp) -/* 0465A0 800459A0 0071082A */ slt $at, $v1, $s1 -/* 0465A4 800459A4 14200003 */ bnez $at, .L800459B4 -/* 0465A8 800459A8 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 0465AC 800459AC 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 0465B0 800459B0 00611821 */ addu $v1, $v1, $at -.L800459B4: -/* 0465B4 800459B4 28618000 */ slti $at, $v1, -0x8000 -/* 0465B8 800459B8 10200002 */ beqz $at, .L800459C4 -/* 0465BC 800459BC 3401FFFF */ li $at, 65535 -/* 0465C0 800459C0 00611821 */ addu $v1, $v1, $at -.L800459C4: -/* 0465C4 800459C4 C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 0465C8 800459C8 00035823 */ negu $t3, $v1 -/* 0465CC 800459CC 000B6143 */ sra $t4, $t3, 5 -/* 0465D0 800459D0 3C018012 */ lui $at, %hi(gCurrentStickX) # $at, 0x8012 -/* 0465D4 800459D4 AC2CD534 */ sw $t4, %lo(gCurrentStickX)($at) -/* 0465D8 800459D8 E7A200A8 */ swc1 $f2, 0xa8($sp) -/* 0465DC 800459DC 0C0326B4 */ jal sqrtf -/* 0465E0 800459E0 4608C300 */ add.s $f12, $f24, $f8 -/* 0465E4 800459E4 4600B306 */ mov.s $f12, $f22 -/* 0465E8 800459E8 0C01C1D4 */ jal arctan2_f -/* 0465EC 800459EC 46000386 */ mov.s $f14, $f0 -/* 0465F0 800459F0 3044FFFF */ andi $a0, $v0, 0xffff -/* 0465F4 800459F4 C7A200A8 */ lwc1 $f2, 0xa8($sp) -/* 0465F8 800459F8 0091082A */ slt $at, $a0, $s1 -/* 0465FC 800459FC 14200004 */ bnez $at, .L80045A10 -/* 046600 80045A00 00801825 */ move $v1, $a0 -/* 046604 80045A04 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 046608 80045A08 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 04660C 80045A0C 00811821 */ addu $v1, $a0, $at -.L80045A10: -/* 046610 80045A10 28618000 */ slti $at, $v1, -0x8000 -/* 046614 80045A14 10200002 */ beqz $at, .L80045A20 -/* 046618 80045A18 3401FFFF */ li $at, 65535 -/* 04661C 80045A1C 00611821 */ addu $v1, $v1, $at -.L80045A20: -/* 046620 80045A20 00036823 */ negu $t5, $v1 -/* 046624 80045A24 000D71C3 */ sra $t6, $t5, 7 -/* 046628 80045A28 3C018012 */ lui $at, %hi(gCurrentStickY) # $at, 0x8012 -/* 04662C 80045A2C AC2ED538 */ sw $t6, %lo(gCurrentStickY)($at) -.L80045A30: -/* 046630 80045A30 82A201CC */ lb $v0, 0x1cc($s5) -/* 046634 80045A34 3C018012 */ lui $at, %hi(gCurrentStickX) # $at, 0x8012 -/* 046638 80045A38 0441000A */ bgez $v0, .L80045A64 -/* 04663C 80045A3C 3C038012 */ lui $v1, %hi(gCurrentStickX) # $v1, 0x8012 -/* 046640 80045A40 AC20D534 */ sw $zero, %lo(gCurrentStickX)($at) -/* 046644 80045A44 3C018012 */ lui $at, %hi(gCurrentStickY) # $at, 0x8012 -/* 046648 80045A48 240FFFDD */ li $t7, -35 -/* 04664C 80045A4C AC2FD538 */ sw $t7, %lo(gCurrentStickY)($at) -/* 046650 80045A50 82B801CC */ lb $t8, 0x1cc($s5) -/* 046654 80045A54 00000000 */ nop -/* 046658 80045A58 27190001 */ addiu $t9, $t8, 1 -/* 04665C 80045A5C 10000013 */ b .L80045AAC -/* 046660 80045A60 A2B901CC */ sb $t9, 0x1cc($s5) -.L80045A64: -/* 046664 80045A64 8C63D534 */ lw $v1, %lo(gCurrentStickX)($v1) -/* 046668 80045A68 24490001 */ addiu $t1, $v0, 1 -/* 04666C 80045A6C 2861003D */ slti $at, $v1, 0x3d -/* 046670 80045A70 10200003 */ beqz $at, .L80045A80 -/* 046674 80045A74 2861FFC4 */ slti $at, $v1, -0x3c -/* 046678 80045A78 10200009 */ beqz $at, .L80045AA0 -/* 04667C 80045A7C 00000000 */ nop -.L80045A80: -/* 046680 80045A80 A2A901CC */ sb $t1, 0x1cc($s5) -/* 046684 80045A84 82A801CC */ lb $t0, 0x1cc($s5) -/* 046688 80045A88 240AFFD8 */ li $t2, -40 -/* 04668C 80045A8C 2901006F */ slti $at, $t0, 0x6f -/* 046690 80045A90 14200006 */ bnez $at, .L80045AAC -/* 046694 80045A94 00000000 */ nop -/* 046698 80045A98 10000004 */ b .L80045AAC -/* 04669C 80045A9C A2AA01CC */ sb $t2, 0x1cc($s5) -.L80045AA0: -/* 0466A0 80045AA0 10000002 */ b .L80045AAC -/* 0466A4 80045AA4 A2A001CC */ sb $zero, 0x1cc($s5) -.L80045AA8: -/* 0466A8 80045AA8 A2A001CD */ sb $zero, 0x1cd($s5) -.L80045AAC: -/* 0466AC 80045AAC 92AB01CD */ lbu $t3, 0x1cd($s5) -/* 0466B0 80045AB0 00000000 */ nop -/* 0466B4 80045AB4 256CFFFF */ addiu $t4, $t3, -1 -/* 0466B8 80045AB8 2D810008 */ sltiu $at, $t4, 8 -/* 0466BC 80045ABC 10200050 */ beqz $at, .L80045C00 -/* 0466C0 80045AC0 000C6080 */ sll $t4, $t4, 2 -/* 0466C4 80045AC4 3C01800E */ lui $at, %hi(jpt_800E637C) # $at, 0x800e -/* 0466C8 80045AC8 002C0821 */ addu $at, $at, $t4 -/* 0466CC 80045ACC 8C2C637C */ lw $t4, %lo(jpt_800E637C)($at) -/* 0466D0 80045AD0 00000000 */ nop -/* 0466D4 80045AD4 01800008 */ jr $t4 -/* 0466D8 80045AD8 00000000 */ nop -glabel L80045ADC -/* 0466DC 80045ADC 8EAD0144 */ lw $t5, 0x144($s5) -/* 0466E0 80045AE0 240E0004 */ li $t6, 4 -/* 0466E4 80045AE4 11A00047 */ beqz $t5, .L80045C04 -/* 0466E8 80045AE8 8FBF0054 */ lw $ra, 0x54($sp) -/* 0466EC 80045AEC A2A001CD */ sb $zero, 0x1cd($s5) -/* 0466F0 80045AF0 10000043 */ b .L80045C00 -/* 0466F4 80045AF4 A2AE01CE */ sb $t6, 0x1ce($s5) -glabel L80045AF8 -/* 0466F8 80045AF8 3C014059 */ li $at, 0x40590000 # 3.390625 -/* 0466FC 80045AFC 44818800 */ mtc1 $at, $f17 -/* 046700 80045B00 44808000 */ mtc1 $zero, $f16 -/* 046704 80045B04 460012A1 */ cvt.d.s $f10, $f2 -/* 046708 80045B08 4630503C */ c.lt.d $f10, $f16 -/* 04670C 80045B0C 3C028012 */ lui $v0, %hi(gCurrentButtonsPressed) # $v0, 0x8012 -/* 046710 80045B10 4500003B */ bc1f .L80045C00 -/* 046714 80045B14 2442D52C */ addiu $v0, %lo(gCurrentButtonsPressed) # addiu $v0, $v0, -0x2ad4 -/* 046718 80045B18 A2A001CD */ sb $zero, 0x1cd($s5) -/* 04671C 80045B1C 8C4F0000 */ lw $t7, ($v0) -/* 046720 80045B20 00000000 */ nop -/* 046724 80045B24 35F82000 */ ori $t8, $t7, 0x2000 -/* 046728 80045B28 10000035 */ b .L80045C00 -/* 04672C 80045B2C AC580000 */ sw $t8, ($v0) -glabel L80045B30 -/* 046730 80045B30 3C014069 */ li $at, 0x40690000 # 3.640625 -/* 046734 80045B34 44812800 */ mtc1 $at, $f5 -/* 046738 80045B38 44802000 */ mtc1 $zero, $f4 -/* 04673C 80045B3C 460014A1 */ cvt.d.s $f18, $f2 -/* 046740 80045B40 4624903C */ c.lt.d $f18, $f4 -/* 046744 80045B44 00000000 */ nop -/* 046748 80045B48 4500002E */ bc1f .L80045C04 -/* 04674C 80045B4C 8FBF0054 */ lw $ra, 0x54($sp) -/* 046750 80045B50 1000002B */ b .L80045C00 -/* 046754 80045B54 A2A001CD */ sb $zero, 0x1cd($s5) -glabel L80045B58 -/* 046758 80045B58 82B90173 */ lb $t9, 0x173($s5) -/* 04675C 80045B5C 00000000 */ nop -/* 046760 80045B60 13200028 */ beqz $t9, .L80045C04 -/* 046764 80045B64 8FBF0054 */ lw $ra, 0x54($sp) -/* 046768 80045B68 10000025 */ b .L80045C00 -/* 04676C 80045B6C A2A001CD */ sb $zero, 0x1cd($s5) -glabel L80045B70 -/* 046770 80045B70 82A90173 */ lb $t1, 0x173($s5) -/* 046774 80045B74 3C01800E */ lui $at, %hi(D_800E63A0 + 4) # $at, 0x800e -/* 046778 80045B78 15200002 */ bnez $t1, .L80045B84 -/* 04677C 80045B7C 3C028012 */ lui $v0, %hi(gCurrentButtonsReleased) # $v0, 0x8012 -/* 046780 80045B80 A2A001CD */ sb $zero, 0x1cd($s5) -.L80045B84: -/* 046784 80045B84 C42963A0 */ lwc1 $f9, %lo(D_800E63A0)($at) -/* 046788 80045B88 C42863A4 */ lwc1 $f8, %lo(D_800E63A0 + 4)($at) -/* 04678C 80045B8C 460011A1 */ cvt.d.s $f6, $f2 -/* 046790 80045B90 4628303C */ c.lt.d $f6, $f8 -/* 046794 80045B94 2442D530 */ addiu $v0, %lo(gCurrentButtonsReleased) # addiu $v0, $v0, -0x2ad0 -/* 046798 80045B98 4500001A */ bc1f .L80045C04 -/* 04679C 80045B9C 8FBF0054 */ lw $ra, 0x54($sp) -/* 0467A0 80045BA0 8C480000 */ lw $t0, ($v0) -/* 0467A4 80045BA4 00000000 */ nop -/* 0467A8 80045BA8 350A2000 */ ori $t2, $t0, 0x2000 -/* 0467AC 80045BAC AC4A0000 */ sw $t2, ($v0) -/* 0467B0 80045BB0 10000013 */ b .L80045C00 -/* 0467B4 80045BB4 A2A001CD */ sb $zero, 0x1cd($s5) -glabel L80045BB8 -/* 0467B8 80045BB8 3C014069 */ li $at, 0x40690000 # 3.640625 -/* 0467BC 80045BBC 44818800 */ mtc1 $at, $f17 -/* 0467C0 80045BC0 44808000 */ mtc1 $zero, $f16 -/* 0467C4 80045BC4 460012A1 */ cvt.d.s $f10, $f2 -/* 0467C8 80045BC8 4630503C */ c.lt.d $f10, $f16 -/* 0467CC 80045BCC 00000000 */ nop -/* 0467D0 80045BD0 4500000C */ bc1f .L80045C04 -/* 0467D4 80045BD4 8FBF0054 */ lw $ra, 0x54($sp) -/* 0467D8 80045BD8 1200000A */ beqz $s0, .L80045C04 -/* 0467DC 80045BDC 8FBF0054 */ lw $ra, 0x54($sp) -/* 0467E0 80045BE0 A2A001CD */ sb $zero, 0x1cd($s5) -/* 0467E4 80045BE4 8E02003C */ lw $v0, 0x3c($s0) -/* 0467E8 80045BE8 00000000 */ nop -/* 0467EC 80045BEC 804B0009 */ lb $t3, 9($v0) -/* 0467F0 80045BF0 00000000 */ nop -/* 0467F4 80045BF4 316C0003 */ andi $t4, $t3, 3 -/* 0467F8 80045BF8 358D0040 */ ori $t5, $t4, 0x40 -/* 0467FC 80045BFC A2AD01CE */ sb $t5, 0x1ce($s5) -.L80045C00: -/* 046800 80045C00 8FBF0054 */ lw $ra, 0x54($sp) -.L80045C04: -/* 046804 80045C04 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 046808 80045C08 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 04680C 80045C0C C7B70020 */ lwc1 $f23, 0x20($sp) -/* 046810 80045C10 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 046814 80045C14 C7B90028 */ lwc1 $f25, 0x28($sp) -/* 046818 80045C18 C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 04681C 80045C1C 8FB00030 */ lw $s0, 0x30($sp) -/* 046820 80045C20 8FB10034 */ lw $s1, 0x34($sp) -/* 046824 80045C24 8FB20038 */ lw $s2, 0x38($sp) -/* 046828 80045C28 8FB3003C */ lw $s3, 0x3c($sp) -/* 04682C 80045C2C 8FB40040 */ lw $s4, 0x40($sp) -/* 046830 80045C30 8FB50044 */ lw $s5, 0x44($sp) -/* 046834 80045C34 8FB60048 */ lw $s6, 0x48($sp) -/* 046838 80045C38 8FB7004C */ lw $s7, 0x4c($sp) -/* 04683C 80045C3C 8FBE0050 */ lw $fp, 0x50($sp) -/* 046840 80045C40 03E00008 */ jr $ra -/* 046844 80045C44 27BD00B8 */ addiu $sp, $sp, 0xb8 - diff --git a/asm/non_matchings/racer/func_80045C48.s b/asm/non_matchings/racer/func_80045C48.s deleted file mode 100644 index 35d6878d..00000000 --- a/asm/non_matchings/racer/func_80045C48.s +++ /dev/null @@ -1,607 +0,0 @@ -glabel func_80045C48 -/* 046848 80045C48 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 04684C 80045C4C 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 046850 80045C50 AC20D528 */ sw $zero, %lo(gCurrentRacerInput)($at) -/* 046854 80045C54 3C018012 */ lui $at, %hi(gCurrentButtonsPressed) # $at, 0x8012 -/* 046858 80045C58 AC20D52C */ sw $zero, %lo(gCurrentButtonsPressed)($at) -/* 04685C 80045C5C 3C018012 */ lui $at, %hi(gCurrentButtonsReleased) # $at, 0x8012 -/* 046860 80045C60 AC20D530 */ sw $zero, %lo(gCurrentButtonsReleased)($at) -/* 046864 80045C64 3C018012 */ lui $at, %hi(gCurrentStickX) # $at, 0x8012 -/* 046868 80045C68 AC20D534 */ sw $zero, %lo(gCurrentStickX)($at) -/* 04686C 80045C6C AFBF002C */ sw $ra, 0x2c($sp) -/* 046870 80045C70 AFB10024 */ sw $s1, 0x24($sp) -/* 046874 80045C74 3C018012 */ lui $at, %hi(gCurrentStickY) # $at, 0x8012 -/* 046878 80045C78 00A08825 */ move $s1, $a1 -/* 04687C 80045C7C AFB20028 */ sw $s2, 0x28($sp) -/* 046880 80045C80 AFB00020 */ sw $s0, 0x20($sp) -/* 046884 80045C84 E7B50018 */ swc1 $f21, 0x18($sp) -/* 046888 80045C88 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 04688C 80045C8C AFA400E8 */ sw $a0, 0xe8($sp) -/* 046890 80045C90 AFA600F0 */ sw $a2, 0xf0($sp) -/* 046894 80045C94 AFA000C4 */ sw $zero, 0xc4($sp) -/* 046898 80045C98 0C006E99 */ jal get_checkpoint_count -/* 04689C 80045C9C AC20D538 */ sw $zero, %lo(gCurrentStickY)($at) -/* 0468A0 80045CA0 14400005 */ bnez $v0, .L80045CB8 -/* 0468A4 80045CA4 00409025 */ move $s2, $v0 -/* 0468A8 80045CA8 240E0019 */ li $t6, 25 -/* 0468AC 80045CAC 3C018012 */ lui $at, %hi(gCurrentStickX) # $at, 0x8012 -/* 0468B0 80045CB0 10000214 */ b .L80046504 -/* 0468B4 80045CB4 AC2ED534 */ sw $t6, %lo(gCurrentStickX)($at) -.L80045CB8: -/* 0468B8 80045CB8 C62400A8 */ lwc1 $f4, 0xa8($s1) -/* 0468BC 80045CBC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 0468C0 80045CC0 44811800 */ mtc1 $at, $f3 -/* 0468C4 80045CC4 44801000 */ mtc1 $zero, $f2 -/* 0468C8 80045CC8 460021A1 */ cvt.d.s $f6, $f4 -/* 0468CC 80045CCC 46261201 */ sub.d $f8, $f2, $f6 -/* 0468D0 80045CD0 44805800 */ mtc1 $zero, $f11 -/* 0468D4 80045CD4 46204520 */ cvt.s.d $f20, $f8 -/* 0468D8 80045CD8 44805000 */ mtc1 $zero, $f10 -/* 0468DC 80045CDC 4600A021 */ cvt.d.s $f0, $f20 -/* 0468E0 80045CE0 82300192 */ lb $s0, 0x192($s1) -/* 0468E4 80045CE4 462A003C */ c.lt.d $f0, $f10 -/* 0468E8 80045CE8 00004025 */ move $t0, $zero -/* 0468EC 80045CEC 45000004 */ bc1f .L80045D00 -/* 0468F0 80045CF0 2610FFFE */ addiu $s0, $s0, -2 -/* 0468F4 80045CF4 4480A000 */ mtc1 $zero, $f20 -/* 0468F8 80045CF8 00000000 */ nop -/* 0468FC 80045CFC 4600A021 */ cvt.d.s $f0, $f20 -.L80045D00: -/* 046900 80045D00 4620103C */ c.lt.d $f2, $f0 -/* 046904 80045D04 27A600B0 */ addiu $a2, $sp, 0xb0 -/* 046908 80045D08 45000004 */ bc1f .L80045D1C -/* 04690C 80045D0C 27A700A0 */ addiu $a3, $sp, 0xa0 -/* 046910 80045D10 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 046914 80045D14 4481A000 */ mtc1 $at, $f20 -/* 046918 80045D18 00000000 */ nop -.L80045D1C: -/* 04691C 80045D1C 06010002 */ bgez $s0, .L80045D28 -/* 046920 80045D20 27A30090 */ addiu $v1, $sp, 0x90 -/* 046924 80045D24 02028021 */ addu $s0, $s0, $v0 -.L80045D28: -/* 046928 80045D28 0202082A */ slt $at, $s0, $v0 -/* 04692C 80045D2C 14200002 */ bnez $at, .L80045D38 -/* 046930 80045D30 00000000 */ nop -/* 046934 80045D34 02028023 */ subu $s0, $s0, $v0 -.L80045D38: -/* 046938 80045D38 922501C8 */ lbu $a1, 0x1c8($s1) -/* 04693C 80045D3C AFA8003C */ sw $t0, 0x3c($sp) -/* 046940 80045D40 AFA70034 */ sw $a3, 0x34($sp) -/* 046944 80045D44 AFA60038 */ sw $a2, 0x38($sp) -/* 046948 80045D48 AFA30030 */ sw $v1, 0x30($sp) -/* 04694C 80045D4C 0C006E87 */ jal find_next_checkpoint_node -/* 046950 80045D50 02002025 */ move $a0, $s0 -/* 046954 80045D54 8FA60038 */ lw $a2, 0x38($sp) -/* 046958 80045D58 C4520010 */ lwc1 $f18, 0x10($v0) -/* 04695C 80045D5C 8FA30030 */ lw $v1, 0x30($sp) -/* 046960 80045D60 8FA70034 */ lw $a3, 0x34($sp) -/* 046964 80045D64 8FA8003C */ lw $t0, 0x3c($sp) -/* 046968 80045D68 E4D20000 */ swc1 $f18, ($a2) -/* 04696C 80045D6C C4440014 */ lwc1 $f4, 0x14($v0) -/* 046970 80045D70 26100001 */ addiu $s0, $s0, 1 -/* 046974 80045D74 E4E40000 */ swc1 $f4, ($a3) -/* 046978 80045D78 C4460018 */ lwc1 $f6, 0x18($v0) -/* 04697C 80045D7C 00000000 */ nop -/* 046980 80045D80 E4660000 */ swc1 $f6, ($v1) -/* 046984 80045D84 922F01C9 */ lbu $t7, 0x1c9($s1) -/* 046988 80045D88 00000000 */ nop -/* 04698C 80045D8C 15E00037 */ bnez $t7, .L80045E6C -/* 046990 80045D90 00000000 */ nop -/* 046994 80045D94 823801CA */ lb $t8, 0x1ca($s1) -/* 046998 80045D98 03A85021 */ addu $t2, $sp, $t0 -/* 04699C 80045D9C 0058C821 */ addu $t9, $v0, $t8 -/* 0469A0 80045DA0 8329002E */ lb $t1, 0x2e($t9) -/* 0469A4 80045DA4 03A87021 */ addu $t6, $sp, $t0 -/* 0469A8 80045DA8 44894000 */ mtc1 $t1, $f8 -/* 0469AC 80045DAC 00000000 */ nop -/* 0469B0 80045DB0 468042A0 */ cvt.s.w $f10, $f8 -/* 0469B4 80045DB4 E54A0074 */ swc1 $f10, 0x74($t2) -/* 0469B8 80045DB8 822B01CA */ lb $t3, 0x1ca($s1) -/* 0469BC 80045DBC 00000000 */ nop -/* 0469C0 80045DC0 004B6021 */ addu $t4, $v0, $t3 -/* 0469C4 80045DC4 818D0032 */ lb $t5, 0x32($t4) -/* 0469C8 80045DC8 00000000 */ nop -/* 0469CC 80045DCC 448D9000 */ mtc1 $t5, $f18 -/* 0469D0 80045DD0 00000000 */ nop -/* 0469D4 80045DD4 46809120 */ cvt.s.w $f4, $f18 -/* 0469D8 80045DD8 E5C40064 */ swc1 $f4, 0x64($t6) -/* 0469DC 80045DDC 822F01CA */ lb $t7, 0x1ca($s1) -/* 0469E0 80045DE0 C446001C */ lwc1 $f6, 0x1c($v0) -/* 0469E4 80045DE4 004FC021 */ addu $t8, $v0, $t7 -/* 0469E8 80045DE8 8319002E */ lb $t9, 0x2e($t8) -/* 0469EC 80045DEC C4480008 */ lwc1 $f8, 8($v0) -/* 0469F0 80045DF0 44999000 */ mtc1 $t9, $f18 -/* 0469F4 80045DF4 46083282 */ mul.s $f10, $f6, $f8 -/* 0469F8 80045DF8 C4C80000 */ lwc1 $f8, ($a2) -/* 0469FC 80045DFC 46809120 */ cvt.s.w $f4, $f18 -/* 046A00 80045E00 46045182 */ mul.s $f6, $f10, $f4 -/* 046A04 80045E04 46064480 */ add.s $f18, $f8, $f6 -/* 046A08 80045E08 E4D20000 */ swc1 $f18, ($a2) -/* 046A0C 80045E0C 822901CA */ lb $t1, 0x1ca($s1) -/* 046A10 80045E10 C44A001C */ lwc1 $f10, 0x1c($v0) -/* 046A14 80045E14 00495021 */ addu $t2, $v0, $t1 -/* 046A18 80045E18 814B0032 */ lb $t3, 0x32($t2) -/* 046A1C 80045E1C C4F20000 */ lwc1 $f18, ($a3) -/* 046A20 80045E20 448B2000 */ mtc1 $t3, $f4 -/* 046A24 80045E24 00000000 */ nop -/* 046A28 80045E28 46802220 */ cvt.s.w $f8, $f4 -/* 046A2C 80045E2C 46085182 */ mul.s $f6, $f10, $f8 -/* 046A30 80045E30 46069100 */ add.s $f4, $f18, $f6 -/* 046A34 80045E34 E4E40000 */ swc1 $f4, ($a3) -/* 046A38 80045E38 822C01CA */ lb $t4, 0x1ca($s1) -/* 046A3C 80045E3C C4480000 */ lwc1 $f8, ($v0) -/* 046A40 80045E40 004C6821 */ addu $t5, $v0, $t4 -/* 046A44 80045E44 81AE002E */ lb $t6, 0x2e($t5) -/* 046A48 80045E48 C44A001C */ lwc1 $f10, 0x1c($v0) -/* 046A4C 80045E4C 448E2000 */ mtc1 $t6, $f4 -/* 046A50 80045E50 46004487 */ neg.s $f18, $f8 -/* 046A54 80045E54 46125182 */ mul.s $f6, $f10, $f18 -/* 046A58 80045E58 C4720000 */ lwc1 $f18, ($v1) -/* 046A5C 80045E5C 46802220 */ cvt.s.w $f8, $f4 -/* 046A60 80045E60 46083282 */ mul.s $f10, $f6, $f8 -/* 046A64 80045E64 460A9100 */ add.s $f4, $f18, $f10 -/* 046A68 80045E68 E4640000 */ swc1 $f4, ($v1) -.L80045E6C: -/* 046A6C 80045E6C 16120002 */ bne $s0, $s2, .L80045E78 -/* 046A70 80045E70 25080004 */ addiu $t0, $t0, 4 -/* 046A74 80045E74 00008025 */ move $s0, $zero -.L80045E78: -/* 046A78 80045E78 24630004 */ addiu $v1, $v1, 4 -/* 046A7C 80045E7C 27AF00A0 */ addiu $t7, $sp, 0xa0 -/* 046A80 80045E80 006F082B */ sltu $at, $v1, $t7 -/* 046A84 80045E84 24C60004 */ addiu $a2, $a2, 4 -/* 046A88 80045E88 1420FFAB */ bnez $at, .L80045D38 -/* 046A8C 80045E8C 24E70004 */ addiu $a3, $a3, 4 -/* 046A90 80045E90 922201C9 */ lbu $v0, 0x1c9($s1) -/* 046A94 80045E94 27A400B0 */ addiu $a0, $sp, 0xb0 -/* 046A98 80045E98 14400022 */ bnez $v0, .L80045F24 -/* 046A9C 80045E9C 00000000 */ nop -/* 046AA0 80045EA0 C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 046AA4 80045EA4 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 046AA8 80045EA8 00000000 */ nop -/* 046AAC 80045EAC 46083481 */ sub.s $f18, $f6, $f8 -/* 046AB0 80045EB0 46149282 */ mul.s $f10, $f18, $f20 -/* 046AB4 80045EB4 46085100 */ add.s $f4, $f10, $f8 -/* 046AB8 80045EB8 4458F800 */ cfc1 $t8, $31 -/* 046ABC 80045EBC 00000000 */ nop -/* 046AC0 80045EC0 37010003 */ ori $at, $t8, 3 -/* 046AC4 80045EC4 38210002 */ xori $at, $at, 2 -/* 046AC8 80045EC8 44C1F800 */ ctc1 $at, $31 -/* 046ACC 80045ECC 00000000 */ nop -/* 046AD0 80045ED0 460021A4 */ cvt.w.s $f6, $f4 -/* 046AD4 80045ED4 44193000 */ mfc1 $t9, $f6 -/* 046AD8 80045ED8 44D8F800 */ ctc1 $t8, $31 -/* 046ADC 80045EDC A63901BA */ sh $t9, 0x1ba($s1) -/* 046AE0 80045EE0 C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 046AE4 80045EE4 C7B2006C */ lwc1 $f18, 0x6c($sp) -/* 046AE8 80045EE8 00000000 */ nop -/* 046AEC 80045EEC 460A9201 */ sub.s $f8, $f18, $f10 -/* 046AF0 80045EF0 46144102 */ mul.s $f4, $f8, $f20 -/* 046AF4 80045EF4 460A2180 */ add.s $f6, $f4, $f10 -/* 046AF8 80045EF8 4449F800 */ cfc1 $t1, $31 -/* 046AFC 80045EFC 00000000 */ nop -/* 046B00 80045F00 35210003 */ ori $at, $t1, 3 -/* 046B04 80045F04 38210002 */ xori $at, $at, 2 -/* 046B08 80045F08 44C1F800 */ ctc1 $at, $31 -/* 046B0C 80045F0C 00000000 */ nop -/* 046B10 80045F10 460034A4 */ cvt.w.s $f18, $f6 -/* 046B14 80045F14 440A9000 */ mfc1 $t2, $f18 -/* 046B18 80045F18 44C9F800 */ ctc1 $t1, $31 -/* 046B1C 80045F1C A62A01BC */ sh $t2, 0x1bc($s1) -/* 046B20 80045F20 00000000 */ nop -.L80045F24: -/* 046B24 80045F24 4406A000 */ mfc1 $a2, $f20 -/* 046B28 80045F28 0C0089DF */ jal func_8002277C -/* 046B2C 80045F2C 00002825 */ move $a1, $zero -/* 046B30 80045F30 4406A000 */ mfc1 $a2, $f20 -/* 046B34 80045F34 E7A0005C */ swc1 $f0, 0x5c($sp) -/* 046B38 80045F38 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 046B3C 80045F3C 0C0089DF */ jal func_8002277C -/* 046B40 80045F40 00002825 */ move $a1, $zero -/* 046B44 80045F44 4406A000 */ mfc1 $a2, $f20 -/* 046B48 80045F48 E7A00058 */ swc1 $f0, 0x58($sp) -/* 046B4C 80045F4C 27A40090 */ addiu $a0, $sp, 0x90 -/* 046B50 80045F50 0C0089DF */ jal func_8002277C -/* 046B54 80045F54 00002825 */ move $a1, $zero -/* 046B58 80045F58 C7A2005C */ lwc1 $f2, 0x5c($sp) -/* 046B5C 80045F5C C7AE0058 */ lwc1 $f14, 0x58($sp) -/* 046B60 80045F60 46021202 */ mul.s $f8, $f2, $f2 -/* 046B64 80045F64 E7A00054 */ swc1 $f0, 0x54($sp) -/* 046B68 80045F68 460E7102 */ mul.s $f4, $f14, $f14 -/* 046B6C 80045F6C 00000000 */ nop -/* 046B70 80045F70 46000182 */ mul.s $f6, $f0, $f0 -/* 046B74 80045F74 46044280 */ add.s $f10, $f8, $f4 -/* 046B78 80045F78 0C0326B4 */ jal sqrtf -/* 046B7C 80045F7C 46065300 */ add.s $f12, $f10, $f6 -/* 046B80 80045F80 44809000 */ mtc1 $zero, $f18 -/* 046B84 80045F84 00000000 */ nop -/* 046B88 80045F88 46120032 */ c.eq.s $f0, $f18 -/* 046B8C 80045F8C 00000000 */ nop -/* 046B90 80045F90 4501000D */ bc1t .L80045FC8 -/* 046B94 80045F94 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 046B98 80045F98 44814000 */ mtc1 $at, $f8 -/* 046B9C 80045F9C C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 046BA0 80045FA0 46004503 */ div.s $f20, $f8, $f0 -/* 046BA4 80045FA4 C7A60058 */ lwc1 $f6, 0x58($sp) -/* 046BA8 80045FA8 C7AE0054 */ lwc1 $f14, 0x54($sp) -/* 046BAC 80045FAC 46142282 */ mul.s $f10, $f4, $f20 -/* 046BB0 80045FB0 00000000 */ nop -/* 046BB4 80045FB4 46143482 */ mul.s $f18, $f6, $f20 -/* 046BB8 80045FB8 E7AA005C */ swc1 $f10, 0x5c($sp) -/* 046BBC 80045FBC 46147382 */ mul.s $f14, $f14, $f20 -/* 046BC0 80045FC0 E7B20058 */ swc1 $f18, 0x58($sp) -/* 046BC4 80045FC4 E7AE0054 */ swc1 $f14, 0x54($sp) -.L80045FC8: -/* 046BC8 80045FC8 C7AE0054 */ lwc1 $f14, 0x54($sp) -/* 046BCC 80045FCC C7AC005C */ lwc1 $f12, 0x5c($sp) -/* 046BD0 80045FD0 0C01C1D4 */ jal arctan2_f -/* 046BD4 80045FD4 00000000 */ nop -/* 046BD8 80045FD8 24018000 */ li $at, -32768 -/* 046BDC 80045FDC 00418021 */ addu $s0, $v0, $at -/* 046BE0 80045FE0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 046BE4 80045FE4 320BFFFF */ andi $t3, $s0, 0xffff -/* 046BE8 80045FE8 44817000 */ mtc1 $at, $f14 -/* 046BEC 80045FEC C7AC0058 */ lwc1 $f12, 0x58($sp) -/* 046BF0 80045FF0 0C01C1D4 */ jal arctan2_f -/* 046BF4 80045FF4 01608025 */ move $s0, $t3 -/* 046BF8 80045FF8 862C01BE */ lh $t4, 0x1be($s1) -/* 046BFC 80045FFC 862D01C0 */ lh $t5, 0x1c0($s1) -/* 046C00 80046000 A62C01C2 */ sh $t4, 0x1c2($s1) -/* 046C04 80046004 862E01C2 */ lh $t6, 0x1c2($s1) -/* 046C08 80046008 34088001 */ li $t0, 32769 -/* 046C0C 8004600C 31CFFFFF */ andi $t7, $t6, 0xffff -/* 046C10 80046010 020F2023 */ subu $a0, $s0, $t7 -/* 046C14 80046014 3045FFFF */ andi $a1, $v0, 0xffff -/* 046C18 80046018 0088082A */ slt $at, $a0, $t0 -/* 046C1C 8004601C A63001BE */ sh $s0, 0x1be($s1) -/* 046C20 80046020 A62501C0 */ sh $a1, 0x1c0($s1) -/* 046C24 80046024 14200004 */ bnez $at, .L80046038 -/* 046C28 80046028 A62D01C4 */ sh $t5, 0x1c4($s1) -/* 046C2C 8004602C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 046C30 80046030 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 046C34 80046034 00812021 */ addu $a0, $a0, $at -.L80046038: -/* 046C38 80046038 28818000 */ slti $at, $a0, -0x8000 -/* 046C3C 8004603C 10200002 */ beqz $at, .L80046048 -/* 046C40 80046040 3401FFFF */ li $at, 65535 -/* 046C44 80046044 00812021 */ addu $a0, $a0, $at -.L80046048: -/* 046C48 80046048 863801C4 */ lh $t8, 0x1c4($s1) -/* 046C4C 8004604C 000448C3 */ sra $t1, $a0, 3 -/* 046C50 80046050 3319FFFF */ andi $t9, $t8, 0xffff -/* 046C54 80046054 00B91823 */ subu $v1, $a1, $t9 -/* 046C58 80046058 0068082A */ slt $at, $v1, $t0 -/* 046C5C 8004605C 14200004 */ bnez $at, .L80046070 -/* 046C60 80046060 00095023 */ negu $t2, $t1 -/* 046C64 80046064 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 046C68 80046068 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 046C6C 8004606C 00611821 */ addu $v1, $v1, $at -.L80046070: -/* 046C70 80046070 28618000 */ slti $at, $v1, -0x8000 -/* 046C74 80046074 10200002 */ beqz $at, .L80046080 -/* 046C78 80046078 3401FFFF */ li $at, 65535 -/* 046C7C 8004607C 00611821 */ addu $v1, $v1, $at -.L80046080: -/* 046C80 80046080 3C018012 */ lui $at, %hi(gCurrentStickX) # $at, 0x8012 -/* 046C84 80046084 AC2AD534 */ sw $t2, %lo(gCurrentStickX)($at) -/* 046C88 80046088 000358C3 */ sra $t3, $v1, 3 -/* 046C8C 8004608C 000B6023 */ negu $t4, $t3 -/* 046C90 80046090 3C018012 */ lui $at, %hi(gCurrentStickY) # $at, 0x8012 -/* 046C94 80046094 AC2CD538 */ sw $t4, %lo(gCurrentStickY)($at) -/* 046C98 80046098 862D01A0 */ lh $t5, 0x1a0($s1) -/* 046C9C 8004609C 44804000 */ mtc1 $zero, $f8 -/* 046CA0 800460A0 31AEFFFF */ andi $t6, $t5, 0xffff -/* 046CA4 800460A4 020E2023 */ subu $a0, $s0, $t6 -/* 046CA8 800460A8 0088082A */ slt $at, $a0, $t0 -/* 046CAC 800460AC 14200003 */ bnez $at, .L800460BC -/* 046CB0 800460B0 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 046CB4 800460B4 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 046CB8 800460B8 00812021 */ addu $a0, $a0, $at -.L800460BC: -/* 046CBC 800460BC 28818000 */ slti $at, $a0, -0x8000 -/* 046CC0 800460C0 10200002 */ beqz $at, .L800460CC -/* 046CC4 800460C4 3401FFFF */ li $at, 65535 -/* 046CC8 800460C8 00812021 */ addu $a0, $a0, $at -.L800460CC: -/* 046CCC 800460CC 28813001 */ slti $at, $a0, 0x3001 -/* 046CD0 800460D0 10200002 */ beqz $at, .L800460DC -/* 046CD4 800460D4 2881D000 */ slti $at, $a0, -0x3000 -/* 046CD8 800460D8 10200002 */ beqz $at, .L800460E4 -.L800460DC: -/* 046CDC 800460DC 240F0001 */ li $t7, 1 -/* 046CE0 800460E0 AFAF00C4 */ sw $t7, 0xc4($sp) -.L800460E4: -/* 046CE4 800460E4 C62400A8 */ lwc1 $f4, 0xa8($s1) -/* 046CE8 800460E8 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 046CEC 800460EC 44814800 */ mtc1 $at, $f9 -/* 046CF0 800460F0 460022A1 */ cvt.d.s $f10, $f4 -/* 046CF4 800460F4 462A4181 */ sub.d $f6, $f8, $f10 -/* 046CF8 800460F8 44809800 */ mtc1 $zero, $f19 -/* 046CFC 800460FC 46203520 */ cvt.s.d $f20, $f6 -/* 046D00 80046100 44809000 */ mtc1 $zero, $f18 -/* 046D04 80046104 4600A021 */ cvt.d.s $f0, $f20 -/* 046D08 80046108 82300192 */ lb $s0, 0x192($s1) -/* 046D0C 8004610C 4632003C */ c.lt.d $f0, $f18 -/* 046D10 80046110 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 046D14 80046114 45000004 */ bc1f .L80046128 -/* 046D18 80046118 2610FFFE */ addiu $s0, $s0, -2 -/* 046D1C 8004611C 4480A000 */ mtc1 $zero, $f20 -/* 046D20 80046120 00000000 */ nop -/* 046D24 80046124 4600A021 */ cvt.d.s $f0, $f20 -.L80046128: -/* 046D28 80046128 44812800 */ mtc1 $at, $f5 -/* 046D2C 8004612C 44802000 */ mtc1 $zero, $f4 -/* 046D30 80046130 8FB800C4 */ lw $t8, 0xc4($sp) -/* 046D34 80046134 4620203C */ c.lt.d $f4, $f0 -/* 046D38 80046138 00000000 */ nop -/* 046D3C 8004613C 45000003 */ bc1f .L8004614C -/* 046D40 80046140 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 046D44 80046144 4481A000 */ mtc1 $at, $f20 -/* 046D48 80046148 00000000 */ nop -.L8004614C: -/* 046D4C 8004614C 13000003 */ beqz $t8, .L8004615C -/* 046D50 80046150 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 046D54 80046154 4481A000 */ mtc1 $at, $f20 -/* 046D58 80046158 00000000 */ nop -.L8004615C: -/* 046D5C 8004615C 923901C9 */ lbu $t9, 0x1c9($s1) -/* 046D60 80046160 00000000 */ nop -/* 046D64 80046164 13200037 */ beqz $t9, .L80046244 -/* 046D68 80046168 00000000 */ nop -/* 046D6C 8004616C 06010002 */ bgez $s0, .L80046178 -/* 046D70 80046170 27A600B0 */ addiu $a2, $sp, 0xb0 -/* 046D74 80046174 02128021 */ addu $s0, $s0, $s2 -.L80046178: -/* 046D78 80046178 0212082A */ slt $at, $s0, $s2 -/* 046D7C 8004617C 14200002 */ bnez $at, .L80046188 -/* 046D80 80046180 27A700A0 */ addiu $a3, $sp, 0xa0 -/* 046D84 80046184 02128023 */ subu $s0, $s0, $s2 -.L80046188: -/* 046D88 80046188 27A30090 */ addiu $v1, $sp, 0x90 -.L8004618C: -/* 046D8C 8004618C 922501C8 */ lbu $a1, 0x1c8($s1) -/* 046D90 80046190 AFA70034 */ sw $a3, 0x34($sp) -/* 046D94 80046194 AFA60038 */ sw $a2, 0x38($sp) -/* 046D98 80046198 AFA30030 */ sw $v1, 0x30($sp) -/* 046D9C 8004619C 0C006E87 */ jal find_next_checkpoint_node -/* 046DA0 800461A0 02002025 */ move $a0, $s0 -/* 046DA4 800461A4 862901BA */ lh $t1, 0x1ba($s1) -/* 046DA8 800461A8 C448001C */ lwc1 $f8, 0x1c($v0) -/* 046DAC 800461AC C44A0008 */ lwc1 $f10, 8($v0) -/* 046DB0 800461B0 44899000 */ mtc1 $t1, $f18 -/* 046DB4 800461B4 460A4182 */ mul.s $f6, $f8, $f10 -/* 046DB8 800461B8 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 046DBC 800461BC 8FA60038 */ lw $a2, 0x38($sp) -/* 046DC0 800461C0 8FA30030 */ lw $v1, 0x30($sp) -/* 046DC4 800461C4 46809120 */ cvt.s.w $f4, $f18 -/* 046DC8 800461C8 8FA70034 */ lw $a3, 0x34($sp) -/* 046DCC 800461CC 26100001 */ addiu $s0, $s0, 1 -/* 046DD0 800461D0 46043202 */ mul.s $f8, $f6, $f4 -/* 046DD4 800461D4 27AC00A0 */ addiu $t4, $sp, 0xa0 -/* 046DD8 800461D8 24C60004 */ addiu $a2, $a2, 4 -/* 046DDC 800461DC 24630004 */ addiu $v1, $v1, 4 -/* 046DE0 800461E0 46085480 */ add.s $f18, $f10, $f8 -/* 046DE4 800461E4 E4D2FFFC */ swc1 $f18, -4($a2) -/* 046DE8 800461E8 862A01BC */ lh $t2, 0x1bc($s1) -/* 046DEC 800461EC C446001C */ lwc1 $f6, 0x1c($v0) -/* 046DF0 800461F0 448A2000 */ mtc1 $t2, $f4 -/* 046DF4 800461F4 C4520014 */ lwc1 $f18, 0x14($v0) -/* 046DF8 800461F8 468022A0 */ cvt.s.w $f10, $f4 -/* 046DFC 800461FC 460A3202 */ mul.s $f8, $f6, $f10 -/* 046E00 80046200 46089100 */ add.s $f4, $f18, $f8 -/* 046E04 80046204 E4E40000 */ swc1 $f4, ($a3) -/* 046E08 80046208 862B01BA */ lh $t3, 0x1ba($s1) -/* 046E0C 8004620C C44A0000 */ lwc1 $f10, ($v0) -/* 046E10 80046210 C446001C */ lwc1 $f6, 0x1c($v0) -/* 046E14 80046214 448B2000 */ mtc1 $t3, $f4 -/* 046E18 80046218 46005487 */ neg.s $f18, $f10 -/* 046E1C 8004621C 46123202 */ mul.s $f8, $f6, $f18 -/* 046E20 80046220 C4520018 */ lwc1 $f18, 0x18($v0) -/* 046E24 80046224 468022A0 */ cvt.s.w $f10, $f4 -/* 046E28 80046228 460A4182 */ mul.s $f6, $f8, $f10 -/* 046E2C 8004622C 46069100 */ add.s $f4, $f18, $f6 -/* 046E30 80046230 16120002 */ bne $s0, $s2, .L8004623C -/* 046E34 80046234 E464FFFC */ swc1 $f4, -4($v1) -/* 046E38 80046238 00008025 */ move $s0, $zero -.L8004623C: -/* 046E3C 8004623C 146CFFD3 */ bne $v1, $t4, .L8004618C -/* 046E40 80046240 24E70004 */ addiu $a3, $a3, 4 -.L80046244: -/* 046E44 80046244 4406A000 */ mfc1 $a2, $f20 -/* 046E48 80046248 27A400B0 */ addiu $a0, $sp, 0xb0 -/* 046E4C 8004624C 00002825 */ move $a1, $zero -/* 046E50 80046250 0C00898F */ jal cubic_spline_interpolation -/* 046E54 80046254 27A7005C */ addiu $a3, $sp, 0x5c -/* 046E58 80046258 4406A000 */ mfc1 $a2, $f20 -/* 046E5C 8004625C E7A0008C */ swc1 $f0, 0x8c($sp) -/* 046E60 80046260 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 046E64 80046264 00002825 */ move $a1, $zero -/* 046E68 80046268 0C00898F */ jal cubic_spline_interpolation -/* 046E6C 8004626C 27A70058 */ addiu $a3, $sp, 0x58 -/* 046E70 80046270 4406A000 */ mfc1 $a2, $f20 -/* 046E74 80046274 E7A00088 */ swc1 $f0, 0x88($sp) -/* 046E78 80046278 27A40090 */ addiu $a0, $sp, 0x90 -/* 046E7C 8004627C 00002825 */ move $a1, $zero -/* 046E80 80046280 0C00898F */ jal cubic_spline_interpolation -/* 046E84 80046284 27A70054 */ addiu $a3, $sp, 0x54 -/* 046E88 80046288 C7A2005C */ lwc1 $f2, 0x5c($sp) -/* 046E8C 8004628C C7B00058 */ lwc1 $f16, 0x58($sp) -/* 046E90 80046290 46021202 */ mul.s $f8, $f2, $f2 -/* 046E94 80046294 C7AE0054 */ lwc1 $f14, 0x54($sp) -/* 046E98 80046298 E7A00084 */ swc1 $f0, 0x84($sp) -/* 046E9C 8004629C 46108282 */ mul.s $f10, $f16, $f16 -/* 046EA0 800462A0 00000000 */ nop -/* 046EA4 800462A4 460E7182 */ mul.s $f6, $f14, $f14 -/* 046EA8 800462A8 460A4480 */ add.s $f18, $f8, $f10 -/* 046EAC 800462AC 0C0326B4 */ jal sqrtf -/* 046EB0 800462B0 46069300 */ add.s $f12, $f18, $f6 -/* 046EB4 800462B4 44802000 */ mtc1 $zero, $f4 -/* 046EB8 800462B8 3C0143FA */ li $at, 0x43FA0000 # 500.000000 -/* 046EBC 800462BC 46040032 */ c.eq.s $f0, $f4 -/* 046EC0 800462C0 00000000 */ nop -/* 046EC4 800462C4 4501000E */ bc1t .L80046300 -/* 046EC8 800462C8 8FA200E8 */ lw $v0, 0xe8($sp) -/* 046ECC 800462CC 44814000 */ mtc1 $at, $f8 -/* 046ED0 800462D0 C7A2005C */ lwc1 $f2, 0x5c($sp) -/* 046ED4 800462D4 46004503 */ div.s $f20, $f8, $f0 -/* 046ED8 800462D8 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 046EDC 800462DC C7AE0054 */ lwc1 $f14, 0x54($sp) -/* 046EE0 800462E0 46141082 */ mul.s $f2, $f2, $f20 -/* 046EE4 800462E4 00000000 */ nop -/* 046EE8 800462E8 46145482 */ mul.s $f18, $f10, $f20 -/* 046EEC 800462EC E7A2005C */ swc1 $f2, 0x5c($sp) -/* 046EF0 800462F0 46147382 */ mul.s $f14, $f14, $f20 -/* 046EF4 800462F4 E7B20058 */ swc1 $f18, 0x58($sp) -/* 046EF8 800462F8 E7AE0054 */ swc1 $f14, 0x54($sp) -/* 046EFC 800462FC 8FA200E8 */ lw $v0, 0xe8($sp) -.L80046300: -/* 046F00 80046300 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 046F04 80046304 C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 046F08 80046308 C44A000C */ lwc1 $f10, 0xc($v0) -/* 046F0C 8004630C 46043200 */ add.s $f8, $f6, $f4 -/* 046F10 80046310 C7A40058 */ lwc1 $f4, 0x58($sp) -/* 046F14 80046314 460A4301 */ sub.s $f12, $f8, $f10 -/* 046F18 80046318 C7A60088 */ lwc1 $f6, 0x88($sp) -/* 046F1C 8004631C E7AC005C */ swc1 $f12, 0x5c($sp) -/* 046F20 80046320 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 046F24 80046324 46043200 */ add.s $f8, $f6, $f4 -/* 046F28 80046328 C7A40084 */ lwc1 $f4, 0x84($sp) -/* 046F2C 8004632C 460A4181 */ sub.s $f6, $f8, $f10 -/* 046F30 80046330 C7A80054 */ lwc1 $f8, 0x54($sp) -/* 046F34 80046334 E7A60058 */ swc1 $f6, 0x58($sp) -/* 046F38 80046338 C4460014 */ lwc1 $f6, 0x14($v0) -/* 046F3C 8004633C 46082280 */ add.s $f10, $f4, $f8 -/* 046F40 80046340 46065381 */ sub.s $f14, $f10, $f6 -/* 046F44 80046344 0C01C1D4 */ jal arctan2_f -/* 046F48 80046348 E7AE0054 */ swc1 $f14, 0x54($sp) -/* 046F4C 8004634C 24018000 */ li $at, -32768 -/* 046F50 80046350 00418021 */ addu $s0, $v0, $at -/* 046F54 80046354 3C0143FA */ li $at, 0x43FA0000 # 500.000000 -/* 046F58 80046358 320DFFFF */ andi $t5, $s0, 0xffff -/* 046F5C 8004635C 44817000 */ mtc1 $at, $f14 -/* 046F60 80046360 C7AC0058 */ lwc1 $f12, 0x58($sp) -/* 046F64 80046364 0C01C1D4 */ jal arctan2_f -/* 046F68 80046368 01A08025 */ move $s0, $t5 -/* 046F6C 8004636C 862501A0 */ lh $a1, 0x1a0($s1) -/* 046F70 80046370 34018001 */ li $at, 32769 -/* 046F74 80046374 30AEFFFF */ andi $t6, $a1, 0xffff -/* 046F78 80046378 020E2023 */ subu $a0, $s0, $t6 -/* 046F7C 8004637C 0081082A */ slt $at, $a0, $at -/* 046F80 80046380 14200004 */ bnez $at, .L80046394 -/* 046F84 80046384 24070001 */ li $a3, 1 -/* 046F88 80046388 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 046F8C 8004638C 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 046F90 80046390 00812021 */ addu $a0, $a0, $at -.L80046394: -/* 046F94 80046394 28818000 */ slti $at, $a0, -0x8000 -/* 046F98 80046398 10200002 */ beqz $at, .L800463A4 -/* 046F9C 8004639C 3401FFFF */ li $at, 65535 -/* 046FA0 800463A0 00812021 */ addu $a0, $a0, $at -.L800463A4: -/* 046FA4 800463A4 8FB800E8 */ lw $t8, 0xe8($sp) -/* 046FA8 800463A8 304FFFFF */ andi $t7, $v0, 0xffff -/* 046FAC 800463AC 87190002 */ lh $t9, 2($t8) -/* 046FB0 800463B0 34018001 */ li $at, 32769 -/* 046FB4 800463B4 3329FFFF */ andi $t1, $t9, 0xffff -/* 046FB8 800463B8 01E91823 */ subu $v1, $t7, $t1 -/* 046FBC 800463BC 0061082A */ slt $at, $v1, $at -/* 046FC0 800463C0 14200004 */ bnez $at, .L800463D4 -/* 046FC4 800463C4 00042023 */ negu $a0, $a0 -/* 046FC8 800463C8 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 046FCC 800463CC 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 046FD0 800463D0 00611821 */ addu $v1, $v1, $at -.L800463D4: -/* 046FD4 800463D4 28618000 */ slti $at, $v1, -0x8000 -/* 046FD8 800463D8 10200003 */ beqz $at, .L800463E8 -/* 046FDC 800463DC 24020005 */ li $v0, 5 -/* 046FE0 800463E0 3401FFFF */ li $at, 65535 -/* 046FE4 800463E4 00611821 */ addu $v1, $v1, $at -.L800463E8: -/* 046FE8 800463E8 822601D6 */ lb $a2, 0x1d6($s1) -/* 046FEC 800463EC 24010002 */ li $at, 2 -/* 046FF0 800463F0 14C10002 */ bne $a2, $at, .L800463FC -/* 046FF4 800463F4 00031823 */ negu $v1, $v1 -/* 046FF8 800463F8 24020006 */ li $v0, 6 -.L800463FC: -/* 046FFC 800463FC 14E60007 */ bne $a3, $a2, .L8004641C -/* 047000 80046400 3C018012 */ lui $at, 0x8012 -/* 047004 80046404 822A01D4 */ lb $t2, 0x1d4($s1) -/* 047008 80046408 00045843 */ sra $t3, $a0, 1 -/* 04700C 8004640C 15400003 */ bnez $t2, .L8004641C -/* 047010 80046410 00AB6023 */ subu $t4, $a1, $t3 -/* 047014 80046414 822601D6 */ lb $a2, 0x1d6($s1) -/* 047018 80046418 A62C01A0 */ sh $t4, 0x1a0($s1) -.L8004641C: -/* 04701C 8004641C 10C70019 */ beq $a2, $a3, .L80046484 -/* 047020 80046420 3C0A8012 */ lui $t2, %hi(gCurrentStickX) # $t2, 0x8012 -/* 047024 80046424 24010004 */ li $at, 4 -/* 047028 80046428 10C10013 */ beq $a2, $at, .L80046478 -/* 04702C 8004642C 24010005 */ li $at, 5 -/* 047030 80046430 10C1001B */ beq $a2, $at, .L800464A0 -/* 047034 80046434 3C0D8012 */ lui $t5, %hi(gCurrentStickX) # $t5, 0x8012 -/* 047038 80046438 24010007 */ li $at, 7 -/* 04703C 8004643C 10C10021 */ beq $a2, $at, .L800464C4 -/* 047040 80046440 3C0F8012 */ lui $t7, %hi(gCurrentStickX) # $t7, 0x8012 -/* 047044 80046444 3C0D8012 */ lui $t5, %hi(gCurrentStickX) # $t5, 0x8012 -/* 047048 80046448 8DADD534 */ lw $t5, %lo(gCurrentStickX)($t5) -/* 04704C 8004644C 00447007 */ srav $t6, $a0, $v0 -/* 047050 80046450 3C198012 */ lui $t9, %hi(gCurrentStickY) # $t9, 0x8012 -/* 047054 80046454 8F39D538 */ lw $t9, %lo(gCurrentStickY)($t9) -/* 047058 80046458 3C018012 */ lui $at, %hi(gCurrentStickX) # $at, 0x8012 -/* 04705C 8004645C 01AEC021 */ addu $t8, $t5, $t6 -/* 047060 80046460 AC38D534 */ sw $t8, %lo(gCurrentStickX)($at) -/* 047064 80046464 00437807 */ srav $t7, $v1, $v0 -/* 047068 80046468 3C018012 */ lui $at, %hi(gCurrentStickY) # $at, 0x8012 -/* 04706C 8004646C 032F4821 */ addu $t1, $t9, $t7 -/* 047070 80046470 10000020 */ b .L800464F4 -/* 047074 80046474 AC29D538 */ sw $t1, %lo(gCurrentStickY)($at) -.L80046478: -/* 047078 80046478 3C018012 */ lui $at, %hi(gCurrentStickY) # $at, 0x8012 -/* 04707C 8004647C 1000001D */ b .L800464F4 -/* 047080 80046480 AC20D538 */ sw $zero, %lo(gCurrentStickY)($at) -.L80046484: -/* 047084 80046484 8D4AD534 */ lw $t2, %lo(gCurrentStickX)($t2) -/* 047088 80046488 AC20D538 */ sw $zero, %lo(gCurrentStickY)($at) -/* 04708C 8004648C 00445807 */ srav $t3, $a0, $v0 -/* 047090 80046490 3C018012 */ lui $at, %hi(gCurrentStickX) # $at, 0x8012 -/* 047094 80046494 014B6021 */ addu $t4, $t2, $t3 -/* 047098 80046498 10000016 */ b .L800464F4 -/* 04709C 8004649C AC2CD534 */ sw $t4, %lo(gCurrentStickX)($at) -.L800464A0: -/* 0470A0 800464A0 8DADD534 */ lw $t5, %lo(gCurrentStickX)($t5) -/* 0470A4 800464A4 244E001F */ addiu $t6, $v0, 0x1f -/* 0470A8 800464A8 01C4C007 */ srav $t8, $a0, $t6 -/* 0470AC 800464AC 3C018012 */ lui $at, %hi(gCurrentStickX) # $at, 0x8012 -/* 0470B0 800464B0 01B8C821 */ addu $t9, $t5, $t8 -/* 0470B4 800464B4 AC39D534 */ sw $t9, %lo(gCurrentStickX)($at) -/* 0470B8 800464B8 3C018012 */ lui $at, %hi(gCurrentStickY) # $at, 0x8012 -/* 0470BC 800464BC 1000000D */ b .L800464F4 -/* 0470C0 800464C0 AC20D538 */ sw $zero, %lo(gCurrentStickY)($at) -.L800464C4: -/* 0470C4 800464C4 8DEFD534 */ lw $t7, %lo(gCurrentStickX)($t7) -/* 0470C8 800464C8 2442FFFF */ addiu $v0, $v0, -1 -/* 0470CC 800464CC 00444807 */ srav $t1, $a0, $v0 -/* 0470D0 800464D0 3C0B8012 */ lui $t3, %hi(gCurrentStickY) # $t3, 0x8012 -/* 0470D4 800464D4 8D6BD538 */ lw $t3, %lo(gCurrentStickY)($t3) -/* 0470D8 800464D8 3C018012 */ lui $at, %hi(gCurrentStickX) # $at, 0x8012 -/* 0470DC 800464DC 01E95021 */ addu $t2, $t7, $t1 -/* 0470E0 800464E0 AC2AD534 */ sw $t2, %lo(gCurrentStickX)($at) -/* 0470E4 800464E4 00436007 */ srav $t4, $v1, $v0 -/* 0470E8 800464E8 3C018012 */ lui $at, %hi(gCurrentStickY) # $at, 0x8012 -/* 0470EC 800464EC 016C7021 */ addu $t6, $t3, $t4 -/* 0470F0 800464F0 AC2ED538 */ sw $t6, %lo(gCurrentStickY)($at) -.L800464F4: -/* 0470F4 800464F4 8FA400E8 */ lw $a0, 0xe8($sp) -/* 0470F8 800464F8 8FA600F0 */ lw $a2, 0xf0($sp) -/* 0470FC 800464FC 0C010B48 */ jal func_80042D20 -/* 047100 80046500 02202825 */ move $a1, $s1 -.L80046504: -/* 047104 80046504 8FBF002C */ lw $ra, 0x2c($sp) -/* 047108 80046508 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 04710C 8004650C C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 047110 80046510 8FB00020 */ lw $s0, 0x20($sp) -/* 047114 80046514 8FB10024 */ lw $s1, 0x24($sp) -/* 047118 80046518 8FB20028 */ lw $s2, 0x28($sp) -/* 04711C 8004651C 03E00008 */ jr $ra -/* 047120 80046520 27BD00E8 */ addiu $sp, $sp, 0xe8 - diff --git a/asm/non_matchings/racer/func_80049794.s b/asm/non_matchings/racer/func_80049794.s deleted file mode 100644 index 21157ee4..00000000 --- a/asm/non_matchings/racer/func_80049794.s +++ /dev/null @@ -1,2875 +0,0 @@ -.late_rodata -glabel D_800E64A8 -.double 1.09 -glabel D_800E64B0 -.double 0.4 -glabel D_800E64B8 -.double 0.01 -glabel D_800E64C0 -.double 0.01 -glabel D_800E64C8 -.double 0.016 -glabel D_800E64D0 -.double 1.2 -glabel D_800E64D8 -.float 1.2 -.word 0 # Padding -glabel D_800E64E0 -.double 0.016 -glabel D_800E64E8 -.float 1.4 -glabel D_800E64EC -.float 0.01 -glabel D_800E64F0 -.float 0.02 -glabel D_800E64F4 -.float 0.004 -glabel D_800E64F8 -.double 0.6 -glabel D_800E6500 -.double 0.3 -glabel D_800E6508 -.float 1.2 -.word 0 # Padding -glabel D_800E6510 -.double 0.00015 -glabel D_800E6518 -.double 1.8 -glabel D_800E6520 -.double 0.4 -glabel D_800E6528 -.float 0.4 -.word 0 # Padding -glabel D_800E6530 -.double 0.058823529411764705 -glabel D_800E6538 -.double 0.05 -glabel D_800E6540 -.double 0.65 -glabel D_800E6548 -.double 0.65 - -.text -glabel func_80049794 -/* 04A394 80049794 27BDFF08 */ addiu $sp, $sp, -0xf8 -/* 04A398 80049798 AFBF0034 */ sw $ra, 0x34($sp) -/* 04A39C 8004979C AFB10030 */ sw $s1, 0x30($sp) -/* 04A3A0 800497A0 AFB0002C */ sw $s0, 0x2c($sp) -/* 04A3A4 800497A4 00E08025 */ move $s0, $a3 -/* 04A3A8 800497A8 00C08825 */ move $s1, $a2 -/* 04A3AC 800497AC E7B50020 */ swc1 $f21, 0x20($sp) -/* 04A3B0 800497B0 E7B40024 */ swc1 $f20, 0x24($sp) -/* 04A3B4 800497B4 AFA400F8 */ sw $a0, 0xf8($sp) -/* 04A3B8 800497B8 0C00384E */ jal func_8000E138 -/* 04A3BC 800497BC AFA500FC */ sw $a1, 0xfc($sp) -/* 04A3C0 800497C0 10400008 */ beqz $v0, .L800497E4 -/* 04A3C4 800497C4 3C01800E */ lui $at, %hi(D_800E64A8 + 4) # $at, 0x800e -/* 04A3C8 800497C8 C7A400FC */ lwc1 $f4, 0xfc($sp) -/* 04A3CC 800497CC C42964A8 */ lwc1 $f9, %lo(D_800E64A8)($at) -/* 04A3D0 800497D0 C42864AC */ lwc1 $f8, %lo(D_800E64A8 + 4)($at) -/* 04A3D4 800497D4 460021A1 */ cvt.d.s $f6, $f4 -/* 04A3D8 800497D8 46283282 */ mul.d $f10, $f6, $f8 -/* 04A3DC 800497DC 462054A0 */ cvt.s.d $f18, $f10 -/* 04A3E0 800497E0 E7B200FC */ swc1 $f18, 0xfc($sp) -.L800497E4: -/* 04A3E4 800497E4 A3A0005F */ sb $zero, 0x5f($sp) -/* 04A3E8 800497E8 820E01E2 */ lb $t6, 0x1e2($s0) -/* 04A3EC 800497EC 24010004 */ li $at, 4 -/* 04A3F0 800497F0 19C00005 */ blez $t6, .L80049808 -/* 04A3F4 800497F4 00000000 */ nop -/* 04A3F8 800497F8 44807000 */ mtc1 $zero, $f14 -/* 04A3FC 800497FC 00000000 */ nop -/* 04A400 80049800 E60E0084 */ swc1 $f14, 0x84($s0) -/* 04A404 80049804 E60E0088 */ swc1 $f14, 0x88($s0) -.L80049808: -/* 04A408 80049808 920F01FE */ lbu $t7, 0x1fe($s0) -/* 04A40C 8004980C 44807000 */ mtc1 $zero, $f14 -/* 04A410 80049810 15E1000A */ bne $t7, $at, .L8004983C -/* 04A414 80049814 00000000 */ nop -/* 04A418 80049818 821801DB */ lb $t8, 0x1db($s0) -/* 04A41C 8004981C 24040240 */ li $a0, 576 -/* 04A420 80049820 17000006 */ bnez $t8, .L8004983C -/* 04A424 80049824 00000000 */ nop -/* 04A428 80049828 0C000741 */ jal sound_play -/* 04A42C 8004982C 00002825 */ move $a1, $zero -/* 04A430 80049830 24190014 */ li $t9, 20 -/* 04A434 80049834 44807000 */ mtc1 $zero, $f14 -/* 04A438 80049838 A21901DB */ sb $t9, 0x1db($s0) -.L8004983C: -/* 04A43C 8004983C 3C0B8012 */ lui $t3, %hi(gCurrentPlayerIndex) # $t3, 0x8012 -/* 04A440 80049840 8D6BD55C */ lw $t3, %lo(gCurrentPlayerIndex)($t3) -/* 04A444 80049844 2409FFFF */ li $t1, -1 -/* 04A448 80049848 112B00A4 */ beq $t1, $t3, .L80049ADC -/* 04A44C 8004984C 00005025 */ move $t2, $zero -/* 04A450 80049850 820C01D7 */ lb $t4, 0x1d7($s0) -/* 04A454 80049854 2401000C */ li $at, 12 -/* 04A458 80049858 118100A0 */ beq $t4, $at, .L80049ADC -/* 04A45C 8004985C 3C028012 */ lui $v0, %hi(gRacerWaveCount) # $v0, 0x8012 -/* 04A460 80049860 8042D5AE */ lb $v0, %lo(gRacerWaveCount)($v0) -/* 04A464 80049864 3C198012 */ lui $t9, %hi(gRacerCurrentWave) # $t9, 0x8012 -/* 04A468 80049868 1040009C */ beqz $v0, .L80049ADC -/* 04A46C 8004986C 2443FFFF */ addiu $v1, $v0, -1 -/* 04A470 80049870 0460001A */ bltz $v1, .L800498DC -/* 04A474 80049874 00602025 */ move $a0, $v1 -/* 04A478 80049878 3C0D8012 */ lui $t5, %hi(gRacerCurrentWave) # $t5, 0x8012 -/* 04A47C 8004987C 8DADD5B0 */ lw $t5, %lo(gRacerCurrentWave)($t5) -/* 04A480 80049880 00047080 */ sll $t6, $a0, 2 -/* 04A484 80049884 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 04A488 80049888 01AE1021 */ addu $v0, $t5, $t6 -/* 04A48C 8004988C 8C4F0000 */ lw $t7, ($v0) -/* 04A490 80049890 44813000 */ mtc1 $at, $f6 -/* 04A494 80049894 C6240010 */ lwc1 $f4, 0x10($s1) -/* 04A498 80049898 C5E80000 */ lwc1 $f8, ($t7) -/* 04A49C 8004989C 46062000 */ add.s $f0, $f4, $f6 -/* 04A4A0 800498A0 4600403C */ c.lt.s $f8, $f0 -/* 04A4A4 800498A4 00000000 */ nop -/* 04A4A8 800498A8 4500000C */ bc1f .L800498DC -/* 04A4AC 800498AC 00000000 */ nop -.L800498B0: -/* 04A4B0 800498B0 2484FFFF */ addiu $a0, $a0, -1 -/* 04A4B4 800498B4 04800009 */ bltz $a0, .L800498DC -/* 04A4B8 800498B8 2442FFFC */ addiu $v0, $v0, -4 -/* 04A4BC 800498BC 8C580000 */ lw $t8, ($v0) -/* 04A4C0 800498C0 00000000 */ nop -/* 04A4C4 800498C4 C70A0000 */ lwc1 $f10, ($t8) -/* 04A4C8 800498C8 00000000 */ nop -/* 04A4CC 800498CC 4600503C */ c.lt.s $f10, $f0 -/* 04A4D0 800498D0 00000000 */ nop -/* 04A4D4 800498D4 4501FFF6 */ bc1t .L800498B0 -/* 04A4D8 800498D8 00000000 */ nop -.L800498DC: -/* 04A4DC 800498DC 8F39D5B0 */ lw $t9, %lo(gRacerCurrentWave)($t9) -/* 04A4E0 800498E0 00042880 */ sll $a1, $a0, 2 -/* 04A4E4 800498E4 C62C0010 */ lwc1 $f12, 0x10($s1) -/* 04A4E8 800498E8 14830003 */ bne $a0, $v1, .L800498F8 -/* 04A4EC 800498EC 03251021 */ addu $v0, $t9, $a1 -/* 04A4F0 800498F0 24A5FFFC */ addiu $a1, $a1, -4 -/* 04A4F4 800498F4 2442FFFC */ addiu $v0, $v0, -4 -.L800498F8: -/* 04A4F8 800498F8 8C4B0004 */ lw $t3, 4($v0) -/* 04A4FC 800498FC 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 04A500 80049900 C5620000 */ lwc1 $f2, ($t3) -/* 04A504 80049904 44812000 */ mtc1 $at, $f4 -/* 04A508 80049908 46026481 */ sub.s $f18, $f12, $f2 -/* 04A50C 8004990C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04A510 80049910 44813000 */ mtc1 $at, $f6 -/* 04A514 80049914 46049081 */ sub.s $f2, $f18, $f4 -/* 04A518 80049918 3C01420C */ li $at, 0x420C0000 # 35.000000 -/* 04A51C 8004991C 4602303C */ c.lt.s $f6, $f2 -/* 04A520 80049920 44814000 */ mtc1 $at, $f8 -/* 04A524 80049924 45000002 */ bc1f .L80049930 -/* 04A528 80049928 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 04A52C 8004992C A20001E6 */ sb $zero, 0x1e6($s0) -.L80049930: -/* 04A530 80049930 C600002C */ lwc1 $f0, 0x2c($s0) -/* 04A534 80049934 00000000 */ nop -/* 04A538 80049938 46000007 */ neg.s $f0, $f0 -/* 04A53C 8004993C 460E003C */ c.lt.s $f0, $f14 -/* 04A540 80049940 00000000 */ nop -/* 04A544 80049944 45000002 */ bc1f .L80049950 -/* 04A548 80049948 00000000 */ nop -/* 04A54C 8004994C 46007006 */ mov.s $f0, $f14 -.L80049950: -/* 04A550 80049950 4608103C */ c.lt.s $f2, $f8 -/* 04A554 80049954 00000000 */ nop -/* 04A558 80049958 45000009 */ bc1f .L80049980 -/* 04A55C 8004995C 00000000 */ nop -/* 04A560 80049960 44816800 */ mtc1 $at, $f13 -/* 04A564 80049964 44806000 */ mtc1 $zero, $f12 -/* 04A568 80049968 460002A1 */ cvt.d.s $f10, $f0 -/* 04A56C 8004996C 462C503C */ c.lt.d $f10, $f12 -/* 04A570 80049970 00000000 */ nop -/* 04A574 80049974 45000002 */ bc1f .L80049980 -/* 04A578 80049978 00000000 */ nop -/* 04A57C 8004997C 240A0001 */ li $t2, 1 -.L80049980: -/* 04A580 80049980 820C01E6 */ lb $t4, 0x1e6($s0) -/* 04A584 80049984 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 04A588 80049988 44816800 */ mtc1 $at, $f13 -/* 04A58C 8004998C 44806000 */ mtc1 $zero, $f12 -/* 04A590 80049990 1580000D */ bnez $t4, .L800499C8 -/* 04A594 80049994 3C014218 */ li $at, 0x42180000 # 38.000000 -/* 04A598 80049998 44819000 */ mtc1 $at, $f18 -/* 04A59C 8004999C 00000000 */ nop -/* 04A5A0 800499A0 4612103C */ c.lt.s $f2, $f18 -/* 04A5A4 800499A4 00000000 */ nop -/* 04A5A8 800499A8 45000007 */ bc1f .L800499C8 -/* 04A5AC 800499AC 00000000 */ nop -/* 04A5B0 800499B0 46000121 */ cvt.d.s $f4, $f0 -/* 04A5B4 800499B4 4624603E */ c.le.d $f12, $f4 -/* 04A5B8 800499B8 240D0001 */ li $t5, 1 -/* 04A5BC 800499BC 45000002 */ bc1f .L800499C8 -/* 04A5C0 800499C0 00000000 */ nop -/* 04A5C4 800499C4 A20D01E6 */ sb $t5, 0x1e6($s0) -.L800499C8: -/* 04A5C8 800499C8 820201E0 */ lb $v0, 0x1e0($s0) -/* 04A5CC 800499CC 24010001 */ li $at, 1 -/* 04A5D0 800499D0 1041000F */ beq $v0, $at, .L80049A10 -/* 04A5D4 800499D4 00000000 */ nop -/* 04A5D8 800499D8 1122000D */ beq $t1, $v0, .L80049A10 -/* 04A5DC 800499DC 3C0E8012 */ lui $t6, %hi(gRacerCurrentWave) # $t6, 0x8012 -/* 04A5E0 800499E0 8DCED5B0 */ lw $t6, %lo(gRacerCurrentWave)($t6) -/* 04A5E4 800499E4 3C01800E */ lui $at, %hi(D_800E64B0 + 4) # $at, 0x800e -/* 04A5E8 800499E8 01C57821 */ addu $t7, $t6, $a1 -/* 04A5EC 800499EC 8DF80004 */ lw $t8, 4($t7) -/* 04A5F0 800499F0 C42B64B0 */ lwc1 $f11, %lo(D_800E64B0)($at) -/* 04A5F4 800499F4 C7060008 */ lwc1 $f6, 8($t8) -/* 04A5F8 800499F8 C42A64B4 */ lwc1 $f10, %lo(D_800E64B0 + 4)($at) -/* 04A5FC 800499FC 46003221 */ cvt.d.s $f8, $f6 -/* 04A600 80049A00 462A403C */ c.lt.d $f8, $f10 -/* 04A604 80049A04 00000000 */ nop -/* 04A608 80049A08 45000003 */ bc1f .L80049A18 -/* 04A60C 80049A0C 00000000 */ nop -.L80049A10: -/* 04A610 80049A10 A20001E6 */ sb $zero, 0x1e6($s0) -/* 04A614 80049A14 00005025 */ move $t2, $zero -.L80049A18: -/* 04A618 80049A18 821901E6 */ lb $t9, 0x1e6($s0) -/* 04A61C 80049A1C 00000000 */ nop -/* 04A620 80049A20 1320002F */ beqz $t9, .L80049AE0 -/* 04A624 80049A24 3C014100 */ lui $at, 0x4100 -/* 04A628 80049A28 460004A1 */ cvt.d.s $f18, $f0 -/* 04A62C 80049A2C 462C903C */ c.lt.d $f18, $f12 -/* 04A630 80049A30 44802000 */ mtc1 $zero, $f4 -/* 04A634 80049A34 45010007 */ bc1t .L80049A54 -/* 04A638 80049A38 3C088012 */ lui $t0, %hi(gCurrentStickY) # $t0, 0x8012 -/* 04A63C 80049A3C 2508D538 */ addiu $t0, %lo(gCurrentStickY) # addiu $t0, $t0, -0x2ac8 -/* 04A640 80049A40 8D0B0000 */ lw $t3, ($t0) -/* 04A644 80049A44 00000000 */ nop -/* 04A648 80049A48 2961FFF6 */ slti $at, $t3, -0xa -/* 04A64C 80049A4C 10200005 */ beqz $at, .L80049A64 -/* 04A650 80049A50 3C014100 */ lui $at, 0x4100 -.L80049A54: -/* 04A654 80049A54 3C088012 */ lui $t0, %hi(gCurrentStickY) # $t0, 0x8012 -/* 04A658 80049A58 2508D538 */ addiu $t0, %lo(gCurrentStickY) # addiu $t0, $t0, -0x2ac8 -/* 04A65C 80049A5C A20001E6 */ sb $zero, 0x1e6($s0) -/* 04A660 80049A60 3C014100 */ li $at, 0x41000000 # 8.000000 -.L80049A64: -/* 04A664 80049A64 44818000 */ mtc1 $at, $f16 -/* 04A668 80049A68 3C014010 */ li $at, 0x40100000 # 2.250000 -/* 04A66C 80049A6C 46100001 */ sub.s $f0, $f0, $f16 -/* 04A670 80049A70 44812800 */ mtc1 $at, $f5 -/* 04A674 80049A74 460001A1 */ cvt.d.s $f6, $f0 -/* 04A678 80049A78 4626203C */ c.lt.d $f4, $f6 -/* 04A67C 80049A7C C62C0010 */ lwc1 $f12, 0x10($s1) -/* 04A680 80049A80 45000003 */ bc1f .L80049A90 -/* 04A684 80049A84 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 04A688 80049A88 44810000 */ mtc1 $at, $f0 -/* 04A68C 80049A8C 00000000 */ nop -.L80049A90: -/* 04A690 80049A90 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 04A694 80049A94 44814000 */ mtc1 $at, $f8 -/* 04A698 80049A98 3C014218 */ li $at, 0x42180000 # 38.000000 -/* 04A69C 80049A9C 46080003 */ div.s $f0, $f0, $f8 -/* 04A6A0 80049AA0 44815000 */ mtc1 $at, $f10 -/* 04A6A4 80049AA4 C7A400FC */ lwc1 $f4, 0xfc($sp) -/* 04A6A8 80049AA8 46025481 */ sub.s $f18, $f10, $f2 -/* 04A6AC 80049AAC 46049182 */ mul.s $f6, $f18, $f4 -/* 04A6B0 80049AB0 00000000 */ nop -/* 04A6B4 80049AB4 46003202 */ mul.s $f8, $f6, $f0 -/* 04A6B8 80049AB8 00000000 */ nop -/* 04A6BC 80049ABC 46104283 */ div.s $f10, $f8, $f16 -/* 04A6C0 80049AC0 460A6480 */ add.s $f18, $f12, $f10 -/* 04A6C4 80049AC4 E6320010 */ swc1 $f18, 0x10($s1) -/* 04A6C8 80049AC8 8D020000 */ lw $v0, ($t0) -/* 04A6CC 80049ACC 00000000 */ nop -/* 04A6D0 80049AD0 18400002 */ blez $v0, .L80049ADC -/* 04A6D4 80049AD4 00026043 */ sra $t4, $v0, 1 -/* 04A6D8 80049AD8 AD0C0000 */ sw $t4, ($t0) -.L80049ADC: -/* 04A6DC 80049ADC 3C014100 */ li $at, 0x41000000 # 8.000000 -.L80049AE0: -/* 04A6E0 80049AE0 44818000 */ mtc1 $at, $f16 -/* 04A6E4 80049AE4 3C018012 */ lui $at, %hi(D_8011D550) # $at, 0x8012 -/* 04A6E8 80049AE8 A420D550 */ sh $zero, %lo(D_8011D550)($at) -/* 04A6EC 80049AEC 3C018012 */ lui $at, %hi(gCurrentCarSteerVel) # $at, 0x8012 -/* 04A6F0 80049AF0 AC20D554 */ sw $zero, %lo(gCurrentCarSteerVel)($at) -/* 04A6F4 80049AF4 3C018012 */ lui $at, %hi(D_8011D558) # $at, 0x8012 -/* 04A6F8 80049AF8 AC20D558 */ sw $zero, %lo(D_8011D558)($at) -/* 04A6FC 80049AFC C624000C */ lwc1 $f4, 0xc($s1) -/* 04A700 80049B00 3C088012 */ lui $t0, %hi(gCurrentStickY) # $t0, 0x8012 -/* 04A704 80049B04 E7A400E8 */ swc1 $f4, 0xe8($sp) -/* 04A708 80049B08 C6260010 */ lwc1 $f6, 0x10($s1) -/* 04A70C 80049B0C 2508D538 */ addiu $t0, %lo(gCurrentStickY) # addiu $t0, $t0, -0x2ac8 -/* 04A710 80049B10 E7A600E4 */ swc1 $f6, 0xe4($sp) -/* 04A714 80049B14 C6280014 */ lwc1 $f8, 0x14($s1) -/* 04A718 80049B18 3C0E8012 */ lui $t6, %hi(gCurrentStickX) # $t6, 0x8012 -/* 04A71C 80049B1C E7A800E0 */ swc1 $f8, 0xe0($sp) -/* 04A720 80049B20 820D01E0 */ lb $t5, 0x1e0($s0) -/* 04A724 80049B24 00000000 */ nop -/* 04A728 80049B28 11A00004 */ beqz $t5, .L80049B3C -/* 04A72C 80049B2C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 04A730 80049B30 44811000 */ mtc1 $at, $f2 -/* 04A734 80049B34 10000003 */ b .L80049B44 -/* 04A738 80049B38 820501E1 */ lb $a1, 0x1e1($s0) -.L80049B3C: -/* 04A73C 80049B3C 46008086 */ mov.s $f2, $f16 -/* 04A740 80049B40 820501E1 */ lb $a1, 0x1e1($s0) -.L80049B44: -/* 04A744 80049B44 8DCED534 */ lw $t6, %lo(gCurrentStickX)($t6) -/* 04A748 80049B48 C7A400FC */ lwc1 $f4, 0xfc($sp) -/* 04A74C 80049B4C 01C51023 */ subu $v0, $t6, $a1 -/* 04A750 80049B50 44825000 */ mtc1 $v0, $f10 -/* 04A754 80049B54 00000000 */ nop -/* 04A758 80049B58 468054A0 */ cvt.s.w $f18, $f10 -/* 04A75C 80049B5C 46049182 */ mul.s $f6, $f18, $f4 -/* 04A760 80049B60 00000000 */ nop -/* 04A764 80049B64 46023203 */ div.s $f8, $f6, $f2 -/* 04A768 80049B68 444FF800 */ cfc1 $t7, $31 -/* 04A76C 80049B6C 00000000 */ nop -/* 04A770 80049B70 35E10003 */ ori $at, $t7, 3 -/* 04A774 80049B74 38210002 */ xori $at, $at, 2 -/* 04A778 80049B78 44C1F800 */ ctc1 $at, $31 -/* 04A77C 80049B7C 00000000 */ nop -/* 04A780 80049B80 460042A4 */ cvt.w.s $f10, $f8 -/* 04A784 80049B84 44045000 */ mfc1 $a0, $f10 -/* 04A788 80049B88 44CFF800 */ ctc1 $t7, $31 -/* 04A78C 80049B8C 10400009 */ beqz $v0, .L80049BB4 -/* 04A790 80049B90 00801825 */ move $v1, $a0 -/* 04A794 80049B94 14800008 */ bnez $a0, .L80049BB8 -/* 04A798 80049B98 00A3C021 */ addu $t8, $a1, $v1 -/* 04A79C 80049B9C 18400002 */ blez $v0, .L80049BA8 -/* 04A7A0 80049BA0 00000000 */ nop -/* 04A7A4 80049BA4 24030001 */ li $v1, 1 -.L80049BA8: -/* 04A7A8 80049BA8 04410003 */ bgez $v0, .L80049BB8 -/* 04A7AC 80049BAC 00A3C021 */ addu $t8, $a1, $v1 -/* 04A7B0 80049BB0 01201825 */ move $v1, $t1 -.L80049BB4: -/* 04A7B4 80049BB4 00A3C021 */ addu $t8, $a1, $v1 -.L80049BB8: -/* 04A7B8 80049BB8 A21801E1 */ sb $t8, 0x1e1($s0) -/* 04A7BC 80049BBC 8D190000 */ lw $t9, ($t0) -/* 04A7C0 80049BC0 820701E8 */ lb $a3, 0x1e8($s0) -/* 04A7C4 80049BC4 C7A600FC */ lwc1 $f6, 0xfc($sp) -/* 04A7C8 80049BC8 03271023 */ subu $v0, $t9, $a3 -/* 04A7CC 80049BCC 44829000 */ mtc1 $v0, $f18 -/* 04A7D0 80049BD0 3C013FB0 */ li $at, 0x3FB00000 # 1.375000 -/* 04A7D4 80049BD4 46809120 */ cvt.s.w $f4, $f18 -/* 04A7D8 80049BD8 44809000 */ mtc1 $zero, $f18 -/* 04A7DC 80049BDC 44819800 */ mtc1 $at, $f19 -/* 04A7E0 80049BE0 46062202 */ mul.s $f8, $f4, $f6 -/* 04A7E4 80049BE4 02002825 */ move $a1, $s0 -/* 04A7E8 80049BE8 460042A1 */ cvt.d.s $f10, $f8 -/* 04A7EC 80049BEC 46325102 */ mul.d $f4, $f10, $f18 -/* 04A7F0 80049BF0 444BF800 */ cfc1 $t3, $31 -/* 04A7F4 80049BF4 00000000 */ nop -/* 04A7F8 80049BF8 35610003 */ ori $at, $t3, 3 -/* 04A7FC 80049BFC 38210002 */ xori $at, $at, 2 -/* 04A800 80049C00 44C1F800 */ ctc1 $at, $31 -/* 04A804 80049C04 00000000 */ nop -/* 04A808 80049C08 462021A4 */ cvt.w.d $f6, $f4 -/* 04A80C 80049C0C 44043000 */ mfc1 $a0, $f6 -/* 04A810 80049C10 44CBF800 */ ctc1 $t3, $31 -/* 04A814 80049C14 10400009 */ beqz $v0, .L80049C3C -/* 04A818 80049C18 00801825 */ move $v1, $a0 -/* 04A81C 80049C1C 14800008 */ bnez $a0, .L80049C40 -/* 04A820 80049C20 00E36021 */ addu $t4, $a3, $v1 -/* 04A824 80049C24 18400002 */ blez $v0, .L80049C30 -/* 04A828 80049C28 00000000 */ nop -/* 04A82C 80049C2C 24030001 */ li $v1, 1 -.L80049C30: -/* 04A830 80049C30 04410003 */ bgez $v0, .L80049C40 -/* 04A834 80049C34 00E36021 */ addu $t4, $a3, $v1 -/* 04A838 80049C38 01201825 */ move $v1, $t1 -.L80049C3C: -/* 04A83C 80049C3C 00E36021 */ addu $t4, $a3, $v1 -.L80049C40: -/* 04A840 80049C40 A20C01E8 */ sb $t4, 0x1e8($s0) -/* 04A844 80049C44 8FA600F8 */ lw $a2, 0xf8($sp) -/* 04A848 80049C48 A3AA00A2 */ sb $t2, 0xa2($sp) -/* 04A84C 80049C4C 0C0157B0 */ jal handle_racer_items -/* 04A850 80049C50 02202025 */ move $a0, $s1 -/* 04A854 80049C54 02202025 */ move $a0, $s1 -/* 04A858 80049C58 0C014D71 */ jal func_800535C4 -/* 04A85C 80049C5C 02002825 */ move $a1, $s0 -/* 04A860 80049C60 02202025 */ move $a0, $s1 -/* 04A864 80049C64 0C013050 */ jal racer_attack_handler_plane -/* 04A868 80049C68 02002825 */ move $a1, $s0 -/* 04A86C 80049C6C 3C0D8012 */ lui $t5, %hi(gCurrentPlayerIndex) # $t5, 0x8012 -/* 04A870 80049C70 8DADD55C */ lw $t5, %lo(gCurrentPlayerIndex)($t5) -/* 04A874 80049C74 2401FFFF */ li $at, -1 -/* 04A878 80049C78 11A10007 */ beq $t5, $at, .L80049C98 -/* 04A87C 80049C7C 00000000 */ nop -/* 04A880 80049C80 8FA600F8 */ lw $a2, 0xf8($sp) -/* 04A884 80049C84 02202025 */ move $a0, $s1 -/* 04A888 80049C88 0C014871 */ jal handle_racer_head_turning -/* 04A88C 80049C8C 02002825 */ move $a1, $s0 -/* 04A890 80049C90 10000003 */ b .L80049CA0 -/* 04A894 80049C94 00000000 */ nop -.L80049C98: -/* 04A898 80049C98 0C0148D3 */ jal slowly_reset_head_angle -/* 04A89C 80049C9C 02002025 */ move $a0, $s0 -.L80049CA0: -/* 04A8A0 80049CA0 3C0E8012 */ lui $t6, %hi(gCurrentRacerInput) # $t6, 0x8012 -/* 04A8A4 80049CA4 8DCED528 */ lw $t6, %lo(gCurrentRacerInput)($t6) -/* 04A8A8 80049CA8 3C198012 */ lui $t9, %hi(gCurrentRacerInput) # $t9, 0x8012 -/* 04A8AC 80049CAC 31CF8000 */ andi $t7, $t6, 0x8000 -/* 04A8B0 80049CB0 11E00019 */ beqz $t7, .L80049D18 -/* 04A8B4 80049CB4 3C01800E */ lui $at, %hi(D_800E64B8 + 4) # $at, 0x800e -/* 04A8B8 80049CB8 C7A800FC */ lwc1 $f8, 0xfc($sp) -/* 04A8BC 80049CBC C42564B8 */ lwc1 $f5, %lo(D_800E64B8)($at) -/* 04A8C0 80049CC0 C42464BC */ lwc1 $f4, %lo(D_800E64B8 + 4)($at) -/* 04A8C4 80049CC4 46004021 */ cvt.d.s $f0, $f8 -/* 04A8C8 80049CC8 46240182 */ mul.d $f6, $f0, $f4 -/* 04A8CC 80049CCC C60A00B4 */ lwc1 $f10, 0xb4($s0) -/* 04A8D0 80049CD0 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 04A8D4 80049CD4 460054A1 */ cvt.d.s $f18, $f10 -/* 04A8D8 80049CD8 44812800 */ mtc1 $at, $f5 -/* 04A8DC 80049CDC 46269200 */ add.d $f8, $f18, $f6 -/* 04A8E0 80049CE0 44802000 */ mtc1 $zero, $f4 -/* 04A8E4 80049CE4 462042A0 */ cvt.s.d $f10, $f8 -/* 04A8E8 80049CE8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04A8EC 80049CEC E60A00B4 */ swc1 $f10, 0xb4($s0) -/* 04A8F0 80049CF0 C61200B4 */ lwc1 $f18, 0xb4($s0) -/* 04A8F4 80049CF4 00000000 */ nop -/* 04A8F8 80049CF8 460091A1 */ cvt.d.s $f6, $f18 -/* 04A8FC 80049CFC 4626203C */ c.lt.d $f4, $f6 -/* 04A900 80049D00 00000000 */ nop -/* 04A904 80049D04 4500001A */ bc1f .L80049D70 -/* 04A908 80049D08 00000000 */ nop -/* 04A90C 80049D0C 44814000 */ mtc1 $at, $f8 -/* 04A910 80049D10 10000017 */ b .L80049D70 -/* 04A914 80049D14 E60800B4 */ swc1 $f8, 0xb4($s0) -.L80049D18: -/* 04A918 80049D18 3C01800E */ lui $at, %hi(D_800E64C0 + 4) # $at, 0x800e -/* 04A91C 80049D1C C7AA00FC */ lwc1 $f10, 0xfc($sp) -/* 04A920 80049D20 C42764C0 */ lwc1 $f7, %lo(D_800E64C0)($at) -/* 04A924 80049D24 C42664C4 */ lwc1 $f6, %lo(D_800E64C0 + 4)($at) -/* 04A928 80049D28 46005021 */ cvt.d.s $f0, $f10 -/* 04A92C 80049D2C 46260202 */ mul.d $f8, $f0, $f6 -/* 04A930 80049D30 C61200B4 */ lwc1 $f18, 0xb4($s0) -/* 04A934 80049D34 00000000 */ nop -/* 04A938 80049D38 46009121 */ cvt.d.s $f4, $f18 -/* 04A93C 80049D3C 46282281 */ sub.d $f10, $f4, $f8 -/* 04A940 80049D40 44802000 */ mtc1 $zero, $f4 -/* 04A944 80049D44 462054A0 */ cvt.s.d $f18, $f10 -/* 04A948 80049D48 E61200B4 */ swc1 $f18, 0xb4($s0) -/* 04A94C 80049D4C C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 04A950 80049D50 00000000 */ nop -/* 04A954 80049D54 4604303C */ c.lt.s $f6, $f4 -/* 04A958 80049D58 00000000 */ nop -/* 04A95C 80049D5C 45000004 */ bc1f .L80049D70 -/* 04A960 80049D60 00000000 */ nop -/* 04A964 80049D64 44804000 */ mtc1 $zero, $f8 -/* 04A968 80049D68 00000000 */ nop -/* 04A96C 80049D6C E60800B4 */ swc1 $f8, 0xb4($s0) -.L80049D70: -/* 04A970 80049D70 8E180108 */ lw $t8, 0x108($s0) -/* 04A974 80049D74 00000000 */ nop -/* 04A978 80049D78 13000004 */ beqz $t8, .L80049D8C -/* 04A97C 80049D7C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 04A980 80049D80 44815000 */ mtc1 $at, $f10 -/* 04A984 80049D84 00000000 */ nop -/* 04A988 80049D88 E60A00B4 */ swc1 $f10, 0xb4($s0) -.L80049D8C: -/* 04A98C 80049D8C 8F39D528 */ lw $t9, %lo(gCurrentRacerInput)($t9) -/* 04A990 80049D90 C61200B4 */ lwc1 $f18, 0xb4($s0) -/* 04A994 80049D94 332B4000 */ andi $t3, $t9, 0x4000 -/* 04A998 80049D98 11600038 */ beqz $t3, .L80049E7C -/* 04A99C 80049D9C E7B200C8 */ swc1 $f18, 0xc8($sp) -/* 04A9A0 80049DA0 3C0C8012 */ lui $t4, %hi(gCurrentStickY) # $t4, 0x8012 -/* 04A9A4 80049DA4 8D8CD538 */ lw $t4, %lo(gCurrentStickY)($t4) -/* 04A9A8 80049DA8 00000000 */ nop -/* 04A9AC 80049DAC 2981FFD8 */ slti $at, $t4, -0x28 -/* 04A9B0 80049DB0 14200007 */ bnez $at, .L80049DD0 -/* 04A9B4 80049DB4 00000000 */ nop -/* 04A9B8 80049DB8 44806000 */ mtc1 $zero, $f12 -/* 04A9BC 80049DBC C606002C */ lwc1 $f6, 0x2c($s0) -/* 04A9C0 80049DC0 00000000 */ nop -/* 04A9C4 80049DC4 460C303C */ c.lt.s $f6, $f12 -/* 04A9C8 80049DC8 00000000 */ nop -/* 04A9CC 80049DCC 4500002B */ bc1f .L80049E7C -.L80049DD0: -/* 04A9D0 80049DD0 3C01800E */ lui $at, %hi(D_800E64C8 + 4) # $at, 0x800e -/* 04A9D4 80049DD4 C42B64C8 */ lwc1 $f11, %lo(D_800E64C8)($at) -/* 04A9D8 80049DD8 C42A64CC */ lwc1 $f10, %lo(D_800E64C8 + 4)($at) -/* 04A9DC 80049DDC C60400B8 */ lwc1 $f4, 0xb8($s0) -/* 04A9E0 80049DE0 462A0482 */ mul.d $f18, $f0, $f10 -/* 04A9E4 80049DE4 46002221 */ cvt.d.s $f8, $f4 -/* 04A9E8 80049DE8 3C01800E */ lui $at, %hi(D_800E64D0) # $at, 0x800e -/* 04A9EC 80049DEC 44806000 */ mtc1 $zero, $f12 -/* 04A9F0 80049DF0 46324180 */ add.d $f6, $f8, $f18 -/* 04A9F4 80049DF4 46203120 */ cvt.s.d $f4, $f6 -/* 04A9F8 80049DF8 E60400B8 */ swc1 $f4, 0xb8($s0) -/* 04A9FC 80049DFC C60800B8 */ lwc1 $f8, 0xb8($s0) -/* 04AA00 80049E00 C42A64D4 */ lwc1 $f10, %lo(D_800E64D0 + 4)($at) -/* 04AA04 80049E04 C42B64D0 */ lwc1 $f11, %lo(D_800E64D0)($at) -/* 04AA08 80049E08 460044A1 */ cvt.d.s $f18, $f8 -/* 04AA0C 80049E0C 4632503C */ c.lt.d $f10, $f18 -/* 04AA10 80049E10 44805000 */ mtc1 $zero, $f10 -/* 04AA14 80049E14 45000004 */ bc1f .L80049E28 -/* 04AA18 80049E18 3C01800E */ lui $at, %hi(D_800E64D8) # $at, 0x800e -/* 04AA1C 80049E1C C42664D8 */ lwc1 $f6, %lo(D_800E64D8)($at) -/* 04AA20 80049E20 00000000 */ nop -/* 04AA24 80049E24 E60600B8 */ swc1 $f6, 0xb8($s0) -.L80049E28: -/* 04AA28 80049E28 C604002C */ lwc1 $f4, 0x2c($s0) -/* 04AA2C 80049E2C 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 04AA30 80049E30 44815800 */ mtc1 $at, $f11 -/* 04AA34 80049E34 46002221 */ cvt.d.s $f8, $f4 -/* 04AA38 80049E38 462A403C */ c.lt.d $f8, $f10 -/* 04AA3C 80049E3C 00000000 */ nop -/* 04AA40 80049E40 4500000B */ bc1f .L80049E70 -/* 04AA44 80049E44 00000000 */ nop -/* 04AA48 80049E48 820D01E2 */ lb $t5, 0x1e2($s0) -/* 04AA4C 80049E4C 00000000 */ nop -/* 04AA50 80049E50 29A10002 */ slti $at, $t5, 2 -/* 04AA54 80049E54 14200006 */ bnez $at, .L80049E70 -/* 04AA58 80049E58 00000000 */ nop -/* 04AA5C 80049E5C 86040000 */ lh $a0, ($s0) -/* 04AA60 80049E60 0C01C8D2 */ jal rumble_set -/* 04AA64 80049E64 24050003 */ li $a1, 3 -/* 04AA68 80049E68 44806000 */ mtc1 $zero, $f12 -/* 04AA6C 80049E6C 00000000 */ nop -.L80049E70: -/* 04AA70 80049E70 C60200B8 */ lwc1 $f2, 0xb8($s0) -/* 04AA74 80049E74 10000015 */ b .L80049ECC -/* 04AA78 80049E78 E7A200C4 */ swc1 $f2, 0xc4($sp) -.L80049E7C: -/* 04AA7C 80049E7C 3C01800E */ lui $at, %hi(D_800E64E0 + 4) # $at, 0x800e -/* 04AA80 80049E80 C42564E0 */ lwc1 $f5, %lo(D_800E64E0)($at) -/* 04AA84 80049E84 C42464E4 */ lwc1 $f4, %lo(D_800E64E0 + 4)($at) -/* 04AA88 80049E88 C61200B8 */ lwc1 $f18, 0xb8($s0) -/* 04AA8C 80049E8C 46240202 */ mul.d $f8, $f0, $f4 -/* 04AA90 80049E90 460091A1 */ cvt.d.s $f6, $f18 -/* 04AA94 80049E94 44806000 */ mtc1 $zero, $f12 -/* 04AA98 80049E98 46283281 */ sub.d $f10, $f6, $f8 -/* 04AA9C 80049E9C 462054A0 */ cvt.s.d $f18, $f10 -/* 04AAA0 80049EA0 E61200B8 */ swc1 $f18, 0xb8($s0) -/* 04AAA4 80049EA4 C60200B8 */ lwc1 $f2, 0xb8($s0) -/* 04AAA8 80049EA8 00000000 */ nop -/* 04AAAC 80049EAC 460C103C */ c.lt.s $f2, $f12 -/* 04AAB0 80049EB0 00000000 */ nop -/* 04AAB4 80049EB4 45000004 */ bc1f .L80049EC8 -/* 04AAB8 80049EB8 00000000 */ nop -/* 04AABC 80049EBC E60C00B8 */ swc1 $f12, 0xb8($s0) -/* 04AAC0 80049EC0 C60200B8 */ lwc1 $f2, 0xb8($s0) -/* 04AAC4 80049EC4 00000000 */ nop -.L80049EC8: -/* 04AAC8 80049EC8 E7A200C4 */ swc1 $f2, 0xc4($sp) -.L80049ECC: -/* 04AACC 80049ECC 862E0000 */ lh $t6, ($s1) -/* 04AAD0 80049ED0 3C058012 */ lui $a1, %hi(gCurrentRacerTransform) # $a1, 0x8012 -/* 04AAD4 80049ED4 24A5D510 */ addiu $a1, %lo(gCurrentRacerTransform) # addiu $a1, $a1, -0x2af0 -/* 04AAD8 80049ED8 A4AE0000 */ sh $t6, ($a1) -/* 04AADC 80049EDC 862F0002 */ lh $t7, 2($s1) -/* 04AAE0 80049EE0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04AAE4 80049EE4 44812000 */ mtc1 $at, $f4 -/* 04AAE8 80049EE8 A4A00004 */ sh $zero, 4($a1) -/* 04AAEC 80049EEC E4AC000C */ swc1 $f12, 0xc($a1) -/* 04AAF0 80049EF0 E4AC0010 */ swc1 $f12, 0x10($a1) -/* 04AAF4 80049EF4 E4AC0014 */ swc1 $f12, 0x14($a1) -/* 04AAF8 80049EF8 27A40060 */ addiu $a0, $sp, 0x60 -/* 04AAFC 80049EFC A4AF0002 */ sh $t7, 2($a1) -/* 04AB00 80049F00 0C01BF0C */ jal object_transform_to_matrix -/* 04AB04 80049F04 E4A40008 */ swc1 $f4, 8($a1) -/* 04AB08 80049F08 44800000 */ mtc1 $zero, $f0 -/* 04AB0C 80049F0C 26180038 */ addiu $t8, $s0, 0x38 -/* 04AB10 80049F10 2619003C */ addiu $t9, $s0, 0x3c -/* 04AB14 80049F14 260B0040 */ addiu $t3, $s0, 0x40 -/* 04AB18 80049F18 44050000 */ mfc1 $a1, $f0 -/* 04AB1C 80049F1C 44060000 */ mfc1 $a2, $f0 -/* 04AB20 80049F20 AFAB0018 */ sw $t3, 0x18($sp) -/* 04AB24 80049F24 AFB90014 */ sw $t9, 0x14($sp) -/* 04AB28 80049F28 AFB80010 */ sw $t8, 0x10($sp) -/* 04AB2C 80049F2C 27A40060 */ addiu $a0, $sp, 0x60 -/* 04AB30 80049F30 0C01BD93 */ jal guMtxXFMF -/* 04AB34 80049F34 3C073F80 */ lui $a3, 0x3f80 -/* 04AB38 80049F38 44800000 */ mtc1 $zero, $f0 -/* 04AB3C 80049F3C 260C0050 */ addiu $t4, $s0, 0x50 -/* 04AB40 80049F40 260D0054 */ addiu $t5, $s0, 0x54 -/* 04AB44 80049F44 260E0058 */ addiu $t6, $s0, 0x58 -/* 04AB48 80049F48 44060000 */ mfc1 $a2, $f0 -/* 04AB4C 80049F4C 44070000 */ mfc1 $a3, $f0 -/* 04AB50 80049F50 AFAE0018 */ sw $t6, 0x18($sp) -/* 04AB54 80049F54 AFAD0014 */ sw $t5, 0x14($sp) -/* 04AB58 80049F58 AFAC0010 */ sw $t4, 0x10($sp) -/* 04AB5C 80049F5C 27A40060 */ addiu $a0, $sp, 0x60 -/* 04AB60 80049F60 0C01BD93 */ jal guMtxXFMF -/* 04AB64 80049F64 3C053F80 */ lui $a1, 0x3f80 -/* 04AB68 80049F68 44800000 */ mtc1 $zero, $f0 -/* 04AB6C 80049F6C 260F0044 */ addiu $t7, $s0, 0x44 -/* 04AB70 80049F70 26180048 */ addiu $t8, $s0, 0x48 -/* 04AB74 80049F74 2619004C */ addiu $t9, $s0, 0x4c -/* 04AB78 80049F78 44050000 */ mfc1 $a1, $f0 -/* 04AB7C 80049F7C 44070000 */ mfc1 $a3, $f0 -/* 04AB80 80049F80 AFB90018 */ sw $t9, 0x18($sp) -/* 04AB84 80049F84 AFB80014 */ sw $t8, 0x14($sp) -/* 04AB88 80049F88 AFAF0010 */ sw $t7, 0x10($sp) -/* 04AB8C 80049F8C 27A40060 */ addiu $a0, $sp, 0x60 -/* 04AB90 80049F90 0C01BD93 */ jal guMtxXFMF -/* 04AB94 80049F94 3C063F80 */ lui $a2, 0x3f80 -/* 04AB98 80049F98 8E0B0148 */ lw $t3, 0x148($s0) -/* 04AB9C 80049F9C 00000000 */ nop -/* 04ABA0 80049FA0 15600005 */ bnez $t3, .L80049FB8 -/* 04ABA4 80049FA4 00000000 */ nop -/* 04ABA8 80049FA8 8FA400F8 */ lw $a0, 0xf8($sp) -/* 04ABAC 80049FAC 02202825 */ move $a1, $s1 -/* 04ABB0 80049FB0 0C013028 */ jal apply_plane_tilt_anim -/* 04ABB4 80049FB4 02003025 */ move $a2, $s0 -.L80049FB8: -/* 04ABB8 80049FB8 86020000 */ lh $v0, ($s0) -/* 04ABBC 80049FBC 2403FFFF */ li $v1, -1 -/* 04ABC0 80049FC0 14620008 */ bne $v1, $v0, .L80049FE4 -/* 04ABC4 80049FC4 3C0C8012 */ lui $t4, %hi(gCurrentPlayerIndex) # $t4, 0x8012 -/* 04ABC8 80049FC8 8D8CD55C */ lw $t4, %lo(gCurrentPlayerIndex)($t4) -/* 04ABCC 80049FCC 3C01800E */ lui $at, %hi(D_800E64E8) # $at, 0x800e -/* 04ABD0 80049FD0 106C0004 */ beq $v1, $t4, .L80049FE4 -/* 04ABD4 80049FD4 00000000 */ nop -/* 04ABD8 80049FD8 C42664E8 */ lwc1 $f6, %lo(D_800E64E8)($at) -/* 04ABDC 80049FDC 3C018012 */ lui $at, %hi(gCurrentRacerHandlingStat) # $at, 0x8012 -/* 04ABE0 80049FE0 E426D570 */ swc1 $f6, %lo(gCurrentRacerHandlingStat)($at) -.L80049FE4: -/* 04ABE4 80049FE4 C620001C */ lwc1 $f0, 0x1c($s1) -/* 04ABE8 80049FE8 C6220024 */ lwc1 $f2, 0x24($s1) -/* 04ABEC 80049FEC 46000202 */ mul.s $f8, $f0, $f0 -/* 04ABF0 80049FF0 C62E0020 */ lwc1 $f14, 0x20($s1) -/* 04ABF4 80049FF4 46021282 */ mul.s $f10, $f2, $f2 -/* 04ABF8 80049FF8 00000000 */ nop -/* 04ABFC 80049FFC 460E7102 */ mul.s $f4, $f14, $f14 -/* 04AC00 8004A000 460A4480 */ add.s $f18, $f8, $f10 -/* 04AC04 8004A004 0C0326B4 */ jal sqrtf -/* 04AC08 8004A008 46049300 */ add.s $f12, $f18, $f4 -/* 04AC0C 8004A00C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 04AC10 8004A010 44817800 */ mtc1 $at, $f15 -/* 04AC14 8004A014 44807000 */ mtc1 $zero, $f14 -/* 04AC18 8004A018 460001A1 */ cvt.d.s $f6, $f0 -/* 04AC1C 8004A01C 820D01D6 */ lb $t5, 0x1d6($s0) -/* 04AC20 8004A020 462E3201 */ sub.d $f8, $f6, $f14 -/* 04AC24 8004A024 29A10005 */ slti $at, $t5, 5 -/* 04AC28 8004A028 462040A0 */ cvt.s.d $f2, $f8 -/* 04AC2C 8004A02C 14200009 */ bnez $at, .L8004A054 -/* 04AC30 8004A030 46001506 */ mov.s $f20, $f2 -/* 04AC34 8004A034 460012A1 */ cvt.d.s $f10, $f2 -/* 04AC38 8004A038 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 04AC3C 8004A03C 44812800 */ mtc1 $at, $f5 -/* 04AC40 8004A040 462E5481 */ sub.d $f18, $f10, $f14 -/* 04AC44 8004A044 44802000 */ mtc1 $zero, $f4 -/* 04AC48 8004A048 00000000 */ nop -/* 04AC4C 8004A04C 46249182 */ mul.d $f6, $f18, $f4 -/* 04AC50 8004A050 46203520 */ cvt.s.d $f20, $f6 -.L8004A054: -/* 04AC54 8004A054 44806000 */ mtc1 $zero, $f12 -/* 04AC58 8004A058 3C014010 */ li $at, 0x40100000 # 2.250000 -/* 04AC5C 8004A05C 460CA03C */ c.lt.s $f20, $f12 -/* 04AC60 8004A060 44814800 */ mtc1 $at, $f9 -/* 04AC64 8004A064 45000002 */ bc1f .L8004A070 -/* 04AC68 8004A068 3C0B8012 */ lui $t3, %hi(gCurrentRacerMiscAssetPtr) # $t3, 0x8012 -/* 04AC6C 8004A06C 46006506 */ mov.s $f20, $f12 -.L8004A070: -/* 04AC70 8004A070 44804000 */ mtc1 $zero, $f8 -/* 04AC74 8004A074 4600A021 */ cvt.d.s $f0, $f20 -/* 04AC78 8004A078 4620403C */ c.lt.d $f8, $f0 -/* 04AC7C 8004A07C 44805000 */ mtc1 $zero, $f10 -/* 04AC80 8004A080 45000004 */ bc1f .L8004A094 -/* 04AC84 8004A084 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 04AC88 8004A088 4481A000 */ mtc1 $at, $f20 -/* 04AC8C 8004A08C 00000000 */ nop -/* 04AC90 8004A090 4600A021 */ cvt.d.s $f0, $f20 -.L8004A094: -/* 04AC94 8004A094 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 04AC98 8004A098 44815800 */ mtc1 $at, $f11 -/* 04AC9C 8004A09C 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 -/* 04ACA0 8004A0A0 44819800 */ mtc1 $at, $f19 -/* 04ACA4 8004A0A4 44809000 */ mtc1 $zero, $f18 -/* 04ACA8 8004A0A8 3C018012 */ lui $at, %hi(gCurrentCourseHeight) # $at, 0x8012 -/* 04ACAC 8004A0AC 46320102 */ mul.d $f4, $f0, $f18 -/* 04ACB0 8004A0B0 C428D4F0 */ lwc1 $f8, %lo(gCurrentCourseHeight)($at) -/* 04ACB4 8004A0B4 3C014049 */ li $at, 0x40490000 # 3.140625 -/* 04ACB8 8004A0B8 A3A000A3 */ sb $zero, 0xa3($sp) -/* 04ACBC 8004A0BC 820201E0 */ lb $v0, 0x1e0($s0) -/* 04ACC0 8004A0C0 46245181 */ sub.d $f6, $f10, $f4 -/* 04ACC4 8004A0C4 44805000 */ mtc1 $zero, $f10 -/* 04ACC8 8004A0C8 44815800 */ mtc1 $at, $f11 -/* 04ACCC 8004A0CC 46203520 */ cvt.s.d $f20, $f6 -/* 04ACD0 8004A0D0 C6260010 */ lwc1 $f6, 0x10($s1) -/* 04ACD4 8004A0D4 460044A1 */ cvt.d.s $f18, $f8 -/* 04ACD8 8004A0D8 462A9101 */ sub.d $f4, $f18, $f10 -/* 04ACDC 8004A0DC 28410002 */ slti $at, $v0, 2 -/* 04ACE0 8004A0E0 46003221 */ cvt.d.s $f8, $f6 -/* 04ACE4 8004A0E4 46282481 */ sub.d $f18, $f4, $f8 -/* 04ACE8 8004A0E8 10200023 */ beqz $at, .L8004A178 -/* 04ACEC 8004A0EC 462090A0 */ cvt.s.d $f2, $f18 -/* 04ACF0 8004A0F0 2841FFFF */ slti $at, $v0, -1 -/* 04ACF4 8004A0F4 14200020 */ bnez $at, .L8004A178 -/* 04ACF8 8004A0F8 00000000 */ nop -/* 04ACFC 8004A0FC 460C103C */ c.lt.s $f2, $f12 -/* 04AD00 8004A100 3C014039 */ li $at, 0x40390000 # 2.890625 -/* 04AD04 8004A104 4500001C */ bc1f .L8004A178 -/* 04AD08 8004A108 24180001 */ li $t8, 1 -/* 04AD0C 8004A10C 44812800 */ mtc1 $at, $f5 -/* 04AD10 8004A110 44802000 */ mtc1 $zero, $f4 -/* 04AD14 8004A114 46001287 */ neg.s $f10, $f2 -/* 04AD18 8004A118 460051A1 */ cvt.d.s $f6, $f10 -/* 04AD1C 8004A11C 00000000 */ nop -/* 04AD20 8004A120 46243203 */ div.d $f8, $f6, $f4 -/* 04AD24 8004A124 3C098012 */ lui $t1, %hi(gCurrentStickY) # $t1, 0x8012 -/* 04AD28 8004A128 2529D538 */ addiu $t1, %lo(gCurrentStickY) # addiu $t1, $t1, -0x2ac8 -/* 04AD2C 8004A12C 8D2E0000 */ lw $t6, ($t1) -/* 04AD30 8004A130 4600A4A1 */ cvt.d.s $f18, $f20 -/* 04AD34 8004A134 44803000 */ mtc1 $zero, $f6 -/* 04AD38 8004A138 29C1FFEC */ slti $at, $t6, -0x14 -/* 04AD3C 8004A13C 240FFFEC */ li $t7, -20 -/* 04AD40 8004A140 46289280 */ add.d $f10, $f18, $f8 -/* 04AD44 8004A144 10200002 */ beqz $at, .L8004A150 -/* 04AD48 8004A148 46205520 */ cvt.s.d $f20, $f10 -/* 04AD4C 8004A14C AD2F0000 */ sw $t7, ($t1) -.L8004A150: -/* 04AD50 8004A150 3C014004 */ li $at, 0x40040000 # 2.062500 -/* 04AD54 8004A154 44813800 */ mtc1 $at, $f7 -/* 04AD58 8004A158 4600A121 */ cvt.d.s $f4, $f20 -/* 04AD5C 8004A15C 4624303C */ c.lt.d $f6, $f4 -/* 04AD60 8004A160 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 04AD64 8004A164 45000003 */ bc1f .L8004A174 -/* 04AD68 8004A168 00000000 */ nop -/* 04AD6C 8004A16C 4481A000 */ mtc1 $at, $f20 -/* 04AD70 8004A170 00000000 */ nop -.L8004A174: -/* 04AD74 8004A174 A3B800A3 */ sb $t8, 0xa3($sp) -.L8004A178: -/* 04AD78 8004A178 C602002C */ lwc1 $f2, 0x2c($s0) -/* 04AD7C 8004A17C 44809000 */ mtc1 $zero, $f18 -/* 04AD80 8004A180 3C098012 */ lui $t1, %hi(gCurrentStickY) # $t1, 0x8012 -/* 04AD84 8004A184 4612103C */ c.lt.s $f2, $f18 -/* 04AD88 8004A188 2529D538 */ addiu $t1, %lo(gCurrentStickY) # addiu $t1, $t1, -0x2ac8 -/* 04AD8C 8004A18C 45000002 */ bc1f .L8004A198 -/* 04AD90 8004A190 46001386 */ mov.s $f14, $f2 -/* 04AD94 8004A194 46007387 */ neg.s $f14, $f14 -.L8004A198: -/* 04AD98 8004A198 44804000 */ mtc1 $zero, $f8 -/* 04AD9C 8004A19C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 04ADA0 8004A1A0 4608103C */ c.lt.s $f2, $f8 -/* 04ADA4 8004A1A4 44815000 */ mtc1 $at, $f10 -/* 04ADA8 8004A1A8 45000002 */ bc1f .L8004A1B4 -/* 04ADAC 8004A1AC 46001006 */ mov.s $f0, $f2 -/* 04ADB0 8004A1B0 46001007 */ neg.s $f0, $f2 -.L8004A1B4: -/* 04ADB4 8004A1B4 460A0180 */ add.s $f6, $f0, $f10 -/* 04ADB8 8004A1B8 460E303C */ c.lt.s $f6, $f14 -/* 04ADBC 8004A1BC 00000000 */ nop -/* 04ADC0 8004A1C0 45000004 */ bc1f .L8004A1D4 -/* 04ADC4 8004A1C4 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 04ADC8 8004A1C8 44812000 */ mtc1 $at, $f4 -/* 04ADCC 8004A1CC 00000000 */ nop -/* 04ADD0 8004A1D0 46040380 */ add.s $f14, $f0, $f4 -.L8004A1D4: -/* 04ADD4 8004A1D4 3C014140 */ li $at, 0x41400000 # 12.000000 -/* 04ADD8 8004A1D8 44810000 */ mtc1 $at, $f0 -/* 04ADDC 8004A1DC 3C01800E */ lui $at, %hi(D_800E64EC) # $at, 0x800e -/* 04ADE0 8004A1E0 460E003C */ c.lt.s $f0, $f14 -/* 04ADE4 8004A1E4 00000000 */ nop -/* 04ADE8 8004A1E8 45000002 */ bc1f .L8004A1F4 -/* 04ADEC 8004A1EC 00000000 */ nop -/* 04ADF0 8004A1F0 46000386 */ mov.s $f14, $f0 -.L8004A1F4: -/* 04ADF4 8004A1F4 C42264EC */ lwc1 $f2, %lo(D_800E64EC)($at) -/* 04ADF8 8004A1F8 3C01800E */ lui $at, %hi(D_800E64F0) # $at, 0x800e -/* 04ADFC 8004A1FC C42C64F0 */ lwc1 $f12, %lo(D_800E64F0)($at) -/* 04AE00 8004A200 4459F800 */ cfc1 $t9, $31 -/* 04AE04 8004A204 3C01800E */ lui $at, %hi(D_800E64F4) # $at, 0x800e -/* 04AE08 8004A208 C43064F4 */ lwc1 $f16, %lo(D_800E64F4)($at) -/* 04AE0C 8004A20C 37210003 */ ori $at, $t9, 3 -/* 04AE10 8004A210 38210002 */ xori $at, $at, 2 -/* 04AE14 8004A214 44C1F800 */ ctc1 $at, $31 -/* 04AE18 8004A218 8D6BD564 */ lw $t3, %lo(gCurrentRacerMiscAssetPtr)($t3) -/* 04AE1C 8004A21C 460074A4 */ cvt.w.s $f18, $f14 -/* 04AE20 8004A220 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 04AE24 8004A224 44029000 */ mfc1 $v0, $f18 -/* 04AE28 8004A228 44D9F800 */ ctc1 $t9, $31 -/* 04AE2C 8004A22C 44824000 */ mtc1 $v0, $f8 -/* 04AE30 8004A230 00026080 */ sll $t4, $v0, 2 -/* 04AE34 8004A234 468042A0 */ cvt.s.w $f10, $f8 -/* 04AE38 8004A238 44813800 */ mtc1 $at, $f7 -/* 04AE3C 8004A23C 44803000 */ mtc1 $zero, $f6 -/* 04AE40 8004A240 460A7001 */ sub.s $f0, $f14, $f10 -/* 04AE44 8004A244 016C1821 */ addu $v1, $t3, $t4 -/* 04AE48 8004A248 C4680000 */ lwc1 $f8, ($v1) -/* 04AE4C 8004A24C 46000121 */ cvt.d.s $f4, $f0 -/* 04AE50 8004A250 46243481 */ sub.d $f18, $f6, $f4 -/* 04AE54 8004A254 C4640004 */ lwc1 $f4, 4($v1) -/* 04AE58 8004A258 460042A1 */ cvt.d.s $f10, $f8 -/* 04AE5C 8004A25C 46325182 */ mul.d $f6, $f10, $f18 -/* 04AE60 8004A260 E7A200D4 */ swc1 $f2, 0xd4($sp) -/* 04AE64 8004A264 E7AC00D0 */ swc1 $f12, 0xd0($sp) -/* 04AE68 8004A268 E7B000D8 */ swc1 $f16, 0xd8($sp) -/* 04AE6C 8004A26C 820D01E2 */ lb $t5, 0x1e2($s0) -/* 04AE70 8004A270 46002202 */ mul.s $f8, $f4, $f0 -/* 04AE74 8004A274 460042A1 */ cvt.d.s $f10, $f8 -/* 04AE78 8004A278 462A3480 */ add.d $f18, $f6, $f10 -/* 04AE7C 8004A27C 11A000A0 */ beqz $t5, .L8004A500 -/* 04AE80 8004A280 462093A0 */ cvt.s.d $f14, $f18 -/* 04AE84 8004A284 E7AC00D4 */ swc1 $f12, 0xd4($sp) -/* 04AE88 8004A288 E7A200D0 */ swc1 $f2, 0xd0($sp) -/* 04AE8C 8004A28C 00002825 */ move $a1, $zero -/* 04AE90 8004A290 00004025 */ move $t0, $zero -/* 04AE94 8004A294 4600A021 */ cvt.d.s $f0, $f20 -/* 04AE98 8004A298 02001825 */ move $v1, $s0 -/* 04AE9C 8004A29C 24060004 */ li $a2, 4 -/* 04AEA0 8004A2A0 240400FF */ li $a0, 255 -.L8004A2A4: -/* 04AEA4 8004A2A4 906201DC */ lbu $v0, 0x1dc($v1) -/* 04AEA8 8004A2A8 25080001 */ addiu $t0, $t0, 1 -/* 04AEAC 8004A2AC 10820004 */ beq $a0, $v0, .L8004A2C0 -/* 04AEB0 8004A2B0 00A2082A */ slt $at, $a1, $v0 -/* 04AEB4 8004A2B4 10200002 */ beqz $at, .L8004A2C0 -/* 04AEB8 8004A2B8 00000000 */ nop -/* 04AEBC 8004A2BC 00402825 */ move $a1, $v0 -.L8004A2C0: -/* 04AEC0 8004A2C0 1506FFF8 */ bne $t0, $a2, .L8004A2A4 -/* 04AEC4 8004A2C4 24630001 */ addiu $v1, $v1, 1 -/* 04AEC8 8004A2C8 14A60002 */ bne $a1, $a2, .L8004A2D4 -/* 04AECC 8004A2CC 3C0B8012 */ lui $t3, %hi(gCurrentRacerInput) # $t3, 0x8012 -/* 04AED0 8004A2D0 A2000175 */ sb $zero, 0x175($s0) -.L8004A2D4: -/* 04AED4 8004A2D4 860E0000 */ lh $t6, ($s0) -/* 04AED8 8004A2D8 2401000C */ li $at, 12 -/* 04AEDC 8004A2DC 15C00009 */ bnez $t6, .L8004A304 -/* 04AEE0 8004A2E0 00000000 */ nop -/* 04AEE4 8004A2E4 14A10007 */ bne $a1, $at, .L8004A304 -/* 04AEE8 8004A2E8 3C0F8012 */ lui $t7, %hi(gCurrentButtonsPressed) # $t7, 0x8012 -/* 04AEEC 8004A2EC 8DEFD52C */ lw $t7, %lo(gCurrentButtonsPressed)($t7) -/* 04AEF0 8004A2F0 24190002 */ li $t9, 2 -/* 04AEF4 8004A2F4 31F82000 */ andi $t8, $t7, 0x2000 -/* 04AEF8 8004A2F8 13000002 */ beqz $t8, .L8004A304 -/* 04AEFC 8004A2FC 3C018012 */ lui $at, %hi(gTajInteractStatus) # $at, 0x8012 -/* 04AF00 8004A300 A039D582 */ sb $t9, %lo(gTajInteractStatus)($at) -.L8004A304: -/* 04AF04 8004A304 8D6BD528 */ lw $t3, %lo(gCurrentRacerInput)($t3) -/* 04AF08 8004A308 00000000 */ nop -/* 04AF0C 8004A30C 316C4000 */ andi $t4, $t3, 0x4000 -/* 04AF10 8004A310 11800013 */ beqz $t4, .L8004A360 -/* 04AF14 8004A314 00000000 */ nop -/* 04AF18 8004A318 8D2D0000 */ lw $t5, ($t1) -/* 04AF1C 8004A31C 00000000 */ nop -/* 04AF20 8004A320 29A1FFD8 */ slti $at, $t5, -0x28 -/* 04AF24 8004A324 1420000E */ bnez $at, .L8004A360 -/* 04AF28 8004A328 00000000 */ nop -/* 04AF2C 8004A32C C604002C */ lwc1 $f4, 0x2c($s0) -/* 04AF30 8004A330 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 -/* 04AF34 8004A334 44813800 */ mtc1 $at, $f7 -/* 04AF38 8004A338 44803000 */ mtc1 $zero, $f6 -/* 04AF3C 8004A33C 46002221 */ cvt.d.s $f8, $f4 -/* 04AF40 8004A340 4628303E */ c.le.d $f6, $f8 -/* 04AF44 8004A344 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 04AF48 8004A348 45000005 */ bc1f .L8004A360 -/* 04AF4C 8004A34C 00000000 */ nop -/* 04AF50 8004A350 44815000 */ mtc1 $at, $f10 -/* 04AF54 8004A354 00000000 */ nop -/* 04AF58 8004A358 460A8482 */ mul.s $f18, $f16, $f10 -/* 04AF5C 8004A35C E7B200D8 */ swc1 $f18, 0xd8($sp) -.L8004A360: -/* 04AF60 8004A360 820E01D3 */ lb $t6, 0x1d3($s0) -/* 04AF64 8004A364 24010003 */ li $at, 3 -/* 04AF68 8004A368 15C00026 */ bnez $t6, .L8004A404 -/* 04AF6C 8004A36C 00000000 */ nop -/* 04AF70 8004A370 14A10024 */ bne $a1, $at, .L8004A404 -/* 04AF74 8004A374 2404002D */ li $a0, 45 -/* 04AF78 8004A378 E7A10048 */ swc1 $f1, 0x48($sp) -/* 04AF7C 8004A37C E7A0004C */ swc1 $f0, 0x4c($sp) -/* 04AF80 8004A380 0C00322D */ jal normalise_time -/* 04AF84 8004A384 E7AE00DC */ swc1 $f14, 0xdc($sp) -/* 04AF88 8004A388 9218020C */ lbu $t8, 0x20c($s0) -/* 04AF8C 8004A38C C7A10048 */ lwc1 $f1, 0x48($sp) -/* 04AF90 8004A390 C7A0004C */ lwc1 $f0, 0x4c($sp) -/* 04AF94 8004A394 C7AE00DC */ lwc1 $f14, 0xdc($sp) -/* 04AF98 8004A398 240F0002 */ li $t7, 2 -/* 04AF9C 8004A39C A20201D3 */ sb $v0, 0x1d3($s0) -/* 04AFA0 8004A3A0 13000005 */ beqz $t8, .L8004A3B8 -/* 04AFA4 8004A3A4 A20F0203 */ sb $t7, 0x203($s0) -/* 04AFA8 8004A3A8 82190203 */ lb $t9, 0x203($s0) -/* 04AFAC 8004A3AC 00000000 */ nop -/* 04AFB0 8004A3B0 372B0004 */ ori $t3, $t9, 4 -/* 04AFB4 8004A3B4 A20B0203 */ sb $t3, 0x203($s0) -.L8004A3B8: -/* 04AFB8 8004A3B8 02202025 */ move $a0, $s1 -/* 04AFBC 8004A3BC 24050107 */ li $a1, 263 -/* 04AFC0 8004A3C0 E7A10048 */ swc1 $f1, 0x48($sp) -/* 04AFC4 8004A3C4 E7A0004C */ swc1 $f0, 0x4c($sp) -/* 04AFC8 8004A3C8 0C015C12 */ jal racer_play_sound -/* 04AFCC 8004A3CC E7AE00DC */ swc1 $f14, 0xdc($sp) -/* 04AFD0 8004A3D0 02202025 */ move $a0, $s1 -/* 04AFD4 8004A3D4 24050162 */ li $a1, 354 -/* 04AFD8 8004A3D8 24060008 */ li $a2, 8 -/* 04AFDC 8004A3DC 0C015C2E */ jal play_random_character_voice -/* 04AFE0 8004A3E0 24070082 */ li $a3, 130 -/* 04AFE4 8004A3E4 86040000 */ lh $a0, ($s0) -/* 04AFE8 8004A3E8 0C01C8D2 */ jal rumble_set -/* 04AFEC 8004A3EC 24050008 */ li $a1, 8 -/* 04AFF0 8004A3F0 3C098012 */ lui $t1, %hi(gCurrentStickY) # $t1, 0x8012 -/* 04AFF4 8004A3F4 C7A10048 */ lwc1 $f1, 0x48($sp) -/* 04AFF8 8004A3F8 C7A0004C */ lwc1 $f0, 0x4c($sp) -/* 04AFFC 8004A3FC C7AE00DC */ lwc1 $f14, 0xdc($sp) -/* 04B000 8004A400 2529D538 */ addiu $t1, %lo(gCurrentStickY) # addiu $t1, $t1, -0x2ac8 -.L8004A404: -/* 04B004 8004A404 820C01D6 */ lb $t4, 0x1d6($s0) -/* 04B008 8004A408 3C0D8012 */ lui $t5, %hi(gCurrentRacerInput) # $t5, 0x8012 -/* 04B00C 8004A40C 29810005 */ slti $at, $t4, 5 -/* 04B010 8004A410 14200018 */ bnez $at, .L8004A474 -/* 04B014 8004A414 3C0F800E */ lui $t7, %hi(gNumViewports) # $t7, 0x800e -/* 04B018 8004A418 C608002C */ lwc1 $f8, 0x2c($s0) -/* 04B01C 8004A41C 3C01C018 */ li $at, 0xC0180000 # -2.375000 -/* 04B020 8004A420 44812800 */ mtc1 $at, $f5 -/* 04B024 8004A424 44802000 */ mtc1 $zero, $f4 -/* 04B028 8004A428 460041A1 */ cvt.d.s $f6, $f8 -/* 04B02C 8004A42C 4626203C */ c.lt.d $f4, $f6 -/* 04B030 8004A430 C7AA00C8 */ lwc1 $f10, 0xc8($sp) -/* 04B034 8004A434 4500000F */ bc1f .L8004A474 -/* 04B038 8004A438 3C01800E */ lui $at, %hi(D_800E64F8 + 4) # $at, 0x800e -/* 04B03C 8004A43C C42964F8 */ lwc1 $f9, %lo(D_800E64F8)($at) -/* 04B040 8004A440 C42864FC */ lwc1 $f8, %lo(D_800E64F8 + 4)($at) -/* 04B044 8004A444 460054A1 */ cvt.d.s $f18, $f10 -/* 04B048 8004A448 46289102 */ mul.d $f4, $f18, $f8 -/* 04B04C 8004A44C 3C01800E */ lui $at, %hi(D_800E6500 + 4) # $at, 0x800e -/* 04B050 8004A450 C7AA00C4 */ lwc1 $f10, 0xc4($sp) -/* 04B054 8004A454 C4296500 */ lwc1 $f9, %lo(D_800E6500)($at) -/* 04B058 8004A458 C4286504 */ lwc1 $f8, %lo(D_800E6500 + 4)($at) -/* 04B05C 8004A45C 462021A0 */ cvt.s.d $f6, $f4 -/* 04B060 8004A460 460054A1 */ cvt.d.s $f18, $f10 -/* 04B064 8004A464 46289102 */ mul.d $f4, $f18, $f8 -/* 04B068 8004A468 E7A600C8 */ swc1 $f6, 0xc8($sp) -/* 04B06C 8004A46C 462021A0 */ cvt.s.d $f6, $f4 -/* 04B070 8004A470 E7A600C4 */ swc1 $f6, 0xc4($sp) -.L8004A474: -/* 04B074 8004A474 A20001E0 */ sb $zero, 0x1e0($s0) -/* 04B078 8004A478 8DADD528 */ lw $t5, %lo(gCurrentRacerInput)($t5) -/* 04B07C 8004A47C 00000000 */ nop -/* 04B080 8004A480 31AE4000 */ andi $t6, $t5, 0x4000 -/* 04B084 8004A484 11C00007 */ beqz $t6, .L8004A4A4 -/* 04B088 8004A488 00000000 */ nop -/* 04B08C 8004A48C 8DEFCB98 */ lw $t7, %lo(gNumViewports)($t7) -/* 04B090 8004A490 24180003 */ li $t8, 3 -/* 04B094 8004A494 29E10003 */ slti $at, $t7, 3 -/* 04B098 8004A498 10200002 */ beqz $at, .L8004A4A4 -/* 04B09C 8004A49C 00000000 */ nop -/* 04B0A0 8004A4A0 AE380074 */ sw $t8, 0x74($s1) -.L8004A4A4: -/* 04B0A4 8004A4A4 8D390000 */ lw $t9, ($t1) -/* 04B0A8 8004A4A8 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 04B0AC 8004A4AC 44995000 */ mtc1 $t9, $f10 -/* 04B0B0 8004A4B0 44812800 */ mtc1 $at, $f5 -/* 04B0B4 8004A4B4 468054A0 */ cvt.s.w $f18, $f10 -/* 04B0B8 8004A4B8 44802000 */ mtc1 $zero, $f4 -/* 04B0BC 8004A4BC 00000000 */ nop -/* 04B0C0 8004A4C0 46202181 */ sub.d $f6, $f4, $f0 -/* 04B0C4 8004A4C4 46009221 */ cvt.d.s $f8, $f18 -/* 04B0C8 8004A4C8 46264282 */ mul.d $f10, $f8, $f6 -/* 04B0CC 8004A4CC 444BF800 */ cfc1 $t3, $31 -/* 04B0D0 8004A4D0 00000000 */ nop -/* 04B0D4 8004A4D4 35610003 */ ori $at, $t3, 3 -/* 04B0D8 8004A4D8 38210002 */ xori $at, $at, 2 -/* 04B0DC 8004A4DC 44C1F800 */ ctc1 $at, $31 -/* 04B0E0 8004A4E0 00000000 */ nop -/* 04B0E4 8004A4E4 462054A4 */ cvt.w.d $f18, $f10 -/* 04B0E8 8004A4E8 E5320000 */ swc1 $f18, ($t1) -/* 04B0EC 8004A4EC 8D2C0000 */ lw $t4, ($t1) -/* 04B0F0 8004A4F0 44CBF800 */ ctc1 $t3, $31 -/* 04B0F4 8004A4F4 19800003 */ blez $t4, .L8004A504 -/* 04B0F8 8004A4F8 83AD00A3 */ lb $t5, 0xa3($sp) -/* 04B0FC 8004A4FC AD200000 */ sw $zero, ($t1) -.L8004A500: -/* 04B100 8004A500 83AD00A3 */ lb $t5, 0xa3($sp) -.L8004A504: -/* 04B104 8004A504 820201D6 */ lb $v0, 0x1d6($s0) -/* 04B108 8004A508 15A0000F */ bnez $t5, .L8004A548 -/* 04B10C 8004A50C 00004025 */ move $t0, $zero -/* 04B110 8004A510 3C014590 */ li $at, 0x45900000 # 4608.000000 -/* 04B114 8004A514 44812000 */ mtc1 $at, $f4 -/* 04B118 8004A518 00000000 */ nop -/* 04B11C 8004A51C 4604A202 */ mul.s $f8, $f20, $f4 -/* 04B120 8004A520 444EF800 */ cfc1 $t6, $31 -/* 04B124 8004A524 00000000 */ nop -/* 04B128 8004A528 35C10003 */ ori $at, $t6, 3 -/* 04B12C 8004A52C 38210002 */ xori $at, $at, 2 -/* 04B130 8004A530 44C1F800 */ ctc1 $at, $31 -/* 04B134 8004A534 00000000 */ nop -/* 04B138 8004A538 460041A4 */ cvt.w.s $f6, $f8 -/* 04B13C 8004A53C 44CEF800 */ ctc1 $t6, $31 -/* 04B140 8004A540 44083000 */ mfc1 $t0, $f6 -/* 04B144 8004A544 00000000 */ nop -.L8004A548: -/* 04B148 8004A548 28410006 */ slti $at, $v0, 6 -/* 04B14C 8004A54C 14200002 */ bnez $at, .L8004A558 -/* 04B150 8004A550 02002025 */ move $a0, $s0 -/* 04B154 8004A554 00004025 */ move $t0, $zero -.L8004A558: -/* 04B158 8004A558 2401000A */ li $at, 10 -/* 04B15C 8004A55C 14410003 */ bne $v0, $at, .L8004A56C -/* 04B160 8004A560 00003025 */ move $a2, $zero -/* 04B164 8004A564 4480A000 */ mtc1 $zero, $f20 -/* 04B168 8004A568 00004025 */ move $t0, $zero -.L8004A56C: -/* 04B16C 8004A56C 00083C00 */ sll $a3, $t0, 0x10 -/* 04B170 8004A570 00077C03 */ sra $t7, $a3, 0x10 -/* 04B174 8004A574 8FA500F8 */ lw $a1, 0xf8($sp) -/* 04B178 8004A578 01E03825 */ move $a3, $t7 -/* 04B17C 8004A57C AFA00010 */ sw $zero, 0x10($sp) -/* 04B180 8004A580 0C014214 */ jal apply_vehicle_rotation_offset -/* 04B184 8004A584 E7AE00DC */ swc1 $f14, 0xdc($sp) -/* 04B188 8004A588 920201FE */ lbu $v0, 0x1fe($s0) -/* 04B18C 8004A58C C7AE00DC */ lwc1 $f14, 0xdc($sp) -/* 04B190 8004A590 14400008 */ bnez $v0, .L8004A5B4 -/* 04B194 8004A594 3C0C8012 */ lui $t4, %hi(gRaceStartTimer) # $t4, 0x8012 -/* 04B198 8004A598 8E380074 */ lw $t8, 0x74($s1) -/* 04B19C 8004A59C 3C0140B0 */ li $at, 0x40B00000 # 5.500000 -/* 04B1A0 8004A5A0 37190100 */ ori $t9, $t8, 0x100 -/* 04B1A4 8004A5A4 AE390074 */ sw $t9, 0x74($s1) -/* 04B1A8 8004A5A8 4481A000 */ mtc1 $at, $f20 -/* 04B1AC 8004A5AC 920201FE */ lbu $v0, 0x1fe($s0) -/* 04B1B0 8004A5B0 00000000 */ nop -.L8004A5B4: -/* 04B1B4 8004A5B4 24010001 */ li $at, 1 -/* 04B1B8 8004A5B8 14410003 */ bne $v0, $at, .L8004A5C8 -/* 04B1BC 8004A5BC 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 04B1C0 8004A5C0 4481A000 */ mtc1 $at, $f20 -/* 04B1C4 8004A5C4 00000000 */ nop -.L8004A5C8: -/* 04B1C8 8004A5C8 C61200C0 */ lwc1 $f18, 0xc0($s0) -/* 04B1CC 8004A5CC 44805800 */ mtc1 $zero, $f11 -/* 04B1D0 8004A5D0 44805000 */ mtc1 $zero, $f10 -/* 04B1D4 8004A5D4 46009121 */ cvt.d.s $f4, $f18 -/* 04B1D8 8004A5D8 46245032 */ c.eq.d $f10, $f4 -/* 04B1DC 8004A5DC 00000000 */ nop -/* 04B1E0 8004A5E0 45010021 */ bc1t .L8004A668 -/* 04B1E4 8004A5E4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 04B1E8 8004A5E8 44810000 */ mtc1 $at, $f0 -/* 04B1EC 8004A5EC 3C018012 */ lui $at, %hi(gCurrentStickY) # $at, 0x8012 -/* 04B1F0 8004A5F0 240BFFC4 */ li $t3, -60 -/* 04B1F4 8004A5F4 AC2BD538 */ sw $t3, %lo(gCurrentStickY)($at) -/* 04B1F8 8004A5F8 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 04B1FC 8004A5FC 44813000 */ mtc1 $at, $f6 -/* 04B200 8004A600 C60800C0 */ lwc1 $f8, 0xc0($s0) -/* 04B204 8004A604 44805800 */ mtc1 $zero, $f11 -/* 04B208 8004A608 46064081 */ sub.s $f2, $f8, $f6 -/* 04B20C 8004A60C 44805000 */ mtc1 $zero, $f10 -/* 04B210 8004A610 460014A1 */ cvt.d.s $f18, $f2 -/* 04B214 8004A614 462A903C */ c.lt.d $f18, $f10 -/* 04B218 8004A618 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 04B21C 8004A61C 44812000 */ mtc1 $at, $f4 -/* 04B220 8004A620 45000004 */ bc1f .L8004A634 -/* 04B224 8004A624 00000000 */ nop -/* 04B228 8004A628 44801000 */ mtc1 $zero, $f2 -/* 04B22C 8004A62C 00000000 */ nop -/* 04B230 8004A630 00000000 */ nop -.L8004A634: -/* 04B234 8004A634 46041203 */ div.s $f8, $f2, $f4 -/* 04B238 8004A638 3C01C010 */ li $at, 0xC0100000 # -2.250000 -/* 04B23C 8004A63C 44819800 */ mtc1 $at, $f19 -/* 04B240 8004A640 44809000 */ mtc1 $zero, $f18 -/* 04B244 8004A644 3C01C080 */ li $at, 0xC0800000 # -4.000000 -/* 04B248 8004A648 46080501 */ sub.s $f20, $f0, $f8 -/* 04B24C 8004A64C 4600A1A1 */ cvt.d.s $f6, $f20 -/* 04B250 8004A650 4632303C */ c.lt.d $f6, $f18 -/* 04B254 8004A654 00000000 */ nop -/* 04B258 8004A658 45000003 */ bc1f .L8004A668 -/* 04B25C 8004A65C 00000000 */ nop -/* 04B260 8004A660 4481A000 */ mtc1 $at, $f20 -/* 04B264 8004A664 00000000 */ nop -.L8004A668: -/* 04B268 8004A668 8D8CD540 */ lw $t4, %lo(gRaceStartTimer)($t4) -/* 04B26C 8004A66C 00000000 */ nop -/* 04B270 8004A670 11800003 */ beqz $t4, .L8004A680 -/* 04B274 8004A674 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04B278 8004A678 4481A000 */ mtc1 $at, $f20 -/* 04B27C 8004A67C 00000000 */ nop -.L8004A680: -/* 04B280 8004A680 820D01D7 */ lb $t5, 0x1d7($s0) -/* 04B284 8004A684 2401000C */ li $at, 12 -/* 04B288 8004A688 15A1000B */ bne $t5, $at, .L8004A6B8 -/* 04B28C 8004A68C 00000000 */ nop -/* 04B290 8004A690 822E003B */ lb $t6, 0x3b($s1) -/* 04B294 8004A694 00000000 */ nop -/* 04B298 8004A698 29C10003 */ slti $at, $t6, 3 -/* 04B29C 8004A69C 10200004 */ beqz $at, .L8004A6B0 -/* 04B2A0 8004A6A0 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 04B2A4 8004A6A4 4481A000 */ mtc1 $at, $f20 -/* 04B2A8 8004A6A8 10000003 */ b .L8004A6B8 -/* 04B2AC 8004A6AC 00000000 */ nop -.L8004A6B0: -/* 04B2B0 8004A6B0 4480A000 */ mtc1 $zero, $f20 -/* 04B2B4 8004A6B4 00000000 */ nop -.L8004A6B8: -/* 04B2B8 8004A6B8 3C018012 */ lui $at, %hi(gCurrentRacerWeightStat) # $at, 0x8012 -/* 04B2BC 8004A6BC C42AD56C */ lwc1 $f10, %lo(gCurrentRacerWeightStat)($at) -/* 04B2C0 8004A6C0 C6240020 */ lwc1 $f4, 0x20($s1) -/* 04B2C4 8004A6C4 460AA502 */ mul.s $f20, $f20, $f10 -/* 04B2C8 8004A6C8 46142201 */ sub.s $f8, $f4, $f20 -/* 04B2CC 8004A6CC E6280020 */ swc1 $f8, 0x20($s1) -/* 04B2D0 8004A6D0 920F01F5 */ lbu $t7, 0x1f5($s0) -/* 04B2D4 8004A6D4 00000000 */ nop -/* 04B2D8 8004A6D8 11E0005E */ beqz $t7, .L8004A854 -/* 04B2DC 8004A6DC 00000000 */ nop -/* 04B2E0 8004A6E0 821801DB */ lb $t8, 0x1db($s0) -/* 04B2E4 8004A6E4 34018001 */ li $at, 32769 -/* 04B2E8 8004A6E8 1700005A */ bnez $t8, .L8004A854 -/* 04B2EC 8004A6EC 00000000 */ nop -/* 04B2F0 8004A6F0 8E19014C */ lw $t9, 0x14c($s0) -/* 04B2F4 8004A6F4 860301A0 */ lh $v1, 0x1a0($s0) -/* 04B2F8 8004A6F8 A2000175 */ sb $zero, 0x175($s0) -/* 04B2FC 8004A6FC A20001DB */ sb $zero, 0x1db($s0) -/* 04B300 8004A700 A20001E0 */ sb $zero, 0x1e0($s0) -/* 04B304 8004A704 872B0000 */ lh $t3, ($t9) -/* 04B308 8004A708 306CFFFF */ andi $t4, $v1, 0xffff -/* 04B30C 8004A70C 016C1023 */ subu $v0, $t3, $t4 -/* 04B310 8004A710 0041082A */ slt $at, $v0, $at -/* 04B314 8004A714 8FAD00F8 */ lw $t5, 0xf8($sp) -/* 04B318 8004A718 14200003 */ bnez $at, .L8004A728 -/* 04B31C 8004A71C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 04B320 8004A720 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 04B324 8004A724 00411021 */ addu $v0, $v0, $at -.L8004A728: -/* 04B328 8004A728 28418000 */ slti $at, $v0, -0x8000 -/* 04B32C 8004A72C 10200002 */ beqz $at, .L8004A738 -/* 04B330 8004A730 3401FFFF */ li $at, 65535 -/* 04B334 8004A734 00411021 */ addu $v0, $v0, $at -.L8004A738: -/* 04B338 8004A738 004D0019 */ multu $v0, $t5 -/* 04B33C 8004A73C 28410400 */ slti $at, $v0, 0x400 -/* 04B340 8004A740 00007012 */ mflo $t6 -/* 04B344 8004A744 000E78C3 */ sra $t7, $t6, 3 -/* 04B348 8004A748 006FC021 */ addu $t8, $v1, $t7 -/* 04B34C 8004A74C 10200004 */ beqz $at, .L8004A760 -/* 04B350 8004A750 A61801A0 */ sh $t8, 0x1a0($s0) -/* 04B354 8004A754 2841FC01 */ slti $at, $v0, -0x3ff -/* 04B358 8004A758 10200005 */ beqz $at, .L8004A770 -/* 04B35C 8004A75C 00000000 */ nop -.L8004A760: -/* 04B360 8004A760 86190000 */ lh $t9, ($s0) -/* 04B364 8004A764 2401FFFF */ li $at, -1 -/* 04B368 8004A768 17210026 */ bne $t9, $at, .L8004A804 -/* 04B36C 8004A76C 00000000 */ nop -.L8004A770: -/* 04B370 8004A770 860B0000 */ lh $t3, ($s0) -/* 04B374 8004A774 2401FFFF */ li $at, -1 -/* 04B378 8004A778 1161000E */ beq $t3, $at, .L8004A7B4 -/* 04B37C 8004A77C 24040107 */ li $a0, 263 -/* 04B380 8004A780 8E25000C */ lw $a1, 0xc($s1) -/* 04B384 8004A784 8E260010 */ lw $a2, 0x10($s1) -/* 04B388 8004A788 8E270014 */ lw $a3, 0x14($s1) -/* 04B38C 8004A78C E7AE00DC */ swc1 $f14, 0xdc($sp) -/* 04B390 8004A790 0C0007AA */ jal sound_play_spatial -/* 04B394 8004A794 AFA00010 */ sw $zero, 0x10($sp) -/* 04B398 8004A798 02202025 */ move $a0, $s1 -/* 04B39C 8004A79C 24050162 */ li $a1, 354 -/* 04B3A0 8004A7A0 24060008 */ li $a2, 8 -/* 04B3A4 8004A7A4 0C015C2E */ jal play_random_character_voice -/* 04B3A8 8004A7A8 24070082 */ li $a3, 130 -/* 04B3AC 8004A7AC C7AE00DC */ lwc1 $f14, 0xdc($sp) -/* 04B3B0 8004A7B0 00000000 */ nop -.L8004A7B4: -/* 04B3B4 8004A7B4 2404002D */ li $a0, 45 -/* 04B3B8 8004A7B8 0C00322D */ jal normalise_time -/* 04B3BC 8004A7BC E7AE00DC */ swc1 $f14, 0xdc($sp) -/* 04B3C0 8004A7C0 920D020C */ lbu $t5, 0x20c($s0) -/* 04B3C4 8004A7C4 C7AE00DC */ lwc1 $f14, 0xdc($sp) -/* 04B3C8 8004A7C8 240C0002 */ li $t4, 2 -/* 04B3CC 8004A7CC A20201D3 */ sb $v0, 0x1d3($s0) -/* 04B3D0 8004A7D0 11A00005 */ beqz $t5, .L8004A7E8 -/* 04B3D4 8004A7D4 A20C0203 */ sb $t4, 0x203($s0) -/* 04B3D8 8004A7D8 820E0203 */ lb $t6, 0x203($s0) -/* 04B3DC 8004A7DC 00000000 */ nop -/* 04B3E0 8004A7E0 35CF0004 */ ori $t7, $t6, 4 -/* 04B3E4 8004A7E4 A20F0203 */ sb $t7, 0x203($s0) -.L8004A7E8: -/* 04B3E8 8004A7E8 86040000 */ lh $a0, ($s0) -/* 04B3EC 8004A7EC E7AE00DC */ swc1 $f14, 0xdc($sp) -/* 04B3F0 8004A7F0 0C01C8D2 */ jal rumble_set -/* 04B3F4 8004A7F4 24050008 */ li $a1, 8 -/* 04B3F8 8004A7F8 C7AE00DC */ lwc1 $f14, 0xdc($sp) -/* 04B3FC 8004A7FC 10000015 */ b .L8004A854 -/* 04B400 8004A800 A20001F5 */ sb $zero, 0x1f5($s0) -.L8004A804: -/* 04B404 8004A804 C626001C */ lwc1 $f6, 0x1c($s1) -/* 04B408 8004A808 3C013FE8 */ li $at, 0x3FE80000 # 1.812500 -/* 04B40C 8004A80C 44810800 */ mtc1 $at, $f1 -/* 04B410 8004A810 44800000 */ mtc1 $zero, $f0 -/* 04B414 8004A814 460034A1 */ cvt.d.s $f18, $f6 -/* 04B418 8004A818 46209282 */ mul.d $f10, $f18, $f0 -/* 04B41C 8004A81C C6280020 */ lwc1 $f8, 0x20($s1) -/* 04B420 8004A820 00000000 */ nop -/* 04B424 8004A824 460041A1 */ cvt.d.s $f6, $f8 -/* 04B428 8004A828 46205120 */ cvt.s.d $f4, $f10 -/* 04B42C 8004A82C E624001C */ swc1 $f4, 0x1c($s1) -/* 04B430 8004A830 46203482 */ mul.d $f18, $f6, $f0 -/* 04B434 8004A834 C6240024 */ lwc1 $f4, 0x24($s1) -/* 04B438 8004A838 00000000 */ nop -/* 04B43C 8004A83C 46002221 */ cvt.d.s $f8, $f4 -/* 04B440 8004A840 46204182 */ mul.d $f6, $f8, $f0 -/* 04B444 8004A844 462092A0 */ cvt.s.d $f10, $f18 -/* 04B448 8004A848 E62A0020 */ swc1 $f10, 0x20($s1) -/* 04B44C 8004A84C 462034A0 */ cvt.s.d $f18, $f6 -/* 04B450 8004A850 E6320024 */ swc1 $f18, 0x24($s1) -.L8004A854: -/* 04B454 8004A854 821801DB */ lb $t8, 0x1db($s0) -/* 04B458 8004A858 00000000 */ nop -/* 04B45C 8004A85C 13000081 */ beqz $t8, .L8004AA64 -/* 04B460 8004A860 00000000 */ nop -/* 04B464 8004A864 921901F1 */ lbu $t9, 0x1f1($s0) -/* 04B468 8004A868 86040162 */ lh $a0, 0x162($s0) -/* 04B46C 8004A86C 17200002 */ bnez $t9, .L8004A878 -/* 04B470 8004A870 240B0001 */ li $t3, 1 -/* 04B474 8004A874 A20B01F1 */ sb $t3, 0x1f1($s0) -.L8004A878: -/* 04B478 8004A878 820C01E2 */ lb $t4, 0x1e2($s0) -/* 04B47C 8004A87C 240E0002 */ li $t6, 2 -/* 04B480 8004A880 15800005 */ bnez $t4, .L8004A898 -/* 04B484 8004A884 00000000 */ nop -/* 04B488 8004A888 920D01F1 */ lbu $t5, 0x1f1($s0) -/* 04B48C 8004A88C 24010002 */ li $at, 2 -/* 04B490 8004A890 15A10025 */ bne $t5, $at, .L8004A928 -/* 04B494 8004A894 8FAF00F8 */ lw $t7, 0xf8($sp) -.L8004A898: -/* 04B498 8004A898 A20E01F1 */ sb $t6, 0x1f1($s0) -/* 04B49C 8004A89C 8FA200F8 */ lw $v0, 0xf8($sp) -/* 04B4A0 8004A8A0 86180162 */ lh $t8, 0x162($s0) -/* 04B4A4 8004A8A4 86030164 */ lh $v1, 0x164($s0) -/* 04B4A8 8004A8A8 00027AC0 */ sll $t7, $v0, 0xb -/* 04B4AC 8004A8AC 030FC823 */ subu $t9, $t8, $t7 -/* 04B4B0 8004A8B0 01E35821 */ addu $t3, $t7, $v1 -/* 04B4B4 8004A8B4 A6190162 */ sh $t9, 0x162($s0) -/* 04B4B8 8004A8B8 01E01025 */ move $v0, $t7 -/* 04B4BC 8004A8BC 19600005 */ blez $t3, .L8004A8D4 -/* 04B4C0 8004A8C0 00604025 */ move $t0, $v1 -/* 04B4C4 8004A8C4 1D000004 */ bgtz $t0, .L8004A8D8 -/* 04B4C8 8004A8C8 00626021 */ addu $t4, $v1, $v0 -/* 04B4CC 8004A8CC 10000003 */ b .L8004A8DC -/* 04B4D0 8004A8D0 A6000164 */ sh $zero, 0x164($s0) -.L8004A8D4: -/* 04B4D4 8004A8D4 00626021 */ addu $t4, $v1, $v0 -.L8004A8D8: -/* 04B4D8 8004A8D8 A60C0164 */ sh $t4, 0x164($s0) -.L8004A8DC: -/* 04B4DC 8004A8DC C604002C */ lwc1 $f4, 0x2c($s0) -/* 04B4E0 8004A8E0 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 04B4E4 8004A8E4 44815800 */ mtc1 $at, $f11 -/* 04B4E8 8004A8E8 44805000 */ mtc1 $zero, $f10 -/* 04B4EC 8004A8EC 46002221 */ cvt.d.s $f8, $f4 -/* 04B4F0 8004A8F0 4628503C */ c.lt.d $f10, $f8 -/* 04B4F4 8004A8F4 00000000 */ nop -/* 04B4F8 8004A8F8 45000007 */ bc1f .L8004A918 -/* 04B4FC 8004A8FC 00000000 */ nop -/* 04B500 8004A900 820D01E2 */ lb $t5, 0x1e2($s0) -/* 04B504 8004A904 00000000 */ nop -/* 04B508 8004A908 29A10003 */ slti $at, $t5, 3 -/* 04B50C 8004A90C 14200002 */ bnez $at, .L8004A918 -/* 04B510 8004A910 00000000 */ nop -/* 04B514 8004A914 A20001DB */ sb $zero, 0x1db($s0) -.L8004A918: -/* 04B518 8004A918 820301E2 */ lb $v1, 0x1e2($s0) -/* 04B51C 8004A91C 10000007 */ b .L8004A93C -/* 04B520 8004A920 00000000 */ nop -/* 04B524 8004A924 8FAF00F8 */ lw $t7, 0xf8($sp) -.L8004A928: -/* 04B528 8004A928 860E0164 */ lh $t6, 0x164($s0) -/* 04B52C 8004A92C 000FC2C0 */ sll $t8, $t7, 0xb -/* 04B530 8004A930 01D8C821 */ addu $t9, $t6, $t8 -/* 04B534 8004A934 820301E2 */ lb $v1, 0x1e2($s0) -/* 04B538 8004A938 A6190164 */ sh $t9, 0x164($s0) -.L8004A93C: -/* 04B53C 8004A93C 10600022 */ beqz $v1, .L8004A9C8 -/* 04B540 8004A940 28816001 */ slti $at, $a0, 0x6001 -/* 04B544 8004A944 14200006 */ bnez $at, .L8004A960 -/* 04B548 8004A948 2881A001 */ slti $at, $a0, -0x5fff -/* 04B54C 8004A94C 860B0162 */ lh $t3, 0x162($s0) -/* 04B550 8004A950 00000000 */ nop -/* 04B554 8004A954 29616001 */ slti $at, $t3, 0x6001 -/* 04B558 8004A958 1420000D */ bnez $at, .L8004A990 -/* 04B55C 8004A95C 2881A001 */ slti $at, $a0, -0x5fff -.L8004A960: -/* 04B560 8004A960 14200006 */ bnez $at, .L8004A97C -/* 04B564 8004A964 00000000 */ nop -/* 04B568 8004A968 860C0162 */ lh $t4, 0x162($s0) -/* 04B56C 8004A96C 00000000 */ nop -/* 04B570 8004A970 2981A001 */ slti $at, $t4, -0x5fff -/* 04B574 8004A974 14200006 */ bnez $at, .L8004A990 -/* 04B578 8004A978 00000000 */ nop -.L8004A97C: -/* 04B57C 8004A97C 18800012 */ blez $a0, .L8004A9C8 -/* 04B580 8004A980 00000000 */ nop -/* 04B584 8004A984 860D0162 */ lh $t5, 0x162($s0) -/* 04B588 8004A988 00000000 */ nop -/* 04B58C 8004A98C 1DA0000E */ bgtz $t5, .L8004A9C8 -.L8004A990: -/* 04B590 8004A990 02202025 */ move $a0, $s1 -/* 04B594 8004A994 2405000C */ li $a1, 12 -/* 04B598 8004A998 0C015C12 */ jal racer_play_sound -/* 04B59C 8004A99C E7AE00DC */ swc1 $f14, 0xdc($sp) -/* 04B5A0 8004A9A0 860F0000 */ lh $t7, ($s0) -/* 04B5A4 8004A9A4 C7AE00DC */ lwc1 $f14, 0xdc($sp) -/* 04B5A8 8004A9A8 2401FFFF */ li $at, -1 -/* 04B5AC 8004A9AC 11E10006 */ beq $t7, $at, .L8004A9C8 -/* 04B5B0 8004A9B0 3C0E8012 */ lui $t6, %hi(gCameraObject) # $t6, 0x8012 -/* 04B5B4 8004A9B4 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 04B5B8 8004A9B8 44813000 */ mtc1 $at, $f6 -/* 04B5BC 8004A9BC 8DCED508 */ lw $t6, %lo(gCameraObject)($t6) -/* 04B5C0 8004A9C0 00000000 */ nop -/* 04B5C4 8004A9C4 E5C60030 */ swc1 $f6, 0x30($t6) -.L8004A9C8: -/* 04B5C8 8004A9C8 3C188012 */ lui $t8, %hi(gCurrentRacerInput) # $t8, 0x8012 -/* 04B5CC 8004A9CC 8F18D528 */ lw $t8, %lo(gCurrentRacerInput)($t8) -/* 04B5D0 8004A9D0 3C01FFFF */ lui $at, (0xFFFF5FFF >> 16) # lui $at, 0xffff -/* 04B5D4 8004A9D4 34215FFF */ ori $at, (0xFFFF5FFF & 0xFFFF) # ori $at, $at, 0x5fff -/* 04B5D8 8004A9D8 0301C824 */ and $t9, $t8, $at -/* 04B5DC 8004A9DC 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 04B5E0 8004A9E0 AC39D528 */ sw $t9, %lo(gCurrentRacerInput)($at) -/* 04B5E4 8004A9E4 8FA400F8 */ lw $a0, 0xf8($sp) -/* 04B5E8 8004A9E8 820B01DB */ lb $t3, 0x1db($s0) -/* 04B5EC 8004A9EC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04B5F0 8004A9F0 01646023 */ subu $t4, $t3, $a0 -/* 04B5F4 8004A9F4 A20C01DB */ sb $t4, 0x1db($s0) -/* 04B5F8 8004A9F8 44819000 */ mtc1 $at, $f18 -/* 04B5FC 8004A9FC 820D01DB */ lb $t5, 0x1db($s0) -/* 04B600 8004AA00 A20001D3 */ sb $zero, 0x1d3($s0) -/* 04B604 8004AA04 1DA00003 */ bgtz $t5, .L8004AA14 -/* 04B608 8004AA08 E61200B8 */ swc1 $f18, 0xb8($s0) -/* 04B60C 8004AA0C A20001DB */ sb $zero, 0x1db($s0) -/* 04B610 8004AA10 A20001F1 */ sb $zero, 0x1f1($s0) -.L8004AA14: -/* 04B614 8004AA14 86230002 */ lh $v1, 2($s1) -/* 04B618 8004AA18 340ED800 */ li $t6, 55296 -/* 04B61C 8004AA1C 306FFFFF */ andi $t7, $v1, 0xffff -/* 04B620 8004AA20 01CF1023 */ subu $v0, $t6, $t7 -/* 04B624 8004AA24 34018001 */ li $at, 32769 -/* 04B628 8004AA28 0041082A */ slt $at, $v0, $at -/* 04B62C 8004AA2C 14200003 */ bnez $at, .L8004AA3C -/* 04B630 8004AA30 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 04B634 8004AA34 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 04B638 8004AA38 00411021 */ addu $v0, $v0, $at -.L8004AA3C: -/* 04B63C 8004AA3C 28418000 */ slti $at, $v0, -0x8000 -/* 04B640 8004AA40 10200002 */ beqz $at, .L8004AA4C -/* 04B644 8004AA44 3401FFFF */ li $at, 65535 -/* 04B648 8004AA48 00411021 */ addu $v0, $v0, $at -.L8004AA4C: -/* 04B64C 8004AA4C 00440019 */ multu $v0, $a0 -/* 04B650 8004AA50 0000C012 */ mflo $t8 -/* 04B654 8004AA54 0018C903 */ sra $t9, $t8, 4 -/* 04B658 8004AA58 00795821 */ addu $t3, $v1, $t9 -/* 04B65C 8004AA5C 10000233 */ b .L8004B32C -/* 04B660 8004AA60 A62B0002 */ sh $t3, 2($s1) -.L8004AA64: -/* 04B664 8004AA64 820201E0 */ lb $v0, 0x1e0($s0) -/* 04B668 8004AA68 24010001 */ li $at, 1 -/* 04B66C 8004AA6C 10410004 */ beq $v0, $at, .L8004AA80 -/* 04B670 8004AA70 00026080 */ sll $t4, $v0, 2 -/* 04B674 8004AA74 2401FFFF */ li $at, -1 -/* 04B678 8004AA78 14410030 */ bne $v0, $at, .L8004AB3C -/* 04B67C 8004AA7C 24010002 */ li $at, 2 -.L8004AA80: -/* 04B680 8004AA80 8FAD00F8 */ lw $t5, 0xf8($sp) -/* 04B684 8004AA84 01826023 */ subu $t4, $t4, $v0 -/* 04B688 8004AA88 000C6240 */ sll $t4, $t4, 9 -/* 04B68C 8004AA8C 018D0019 */ multu $t4, $t5 -/* 04B690 8004AA90 860301A4 */ lh $v1, 0x1a4($s0) -/* 04B694 8004AA94 3C01800E */ lui $at, %hi(D_800E6508) # $at, 0x800e -/* 04B698 8004AA98 00604025 */ move $t0, $v1 -/* 04B69C 8004AA9C 00007012 */ mflo $t6 -/* 04B6A0 8004AAA0 006E7821 */ addu $t7, $v1, $t6 -/* 04B6A4 8004AAA4 A60F01A4 */ sh $t7, 0x1a4($s0) -/* 04B6A8 8004AAA8 C4246508 */ lwc1 $f4, %lo(D_800E6508)($at) -/* 04B6AC 8004AAAC 24010001 */ li $at, 1 -/* 04B6B0 8004AAB0 14410011 */ bne $v0, $at, .L8004AAF8 -/* 04B6B4 8004AAB4 E7A400C8 */ swc1 $f4, 0xc8($sp) -/* 04B6B8 8004AAB8 18600002 */ blez $v1, .L8004AAC4 -/* 04B6BC 8004AABC 24180001 */ li $t8, 1 -/* 04B6C0 8004AAC0 A21801D4 */ sb $t8, 0x1d4($s0) -.L8004AAC4: -/* 04B6C4 8004AAC4 05010219 */ bgez $t0, .L8004B32C -/* 04B6C8 8004AAC8 00000000 */ nop -/* 04B6CC 8004AACC 861901A4 */ lh $t9, 0x1a4($s0) -/* 04B6D0 8004AAD0 00000000 */ nop -/* 04B6D4 8004AAD4 07200215 */ bltz $t9, .L8004B32C -/* 04B6D8 8004AAD8 00000000 */ nop -/* 04B6DC 8004AADC 820B01D4 */ lb $t3, 0x1d4($s0) -/* 04B6E0 8004AAE0 00000000 */ nop -/* 04B6E4 8004AAE4 11600211 */ beqz $t3, .L8004B32C -/* 04B6E8 8004AAE8 00000000 */ nop -/* 04B6EC 8004AAEC A20001E0 */ sb $zero, 0x1e0($s0) -/* 04B6F0 8004AAF0 1000020E */ b .L8004B32C -/* 04B6F4 8004AAF4 A60001A4 */ sh $zero, 0x1a4($s0) -.L8004AAF8: -/* 04B6F8 8004AAF8 05010002 */ bgez $t0, .L8004AB04 -/* 04B6FC 8004AAFC 240C0001 */ li $t4, 1 -/* 04B700 8004AB00 A20C01D4 */ sb $t4, 0x1d4($s0) -.L8004AB04: -/* 04B704 8004AB04 19000209 */ blez $t0, .L8004B32C -/* 04B708 8004AB08 00000000 */ nop -/* 04B70C 8004AB0C 860D01A4 */ lh $t5, 0x1a4($s0) -/* 04B710 8004AB10 00000000 */ nop -/* 04B714 8004AB14 1DA00205 */ bgtz $t5, .L8004B32C -/* 04B718 8004AB18 00000000 */ nop -/* 04B71C 8004AB1C 820E01D4 */ lb $t6, 0x1d4($s0) -/* 04B720 8004AB20 00000000 */ nop -/* 04B724 8004AB24 11C00201 */ beqz $t6, .L8004B32C -/* 04B728 8004AB28 00000000 */ nop -/* 04B72C 8004AB2C A20001E0 */ sb $zero, 0x1e0($s0) -/* 04B730 8004AB30 100001FE */ b .L8004B32C -/* 04B734 8004AB34 A60001A4 */ sh $zero, 0x1a4($s0) -/* 04B738 8004AB38 24010002 */ li $at, 2 -.L8004AB3C: -/* 04B73C 8004AB3C 10410003 */ beq $v0, $at, .L8004AB4C -/* 04B740 8004AB40 2405FFFE */ li $a1, -2 -/* 04B744 8004AB44 14A2008B */ bne $a1, $v0, .L8004AD74 -/* 04B748 8004AB48 00000000 */ nop -.L8004AB4C: -/* 04B74C 8004AB4C 86230002 */ lh $v1, 2($s1) -/* 04B750 8004AB50 820F01D5 */ lb $t7, 0x1d5($s0) -/* 04B754 8004AB54 3C0D8012 */ lui $t5, %hi(gCurrentRacerInput) # $t5, 0x8012 -/* 04B758 8004AB58 15E00009 */ bnez $t7, .L8004AB80 -/* 04B75C 8004AB5C 00604025 */ move $t0, $v1 -/* 04B760 8004AB60 0002C080 */ sll $t8, $v0, 2 -/* 04B764 8004AB64 8FB900F8 */ lw $t9, 0xf8($sp) -/* 04B768 8004AB68 0302C023 */ subu $t8, $t8, $v0 -/* 04B76C 8004AB6C 0018C1C0 */ sll $t8, $t8, 7 -/* 04B770 8004AB70 03190019 */ multu $t8, $t9 -/* 04B774 8004AB74 00005812 */ mflo $t3 -/* 04B778 8004AB78 006B6021 */ addu $t4, $v1, $t3 -/* 04B77C 8004AB7C A62C0002 */ sh $t4, 2($s1) -.L8004AB80: -/* 04B780 8004AB80 8DADD528 */ lw $t5, %lo(gCurrentRacerInput)($t5) -/* 04B784 8004AB84 00000000 */ nop -/* 04B788 8004AB88 31AE0010 */ andi $t6, $t5, 0x10 -/* 04B78C 8004AB8C 15C00002 */ bnez $t6, .L8004AB98 -/* 04B790 8004AB90 00000000 */ nop -/* 04B794 8004AB94 A20001D5 */ sb $zero, 0x1d5($s0) -.L8004AB98: -/* 04B798 8004AB98 820201D5 */ lb $v0, 0x1d5($s0) -/* 04B79C 8004AB9C 8FAF00F8 */ lw $t7, 0xf8($sp) -/* 04B7A0 8004ABA0 18400003 */ blez $v0, .L8004ABB0 -/* 04B7A4 8004ABA4 004FC023 */ subu $t8, $v0, $t7 -/* 04B7A8 8004ABA8 10000002 */ b .L8004ABB4 -/* 04B7AC 8004ABAC A21801D5 */ sb $t8, 0x1d5($s0) -.L8004ABB0: -/* 04B7B0 8004ABB0 A20001D5 */ sb $zero, 0x1d5($s0) -.L8004ABB4: -/* 04B7B4 8004ABB4 860301A4 */ lh $v1, 0x1a4($s0) -/* 04B7B8 8004ABB8 8FB900F8 */ lw $t9, 0xf8($sp) -/* 04B7BC 8004ABBC C60A002C */ lwc1 $f10, 0x2c($s0) -/* 04B7C0 8004ABC0 00790019 */ multu $v1, $t9 -/* 04B7C4 8004ABC4 C6080038 */ lwc1 $f8, 0x38($s0) -/* 04B7C8 8004ABC8 24010002 */ li $at, 2 -/* 04B7CC 8004ABCC 46085182 */ mul.s $f6, $f10, $f8 -/* 04B7D0 8004ABD0 00005812 */ mflo $t3 -/* 04B7D4 8004ABD4 000B6103 */ sra $t4, $t3, 4 -/* 04B7D8 8004ABD8 006C6823 */ subu $t5, $v1, $t4 -/* 04B7DC 8004ABDC A60D01A4 */ sh $t5, 0x1a4($s0) -/* 04B7E0 8004ABE0 E626001C */ swc1 $f6, 0x1c($s1) -/* 04B7E4 8004ABE4 C612002C */ lwc1 $f18, 0x2c($s0) -/* 04B7E8 8004ABE8 C604003C */ lwc1 $f4, 0x3c($s0) -/* 04B7EC 8004ABEC 00000000 */ nop -/* 04B7F0 8004ABF0 46049282 */ mul.s $f10, $f18, $f4 -/* 04B7F4 8004ABF4 E62A0020 */ swc1 $f10, 0x20($s1) -/* 04B7F8 8004ABF8 C6060040 */ lwc1 $f6, 0x40($s0) -/* 04B7FC 8004ABFC C608002C */ lwc1 $f8, 0x2c($s0) -/* 04B800 8004AC00 00000000 */ nop -/* 04B804 8004AC04 46064482 */ mul.s $f18, $f8, $f6 -/* 04B808 8004AC08 E6320024 */ swc1 $f18, 0x24($s1) -/* 04B80C 8004AC0C 820E01E0 */ lb $t6, 0x1e0($s0) -/* 04B810 8004AC10 00000000 */ nop -/* 04B814 8004AC14 15C1002C */ bne $t6, $at, .L8004ACC8 -/* 04B818 8004AC18 00000000 */ nop -/* 04B81C 8004AC1C 19000002 */ blez $t0, .L8004AC28 -/* 04B820 8004AC20 240F0001 */ li $t7, 1 -/* 04B824 8004AC24 A20F01D4 */ sb $t7, 0x1d4($s0) -.L8004AC28: -/* 04B828 8004AC28 05010019 */ bgez $t0, .L8004AC90 -/* 04B82C 8004AC2C 29014001 */ slti $at, $t0, 0x4001 -/* 04B830 8004AC30 86380002 */ lh $t8, 2($s1) -/* 04B834 8004AC34 00000000 */ nop -/* 04B838 8004AC38 07000015 */ bltz $t8, .L8004AC90 -/* 04B83C 8004AC3C 29014001 */ slti $at, $t0, 0x4001 -/* 04B840 8004AC40 821901D4 */ lb $t9, 0x1d4($s0) -/* 04B844 8004AC44 2404000A */ li $a0, 10 -/* 04B848 8004AC48 13200011 */ beqz $t9, .L8004AC90 -/* 04B84C 8004AC4C 29014001 */ slti $at, $t0, 0x4001 -/* 04B850 8004AC50 A20001E0 */ sb $zero, 0x1e0($s0) -/* 04B854 8004AC54 A6200002 */ sh $zero, 2($s1) -/* 04B858 8004AC58 E7AE00DC */ swc1 $f14, 0xdc($sp) -/* 04B85C 8004AC5C 0C00322D */ jal normalise_time -/* 04B860 8004AC60 AFA800B8 */ sw $t0, 0xb8($sp) -/* 04B864 8004AC64 920B020C */ lbu $t3, 0x20c($s0) -/* 04B868 8004AC68 8FA800B8 */ lw $t0, 0xb8($sp) -/* 04B86C 8004AC6C C7AE00DC */ lwc1 $f14, 0xdc($sp) -/* 04B870 8004AC70 A20201D3 */ sb $v0, 0x1d3($s0) -/* 04B874 8004AC74 11600005 */ beqz $t3, .L8004AC8C -/* 04B878 8004AC78 A2000203 */ sb $zero, 0x203($s0) -/* 04B87C 8004AC7C 820C0203 */ lb $t4, 0x203($s0) -/* 04B880 8004AC80 00000000 */ nop -/* 04B884 8004AC84 358D0004 */ ori $t5, $t4, 4 -/* 04B888 8004AC88 A20D0203 */ sb $t5, 0x203($s0) -.L8004AC8C: -/* 04B88C 8004AC8C 29014001 */ slti $at, $t0, 0x4001 -.L8004AC90: -/* 04B890 8004AC90 142001A6 */ bnez $at, .L8004B32C -/* 04B894 8004AC94 00000000 */ nop -/* 04B898 8004AC98 862E0002 */ lh $t6, 2($s1) -/* 04B89C 8004AC9C 3C0F8012 */ lui $t7, %hi(gCurrentRacerInput) # $t7, 0x8012 -/* 04B8A0 8004ACA0 29C1C000 */ slti $at, $t6, -0x4000 -/* 04B8A4 8004ACA4 102001A1 */ beqz $at, .L8004B32C -/* 04B8A8 8004ACA8 00000000 */ nop -/* 04B8AC 8004ACAC 8DEFD528 */ lw $t7, %lo(gCurrentRacerInput)($t7) -/* 04B8B0 8004ACB0 2419003C */ li $t9, 60 -/* 04B8B4 8004ACB4 31F80010 */ andi $t8, $t7, 0x10 -/* 04B8B8 8004ACB8 1300019C */ beqz $t8, .L8004B32C -/* 04B8BC 8004ACBC 00000000 */ nop -/* 04B8C0 8004ACC0 1000019A */ b .L8004B32C -/* 04B8C4 8004ACC4 A21901D5 */ sb $t9, 0x1d5($s0) -.L8004ACC8: -/* 04B8C8 8004ACC8 05010002 */ bgez $t0, .L8004ACD4 -/* 04B8CC 8004ACCC 240B0001 */ li $t3, 1 -/* 04B8D0 8004ACD0 A20B01D4 */ sb $t3, 0x1d4($s0) -.L8004ACD4: -/* 04B8D4 8004ACD4 19000019 */ blez $t0, .L8004AD3C -/* 04B8D8 8004ACD8 2901C000 */ slti $at, $t0, -0x4000 -/* 04B8DC 8004ACDC 862C0002 */ lh $t4, 2($s1) -/* 04B8E0 8004ACE0 00000000 */ nop -/* 04B8E4 8004ACE4 1D800015 */ bgtz $t4, .L8004AD3C -/* 04B8E8 8004ACE8 2901C000 */ slti $at, $t0, -0x4000 -/* 04B8EC 8004ACEC 820D01D4 */ lb $t5, 0x1d4($s0) -/* 04B8F0 8004ACF0 2404000A */ li $a0, 10 -/* 04B8F4 8004ACF4 11A00011 */ beqz $t5, .L8004AD3C -/* 04B8F8 8004ACF8 2901C000 */ slti $at, $t0, -0x4000 -/* 04B8FC 8004ACFC A20001E0 */ sb $zero, 0x1e0($s0) -/* 04B900 8004AD00 A6200002 */ sh $zero, 2($s1) -/* 04B904 8004AD04 E7AE00DC */ swc1 $f14, 0xdc($sp) -/* 04B908 8004AD08 0C00322D */ jal normalise_time -/* 04B90C 8004AD0C AFA800B8 */ sw $t0, 0xb8($sp) -/* 04B910 8004AD10 920E020C */ lbu $t6, 0x20c($s0) -/* 04B914 8004AD14 8FA800B8 */ lw $t0, 0xb8($sp) -/* 04B918 8004AD18 C7AE00DC */ lwc1 $f14, 0xdc($sp) -/* 04B91C 8004AD1C A20201D3 */ sb $v0, 0x1d3($s0) -/* 04B920 8004AD20 11C00005 */ beqz $t6, .L8004AD38 -/* 04B924 8004AD24 A2000203 */ sb $zero, 0x203($s0) -/* 04B928 8004AD28 820F0203 */ lb $t7, 0x203($s0) -/* 04B92C 8004AD2C 00000000 */ nop -/* 04B930 8004AD30 35F80004 */ ori $t8, $t7, 4 -/* 04B934 8004AD34 A2180203 */ sb $t8, 0x203($s0) -.L8004AD38: -/* 04B938 8004AD38 2901C000 */ slti $at, $t0, -0x4000 -.L8004AD3C: -/* 04B93C 8004AD3C 1020017B */ beqz $at, .L8004B32C -/* 04B940 8004AD40 00000000 */ nop -/* 04B944 8004AD44 86390002 */ lh $t9, 2($s1) -/* 04B948 8004AD48 3C0B8012 */ lui $t3, %hi(gCurrentRacerInput) # $t3, 0x8012 -/* 04B94C 8004AD4C 2B214001 */ slti $at, $t9, 0x4001 -/* 04B950 8004AD50 14200176 */ bnez $at, .L8004B32C -/* 04B954 8004AD54 00000000 */ nop -/* 04B958 8004AD58 8D6BD528 */ lw $t3, %lo(gCurrentRacerInput)($t3) -/* 04B95C 8004AD5C 240D003C */ li $t5, 60 -/* 04B960 8004AD60 316C0010 */ andi $t4, $t3, 0x10 -/* 04B964 8004AD64 11800171 */ beqz $t4, .L8004B32C -/* 04B968 8004AD68 00000000 */ nop -/* 04B96C 8004AD6C 1000016F */ b .L8004B32C -/* 04B970 8004AD70 A20D01D5 */ sb $t5, 0x1d5($s0) -.L8004AD74: -/* 04B974 8004AD74 820401E1 */ lb $a0, 0x1e1($s0) -/* 04B978 8004AD78 A3A000A1 */ sb $zero, 0xa1($sp) -/* 04B97C 8004AD7C 820301E2 */ lb $v1, 0x1e2($s0) -/* 04B980 8004AD80 3C028012 */ lui $v0, %hi(gCurrentRacerInput) # $v0, 0x8012 -/* 04B984 8004AD84 1060000B */ beqz $v1, .L8004ADB4 -/* 04B988 8004AD88 2401FFEF */ li $at, -17 -/* 04B98C 8004AD8C 8C42D528 */ lw $v0, %lo(gCurrentRacerInput)($v0) -/* 04B990 8004AD90 240F0001 */ li $t7, 1 -/* 04B994 8004AD94 304E0010 */ andi $t6, $v0, 0x10 -/* 04B998 8004AD98 11C00002 */ beqz $t6, .L8004ADA4 -/* 04B99C 8004AD9C 0041C024 */ and $t8, $v0, $at -/* 04B9A0 8004ADA0 A3AF00A1 */ sb $t7, 0xa1($sp) -.L8004ADA4: -/* 04B9A4 8004ADA4 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 04B9A8 8004ADA8 AC38D528 */ sw $t8, %lo(gCurrentRacerInput)($at) -/* 04B9AC 8004ADAC 820301E2 */ lb $v1, 0x1e2($s0) -/* 04B9B0 8004ADB0 00000000 */ nop -.L8004ADB4: -/* 04B9B4 8004ADB4 28610002 */ slti $at, $v1, 2 -/* 04B9B8 8004ADB8 10200083 */ beqz $at, .L8004AFC8 -/* 04B9BC 8004ADBC 00000000 */ nop -/* 04B9C0 8004ADC0 86230002 */ lh $v1, 2($s1) -/* 04B9C4 8004ADC4 00804025 */ move $t0, $a0 -/* 04B9C8 8004ADC8 28613001 */ slti $at, $v1, 0x3001 -/* 04B9CC 8004ADCC 14200007 */ bnez $at, .L8004ADEC -/* 04B9D0 8004ADD0 00002025 */ move $a0, $zero -/* 04B9D4 8004ADD4 2464D000 */ addiu $a0, $v1, -0x3000 -/* 04B9D8 8004ADD8 28811001 */ slti $at, $a0, 0x1001 -/* 04B9DC 8004ADDC 1420000C */ bnez $at, .L8004AE10 -/* 04B9E0 8004ADE0 00000000 */ nop -/* 04B9E4 8004ADE4 1000000A */ b .L8004AE10 -/* 04B9E8 8004ADE8 24041000 */ li $a0, 4096 -.L8004ADEC: -/* 04B9EC 8004ADEC 2861D000 */ slti $at, $v1, -0x3000 -/* 04B9F0 8004ADF0 10200007 */ beqz $at, .L8004AE10 -/* 04B9F4 8004ADF4 00000000 */ nop -/* 04B9F8 8004ADF8 24643000 */ addiu $a0, $v1, 0x3000 -/* 04B9FC 8004ADFC 2881F000 */ slti $at, $a0, -0x1000 -/* 04BA00 8004AE00 10200003 */ beqz $at, .L8004AE10 -/* 04BA04 8004AE04 00042023 */ negu $a0, $a0 -/* 04BA08 8004AE08 2404F000 */ li $a0, -4096 -/* 04BA0C 8004AE0C 00042023 */ negu $a0, $a0 -.L8004AE10: -/* 04BA10 8004AE10 44842000 */ mtc1 $a0, $f4 -/* 04BA14 8004AE14 3C014580 */ li $at, 0x45800000 # 4096.000000 -/* 04BA18 8004AE18 468022A0 */ cvt.s.w $f10, $f4 -/* 04BA1C 8004AE1C 44814000 */ mtc1 $at, $f8 -/* 04BA20 8004AE20 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 04BA24 8004AE24 46085183 */ div.s $f6, $f10, $f8 -/* 04BA28 8004AE28 44812800 */ mtc1 $at, $f5 -/* 04BA2C 8004AE2C 44802000 */ mtc1 $zero, $f4 -/* 04BA30 8004AE30 3C0B8012 */ lui $t3, %hi(gCurrentRacerInput) # $t3, 0x8012 -/* 04BA34 8004AE34 8D6BD528 */ lw $t3, %lo(gCurrentRacerInput)($t3) -/* 04BA38 8004AE38 00000000 */ nop -/* 04BA3C 8004AE3C 316C0010 */ andi $t4, $t3, 0x10 -/* 04BA40 8004AE40 460034A1 */ cvt.d.s $f18, $f6 -/* 04BA44 8004AE44 44883000 */ mtc1 $t0, $f6 -/* 04BA48 8004AE48 46322281 */ sub.d $f10, $f4, $f18 -/* 04BA4C 8004AE4C 46803120 */ cvt.s.w $f4, $f6 -/* 04BA50 8004AE50 46205220 */ cvt.s.d $f8, $f10 -/* 04BA54 8004AE54 46082482 */ mul.s $f18, $f4, $f8 -/* 04BA58 8004AE58 4459F800 */ cfc1 $t9, $31 -/* 04BA5C 8004AE5C 00000000 */ nop -/* 04BA60 8004AE60 37210003 */ ori $at, $t9, 3 -/* 04BA64 8004AE64 38210002 */ xori $at, $at, 2 -/* 04BA68 8004AE68 44C1F800 */ ctc1 $at, $31 -/* 04BA6C 8004AE6C 00000000 */ nop -/* 04BA70 8004AE70 460092A4 */ cvt.w.s $f10, $f18 -/* 04BA74 8004AE74 44085000 */ mfc1 $t0, $f10 -/* 04BA78 8004AE78 44D9F800 */ ctc1 $t9, $31 -/* 04BA7C 8004AE7C 1180000D */ beqz $t4, .L8004AEB4 -/* 04BA80 8004AE80 8FAF00F8 */ lw $t7, 0xf8($sp) -/* 04BA84 8004AE84 8E2D0074 */ lw $t5, 0x74($s1) -/* 04BA88 8004AE88 00087900 */ sll $t7, $t0, 4 -/* 04BA8C 8004AE8C 35AE00C0 */ ori $t6, $t5, 0xc0 -/* 04BA90 8004AE90 AE2E0074 */ sw $t6, 0x74($s1) -/* 04BA94 8004AE94 8FB800F8 */ lw $t8, 0xf8($sp) -/* 04BA98 8004AE98 860C01A4 */ lh $t4, 0x1a4($s0) -/* 04BA9C 8004AE9C 01F80019 */ multu $t7, $t8 -/* 04BAA0 8004AEA0 0000C812 */ mflo $t9 -/* 04BAA4 8004AEA4 00195843 */ sra $t3, $t9, 1 -/* 04BAA8 8004AEA8 018B6823 */ subu $t5, $t4, $t3 -/* 04BAAC 8004AEAC A60D01A4 */ sh $t5, 0x1a4($s0) -/* 04BAB0 8004AEB0 8FAF00F8 */ lw $t7, 0xf8($sp) -.L8004AEB4: -/* 04BAB4 8004AEB4 860E01A4 */ lh $t6, 0x1a4($s0) -/* 04BAB8 8004AEB8 010F0019 */ multu $t0, $t7 -/* 04BABC 8004AEBC 0000C012 */ mflo $t8 -/* 04BAC0 8004AEC0 0018C880 */ sll $t9, $t8, 2 -/* 04BAC4 8004AEC4 0338C821 */ addu $t9, $t9, $t8 -/* 04BAC8 8004AEC8 0019C880 */ sll $t9, $t9, 2 -/* 04BACC 8004AECC 00196043 */ sra $t4, $t9, 1 -/* 04BAD0 8004AED0 01CC5823 */ subu $t3, $t6, $t4 -/* 04BAD4 8004AED4 A60B01A4 */ sh $t3, 0x1a4($s0) -/* 04BAD8 8004AED8 860301A4 */ lh $v1, 0x1a4($s0) -/* 04BADC 8004AEDC 8FAD00F8 */ lw $t5, 0xf8($sp) -/* 04BAE0 8004AEE0 920E01F5 */ lbu $t6, 0x1f5($s0) -/* 04BAE4 8004AEE4 006D0019 */ multu $v1, $t5 -/* 04BAE8 8004AEE8 3C0C8012 */ lui $t4, %hi(gCurrentPlayerIndex) # $t4, 0x8012 -/* 04BAEC 8004AEEC 00007812 */ mflo $t7 -/* 04BAF0 8004AEF0 000FC103 */ sra $t8, $t7, 4 -/* 04BAF4 8004AEF4 0078C823 */ subu $t9, $v1, $t8 -/* 04BAF8 8004AEF8 15C00056 */ bnez $t6, .L8004B054 -/* 04BAFC 8004AEFC A61901A4 */ sh $t9, 0x1a4($s0) -/* 04BB00 8004AF00 8D8CD55C */ lw $t4, %lo(gCurrentPlayerIndex)($t4) -/* 04BB04 8004AF04 2401FFFF */ li $at, -1 -/* 04BB08 8004AF08 11810025 */ beq $t4, $at, .L8004AFA0 -/* 04BB0C 8004AF0C 3C088012 */ lui $t0, %hi(gCurrentStickX) # $t0, 0x8012 -/* 04BB10 8004AF10 820B01D8 */ lb $t3, 0x1d8($s0) -/* 04BB14 8004AF14 3C028012 */ lui $v0, %hi(gCurrentRacerInput) # $v0, 0x8012 -/* 04BB18 8004AF18 15600021 */ bnez $t3, .L8004AFA0 -/* 04BB1C 8004AF1C 00000000 */ nop -/* 04BB20 8004AF20 860801A4 */ lh $t0, 0x1a4($s0) -/* 04BB24 8004AF24 8C42D528 */ lw $v0, %lo(gCurrentRacerInput)($v0) -/* 04BB28 8004AF28 00084023 */ negu $t0, $t0 -/* 04BB2C 8004AF2C 00086983 */ sra $t5, $t0, 6 -/* 04BB30 8004AF30 304F0010 */ andi $t7, $v0, 0x10 -/* 04BB34 8004AF34 11E00005 */ beqz $t7, .L8004AF4C -/* 04BB38 8004AF38 01A04025 */ move $t0, $t5 -/* 04BB3C 8004AF3C 30584000 */ andi $t8, $v0, 0x4000 -/* 04BB40 8004AF40 13000002 */ beqz $t8, .L8004AF4C -/* 04BB44 8004AF44 00000000 */ nop -/* 04BB48 8004AF48 000D4040 */ sll $t0, $t5, 1 -.L8004AF4C: -/* 04BB4C 8004AF4C 44883000 */ mtc1 $t0, $f6 -/* 04BB50 8004AF50 3C018012 */ lui $at, %hi(gCurrentRacerHandlingStat) # $at, 0x8012 -/* 04BB54 8004AF54 46803120 */ cvt.s.w $f4, $f6 -/* 04BB58 8004AF58 C428D570 */ lwc1 $f8, %lo(gCurrentRacerHandlingStat)($at) -/* 04BB5C 8004AF5C 8FAB00F8 */ lw $t3, 0xf8($sp) -/* 04BB60 8004AF60 46082482 */ mul.s $f18, $f4, $f8 -/* 04BB64 8004AF64 860C01A0 */ lh $t4, 0x1a0($s0) -/* 04BB68 8004AF68 444EF800 */ cfc1 $t6, $31 -/* 04BB6C 8004AF6C 00000000 */ nop -/* 04BB70 8004AF70 35C10003 */ ori $at, $t6, 3 -/* 04BB74 8004AF74 38210002 */ xori $at, $at, 2 -/* 04BB78 8004AF78 44C1F800 */ ctc1 $at, $31 -/* 04BB7C 8004AF7C 00000000 */ nop -/* 04BB80 8004AF80 460092A4 */ cvt.w.s $f10, $f18 -/* 04BB84 8004AF84 44085000 */ mfc1 $t0, $f10 -/* 04BB88 8004AF88 44CEF800 */ ctc1 $t6, $31 -/* 04BB8C 8004AF8C 010B0019 */ multu $t0, $t3 -/* 04BB90 8004AF90 00007812 */ mflo $t7 -/* 04BB94 8004AF94 018FC023 */ subu $t8, $t4, $t7 -/* 04BB98 8004AF98 1000002E */ b .L8004B054 -/* 04BB9C 8004AF9C A61801A0 */ sh $t8, 0x1a0($s0) -.L8004AFA0: -/* 04BBA0 8004AFA0 8D08D534 */ lw $t0, %lo(gCurrentStickX)($t0) -/* 04BBA4 8004AFA4 8FAB00F8 */ lw $t3, 0xf8($sp) -/* 04BBA8 8004AFA8 0008C880 */ sll $t9, $t0, 2 -/* 04BBAC 8004AFAC 032B0019 */ multu $t9, $t3 -/* 04BBB0 8004AFB0 860E01A0 */ lh $t6, 0x1a0($s0) -/* 04BBB4 8004AFB4 03204025 */ move $t0, $t9 -/* 04BBB8 8004AFB8 00006012 */ mflo $t4 -/* 04BBBC 8004AFBC 01CC7823 */ subu $t7, $t6, $t4 -/* 04BBC0 8004AFC0 10000024 */ b .L8004B054 -/* 04BBC4 8004AFC4 A60F01A0 */ sh $t7, 0x1a0($s0) -.L8004AFC8: -/* 04BBC8 8004AFC8 860301A4 */ lh $v1, 0x1a4($s0) -/* 04BBCC 8004AFCC 34018001 */ li $at, 32769 -/* 04BBD0 8004AFD0 3062FFFF */ andi $v0, $v1, 0xffff -/* 04BBD4 8004AFD4 00021023 */ negu $v0, $v0 -/* 04BBD8 8004AFD8 0041082A */ slt $at, $v0, $at -/* 04BBDC 8004AFDC 8FB800F8 */ lw $t8, 0xf8($sp) -/* 04BBE0 8004AFE0 14200004 */ bnez $at, .L8004AFF4 -/* 04BBE4 8004AFE4 00044080 */ sll $t0, $a0, 2 -/* 04BBE8 8004AFE8 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 04BBEC 8004AFEC 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 04BBF0 8004AFF0 00411021 */ addu $v0, $v0, $at -.L8004AFF4: -/* 04BBF4 8004AFF4 28418000 */ slti $at, $v0, -0x8000 -/* 04BBF8 8004AFF8 10200002 */ beqz $at, .L8004B004 -/* 04BBFC 8004AFFC 3401FFFF */ li $at, 65535 -/* 04BC00 8004B000 00411021 */ addu $v0, $v0, $at -.L8004B004: -/* 04BC04 8004B004 00580019 */ multu $v0, $t8 -/* 04BC08 8004B008 3C0E8012 */ lui $t6, %hi(gCurrentRacerInput) # $t6, 0x8012 -/* 04BC0C 8004B00C 0000C812 */ mflo $t9 -/* 04BC10 8004B010 00195903 */ sra $t3, $t9, 4 -/* 04BC14 8004B014 006B6821 */ addu $t5, $v1, $t3 -/* 04BC18 8004B018 A60D01A4 */ sh $t5, 0x1a4($s0) -/* 04BC1C 8004B01C 8DCED528 */ lw $t6, %lo(gCurrentRacerInput)($t6) -/* 04BC20 8004B020 8FB800F8 */ lw $t8, 0xf8($sp) -/* 04BC24 8004B024 31CC0010 */ andi $t4, $t6, 0x10 -/* 04BC28 8004B028 11800005 */ beqz $t4, .L8004B040 -/* 04BC2C 8004B02C 00000000 */ nop -/* 04BC30 8004B030 00044080 */ sll $t0, $a0, 2 -/* 04BC34 8004B034 01044023 */ subu $t0, $t0, $a0 -/* 04BC38 8004B038 10000001 */ b .L8004B040 -/* 04BC3C 8004B03C 00084040 */ sll $t0, $t0, 1 -.L8004B040: -/* 04BC40 8004B040 01180019 */ multu $t0, $t8 -/* 04BC44 8004B044 860F01A0 */ lh $t7, 0x1a0($s0) -/* 04BC48 8004B048 00005812 */ mflo $t3 -/* 04BC4C 8004B04C 01EB6823 */ subu $t5, $t7, $t3 -/* 04BC50 8004B050 A60D01A0 */ sh $t5, 0x1a0($s0) -.L8004B054: -/* 04BC54 8004B054 3C028012 */ lui $v0, %hi(gCurrentRacerInput) # $v0, 0x8012 -/* 04BC58 8004B058 8C42D528 */ lw $v0, %lo(gCurrentRacerInput)($v0) -/* 04BC5C 8004B05C 3C0F8012 */ lui $t7, %hi(gCurrentPlayerIndex) # $t7, 0x8012 -/* 04BC60 8004B060 304E0010 */ andi $t6, $v0, 0x10 -/* 04BC64 8004B064 11C00009 */ beqz $t6, .L8004B08C -/* 04BC68 8004B068 01C01025 */ move $v0, $t6 -/* 04BC6C 8004B06C 820C01E2 */ lb $t4, 0x1e2($s0) -/* 04BC70 8004B070 00000000 */ nop -/* 04BC74 8004B074 11800005 */ beqz $t4, .L8004B08C -/* 04BC78 8004B078 00000000 */ nop -/* 04BC7C 8004B07C 921801F5 */ lbu $t8, 0x1f5($s0) -/* 04BC80 8004B080 00000000 */ nop -/* 04BC84 8004B084 13000020 */ beqz $t8, .L8004B108 -/* 04BC88 8004B088 00000000 */ nop -.L8004B08C: -/* 04BC8C 8004B08C 44882000 */ mtc1 $t0, $f4 -/* 04BC90 8004B090 C606002C */ lwc1 $f6, 0x2c($s0) -/* 04BC94 8004B094 46802220 */ cvt.s.w $f8, $f4 -/* 04BC98 8004B098 3C01800E */ lui $at, %hi(D_800E6510 + 4) # $at, 0x800e -/* 04BC9C 8004B09C C4256510 */ lwc1 $f5, %lo(D_800E6510)($at) -/* 04BCA0 8004B0A0 46083482 */ mul.s $f18, $f6, $f8 -/* 04BCA4 8004B0A4 C4246514 */ lwc1 $f4, %lo(D_800E6510 + 4)($at) -/* 04BCA8 8004B0A8 C628001C */ lwc1 $f8, 0x1c($s1) -/* 04BCAC 8004B0AC 3C028012 */ lui $v0, %hi(gCurrentRacerInput) # $v0, 0x8012 -/* 04BCB0 8004B0B0 460092A1 */ cvt.d.s $f10, $f18 -/* 04BCB4 8004B0B4 46245182 */ mul.d $f6, $f10, $f4 -/* 04BCB8 8004B0B8 C6120050 */ lwc1 $f18, 0x50($s0) -/* 04BCBC 8004B0BC 46203520 */ cvt.s.d $f20, $f6 -/* 04BCC0 8004B0C0 C6260020 */ lwc1 $f6, 0x20($s1) -/* 04BCC4 8004B0C4 46149282 */ mul.s $f10, $f18, $f20 -/* 04BCC8 8004B0C8 460A4101 */ sub.s $f4, $f8, $f10 -/* 04BCCC 8004B0CC E624001C */ swc1 $f4, 0x1c($s1) -/* 04BCD0 8004B0D0 C6120054 */ lwc1 $f18, 0x54($s0) -/* 04BCD4 8004B0D4 C6240024 */ lwc1 $f4, 0x24($s1) -/* 04BCD8 8004B0D8 46149202 */ mul.s $f8, $f18, $f20 -/* 04BCDC 8004B0DC 46083281 */ sub.s $f10, $f6, $f8 -/* 04BCE0 8004B0E0 E62A0020 */ swc1 $f10, 0x20($s1) -/* 04BCE4 8004B0E4 C6120058 */ lwc1 $f18, 0x58($s0) -/* 04BCE8 8004B0E8 00000000 */ nop -/* 04BCEC 8004B0EC 46149182 */ mul.s $f6, $f18, $f20 -/* 04BCF0 8004B0F0 46062201 */ sub.s $f8, $f4, $f6 -/* 04BCF4 8004B0F4 E6280024 */ swc1 $f8, 0x24($s1) -/* 04BCF8 8004B0F8 8C42D528 */ lw $v0, %lo(gCurrentRacerInput)($v0) -/* 04BCFC 8004B0FC 00000000 */ nop -/* 04BD00 8004B100 30590010 */ andi $t9, $v0, 0x10 -/* 04BD04 8004B104 03201025 */ move $v0, $t9 -.L8004B108: -/* 04BD08 8004B108 8DEFD55C */ lw $t7, %lo(gCurrentPlayerIndex)($t7) -/* 04BD0C 8004B10C 3C088012 */ lui $t0, %hi(gCurrentStickY) # $t0, 0x8012 -/* 04BD10 8004B110 8D08D538 */ lw $t0, %lo(gCurrentStickY)($t0) -/* 04BD14 8004B114 2401FFFF */ li $at, -1 -/* 04BD18 8004B118 11E10007 */ beq $t7, $at, .L8004B138 -/* 04BD1C 8004B11C 00000000 */ nop -/* 04BD20 8004B120 820B01D8 */ lb $t3, 0x1d8($s0) -/* 04BD24 8004B124 00000000 */ nop -/* 04BD28 8004B128 15600003 */ bnez $t3, .L8004B138 -/* 04BD2C 8004B12C 00000000 */ nop -/* 04BD30 8004B130 820801E8 */ lb $t0, 0x1e8($s0) -/* 04BD34 8004B134 00000000 */ nop -.L8004B138: -/* 04BD38 8004B138 C602002C */ lwc1 $f2, 0x2c($s0) -/* 04BD3C 8004B13C 3C014010 */ li $at, 0x40100000 # 2.250000 -/* 04BD40 8004B140 44815800 */ mtc1 $at, $f11 -/* 04BD44 8004B144 44805000 */ mtc1 $zero, $f10 -/* 04BD48 8004B148 46001087 */ neg.s $f2, $f2 -/* 04BD4C 8004B14C 46001021 */ cvt.d.s $f0, $f2 -/* 04BD50 8004B150 462A003C */ c.lt.d $f0, $f10 -/* 04BD54 8004B154 44809000 */ mtc1 $zero, $f18 -/* 04BD58 8004B158 45000004 */ bc1f .L8004B16C -/* 04BD5C 8004B15C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 04BD60 8004B160 44811000 */ mtc1 $at, $f2 -/* 04BD64 8004B164 00000000 */ nop -/* 04BD68 8004B168 46001021 */ cvt.d.s $f0, $f2 -.L8004B16C: -/* 04BD6C 8004B16C 3C01402C */ li $at, 0x402C0000 # 2.687500 -/* 04BD70 8004B170 44819800 */ mtc1 $at, $f19 -/* 04BD74 8004B174 44802000 */ mtc1 $zero, $f4 -/* 04BD78 8004B178 4620903C */ c.lt.d $f18, $f0 -/* 04BD7C 8004B17C 8FAB00F8 */ lw $t3, 0xf8($sp) -/* 04BD80 8004B180 45000004 */ bc1f .L8004B194 -/* 04BD84 8004B184 3C014160 */ li $at, 0x41600000 # 14.000000 -/* 04BD88 8004B188 44811000 */ mtc1 $at, $f2 -/* 04BD8C 8004B18C 00000000 */ nop -/* 04BD90 8004B190 46001021 */ cvt.d.s $f0, $f2 -.L8004B194: -/* 04BD94 8004B194 3C01401C */ li $at, 0x401C0000 # 2.437500 -/* 04BD98 8004B198 44812800 */ mtc1 $at, $f5 -/* 04BD9C 8004B19C 44884000 */ mtc1 $t0, $f8 -/* 04BDA0 8004B1A0 46240183 */ div.d $f6, $f0, $f4 -/* 04BDA4 8004B1A4 468042A0 */ cvt.s.w $f10, $f8 -/* 04BDA8 8004B1A8 8FAC00F8 */ lw $t4, 0xf8($sp) -/* 04BDAC 8004B1AC 462030A0 */ cvt.s.d $f2, $f6 -/* 04BDB0 8004B1B0 46025482 */ mul.s $f18, $f10, $f2 -/* 04BDB4 8004B1B4 444DF800 */ cfc1 $t5, $31 -/* 04BDB8 8004B1B8 00000000 */ nop -/* 04BDBC 8004B1BC 35A10003 */ ori $at, $t5, 3 -/* 04BDC0 8004B1C0 38210002 */ xori $at, $at, 2 -/* 04BDC4 8004B1C4 44C1F800 */ ctc1 $at, $31 -/* 04BDC8 8004B1C8 00000000 */ nop -/* 04BDCC 8004B1CC 46009124 */ cvt.w.s $f4, $f18 -/* 04BDD0 8004B1D0 44082000 */ mfc1 $t0, $f4 -/* 04BDD4 8004B1D4 44CDF800 */ ctc1 $t5, $31 -/* 04BDD8 8004B1D8 14400014 */ bnez $v0, .L8004B22C -/* 04BDDC 8004B1DC 00000000 */ nop -/* 04BDE0 8004B1E0 86230002 */ lh $v1, 2($s1) -/* 04BDE4 8004B1E4 00087043 */ sra $t6, $t0, 1 -/* 04BDE8 8004B1E8 006C0019 */ multu $v1, $t4 -/* 04BDEC 8004B1EC 000E5880 */ sll $t3, $t6, 2 -/* 04BDF0 8004B1F0 016E5821 */ addu $t3, $t3, $t6 -/* 04BDF4 8004B1F4 000B5880 */ sll $t3, $t3, 2 -/* 04BDF8 8004B1F8 016E5823 */ subu $t3, $t3, $t6 -/* 04BDFC 8004B1FC 0000C012 */ mflo $t8 -/* 04BE00 8004B200 0018C903 */ sra $t9, $t8, 4 -/* 04BE04 8004B204 00797823 */ subu $t7, $v1, $t9 -/* 04BE08 8004B208 A62F0002 */ sh $t7, 2($s1) -/* 04BE0C 8004B20C 8FAD00F8 */ lw $t5, 0xf8($sp) -/* 04BE10 8004B210 86380002 */ lh $t8, 2($s1) -/* 04BE14 8004B214 016D0019 */ multu $t3, $t5 -/* 04BE18 8004B218 00007012 */ mflo $t6 -/* 04BE1C 8004B21C 000E6043 */ sra $t4, $t6, 1 -/* 04BE20 8004B220 030CC823 */ subu $t9, $t8, $t4 -/* 04BE24 8004B224 10000012 */ b .L8004B270 -/* 04BE28 8004B228 A6390002 */ sh $t9, 2($s1) -.L8004B22C: -/* 04BE2C 8004B22C 86230002 */ lh $v1, 2($s1) -/* 04BE30 8004B230 00087843 */ sra $t7, $t0, 1 -/* 04BE34 8004B234 006B0019 */ multu $v1, $t3 -/* 04BE38 8004B238 000F6100 */ sll $t4, $t7, 4 -/* 04BE3C 8004B23C 018F6023 */ subu $t4, $t4, $t7 -/* 04BE40 8004B240 000C6040 */ sll $t4, $t4, 1 -/* 04BE44 8004B244 00006812 */ mflo $t5 -/* 04BE48 8004B248 000D7103 */ sra $t6, $t5, 4 -/* 04BE4C 8004B24C 006EC023 */ subu $t8, $v1, $t6 -/* 04BE50 8004B250 A6380002 */ sh $t8, 2($s1) -/* 04BE54 8004B254 8FB900F8 */ lw $t9, 0xf8($sp) -/* 04BE58 8004B258 862D0002 */ lh $t5, 2($s1) -/* 04BE5C 8004B25C 01990019 */ multu $t4, $t9 -/* 04BE60 8004B260 00007812 */ mflo $t7 -/* 04BE64 8004B264 000F5843 */ sra $t3, $t7, 1 -/* 04BE68 8004B268 01AB7023 */ subu $t6, $t5, $t3 -/* 04BE6C 8004B26C A62E0002 */ sh $t6, 2($s1) -.L8004B270: -/* 04BE70 8004B270 821801EC */ lb $t8, 0x1ec($s0) -/* 04BE74 8004B274 00000000 */ nop -/* 04BE78 8004B278 1300002C */ beqz $t8, .L8004B32C -/* 04BE7C 8004B27C 00000000 */ nop -/* 04BE80 8004B280 820C01E2 */ lb $t4, 0x1e2($s0) -/* 04BE84 8004B284 A20001EC */ sb $zero, 0x1ec($s0) -/* 04BE88 8004B288 15800028 */ bnez $t4, .L8004B32C -/* 04BE8C 8004B28C 3C01C01A */ li $at, 0xC01A0000 # -2.406250 -/* 04BE90 8004B290 C606002C */ lwc1 $f6, 0x2c($s0) -/* 04BE94 8004B294 44815800 */ mtc1 $at, $f11 -/* 04BE98 8004B298 44805000 */ mtc1 $zero, $f10 -/* 04BE9C 8004B29C 46003221 */ cvt.d.s $f8, $f6 -/* 04BEA0 8004B2A0 462A403C */ c.lt.d $f8, $f10 -/* 04BEA4 8004B2A4 00000000 */ nop -/* 04BEA8 8004B2A8 45000020 */ bc1f .L8004B32C -/* 04BEAC 8004B2AC 00000000 */ nop -/* 04BEB0 8004B2B0 821901E5 */ lb $t9, 0x1e5($s0) -/* 04BEB4 8004B2B4 3C028012 */ lui $v0, %hi(gCurrentStickX) # $v0, 0x8012 -/* 04BEB8 8004B2B8 1720001C */ bnez $t9, .L8004B32C -/* 04BEBC 8004B2BC 3C0B8012 */ lui $t3, %hi(gCurrentStickY) # $t3, 0x8012 -/* 04BEC0 8004B2C0 8C42D534 */ lw $v0, %lo(gCurrentStickX)($v0) -/* 04BEC4 8004B2C4 240FFFFF */ li $t7, -1 -/* 04BEC8 8004B2C8 28410029 */ slti $at, $v0, 0x29 -/* 04BECC 8004B2CC 14200005 */ bnez $at, .L8004B2E4 -/* 04BED0 8004B2D0 240D0001 */ li $t5, 1 -/* 04BED4 8004B2D4 A20F01E0 */ sb $t7, 0x1e0($s0) -/* 04BED8 8004B2D8 3C028012 */ lui $v0, %hi(gCurrentStickX) # $v0, 0x8012 -/* 04BEDC 8004B2DC 8C42D534 */ lw $v0, %lo(gCurrentStickX)($v0) -/* 04BEE0 8004B2E0 00000000 */ nop -.L8004B2E4: -/* 04BEE4 8004B2E4 2841FFD8 */ slti $at, $v0, -0x28 -/* 04BEE8 8004B2E8 10200002 */ beqz $at, .L8004B2F4 -/* 04BEEC 8004B2EC 00000000 */ nop -/* 04BEF0 8004B2F0 A20D01E0 */ sb $t5, 0x1e0($s0) -.L8004B2F4: -/* 04BEF4 8004B2F4 8D6BD538 */ lw $t3, %lo(gCurrentStickY)($t3) -/* 04BEF8 8004B2F8 00000000 */ nop -/* 04BEFC 8004B2FC 29610029 */ slti $at, $t3, 0x29 -/* 04BF00 8004B300 14200003 */ bnez $at, .L8004B310 -/* 04BF04 8004B304 00000000 */ nop -/* 04BF08 8004B308 10000006 */ b .L8004B324 -/* 04BF0C 8004B30C A20501E0 */ sb $a1, 0x1e0($s0) -.L8004B310: -/* 04BF10 8004B310 820E01E0 */ lb $t6, 0x1e0($s0) -/* 04BF14 8004B314 24180002 */ li $t8, 2 -/* 04BF18 8004B318 15C00002 */ bnez $t6, .L8004B324 -/* 04BF1C 8004B31C 00000000 */ nop -/* 04BF20 8004B320 A21801E0 */ sb $t8, 0x1e0($s0) -.L8004B324: -/* 04BF24 8004B324 A20001D4 */ sb $zero, 0x1d4($s0) -/* 04BF28 8004B328 A20001D5 */ sb $zero, 0x1d5($s0) -.L8004B32C: -/* 04BF2C 8004B32C 3C0C8012 */ lui $t4, %hi(gCurrentPlayerIndex) # $t4, 0x8012 -/* 04BF30 8004B330 8D8CD55C */ lw $t4, %lo(gCurrentPlayerIndex)($t4) -/* 04BF34 8004B334 2401FFFF */ li $at, -1 -/* 04BF38 8004B338 1181000F */ beq $t4, $at, .L8004B378 -/* 04BF3C 8004B33C 02202025 */ move $a0, $s1 -/* 04BF40 8004B340 3C01C080 */ li $at, 0xC0800000 # -4.000000 -/* 04BF44 8004B344 44812000 */ mtc1 $at, $f4 -/* 04BF48 8004B348 C612002C */ lwc1 $f18, 0x2c($s0) -/* 04BF4C 8004B34C 00000000 */ nop -/* 04BF50 8004B350 4604903C */ c.lt.s $f18, $f4 -/* 04BF54 8004B354 00000000 */ nop -/* 04BF58 8004B358 45000008 */ bc1f .L8004B37C -/* 04BF5C 8004B35C 02002825 */ move $a1, $s0 -/* 04BF60 8004B360 8E220074 */ lw $v0, 0x74($s1) -/* 04BF64 8004B364 240100C0 */ li $at, 192 -/* 04BF68 8004B368 305900C0 */ andi $t9, $v0, 0xc0 -/* 04BF6C 8004B36C 13210002 */ beq $t9, $at, .L8004B378 -/* 04BF70 8004B370 344F000C */ ori $t7, $v0, 0xc -/* 04BF74 8004B374 AE2F0074 */ sw $t7, 0x74($s1) -.L8004B378: -/* 04BF78 8004B378 02002825 */ move $a1, $s0 -.L8004B37C: -/* 04BF7C 8004B37C 0C015C88 */ jal handle_racer_top_speed -/* 04BF80 8004B380 E7AE00DC */ swc1 $f14, 0xdc($sp) -/* 04BF84 8004B384 C7AE00DC */ lwc1 $f14, 0xdc($sp) -/* 04BF88 8004B388 3C01800E */ lui $at, %hi(D_800E6518 + 4) # $at, 0x800e -/* 04BF8C 8004B38C 46007382 */ mul.s $f14, $f14, $f0 -/* 04BF90 8004B390 C4296518 */ lwc1 $f9, %lo(D_800E6518)($at) -/* 04BF94 8004B394 C428651C */ lwc1 $f8, %lo(D_800E6518 + 4)($at) -/* 04BF98 8004B398 820201D3 */ lb $v0, 0x1d3($s0) -/* 04BF9C 8004B39C 460071A1 */ cvt.d.s $f6, $f14 -/* 04BFA0 8004B3A0 46283282 */ mul.d $f10, $f6, $f8 -/* 04BFA4 8004B3A4 18400012 */ blez $v0, .L8004B3F0 -/* 04BFA8 8004B3A8 462053A0 */ cvt.s.d $f14, $f10 -/* 04BFAC 8004B3AC 3C0D8012 */ lui $t5, %hi(gRaceStartTimer) # $t5, 0x8012 -/* 04BFB0 8004B3B0 8DADD540 */ lw $t5, %lo(gRaceStartTimer)($t5) -/* 04BFB4 8004B3B4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04BFB8 8004B3B8 15A0000E */ bnez $t5, .L8004B3F4 -/* 04BFBC 8004B3BC 00000000 */ nop -/* 04BFC0 8004B3C0 44819000 */ mtc1 $at, $f18 -/* 04BFC4 8004B3C4 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 04BFC8 8004B3C8 E61200B4 */ swc1 $f18, 0xb4($s0) -/* 04BFCC 8004B3CC 8FAB00F8 */ lw $t3, 0xf8($sp) -/* 04BFD0 8004B3D0 44817000 */ mtc1 $at, $f14 -/* 04BFD4 8004B3D4 004B7023 */ subu $t6, $v0, $t3 -/* 04BFD8 8004B3D8 A20E01D3 */ sb $t6, 0x1d3($s0) -/* 04BFDC 8004B3DC 8E380074 */ lw $t8, 0x74($s1) -/* 04BFE0 8004B3E0 00000000 */ nop -/* 04BFE4 8004B3E4 370C00C0 */ ori $t4, $t8, 0xc0 -/* 04BFE8 8004B3E8 10000002 */ b .L8004B3F4 -/* 04BFEC 8004B3EC AE2C0074 */ sw $t4, 0x74($s1) -.L8004B3F0: -/* 04BFF0 8004B3F0 A20001D3 */ sb $zero, 0x1d3($s0) -.L8004B3F4: -/* 04BFF4 8004B3F4 921901F5 */ lbu $t9, 0x1f5($s0) -/* 04BFF8 8004B3F8 00000000 */ nop -/* 04BFFC 8004B3FC 17200128 */ bnez $t9, .L8004B8A0 -/* 04C000 8004B400 3C0F8012 */ lui $t7, %hi(gRaceStartTimer) # $t7, 0x8012 -/* 04C004 8004B404 8DEFD540 */ lw $t7, %lo(gRaceStartTimer)($t7) -/* 04C008 8004B408 00000000 */ nop -/* 04C00C 8004B40C 15E00124 */ bnez $t7, .L8004B8A0 -/* 04C010 8004B410 00000000 */ nop -/* 04C014 8004B414 820D01E2 */ lb $t5, 0x1e2($s0) -/* 04C018 8004B418 C7A400C8 */ lwc1 $f4, 0xc8($sp) -/* 04C01C 8004B41C 15A0000F */ bnez $t5, .L8004B45C -/* 04C020 8004B420 3C01800E */ lui $at, %hi(D_800E6520 + 4) # $at, 0x800e -/* 04C024 8004B424 C4296520 */ lwc1 $f9, %lo(D_800E6520)($at) -/* 04C028 8004B428 C4286524 */ lwc1 $f8, %lo(D_800E6520 + 4)($at) -/* 04C02C 8004B42C 460021A1 */ cvt.d.s $f6, $f4 -/* 04C030 8004B430 4628303C */ c.lt.d $f6, $f8 -/* 04C034 8004B434 00000000 */ nop -/* 04C038 8004B438 45000008 */ bc1f .L8004B45C -/* 04C03C 8004B43C 00000000 */ nop -/* 04C040 8004B440 820B01D6 */ lb $t3, 0x1d6($s0) -/* 04C044 8004B444 2401000A */ li $at, 10 -/* 04C048 8004B448 11610004 */ beq $t3, $at, .L8004B45C -/* 04C04C 8004B44C 3C01800E */ lui $at, %hi(D_800E6528) # $at, 0x800e -/* 04C050 8004B450 C4206528 */ lwc1 $f0, %lo(D_800E6528)($at) -/* 04C054 8004B454 00000000 */ nop -/* 04C058 8004B458 E7A000C8 */ swc1 $f0, 0xc8($sp) -.L8004B45C: -/* 04C05C 8004B45C C7A000C8 */ lwc1 $f0, 0xc8($sp) -/* 04C060 8004B460 C6120038 */ lwc1 $f18, 0x38($s0) -/* 04C064 8004B464 460E0002 */ mul.s $f0, $f0, $f14 -/* 04C068 8004B468 C62A001C */ lwc1 $f10, 0x1c($s1) -/* 04C06C 8004B46C C6280020 */ lwc1 $f8, 0x20($s1) -/* 04C070 8004B470 3C188012 */ lui $t8, %hi(gCurrentRacerInput) # $t8, 0x8012 -/* 04C074 8004B474 46009102 */ mul.s $f4, $f18, $f0 -/* 04C078 8004B478 46045181 */ sub.s $f6, $f10, $f4 -/* 04C07C 8004B47C E626001C */ swc1 $f6, 0x1c($s1) -/* 04C080 8004B480 C612003C */ lwc1 $f18, 0x3c($s0) -/* 04C084 8004B484 C6260024 */ lwc1 $f6, 0x24($s1) -/* 04C088 8004B488 46009282 */ mul.s $f10, $f18, $f0 -/* 04C08C 8004B48C 460A4101 */ sub.s $f4, $f8, $f10 -/* 04C090 8004B490 E6240020 */ swc1 $f4, 0x20($s1) -/* 04C094 8004B494 C6120040 */ lwc1 $f18, 0x40($s0) -/* 04C098 8004B498 00000000 */ nop -/* 04C09C 8004B49C 46009202 */ mul.s $f8, $f18, $f0 -/* 04C0A0 8004B4A0 46083281 */ sub.s $f10, $f6, $f8 -/* 04C0A4 8004B4A4 E62A0024 */ swc1 $f10, 0x24($s1) -/* 04C0A8 8004B4A8 820301E2 */ lb $v1, 0x1e2($s0) -/* 04C0AC 8004B4AC 00000000 */ nop -/* 04C0B0 8004B4B0 28610003 */ slti $at, $v1, 3 -/* 04C0B4 8004B4B4 1020000E */ beqz $at, .L8004B4F0 -/* 04C0B8 8004B4B8 00000000 */ nop -/* 04C0BC 8004B4BC C602002C */ lwc1 $f2, 0x2c($s0) -/* 04C0C0 8004B4C0 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 04C0C4 8004B4C4 44819800 */ mtc1 $at, $f19 -/* 04C0C8 8004B4C8 44809000 */ mtc1 $zero, $f18 -/* 04C0CC 8004B4CC 46001121 */ cvt.d.s $f4, $f2 -/* 04C0D0 8004B4D0 4632203C */ c.lt.d $f4, $f18 -/* 04C0D4 8004B4D4 00000000 */ nop -/* 04C0D8 8004B4D8 45010005 */ bc1t .L8004B4F0 -/* 04C0DC 8004B4DC 00000000 */ nop -/* 04C0E0 8004B4E0 820E01D6 */ lb $t6, 0x1d6($s0) -/* 04C0E4 8004B4E4 2401000A */ li $at, 10 -/* 04C0E8 8004B4E8 15C1001F */ bne $t6, $at, .L8004B568 -/* 04C0EC 8004B4EC 00000000 */ nop -.L8004B4F0: -/* 04C0F0 8004B4F0 14600006 */ bnez $v1, .L8004B50C -/* 04C0F4 8004B4F4 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 04C0F8 8004B4F8 C7A000C4 */ lwc1 $f0, 0xc4($sp) -/* 04C0FC 8004B4FC 44813000 */ mtc1 $at, $f6 -/* 04C100 8004B500 00000000 */ nop -/* 04C104 8004B504 46060003 */ div.s $f0, $f0, $f6 -/* 04C108 8004B508 E7A000C4 */ swc1 $f0, 0xc4($sp) -.L8004B50C: -/* 04C10C 8004B50C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 04C110 8004B510 44814000 */ mtc1 $at, $f8 -/* 04C114 8004B514 C7A000C4 */ lwc1 $f0, 0xc4($sp) -/* 04C118 8004B518 46087283 */ div.s $f10, $f14, $f8 -/* 04C11C 8004B51C C6120038 */ lwc1 $f18, 0x38($s0) -/* 04C120 8004B520 C624001C */ lwc1 $f4, 0x1c($s1) -/* 04C124 8004B524 460A0002 */ mul.s $f0, $f0, $f10 -/* 04C128 8004B528 C62A0020 */ lwc1 $f10, 0x20($s1) -/* 04C12C 8004B52C 46009182 */ mul.s $f6, $f18, $f0 -/* 04C130 8004B530 46062200 */ add.s $f8, $f4, $f6 -/* 04C134 8004B534 E628001C */ swc1 $f8, 0x1c($s1) -/* 04C138 8004B538 C612003C */ lwc1 $f18, 0x3c($s0) -/* 04C13C 8004B53C C6280024 */ lwc1 $f8, 0x24($s1) -/* 04C140 8004B540 46009102 */ mul.s $f4, $f18, $f0 -/* 04C144 8004B544 46045180 */ add.s $f6, $f10, $f4 -/* 04C148 8004B548 E6260020 */ swc1 $f6, 0x20($s1) -/* 04C14C 8004B54C C6120040 */ lwc1 $f18, 0x40($s0) -/* 04C150 8004B550 00000000 */ nop -/* 04C154 8004B554 46009282 */ mul.s $f10, $f18, $f0 -/* 04C158 8004B558 460A4100 */ add.s $f4, $f8, $f10 -/* 04C15C 8004B55C E6240024 */ swc1 $f4, 0x24($s1) -/* 04C160 8004B560 C602002C */ lwc1 $f2, 0x2c($s0) -/* 04C164 8004B564 00000000 */ nop -.L8004B568: -/* 04C168 8004B568 44803000 */ mtc1 $zero, $f6 -/* 04C16C 8004B56C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04C170 8004B570 4606103C */ c.lt.s $f2, $f6 -/* 04C174 8004B574 46021302 */ mul.s $f12, $f2, $f2 -/* 04C178 8004B578 44819000 */ mtc1 $at, $f18 -/* 04C17C 8004B57C 45000002 */ bc1f .L8004B588 -/* 04C180 8004B580 00000000 */ nop -/* 04C184 8004B584 46006307 */ neg.s $f12, $f12 -.L8004B588: -/* 04C188 8004B588 4612603C */ c.lt.s $f12, $f18 -/* 04C18C 8004B58C C7A600D8 */ lwc1 $f6, 0xd8($sp) -/* 04C190 8004B590 4500000D */ bc1f .L8004B5C8 -/* 04C194 8004B594 00000000 */ nop -/* 04C198 8004B598 8F18D528 */ lw $t8, %lo(gCurrentRacerInput)($t8) -/* 04C19C 8004B59C C7A800D8 */ lwc1 $f8, 0xd8($sp) -/* 04C1A0 8004B5A0 330C8000 */ andi $t4, $t8, 0x8000 -/* 04C1A4 8004B5A4 15800008 */ bnez $t4, .L8004B5C8 -/* 04C1A8 8004B5A8 00000000 */ nop -/* 04C1AC 8004B5AC 46081282 */ mul.s $f10, $f2, $f8 -/* 04C1B0 8004B5B0 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 04C1B4 8004B5B4 44812000 */ mtc1 $at, $f4 -/* 04C1B8 8004B5B8 00000000 */ nop -/* 04C1BC 8004B5BC 46045502 */ mul.s $f20, $f10, $f4 -/* 04C1C0 8004B5C0 10000004 */ b .L8004B5D4 -/* 04C1C4 8004B5C4 C6080038 */ lwc1 $f8, 0x38($s0) -.L8004B5C8: -/* 04C1C8 8004B5C8 46066502 */ mul.s $f20, $f12, $f6 -/* 04C1CC 8004B5CC 00000000 */ nop -/* 04C1D0 8004B5D0 C6080038 */ lwc1 $f8, 0x38($s0) -.L8004B5D4: -/* 04C1D4 8004B5D4 C632001C */ lwc1 $f18, 0x1c($s1) -/* 04C1D8 8004B5D8 46144282 */ mul.s $f10, $f8, $f20 -/* 04C1DC 8004B5DC C6260020 */ lwc1 $f6, 0x20($s1) -/* 04C1E0 8004B5E0 460A9101 */ sub.s $f4, $f18, $f10 -/* 04C1E4 8004B5E4 E624001C */ swc1 $f4, 0x1c($s1) -/* 04C1E8 8004B5E8 C608003C */ lwc1 $f8, 0x3c($s0) -/* 04C1EC 8004B5EC C6240024 */ lwc1 $f4, 0x24($s1) -/* 04C1F0 8004B5F0 46144482 */ mul.s $f18, $f8, $f20 -/* 04C1F4 8004B5F4 46123281 */ sub.s $f10, $f6, $f18 -/* 04C1F8 8004B5F8 E62A0020 */ swc1 $f10, 0x20($s1) -/* 04C1FC 8004B5FC C6080040 */ lwc1 $f8, 0x40($s0) -/* 04C200 8004B600 00000000 */ nop -/* 04C204 8004B604 46144182 */ mul.s $f6, $f8, $f20 -/* 04C208 8004B608 46062481 */ sub.s $f18, $f4, $f6 -/* 04C20C 8004B60C 44802000 */ mtc1 $zero, $f4 -/* 04C210 8004B610 E6320024 */ swc1 $f18, 0x24($s1) -/* 04C214 8004B614 C6000030 */ lwc1 $f0, 0x30($s0) -/* 04C218 8004B618 C7A800D4 */ lwc1 $f8, 0xd4($sp) -/* 04C21C 8004B61C 46000282 */ mul.s $f10, $f0, $f0 -/* 04C220 8004B620 4604003C */ c.lt.s $f0, $f4 -/* 04C224 8004B624 C7A600D4 */ lwc1 $f6, 0xd4($sp) -/* 04C228 8004B628 46085502 */ mul.s $f20, $f10, $f8 -/* 04C22C 8004B62C 45000002 */ bc1f .L8004B638 -/* 04C230 8004B630 00000000 */ nop -/* 04C234 8004B634 4600A507 */ neg.s $f20, $f20 -.L8004B638: -/* 04C238 8004B638 46060482 */ mul.s $f18, $f0, $f6 -/* 04C23C 8004B63C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 04C240 8004B640 44815000 */ mtc1 $at, $f10 -/* 04C244 8004B644 C6060050 */ lwc1 $f6, 0x50($s0) -/* 04C248 8004B648 460A9202 */ mul.s $f8, $f18, $f10 -/* 04C24C 8004B64C C624001C */ lwc1 $f4, 0x1c($s1) -/* 04C250 8004B650 24010001 */ li $at, 1 -/* 04C254 8004B654 4608A500 */ add.s $f20, $f20, $f8 -/* 04C258 8004B658 C6280020 */ lwc1 $f8, 0x20($s1) -/* 04C25C 8004B65C 46143482 */ mul.s $f18, $f6, $f20 -/* 04C260 8004B660 46122281 */ sub.s $f10, $f4, $f18 -/* 04C264 8004B664 E62A001C */ swc1 $f10, 0x1c($s1) -/* 04C268 8004B668 C6060054 */ lwc1 $f6, 0x54($s0) -/* 04C26C 8004B66C C62A0024 */ lwc1 $f10, 0x24($s1) -/* 04C270 8004B670 46143102 */ mul.s $f4, $f6, $f20 -/* 04C274 8004B674 46044481 */ sub.s $f18, $f8, $f4 -/* 04C278 8004B678 E6320020 */ swc1 $f18, 0x20($s1) -/* 04C27C 8004B67C C6060058 */ lwc1 $f6, 0x58($s0) -/* 04C280 8004B680 00000000 */ nop -/* 04C284 8004B684 46143202 */ mul.s $f8, $f6, $f20 -/* 04C288 8004B688 46085101 */ sub.s $f4, $f10, $f8 -/* 04C28C 8004B68C E6240024 */ swc1 $f4, 0x24($s1) -/* 04C290 8004B690 820201E0 */ lb $v0, 0x1e0($s0) -/* 04C294 8004B694 00000000 */ nop -/* 04C298 8004B698 10410002 */ beq $v0, $at, .L8004B6A4 -/* 04C29C 8004B69C 2401FFFF */ li $at, -1 -/* 04C2A0 8004B6A0 1441004E */ bne $v0, $at, .L8004B7DC -.L8004B6A4: -/* 04C2A4 8004B6A4 3C01800E */ lui $at, %hi(D_800E6530 + 4) # $at, 0x800e -/* 04C2A8 8004B6A8 C612002C */ lwc1 $f18, 0x2c($s0) -/* 04C2AC 8004B6AC C42B6530 */ lwc1 $f11, %lo(D_800E6530)($at) -/* 04C2B0 8004B6B0 C42A6534 */ lwc1 $f10, %lo(D_800E6530 + 4)($at) -/* 04C2B4 8004B6B4 460091A1 */ cvt.d.s $f6, $f18 -/* 04C2B8 8004B6B8 462A3202 */ mul.d $f8, $f6, $f10 -/* 04C2BC 8004B6BC 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 -/* 04C2C0 8004B6C0 44812800 */ mtc1 $at, $f5 -/* 04C2C4 8004B6C4 44802000 */ mtc1 $zero, $f4 -/* 04C2C8 8004B6C8 860401A4 */ lh $a0, 0x1a4($s0) -/* 04C2CC 8004B6CC 46244482 */ mul.d $f18, $f8, $f4 -/* 04C2D0 8004B6D0 46209320 */ cvt.s.d $f12, $f18 -/* 04C2D4 8004B6D4 0C01C1FE */ jal coss_f -/* 04C2D8 8004B6D8 E7AC00EC */ swc1 $f12, 0xec($sp) -/* 04C2DC 8004B6DC 821901E0 */ lb $t9, 0x1e0($s0) -/* 04C2E0 8004B6E0 C7AC00EC */ lwc1 $f12, 0xec($sp) -/* 04C2E4 8004B6E4 44995000 */ mtc1 $t9, $f10 -/* 04C2E8 8004B6E8 460C0182 */ mul.s $f6, $f0, $f12 -/* 04C2EC 8004B6EC 860301A4 */ lh $v1, 0x1a4($s0) -/* 04C2F0 8004B6F0 00000000 */ nop -/* 04C2F4 8004B6F4 28614001 */ slti $at, $v1, 0x4001 -/* 04C2F8 8004B6F8 46805220 */ cvt.s.w $f8, $f10 -/* 04C2FC 8004B6FC 46083502 */ mul.s $f20, $f6, $f8 -/* 04C300 8004B700 10200002 */ beqz $at, .L8004B70C -/* 04C304 8004B704 2861C000 */ slti $at, $v1, -0x4000 -/* 04C308 8004B708 10200005 */ beqz $at, .L8004B720 -.L8004B70C: -/* 04C30C 8004B70C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 04C310 8004B710 44812000 */ mtc1 $at, $f4 -/* 04C314 8004B714 00000000 */ nop -/* 04C318 8004B718 4604A502 */ mul.s $f20, $f20, $f4 -/* 04C31C 8004B71C 00000000 */ nop -.L8004B720: -/* 04C320 8004B720 C60A0050 */ lwc1 $f10, 0x50($s0) -/* 04C324 8004B724 C632001C */ lwc1 $f18, 0x1c($s1) -/* 04C328 8004B728 46145182 */ mul.s $f6, $f10, $f20 -/* 04C32C 8004B72C C6240020 */ lwc1 $f4, 0x20($s1) -/* 04C330 8004B730 46069201 */ sub.s $f8, $f18, $f6 -/* 04C334 8004B734 E628001C */ swc1 $f8, 0x1c($s1) -/* 04C338 8004B738 C60A0054 */ lwc1 $f10, 0x54($s0) -/* 04C33C 8004B73C C6280024 */ lwc1 $f8, 0x24($s1) -/* 04C340 8004B740 46145482 */ mul.s $f18, $f10, $f20 -/* 04C344 8004B744 46122181 */ sub.s $f6, $f4, $f18 -/* 04C348 8004B748 E6260020 */ swc1 $f6, 0x20($s1) -/* 04C34C 8004B74C C60A0058 */ lwc1 $f10, 0x58($s0) -/* 04C350 8004B750 00000000 */ nop -/* 04C354 8004B754 46145102 */ mul.s $f4, $f10, $f20 -/* 04C358 8004B758 46044481 */ sub.s $f18, $f8, $f4 -/* 04C35C 8004B75C E6320024 */ swc1 $f18, 0x24($s1) -/* 04C360 8004B760 860401A4 */ lh $a0, 0x1a4($s0) -/* 04C364 8004B764 0C01C1F1 */ jal sins_f -/* 04C368 8004B768 E7AC00EC */ swc1 $f12, 0xec($sp) -/* 04C36C 8004B76C 820F01E0 */ lb $t7, 0x1e0($s0) -/* 04C370 8004B770 C7AC00EC */ lwc1 $f12, 0xec($sp) -/* 04C374 8004B774 448F5000 */ mtc1 $t7, $f10 -/* 04C378 8004B778 460C0182 */ mul.s $f6, $f0, $f12 -/* 04C37C 8004B77C 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 -/* 04C380 8004B780 44815800 */ mtc1 $at, $f11 -/* 04C384 8004B784 46805220 */ cvt.s.w $f8, $f10 -/* 04C388 8004B788 44805000 */ mtc1 $zero, $f10 -/* 04C38C 8004B78C 46083102 */ mul.s $f4, $f6, $f8 -/* 04C390 8004B790 C628001C */ lwc1 $f8, 0x1c($s1) -/* 04C394 8004B794 460024A1 */ cvt.d.s $f18, $f4 -/* 04C398 8004B798 462A9182 */ mul.d $f6, $f18, $f10 -/* 04C39C 8004B79C C6040044 */ lwc1 $f4, 0x44($s0) -/* 04C3A0 8004B7A0 46203520 */ cvt.s.d $f20, $f6 -/* 04C3A4 8004B7A4 C6260020 */ lwc1 $f6, 0x20($s1) -/* 04C3A8 8004B7A8 46142482 */ mul.s $f18, $f4, $f20 -/* 04C3AC 8004B7AC 46124281 */ sub.s $f10, $f8, $f18 -/* 04C3B0 8004B7B0 E62A001C */ swc1 $f10, 0x1c($s1) -/* 04C3B4 8004B7B4 C6040048 */ lwc1 $f4, 0x48($s0) -/* 04C3B8 8004B7B8 C62A0024 */ lwc1 $f10, 0x24($s1) -/* 04C3BC 8004B7BC 46142202 */ mul.s $f8, $f4, $f20 -/* 04C3C0 8004B7C0 46083481 */ sub.s $f18, $f6, $f8 -/* 04C3C4 8004B7C4 E6320020 */ swc1 $f18, 0x20($s1) -/* 04C3C8 8004B7C8 C604004C */ lwc1 $f4, 0x4c($s0) -/* 04C3CC 8004B7CC 00000000 */ nop -/* 04C3D0 8004B7D0 46142182 */ mul.s $f6, $f4, $f20 -/* 04C3D4 8004B7D4 46065201 */ sub.s $f8, $f10, $f6 -/* 04C3D8 8004B7D8 E6280024 */ swc1 $f8, 0x24($s1) -.L8004B7DC: -/* 04C3DC 8004B7DC C6020034 */ lwc1 $f2, 0x34($s0) -/* 04C3E0 8004B7E0 44805000 */ mtc1 $zero, $f10 -/* 04C3E4 8004B7E4 46021482 */ mul.s $f18, $f2, $f2 -/* 04C3E8 8004B7E8 C7A400D0 */ lwc1 $f4, 0xd0($sp) -/* 04C3EC 8004B7EC 460A103C */ c.lt.s $f2, $f10 -/* 04C3F0 8004B7F0 C7A600D0 */ lwc1 $f6, 0xd0($sp) -/* 04C3F4 8004B7F4 46049502 */ mul.s $f20, $f18, $f4 -/* 04C3F8 8004B7F8 45000002 */ bc1f .L8004B804 -/* 04C3FC 8004B7FC 00000000 */ nop -/* 04C400 8004B800 4600A507 */ neg.s $f20, $f20 -.L8004B804: -/* 04C404 8004B804 46061202 */ mul.s $f8, $f2, $f6 -/* 04C408 8004B808 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 04C40C 8004B80C 44819000 */ mtc1 $at, $f18 -/* 04C410 8004B810 C6060044 */ lwc1 $f6, 0x44($s0) -/* 04C414 8004B814 46124102 */ mul.s $f4, $f8, $f18 -/* 04C418 8004B818 C62A001C */ lwc1 $f10, 0x1c($s1) -/* 04C41C 8004B81C 3C01800E */ lui $at, %hi(D_800E6538) # $at, 0x800e -/* 04C420 8004B820 4604A500 */ add.s $f20, $f20, $f4 -/* 04C424 8004B824 C6240020 */ lwc1 $f4, 0x20($s1) -/* 04C428 8004B828 46143202 */ mul.s $f8, $f6, $f20 -/* 04C42C 8004B82C 46085481 */ sub.s $f18, $f10, $f8 -/* 04C430 8004B830 E632001C */ swc1 $f18, 0x1c($s1) -/* 04C434 8004B834 C6060048 */ lwc1 $f6, 0x48($s0) -/* 04C438 8004B838 C6320024 */ lwc1 $f18, 0x24($s1) -/* 04C43C 8004B83C 46143282 */ mul.s $f10, $f6, $f20 -/* 04C440 8004B840 460A2201 */ sub.s $f8, $f4, $f10 -/* 04C444 8004B844 E6280020 */ swc1 $f8, 0x20($s1) -/* 04C448 8004B848 C606004C */ lwc1 $f6, 0x4c($s0) -/* 04C44C 8004B84C 00000000 */ nop -/* 04C450 8004B850 46143102 */ mul.s $f4, $f6, $f20 -/* 04C454 8004B854 46049281 */ sub.s $f10, $f18, $f4 -/* 04C458 8004B858 E62A0024 */ swc1 $f10, 0x24($s1) -/* 04C45C 8004B85C C606002C */ lwc1 $f6, 0x2c($s0) -/* 04C460 8004B860 C424653C */ lwc1 $f4, %lo(D_800E6538 + 4)($at) -/* 04C464 8004B864 C4256538 */ lwc1 $f5, %lo(D_800E6538)($at) -/* 04C468 8004B868 460034A1 */ cvt.d.s $f18, $f6 -/* 04C46C 8004B86C 46249282 */ mul.d $f10, $f18, $f4 -/* 04C470 8004B870 C6080008 */ lwc1 $f8, 8($s0) -/* 04C474 8004B874 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 04C478 8004B878 46004021 */ cvt.d.s $f0, $f8 -/* 04C47C 8004B87C 44813800 */ mtc1 $at, $f7 -/* 04C480 8004B880 462A0200 */ add.d $f8, $f0, $f10 -/* 04C484 8004B884 44803000 */ mtc1 $zero, $f6 -/* 04C488 8004B888 00000000 */ nop -/* 04C48C 8004B88C 46264482 */ mul.d $f18, $f8, $f6 -/* 04C490 8004B890 46320101 */ sub.d $f4, $f0, $f18 -/* 04C494 8004B894 462022A0 */ cvt.s.d $f10, $f4 -/* 04C498 8004B898 E60A0008 */ swc1 $f10, 8($s0) -/* 04C49C 8004B89C E7AC00EC */ swc1 $f12, 0xec($sp) -.L8004B8A0: -/* 04C4A0 8004B8A0 C7AC00EC */ lwc1 $f12, 0xec($sp) -/* 04C4A4 8004B8A4 AE00010C */ sw $zero, 0x10c($s0) -/* 04C4A8 8004B8A8 3C0D8012 */ lui $t5, %hi(gCurrentCarSteerVel) # $t5, 0x8012 -/* 04C4AC 8004B8AC 8DADD554 */ lw $t5, %lo(gCurrentCarSteerVel)($t5) -/* 04C4B0 8004B8B0 860201A2 */ lh $v0, 0x1a2($s0) -/* 04C4B4 8004B8B4 860C01A0 */ lh $t4, 0x1a0($s0) -/* 04C4B8 8004B8B8 01A25823 */ subu $t3, $t5, $v0 -/* 04C4BC 8004B8BC 000B70C3 */ sra $t6, $t3, 3 -/* 04C4C0 8004B8C0 004EC021 */ addu $t8, $v0, $t6 -/* 04C4C4 8004B8C4 A61801A2 */ sh $t8, 0x1a2($s0) -/* 04C4C8 8004B8C8 861901A2 */ lh $t9, 0x1a2($s0) -/* 04C4CC 8004B8CC 3C0D8012 */ lui $t5, %hi(D_8011D558) # $t5, 0x8012 -/* 04C4D0 8004B8D0 01997821 */ addu $t7, $t4, $t9 -/* 04C4D4 8004B8D4 A62F0000 */ sh $t7, ($s1) -/* 04C4D8 8004B8D8 860301A6 */ lh $v1, 0x1a6($s0) -/* 04C4DC 8004B8DC 8DADD558 */ lw $t5, %lo(D_8011D558)($t5) -/* 04C4E0 8004B8E0 860C01A4 */ lh $t4, 0x1a4($s0) -/* 04C4E4 8004B8E4 01A35823 */ subu $t3, $t5, $v1 -/* 04C4E8 8004B8E8 000B70C3 */ sra $t6, $t3, 3 -/* 04C4EC 8004B8EC 006EC021 */ addu $t8, $v1, $t6 -/* 04C4F0 8004B8F0 A61801A6 */ sh $t8, 0x1a6($s0) -/* 04C4F4 8004B8F4 861901A6 */ lh $t9, 0x1a6($s0) -/* 04C4F8 8004B8F8 00000000 */ nop -/* 04C4FC 8004B8FC 01997821 */ addu $t7, $t4, $t9 -/* 04C500 8004B900 A62F0004 */ sh $t7, 4($s1) -/* 04C504 8004B904 820D0175 */ lb $t5, 0x175($s0) -/* 04C508 8004B908 00000000 */ nop -/* 04C50C 8004B90C 11A00007 */ beqz $t5, .L8004B92C -/* 04C510 8004B910 3C018012 */ lui $at, %hi(gRacerMagnetVelX) # $at, 0x8012 -/* 04C514 8004B914 C428D578 */ lwc1 $f8, %lo(gRacerMagnetVelX)($at) -/* 04C518 8004B918 3C018012 */ lui $at, %hi(gRacerMagnetVelZ) # $at, 0x8012 -/* 04C51C 8004B91C E628001C */ swc1 $f8, 0x1c($s1) -/* 04C520 8004B920 C426D57C */ lwc1 $f6, %lo(gRacerMagnetVelZ)($at) -/* 04C524 8004B924 00000000 */ nop -/* 04C528 8004B928 E6260024 */ swc1 $f6, 0x24($s1) -.L8004B92C: -/* 04C52C 8004B92C 8E0B0148 */ lw $t3, 0x148($s0) -/* 04C530 8004B930 00000000 */ nop -/* 04C534 8004B934 15600061 */ bnez $t3, .L8004BABC -/* 04C538 8004B938 8FA600FC */ lw $a2, 0xfc($sp) -/* 04C53C 8004B93C 820E01D2 */ lb $t6, 0x1d2($s0) -/* 04C540 8004B940 C634001C */ lwc1 $f20, 0x1c($s1) -/* 04C544 8004B944 C62C0024 */ lwc1 $f12, 0x24($s1) -/* 04C548 8004B948 11C00010 */ beqz $t6, .L8004B98C -/* 04C54C 8004B94C 3C188012 */ lui $t8, %hi(gRacerInputBlocked) # $t8, 0x8012 -/* 04C550 8004B950 C604011C */ lwc1 $f4, 0x11c($s0) -/* 04C554 8004B954 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 04C558 8004B958 44811800 */ mtc1 $at, $f3 -/* 04C55C 8004B95C 44801000 */ mtc1 $zero, $f2 -/* 04C560 8004B960 460022A1 */ cvt.d.s $f10, $f4 -/* 04C564 8004B964 46225202 */ mul.d $f8, $f10, $f2 -/* 04C568 8004B968 C60A0120 */ lwc1 $f10, 0x120($s0) -/* 04C56C 8004B96C 4600A4A1 */ cvt.d.s $f18, $f20 -/* 04C570 8004B970 46006121 */ cvt.d.s $f4, $f12 -/* 04C574 8004B974 46289180 */ add.d $f6, $f18, $f8 -/* 04C578 8004B978 460054A1 */ cvt.d.s $f18, $f10 -/* 04C57C 8004B97C 46229202 */ mul.d $f8, $f18, $f2 -/* 04C580 8004B980 46203520 */ cvt.s.d $f20, $f6 -/* 04C584 8004B984 46282180 */ add.d $f6, $f4, $f8 -/* 04C588 8004B988 46203320 */ cvt.s.d $f12, $f6 -.L8004B98C: -/* 04C58C 8004B98C 8318D584 */ lb $t8, %lo(gRacerInputBlocked)($t8) -/* 04C590 8004B990 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 04C594 8004B994 44811800 */ mtc1 $at, $f3 -/* 04C598 8004B998 44801000 */ mtc1 $zero, $f2 -/* 04C59C 8004B99C 1300002A */ beqz $t8, .L8004BA48 -/* 04C5A0 8004B9A0 00000000 */ nop -/* 04C5A4 8004B9A4 4600A021 */ cvt.d.s $f0, $f20 -/* 04C5A8 8004B9A8 4620103C */ c.lt.d $f2, $f0 -/* 04C5AC 8004B9AC 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 -/* 04C5B0 8004B9B0 45010007 */ bc1t .L8004B9D0 -/* 04C5B4 8004B9B4 00000000 */ nop -/* 04C5B8 8004B9B8 44815800 */ mtc1 $at, $f11 -/* 04C5BC 8004B9BC 44805000 */ mtc1 $zero, $f10 -/* 04C5C0 8004B9C0 00000000 */ nop -/* 04C5C4 8004B9C4 462A003C */ c.lt.d $f0, $f10 -/* 04C5C8 8004B9C8 00000000 */ nop -/* 04C5CC 8004B9CC 45000007 */ bc1f .L8004B9EC -.L8004B9D0: -/* 04C5D0 8004B9D0 3C01800E */ lui $at, %hi(D_800E6540 + 4) # $at, 0x800e -/* 04C5D4 8004B9D4 C4336540 */ lwc1 $f19, %lo(D_800E6540)($at) -/* 04C5D8 8004B9D8 C4326544 */ lwc1 $f18, %lo(D_800E6540 + 4)($at) -/* 04C5DC 8004B9DC 00000000 */ nop -/* 04C5E0 8004B9E0 46320102 */ mul.d $f4, $f0, $f18 -/* 04C5E4 8004B9E4 10000003 */ b .L8004B9F4 -/* 04C5E8 8004B9E8 46202520 */ cvt.s.d $f20, $f4 -.L8004B9EC: -/* 04C5EC 8004B9EC 4480A000 */ mtc1 $zero, $f20 -/* 04C5F0 8004B9F0 00000000 */ nop -.L8004B9F4: -/* 04C5F4 8004B9F4 46006021 */ cvt.d.s $f0, $f12 -/* 04C5F8 8004B9F8 4620103C */ c.lt.d $f2, $f0 -/* 04C5FC 8004B9FC 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 -/* 04C600 8004BA00 45010007 */ bc1t .L8004BA20 -/* 04C604 8004BA04 00000000 */ nop -/* 04C608 8004BA08 44814800 */ mtc1 $at, $f9 -/* 04C60C 8004BA0C 44804000 */ mtc1 $zero, $f8 -/* 04C610 8004BA10 00000000 */ nop -/* 04C614 8004BA14 4628003C */ c.lt.d $f0, $f8 -/* 04C618 8004BA18 00000000 */ nop -/* 04C61C 8004BA1C 45000007 */ bc1f .L8004BA3C -.L8004BA20: -/* 04C620 8004BA20 3C01800E */ lui $at, %hi(D_800E6548 + 4) # $at, 0x800e -/* 04C624 8004BA24 C4276548 */ lwc1 $f7, %lo(D_800E6548)($at) -/* 04C628 8004BA28 C426654C */ lwc1 $f6, %lo(D_800E6548 + 4)($at) -/* 04C62C 8004BA2C 00000000 */ nop -/* 04C630 8004BA30 46260282 */ mul.d $f10, $f0, $f6 -/* 04C634 8004BA34 10000008 */ b .L8004BA58 -/* 04C638 8004BA38 46205320 */ cvt.s.d $f12, $f10 -.L8004BA3C: -/* 04C63C 8004BA3C 44806000 */ mtc1 $zero, $f12 -/* 04C640 8004BA40 10000006 */ b .L8004BA5C -/* 04C644 8004BA44 C7A000FC */ lwc1 $f0, 0xfc($sp) -.L8004BA48: -/* 04C648 8004BA48 C6120084 */ lwc1 $f18, 0x84($s0) -/* 04C64C 8004BA4C C6040088 */ lwc1 $f4, 0x88($s0) -/* 04C650 8004BA50 4612A500 */ add.s $f20, $f20, $f18 -/* 04C654 8004BA54 46046300 */ add.s $f12, $f12, $f4 -.L8004BA58: -/* 04C658 8004BA58 C7A000FC */ lwc1 $f0, 0xfc($sp) -.L8004BA5C: -/* 04C65C 8004BA5C C6260020 */ lwc1 $f6, 0x20($s1) -/* 04C660 8004BA60 4600A202 */ mul.s $f8, $f20, $f0 -/* 04C664 8004BA64 E7AC00EC */ swc1 $f12, 0xec($sp) -/* 04C668 8004BA68 02202025 */ move $a0, $s1 -/* 04C66C 8004BA6C 46003282 */ mul.s $f10, $f6, $f0 -/* 04C670 8004BA70 44054000 */ mfc1 $a1, $f8 -/* 04C674 8004BA74 46006482 */ mul.s $f18, $f12, $f0 -/* 04C678 8004BA78 44065000 */ mfc1 $a2, $f10 -/* 04C67C 8004BA7C 44079000 */ mfc1 $a3, $f18 -/* 04C680 8004BA80 0C00455C */ jal move_object -/* 04C684 8004BA84 00000000 */ nop -/* 04C688 8004BA88 C7AC00EC */ lwc1 $f12, 0xec($sp) -/* 04C68C 8004BA8C 10400006 */ beqz $v0, .L8004BAA8 -/* 04C690 8004BA90 3C0C8012 */ lui $t4, %hi(gCurrentPlayerIndex) # $t4, 0x8012 -/* 04C694 8004BA94 8D8CD55C */ lw $t4, %lo(gCurrentPlayerIndex)($t4) -/* 04C698 8004BA98 2401FFFF */ li $at, -1 -/* 04C69C 8004BA9C 11810002 */ beq $t4, $at, .L8004BAA8 -/* 04C6A0 8004BAA0 24190001 */ li $t9, 1 -/* 04C6A4 8004BAA4 A3B9005F */ sb $t9, 0x5f($sp) -.L8004BAA8: -/* 04C6A8 8004BAA8 3C028012 */ lui $v0, %hi(gCurrentPlayerIndex) # $v0, 0x8012 -/* 04C6AC 8004BAAC 8C42D55C */ lw $v0, %lo(gCurrentPlayerIndex)($v0) -/* 04C6B0 8004BAB0 1000000B */ b .L8004BAE0 -/* 04C6B4 8004BAB4 820801E2 */ lb $t0, 0x1e2($s0) -/* 04C6B8 8004BAB8 8FA600FC */ lw $a2, 0xfc($sp) -.L8004BABC: -/* 04C6BC 8004BABC 02202025 */ move $a0, $s1 -/* 04C6C0 8004BAC0 02002825 */ move $a1, $s0 -/* 04C6C4 8004BAC4 0C0141D5 */ jal racer_approach_object -/* 04C6C8 8004BAC8 E7AC00EC */ swc1 $f12, 0xec($sp) -/* 04C6CC 8004BACC 3C028012 */ lui $v0, %hi(gCurrentPlayerIndex) # $v0, 0x8012 -/* 04C6D0 8004BAD0 8C42D55C */ lw $v0, %lo(gCurrentPlayerIndex)($v0) -/* 04C6D4 8004BAD4 C7AC00EC */ lwc1 $f12, 0xec($sp) -/* 04C6D8 8004BAD8 00000000 */ nop -/* 04C6DC 8004BADC 820801E2 */ lb $t0, 0x1e2($s0) -.L8004BAE0: -/* 04C6E0 8004BAE0 2401FFFF */ li $at, -1 -/* 04C6E4 8004BAE4 14410017 */ bne $v0, $at, .L8004BB44 -/* 04C6E8 8004BAE8 8FA600F8 */ lw $a2, 0xf8($sp) -/* 04C6EC 8004BAEC 820F01D7 */ lb $t7, 0x1d7($s0) -/* 04C6F0 8004BAF0 2401000D */ li $at, 13 -/* 04C6F4 8004BAF4 15E10005 */ bne $t7, $at, .L8004BB0C -/* 04C6F8 8004BAF8 3C0D8012 */ lui $t5, %hi(gRaceStartTimer) # $t5, 0x8012 -/* 04C6FC 8004BAFC 8DADD540 */ lw $t5, %lo(gRaceStartTimer)($t5) -/* 04C700 8004BB00 00000000 */ nop -/* 04C704 8004BB04 11A0000B */ beqz $t5, .L8004BB34 -/* 04C708 8004BB08 00000000 */ nop -.L8004BB0C: -/* 04C70C 8004BB0C 8FA600F8 */ lw $a2, 0xf8($sp) -/* 04C710 8004BB10 02202025 */ move $a0, $s1 -/* 04C714 8004BB14 02002825 */ move $a1, $s0 -/* 04C718 8004BB18 AFA800B8 */ sw $t0, 0xb8($sp) -/* 04C71C 8004BB1C 0C0156A1 */ jal onscreen_ai_racer_physics -/* 04C720 8004BB20 E7AC00EC */ swc1 $f12, 0xec($sp) -/* 04C724 8004BB24 8FA800B8 */ lw $t0, 0xb8($sp) -/* 04C728 8004BB28 C7AC00EC */ lwc1 $f12, 0xec($sp) -/* 04C72C 8004BB2C 1000000D */ b .L8004BB64 -/* 04C730 8004BB30 00000000 */ nop -.L8004BB34: -/* 04C734 8004BB34 A20001E2 */ sb $zero, 0x1e2($s0) -/* 04C738 8004BB38 1000000A */ b .L8004BB64 -/* 04C73C 8004BB3C A20001E3 */ sb $zero, 0x1e3($s0) -/* 04C740 8004BB40 8FA600F8 */ lw $a2, 0xf8($sp) -.L8004BB44: -/* 04C744 8004BB44 02202025 */ move $a0, $s1 -/* 04C748 8004BB48 02002825 */ move $a1, $s0 -/* 04C74C 8004BB4C AFA800B8 */ sw $t0, 0xb8($sp) -/* 04C750 8004BB50 0C0153F4 */ jal func_80054FD0 -/* 04C754 8004BB54 E7AC00EC */ swc1 $f12, 0xec($sp) -/* 04C758 8004BB58 8FA800B8 */ lw $t0, 0xb8($sp) -/* 04C75C 8004BB5C C7AC00EC */ lwc1 $f12, 0xec($sp) -/* 04C760 8004BB60 00000000 */ nop -.L8004BB64: -/* 04C764 8004BB64 15000015 */ bnez $t0, .L8004BBBC -/* 04C768 8004BB68 00000000 */ nop -/* 04C76C 8004BB6C 820B01E2 */ lb $t3, 0x1e2($s0) -/* 04C770 8004BB70 00000000 */ nop -/* 04C774 8004BB74 11600011 */ beqz $t3, .L8004BBBC -/* 04C778 8004BB78 00000000 */ nop -/* 04C77C 8004BB7C 820E01DB */ lb $t6, 0x1db($s0) -/* 04C780 8004BB80 02202025 */ move $a0, $s1 -/* 04C784 8004BB84 11C0000D */ beqz $t6, .L8004BBBC -/* 04C788 8004BB88 2405000C */ li $a1, 12 -/* 04C78C 8004BB8C 0C015C12 */ jal racer_play_sound -/* 04C790 8004BB90 E7AC00EC */ swc1 $f12, 0xec($sp) -/* 04C794 8004BB94 86180000 */ lh $t8, ($s0) -/* 04C798 8004BB98 C7AC00EC */ lwc1 $f12, 0xec($sp) -/* 04C79C 8004BB9C 2401FFFF */ li $at, -1 -/* 04C7A0 8004BBA0 13010006 */ beq $t8, $at, .L8004BBBC -/* 04C7A4 8004BBA4 3C0C8012 */ lui $t4, %hi(gCameraObject) # $t4, 0x8012 -/* 04C7A8 8004BBA8 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 04C7AC 8004BBAC 44812000 */ mtc1 $at, $f4 -/* 04C7B0 8004BBB0 8D8CD508 */ lw $t4, %lo(gCameraObject)($t4) -/* 04C7B4 8004BBB4 00000000 */ nop -/* 04C7B8 8004BBB8 E5840030 */ swc1 $f4, 0x30($t4) -.L8004BBBC: -/* 04C7BC 8004BBBC 820201D2 */ lb $v0, 0x1d2($s0) -/* 04C7C0 8004BBC0 3C0B8012 */ lui $t3, %hi(gRaceStartTimer) # $t3, 0x8012 -/* 04C7C4 8004BBC4 1040000B */ beqz $v0, .L8004BBF4 -/* 04C7C8 8004BBC8 3C058012 */ lui $a1, %hi(gCurrentRacerTransform) # $a1, 0x8012 -/* 04C7CC 8004BBCC 8FB900F8 */ lw $t9, 0xf8($sp) -/* 04C7D0 8004BBD0 00000000 */ nop -/* 04C7D4 8004BBD4 00597823 */ subu $t7, $v0, $t9 -/* 04C7D8 8004BBD8 A20F01D2 */ sb $t7, 0x1d2($s0) -/* 04C7DC 8004BBDC 820D01D2 */ lb $t5, 0x1d2($s0) -/* 04C7E0 8004BBE0 00000000 */ nop -/* 04C7E4 8004BBE4 05A1001B */ bgez $t5, .L8004BC54 -/* 04C7E8 8004BBE8 00000000 */ nop -/* 04C7EC 8004BBEC 10000019 */ b .L8004BC54 -/* 04C7F0 8004BBF0 A20001D2 */ sb $zero, 0x1d2($s0) -.L8004BBF4: -/* 04C7F4 8004BBF4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04C7F8 8004BBF8 44814000 */ mtc1 $at, $f8 -/* 04C7FC 8004BBFC C7A600FC */ lwc1 $f6, 0xfc($sp) -/* 04C800 8004BC00 C62A000C */ lwc1 $f10, 0xc($s1) -/* 04C804 8004BC04 46064003 */ div.s $f0, $f8, $f6 -/* 04C808 8004BC08 C7B200E8 */ lwc1 $f18, 0xe8($sp) -/* 04C80C 8004BC0C 3C018012 */ lui $at, %hi(D_8011D548) # $at, 0x8012 -/* 04C810 8004BC10 C428D548 */ lwc1 $f8, %lo(D_8011D548)($at) -/* 04C814 8004BC14 46125101 */ sub.s $f4, $f10, $f18 -/* 04C818 8004BC18 C7B200E4 */ lwc1 $f18, 0xe4($sp) -/* 04C81C 8004BC1C 46082181 */ sub.s $f6, $f4, $f8 -/* 04C820 8004BC20 C62A0010 */ lwc1 $f10, 0x10($s1) -/* 04C824 8004BC24 3C018012 */ lui $at, %hi(D_8011D54C) # $at, 0x8012 -/* 04C828 8004BC28 46003502 */ mul.s $f20, $f6, $f0 -/* 04C82C 8004BC2C 46125101 */ sub.s $f4, $f10, $f18 -/* 04C830 8004BC30 C6260014 */ lwc1 $f6, 0x14($s1) -/* 04C834 8004BC34 46002202 */ mul.s $f8, $f4, $f0 -/* 04C838 8004BC38 E6280020 */ swc1 $f8, 0x20($s1) -/* 04C83C 8004BC3C C7AA00E0 */ lwc1 $f10, 0xe0($sp) -/* 04C840 8004BC40 C424D54C */ lwc1 $f4, %lo(D_8011D54C)($at) -/* 04C844 8004BC44 460A3481 */ sub.s $f18, $f6, $f10 -/* 04C848 8004BC48 46049201 */ sub.s $f8, $f18, $f4 -/* 04C84C 8004BC4C 46004302 */ mul.s $f12, $f8, $f0 -/* 04C850 8004BC50 00000000 */ nop -.L8004BC54: -/* 04C854 8004BC54 8D6BD540 */ lw $t3, %lo(gRaceStartTimer)($t3) -/* 04C858 8004BC58 24010064 */ li $at, 100 -/* 04C85C 8004BC5C 15610005 */ bne $t3, $at, .L8004BC74 -/* 04C860 8004BC60 24A5D510 */ addiu $a1, %lo(gCurrentRacerTransform) # addiu $a1, $a1, -0x2af0 -/* 04C864 8004BC64 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -/* 04C868 8004BC68 44813000 */ mtc1 $at, $f6 -/* 04C86C 8004BC6C 00000000 */ nop -/* 04C870 8004BC70 E6260020 */ swc1 $f6, 0x20($s1) -.L8004BC74: -/* 04C874 8004BC74 862E0000 */ lh $t6, ($s1) -/* 04C878 8004BC78 E634001C */ swc1 $f20, 0x1c($s1) -/* 04C87C 8004BC7C E62C0024 */ swc1 $f12, 0x24($s1) -/* 04C880 8004BC80 000EC023 */ negu $t8, $t6 -/* 04C884 8004BC84 A4B80000 */ sh $t8, ($a1) -/* 04C888 8004BC88 862C0002 */ lh $t4, 2($s1) -/* 04C88C 8004BC8C 44800000 */ mtc1 $zero, $f0 -/* 04C890 8004BC90 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04C894 8004BC94 44815000 */ mtc1 $at, $f10 -/* 04C898 8004BC98 000CC823 */ negu $t9, $t4 -/* 04C89C 8004BC9C A4B90002 */ sh $t9, 2($a1) -/* 04C8A0 8004BCA0 A4A00004 */ sh $zero, 4($a1) -/* 04C8A4 8004BCA4 27A40060 */ addiu $a0, $sp, 0x60 -/* 04C8A8 8004BCA8 E4A0000C */ swc1 $f0, 0xc($a1) -/* 04C8AC 8004BCAC E4A00010 */ swc1 $f0, 0x10($a1) -/* 04C8B0 8004BCB0 E4A00014 */ swc1 $f0, 0x14($a1) -/* 04C8B4 8004BCB4 0C01BF9D */ jal object_transform_to_matrix_2 -/* 04C8B8 8004BCB8 E4AA0008 */ swc1 $f10, 8($a1) -/* 04C8BC 8004BCBC 8E25001C */ lw $a1, 0x1c($s1) -/* 04C8C0 8004BCC0 8E260020 */ lw $a2, 0x20($s1) -/* 04C8C4 8004BCC4 8E270024 */ lw $a3, 0x24($s1) -/* 04C8C8 8004BCC8 260F0030 */ addiu $t7, $s0, 0x30 -/* 04C8CC 8004BCCC 260D0034 */ addiu $t5, $s0, 0x34 -/* 04C8D0 8004BCD0 260B002C */ addiu $t3, $s0, 0x2c -/* 04C8D4 8004BCD4 AFAB0018 */ sw $t3, 0x18($sp) -/* 04C8D8 8004BCD8 AFAD0014 */ sw $t5, 0x14($sp) -/* 04C8DC 8004BCDC AFAF0010 */ sw $t7, 0x10($sp) -/* 04C8E0 8004BCE0 0C01BD93 */ jal guMtxXFMF -/* 04C8E4 8004BCE4 27A40060 */ addiu $a0, $sp, 0x60 -/* 04C8E8 8004BCE8 8E230060 */ lw $v1, 0x60($s1) -/* 04C8EC 8004BCEC 00000000 */ nop -/* 04C8F0 8004BCF0 10600013 */ beqz $v1, .L8004BD40 -/* 04C8F4 8004BCF4 00000000 */ nop -/* 04C8F8 8004BCF8 8C6E0000 */ lw $t6, ($v1) -/* 04C8FC 8004BCFC 00000000 */ nop -/* 04C900 8004BD00 29C10003 */ slti $at, $t6, 3 -/* 04C904 8004BD04 1420000E */ bnez $at, .L8004BD40 -/* 04C908 8004BD08 00000000 */ nop -/* 04C90C 8004BD0C 8C62000C */ lw $v0, 0xc($v1) -/* 04C910 8004BD10 24184000 */ li $t8, 16384 -/* 04C914 8004BD14 804C003A */ lb $t4, 0x3a($v0) -/* 04C918 8004BD18 8C4F0040 */ lw $t7, 0x40($v0) -/* 04C91C 8004BD1C 25990001 */ addiu $t9, $t4, 1 -/* 04C920 8004BD20 A059003A */ sb $t9, 0x3a($v0) -/* 04C924 8004BD24 A4580000 */ sh $t8, ($v0) -/* 04C928 8004BD28 804B003A */ lb $t3, 0x3a($v0) -/* 04C92C 8004BD2C 81ED0055 */ lb $t5, 0x55($t7) -/* 04C930 8004BD30 00000000 */ nop -/* 04C934 8004BD34 15AB0002 */ bne $t5, $t3, .L8004BD40 -/* 04C938 8004BD38 00000000 */ nop -/* 04C93C 8004BD3C A040003A */ sb $zero, 0x3a($v0) -.L8004BD40: -/* 04C940 8004BD40 8E230060 */ lw $v1, 0x60($s1) -/* 04C944 8004BD44 00000000 */ nop -/* 04C948 8004BD48 1060005F */ beqz $v1, .L8004BEC8 -/* 04C94C 8004BD4C 00000000 */ nop -/* 04C950 8004BD50 8C6E0000 */ lw $t6, ($v1) -/* 04C954 8004BD54 00000000 */ nop -/* 04C958 8004BD58 29C10003 */ slti $at, $t6, 3 -/* 04C95C 8004BD5C 1420005A */ bnez $at, .L8004BEC8 -/* 04C960 8004BD60 00000000 */ nop -/* 04C964 8004BD64 821801E2 */ lb $t8, 0x1e2($s0) -/* 04C968 8004BD68 83AC00A2 */ lb $t4, 0xa2($sp) -/* 04C96C 8004BD6C 17000003 */ bnez $t8, .L8004BD7C -/* 04C970 8004BD70 00000000 */ nop -/* 04C974 8004BD74 11800030 */ beqz $t4, .L8004BE38 -/* 04C978 8004BD78 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -.L8004BD7C: -/* 04C97C 8004BD7C 8C620004 */ lw $v0, 4($v1) -/* 04C980 8004BD80 44809000 */ mtc1 $zero, $f18 -/* 04C984 8004BD84 C4400010 */ lwc1 $f0, 0x10($v0) -/* 04C988 8004BD88 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 04C98C 8004BD8C 4600903C */ c.lt.s $f18, $f0 -/* 04C990 8004BD90 00000000 */ nop -/* 04C994 8004BD94 45000008 */ bc1f .L8004BDB8 -/* 04C998 8004BD98 00000000 */ nop -/* 04C99C 8004BD9C 44814800 */ mtc1 $at, $f9 -/* 04C9A0 8004BDA0 44804000 */ mtc1 $zero, $f8 -/* 04C9A4 8004BDA4 46000121 */ cvt.d.s $f4, $f0 -/* 04C9A8 8004BDA8 46282181 */ sub.d $f6, $f4, $f8 -/* 04C9AC 8004BDAC 462032A0 */ cvt.s.d $f10, $f6 -/* 04C9B0 8004BDB0 10000004 */ b .L8004BDC4 -/* 04C9B4 8004BDB4 E44A0010 */ swc1 $f10, 0x10($v0) -.L8004BDB8: -/* 04C9B8 8004BDB8 44809000 */ mtc1 $zero, $f18 -/* 04C9BC 8004BDBC 00000000 */ nop -/* 04C9C0 8004BDC0 E4520010 */ swc1 $f18, 0x10($v0) -.L8004BDC4: -/* 04C9C4 8004BDC4 84590006 */ lh $t9, 6($v0) -/* 04C9C8 8004BDC8 44802000 */ mtc1 $zero, $f4 -/* 04C9CC 8004BDCC 332FBFFF */ andi $t7, $t9, 0xbfff -/* 04C9D0 8004BDD0 A44F0006 */ sh $t7, 6($v0) -/* 04C9D4 8004BDD4 8E2D0060 */ lw $t5, 0x60($s1) -/* 04C9D8 8004BDD8 2403BFFF */ li $v1, -16385 -/* 04C9DC 8004BDDC 8DA20008 */ lw $v0, 8($t5) -/* 04C9E0 8004BDE0 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 04C9E4 8004BDE4 C4400010 */ lwc1 $f0, 0x10($v0) -/* 04C9E8 8004BDE8 00000000 */ nop -/* 04C9EC 8004BDEC 4600203C */ c.lt.s $f4, $f0 -/* 04C9F0 8004BDF0 00000000 */ nop -/* 04C9F4 8004BDF4 45000008 */ bc1f .L8004BE18 -/* 04C9F8 8004BDF8 00000000 */ nop -/* 04C9FC 8004BDFC 44813800 */ mtc1 $at, $f7 -/* 04CA00 8004BE00 44803000 */ mtc1 $zero, $f6 -/* 04CA04 8004BE04 46000221 */ cvt.d.s $f8, $f0 -/* 04CA08 8004BE08 46264281 */ sub.d $f10, $f8, $f6 -/* 04CA0C 8004BE0C 462054A0 */ cvt.s.d $f18, $f10 -/* 04CA10 8004BE10 10000004 */ b .L8004BE24 -/* 04CA14 8004BE14 E4520010 */ swc1 $f18, 0x10($v0) -.L8004BE18: -/* 04CA18 8004BE18 44802000 */ mtc1 $zero, $f4 -/* 04CA1C 8004BE1C 00000000 */ nop -/* 04CA20 8004BE20 E4440010 */ swc1 $f4, 0x10($v0) -.L8004BE24: -/* 04CA24 8004BE24 844B0006 */ lh $t3, 6($v0) -/* 04CA28 8004BE28 00000000 */ nop -/* 04CA2C 8004BE2C 01637024 */ and $t6, $t3, $v1 -/* 04CA30 8004BE30 10000025 */ b .L8004BEC8 -/* 04CA34 8004BE34 A44E0006 */ sh $t6, 6($v0) -.L8004BE38: -/* 04CA38 8004BE38 8C620004 */ lw $v0, 4($v1) -/* 04CA3C 8004BE3C 44814000 */ mtc1 $at, $f8 -/* 04CA40 8004BE40 C4400010 */ lwc1 $f0, 0x10($v0) -/* 04CA44 8004BE44 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04CA48 8004BE48 4608003C */ c.lt.s $f0, $f8 -/* 04CA4C 8004BE4C 00000000 */ nop -/* 04CA50 8004BE50 45000006 */ bc1f .L8004BE6C -/* 04CA54 8004BE54 00000000 */ nop -/* 04CA58 8004BE58 44813000 */ mtc1 $at, $f6 -/* 04CA5C 8004BE5C 00000000 */ nop -/* 04CA60 8004BE60 46060280 */ add.s $f10, $f0, $f6 -/* 04CA64 8004BE64 10000005 */ b .L8004BE7C -/* 04CA68 8004BE68 E44A0010 */ swc1 $f10, 0x10($v0) -.L8004BE6C: -/* 04CA6C 8004BE6C 84580006 */ lh $t8, 6($v0) -/* 04CA70 8004BE70 00000000 */ nop -/* 04CA74 8004BE74 370C4000 */ ori $t4, $t8, 0x4000 -/* 04CA78 8004BE78 A44C0006 */ sh $t4, 6($v0) -.L8004BE7C: -/* 04CA7C 8004BE7C 8E390060 */ lw $t9, 0x60($s1) -/* 04CA80 8004BE80 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 04CA84 8004BE84 8F220008 */ lw $v0, 8($t9) -/* 04CA88 8004BE88 44819000 */ mtc1 $at, $f18 -/* 04CA8C 8004BE8C C4400010 */ lwc1 $f0, 0x10($v0) -/* 04CA90 8004BE90 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04CA94 8004BE94 4612003C */ c.lt.s $f0, $f18 -/* 04CA98 8004BE98 00000000 */ nop -/* 04CA9C 8004BE9C 45000006 */ bc1f .L8004BEB8 -/* 04CAA0 8004BEA0 00000000 */ nop -/* 04CAA4 8004BEA4 44812000 */ mtc1 $at, $f4 -/* 04CAA8 8004BEA8 00000000 */ nop -/* 04CAAC 8004BEAC 46040200 */ add.s $f8, $f0, $f4 -/* 04CAB0 8004BEB0 10000005 */ b .L8004BEC8 -/* 04CAB4 8004BEB4 E4480010 */ swc1 $f8, 0x10($v0) -.L8004BEB8: -/* 04CAB8 8004BEB8 844F0006 */ lh $t7, 6($v0) -/* 04CABC 8004BEBC 00000000 */ nop -/* 04CAC0 8004BEC0 35ED4000 */ ori $t5, $t7, 0x4000 -/* 04CAC4 8004BEC4 A44D0006 */ sh $t5, 6($v0) -.L8004BEC8: -/* 04CAC8 8004BEC8 3C0B8012 */ lui $t3, %hi(gCurrentPlayerIndex) # $t3, 0x8012 -/* 04CACC 8004BECC 8D6BD55C */ lw $t3, %lo(gCurrentPlayerIndex)($t3) -/* 04CAD0 8004BED0 2401FFFF */ li $at, -1 -/* 04CAD4 8004BED4 11610046 */ beq $t3, $at, .L8004BFF0 -/* 04CAD8 8004BED8 00000000 */ nop -/* 04CADC 8004BEDC 820E01D3 */ lb $t6, 0x1d3($s0) -/* 04CAE0 8004BEE0 3C18800E */ lui $t8, %hi(gNumViewports) # $t8, 0x800e -/* 04CAE4 8004BEE4 15C00042 */ bnez $t6, .L8004BFF0 -/* 04CAE8 8004BEE8 00000000 */ nop -/* 04CAEC 8004BEEC 8F18CB98 */ lw $t8, %lo(gNumViewports)($t8) -/* 04CAF0 8004BEF0 00000000 */ nop -/* 04CAF4 8004BEF4 2B010002 */ slti $at, $t8, 2 -/* 04CAF8 8004BEF8 1020003D */ beqz $at, .L8004BFF0 -/* 04CAFC 8004BEFC 00000000 */ nop -/* 04CB00 8004BF00 0C0078A7 */ jal get_misc_asset -/* 04CB04 8004BF04 24040014 */ li $a0, 20 -/* 04CB08 8004BF08 82080203 */ lb $t0, 0x203($s0) -/* 04CB0C 8004BF0C 820C0002 */ lb $t4, 2($s0) -/* 04CB10 8004BF10 310F0004 */ andi $t7, $t0, 4 -/* 04CB14 8004BF14 000F6883 */ sra $t5, $t7, 2 -/* 04CB18 8004BF18 25A80009 */ addiu $t0, $t5, 9 -/* 04CB1C 8004BF1C 2901000A */ slti $at, $t0, 0xa -/* 04CB20 8004BF20 000CC9C0 */ sll $t9, $t4, 7 -/* 04CB24 8004BF24 14200012 */ bnez $at, .L8004BF70 -/* 04CB28 8004BF28 03221821 */ addu $v1, $t9, $v0 -/* 04CB2C 8004BF2C 906B0070 */ lbu $t3, 0x70($v1) -/* 04CB30 8004BF30 24180001 */ li $t8, 1 -/* 04CB34 8004BF34 1D600009 */ bgtz $t3, .L8004BF5C -/* 04CB38 8004BF38 00000000 */ nop -/* 04CB3C 8004BF3C C46A0074 */ lwc1 $f10, 0x74($v1) -/* 04CB40 8004BF40 44803800 */ mtc1 $zero, $f7 -/* 04CB44 8004BF44 44803000 */ mtc1 $zero, $f6 -/* 04CB48 8004BF48 460054A1 */ cvt.d.s $f18, $f10 -/* 04CB4C 8004BF4C 4632303C */ c.lt.d $f6, $f18 -/* 04CB50 8004BF50 00000000 */ nop -/* 04CB54 8004BF54 45000026 */ bc1f .L8004BFF0 -/* 04CB58 8004BF58 00000000 */ nop -.L8004BF5C: -/* 04CB5C 8004BF5C 8E2E0074 */ lw $t6, 0x74($s1) -/* 04CB60 8004BF60 01186004 */ sllv $t4, $t8, $t0 -/* 04CB64 8004BF64 01CCC825 */ or $t9, $t6, $t4 -/* 04CB68 8004BF68 10000021 */ b .L8004BFF0 -/* 04CB6C 8004BF6C AE390074 */ sw $t9, 0x74($s1) -.L8004BF70: -/* 04CB70 8004BF70 90620070 */ lbu $v0, 0x70($v1) -/* 04CB74 8004BF74 24010002 */ li $at, 2 -/* 04CB78 8004BF78 14410010 */ bne $v0, $at, .L8004BFBC -/* 04CB7C 8004BF7C 28410002 */ slti $at, $v0, 2 -/* 04CB80 8004BF80 C4640074 */ lwc1 $f4, 0x74($v1) -/* 04CB84 8004BF84 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 04CB88 8004BF88 44815800 */ mtc1 $at, $f11 -/* 04CB8C 8004BF8C 44805000 */ mtc1 $zero, $f10 -/* 04CB90 8004BF90 46002221 */ cvt.d.s $f8, $f4 -/* 04CB94 8004BF94 462A403C */ c.lt.d $f8, $f10 -/* 04CB98 8004BF98 240D0001 */ li $t5, 1 -/* 04CB9C 8004BF9C 45000007 */ bc1f .L8004BFBC -/* 04CBA0 8004BFA0 28410002 */ slti $at, $v0, 2 -/* 04CBA4 8004BFA4 8E2F0074 */ lw $t7, 0x74($s1) -/* 04CBA8 8004BFA8 010D5804 */ sllv $t3, $t5, $t0 -/* 04CBAC 8004BFAC 01EBC025 */ or $t8, $t7, $t3 -/* 04CBB0 8004BFB0 1000000F */ b .L8004BFF0 -/* 04CBB4 8004BFB4 AE380074 */ sw $t8, 0x74($s1) -/* 04CBB8 8004BFB8 28410002 */ slti $at, $v0, 2 -.L8004BFBC: -/* 04CBBC 8004BFBC 1020000C */ beqz $at, .L8004BFF0 -/* 04CBC0 8004BFC0 00000000 */ nop -/* 04CBC4 8004BFC4 44803000 */ mtc1 $zero, $f6 -/* 04CBC8 8004BFC8 C4720074 */ lwc1 $f18, 0x74($v1) -/* 04CBCC 8004BFCC 240C0001 */ li $t4, 1 -/* 04CBD0 8004BFD0 4612303C */ c.lt.s $f6, $f18 -/* 04CBD4 8004BFD4 00000000 */ nop -/* 04CBD8 8004BFD8 45000005 */ bc1f .L8004BFF0 -/* 04CBDC 8004BFDC 00000000 */ nop -/* 04CBE0 8004BFE0 8E2E0074 */ lw $t6, 0x74($s1) -/* 04CBE4 8004BFE4 010CC804 */ sllv $t9, $t4, $t0 -/* 04CBE8 8004BFE8 01D96825 */ or $t5, $t6, $t9 -/* 04CBEC 8004BFEC AE2D0074 */ sw $t5, 0x74($s1) -.L8004BFF0: -/* 04CBF0 8004BFF0 3C0F8012 */ lui $t7, %hi(gCurrentPlayerIndex) # $t7, 0x8012 -/* 04CBF4 8004BFF4 8DEFD55C */ lw $t7, %lo(gCurrentPlayerIndex)($t7) -/* 04CBF8 8004BFF8 2401FFFF */ li $at, -1 -/* 04CBFC 8004BFFC 15E10002 */ bne $t7, $at, .L8004C008 -/* 04CC00 8004C000 00000000 */ nop -/* 04CC04 8004C004 AE200074 */ sw $zero, 0x74($s1) -.L8004C008: -/* 04CC08 8004C008 820B0201 */ lb $t3, 0x201($s0) -/* 04CC0C 8004C00C 00000000 */ nop -/* 04CC10 8004C010 15600002 */ bnez $t3, .L8004C01C -/* 04CC14 8004C014 00000000 */ nop -/* 04CC18 8004C018 AE200074 */ sw $zero, 0x74($s1) -.L8004C01C: -/* 04CC1C 8004C01C 821801D7 */ lb $t8, 0x1d7($s0) -/* 04CC20 8004C020 8FA500F8 */ lw $a1, 0xf8($sp) -/* 04CC24 8004C024 2B010005 */ slti $at, $t8, 5 -/* 04CC28 8004C028 10200004 */ beqz $at, .L8004C03C -/* 04CC2C 8004C02C 83AC00A1 */ lb $t4, 0xa1($sp) -/* 04CC30 8004C030 0C02BDC5 */ jal func_800AF714 -/* 04CC34 8004C034 02202025 */ move $a0, $s1 -/* 04CC38 8004C038 83AC00A1 */ lb $t4, 0xa1($sp) -.L8004C03C: -/* 04CC3C 8004C03C 02202025 */ move $a0, $s1 -/* 04CC40 8004C040 11800007 */ beqz $t4, .L8004C060 -/* 04CC44 8004C044 02002825 */ move $a1, $s0 -/* 04CC48 8004C048 3C028012 */ lui $v0, %hi(gCurrentRacerInput) # $v0, 0x8012 -/* 04CC4C 8004C04C 2442D528 */ addiu $v0, %lo(gCurrentRacerInput) # addiu $v0, $v0, -0x2ad8 -/* 04CC50 8004C050 8C4E0000 */ lw $t6, ($v0) -/* 04CC54 8004C054 00000000 */ nop -/* 04CC58 8004C058 35D90010 */ ori $t9, $t6, 0x10 -/* 04CC5C 8004C05C AC590000 */ sw $t9, ($v0) -.L8004C060: -/* 04CC60 8004C060 8FA700FC */ lw $a3, 0xfc($sp) -/* 04CC64 8004C064 0C01602D */ jal second_racer_camera_update -/* 04CC68 8004C068 24060001 */ li $a2, 1 -/* 04CC6C 8004C06C 83AD005F */ lb $t5, 0x5f($sp) -/* 04CC70 8004C070 02202025 */ move $a0, $s1 -/* 04CC74 8004C074 11A00004 */ beqz $t5, .L8004C088 -/* 04CC78 8004C078 8FBF0034 */ lw $ra, 0x34($sp) -/* 04CC7C 8004C07C 0C008C34 */ jal func_800230D0 -/* 04CC80 8004C080 02002825 */ move $a1, $s0 -/* 04CC84 8004C084 8FBF0034 */ lw $ra, 0x34($sp) -.L8004C088: -/* 04CC88 8004C088 C7B50020 */ lwc1 $f21, 0x20($sp) -/* 04CC8C 8004C08C C7B40024 */ lwc1 $f20, 0x24($sp) -/* 04CC90 8004C090 8FB0002C */ lw $s0, 0x2c($sp) -/* 04CC94 8004C094 8FB10030 */ lw $s1, 0x30($sp) -/* 04CC98 8004C098 03E00008 */ jr $ra -/* 04CC9C 8004C09C 27BD00F8 */ addiu $sp, $sp, 0xf8 - diff --git a/asm/non_matchings/racer/func_8004CC20.s b/asm/non_matchings/racer/func_8004CC20.s deleted file mode 100644 index a97b6a94..00000000 --- a/asm/non_matchings/racer/func_8004CC20.s +++ /dev/null @@ -1,651 +0,0 @@ -.late_rodata -glabel D_800E6580 -.float 1.3 -glabel D_800E6584 -.float 0.1 -glabel D_800E6588 -.float 0.002 -glabel D_800E658C -.float 0.01 - -.text -glabel func_8004CC20 -/* 04D820 8004CC20 27BDFF28 */ addiu $sp, $sp, -0xd8 -/* 04D824 8004CC24 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D828 8004CC28 AFB10028 */ sw $s1, 0x28($sp) -/* 04D82C 8004CC2C AFB00024 */ sw $s0, 0x24($sp) -/* 04D830 8004CC30 AFA400D8 */ sw $a0, 0xd8($sp) -/* 04D834 8004CC34 AFA500DC */ sw $a1, 0xdc($sp) -/* 04D838 8004CC38 A3A0003F */ sb $zero, 0x3f($sp) -/* 04D83C 8004CC3C 8CE5017C */ lw $a1, 0x17c($a3) -/* 04D840 8004CC40 00E08025 */ move $s0, $a3 -/* 04D844 8004CC44 00C08825 */ move $s1, $a2 -/* 04D848 8004CC48 A4E0018E */ sh $zero, 0x18e($a3) -/* 04D84C 8004CC4C 10A00004 */ beqz $a1, .L8004CC60 -/* 04D850 8004CC50 A0E00189 */ sb $zero, 0x189($a3) -/* 04D854 8004CC54 0C0025BE */ jal func_800096F8 -/* 04D858 8004CC58 00A02025 */ move $a0, $a1 -/* 04D85C 8004CC5C AE00017C */ sw $zero, 0x17c($s0) -.L8004CC60: -/* 04D860 8004CC60 820201D3 */ lb $v0, 0x1d3($s0) -/* 04D864 8004CC64 00000000 */ nop -/* 04D868 8004CC68 14400007 */ bnez $v0, .L8004CC88 -/* 04D86C 8004CC6C 240E0008 */ li $t6, 8 -/* 04D870 8004CC70 A20E01D3 */ sb $t6, 0x1d3($s0) -/* 04D874 8004CC74 02202025 */ move $a0, $s1 -/* 04D878 8004CC78 0C015C12 */ jal racer_play_sound -/* 04D87C 8004CC7C 24050107 */ li $a1, 263 -/* 04D880 8004CC80 820201D3 */ lb $v0, 0x1d3($s0) -/* 04D884 8004CC84 00000000 */ nop -.L8004CC88: -/* 04D888 8004CC88 28410004 */ slti $at, $v0, 4 -/* 04D88C 8004CC8C 10200003 */ beqz $at, .L8004CC9C -/* 04D890 8004CC90 24040002 */ li $a0, 2 -/* 04D894 8004CC94 240F0004 */ li $t7, 4 -/* 04D898 8004CC98 A20F01D3 */ sb $t7, 0x1d3($s0) -.L8004CC9C: -/* 04D89C 8004CC9C 0C00AB32 */ jal func_8002ACC8 -/* 04D8A0 8004CCA0 A2000203 */ sb $zero, 0x203($s0) -/* 04D8A4 8004CCA4 3C018012 */ lui $at, %hi(D_8011D550) # $at, 0x8012 -/* 04D8A8 8004CCA8 A420D550 */ sh $zero, %lo(D_8011D550)($at) -/* 04D8AC 8004CCAC 3C018012 */ lui $at, %hi(gCurrentCarSteerVel) # $at, 0x8012 -/* 04D8B0 8004CCB0 AC20D554 */ sw $zero, %lo(gCurrentCarSteerVel)($at) -/* 04D8B4 8004CCB4 3C018012 */ lui $at, %hi(D_8011D558) # $at, 0x8012 -/* 04D8B8 8004CCB8 AC20D558 */ sw $zero, %lo(D_8011D558)($at) -/* 04D8BC 8004CCBC C624000C */ lwc1 $f4, 0xc($s1) -/* 04D8C0 8004CCC0 3C188012 */ lui $t8, %hi(gCurrentStickX) # $t8, 0x8012 -/* 04D8C4 8004CCC4 E7A400B8 */ swc1 $f4, 0xb8($sp) -/* 04D8C8 8004CCC8 C6260010 */ lwc1 $f6, 0x10($s1) -/* 04D8CC 8004CCCC 8F18D534 */ lw $t8, %lo(gCurrentStickX)($t8) -/* 04D8D0 8004CCD0 E7A600B4 */ swc1 $f6, 0xb4($sp) -/* 04D8D4 8004CCD4 C6280014 */ lwc1 $f8, 0x14($s1) -/* 04D8D8 8004CCD8 8FA800D8 */ lw $t0, 0xd8($sp) -/* 04D8DC 8004CCDC E7A800B0 */ swc1 $f8, 0xb0($sp) -/* 04D8E0 8004CCE0 820401E1 */ lb $a0, 0x1e1($s0) -/* 04D8E4 8004CCE4 3C0C8012 */ lui $t4, %hi(gCurrentStickY) # $t4, 0x8012 -/* 04D8E8 8004CCE8 03041823 */ subu $v1, $t8, $a0 -/* 04D8EC 8004CCEC 00680019 */ multu $v1, $t0 -/* 04D8F0 8004CCF0 02002825 */ move $a1, $s0 -/* 04D8F4 8004CCF4 00001012 */ mflo $v0 -/* 04D8F8 8004CCF8 0002C903 */ sra $t9, $v0, 4 -/* 04D8FC 8004CCFC 10600009 */ beqz $v1, .L8004CD24 -/* 04D900 8004CD00 03203025 */ move $a2, $t9 -/* 04D904 8004CD04 17200008 */ bnez $t9, .L8004CD28 -/* 04D908 8004CD08 00865821 */ addu $t3, $a0, $a2 -/* 04D90C 8004CD0C 18600002 */ blez $v1, .L8004CD18 -/* 04D910 8004CD10 00000000 */ nop -/* 04D914 8004CD14 24060001 */ li $a2, 1 -.L8004CD18: -/* 04D918 8004CD18 04610003 */ bgez $v1, .L8004CD28 -/* 04D91C 8004CD1C 00865821 */ addu $t3, $a0, $a2 -/* 04D920 8004CD20 2406FFFF */ li $a2, -1 -.L8004CD24: -/* 04D924 8004CD24 00865821 */ addu $t3, $a0, $a2 -.L8004CD28: -/* 04D928 8004CD28 A20B01E1 */ sb $t3, 0x1e1($s0) -/* 04D92C 8004CD2C 8D8CD538 */ lw $t4, %lo(gCurrentStickY)($t4) -/* 04D930 8004CD30 820701E8 */ lb $a3, 0x1e8($s0) -/* 04D934 8004CD34 02202025 */ move $a0, $s1 -/* 04D938 8004CD38 01871823 */ subu $v1, $t4, $a3 -/* 04D93C 8004CD3C 00680019 */ multu $v1, $t0 -/* 04D940 8004CD40 00001012 */ mflo $v0 -/* 04D944 8004CD44 00026903 */ sra $t5, $v0, 4 -/* 04D948 8004CD48 10600009 */ beqz $v1, .L8004CD70 -/* 04D94C 8004CD4C 01A03025 */ move $a2, $t5 -/* 04D950 8004CD50 15A00008 */ bnez $t5, .L8004CD74 -/* 04D954 8004CD54 00E67021 */ addu $t6, $a3, $a2 -/* 04D958 8004CD58 18600002 */ blez $v1, .L8004CD64 -/* 04D95C 8004CD5C 00000000 */ nop -/* 04D960 8004CD60 24060001 */ li $a2, 1 -.L8004CD64: -/* 04D964 8004CD64 04610003 */ bgez $v1, .L8004CD74 -/* 04D968 8004CD68 00E67021 */ addu $t6, $a3, $a2 -/* 04D96C 8004CD6C 2406FFFF */ li $a2, -1 -.L8004CD70: -/* 04D970 8004CD70 00E67021 */ addu $t6, $a3, $a2 -.L8004CD74: -/* 04D974 8004CD74 A20E01E8 */ sb $t6, 0x1e8($s0) -/* 04D978 8004CD78 A6000160 */ sh $zero, 0x160($s0) -/* 04D97C 8004CD7C A6000162 */ sh $zero, 0x162($s0) -/* 04D980 8004CD80 0C015D7B */ jal func_800575EC -/* 04D984 8004CD84 A6000164 */ sh $zero, 0x164($s0) -/* 04D988 8004CD88 862F0000 */ lh $t7, ($s1) -/* 04D98C 8004CD8C 3C058012 */ lui $a1, %hi(gCurrentRacerTransform) # $a1, 0x8012 -/* 04D990 8004CD90 24A5D510 */ addiu $a1, %lo(gCurrentRacerTransform) # addiu $a1, $a1, -0x2af0 -/* 04D994 8004CD94 A4AF0000 */ sh $t7, ($a1) -/* 04D998 8004CD98 86380002 */ lh $t8, 2($s1) -/* 04D99C 8004CD9C 44800000 */ mtc1 $zero, $f0 -/* 04D9A0 8004CDA0 A4B80002 */ sh $t8, 2($a1) -/* 04D9A4 8004CDA4 86390004 */ lh $t9, 4($s1) -/* 04D9A8 8004CDA8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04D9AC 8004CDAC 44815000 */ mtc1 $at, $f10 -/* 04D9B0 8004CDB0 27A40048 */ addiu $a0, $sp, 0x48 -/* 04D9B4 8004CDB4 E4A0000C */ swc1 $f0, 0xc($a1) -/* 04D9B8 8004CDB8 E4A00010 */ swc1 $f0, 0x10($a1) -/* 04D9BC 8004CDBC E4A00014 */ swc1 $f0, 0x14($a1) -/* 04D9C0 8004CDC0 A4B90004 */ sh $t9, 4($a1) -/* 04D9C4 8004CDC4 0C01BF0C */ jal object_transform_to_matrix -/* 04D9C8 8004CDC8 E4AA0008 */ swc1 $f10, 8($a1) -/* 04D9CC 8004CDCC 44800000 */ mtc1 $zero, $f0 -/* 04D9D0 8004CDD0 260B0044 */ addiu $t3, $s0, 0x44 -/* 04D9D4 8004CDD4 260C0048 */ addiu $t4, $s0, 0x48 -/* 04D9D8 8004CDD8 260D004C */ addiu $t5, $s0, 0x4c -/* 04D9DC 8004CDDC 44050000 */ mfc1 $a1, $f0 -/* 04D9E0 8004CDE0 44070000 */ mfc1 $a3, $f0 -/* 04D9E4 8004CDE4 AFAD0018 */ sw $t5, 0x18($sp) -/* 04D9E8 8004CDE8 AFAC0014 */ sw $t4, 0x14($sp) -/* 04D9EC 8004CDEC AFAB0010 */ sw $t3, 0x10($sp) -/* 04D9F0 8004CDF0 27A40048 */ addiu $a0, $sp, 0x48 -/* 04D9F4 8004CDF4 0C01BD93 */ jal guMtxXFMF -/* 04D9F8 8004CDF8 3C063F80 */ lui $a2, 0x3f80 -/* 04D9FC 8004CDFC 340E8000 */ li $t6, 32768 -/* 04DA00 8004CE00 3C018012 */ lui $at, %hi(gCurrentRacerInput) # $at, 0x8012 -/* 04DA04 8004CE04 AC2ED528 */ sw $t6, %lo(gCurrentRacerInput)($at) -/* 04DA08 8004CE08 02202025 */ move $a0, $s1 -/* 04DA0C 8004CE0C 0C014D71 */ jal func_800535C4 -/* 04DA10 8004CE10 02002825 */ move $a1, $s0 -/* 04DA14 8004CE14 0C014D99 */ jal handle_car_velocity_control -/* 04DA18 8004CE18 02002025 */ move $a0, $s0 -/* 04DA1C 8004CE1C 8FA600DC */ lw $a2, 0xdc($sp) -/* 04DA20 8004CE20 02202025 */ move $a0, $s1 -/* 04DA24 8004CE24 0C014DD4 */ jal func_80053750 -/* 04DA28 8004CE28 02002825 */ move $a1, $s0 -/* 04DA2C 8004CE2C A220003B */ sb $zero, 0x3b($s1) -/* 04DA30 8004CE30 820201E1 */ lb $v0, 0x1e1($s0) -/* 04DA34 8004CE34 24180028 */ li $t8, 40 -/* 04DA38 8004CE38 00027843 */ sra $t7, $v0, 1 -/* 04DA3C 8004CE3C 030F1023 */ subu $v0, $t8, $t7 -/* 04DA40 8004CE40 04410003 */ bgez $v0, .L8004CE50 -/* 04DA44 8004CE44 2841004A */ slti $at, $v0, 0x4a -/* 04DA48 8004CE48 00001025 */ move $v0, $zero -/* 04DA4C 8004CE4C 2841004A */ slti $at, $v0, 0x4a -.L8004CE50: -/* 04DA50 8004CE50 14200002 */ bnez $at, .L8004CE5C -/* 04DA54 8004CE54 00000000 */ nop -/* 04DA58 8004CE58 24020049 */ li $v0, 73 -.L8004CE5C: -/* 04DA5C 8004CE5C A6220018 */ sh $v0, 0x18($s1) -/* 04DA60 8004CE60 86190000 */ lh $t9, ($s0) -/* 04DA64 8004CE64 2408FFFF */ li $t0, -1 -/* 04DA68 8004CE68 11190004 */ beq $t0, $t9, .L8004CE7C -/* 04DA6C 8004CE6C 2407000A */ li $a3, 10 -/* 04DA70 8004CE70 820701E1 */ lb $a3, 0x1e1($s0) -/* 04DA74 8004CE74 10000055 */ b .L8004CFCC -/* 04DA78 8004CE78 44874000 */ mtc1 $a3, $f8 -.L8004CE7C: -/* 04DA7C 8004CE7C 8E050158 */ lw $a1, 0x158($s0) -/* 04DA80 8004CE80 00000000 */ nop -/* 04DA84 8004CE84 10A00050 */ beqz $a1, .L8004CFC8 -/* 04DA88 8004CE88 00000000 */ nop -/* 04DA8C 8004CE8C C4B0000C */ lwc1 $f16, 0xc($a1) -/* 04DA90 8004CE90 C632000C */ lwc1 $f18, 0xc($s1) -/* 04DA94 8004CE94 C4A40010 */ lwc1 $f4, 0x10($a1) -/* 04DA98 8004CE98 46128001 */ sub.s $f0, $f16, $f18 -/* 04DA9C 8004CE9C C6260010 */ lwc1 $f6, 0x10($s1) -/* 04DAA0 8004CEA0 46000402 */ mul.s $f16, $f0, $f0 -/* 04DAA4 8004CEA4 46062081 */ sub.s $f2, $f4, $f6 -/* 04DAA8 8004CEA8 C4A80014 */ lwc1 $f8, 0x14($a1) -/* 04DAAC 8004CEAC C62A0014 */ lwc1 $f10, 0x14($s1) -/* 04DAB0 8004CEB0 46021482 */ mul.s $f18, $f2, $f2 -/* 04DAB4 8004CEB4 460A4381 */ sub.s $f14, $f8, $f10 -/* 04DAB8 8004CEB8 AFA70090 */ sw $a3, 0x90($sp) -/* 04DABC 8004CEBC AFA50044 */ sw $a1, 0x44($sp) -/* 04DAC0 8004CEC0 460E7182 */ mul.s $f6, $f14, $f14 -/* 04DAC4 8004CEC4 46128100 */ add.s $f4, $f16, $f18 -/* 04DAC8 8004CEC8 0C0326B4 */ jal sqrtf -/* 04DACC 8004CECC 46062300 */ add.s $f12, $f4, $f6 -/* 04DAD0 8004CED0 3C014069 */ li $at, 0x40690000 # 3.640625 -/* 04DAD4 8004CED4 44815800 */ mtc1 $at, $f11 -/* 04DAD8 8004CED8 44805000 */ mtc1 $zero, $f10 -/* 04DADC 8004CEDC 46000221 */ cvt.d.s $f8, $f0 -/* 04DAE0 8004CEE0 462A403C */ c.lt.d $f8, $f10 -/* 04DAE4 8004CEE4 8FA50044 */ lw $a1, 0x44($sp) -/* 04DAE8 8004CEE8 8FA70090 */ lw $a3, 0x90($sp) -/* 04DAEC 8004CEEC 4500001A */ bc1f .L8004CF58 -/* 04DAF0 8004CEF0 2408FFFF */ li $t0, -1 -/* 04DAF4 8004CEF4 8CA60064 */ lw $a2, 0x64($a1) -/* 04DAF8 8004CEF8 00001025 */ move $v0, $zero -/* 04DAFC 8004CEFC 00025880 */ sll $t3, $v0, 2 -.L8004CF00: -/* 04DB00 8004CF00 00CB1821 */ addu $v1, $a2, $t3 -/* 04DB04 8004CF04 8C640000 */ lw $a0, ($v1) -/* 04DB08 8004CF08 00000000 */ nop -/* 04DB0C 8004CF0C 10800009 */ beqz $a0, .L8004CF34 -/* 04DB10 8004CF10 00000000 */ nop -/* 04DB14 8004CF14 8E0C015C */ lw $t4, 0x15c($s0) -/* 04DB18 8004CF18 00000000 */ nop -/* 04DB1C 8004CF1C 11840006 */ beq $t4, $a0, .L8004CF38 -/* 04DB20 8004CF20 24420001 */ addiu $v0, $v0, 1 -/* 04DB24 8004CF24 AE05015C */ sw $a1, 0x15c($s0) -/* 04DB28 8004CF28 8C6D0000 */ lw $t5, ($v1) -/* 04DB2C 8004CF2C 24020004 */ li $v0, 4 -/* 04DB30 8004CF30 AE0D0158 */ sw $t5, 0x158($s0) -.L8004CF34: -/* 04DB34 8004CF34 24420001 */ addiu $v0, $v0, 1 -.L8004CF38: -/* 04DB38 8004CF38 28410004 */ slti $at, $v0, 4 -/* 04DB3C 8004CF3C 1420FFF0 */ bnez $at, .L8004CF00 -/* 04DB40 8004CF40 00025880 */ sll $t3, $v0, 2 -/* 04DB44 8004CF44 24010005 */ li $at, 5 -/* 04DB48 8004CF48 1041001F */ beq $v0, $at, .L8004CFC8 -/* 04DB4C 8004CF4C 00000000 */ nop -/* 04DB50 8004CF50 1000001D */ b .L8004CFC8 -/* 04DB54 8004CF54 AE000158 */ sw $zero, 0x158($s0) -.L8004CF58: -/* 04DB58 8004CF58 C6020050 */ lwc1 $f2, 0x50($s0) -/* 04DB5C 8004CF5C C630000C */ lwc1 $f16, 0xc($s1) -/* 04DB60 8004CF60 C60E0058 */ lwc1 $f14, 0x58($s0) -/* 04DB64 8004CF64 46101482 */ mul.s $f18, $f2, $f16 -/* 04DB68 8004CF68 C6240014 */ lwc1 $f4, 0x14($s1) -/* 04DB6C 8004CF6C C4A8000C */ lwc1 $f8, 0xc($a1) -/* 04DB70 8004CF70 C4B00014 */ lwc1 $f16, 0x14($a1) -/* 04DB74 8004CF74 46047182 */ mul.s $f6, $f14, $f4 -/* 04DB78 8004CF78 00000000 */ nop -/* 04DB7C 8004CF7C 46024282 */ mul.s $f10, $f8, $f2 -/* 04DB80 8004CF80 46069300 */ add.s $f12, $f18, $f6 -/* 04DB84 8004CF84 460E8102 */ mul.s $f4, $f16, $f14 -/* 04DB88 8004CF88 46006307 */ neg.s $f12, $f12 -/* 04DB8C 8004CF8C 46045480 */ add.s $f18, $f10, $f4 -/* 04DB90 8004CF90 460C9000 */ add.s $f0, $f18, $f12 -/* 04DB94 8004CF94 444EF800 */ cfc1 $t6, $31 -/* 04DB98 8004CF98 00000000 */ nop -/* 04DB9C 8004CF9C 35C10003 */ ori $at, $t6, 3 -/* 04DBA0 8004CFA0 38210002 */ xori $at, $at, 2 -/* 04DBA4 8004CFA4 44C1F800 */ ctc1 $at, $31 -/* 04DBA8 8004CFA8 24010005 */ li $at, 5 -/* 04DBAC 8004CFAC 460001A4 */ cvt.w.s $f6, $f0 -/* 04DBB0 8004CFB0 44073000 */ mfc1 $a3, $f6 -/* 04DBB4 8004CFB4 44CEF800 */ ctc1 $t6, $31 -/* 04DBB8 8004CFB8 00E1001A */ div $zero, $a3, $at -/* 04DBBC 8004CFBC 00003812 */ mflo $a3 -/* 04DBC0 8004CFC0 00000000 */ nop -/* 04DBC4 8004CFC4 00000000 */ nop -.L8004CFC8: -/* 04DBC8 8004CFC8 44874000 */ mtc1 $a3, $f8 -.L8004CFCC: -/* 04DBCC 8004CFCC C60A002C */ lwc1 $f10, 0x2c($s0) -/* 04DBD0 8004CFD0 46804420 */ cvt.s.w $f16, $f8 -/* 04DBD4 8004CFD4 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 04DBD8 8004CFD8 44819000 */ mtc1 $at, $f18 -/* 04DBDC 8004CFDC 460A8102 */ mul.s $f4, $f16, $f10 -/* 04DBE0 8004CFE0 C6080050 */ lwc1 $f8, 0x50($s0) -/* 04DBE4 8004CFE4 A2000187 */ sb $zero, 0x187($s0) -/* 04DBE8 8004CFE8 A20001DB */ sb $zero, 0x1db($s0) -/* 04DBEC 8004CFEC 46122003 */ div.s $f0, $f4, $f18 -/* 04DBF0 8004CFF0 C626001C */ lwc1 $f6, 0x1c($s1) -/* 04DBF4 8004CFF4 C6240020 */ lwc1 $f4, 0x20($s1) -/* 04DBF8 8004CFF8 3C098012 */ lui $t1, %hi(gCurrentPlayerIndex) # $t1, 0x8012 -/* 04DBFC 8004CFFC 2529D55C */ addiu $t1, %lo(gCurrentPlayerIndex) # addiu $t1, $t1, -0x2aa4 -/* 04DC00 8004D000 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04DC04 8004D004 44811000 */ mtc1 $at, $f2 -/* 04DC08 8004D008 46004402 */ mul.s $f16, $f8, $f0 -/* 04DC0C 8004D00C 46103281 */ sub.s $f10, $f6, $f16 -/* 04DC10 8004D010 C6300024 */ lwc1 $f16, 0x24($s1) -/* 04DC14 8004D014 E62A001C */ swc1 $f10, 0x1c($s1) -/* 04DC18 8004D018 C6120054 */ lwc1 $f18, 0x54($s0) -/* 04DC1C 8004D01C 00000000 */ nop -/* 04DC20 8004D020 46009202 */ mul.s $f8, $f18, $f0 -/* 04DC24 8004D024 46082181 */ sub.s $f6, $f4, $f8 -/* 04DC28 8004D028 E6260020 */ swc1 $f6, 0x20($s1) -/* 04DC2C 8004D02C C60A0058 */ lwc1 $f10, 0x58($s0) -/* 04DC30 8004D030 00000000 */ nop -/* 04DC34 8004D034 46005482 */ mul.s $f18, $f10, $f0 -/* 04DC38 8004D038 46128101 */ sub.s $f4, $f16, $f18 -/* 04DC3C 8004D03C E6240024 */ swc1 $f4, 0x24($s1) -/* 04DC40 8004D040 8D380000 */ lw $t8, ($t1) -/* 04DC44 8004D044 8FAA00D8 */ lw $t2, 0xd8($sp) -/* 04DC48 8004D048 15180003 */ bne $t0, $t8, .L8004D058 -/* 04DC4C 8004D04C 3C01800E */ lui $at, %hi(D_800E6580) # $at, 0x800e -/* 04DC50 8004D050 C4226580 */ lwc1 $f2, %lo(D_800E6580)($at) -/* 04DC54 8004D054 00000000 */ nop -.L8004D058: -/* 04DC58 8004D058 8619019A */ lh $t9, 0x19a($s0) -/* 04DC5C 8004D05C 00000000 */ nop -/* 04DC60 8004D060 032A5821 */ addu $t3, $t9, $t2 -/* 04DC64 8004D064 A60B019A */ sh $t3, 0x19a($s0) -/* 04DC68 8004D068 860C019A */ lh $t4, 0x19a($s0) -/* 04DC6C 8004D06C 00000000 */ nop -/* 04DC70 8004D070 29810259 */ slti $at, $t4, 0x259 -/* 04DC74 8004D074 1420000A */ bnez $at, .L8004D0A0 -/* 04DC78 8004D078 00000000 */ nop -/* 04DC7C 8004D07C 820D01D7 */ lb $t5, 0x1d7($s0) -/* 04DC80 8004D080 240F0001 */ li $t7, 1 -/* 04DC84 8004D084 A20D01D6 */ sb $t5, 0x1d6($s0) -/* 04DC88 8004D088 A6200002 */ sh $zero, 2($s1) -/* 04DC8C 8004D08C 860E0000 */ lh $t6, ($s0) -/* 04DC90 8004D090 A20001E0 */ sb $zero, 0x1e0($s0) -/* 04DC94 8004D094 05C00002 */ bltz $t6, .L8004D0A0 -/* 04DC98 8004D098 00000000 */ nop -/* 04DC9C 8004D09C A3AF003F */ sb $t7, 0x3f($sp) -.L8004D0A0: -/* 04DCA0 8004D0A0 821801E2 */ lb $t8, 0x1e2($s0) -/* 04DCA4 8004D0A4 00000000 */ nop -/* 04DCA8 8004D0A8 17000011 */ bnez $t8, .L8004D0F0 -/* 04DCAC 8004D0AC 00000000 */ nop -/* 04DCB0 8004D0B0 821901E0 */ lb $t9, 0x1e0($s0) -/* 04DCB4 8004D0B4 3C01800E */ lui $at, %hi(D_800E6584) # $at, 0x800e -/* 04DCB8 8004D0B8 C4226584 */ lwc1 $f2, %lo(D_800E6584)($at) -/* 04DCBC 8004D0BC 032A5821 */ addu $t3, $t9, $t2 -/* 04DCC0 8004D0C0 A20B01E0 */ sb $t3, 0x1e0($s0) -/* 04DCC4 8004D0C4 820C01E0 */ lb $t4, 0x1e0($s0) -/* 04DCC8 8004D0C8 00000000 */ nop -/* 04DCCC 8004D0CC 2981003D */ slti $at, $t4, 0x3d -/* 04DCD0 8004D0D0 14200008 */ bnez $at, .L8004D0F4 -/* 04DCD4 8004D0D4 00000000 */ nop -/* 04DCD8 8004D0D8 820D01D7 */ lb $t5, 0x1d7($s0) -/* 04DCDC 8004D0DC 00000000 */ nop -/* 04DCE0 8004D0E0 A20D01D6 */ sb $t5, 0x1d6($s0) -/* 04DCE4 8004D0E4 A6200002 */ sh $zero, 2($s1) -/* 04DCE8 8004D0E8 10000002 */ b .L8004D0F4 -/* 04DCEC 8004D0EC A20001E0 */ sb $zero, 0x1e0($s0) -.L8004D0F0: -/* 04DCF0 8004D0F0 A20001E0 */ sb $zero, 0x1e0($s0) -.L8004D0F4: -/* 04DCF4 8004D0F4 860301A0 */ lh $v1, 0x1a0($s0) -/* 04DCF8 8004D0F8 860E0198 */ lh $t6, 0x198($s0) -/* 04DCFC 8004D0FC 306FFFFF */ andi $t7, $v1, 0xffff -/* 04DD00 8004D100 34018001 */ li $at, 32769 -/* 04DD04 8004D104 01CF1023 */ subu $v0, $t6, $t7 -/* 04DD08 8004D108 0041082A */ slt $at, $v0, $at -/* 04DD0C 8004D10C 14200003 */ bnez $at, .L8004D11C -/* 04DD10 8004D110 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 04DD14 8004D114 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 04DD18 8004D118 00411021 */ addu $v0, $v0, $at -.L8004D11C: -/* 04DD1C 8004D11C 28418000 */ slti $at, $v0, -0x8000 -/* 04DD20 8004D120 10200002 */ beqz $at, .L8004D12C -/* 04DD24 8004D124 3401FFFF */ li $at, 65535 -/* 04DD28 8004D128 00411021 */ addu $v0, $v0, $at -.L8004D12C: -/* 04DD2C 8004D12C 28411001 */ slti $at, $v0, 0x1001 -/* 04DD30 8004D130 10200004 */ beqz $at, .L8004D144 -/* 04DD34 8004D134 0002C0C3 */ sra $t8, $v0, 3 -/* 04DD38 8004D138 2841F000 */ slti $at, $v0, -0x1000 -/* 04DD3C 8004D13C 10200003 */ beqz $at, .L8004D14C -/* 04DD40 8004D140 00000000 */ nop -.L8004D144: -/* 04DD44 8004D144 44801000 */ mtc1 $zero, $f2 -/* 04DD48 8004D148 00000000 */ nop -.L8004D14C: -/* 04DD4C 8004D14C C6060038 */ lwc1 $f6, 0x38($s0) -/* 04DD50 8004D150 0078C821 */ addu $t9, $v1, $t8 -/* 04DD54 8004D154 46023282 */ mul.s $f10, $f6, $f2 -/* 04DD58 8004D158 A61901A0 */ sh $t9, 0x1a0($s0) -/* 04DD5C 8004D15C A60001A4 */ sh $zero, 0x1a4($s0) -/* 04DD60 8004D160 C628001C */ lwc1 $f8, 0x1c($s1) -/* 04DD64 8004D164 C6320020 */ lwc1 $f18, 0x20($s1) -/* 04DD68 8004D168 460A4401 */ sub.s $f16, $f8, $f10 -/* 04DD6C 8004D16C C62A0024 */ lwc1 $f10, 0x24($s1) -/* 04DD70 8004D170 E630001C */ swc1 $f16, 0x1c($s1) -/* 04DD74 8004D174 C604003C */ lwc1 $f4, 0x3c($s0) -/* 04DD78 8004D178 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 -/* 04DD7C 8004D17C 46022182 */ mul.s $f6, $f4, $f2 -/* 04DD80 8004D180 44816800 */ mtc1 $at, $f13 -/* 04DD84 8004D184 44806000 */ mtc1 $zero, $f12 -/* 04DD88 8004D188 44807000 */ mtc1 $zero, $f14 -/* 04DD8C 8004D18C 46069201 */ sub.s $f8, $f18, $f6 -/* 04DD90 8004D190 C626001C */ lwc1 $f6, 0x1c($s1) -/* 04DD94 8004D194 E6280020 */ swc1 $f8, 0x20($s1) -/* 04DD98 8004D198 C6100040 */ lwc1 $f16, 0x40($s0) -/* 04DD9C 8004D19C 46003221 */ cvt.d.s $f8, $f6 -/* 04DDA0 8004D1A0 46028102 */ mul.s $f4, $f16, $f2 -/* 04DDA4 8004D1A4 3C01800E */ lui $at, %hi(D_800E6588) # $at, 0x800e -/* 04DDA8 8004D1A8 46045481 */ sub.s $f18, $f10, $f4 -/* 04DDAC 8004D1AC E6320024 */ swc1 $f18, 0x24($s1) -/* 04DDB0 8004D1B0 C6100044 */ lwc1 $f16, 0x44($s0) -/* 04DDB4 8004D1B4 00000000 */ nop -/* 04DDB8 8004D1B8 460082A1 */ cvt.d.s $f10, $f16 -/* 04DDBC 8004D1BC 462C5102 */ mul.d $f4, $f10, $f12 -/* 04DDC0 8004D1C0 C6300020 */ lwc1 $f16, 0x20($s1) -/* 04DDC4 8004D1C4 00000000 */ nop -/* 04DDC8 8004D1C8 460082A1 */ cvt.d.s $f10, $f16 -/* 04DDCC 8004D1CC 46244481 */ sub.d $f18, $f8, $f4 -/* 04DDD0 8004D1D0 462091A0 */ cvt.s.d $f6, $f18 -/* 04DDD4 8004D1D4 E626001C */ swc1 $f6, 0x1c($s1) -/* 04DDD8 8004D1D8 C6080048 */ lwc1 $f8, 0x48($s0) -/* 04DDDC 8004D1DC 00000000 */ nop -/* 04DDE0 8004D1E0 46004121 */ cvt.d.s $f4, $f8 -/* 04DDE4 8004D1E4 462C2482 */ mul.d $f18, $f4, $f12 -/* 04DDE8 8004D1E8 C6280024 */ lwc1 $f8, 0x24($s1) -/* 04DDEC 8004D1EC 00000000 */ nop -/* 04DDF0 8004D1F0 46004121 */ cvt.d.s $f4, $f8 -/* 04DDF4 8004D1F4 46325181 */ sub.d $f6, $f10, $f18 -/* 04DDF8 8004D1F8 46203420 */ cvt.s.d $f16, $f6 -/* 04DDFC 8004D1FC E6300020 */ swc1 $f16, 0x20($s1) -/* 04DE00 8004D200 C60A004C */ lwc1 $f10, 0x4c($s0) -/* 04DE04 8004D204 00000000 */ nop -/* 04DE08 8004D208 460054A1 */ cvt.d.s $f18, $f10 -/* 04DE0C 8004D20C 462C9182 */ mul.d $f6, $f18, $f12 -/* 04DE10 8004D210 46262401 */ sub.d $f16, $f4, $f6 -/* 04DE14 8004D214 46208220 */ cvt.s.d $f8, $f16 -/* 04DE18 8004D218 E6280024 */ swc1 $f8, 0x24($s1) -/* 04DE1C 8004D21C C602002C */ lwc1 $f2, 0x2c($s0) -/* 04DE20 8004D220 C4326588 */ lwc1 $f18, %lo(D_800E6588)($at) -/* 04DE24 8004D224 46021282 */ mul.s $f10, $f2, $f2 -/* 04DE28 8004D228 460E103C */ c.lt.s $f2, $f14 -/* 04DE2C 8004D22C 46125002 */ mul.s $f0, $f10, $f18 -/* 04DE30 8004D230 45000002 */ bc1f .L8004D23C -/* 04DE34 8004D234 00000000 */ nop -/* 04DE38 8004D238 46000007 */ neg.s $f0, $f0 -.L8004D23C: -/* 04DE3C 8004D23C C6060038 */ lwc1 $f6, 0x38($s0) -/* 04DE40 8004D240 C624001C */ lwc1 $f4, 0x1c($s1) -/* 04DE44 8004D244 46003402 */ mul.s $f16, $f6, $f0 -/* 04DE48 8004D248 3C01800E */ lui $at, %hi(D_800E658C) # $at, 0x800e -/* 04DE4C 8004D24C C42C658C */ lwc1 $f12, %lo(D_800E658C)($at) -/* 04DE50 8004D250 C62A0020 */ lwc1 $f10, 0x20($s1) -/* 04DE54 8004D254 46102201 */ sub.s $f8, $f4, $f16 -/* 04DE58 8004D258 C6300024 */ lwc1 $f16, 0x24($s1) -/* 04DE5C 8004D25C E628001C */ swc1 $f8, 0x1c($s1) -/* 04DE60 8004D260 C612003C */ lwc1 $f18, 0x3c($s0) -/* 04DE64 8004D264 00000000 */ nop -/* 04DE68 8004D268 46009182 */ mul.s $f6, $f18, $f0 -/* 04DE6C 8004D26C 46065101 */ sub.s $f4, $f10, $f6 -/* 04DE70 8004D270 E6240020 */ swc1 $f4, 0x20($s1) -/* 04DE74 8004D274 C6080040 */ lwc1 $f8, 0x40($s0) -/* 04DE78 8004D278 00000000 */ nop -/* 04DE7C 8004D27C 46004482 */ mul.s $f18, $f8, $f0 -/* 04DE80 8004D280 46128281 */ sub.s $f10, $f16, $f18 -/* 04DE84 8004D284 E62A0024 */ swc1 $f10, 0x24($s1) -/* 04DE88 8004D288 C6020030 */ lwc1 $f2, 0x30($s0) -/* 04DE8C 8004D28C 00000000 */ nop -/* 04DE90 8004D290 46021182 */ mul.s $f6, $f2, $f2 -/* 04DE94 8004D294 460E103C */ c.lt.s $f2, $f14 -/* 04DE98 8004D298 460C3002 */ mul.s $f0, $f6, $f12 -/* 04DE9C 8004D29C 45000002 */ bc1f .L8004D2A8 -/* 04DEA0 8004D2A0 00000000 */ nop -/* 04DEA4 8004D2A4 46000007 */ neg.s $f0, $f0 -.L8004D2A8: -/* 04DEA8 8004D2A8 C6080050 */ lwc1 $f8, 0x50($s0) -/* 04DEAC 8004D2AC C624001C */ lwc1 $f4, 0x1c($s1) -/* 04DEB0 8004D2B0 46004402 */ mul.s $f16, $f8, $f0 -/* 04DEB4 8004D2B4 C62A0020 */ lwc1 $f10, 0x20($s1) -/* 04DEB8 8004D2B8 46102481 */ sub.s $f18, $f4, $f16 -/* 04DEBC 8004D2BC C6300024 */ lwc1 $f16, 0x24($s1) -/* 04DEC0 8004D2C0 E632001C */ swc1 $f18, 0x1c($s1) -/* 04DEC4 8004D2C4 C6060054 */ lwc1 $f6, 0x54($s0) -/* 04DEC8 8004D2C8 00000000 */ nop -/* 04DECC 8004D2CC 46003202 */ mul.s $f8, $f6, $f0 -/* 04DED0 8004D2D0 46085101 */ sub.s $f4, $f10, $f8 -/* 04DED4 8004D2D4 E6240020 */ swc1 $f4, 0x20($s1) -/* 04DED8 8004D2D8 C6120058 */ lwc1 $f18, 0x58($s0) -/* 04DEDC 8004D2DC 00000000 */ nop -/* 04DEE0 8004D2E0 46009182 */ mul.s $f6, $f18, $f0 -/* 04DEE4 8004D2E4 46068281 */ sub.s $f10, $f16, $f6 -/* 04DEE8 8004D2E8 E62A0024 */ swc1 $f10, 0x24($s1) -/* 04DEEC 8004D2EC C6020034 */ lwc1 $f2, 0x34($s0) -/* 04DEF0 8004D2F0 00000000 */ nop -/* 04DEF4 8004D2F4 46021202 */ mul.s $f8, $f2, $f2 -/* 04DEF8 8004D2F8 460E103C */ c.lt.s $f2, $f14 -/* 04DEFC 8004D2FC 460C4002 */ mul.s $f0, $f8, $f12 -/* 04DF00 8004D300 45000002 */ bc1f .L8004D30C -/* 04DF04 8004D304 00000000 */ nop -/* 04DF08 8004D308 46000007 */ neg.s $f0, $f0 -.L8004D30C: -/* 04DF0C 8004D30C C6120044 */ lwc1 $f18, 0x44($s0) -/* 04DF10 8004D310 C624001C */ lwc1 $f4, 0x1c($s1) -/* 04DF14 8004D314 46009402 */ mul.s $f16, $f18, $f0 -/* 04DF18 8004D318 C62A0020 */ lwc1 $f10, 0x20($s1) -/* 04DF1C 8004D31C 3C0B8012 */ lui $t3, %hi(gCurrentCarSteerVel) # $t3, 0x8012 -/* 04DF20 8004D320 02202025 */ move $a0, $s1 -/* 04DF24 8004D324 46102181 */ sub.s $f6, $f4, $f16 -/* 04DF28 8004D328 C6300024 */ lwc1 $f16, 0x24($s1) -/* 04DF2C 8004D32C E626001C */ swc1 $f6, 0x1c($s1) -/* 04DF30 8004D330 C6080048 */ lwc1 $f8, 0x48($s0) -/* 04DF34 8004D334 00000000 */ nop -/* 04DF38 8004D338 46004482 */ mul.s $f18, $f8, $f0 -/* 04DF3C 8004D33C 46125101 */ sub.s $f4, $f10, $f18 -/* 04DF40 8004D340 E6240020 */ swc1 $f4, 0x20($s1) -/* 04DF44 8004D344 C606004C */ lwc1 $f6, 0x4c($s0) -/* 04DF48 8004D348 00000000 */ nop -/* 04DF4C 8004D34C 46003202 */ mul.s $f8, $f6, $f0 -/* 04DF50 8004D350 46088281 */ sub.s $f10, $f16, $f8 -/* 04DF54 8004D354 E62A0024 */ swc1 $f10, 0x24($s1) -/* 04DF58 8004D358 AE00010C */ sw $zero, 0x10c($s0) -/* 04DF5C 8004D35C 8D6BD554 */ lw $t3, %lo(gCurrentCarSteerVel)($t3) -/* 04DF60 8004D360 860201A2 */ lh $v0, 0x1a2($s0) -/* 04DF64 8004D364 860F01A0 */ lh $t7, 0x1a0($s0) -/* 04DF68 8004D368 01626023 */ subu $t4, $t3, $v0 -/* 04DF6C 8004D36C 000C68C3 */ sra $t5, $t4, 3 -/* 04DF70 8004D370 004D7021 */ addu $t6, $v0, $t5 -/* 04DF74 8004D374 A60E01A2 */ sh $t6, 0x1a2($s0) -/* 04DF78 8004D378 861801A2 */ lh $t8, 0x1a2($s0) -/* 04DF7C 8004D37C 3C0B8012 */ lui $t3, %hi(D_8011D558) # $t3, 0x8012 -/* 04DF80 8004D380 01F8C821 */ addu $t9, $t7, $t8 -/* 04DF84 8004D384 A6390000 */ sh $t9, ($s1) -/* 04DF88 8004D388 860301A6 */ lh $v1, 0x1a6($s0) -/* 04DF8C 8004D38C 8D6BD558 */ lw $t3, %lo(D_8011D558)($t3) -/* 04DF90 8004D390 860F01A4 */ lh $t7, 0x1a4($s0) -/* 04DF94 8004D394 01636023 */ subu $t4, $t3, $v1 -/* 04DF98 8004D398 000C68C3 */ sra $t5, $t4, 3 -/* 04DF9C 8004D39C 006D7021 */ addu $t6, $v1, $t5 -/* 04DFA0 8004D3A0 A60E01A6 */ sh $t6, 0x1a6($s0) -/* 04DFA4 8004D3A4 861801A6 */ lh $t8, 0x1a6($s0) -/* 04DFA8 8004D3A8 C7A200DC */ lwc1 $f2, 0xdc($sp) -/* 04DFAC 8004D3AC C620001C */ lwc1 $f0, 0x1c($s1) -/* 04DFB0 8004D3B0 01F8C821 */ addu $t9, $t7, $t8 -/* 04DFB4 8004D3B4 C62C0024 */ lwc1 $f12, 0x24($s1) -/* 04DFB8 8004D3B8 A6390004 */ sh $t9, 4($s1) -/* 04DFBC 8004D3BC 46020482 */ mul.s $f18, $f0, $f2 -/* 04DFC0 8004D3C0 A20001D2 */ sb $zero, 0x1d2($s0) -/* 04DFC4 8004D3C4 C6240020 */ lwc1 $f4, 0x20($s1) -/* 04DFC8 8004D3C8 00000000 */ nop -/* 04DFCC 8004D3CC 46022182 */ mul.s $f6, $f4, $f2 -/* 04DFD0 8004D3D0 44059000 */ mfc1 $a1, $f18 -/* 04DFD4 8004D3D4 46026402 */ mul.s $f16, $f12, $f2 -/* 04DFD8 8004D3D8 44063000 */ mfc1 $a2, $f6 -/* 04DFDC 8004D3DC 44078000 */ mfc1 $a3, $f16 -/* 04DFE0 8004D3E0 0C00455C */ jal move_object -/* 04DFE4 8004D3E4 00000000 */ nop -/* 04DFE8 8004D3E8 3C098012 */ lui $t1, %hi(gCurrentPlayerIndex) # $t1, 0x8012 -/* 04DFEC 8004D3EC 2529D55C */ addiu $t1, %lo(gCurrentPlayerIndex) # addiu $t1, $t1, -0x2aa4 -/* 04DFF0 8004D3F0 10400006 */ beqz $v0, .L8004D40C -/* 04DFF4 8004D3F4 2408FFFF */ li $t0, -1 -/* 04DFF8 8004D3F8 8D2B0000 */ lw $t3, ($t1) -/* 04DFFC 8004D3FC 240C0001 */ li $t4, 1 -/* 04E000 8004D400 110B0002 */ beq $t0, $t3, .L8004D40C -/* 04E004 8004D404 00000000 */ nop -/* 04E008 8004D408 A3AC003F */ sb $t4, 0x3f($sp) -.L8004D40C: -/* 04E00C 8004D40C 8D2D0000 */ lw $t5, ($t1) -/* 04E010 8004D410 8FA600D8 */ lw $a2, 0xd8($sp) -/* 04E014 8004D414 150D0007 */ bne $t0, $t5, .L8004D434 -/* 04E018 8004D418 02202025 */ move $a0, $s1 -/* 04E01C 8004D41C 8FA600D8 */ lw $a2, 0xd8($sp) -/* 04E020 8004D420 02202025 */ move $a0, $s1 -/* 04E024 8004D424 0C0156A1 */ jal onscreen_ai_racer_physics -/* 04E028 8004D428 02002825 */ move $a1, $s0 -/* 04E02C 8004D42C 10000004 */ b .L8004D440 -/* 04E030 8004D430 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L8004D434: -/* 04E034 8004D434 0C0153F4 */ jal func_80054FD0 -/* 04E038 8004D438 02002825 */ move $a1, $s0 -/* 04E03C 8004D43C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L8004D440: -/* 04E040 8004D440 44814000 */ mtc1 $at, $f8 -/* 04E044 8004D444 C7AA00DC */ lwc1 $f10, 0xdc($sp) -/* 04E048 8004D448 C632000C */ lwc1 $f18, 0xc($s1) -/* 04E04C 8004D44C 460A4083 */ div.s $f2, $f8, $f10 -/* 04E050 8004D450 C7A400B8 */ lwc1 $f4, 0xb8($sp) -/* 04E054 8004D454 C7A800B4 */ lwc1 $f8, 0xb4($sp) -/* 04E058 8004D458 46049181 */ sub.s $f6, $f18, $f4 -/* 04E05C 8004D45C C6300010 */ lwc1 $f16, 0x10($s1) -/* 04E060 8004D460 C6240014 */ lwc1 $f4, 0x14($s1) -/* 04E064 8004D464 46088281 */ sub.s $f10, $f16, $f8 -/* 04E068 8004D468 862E0000 */ lh $t6, ($s1) -/* 04E06C 8004D46C 3C058012 */ lui $a1, %hi(gCurrentRacerTransform) # $a1, 0x8012 -/* 04E070 8004D470 24A5D510 */ addiu $a1, %lo(gCurrentRacerTransform) # addiu $a1, $a1, -0x2af0 -/* 04E074 8004D474 000E7823 */ negu $t7, $t6 -/* 04E078 8004D478 44807000 */ mtc1 $zero, $f14 -/* 04E07C 8004D47C 46023002 */ mul.s $f0, $f6, $f2 -/* 04E080 8004D480 44814000 */ mtc1 $at, $f8 -/* 04E084 8004D484 27A40048 */ addiu $a0, $sp, 0x48 -/* 04E088 8004D488 46025482 */ mul.s $f18, $f10, $f2 -/* 04E08C 8004D48C E6320020 */ swc1 $f18, 0x20($s1) -/* 04E090 8004D490 C7A600B0 */ lwc1 $f6, 0xb0($sp) -/* 04E094 8004D494 E620001C */ swc1 $f0, 0x1c($s1) -/* 04E098 8004D498 46062401 */ sub.s $f16, $f4, $f6 -/* 04E09C 8004D49C 46028302 */ mul.s $f12, $f16, $f2 -/* 04E0A0 8004D4A0 E62C0024 */ swc1 $f12, 0x24($s1) -/* 04E0A4 8004D4A4 A4AF0000 */ sh $t7, ($a1) -/* 04E0A8 8004D4A8 86380002 */ lh $t8, 2($s1) -/* 04E0AC 8004D4AC A4A00004 */ sh $zero, 4($a1) -/* 04E0B0 8004D4B0 0018C823 */ negu $t9, $t8 -/* 04E0B4 8004D4B4 A4B90002 */ sh $t9, 2($a1) -/* 04E0B8 8004D4B8 E4AE000C */ swc1 $f14, 0xc($a1) -/* 04E0BC 8004D4BC E4AE0010 */ swc1 $f14, 0x10($a1) -/* 04E0C0 8004D4C0 E4AE0014 */ swc1 $f14, 0x14($a1) -/* 04E0C4 8004D4C4 0C01BF9D */ jal object_transform_to_matrix_2 -/* 04E0C8 8004D4C8 E4A80008 */ swc1 $f8, 8($a1) -/* 04E0CC 8004D4CC 8E25001C */ lw $a1, 0x1c($s1) -/* 04E0D0 8004D4D0 8E260020 */ lw $a2, 0x20($s1) -/* 04E0D4 8004D4D4 8E270024 */ lw $a3, 0x24($s1) -/* 04E0D8 8004D4D8 260B0030 */ addiu $t3, $s0, 0x30 -/* 04E0DC 8004D4DC 260C0034 */ addiu $t4, $s0, 0x34 -/* 04E0E0 8004D4E0 260D002C */ addiu $t5, $s0, 0x2c -/* 04E0E4 8004D4E4 AFAD0018 */ sw $t5, 0x18($sp) -/* 04E0E8 8004D4E8 AFAC0014 */ sw $t4, 0x14($sp) -/* 04E0EC 8004D4EC AFAB0010 */ sw $t3, 0x10($sp) -/* 04E0F0 8004D4F0 0C01BD93 */ jal guMtxXFMF -/* 04E0F4 8004D4F4 27A40048 */ addiu $a0, $sp, 0x48 -/* 04E0F8 8004D4F8 8FA700DC */ lw $a3, 0xdc($sp) -/* 04E0FC 8004D4FC 02202025 */ move $a0, $s1 -/* 04E100 8004D500 02002825 */ move $a1, $s0 -/* 04E104 8004D504 0C01602D */ jal second_racer_camera_update -/* 04E108 8004D508 24060006 */ li $a2, 6 -/* 04E10C 8004D50C 8E220060 */ lw $v0, 0x60($s1) -/* 04E110 8004D510 02202025 */ move $a0, $s1 -/* 04E114 8004D514 10400013 */ beqz $v0, .L8004D564 -/* 04E118 8004D518 83B9003F */ lb $t9, 0x3f($sp) -/* 04E11C 8004D51C 820E01D7 */ lb $t6, 0x1d7($s0) -/* 04E120 8004D520 00000000 */ nop -/* 04E124 8004D524 15C0000F */ bnez $t6, .L8004D564 -/* 04E128 8004D528 83B9003F */ lb $t9, 0x3f($sp) -/* 04E12C 8004D52C 8C4F0000 */ lw $t7, ($v0) -/* 04E130 8004D530 00000000 */ nop -/* 04E134 8004D534 29E10004 */ slti $at, $t7, 4 -/* 04E138 8004D538 1420000A */ bnez $at, .L8004D564 -/* 04E13C 8004D53C 83B9003F */ lb $t9, 0x3f($sp) -/* 04E140 8004D540 8C45000C */ lw $a1, 0xc($v0) -/* 04E144 8004D544 00000000 */ nop -/* 04E148 8004D548 A4A00000 */ sh $zero, ($a1) -/* 04E14C 8004D54C 8E380060 */ lw $t8, 0x60($s1) -/* 04E150 8004D550 00000000 */ nop -/* 04E154 8004D554 8F050010 */ lw $a1, 0x10($t8) -/* 04E158 8004D558 00000000 */ nop -/* 04E15C 8004D55C A4A00000 */ sh $zero, ($a1) -/* 04E160 8004D560 83B9003F */ lb $t9, 0x3f($sp) -.L8004D564: -/* 04E164 8004D564 02002825 */ move $a1, $s0 -/* 04E168 8004D568 13200005 */ beqz $t9, .L8004D580 -/* 04E16C 8004D56C 8FBF002C */ lw $ra, 0x2c($sp) -/* 04E170 8004D570 820B01D7 */ lb $t3, 0x1d7($s0) -/* 04E174 8004D574 0C008C34 */ jal func_800230D0 -/* 04E178 8004D578 A20B01D6 */ sb $t3, 0x1d6($s0) -/* 04E17C 8004D57C 8FBF002C */ lw $ra, 0x2c($sp) -.L8004D580: -/* 04E180 8004D580 8FB00024 */ lw $s0, 0x24($sp) -/* 04E184 8004D584 8FB10028 */ lw $s1, 0x28($sp) -/* 04E188 8004D588 03E00008 */ jr $ra -/* 04E18C 8004D58C 27BD00D8 */ addiu $sp, $sp, 0xd8 - diff --git a/asm/non_matchings/racer/func_80059208.s b/asm/non_matchings/racer/func_80059208.s deleted file mode 100644 index 21a5ab20..00000000 --- a/asm/non_matchings/racer/func_80059208.s +++ /dev/null @@ -1,384 +0,0 @@ -.late_rodata -glabel D_800E6920 -.double -0.2 - -.text -glabel func_80059208 -/* 059E08 80059208 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 059E0C 8005920C AFBF001C */ sw $ra, 0x1c($sp) -/* 059E10 80059210 AFB10018 */ sw $s1, 0x18($sp) -/* 059E14 80059214 00A08825 */ move $s1, $a1 -/* 059E18 80059218 AFB00014 */ sw $s0, 0x14($sp) -/* 059E1C 8005921C AFA400C0 */ sw $a0, 0xc0($sp) -/* 059E20 80059220 0C006E99 */ jal get_checkpoint_count -/* 059E24 80059224 AFA600C8 */ sw $a2, 0xc8($sp) -/* 059E28 80059228 10400155 */ beqz $v0, .L80059780 -/* 059E2C 8005922C 8FBF001C */ lw $ra, 0x1c($sp) -/* 059E30 80059230 0C01AF62 */ jal get_current_map_id -/* 059E34 80059234 AFA200B4 */ sw $v0, 0xb4($sp) -/* 059E38 80059238 8FA800B4 */ lw $t0, 0xb4($sp) -/* 059E3C 8005923C 14400009 */ bnez $v0, .L80059264 -/* 059E40 80059240 00000000 */ nop -/* 059E44 80059244 822E0192 */ lb $t6, 0x192($s1) -/* 059E48 80059248 00000000 */ nop -/* 059E4C 8005924C 01C8082A */ slt $at, $t6, $t0 -/* 059E50 80059250 14200004 */ bnez $at, .L80059264 -/* 059E54 80059254 00000000 */ nop -/* 059E58 80059258 A2200193 */ sb $zero, 0x193($s1) -/* 059E5C 8005925C A2200192 */ sb $zero, 0x192($s1) -/* 059E60 80059260 A6200190 */ sh $zero, 0x190($s1) -.L80059264: -/* 059E64 80059264 C62600A8 */ lwc1 $f6, 0xa8($s1) -/* 059E68 80059268 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 059E6C 8005926C 44812800 */ mtc1 $at, $f5 -/* 059E70 80059270 44802000 */ mtc1 $zero, $f4 -/* 059E74 80059274 46003221 */ cvt.d.s $f8, $f6 -/* 059E78 80059278 46282281 */ sub.d $f10, $f4, $f8 -/* 059E7C 8005927C 3C01800E */ lui $at, %hi(D_800E6920 + 4) # $at, 0x800e -/* 059E80 80059280 46205020 */ cvt.s.d $f0, $f10 -/* 059E84 80059284 C4316920 */ lwc1 $f17, %lo(D_800E6920)($at) -/* 059E88 80059288 C4306924 */ lwc1 $f16, %lo(D_800E6920 + 4)($at) -/* 059E8C 8005928C 460000A1 */ cvt.d.s $f2, $f0 -/* 059E90 80059290 4630103C */ c.lt.d $f2, $f16 -/* 059E94 80059294 82240192 */ lb $a0, 0x192($s1) -/* 059E98 80059298 4500002D */ bc1f .L80059350 -/* 059E9C 8005929C 248FFFFF */ addiu $t7, $a0, -1 -/* 059EA0 800592A0 A22F0192 */ sb $t7, 0x192($s1) -/* 059EA4 800592A4 82240192 */ lb $a0, 0x192($s1) -/* 059EA8 800592A8 00000000 */ nop -/* 059EAC 800592AC 04810007 */ bgez $a0, .L800592CC -/* 059EB0 800592B0 00000000 */ nop -/* 059EB4 800592B4 82220193 */ lb $v0, 0x193($s1) -/* 059EB8 800592B8 0088C021 */ addu $t8, $a0, $t0 -/* 059EBC 800592BC 18400003 */ blez $v0, .L800592CC -/* 059EC0 800592C0 A2380192 */ sb $t8, 0x192($s1) -/* 059EC4 800592C4 2459FFFF */ addiu $t9, $v0, -1 -/* 059EC8 800592C8 A2390193 */ sb $t9, 0x193($s1) -.L800592CC: -/* 059ECC 800592CC 86220190 */ lh $v0, 0x190($s1) -/* 059ED0 800592D0 00000000 */ nop -/* 059ED4 800592D4 28418301 */ slti $at, $v0, -0x7cff -/* 059ED8 800592D8 14200002 */ bnez $at, .L800592E4 -/* 059EDC 800592DC 2449FFFF */ addiu $t1, $v0, -1 -/* 059EE0 800592E0 A6290190 */ sh $t1, 0x190($s1) -.L800592E4: -/* 059EE4 800592E4 922A01C8 */ lbu $t2, 0x1c8($s1) -/* 059EE8 800592E8 00000000 */ nop -/* 059EEC 800592EC 11400124 */ beqz $t2, .L80059780 -/* 059EF0 800592F0 8FBF001C */ lw $ra, 0x1c($sp) -/* 059EF4 800592F4 82240192 */ lb $a0, 0x192($s1) -/* 059EF8 800592F8 0C006E80 */ jal get_checkpoint_node -/* 059EFC 800592FC AFA800B4 */ sw $t0, 0xb4($sp) -/* 059F00 80059300 804B003A */ lb $t3, 0x3a($v0) -/* 059F04 80059304 8FA800B4 */ lw $t0, 0xb4($sp) -/* 059F08 80059308 2410FFFF */ li $s0, -1 -/* 059F0C 8005930C 160B0002 */ bne $s0, $t3, .L80059318 -/* 059F10 80059310 00000000 */ nop -/* 059F14 80059314 A22001C8 */ sb $zero, 0x1c8($s1) -.L80059318: -/* 059F18 80059318 82240192 */ lb $a0, 0x192($s1) -/* 059F1C 8005931C 00000000 */ nop -/* 059F20 80059320 2484FFFF */ addiu $a0, $a0, -1 -/* 059F24 80059324 04810002 */ bgez $a0, .L80059330 -/* 059F28 80059328 00000000 */ nop -/* 059F2C 8005932C 00882021 */ addu $a0, $a0, $t0 -.L80059330: -/* 059F30 80059330 0C006E80 */ jal get_checkpoint_node -/* 059F34 80059334 00000000 */ nop -/* 059F38 80059338 804C003A */ lb $t4, 0x3a($v0) -/* 059F3C 8005933C 00000000 */ nop -/* 059F40 80059340 160C010F */ bne $s0, $t4, .L80059780 -/* 059F44 80059344 8FBF001C */ lw $ra, 0x1c($sp) -/* 059F48 80059348 1000010C */ b .L8005977C -/* 059F4C 8005934C A22001C8 */ sb $zero, 0x1c8($s1) -.L80059350: -/* 059F50 80059350 44806000 */ mtc1 $zero, $f12 -/* 059F54 80059354 00000000 */ nop -/* 059F58 80059358 460C003C */ c.lt.s $f0, $f12 -/* 059F5C 8005935C 00000000 */ nop -/* 059F60 80059360 45000003 */ bc1f .L80059370 -/* 059F64 80059364 00000000 */ nop -/* 059F68 80059368 46006006 */ mov.s $f0, $f12 -/* 059F6C 8005936C 460060A1 */ cvt.d.s $f2, $f12 -.L80059370: -/* 059F70 80059370 922501C8 */ lbu $a1, 0x1c8($s1) -/* 059F74 80059374 E7A2002C */ swc1 $f2, 0x2c($sp) -/* 059F78 80059378 E7A30028 */ swc1 $f3, 0x28($sp) -/* 059F7C 8005937C E7A00058 */ swc1 $f0, 0x58($sp) -/* 059F80 80059380 0C006E87 */ jal find_next_checkpoint_node -/* 059F84 80059384 AFA800B4 */ sw $t0, 0xb4($sp) -/* 059F88 80059388 82300192 */ lb $s0, 0x192($s1) -/* 059F8C 8005938C 8FA800B4 */ lw $t0, 0xb4($sp) -/* 059F90 80059390 C442001C */ lwc1 $f2, 0x1c($v0) -/* 059F94 80059394 2610FFFF */ addiu $s0, $s0, -1 -/* 059F98 80059398 06010003 */ bgez $s0, .L800593A8 -/* 059F9C 8005939C 02002025 */ move $a0, $s0 -/* 059FA0 800593A0 2510FFFF */ addiu $s0, $t0, -1 -/* 059FA4 800593A4 02002025 */ move $a0, $s0 -.L800593A8: -/* 059FA8 800593A8 AFA800B4 */ sw $t0, 0xb4($sp) -/* 059FAC 800593AC 0C006E80 */ jal get_checkpoint_node -/* 059FB0 800593B0 E7A20040 */ swc1 $f2, 0x40($sp) -/* 059FB4 800593B4 C7A20040 */ lwc1 $f2, 0x40($sp) -/* 059FB8 800593B8 C440001C */ lwc1 $f0, 0x1c($v0) -/* 059FBC 800593BC C7A60058 */ lwc1 $f6, 0x58($sp) -/* 059FC0 800593C0 46001481 */ sub.s $f18, $f2, $f0 -/* 059FC4 800593C4 8FA800B4 */ lw $t0, 0xb4($sp) -/* 059FC8 800593C8 46069102 */ mul.s $f4, $f18, $f6 -/* 059FCC 800593CC 27A6009C */ addiu $a2, $sp, 0x9c -/* 059FD0 800593D0 27A70088 */ addiu $a3, $sp, 0x88 -/* 059FD4 800593D4 27A30074 */ addiu $v1, $sp, 0x74 -/* 059FD8 800593D8 46002200 */ add.s $f8, $f4, $f0 -/* 059FDC 800593DC E7A80044 */ swc1 $f8, 0x44($sp) -/* 059FE0 800593E0 82300192 */ lb $s0, 0x192($s1) -/* 059FE4 800593E4 00000000 */ nop -/* 059FE8 800593E8 2610FFFE */ addiu $s0, $s0, -2 -/* 059FEC 800593EC 06010002 */ bgez $s0, .L800593F8 -/* 059FF0 800593F0 00000000 */ nop -/* 059FF4 800593F4 02088021 */ addu $s0, $s0, $t0 -.L800593F8: -/* 059FF8 800593F8 922501C8 */ lbu $a1, 0x1c8($s1) -/* 059FFC 800593FC AFA800B4 */ sw $t0, 0xb4($sp) -/* 05A000 80059400 AFA70024 */ sw $a3, 0x24($sp) -/* 05A004 80059404 AFA60034 */ sw $a2, 0x34($sp) -/* 05A008 80059408 AFA30020 */ sw $v1, 0x20($sp) -/* 05A00C 8005940C 0C006E87 */ jal find_next_checkpoint_node -/* 05A010 80059410 02002025 */ move $a0, $s0 -/* 05A014 80059414 862D01BA */ lh $t5, 0x1ba($s1) -/* 05A018 80059418 C44A001C */ lwc1 $f10, 0x1c($v0) -/* 05A01C 8005941C C4500008 */ lwc1 $f16, 8($v0) -/* 05A020 80059420 448D3000 */ mtc1 $t5, $f6 -/* 05A024 80059424 46105482 */ mul.s $f18, $f10, $f16 -/* 05A028 80059428 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 05A02C 8005942C 8FA60034 */ lw $a2, 0x34($sp) -/* 05A030 80059430 8FA30020 */ lw $v1, 0x20($sp) -/* 05A034 80059434 46803120 */ cvt.s.w $f4, $f6 -/* 05A038 80059438 8FA70024 */ lw $a3, 0x24($sp) -/* 05A03C 8005943C 8FA800B4 */ lw $t0, 0xb4($sp) -/* 05A040 80059440 46049202 */ mul.s $f8, $f18, $f4 -/* 05A044 80059444 27B80088 */ addiu $t8, $sp, 0x88 -/* 05A048 80059448 26100001 */ addiu $s0, $s0, 1 -/* 05A04C 8005944C 24630004 */ addiu $v1, $v1, 4 -/* 05A050 80059450 46085400 */ add.s $f16, $f10, $f8 -/* 05A054 80059454 0078082B */ sltu $at, $v1, $t8 -/* 05A058 80059458 E4D00000 */ swc1 $f16, ($a2) -/* 05A05C 8005945C 862E01BC */ lh $t6, 0x1bc($s1) -/* 05A060 80059460 C446001C */ lwc1 $f6, 0x1c($v0) -/* 05A064 80059464 448E9000 */ mtc1 $t6, $f18 -/* 05A068 80059468 C4480014 */ lwc1 $f8, 0x14($v0) -/* 05A06C 8005946C 46809120 */ cvt.s.w $f4, $f18 -/* 05A070 80059470 24C60004 */ addiu $a2, $a2, 4 -/* 05A074 80059474 46043282 */ mul.s $f10, $f6, $f4 -/* 05A078 80059478 460A4400 */ add.s $f16, $f8, $f10 -/* 05A07C 8005947C E4F00000 */ swc1 $f16, ($a3) -/* 05A080 80059480 862F01BA */ lh $t7, 0x1ba($s1) -/* 05A084 80059484 C4460000 */ lwc1 $f6, ($v0) -/* 05A088 80059488 C452001C */ lwc1 $f18, 0x1c($v0) -/* 05A08C 8005948C 448F5000 */ mtc1 $t7, $f10 -/* 05A090 80059490 46003107 */ neg.s $f4, $f6 -/* 05A094 80059494 46049202 */ mul.s $f8, $f18, $f4 -/* 05A098 80059498 C4520018 */ lwc1 $f18, 0x18($v0) -/* 05A09C 8005949C 46805420 */ cvt.s.w $f16, $f10 -/* 05A0A0 800594A0 46104182 */ mul.s $f6, $f8, $f16 -/* 05A0A4 800594A4 46069100 */ add.s $f4, $f18, $f6 -/* 05A0A8 800594A8 16080002 */ bne $s0, $t0, .L800594B4 -/* 05A0AC 800594AC E464FFFC */ swc1 $f4, -4($v1) -/* 05A0B0 800594B0 00008025 */ move $s0, $zero -.L800594B4: -/* 05A0B4 800594B4 1420FFD0 */ bnez $at, .L800593F8 -/* 05A0B8 800594B8 24E70004 */ addiu $a3, $a3, 4 -/* 05A0BC 800594BC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 05A0C0 800594C0 44811800 */ mtc1 $at, $f3 -/* 05A0C4 800594C4 C7A10028 */ lwc1 $f1, 0x28($sp) -/* 05A0C8 800594C8 C7A0002C */ lwc1 $f0, 0x2c($sp) -/* 05A0CC 800594CC 44801000 */ mtc1 $zero, $f2 -/* 05A0D0 800594D0 00008025 */ move $s0, $zero -/* 05A0D4 800594D4 4620103E */ c.le.d $f2, $f0 -/* 05A0D8 800594D8 27A4009C */ addiu $a0, $sp, 0x9c -/* 05A0DC 800594DC 45000005 */ bc1f .L800594F4 -/* 05A0E0 800594E0 27A70054 */ addiu $a3, $sp, 0x54 -/* 05A0E4 800594E4 46220281 */ sub.d $f10, $f0, $f2 -/* 05A0E8 800594E8 24100001 */ li $s0, 1 -/* 05A0EC 800594EC 46205220 */ cvt.s.d $f8, $f10 -/* 05A0F0 800594F0 E7A80058 */ swc1 $f8, 0x58($sp) -.L800594F4: -/* 05A0F4 800594F4 8FA60058 */ lw $a2, 0x58($sp) -/* 05A0F8 800594F8 0C00898F */ jal cubic_spline_interpolation -/* 05A0FC 800594FC 02002825 */ move $a1, $s0 -/* 05A100 80059500 8FA60058 */ lw $a2, 0x58($sp) -/* 05A104 80059504 E7A0006C */ swc1 $f0, 0x6c($sp) -/* 05A108 80059508 27A40088 */ addiu $a0, $sp, 0x88 -/* 05A10C 8005950C 02002825 */ move $a1, $s0 -/* 05A110 80059510 0C00898F */ jal cubic_spline_interpolation -/* 05A114 80059514 27A70050 */ addiu $a3, $sp, 0x50 -/* 05A118 80059518 8FA60058 */ lw $a2, 0x58($sp) -/* 05A11C 8005951C E7A00064 */ swc1 $f0, 0x64($sp) -/* 05A120 80059520 27A40074 */ addiu $a0, $sp, 0x74 -/* 05A124 80059524 02002825 */ move $a1, $s0 -/* 05A128 80059528 0C00898F */ jal cubic_spline_interpolation -/* 05A12C 8005952C 27A7004C */ addiu $a3, $sp, 0x4c -/* 05A130 80059530 C7A20054 */ lwc1 $f2, 0x54($sp) -/* 05A134 80059534 C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 05A138 80059538 46021402 */ mul.s $f16, $f2, $f2 -/* 05A13C 8005953C E7A0005C */ swc1 $f0, 0x5c($sp) -/* 05A140 80059540 460E7482 */ mul.s $f18, $f14, $f14 -/* 05A144 80059544 0C0326B4 */ jal sqrtf -/* 05A148 80059548 46128300 */ add.s $f12, $f16, $f18 -/* 05A14C 8005954C 44803000 */ mtc1 $zero, $f6 -/* 05A150 80059550 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05A154 80059554 46060032 */ c.eq.s $f0, $f6 -/* 05A158 80059558 00000000 */ nop -/* 05A15C 8005955C 4501000A */ bc1t .L80059588 -/* 05A160 80059560 00000000 */ nop -/* 05A164 80059564 44812000 */ mtc1 $at, $f4 -/* 05A168 80059568 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 05A16C 8005956C 46002083 */ div.s $f2, $f4, $f0 -/* 05A170 80059570 C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 05A174 80059574 46025202 */ mul.s $f8, $f10, $f2 -/* 05A178 80059578 00000000 */ nop -/* 05A17C 8005957C 46027382 */ mul.s $f14, $f14, $f2 -/* 05A180 80059580 E7A80054 */ swc1 $f8, 0x54($sp) -/* 05A184 80059584 E7AE004C */ swc1 $f14, 0x4c($sp) -.L80059588: -/* 05A188 80059588 C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 05A18C 8005958C C7AC0054 */ lwc1 $f12, 0x54($sp) -/* 05A190 80059590 0C01C1D4 */ jal arctan2_f -/* 05A194 80059594 00000000 */ nop -/* 05A198 80059598 863901A0 */ lh $t9, 0x1a0($s1) -/* 05A19C 8005959C 24018000 */ li $at, -32768 -/* 05A1A0 800595A0 3329FFFF */ andi $t1, $t9, 0xffff -/* 05A1A4 800595A4 00492023 */ subu $a0, $v0, $t1 -/* 05A1A8 800595A8 00812021 */ addu $a0, $a0, $at -/* 05A1AC 800595AC 34018001 */ li $at, 32769 -/* 05A1B0 800595B0 0081082A */ slt $at, $a0, $at -/* 05A1B4 800595B4 14200003 */ bnez $at, .L800595C4 -/* 05A1B8 800595B8 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 05A1BC 800595BC 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 05A1C0 800595C0 00812021 */ addu $a0, $a0, $at -.L800595C4: -/* 05A1C4 800595C4 28818000 */ slti $at, $a0, -0x8000 -/* 05A1C8 800595C8 10200002 */ beqz $at, .L800595D4 -/* 05A1CC 800595CC 3401FFFF */ li $at, 65535 -/* 05A1D0 800595D0 00812021 */ addu $a0, $a0, $at -.L800595D4: -/* 05A1D4 800595D4 28814001 */ slti $at, $a0, 0x4001 -/* 05A1D8 800595D8 10200003 */ beqz $at, .L800595E8 -/* 05A1DC 800595DC 2881C000 */ slti $at, $a0, -0x4000 -/* 05A1E0 800595E0 10200011 */ beqz $at, .L80059628 -/* 05A1E4 800595E4 00000000 */ nop -.L800595E8: -/* 05A1E8 800595E8 922201FC */ lbu $v0, 0x1fc($s1) -/* 05A1EC 800595EC 00000000 */ nop -/* 05A1F0 800595F0 284100C8 */ slti $at, $v0, 0xc8 -/* 05A1F4 800595F4 1020000D */ beqz $at, .L8005962C -/* 05A1F8 800595F8 00000000 */ nop -/* 05A1FC 800595FC C632002C */ lwc1 $f18, 0x2c($s1) -/* 05A200 80059600 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 -/* 05A204 80059604 44818800 */ mtc1 $at, $f17 -/* 05A208 80059608 44808000 */ mtc1 $zero, $f16 -/* 05A20C 8005960C 460091A1 */ cvt.d.s $f6, $f18 -/* 05A210 80059610 4630303E */ c.le.d $f6, $f16 -/* 05A214 80059614 8FAA00C8 */ lw $t2, 0xc8($sp) -/* 05A218 80059618 45000004 */ bc1f .L8005962C -/* 05A21C 8005961C 004A5821 */ addu $t3, $v0, $t2 -/* 05A220 80059620 10000002 */ b .L8005962C -/* 05A224 80059624 A22B01FC */ sb $t3, 0x1fc($s1) -.L80059628: -/* 05A228 80059628 A22001FC */ sb $zero, 0x1fc($s1) -.L8005962C: -/* 05A22C 8005962C C7A40054 */ lwc1 $f4, 0x54($sp) -/* 05A230 80059630 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 05A234 80059634 E7A40050 */ swc1 $f4, 0x50($sp) -/* 05A238 80059638 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 05A23C 8005963C C7B0005C */ lwc1 $f16, 0x5c($sp) -/* 05A240 80059640 E7AA0054 */ swc1 $f10, 0x54($sp) -/* 05A244 80059644 46004487 */ neg.s $f18, $f8 -/* 05A248 80059648 46128182 */ mul.s $f6, $f16, $f18 -/* 05A24C 8005964C C7A40054 */ lwc1 $f4, 0x54($sp) -/* 05A250 80059650 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 05A254 80059654 8FA200C0 */ lw $v0, 0xc0($sp) -/* 05A258 80059658 460A2202 */ mul.s $f8, $f4, $f10 -/* 05A25C 8005965C E7B2004C */ swc1 $f18, 0x4c($sp) -/* 05A260 80059660 C450000C */ lwc1 $f16, 0xc($v0) -/* 05A264 80059664 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 05A268 80059668 46048282 */ mul.s $f10, $f16, $f4 -/* 05A26C 8005966C 46083000 */ add.s $f0, $f6, $f8 -/* 05A270 80059670 C4460014 */ lwc1 $f6, 0x14($v0) -/* 05A274 80059674 44811000 */ mtc1 $at, $f2 -/* 05A278 80059678 46069202 */ mul.s $f8, $f18, $f6 -/* 05A27C 8005967C 46000007 */ neg.s $f0, $f0 -/* 05A280 80059680 C7B20044 */ lwc1 $f18, 0x44($sp) -/* 05A284 80059684 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -/* 05A288 80059688 46085400 */ add.s $f16, $f10, $f8 -/* 05A28C 8005968C 46008100 */ add.s $f4, $f16, $f0 -/* 05A290 80059690 44810000 */ mtc1 $at, $f0 -/* 05A294 80059694 46122183 */ div.s $f6, $f4, $f18 -/* 05A298 80059698 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 05A29C 8005969C 46003287 */ neg.s $f10, $f6 -/* 05A2A0 800596A0 460A103C */ c.lt.s $f2, $f10 -/* 05A2A4 800596A4 E7AA0054 */ swc1 $f10, 0x54($sp) -/* 05A2A8 800596A8 45000002 */ bc1f .L800596B4 -/* 05A2AC 800596AC 00000000 */ nop -/* 05A2B0 800596B0 E7A20054 */ swc1 $f2, 0x54($sp) -.L800596B4: -/* 05A2B4 800596B4 C7A80054 */ lwc1 $f8, 0x54($sp) -/* 05A2B8 800596B8 00000000 */ nop -/* 05A2BC 800596BC 4600403C */ c.lt.s $f8, $f0 -/* 05A2C0 800596C0 00000000 */ nop -/* 05A2C4 800596C4 45000002 */ bc1f .L800596D0 -/* 05A2C8 800596C8 00000000 */ nop -/* 05A2CC 800596CC E7A00054 */ swc1 $f0, 0x54($sp) -.L800596D0: -/* 05A2D0 800596D0 444DF800 */ cfc1 $t5, $31 -/* 05A2D4 800596D4 44810000 */ mtc1 $at, $f0 -/* 05A2D8 800596D8 35A10003 */ ori $at, $t5, 3 -/* 05A2DC 800596DC 38210002 */ xori $at, $at, 2 -/* 05A2E0 800596E0 44C1F800 */ ctc1 $at, $31 -/* 05A2E4 800596E4 C7B00054 */ lwc1 $f16, 0x54($sp) -/* 05A2E8 800596E8 862C01BA */ lh $t4, 0x1ba($s1) -/* 05A2EC 800596EC 46008124 */ cvt.w.s $f4, $f16 -/* 05A2F0 800596F0 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 05A2F4 800596F4 440E2000 */ mfc1 $t6, $f4 -/* 05A2F8 800596F8 44CDF800 */ ctc1 $t5, $31 -/* 05A2FC 800596FC 018E7821 */ addu $t7, $t4, $t6 -/* 05A300 80059700 A62F01BA */ sh $t7, 0x1ba($s1) -/* 05A304 80059704 C7A60064 */ lwc1 $f6, 0x64($sp) -/* 05A308 80059708 C4520010 */ lwc1 $f18, 0x10($v0) -/* 05A30C 8005970C C7A80044 */ lwc1 $f8, 0x44($sp) -/* 05A310 80059710 46069281 */ sub.s $f10, $f18, $f6 -/* 05A314 80059714 00000000 */ nop -/* 05A318 80059718 46085403 */ div.s $f16, $f10, $f8 -/* 05A31C 8005971C 4610003C */ c.lt.s $f0, $f16 -/* 05A320 80059720 E7B00050 */ swc1 $f16, 0x50($sp) -/* 05A324 80059724 45000002 */ bc1f .L80059730 -/* 05A328 80059728 00000000 */ nop -/* 05A32C 8005972C E7A00050 */ swc1 $f0, 0x50($sp) -.L80059730: -/* 05A330 80059730 44810000 */ mtc1 $at, $f0 -/* 05A334 80059734 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 05A338 80059738 00000000 */ nop -/* 05A33C 8005973C 4600203C */ c.lt.s $f4, $f0 -/* 05A340 80059740 00000000 */ nop -/* 05A344 80059744 45000002 */ bc1f .L80059750 -/* 05A348 80059748 00000000 */ nop -/* 05A34C 8005974C E7A00050 */ swc1 $f0, 0x50($sp) -.L80059750: -/* 05A350 80059750 4459F800 */ cfc1 $t9, $31 -/* 05A354 80059754 C7B20050 */ lwc1 $f18, 0x50($sp) -/* 05A358 80059758 37210003 */ ori $at, $t9, 3 -/* 05A35C 8005975C 38210002 */ xori $at, $at, 2 -/* 05A360 80059760 44C1F800 */ ctc1 $at, $31 -/* 05A364 80059764 863801BC */ lh $t8, 0x1bc($s1) -/* 05A368 80059768 460091A4 */ cvt.w.s $f6, $f18 -/* 05A36C 8005976C 44093000 */ mfc1 $t1, $f6 -/* 05A370 80059770 44D9F800 */ ctc1 $t9, $31 -/* 05A374 80059774 03095021 */ addu $t2, $t8, $t1 -/* 05A378 80059778 A62A01BC */ sh $t2, 0x1bc($s1) -.L8005977C: -/* 05A37C 8005977C 8FBF001C */ lw $ra, 0x1c($sp) -.L80059780: -/* 05A380 80059780 8FB00014 */ lw $s0, 0x14($sp) -/* 05A384 80059784 8FB10018 */ lw $s1, 0x18($sp) -/* 05A388 80059788 03E00008 */ jr $ra -/* 05A38C 8005978C 27BD00C0 */ addiu $sp, $sp, 0xc0 - diff --git a/asm/non_matchings/racer/set_ghost_position_and_rotation.s b/asm/non_matchings/racer/set_ghost_position_and_rotation.s deleted file mode 100644 index 30799e83..00000000 --- a/asm/non_matchings/racer/set_ghost_position_and_rotation.s +++ /dev/null @@ -1,377 +0,0 @@ -.late_rodata -glabel D_800E6930 -.double 1.2 -glabel D_800E6938 -.double 0.8 - -.text -glabel set_ghost_position_and_rotation -/* 05AA40 80059E40 3C058012 */ lui $a1, %hi(gCurrentGhostIndex) # $a1, 0x8012 -/* 05AA44 80059E44 80A5D59C */ lb $a1, %lo(gCurrentGhostIndex)($a1) -/* 05AA48 80059E48 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 05AA4C 80059E4C 24A50001 */ addiu $a1, $a1, 1 -/* 05AA50 80059E50 AFBF001C */ sw $ra, 0x1c($sp) -/* 05AA54 80059E54 AFB00018 */ sw $s0, 0x18($sp) -/* 05AA58 80059E58 30AE0001 */ andi $t6, $a1, 1 -/* 05AA5C 80059E5C 00808025 */ move $s0, $a0 -/* 05AA60 80059E60 0C006CEB */ jal timetrial_staff_ghost_check -/* 05AA64 80059E64 AFAE005C */ sw $t6, 0x5c($sp) -/* 05AA68 80059E68 8FA5005C */ lw $a1, 0x5c($sp) -/* 05AA6C 80059E6C 10400002 */ beqz $v0, .L80059E78 -/* 05AA70 80059E70 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 05AA74 80059E74 24050002 */ li $a1, 2 -.L80059E78: -/* 05AA78 80059E78 8E0F0078 */ lw $t7, 0x78($s0) -/* 05AA7C 80059E7C 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 -/* 05AA80 80059E80 448F2000 */ mtc1 $t7, $f4 -/* 05AA84 80059E84 44813000 */ mtc1 $at, $f6 -/* 05AA88 80059E88 46802020 */ cvt.s.w $f0, $f4 -/* 05AA8C 80059E8C 8F180300 */ lw $t8, %lo(osTvType)($t8) -/* 05AA90 80059E90 00057040 */ sll $t6, $a1, 1 -/* 05AA94 80059E94 1700000E */ bnez $t8, .L80059ED0 -/* 05AA98 80059E98 46060083 */ div.s $f2, $f0, $f6 -/* 05AA9C 80059E9C 24010002 */ li $at, 2 -/* 05AAA0 80059EA0 14A1000B */ bne $a1, $at, .L80059ED0 -/* 05AAA4 80059EA4 3C01800E */ lui $at, %hi(D_800E6930 + 4) # $at, 0x800e -/* 05AAA8 80059EA8 C42B6930 */ lwc1 $f11, %lo(D_800E6930)($at) -/* 05AAAC 80059EAC C42A6934 */ lwc1 $f10, %lo(D_800E6930 + 4)($at) -/* 05AAB0 80059EB0 46000221 */ cvt.d.s $f8, $f0 -/* 05AAB4 80059EB4 462A4402 */ mul.d $f16, $f8, $f10 -/* 05AAB8 80059EB8 3C01403E */ li $at, 0x403E0000 # 2.968750 -/* 05AABC 80059EBC 44819800 */ mtc1 $at, $f19 -/* 05AAC0 80059EC0 44809000 */ mtc1 $zero, $f18 -/* 05AAC4 80059EC4 00000000 */ nop -/* 05AAC8 80059EC8 46328103 */ div.d $f4, $f16, $f18 -/* 05AACC 80059ECC 462020A0 */ cvt.s.d $f2, $f4 -.L80059ED0: -/* 05AAD0 80059ED0 4459F800 */ cfc1 $t9, $31 -/* 05AAD4 80059ED4 3C0D8012 */ lui $t5, %hi(gGhostNodeCount) # $t5, 0x8012 -/* 05AAD8 80059ED8 37210003 */ ori $at, $t9, 3 -/* 05AADC 80059EDC 38210002 */ xori $at, $at, 2 -/* 05AAE0 80059EE0 44C1F800 */ ctc1 $at, $31 -/* 05AAE4 80059EE4 01AE6821 */ addu $t5, $t5, $t6 -/* 05AAE8 80059EE8 460011A4 */ cvt.w.s $f6, $f2 -/* 05AAEC 80059EEC 85ADD5A0 */ lh $t5, %lo(gGhostNodeCount)($t5) -/* 05AAF0 80059EF0 44033000 */ mfc1 $v1, $f6 -/* 05AAF4 80059EF4 25AFFFFE */ addiu $t7, $t5, -2 -/* 05AAF8 80059EF8 44D9F800 */ ctc1 $t9, $31 -/* 05AAFC 80059EFC 006F082A */ slt $at, $v1, $t7 -/* 05AB00 80059F00 14200003 */ bnez $at, .L80059F10 -/* 05AB04 80059F04 AFA30060 */ sw $v1, 0x60($sp) -/* 05AB08 80059F08 10000125 */ b .L8005A3A0 -/* 05AB0C 80059F0C 00001025 */ move $v0, $zero -.L80059F10: -/* 05AB10 80059F10 24010002 */ li $at, 2 -/* 05AB14 80059F14 10A10011 */ beq $a1, $at, .L80059F5C -/* 05AB18 80059F18 2469FFFF */ addiu $t1, $v1, -1 -/* 05AB1C 80059F1C AFA3003C */ sw $v1, 0x3c($sp) -/* 05AB20 80059F20 AFA5005C */ sw $a1, 0x5c($sp) -/* 05AB24 80059F24 AFAD004C */ sw $t5, 0x4c($sp) -/* 05AB28 80059F28 0C01AF62 */ jal get_current_map_id -/* 05AB2C 80059F2C E7A20094 */ swc1 $f2, 0x94($sp) -/* 05AB30 80059F30 3C188012 */ lui $t8, %hi(gGhostMapID) # $t8, 0x8012 -/* 05AB34 80059F34 8718D5AC */ lh $t8, %lo(gGhostMapID)($t8) -/* 05AB38 80059F38 8FA3003C */ lw $v1, 0x3c($sp) -/* 05AB3C 80059F3C 8FA5005C */ lw $a1, 0x5c($sp) -/* 05AB40 80059F40 8FAD004C */ lw $t5, 0x4c($sp) -/* 05AB44 80059F44 C7A20094 */ lwc1 $f2, 0x94($sp) -/* 05AB48 80059F48 10580004 */ beq $v0, $t8, .L80059F5C -/* 05AB4C 80059F4C 2469FFFF */ addiu $t1, $v1, -1 -/* 05AB50 80059F50 10000113 */ b .L8005A3A0 -/* 05AB54 80059F54 00001025 */ move $v0, $zero -/* 05AB58 80059F58 2469FFFF */ addiu $t1, $v1, -1 -.L80059F5C: -/* 05AB5C 80059F5C 0005C880 */ sll $t9, $a1, 2 -/* 05AB60 80059F60 3C1F8012 */ lui $ra, %hi(gGhostData) # $ra, 0x8012 -/* 05AB64 80059F64 03F9F821 */ addu $ra, $ra, $t9 -/* 05AB68 80059F68 00097080 */ sll $t6, $t1, 2 -/* 05AB6C 80059F6C 8FFFD590 */ lw $ra, %lo(gGhostData)($ra) -/* 05AB70 80059F70 01C97023 */ subu $t6, $t6, $t1 -/* 05AB74 80059F74 000E7080 */ sll $t6, $t6, 2 -/* 05AB78 80059F78 27A70084 */ addiu $a3, $sp, 0x84 -/* 05AB7C 80059F7C 27A80074 */ addiu $t0, $sp, 0x74 -/* 05AB80 80059F80 27A60064 */ addiu $a2, $sp, 0x64 -/* 05AB84 80059F84 27AC0074 */ addiu $t4, $sp, 0x74 -/* 05AB88 80059F88 240BFFFF */ li $t3, -1 -/* 05AB8C 80059F8C 03EE5021 */ addu $t2, $ra, $t6 -.L80059F90: -/* 05AB90 80059F90 152B001A */ bne $t1, $t3, .L80059FFC -/* 05AB94 80059F94 01401025 */ move $v0, $t2 -/* 05AB98 80059F98 8443000C */ lh $v1, 0xc($v0) -/* 05AB9C 80059F9C 84580018 */ lh $t8, 0x18($v0) -/* 05ABA0 80059FA0 00637821 */ addu $t7, $v1, $v1 -/* 05ABA4 80059FA4 01F8C823 */ subu $t9, $t7, $t8 -/* 05ABA8 80059FA8 44994000 */ mtc1 $t9, $f8 -/* 05ABAC 80059FAC 2442000C */ addiu $v0, $v0, 0xc -/* 05ABB0 80059FB0 468042A0 */ cvt.s.w $f10, $f8 -/* 05ABB4 80059FB4 E4EA0000 */ swc1 $f10, ($a3) -/* 05ABB8 80059FB8 84440002 */ lh $a0, 2($v0) -/* 05ABBC 80059FBC 844F000E */ lh $t7, 0xe($v0) -/* 05ABC0 80059FC0 00847021 */ addu $t6, $a0, $a0 -/* 05ABC4 80059FC4 01CFC023 */ subu $t8, $t6, $t7 -/* 05ABC8 80059FC8 44988000 */ mtc1 $t8, $f16 -/* 05ABCC 80059FCC 00000000 */ nop -/* 05ABD0 80059FD0 468084A0 */ cvt.s.w $f18, $f16 -/* 05ABD4 80059FD4 E5120000 */ swc1 $f18, ($t0) -/* 05ABD8 80059FD8 84450004 */ lh $a1, 4($v0) -/* 05ABDC 80059FDC 844E0010 */ lh $t6, 0x10($v0) -/* 05ABE0 80059FE0 00A5C821 */ addu $t9, $a1, $a1 -/* 05ABE4 80059FE4 032E7823 */ subu $t7, $t9, $t6 -/* 05ABE8 80059FE8 448F2000 */ mtc1 $t7, $f4 -/* 05ABEC 80059FEC 00000000 */ nop -/* 05ABF0 80059FF0 468021A0 */ cvt.s.w $f6, $f4 -/* 05ABF4 80059FF4 1000002F */ b .L8005A0B4 -/* 05ABF8 80059FF8 E4C60000 */ swc1 $f6, ($a2) -.L80059FFC: -/* 05ABFC 80059FFC 012D082A */ slt $at, $t1, $t5 -/* 05AC00 8005A000 1420001A */ bnez $at, .L8005A06C -/* 05AC04 8005A004 00000000 */ nop -/* 05AC08 8005A008 84430000 */ lh $v1, ($v0) -/* 05AC0C 8005A00C 8459FFF4 */ lh $t9, -0xc($v0) -/* 05AC10 8005A010 0063C021 */ addu $t8, $v1, $v1 -/* 05AC14 8005A014 03197023 */ subu $t6, $t8, $t9 -/* 05AC18 8005A018 448E4000 */ mtc1 $t6, $f8 -/* 05AC1C 8005A01C 00000000 */ nop -/* 05AC20 8005A020 468042A0 */ cvt.s.w $f10, $f8 -/* 05AC24 8005A024 E4EA0000 */ swc1 $f10, ($a3) -/* 05AC28 8005A028 84440002 */ lh $a0, 2($v0) -/* 05AC2C 8005A02C 8458FFF6 */ lh $t8, -0xa($v0) -/* 05AC30 8005A030 00847821 */ addu $t7, $a0, $a0 -/* 05AC34 8005A034 01F8C823 */ subu $t9, $t7, $t8 -/* 05AC38 8005A038 44998000 */ mtc1 $t9, $f16 -/* 05AC3C 8005A03C 00000000 */ nop -/* 05AC40 8005A040 468084A0 */ cvt.s.w $f18, $f16 -/* 05AC44 8005A044 E5120000 */ swc1 $f18, ($t0) -/* 05AC48 8005A048 84450004 */ lh $a1, 4($v0) -/* 05AC4C 8005A04C 844FFFF8 */ lh $t7, -8($v0) -/* 05AC50 8005A050 00A57021 */ addu $t6, $a1, $a1 -/* 05AC54 8005A054 01CFC023 */ subu $t8, $t6, $t7 -/* 05AC58 8005A058 44982000 */ mtc1 $t8, $f4 -/* 05AC5C 8005A05C 00000000 */ nop -/* 05AC60 8005A060 468021A0 */ cvt.s.w $f6, $f4 -/* 05AC64 8005A064 10000013 */ b .L8005A0B4 -/* 05AC68 8005A068 E4C60000 */ swc1 $f6, ($a2) -.L8005A06C: -/* 05AC6C 8005A06C 84590000 */ lh $t9, ($v0) -/* 05AC70 8005A070 00000000 */ nop -/* 05AC74 8005A074 44994000 */ mtc1 $t9, $f8 -/* 05AC78 8005A078 00000000 */ nop -/* 05AC7C 8005A07C 468042A0 */ cvt.s.w $f10, $f8 -/* 05AC80 8005A080 E4EA0000 */ swc1 $f10, ($a3) -/* 05AC84 8005A084 844E0002 */ lh $t6, 2($v0) -/* 05AC88 8005A088 00000000 */ nop -/* 05AC8C 8005A08C 448E8000 */ mtc1 $t6, $f16 -/* 05AC90 8005A090 00000000 */ nop -/* 05AC94 8005A094 468084A0 */ cvt.s.w $f18, $f16 -/* 05AC98 8005A098 E5120000 */ swc1 $f18, ($t0) -/* 05AC9C 8005A09C 844F0004 */ lh $t7, 4($v0) -/* 05ACA0 8005A0A0 00000000 */ nop -/* 05ACA4 8005A0A4 448F2000 */ mtc1 $t7, $f4 -/* 05ACA8 8005A0A8 00000000 */ nop -/* 05ACAC 8005A0AC 468021A0 */ cvt.s.w $f6, $f4 -/* 05ACB0 8005A0B0 E4C60000 */ swc1 $f6, ($a2) -.L8005A0B4: -/* 05ACB4 8005A0B4 24C60004 */ addiu $a2, $a2, 4 -/* 05ACB8 8005A0B8 24E70004 */ addiu $a3, $a3, 4 -/* 05ACBC 8005A0BC 25080004 */ addiu $t0, $t0, 4 -/* 05ACC0 8005A0C0 25290001 */ addiu $t1, $t1, 1 -/* 05ACC4 8005A0C4 14CCFFB2 */ bne $a2, $t4, .L80059F90 -/* 05ACC8 8005A0C8 254A000C */ addiu $t2, $t2, 0xc -/* 05ACCC 8005A0CC 8FB80060 */ lw $t8, 0x60($sp) -/* 05ACD0 8005A0D0 27A40084 */ addiu $a0, $sp, 0x84 -/* 05ACD4 8005A0D4 44984000 */ mtc1 $t8, $f8 -/* 05ACD8 8005A0D8 0018C880 */ sll $t9, $t8, 2 -/* 05ACDC 8005A0DC 468042A0 */ cvt.s.w $f10, $f8 -/* 05ACE0 8005A0E0 0338C823 */ subu $t9, $t9, $t8 -/* 05ACE4 8005A0E4 0019C880 */ sll $t9, $t9, 2 -/* 05ACE8 8005A0E8 460A1081 */ sub.s $f2, $f2, $f10 -/* 05ACEC 8005A0EC 03F91021 */ addu $v0, $ra, $t9 -/* 05ACF0 8005A0F0 44061000 */ mfc1 $a2, $f2 -/* 05ACF4 8005A0F4 AFA20048 */ sw $v0, 0x48($sp) -/* 05ACF8 8005A0F8 E7A20094 */ swc1 $f2, 0x94($sp) -/* 05ACFC 8005A0FC 00002825 */ move $a1, $zero -/* 05AD00 8005A100 0C008950 */ jal catmull_rom_interpolation -/* 05AD04 8005A104 AFAD004C */ sw $t5, 0x4c($sp) -/* 05AD08 8005A108 C7A20094 */ lwc1 $f2, 0x94($sp) -/* 05AD0C 8005A10C E600000C */ swc1 $f0, 0xc($s0) -/* 05AD10 8005A110 44061000 */ mfc1 $a2, $f2 -/* 05AD14 8005A114 27A40074 */ addiu $a0, $sp, 0x74 -/* 05AD18 8005A118 0C008950 */ jal catmull_rom_interpolation -/* 05AD1C 8005A11C 00002825 */ move $a1, $zero -/* 05AD20 8005A120 C7A20094 */ lwc1 $f2, 0x94($sp) -/* 05AD24 8005A124 E6000010 */ swc1 $f0, 0x10($s0) -/* 05AD28 8005A128 44061000 */ mfc1 $a2, $f2 -/* 05AD2C 8005A12C 27A40064 */ addiu $a0, $sp, 0x64 -/* 05AD30 8005A130 0C008950 */ jal catmull_rom_interpolation -/* 05AD34 8005A134 00002825 */ move $a1, $zero -/* 05AD38 8005A138 8FA20048 */ lw $v0, 0x48($sp) -/* 05AD3C 8005A13C 8FAD004C */ lw $t5, 0x4c($sp) -/* 05AD40 8005A140 C7A20094 */ lwc1 $f2, 0x94($sp) -/* 05AD44 8005A144 E6000014 */ swc1 $f0, 0x14($s0) -/* 05AD48 8005A148 8444000A */ lh $a0, 0xa($v0) -/* 05AD4C 8005A14C 2446000C */ addiu $a2, $v0, 0xc -/* 05AD50 8005A150 84CE000A */ lh $t6, 0xa($a2) -/* 05AD54 8005A154 308FFFFF */ andi $t7, $a0, 0xffff -/* 05AD58 8005A158 34078001 */ li $a3, 32769 -/* 05AD5C 8005A15C 01CF1823 */ subu $v1, $t6, $t7 -/* 05AD60 8005A160 0067082A */ slt $at, $v1, $a3 -/* 05AD64 8005A164 14200003 */ bnez $at, .L8005A174 -/* 05AD68 8005A168 3C08FFFF */ lui $t0, (0xFFFF0001 >> 16) # lui $t0, 0xffff -/* 05AD6C 8005A16C 35080001 */ ori $t0, (0xFFFF0001 & 0xFFFF) # ori $t0, $t0, 1 -/* 05AD70 8005A170 00681821 */ addu $v1, $v1, $t0 -.L8005A174: -/* 05AD74 8005A174 3C08FFFF */ lui $t0, (0xFFFF0001 >> 16) # lui $t0, 0xffff -/* 05AD78 8005A178 28618000 */ slti $at, $v1, -0x8000 -/* 05AD7C 8005A17C 10200003 */ beqz $at, .L8005A18C -/* 05AD80 8005A180 35080001 */ ori $t0, (0xFFFF0001 & 0xFFFF) # ori $t0, $t0, 1 -/* 05AD84 8005A184 3409FFFF */ li $t1, 65535 -/* 05AD88 8005A188 00691821 */ addu $v1, $v1, $t1 -.L8005A18C: -/* 05AD8C 8005A18C 44838000 */ mtc1 $v1, $f16 -/* 05AD90 8005A190 3409FFFF */ li $t1, 65535 -/* 05AD94 8005A194 468084A0 */ cvt.s.w $f18, $f16 -/* 05AD98 8005A198 46029102 */ mul.s $f4, $f18, $f2 -/* 05AD9C 8005A19C 4459F800 */ cfc1 $t9, $31 -/* 05ADA0 8005A1A0 00000000 */ nop -/* 05ADA4 8005A1A4 37210003 */ ori $at, $t9, 3 -/* 05ADA8 8005A1A8 38210002 */ xori $at, $at, 2 -/* 05ADAC 8005A1AC 44C1F800 */ ctc1 $at, $31 -/* 05ADB0 8005A1B0 00000000 */ nop -/* 05ADB4 8005A1B4 460021A4 */ cvt.w.s $f6, $f4 -/* 05ADB8 8005A1B8 440F3000 */ mfc1 $t7, $f6 -/* 05ADBC 8005A1BC 44D9F800 */ ctc1 $t9, $31 -/* 05ADC0 8005A1C0 008FC821 */ addu $t9, $a0, $t7 -/* 05ADC4 8005A1C4 A6190000 */ sh $t9, ($s0) -/* 05ADC8 8005A1C8 84450008 */ lh $a1, 8($v0) -/* 05ADCC 8005A1CC 84D80008 */ lh $t8, 8($a2) -/* 05ADD0 8005A1D0 30AEFFFF */ andi $t6, $a1, 0xffff -/* 05ADD4 8005A1D4 030E1823 */ subu $v1, $t8, $t6 -/* 05ADD8 8005A1D8 0067082A */ slt $at, $v1, $a3 -/* 05ADDC 8005A1DC 14200003 */ bnez $at, .L8005A1EC -/* 05ADE0 8005A1E0 28618000 */ slti $at, $v1, -0x8000 -/* 05ADE4 8005A1E4 00681821 */ addu $v1, $v1, $t0 -/* 05ADE8 8005A1E8 28618000 */ slti $at, $v1, -0x8000 -.L8005A1EC: -/* 05ADEC 8005A1EC 10200002 */ beqz $at, .L8005A1F8 -/* 05ADF0 8005A1F0 00000000 */ nop -/* 05ADF4 8005A1F4 00691821 */ addu $v1, $v1, $t1 -.L8005A1F8: -/* 05ADF8 8005A1F8 44834000 */ mtc1 $v1, $f8 -/* 05ADFC 8005A1FC 00000000 */ nop -/* 05AE00 8005A200 468042A0 */ cvt.s.w $f10, $f8 -/* 05AE04 8005A204 46025402 */ mul.s $f16, $f10, $f2 -/* 05AE08 8005A208 444FF800 */ cfc1 $t7, $31 -/* 05AE0C 8005A20C 00000000 */ nop -/* 05AE10 8005A210 35E10003 */ ori $at, $t7, 3 -/* 05AE14 8005A214 38210002 */ xori $at, $at, 2 -/* 05AE18 8005A218 44C1F800 */ ctc1 $at, $31 -/* 05AE1C 8005A21C 00000000 */ nop -/* 05AE20 8005A220 460084A4 */ cvt.w.s $f18, $f16 -/* 05AE24 8005A224 440E9000 */ mfc1 $t6, $f18 -/* 05AE28 8005A228 44CFF800 */ ctc1 $t7, $31 -/* 05AE2C 8005A22C 00AE7821 */ addu $t7, $a1, $t6 -/* 05AE30 8005A230 A60F0002 */ sh $t7, 2($s0) -/* 05AE34 8005A234 84440006 */ lh $a0, 6($v0) -/* 05AE38 8005A238 84D90006 */ lh $t9, 6($a2) -/* 05AE3C 8005A23C 3098FFFF */ andi $t8, $a0, 0xffff -/* 05AE40 8005A240 03381823 */ subu $v1, $t9, $t8 -/* 05AE44 8005A244 0067082A */ slt $at, $v1, $a3 -/* 05AE48 8005A248 14200003 */ bnez $at, .L8005A258 -/* 05AE4C 8005A24C 28618000 */ slti $at, $v1, -0x8000 -/* 05AE50 8005A250 00681821 */ addu $v1, $v1, $t0 -/* 05AE54 8005A254 28618000 */ slti $at, $v1, -0x8000 -.L8005A258: -/* 05AE58 8005A258 10200002 */ beqz $at, .L8005A264 -/* 05AE5C 8005A25C 00000000 */ nop -/* 05AE60 8005A260 00691821 */ addu $v1, $v1, $t1 -.L8005A264: -/* 05AE64 8005A264 44832000 */ mtc1 $v1, $f4 -/* 05AE68 8005A268 C60C000C */ lwc1 $f12, 0xc($s0) -/* 05AE6C 8005A26C 468021A0 */ cvt.s.w $f6, $f4 -/* 05AE70 8005A270 C60E0010 */ lwc1 $f14, 0x10($s0) -/* 05AE74 8005A274 8E060014 */ lw $a2, 0x14($s0) -/* 05AE78 8005A278 46023202 */ mul.s $f8, $f6, $f2 -/* 05AE7C 8005A27C AE000074 */ sw $zero, 0x74($s0) -/* 05AE80 8005A280 444EF800 */ cfc1 $t6, $31 -/* 05AE84 8005A284 00000000 */ nop -/* 05AE88 8005A288 35C10003 */ ori $at, $t6, 3 -/* 05AE8C 8005A28C 38210002 */ xori $at, $at, 2 -/* 05AE90 8005A290 44C1F800 */ ctc1 $at, $31 -/* 05AE94 8005A294 00000000 */ nop -/* 05AE98 8005A298 460042A4 */ cvt.w.s $f10, $f8 -/* 05AE9C 8005A29C 44185000 */ mfc1 $t8, $f10 -/* 05AEA0 8005A2A0 44CEF800 */ ctc1 $t6, $31 -/* 05AEA4 8005A2A4 00987021 */ addu $t6, $a0, $t8 -/* 05AEA8 8005A2A8 A60E0004 */ sh $t6, 4($s0) -/* 05AEAC 8005A2AC E7A20094 */ swc1 $f2, 0x94($sp) -/* 05AEB0 8005A2B0 0C00A7C6 */ jal get_level_segment_index_from_position -/* 05AEB4 8005A2B4 AFAD004C */ sw $t5, 0x4c($sp) -/* 05AEB8 8005A2B8 8FAD004C */ lw $t5, 0x4c($sp) -/* 05AEBC 8005A2BC C7A20094 */ lwc1 $f2, 0x94($sp) -/* 05AEC0 8005A2C0 A602002E */ sh $v0, 0x2e($s0) -/* 05AEC4 8005A2C4 8FAF0060 */ lw $t7, 0x60($sp) -/* 05AEC8 8005A2C8 3C01800E */ lui $at, %hi(D_800E6938 + 4) # $at, 0x800e -/* 05AECC 8005A2CC 25F90003 */ addiu $t9, $t7, 3 -/* 05AED0 8005A2D0 15B90033 */ bne $t5, $t9, .L8005A3A0 -/* 05AED4 8005A2D4 24020001 */ li $v0, 1 -/* 05AED8 8005A2D8 C42D6938 */ lwc1 $f13, %lo(D_800E6938)($at) -/* 05AEDC 8005A2DC C42C693C */ lwc1 $f12, %lo(D_800E6938 + 4)($at) -/* 05AEE0 8005A2E0 46001021 */ cvt.d.s $f0, $f2 -/* 05AEE4 8005A2E4 4620603E */ c.le.d $f12, $f0 -/* 05AEE8 8005A2E8 8E020064 */ lw $v0, 0x64($s0) -/* 05AEEC 8005A2EC 45000003 */ bc1f .L8005A2FC -/* 05AEF0 8005A2F0 3C014058 */ li $at, 0x40580000 # 3.375000 -/* 05AEF4 8005A2F4 10000029 */ b .L8005A39C -/* 05AEF8 8005A2F8 A04001F7 */ sb $zero, 0x1f7($v0) -.L8005A2FC: -/* 05AEFC 8005A2FC 46206401 */ sub.d $f16, $f12, $f0 -/* 05AF00 8005A300 44819800 */ mtc1 $at, $f19 -/* 05AF04 8005A304 44809000 */ mtc1 $zero, $f18 -/* 05AF08 8005A308 240E0001 */ li $t6, 1 -/* 05AF0C 8005A30C 46328102 */ mul.d $f4, $f16, $f18 -/* 05AF10 8005A310 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 05AF14 8005A314 4458F800 */ cfc1 $t8, $31 -/* 05AF18 8005A318 44CEF800 */ ctc1 $t6, $31 -/* 05AF1C 8005A31C 00000000 */ nop -/* 05AF20 8005A320 462021A4 */ cvt.w.d $f6, $f4 -/* 05AF24 8005A324 444EF800 */ cfc1 $t6, $31 -/* 05AF28 8005A328 00000000 */ nop -/* 05AF2C 8005A32C 31CE0078 */ andi $t6, $t6, 0x78 -/* 05AF30 8005A330 11C00013 */ beqz $t6, .L8005A380 -/* 05AF34 8005A334 00000000 */ nop -/* 05AF38 8005A338 44813800 */ mtc1 $at, $f7 -/* 05AF3C 8005A33C 44803000 */ mtc1 $zero, $f6 -/* 05AF40 8005A340 240E0001 */ li $t6, 1 -/* 05AF44 8005A344 46262181 */ sub.d $f6, $f4, $f6 -/* 05AF48 8005A348 3C018000 */ lui $at, 0x8000 -/* 05AF4C 8005A34C 44CEF800 */ ctc1 $t6, $31 -/* 05AF50 8005A350 00000000 */ nop -/* 05AF54 8005A354 462031A4 */ cvt.w.d $f6, $f6 -/* 05AF58 8005A358 444EF800 */ cfc1 $t6, $31 -/* 05AF5C 8005A35C 00000000 */ nop -/* 05AF60 8005A360 31CE0078 */ andi $t6, $t6, 0x78 -/* 05AF64 8005A364 15C00004 */ bnez $t6, .L8005A378 -/* 05AF68 8005A368 00000000 */ nop -/* 05AF6C 8005A36C 440E3000 */ mfc1 $t6, $f6 -/* 05AF70 8005A370 10000007 */ b .L8005A390 -/* 05AF74 8005A374 01C17025 */ or $t6, $t6, $at -.L8005A378: -/* 05AF78 8005A378 10000005 */ b .L8005A390 -/* 05AF7C 8005A37C 240EFFFF */ li $t6, -1 -.L8005A380: -/* 05AF80 8005A380 440E3000 */ mfc1 $t6, $f6 -/* 05AF84 8005A384 00000000 */ nop -/* 05AF88 8005A388 05C0FFFB */ bltz $t6, .L8005A378 -/* 05AF8C 8005A38C 00000000 */ nop -.L8005A390: -/* 05AF90 8005A390 44D8F800 */ ctc1 $t8, $31 -/* 05AF94 8005A394 A04E01F7 */ sb $t6, 0x1f7($v0) -/* 05AF98 8005A398 00000000 */ nop -.L8005A39C: -/* 05AF9C 8005A39C 24020001 */ li $v0, 1 -.L8005A3A0: -/* 05AFA0 8005A3A0 8FBF001C */ lw $ra, 0x1c($sp) -/* 05AFA4 8005A3A4 8FB00018 */ lw $s0, 0x18($sp) -/* 05AFA8 8005A3A8 03E00008 */ jr $ra -/* 05AFAC 8005A3AC 27BD0098 */ addiu $sp, $sp, 0x98 - diff --git a/asm/non_matchings/racer/update_camera_car.s b/asm/non_matchings/racer/update_camera_car.s deleted file mode 100644 index 4c2101f9..00000000 --- a/asm/non_matchings/racer/update_camera_car.s +++ /dev/null @@ -1,667 +0,0 @@ -.late_rodata -glabel D_800E6910 -.double 65.0 -glabel D_800E6918 -.double 1.3 - -.text -glabel update_camera_car -/* 058DE8 800581E8 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 058DEC 800581EC 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 058DF0 800581F0 44818000 */ mtc1 $at, $f16 -/* 058DF4 800581F4 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 058DF8 800581F8 44812000 */ mtc1 $at, $f4 -/* 058DFC 800581FC AFBF0014 */ sw $ra, 0x14($sp) -/* 058E00 80058200 240E0400 */ li $t6, 1024 -/* 058E04 80058204 E7AC0068 */ swc1 $f12, 0x68($sp) -/* 058E08 80058208 AFA5006C */ sw $a1, 0x6c($sp) -/* 058E0C 8005820C AFAE001C */ sw $t6, 0x1c($sp) -/* 058E10 80058210 AFA60070 */ sw $a2, 0x70($sp) -/* 058E14 80058214 E7B00054 */ swc1 $f16, 0x54($sp) -/* 058E18 80058218 0C019884 */ jal get_viewport_count -/* 058E1C 8005821C E7A40050 */ swc1 $f4, 0x50($sp) -/* 058E20 80058220 24040001 */ li $a0, 1 -/* 058E24 80058224 8FA70070 */ lw $a3, 0x70($sp) -/* 058E28 80058228 C7B00054 */ lwc1 $f16, 0x54($sp) -/* 058E2C 8005822C 14440005 */ bne $v0, $a0, .L80058244 -/* 058E30 80058230 3C014340 */ li $at, 0x43400000 # 192.000000 -/* 058E34 80058234 44818000 */ mtc1 $at, $f16 -/* 058E38 80058238 240F0200 */ li $t7, 512 -/* 058E3C 8005823C 10000009 */ b .L80058264 -/* 058E40 80058240 AFAF001C */ sw $t7, 0x1c($sp) -.L80058244: -/* 058E44 80058244 28410003 */ slti $at, $v0, 3 -/* 058E48 80058248 14200006 */ bnez $at, .L80058264 -/* 058E4C 8005824C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 058E50 80058250 44818000 */ mtc1 $at, $f16 -/* 058E54 80058254 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 058E58 80058258 44813000 */ mtc1 $at, $f6 -/* 058E5C 8005825C 00000000 */ nop -/* 058E60 80058260 E7A60050 */ swc1 $f6, 0x50($sp) -.L80058264: -/* 058E64 80058264 AFA70070 */ sw $a3, 0x70($sp) -/* 058E68 80058268 0C008D5A */ jal func_80023568 -/* 058E6C 8005826C E7B00054 */ swc1 $f16, 0x54($sp) -/* 058E70 80058270 24040001 */ li $a0, 1 -/* 058E74 80058274 8FA70070 */ lw $a3, 0x70($sp) -/* 058E78 80058278 C7B00054 */ lwc1 $f16, 0x54($sp) -/* 058E7C 8005827C 10440002 */ beq $v0, $a0, .L80058288 -/* 058E80 80058280 24010004 */ li $at, 4 -/* 058E84 80058284 14410012 */ bne $v0, $at, .L800582D0 -.L80058288: -/* 058E88 80058288 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 058E8C 8005828C 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 058E90 80058290 3C014310 */ li $at, 0x43100000 # 144.000000 -/* 058E94 80058294 44810000 */ mtc1 $at, $f0 -/* 058E98 80058298 8D180000 */ lw $t8, ($t0) -/* 058E9C 8005829C 3C0142DC */ li $at, 0x42DC0000 # 110.000000 -/* 058EA0 800582A0 9319003B */ lbu $t9, 0x3b($t8) -/* 058EA4 800582A4 44819000 */ mtc1 $at, $f18 -/* 058EA8 800582A8 24010003 */ li $at, 3 -/* 058EAC 800582AC 17210005 */ bne $t9, $at, .L800582C4 -/* 058EB0 800582B0 46000406 */ mov.s $f16, $f0 -/* 058EB4 800582B4 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 058EB8 800582B8 44814000 */ mtc1 $at, $f8 -/* 058EBC 800582BC 00000000 */ nop -/* 058EC0 800582C0 46080400 */ add.s $f16, $f0, $f8 -.L800582C4: -/* 058EC4 800582C4 24090D00 */ li $t1, 3328 -/* 058EC8 800582C8 AFA9001C */ sw $t1, 0x1c($sp) -/* 058ECC 800582CC E7B20050 */ swc1 $f18, 0x50($sp) -.L800582D0: -/* 058ED0 800582D0 84EA01A0 */ lh $t2, 0x1a0($a3) -/* 058ED4 800582D4 84E2019E */ lh $v0, 0x19e($a3) -/* 058ED8 800582D8 000A5823 */ negu $t3, $t2 -/* 058EDC 800582DC 34018000 */ li $at, 32768 -/* 058EE0 800582E0 01626023 */ subu $t4, $t3, $v0 -/* 058EE4 800582E4 01816821 */ addu $t5, $t4, $at -/* 058EE8 800582E8 000218C3 */ sra $v1, $v0, 3 -/* 058EEC 800582EC 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 058EF0 800582F0 C7B20050 */ lwc1 $f18, 0x50($sp) -/* 058EF4 800582F4 28610401 */ slti $at, $v1, 0x401 -/* 058EF8 800582F8 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 058EFC 800582FC 14200002 */ bnez $at, .L80058308 -/* 058F00 80058300 A4ED0196 */ sh $t5, 0x196($a3) -/* 058F04 80058304 24030400 */ li $v1, 1024 -.L80058308: -/* 058F08 80058308 2861FC00 */ slti $at, $v1, -0x400 -/* 058F0C 8005830C 10200002 */ beqz $at, .L80058318 -/* 058F10 80058310 00000000 */ nop -/* 058F14 80058314 2403FC00 */ li $v1, -1024 -.L80058318: -/* 058F18 80058318 444EF800 */ cfc1 $t6, $31 -/* 058F1C 8005831C C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 058F20 80058320 35C10003 */ ori $at, $t6, 3 -/* 058F24 80058324 38210002 */ xori $at, $at, 2 -/* 058F28 80058328 44C1F800 */ ctc1 $at, $31 -/* 058F2C 8005832C 00000000 */ nop -/* 058F30 80058330 46005124 */ cvt.w.s $f4, $f10 -/* 058F34 80058334 44062000 */ mfc1 $a2, $f4 -/* 058F38 80058338 44CEF800 */ ctc1 $t6, $31 -/* 058F3C 8005833C 00660019 */ multu $v1, $a2 -/* 058F40 80058340 00001812 */ mflo $v1 -/* 058F44 80058344 18600004 */ blez $v1, .L80058358 -/* 058F48 80058348 0062082A */ slt $at, $v1, $v0 -/* 058F4C 8005834C 10200002 */ beqz $at, .L80058358 -/* 058F50 80058350 00437823 */ subu $t7, $v0, $v1 -/* 058F54 80058354 A4EF019E */ sh $t7, 0x19e($a3) -.L80058358: -/* 058F58 80058358 04610007 */ bgez $v1, .L80058378 -/* 058F5C 8005835C 00000000 */ nop -/* 058F60 80058360 84E2019E */ lh $v0, 0x19e($a3) -/* 058F64 80058364 00000000 */ nop -/* 058F68 80058368 0043082A */ slt $at, $v0, $v1 -/* 058F6C 8005836C 10200002 */ beqz $at, .L80058378 -/* 058F70 80058370 0043C023 */ subu $t8, $v0, $v1 -/* 058F74 80058374 A4F8019E */ sh $t8, 0x19e($a3) -.L80058378: -/* 058F78 80058378 8D050000 */ lw $a1, ($t0) -/* 058F7C 8005837C C4EE00B8 */ lwc1 $f14, 0xb8($a3) -/* 058F80 80058380 90A2003B */ lbu $v0, 0x3b($a1) -/* 058F84 80058384 C4E20008 */ lwc1 $f2, 8($a3) -/* 058F88 80058388 10440007 */ beq $v0, $a0, .L800583A8 -/* 058F8C 8005838C 24010002 */ li $at, 2 -/* 058F90 80058390 10410009 */ beq $v0, $at, .L800583B8 -/* 058F94 80058394 24010003 */ li $at, 3 -/* 058F98 80058398 1041000F */ beq $v0, $at, .L800583D8 -/* 058F9C 8005839C 3C014254 */ lui $at, 0x4254 -/* 058FA0 800583A0 1000001A */ b .L8005840C -/* 058FA4 800583A4 80F901E2 */ lb $t9, 0x1e2($a3) -.L800583A8: -/* 058FA8 800583A8 3C01420C */ li $at, 0x420C0000 # 35.000000 -/* 058FAC 800583AC 44813000 */ mtc1 $at, $f6 -/* 058FB0 800583B0 10000015 */ b .L80058408 -/* 058FB4 800583B4 46068400 */ add.s $f16, $f16, $f6 -.L800583B8: -/* 058FB8 800583B8 3C01420C */ li $at, 0x420C0000 # 35.000000 -/* 058FBC 800583BC 44814000 */ mtc1 $at, $f8 -/* 058FC0 800583C0 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 058FC4 800583C4 44815000 */ mtc1 $at, $f10 -/* 058FC8 800583C8 46088401 */ sub.s $f16, $f16, $f8 -/* 058FCC 800583CC 1000000E */ b .L80058408 -/* 058FD0 800583D0 460A9481 */ sub.s $f18, $f18, $f10 -/* 058FD4 800583D4 3C014254 */ li $at, 0x42540000 # 53.000000 -.L800583D8: -/* 058FD8 800583D8 44812000 */ mtc1 $at, $f4 -/* 058FDC 800583DC 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 058FE0 800583E0 44813000 */ mtc1 $at, $f6 -/* 058FE4 800583E4 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 -/* 058FE8 800583E8 44815800 */ mtc1 $at, $f11 -/* 058FEC 800583EC 44805000 */ mtc1 $zero, $f10 -/* 058FF0 800583F0 46001221 */ cvt.d.s $f8, $f2 -/* 058FF4 800583F4 46048401 */ sub.s $f16, $f16, $f4 -/* 058FF8 800583F8 44807000 */ mtc1 $zero, $f14 -/* 058FFC 800583FC 462A4102 */ mul.d $f4, $f8, $f10 -/* 059000 80058400 46069481 */ sub.s $f18, $f18, $f6 -/* 059004 80058404 462020A0 */ cvt.s.d $f2, $f4 -.L80058408: -/* 059008 80058408 80F901E2 */ lb $t9, 0x1e2($a3) -.L8005840C: -/* 05900C 8005840C 44804800 */ mtc1 $zero, $f9 -/* 059010 80058410 2B210003 */ slti $at, $t9, 3 -/* 059014 80058414 10200006 */ beqz $at, .L80058430 -/* 059018 80058418 8FAA006C */ lw $t2, 0x6c($sp) -/* 05901C 8005841C 80E901E5 */ lb $t1, 0x1e5($a3) -/* 059020 80058420 00000000 */ nop -/* 059024 80058424 11200024 */ beqz $t1, .L800584B8 -/* 059028 80058428 00000000 */ nop -/* 05902C 8005842C 8FAA006C */ lw $t2, 0x6c($sp) -.L80058430: -/* 059030 80058430 8FAC001C */ lw $t4, 0x1c($sp) -/* 059034 80058434 85420002 */ lh $v0, 2($t2) -/* 059038 80058438 34018001 */ li $at, 32769 -/* 05903C 8005843C 18400008 */ blez $v0, .L80058460 -/* 059040 80058440 00000000 */ nop -/* 059044 80058444 2442F8E4 */ addiu $v0, $v0, -0x71c -/* 059048 80058448 04410003 */ bgez $v0, .L80058458 -/* 05904C 8005844C 00025843 */ sra $t3, $v0, 1 -/* 059050 80058450 00001025 */ move $v0, $zero -/* 059054 80058454 00025843 */ sra $t3, $v0, 1 -.L80058458: -/* 059058 80058458 10000005 */ b .L80058470 -/* 05905C 8005845C 01601025 */ move $v0, $t3 -.L80058460: -/* 059060 80058460 2442071C */ addiu $v0, $v0, 0x71c -/* 059064 80058464 18400002 */ blez $v0, .L80058470 -/* 059068 80058468 00000000 */ nop -/* 05906C 8005846C 00001025 */ move $v0, $zero -.L80058470: -/* 059070 80058470 84A40002 */ lh $a0, 2($a1) -/* 059074 80058474 01821023 */ subu $v0, $t4, $v0 -/* 059078 80058478 308DFFFF */ andi $t5, $a0, 0xffff -/* 05907C 8005847C 004D1823 */ subu $v1, $v0, $t5 -/* 059080 80058480 0061082A */ slt $at, $v1, $at -/* 059084 80058484 14200003 */ bnez $at, .L80058494 -/* 059088 80058488 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 05908C 8005848C 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 059090 80058490 00611821 */ addu $v1, $v1, $at -.L80058494: -/* 059094 80058494 28618000 */ slti $at, $v1, -0x8000 -/* 059098 80058498 10200002 */ beqz $at, .L800584A4 -/* 05909C 8005849C 3401FFFF */ li $at, 65535 -/* 0590A0 800584A0 00611821 */ addu $v1, $v1, $at -.L800584A4: -/* 0590A4 800584A4 00660019 */ multu $v1, $a2 -/* 0590A8 800584A8 00007012 */ mflo $t6 -/* 0590AC 800584AC 000E7903 */ sra $t7, $t6, 4 -/* 0590B0 800584B0 008FC021 */ addu $t8, $a0, $t7 -/* 0590B4 800584B4 A4B80002 */ sh $t8, 2($a1) -.L800584B8: -/* 0590B8 800584B8 C4E0002C */ lwc1 $f0, 0x2c($a3) -/* 0590BC 800584BC 44804000 */ mtc1 $zero, $f8 -/* 0590C0 800584C0 460001A1 */ cvt.d.s $f6, $f0 -/* 0590C4 800584C4 4628303C */ c.lt.d $f6, $f8 -/* 0590C8 800584C8 3C0A8012 */ lui $t2, %hi(gRaceStartTimer) # $t2, 0x8012 -/* 0590CC 800584CC 45000016 */ bc1f .L80058528 -/* 0590D0 800584D0 00000000 */ nop -/* 0590D4 800584D4 460E0282 */ mul.s $f10, $f0, $f14 -/* 0590D8 800584D8 80F901E6 */ lb $t9, 0x1e6($a3) -/* 0590DC 800584DC 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 0590E0 800584E0 44816000 */ mtc1 $at, $f12 -/* 0590E4 800584E4 13200004 */ beqz $t9, .L800584F8 -/* 0590E8 800584E8 46005107 */ neg.s $f4, $f10 -/* 0590EC 800584EC 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 0590F0 800584F0 44816000 */ mtc1 $at, $f12 -/* 0590F4 800584F4 00000000 */ nop -.L800584F8: -/* 0590F8 800584F8 460C2302 */ mul.s $f12, $f4, $f12 -/* 0590FC 800584FC 3C01800E */ lui $at, %hi(D_800E6910 + 4) # $at, 0x800e -/* 059100 80058500 C4276910 */ lwc1 $f7, %lo(D_800E6910)($at) -/* 059104 80058504 C4266914 */ lwc1 $f6, %lo(D_800E6910 + 4)($at) -/* 059108 80058508 46006221 */ cvt.d.s $f8, $f12 -/* 05910C 8005850C 4628303C */ c.lt.d $f6, $f8 -/* 059110 80058510 3C014282 */ li $at, 0x42820000 # 65.000000 -/* 059114 80058514 45000003 */ bc1f .L80058524 -/* 059118 80058518 00000000 */ nop -/* 05911C 8005851C 44816000 */ mtc1 $at, $f12 -/* 059120 80058520 00000000 */ nop -.L80058524: -/* 059124 80058524 460C8401 */ sub.s $f16, $f16, $f12 -.L80058528: -/* 059128 80058528 80E901E6 */ lb $t1, 0x1e6($a3) -/* 05912C 8005852C 00000000 */ nop -/* 059130 80058530 15200006 */ bnez $t1, .L8005854C -/* 059134 80058534 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 059138 80058538 44815000 */ mtc1 $at, $f10 -/* 05913C 8005853C 00000000 */ nop -/* 059140 80058540 460A1102 */ mul.s $f4, $f2, $f10 -/* 059144 80058544 10000006 */ b .L80058560 -/* 059148 80058548 46048400 */ add.s $f16, $f16, $f4 -.L8005854C: -/* 05914C 8005854C 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 059150 80058550 44813000 */ mtc1 $at, $f6 -/* 059154 80058554 00000000 */ nop -/* 059158 80058558 46061202 */ mul.s $f8, $f2, $f6 -/* 05915C 8005855C 46088400 */ add.s $f16, $f16, $f8 -.L80058560: -/* 059160 80058560 8D4AD540 */ lw $t2, %lo(gRaceStartTimer)($t2) -/* 059164 80058564 E7B20050 */ swc1 $f18, 0x50($sp) -/* 059168 80058568 15400014 */ bnez $t2, .L800585BC -/* 05916C 8005856C 24040024 */ li $a0, 36 -/* 059170 80058570 AFA70070 */ sw $a3, 0x70($sp) -/* 059174 80058574 E7B00054 */ swc1 $f16, 0x54($sp) -/* 059178 80058578 0C00322D */ jal normalise_time -/* 05917C 8005857C E7B20050 */ swc1 $f18, 0x50($sp) -/* 059180 80058580 8FA70070 */ lw $a3, 0x70($sp) -/* 059184 80058584 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 059188 80058588 80E301D3 */ lb $v1, 0x1d3($a3) -/* 05918C 8005858C C7B00054 */ lwc1 $f16, 0x54($sp) -/* 059190 80058590 0043082A */ slt $at, $v0, $v1 -/* 059194 80058594 10200005 */ beqz $at, .L800585AC -/* 059198 80058598 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 05919C 8005859C 3C01C1F0 */ li $at, 0xC1F00000 # -30.000000 -/* 0591A0 800585A0 44818000 */ mtc1 $at, $f16 -/* 0591A4 800585A4 10000005 */ b .L800585BC -/* 0591A8 800585A8 00000000 */ nop -.L800585AC: -/* 0591AC 800585AC 18600003 */ blez $v1, .L800585BC -/* 0591B0 800585B0 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0591B4 800585B4 44818000 */ mtc1 $at, $f16 -/* 0591B8 800585B8 00000000 */ nop -.L800585BC: -/* 0591BC 800585BC 3C0B8012 */ lui $t3, %hi(gRaceStartTimer) # $t3, 0x8012 -/* 0591C0 800585C0 8D6BD540 */ lw $t3, %lo(gRaceStartTimer)($t3) -/* 0591C4 800585C4 C7B20050 */ lwc1 $f18, 0x50($sp) -/* 0591C8 800585C8 8D050000 */ lw $a1, ($t0) -/* 0591CC 800585CC 29610051 */ slti $at, $t3, 0x51 -/* 0591D0 800585D0 14200007 */ bnez $at, .L800585F0 -/* 0591D4 800585D4 00000000 */ nop -/* 0591D8 800585D8 E4B0001C */ swc1 $f16, 0x1c($a1) -/* 0591DC 800585DC 8D0C0000 */ lw $t4, ($t0) -/* 0591E0 800585E0 00000000 */ nop -/* 0591E4 800585E4 E5920020 */ swc1 $f18, 0x20($t4) -/* 0591E8 800585E8 8D050000 */ lw $a1, ($t0) -/* 0591EC 800585EC 00000000 */ nop -.L800585F0: -/* 0591F0 800585F0 C4A2001C */ lwc1 $f2, 0x1c($a1) -/* 0591F4 800585F4 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 0591F8 800585F8 46028101 */ sub.s $f4, $f16, $f2 -/* 0591FC 800585FC 44810800 */ mtc1 $at, $f1 -/* 059200 80058600 44800000 */ mtc1 $zero, $f0 -/* 059204 80058604 460021A1 */ cvt.d.s $f6, $f4 -/* 059208 80058608 46203202 */ mul.d $f8, $f6, $f0 -/* 05920C 8005860C 460012A1 */ cvt.d.s $f10, $f2 -/* 059210 80058610 46285100 */ add.d $f4, $f10, $f8 -/* 059214 80058614 462021A0 */ cvt.s.d $f6, $f4 -/* 059218 80058618 E4A6001C */ swc1 $f6, 0x1c($a1) -/* 05921C 8005861C 8D050000 */ lw $a1, ($t0) -/* 059220 80058620 00000000 */ nop -/* 059224 80058624 C4AE0020 */ lwc1 $f14, 0x20($a1) -/* 059228 80058628 00000000 */ nop -/* 05922C 8005862C 460E9201 */ sub.s $f8, $f18, $f14 -/* 059230 80058630 46004121 */ cvt.d.s $f4, $f8 -/* 059234 80058634 46202182 */ mul.d $f6, $f4, $f0 -/* 059238 80058638 460072A1 */ cvt.d.s $f10, $f14 -/* 05923C 8005863C 46265200 */ add.d $f8, $f10, $f6 -/* 059240 80058640 46204120 */ cvt.s.d $f4, $f8 -/* 059244 80058644 E4A40020 */ swc1 $f4, 0x20($a1) -/* 059248 80058648 8D0D0000 */ lw $t5, ($t0) -/* 05924C 8005864C 8FAF001C */ lw $t7, 0x1c($sp) -/* 059250 80058650 85AE0002 */ lh $t6, 2($t5) -/* 059254 80058654 AFA70070 */ sw $a3, 0x70($sp) -/* 059258 80058658 01CF2023 */ subu $a0, $t6, $t7 -/* 05925C 8005865C 0004C400 */ sll $t8, $a0, 0x10 -/* 059260 80058660 0C01C1F1 */ jal sins_f -/* 059264 80058664 00182403 */ sra $a0, $t8, 0x10 -/* 059268 80058668 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 05926C 8005866C 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 059270 80058670 8D090000 */ lw $t1, ($t0) -/* 059274 80058674 8FAB001C */ lw $t3, 0x1c($sp) -/* 059278 80058678 852A0002 */ lh $t2, 2($t1) -/* 05927C 8005867C E7A00038 */ swc1 $f0, 0x38($sp) -/* 059280 80058680 014B2023 */ subu $a0, $t2, $t3 -/* 059284 80058684 00046400 */ sll $t4, $a0, 0x10 -/* 059288 80058688 0C01C1FE */ jal coss_f -/* 05928C 8005868C 000C2403 */ sra $a0, $t4, 0x10 -/* 059290 80058690 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 059294 80058694 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 059298 80058698 8D050000 */ lw $a1, ($t0) -/* 05929C 8005869C C7B00038 */ lwc1 $f16, 0x38($sp) -/* 0592A0 800586A0 C4A2001C */ lwc1 $f2, 0x1c($a1) -/* 0592A4 800586A4 C4AE0020 */ lwc1 $f14, 0x20($a1) -/* 0592A8 800586A8 46001282 */ mul.s $f10, $f2, $f0 -/* 0592AC 800586AC 8FA70070 */ lw $a3, 0x70($sp) -/* 0592B0 800586B0 340F8000 */ li $t7, 32768 -/* 0592B4 800586B4 46107182 */ mul.s $f6, $f14, $f16 -/* 0592B8 800586B8 00000000 */ nop -/* 0592BC 800586BC 46101202 */ mul.s $f8, $f2, $f16 -/* 0592C0 800586C0 46065301 */ sub.s $f12, $f10, $f6 -/* 0592C4 800586C4 46007102 */ mul.s $f4, $f14, $f0 -/* 0592C8 800586C8 46044280 */ add.s $f10, $f8, $f4 -/* 0592CC 800586CC E7AA0050 */ swc1 $f10, 0x50($sp) -/* 0592D0 800586D0 84EE0196 */ lh $t6, 0x196($a3) -/* 0592D4 800586D4 E7AC0040 */ swc1 $f12, 0x40($sp) -/* 0592D8 800586D8 01EE2023 */ subu $a0, $t7, $t6 -/* 0592DC 800586DC 0004C400 */ sll $t8, $a0, 0x10 -/* 0592E0 800586E0 0C01C1F1 */ jal sins_f -/* 0592E4 800586E4 00182403 */ sra $a0, $t8, 0x10 -/* 0592E8 800586E8 C7AC0040 */ lwc1 $f12, 0x40($sp) -/* 0592EC 800586EC 8FA70070 */ lw $a3, 0x70($sp) -/* 0592F0 800586F0 460C0182 */ mul.s $f6, $f0, $f12 -/* 0592F4 800586F4 340A8000 */ li $t2, 32768 -/* 0592F8 800586F8 E7A60048 */ swc1 $f6, 0x48($sp) -/* 0592FC 800586FC 84E90196 */ lh $t1, 0x196($a3) -/* 059300 80058700 00000000 */ nop -/* 059304 80058704 01492023 */ subu $a0, $t2, $t1 -/* 059308 80058708 00045C00 */ sll $t3, $a0, 0x10 -/* 05930C 8005870C 0C01C1FE */ jal coss_f -/* 059310 80058710 000B2403 */ sra $a0, $t3, 0x10 -/* 059314 80058714 C7AC0040 */ lwc1 $f12, 0x40($sp) -/* 059318 80058718 3C0D8012 */ lui $t5, %hi(gCurrentRacerInput) # $t5, 0x8012 -/* 05931C 8005871C 460C0202 */ mul.s $f8, $f0, $f12 -/* 059320 80058720 8DADD528 */ lw $t5, %lo(gCurrentRacerInput)($t5) -/* 059324 80058724 44807000 */ mtc1 $zero, $f14 -/* 059328 80058728 8FA70070 */ lw $a3, 0x70($sp) -/* 05932C 8005872C 31AF8000 */ andi $t7, $t5, 0x8000 -/* 059330 80058730 E7A80044 */ swc1 $f8, 0x44($sp) -/* 059334 80058734 11E00023 */ beqz $t7, .L800587C4 -/* 059338 80058738 46007086 */ mov.s $f2, $f14 -/* 05933C 8005873C 3C01800E */ lui $at, %hi(D_800E6918 + 4) # $at, 0x800e -/* 059340 80058740 C4E40030 */ lwc1 $f4, 0x30($a3) -/* 059344 80058744 C4276918 */ lwc1 $f7, %lo(D_800E6918)($at) -/* 059348 80058748 C426691C */ lwc1 $f6, %lo(D_800E6918 + 4)($at) -/* 05934C 8005874C 460022A1 */ cvt.d.s $f10, $f4 -/* 059350 80058750 46265202 */ mul.d $f8, $f10, $f6 -/* 059354 80058754 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 -/* 059358 80058758 462040A0 */ cvt.s.d $f2, $f8 -/* 05935C 8005875C 4602703C */ c.lt.s $f14, $f2 -/* 059360 80058760 00000000 */ nop -/* 059364 80058764 4500000D */ bc1f .L8005879C -/* 059368 80058768 00000000 */ nop -/* 05936C 8005876C 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 -/* 059370 80058770 44815800 */ mtc1 $at, $f11 -/* 059374 80058774 44805000 */ mtc1 $zero, $f10 -/* 059378 80058778 46001121 */ cvt.d.s $f4, $f2 -/* 05937C 8005877C 462A2181 */ sub.d $f6, $f4, $f10 -/* 059380 80058780 462030A0 */ cvt.s.d $f2, $f6 -/* 059384 80058784 460E103C */ c.lt.s $f2, $f14 -/* 059388 80058788 00000000 */ nop -/* 05938C 8005878C 4500000D */ bc1f .L800587C4 -/* 059390 80058790 00000000 */ nop -/* 059394 80058794 1000000B */ b .L800587C4 -/* 059398 80058798 46007086 */ mov.s $f2, $f14 -.L8005879C: -/* 05939C 8005879C 44812800 */ mtc1 $at, $f5 -/* 0593A0 800587A0 44802000 */ mtc1 $zero, $f4 -/* 0593A4 800587A4 46001221 */ cvt.d.s $f8, $f2 -/* 0593A8 800587A8 46244280 */ add.d $f10, $f8, $f4 -/* 0593AC 800587AC 462050A0 */ cvt.s.d $f2, $f10 -/* 0593B0 800587B0 4602703C */ c.lt.s $f14, $f2 -/* 0593B4 800587B4 00000000 */ nop -/* 0593B8 800587B8 45000002 */ bc1f .L800587C4 -/* 0593BC 800587BC 00000000 */ nop -/* 0593C0 800587C0 46007086 */ mov.s $f2, $f14 -.L800587C4: -/* 0593C4 800587C4 80E201E6 */ lb $v0, 0x1e6($a3) -/* 0593C8 800587C8 00000000 */ nop -/* 0593CC 800587CC 10400008 */ beqz $v0, .L800587F0 -/* 0593D0 800587D0 00000000 */ nop -/* 0593D4 800587D4 44823000 */ mtc1 $v0, $f6 -/* 0593D8 800587D8 3C014140 */ li $at, 0x41400000 # 12.000000 -/* 0593DC 800587DC 46803220 */ cvt.s.w $f8, $f6 -/* 0593E0 800587E0 44815000 */ mtc1 $at, $f10 -/* 0593E4 800587E4 46004107 */ neg.s $f4, $f8 -/* 0593E8 800587E8 460A2082 */ mul.s $f2, $f4, $f10 -/* 0593EC 800587EC 00000000 */ nop -.L800587F0: -/* 0593F0 800587F0 C4E000C8 */ lwc1 $f0, 0xc8($a3) -/* 0593F4 800587F4 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 0593F8 800587F8 46001181 */ sub.s $f6, $f2, $f0 -/* 0593FC 800587FC 44812800 */ mtc1 $at, $f5 -/* 059400 80058800 44802000 */ mtc1 $zero, $f4 -/* 059404 80058804 46003221 */ cvt.d.s $f8, $f6 -/* 059408 80058808 46244282 */ mul.d $f10, $f8, $f4 -/* 05940C 8005880C 460001A1 */ cvt.d.s $f6, $f0 -/* 059410 80058810 80EE01DB */ lb $t6, 0x1db($a3) -/* 059414 80058814 462A3200 */ add.d $f8, $f6, $f10 -/* 059418 80058818 46204120 */ cvt.s.d $f4, $f8 -/* 05941C 8005881C 11C0000B */ beqz $t6, .L8005884C -/* 059420 80058820 E4E400C8 */ swc1 $f4, 0xc8($a3) -/* 059424 80058824 C4E60094 */ lwc1 $f6, 0x94($a3) -/* 059428 80058828 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 -/* 05942C 8005882C 44815800 */ mtc1 $at, $f11 -/* 059430 80058830 44805000 */ mtc1 $zero, $f10 -/* 059434 80058834 46003021 */ cvt.d.s $f0, $f6 -/* 059438 80058838 462A0202 */ mul.d $f8, $f0, $f10 -/* 05943C 8005883C 46280101 */ sub.d $f4, $f0, $f8 -/* 059440 80058840 462021A0 */ cvt.s.d $f6, $f4 -/* 059444 80058844 1000000E */ b .L80058880 -/* 059448 80058848 E4E60094 */ swc1 $f6, 0x94($a3) -.L8005884C: -/* 05944C 8005884C 3C014024 */ li $at, 0x40240000 # 2.562500 -/* 059450 80058850 44814800 */ mtc1 $at, $f9 -/* 059454 80058854 C4EA0094 */ lwc1 $f10, 0x94($a3) -/* 059458 80058858 44804000 */ mtc1 $zero, $f8 -/* 05945C 8005885C 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 -/* 059460 80058860 46005021 */ cvt.d.s $f0, $f10 -/* 059464 80058864 44813800 */ mtc1 $at, $f7 -/* 059468 80058868 44803000 */ mtc1 $zero, $f6 -/* 05946C 8005886C 46204101 */ sub.d $f4, $f8, $f0 -/* 059470 80058870 46262282 */ mul.d $f10, $f4, $f6 -/* 059474 80058874 462A0200 */ add.d $f8, $f0, $f10 -/* 059478 80058878 46204120 */ cvt.s.d $f4, $f8 -/* 05947C 8005887C E4E40094 */ swc1 $f4, 0x94($a3) -.L80058880: -/* 059480 80058880 C4E00094 */ lwc1 $f0, 0x94($a3) -/* 059484 80058884 C4EA0038 */ lwc1 $f10, 0x38($a3) -/* 059488 80058888 8FA2006C */ lw $v0, 0x6c($sp) -/* 05948C 8005888C 46005202 */ mul.s $f8, $f10, $f0 -/* 059490 80058890 C446000C */ lwc1 $f6, 0xc($v0) -/* 059494 80058894 00000000 */ nop -/* 059498 80058898 46083101 */ sub.s $f4, $f6, $f8 -/* 05949C 8005889C E7A40030 */ swc1 $f4, 0x30($sp) -/* 0594A0 800588A0 C4E6003C */ lwc1 $f6, 0x3c($a3) -/* 0594A4 800588A4 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 0594A8 800588A8 46003202 */ mul.s $f8, $f6, $f0 -/* 0594AC 800588AC 46085101 */ sub.s $f4, $f10, $f8 -/* 0594B0 800588B0 E7A4002C */ swc1 $f4, 0x2c($sp) -/* 0594B4 800588B4 C4EA0040 */ lwc1 $f10, 0x40($a3) -/* 0594B8 800588B8 C4460014 */ lwc1 $f6, 0x14($v0) -/* 0594BC 800588BC 46005202 */ mul.s $f8, $f10, $f0 -/* 0594C0 800588C0 46083101 */ sub.s $f4, $f6, $f8 -/* 0594C4 800588C4 E7A40028 */ swc1 $f4, 0x28($sp) -/* 0594C8 800588C8 84E40196 */ lh $a0, 0x196($a3) -/* 0594CC 800588CC AFA70070 */ sw $a3, 0x70($sp) -/* 0594D0 800588D0 24844000 */ addiu $a0, $a0, 0x4000 -/* 0594D4 800588D4 0004C400 */ sll $t8, $a0, 0x10 -/* 0594D8 800588D8 0C01C1F1 */ jal sins_f -/* 0594DC 800588DC 00182403 */ sra $a0, $t8, 0x10 -/* 0594E0 800588E0 8FA70070 */ lw $a3, 0x70($sp) -/* 0594E4 800588E4 C7A60030 */ lwc1 $f6, 0x30($sp) -/* 0594E8 800588E8 C4EA00C8 */ lwc1 $f10, 0xc8($a3) -/* 0594EC 800588EC C7A80048 */ lwc1 $f8, 0x48($sp) -/* 0594F0 800588F0 460A0302 */ mul.s $f12, $f0, $f10 -/* 0594F4 800588F4 46083100 */ add.s $f4, $f6, $f8 -/* 0594F8 800588F8 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 0594FC 800588FC 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 059500 80058900 8D0A0000 */ lw $t2, ($t0) -/* 059504 80058904 460C2280 */ add.s $f10, $f4, $f12 -/* 059508 80058908 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 -/* 05950C 8005890C E54A000C */ swc1 $f10, 0xc($t2) -/* 059510 80058910 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 059514 80058914 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 059518 80058918 8D050000 */ lw $a1, ($t0) -/* 05951C 8005891C 46083480 */ add.s $f18, $f6, $f8 -/* 059520 80058920 C4AE0010 */ lwc1 $f14, 0x10($a1) -/* 059524 80058924 44803000 */ mtc1 $zero, $f6 -/* 059528 80058928 46127101 */ sub.s $f4, $f14, $f18 -/* 05952C 8005892C 44813800 */ mtc1 $at, $f7 -/* 059530 80058930 460022A1 */ cvt.d.s $f10, $f4 -/* 059534 80058934 46265202 */ mul.d $f8, $f10, $f6 -/* 059538 80058938 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 05953C 8005893C 44812800 */ mtc1 $at, $f5 -/* 059540 80058940 44802000 */ mtc1 $zero, $f4 -/* 059544 80058944 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 059548 80058948 46204420 */ cvt.s.d $f16, $f8 -/* 05954C 8005894C 3C098012 */ lui $t1, %hi(gRaceStartTimer) # $t1, 0x8012 -/* 059550 80058950 460080A1 */ cvt.d.s $f2, $f16 -/* 059554 80058954 4624103C */ c.lt.d $f2, $f4 -/* 059558 80058958 00000000 */ nop -/* 05955C 8005895C 4500000C */ bc1f .L80058990 -/* 059560 80058960 00000000 */ nop -/* 059564 80058964 44813800 */ mtc1 $at, $f7 -/* 059568 80058968 44803000 */ mtc1 $zero, $f6 -/* 05956C 8005896C 460072A1 */ cvt.d.s $f10, $f14 -/* 059570 80058970 46261200 */ add.d $f8, $f2, $f6 -/* 059574 80058974 46285101 */ sub.d $f4, $f10, $f8 -/* 059578 80058978 462021A0 */ cvt.s.d $f6, $f4 -/* 05957C 8005897C E4A60010 */ swc1 $f6, 0x10($a1) -/* 059580 80058980 8D050000 */ lw $a1, ($t0) -/* 059584 80058984 00000000 */ nop -/* 059588 80058988 C4AE0010 */ lwc1 $f14, 0x10($a1) -/* 05958C 8005898C 00000000 */ nop -.L80058990: -/* 059590 80058990 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 -/* 059594 80058994 44814800 */ mtc1 $at, $f9 -/* 059598 80058998 44804000 */ mtc1 $zero, $f8 -/* 05959C 8005899C 460072A1 */ cvt.d.s $f10, $f14 -/* 0595A0 800589A0 46281102 */ mul.d $f4, $f2, $f8 -/* 0595A4 800589A4 46245181 */ sub.d $f6, $f10, $f4 -/* 0595A8 800589A8 44805000 */ mtc1 $zero, $f10 -/* 0595AC 800589AC 46203220 */ cvt.s.d $f8, $f6 -/* 0595B0 800589B0 4610503C */ c.lt.s $f10, $f16 -/* 0595B4 800589B4 E4A80010 */ swc1 $f8, 0x10($a1) -/* 0595B8 800589B8 45010005 */ bc1t .L800589D0 -/* 0595BC 800589BC 00000000 */ nop -/* 0595C0 800589C0 8D29D540 */ lw $t1, %lo(gRaceStartTimer)($t1) -/* 0595C4 800589C4 00000000 */ nop -/* 0595C8 800589C8 11200004 */ beqz $t1, .L800589DC -/* 0595CC 800589CC 00000000 */ nop -.L800589D0: -/* 0595D0 800589D0 8D0B0000 */ lw $t3, ($t0) -/* 0595D4 800589D4 00000000 */ nop -/* 0595D8 800589D8 E5720010 */ swc1 $f18, 0x10($t3) -.L800589DC: -/* 0595DC 800589DC 84E40196 */ lh $a0, 0x196($a3) -/* 0595E0 800589E0 AFA70070 */ sw $a3, 0x70($sp) -/* 0595E4 800589E4 24844000 */ addiu $a0, $a0, 0x4000 -/* 0595E8 800589E8 00046400 */ sll $t4, $a0, 0x10 -/* 0595EC 800589EC 0C01C1FE */ jal coss_f -/* 0595F0 800589F0 000C2403 */ sra $a0, $t4, 0x10 -/* 0595F4 800589F4 8FA70070 */ lw $a3, 0x70($sp) -/* 0595F8 800589F8 46000107 */ neg.s $f4, $f0 -/* 0595FC 800589FC C4E600C8 */ lwc1 $f6, 0xc8($a3) -/* 059600 80058A00 C7A80028 */ lwc1 $f8, 0x28($sp) -/* 059604 80058A04 46062302 */ mul.s $f12, $f4, $f6 -/* 059608 80058A08 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 05960C 80058A0C 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 059610 80058A10 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 059614 80058A14 460A4100 */ add.s $f4, $f8, $f10 -/* 059618 80058A18 8D0F0000 */ lw $t7, ($t0) -/* 05961C 80058A1C 460C2180 */ add.s $f6, $f4, $f12 -/* 059620 80058A20 3C098012 */ lui $t1, %hi(gDialogueCameraAngle) # $t1, 0x8012 -/* 059624 80058A24 E5E60014 */ swc1 $f6, 0x14($t7) -/* 059628 80058A28 8D180000 */ lw $t8, ($t0) -/* 05962C 80058A2C 84EE0196 */ lh $t6, 0x196($a3) -/* 059630 80058A30 240F2000 */ li $t7, 8192 -/* 059634 80058A34 A70E0000 */ sh $t6, ($t8) -/* 059638 80058A38 8FB9006C */ lw $t9, 0x6c($sp) -/* 05963C 80058A3C 80EA01E6 */ lb $t2, 0x1e6($a3) -/* 059640 80058A40 87220004 */ lh $v0, 4($t9) -/* 059644 80058A44 11400009 */ beqz $t2, .L80058A6C -/* 059648 80058A48 240EE000 */ li $t6, -8192 -/* 05964C 80058A4C C4EA00B8 */ lwc1 $f10, 0xb8($a3) -/* 059650 80058A50 44804800 */ mtc1 $zero, $f9 -/* 059654 80058A54 44804000 */ mtc1 $zero, $f8 -/* 059658 80058A58 46005121 */ cvt.d.s $f4, $f10 -/* 05965C 80058A5C 4624403C */ c.lt.d $f8, $f4 -/* 059660 80058A60 00000000 */ nop -/* 059664 80058A64 45010005 */ bc1t .L80058A7C -/* 059668 80058A68 00000000 */ nop -.L80058A6C: -/* 05966C 80058A6C 8529D586 */ lh $t1, %lo(gDialogueCameraAngle)($t1) -/* 059670 80058A70 00000000 */ nop -/* 059674 80058A74 11200002 */ beqz $t1, .L80058A80 -/* 059678 80058A78 00000000 */ nop -.L80058A7C: -/* 05967C 80058A7C 00001025 */ move $v0, $zero -.L80058A80: -/* 059680 80058A80 8D050000 */ lw $a1, ($t0) -/* 059684 80058A84 00000000 */ nop -/* 059688 80058A88 84A40004 */ lh $a0, 4($a1) -/* 05968C 80058A8C 00000000 */ nop -/* 059690 80058A90 00825821 */ addu $t3, $a0, $v0 -/* 059694 80058A94 000B6103 */ sra $t4, $t3, 4 -/* 059698 80058A98 008C6823 */ subu $t5, $a0, $t4 -/* 05969C 80058A9C A4AD0004 */ sh $t5, 4($a1) -/* 0596A0 80058AA0 8D050000 */ lw $a1, ($t0) -/* 0596A4 80058AA4 00000000 */ nop -/* 0596A8 80058AA8 84A40004 */ lh $a0, 4($a1) -/* 0596AC 80058AAC 00000000 */ nop -/* 0596B0 80058AB0 28812001 */ slti $at, $a0, 0x2001 -/* 0596B4 80058AB4 14200007 */ bnez $at, .L80058AD4 -/* 0596B8 80058AB8 2881E000 */ slti $at, $a0, -0x2000 -/* 0596BC 80058ABC A4AF0004 */ sh $t7, 4($a1) -/* 0596C0 80058AC0 8D050000 */ lw $a1, ($t0) -/* 0596C4 80058AC4 00000000 */ nop -/* 0596C8 80058AC8 84A40004 */ lh $a0, 4($a1) -/* 0596CC 80058ACC 00000000 */ nop -/* 0596D0 80058AD0 2881E000 */ slti $at, $a0, -0x2000 -.L80058AD4: -/* 0596D4 80058AD4 10200006 */ beqz $at, .L80058AF0 -/* 0596D8 80058AD8 00000000 */ nop -/* 0596DC 80058ADC A4AE0004 */ sh $t6, 4($a1) -/* 0596E0 80058AE0 8D180000 */ lw $t8, ($t0) -/* 0596E4 80058AE4 00000000 */ nop -/* 0596E8 80058AE8 87040004 */ lh $a0, 4($t8) -/* 0596EC 80058AEC 00000000 */ nop -.L80058AF0: -/* 0596F0 80058AF0 0C01C1F1 */ jal sins_f -/* 0596F4 80058AF4 AFA70070 */ sw $a3, 0x70($sp) -/* 0596F8 80058AF8 8FA70070 */ lw $a3, 0x70($sp) -/* 0596FC 80058AFC 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 059700 80058B00 C4EA00C8 */ lwc1 $f10, 0xc8($a3) -/* 059704 80058B04 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 059708 80058B08 46005202 */ mul.s $f8, $f10, $f0 -/* 05970C 80058B0C 8D050000 */ lw $a1, ($t0) -/* 059710 80058B10 00000000 */ nop -/* 059714 80058B14 C4A60010 */ lwc1 $f6, 0x10($a1) -/* 059718 80058B18 00000000 */ nop -/* 05971C 80058B1C 46083101 */ sub.s $f4, $f6, $f8 -/* 059720 80058B20 E4A40010 */ swc1 $f4, 0x10($a1) -/* 059724 80058B24 8D050000 */ lw $a1, ($t0) -/* 059728 80058B28 00000000 */ nop -/* 05972C 80058B2C C4AC000C */ lwc1 $f12, 0xc($a1) -/* 059730 80058B30 C4AE0010 */ lwc1 $f14, 0x10($a1) -/* 059734 80058B34 8CA60014 */ lw $a2, 0x14($a1) -/* 059738 80058B38 0C00A7C6 */ jal get_level_segment_index_from_position -/* 05973C 80058B3C 00000000 */ nop -/* 059740 80058B40 8FA70070 */ lw $a3, 0x70($sp) -/* 059744 80058B44 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 059748 80058B48 2401FFFF */ li $at, -1 -/* 05974C 80058B4C 10410004 */ beq $v0, $at, .L80058B60 -/* 059750 80058B50 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 059754 80058B54 8D190000 */ lw $t9, ($t0) -/* 059758 80058B58 00000000 */ nop -/* 05975C 80058B5C A7220034 */ sh $v0, 0x34($t9) -.L80058B60: -/* 059760 80058B60 8D0A0000 */ lw $t2, ($t0) -/* 059764 80058B64 00000000 */ nop -/* 059768 80058B68 85490000 */ lh $t1, ($t2) -/* 05976C 80058B6C 00000000 */ nop -/* 059770 80058B70 A4E90196 */ sh $t1, 0x196($a3) -/* 059774 80058B74 8FBF0014 */ lw $ra, 0x14($sp) -/* 059778 80058B78 27BD0068 */ addiu $sp, $sp, 0x68 -/* 05977C 80058B7C 03E00008 */ jr $ra -/* 059780 80058B80 00000000 */ nop - diff --git a/asm/non_matchings/racer/update_camera_plane.s b/asm/non_matchings/racer/update_camera_plane.s deleted file mode 100644 index 9e31a06d..00000000 --- a/asm/non_matchings/racer/update_camera_plane.s +++ /dev/null @@ -1,673 +0,0 @@ -.late_rodata -glabel D_800E6558 -.double 0.4 -glabel D_800E6560 -.double 0.005555555555555556 -glabel D_800E6568 -.float 0.4 -.word 0 # Padding -glabel D_800E6570 -.double 65.0 -glabel D_800E6578 -.double 0.2 - -.text -glabel update_camera_plane -/* 04CEB0 8004C2B0 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 04CEB4 8004C2B4 44810000 */ mtc1 $at, $f0 -/* 04CEB8 8004C2B8 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 04CEBC 8004C2BC 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 04CEC0 8004C2C0 44817000 */ mtc1 $at, $f14 -/* 04CEC4 8004C2C4 3C014234 */ li $at, 0x42340000 # 45.000000 -/* 04CEC8 8004C2C8 44819000 */ mtc1 $at, $f18 -/* 04CECC 8004C2CC AFBF0014 */ sw $ra, 0x14($sp) -/* 04CED0 8004C2D0 E7AC0050 */ swc1 $f12, 0x50($sp) -/* 04CED4 8004C2D4 AFA50054 */ sw $a1, 0x54($sp) -/* 04CED8 8004C2D8 3C018012 */ lui $at, %hi(gCurrentCourseHeight) # $at, 0x8012 -/* 04CEDC 8004C2DC C424D4F0 */ lwc1 $f4, %lo(gCurrentCourseHeight)($at) -/* 04CEE0 8004C2E0 C4A60010 */ lwc1 $f6, 0x10($a1) -/* 04CEE4 8004C2E4 44801000 */ mtc1 $zero, $f2 -/* 04CEE8 8004C2E8 46062401 */ sub.s $f16, $f4, $f6 -/* 04CEEC 8004C2EC 00C03825 */ move $a3, $a2 -/* 04CEF0 8004C2F0 46100401 */ sub.s $f16, $f0, $f16 -/* 04CEF4 8004C2F4 4602803C */ c.lt.s $f16, $f2 -/* 04CEF8 8004C2F8 00000000 */ nop -/* 04CEFC 8004C2FC 45000002 */ bc1f .L8004C308 -/* 04CF00 8004C300 00000000 */ nop -/* 04CF04 8004C304 46001406 */ mov.s $f16, $f2 -.L8004C308: -/* 04CF08 8004C308 4610003C */ c.lt.s $f0, $f16 -/* 04CF0C 8004C30C 00000000 */ nop -/* 04CF10 8004C310 45000002 */ bc1f .L8004C31C -/* 04CF14 8004C314 00000000 */ nop -/* 04CF18 8004C318 46000406 */ mov.s $f16, $f0 -.L8004C31C: -/* 04CF1C 8004C31C AFA70058 */ sw $a3, 0x58($sp) -/* 04CF20 8004C320 E7AE0034 */ swc1 $f14, 0x34($sp) -/* 04CF24 8004C324 E7B00020 */ swc1 $f16, 0x20($sp) -/* 04CF28 8004C328 0C019884 */ jal get_viewport_count -/* 04CF2C 8004C32C E7B20030 */ swc1 $f18, 0x30($sp) -/* 04CF30 8004C330 8FA70058 */ lw $a3, 0x58($sp) -/* 04CF34 8004C334 C7AE0034 */ lwc1 $f14, 0x34($sp) -/* 04CF38 8004C338 C7B00020 */ lwc1 $f16, 0x20($sp) -/* 04CF3C 8004C33C C7B20030 */ lwc1 $f18, 0x30($sp) -/* 04CF40 8004C340 24010001 */ li $at, 1 -/* 04CF44 8004C344 14410007 */ bne $v0, $at, .L8004C364 -/* 04CF48 8004C348 3C0F8012 */ lui $t7, %hi(gCurrentRacerInput) # $t7, 0x8012 -/* 04CF4C 8004C34C 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 04CF50 8004C350 44817000 */ mtc1 $at, $f14 -/* 04CF54 8004C354 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 04CF58 8004C358 44819000 */ mtc1 $at, $f18 -/* 04CF5C 8004C35C 10000008 */ b .L8004C380 -/* 04CF60 8004C360 00000000 */ nop -.L8004C364: -/* 04CF64 8004C364 28410002 */ slti $at, $v0, 2 -/* 04CF68 8004C368 14200005 */ bnez $at, .L8004C380 -/* 04CF6C 8004C36C 3C0142DC */ li $at, 0x42DC0000 # 110.000000 -/* 04CF70 8004C370 44817000 */ mtc1 $at, $f14 -/* 04CF74 8004C374 3C014228 */ li $at, 0x42280000 # 42.000000 -/* 04CF78 8004C378 44819000 */ mtc1 $at, $f18 -/* 04CF7C 8004C37C 00000000 */ nop -.L8004C380: -/* 04CF80 8004C380 8DEFD528 */ lw $t7, %lo(gCurrentRacerInput)($t7) -/* 04CF84 8004C384 00000000 */ nop -/* 04CF88 8004C388 31F80010 */ andi $t8, $t7, 0x10 -/* 04CF8C 8004C38C 13000006 */ beqz $t8, .L8004C3A8 -/* 04CF90 8004C390 00000000 */ nop -/* 04CF94 8004C394 80F901E2 */ lb $t9, 0x1e2($a3) -/* 04CF98 8004C398 00000000 */ nop -/* 04CF9C 8004C39C 2B210003 */ slti $at, $t9, 3 -/* 04CFA0 8004C3A0 10200059 */ beqz $at, .L8004C508 -/* 04CFA4 8004C3A4 00000000 */ nop -.L8004C3A8: -/* 04CFA8 8004C3A8 90EA01F5 */ lbu $t2, 0x1f5($a3) -/* 04CFAC 8004C3AC 34018000 */ li $at, 32768 -/* 04CFB0 8004C3B0 15400055 */ bnez $t2, .L8004C508 -/* 04CFB4 8004C3B4 00000000 */ nop -/* 04CFB8 8004C3B8 84EB01A0 */ lh $t3, 0x1a0($a3) -/* 04CFBC 8004C3BC 84ED0196 */ lh $t5, 0x196($a3) -/* 04CFC0 8004C3C0 000B6023 */ negu $t4, $t3 -/* 04CFC4 8004C3C4 31AEFFFF */ andi $t6, $t5, 0xffff -/* 04CFC8 8004C3C8 018E2023 */ subu $a0, $t4, $t6 -/* 04CFCC 8004C3CC 00812021 */ addu $a0, $a0, $at -/* 04CFD0 8004C3D0 34018001 */ li $at, 32769 -/* 04CFD4 8004C3D4 0081082A */ slt $at, $a0, $at -/* 04CFD8 8004C3D8 14200003 */ bnez $at, .L8004C3E8 -/* 04CFDC 8004C3DC 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 04CFE0 8004C3E0 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 04CFE4 8004C3E4 00812021 */ addu $a0, $a0, $at -.L8004C3E8: -/* 04CFE8 8004C3E8 28818000 */ slti $at, $a0, -0x8000 -/* 04CFEC 8004C3EC 10200002 */ beqz $at, .L8004C3F8 -/* 04CFF0 8004C3F0 3401FFFF */ li $at, 65535 -/* 04CFF4 8004C3F4 00812021 */ addu $a0, $a0, $at -.L8004C3F8: -/* 04CFF8 8004C3F8 3C01800E */ lui $at, %hi(D_800E6558 + 4) # $at, 0x800e -/* 04CFFC 8004C3FC C4E80094 */ lwc1 $f8, 0x94($a3) -/* 04D000 8004C400 C42B6558 */ lwc1 $f11, %lo(D_800E6558)($at) -/* 04D004 8004C404 C42A655C */ lwc1 $f10, %lo(D_800E6558 + 4)($at) -/* 04D008 8004C408 46004021 */ cvt.d.s $f0, $f8 -/* 04D00C 8004C40C 462A003C */ c.lt.d $f0, $f10 -/* 04D010 8004C410 3C01800E */ lui $at, %hi(D_800E6568) # $at, 0x800e -/* 04D014 8004C414 45000009 */ bc1f .L8004C43C -/* 04D018 8004C418 00000000 */ nop -# Used to access D_800E6560 and D_800E6560 + 4. -/* 04D01C 8004C41C 3C01800E */ lui $at, %hi(D_800E6560) # $at, 0x800e -/* 04D020 8004C420 C4256560 */ lwc1 $f5, %lo(D_800E6560)($at) -/* 04D024 8004C424 C4246564 */ lwc1 $f4, %lo(D_800E6560 + 4)($at) -/* 04D028 8004C428 00000000 */ nop -/* 04D02C 8004C42C 46240180 */ add.d $f6, $f0, $f4 -/* 04D030 8004C430 46203220 */ cvt.s.d $f8, $f6 -/* 04D034 8004C434 10000004 */ b .L8004C448 -/* 04D038 8004C438 E4E80094 */ swc1 $f8, 0x94($a3) -.L8004C43C: -/* 04D03C 8004C43C C42A6568 */ lwc1 $f10, %lo(D_800E6568)($at) -/* 04D040 8004C440 00000000 */ nop -/* 04D044 8004C444 E4EA0094 */ swc1 $f10, 0x94($a3) -.L8004C448: -/* 04D048 8004C448 44842000 */ mtc1 $a0, $f4 -/* 04D04C 8004C44C C4E80094 */ lwc1 $f8, 0x94($a3) -/* 04D050 8004C450 468021A0 */ cvt.s.w $f6, $f4 -/* 04D054 8004C454 46083282 */ mul.s $f10, $f6, $f8 -/* 04D058 8004C458 444FF800 */ cfc1 $t7, $31 -/* 04D05C 8004C45C 00000000 */ nop -/* 04D060 8004C460 35E10003 */ ori $at, $t7, 3 -/* 04D064 8004C464 38210002 */ xori $at, $at, 2 -/* 04D068 8004C468 44C1F800 */ ctc1 $at, $31 -/* 04D06C 8004C46C 00000000 */ nop -/* 04D070 8004C470 46005124 */ cvt.w.s $f4, $f10 -/* 04D074 8004C474 44032000 */ mfc1 $v1, $f4 -/* 04D078 8004C478 44CFF800 */ ctc1 $t7, $31 -/* 04D07C 8004C47C 28610201 */ slti $at, $v1, 0x201 -/* 04D080 8004C480 14200003 */ bnez $at, .L8004C490 -/* 04D084 8004C484 2861FE00 */ slti $at, $v1, -0x200 -/* 04D088 8004C488 24030200 */ li $v1, 512 -/* 04D08C 8004C48C 2861FE00 */ slti $at, $v1, -0x200 -.L8004C490: -/* 04D090 8004C490 10200002 */ beqz $at, .L8004C49C -/* 04D094 8004C494 00000000 */ nop -/* 04D098 8004C498 2403FE00 */ li $v1, -512 -.L8004C49C: -/* 04D09C 8004C49C 4458F800 */ cfc1 $t8, $31 -/* 04D0A0 8004C4A0 C7A60050 */ lwc1 $f6, 0x50($sp) -/* 04D0A4 8004C4A4 37010003 */ ori $at, $t8, 3 -/* 04D0A8 8004C4A8 38210002 */ xori $at, $at, 2 -/* 04D0AC 8004C4AC 44C1F800 */ ctc1 $at, $31 -/* 04D0B0 8004C4B0 00000000 */ nop -/* 04D0B4 8004C4B4 46003224 */ cvt.w.s $f8, $f6 -/* 04D0B8 8004C4B8 44094000 */ mfc1 $t1, $f8 -/* 04D0BC 8004C4BC 44D8F800 */ ctc1 $t8, $31 -/* 04D0C0 8004C4C0 00690019 */ multu $v1, $t1 -/* 04D0C4 8004C4C4 00001812 */ mflo $v1 -/* 04D0C8 8004C4C8 0064082A */ slt $at, $v1, $a0 -/* 04D0CC 8004C4CC 04810004 */ bgez $a0, .L8004C4E0 -/* 04D0D0 8004C4D0 00000000 */ nop -/* 04D0D4 8004C4D4 10200002 */ beqz $at, .L8004C4E0 -/* 04D0D8 8004C4D8 00000000 */ nop -/* 04D0DC 8004C4DC 00801825 */ move $v1, $a0 -.L8004C4E0: -/* 04D0E0 8004C4E0 18800004 */ blez $a0, .L8004C4F4 -/* 04D0E4 8004C4E4 0083082A */ slt $at, $a0, $v1 -/* 04D0E8 8004C4E8 10200002 */ beqz $at, .L8004C4F4 -/* 04D0EC 8004C4EC 00000000 */ nop -/* 04D0F0 8004C4F0 00801825 */ move $v1, $a0 -.L8004C4F4: -/* 04D0F4 8004C4F4 84F90196 */ lh $t9, 0x196($a3) -/* 04D0F8 8004C4F8 00000000 */ nop -/* 04D0FC 8004C4FC 03235021 */ addu $t2, $t9, $v1 -/* 04D100 8004C500 1000000D */ b .L8004C538 -/* 04D104 8004C504 A4EA0196 */ sh $t2, 0x196($a3) -.L8004C508: -/* 04D108 8004C508 444BF800 */ cfc1 $t3, $31 -/* 04D10C 8004C50C 44805000 */ mtc1 $zero, $f10 -/* 04D110 8004C510 35610003 */ ori $at, $t3, 3 -/* 04D114 8004C514 38210002 */ xori $at, $at, 2 -/* 04D118 8004C518 E4EA0094 */ swc1 $f10, 0x94($a3) -/* 04D11C 8004C51C C7A40050 */ lwc1 $f4, 0x50($sp) -/* 04D120 8004C520 44C1F800 */ ctc1 $at, $31 -/* 04D124 8004C524 00000000 */ nop -/* 04D128 8004C528 460021A4 */ cvt.w.s $f6, $f4 -/* 04D12C 8004C52C 44CBF800 */ ctc1 $t3, $31 -/* 04D130 8004C530 44093000 */ mfc1 $t1, $f6 -/* 04D134 8004C534 00000000 */ nop -.L8004C538: -/* 04D138 8004C538 3C0D8012 */ lui $t5, %hi(gDialogueCameraAngle) # $t5, 0x8012 -/* 04D13C 8004C53C 85ADD586 */ lh $t5, %lo(gDialogueCameraAngle)($t5) -/* 04D140 8004C540 00000000 */ nop -/* 04D144 8004C544 11A00005 */ beqz $t5, .L8004C55C -/* 04D148 8004C548 00000000 */ nop -/* 04D14C 8004C54C 84EC01A0 */ lh $t4, 0x1a0($a3) -/* 04D150 8004C550 340E8000 */ li $t6, 32768 -/* 04D154 8004C554 01CC7823 */ subu $t7, $t6, $t4 -/* 04D158 8004C558 A4EF0196 */ sh $t7, 0x196($a3) -.L8004C55C: -/* 04D15C 8004C55C 80E301E0 */ lb $v1, 0x1e0($a3) -/* 04D160 8004C560 24010002 */ li $at, 2 -/* 04D164 8004C564 10610003 */ beq $v1, $at, .L8004C574 -/* 04D168 8004C568 2401FFFE */ li $at, -2 -/* 04D16C 8004C56C 14610004 */ bne $v1, $at, .L8004C580 -/* 04D170 8004C570 8FB80054 */ lw $t8, 0x54($sp) -.L8004C574: -/* 04D174 8004C574 1000000D */ b .L8004C5AC -/* 04D178 8004C578 00002025 */ move $a0, $zero -/* 04D17C 8004C57C 8FB80054 */ lw $t8, 0x54($sp) -.L8004C580: -/* 04D180 8004C580 00000000 */ nop -/* 04D184 8004C584 87040002 */ lh $a0, 2($t8) -/* 04D188 8004C588 00000000 */ nop -/* 04D18C 8004C58C 28813001 */ slti $at, $a0, 0x3001 -/* 04D190 8004C590 14200003 */ bnez $at, .L8004C5A0 -/* 04D194 8004C594 2881D000 */ slti $at, $a0, -0x3000 -/* 04D198 8004C598 24043000 */ li $a0, 12288 -/* 04D19C 8004C59C 2881D000 */ slti $at, $a0, -0x3000 -.L8004C5A0: -/* 04D1A0 8004C5A0 10200003 */ beqz $at, .L8004C5B0 -/* 04D1A4 8004C5A4 3C014120 */ lui $at, 0x4120 -/* 04D1A8 8004C5A8 2404D000 */ li $a0, -12288 -.L8004C5AC: -/* 04D1AC 8004C5AC 3C014120 */ li $at, 0x41200000 # 10.000000 -.L8004C5B0: -/* 04D1B0 8004C5B0 44816000 */ mtc1 $at, $f12 -/* 04D1B4 8004C5B4 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 04D1B8 8004C5B8 460C8202 */ mul.s $f8, $f16, $f12 -/* 04D1BC 8004C5BC 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 04D1C0 8004C5C0 8D050000 */ lw $a1, ($t0) -/* 04D1C4 8004C5C4 4459F800 */ cfc1 $t9, $31 -/* 04D1C8 8004C5C8 84A60002 */ lh $a2, 2($a1) -/* 04D1CC 8004C5CC 37210003 */ ori $at, $t9, 3 -/* 04D1D0 8004C5D0 38210002 */ xori $at, $at, 2 -/* 04D1D4 8004C5D4 44C1F800 */ ctc1 $at, $31 -/* 04D1D8 8004C5D8 30CBFFFF */ andi $t3, $a2, 0xffff -/* 04D1DC 8004C5DC 460042A4 */ cvt.w.s $f10, $f8 -/* 04D1E0 8004C5E0 34018001 */ li $at, 32769 -/* 04D1E4 8004C5E4 440A5000 */ mfc1 $t2, $f10 -/* 04D1E8 8004C5E8 44D9F800 */ ctc1 $t9, $31 -/* 04D1EC 8004C5EC 008A2023 */ subu $a0, $a0, $t2 -/* 04D1F0 8004C5F0 00042023 */ negu $a0, $a0 -/* 04D1F4 8004C5F4 008B1823 */ subu $v1, $a0, $t3 -/* 04D1F8 8004C5F8 0061082A */ slt $at, $v1, $at -/* 04D1FC 8004C5FC 14200004 */ bnez $at, .L8004C610 -/* 04D200 8004C600 3C198012 */ lui $t9, %hi(gRaceStartTimer) # $t9, 0x8012 -/* 04D204 8004C604 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 04D208 8004C608 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 04D20C 8004C60C 00611821 */ addu $v1, $v1, $at -.L8004C610: -/* 04D210 8004C610 28618000 */ slti $at, $v1, -0x8000 -/* 04D214 8004C614 10200002 */ beqz $at, .L8004C620 -/* 04D218 8004C618 3401FFFF */ li $at, 65535 -/* 04D21C 8004C61C 00611821 */ addu $v1, $v1, $at -.L8004C620: -/* 04D220 8004C620 00690019 */ multu $v1, $t1 -/* 04D224 8004C624 24010001 */ li $at, 1 -/* 04D228 8004C628 00006812 */ mflo $t5 -/* 04D22C 8004C62C 000D7103 */ sra $t6, $t5, 4 -/* 04D230 8004C630 00CE6021 */ addu $t4, $a2, $t6 -/* 04D234 8004C634 A4AC0002 */ sh $t4, 2($a1) -/* 04D238 8004C638 8D0F0000 */ lw $t7, ($t0) -/* 04D23C 8004C63C C4E200B8 */ lwc1 $f2, 0xb8($a3) -/* 04D240 8004C640 91E4003B */ lbu $a0, 0x3b($t7) -/* 04D244 8004C644 C4E00008 */ lwc1 $f0, 8($a3) -/* 04D248 8004C648 10810007 */ beq $a0, $at, .L8004C668 -/* 04D24C 8004C64C 24010002 */ li $at, 2 -/* 04D250 8004C650 10810009 */ beq $a0, $at, .L8004C678 -/* 04D254 8004C654 24010003 */ li $at, 3 -/* 04D258 8004C658 1081000D */ beq $a0, $at, .L8004C690 -/* 04D25C 8004C65C 3C014254 */ lui $at, 0x4254 -/* 04D260 8004C660 10000018 */ b .L8004C6C4 -/* 04D264 8004C664 28410002 */ slti $at, $v0, 2 -.L8004C668: -/* 04D268 8004C668 3C01420C */ li $at, 0x420C0000 # 35.000000 -/* 04D26C 8004C66C 44812000 */ mtc1 $at, $f4 -/* 04D270 8004C670 10000013 */ b .L8004C6C0 -/* 04D274 8004C674 46047380 */ add.s $f14, $f14, $f4 -.L8004C678: -/* 04D278 8004C678 3C01420C */ li $at, 0x420C0000 # 35.000000 -/* 04D27C 8004C67C 44813000 */ mtc1 $at, $f6 -/* 04D280 8004C680 460C9481 */ sub.s $f18, $f18, $f12 -/* 04D284 8004C684 1000000E */ b .L8004C6C0 -/* 04D288 8004C688 46067381 */ sub.s $f14, $f14, $f6 -/* 04D28C 8004C68C 3C014254 */ li $at, 0x42540000 # 53.000000 -.L8004C690: -/* 04D290 8004C690 44814000 */ mtc1 $at, $f8 -/* 04D294 8004C694 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 04D298 8004C698 44815000 */ mtc1 $at, $f10 -/* 04D29C 8004C69C 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 -/* 04D2A0 8004C6A0 44813800 */ mtc1 $at, $f7 -/* 04D2A4 8004C6A4 44803000 */ mtc1 $zero, $f6 -/* 04D2A8 8004C6A8 46000121 */ cvt.d.s $f4, $f0 -/* 04D2AC 8004C6AC 46087381 */ sub.s $f14, $f14, $f8 -/* 04D2B0 8004C6B0 44801000 */ mtc1 $zero, $f2 -/* 04D2B4 8004C6B4 46262202 */ mul.d $f8, $f4, $f6 -/* 04D2B8 8004C6B8 460A9481 */ sub.s $f18, $f18, $f10 -/* 04D2BC 8004C6BC 46204020 */ cvt.s.d $f0, $f8 -.L8004C6C0: -/* 04D2C0 8004C6C0 28410002 */ slti $at, $v0, 2 -.L8004C6C4: -/* 04D2C4 8004C6C4 10200006 */ beqz $at, .L8004C6E0 -/* 04D2C8 8004C6C8 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 04D2CC 8004C6CC 44815000 */ mtc1 $at, $f10 -/* 04D2D0 8004C6D0 00000000 */ nop -/* 04D2D4 8004C6D4 460A0102 */ mul.s $f4, $f0, $f10 -/* 04D2D8 8004C6D8 10000006 */ b .L8004C6F4 -/* 04D2DC 8004C6DC 46047380 */ add.s $f14, $f14, $f4 -.L8004C6E0: -/* 04D2E0 8004C6E0 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 04D2E4 8004C6E4 44813000 */ mtc1 $at, $f6 -/* 04D2E8 8004C6E8 00000000 */ nop -/* 04D2EC 8004C6EC 46060202 */ mul.s $f8, $f0, $f6 -/* 04D2F0 8004C6F0 46087380 */ add.s $f14, $f14, $f8 -.L8004C6F4: -/* 04D2F4 8004C6F4 C4E0002C */ lwc1 $f0, 0x2c($a3) -/* 04D2F8 8004C6F8 44802800 */ mtc1 $zero, $f5 -/* 04D2FC 8004C6FC 44802000 */ mtc1 $zero, $f4 -/* 04D300 8004C700 460002A1 */ cvt.d.s $f10, $f0 -/* 04D304 8004C704 4624503C */ c.lt.d $f10, $f4 -/* 04D308 8004C708 00000000 */ nop -/* 04D30C 8004C70C 45000016 */ bc1f .L8004C768 -/* 04D310 8004C710 00000000 */ nop -/* 04D314 8004C714 80F801E2 */ lb $t8, 0x1e2($a3) -/* 04D318 8004C718 00000000 */ nop -/* 04D31C 8004C71C 17000012 */ bnez $t8, .L8004C768 -/* 04D320 8004C720 00000000 */ nop -/* 04D324 8004C724 46020182 */ mul.s $f6, $f0, $f2 -/* 04D328 8004C728 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 04D32C 8004C72C 44815000 */ mtc1 $at, $f10 -/* 04D330 8004C730 3C01800E */ lui $at, %hi(D_800E6570 + 4) # $at, 0x800e -/* 04D334 8004C734 46003207 */ neg.s $f8, $f6 -/* 04D338 8004C738 460A4402 */ mul.s $f16, $f8, $f10 -/* 04D33C 8004C73C C4256570 */ lwc1 $f5, %lo(D_800E6570)($at) -/* 04D340 8004C740 C4246574 */ lwc1 $f4, %lo(D_800E6570 + 4)($at) -/* 04D344 8004C744 3C014282 */ li $at, 0x42820000 # 65.000000 -/* 04D348 8004C748 460081A1 */ cvt.d.s $f6, $f16 -/* 04D34C 8004C74C 4626203C */ c.lt.d $f4, $f6 -/* 04D350 8004C750 00000000 */ nop -/* 04D354 8004C754 45000003 */ bc1f .L8004C764 -/* 04D358 8004C758 00000000 */ nop -/* 04D35C 8004C75C 44818000 */ mtc1 $at, $f16 -/* 04D360 8004C760 00000000 */ nop -.L8004C764: -/* 04D364 8004C764 46107381 */ sub.s $f14, $f14, $f16 -.L8004C768: -/* 04D368 8004C768 8F39D540 */ lw $t9, %lo(gRaceStartTimer)($t9) -/* 04D36C 8004C76C 00000000 */ nop -/* 04D370 8004C770 17200015 */ bnez $t9, .L8004C7C8 -/* 04D374 8004C774 24040024 */ li $a0, 36 -/* 04D378 8004C778 AFA70058 */ sw $a3, 0x58($sp) -/* 04D37C 8004C77C E7AE0034 */ swc1 $f14, 0x34($sp) -/* 04D380 8004C780 0C00322D */ jal normalise_time -/* 04D384 8004C784 E7B20030 */ swc1 $f18, 0x30($sp) -/* 04D388 8004C788 8FA70058 */ lw $a3, 0x58($sp) -/* 04D38C 8004C78C 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 04D390 8004C790 80E301D3 */ lb $v1, 0x1d3($a3) -/* 04D394 8004C794 C7AE0034 */ lwc1 $f14, 0x34($sp) -/* 04D398 8004C798 C7B20030 */ lwc1 $f18, 0x30($sp) -/* 04D39C 8004C79C 0043082A */ slt $at, $v0, $v1 -/* 04D3A0 8004C7A0 10200005 */ beqz $at, .L8004C7B8 -/* 04D3A4 8004C7A4 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 04D3A8 8004C7A8 3C01C1F0 */ li $at, 0xC1F00000 # -30.000000 -/* 04D3AC 8004C7AC 44817000 */ mtc1 $at, $f14 -/* 04D3B0 8004C7B0 10000005 */ b .L8004C7C8 -/* 04D3B4 8004C7B4 00000000 */ nop -.L8004C7B8: -/* 04D3B8 8004C7B8 18600003 */ blez $v1, .L8004C7C8 -/* 04D3BC 8004C7BC 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 04D3C0 8004C7C0 44817000 */ mtc1 $at, $f14 -/* 04D3C4 8004C7C4 00000000 */ nop -.L8004C7C8: -/* 04D3C8 8004C7C8 3C0A8012 */ lui $t2, %hi(gRaceStartTimer) # $t2, 0x8012 -/* 04D3CC 8004C7CC 8D4AD540 */ lw $t2, %lo(gRaceStartTimer)($t2) -/* 04D3D0 8004C7D0 8D050000 */ lw $a1, ($t0) -/* 04D3D4 8004C7D4 29410051 */ slti $at, $t2, 0x51 -/* 04D3D8 8004C7D8 14200007 */ bnez $at, .L8004C7F8 -/* 04D3DC 8004C7DC 00000000 */ nop -/* 04D3E0 8004C7E0 E4AE001C */ swc1 $f14, 0x1c($a1) -/* 04D3E4 8004C7E4 8D0B0000 */ lw $t3, ($t0) -/* 04D3E8 8004C7E8 00000000 */ nop -/* 04D3EC 8004C7EC E5720020 */ swc1 $f18, 0x20($t3) -/* 04D3F0 8004C7F0 8D050000 */ lw $a1, ($t0) -/* 04D3F4 8004C7F4 00000000 */ nop -.L8004C7F8: -/* 04D3F8 8004C7F8 C4A2001C */ lwc1 $f2, 0x1c($a1) -/* 04D3FC 8004C7FC 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 04D400 8004C800 46027281 */ sub.s $f10, $f14, $f2 -/* 04D404 8004C804 44810800 */ mtc1 $at, $f1 -/* 04D408 8004C808 44800000 */ mtc1 $zero, $f0 -/* 04D40C 8004C80C 46005121 */ cvt.d.s $f4, $f10 -/* 04D410 8004C810 46202182 */ mul.d $f6, $f4, $f0 -/* 04D414 8004C814 46001221 */ cvt.d.s $f8, $f2 -/* 04D418 8004C818 46264280 */ add.d $f10, $f8, $f6 -/* 04D41C 8004C81C 46205120 */ cvt.s.d $f4, $f10 -/* 04D420 8004C820 E4A4001C */ swc1 $f4, 0x1c($a1) -/* 04D424 8004C824 8D050000 */ lw $a1, ($t0) -/* 04D428 8004C828 00000000 */ nop -/* 04D42C 8004C82C C4AC0020 */ lwc1 $f12, 0x20($a1) -/* 04D430 8004C830 00000000 */ nop -/* 04D434 8004C834 460C9181 */ sub.s $f6, $f18, $f12 -/* 04D438 8004C838 460032A1 */ cvt.d.s $f10, $f6 -/* 04D43C 8004C83C 46205102 */ mul.d $f4, $f10, $f0 -/* 04D440 8004C840 46006221 */ cvt.d.s $f8, $f12 -/* 04D444 8004C844 46244180 */ add.d $f6, $f8, $f4 -/* 04D448 8004C848 462032A0 */ cvt.s.d $f10, $f6 -/* 04D44C 8004C84C E4AA0020 */ swc1 $f10, 0x20($a1) -/* 04D450 8004C850 8D0D0000 */ lw $t5, ($t0) -/* 04D454 8004C854 00000000 */ nop -/* 04D458 8004C858 85A40002 */ lh $a0, 2($t5) -/* 04D45C 8004C85C AFA70058 */ sw $a3, 0x58($sp) -/* 04D460 8004C860 2484FC00 */ addiu $a0, $a0, -0x400 -/* 04D464 8004C864 00047400 */ sll $t6, $a0, 0x10 -/* 04D468 8004C868 0C01C1F1 */ jal sins_f -/* 04D46C 8004C86C 000E2403 */ sra $a0, $t6, 0x10 -/* 04D470 8004C870 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 04D474 8004C874 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 04D478 8004C878 8D0F0000 */ lw $t7, ($t0) -/* 04D47C 8004C87C 00000000 */ nop -/* 04D480 8004C880 85E40002 */ lh $a0, 2($t7) -/* 04D484 8004C884 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 04D488 8004C888 2484FC00 */ addiu $a0, $a0, -0x400 -/* 04D48C 8004C88C 0004C400 */ sll $t8, $a0, 0x10 -/* 04D490 8004C890 0C01C1FE */ jal coss_f -/* 04D494 8004C894 00182403 */ sra $a0, $t8, 0x10 -/* 04D498 8004C898 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 04D49C 8004C89C 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 04D4A0 8004C8A0 8D050000 */ lw $a1, ($t0) -/* 04D4A4 8004C8A4 C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 04D4A8 8004C8A8 C4A2001C */ lwc1 $f2, 0x1c($a1) -/* 04D4AC 8004C8AC C4AC0020 */ lwc1 $f12, 0x20($a1) -/* 04D4B0 8004C8B0 46001202 */ mul.s $f8, $f2, $f0 -/* 04D4B4 8004C8B4 8FA70058 */ lw $a3, 0x58($sp) -/* 04D4B8 8004C8B8 340B8000 */ li $t3, 32768 -/* 04D4BC 8004C8BC 84EA0196 */ lh $t2, 0x196($a3) -/* 04D4C0 8004C8C0 460E6102 */ mul.s $f4, $f12, $f14 -/* 04D4C4 8004C8C4 016A2023 */ subu $a0, $t3, $t2 -/* 04D4C8 8004C8C8 00046C00 */ sll $t5, $a0, 0x10 -/* 04D4CC 8004C8CC 000D2403 */ sra $a0, $t5, 0x10 -/* 04D4D0 8004C8D0 460E1182 */ mul.s $f6, $f2, $f14 -/* 04D4D4 8004C8D4 46044401 */ sub.s $f16, $f8, $f4 -/* 04D4D8 8004C8D8 E7B00020 */ swc1 $f16, 0x20($sp) -/* 04D4DC 8004C8DC 46006282 */ mul.s $f10, $f12, $f0 -/* 04D4E0 8004C8E0 460A3480 */ add.s $f18, $f6, $f10 -/* 04D4E4 8004C8E4 0C01C1F1 */ jal sins_f -/* 04D4E8 8004C8E8 E7B20030 */ swc1 $f18, 0x30($sp) -/* 04D4EC 8004C8EC C7B00020 */ lwc1 $f16, 0x20($sp) -/* 04D4F0 8004C8F0 8FA70058 */ lw $a3, 0x58($sp) -/* 04D4F4 8004C8F4 46100202 */ mul.s $f8, $f0, $f16 -/* 04D4F8 8004C8F8 340F8000 */ li $t7, 32768 -/* 04D4FC 8004C8FC E7A80028 */ swc1 $f8, 0x28($sp) -/* 04D500 8004C900 84EC0196 */ lh $t4, 0x196($a3) -/* 04D504 8004C904 00000000 */ nop -/* 04D508 8004C908 01EC2023 */ subu $a0, $t7, $t4 -/* 04D50C 8004C90C 0004C400 */ sll $t8, $a0, 0x10 -/* 04D510 8004C910 0C01C1FE */ jal coss_f -/* 04D514 8004C914 00182403 */ sra $a0, $t8, 0x10 -/* 04D518 8004C918 C7B00020 */ lwc1 $f16, 0x20($sp) -/* 04D51C 8004C91C 8FA70058 */ lw $a3, 0x58($sp) -/* 04D520 8004C920 46100102 */ mul.s $f4, $f0, $f16 -/* 04D524 8004C924 E7A40024 */ swc1 $f4, 0x24($sp) -/* 04D528 8004C928 84E40196 */ lh $a0, 0x196($a3) -/* 04D52C 8004C92C 00000000 */ nop -/* 04D530 8004C930 24844000 */ addiu $a0, $a0, 0x4000 -/* 04D534 8004C934 00045C00 */ sll $t3, $a0, 0x10 -/* 04D538 8004C938 0C01C1F1 */ jal sins_f -/* 04D53C 8004C93C 000B2403 */ sra $a0, $t3, 0x10 -/* 04D540 8004C940 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 04D544 8004C944 44813000 */ mtc1 $at, $f6 -/* 04D548 8004C948 8FA70058 */ lw $a3, 0x58($sp) -/* 04D54C 8004C94C 46060282 */ mul.s $f10, $f0, $f6 -/* 04D550 8004C950 8FA20054 */ lw $v0, 0x54($sp) -/* 04D554 8004C954 C4E80030 */ lwc1 $f8, 0x30($a3) -/* 04D558 8004C958 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 04D55C 8004C95C 46085402 */ mul.s $f16, $f10, $f8 -/* 04D560 8004C960 C444000C */ lwc1 $f4, 0xc($v0) -/* 04D564 8004C964 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 04D568 8004C968 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 04D56C 8004C96C 46062280 */ add.s $f10, $f4, $f6 -/* 04D570 8004C970 8D0D0000 */ lw $t5, ($t0) -/* 04D574 8004C974 46105200 */ add.s $f8, $f10, $f16 -/* 04D578 8004C978 C7B20030 */ lwc1 $f18, 0x30($sp) -/* 04D57C 8004C97C E5A8000C */ swc1 $f8, 0xc($t5) -/* 04D580 8004C980 8D0E0000 */ lw $t6, ($t0) -/* 04D584 8004C984 C4460010 */ lwc1 $f6, 0x10($v0) -/* 04D588 8004C988 C5C40010 */ lwc1 $f4, 0x10($t6) -/* 04D58C 8004C98C 46123280 */ add.s $f10, $f6, $f18 -/* 04D590 8004C990 80E301E0 */ lb $v1, 0x1e0($a3) -/* 04D594 8004C994 460A2081 */ sub.s $f2, $f4, $f10 -/* 04D598 8004C998 24010001 */ li $at, 1 -/* 04D59C 8004C99C 10610003 */ beq $v1, $at, .L8004C9AC -/* 04D5A0 8004C9A0 46001406 */ mov.s $f16, $f2 -/* 04D5A4 8004C9A4 2401FFFF */ li $at, -1 -/* 04D5A8 8004C9A8 14610004 */ bne $v1, $at, .L8004C9BC -.L8004C9AC: -/* 04D5AC 8004C9AC 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 04D5B0 8004C9B0 44814000 */ mtc1 $at, $f8 -/* 04D5B4 8004C9B4 80E301E0 */ lb $v1, 0x1e0($a3) -/* 04D5B8 8004C9B8 E4E80074 */ swc1 $f8, 0x74($a3) -.L8004C9BC: -/* 04D5BC 8004C9BC 24010002 */ li $at, 2 -/* 04D5C0 8004C9C0 10610002 */ beq $v1, $at, .L8004C9CC -/* 04D5C4 8004C9C4 2401FFFE */ li $at, -2 -/* 04D5C8 8004C9C8 14610004 */ bne $v1, $at, .L8004C9DC -.L8004C9CC: -/* 04D5CC 8004C9CC 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 04D5D0 8004C9D0 44813000 */ mtc1 $at, $f6 -/* 04D5D4 8004C9D4 00000000 */ nop -/* 04D5D8 8004C9D8 E4E60074 */ swc1 $f6, 0x74($a3) -.L8004C9DC: -/* 04D5DC 8004C9DC C4E40074 */ lwc1 $f4, 0x74($a3) -/* 04D5E0 8004C9E0 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 04D5E4 8004C9E4 44815800 */ mtc1 $at, $f11 -/* 04D5E8 8004C9E8 44805000 */ mtc1 $zero, $f10 -/* 04D5EC 8004C9EC 46002021 */ cvt.d.s $f0, $f4 -/* 04D5F0 8004C9F0 4620503C */ c.lt.d $f10, $f0 -/* 04D5F4 8004C9F4 3C014000 */ lui $at, 0x4000 -/* 04D5F8 8004C9F8 45000009 */ bc1f .L8004CA20 -/* 04D5FC 8004C9FC 00000000 */ nop -# Used to access D_800E6578 and D_800E6578 + 4. -/* 04D600 8004CA00 3C01800E */ lui $at, %hi(D_800E6578) # $at, 0x800e -/* 04D604 8004CA04 C4296578 */ lwc1 $f9, %lo(D_800E6578)($at) -/* 04D608 8004CA08 C428657C */ lwc1 $f8, %lo(D_800E6578 + 4)($at) -/* 04D60C 8004CA0C 00000000 */ nop -/* 04D610 8004CA10 46280181 */ sub.d $f6, $f0, $f8 -/* 04D614 8004CA14 46203120 */ cvt.s.d $f4, $f6 -/* 04D618 8004CA18 10000004 */ b .L8004CA2C -/* 04D61C 8004CA1C E4E40074 */ swc1 $f4, 0x74($a3) -.L8004CA20: -/* 04D620 8004CA20 44815000 */ mtc1 $at, $f10 -/* 04D624 8004CA24 00000000 */ nop -/* 04D628 8004CA28 E4EA0074 */ swc1 $f10, 0x74($a3) -.L8004CA2C: -/* 04D62C 8004CA2C C7A80050 */ lwc1 $f8, 0x50($sp) -/* 04D630 8004CA30 C4E40074 */ lwc1 $f4, 0x74($a3) -/* 04D634 8004CA34 46081182 */ mul.s $f6, $f2, $f8 -/* 04D638 8004CA38 44800000 */ mtc1 $zero, $f0 -/* 04D63C 8004CA3C 46043083 */ div.s $f2, $f6, $f4 -/* 04D640 8004CA40 4602003C */ c.lt.s $f0, $f2 -/* 04D644 8004CA44 00000000 */ nop -/* 04D648 8004CA48 45000006 */ bc1f .L8004CA64 -/* 04D64C 8004CA4C 00000000 */ nop -/* 04D650 8004CA50 4602803C */ c.lt.s $f16, $f2 -/* 04D654 8004CA54 00000000 */ nop -/* 04D658 8004CA58 45000002 */ bc1f .L8004CA64 -/* 04D65C 8004CA5C 00000000 */ nop -/* 04D660 8004CA60 46008086 */ mov.s $f2, $f16 -.L8004CA64: -/* 04D664 8004CA64 4600103C */ c.lt.s $f2, $f0 -/* 04D668 8004CA68 00000000 */ nop -/* 04D66C 8004CA6C 45000006 */ bc1f .L8004CA88 -/* 04D670 8004CA70 00000000 */ nop -/* 04D674 8004CA74 4610103C */ c.lt.s $f2, $f16 -/* 04D678 8004CA78 00000000 */ nop -/* 04D67C 8004CA7C 45000002 */ bc1f .L8004CA88 -/* 04D680 8004CA80 00000000 */ nop -/* 04D684 8004CA84 46008086 */ mov.s $f2, $f16 -.L8004CA88: -/* 04D688 8004CA88 8D050000 */ lw $a1, ($t0) -/* 04D68C 8004CA8C 00000000 */ nop -/* 04D690 8004CA90 C4AA0010 */ lwc1 $f10, 0x10($a1) -/* 04D694 8004CA94 00000000 */ nop -/* 04D698 8004CA98 46025201 */ sub.s $f8, $f10, $f2 -/* 04D69C 8004CA9C E4A80010 */ swc1 $f8, 0x10($a1) -/* 04D6A0 8004CAA0 84E40196 */ lh $a0, 0x196($a3) -/* 04D6A4 8004CAA4 AFA70058 */ sw $a3, 0x58($sp) -/* 04D6A8 8004CAA8 24844000 */ addiu $a0, $a0, 0x4000 -/* 04D6AC 8004CAAC 00047C00 */ sll $t7, $a0, 0x10 -/* 04D6B0 8004CAB0 0C01C1FE */ jal coss_f -/* 04D6B4 8004CAB4 000F2403 */ sra $a0, $t7, 0x10 -/* 04D6B8 8004CAB8 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 04D6BC 8004CABC 44812000 */ mtc1 $at, $f4 -/* 04D6C0 8004CAC0 46000187 */ neg.s $f6, $f0 -/* 04D6C4 8004CAC4 46043282 */ mul.s $f10, $f6, $f4 -/* 04D6C8 8004CAC8 8FA70058 */ lw $a3, 0x58($sp) -/* 04D6CC 8004CACC 8FB80054 */ lw $t8, 0x54($sp) -/* 04D6D0 8004CAD0 C4E80030 */ lwc1 $f8, 0x30($a3) -/* 04D6D4 8004CAD4 C7A40024 */ lwc1 $f4, 0x24($sp) -/* 04D6D8 8004CAD8 46085402 */ mul.s $f16, $f10, $f8 -/* 04D6DC 8004CADC C7060014 */ lwc1 $f6, 0x14($t8) -/* 04D6E0 8004CAE0 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 04D6E4 8004CAE4 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 04D6E8 8004CAE8 46043280 */ add.s $f10, $f6, $f4 -/* 04D6EC 8004CAEC 8D190000 */ lw $t9, ($t0) -/* 04D6F0 8004CAF0 46105200 */ add.s $f8, $f10, $f16 -/* 04D6F4 8004CAF4 3C0E8012 */ lui $t6, %hi(gDialogueCameraAngle) # $t6, 0x8012 -/* 04D6F8 8004CAF8 E7280014 */ swc1 $f8, 0x14($t9) -/* 04D6FC 8004CAFC 8D0A0000 */ lw $t2, ($t0) -/* 04D700 8004CB00 84EB0196 */ lh $t3, 0x196($a3) -/* 04D704 8004CB04 00000000 */ nop -/* 04D708 8004CB08 A54B0000 */ sh $t3, ($t2) -/* 04D70C 8004CB0C 80ED01E0 */ lb $t5, 0x1e0($a3) -/* 04D710 8004CB10 00000000 */ nop -/* 04D714 8004CB14 15A00005 */ bnez $t5, .L8004CB2C -/* 04D718 8004CB18 00000000 */ nop -/* 04D71C 8004CB1C 85CED586 */ lh $t6, %lo(gDialogueCameraAngle)($t6) -/* 04D720 8004CB20 34018001 */ li $at, 32769 -/* 04D724 8004CB24 11C00014 */ beqz $t6, .L8004CB78 -/* 04D728 8004CB28 00000000 */ nop -.L8004CB2C: -/* 04D72C 8004CB2C 8D050000 */ lw $a1, ($t0) -/* 04D730 8004CB30 34018001 */ li $at, 32769 -/* 04D734 8004CB34 84A20004 */ lh $v0, 4($a1) -/* 04D738 8004CB38 00000000 */ nop -/* 04D73C 8004CB3C 3043FFFF */ andi $v1, $v0, 0xffff -/* 04D740 8004CB40 00031823 */ negu $v1, $v1 -/* 04D744 8004CB44 0061082A */ slt $at, $v1, $at -/* 04D748 8004CB48 14200003 */ bnez $at, .L8004CB58 -/* 04D74C 8004CB4C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 04D750 8004CB50 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 04D754 8004CB54 00611821 */ addu $v1, $v1, $at -.L8004CB58: -/* 04D758 8004CB58 28618000 */ slti $at, $v1, -0x8000 -/* 04D75C 8004CB5C 10200002 */ beqz $at, .L8004CB68 -/* 04D760 8004CB60 3401FFFF */ li $at, 65535 -/* 04D764 8004CB64 00611821 */ addu $v1, $v1, $at -.L8004CB68: -/* 04D768 8004CB68 00037883 */ sra $t7, $v1, 2 -/* 04D76C 8004CB6C 004F6021 */ addu $t4, $v0, $t7 -/* 04D770 8004CB70 10000013 */ b .L8004CBC0 -/* 04D774 8004CB74 A4AC0004 */ sh $t4, 4($a1) -.L8004CB78: -/* 04D778 8004CB78 8D050000 */ lw $a1, ($t0) -/* 04D77C 8004CB7C 84E401A4 */ lh $a0, 0x1a4($a3) -/* 04D780 8004CB80 84A20004 */ lh $v0, 4($a1) -/* 04D784 8004CB84 0004C103 */ sra $t8, $a0, 4 -/* 04D788 8004CB88 3059FFFF */ andi $t9, $v0, 0xffff -/* 04D78C 8004CB8C 03191823 */ subu $v1, $t8, $t9 -/* 04D790 8004CB90 0061082A */ slt $at, $v1, $at -/* 04D794 8004CB94 14200003 */ bnez $at, .L8004CBA4 -/* 04D798 8004CB98 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 04D79C 8004CB9C 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 04D7A0 8004CBA0 00611821 */ addu $v1, $v1, $at -.L8004CBA4: -/* 04D7A4 8004CBA4 28618000 */ slti $at, $v1, -0x8000 -/* 04D7A8 8004CBA8 10200002 */ beqz $at, .L8004CBB4 -/* 04D7AC 8004CBAC 3401FFFF */ li $at, 65535 -/* 04D7B0 8004CBB0 00611821 */ addu $v1, $v1, $at -.L8004CBB4: -/* 04D7B4 8004CBB4 000358C3 */ sra $t3, $v1, 3 -/* 04D7B8 8004CBB8 004B5021 */ addu $t2, $v0, $t3 -/* 04D7BC 8004CBBC A4AA0004 */ sh $t2, 4($a1) -.L8004CBC0: -/* 04D7C0 8004CBC0 8D050000 */ lw $a1, ($t0) -/* 04D7C4 8004CBC4 00000000 */ nop -/* 04D7C8 8004CBC8 C4AC000C */ lwc1 $f12, 0xc($a1) -/* 04D7CC 8004CBCC C4AE0010 */ lwc1 $f14, 0x10($a1) -/* 04D7D0 8004CBD0 8CA60014 */ lw $a2, 0x14($a1) -/* 04D7D4 8004CBD4 0C00A7C6 */ jal get_level_segment_index_from_position -/* 04D7D8 8004CBD8 AFA70058 */ sw $a3, 0x58($sp) -/* 04D7DC 8004CBDC 8FA70058 */ lw $a3, 0x58($sp) -/* 04D7E0 8004CBE0 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 -/* 04D7E4 8004CBE4 2401FFFF */ li $at, -1 -/* 04D7E8 8004CBE8 10410004 */ beq $v0, $at, .L8004CBFC -/* 04D7EC 8004CBEC 2508D508 */ addiu $t0, %lo(gCameraObject) # addiu $t0, $t0, -0x2af8 -/* 04D7F0 8004CBF0 8D0D0000 */ lw $t5, ($t0) -/* 04D7F4 8004CBF4 00000000 */ nop -/* 04D7F8 8004CBF8 A5A20034 */ sh $v0, 0x34($t5) -.L8004CBFC: -/* 04D7FC 8004CBFC 8D0E0000 */ lw $t6, ($t0) -/* 04D800 8004CC00 00000000 */ nop -/* 04D804 8004CC04 85CF0000 */ lh $t7, ($t6) -/* 04D808 8004CC08 00000000 */ nop -/* 04D80C 8004CC0C A4EF0196 */ sh $t7, 0x196($a3) -/* 04D810 8004CC10 8FBF0014 */ lw $ra, 0x14($sp) -/* 04D814 8004CC14 27BD0050 */ addiu $sp, $sp, 0x50 -/* 04D818 8004CC18 03E00008 */ jr $ra -/* 04D81C 8004CC1C 00000000 */ nop - diff --git a/asm/non_matchings/rcp/func_80078190.s b/asm/non_matchings/rcp/func_80078190.s deleted file mode 100644 index 109d31c6..00000000 --- a/asm/non_matchings/rcp/func_80078190.s +++ /dev/null @@ -1,398 +0,0 @@ -glabel func_80078190 -/* 078D90 80078190 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 078D94 80078194 AFBF003C */ sw $ra, 0x3c($sp) -/* 078D98 80078198 AFBE0038 */ sw $fp, 0x38($sp) -/* 078D9C 8007819C AFB70034 */ sw $s7, 0x34($sp) -/* 078DA0 800781A0 AFB60030 */ sw $s6, 0x30($sp) -/* 078DA4 800781A4 AFB5002C */ sw $s5, 0x2c($sp) -/* 078DA8 800781A8 AFB40028 */ sw $s4, 0x28($sp) -/* 078DAC 800781AC AFB30024 */ sw $s3, 0x24($sp) -/* 078DB0 800781B0 AFB20020 */ sw $s2, 0x20($sp) -/* 078DB4 800781B4 AFB1001C */ sw $s1, 0x1c($sp) -/* 078DB8 800781B8 AFB00018 */ sw $s0, 0x18($sp) -/* 078DBC 800781BC 0C01E948 */ jal fb_size -/* 078DC0 800781C0 AFA40040 */ sw $a0, 0x40($sp) -/* 078DC4 800781C4 8FA40040 */ lw $a0, 0x40($sp) -/* 078DC8 800781C8 00024403 */ sra $t0, $v0, 0x10 -/* 078DCC 800781CC 8C830000 */ lw $v1, ($a0) -/* 078DD0 800781D0 3C19800E */ lui $t9, %hi(dRaceFinishBackgroundSettings) # $t9, 0x800e -/* 078DD4 800781D4 246F0008 */ addiu $t7, $v1, 8 -/* 078DD8 800781D8 AC8F0000 */ sw $t7, ($a0) -/* 078DDC 800781DC 3C0A800E */ lui $t2, %hi(gTexBGTex2) # $t2, 0x800e -/* 078DE0 800781E0 310EFFFF */ andi $t6, $t0, 0xffff -/* 078DE4 800781E4 2739E598 */ addiu $t9, %lo(dRaceFinishBackgroundSettings) # addiu $t9, $t9, -0x1a68 -/* 078DE8 800781E8 3C180600 */ lui $t8, 0x600 -/* 078DEC 800781EC 254AE4C8 */ addiu $t2, %lo(gTexBGTex2) # addiu $t2, $t2, -0x1b38 -/* 078DF0 800781F0 01C04025 */ move $t0, $t6 -/* 078DF4 800781F4 AC780000 */ sw $t8, ($v1) -/* 078DF8 800781F8 AC790004 */ sw $t9, 4($v1) -/* 078DFC 800781FC 8D4E0000 */ lw $t6, ($t2) -/* 078E00 80078200 3C09800E */ lui $t1, %hi(gTexBGTex1) # $t1, 0x800e -/* 078E04 80078204 15C00070 */ bnez $t6, .L800783C8 -/* 078E08 80078208 2529E4C4 */ addiu $t1, %lo(gTexBGTex1) # addiu $t1, $t1, -0x1b3c -/* 078E0C 8007820C 8C830000 */ lw $v1, ($a0) -/* 078E10 80078210 3C09800E */ lui $t1, %hi(gTexBGTex1) # $t1, 0x800e -/* 078E14 80078214 246F0008 */ addiu $t7, $v1, 8 -/* 078E18 80078218 2529E4C4 */ addiu $t1, %lo(gTexBGTex1) # addiu $t1, $t1, -0x1b3c -/* 078E1C 8007821C AC8F0000 */ sw $t7, ($a0) -/* 078E20 80078220 8D380000 */ lw $t8, ($t1) -/* 078E24 80078224 3C010700 */ lui $at, 0x700 -/* 078E28 80078228 8707000A */ lh $a3, 0xa($t8) -/* 078E2C 8007822C 3051FFFF */ andi $s1, $v0, 0xffff -/* 078E30 80078230 30F900FF */ andi $t9, $a3, 0xff -/* 078E34 80078234 00197400 */ sll $t6, $t9, 0x10 -/* 078E38 80078238 0007C0C0 */ sll $t8, $a3, 3 -/* 078E3C 8007823C 3319FFFF */ andi $t9, $t8, 0xffff -/* 078E40 80078240 01C17825 */ or $t7, $t6, $at -/* 078E44 80078244 01F97025 */ or $t6, $t7, $t9 -/* 078E48 80078248 AC6E0000 */ sw $t6, ($v1) -/* 078E4C 8007824C 8D380000 */ lw $t8, ($t1) -/* 078E50 80078250 3C018000 */ lui $at, 0x8000 -/* 078E54 80078254 8F0F000C */ lw $t7, 0xc($t8) -/* 078E58 80078258 00117080 */ sll $t6, $s1, 2 -/* 078E5C 8007825C 01E1C821 */ addu $t9, $t7, $at -/* 078E60 80078260 AC790004 */ sw $t9, 4($v1) -/* 078E64 80078264 8D260000 */ lw $a2, ($t1) -/* 078E68 80078268 0008B080 */ sll $s6, $t0, 2 -/* 078E6C 8007826C 90D00000 */ lbu $s0, ($a2) -/* 078E70 80078270 90D40001 */ lbu $s4, 1($a2) -/* 078E74 80078274 0010C080 */ sll $t8, $s0, 2 -/* 078E78 80078278 00147880 */ sll $t7, $s4, 2 -/* 078E7C 8007827C 01C08825 */ move $s1, $t6 -/* 078E80 80078280 03008025 */ move $s0, $t8 -/* 078E84 80078284 01E0A025 */ move $s4, $t7 -/* 078E88 80078288 00009825 */ move $s3, $zero -/* 078E8C 8007828C 1AC00128 */ blez $s6, .L80078730 -/* 078E90 80078290 00009025 */ move $s2, $zero -/* 078E94 80078294 3C17800E */ lui $s7, %hi(gTexBGShiftX) # $s7, 0x800e -/* 078E98 80078298 3C1F0400 */ lui $ra, (0x04000400 >> 16) # lui $ra, 0x400 -/* 078E9C 8007829C 37FF0400 */ ori $ra, (0x04000400 & 0xFFFF) # ori $ra, $ra, 0x400 -/* 078EA0 800782A0 26F7E4C0 */ addiu $s7, %lo(gTexBGShiftX) # addiu $s7, $s7, -0x1b40 -/* 078EA4 800782A4 2715FFFF */ addiu $s5, $t8, -1 -/* 078EA8 800782A8 3C0DB200 */ lui $t5, 0xb200 -/* 078EAC 800782AC 3C0CB300 */ lui $t4, 0xb300 -/* 078EB0 800782B0 3C0BE400 */ lui $t3, 0xe400 -.L800782B4: -/* 078EB4 800782B4 00131023 */ negu $v0, $s3 -/* 078EB8 800782B8 0051082A */ slt $at, $v0, $s1 -/* 078EBC 800782BC 1020003A */ beqz $at, .L800783A8 -/* 078EC0 800782C0 02544821 */ addu $t1, $s2, $s4 -/* 078EC4 800782C4 31390FFF */ andi $t9, $t1, 0xfff -/* 078EC8 800782C8 03204825 */ move $t1, $t9 -/* 078ECC 800782CC 324A0FFF */ andi $t2, $s2, 0xfff -.L800782D0: -/* 078ED0 800782D0 0441001A */ bgez $v0, .L8007833C -/* 078ED4 800782D4 00503021 */ addu $a2, $v0, $s0 -/* 078ED8 800782D8 8C830000 */ lw $v1, ($a0) -/* 078EDC 800782DC 00503021 */ addu $a2, $v0, $s0 -/* 078EE0 800782E0 30D80FFF */ andi $t8, $a2, 0xfff -/* 078EE4 800782E4 246E0008 */ addiu $t6, $v1, 8 -/* 078EE8 800782E8 AC8E0000 */ sw $t6, ($a0) -/* 078EEC 800782EC 00187B00 */ sll $t7, $t8, 0xc -/* 078EF0 800782F0 01EBC825 */ or $t9, $t7, $t3 -/* 078EF4 800782F4 03297025 */ or $t6, $t9, $t1 -/* 078EF8 800782F8 AC6E0000 */ sw $t6, ($v1) -/* 078EFC 800782FC AC6A0004 */ sw $t2, 4($v1) -/* 078F00 80078300 8C830000 */ lw $v1, ($a0) -/* 078F04 80078304 000278C0 */ sll $t7, $v0, 3 -/* 078F08 80078308 24780008 */ addiu $t8, $v1, 8 -/* 078F0C 8007830C AC980000 */ sw $t8, ($a0) -/* 078F10 80078310 000F7023 */ negu $t6, $t7 -/* 078F14 80078314 000EC400 */ sll $t8, $t6, 0x10 -/* 078F18 80078318 AC780004 */ sw $t8, 4($v1) -/* 078F1C 8007831C AC6C0000 */ sw $t4, ($v1) -/* 078F20 80078320 8C830000 */ lw $v1, ($a0) -/* 078F24 80078324 00000000 */ nop -/* 078F28 80078328 246F0008 */ addiu $t7, $v1, 8 -/* 078F2C 8007832C AC8F0000 */ sw $t7, ($a0) -/* 078F30 80078330 AC7F0004 */ sw $ra, 4($v1) -/* 078F34 80078334 10000019 */ b .L8007839C -/* 078F38 80078338 AC6D0000 */ sw $t5, ($v1) -.L8007833C: -/* 078F3C 8007833C 8C830000 */ lw $v1, ($a0) -/* 078F40 80078340 30CE0FFF */ andi $t6, $a2, 0xfff -/* 078F44 80078344 000EC300 */ sll $t8, $t6, 0xc -/* 078F48 80078348 030B7825 */ or $t7, $t8, $t3 -/* 078F4C 8007834C 24790008 */ addiu $t9, $v1, 8 -/* 078F50 80078350 AC990000 */ sw $t9, ($a0) -/* 078F54 80078354 304E0FFF */ andi $t6, $v0, 0xfff -/* 078F58 80078358 000EC300 */ sll $t8, $t6, 0xc -/* 078F5C 8007835C 01E9C825 */ or $t9, $t7, $t1 -/* 078F60 80078360 030A7825 */ or $t7, $t8, $t2 -/* 078F64 80078364 AC6F0004 */ sw $t7, 4($v1) -/* 078F68 80078368 AC790000 */ sw $t9, ($v1) -/* 078F6C 8007836C 8C830000 */ lw $v1, ($a0) -/* 078F70 80078370 00000000 */ nop -/* 078F74 80078374 24790008 */ addiu $t9, $v1, 8 -/* 078F78 80078378 AC990000 */ sw $t9, ($a0) -/* 078F7C 8007837C AC600004 */ sw $zero, 4($v1) -/* 078F80 80078380 AC6C0000 */ sw $t4, ($v1) -/* 078F84 80078384 8C830000 */ lw $v1, ($a0) -/* 078F88 80078388 00000000 */ nop -/* 078F8C 8007838C 246E0008 */ addiu $t6, $v1, 8 -/* 078F90 80078390 AC8E0000 */ sw $t6, ($a0) -/* 078F94 80078394 AC7F0004 */ sw $ra, 4($v1) -/* 078F98 80078398 AC6D0000 */ sw $t5, ($v1) -.L8007839C: -/* 078F9C 8007839C 00D1082A */ slt $at, $a2, $s1 -/* 078FA0 800783A0 1420FFCB */ bnez $at, .L800782D0 -/* 078FA4 800783A4 00C01025 */ move $v0, $a2 -.L800783A8: -/* 078FA8 800783A8 8EF80000 */ lw $t8, ($s7) -/* 078FAC 800783AC 02549021 */ addu $s2, $s2, $s4 -/* 078FB0 800783B0 0256082A */ slt $at, $s2, $s6 -/* 078FB4 800783B4 02787821 */ addu $t7, $s3, $t8 -/* 078FB8 800783B8 1420FFBE */ bnez $at, .L800782B4 -/* 078FBC 800783BC 01F59824 */ and $s3, $t7, $s5 -/* 078FC0 800783C0 100000DC */ b .L80078734 -/* 078FC4 800783C4 8C830000 */ lw $v1, ($a0) -.L800783C8: -/* 078FC8 800783C8 8C830000 */ lw $v1, ($a0) -/* 078FCC 800783CC 3C010700 */ lui $at, 0x700 -/* 078FD0 800783D0 24790008 */ addiu $t9, $v1, 8 -/* 078FD4 800783D4 AC990000 */ sw $t9, ($a0) -/* 078FD8 800783D8 8D2E0000 */ lw $t6, ($t1) -/* 078FDC 800783DC 3051FFFF */ andi $s1, $v0, 0xffff -/* 078FE0 800783E0 85C7000A */ lh $a3, 0xa($t6) -/* 078FE4 800783E4 0008B080 */ sll $s6, $t0, 2 -/* 078FE8 800783E8 30F800FF */ andi $t8, $a3, 0xff -/* 078FEC 800783EC 00187C00 */ sll $t7, $t8, 0x10 -/* 078FF0 800783F0 000770C0 */ sll $t6, $a3, 3 -/* 078FF4 800783F4 31D8FFFF */ andi $t8, $t6, 0xffff -/* 078FF8 800783F8 01E1C825 */ or $t9, $t7, $at -/* 078FFC 800783FC 03387825 */ or $t7, $t9, $t8 -/* 079000 80078400 AC6F0000 */ sw $t7, ($v1) -/* 079004 80078404 8D2E0000 */ lw $t6, ($t1) -/* 079008 80078408 3C018000 */ lui $at, 0x8000 -/* 07900C 8007840C 8DD9000C */ lw $t9, 0xc($t6) -/* 079010 80078410 00117880 */ sll $t7, $s1, 2 -/* 079014 80078414 0321C021 */ addu $t8, $t9, $at -/* 079018 80078418 AC780004 */ sw $t8, 4($v1) -/* 07901C 8007841C 8D260000 */ lw $a2, ($t1) -/* 079020 80078420 8D580000 */ lw $t8, ($t2) -/* 079024 80078424 90D00000 */ lbu $s0, ($a2) -/* 079028 80078428 01E08825 */ move $s1, $t7 -/* 07902C 8007842C 90D40001 */ lbu $s4, 1($a2) -/* 079030 80078430 930F0001 */ lbu $t7, 1($t8) -/* 079034 80078434 00107080 */ sll $t6, $s0, 2 -/* 079038 80078438 01C08025 */ move $s0, $t6 -/* 07903C 8007843C 0014C880 */ sll $t9, $s4, 2 -/* 079040 80078440 000F7080 */ sll $t6, $t7, 2 -/* 079044 80078444 00009025 */ move $s2, $zero -/* 079048 80078448 0320A025 */ move $s4, $t9 -/* 07904C 8007844C 01D9F021 */ addu $fp, $t6, $t9 -/* 079050 80078450 1AC0004D */ blez $s6, .L80078588 -/* 079054 80078454 00009825 */ move $s3, $zero -/* 079058 80078458 3C17800E */ lui $s7, %hi(gTexBGShiftX) # $s7, 0x800e -/* 07905C 8007845C 3C1F0400 */ lui $ra, (0x04000400 >> 16) # lui $ra, 0x400 -/* 079060 80078460 37FF0400 */ ori $ra, (0x04000400 & 0xFFFF) # ori $ra, $ra, 0x400 -/* 079064 80078464 26F7E4C0 */ addiu $s7, %lo(gTexBGShiftX) # addiu $s7, $s7, -0x1b40 -/* 079068 80078468 2615FFFF */ addiu $s5, $s0, -1 -/* 07906C 8007846C 3C0DB200 */ lui $t5, 0xb200 -/* 079070 80078470 3C0CB300 */ lui $t4, 0xb300 -/* 079074 80078474 3C0BE400 */ lui $t3, 0xe400 -.L80078478: -/* 079078 80078478 00131023 */ negu $v0, $s3 -/* 07907C 8007847C 0051082A */ slt $at, $v0, $s1 -/* 079080 80078480 1020003A */ beqz $at, .L8007856C -/* 079084 80078484 02544821 */ addu $t1, $s2, $s4 -/* 079088 80078488 31390FFF */ andi $t9, $t1, 0xfff -/* 07908C 8007848C 03204825 */ move $t1, $t9 -/* 079090 80078490 324A0FFF */ andi $t2, $s2, 0xfff -.L80078494: -/* 079094 80078494 0441001A */ bgez $v0, .L80078500 -/* 079098 80078498 00503021 */ addu $a2, $v0, $s0 -/* 07909C 8007849C 8C830000 */ lw $v1, ($a0) -/* 0790A0 800784A0 00503021 */ addu $a2, $v0, $s0 -/* 0790A4 800784A4 30CF0FFF */ andi $t7, $a2, 0xfff -/* 0790A8 800784A8 24780008 */ addiu $t8, $v1, 8 -/* 0790AC 800784AC AC980000 */ sw $t8, ($a0) -/* 0790B0 800784B0 000F7300 */ sll $t6, $t7, 0xc -/* 0790B4 800784B4 01CBC825 */ or $t9, $t6, $t3 -/* 0790B8 800784B8 0329C025 */ or $t8, $t9, $t1 -/* 0790BC 800784BC AC780000 */ sw $t8, ($v1) -/* 0790C0 800784C0 AC6A0004 */ sw $t2, 4($v1) -/* 0790C4 800784C4 8C830000 */ lw $v1, ($a0) -/* 0790C8 800784C8 000270C0 */ sll $t6, $v0, 3 -/* 0790CC 800784CC 246F0008 */ addiu $t7, $v1, 8 -/* 0790D0 800784D0 AC8F0000 */ sw $t7, ($a0) -/* 0790D4 800784D4 000EC023 */ negu $t8, $t6 -/* 0790D8 800784D8 00187C00 */ sll $t7, $t8, 0x10 -/* 0790DC 800784DC AC6F0004 */ sw $t7, 4($v1) -/* 0790E0 800784E0 AC6C0000 */ sw $t4, ($v1) -/* 0790E4 800784E4 8C830000 */ lw $v1, ($a0) -/* 0790E8 800784E8 00000000 */ nop -/* 0790EC 800784EC 246E0008 */ addiu $t6, $v1, 8 -/* 0790F0 800784F0 AC8E0000 */ sw $t6, ($a0) -/* 0790F4 800784F4 AC7F0004 */ sw $ra, 4($v1) -/* 0790F8 800784F8 10000019 */ b .L80078560 -/* 0790FC 800784FC AC6D0000 */ sw $t5, ($v1) -.L80078500: -/* 079100 80078500 8C830000 */ lw $v1, ($a0) -/* 079104 80078504 30D80FFF */ andi $t8, $a2, 0xfff -/* 079108 80078508 00187B00 */ sll $t7, $t8, 0xc -/* 07910C 8007850C 01EB7025 */ or $t6, $t7, $t3 -/* 079110 80078510 24790008 */ addiu $t9, $v1, 8 -/* 079114 80078514 AC990000 */ sw $t9, ($a0) -/* 079118 80078518 30580FFF */ andi $t8, $v0, 0xfff -/* 07911C 8007851C 00187B00 */ sll $t7, $t8, 0xc -/* 079120 80078520 01C9C825 */ or $t9, $t6, $t1 -/* 079124 80078524 01EA7025 */ or $t6, $t7, $t2 -/* 079128 80078528 AC6E0004 */ sw $t6, 4($v1) -/* 07912C 8007852C AC790000 */ sw $t9, ($v1) -/* 079130 80078530 8C830000 */ lw $v1, ($a0) -/* 079134 80078534 00000000 */ nop -/* 079138 80078538 24790008 */ addiu $t9, $v1, 8 -/* 07913C 8007853C AC990000 */ sw $t9, ($a0) -/* 079140 80078540 AC600004 */ sw $zero, 4($v1) -/* 079144 80078544 AC6C0000 */ sw $t4, ($v1) -/* 079148 80078548 8C830000 */ lw $v1, ($a0) -/* 07914C 8007854C 00000000 */ nop -/* 079150 80078550 24780008 */ addiu $t8, $v1, 8 -/* 079154 80078554 AC980000 */ sw $t8, ($a0) -/* 079158 80078558 AC7F0004 */ sw $ra, 4($v1) -/* 07915C 8007855C AC6D0000 */ sw $t5, ($v1) -.L80078560: -/* 079160 80078560 00D1082A */ slt $at, $a2, $s1 -/* 079164 80078564 1420FFCB */ bnez $at, .L80078494 -/* 079168 80078568 00C01025 */ move $v0, $a2 -.L8007856C: -/* 07916C 8007856C 8EEF0000 */ lw $t7, ($s7) -/* 079170 80078570 025E9021 */ addu $s2, $s2, $fp -/* 079174 80078574 0256082A */ slt $at, $s2, $s6 -/* 079178 80078578 026F7021 */ addu $t6, $s3, $t7 -/* 07917C 8007857C 1420FFBE */ bnez $at, .L80078478 -/* 079180 80078580 01D59824 */ and $s3, $t6, $s5 -/* 079184 80078584 00009825 */ move $s3, $zero -.L80078588: -/* 079188 80078588 8C830000 */ lw $v1, ($a0) -/* 07918C 8007858C 3C06800E */ lui $a2, %hi(gTexBGTex2) # $a2, 0x800e -/* 079190 80078590 24790008 */ addiu $t9, $v1, 8 -/* 079194 80078594 24C6E4C8 */ addiu $a2, %lo(gTexBGTex2) # addiu $a2, $a2, -0x1b38 -/* 079198 80078598 AC990000 */ sw $t9, ($a0) -/* 07919C 8007859C 8CD80000 */ lw $t8, ($a2) -/* 0791A0 800785A0 3C010700 */ lui $at, 0x700 -/* 0791A4 800785A4 8705000A */ lh $a1, 0xa($t8) -/* 0791A8 800785A8 02809025 */ move $s2, $s4 -/* 0791AC 800785AC 30AF00FF */ andi $t7, $a1, 0xff -/* 0791B0 800785B0 000F7400 */ sll $t6, $t7, 0x10 -/* 0791B4 800785B4 0005C0C0 */ sll $t8, $a1, 3 -/* 0791B8 800785B8 330FFFFF */ andi $t7, $t8, 0xffff -/* 0791BC 800785BC 01C1C825 */ or $t9, $t6, $at -/* 0791C0 800785C0 032F7025 */ or $t6, $t9, $t7 -/* 0791C4 800785C4 AC6E0000 */ sw $t6, ($v1) -/* 0791C8 800785C8 8CD80000 */ lw $t8, ($a2) -/* 0791CC 800785CC 3C018000 */ lui $at, 0x8000 -/* 0791D0 800785D0 8F19000C */ lw $t9, 0xc($t8) -/* 0791D4 800785D4 0016C080 */ sll $t8, $s6, 2 -/* 0791D8 800785D8 03217821 */ addu $t7, $t9, $at -/* 0791DC 800785DC AC6F0004 */ sw $t7, 4($v1) -/* 0791E0 800785E0 8CD90000 */ lw $t9, ($a2) -/* 0791E4 800785E4 3C1F0400 */ lui $ra, (0x04000400 >> 16) # lui $ra, 0x400 -/* 0791E8 800785E8 93340001 */ lbu $s4, 1($t9) -/* 0791EC 800785EC 3C17800E */ lui $s7, %hi(gTexBGShiftX) # $s7, 0x800e -/* 0791F0 800785F0 00117080 */ sll $t6, $s1, 2 -/* 0791F4 800785F4 0258082A */ slt $at, $s2, $t8 -/* 0791F8 800785F8 00147880 */ sll $t7, $s4, 2 -/* 0791FC 800785FC 26F7E4C0 */ addiu $s7, %lo(gTexBGShiftX) # addiu $s7, $s7, -0x1b40 -/* 079200 80078600 37FF0400 */ ori $ra, (0x04000400 & 0xFFFF) # ori $ra, $ra, 0x400 -/* 079204 80078604 3C0BE400 */ lui $t3, 0xe400 -/* 079208 80078608 3C0CB300 */ lui $t4, 0xb300 -/* 07920C 8007860C 3C0DB200 */ lui $t5, 0xb200 -/* 079210 80078610 01C08825 */ move $s1, $t6 -/* 079214 80078614 0300B025 */ move $s6, $t8 -/* 079218 80078618 10200045 */ beqz $at, .L80078730 -/* 07921C 8007861C 01E0A025 */ move $s4, $t7 -/* 079220 80078620 2615FFFF */ addiu $s5, $s0, -1 -.L80078624: -/* 079224 80078624 00131023 */ negu $v0, $s3 -/* 079228 80078628 0051082A */ slt $at, $v0, $s1 -/* 07922C 8007862C 1020003A */ beqz $at, .L80078718 -/* 079230 80078630 02544821 */ addu $t1, $s2, $s4 -/* 079234 80078634 312E0FFF */ andi $t6, $t1, 0xfff -/* 079238 80078638 01C04825 */ move $t1, $t6 -/* 07923C 8007863C 324A0FFF */ andi $t2, $s2, 0xfff -.L80078640: -/* 079240 80078640 0441001A */ bgez $v0, .L800786AC -/* 079244 80078644 00503021 */ addu $a2, $v0, $s0 -/* 079248 80078648 8C830000 */ lw $v1, ($a0) -/* 07924C 8007864C 00503021 */ addu $a2, $v0, $s0 -/* 079250 80078650 30D90FFF */ andi $t9, $a2, 0xfff -/* 079254 80078654 24780008 */ addiu $t8, $v1, 8 -/* 079258 80078658 AC980000 */ sw $t8, ($a0) -/* 07925C 8007865C 00197B00 */ sll $t7, $t9, 0xc -/* 079260 80078660 01EB7025 */ or $t6, $t7, $t3 -/* 079264 80078664 01C9C025 */ or $t8, $t6, $t1 -/* 079268 80078668 AC780000 */ sw $t8, ($v1) -/* 07926C 8007866C AC6A0004 */ sw $t2, 4($v1) -/* 079270 80078670 8C830000 */ lw $v1, ($a0) -/* 079274 80078674 000278C0 */ sll $t7, $v0, 3 -/* 079278 80078678 24790008 */ addiu $t9, $v1, 8 -/* 07927C 8007867C AC990000 */ sw $t9, ($a0) -/* 079280 80078680 000FC023 */ negu $t8, $t7 -/* 079284 80078684 0018CC00 */ sll $t9, $t8, 0x10 -/* 079288 80078688 AC790004 */ sw $t9, 4($v1) -/* 07928C 8007868C AC6C0000 */ sw $t4, ($v1) -/* 079290 80078690 8C830000 */ lw $v1, ($a0) -/* 079294 80078694 00000000 */ nop -/* 079298 80078698 246F0008 */ addiu $t7, $v1, 8 -/* 07929C 8007869C AC8F0000 */ sw $t7, ($a0) -/* 0792A0 800786A0 AC7F0004 */ sw $ra, 4($v1) -/* 0792A4 800786A4 10000019 */ b .L8007870C -/* 0792A8 800786A8 AC6D0000 */ sw $t5, ($v1) -.L800786AC: -/* 0792AC 800786AC 8C830000 */ lw $v1, ($a0) -/* 0792B0 800786B0 30D80FFF */ andi $t8, $a2, 0xfff -/* 0792B4 800786B4 0018CB00 */ sll $t9, $t8, 0xc -/* 0792B8 800786B8 032B7825 */ or $t7, $t9, $t3 -/* 0792BC 800786BC 246E0008 */ addiu $t6, $v1, 8 -/* 0792C0 800786C0 AC8E0000 */ sw $t6, ($a0) -/* 0792C4 800786C4 30580FFF */ andi $t8, $v0, 0xfff -/* 0792C8 800786C8 0018CB00 */ sll $t9, $t8, 0xc -/* 0792CC 800786CC 01E97025 */ or $t6, $t7, $t1 -/* 0792D0 800786D0 032A7825 */ or $t7, $t9, $t2 -/* 0792D4 800786D4 AC6F0004 */ sw $t7, 4($v1) -/* 0792D8 800786D8 AC6E0000 */ sw $t6, ($v1) -/* 0792DC 800786DC 8C830000 */ lw $v1, ($a0) -/* 0792E0 800786E0 00000000 */ nop -/* 0792E4 800786E4 246E0008 */ addiu $t6, $v1, 8 -/* 0792E8 800786E8 AC8E0000 */ sw $t6, ($a0) -/* 0792EC 800786EC AC600004 */ sw $zero, 4($v1) -/* 0792F0 800786F0 AC6C0000 */ sw $t4, ($v1) -/* 0792F4 800786F4 8C830000 */ lw $v1, ($a0) -/* 0792F8 800786F8 00000000 */ nop -/* 0792FC 800786FC 24780008 */ addiu $t8, $v1, 8 -/* 079300 80078700 AC980000 */ sw $t8, ($a0) -/* 079304 80078704 AC7F0004 */ sw $ra, 4($v1) -/* 079308 80078708 AC6D0000 */ sw $t5, ($v1) -.L8007870C: -/* 07930C 8007870C 00D1082A */ slt $at, $a2, $s1 -/* 079310 80078710 1420FFCB */ bnez $at, .L80078640 -/* 079314 80078714 00C01025 */ move $v0, $a2 -.L80078718: -/* 079318 80078718 8EF90000 */ lw $t9, ($s7) -/* 07931C 8007871C 025E9021 */ addu $s2, $s2, $fp -/* 079320 80078720 0256082A */ slt $at, $s2, $s6 -/* 079324 80078724 02797821 */ addu $t7, $s3, $t9 -/* 079328 80078728 1420FFBE */ bnez $at, .L80078624 -/* 07932C 8007872C 01F59824 */ and $s3, $t7, $s5 -.L80078730: -/* 079330 80078730 8C830000 */ lw $v1, ($a0) -.L80078734: -/* 079334 80078734 3C18E700 */ lui $t8, 0xe700 -/* 079338 80078738 246E0008 */ addiu $t6, $v1, 8 -/* 07933C 8007873C AC8E0000 */ sw $t6, ($a0) -/* 079340 80078740 AC600004 */ sw $zero, 4($v1) -/* 079344 80078744 AC780000 */ sw $t8, ($v1) -/* 079348 80078748 8FBF003C */ lw $ra, 0x3c($sp) -/* 07934C 8007874C 8FBE0038 */ lw $fp, 0x38($sp) -/* 079350 80078750 8FB70034 */ lw $s7, 0x34($sp) -/* 079354 80078754 8FB60030 */ lw $s6, 0x30($sp) -/* 079358 80078758 8FB5002C */ lw $s5, 0x2c($sp) -/* 07935C 8007875C 8FB40028 */ lw $s4, 0x28($sp) -/* 079360 80078760 8FB30024 */ lw $s3, 0x24($sp) -/* 079364 80078764 8FB20020 */ lw $s2, 0x20($sp) -/* 079368 80078768 8FB1001C */ lw $s1, 0x1c($sp) -/* 07936C 8007876C 8FB00018 */ lw $s0, 0x18($sp) -/* 079370 80078770 03E00008 */ jr $ra -/* 079374 80078774 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/textures_sprites/build_tex_display_list.s b/asm/non_matchings/textures_sprites/build_tex_display_list.s deleted file mode 100644 index 3e233e02..00000000 --- a/asm/non_matchings/textures_sprites/build_tex_display_list.s +++ /dev/null @@ -1,2060 +0,0 @@ -glabel build_tex_display_list -/* 07DCF4 8007D0F4 27BDFD80 */ addiu $sp, $sp, -0x280 -/* 07DCF8 8007D0F8 AFBF001C */ sw $ra, 0x1c($sp) -/* 07DCFC 8007D0FC AFB10018 */ sw $s1, 0x18($sp) -/* 07DD00 8007D100 AFB00014 */ sw $s0, 0x14($sp) -/* 07DD04 8007D104 AFA50284 */ sw $a1, 0x284($sp) -/* 07DD08 8007D108 90830002 */ lbu $v1, 2($a0) -/* 07DD0C 8007D10C AC85000C */ sw $a1, 0xc($a0) -/* 07DD10 8007D110 00037903 */ sra $t7, $v1, 4 -/* 07DD14 8007D114 31F8000F */ andi $t8, $t7, 0xf -/* 07DD18 8007D118 AFB80278 */ sw $t8, 0x278($sp) -/* 07DD1C 8007D11C 00808825 */ move $s1, $a0 -/* 07DD20 8007D120 90900001 */ lbu $s0, 1($a0) -/* 07DD24 8007D124 908D0000 */ lbu $t5, ($a0) -/* 07DD28 8007D128 00A03825 */ move $a3, $a1 -/* 07DD2C 8007D12C 24020001 */ li $v0, 1 -/* 07DD30 8007D130 240A0001 */ li $t2, 1 -/* 07DD34 8007D134 240B0001 */ li $t3, 1 -/* 07DD38 8007D138 24080001 */ li $t0, 1 -/* 07DD3C 8007D13C 24090001 */ li $t1, 1 -/* 07DD40 8007D140 24040007 */ li $a0, 7 -/* 07DD44 8007D144 00003025 */ move $a2, $zero -/* 07DD48 8007D148 306C000F */ andi $t4, $v1, 0xf -.L8007D14C: -/* 07DD4C 8007D14C 004D082A */ slt $at, $v0, $t5 -/* 07DD50 8007D150 10200003 */ beqz $at, .L8007D160 -/* 07DD54 8007D154 00027840 */ sll $t7, $v0, 1 -/* 07DD58 8007D158 10000004 */ b .L8007D16C -/* 07DD5C 8007D15C 24CA0001 */ addiu $t2, $a2, 1 -.L8007D160: -/* 07DD60 8007D160 144D0003 */ bne $v0, $t5, .L8007D170 -/* 07DD64 8007D164 0050082A */ slt $at, $v0, $s0 -/* 07DD68 8007D168 00004025 */ move $t0, $zero -.L8007D16C: -/* 07DD6C 8007D16C 0050082A */ slt $at, $v0, $s0 -.L8007D170: -/* 07DD70 8007D170 10200003 */ beqz $at, .L8007D180 -/* 07DD74 8007D174 24C30001 */ addiu $v1, $a2, 1 -/* 07DD78 8007D178 10000004 */ b .L8007D18C -/* 07DD7C 8007D17C 00605825 */ move $t3, $v1 -.L8007D180: -/* 07DD80 8007D180 14500003 */ bne $v0, $s0, .L8007D190 -/* 07DD84 8007D184 00603025 */ move $a2, $v1 -/* 07DD88 8007D188 00004825 */ move $t1, $zero -.L8007D18C: -/* 07DD8C 8007D18C 00603025 */ move $a2, $v1 -.L8007D190: -/* 07DD90 8007D190 1464FFEE */ bne $v1, $a0, .L8007D14C -/* 07DD94 8007D194 01E01025 */ move $v0, $t7 -/* 07DD98 8007D198 15000006 */ bnez $t0, .L8007D1B4 -/* 07DD9C 8007D19C 24190002 */ li $t9, 2 -/* 07DDA0 8007D1A0 86220006 */ lh $v0, 6($s1) -/* 07DDA4 8007D1A4 00000000 */ nop -/* 07DDA8 8007D1A8 30580040 */ andi $t8, $v0, 0x40 -/* 07DDAC 8007D1AC 13000005 */ beqz $t8, .L8007D1C4 -/* 07DDB0 8007D1B0 00000000 */ nop -.L8007D1B4: -/* 07DDB4 8007D1B4 AFB9026C */ sw $t9, 0x26c($sp) -/* 07DDB8 8007D1B8 86220006 */ lh $v0, 6($s1) -/* 07DDBC 8007D1BC 10000002 */ b .L8007D1C8 -/* 07DDC0 8007D1C0 00005025 */ move $t2, $zero -.L8007D1C4: -/* 07DDC4 8007D1C4 AFA0026C */ sw $zero, 0x26c($sp) -.L8007D1C8: -/* 07DDC8 8007D1C8 15200003 */ bnez $t1, .L8007D1D8 -/* 07DDCC 8007D1CC 30580400 */ andi $t8, $v0, 0x400 -/* 07DDD0 8007D1D0 304E0080 */ andi $t6, $v0, 0x80 -/* 07DDD4 8007D1D4 11C00004 */ beqz $t6, .L8007D1E8 -.L8007D1D8: -/* 07DDD8 8007D1D8 240F0002 */ li $t7, 2 -/* 07DDDC 8007D1DC AFAF0268 */ sw $t7, 0x268($sp) -/* 07DDE0 8007D1E0 10000002 */ b .L8007D1EC -/* 07DDE4 8007D1E4 00005825 */ move $t3, $zero -.L8007D1E8: -/* 07DDE8 8007D1E8 AFA00268 */ sw $zero, 0x268($sp) -.L8007D1EC: -/* 07DDEC 8007D1EC 17000417 */ bnez $t8, .L8007E24C -/* 07DDF0 8007D1F0 00000000 */ nop -/* 07DDF4 8007D1F4 AFAA0264 */ sw $t2, 0x264($sp) -/* 07DDF8 8007D1F8 AFAB0260 */ sw $t3, 0x260($sp) -/* 07DDFC 8007D1FC 1580007B */ bnez $t4, .L8007D3EC -/* 07DE00 8007D200 AFAC027C */ sw $t4, 0x27c($sp) -/* 07DE04 8007D204 8FAA0284 */ lw $t2, 0x284($sp) -/* 07DE08 8007D208 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07DE0C 8007D20C 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07DE10 8007D210 02217021 */ addu $t6, $s1, $at -/* 07DE14 8007D214 3C19FD18 */ lui $t9, 0xfd18 -/* 07DE18 8007D218 25470008 */ addiu $a3, $t2, 8 -/* 07DE1C 8007D21C 00E04025 */ move $t0, $a3 -/* 07DE20 8007D220 3C0FF518 */ lui $t7, 0xf518 -/* 07DE24 8007D224 AD590000 */ sw $t9, ($t2) -/* 07DE28 8007D228 AD4E0004 */ sw $t6, 4($t2) -/* 07DE2C 8007D22C 01B00019 */ multu $t5, $s0 -/* 07DE30 8007D230 AD0F0000 */ sw $t7, ($t0) -/* 07DE34 8007D234 8FA20268 */ lw $v0, 0x268($sp) -/* 07DE38 8007D238 8FA5026C */ lw $a1, 0x26c($sp) -/* 07DE3C 8007D23C 8FA30260 */ lw $v1, 0x260($sp) -/* 07DE40 8007D240 30580003 */ andi $t8, $v0, 3 -/* 07DE44 8007D244 00181480 */ sll $v0, $t8, 0x12 -/* 07DE48 8007D248 8FA60264 */ lw $a2, 0x264($sp) -/* 07DE4C 8007D24C 30B80003 */ andi $t8, $a1, 3 -/* 07DE50 8007D250 306E000F */ andi $t6, $v1, 0xf -/* 07DE54 8007D254 000E1B80 */ sll $v1, $t6, 0xe -/* 07DE58 8007D258 00182A00 */ sll $a1, $t8, 8 -/* 07DE5C 8007D25C 3C010700 */ lui $at, 0x700 -/* 07DE60 8007D260 0041C025 */ or $t8, $v0, $at -/* 07DE64 8007D264 30CE000F */ andi $t6, $a2, 0xf -/* 07DE68 8007D268 000E3100 */ sll $a2, $t6, 4 -/* 07DE6C 8007D26C 0303C825 */ or $t9, $t8, $v1 -/* 07DE70 8007D270 03257025 */ or $t6, $t9, $a1 -/* 07DE74 8007D274 01C67825 */ or $t7, $t6, $a2 -/* 07DE78 8007D278 24E70008 */ addiu $a3, $a3, 8 -/* 07DE7C 8007D27C 00E04825 */ move $t1, $a3 -/* 07DE80 8007D280 AD0F0004 */ sw $t7, 4($t0) -/* 07DE84 8007D284 00004012 */ mflo $t0 -/* 07DE88 8007D288 2508FFFF */ addiu $t0, $t0, -1 -/* 07DE8C 8007D28C 24E70008 */ addiu $a3, $a3, 8 -/* 07DE90 8007D290 3C18E600 */ lui $t8, 0xe600 -/* 07DE94 8007D294 AD380000 */ sw $t8, ($t1) -/* 07DE98 8007D298 00E06025 */ move $t4, $a3 -/* 07DE9C 8007D29C 290107FF */ slti $at, $t0, 0x7ff -/* 07DEA0 8007D2A0 AD200004 */ sw $zero, 4($t1) -/* 07DEA4 8007D2A4 3C19F300 */ lui $t9, 0xf300 -/* 07DEA8 8007D2A8 AD990000 */ sw $t9, ($t4) -/* 07DEAC 8007D2AC 10200003 */ beqz $at, .L8007D2BC -/* 07DEB0 8007D2B0 24E70008 */ addiu $a3, $a3, 8 -/* 07DEB4 8007D2B4 10000002 */ b .L8007D2C0 -/* 07DEB8 8007D2B8 0100F825 */ move $ra, $t0 -.L8007D2BC: -/* 07DEBC 8007D2BC 241F07FF */ li $ra, 2047 -.L8007D2C0: -/* 07DEC0 8007D2C0 000D4080 */ sll $t0, $t5, 2 -/* 07DEC4 8007D2C4 05010003 */ bgez $t0, .L8007D2D4 -/* 07DEC8 8007D2C8 000870C3 */ sra $t6, $t0, 3 -/* 07DECC 8007D2CC 25010007 */ addiu $at, $t0, 7 -/* 07DED0 8007D2D0 000170C3 */ sra $t6, $at, 3 -.L8007D2D4: -/* 07DED4 8007D2D4 1DC00003 */ bgtz $t6, .L8007D2E4 -/* 07DED8 8007D2D8 01C04025 */ move $t0, $t6 -/* 07DEDC 8007D2DC 10000002 */ b .L8007D2E8 -/* 07DEE0 8007D2E0 240A0001 */ li $t2, 1 -.L8007D2E4: -/* 07DEE4 8007D2E4 01005025 */ move $t2, $t0 -.L8007D2E8: -/* 07DEE8 8007D2E8 1D000003 */ bgtz $t0, .L8007D2F8 -/* 07DEEC 8007D2EC 254F07FF */ addiu $t7, $t2, 0x7ff -/* 07DEF0 8007D2F0 10000002 */ b .L8007D2FC -/* 07DEF4 8007D2F4 24040001 */ li $a0, 1 -.L8007D2F8: -/* 07DEF8 8007D2F8 01002025 */ move $a0, $t0 -.L8007D2FC: -/* 07DEFC 8007D2FC 01E4001A */ div $zero, $t7, $a0 -/* 07DF00 8007D300 00E04025 */ move $t0, $a3 -/* 07DF04 8007D304 14800002 */ bnez $a0, .L8007D310 -/* 07DF08 8007D308 00000000 */ nop -/* 07DF0C 8007D30C 0007000D */ break 7 -.L8007D310: -/* 07DF10 8007D310 2401FFFF */ li $at, -1 -/* 07DF14 8007D314 14810004 */ bne $a0, $at, .L8007D328 -/* 07DF18 8007D318 3C018000 */ lui $at, 0x8000 -/* 07DF1C 8007D31C 15E10002 */ bne $t7, $at, .L8007D328 -/* 07DF20 8007D320 00000000 */ nop -/* 07DF24 8007D324 0006000D */ break 6 -.L8007D328: -/* 07DF28 8007D328 3C010700 */ lui $at, 0x700 -/* 07DF2C 8007D32C 33EF0FFF */ andi $t7, $ra, 0xfff -/* 07DF30 8007D330 24E70008 */ addiu $a3, $a3, 8 -/* 07DF34 8007D334 00E04825 */ move $t1, $a3 -/* 07DF38 8007D338 24E70008 */ addiu $a3, $a3, 8 -/* 07DF3C 8007D33C 00E05825 */ move $t3, $a3 -/* 07DF40 8007D340 24E70008 */ addiu $a3, $a3, 8 -/* 07DF44 8007D344 0000C012 */ mflo $t8 -/* 07DF48 8007D348 33190FFF */ andi $t9, $t8, 0xfff -/* 07DF4C 8007D34C 03217025 */ or $t6, $t9, $at -/* 07DF50 8007D350 000FC300 */ sll $t8, $t7, 0xc -/* 07DF54 8007D354 01D8C825 */ or $t9, $t6, $t8 -/* 07DF58 8007D358 AD990004 */ sw $t9, 4($t4) -/* 07DF5C 8007D35C 000D7040 */ sll $t6, $t5, 1 -/* 07DF60 8007D360 25D80007 */ addiu $t8, $t6, 7 -/* 07DF64 8007D364 3C0FE700 */ lui $t7, 0xe700 -/* 07DF68 8007D368 AD0F0000 */ sw $t7, ($t0) -/* 07DF6C 8007D36C 0018C8C3 */ sra $t9, $t8, 3 -/* 07DF70 8007D370 332F01FF */ andi $t7, $t9, 0x1ff -/* 07DF74 8007D374 000F7240 */ sll $t6, $t7, 9 -/* 07DF78 8007D378 0043C825 */ or $t9, $v0, $v1 -/* 07DF7C 8007D37C 3C01F518 */ lui $at, 0xf518 -/* 07DF80 8007D380 01C1C025 */ or $t8, $t6, $at -/* 07DF84 8007D384 03257825 */ or $t7, $t9, $a1 -/* 07DF88 8007D388 01E67025 */ or $t6, $t7, $a2 -/* 07DF8C 8007D38C AD000004 */ sw $zero, 4($t0) -/* 07DF90 8007D390 25B9FFFF */ addiu $t9, $t5, -1 -/* 07DF94 8007D394 00197880 */ sll $t7, $t9, 2 -/* 07DF98 8007D398 AD2E0004 */ sw $t6, 4($t1) -/* 07DF9C 8007D39C AD380000 */ sw $t8, ($t1) -/* 07DFA0 8007D3A0 3C18F200 */ lui $t8, 0xf200 -/* 07DFA4 8007D3A4 31EE0FFF */ andi $t6, $t7, 0xfff -/* 07DFA8 8007D3A8 AD780000 */ sw $t8, ($t3) -/* 07DFAC 8007D3AC 2619FFFF */ addiu $t9, $s0, -1 -/* 07DFB0 8007D3B0 00197880 */ sll $t7, $t9, 2 -/* 07DFB4 8007D3B4 000EC300 */ sll $t8, $t6, 0xc -/* 07DFB8 8007D3B8 31EE0FFF */ andi $t6, $t7, 0xfff -/* 07DFBC 8007D3BC 030EC825 */ or $t9, $t8, $t6 -/* 07DFC0 8007D3C0 AD790004 */ sw $t9, 4($t3) -/* 07DFC4 8007D3C4 8FAF0278 */ lw $t7, 0x278($sp) -/* 07DFC8 8007D3C8 24010002 */ li $at, 2 -/* 07DFCC 8007D3CC 11E00003 */ beqz $t7, .L8007D3DC -/* 07DFD0 8007D3D0 00000000 */ nop -/* 07DFD4 8007D3D4 15E10006 */ bne $t7, $at, .L8007D3F0 -/* 07DFD8 8007D3D8 8FB9027C */ lw $t9, 0x27c($sp) -.L8007D3DC: -/* 07DFDC 8007D3DC 86380006 */ lh $t8, 6($s1) -/* 07DFE0 8007D3E0 00000000 */ nop -/* 07DFE4 8007D3E4 370E0004 */ ori $t6, $t8, 4 -/* 07DFE8 8007D3E8 A62E0006 */ sh $t6, 6($s1) -.L8007D3EC: -/* 07DFEC 8007D3EC 8FB9027C */ lw $t9, 0x27c($sp) -.L8007D3F0: -/* 07DFF0 8007D3F0 24010001 */ li $at, 1 -/* 07DFF4 8007D3F4 17210080 */ bne $t9, $at, .L8007D5F8 -/* 07DFF8 8007D3F8 00E02025 */ move $a0, $a3 -/* 07DFFC 8007D3FC 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07E000 8007D400 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07E004 8007D404 0221C021 */ addu $t8, $s1, $at -/* 07E008 8007D408 AC980004 */ sw $t8, 4($a0) -/* 07E00C 8007D40C 24E70008 */ addiu $a3, $a3, 8 -/* 07E010 8007D410 3C0FFD10 */ lui $t7, 0xfd10 -/* 07E014 8007D414 AC8F0000 */ sw $t7, ($a0) -/* 07E018 8007D418 00E04825 */ move $t1, $a3 -/* 07E01C 8007D41C 3C0EF510 */ lui $t6, 0xf510 -/* 07E020 8007D420 AD2E0000 */ sw $t6, ($t1) -/* 07E024 8007D424 8FA20268 */ lw $v0, 0x268($sp) -/* 07E028 8007D428 8FA30260 */ lw $v1, 0x260($sp) -/* 07E02C 8007D42C 8FA5026C */ lw $a1, 0x26c($sp) -/* 07E030 8007D430 30590003 */ andi $t9, $v0, 3 -/* 07E034 8007D434 8FA60264 */ lw $a2, 0x264($sp) -/* 07E038 8007D438 00191480 */ sll $v0, $t9, 0x12 -/* 07E03C 8007D43C 3078000F */ andi $t8, $v1, 0xf -/* 07E040 8007D440 00181B80 */ sll $v1, $t8, 0xe -/* 07E044 8007D444 30B90003 */ andi $t9, $a1, 3 -/* 07E048 8007D448 00192A00 */ sll $a1, $t9, 8 -/* 07E04C 8007D44C 3C010700 */ lui $at, 0x700 -/* 07E050 8007D450 30D8000F */ andi $t8, $a2, 0xf -/* 07E054 8007D454 00187100 */ sll $t6, $t8, 4 -/* 07E058 8007D458 0041C825 */ or $t9, $v0, $at -/* 07E05C 8007D45C 03237825 */ or $t7, $t9, $v1 -/* 07E060 8007D460 01E5C025 */ or $t8, $t7, $a1 -/* 07E064 8007D464 01C03025 */ move $a2, $t6 -/* 07E068 8007D468 01B00019 */ multu $t5, $s0 -/* 07E06C 8007D46C 030E7025 */ or $t6, $t8, $t6 -/* 07E070 8007D470 24E70008 */ addiu $a3, $a3, 8 -/* 07E074 8007D474 00E05025 */ move $t2, $a3 -/* 07E078 8007D478 AD2E0004 */ sw $t6, 4($t1) -/* 07E07C 8007D47C 3C19E600 */ lui $t9, 0xe600 -/* 07E080 8007D480 000D6040 */ sll $t4, $t5, 1 -/* 07E084 8007D484 25980007 */ addiu $t8, $t4, 7 -/* 07E088 8007D488 AD590000 */ sw $t9, ($t2) -/* 07E08C 8007D48C 24E70008 */ addiu $a3, $a3, 8 -/* 07E090 8007D490 00E05825 */ move $t3, $a3 -/* 07E094 8007D494 001870C3 */ sra $t6, $t8, 3 -/* 07E098 8007D498 AD400004 */ sw $zero, 4($t2) -/* 07E09C 8007D49C 3C0FF300 */ lui $t7, 0xf300 -/* 07E0A0 8007D4A0 AD6F0000 */ sw $t7, ($t3) -/* 07E0A4 8007D4A4 31D901FF */ andi $t9, $t6, 0x1ff -/* 07E0A8 8007D4A8 00197A40 */ sll $t7, $t9, 9 -/* 07E0AC 8007D4AC 0043C025 */ or $t8, $v0, $v1 -/* 07E0B0 8007D4B0 03057025 */ or $t6, $t8, $a1 -/* 07E0B4 8007D4B4 AFAF0030 */ sw $t7, 0x30($sp) -/* 07E0B8 8007D4B8 25AFFFFF */ addiu $t7, $t5, -1 -/* 07E0BC 8007D4BC 000FC080 */ sll $t8, $t7, 2 -/* 07E0C0 8007D4C0 01C6C825 */ or $t9, $t6, $a2 -/* 07E0C4 8007D4C4 330E0FFF */ andi $t6, $t8, 0xfff -/* 07E0C8 8007D4C8 AFB9002C */ sw $t9, 0x2c($sp) -/* 07E0CC 8007D4CC 260FFFFF */ addiu $t7, $s0, -1 -/* 07E0D0 8007D4D0 000FC080 */ sll $t8, $t7, 2 -/* 07E0D4 8007D4D4 000ECB00 */ sll $t9, $t6, 0xc -/* 07E0D8 8007D4D8 00004012 */ mflo $t0 -/* 07E0DC 8007D4DC 2508FFFF */ addiu $t0, $t0, -1 -/* 07E0E0 8007D4E0 330E0FFF */ andi $t6, $t8, 0xfff -/* 07E0E4 8007D4E4 032E7825 */ or $t7, $t9, $t6 -/* 07E0E8 8007D4E8 290107FF */ slti $at, $t0, 0x7ff -/* 07E0EC 8007D4EC AFAF0028 */ sw $t7, 0x28($sp) -/* 07E0F0 8007D4F0 AFAB021C */ sw $t3, 0x21c($sp) -/* 07E0F4 8007D4F4 10200003 */ beqz $at, .L8007D504 -/* 07E0F8 8007D4F8 24E70008 */ addiu $a3, $a3, 8 -/* 07E0FC 8007D4FC 10000002 */ b .L8007D508 -/* 07E100 8007D500 0100F825 */ move $ra, $t0 -.L8007D504: -/* 07E104 8007D504 241F07FF */ li $ra, 2047 -.L8007D508: -/* 07E108 8007D508 05810003 */ bgez $t4, .L8007D518 -/* 07E10C 8007D50C 000C58C3 */ sra $t3, $t4, 3 -/* 07E110 8007D510 25810007 */ addiu $at, $t4, 7 -/* 07E114 8007D514 000158C3 */ sra $t3, $at, 3 -.L8007D518: -/* 07E118 8007D518 1D600003 */ bgtz $t3, .L8007D528 -/* 07E11C 8007D51C 01605025 */ move $t2, $t3 -/* 07E120 8007D520 10000001 */ b .L8007D528 -/* 07E124 8007D524 240A0001 */ li $t2, 1 -.L8007D528: -/* 07E128 8007D528 1D600003 */ bgtz $t3, .L8007D538 -/* 07E12C 8007D52C 255807FF */ addiu $t8, $t2, 0x7ff -/* 07E130 8007D530 10000002 */ b .L8007D53C -/* 07E134 8007D534 24040001 */ li $a0, 1 -.L8007D538: -/* 07E138 8007D538 01602025 */ move $a0, $t3 -.L8007D53C: -/* 07E13C 8007D53C 0304001A */ div $zero, $t8, $a0 -/* 07E140 8007D540 00E01025 */ move $v0, $a3 -/* 07E144 8007D544 14800002 */ bnez $a0, .L8007D550 -/* 07E148 8007D548 00000000 */ nop -/* 07E14C 8007D54C 0007000D */ break 7 -.L8007D550: -/* 07E150 8007D550 2401FFFF */ li $at, -1 -/* 07E154 8007D554 14810004 */ bne $a0, $at, .L8007D568 -/* 07E158 8007D558 3C018000 */ lui $at, 0x8000 -/* 07E15C 8007D55C 17010002 */ bne $t8, $at, .L8007D568 -/* 07E160 8007D560 00000000 */ nop -/* 07E164 8007D564 0006000D */ break 6 -.L8007D568: -/* 07E168 8007D568 33F80FFF */ andi $t8, $ra, 0xfff -/* 07E16C 8007D56C 3C010700 */ lui $at, 0x700 -/* 07E170 8007D570 24E70008 */ addiu $a3, $a3, 8 -/* 07E174 8007D574 00E01825 */ move $v1, $a3 -/* 07E178 8007D578 24E70008 */ addiu $a3, $a3, 8 -/* 07E17C 8007D57C 00E02825 */ move $a1, $a3 -/* 07E180 8007D580 24E70008 */ addiu $a3, $a3, 8 -/* 07E184 8007D584 0000C812 */ mflo $t9 -/* 07E188 8007D588 332E0FFF */ andi $t6, $t9, 0xfff -/* 07E18C 8007D58C 0018CB00 */ sll $t9, $t8, 0xc -/* 07E190 8007D590 8FB8021C */ lw $t8, 0x21c($sp) -/* 07E194 8007D594 01C17825 */ or $t7, $t6, $at -/* 07E198 8007D598 01F97025 */ or $t6, $t7, $t9 -/* 07E19C 8007D59C AF0E0004 */ sw $t6, 4($t8) -/* 07E1A0 8007D5A0 3C0FE700 */ lui $t7, 0xe700 -/* 07E1A4 8007D5A4 AC4F0000 */ sw $t7, ($v0) -/* 07E1A8 8007D5A8 AC400004 */ sw $zero, 4($v0) -/* 07E1AC 8007D5AC 8FB90030 */ lw $t9, 0x30($sp) -/* 07E1B0 8007D5B0 3C01F510 */ lui $at, 0xf510 -/* 07E1B4 8007D5B4 03217025 */ or $t6, $t9, $at -/* 07E1B8 8007D5B8 AC6E0000 */ sw $t6, ($v1) -/* 07E1BC 8007D5BC 8FB8002C */ lw $t8, 0x2c($sp) -/* 07E1C0 8007D5C0 3C0FF200 */ lui $t7, 0xf200 -/* 07E1C4 8007D5C4 AC780004 */ sw $t8, 4($v1) -/* 07E1C8 8007D5C8 ACAF0000 */ sw $t7, ($a1) -/* 07E1CC 8007D5CC 8FB90028 */ lw $t9, 0x28($sp) -/* 07E1D0 8007D5D0 8FA20278 */ lw $v0, 0x278($sp) -/* 07E1D4 8007D5D4 24010002 */ li $at, 2 -/* 07E1D8 8007D5D8 10400003 */ beqz $v0, .L8007D5E8 -/* 07E1DC 8007D5DC ACB90004 */ sw $t9, 4($a1) -/* 07E1E0 8007D5E0 14410006 */ bne $v0, $at, .L8007D5FC -/* 07E1E4 8007D5E4 8FAF027C */ lw $t7, 0x27c($sp) -.L8007D5E8: -/* 07E1E8 8007D5E8 862E0006 */ lh $t6, 6($s1) -/* 07E1EC 8007D5EC 00000000 */ nop -/* 07E1F0 8007D5F0 35D80004 */ ori $t8, $t6, 4 -/* 07E1F4 8007D5F4 A6380006 */ sh $t8, 6($s1) -.L8007D5F8: -/* 07E1F8 8007D5F8 8FAF027C */ lw $t7, 0x27c($sp) -.L8007D5FC: -/* 07E1FC 8007D5FC 24010007 */ li $at, 7 -/* 07E200 8007D600 15E100A8 */ bne $t7, $at, .L8007D8A4 -/* 07E204 8007D604 8FAE027C */ lw $t6, 0x27c($sp) -/* 07E208 8007D608 8FA20268 */ lw $v0, 0x268($sp) -/* 07E20C 8007D60C 8FA30260 */ lw $v1, 0x260($sp) -/* 07E210 8007D610 8FA5026C */ lw $a1, 0x26c($sp) -/* 07E214 8007D614 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07E218 8007D618 304E0003 */ andi $t6, $v0, 3 -/* 07E21C 8007D61C 000E1480 */ sll $v0, $t6, 0x12 -/* 07E220 8007D620 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07E224 8007D624 8FA60264 */ lw $a2, 0x264($sp) -/* 07E228 8007D628 0221C821 */ addu $t9, $s1, $at -/* 07E22C 8007D62C 306F000F */ andi $t7, $v1, 0xf -/* 07E230 8007D630 30AE0003 */ andi $t6, $a1, 3 -/* 07E234 8007D634 01B00019 */ multu $t5, $s0 -/* 07E238 8007D638 000E2A00 */ sll $a1, $t6, 8 -/* 07E23C 8007D63C 000F1B80 */ sll $v1, $t7, 0xe -/* 07E240 8007D640 3C010700 */ lui $at, 0x700 -/* 07E244 8007D644 00417025 */ or $t6, $v0, $at -/* 07E248 8007D648 30CF000F */ andi $t7, $a2, 0xf -/* 07E24C 8007D64C 000F3100 */ sll $a2, $t7, 4 -/* 07E250 8007D650 01C3C025 */ or $t8, $t6, $v1 -/* 07E254 8007D654 86240008 */ lh $a0, 8($s1) -/* 07E258 8007D658 AFB90048 */ sw $t9, 0x48($sp) -/* 07E25C 8007D65C 03057825 */ or $t7, $t8, $a1 -/* 07E260 8007D660 01E6C825 */ or $t9, $t7, $a2 -/* 07E264 8007D664 00437025 */ or $t6, $v0, $v1 -/* 07E268 8007D668 01C5C025 */ or $t8, $t6, $a1 -/* 07E26C 8007D66C AFB90034 */ sw $t9, 0x34($sp) -/* 07E270 8007D670 25B9FFFF */ addiu $t9, $t5, -1 -/* 07E274 8007D674 00197080 */ sll $t6, $t9, 2 -/* 07E278 8007D678 03067825 */ or $t7, $t8, $a2 -/* 07E27C 8007D67C 31D80FFF */ andi $t8, $t6, 0xfff -/* 07E280 8007D680 AFAF002C */ sw $t7, 0x2c($sp) -/* 07E284 8007D684 2619FFFF */ addiu $t9, $s0, -1 -/* 07E288 8007D688 00197080 */ sll $t6, $t9, 2 -/* 07E28C 8007D68C 00187B00 */ sll $t7, $t8, 0xc -/* 07E290 8007D690 31D80FFF */ andi $t8, $t6, 0xfff -/* 07E294 8007D694 01F8C825 */ or $t9, $t7, $t8 -/* 07E298 8007D698 00005012 */ mflo $t2 -/* 07E29C 8007D69C AFAA0030 */ sw $t2, 0x30($sp) -/* 07E2A0 8007D6A0 AFB90028 */ sw $t9, 0x28($sp) -/* 07E2A4 8007D6A4 AFAD0274 */ sw $t5, 0x274($sp) -/* 07E2A8 8007D6A8 0C01FBD9 */ jal func_8007EF64 -/* 07E2AC 8007D6AC AFA70248 */ sw $a3, 0x248($sp) -/* 07E2B0 8007D6B0 8FA70248 */ lw $a3, 0x248($sp) -/* 07E2B4 8007D6B4 8FAA0030 */ lw $t2, 0x30($sp) -/* 07E2B8 8007D6B8 8FAD0274 */ lw $t5, 0x274($sp) -/* 07E2BC 8007D6BC 3C0EFD50 */ lui $t6, 0xfd50 -/* 07E2C0 8007D6C0 00E01825 */ move $v1, $a3 -/* 07E2C4 8007D6C4 AC6E0000 */ sw $t6, ($v1) -/* 07E2C8 8007D6C8 8FAF0048 */ lw $t7, 0x48($sp) -/* 07E2CC 8007D6CC 24E70008 */ addiu $a3, $a3, 8 -/* 07E2D0 8007D6D0 00E02025 */ move $a0, $a3 -/* 07E2D4 8007D6D4 3C18F550 */ lui $t8, 0xf550 -/* 07E2D8 8007D6D8 AC6F0004 */ sw $t7, 4($v1) -/* 07E2DC 8007D6DC AC980000 */ sw $t8, ($a0) -/* 07E2E0 8007D6E0 8FB90034 */ lw $t9, 0x34($sp) -/* 07E2E4 8007D6E4 24E70008 */ addiu $a3, $a3, 8 -/* 07E2E8 8007D6E8 00E02825 */ move $a1, $a3 -/* 07E2EC 8007D6EC 25480003 */ addiu $t0, $t2, 3 -/* 07E2F0 8007D6F0 0008C083 */ sra $t8, $t0, 2 -/* 07E2F4 8007D6F4 AC990004 */ sw $t9, 4($a0) -/* 07E2F8 8007D6F8 2708FFFF */ addiu $t0, $t8, -1 -/* 07E2FC 8007D6FC 24E70008 */ addiu $a3, $a3, 8 -/* 07E300 8007D700 3C0EE600 */ lui $t6, 0xe600 -/* 07E304 8007D704 ACAE0000 */ sw $t6, ($a1) -/* 07E308 8007D708 00E03025 */ move $a2, $a3 -/* 07E30C 8007D70C 290107FF */ slti $at, $t0, 0x7ff -/* 07E310 8007D710 ACA00004 */ sw $zero, 4($a1) -/* 07E314 8007D714 3C0FF300 */ lui $t7, 0xf300 -/* 07E318 8007D718 ACCF0000 */ sw $t7, ($a2) -/* 07E31C 8007D71C 10200003 */ beqz $at, .L8007D72C -/* 07E320 8007D720 24E70008 */ addiu $a3, $a3, 8 -/* 07E324 8007D724 10000002 */ b .L8007D730 -/* 07E328 8007D728 01002025 */ move $a0, $t0 -.L8007D72C: -/* 07E32C 8007D72C 240407FF */ li $a0, 2047 -.L8007D730: -/* 07E330 8007D730 05A10003 */ bgez $t5, .L8007D740 -/* 07E334 8007D734 000D4903 */ sra $t1, $t5, 4 -/* 07E338 8007D738 25A1000F */ addiu $at, $t5, 0xf -/* 07E33C 8007D73C 00014903 */ sra $t1, $at, 4 -.L8007D740: -/* 07E340 8007D740 253807FF */ addiu $t8, $t1, 0x7ff -/* 07E344 8007D744 0309001A */ div $zero, $t8, $t1 -/* 07E348 8007D748 30990FFF */ andi $t9, $a0, 0xfff -/* 07E34C 8007D74C 00197300 */ sll $t6, $t9, 0xc -/* 07E350 8007D750 3C010700 */ lui $at, 0x700 -/* 07E354 8007D754 01C17825 */ or $t7, $t6, $at -/* 07E358 8007D758 15200002 */ bnez $t1, .L8007D764 -/* 07E35C 8007D75C 00000000 */ nop -/* 07E360 8007D760 0007000D */ break 7 -.L8007D764: -/* 07E364 8007D764 2401FFFF */ li $at, -1 -/* 07E368 8007D768 15210004 */ bne $t1, $at, .L8007D77C -/* 07E36C 8007D76C 3C018000 */ lui $at, 0x8000 -/* 07E370 8007D770 17010002 */ bne $t8, $at, .L8007D77C -/* 07E374 8007D774 00000000 */ nop -/* 07E378 8007D778 0006000D */ break 6 -.L8007D77C: -/* 07E37C 8007D77C 00E01825 */ move $v1, $a3 -/* 07E380 8007D780 24E70008 */ addiu $a3, $a3, 8 -/* 07E384 8007D784 3C01F540 */ lui $at, 0xf540 -/* 07E388 8007D788 00E02825 */ move $a1, $a3 -/* 07E38C 8007D78C 24E70008 */ addiu $a3, $a3, 8 -/* 07E390 8007D790 00E04025 */ move $t0, $a3 -/* 07E394 8007D794 24E70008 */ addiu $a3, $a3, 8 -/* 07E398 8007D798 0000C812 */ mflo $t9 -/* 07E39C 8007D79C 332E0FFF */ andi $t6, $t9, 0xfff -/* 07E3A0 8007D7A0 01EEC025 */ or $t8, $t7, $t6 -/* 07E3A4 8007D7A4 ACD80004 */ sw $t8, 4($a2) -/* 07E3A8 8007D7A8 000D7843 */ sra $t7, $t5, 1 -/* 07E3AC 8007D7AC 25EE0007 */ addiu $t6, $t7, 7 -/* 07E3B0 8007D7B0 3C19E700 */ lui $t9, 0xe700 -/* 07E3B4 8007D7B4 AC790000 */ sw $t9, ($v1) -/* 07E3B8 8007D7B8 000EC0C3 */ sra $t8, $t6, 3 -/* 07E3BC 8007D7BC 331901FF */ andi $t9, $t8, 0x1ff -/* 07E3C0 8007D7C0 00197A40 */ sll $t7, $t9, 9 -/* 07E3C4 8007D7C4 01E17025 */ or $t6, $t7, $at -/* 07E3C8 8007D7C8 AC600004 */ sw $zero, 4($v1) -/* 07E3CC 8007D7CC ACAE0000 */ sw $t6, ($a1) -/* 07E3D0 8007D7D0 8FB8002C */ lw $t8, 0x2c($sp) -/* 07E3D4 8007D7D4 3C19F200 */ lui $t9, 0xf200 -/* 07E3D8 8007D7D8 ACB80004 */ sw $t8, 4($a1) -/* 07E3DC 8007D7DC AD190000 */ sw $t9, ($t0) -/* 07E3E0 8007D7E0 8FAF0028 */ lw $t7, 0x28($sp) -/* 07E3E4 8007D7E4 00E01825 */ move $v1, $a3 -/* 07E3E8 8007D7E8 AD0F0004 */ sw $t7, 4($t0) -/* 07E3EC 8007D7EC 24E70008 */ addiu $a3, $a3, 8 -/* 07E3F0 8007D7F0 3C0EFD10 */ lui $t6, 0xfd10 -/* 07E3F4 8007D7F4 AC6E0000 */ sw $t6, ($v1) -/* 07E3F8 8007D7F8 00E02025 */ move $a0, $a3 -/* 07E3FC 8007D7FC AC620004 */ sw $v0, 4($v1) -/* 07E400 8007D800 24E70008 */ addiu $a3, $a3, 8 -/* 07E404 8007D804 00E02825 */ move $a1, $a3 -/* 07E408 8007D808 3C18E800 */ lui $t8, 0xe800 -/* 07E40C 8007D80C AC980000 */ sw $t8, ($a0) -/* 07E410 8007D810 AC800004 */ sw $zero, 4($a0) -/* 07E414 8007D814 3C19F500 */ lui $t9, (0xF5000100 >> 16) # lui $t9, 0xf500 -/* 07E418 8007D818 37390100 */ ori $t9, (0xF5000100 & 0xFFFF) # ori $t9, $t9, 0x100 -/* 07E41C 8007D81C 24E70008 */ addiu $a3, $a3, 8 -/* 07E420 8007D820 3C0F0700 */ lui $t7, 0x700 -/* 07E424 8007D824 ACAF0004 */ sw $t7, 4($a1) -/* 07E428 8007D828 00E03025 */ move $a2, $a3 -/* 07E42C 8007D82C ACB90000 */ sw $t9, ($a1) -/* 07E430 8007D830 24E70008 */ addiu $a3, $a3, 8 -/* 07E434 8007D834 3C0EE600 */ lui $t6, 0xe600 -/* 07E438 8007D838 ACCE0000 */ sw $t6, ($a2) -/* 07E43C 8007D83C 00E01025 */ move $v0, $a3 -/* 07E440 8007D840 ACC00004 */ sw $zero, 4($a2) -/* 07E444 8007D844 8FA40278 */ lw $a0, 0x278($sp) -/* 07E448 8007D848 3C190703 */ lui $t9, (0x0703C000 >> 16) # lui $t9, 0x703 -/* 07E44C 8007D84C 3739C000 */ ori $t9, (0x0703C000 & 0xFFFF) # ori $t9, $t9, 0xc000 -/* 07E450 8007D850 24E70008 */ addiu $a3, $a3, 8 -/* 07E454 8007D854 3C18F000 */ lui $t8, 0xf000 -/* 07E458 8007D858 AC580000 */ sw $t8, ($v0) -/* 07E45C 8007D85C 00E01825 */ move $v1, $a3 -/* 07E460 8007D860 AC590004 */ sw $t9, 4($v0) -/* 07E464 8007D864 3C0FE700 */ lui $t7, 0xe700 -/* 07E468 8007D868 AC6F0000 */ sw $t7, ($v1) -/* 07E46C 8007D86C AC600004 */ sw $zero, 4($v1) -/* 07E470 8007D870 862E0006 */ lh $t6, 6($s1) -/* 07E474 8007D874 24E70008 */ addiu $a3, $a3, 8 -/* 07E478 8007D878 35D80020 */ ori $t8, $t6, 0x20 -/* 07E47C 8007D87C 10800004 */ beqz $a0, .L8007D890 -/* 07E480 8007D880 A6380006 */ sh $t8, 6($s1) -/* 07E484 8007D884 24010002 */ li $at, 2 -/* 07E488 8007D888 14810006 */ bne $a0, $at, .L8007D8A4 -/* 07E48C 8007D88C 8FAE027C */ lw $t6, 0x27c($sp) -.L8007D890: -/* 07E490 8007D890 86390006 */ lh $t9, 6($s1) -/* 07E494 8007D894 00000000 */ nop -/* 07E498 8007D898 372F0004 */ ori $t7, $t9, 4 -/* 07E49C 8007D89C A62F0006 */ sh $t7, 6($s1) -/* 07E4A0 8007D8A0 8FAE027C */ lw $t6, 0x27c($sp) -.L8007D8A4: -/* 07E4A4 8007D8A4 24010004 */ li $at, 4 -/* 07E4A8 8007D8A8 15C1007C */ bne $t6, $at, .L8007DA9C -/* 07E4AC 8007D8AC 00E02025 */ move $a0, $a3 -/* 07E4B0 8007D8B0 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07E4B4 8007D8B4 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07E4B8 8007D8B8 0221C821 */ addu $t9, $s1, $at -/* 07E4BC 8007D8BC AC990004 */ sw $t9, 4($a0) -/* 07E4C0 8007D8C0 24E70008 */ addiu $a3, $a3, 8 -/* 07E4C4 8007D8C4 3C18FD70 */ lui $t8, 0xfd70 -/* 07E4C8 8007D8C8 AC980000 */ sw $t8, ($a0) -/* 07E4CC 8007D8CC 00E04825 */ move $t1, $a3 -/* 07E4D0 8007D8D0 3C0FF570 */ lui $t7, 0xf570 -/* 07E4D4 8007D8D4 AD2F0000 */ sw $t7, ($t1) -/* 07E4D8 8007D8D8 8FA20268 */ lw $v0, 0x268($sp) -/* 07E4DC 8007D8DC 8FA30260 */ lw $v1, 0x260($sp) -/* 07E4E0 8007D8E0 8FA5026C */ lw $a1, 0x26c($sp) -/* 07E4E4 8007D8E4 304E0003 */ andi $t6, $v0, 3 -/* 07E4E8 8007D8E8 8FA60264 */ lw $a2, 0x264($sp) -/* 07E4EC 8007D8EC 000E1480 */ sll $v0, $t6, 0x12 -/* 07E4F0 8007D8F0 3079000F */ andi $t9, $v1, 0xf -/* 07E4F4 8007D8F4 00191B80 */ sll $v1, $t9, 0xe -/* 07E4F8 8007D8F8 30AE0003 */ andi $t6, $a1, 3 -/* 07E4FC 8007D8FC 000E2A00 */ sll $a1, $t6, 8 -/* 07E500 8007D900 3C010700 */ lui $at, 0x700 -/* 07E504 8007D904 30D9000F */ andi $t9, $a2, 0xf -/* 07E508 8007D908 00197900 */ sll $t7, $t9, 4 -/* 07E50C 8007D90C 00417025 */ or $t6, $v0, $at -/* 07E510 8007D910 01C3C025 */ or $t8, $t6, $v1 -/* 07E514 8007D914 0305C825 */ or $t9, $t8, $a1 -/* 07E518 8007D918 01E03025 */ move $a2, $t7 -/* 07E51C 8007D91C 01B00019 */ multu $t5, $s0 -/* 07E520 8007D920 032F7825 */ or $t7, $t9, $t7 -/* 07E524 8007D924 24E70008 */ addiu $a3, $a3, 8 -/* 07E528 8007D928 00E05025 */ move $t2, $a3 -/* 07E52C 8007D92C AD2F0004 */ sw $t7, 4($t1) -/* 07E530 8007D930 3C0EE600 */ lui $t6, 0xe600 -/* 07E534 8007D934 000D6040 */ sll $t4, $t5, 1 -/* 07E538 8007D938 25990007 */ addiu $t9, $t4, 7 -/* 07E53C 8007D93C AD4E0000 */ sw $t6, ($t2) -/* 07E540 8007D940 24E70008 */ addiu $a3, $a3, 8 -/* 07E544 8007D944 00E0F825 */ move $ra, $a3 -/* 07E548 8007D948 001978C3 */ sra $t7, $t9, 3 -/* 07E54C 8007D94C AD400004 */ sw $zero, 4($t2) -/* 07E550 8007D950 3C18F300 */ lui $t8, 0xf300 -/* 07E554 8007D954 AFF80000 */ sw $t8, ($ra) -/* 07E558 8007D958 31EE01FF */ andi $t6, $t7, 0x1ff -/* 07E55C 8007D95C 000EC240 */ sll $t8, $t6, 9 -/* 07E560 8007D960 0043C825 */ or $t9, $v0, $v1 -/* 07E564 8007D964 03257825 */ or $t7, $t9, $a1 -/* 07E568 8007D968 AFB80030 */ sw $t8, 0x30($sp) -/* 07E56C 8007D96C 25B8FFFF */ addiu $t8, $t5, -1 -/* 07E570 8007D970 0018C880 */ sll $t9, $t8, 2 -/* 07E574 8007D974 01E67025 */ or $t6, $t7, $a2 -/* 07E578 8007D978 332F0FFF */ andi $t7, $t9, 0xfff -/* 07E57C 8007D97C AFAE002C */ sw $t6, 0x2c($sp) -/* 07E580 8007D980 2618FFFF */ addiu $t8, $s0, -1 -/* 07E584 8007D984 0018C880 */ sll $t9, $t8, 2 -/* 07E588 8007D988 000F7300 */ sll $t6, $t7, 0xc -/* 07E58C 8007D98C 00004012 */ mflo $t0 -/* 07E590 8007D990 2508FFFF */ addiu $t0, $t0, -1 -/* 07E594 8007D994 332F0FFF */ andi $t7, $t9, 0xfff -/* 07E598 8007D998 01CFC025 */ or $t8, $t6, $t7 -/* 07E59C 8007D99C AFB80028 */ sw $t8, 0x28($sp) -/* 07E5A0 8007D9A0 AFBF01CC */ sw $ra, 0x1cc($sp) -/* 07E5A4 8007D9A4 24E70008 */ addiu $a3, $a3, 8 -/* 07E5A8 8007D9A8 05810003 */ bgez $t4, .L8007D9B8 -/* 07E5AC 8007D9AC 000C58C3 */ sra $t3, $t4, 3 -/* 07E5B0 8007D9B0 25810007 */ addiu $at, $t4, 7 -/* 07E5B4 8007D9B4 000158C3 */ sra $t3, $at, 3 -.L8007D9B8: -/* 07E5B8 8007D9B8 290107FF */ slti $at, $t0, 0x7ff -/* 07E5BC 8007D9BC 10200003 */ beqz $at, .L8007D9CC -/* 07E5C0 8007D9C0 01605025 */ move $t2, $t3 -/* 07E5C4 8007D9C4 10000002 */ b .L8007D9D0 -/* 07E5C8 8007D9C8 0100F825 */ move $ra, $t0 -.L8007D9CC: -/* 07E5CC 8007D9CC 241F07FF */ li $ra, 2047 -.L8007D9D0: -/* 07E5D0 8007D9D0 1D600003 */ bgtz $t3, .L8007D9E0 -/* 07E5D4 8007D9D4 01602025 */ move $a0, $t3 -/* 07E5D8 8007D9D8 10000001 */ b .L8007D9E0 -/* 07E5DC 8007D9DC 240A0001 */ li $t2, 1 -.L8007D9E0: -/* 07E5E0 8007D9E0 1D600003 */ bgtz $t3, .L8007D9F0 -/* 07E5E4 8007D9E4 255907FF */ addiu $t9, $t2, 0x7ff -/* 07E5E8 8007D9E8 10000001 */ b .L8007D9F0 -/* 07E5EC 8007D9EC 24040001 */ li $a0, 1 -.L8007D9F0: -/* 07E5F0 8007D9F0 0324001A */ div $zero, $t9, $a0 -/* 07E5F4 8007D9F4 00E01025 */ move $v0, $a3 -/* 07E5F8 8007D9F8 14800002 */ bnez $a0, .L8007DA04 -/* 07E5FC 8007D9FC 00000000 */ nop -/* 07E600 8007DA00 0007000D */ break 7 -.L8007DA04: -/* 07E604 8007DA04 2401FFFF */ li $at, -1 -/* 07E608 8007DA08 14810004 */ bne $a0, $at, .L8007DA1C -/* 07E60C 8007DA0C 3C018000 */ lui $at, 0x8000 -/* 07E610 8007DA10 17210002 */ bne $t9, $at, .L8007DA1C -/* 07E614 8007DA14 00000000 */ nop -/* 07E618 8007DA18 0006000D */ break 6 -.L8007DA1C: -/* 07E61C 8007DA1C 33F90FFF */ andi $t9, $ra, 0xfff -/* 07E620 8007DA20 3C010700 */ lui $at, 0x700 -/* 07E624 8007DA24 24E70008 */ addiu $a3, $a3, 8 -/* 07E628 8007DA28 00E01825 */ move $v1, $a3 -/* 07E62C 8007DA2C 24E70008 */ addiu $a3, $a3, 8 -/* 07E630 8007DA30 00E02825 */ move $a1, $a3 -/* 07E634 8007DA34 24E70008 */ addiu $a3, $a3, 8 -/* 07E638 8007DA38 00007012 */ mflo $t6 -/* 07E63C 8007DA3C 31CF0FFF */ andi $t7, $t6, 0xfff -/* 07E640 8007DA40 00197300 */ sll $t6, $t9, 0xc -/* 07E644 8007DA44 8FB901CC */ lw $t9, 0x1cc($sp) -/* 07E648 8007DA48 01E1C025 */ or $t8, $t7, $at -/* 07E64C 8007DA4C 030E7825 */ or $t7, $t8, $t6 -/* 07E650 8007DA50 AF2F0004 */ sw $t7, 4($t9) -/* 07E654 8007DA54 3C18E700 */ lui $t8, 0xe700 -/* 07E658 8007DA58 AC580000 */ sw $t8, ($v0) -/* 07E65C 8007DA5C AC400004 */ sw $zero, 4($v0) -/* 07E660 8007DA60 8FAE0030 */ lw $t6, 0x30($sp) -/* 07E664 8007DA64 3C01F570 */ lui $at, 0xf570 -/* 07E668 8007DA68 01C17825 */ or $t7, $t6, $at -/* 07E66C 8007DA6C AC6F0000 */ sw $t7, ($v1) -/* 07E670 8007DA70 8FB9002C */ lw $t9, 0x2c($sp) -/* 07E674 8007DA74 3C18F200 */ lui $t8, 0xf200 -/* 07E678 8007DA78 AC790004 */ sw $t9, 4($v1) -/* 07E67C 8007DA7C ACB80000 */ sw $t8, ($a1) -/* 07E680 8007DA80 8FAE0028 */ lw $t6, 0x28($sp) -/* 07E684 8007DA84 00000000 */ nop -/* 07E688 8007DA88 ACAE0004 */ sw $t6, 4($a1) -/* 07E68C 8007DA8C 862F0006 */ lh $t7, 6($s1) -/* 07E690 8007DA90 00000000 */ nop -/* 07E694 8007DA94 35F90004 */ ori $t9, $t7, 4 -/* 07E698 8007DA98 A6390006 */ sh $t9, 6($s1) -.L8007DA9C: -/* 07E69C 8007DA9C 8FB8027C */ lw $t8, 0x27c($sp) -/* 07E6A0 8007DAA0 24010005 */ li $at, 5 -/* 07E6A4 8007DAA4 1701007C */ bne $t8, $at, .L8007DC98 -/* 07E6A8 8007DAA8 00E02025 */ move $a0, $a3 -/* 07E6AC 8007DAAC 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07E6B0 8007DAB0 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07E6B4 8007DAB4 02217821 */ addu $t7, $s1, $at -/* 07E6B8 8007DAB8 AC8F0004 */ sw $t7, 4($a0) -/* 07E6BC 8007DABC 24E70008 */ addiu $a3, $a3, 8 -/* 07E6C0 8007DAC0 3C0EFD70 */ lui $t6, 0xfd70 -/* 07E6C4 8007DAC4 AC8E0000 */ sw $t6, ($a0) -/* 07E6C8 8007DAC8 00E04025 */ move $t0, $a3 -/* 07E6CC 8007DACC 3C19F570 */ lui $t9, 0xf570 -/* 07E6D0 8007DAD0 AD190000 */ sw $t9, ($t0) -/* 07E6D4 8007DAD4 8FA20268 */ lw $v0, 0x268($sp) -/* 07E6D8 8007DAD8 8FA30260 */ lw $v1, 0x260($sp) -/* 07E6DC 8007DADC 8FA5026C */ lw $a1, 0x26c($sp) -/* 07E6E0 8007DAE0 30580003 */ andi $t8, $v0, 3 -/* 07E6E4 8007DAE4 8FA60264 */ lw $a2, 0x264($sp) -/* 07E6E8 8007DAE8 00181480 */ sll $v0, $t8, 0x12 -/* 07E6EC 8007DAEC 306F000F */ andi $t7, $v1, 0xf -/* 07E6F0 8007DAF0 000F1B80 */ sll $v1, $t7, 0xe -/* 07E6F4 8007DAF4 30B80003 */ andi $t8, $a1, 3 -/* 07E6F8 8007DAF8 00182A00 */ sll $a1, $t8, 8 -/* 07E6FC 8007DAFC 3C010700 */ lui $at, 0x700 -/* 07E700 8007DB00 30CF000F */ andi $t7, $a2, 0xf -/* 07E704 8007DB04 000FC900 */ sll $t9, $t7, 4 -/* 07E708 8007DB08 0041C025 */ or $t8, $v0, $at -/* 07E70C 8007DB0C 01B00019 */ multu $t5, $s0 -/* 07E710 8007DB10 03037025 */ or $t6, $t8, $v1 -/* 07E714 8007DB14 01C57825 */ or $t7, $t6, $a1 -/* 07E718 8007DB18 03203025 */ move $a2, $t9 -/* 07E71C 8007DB1C 01F9C825 */ or $t9, $t7, $t9 -/* 07E720 8007DB20 24E70008 */ addiu $a3, $a3, 8 -/* 07E724 8007DB24 00E04825 */ move $t1, $a3 -/* 07E728 8007DB28 AD190004 */ sw $t9, 4($t0) -/* 07E72C 8007DB2C 24E70008 */ addiu $a3, $a3, 8 -/* 07E730 8007DB30 3C18E600 */ lui $t8, 0xe600 -/* 07E734 8007DB34 AD380000 */ sw $t8, ($t1) -/* 07E738 8007DB38 00E05825 */ move $t3, $a3 -/* 07E73C 8007DB3C AD200004 */ sw $zero, 4($t1) -/* 07E740 8007DB40 00437825 */ or $t7, $v0, $v1 -/* 07E744 8007DB44 3C0EF300 */ lui $t6, 0xf300 -/* 07E748 8007DB48 AD6E0000 */ sw $t6, ($t3) -/* 07E74C 8007DB4C 01E5C825 */ or $t9, $t7, $a1 -/* 07E750 8007DB50 25AEFFFF */ addiu $t6, $t5, -1 -/* 07E754 8007DB54 000E7880 */ sll $t7, $t6, 2 -/* 07E758 8007DB58 0326C025 */ or $t8, $t9, $a2 -/* 07E75C 8007DB5C 31F90FFF */ andi $t9, $t7, 0xfff -/* 07E760 8007DB60 AFB8002C */ sw $t8, 0x2c($sp) -/* 07E764 8007DB64 260EFFFF */ addiu $t6, $s0, -1 -/* 07E768 8007DB68 000E7880 */ sll $t7, $t6, 2 -/* 07E76C 8007DB6C 0019C300 */ sll $t8, $t9, 0xc -/* 07E770 8007DB70 00005012 */ mflo $t2 -/* 07E774 8007DB74 25480001 */ addiu $t0, $t2, 1 -/* 07E778 8007DB78 31F90FFF */ andi $t9, $t7, 0xfff -/* 07E77C 8007DB7C 00087843 */ sra $t7, $t0, 1 -/* 07E780 8007DB80 25E8FFFF */ addiu $t0, $t7, -1 -/* 07E784 8007DB84 290107FF */ slti $at, $t0, 0x7ff -/* 07E788 8007DB88 03197025 */ or $t6, $t8, $t9 -/* 07E78C 8007DB8C AFAE0028 */ sw $t6, 0x28($sp) -/* 07E790 8007DB90 AFAB01B0 */ sw $t3, 0x1b0($sp) -/* 07E794 8007DB94 10200003 */ beqz $at, .L8007DBA4 -/* 07E798 8007DB98 24E70008 */ addiu $a3, $a3, 8 -/* 07E79C 8007DB9C 10000002 */ b .L8007DBA8 -/* 07E7A0 8007DBA0 0100F825 */ move $ra, $t0 -.L8007DBA4: -/* 07E7A4 8007DBA4 241F07FF */ li $ra, 2047 -.L8007DBA8: -/* 07E7A8 8007DBA8 01A06025 */ move $t4, $t5 -/* 07E7AC 8007DBAC 05810003 */ bgez $t4, .L8007DBBC -/* 07E7B0 8007DBB0 000C58C3 */ sra $t3, $t4, 3 -/* 07E7B4 8007DBB4 25810007 */ addiu $at, $t4, 7 -/* 07E7B8 8007DBB8 000158C3 */ sra $t3, $at, 3 -.L8007DBBC: -/* 07E7BC 8007DBBC 1D600003 */ bgtz $t3, .L8007DBCC -/* 07E7C0 8007DBC0 01605025 */ move $t2, $t3 -/* 07E7C4 8007DBC4 10000001 */ b .L8007DBCC -/* 07E7C8 8007DBC8 240A0001 */ li $t2, 1 -.L8007DBCC: -/* 07E7CC 8007DBCC 1D600003 */ bgtz $t3, .L8007DBDC -/* 07E7D0 8007DBD0 255807FF */ addiu $t8, $t2, 0x7ff -/* 07E7D4 8007DBD4 10000002 */ b .L8007DBE0 -/* 07E7D8 8007DBD8 24040001 */ li $a0, 1 -.L8007DBDC: -/* 07E7DC 8007DBDC 01602025 */ move $a0, $t3 -.L8007DBE0: -/* 07E7E0 8007DBE0 0304001A */ div $zero, $t8, $a0 -/* 07E7E4 8007DBE4 00E01025 */ move $v0, $a3 -/* 07E7E8 8007DBE8 14800002 */ bnez $a0, .L8007DBF4 -/* 07E7EC 8007DBEC 00000000 */ nop -/* 07E7F0 8007DBF0 0007000D */ break 7 -.L8007DBF4: -/* 07E7F4 8007DBF4 2401FFFF */ li $at, -1 -/* 07E7F8 8007DBF8 14810004 */ bne $a0, $at, .L8007DC0C -/* 07E7FC 8007DBFC 3C018000 */ lui $at, 0x8000 -/* 07E800 8007DC00 17010002 */ bne $t8, $at, .L8007DC0C -/* 07E804 8007DC04 00000000 */ nop -/* 07E808 8007DC08 0006000D */ break 6 -.L8007DC0C: -/* 07E80C 8007DC0C 33F80FFF */ andi $t8, $ra, 0xfff -/* 07E810 8007DC10 3C010700 */ lui $at, 0x700 -/* 07E814 8007DC14 24E70008 */ addiu $a3, $a3, 8 -/* 07E818 8007DC18 00E01825 */ move $v1, $a3 -/* 07E81C 8007DC1C 24E70008 */ addiu $a3, $a3, 8 -/* 07E820 8007DC20 00E02825 */ move $a1, $a3 -/* 07E824 8007DC24 24E70008 */ addiu $a3, $a3, 8 -/* 07E828 8007DC28 0000C812 */ mflo $t9 -/* 07E82C 8007DC2C 332E0FFF */ andi $t6, $t9, 0xfff -/* 07E830 8007DC30 0018CB00 */ sll $t9, $t8, 0xc -/* 07E834 8007DC34 01C17825 */ or $t7, $t6, $at -/* 07E838 8007DC38 8FB801B0 */ lw $t8, 0x1b0($sp) -/* 07E83C 8007DC3C 01F97025 */ or $t6, $t7, $t9 -/* 07E840 8007DC40 AF0E0004 */ sw $t6, 4($t8) -/* 07E844 8007DC44 25990007 */ addiu $t9, $t4, 7 -/* 07E848 8007DC48 001970C3 */ sra $t6, $t9, 3 -/* 07E84C 8007DC4C 3C0FE700 */ lui $t7, 0xe700 -/* 07E850 8007DC50 AC4F0000 */ sw $t7, ($v0) -/* 07E854 8007DC54 31D801FF */ andi $t8, $t6, 0x1ff -/* 07E858 8007DC58 00187A40 */ sll $t7, $t8, 9 -/* 07E85C 8007DC5C 3C01F568 */ lui $at, 0xf568 -/* 07E860 8007DC60 01E1C825 */ or $t9, $t7, $at -/* 07E864 8007DC64 AC400004 */ sw $zero, 4($v0) -/* 07E868 8007DC68 AC790000 */ sw $t9, ($v1) -/* 07E86C 8007DC6C 8FAE002C */ lw $t6, 0x2c($sp) -/* 07E870 8007DC70 3C18F200 */ lui $t8, 0xf200 -/* 07E874 8007DC74 AC6E0004 */ sw $t6, 4($v1) -/* 07E878 8007DC78 ACB80000 */ sw $t8, ($a1) -/* 07E87C 8007DC7C 8FAF0028 */ lw $t7, 0x28($sp) -/* 07E880 8007DC80 00000000 */ nop -/* 07E884 8007DC84 ACAF0004 */ sw $t7, 4($a1) -/* 07E888 8007DC88 86390006 */ lh $t9, 6($s1) -/* 07E88C 8007DC8C 00000000 */ nop -/* 07E890 8007DC90 372E0004 */ ori $t6, $t9, 4 -/* 07E894 8007DC94 A62E0006 */ sh $t6, 6($s1) -.L8007DC98: -/* 07E898 8007DC98 8FB8027C */ lw $t8, 0x27c($sp) -/* 07E89C 8007DC9C 24010006 */ li $at, 6 -/* 07E8A0 8007DCA0 17010074 */ bne $t8, $at, .L8007DE74 -/* 07E8A4 8007DCA4 00E02025 */ move $a0, $a3 -/* 07E8A8 8007DCA8 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07E8AC 8007DCAC 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07E8B0 8007DCB0 0221C821 */ addu $t9, $s1, $at -/* 07E8B4 8007DCB4 AC990004 */ sw $t9, 4($a0) -/* 07E8B8 8007DCB8 24E70008 */ addiu $a3, $a3, 8 -/* 07E8BC 8007DCBC 3C0FFD70 */ lui $t7, 0xfd70 -/* 07E8C0 8007DCC0 AC8F0000 */ sw $t7, ($a0) -/* 07E8C4 8007DCC4 00E05025 */ move $t2, $a3 -/* 07E8C8 8007DCC8 3C0EF570 */ lui $t6, 0xf570 -/* 07E8CC 8007DCCC AD4E0000 */ sw $t6, ($t2) -/* 07E8D0 8007DCD0 8FA20268 */ lw $v0, 0x268($sp) -/* 07E8D4 8007DCD4 8FA30260 */ lw $v1, 0x260($sp) -/* 07E8D8 8007DCD8 8FA5026C */ lw $a1, 0x26c($sp) -/* 07E8DC 8007DCDC 30580003 */ andi $t8, $v0, 3 -/* 07E8E0 8007DCE0 8FA60264 */ lw $a2, 0x264($sp) -/* 07E8E4 8007DCE4 00181480 */ sll $v0, $t8, 0x12 -/* 07E8E8 8007DCE8 3079000F */ andi $t9, $v1, 0xf -/* 07E8EC 8007DCEC 00191B80 */ sll $v1, $t9, 0xe -/* 07E8F0 8007DCF0 30B80003 */ andi $t8, $a1, 3 -/* 07E8F4 8007DCF4 00182A00 */ sll $a1, $t8, 8 -/* 07E8F8 8007DCF8 3C010700 */ lui $at, 0x700 -/* 07E8FC 8007DCFC 30D9000F */ andi $t9, $a2, 0xf -/* 07E900 8007DD00 00197100 */ sll $t6, $t9, 4 -/* 07E904 8007DD04 0041C025 */ or $t8, $v0, $at -/* 07E908 8007DD08 03037825 */ or $t7, $t8, $v1 -/* 07E90C 8007DD0C 01B00019 */ multu $t5, $s0 -/* 07E910 8007DD10 01E5C825 */ or $t9, $t7, $a1 -/* 07E914 8007DD14 01C03025 */ move $a2, $t6 -/* 07E918 8007DD18 032E7025 */ or $t6, $t9, $t6 -/* 07E91C 8007DD1C 24E70008 */ addiu $a3, $a3, 8 -/* 07E920 8007DD20 00E05825 */ move $t3, $a3 -/* 07E924 8007DD24 AD4E0004 */ sw $t6, 4($t2) -/* 07E928 8007DD28 24E70008 */ addiu $a3, $a3, 8 -/* 07E92C 8007DD2C 3C18E600 */ lui $t8, 0xe600 -/* 07E930 8007DD30 AD780000 */ sw $t8, ($t3) -/* 07E934 8007DD34 00E06025 */ move $t4, $a3 -/* 07E938 8007DD38 AD600004 */ sw $zero, 4($t3) -/* 07E93C 8007DD3C 0043C825 */ or $t9, $v0, $v1 -/* 07E940 8007DD40 3C0FF300 */ lui $t7, 0xf300 -/* 07E944 8007DD44 AD8F0000 */ sw $t7, ($t4) -/* 07E948 8007DD48 03257025 */ or $t6, $t9, $a1 -/* 07E94C 8007DD4C 25AFFFFF */ addiu $t7, $t5, -1 -/* 07E950 8007DD50 000FC880 */ sll $t9, $t7, 2 -/* 07E954 8007DD54 01C6C025 */ or $t8, $t6, $a2 -/* 07E958 8007DD58 332E0FFF */ andi $t6, $t9, 0xfff -/* 07E95C 8007DD5C AFB8002C */ sw $t8, 0x2c($sp) -/* 07E960 8007DD60 260FFFFF */ addiu $t7, $s0, -1 -/* 07E964 8007DD64 000FC880 */ sll $t9, $t7, 2 -/* 07E968 8007DD68 000EC300 */ sll $t8, $t6, 0xc -/* 07E96C 8007DD6C 00004012 */ mflo $t0 -/* 07E970 8007DD70 332E0FFF */ andi $t6, $t9, 0xfff -/* 07E974 8007DD74 030E7825 */ or $t7, $t8, $t6 -/* 07E978 8007DD78 25080003 */ addiu $t0, $t0, 3 -/* 07E97C 8007DD7C 0008C883 */ sra $t9, $t0, 2 -/* 07E980 8007DD80 000DF843 */ sra $ra, $t5, 1 -/* 07E984 8007DD84 27FF0007 */ addiu $ra, $ra, 7 -/* 07E988 8007DD88 2728FFFF */ addiu $t0, $t9, -1 -/* 07E98C 8007DD8C 001FC8C3 */ sra $t9, $ra, 3 -/* 07E990 8007DD90 AFAF0028 */ sw $t7, 0x28($sp) -/* 07E994 8007DD94 24E70008 */ addiu $a3, $a3, 8 -/* 07E998 8007DD98 05A10003 */ bgez $t5, .L8007DDA8 -/* 07E99C 8007DD9C 000D4903 */ sra $t1, $t5, 4 -/* 07E9A0 8007DDA0 25A1000F */ addiu $at, $t5, 0xf -/* 07E9A4 8007DDA4 00014903 */ sra $t1, $at, 4 -.L8007DDA8: -/* 07E9A8 8007DDA8 253807FF */ addiu $t8, $t1, 0x7ff -/* 07E9AC 8007DDAC 0309001A */ div $zero, $t8, $t1 -/* 07E9B0 8007DDB0 15200002 */ bnez $t1, .L8007DDBC -/* 07E9B4 8007DDB4 00000000 */ nop -/* 07E9B8 8007DDB8 0007000D */ break 7 -.L8007DDBC: -/* 07E9BC 8007DDBC 2401FFFF */ li $at, -1 -/* 07E9C0 8007DDC0 15210004 */ bne $t1, $at, .L8007DDD4 -/* 07E9C4 8007DDC4 3C018000 */ lui $at, 0x8000 -/* 07E9C8 8007DDC8 17010002 */ bne $t8, $at, .L8007DDD4 -/* 07E9CC 8007DDCC 00000000 */ nop -/* 07E9D0 8007DDD0 0006000D */ break 6 -.L8007DDD4: -/* 07E9D4 8007DDD4 333801FF */ andi $t8, $t9, 0x1ff -/* 07E9D8 8007DDD8 00E01025 */ move $v0, $a3 -/* 07E9DC 8007DDDC 24E70008 */ addiu $a3, $a3, 8 -/* 07E9E0 8007DDE0 290107FF */ slti $at, $t0, 0x7ff -/* 07E9E4 8007DDE4 00E01825 */ move $v1, $a3 -/* 07E9E8 8007DDE8 240407FF */ li $a0, 2047 -/* 07E9EC 8007DDEC 00007012 */ mflo $t6 -/* 07E9F0 8007DDF0 31CF0FFF */ andi $t7, $t6, 0xfff -/* 07E9F4 8007DDF4 00187240 */ sll $t6, $t8, 9 -/* 07E9F8 8007DDF8 01C0F825 */ move $ra, $t6 -/* 07E9FC 8007DDFC 10200003 */ beqz $at, .L8007DE0C -/* 07EA00 8007DE00 AFAF0030 */ sw $t7, 0x30($sp) -/* 07EA04 8007DE04 10000001 */ b .L8007DE0C -/* 07EA08 8007DE08 01002025 */ move $a0, $t0 -.L8007DE0C: -/* 07EA0C 8007DE0C 308F0FFF */ andi $t7, $a0, 0xfff -/* 07EA10 8007DE10 8FAE0030 */ lw $t6, 0x30($sp) -/* 07EA14 8007DE14 000FCB00 */ sll $t9, $t7, 0xc -/* 07EA18 8007DE18 3C010700 */ lui $at, 0x700 -/* 07EA1C 8007DE1C 0321C025 */ or $t8, $t9, $at -/* 07EA20 8007DE20 030E7825 */ or $t7, $t8, $t6 -/* 07EA24 8007DE24 AD8F0004 */ sw $t7, 4($t4) -/* 07EA28 8007DE28 3C01F560 */ lui $at, 0xf560 -/* 07EA2C 8007DE2C 3C19E700 */ lui $t9, 0xe700 -/* 07EA30 8007DE30 AC590000 */ sw $t9, ($v0) -/* 07EA34 8007DE34 03E1C025 */ or $t8, $ra, $at -/* 07EA38 8007DE38 AC400004 */ sw $zero, 4($v0) -/* 07EA3C 8007DE3C AC780000 */ sw $t8, ($v1) -/* 07EA40 8007DE40 8FAE002C */ lw $t6, 0x2c($sp) -/* 07EA44 8007DE44 24E70008 */ addiu $a3, $a3, 8 -/* 07EA48 8007DE48 00E02825 */ move $a1, $a3 -/* 07EA4C 8007DE4C 3C0FF200 */ lui $t7, 0xf200 -/* 07EA50 8007DE50 AC6E0004 */ sw $t6, 4($v1) -/* 07EA54 8007DE54 ACAF0000 */ sw $t7, ($a1) -/* 07EA58 8007DE58 8FB90028 */ lw $t9, 0x28($sp) -/* 07EA5C 8007DE5C 24E70008 */ addiu $a3, $a3, 8 -/* 07EA60 8007DE60 ACB90004 */ sw $t9, 4($a1) -/* 07EA64 8007DE64 86380006 */ lh $t8, 6($s1) -/* 07EA68 8007DE68 00000000 */ nop -/* 07EA6C 8007DE6C 370E0004 */ ori $t6, $t8, 4 -/* 07EA70 8007DE70 A62E0006 */ sh $t6, 6($s1) -.L8007DE74: -/* 07EA74 8007DE74 8FAF027C */ lw $t7, 0x27c($sp) -/* 07EA78 8007DE78 24010002 */ li $at, 2 -/* 07EA7C 8007DE7C 15E1007A */ bne $t7, $at, .L8007E068 -/* 07EA80 8007DE80 00E02025 */ move $a0, $a3 -/* 07EA84 8007DE84 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07EA88 8007DE88 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07EA8C 8007DE8C 0221C021 */ addu $t8, $s1, $at -/* 07EA90 8007DE90 AC980004 */ sw $t8, 4($a0) -/* 07EA94 8007DE94 24E70008 */ addiu $a3, $a3, 8 -/* 07EA98 8007DE98 3C19FD90 */ lui $t9, 0xfd90 -/* 07EA9C 8007DE9C AC990000 */ sw $t9, ($a0) -/* 07EAA0 8007DEA0 00E04825 */ move $t1, $a3 -/* 07EAA4 8007DEA4 3C0EF590 */ lui $t6, 0xf590 -/* 07EAA8 8007DEA8 AD2E0000 */ sw $t6, ($t1) -/* 07EAAC 8007DEAC 8FA20268 */ lw $v0, 0x268($sp) -/* 07EAB0 8007DEB0 8FA30260 */ lw $v1, 0x260($sp) -/* 07EAB4 8007DEB4 8FA5026C */ lw $a1, 0x26c($sp) -/* 07EAB8 8007DEB8 304F0003 */ andi $t7, $v0, 3 -/* 07EABC 8007DEBC 8FA60264 */ lw $a2, 0x264($sp) -/* 07EAC0 8007DEC0 000F1480 */ sll $v0, $t7, 0x12 -/* 07EAC4 8007DEC4 3078000F */ andi $t8, $v1, 0xf -/* 07EAC8 8007DEC8 00181B80 */ sll $v1, $t8, 0xe -/* 07EACC 8007DECC 30AF0003 */ andi $t7, $a1, 3 -/* 07EAD0 8007DED0 000F2A00 */ sll $a1, $t7, 8 -/* 07EAD4 8007DED4 3C010700 */ lui $at, 0x700 -/* 07EAD8 8007DED8 30D8000F */ andi $t8, $a2, 0xf -/* 07EADC 8007DEDC 00187100 */ sll $t6, $t8, 4 -/* 07EAE0 8007DEE0 00417825 */ or $t7, $v0, $at -/* 07EAE4 8007DEE4 01E3C825 */ or $t9, $t7, $v1 -/* 07EAE8 8007DEE8 0325C025 */ or $t8, $t9, $a1 -/* 07EAEC 8007DEEC 01C03025 */ move $a2, $t6 -/* 07EAF0 8007DEF0 01B00019 */ multu $t5, $s0 -/* 07EAF4 8007DEF4 030E7025 */ or $t6, $t8, $t6 -/* 07EAF8 8007DEF8 24E70008 */ addiu $a3, $a3, 8 -/* 07EAFC 8007DEFC 00E05025 */ move $t2, $a3 -/* 07EB00 8007DF00 AD2E0004 */ sw $t6, 4($t1) -/* 07EB04 8007DF04 24E70008 */ addiu $a3, $a3, 8 -/* 07EB08 8007DF08 3C0FE600 */ lui $t7, 0xe600 -/* 07EB0C 8007DF0C AD4F0000 */ sw $t7, ($t2) -/* 07EB10 8007DF10 00E0F825 */ move $ra, $a3 -/* 07EB14 8007DF14 AD400004 */ sw $zero, 4($t2) -/* 07EB18 8007DF18 0043C025 */ or $t8, $v0, $v1 -/* 07EB1C 8007DF1C 3C19F300 */ lui $t9, 0xf300 -/* 07EB20 8007DF20 AFF90000 */ sw $t9, ($ra) -/* 07EB24 8007DF24 03057025 */ or $t6, $t8, $a1 -/* 07EB28 8007DF28 25B9FFFF */ addiu $t9, $t5, -1 -/* 07EB2C 8007DF2C 0019C080 */ sll $t8, $t9, 2 -/* 07EB30 8007DF30 01C67825 */ or $t7, $t6, $a2 -/* 07EB34 8007DF34 330E0FFF */ andi $t6, $t8, 0xfff -/* 07EB38 8007DF38 AFAF002C */ sw $t7, 0x2c($sp) -/* 07EB3C 8007DF3C 2619FFFF */ addiu $t9, $s0, -1 -/* 07EB40 8007DF40 0019C080 */ sll $t8, $t9, 2 -/* 07EB44 8007DF44 000E7B00 */ sll $t7, $t6, 0xc -/* 07EB48 8007DF48 330E0FFF */ andi $t6, $t8, 0xfff -/* 07EB4C 8007DF4C 01EEC825 */ or $t9, $t7, $t6 -/* 07EB50 8007DF50 00004012 */ mflo $t0 -/* 07EB54 8007DF54 25080001 */ addiu $t0, $t0, 1 -/* 07EB58 8007DF58 01A06025 */ move $t4, $t5 -/* 07EB5C 8007DF5C 258F0007 */ addiu $t7, $t4, 7 -/* 07EB60 8007DF60 0008C043 */ sra $t8, $t0, 1 -/* 07EB64 8007DF64 2708FFFF */ addiu $t0, $t8, -1 -/* 07EB68 8007DF68 000F70C3 */ sra $t6, $t7, 3 -/* 07EB6C 8007DF6C AFB90028 */ sw $t9, 0x28($sp) -/* 07EB70 8007DF70 31D901FF */ andi $t9, $t6, 0x1ff -/* 07EB74 8007DF74 0019C240 */ sll $t8, $t9, 9 -/* 07EB78 8007DF78 AFB80024 */ sw $t8, 0x24($sp) -/* 07EB7C 8007DF7C AFBF0178 */ sw $ra, 0x178($sp) -/* 07EB80 8007DF80 24E70008 */ addiu $a3, $a3, 8 -/* 07EB84 8007DF84 05810003 */ bgez $t4, .L8007DF94 -/* 07EB88 8007DF88 000C58C3 */ sra $t3, $t4, 3 -/* 07EB8C 8007DF8C 25810007 */ addiu $at, $t4, 7 -/* 07EB90 8007DF90 000158C3 */ sra $t3, $at, 3 -.L8007DF94: -/* 07EB94 8007DF94 290107FF */ slti $at, $t0, 0x7ff -/* 07EB98 8007DF98 10200003 */ beqz $at, .L8007DFA8 -/* 07EB9C 8007DF9C 03006025 */ move $t4, $t8 -/* 07EBA0 8007DFA0 10000002 */ b .L8007DFAC -/* 07EBA4 8007DFA4 0100F825 */ move $ra, $t0 -.L8007DFA8: -/* 07EBA8 8007DFA8 241F07FF */ li $ra, 2047 -.L8007DFAC: -/* 07EBAC 8007DFAC 1D600003 */ bgtz $t3, .L8007DFBC -/* 07EBB0 8007DFB0 01605025 */ move $t2, $t3 -/* 07EBB4 8007DFB4 10000001 */ b .L8007DFBC -/* 07EBB8 8007DFB8 240A0001 */ li $t2, 1 -.L8007DFBC: -/* 07EBBC 8007DFBC 1D600003 */ bgtz $t3, .L8007DFCC -/* 07EBC0 8007DFC0 254F07FF */ addiu $t7, $t2, 0x7ff -/* 07EBC4 8007DFC4 10000002 */ b .L8007DFD0 -/* 07EBC8 8007DFC8 24040001 */ li $a0, 1 -.L8007DFCC: -/* 07EBCC 8007DFCC 01602025 */ move $a0, $t3 -.L8007DFD0: -/* 07EBD0 8007DFD0 01E4001A */ div $zero, $t7, $a0 -/* 07EBD4 8007DFD4 00E01025 */ move $v0, $a3 -/* 07EBD8 8007DFD8 14800002 */ bnez $a0, .L8007DFE4 -/* 07EBDC 8007DFDC 00000000 */ nop -/* 07EBE0 8007DFE0 0007000D */ break 7 -.L8007DFE4: -/* 07EBE4 8007DFE4 2401FFFF */ li $at, -1 -/* 07EBE8 8007DFE8 14810004 */ bne $a0, $at, .L8007DFFC -/* 07EBEC 8007DFEC 3C018000 */ lui $at, 0x8000 -/* 07EBF0 8007DFF0 15E10002 */ bne $t7, $at, .L8007DFFC -/* 07EBF4 8007DFF4 00000000 */ nop -/* 07EBF8 8007DFF8 0006000D */ break 6 -.L8007DFFC: -/* 07EBFC 8007DFFC 33EF0FFF */ andi $t7, $ra, 0xfff -/* 07EC00 8007E000 3C010700 */ lui $at, 0x700 -/* 07EC04 8007E004 24E70008 */ addiu $a3, $a3, 8 -/* 07EC08 8007E008 00E01825 */ move $v1, $a3 -/* 07EC0C 8007E00C 24E70008 */ addiu $a3, $a3, 8 -/* 07EC10 8007E010 00E02825 */ move $a1, $a3 -/* 07EC14 8007E014 24E70008 */ addiu $a3, $a3, 8 -/* 07EC18 8007E018 00007012 */ mflo $t6 -/* 07EC1C 8007E01C 31D90FFF */ andi $t9, $t6, 0xfff -/* 07EC20 8007E020 000F7300 */ sll $t6, $t7, 0xc -/* 07EC24 8007E024 8FAF0178 */ lw $t7, 0x178($sp) -/* 07EC28 8007E028 0321C025 */ or $t8, $t9, $at -/* 07EC2C 8007E02C 030EC825 */ or $t9, $t8, $t6 -/* 07EC30 8007E030 ADF90004 */ sw $t9, 4($t7) -/* 07EC34 8007E034 3C18E700 */ lui $t8, 0xe700 -/* 07EC38 8007E038 3C01F588 */ lui $at, 0xf588 -/* 07EC3C 8007E03C 01817025 */ or $t6, $t4, $at -/* 07EC40 8007E040 AC580000 */ sw $t8, ($v0) -/* 07EC44 8007E044 AC400004 */ sw $zero, 4($v0) -/* 07EC48 8007E048 AC6E0000 */ sw $t6, ($v1) -/* 07EC4C 8007E04C 8FB9002C */ lw $t9, 0x2c($sp) -/* 07EC50 8007E050 3C0FF200 */ lui $t7, 0xf200 -/* 07EC54 8007E054 AC790004 */ sw $t9, 4($v1) -/* 07EC58 8007E058 ACAF0000 */ sw $t7, ($a1) -/* 07EC5C 8007E05C 8FB80028 */ lw $t8, 0x28($sp) -/* 07EC60 8007E060 00000000 */ nop -/* 07EC64 8007E064 ACB80004 */ sw $t8, 4($a1) -.L8007E068: -/* 07EC68 8007E068 8FAE027C */ lw $t6, 0x27c($sp) -/* 07EC6C 8007E06C 24010003 */ li $at, 3 -/* 07EC70 8007E070 15C10070 */ bne $t6, $at, .L8007E234 -/* 07EC74 8007E074 00E02025 */ move $a0, $a3 -/* 07EC78 8007E078 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07EC7C 8007E07C 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07EC80 8007E080 02217821 */ addu $t7, $s1, $at -/* 07EC84 8007E084 AC8F0004 */ sw $t7, 4($a0) -/* 07EC88 8007E088 24E70008 */ addiu $a3, $a3, 8 -/* 07EC8C 8007E08C 3C19FD90 */ lui $t9, 0xfd90 -/* 07EC90 8007E090 AC990000 */ sw $t9, ($a0) -/* 07EC94 8007E094 00E05025 */ move $t2, $a3 -/* 07EC98 8007E098 3C18F590 */ lui $t8, 0xf590 -/* 07EC9C 8007E09C AD580000 */ sw $t8, ($t2) -/* 07ECA0 8007E0A0 8FA20268 */ lw $v0, 0x268($sp) -/* 07ECA4 8007E0A4 8FA30260 */ lw $v1, 0x260($sp) -/* 07ECA8 8007E0A8 8FA5026C */ lw $a1, 0x26c($sp) -/* 07ECAC 8007E0AC 304E0003 */ andi $t6, $v0, 3 -/* 07ECB0 8007E0B0 8FA60264 */ lw $a2, 0x264($sp) -/* 07ECB4 8007E0B4 000E1480 */ sll $v0, $t6, 0x12 -/* 07ECB8 8007E0B8 306F000F */ andi $t7, $v1, 0xf -/* 07ECBC 8007E0BC 000F1B80 */ sll $v1, $t7, 0xe -/* 07ECC0 8007E0C0 30AE0003 */ andi $t6, $a1, 3 -/* 07ECC4 8007E0C4 000E2A00 */ sll $a1, $t6, 8 -/* 07ECC8 8007E0C8 3C010700 */ lui $at, 0x700 -/* 07ECCC 8007E0CC 30CF000F */ andi $t7, $a2, 0xf -/* 07ECD0 8007E0D0 000FC100 */ sll $t8, $t7, 4 -/* 07ECD4 8007E0D4 00417025 */ or $t6, $v0, $at -/* 07ECD8 8007E0D8 01C3C825 */ or $t9, $t6, $v1 -/* 07ECDC 8007E0DC 01B00019 */ multu $t5, $s0 -/* 07ECE0 8007E0E0 03257825 */ or $t7, $t9, $a1 -/* 07ECE4 8007E0E4 03003025 */ move $a2, $t8 -/* 07ECE8 8007E0E8 01F8C025 */ or $t8, $t7, $t8 -/* 07ECEC 8007E0EC 24E70008 */ addiu $a3, $a3, 8 -/* 07ECF0 8007E0F0 00E05825 */ move $t3, $a3 -/* 07ECF4 8007E0F4 AD580004 */ sw $t8, 4($t2) -/* 07ECF8 8007E0F8 24E70008 */ addiu $a3, $a3, 8 -/* 07ECFC 8007E0FC 3C0EE600 */ lui $t6, 0xe600 -/* 07ED00 8007E100 AD6E0000 */ sw $t6, ($t3) -/* 07ED04 8007E104 00E06025 */ move $t4, $a3 -/* 07ED08 8007E108 AD600004 */ sw $zero, 4($t3) -/* 07ED0C 8007E10C 00437825 */ or $t7, $v0, $v1 -/* 07ED10 8007E110 3C19F300 */ lui $t9, 0xf300 -/* 07ED14 8007E114 AD990000 */ sw $t9, ($t4) -/* 07ED18 8007E118 01E5C025 */ or $t8, $t7, $a1 -/* 07ED1C 8007E11C 25B9FFFF */ addiu $t9, $t5, -1 -/* 07ED20 8007E120 00197880 */ sll $t7, $t9, 2 -/* 07ED24 8007E124 03067025 */ or $t6, $t8, $a2 -/* 07ED28 8007E128 31F80FFF */ andi $t8, $t7, 0xfff -/* 07ED2C 8007E12C AFAE002C */ sw $t6, 0x2c($sp) -/* 07ED30 8007E130 2619FFFF */ addiu $t9, $s0, -1 -/* 07ED34 8007E134 00197880 */ sll $t7, $t9, 2 -/* 07ED38 8007E138 00187300 */ sll $t6, $t8, 0xc -/* 07ED3C 8007E13C 00004012 */ mflo $t0 -/* 07ED40 8007E140 31F80FFF */ andi $t8, $t7, 0xfff -/* 07ED44 8007E144 01D8C825 */ or $t9, $t6, $t8 -/* 07ED48 8007E148 25080003 */ addiu $t0, $t0, 3 -/* 07ED4C 8007E14C 00087883 */ sra $t7, $t0, 2 -/* 07ED50 8007E150 000DF843 */ sra $ra, $t5, 1 -/* 07ED54 8007E154 27FF0007 */ addiu $ra, $ra, 7 -/* 07ED58 8007E158 25E8FFFF */ addiu $t0, $t7, -1 -/* 07ED5C 8007E15C 001F78C3 */ sra $t7, $ra, 3 -/* 07ED60 8007E160 AFB90028 */ sw $t9, 0x28($sp) -/* 07ED64 8007E164 24E70008 */ addiu $a3, $a3, 8 -/* 07ED68 8007E168 05A10003 */ bgez $t5, .L8007E178 -/* 07ED6C 8007E16C 000D4903 */ sra $t1, $t5, 4 -/* 07ED70 8007E170 25A1000F */ addiu $at, $t5, 0xf -/* 07ED74 8007E174 00014903 */ sra $t1, $at, 4 -.L8007E178: -/* 07ED78 8007E178 252E07FF */ addiu $t6, $t1, 0x7ff -/* 07ED7C 8007E17C 01C9001A */ div $zero, $t6, $t1 -/* 07ED80 8007E180 15200002 */ bnez $t1, .L8007E18C -/* 07ED84 8007E184 00000000 */ nop -/* 07ED88 8007E188 0007000D */ break 7 -.L8007E18C: -/* 07ED8C 8007E18C 2401FFFF */ li $at, -1 -/* 07ED90 8007E190 15210004 */ bne $t1, $at, .L8007E1A4 -/* 07ED94 8007E194 3C018000 */ lui $at, 0x8000 -/* 07ED98 8007E198 15C10002 */ bne $t6, $at, .L8007E1A4 -/* 07ED9C 8007E19C 00000000 */ nop -/* 07EDA0 8007E1A0 0006000D */ break 6 -.L8007E1A4: -/* 07EDA4 8007E1A4 31EE01FF */ andi $t6, $t7, 0x1ff -/* 07EDA8 8007E1A8 00E01025 */ move $v0, $a3 -/* 07EDAC 8007E1AC 24E70008 */ addiu $a3, $a3, 8 -/* 07EDB0 8007E1B0 290107FF */ slti $at, $t0, 0x7ff -/* 07EDB4 8007E1B4 00E01825 */ move $v1, $a3 -/* 07EDB8 8007E1B8 240407FF */ li $a0, 2047 -/* 07EDBC 8007E1BC 0000C012 */ mflo $t8 -/* 07EDC0 8007E1C0 33190FFF */ andi $t9, $t8, 0xfff -/* 07EDC4 8007E1C4 000EC240 */ sll $t8, $t6, 9 -/* 07EDC8 8007E1C8 0300F825 */ move $ra, $t8 -/* 07EDCC 8007E1CC 10200003 */ beqz $at, .L8007E1DC -/* 07EDD0 8007E1D0 AFB90030 */ sw $t9, 0x30($sp) -/* 07EDD4 8007E1D4 10000001 */ b .L8007E1DC -/* 07EDD8 8007E1D8 01002025 */ move $a0, $t0 -.L8007E1DC: -/* 07EDDC 8007E1DC 30990FFF */ andi $t9, $a0, 0xfff -/* 07EDE0 8007E1E0 8FB80030 */ lw $t8, 0x30($sp) -/* 07EDE4 8007E1E4 00197B00 */ sll $t7, $t9, 0xc -/* 07EDE8 8007E1E8 3C010700 */ lui $at, 0x700 -/* 07EDEC 8007E1EC 01E17025 */ or $t6, $t7, $at -/* 07EDF0 8007E1F0 01D8C825 */ or $t9, $t6, $t8 -/* 07EDF4 8007E1F4 AD990004 */ sw $t9, 4($t4) -/* 07EDF8 8007E1F8 3C01F580 */ lui $at, 0xf580 -/* 07EDFC 8007E1FC 3C0FE700 */ lui $t7, 0xe700 -/* 07EE00 8007E200 AC4F0000 */ sw $t7, ($v0) -/* 07EE04 8007E204 03E17025 */ or $t6, $ra, $at -/* 07EE08 8007E208 AC400004 */ sw $zero, 4($v0) -/* 07EE0C 8007E20C AC6E0000 */ sw $t6, ($v1) -/* 07EE10 8007E210 8FB8002C */ lw $t8, 0x2c($sp) -/* 07EE14 8007E214 24E70008 */ addiu $a3, $a3, 8 -/* 07EE18 8007E218 00E02825 */ move $a1, $a3 -/* 07EE1C 8007E21C 3C19F200 */ lui $t9, 0xf200 -/* 07EE20 8007E220 AC780004 */ sw $t8, 4($v1) -/* 07EE24 8007E224 ACB90000 */ sw $t9, ($a1) -/* 07EE28 8007E228 8FAF0028 */ lw $t7, 0x28($sp) -/* 07EE2C 8007E22C 24E70008 */ addiu $a3, $a3, 8 -/* 07EE30 8007E230 ACAF0004 */ sw $t7, 4($a1) -.L8007E234: -/* 07EE34 8007E234 8E2E000C */ lw $t6, 0xc($s1) -/* 07EE38 8007E238 00000000 */ nop -/* 07EE3C 8007E23C 00EEC023 */ subu $t8, $a3, $t6 -/* 07EE40 8007E240 0018C8C3 */ sra $t9, $t8, 3 -/* 07EE44 8007E244 10000342 */ b .L8007EF50 -/* 07EE48 8007E248 A639000A */ sh $t9, 0xa($s1) -.L8007E24C: -/* 07EE4C 8007E24C AFAA0264 */ sw $t2, 0x264($sp) -/* 07EE50 8007E250 AFAB0260 */ sw $t3, 0x260($sp) -/* 07EE54 8007E254 1580005E */ bnez $t4, .L8007E3D0 -/* 07EE58 8007E258 AFAC027C */ sw $t4, 0x27c($sp) -/* 07EE5C 8007E25C 8FAA0284 */ lw $t2, 0x284($sp) -/* 07EE60 8007E260 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07EE64 8007E264 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07EE68 8007E268 02217021 */ addu $t6, $s1, $at -/* 07EE6C 8007E26C 3C0FFD18 */ lui $t7, 0xfd18 -/* 07EE70 8007E270 25470008 */ addiu $a3, $t2, 8 -/* 07EE74 8007E274 00E04025 */ move $t0, $a3 -/* 07EE78 8007E278 3C18F518 */ lui $t8, 0xf518 -/* 07EE7C 8007E27C AD4F0000 */ sw $t7, ($t2) -/* 07EE80 8007E280 AD4E0004 */ sw $t6, 4($t2) -/* 07EE84 8007E284 01B00019 */ multu $t5, $s0 -/* 07EE88 8007E288 AD180000 */ sw $t8, ($t0) -/* 07EE8C 8007E28C 8FA20268 */ lw $v0, 0x268($sp) -/* 07EE90 8007E290 8FA5026C */ lw $a1, 0x26c($sp) -/* 07EE94 8007E294 8FA30260 */ lw $v1, 0x260($sp) -/* 07EE98 8007E298 30590003 */ andi $t9, $v0, 3 -/* 07EE9C 8007E29C 00191480 */ sll $v0, $t9, 0x12 -/* 07EEA0 8007E2A0 8FA60264 */ lw $a2, 0x264($sp) -/* 07EEA4 8007E2A4 30B90003 */ andi $t9, $a1, 3 -/* 07EEA8 8007E2A8 306E000F */ andi $t6, $v1, 0xf -/* 07EEAC 8007E2AC 000E1B80 */ sll $v1, $t6, 0xe -/* 07EEB0 8007E2B0 00192A00 */ sll $a1, $t9, 8 -/* 07EEB4 8007E2B4 3C010700 */ lui $at, 0x700 -/* 07EEB8 8007E2B8 0041C825 */ or $t9, $v0, $at -/* 07EEBC 8007E2BC 30CE000F */ andi $t6, $a2, 0xf -/* 07EEC0 8007E2C0 000E3100 */ sll $a2, $t6, 4 -/* 07EEC4 8007E2C4 03237825 */ or $t7, $t9, $v1 -/* 07EEC8 8007E2C8 01E57025 */ or $t6, $t7, $a1 -/* 07EECC 8007E2CC 01C6C025 */ or $t8, $t6, $a2 -/* 07EED0 8007E2D0 24E70008 */ addiu $a3, $a3, 8 -/* 07EED4 8007E2D4 00E04825 */ move $t1, $a3 -/* 07EED8 8007E2D8 AD180004 */ sw $t8, 4($t0) -/* 07EEDC 8007E2DC 00004012 */ mflo $t0 -/* 07EEE0 8007E2E0 2508FFFF */ addiu $t0, $t0, -1 -/* 07EEE4 8007E2E4 24E70008 */ addiu $a3, $a3, 8 -/* 07EEE8 8007E2E8 3C19E600 */ lui $t9, 0xe600 -/* 07EEEC 8007E2EC AD390000 */ sw $t9, ($t1) -/* 07EEF0 8007E2F0 00E05825 */ move $t3, $a3 -/* 07EEF4 8007E2F4 290107FF */ slti $at, $t0, 0x7ff -/* 07EEF8 8007E2F8 AD200004 */ sw $zero, 4($t1) -/* 07EEFC 8007E2FC 3C0FF300 */ lui $t7, 0xf300 -/* 07EF00 8007E300 AD6F0000 */ sw $t7, ($t3) -/* 07EF04 8007E304 10200003 */ beqz $at, .L8007E314 -/* 07EF08 8007E308 24E70008 */ addiu $a3, $a3, 8 -/* 07EF0C 8007E30C 10000002 */ b .L8007E318 -/* 07EF10 8007E310 01002025 */ move $a0, $t0 -.L8007E314: -/* 07EF14 8007E314 240407FF */ li $a0, 2047 -.L8007E318: -/* 07EF18 8007E318 308E0FFF */ andi $t6, $a0, 0xfff -/* 07EF1C 8007E31C 000EC300 */ sll $t8, $t6, 0xc -/* 07EF20 8007E320 3C010700 */ lui $at, 0x700 -/* 07EF24 8007E324 0301C825 */ or $t9, $t8, $at -/* 07EF28 8007E328 AD790004 */ sw $t9, 4($t3) -/* 07EF2C 8007E32C 000D7040 */ sll $t6, $t5, 1 -/* 07EF30 8007E330 25D80007 */ addiu $t8, $t6, 7 -/* 07EF34 8007E334 00E04025 */ move $t0, $a3 -/* 07EF38 8007E338 3C0FE700 */ lui $t7, 0xe700 -/* 07EF3C 8007E33C AD0F0000 */ sw $t7, ($t0) -/* 07EF40 8007E340 0018C8C3 */ sra $t9, $t8, 3 -/* 07EF44 8007E344 332F01FF */ andi $t7, $t9, 0x1ff -/* 07EF48 8007E348 000F7240 */ sll $t6, $t7, 9 -/* 07EF4C 8007E34C 0043C825 */ or $t9, $v0, $v1 -/* 07EF50 8007E350 24E70008 */ addiu $a3, $a3, 8 -/* 07EF54 8007E354 3C01F518 */ lui $at, 0xf518 -/* 07EF58 8007E358 01C1C025 */ or $t8, $t6, $at -/* 07EF5C 8007E35C 00E04825 */ move $t1, $a3 -/* 07EF60 8007E360 03257825 */ or $t7, $t9, $a1 -/* 07EF64 8007E364 01E67025 */ or $t6, $t7, $a2 -/* 07EF68 8007E368 AD000004 */ sw $zero, 4($t0) -/* 07EF6C 8007E36C 25B9FFFF */ addiu $t9, $t5, -1 -/* 07EF70 8007E370 00197880 */ sll $t7, $t9, 2 -/* 07EF74 8007E374 AD2E0004 */ sw $t6, 4($t1) -/* 07EF78 8007E378 AD380000 */ sw $t8, ($t1) -/* 07EF7C 8007E37C 24E70008 */ addiu $a3, $a3, 8 -/* 07EF80 8007E380 00E05025 */ move $t2, $a3 -/* 07EF84 8007E384 3C18F200 */ lui $t8, 0xf200 -/* 07EF88 8007E388 31EE0FFF */ andi $t6, $t7, 0xfff -/* 07EF8C 8007E38C AD580000 */ sw $t8, ($t2) -/* 07EF90 8007E390 2619FFFF */ addiu $t9, $s0, -1 -/* 07EF94 8007E394 00197880 */ sll $t7, $t9, 2 -/* 07EF98 8007E398 000EC300 */ sll $t8, $t6, 0xc -/* 07EF9C 8007E39C 31EE0FFF */ andi $t6, $t7, 0xfff -/* 07EFA0 8007E3A0 030EC825 */ or $t9, $t8, $t6 -/* 07EFA4 8007E3A4 AD590004 */ sw $t9, 4($t2) -/* 07EFA8 8007E3A8 8FAF0278 */ lw $t7, 0x278($sp) -/* 07EFAC 8007E3AC 24E70008 */ addiu $a3, $a3, 8 -/* 07EFB0 8007E3B0 11E00003 */ beqz $t7, .L8007E3C0 -/* 07EFB4 8007E3B4 24010002 */ li $at, 2 -/* 07EFB8 8007E3B8 15E10006 */ bne $t7, $at, .L8007E3D4 -/* 07EFBC 8007E3BC 8FB9027C */ lw $t9, 0x27c($sp) -.L8007E3C0: -/* 07EFC0 8007E3C0 86380006 */ lh $t8, 6($s1) -/* 07EFC4 8007E3C4 00000000 */ nop -/* 07EFC8 8007E3C8 370E0004 */ ori $t6, $t8, 4 -/* 07EFCC 8007E3CC A62E0006 */ sh $t6, 6($s1) -.L8007E3D0: -/* 07EFD0 8007E3D0 8FB9027C */ lw $t9, 0x27c($sp) -.L8007E3D4: -/* 07EFD4 8007E3D4 24010001 */ li $at, 1 -/* 07EFD8 8007E3D8 17210064 */ bne $t9, $at, .L8007E56C -/* 07EFDC 8007E3DC 00E02025 */ move $a0, $a3 -/* 07EFE0 8007E3E0 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07EFE4 8007E3E4 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07EFE8 8007E3E8 0221C021 */ addu $t8, $s1, $at -/* 07EFEC 8007E3EC 24E70008 */ addiu $a3, $a3, 8 -/* 07EFF0 8007E3F0 3C0FFD10 */ lui $t7, 0xfd10 -/* 07EFF4 8007E3F4 AC8F0000 */ sw $t7, ($a0) -/* 07EFF8 8007E3F8 00E04825 */ move $t1, $a3 -/* 07EFFC 8007E3FC AC980004 */ sw $t8, 4($a0) -/* 07F000 8007E400 3C0EF510 */ lui $t6, 0xf510 -/* 07F004 8007E404 AD2E0000 */ sw $t6, ($t1) -/* 07F008 8007E408 8FA20268 */ lw $v0, 0x268($sp) -/* 07F00C 8007E40C 8FA5026C */ lw $a1, 0x26c($sp) -/* 07F010 8007E410 8FA30260 */ lw $v1, 0x260($sp) -/* 07F014 8007E414 30590003 */ andi $t9, $v0, 3 -/* 07F018 8007E418 00191480 */ sll $v0, $t9, 0x12 -/* 07F01C 8007E41C 8FA60264 */ lw $a2, 0x264($sp) -/* 07F020 8007E420 30B90003 */ andi $t9, $a1, 3 -/* 07F024 8007E424 3078000F */ andi $t8, $v1, 0xf -/* 07F028 8007E428 00181B80 */ sll $v1, $t8, 0xe -/* 07F02C 8007E42C 00192A00 */ sll $a1, $t9, 8 -/* 07F030 8007E430 3C010700 */ lui $at, 0x700 -/* 07F034 8007E434 0041C825 */ or $t9, $v0, $at -/* 07F038 8007E438 30D8000F */ andi $t8, $a2, 0xf -/* 07F03C 8007E43C 00183100 */ sll $a2, $t8, 4 -/* 07F040 8007E440 03237825 */ or $t7, $t9, $v1 -/* 07F044 8007E444 01E5C025 */ or $t8, $t7, $a1 -/* 07F048 8007E448 03067025 */ or $t6, $t8, $a2 -/* 07F04C 8007E44C 24E70008 */ addiu $a3, $a3, 8 -/* 07F050 8007E450 01B00019 */ multu $t5, $s0 -/* 07F054 8007E454 00E05025 */ move $t2, $a3 -/* 07F058 8007E458 AD2E0004 */ sw $t6, 4($t1) -/* 07F05C 8007E45C 3C19E600 */ lui $t9, 0xe600 -/* 07F060 8007E460 AD590000 */ sw $t9, ($t2) -/* 07F064 8007E464 24E70008 */ addiu $a3, $a3, 8 -/* 07F068 8007E468 000DC040 */ sll $t8, $t5, 1 -/* 07F06C 8007E46C 270E0007 */ addiu $t6, $t8, 7 -/* 07F070 8007E470 00E05825 */ move $t3, $a3 -/* 07F074 8007E474 AD400004 */ sw $zero, 4($t2) -/* 07F078 8007E478 3C0FF300 */ lui $t7, 0xf300 -/* 07F07C 8007E47C AD6F0000 */ sw $t7, ($t3) -/* 07F080 8007E480 000EC8C3 */ sra $t9, $t6, 3 -/* 07F084 8007E484 332F01FF */ andi $t7, $t9, 0x1ff -/* 07F088 8007E488 000FC240 */ sll $t8, $t7, 9 -/* 07F08C 8007E48C 00437025 */ or $t6, $v0, $v1 -/* 07F090 8007E490 01C5C825 */ or $t9, $t6, $a1 -/* 07F094 8007E494 AFB80030 */ sw $t8, 0x30($sp) -/* 07F098 8007E498 25B8FFFF */ addiu $t8, $t5, -1 -/* 07F09C 8007E49C 00187080 */ sll $t6, $t8, 2 -/* 07F0A0 8007E4A0 03267825 */ or $t7, $t9, $a2 -/* 07F0A4 8007E4A4 31D90FFF */ andi $t9, $t6, 0xfff -/* 07F0A8 8007E4A8 AFAF002C */ sw $t7, 0x2c($sp) -/* 07F0AC 8007E4AC 2618FFFF */ addiu $t8, $s0, -1 -/* 07F0B0 8007E4B0 00187080 */ sll $t6, $t8, 2 -/* 07F0B4 8007E4B4 00197B00 */ sll $t7, $t9, 0xc -/* 07F0B8 8007E4B8 00004012 */ mflo $t0 -/* 07F0BC 8007E4BC 2508FFFF */ addiu $t0, $t0, -1 -/* 07F0C0 8007E4C0 31D90FFF */ andi $t9, $t6, 0xfff -/* 07F0C4 8007E4C4 01F9C025 */ or $t8, $t7, $t9 -/* 07F0C8 8007E4C8 290107FF */ slti $at, $t0, 0x7ff -/* 07F0CC 8007E4CC AFB80028 */ sw $t8, 0x28($sp) -/* 07F0D0 8007E4D0 10200003 */ beqz $at, .L8007E4E0 -/* 07F0D4 8007E4D4 24E70008 */ addiu $a3, $a3, 8 -/* 07F0D8 8007E4D8 10000002 */ b .L8007E4E4 -/* 07F0DC 8007E4DC 01002025 */ move $a0, $t0 -.L8007E4E0: -/* 07F0E0 8007E4E0 240407FF */ li $a0, 2047 -.L8007E4E4: -/* 07F0E4 8007E4E4 308E0FFF */ andi $t6, $a0, 0xfff -/* 07F0E8 8007E4E8 000E7B00 */ sll $t7, $t6, 0xc -/* 07F0EC 8007E4EC 3C010700 */ lui $at, 0x700 -/* 07F0F0 8007E4F0 01E1C825 */ or $t9, $t7, $at -/* 07F0F4 8007E4F4 AD790004 */ sw $t9, 4($t3) -/* 07F0F8 8007E4F8 00E01025 */ move $v0, $a3 -/* 07F0FC 8007E4FC 3C18E700 */ lui $t8, 0xe700 -/* 07F100 8007E500 AC580000 */ sw $t8, ($v0) -/* 07F104 8007E504 AC400004 */ sw $zero, 4($v0) -/* 07F108 8007E508 8FAE0030 */ lw $t6, 0x30($sp) -/* 07F10C 8007E50C 24E70008 */ addiu $a3, $a3, 8 -/* 07F110 8007E510 3C01F510 */ lui $at, 0xf510 -/* 07F114 8007E514 00E01825 */ move $v1, $a3 -/* 07F118 8007E518 01C17825 */ or $t7, $t6, $at -/* 07F11C 8007E51C AC6F0000 */ sw $t7, ($v1) -/* 07F120 8007E520 8FB9002C */ lw $t9, 0x2c($sp) -/* 07F124 8007E524 24E70008 */ addiu $a3, $a3, 8 -/* 07F128 8007E528 00E02825 */ move $a1, $a3 -/* 07F12C 8007E52C 3C18F200 */ lui $t8, 0xf200 -/* 07F130 8007E530 AC790004 */ sw $t9, 4($v1) -/* 07F134 8007E534 ACB80000 */ sw $t8, ($a1) -/* 07F138 8007E538 8FAE0028 */ lw $t6, 0x28($sp) -/* 07F13C 8007E53C 24E70008 */ addiu $a3, $a3, 8 -/* 07F140 8007E540 ACAE0004 */ sw $t6, 4($a1) -/* 07F144 8007E544 8FAF0278 */ lw $t7, 0x278($sp) -/* 07F148 8007E548 24010002 */ li $at, 2 -/* 07F14C 8007E54C 11E00003 */ beqz $t7, .L8007E55C -/* 07F150 8007E550 00000000 */ nop -/* 07F154 8007E554 15E10006 */ bne $t7, $at, .L8007E570 -/* 07F158 8007E558 8FAE027C */ lw $t6, 0x27c($sp) -.L8007E55C: -/* 07F15C 8007E55C 86390006 */ lh $t9, 6($s1) -/* 07F160 8007E560 00000000 */ nop -/* 07F164 8007E564 37380004 */ ori $t8, $t9, 4 -/* 07F168 8007E568 A6380006 */ sh $t8, 6($s1) -.L8007E56C: -/* 07F16C 8007E56C 8FAE027C */ lw $t6, 0x27c($sp) -.L8007E570: -/* 07F170 8007E570 24010007 */ li $at, 7 -/* 07F174 8007E574 15C10097 */ bne $t6, $at, .L8007E7D4 -/* 07F178 8007E578 8FAE027C */ lw $t6, 0x27c($sp) -/* 07F17C 8007E57C 8FA20268 */ lw $v0, 0x268($sp) -/* 07F180 8007E580 8FA30260 */ lw $v1, 0x260($sp) -/* 07F184 8007E584 8FA5026C */ lw $a1, 0x26c($sp) -/* 07F188 8007E588 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07F18C 8007E58C 30590003 */ andi $t9, $v0, 3 -/* 07F190 8007E590 00191480 */ sll $v0, $t9, 0x12 -/* 07F194 8007E594 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07F198 8007E598 8FA60264 */ lw $a2, 0x264($sp) -/* 07F19C 8007E59C 02217821 */ addu $t7, $s1, $at -/* 07F1A0 8007E5A0 306E000F */ andi $t6, $v1, 0xf -/* 07F1A4 8007E5A4 30B90003 */ andi $t9, $a1, 3 -/* 07F1A8 8007E5A8 01B00019 */ multu $t5, $s0 -/* 07F1AC 8007E5AC 00192A00 */ sll $a1, $t9, 8 -/* 07F1B0 8007E5B0 000E1B80 */ sll $v1, $t6, 0xe -/* 07F1B4 8007E5B4 3C010700 */ lui $at, 0x700 -/* 07F1B8 8007E5B8 0041C825 */ or $t9, $v0, $at -/* 07F1BC 8007E5BC 30CE000F */ andi $t6, $a2, 0xf -/* 07F1C0 8007E5C0 000E3100 */ sll $a2, $t6, 4 -/* 07F1C4 8007E5C4 0323C025 */ or $t8, $t9, $v1 -/* 07F1C8 8007E5C8 86240008 */ lh $a0, 8($s1) -/* 07F1CC 8007E5CC AFAF0048 */ sw $t7, 0x48($sp) -/* 07F1D0 8007E5D0 03057025 */ or $t6, $t8, $a1 -/* 07F1D4 8007E5D4 01C67825 */ or $t7, $t6, $a2 -/* 07F1D8 8007E5D8 0043C825 */ or $t9, $v0, $v1 -/* 07F1DC 8007E5DC 0325C025 */ or $t8, $t9, $a1 -/* 07F1E0 8007E5E0 AFAF0034 */ sw $t7, 0x34($sp) -/* 07F1E4 8007E5E4 25AFFFFF */ addiu $t7, $t5, -1 -/* 07F1E8 8007E5E8 000FC880 */ sll $t9, $t7, 2 -/* 07F1EC 8007E5EC 03067025 */ or $t6, $t8, $a2 -/* 07F1F0 8007E5F0 33380FFF */ andi $t8, $t9, 0xfff -/* 07F1F4 8007E5F4 AFAE002C */ sw $t6, 0x2c($sp) -/* 07F1F8 8007E5F8 260FFFFF */ addiu $t7, $s0, -1 -/* 07F1FC 8007E5FC 000FC880 */ sll $t9, $t7, 2 -/* 07F200 8007E600 00187300 */ sll $t6, $t8, 0xc -/* 07F204 8007E604 33380FFF */ andi $t8, $t9, 0xfff -/* 07F208 8007E608 01D87825 */ or $t7, $t6, $t8 -/* 07F20C 8007E60C 00005012 */ mflo $t2 -/* 07F210 8007E610 AFAA0030 */ sw $t2, 0x30($sp) -/* 07F214 8007E614 AFAF0028 */ sw $t7, 0x28($sp) -/* 07F218 8007E618 AFAD0274 */ sw $t5, 0x274($sp) -/* 07F21C 8007E61C 0C01FBD9 */ jal func_8007EF64 -/* 07F220 8007E620 AFA70248 */ sw $a3, 0x248($sp) -/* 07F224 8007E624 8FA70248 */ lw $a3, 0x248($sp) -/* 07F228 8007E628 8FAA0030 */ lw $t2, 0x30($sp) -/* 07F22C 8007E62C 8FAD0274 */ lw $t5, 0x274($sp) -/* 07F230 8007E630 3C19FD50 */ lui $t9, 0xfd50 -/* 07F234 8007E634 00E01825 */ move $v1, $a3 -/* 07F238 8007E638 AC790000 */ sw $t9, ($v1) -/* 07F23C 8007E63C 8FAE0048 */ lw $t6, 0x48($sp) -/* 07F240 8007E640 24E70008 */ addiu $a3, $a3, 8 -/* 07F244 8007E644 00E02025 */ move $a0, $a3 -/* 07F248 8007E648 3C18F550 */ lui $t8, 0xf550 -/* 07F24C 8007E64C AC6E0004 */ sw $t6, 4($v1) -/* 07F250 8007E650 AC980000 */ sw $t8, ($a0) -/* 07F254 8007E654 8FAF0034 */ lw $t7, 0x34($sp) -/* 07F258 8007E658 24E70008 */ addiu $a3, $a3, 8 -/* 07F25C 8007E65C 00E02825 */ move $a1, $a3 -/* 07F260 8007E660 25480003 */ addiu $t0, $t2, 3 -/* 07F264 8007E664 0008C083 */ sra $t8, $t0, 2 -/* 07F268 8007E668 AC8F0004 */ sw $t7, 4($a0) -/* 07F26C 8007E66C 2708FFFF */ addiu $t0, $t8, -1 -/* 07F270 8007E670 24E70008 */ addiu $a3, $a3, 8 -/* 07F274 8007E674 3C19E600 */ lui $t9, 0xe600 -/* 07F278 8007E678 ACB90000 */ sw $t9, ($a1) -/* 07F27C 8007E67C 00E04825 */ move $t1, $a3 -/* 07F280 8007E680 290107FF */ slti $at, $t0, 0x7ff -/* 07F284 8007E684 ACA00004 */ sw $zero, 4($a1) -/* 07F288 8007E688 3C0EF300 */ lui $t6, 0xf300 -/* 07F28C 8007E68C AD2E0000 */ sw $t6, ($t1) -/* 07F290 8007E690 10200003 */ beqz $at, .L8007E6A0 -/* 07F294 8007E694 24E70008 */ addiu $a3, $a3, 8 -/* 07F298 8007E698 10000002 */ b .L8007E6A4 -/* 07F29C 8007E69C 01002025 */ move $a0, $t0 -.L8007E6A0: -/* 07F2A0 8007E6A0 240407FF */ li $a0, 2047 -.L8007E6A4: -/* 07F2A4 8007E6A4 308F0FFF */ andi $t7, $a0, 0xfff -/* 07F2A8 8007E6A8 000FCB00 */ sll $t9, $t7, 0xc -/* 07F2AC 8007E6AC 3C010700 */ lui $at, 0x700 -/* 07F2B0 8007E6B0 03217025 */ or $t6, $t9, $at -/* 07F2B4 8007E6B4 AD2E0004 */ sw $t6, 4($t1) -/* 07F2B8 8007E6B8 000D7843 */ sra $t7, $t5, 1 -/* 07F2BC 8007E6BC 25F90007 */ addiu $t9, $t7, 7 -/* 07F2C0 8007E6C0 00E01825 */ move $v1, $a3 -/* 07F2C4 8007E6C4 3C18E700 */ lui $t8, 0xe700 -/* 07F2C8 8007E6C8 AC780000 */ sw $t8, ($v1) -/* 07F2CC 8007E6CC 001970C3 */ sra $t6, $t9, 3 -/* 07F2D0 8007E6D0 31D801FF */ andi $t8, $t6, 0x1ff -/* 07F2D4 8007E6D4 00187A40 */ sll $t7, $t8, 9 -/* 07F2D8 8007E6D8 24E70008 */ addiu $a3, $a3, 8 -/* 07F2DC 8007E6DC 3C01F540 */ lui $at, 0xf540 -/* 07F2E0 8007E6E0 01E1C825 */ or $t9, $t7, $at -/* 07F2E4 8007E6E4 00E02825 */ move $a1, $a3 -/* 07F2E8 8007E6E8 AC600004 */ sw $zero, 4($v1) -/* 07F2EC 8007E6EC ACB90000 */ sw $t9, ($a1) -/* 07F2F0 8007E6F0 8FAE002C */ lw $t6, 0x2c($sp) -/* 07F2F4 8007E6F4 24E70008 */ addiu $a3, $a3, 8 -/* 07F2F8 8007E6F8 00E03025 */ move $a2, $a3 -/* 07F2FC 8007E6FC 3C18F200 */ lui $t8, 0xf200 -/* 07F300 8007E700 ACAE0004 */ sw $t6, 4($a1) -/* 07F304 8007E704 ACD80000 */ sw $t8, ($a2) -/* 07F308 8007E708 8FAF0028 */ lw $t7, 0x28($sp) -/* 07F30C 8007E70C 24E70008 */ addiu $a3, $a3, 8 -/* 07F310 8007E710 ACCF0004 */ sw $t7, 4($a2) -/* 07F314 8007E714 00E01825 */ move $v1, $a3 -/* 07F318 8007E718 24E70008 */ addiu $a3, $a3, 8 -/* 07F31C 8007E71C 00E02025 */ move $a0, $a3 -/* 07F320 8007E720 3C19FD10 */ lui $t9, 0xfd10 -/* 07F324 8007E724 AC790000 */ sw $t9, ($v1) -/* 07F328 8007E728 24E70008 */ addiu $a3, $a3, 8 -/* 07F32C 8007E72C AC620004 */ sw $v0, 4($v1) -/* 07F330 8007E730 00E02825 */ move $a1, $a3 -/* 07F334 8007E734 3C0EE800 */ lui $t6, 0xe800 -/* 07F338 8007E738 AC8E0000 */ sw $t6, ($a0) -/* 07F33C 8007E73C AC800004 */ sw $zero, 4($a0) -/* 07F340 8007E740 3C18F500 */ lui $t8, (0xF5000100 >> 16) # lui $t8, 0xf500 -/* 07F344 8007E744 37180100 */ ori $t8, (0xF5000100 & 0xFFFF) # ori $t8, $t8, 0x100 -/* 07F348 8007E748 24E70008 */ addiu $a3, $a3, 8 -/* 07F34C 8007E74C 3C0F0700 */ lui $t7, 0x700 -/* 07F350 8007E750 ACAF0004 */ sw $t7, 4($a1) -/* 07F354 8007E754 00E03025 */ move $a2, $a3 -/* 07F358 8007E758 ACB80000 */ sw $t8, ($a1) -/* 07F35C 8007E75C 24E70008 */ addiu $a3, $a3, 8 -/* 07F360 8007E760 00E04025 */ move $t0, $a3 -/* 07F364 8007E764 3C19E600 */ lui $t9, 0xe600 -/* 07F368 8007E768 ACD90000 */ sw $t9, ($a2) -/* 07F36C 8007E76C ACC00004 */ sw $zero, 4($a2) -/* 07F370 8007E770 3C180703 */ lui $t8, (0x0703C000 >> 16) # lui $t8, 0x703 -/* 07F374 8007E774 3718C000 */ ori $t8, (0x0703C000 & 0xFFFF) # ori $t8, $t8, 0xc000 -/* 07F378 8007E778 24E70008 */ addiu $a3, $a3, 8 -/* 07F37C 8007E77C 3C0EF000 */ lui $t6, 0xf000 -/* 07F380 8007E780 AD0E0000 */ sw $t6, ($t0) -/* 07F384 8007E784 00E01025 */ move $v0, $a3 -/* 07F388 8007E788 AD180004 */ sw $t8, 4($t0) -/* 07F38C 8007E78C 3C0FE700 */ lui $t7, 0xe700 -/* 07F390 8007E790 AC4F0000 */ sw $t7, ($v0) -/* 07F394 8007E794 AC400004 */ sw $zero, 4($v0) -/* 07F398 8007E798 86390006 */ lh $t9, 6($s1) -/* 07F39C 8007E79C 24E70008 */ addiu $a3, $a3, 8 -/* 07F3A0 8007E7A0 372E0020 */ ori $t6, $t9, 0x20 -/* 07F3A4 8007E7A4 A62E0006 */ sh $t6, 6($s1) -/* 07F3A8 8007E7A8 8FB80278 */ lw $t8, 0x278($sp) -/* 07F3AC 8007E7AC 24010002 */ li $at, 2 -/* 07F3B0 8007E7B0 13000003 */ beqz $t8, .L8007E7C0 -/* 07F3B4 8007E7B4 00000000 */ nop -/* 07F3B8 8007E7B8 17010006 */ bne $t8, $at, .L8007E7D4 -/* 07F3BC 8007E7BC 8FAE027C */ lw $t6, 0x27c($sp) -.L8007E7C0: -/* 07F3C0 8007E7C0 862F0006 */ lh $t7, 6($s1) -/* 07F3C4 8007E7C4 00000000 */ nop -/* 07F3C8 8007E7C8 35F90004 */ ori $t9, $t7, 4 -/* 07F3CC 8007E7CC A6390006 */ sh $t9, 6($s1) -/* 07F3D0 8007E7D0 8FAE027C */ lw $t6, 0x27c($sp) -.L8007E7D4: -/* 07F3D4 8007E7D4 24010004 */ li $at, 4 -/* 07F3D8 8007E7D8 15C1005E */ bne $t6, $at, .L8007E954 -/* 07F3DC 8007E7DC 00E02025 */ move $a0, $a3 -/* 07F3E0 8007E7E0 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07F3E4 8007E7E4 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07F3E8 8007E7E8 02217821 */ addu $t7, $s1, $at -/* 07F3EC 8007E7EC 24E70008 */ addiu $a3, $a3, 8 -/* 07F3F0 8007E7F0 3C18FD70 */ lui $t8, 0xfd70 -/* 07F3F4 8007E7F4 AC980000 */ sw $t8, ($a0) -/* 07F3F8 8007E7F8 00E04825 */ move $t1, $a3 -/* 07F3FC 8007E7FC AC8F0004 */ sw $t7, 4($a0) -/* 07F400 8007E800 3C19F570 */ lui $t9, 0xf570 -/* 07F404 8007E804 AD390000 */ sw $t9, ($t1) -/* 07F408 8007E808 8FA20268 */ lw $v0, 0x268($sp) -/* 07F40C 8007E80C 8FA5026C */ lw $a1, 0x26c($sp) -/* 07F410 8007E810 8FA30260 */ lw $v1, 0x260($sp) -/* 07F414 8007E814 304E0003 */ andi $t6, $v0, 3 -/* 07F418 8007E818 000E1480 */ sll $v0, $t6, 0x12 -/* 07F41C 8007E81C 8FA60264 */ lw $a2, 0x264($sp) -/* 07F420 8007E820 30AE0003 */ andi $t6, $a1, 3 -/* 07F424 8007E824 306F000F */ andi $t7, $v1, 0xf -/* 07F428 8007E828 000F1B80 */ sll $v1, $t7, 0xe -/* 07F42C 8007E82C 000E2A00 */ sll $a1, $t6, 8 -/* 07F430 8007E830 3C010700 */ lui $at, 0x700 -/* 07F434 8007E834 00417025 */ or $t6, $v0, $at -/* 07F438 8007E838 30CF000F */ andi $t7, $a2, 0xf -/* 07F43C 8007E83C 000F3100 */ sll $a2, $t7, 4 -/* 07F440 8007E840 01C3C025 */ or $t8, $t6, $v1 -/* 07F444 8007E844 03057825 */ or $t7, $t8, $a1 -/* 07F448 8007E848 01E6C825 */ or $t9, $t7, $a2 -/* 07F44C 8007E84C 24E70008 */ addiu $a3, $a3, 8 -/* 07F450 8007E850 01B00019 */ multu $t5, $s0 -/* 07F454 8007E854 00E05025 */ move $t2, $a3 -/* 07F458 8007E858 AD390004 */ sw $t9, 4($t1) -/* 07F45C 8007E85C 3C0EE600 */ lui $t6, 0xe600 -/* 07F460 8007E860 AD4E0000 */ sw $t6, ($t2) -/* 07F464 8007E864 24E70008 */ addiu $a3, $a3, 8 -/* 07F468 8007E868 000D7840 */ sll $t7, $t5, 1 -/* 07F46C 8007E86C 25F90007 */ addiu $t9, $t7, 7 -/* 07F470 8007E870 00E05825 */ move $t3, $a3 -/* 07F474 8007E874 AD400004 */ sw $zero, 4($t2) -/* 07F478 8007E878 3C18F300 */ lui $t8, 0xf300 -/* 07F47C 8007E87C AD780000 */ sw $t8, ($t3) -/* 07F480 8007E880 001970C3 */ sra $t6, $t9, 3 -/* 07F484 8007E884 31D801FF */ andi $t8, $t6, 0x1ff -/* 07F488 8007E888 00187A40 */ sll $t7, $t8, 9 -/* 07F48C 8007E88C 0043C825 */ or $t9, $v0, $v1 -/* 07F490 8007E890 03257025 */ or $t6, $t9, $a1 -/* 07F494 8007E894 AFAF0030 */ sw $t7, 0x30($sp) -/* 07F498 8007E898 25AFFFFF */ addiu $t7, $t5, -1 -/* 07F49C 8007E89C 000FC880 */ sll $t9, $t7, 2 -/* 07F4A0 8007E8A0 01C6C025 */ or $t8, $t6, $a2 -/* 07F4A4 8007E8A4 332E0FFF */ andi $t6, $t9, 0xfff -/* 07F4A8 8007E8A8 AFB8002C */ sw $t8, 0x2c($sp) -/* 07F4AC 8007E8AC 260FFFFF */ addiu $t7, $s0, -1 -/* 07F4B0 8007E8B0 000FC880 */ sll $t9, $t7, 2 -/* 07F4B4 8007E8B4 000EC300 */ sll $t8, $t6, 0xc -/* 07F4B8 8007E8B8 00004012 */ mflo $t0 -/* 07F4BC 8007E8BC 2508FFFF */ addiu $t0, $t0, -1 -/* 07F4C0 8007E8C0 332E0FFF */ andi $t6, $t9, 0xfff -/* 07F4C4 8007E8C4 030E7825 */ or $t7, $t8, $t6 -/* 07F4C8 8007E8C8 290107FF */ slti $at, $t0, 0x7ff -/* 07F4CC 8007E8CC AFAF0028 */ sw $t7, 0x28($sp) -/* 07F4D0 8007E8D0 10200003 */ beqz $at, .L8007E8E0 -/* 07F4D4 8007E8D4 24E70008 */ addiu $a3, $a3, 8 -/* 07F4D8 8007E8D8 10000002 */ b .L8007E8E4 -/* 07F4DC 8007E8DC 01002025 */ move $a0, $t0 -.L8007E8E0: -/* 07F4E0 8007E8E0 240407FF */ li $a0, 2047 -.L8007E8E4: -/* 07F4E4 8007E8E4 30990FFF */ andi $t9, $a0, 0xfff -/* 07F4E8 8007E8E8 0019C300 */ sll $t8, $t9, 0xc -/* 07F4EC 8007E8EC 3C010700 */ lui $at, 0x700 -/* 07F4F0 8007E8F0 03017025 */ or $t6, $t8, $at -/* 07F4F4 8007E8F4 AD6E0004 */ sw $t6, 4($t3) -/* 07F4F8 8007E8F8 00E01025 */ move $v0, $a3 -/* 07F4FC 8007E8FC 3C0FE700 */ lui $t7, 0xe700 -/* 07F500 8007E900 AC4F0000 */ sw $t7, ($v0) -/* 07F504 8007E904 AC400004 */ sw $zero, 4($v0) -/* 07F508 8007E908 8FB90030 */ lw $t9, 0x30($sp) -/* 07F50C 8007E90C 24E70008 */ addiu $a3, $a3, 8 -/* 07F510 8007E910 3C01F570 */ lui $at, 0xf570 -/* 07F514 8007E914 00E01825 */ move $v1, $a3 -/* 07F518 8007E918 0321C025 */ or $t8, $t9, $at -/* 07F51C 8007E91C AC780000 */ sw $t8, ($v1) -/* 07F520 8007E920 8FAE002C */ lw $t6, 0x2c($sp) -/* 07F524 8007E924 24E70008 */ addiu $a3, $a3, 8 -/* 07F528 8007E928 00E02825 */ move $a1, $a3 -/* 07F52C 8007E92C 3C0FF200 */ lui $t7, 0xf200 -/* 07F530 8007E930 AC6E0004 */ sw $t6, 4($v1) -/* 07F534 8007E934 ACAF0000 */ sw $t7, ($a1) -/* 07F538 8007E938 8FB90028 */ lw $t9, 0x28($sp) -/* 07F53C 8007E93C 24E70008 */ addiu $a3, $a3, 8 -/* 07F540 8007E940 ACB90004 */ sw $t9, 4($a1) -/* 07F544 8007E944 86380006 */ lh $t8, 6($s1) -/* 07F548 8007E948 00000000 */ nop -/* 07F54C 8007E94C 370E0004 */ ori $t6, $t8, 4 -/* 07F550 8007E950 A62E0006 */ sh $t6, 6($s1) -.L8007E954: -/* 07F554 8007E954 8FAF027C */ lw $t7, 0x27c($sp) -/* 07F558 8007E958 24010005 */ li $at, 5 -/* 07F55C 8007E95C 15E1005D */ bne $t7, $at, .L8007EAD4 -/* 07F560 8007E960 00E02025 */ move $a0, $a3 -/* 07F564 8007E964 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07F568 8007E968 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07F56C 8007E96C 0221C021 */ addu $t8, $s1, $at -/* 07F570 8007E970 24E70008 */ addiu $a3, $a3, 8 -/* 07F574 8007E974 3C19FD70 */ lui $t9, 0xfd70 -/* 07F578 8007E978 AC990000 */ sw $t9, ($a0) -/* 07F57C 8007E97C 00E04025 */ move $t0, $a3 -/* 07F580 8007E980 AC980004 */ sw $t8, 4($a0) -/* 07F584 8007E984 3C0EF570 */ lui $t6, 0xf570 -/* 07F588 8007E988 AD0E0000 */ sw $t6, ($t0) -/* 07F58C 8007E98C 8FA20268 */ lw $v0, 0x268($sp) -/* 07F590 8007E990 8FA5026C */ lw $a1, 0x26c($sp) -/* 07F594 8007E994 8FA30260 */ lw $v1, 0x260($sp) -/* 07F598 8007E998 304F0003 */ andi $t7, $v0, 3 -/* 07F59C 8007E99C 000F1480 */ sll $v0, $t7, 0x12 -/* 07F5A0 8007E9A0 8FA60264 */ lw $a2, 0x264($sp) -/* 07F5A4 8007E9A4 30AF0003 */ andi $t7, $a1, 3 -/* 07F5A8 8007E9A8 3078000F */ andi $t8, $v1, 0xf -/* 07F5AC 8007E9AC 00181B80 */ sll $v1, $t8, 0xe -/* 07F5B0 8007E9B0 000F2A00 */ sll $a1, $t7, 8 -/* 07F5B4 8007E9B4 3C010700 */ lui $at, 0x700 -/* 07F5B8 8007E9B8 00417825 */ or $t7, $v0, $at -/* 07F5BC 8007E9BC 30D8000F */ andi $t8, $a2, 0xf -/* 07F5C0 8007E9C0 01B00019 */ multu $t5, $s0 -/* 07F5C4 8007E9C4 00183100 */ sll $a2, $t8, 4 -/* 07F5C8 8007E9C8 01E3C825 */ or $t9, $t7, $v1 -/* 07F5CC 8007E9CC 0325C025 */ or $t8, $t9, $a1 -/* 07F5D0 8007E9D0 03067025 */ or $t6, $t8, $a2 -/* 07F5D4 8007E9D4 24E70008 */ addiu $a3, $a3, 8 -/* 07F5D8 8007E9D8 00E04825 */ move $t1, $a3 -/* 07F5DC 8007E9DC AD0E0004 */ sw $t6, 4($t0) -/* 07F5E0 8007E9E0 24E70008 */ addiu $a3, $a3, 8 -/* 07F5E4 8007E9E4 3C0FE600 */ lui $t7, 0xe600 -/* 07F5E8 8007E9E8 AD2F0000 */ sw $t7, ($t1) -/* 07F5EC 8007E9EC 00E05825 */ move $t3, $a3 -/* 07F5F0 8007E9F0 AD200004 */ sw $zero, 4($t1) -/* 07F5F4 8007E9F4 0043C025 */ or $t8, $v0, $v1 -/* 07F5F8 8007E9F8 3C19F300 */ lui $t9, 0xf300 -/* 07F5FC 8007E9FC AD790000 */ sw $t9, ($t3) -/* 07F600 8007EA00 03057025 */ or $t6, $t8, $a1 -/* 07F604 8007EA04 25B9FFFF */ addiu $t9, $t5, -1 -/* 07F608 8007EA08 0019C080 */ sll $t8, $t9, 2 -/* 07F60C 8007EA0C 01C67825 */ or $t7, $t6, $a2 -/* 07F610 8007EA10 330E0FFF */ andi $t6, $t8, 0xfff -/* 07F614 8007EA14 AFAF002C */ sw $t7, 0x2c($sp) -/* 07F618 8007EA18 2619FFFF */ addiu $t9, $s0, -1 -/* 07F61C 8007EA1C 0019C080 */ sll $t8, $t9, 2 -/* 07F620 8007EA20 000E7B00 */ sll $t7, $t6, 0xc -/* 07F624 8007EA24 00005012 */ mflo $t2 -/* 07F628 8007EA28 25480001 */ addiu $t0, $t2, 1 -/* 07F62C 8007EA2C 330E0FFF */ andi $t6, $t8, 0xfff -/* 07F630 8007EA30 0008C043 */ sra $t8, $t0, 1 -/* 07F634 8007EA34 2708FFFF */ addiu $t0, $t8, -1 -/* 07F638 8007EA38 290107FF */ slti $at, $t0, 0x7ff -/* 07F63C 8007EA3C 01EEC825 */ or $t9, $t7, $t6 -/* 07F640 8007EA40 AFB90028 */ sw $t9, 0x28($sp) -/* 07F644 8007EA44 10200003 */ beqz $at, .L8007EA54 -/* 07F648 8007EA48 24E70008 */ addiu $a3, $a3, 8 -/* 07F64C 8007EA4C 10000002 */ b .L8007EA58 -/* 07F650 8007EA50 01002025 */ move $a0, $t0 -.L8007EA54: -/* 07F654 8007EA54 240407FF */ li $a0, 2047 -.L8007EA58: -/* 07F658 8007EA58 308F0FFF */ andi $t7, $a0, 0xfff -/* 07F65C 8007EA5C 000F7300 */ sll $t6, $t7, 0xc -/* 07F660 8007EA60 3C010700 */ lui $at, 0x700 -/* 07F664 8007EA64 01C1C825 */ or $t9, $t6, $at -/* 07F668 8007EA68 AD790004 */ sw $t9, 4($t3) -/* 07F66C 8007EA6C 25AF0007 */ addiu $t7, $t5, 7 -/* 07F670 8007EA70 000F70C3 */ sra $t6, $t7, 3 -/* 07F674 8007EA74 00E01025 */ move $v0, $a3 -/* 07F678 8007EA78 3C18E700 */ lui $t8, 0xe700 -/* 07F67C 8007EA7C AC580000 */ sw $t8, ($v0) -/* 07F680 8007EA80 31D901FF */ andi $t9, $t6, 0x1ff -/* 07F684 8007EA84 0019C240 */ sll $t8, $t9, 9 -/* 07F688 8007EA88 24E70008 */ addiu $a3, $a3, 8 -/* 07F68C 8007EA8C 3C01F568 */ lui $at, 0xf568 -/* 07F690 8007EA90 03017825 */ or $t7, $t8, $at -/* 07F694 8007EA94 00E01825 */ move $v1, $a3 -/* 07F698 8007EA98 AC400004 */ sw $zero, 4($v0) -/* 07F69C 8007EA9C AC6F0000 */ sw $t7, ($v1) -/* 07F6A0 8007EAA0 8FAE002C */ lw $t6, 0x2c($sp) -/* 07F6A4 8007EAA4 24E70008 */ addiu $a3, $a3, 8 -/* 07F6A8 8007EAA8 00E02825 */ move $a1, $a3 -/* 07F6AC 8007EAAC 3C19F200 */ lui $t9, 0xf200 -/* 07F6B0 8007EAB0 AC6E0004 */ sw $t6, 4($v1) -/* 07F6B4 8007EAB4 ACB90000 */ sw $t9, ($a1) -/* 07F6B8 8007EAB8 8FB80028 */ lw $t8, 0x28($sp) -/* 07F6BC 8007EABC 24E70008 */ addiu $a3, $a3, 8 -/* 07F6C0 8007EAC0 ACB80004 */ sw $t8, 4($a1) -/* 07F6C4 8007EAC4 862F0006 */ lh $t7, 6($s1) -/* 07F6C8 8007EAC8 00000000 */ nop -/* 07F6CC 8007EACC 35EE0004 */ ori $t6, $t7, 4 -/* 07F6D0 8007EAD0 A62E0006 */ sh $t6, 6($s1) -.L8007EAD4: -/* 07F6D4 8007EAD4 8FB9027C */ lw $t9, 0x27c($sp) -/* 07F6D8 8007EAD8 24010006 */ li $at, 6 -/* 07F6DC 8007EADC 1721005E */ bne $t9, $at, .L8007EC58 -/* 07F6E0 8007EAE0 00E02025 */ move $a0, $a3 -/* 07F6E4 8007EAE4 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07F6E8 8007EAE8 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07F6EC 8007EAEC 02217821 */ addu $t7, $s1, $at -/* 07F6F0 8007EAF0 24E70008 */ addiu $a3, $a3, 8 -/* 07F6F4 8007EAF4 3C18FD70 */ lui $t8, 0xfd70 -/* 07F6F8 8007EAF8 AC980000 */ sw $t8, ($a0) -/* 07F6FC 8007EAFC 00E04825 */ move $t1, $a3 -/* 07F700 8007EB00 AC8F0004 */ sw $t7, 4($a0) -/* 07F704 8007EB04 3C0EF570 */ lui $t6, 0xf570 -/* 07F708 8007EB08 AD2E0000 */ sw $t6, ($t1) -/* 07F70C 8007EB0C 8FA20268 */ lw $v0, 0x268($sp) -/* 07F710 8007EB10 8FA5026C */ lw $a1, 0x26c($sp) -/* 07F714 8007EB14 8FA30260 */ lw $v1, 0x260($sp) -/* 07F718 8007EB18 30590003 */ andi $t9, $v0, 3 -/* 07F71C 8007EB1C 00191480 */ sll $v0, $t9, 0x12 -/* 07F720 8007EB20 8FA60264 */ lw $a2, 0x264($sp) -/* 07F724 8007EB24 30B90003 */ andi $t9, $a1, 3 -/* 07F728 8007EB28 306F000F */ andi $t7, $v1, 0xf -/* 07F72C 8007EB2C 000F1B80 */ sll $v1, $t7, 0xe -/* 07F730 8007EB30 00192A00 */ sll $a1, $t9, 8 -/* 07F734 8007EB34 3C010700 */ lui $at, 0x700 -/* 07F738 8007EB38 0041C825 */ or $t9, $v0, $at -/* 07F73C 8007EB3C 30CF000F */ andi $t7, $a2, 0xf -/* 07F740 8007EB40 000F3100 */ sll $a2, $t7, 4 -/* 07F744 8007EB44 0323C025 */ or $t8, $t9, $v1 -/* 07F748 8007EB48 01B00019 */ multu $t5, $s0 -/* 07F74C 8007EB4C 03057825 */ or $t7, $t8, $a1 -/* 07F750 8007EB50 01E67025 */ or $t6, $t7, $a2 -/* 07F754 8007EB54 24E70008 */ addiu $a3, $a3, 8 -/* 07F758 8007EB58 00E05025 */ move $t2, $a3 -/* 07F75C 8007EB5C AD2E0004 */ sw $t6, 4($t1) -/* 07F760 8007EB60 24E70008 */ addiu $a3, $a3, 8 -/* 07F764 8007EB64 3C19E600 */ lui $t9, 0xe600 -/* 07F768 8007EB68 AD590000 */ sw $t9, ($t2) -/* 07F76C 8007EB6C 00E05825 */ move $t3, $a3 -/* 07F770 8007EB70 AD400004 */ sw $zero, 4($t2) -/* 07F774 8007EB74 00437825 */ or $t7, $v0, $v1 -/* 07F778 8007EB78 3C18F300 */ lui $t8, 0xf300 -/* 07F77C 8007EB7C AD780000 */ sw $t8, ($t3) -/* 07F780 8007EB80 01E57025 */ or $t6, $t7, $a1 -/* 07F784 8007EB84 25B8FFFF */ addiu $t8, $t5, -1 -/* 07F788 8007EB88 00187880 */ sll $t7, $t8, 2 -/* 07F78C 8007EB8C 01C6C825 */ or $t9, $t6, $a2 -/* 07F790 8007EB90 31EE0FFF */ andi $t6, $t7, 0xfff -/* 07F794 8007EB94 AFB9002C */ sw $t9, 0x2c($sp) -/* 07F798 8007EB98 2618FFFF */ addiu $t8, $s0, -1 -/* 07F79C 8007EB9C 00187880 */ sll $t7, $t8, 2 -/* 07F7A0 8007EBA0 000ECB00 */ sll $t9, $t6, 0xc -/* 07F7A4 8007EBA4 31EE0FFF */ andi $t6, $t7, 0xfff -/* 07F7A8 8007EBA8 00004012 */ mflo $t0 -/* 07F7AC 8007EBAC 25080003 */ addiu $t0, $t0, 3 -/* 07F7B0 8007EBB0 000DF843 */ sra $ra, $t5, 1 -/* 07F7B4 8007EBB4 27FF0007 */ addiu $ra, $ra, 7 -/* 07F7B8 8007EBB8 00087883 */ sra $t7, $t0, 2 -/* 07F7BC 8007EBBC 032EC025 */ or $t8, $t9, $t6 -/* 07F7C0 8007EBC0 001FC8C3 */ sra $t9, $ra, 3 -/* 07F7C4 8007EBC4 25E8FFFF */ addiu $t0, $t7, -1 -/* 07F7C8 8007EBC8 290107FF */ slti $at, $t0, 0x7ff -/* 07F7CC 8007EBCC 332E01FF */ andi $t6, $t9, 0x1ff -/* 07F7D0 8007EBD0 000EFA40 */ sll $ra, $t6, 9 -/* 07F7D4 8007EBD4 AFB80028 */ sw $t8, 0x28($sp) -/* 07F7D8 8007EBD8 10200003 */ beqz $at, .L8007EBE8 -/* 07F7DC 8007EBDC 24E70008 */ addiu $a3, $a3, 8 -/* 07F7E0 8007EBE0 10000002 */ b .L8007EBEC -/* 07F7E4 8007EBE4 01002025 */ move $a0, $t0 -.L8007EBE8: -/* 07F7E8 8007EBE8 240407FF */ li $a0, 2047 -.L8007EBEC: -/* 07F7EC 8007EBEC 308F0FFF */ andi $t7, $a0, 0xfff -/* 07F7F0 8007EBF0 000FCB00 */ sll $t9, $t7, 0xc -/* 07F7F4 8007EBF4 3C010700 */ lui $at, 0x700 -/* 07F7F8 8007EBF8 03217025 */ or $t6, $t9, $at -/* 07F7FC 8007EBFC 00E01025 */ move $v0, $a3 -/* 07F800 8007EC00 AD6E0004 */ sw $t6, 4($t3) -/* 07F804 8007EC04 24E70008 */ addiu $a3, $a3, 8 -/* 07F808 8007EC08 3C01F560 */ lui $at, 0xf560 -/* 07F80C 8007EC0C 3C18E700 */ lui $t8, 0xe700 -/* 07F810 8007EC10 AC580000 */ sw $t8, ($v0) -/* 07F814 8007EC14 03E17825 */ or $t7, $ra, $at -/* 07F818 8007EC18 00E01825 */ move $v1, $a3 -/* 07F81C 8007EC1C AC400004 */ sw $zero, 4($v0) -/* 07F820 8007EC20 AC6F0000 */ sw $t7, ($v1) -/* 07F824 8007EC24 8FB9002C */ lw $t9, 0x2c($sp) -/* 07F828 8007EC28 24E70008 */ addiu $a3, $a3, 8 -/* 07F82C 8007EC2C 00E02825 */ move $a1, $a3 -/* 07F830 8007EC30 3C0EF200 */ lui $t6, 0xf200 -/* 07F834 8007EC34 AC790004 */ sw $t9, 4($v1) -/* 07F838 8007EC38 ACAE0000 */ sw $t6, ($a1) -/* 07F83C 8007EC3C 8FB80028 */ lw $t8, 0x28($sp) -/* 07F840 8007EC40 24E70008 */ addiu $a3, $a3, 8 -/* 07F844 8007EC44 ACB80004 */ sw $t8, 4($a1) -/* 07F848 8007EC48 862F0006 */ lh $t7, 6($s1) -/* 07F84C 8007EC4C 00000000 */ nop -/* 07F850 8007EC50 35F90004 */ ori $t9, $t7, 4 -/* 07F854 8007EC54 A6390006 */ sh $t9, 6($s1) -.L8007EC58: -/* 07F858 8007EC58 8FAE027C */ lw $t6, 0x27c($sp) -/* 07F85C 8007EC5C 24010002 */ li $at, 2 -/* 07F860 8007EC60 15C10059 */ bne $t6, $at, .L8007EDC8 -/* 07F864 8007EC64 00E02025 */ move $a0, $a3 -/* 07F868 8007EC68 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07F86C 8007EC6C 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07F870 8007EC70 02217821 */ addu $t7, $s1, $at -/* 07F874 8007EC74 24E70008 */ addiu $a3, $a3, 8 -/* 07F878 8007EC78 3C18FD90 */ lui $t8, 0xfd90 -/* 07F87C 8007EC7C AC980000 */ sw $t8, ($a0) -/* 07F880 8007EC80 00E04825 */ move $t1, $a3 -/* 07F884 8007EC84 AC8F0004 */ sw $t7, 4($a0) -/* 07F888 8007EC88 3C19F590 */ lui $t9, 0xf590 -/* 07F88C 8007EC8C AD390000 */ sw $t9, ($t1) -/* 07F890 8007EC90 8FA20268 */ lw $v0, 0x268($sp) -/* 07F894 8007EC94 8FA5026C */ lw $a1, 0x26c($sp) -/* 07F898 8007EC98 8FA30260 */ lw $v1, 0x260($sp) -/* 07F89C 8007EC9C 304E0003 */ andi $t6, $v0, 3 -/* 07F8A0 8007ECA0 000E1480 */ sll $v0, $t6, 0x12 -/* 07F8A4 8007ECA4 8FA60264 */ lw $a2, 0x264($sp) -/* 07F8A8 8007ECA8 30AE0003 */ andi $t6, $a1, 3 -/* 07F8AC 8007ECAC 306F000F */ andi $t7, $v1, 0xf -/* 07F8B0 8007ECB0 000F1B80 */ sll $v1, $t7, 0xe -/* 07F8B4 8007ECB4 000E2A00 */ sll $a1, $t6, 8 -/* 07F8B8 8007ECB8 3C010700 */ lui $at, 0x700 -/* 07F8BC 8007ECBC 00417025 */ or $t6, $v0, $at -/* 07F8C0 8007ECC0 30CF000F */ andi $t7, $a2, 0xf -/* 07F8C4 8007ECC4 000F3100 */ sll $a2, $t7, 4 -/* 07F8C8 8007ECC8 01C3C025 */ or $t8, $t6, $v1 -/* 07F8CC 8007ECCC 01B00019 */ multu $t5, $s0 -/* 07F8D0 8007ECD0 03057825 */ or $t7, $t8, $a1 -/* 07F8D4 8007ECD4 01E6C825 */ or $t9, $t7, $a2 -/* 07F8D8 8007ECD8 24E70008 */ addiu $a3, $a3, 8 -/* 07F8DC 8007ECDC 00E05025 */ move $t2, $a3 -/* 07F8E0 8007ECE0 AD390004 */ sw $t9, 4($t1) -/* 07F8E4 8007ECE4 24E70008 */ addiu $a3, $a3, 8 -/* 07F8E8 8007ECE8 3C0EE600 */ lui $t6, 0xe600 -/* 07F8EC 8007ECEC AD4E0000 */ sw $t6, ($t2) -/* 07F8F0 8007ECF0 00E05825 */ move $t3, $a3 -/* 07F8F4 8007ECF4 AD400004 */ sw $zero, 4($t2) -/* 07F8F8 8007ECF8 00437825 */ or $t7, $v0, $v1 -/* 07F8FC 8007ECFC 3C18F300 */ lui $t8, 0xf300 -/* 07F900 8007ED00 AD780000 */ sw $t8, ($t3) -/* 07F904 8007ED04 01E5C825 */ or $t9, $t7, $a1 -/* 07F908 8007ED08 25B8FFFF */ addiu $t8, $t5, -1 -/* 07F90C 8007ED0C 00187880 */ sll $t7, $t8, 2 -/* 07F910 8007ED10 03267025 */ or $t6, $t9, $a2 -/* 07F914 8007ED14 31F90FFF */ andi $t9, $t7, 0xfff -/* 07F918 8007ED18 AFAE002C */ sw $t6, 0x2c($sp) -/* 07F91C 8007ED1C 2618FFFF */ addiu $t8, $s0, -1 -/* 07F920 8007ED20 00187880 */ sll $t7, $t8, 2 -/* 07F924 8007ED24 00197300 */ sll $t6, $t9, 0xc -/* 07F928 8007ED28 31F90FFF */ andi $t9, $t7, 0xfff -/* 07F92C 8007ED2C 00004012 */ mflo $t0 -/* 07F930 8007ED30 25080001 */ addiu $t0, $t0, 1 -/* 07F934 8007ED34 00087843 */ sra $t7, $t0, 1 -/* 07F938 8007ED38 01D9C025 */ or $t8, $t6, $t9 -/* 07F93C 8007ED3C 25AC0007 */ addiu $t4, $t5, 7 -/* 07F940 8007ED40 000C70C3 */ sra $t6, $t4, 3 -/* 07F944 8007ED44 25E8FFFF */ addiu $t0, $t7, -1 -/* 07F948 8007ED48 290107FF */ slti $at, $t0, 0x7ff -/* 07F94C 8007ED4C 31D901FF */ andi $t9, $t6, 0x1ff -/* 07F950 8007ED50 00196240 */ sll $t4, $t9, 9 -/* 07F954 8007ED54 AFB80028 */ sw $t8, 0x28($sp) -/* 07F958 8007ED58 10200003 */ beqz $at, .L8007ED68 -/* 07F95C 8007ED5C 24E70008 */ addiu $a3, $a3, 8 -/* 07F960 8007ED60 10000002 */ b .L8007ED6C -/* 07F964 8007ED64 01002025 */ move $a0, $t0 -.L8007ED68: -/* 07F968 8007ED68 240407FF */ li $a0, 2047 -.L8007ED6C: -/* 07F96C 8007ED6C 308F0FFF */ andi $t7, $a0, 0xfff -/* 07F970 8007ED70 000F7300 */ sll $t6, $t7, 0xc -/* 07F974 8007ED74 3C010700 */ lui $at, 0x700 -/* 07F978 8007ED78 01C1C825 */ or $t9, $t6, $at -/* 07F97C 8007ED7C 00E01025 */ move $v0, $a3 -/* 07F980 8007ED80 AD790004 */ sw $t9, 4($t3) -/* 07F984 8007ED84 24E70008 */ addiu $a3, $a3, 8 -/* 07F988 8007ED88 3C01F588 */ lui $at, 0xf588 -/* 07F98C 8007ED8C 3C18E700 */ lui $t8, 0xe700 -/* 07F990 8007ED90 AC580000 */ sw $t8, ($v0) -/* 07F994 8007ED94 01817825 */ or $t7, $t4, $at -/* 07F998 8007ED98 00E01825 */ move $v1, $a3 -/* 07F99C 8007ED9C AC400004 */ sw $zero, 4($v0) -/* 07F9A0 8007EDA0 AC6F0000 */ sw $t7, ($v1) -/* 07F9A4 8007EDA4 8FAE002C */ lw $t6, 0x2c($sp) -/* 07F9A8 8007EDA8 24E70008 */ addiu $a3, $a3, 8 -/* 07F9AC 8007EDAC 00E02825 */ move $a1, $a3 -/* 07F9B0 8007EDB0 3C19F200 */ lui $t9, 0xf200 -/* 07F9B4 8007EDB4 AC6E0004 */ sw $t6, 4($v1) -/* 07F9B8 8007EDB8 ACB90000 */ sw $t9, ($a1) -/* 07F9BC 8007EDBC 8FB80028 */ lw $t8, 0x28($sp) -/* 07F9C0 8007EDC0 24E70008 */ addiu $a3, $a3, 8 -/* 07F9C4 8007EDC4 ACB80004 */ sw $t8, 4($a1) -.L8007EDC8: -/* 07F9C8 8007EDC8 8FAF027C */ lw $t7, 0x27c($sp) -/* 07F9CC 8007EDCC 24010003 */ li $at, 3 -/* 07F9D0 8007EDD0 15E1005A */ bne $t7, $at, .L8007EF3C -/* 07F9D4 8007EDD4 00E02025 */ move $a0, $a3 -/* 07F9D8 8007EDD8 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 07F9DC 8007EDDC 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 07F9E0 8007EDE0 0221C821 */ addu $t9, $s1, $at -/* 07F9E4 8007EDE4 24E70008 */ addiu $a3, $a3, 8 -/* 07F9E8 8007EDE8 3C0EFD90 */ lui $t6, 0xfd90 -/* 07F9EC 8007EDEC AC8E0000 */ sw $t6, ($a0) -/* 07F9F0 8007EDF0 00E04825 */ move $t1, $a3 -/* 07F9F4 8007EDF4 AC990004 */ sw $t9, 4($a0) -/* 07F9F8 8007EDF8 3C18F590 */ lui $t8, 0xf590 -/* 07F9FC 8007EDFC AD380000 */ sw $t8, ($t1) -/* 07FA00 8007EE00 8FA20268 */ lw $v0, 0x268($sp) -/* 07FA04 8007EE04 8FA5026C */ lw $a1, 0x26c($sp) -/* 07FA08 8007EE08 8FA30260 */ lw $v1, 0x260($sp) -/* 07FA0C 8007EE0C 304F0003 */ andi $t7, $v0, 3 -/* 07FA10 8007EE10 000F1480 */ sll $v0, $t7, 0x12 -/* 07FA14 8007EE14 8FA60264 */ lw $a2, 0x264($sp) -/* 07FA18 8007EE18 30AF0003 */ andi $t7, $a1, 3 -/* 07FA1C 8007EE1C 3079000F */ andi $t9, $v1, 0xf -/* 07FA20 8007EE20 00191B80 */ sll $v1, $t9, 0xe -/* 07FA24 8007EE24 000F2A00 */ sll $a1, $t7, 8 -/* 07FA28 8007EE28 3C010700 */ lui $at, 0x700 -/* 07FA2C 8007EE2C 00417825 */ or $t7, $v0, $at -/* 07FA30 8007EE30 30D9000F */ andi $t9, $a2, 0xf -/* 07FA34 8007EE34 00193100 */ sll $a2, $t9, 4 -/* 07FA38 8007EE38 01E37025 */ or $t6, $t7, $v1 -/* 07FA3C 8007EE3C 01B00019 */ multu $t5, $s0 -/* 07FA40 8007EE40 01C5C825 */ or $t9, $t6, $a1 -/* 07FA44 8007EE44 0326C025 */ or $t8, $t9, $a2 -/* 07FA48 8007EE48 24E70008 */ addiu $a3, $a3, 8 -/* 07FA4C 8007EE4C 00E05025 */ move $t2, $a3 -/* 07FA50 8007EE50 AD380004 */ sw $t8, 4($t1) -/* 07FA54 8007EE54 24E70008 */ addiu $a3, $a3, 8 -/* 07FA58 8007EE58 3C0FE600 */ lui $t7, 0xe600 -/* 07FA5C 8007EE5C AD4F0000 */ sw $t7, ($t2) -/* 07FA60 8007EE60 00E05825 */ move $t3, $a3 -/* 07FA64 8007EE64 AD400004 */ sw $zero, 4($t2) -/* 07FA68 8007EE68 0043C825 */ or $t9, $v0, $v1 -/* 07FA6C 8007EE6C 3C0EF300 */ lui $t6, 0xf300 -/* 07FA70 8007EE70 AD6E0000 */ sw $t6, ($t3) -/* 07FA74 8007EE74 0325C025 */ or $t8, $t9, $a1 -/* 07FA78 8007EE78 25AEFFFF */ addiu $t6, $t5, -1 -/* 07FA7C 8007EE7C 000EC880 */ sll $t9, $t6, 2 -/* 07FA80 8007EE80 03067825 */ or $t7, $t8, $a2 -/* 07FA84 8007EE84 33380FFF */ andi $t8, $t9, 0xfff -/* 07FA88 8007EE88 AFAF002C */ sw $t7, 0x2c($sp) -/* 07FA8C 8007EE8C 260EFFFF */ addiu $t6, $s0, -1 -/* 07FA90 8007EE90 000EC880 */ sll $t9, $t6, 2 -/* 07FA94 8007EE94 00187B00 */ sll $t7, $t8, 0xc -/* 07FA98 8007EE98 33380FFF */ andi $t8, $t9, 0xfff -/* 07FA9C 8007EE9C 00004012 */ mflo $t0 -/* 07FAA0 8007EEA0 25080003 */ addiu $t0, $t0, 3 -/* 07FAA4 8007EEA4 000DF843 */ sra $ra, $t5, 1 -/* 07FAA8 8007EEA8 27FF0007 */ addiu $ra, $ra, 7 -/* 07FAAC 8007EEAC 0008C883 */ sra $t9, $t0, 2 -/* 07FAB0 8007EEB0 01F87025 */ or $t6, $t7, $t8 -/* 07FAB4 8007EEB4 001F78C3 */ sra $t7, $ra, 3 -/* 07FAB8 8007EEB8 2728FFFF */ addiu $t0, $t9, -1 -/* 07FABC 8007EEBC 290107FF */ slti $at, $t0, 0x7ff -/* 07FAC0 8007EEC0 31F801FF */ andi $t8, $t7, 0x1ff -/* 07FAC4 8007EEC4 0018FA40 */ sll $ra, $t8, 9 -/* 07FAC8 8007EEC8 AFAE0028 */ sw $t6, 0x28($sp) -/* 07FACC 8007EECC 10200003 */ beqz $at, .L8007EEDC -/* 07FAD0 8007EED0 24E70008 */ addiu $a3, $a3, 8 -/* 07FAD4 8007EED4 10000002 */ b .L8007EEE0 -/* 07FAD8 8007EED8 01002025 */ move $a0, $t0 -.L8007EEDC: -/* 07FADC 8007EEDC 240407FF */ li $a0, 2047 -.L8007EEE0: -/* 07FAE0 8007EEE0 30990FFF */ andi $t9, $a0, 0xfff -/* 07FAE4 8007EEE4 00197B00 */ sll $t7, $t9, 0xc -/* 07FAE8 8007EEE8 3C010700 */ lui $at, 0x700 -/* 07FAEC 8007EEEC 01E1C025 */ or $t8, $t7, $at -/* 07FAF0 8007EEF0 00E01025 */ move $v0, $a3 -/* 07FAF4 8007EEF4 AD780004 */ sw $t8, 4($t3) -/* 07FAF8 8007EEF8 24E70008 */ addiu $a3, $a3, 8 -/* 07FAFC 8007EEFC 3C01F580 */ lui $at, 0xf580 -/* 07FB00 8007EF00 3C0EE700 */ lui $t6, 0xe700 -/* 07FB04 8007EF04 AC4E0000 */ sw $t6, ($v0) -/* 07FB08 8007EF08 03E1C825 */ or $t9, $ra, $at -/* 07FB0C 8007EF0C 00E01825 */ move $v1, $a3 -/* 07FB10 8007EF10 AC400004 */ sw $zero, 4($v0) -/* 07FB14 8007EF14 AC790000 */ sw $t9, ($v1) -/* 07FB18 8007EF18 8FAF002C */ lw $t7, 0x2c($sp) -/* 07FB1C 8007EF1C 24E70008 */ addiu $a3, $a3, 8 -/* 07FB20 8007EF20 00E02825 */ move $a1, $a3 -/* 07FB24 8007EF24 3C18F200 */ lui $t8, 0xf200 -/* 07FB28 8007EF28 AC6F0004 */ sw $t7, 4($v1) -/* 07FB2C 8007EF2C ACB80000 */ sw $t8, ($a1) -/* 07FB30 8007EF30 8FAE0028 */ lw $t6, 0x28($sp) -/* 07FB34 8007EF34 24E70008 */ addiu $a3, $a3, 8 -/* 07FB38 8007EF38 ACAE0004 */ sw $t6, 4($a1) -.L8007EF3C: -/* 07FB3C 8007EF3C 8E39000C */ lw $t9, 0xc($s1) -/* 07FB40 8007EF40 00000000 */ nop -/* 07FB44 8007EF44 00F97823 */ subu $t7, $a3, $t9 -/* 07FB48 8007EF48 000FC0C3 */ sra $t8, $t7, 3 -/* 07FB4C 8007EF4C A638000A */ sh $t8, 0xa($s1) -.L8007EF50: -/* 07FB50 8007EF50 8FBF001C */ lw $ra, 0x1c($sp) -/* 07FB54 8007EF54 8FB00014 */ lw $s0, 0x14($sp) -/* 07FB58 8007EF58 8FB10018 */ lw $s1, 0x18($sp) -/* 07FB5C 8007EF5C 03E00008 */ jr $ra -/* 07FB60 8007EF60 27BD0280 */ addiu $sp, $sp, 0x280 - diff --git a/asm/non_matchings/textures_sprites/func_8007C12C.s b/asm/non_matchings/textures_sprites/func_8007C12C.s deleted file mode 100644 index 42db0726..00000000 --- a/asm/non_matchings/textures_sprites/func_8007C12C.s +++ /dev/null @@ -1,281 +0,0 @@ -glabel func_8007C12C -/* 07CD2C 8007C12C 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 07CD30 8007C130 AFB10018 */ sw $s1, 0x18($sp) -/* 07CD34 8007C134 3C018012 */ lui $at, %hi(D_8012635C) # $at, 0x8012 -/* 07CD38 8007C138 00808825 */ move $s1, $a0 -/* 07CD3C 8007C13C AFBF002C */ sw $ra, 0x2c($sp) -/* 07CD40 8007C140 AFB50028 */ sw $s5, 0x28($sp) -/* 07CD44 8007C144 AFB40024 */ sw $s4, 0x24($sp) -/* 07CD48 8007C148 AFB30020 */ sw $s3, 0x20($sp) -/* 07CD4C 8007C14C AFB2001C */ sw $s2, 0x1c($sp) -/* 07CD50 8007C150 AFB00014 */ sw $s0, 0x14($sp) -/* 07CD54 8007C154 04800007 */ bltz $a0, .L8007C174 -/* 07CD58 8007C158 AC25635C */ sw $a1, %lo(D_8012635C)($at) -/* 07CD5C 8007C15C 3C0E8012 */ lui $t6, %hi(gSpriteTableNum) # $t6, 0x8012 -/* 07CD60 8007C160 8DCE6354 */ lw $t6, %lo(gSpriteTableNum)($t6) -/* 07CD64 8007C164 3C0A8012 */ lui $t2, %hi(D_80126358) # $t2, 0x8012 -/* 07CD68 8007C168 008E082A */ slt $at, $a0, $t6 -/* 07CD6C 8007C16C 14200003 */ bnez $at, .L8007C17C -/* 07CD70 8007C170 254A6358 */ addiu $t2, %lo(D_80126358) # addiu $t2, $t2, 0x6358 -.L8007C174: -/* 07CD74 8007C174 100000E4 */ b .L8007C508 -/* 07CD78 8007C178 00001025 */ move $v0, $zero -.L8007C17C: -/* 07CD7C 8007C17C 8D440000 */ lw $a0, ($t2) -/* 07CD80 8007C180 00008025 */ move $s0, $zero -/* 07CD84 8007C184 18800014 */ blez $a0, .L8007C1D8 -/* 07CD88 8007C188 00004825 */ move $t1, $zero -/* 07CD8C 8007C18C 3C028012 */ lui $v0, %hi(gSpriteCache) # $v0, 0x8012 -/* 07CD90 8007C190 8C42634C */ lw $v0, %lo(gSpriteCache)($v0) -/* 07CD94 8007C194 00000000 */ nop -/* 07CD98 8007C198 0010C0C0 */ sll $t8, $s0, 3 -.L8007C19C: -/* 07CD9C 8007C19C 00581821 */ addu $v1, $v0, $t8 -/* 07CDA0 8007C1A0 8C790000 */ lw $t9, ($v1) -/* 07CDA4 8007C1A4 26100001 */ addiu $s0, $s0, 1 -/* 07CDA8 8007C1A8 16390008 */ bne $s1, $t9, .L8007C1CC -/* 07CDAC 8007C1AC 0204082A */ slt $at, $s0, $a0 -/* 07CDB0 8007C1B0 8C620004 */ lw $v0, 4($v1) -/* 07CDB4 8007C1B4 00000000 */ nop -/* 07CDB8 8007C1B8 844B0004 */ lh $t3, 4($v0) -/* 07CDBC 8007C1BC 00000000 */ nop -/* 07CDC0 8007C1C0 256C0001 */ addiu $t4, $t3, 1 -/* 07CDC4 8007C1C4 100000D0 */ b .L8007C508 -/* 07CDC8 8007C1C8 A44C0004 */ sh $t4, 4($v0) -.L8007C1CC: -/* 07CDCC 8007C1CC 1420FFF3 */ bnez $at, .L8007C19C -/* 07CDD0 8007C1D0 0010C0C0 */ sll $t8, $s0, 3 -/* 07CDD4 8007C1D4 00008025 */ move $s0, $zero -.L8007C1D8: -/* 07CDD8 8007C1D8 1880000F */ blez $a0, .L8007C218 -/* 07CDDC 8007C1DC 2408FFFF */ li $t0, -1 -/* 07CDE0 8007C1E0 3C028012 */ lui $v0, %hi(gSpriteCache) # $v0, 0x8012 -/* 07CDE4 8007C1E4 8C42634C */ lw $v0, %lo(gSpriteCache)($v0) -/* 07CDE8 8007C1E8 2403FFFF */ li $v1, -1 -/* 07CDEC 8007C1EC 001070C0 */ sll $t6, $s0, 3 -.L8007C1F0: -/* 07CDF0 8007C1F0 004E7821 */ addu $t7, $v0, $t6 -/* 07CDF4 8007C1F4 8DF80000 */ lw $t8, ($t7) -/* 07CDF8 8007C1F8 00000000 */ nop -/* 07CDFC 8007C1FC 14780002 */ bne $v1, $t8, .L8007C208 -/* 07CE00 8007C200 00000000 */ nop -/* 07CE04 8007C204 02004025 */ move $t0, $s0 -.L8007C208: -/* 07CE08 8007C208 26100001 */ addiu $s0, $s0, 1 -/* 07CE0C 8007C20C 0204082A */ slt $at, $s0, $a0 -/* 07CE10 8007C210 1420FFF7 */ bnez $at, .L8007C1F0 -/* 07CE14 8007C214 001070C0 */ sll $t6, $s0, 3 -.L8007C218: -/* 07CE18 8007C218 2403FFFF */ li $v1, -1 -/* 07CE1C 8007C21C 15030005 */ bne $t0, $v1, .L8007C234 -/* 07CE20 8007C220 3C0B8012 */ lui $t3, %hi(gSpriteOffsetTable) # $t3, 0x8012 -/* 07CE24 8007C224 24990001 */ addiu $t9, $a0, 1 -/* 07CE28 8007C228 24090001 */ li $t1, 1 -/* 07CE2C 8007C22C 00804025 */ move $t0, $a0 -/* 07CE30 8007C230 AD590000 */ sw $t9, ($t2) -.L8007C234: -/* 07CE34 8007C234 8D6B6348 */ lw $t3, %lo(gSpriteOffsetTable)($t3) -/* 07CE38 8007C238 00116080 */ sll $t4, $s1, 2 -/* 07CE3C 8007C23C 016C1021 */ addu $v0, $t3, $t4 -/* 07CE40 8007C240 8C460000 */ lw $a2, ($v0) -/* 07CE44 8007C244 8C4D0004 */ lw $t5, 4($v0) -/* 07CE48 8007C248 3C148012 */ lui $s4, %hi(gCurrentSprite) # $s4, 0x8012 -/* 07CE4C 8007C24C 8E946350 */ lw $s4, %lo(gCurrentSprite)($s4) -/* 07CE50 8007C250 AFB10050 */ sw $s1, 0x50($sp) -/* 07CE54 8007C254 A3A90032 */ sb $t1, 0x32($sp) -/* 07CE58 8007C258 AFA80044 */ sw $t0, 0x44($sp) -/* 07CE5C 8007C25C 2404000C */ li $a0, 12 -/* 07CE60 8007C260 01A63823 */ subu $a3, $t5, $a2 -/* 07CE64 8007C264 0C01DB9A */ jal load_asset_to_address -/* 07CE68 8007C268 02802825 */ move $a1, $s4 -/* 07CE6C 8007C26C 86850002 */ lh $a1, 2($s4) -/* 07CE70 8007C270 24040010 */ li $a0, 16 -/* 07CE74 8007C274 02857021 */ addu $t6, $s4, $a1 -/* 07CE78 8007C278 91D5000C */ lbu $s5, 0xc($t6) -/* 07CE7C 8007C27C 000558C0 */ sll $t3, $a1, 3 -/* 07CE80 8007C280 00151880 */ sll $v1, $s5, 2 -/* 07CE84 8007C284 00037880 */ sll $t7, $v1, 2 -/* 07CE88 8007C288 01E37821 */ addu $t7, $t7, $v1 -/* 07CE8C 8007C28C 000F7840 */ sll $t7, $t7, 1 -/* 07CE90 8007C290 0003C0C0 */ sll $t8, $v1, 3 -/* 07CE94 8007C294 01F8C821 */ addu $t9, $t7, $t8 -/* 07CE98 8007C298 032B8021 */ addu $s0, $t9, $t3 -/* 07CE9C 8007C29C 00156940 */ sll $t5, $s5, 5 -/* 07CEA0 8007C2A0 020D8021 */ addu $s0, $s0, $t5 -/* 07CEA4 8007C2A4 0C01C614 */ jal align16 -/* 07CEA8 8007C2A8 02038021 */ addu $s0, $s0, $v1 -/* 07CEAC 8007C2AC 86840002 */ lh $a0, 2($s4) -/* 07CEB0 8007C2B0 02028021 */ addu $s0, $s0, $v0 -/* 07CEB4 8007C2B4 00047080 */ sll $t6, $a0, 2 -/* 07CEB8 8007C2B8 0C01C614 */ jal align16 -/* 07CEBC 8007C2BC 01C02025 */ move $a0, $t6 -/* 07CEC0 8007C2C0 3C05FF00 */ lui $a1, (0xFF00FFFF >> 16) # lui $a1, 0xff00 -/* 07CEC4 8007C2C4 02022021 */ addu $a0, $s0, $v0 -/* 07CEC8 8007C2C8 0C01C344 */ jal mempool_alloc -/* 07CECC 8007C2CC 34A5FFFF */ ori $a1, (0xFF00FFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 07CED0 8007C2D0 1440000B */ bnez $v0, .L8007C300 -/* 07CED4 8007C2D4 00409825 */ move $s3, $v0 -/* 07CED8 8007C2D8 83AF0032 */ lb $t7, 0x32($sp) -/* 07CEDC 8007C2DC 3C028012 */ lui $v0, %hi(D_80126358) # $v0, 0x8012 -/* 07CEE0 8007C2E0 11E00005 */ beqz $t7, .L8007C2F8 -/* 07CEE4 8007C2E4 24426358 */ addiu $v0, %lo(D_80126358) # addiu $v0, $v0, 0x6358 -/* 07CEE8 8007C2E8 8C580000 */ lw $t8, ($v0) -/* 07CEEC 8007C2EC 00000000 */ nop -/* 07CEF0 8007C2F0 2719FFFF */ addiu $t9, $t8, -1 -/* 07CEF4 8007C2F4 AC590000 */ sw $t9, ($v0) -.L8007C2F8: -/* 07CEF8 8007C2F8 10000083 */ b .L8007C508 -/* 07CEFC 8007C2FC 00001025 */ move $v0, $zero -.L8007C300: -/* 07CF00 8007C300 24040010 */ li $a0, 16 -/* 07CF04 8007C304 0C01C614 */ jal align16 -/* 07CF08 8007C308 00008025 */ move $s0, $zero -/* 07CF0C 8007C30C 86840002 */ lh $a0, 2($s4) -/* 07CF10 8007C310 00408825 */ move $s1, $v0 -/* 07CF14 8007C314 00045880 */ sll $t3, $a0, 2 -/* 07CF18 8007C318 0C01C614 */ jal align16 -/* 07CF1C 8007C31C 01602025 */ move $a0, $t3 -/* 07CF20 8007C320 00536021 */ addu $t4, $v0, $s3 -/* 07CF24 8007C324 01916821 */ addu $t5, $t4, $s1 -/* 07CF28 8007C328 3C058012 */ lui $a1, %hi(D_80126368) # $a1, 0x8012 -/* 07CF2C 8007C32C 3C078012 */ lui $a3, %hi(D_80126364) # $a3, 0x8012 -/* 07CF30 8007C330 00152140 */ sll $a0, $s5, 5 -/* 07CF34 8007C334 24E76364 */ addiu $a3, %lo(D_80126364) # addiu $a3, $a3, 0x6364 -/* 07CF38 8007C338 24A56368 */ addiu $a1, %lo(D_80126368) # addiu $a1, $a1, 0x6368 -/* 07CF3C 8007C33C 01A47821 */ addu $t7, $t5, $a0 -/* 07CF40 8007C340 ACAD0000 */ sw $t5, ($a1) -/* 07CF44 8007C344 ACEF0000 */ sw $t7, ($a3) -/* 07CF48 8007C348 868B0002 */ lh $t3, 2($s4) -/* 07CF4C 8007C34C 01E4C821 */ addu $t9, $t7, $a0 -/* 07CF50 8007C350 00157880 */ sll $t7, $s5, 2 -/* 07CF54 8007C354 000B60C0 */ sll $t4, $t3, 3 -/* 07CF58 8007C358 3C068012 */ lui $a2, %hi(D_80126360) # $a2, 0x8012 -/* 07CF5C 8007C35C 032C6821 */ addu $t5, $t9, $t4 -/* 07CF60 8007C360 01F57821 */ addu $t7, $t7, $s5 -/* 07CF64 8007C364 24C66360 */ addiu $a2, %lo(D_80126360) # addiu $a2, $a2, 0x6360 -/* 07CF68 8007C368 000F78C0 */ sll $t7, $t7, 3 -/* 07CF6C 8007C36C ACCD0000 */ sw $t5, ($a2) -/* 07CF70 8007C370 01AFC021 */ addu $t8, $t5, $t7 -/* 07CF74 8007C374 AE780008 */ sw $t8, 8($s3) -/* 07CF78 8007C378 1AA0001E */ blez $s5, .L8007C3F4 -/* 07CF7C 8007C37C 00001825 */ move $v1, $zero -/* 07CF80 8007C380 3C12800E */ lui $s2, %hi(gTexColourTag) # $s2, 0x800e -/* 07CF84 8007C384 2652E7C0 */ addiu $s2, %lo(gTexColourTag) # addiu $s2, $s2, -0x1840 -/* 07CF88 8007C388 00008825 */ move $s1, $zero -.L8007C38C: -/* 07CF8C 8007C38C 3C0B00FF */ lui $t3, (0x00FF0163 >> 16) # lui $t3, 0xff -/* 07CF90 8007C390 356B0163 */ ori $t3, (0x00FF0163 & 0xFFFF) # ori $t3, $t3, 0x163 -/* 07CF94 8007C394 AE4B0000 */ sw $t3, ($s2) -/* 07CF98 8007C398 86990000 */ lh $t9, ($s4) -/* 07CF9C 8007C39C A3A30033 */ sb $v1, 0x33($sp) -/* 07CFA0 8007C3A0 0C01EB9D */ jal load_texture -/* 07CFA4 8007C3A4 03302021 */ addu $a0, $t9, $s0 -/* 07CFA8 8007C3A8 8E6C0008 */ lw $t4, 8($s3) -/* 07CFAC 8007C3AC 83A30033 */ lb $v1, 0x33($sp) -/* 07CFB0 8007C3B0 01916821 */ addu $t5, $t4, $s1 -/* 07CFB4 8007C3B4 ADA20000 */ sw $v0, ($t5) -/* 07CFB8 8007C3B8 8E6E0008 */ lw $t6, 8($s3) -/* 07CFBC 8007C3BC 3C0BFF00 */ lui $t3, (0xFF00FFFF >> 16) # lui $t3, 0xff00 -/* 07CFC0 8007C3C0 01D17821 */ addu $t7, $t6, $s1 -/* 07CFC4 8007C3C4 8DF80000 */ lw $t8, ($t7) -/* 07CFC8 8007C3C8 356BFFFF */ ori $t3, (0xFF00FFFF & 0xFFFF) # ori $t3, $t3, 0xffff -/* 07CFCC 8007C3CC 17000002 */ bnez $t8, .L8007C3D8 -/* 07CFD0 8007C3D0 24190001 */ li $t9, 1 -/* 07CFD4 8007C3D4 24030001 */ li $v1, 1 -.L8007C3D8: -/* 07CFD8 8007C3D8 26100001 */ addiu $s0, $s0, 1 -/* 07CFDC 8007C3DC AE4B0000 */ sw $t3, ($s2) -/* 07CFE0 8007C3E0 3C018012 */ lui $at, %hi(D_80126344) # $at, 0x8012 -/* 07CFE4 8007C3E4 26310004 */ addiu $s1, $s1, 4 -/* 07CFE8 8007C3E8 1615FFE8 */ bne $s0, $s5, .L8007C38C -/* 07CFEC 8007C3EC AC396344 */ sw $t9, %lo(D_80126344)($at) -/* 07CFF0 8007C3F0 00008025 */ move $s0, $zero -.L8007C3F4: -/* 07CFF4 8007C3F4 3C018012 */ lui $at, %hi(D_80126344) # $at, 0x8012 -/* 07CFF8 8007C3F8 1060001B */ beqz $v1, .L8007C468 -/* 07CFFC 8007C3FC AC206344 */ sw $zero, %lo(D_80126344)($at) -/* 07D000 8007C400 1AA0000D */ blez $s5, .L8007C438 -/* 07D004 8007C404 00008825 */ move $s1, $zero -.L8007C408: -/* 07D008 8007C408 8E6C0008 */ lw $t4, 8($s3) -/* 07D00C 8007C40C 00000000 */ nop -/* 07D010 8007C410 01916821 */ addu $t5, $t4, $s1 -/* 07D014 8007C414 8DA40000 */ lw $a0, ($t5) -/* 07D018 8007C418 00000000 */ nop -/* 07D01C 8007C41C 10800003 */ beqz $a0, .L8007C42C -/* 07D020 8007C420 00000000 */ nop -/* 07D024 8007C424 0C01ECAF */ jal free_texture -/* 07D028 8007C428 00000000 */ nop -.L8007C42C: -/* 07D02C 8007C42C 26100001 */ addiu $s0, $s0, 1 -/* 07D030 8007C430 1615FFF5 */ bne $s0, $s5, .L8007C408 -/* 07D034 8007C434 26310004 */ addiu $s1, $s1, 4 -.L8007C438: -/* 07D038 8007C438 83AE0032 */ lb $t6, 0x32($sp) -/* 07D03C 8007C43C 3C028012 */ lui $v0, %hi(D_80126358) # $v0, 0x8012 -/* 07D040 8007C440 11C00005 */ beqz $t6, .L8007C458 -/* 07D044 8007C444 24426358 */ addiu $v0, %lo(D_80126358) # addiu $v0, $v0, 0x6358 -/* 07D048 8007C448 8C4F0000 */ lw $t7, ($v0) -/* 07D04C 8007C44C 00000000 */ nop -/* 07D050 8007C450 25F8FFFF */ addiu $t8, $t7, -1 -/* 07D054 8007C454 AC580000 */ sw $t8, ($v0) -.L8007C458: -/* 07D058 8007C458 0C01C450 */ jal mempool_free -/* 07D05C 8007C45C 02602025 */ move $a0, $s3 -/* 07D060 8007C460 10000029 */ b .L8007C508 -/* 07D064 8007C464 00001025 */ move $v0, $zero -.L8007C468: -/* 07D068 8007C468 A6750002 */ sh $s5, 2($s3) -/* 07D06C 8007C46C 868B0002 */ lh $t3, 2($s4) -/* 07D070 8007C470 02608825 */ move $s1, $s3 -/* 07D074 8007C474 A66B0000 */ sh $t3, ($s3) -/* 07D078 8007C478 86990002 */ lh $t9, 2($s4) -/* 07D07C 8007C47C 00000000 */ nop -/* 07D080 8007C480 1B20000D */ blez $t9, .L8007C4B8 -.L8007C484: -/* 07D084 8007C484 3C078012 */ lui $a3, %hi(D_80126364) # $a3, 0x8012 -/* 07D088 8007C488 24E76364 */ addiu $a3, %lo(D_80126364) # addiu $a3, $a3, 0x6364 -/* 07D08C 8007C48C 8CEC0000 */ lw $t4, ($a3) -/* 07D090 8007C490 02802025 */ move $a0, $s4 -/* 07D094 8007C494 02602825 */ move $a1, $s3 -/* 07D098 8007C498 02003025 */ move $a2, $s0 -/* 07D09C 8007C49C 0C01F370 */ jal func_8007CDC0 -/* 07D0A0 8007C4A0 AE2C000C */ sw $t4, 0xc($s1) -/* 07D0A4 8007C4A4 868D0002 */ lh $t5, 2($s4) -/* 07D0A8 8007C4A8 26100001 */ addiu $s0, $s0, 1 -/* 07D0AC 8007C4AC 020D082A */ slt $at, $s0, $t5 -/* 07D0B0 8007C4B0 1420FFF4 */ bnez $at, .L8007C484 -/* 07D0B4 8007C4B4 26310004 */ addiu $s1, $s1, 4 -.L8007C4B8: -/* 07D0B8 8007C4B8 3C0E8012 */ lui $t6, %hi(D_80126358) # $t6, 0x8012 -/* 07D0BC 8007C4BC 8DCE6358 */ lw $t6, %lo(D_80126358)($t6) -/* 07D0C0 8007C4C0 3C048012 */ lui $a0, %hi(gSpriteCache) # $a0, 0x8012 -/* 07D0C4 8007C4C4 29C10064 */ slti $at, $t6, 0x64 -/* 07D0C8 8007C4C8 14200003 */ bnez $at, .L8007C4D8 -/* 07D0CC 8007C4CC 2484634C */ addiu $a0, %lo(gSpriteCache) # addiu $a0, $a0, 0x634c -/* 07D0D0 8007C4D0 1000000D */ b .L8007C508 -/* 07D0D4 8007C4D4 00001025 */ move $v0, $zero -.L8007C4D8: -/* 07D0D8 8007C4D8 8FAF0044 */ lw $t7, 0x44($sp) -/* 07D0DC 8007C4DC 8C990000 */ lw $t9, ($a0) -/* 07D0E0 8007C4E0 8FAB0050 */ lw $t3, 0x50($sp) -/* 07D0E4 8007C4E4 000FC0C0 */ sll $t8, $t7, 3 -/* 07D0E8 8007C4E8 03386021 */ addu $t4, $t9, $t8 -/* 07D0EC 8007C4EC AD8B0000 */ sw $t3, ($t4) -/* 07D0F0 8007C4F0 8C8D0000 */ lw $t5, ($a0) -/* 07D0F4 8007C4F4 240F0001 */ li $t7, 1 -/* 07D0F8 8007C4F8 01B87021 */ addu $t6, $t5, $t8 -/* 07D0FC 8007C4FC ADD30004 */ sw $s3, 4($t6) -/* 07D100 8007C500 A66F0004 */ sh $t7, 4($s3) -/* 07D104 8007C504 02601025 */ move $v0, $s3 -.L8007C508: -/* 07D108 8007C508 8FBF002C */ lw $ra, 0x2c($sp) -/* 07D10C 8007C50C 8FB00014 */ lw $s0, 0x14($sp) -/* 07D110 8007C510 8FB10018 */ lw $s1, 0x18($sp) -/* 07D114 8007C514 8FB2001C */ lw $s2, 0x1c($sp) -/* 07D118 8007C518 8FB30020 */ lw $s3, 0x20($sp) -/* 07D11C 8007C51C 8FB40024 */ lw $s4, 0x24($sp) -/* 07D120 8007C520 8FB50028 */ lw $s5, 0x28($sp) -/* 07D124 8007C524 03E00008 */ jr $ra -/* 07D128 8007C528 27BD0050 */ addiu $sp, $sp, 0x50 - diff --git a/asm/non_matchings/textures_sprites/func_8007CA68.s b/asm/non_matchings/textures_sprites/func_8007CA68.s deleted file mode 100644 index 64f787b2..00000000 --- a/asm/non_matchings/textures_sprites/func_8007CA68.s +++ /dev/null @@ -1,161 +0,0 @@ -glabel func_8007CA68 -/* 07D668 8007CA68 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 07D66C 8007CA6C AFB1001C */ sw $s1, 0x1c($sp) -/* 07D670 8007CA70 AFB00018 */ sw $s0, 0x18($sp) -/* 07D674 8007CA74 00808025 */ move $s0, $a0 -/* 07D678 8007CA78 00A08825 */ move $s1, $a1 -/* 07D67C 8007CA7C AFBF003C */ sw $ra, 0x3c($sp) -/* 07D680 8007CA80 AFBE0038 */ sw $fp, 0x38($sp) -/* 07D684 8007CA84 AFB70034 */ sw $s7, 0x34($sp) -/* 07D688 8007CA88 AFB60030 */ sw $s6, 0x30($sp) -/* 07D68C 8007CA8C AFB5002C */ sw $s5, 0x2c($sp) -/* 07D690 8007CA90 AFB40028 */ sw $s4, 0x28($sp) -/* 07D694 8007CA94 AFB30024 */ sw $s3, 0x24($sp) -/* 07D698 8007CA98 AFB20020 */ sw $s2, 0x20($sp) -/* 07D69C 8007CA9C AFA60048 */ sw $a2, 0x48($sp) -/* 07D6A0 8007CAA0 04800007 */ bltz $a0, .L8007CAC0 -/* 07D6A4 8007CAA4 AFA7004C */ sw $a3, 0x4c($sp) -/* 07D6A8 8007CAA8 3C0E8012 */ lui $t6, %hi(gSpriteTableNum) # $t6, 0x8012 -/* 07D6AC 8007CAAC 8DCE6354 */ lw $t6, %lo(gSpriteTableNum)($t6) -/* 07D6B0 8007CAB0 3C198012 */ lui $t9, %hi(gSpriteOffsetTable) # $t9, 0x8012 -/* 07D6B4 8007CAB4 008E082A */ slt $at, $a0, $t6 -/* 07D6B8 8007CAB8 14200007 */ bnez $at, .L8007CAD8 -/* 07D6BC 8007CABC 00104080 */ sll $t0, $s0, 2 -.L8007CAC0: -/* 07D6C0 8007CAC0 8FAF0048 */ lw $t7, 0x48($sp) -/* 07D6C4 8007CAC4 00000000 */ nop -/* 07D6C8 8007CAC8 ADE00000 */ sw $zero, ($t7) -/* 07D6CC 8007CACC 8FB8004C */ lw $t8, 0x4c($sp) -/* 07D6D0 8007CAD0 1000006B */ b .L8007CC80 -/* 07D6D4 8007CAD4 AF000000 */ sw $zero, ($t8) -.L8007CAD8: -/* 07D6D8 8007CAD8 8F396348 */ lw $t9, %lo(gSpriteOffsetTable)($t9) -/* 07D6DC 8007CADC 3C128012 */ lui $s2, %hi(gCurrentSprite) # $s2, 0x8012 -/* 07D6E0 8007CAE0 03281021 */ addu $v0, $t9, $t0 -/* 07D6E4 8007CAE4 8C460000 */ lw $a2, ($v0) -/* 07D6E8 8007CAE8 8C490004 */ lw $t1, 4($v0) -/* 07D6EC 8007CAEC 8E526350 */ lw $s2, %lo(gCurrentSprite)($s2) -/* 07D6F0 8007CAF0 2404000C */ li $a0, 12 -/* 07D6F4 8007CAF4 01263823 */ subu $a3, $t1, $a2 -/* 07D6F8 8007CAF8 0C01DB9A */ jal load_asset_to_address -/* 07D6FC 8007CAFC 02402825 */ move $a1, $s2 -/* 07D700 8007CB00 864A0002 */ lh $t2, 2($s2) -/* 07D704 8007CB04 8FB70050 */ lw $s7, 0x50($sp) -/* 07D708 8007CB08 0151082A */ slt $at, $t2, $s1 -/* 07D70C 8007CB0C 10200009 */ beqz $at, .L8007CB34 -/* 07D710 8007CB10 0251F021 */ addu $fp, $s2, $s1 -.L8007CB14: -/* 07D714 8007CB14 8FAB0048 */ lw $t3, 0x48($sp) -.L8007CB18: -/* 07D718 8007CB18 00000000 */ nop -/* 07D71C 8007CB1C AD600000 */ sw $zero, ($t3) -/* 07D720 8007CB20 8FAC004C */ lw $t4, 0x4c($sp) -/* 07D724 8007CB24 00000000 */ nop -/* 07D728 8007CB28 AD800000 */ sw $zero, ($t4) -/* 07D72C 8007CB2C 10000054 */ b .L8007CC80 -/* 07D730 8007CB30 AEE00000 */ sw $zero, ($s7) -.L8007CB34: -/* 07D734 8007CB34 93CD000C */ lbu $t5, 0xc($fp) -/* 07D738 8007CB38 864E0000 */ lh $t6, ($s2) -/* 07D73C 8007CB3C 0C01EB9D */ jal load_texture -/* 07D740 8007CB40 01AE2021 */ addu $a0, $t5, $t6 -/* 07D744 8007CB44 14400004 */ bnez $v0, .L8007CB58 -/* 07D748 8007CB48 00408025 */ move $s0, $v0 -/* 07D74C 8007CB4C 8FB70050 */ lw $s7, 0x50($sp) -/* 07D750 8007CB50 1000FFF1 */ b .L8007CB18 -/* 07D754 8007CB54 8FAB0048 */ lw $t3, 0x48($sp) -.L8007CB58: -/* 07D758 8007CB58 93CF000C */ lbu $t7, 0xc($fp) -/* 07D75C 8007CB5C 86580000 */ lh $t8, ($s2) -/* 07D760 8007CB60 0C01F15F */ jal get_texture_size_from_id -/* 07D764 8007CB64 01F82021 */ addu $a0, $t7, $t8 -/* 07D768 8007CB68 8FB70050 */ lw $s7, 0x50($sp) -/* 07D76C 8007CB6C 02002025 */ move $a0, $s0 -/* 07D770 8007CB70 AEE20000 */ sw $v0, ($s7) -/* 07D774 8007CB74 86480004 */ lh $t0, 4($s2) -/* 07D778 8007CB78 82190003 */ lb $t9, 3($s0) -/* 07D77C 8007CB7C 820A0004 */ lb $t2, 4($s0) -/* 07D780 8007CB80 86490006 */ lh $t1, 6($s2) -/* 07D784 8007CB84 92050000 */ lbu $a1, ($s0) -/* 07D788 8007CB88 92060001 */ lbu $a2, 1($s0) -/* 07D78C 8007CB8C 03289823 */ subu $s3, $t9, $t0 -/* 07D790 8007CB90 012AA023 */ subu $s4, $t1, $t2 -/* 07D794 8007CB94 0265A821 */ addu $s5, $s3, $a1 -/* 07D798 8007CB98 0C01ECAF */ jal free_texture -/* 07D79C 8007CB9C 0286B023 */ subu $s6, $s4, $a2 -/* 07D7A0 8007CBA0 93D1000C */ lbu $s1, 0xc($fp) -/* 07D7A4 8007CBA4 93CB000D */ lbu $t3, 0xd($fp) -/* 07D7A8 8007CBA8 26310001 */ addiu $s1, $s1, 1 -/* 07D7AC 8007CBAC 022B082A */ slt $at, $s1, $t3 -/* 07D7B0 8007CBB0 1020002E */ beqz $at, .L8007CC6C -/* 07D7B4 8007CBB4 8FAC0048 */ lw $t4, 0x48($sp) -.L8007CBB8: -/* 07D7B8 8007CBB8 864C0000 */ lh $t4, ($s2) -/* 07D7BC 8007CBBC 0C01EB9D */ jal load_texture -/* 07D7C0 8007CBC0 01912021 */ addu $a0, $t4, $s1 -/* 07D7C4 8007CBC4 1040FFD3 */ beqz $v0, .L8007CB14 -/* 07D7C8 8007CBC8 00408025 */ move $s0, $v0 -/* 07D7CC 8007CBCC 864D0000 */ lh $t5, ($s2) -/* 07D7D0 8007CBD0 0C01F15F */ jal get_texture_size_from_id -/* 07D7D4 8007CBD4 01B12021 */ addu $a0, $t5, $s1 -/* 07D7D8 8007CBD8 8EEE0000 */ lw $t6, ($s7) -/* 07D7DC 8007CBDC 00000000 */ nop -/* 07D7E0 8007CBE0 01C27821 */ addu $t7, $t6, $v0 -/* 07D7E4 8007CBE4 AEEF0000 */ sw $t7, ($s7) -/* 07D7E8 8007CBE8 86590004 */ lh $t9, 4($s2) -/* 07D7EC 8007CBEC 82180003 */ lb $t8, 3($s0) -/* 07D7F0 8007CBF0 82090004 */ lb $t1, 4($s0) -/* 07D7F4 8007CBF4 86480006 */ lh $t0, 6($s2) -/* 07D7F8 8007CBF8 03191823 */ subu $v1, $t8, $t9 -/* 07D7FC 8007CBFC 92050000 */ lbu $a1, ($s0) -/* 07D800 8007CC00 92060001 */ lbu $a2, 1($s0) -/* 07D804 8007CC04 0073082A */ slt $at, $v1, $s3 -/* 07D808 8007CC08 10200002 */ beqz $at, .L8007CC14 -/* 07D80C 8007CC0C 01092023 */ subu $a0, $t0, $t1 -/* 07D810 8007CC10 00609825 */ move $s3, $v1 -.L8007CC14: -/* 07D814 8007CC14 00651021 */ addu $v0, $v1, $a1 -/* 07D818 8007CC18 02A2082A */ slt $at, $s5, $v0 -/* 07D81C 8007CC1C 10200002 */ beqz $at, .L8007CC28 -/* 07D820 8007CC20 00000000 */ nop -/* 07D824 8007CC24 0040A825 */ move $s5, $v0 -.L8007CC28: -/* 07D828 8007CC28 00861023 */ subu $v0, $a0, $a2 -/* 07D82C 8007CC2C 0056082A */ slt $at, $v0, $s6 -/* 07D830 8007CC30 10200003 */ beqz $at, .L8007CC40 -/* 07D834 8007CC34 0284082A */ slt $at, $s4, $a0 -/* 07D838 8007CC38 0040B025 */ move $s6, $v0 -/* 07D83C 8007CC3C 0284082A */ slt $at, $s4, $a0 -.L8007CC40: -/* 07D840 8007CC40 10200002 */ beqz $at, .L8007CC4C -/* 07D844 8007CC44 00000000 */ nop -/* 07D848 8007CC48 0080A025 */ move $s4, $a0 -.L8007CC4C: -/* 07D84C 8007CC4C 0C01ECAF */ jal free_texture -/* 07D850 8007CC50 02002025 */ move $a0, $s0 -/* 07D854 8007CC54 93CA000D */ lbu $t2, 0xd($fp) -/* 07D858 8007CC58 26310001 */ addiu $s1, $s1, 1 -/* 07D85C 8007CC5C 022A082A */ slt $at, $s1, $t2 -/* 07D860 8007CC60 1420FFD5 */ bnez $at, .L8007CBB8 -/* 07D864 8007CC64 00000000 */ nop -/* 07D868 8007CC68 8FAC0048 */ lw $t4, 0x48($sp) -.L8007CC6C: -/* 07D86C 8007CC6C 02B35823 */ subu $t3, $s5, $s3 -/* 07D870 8007CC70 AD8B0000 */ sw $t3, ($t4) -/* 07D874 8007CC74 8FAE004C */ lw $t6, 0x4c($sp) -/* 07D878 8007CC78 02966823 */ subu $t5, $s4, $s6 -/* 07D87C 8007CC7C ADCD0000 */ sw $t5, ($t6) -.L8007CC80: -/* 07D880 8007CC80 8FBF003C */ lw $ra, 0x3c($sp) -/* 07D884 8007CC84 8FB00018 */ lw $s0, 0x18($sp) -/* 07D888 8007CC88 8FB1001C */ lw $s1, 0x1c($sp) -/* 07D88C 8007CC8C 8FB20020 */ lw $s2, 0x20($sp) -/* 07D890 8007CC90 8FB30024 */ lw $s3, 0x24($sp) -/* 07D894 8007CC94 8FB40028 */ lw $s4, 0x28($sp) -/* 07D898 8007CC98 8FB5002C */ lw $s5, 0x2c($sp) -/* 07D89C 8007CC9C 8FB60030 */ lw $s6, 0x30($sp) -/* 07D8A0 8007CCA0 8FB70034 */ lw $s7, 0x34($sp) -/* 07D8A4 8007CCA4 8FBE0038 */ lw $fp, 0x38($sp) -/* 07D8A8 8007CCA8 03E00008 */ jr $ra -/* 07D8AC 8007CCAC 27BD0040 */ addiu $sp, $sp, 0x40 - diff --git a/asm/non_matchings/textures_sprites/func_8007CDC0.s b/asm/non_matchings/textures_sprites/func_8007CDC0.s deleted file mode 100644 index bcf9417c..00000000 --- a/asm/non_matchings/textures_sprites/func_8007CDC0.s +++ /dev/null @@ -1,213 +0,0 @@ -glabel func_8007CDC0 -/* 07D9C0 8007CDC0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 07D9C4 8007CDC4 AFBF002C */ sw $ra, 0x2c($sp) -/* 07D9C8 8007CDC8 AFBE0028 */ sw $fp, 0x28($sp) -/* 07D9CC 8007CDCC AFB70024 */ sw $s7, 0x24($sp) -/* 07D9D0 8007CDD0 AFB60020 */ sw $s6, 0x20($sp) -/* 07D9D4 8007CDD4 AFB5001C */ sw $s5, 0x1c($sp) -/* 07D9D8 8007CDD8 AFB40018 */ sw $s4, 0x18($sp) -/* 07D9DC 8007CDDC AFB30014 */ sw $s3, 0x14($sp) -/* 07D9E0 8007CDE0 AFB20010 */ sw $s2, 0x10($sp) -/* 07D9E4 8007CDE4 AFB1000C */ sw $s1, 0xc($sp) -/* 07D9E8 8007CDE8 AFB00008 */ sw $s0, 8($sp) -/* 07D9EC 8007CDEC 848E0004 */ lh $t6, 4($a0) -/* 07D9F0 8007CDF0 00863821 */ addu $a3, $a0, $a2 -/* 07D9F4 8007CDF4 AFAE0034 */ sw $t6, 0x34($sp) -/* 07D9F8 8007CDF8 848F0006 */ lh $t7, 6($a0) -/* 07D9FC 8007CDFC 3C098012 */ lui $t1, %hi(D_80126364) # $t1, 0x8012 -/* 07DA00 8007CE00 AFAF0030 */ sw $t7, 0x30($sp) -/* 07DA04 8007CE04 90F2000C */ lbu $s2, 0xc($a3) -/* 07DA08 8007CE08 90FE000D */ lbu $fp, 0xd($a3) -/* 07DA0C 8007CE0C 3C028012 */ lui $v0, %hi(D_80126360) # $v0, 0x8012 -/* 07DA10 8007CE10 3C038012 */ lui $v1, %hi(D_80126368) # $v1, 0x8012 -/* 07DA14 8007CE14 8D296364 */ lw $t1, %lo(D_80126364)($t1) -/* 07DA18 8007CE18 8C426360 */ lw $v0, %lo(D_80126360)($v0) -/* 07DA1C 8007CE1C 8C636368 */ lw $v1, %lo(D_80126368)($v1) -/* 07DA20 8007CE20 025E082A */ slt $at, $s2, $fp -/* 07DA24 8007CE24 1020000A */ beqz $at, .L8007CE50 -/* 07DA28 8007CE28 00005025 */ move $t2, $zero -/* 07DA2C 8007CE2C 8CB80008 */ lw $t8, 8($a1) -/* 07DA30 8007CE30 0012C880 */ sll $t9, $s2, 2 -/* 07DA34 8007CE34 03197021 */ addu $t6, $t8, $t9 -/* 07DA38 8007CE38 8DC40000 */ lw $a0, ($t6) -/* 07DA3C 8007CE3C 00000000 */ nop -/* 07DA40 8007CE40 84980006 */ lh $t8, 6($a0) -/* 07DA44 8007CE44 00000000 */ nop -/* 07DA48 8007CE48 3319003B */ andi $t9, $t8, 0x3b -/* 07DA4C 8007CE4C A4B90006 */ sh $t9, 6($a1) -.L8007CE50: -/* 07DA50 8007CE50 025E082A */ slt $at, $s2, $fp -/* 07DA54 8007CE54 1020008C */ beqz $at, .L8007D088 -/* 07DA58 8007CE58 00006825 */ move $t5, $zero -/* 07DA5C 8007CE5C AFA50044 */ sw $a1, 0x44($sp) -/* 07DA60 8007CE60 240500FF */ li $a1, 255 -/* 07DA64 8007CE64 00129880 */ sll $s3, $s2, 2 -/* 07DA68 8007CE68 3C1F0700 */ lui $ra, 0x700 -/* 07DA6C 8007CE6C 24170040 */ li $s7, 64 -/* 07DA70 8007CE70 24150001 */ li $s5, 1 -/* 07DA74 8007CE74 3C148000 */ lui $s4, 0x8000 -/* 07DA78 8007CE78 8FAE0044 */ lw $t6, 0x44($sp) -.L8007CE7C: -/* 07DA7C 8007CE7C 0040B025 */ move $s6, $v0 -/* 07DA80 8007CE80 8DCF0008 */ lw $t7, 8($t6) -/* 07DA84 8007CE84 8FAE0034 */ lw $t6, 0x34($sp) -/* 07DA88 8007CE88 01F3C021 */ addu $t8, $t7, $s3 -/* 07DA8C 8007CE8C 8F040000 */ lw $a0, ($t8) -/* 07DA90 8007CE90 8FAF0030 */ lw $t7, 0x30($sp) -/* 07DA94 8007CE94 90900000 */ lbu $s0, ($a0) -/* 07DA98 8007CE98 90910001 */ lbu $s1, 1($a0) -/* 07DA9C 8007CE9C 80990003 */ lb $t9, 3($a0) -/* 07DAA0 8007CEA0 80980004 */ lb $t8, 4($a0) -/* 07DAA4 8007CEA4 032E4023 */ subu $t0, $t9, $t6 -/* 07DAA8 8007CEA8 01F83023 */ subu $a2, $t7, $t8 -/* 07DAAC 8007CEAC 01105821 */ addu $t3, $t0, $s0 -/* 07DAB0 8007CEB0 24C7FFFF */ addiu $a3, $a2, -1 -/* 07DAB4 8007CEB4 256BFFFF */ addiu $t3, $t3, -1 -/* 07DAB8 8007CEB8 00D16023 */ subu $t4, $a2, $s1 -/* 07DABC 8007CEBC A4480000 */ sh $t0, ($v0) -/* 07DAC0 8007CEC0 A4470002 */ sh $a3, 2($v0) -/* 07DAC4 8007CEC4 A4400004 */ sh $zero, 4($v0) -/* 07DAC8 8007CEC8 A0450006 */ sb $a1, 6($v0) -/* 07DACC 8007CECC A0450007 */ sb $a1, 7($v0) -/* 07DAD0 8007CED0 A0450008 */ sb $a1, 8($v0) -/* 07DAD4 8007CED4 A0450009 */ sb $a1, 9($v0) -/* 07DAD8 8007CED8 A44B000A */ sh $t3, 0xa($v0) -/* 07DADC 8007CEDC A447000C */ sh $a3, 0xc($v0) -/* 07DAE0 8007CEE0 A440000E */ sh $zero, 0xe($v0) -/* 07DAE4 8007CEE4 A0450010 */ sb $a1, 0x10($v0) -/* 07DAE8 8007CEE8 A0450011 */ sb $a1, 0x11($v0) -/* 07DAEC 8007CEEC A0450012 */ sb $a1, 0x12($v0) -/* 07DAF0 8007CEF0 A0450013 */ sb $a1, 0x13($v0) -/* 07DAF4 8007CEF4 A44B0014 */ sh $t3, 0x14($v0) -/* 07DAF8 8007CEF8 A44C0016 */ sh $t4, 0x16($v0) -/* 07DAFC 8007CEFC A4400018 */ sh $zero, 0x18($v0) -/* 07DB00 8007CF00 A045001A */ sb $a1, 0x1a($v0) -/* 07DB04 8007CF04 A045001B */ sb $a1, 0x1b($v0) -/* 07DB08 8007CF08 A045001C */ sb $a1, 0x1c($v0) -/* 07DB0C 8007CF0C A045001D */ sb $a1, 0x1d($v0) -/* 07DB10 8007CF10 A448001E */ sh $t0, 0x1e($v0) -/* 07DB14 8007CF14 A44C0020 */ sh $t4, 0x20($v0) -/* 07DB18 8007CF18 A4400022 */ sh $zero, 0x22($v0) -/* 07DB1C 8007CF1C A0450024 */ sb $a1, 0x24($v0) -/* 07DB20 8007CF20 A0450025 */ sb $a1, 0x25($v0) -/* 07DB24 8007CF24 A0450026 */ sb $a1, 0x26($v0) -/* 07DB28 8007CF28 A0450027 */ sb $a1, 0x27($v0) -/* 07DB2C 8007CF2C 8487000A */ lh $a3, 0xa($a0) -/* 07DB30 8007CF30 01203025 */ move $a2, $t1 -/* 07DB34 8007CF34 30F900FF */ andi $t9, $a3, 0xff -/* 07DB38 8007CF38 00197400 */ sll $t6, $t9, 0x10 -/* 07DB3C 8007CF3C 0007C0C0 */ sll $t8, $a3, 3 -/* 07DB40 8007CF40 3319FFFF */ andi $t9, $t8, 0xffff -/* 07DB44 8007CF44 01DF7825 */ or $t7, $t6, $ra -/* 07DB48 8007CF48 01F97025 */ or $t6, $t7, $t9 -/* 07DB4C 8007CF4C ACCE0000 */ sw $t6, ($a2) -/* 07DB50 8007CF50 8C98000C */ lw $t8, 0xc($a0) -/* 07DB54 8007CF54 24420028 */ addiu $v0, $v0, 0x28 -/* 07DB58 8007CF58 03147821 */ addu $t7, $t8, $s4 -/* 07DB5C 8007CF5C ACCF0004 */ sw $t7, 4($a2) -/* 07DB60 8007CF60 15A0001A */ bnez $t5, .L8007CFCC -/* 07DB64 8007CF64 25290008 */ addiu $t1, $t1, 8 -/* 07DB68 8007CF68 03D24023 */ subu $t0, $fp, $s2 -/* 07DB6C 8007CF6C 29010006 */ slti $at, $t0, 6 -/* 07DB70 8007CF70 14200002 */ bnez $at, .L8007CF7C -/* 07DB74 8007CF74 01203025 */ move $a2, $t1 -/* 07DB78 8007CF78 24080005 */ li $t0, 5 -.L8007CF7C: -/* 07DB7C 8007CF7C 00082080 */ sll $a0, $t0, 2 -/* 07DB80 8007CF80 2499FFFF */ addiu $t9, $a0, -1 -/* 07DB84 8007CF84 02D43821 */ addu $a3, $s6, $s4 -/* 07DB88 8007CF88 30F80006 */ andi $t8, $a3, 6 -/* 07DB8C 8007CF8C 001970C0 */ sll $t6, $t9, 3 -/* 07DB90 8007CF90 01D87825 */ or $t7, $t6, $t8 -/* 07DB94 8007CF94 35F90001 */ ori $t9, $t7, 1 -/* 07DB98 8007CF98 332E00FF */ andi $t6, $t9, 0xff -/* 07DB9C 8007CF9C 000EC400 */ sll $t8, $t6, 0x10 -/* 07DBA0 8007CFA0 0004C8C0 */ sll $t9, $a0, 3 -/* 07DBA4 8007CFA4 3C010400 */ lui $at, 0x400 -/* 07DBA8 8007CFA8 03017825 */ or $t7, $t8, $at -/* 07DBAC 8007CFAC 03247021 */ addu $t6, $t9, $a0 -/* 07DBB0 8007CFB0 000EC040 */ sll $t8, $t6, 1 -/* 07DBB4 8007CFB4 27190008 */ addiu $t9, $t8, 8 -/* 07DBB8 8007CFB8 332EFFFF */ andi $t6, $t9, 0xffff -/* 07DBBC 8007CFBC 01EEC025 */ or $t8, $t7, $t6 -/* 07DBC0 8007CFC0 ACD80000 */ sw $t8, ($a2) -/* 07DBC4 8007CFC4 ACC70004 */ sw $a3, 4($a2) -/* 07DBC8 8007CFC8 25290008 */ addiu $t1, $t1, 8 -.L8007CFCC: -/* 07DBCC 8007CFCC 3C190511 */ lui $t9, (0x05110020 >> 16) # lui $t9, 0x511 -/* 07DBD0 8007CFD0 37390020 */ ori $t9, (0x05110020 & 0xFFFF) # ori $t9, $t9, 0x20 -/* 07DBD4 8007CFD4 01202025 */ move $a0, $t1 -/* 07DBD8 8007CFD8 AC990000 */ sw $t9, ($a0) -/* 07DBDC 8007CFDC 00747821 */ addu $t7, $v1, $s4 -/* 07DBE0 8007CFE0 AC8F0004 */ sw $t7, 4($a0) -/* 07DBE4 8007CFE4 2606FFFF */ addiu $a2, $s0, -1 -/* 07DBE8 8007CFE8 2627FFFF */ addiu $a3, $s1, -1 -/* 07DBEC 8007CFEC 25480003 */ addiu $t0, $t2, 3 -/* 07DBF0 8007CFF0 254B0001 */ addiu $t3, $t2, 1 -/* 07DBF4 8007CFF4 0006C140 */ sll $t8, $a2, 5 -/* 07DBF8 8007CFF8 0007C940 */ sll $t9, $a3, 5 -/* 07DBFC 8007CFFC 25AD0001 */ addiu $t5, $t5, 1 -/* 07DC00 8007D000 254E0002 */ addiu $t6, $t2, 2 -/* 07DC04 8007D004 25440004 */ addiu $a0, $t2, 4 -/* 07DC08 8007D008 29A10005 */ slti $at, $t5, 5 -/* 07DC0C 8007D00C 25290008 */ addiu $t1, $t1, 8 -/* 07DC10 8007D010 A0770000 */ sb $s7, ($v1) -/* 07DC14 8007D014 A0680001 */ sb $t0, 1($v1) -/* 07DC18 8007D018 A06E0002 */ sb $t6, 2($v1) -/* 07DC1C 8007D01C A06B0003 */ sb $t3, 3($v1) -/* 07DC20 8007D020 A4780004 */ sh $t8, 4($v1) -/* 07DC24 8007D024 A4790006 */ sh $t9, 6($v1) -/* 07DC28 8007D028 A4780008 */ sh $t8, 8($v1) -/* 07DC2C 8007D02C A460000A */ sh $zero, 0xa($v1) -/* 07DC30 8007D030 A475000C */ sh $s5, 0xc($v1) -/* 07DC34 8007D034 A460000E */ sh $zero, 0xe($v1) -/* 07DC38 8007D038 A0770010 */ sb $s7, 0x10($v1) -/* 07DC3C 8007D03C A0640011 */ sb $a0, 0x11($v1) -/* 07DC40 8007D040 A0680012 */ sb $t0, 0x12($v1) -/* 07DC44 8007D044 A06B0013 */ sb $t3, 0x13($v1) -/* 07DC48 8007D048 A4750014 */ sh $s5, 0x14($v1) -/* 07DC4C 8007D04C A4790016 */ sh $t9, 0x16($v1) -/* 07DC50 8007D050 A4780018 */ sh $t8, 0x18($v1) -/* 07DC54 8007D054 A479001A */ sh $t9, 0x1a($v1) -/* 07DC58 8007D058 A475001C */ sh $s5, 0x1c($v1) -/* 07DC5C 8007D05C A460001E */ sh $zero, 0x1e($v1) -/* 07DC60 8007D060 24630020 */ addiu $v1, $v1, 0x20 -/* 07DC64 8007D064 00805025 */ move $t2, $a0 -/* 07DC68 8007D068 26520001 */ addiu $s2, $s2, 1 -/* 07DC6C 8007D06C 14200003 */ bnez $at, .L8007D07C -/* 07DC70 8007D070 26730004 */ addiu $s3, $s3, 4 -/* 07DC74 8007D074 00006825 */ move $t5, $zero -/* 07DC78 8007D078 00005025 */ move $t2, $zero -.L8007D07C: -/* 07DC7C 8007D07C 025E082A */ slt $at, $s2, $fp -/* 07DC80 8007D080 1420FF7E */ bnez $at, .L8007CE7C -/* 07DC84 8007D084 8FAE0044 */ lw $t6, 0x44($sp) -.L8007D088: -/* 07DC88 8007D088 01202025 */ move $a0, $t1 -/* 07DC8C 8007D08C 3C0FE700 */ lui $t7, 0xe700 -/* 07DC90 8007D090 AC8F0000 */ sw $t7, ($a0) -/* 07DC94 8007D094 AC800004 */ sw $zero, 4($a0) -/* 07DC98 8007D098 25250008 */ addiu $a1, $t1, 8 -/* 07DC9C 8007D09C 3C0EB800 */ lui $t6, 0xb800 -/* 07DCA0 8007D0A0 ACAE0000 */ sw $t6, ($a1) -/* 07DCA4 8007D0A4 ACA00004 */ sw $zero, 4($a1) -/* 07DCA8 8007D0A8 24A90008 */ addiu $t1, $a1, 8 -/* 07DCAC 8007D0AC 3C018012 */ lui $at, %hi(D_80126364) # $at, 0x8012 -/* 07DCB0 8007D0B0 AC296364 */ sw $t1, %lo(D_80126364)($at) -/* 07DCB4 8007D0B4 3C018012 */ lui $at, %hi(D_80126360) # $at, 0x8012 -/* 07DCB8 8007D0B8 8FBF002C */ lw $ra, 0x2c($sp) -/* 07DCBC 8007D0BC AC226360 */ sw $v0, %lo(D_80126360)($at) -/* 07DCC0 8007D0C0 3C018012 */ lui $at, %hi(D_80126368) # $at, 0x8012 -/* 07DCC4 8007D0C4 8FBE0028 */ lw $fp, 0x28($sp) -/* 07DCC8 8007D0C8 8FB70024 */ lw $s7, 0x24($sp) -/* 07DCCC 8007D0CC 8FB60020 */ lw $s6, 0x20($sp) -/* 07DCD0 8007D0D0 8FB5001C */ lw $s5, 0x1c($sp) -/* 07DCD4 8007D0D4 8FB40018 */ lw $s4, 0x18($sp) -/* 07DCD8 8007D0D8 8FB30014 */ lw $s3, 0x14($sp) -/* 07DCDC 8007D0DC 8FB20010 */ lw $s2, 0x10($sp) -/* 07DCE0 8007D0E0 8FB1000C */ lw $s1, 0xc($sp) -/* 07DCE4 8007D0E4 8FB00008 */ lw $s0, 8($sp) -/* 07DCE8 8007D0E8 AC236368 */ sw $v1, %lo(D_80126368)($at) -/* 07DCEC 8007D0EC 03E00008 */ jr $ra -/* 07DCF0 8007D0F0 27BD0040 */ addiu $sp, $sp, 0x40 - diff --git a/asm/non_matchings/textures_sprites/load_texture.s b/asm/non_matchings/textures_sprites/load_texture.s deleted file mode 100644 index c30f95ce..00000000 --- a/asm/non_matchings/textures_sprites/load_texture.s +++ /dev/null @@ -1,300 +0,0 @@ -glabel load_texture -/* 07BA74 8007AE74 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 07BA78 8007AE78 308EFFFF */ andi $t6, $a0, 0xffff -/* 07BA7C 8007AE7C AFB30024 */ sw $s3, 0x24($sp) -/* 07BA80 8007AE80 AFB00018 */ sw $s0, 0x18($sp) -/* 07BA84 8007AE84 31CF8000 */ andi $t7, $t6, 0x8000 -/* 07BA88 8007AE88 AFBF002C */ sw $ra, 0x2c($sp) -/* 07BA8C 8007AE8C AFB40028 */ sw $s4, 0x28($sp) -/* 07BA90 8007AE90 AFB20020 */ sw $s2, 0x20($sp) -/* 07BA94 8007AE94 AFB1001C */ sw $s1, 0x1c($sp) -/* 07BA98 8007AE98 01C08025 */ move $s0, $t6 -/* 07BA9C 8007AE9C 01C04025 */ move $t0, $t6 -/* 07BAA0 8007AEA0 24130004 */ li $s3, 4 -/* 07BAA4 8007AEA4 11E00004 */ beqz $t7, .L8007AEB8 -/* 07BAA8 8007AEA8 00001025 */ move $v0, $zero -/* 07BAAC 8007AEAC 24020001 */ li $v0, 1 -/* 07BAB0 8007AEB0 31C87FFF */ andi $t0, $t6, 0x7fff -/* 07BAB4 8007AEB4 24130002 */ li $s3, 2 -.L8007AEB8: -/* 07BAB8 8007AEB8 00024880 */ sll $t1, $v0, 2 -/* 07BABC 8007AEBC 3C188012 */ lui $t8, %hi(gTextureAssetID) # $t8, 0x8012 -/* 07BAC0 8007AEC0 0309C021 */ addu $t8, $t8, $t1 -/* 07BAC4 8007AEC4 8F186338 */ lw $t8, %lo(gTextureAssetID)($t8) -/* 07BAC8 8007AEC8 3C028012 */ lui $v0, %hi(gNumberOfLoadedTextures) # $v0, 0x8012 -/* 07BACC 8007AECC 0118082A */ slt $at, $t0, $t8 -/* 07BAD0 8007AED0 10200003 */ beqz $at, .L8007AEE0 -/* 07BAD4 8007AED4 3C048012 */ lui $a0, %hi(gTextureCache) # $a0, 0x8012 -/* 07BAD8 8007AED8 05010002 */ bgez $t0, .L8007AEE4 -/* 07BADC 8007AEDC 00000000 */ nop -.L8007AEE0: -/* 07BAE0 8007AEE0 00008025 */ move $s0, $zero -.L8007AEE4: -/* 07BAE4 8007AEE4 8C426330 */ lw $v0, %lo(gNumberOfLoadedTextures)($v0) -/* 07BAE8 8007AEE8 00008825 */ move $s1, $zero -/* 07BAEC 8007AEEC 18400012 */ blez $v0, .L8007AF38 -/* 07BAF0 8007AEF0 3C148012 */ lui $s4, %hi(gTempTextureHeader) # $s4, 0x8012 -/* 07BAF4 8007AEF4 8C846328 */ lw $a0, %lo(gTextureCache)($a0) -/* 07BAF8 8007AEF8 00000000 */ nop -/* 07BAFC 8007AEFC 001150C0 */ sll $t2, $s1, 3 -.L8007AF00: -/* 07BB00 8007AF00 008A1821 */ addu $v1, $a0, $t2 -/* 07BB04 8007AF04 8C6B0000 */ lw $t3, ($v1) -/* 07BB08 8007AF08 26310001 */ addiu $s1, $s1, 1 -/* 07BB0C 8007AF0C 160B0008 */ bne $s0, $t3, .L8007AF30 -/* 07BB10 8007AF10 0222082A */ slt $at, $s1, $v0 -/* 07BB14 8007AF14 8C620004 */ lw $v0, 4($v1) -/* 07BB18 8007AF18 00000000 */ nop -/* 07BB1C 8007AF1C 904C0005 */ lbu $t4, 5($v0) -/* 07BB20 8007AF20 00000000 */ nop -/* 07BB24 8007AF24 258D0001 */ addiu $t5, $t4, 1 -/* 07BB28 8007AF28 100000DC */ b .L8007B29C -/* 07BB2C 8007AF2C A04D0005 */ sb $t5, 5($v0) -.L8007AF30: -/* 07BB30 8007AF30 1420FFF3 */ bnez $at, .L8007AF00 -/* 07BB34 8007AF34 001150C0 */ sll $t2, $s1, 3 -.L8007AF38: -/* 07BB38 8007AF38 3C0E8012 */ lui $t6, %hi(gTextureAssetTable) # $t6, 0x8012 -/* 07BB3C 8007AF3C 01C97021 */ addu $t6, $t6, $t1 -/* 07BB40 8007AF40 8DCE6320 */ lw $t6, %lo(gTextureAssetTable)($t6) -/* 07BB44 8007AF44 00087880 */ sll $t7, $t0, 2 -/* 07BB48 8007AF48 01CF1021 */ addu $v0, $t6, $t7 -/* 07BB4C 8007AF4C 8C520000 */ lw $s2, ($v0) -/* 07BB50 8007AF50 8C580004 */ lw $t8, 4($v0) -/* 07BB54 8007AF54 2694636C */ addiu $s4, %lo(gTempTextureHeader) # addiu $s4, $s4, 0x636c -/* 07BB58 8007AF58 8E850000 */ lw $a1, ($s4) -/* 07BB5C 8007AF5C 0312C823 */ subu $t9, $t8, $s2 -/* 07BB60 8007AF60 AFB90058 */ sw $t9, 0x58($sp) -/* 07BB64 8007AF64 AFB30050 */ sw $s3, 0x50($sp) -/* 07BB68 8007AF68 02602025 */ move $a0, $s3 -/* 07BB6C 8007AF6C 24070028 */ li $a3, 40 -/* 07BB70 8007AF70 0C01DB9A */ jal load_asset_to_address -/* 07BB74 8007AF74 02403025 */ move $a2, $s2 -/* 07BB78 8007AF78 8E830000 */ lw $v1, ($s4) -/* 07BB7C 8007AF7C 8FAE0058 */ lw $t6, 0x58($sp) -/* 07BB80 8007AF80 94710012 */ lhu $s1, 0x12($v1) -/* 07BB84 8007AF84 906C001D */ lbu $t4, 0x1d($v1) -/* 07BB88 8007AF88 00115203 */ sra $t2, $s1, 8 -/* 07BB8C 8007AF8C 314BFFFF */ andi $t3, $t2, 0xffff -/* 07BB90 8007AF90 15800015 */ bnez $t4, .L8007AFE8 -/* 07BB94 8007AF94 01608825 */ move $s1, $t3 -/* 07BB98 8007AF98 000B6880 */ sll $t5, $t3, 2 -/* 07BB9C 8007AF9C 01AB6823 */ subu $t5, $t5, $t3 -/* 07BBA0 8007AFA0 3C05800E */ lui $a1, %hi(gTexColourTag) # $a1, 0x800e -/* 07BBA4 8007AFA4 8CA5E7C0 */ lw $a1, %lo(gTexColourTag)($a1) -/* 07BBA8 8007AFA8 000D6940 */ sll $t5, $t5, 5 -/* 07BBAC 8007AFAC 01AE2021 */ addu $a0, $t5, $t6 -/* 07BBB0 8007AFB0 0C01C344 */ jal mempool_alloc -/* 07BBB4 8007AFB4 0160A025 */ move $s4, $t3 -/* 07BBB8 8007AFB8 14400003 */ bnez $v0, .L8007AFC8 -/* 07BBBC 8007AFBC 00409825 */ move $s3, $v0 -/* 07BBC0 8007AFC0 100000B6 */ b .L8007B29C -/* 07BBC4 8007AFC4 00001025 */ move $v0, $zero -.L8007AFC8: -/* 07BBC8 8007AFC8 8FA40050 */ lw $a0, 0x50($sp) -/* 07BBCC 8007AFCC 8FA70058 */ lw $a3, 0x58($sp) -/* 07BBD0 8007AFD0 02602825 */ move $a1, $s3 -/* 07BBD4 8007AFD4 02403025 */ move $a2, $s2 -/* 07BBD8 8007AFD8 0C01DB9A */ jal load_asset_to_address -/* 07BBDC 8007AFDC 00008825 */ move $s1, $zero -/* 07BBE0 8007AFE0 1000002A */ b .L8007B08C -/* 07BBE4 8007AFE4 00000000 */ nop -.L8007AFE8: -/* 07BBE8 8007AFE8 0C03186B */ jal byteswap32 -/* 07BBEC 8007AFEC 24640020 */ addiu $a0, $v1, 0x20 -/* 07BBF0 8007AFF0 0011C080 */ sll $t8, $s1, 2 -/* 07BBF4 8007AFF4 0311C023 */ subu $t8, $t8, $s1 -/* 07BBF8 8007AFF8 0018C140 */ sll $t8, $t8, 5 -/* 07BBFC 8007AFFC 3C05800E */ lui $a1, %hi(gTexColourTag) # $a1, 0x800e -/* 07BC00 8007B000 244F0020 */ addiu $t7, $v0, 0x20 -/* 07BC04 8007B004 8CA5E7C0 */ lw $a1, %lo(gTexColourTag)($a1) -/* 07BC08 8007B008 03022021 */ addu $a0, $t8, $v0 -/* 07BC0C 8007B00C AFAF003C */ sw $t7, 0x3c($sp) -/* 07BC10 8007B010 24840020 */ addiu $a0, $a0, 0x20 -/* 07BC14 8007B014 0C01C344 */ jal mempool_alloc -/* 07BC18 8007B018 0220A025 */ move $s4, $s1 -/* 07BC1C 8007B01C 14400003 */ bnez $v0, .L8007B02C -/* 07BC20 8007B020 00409825 */ move $s3, $v0 -/* 07BC24 8007B024 1000009D */ b .L8007B29C -/* 07BC28 8007B028 00001025 */ move $v0, $zero -.L8007B02C: -/* 07BC2C 8007B02C 8FB9003C */ lw $t9, 0x3c($sp) -/* 07BC30 8007B030 8FAB0058 */ lw $t3, 0x58($sp) -/* 07BC34 8007B034 02795021 */ addu $t2, $s3, $t9 -/* 07BC38 8007B038 014B1023 */ subu $v0, $t2, $t3 -/* 07BC3C 8007B03C 8FA40050 */ lw $a0, 0x50($sp) -/* 07BC40 8007B040 04410004 */ bgez $v0, .L8007B054 -/* 07BC44 8007B044 304C000F */ andi $t4, $v0, 0xf -/* 07BC48 8007B048 11800002 */ beqz $t4, .L8007B054 -/* 07BC4C 8007B04C 00000000 */ nop -/* 07BC50 8007B050 258CFFF0 */ addiu $t4, $t4, -0x10 -.L8007B054: -/* 07BC54 8007B054 004C2823 */ subu $a1, $v0, $t4 -/* 07BC58 8007B058 AFA50034 */ sw $a1, 0x34($sp) -/* 07BC5C 8007B05C 02403025 */ move $a2, $s2 -/* 07BC60 8007B060 00008825 */ move $s1, $zero -/* 07BC64 8007B064 0C01DB9A */ jal load_asset_to_address -/* 07BC68 8007B068 01603825 */ move $a3, $t3 -/* 07BC6C 8007B06C 8FA40034 */ lw $a0, 0x34($sp) -/* 07BC70 8007B070 02602825 */ move $a1, $s3 -/* 07BC74 8007B074 0C031886 */ jal gzip_inflate -/* 07BC78 8007B078 24840020 */ addiu $a0, $a0, 0x20 -/* 07BC7C 8007B07C 8FAD003C */ lw $t5, 0x3c($sp) -/* 07BC80 8007B080 00000000 */ nop -/* 07BC84 8007B084 25AEFFE0 */ addiu $t6, $t5, -0x20 -/* 07BC88 8007B088 AFAE0058 */ sw $t6, 0x58($sp) -.L8007B08C: -/* 07BC8C 8007B08C 3C028012 */ lui $v0, %hi(gNumberOfLoadedTextures) # $v0, 0x8012 -/* 07BC90 8007B090 8C426330 */ lw $v0, %lo(gNumberOfLoadedTextures)($v0) -/* 07BC94 8007B094 2405FFFF */ li $a1, -1 -/* 07BC98 8007B098 18400010 */ blez $v0, .L8007B0DC -/* 07BC9C 8007B09C 3C0E8012 */ lui $t6, %hi(gTextureCache) # $t6, 0x8012 -/* 07BCA0 8007B0A0 3C048012 */ lui $a0, %hi(gTextureCache) # $a0, 0x8012 -/* 07BCA4 8007B0A4 8C846328 */ lw $a0, %lo(gTextureCache)($a0) -/* 07BCA8 8007B0A8 2403FFFF */ li $v1, -1 -/* 07BCAC 8007B0AC 0011C0C0 */ sll $t8, $s1, 3 -.L8007B0B0: -/* 07BCB0 8007B0B0 0098C821 */ addu $t9, $a0, $t8 -/* 07BCB4 8007B0B4 8F2A0000 */ lw $t2, ($t9) -/* 07BCB8 8007B0B8 00000000 */ nop -/* 07BCBC 8007B0BC 146A0002 */ bne $v1, $t2, .L8007B0C8 -/* 07BCC0 8007B0C0 00000000 */ nop -/* 07BCC4 8007B0C4 02202825 */ move $a1, $s1 -.L8007B0C8: -/* 07BCC8 8007B0C8 26310001 */ addiu $s1, $s1, 1 -/* 07BCCC 8007B0CC 0222082A */ slt $at, $s1, $v0 -/* 07BCD0 8007B0D0 1420FFF7 */ bnez $at, .L8007B0B0 -/* 07BCD4 8007B0D4 0011C0C0 */ sll $t8, $s1, 3 -/* 07BCD8 8007B0D8 00008825 */ move $s1, $zero -.L8007B0DC: -/* 07BCDC 8007B0DC 3C048012 */ lui $a0, %hi(gTextureCache) # $a0, 0x8012 -/* 07BCE0 8007B0E0 2403FFFF */ li $v1, -1 -/* 07BCE4 8007B0E4 8C846328 */ lw $a0, %lo(gTextureCache)($a0) -/* 07BCE8 8007B0E8 14A30004 */ bne $a1, $v1, .L8007B0FC -/* 07BCEC 8007B0EC 244C0001 */ addiu $t4, $v0, 1 -/* 07BCF0 8007B0F0 3C018012 */ lui $at, %hi(gNumberOfLoadedTextures) # $at, 0x8012 -/* 07BCF4 8007B0F4 00402825 */ move $a1, $v0 -/* 07BCF8 8007B0F8 AC2C6330 */ sw $t4, %lo(gNumberOfLoadedTextures)($at) -.L8007B0FC: -/* 07BCFC 8007B0FC 000558C0 */ sll $t3, $a1, 3 -/* 07BD00 8007B100 008B6821 */ addu $t5, $a0, $t3 -/* 07BD04 8007B104 ADB00000 */ sw $s0, ($t5) -/* 07BD08 8007B108 8DCE6328 */ lw $t6, %lo(gTextureCache)($t6) -/* 07BD0C 8007B10C 24010007 */ li $at, 7 -/* 07BD10 8007B110 01CB7821 */ addu $t7, $t6, $t3 -/* 07BD14 8007B114 ADF30004 */ sw $s3, 4($t7) -/* 07BD18 8007B118 92660002 */ lbu $a2, 2($s3) -/* 07BD1C 8007B11C 2403FFFF */ li $v1, -1 -/* 07BD20 8007B120 30D8000F */ andi $t8, $a2, 0xf -/* 07BD24 8007B124 1701001E */ bne $t8, $at, .L8007B1A0 -/* 07BD28 8007B128 03003025 */ move $a2, $t8 -/* 07BD2C 8007B12C 3C128012 */ lui $s2, %hi(D_80126344) # $s2, 0x8012 -/* 07BD30 8007B130 26526344 */ addiu $s2, %lo(D_80126344) # addiu $s2, $s2, 0x6344 -/* 07BD34 8007B134 8E590000 */ lw $t9, ($s2) -/* 07BD38 8007B138 2404000E */ li $a0, 14 -/* 07BD3C 8007B13C 17200014 */ bnez $t9, .L8007B190 -/* 07BD40 8007B140 3C0A8012 */ lui $t2, %hi(gCiPalettes) # $t2, 0x8012 -/* 07BD44 8007B144 3C0C8012 */ lui $t4, %hi(gCiPalettesSize) # $t4, 0x8012 -/* 07BD48 8007B148 8D8C6340 */ lw $t4, %lo(gCiPalettesSize)($t4) -/* 07BD4C 8007B14C 8D4A632C */ lw $t2, %lo(gCiPalettes)($t2) -/* 07BD50 8007B150 86660008 */ lh $a2, 8($s3) -/* 07BD54 8007B154 24070020 */ li $a3, 32 -/* 07BD58 8007B158 0C01DB9A */ jal load_asset_to_address -/* 07BD5C 8007B15C 014C2821 */ addu $a1, $t2, $t4 -/* 07BD60 8007B160 3C0B8012 */ lui $t3, %hi(gCiPalettesSize) # $t3, 0x8012 -/* 07BD64 8007B164 8D6B6340 */ lw $t3, %lo(gCiPalettesSize)($t3) -/* 07BD68 8007B168 3C0D8012 */ lui $t5, %hi(gCiPalettesSize) # $t5, 0x8012 -/* 07BD6C 8007B16C A66B0008 */ sh $t3, 8($s3) -/* 07BD70 8007B170 8DAD6340 */ lw $t5, %lo(gCiPalettesSize)($t5) -/* 07BD74 8007B174 3C018012 */ lui $at, %hi(gCiPalettesSize) # $at, 0x8012 -/* 07BD78 8007B178 25AE0020 */ addiu $t6, $t5, 0x20 -/* 07BD7C 8007B17C AC2E6340 */ sw $t6, %lo(gCiPalettesSize)($at) -/* 07BD80 8007B180 92660002 */ lbu $a2, 2($s3) -/* 07BD84 8007B184 00000000 */ nop -/* 07BD88 8007B188 30CF000F */ andi $t7, $a2, 0xf -/* 07BD8C 8007B18C 01E03025 */ move $a2, $t7 -.L8007B190: -/* 07BD90 8007B190 3C038012 */ lui $v1, %hi(gCiPalettesSize) # $v1, 0x8012 -/* 07BD94 8007B194 8C636340 */ lw $v1, %lo(gCiPalettesSize)($v1) -/* 07BD98 8007B198 00000000 */ nop -/* 07BD9C 8007B19C 2463FFE0 */ addiu $v1, $v1, -0x20 -.L8007B1A0: -/* 07BDA0 8007B1A0 3C128012 */ lui $s2, %hi(D_80126344) # $s2, 0x8012 -/* 07BDA4 8007B1A4 24010008 */ li $at, 8 -/* 07BDA8 8007B1A8 14C10016 */ bne $a2, $at, .L8007B204 -/* 07BDAC 8007B1AC 26526344 */ addiu $s2, %lo(D_80126344) # addiu $s2, $s2, 0x6344 -/* 07BDB0 8007B1B0 8E580000 */ lw $t8, ($s2) -/* 07BDB4 8007B1B4 3C108012 */ lui $s0, %hi(gCiPalettesSize) # $s0, 0x8012 -/* 07BDB8 8007B1B8 8E106340 */ lw $s0, %lo(gCiPalettesSize)($s0) -/* 07BDBC 8007B1BC 17000010 */ bnez $t8, .L8007B200 -/* 07BDC0 8007B1C0 2404000E */ li $a0, 14 -/* 07BDC4 8007B1C4 3C198012 */ lui $t9, %hi(gCiPalettes) # $t9, 0x8012 -/* 07BDC8 8007B1C8 8F39632C */ lw $t9, %lo(gCiPalettes)($t9) -/* 07BDCC 8007B1CC 86660008 */ lh $a2, 8($s3) -/* 07BDD0 8007B1D0 24070080 */ li $a3, 128 -/* 07BDD4 8007B1D4 0C01DB9A */ jal load_asset_to_address -/* 07BDD8 8007B1D8 03302821 */ addu $a1, $t9, $s0 -/* 07BDDC 8007B1DC 3C038012 */ lui $v1, %hi(gCiPalettesSize) # $v1, 0x8012 -/* 07BDE0 8007B1E0 24636340 */ addiu $v1, %lo(gCiPalettesSize) # addiu $v1, $v1, 0x6340 -/* 07BDE4 8007B1E4 8C6A0000 */ lw $t2, ($v1) -/* 07BDE8 8007B1E8 00000000 */ nop -/* 07BDEC 8007B1EC A66A0008 */ sh $t2, 8($s3) -/* 07BDF0 8007B1F0 8C6C0000 */ lw $t4, ($v1) -/* 07BDF4 8007B1F4 00000000 */ nop -/* 07BDF8 8007B1F8 25900080 */ addiu $s0, $t4, 0x80 -/* 07BDFC 8007B1FC AC700000 */ sw $s0, ($v1) -.L8007B200: -/* 07BE00 8007B200 2603FF80 */ addiu $v1, $s0, -0x80 -.L8007B204: -/* 07BE04 8007B204 8FAD0058 */ lw $t5, 0x58($sp) -/* 07BE08 8007B208 AE400000 */ sw $zero, ($s2) -/* 07BE0C 8007B20C AFA30054 */ sw $v1, 0x54($sp) -/* 07BE10 8007B210 0C01C614 */ jal align16 -/* 07BE14 8007B214 026D2021 */ addu $a0, $s3, $t5 -/* 07BE18 8007B218 8FA30054 */ lw $v1, 0x54($sp) -/* 07BE1C 8007B21C 00409025 */ move $s2, $v0 -/* 07BE20 8007B220 1A80000F */ blez $s4, .L8007B260 -/* 07BE24 8007B224 02608025 */ move $s0, $s3 -.L8007B228: -/* 07BE28 8007B228 02002025 */ move $a0, $s0 -/* 07BE2C 8007B22C 02402825 */ move $a1, $s2 -/* 07BE30 8007B230 0C01F43D */ jal build_tex_display_list -/* 07BE34 8007B234 AFA30054 */ sw $v1, 0x54($sp) -/* 07BE38 8007B238 8FA30054 */ lw $v1, 0x54($sp) -/* 07BE3C 8007B23C 26310001 */ addiu $s1, $s1, 1 -/* 07BE40 8007B240 04600003 */ bltz $v1, .L8007B250 -/* 07BE44 8007B244 00000000 */ nop -/* 07BE48 8007B248 A6030008 */ sh $v1, 8($s0) -/* 07BE4C 8007B24C 26520030 */ addiu $s2, $s2, 0x30 -.L8007B250: -/* 07BE50 8007B250 860E0016 */ lh $t6, 0x16($s0) -/* 07BE54 8007B254 26520060 */ addiu $s2, $s2, 0x60 -/* 07BE58 8007B258 1634FFF3 */ bne $s1, $s4, .L8007B228 -/* 07BE5C 8007B25C 020E8021 */ addu $s0, $s0, $t6 -.L8007B260: -/* 07BE60 8007B260 3C0F8012 */ lui $t7, %hi(gCiPalettesSize) # $t7, 0x8012 -/* 07BE64 8007B264 8DEF6340 */ lw $t7, %lo(gCiPalettesSize)($t7) -/* 07BE68 8007B268 3C188012 */ lui $t8, %hi(gNumberOfLoadedTextures) # $t8, 0x8012 -/* 07BE6C 8007B26C 29E10280 */ slti $at, $t7, 0x280 -/* 07BE70 8007B270 14200003 */ bnez $at, .L8007B280 -/* 07BE74 8007B274 00000000 */ nop -/* 07BE78 8007B278 10000008 */ b .L8007B29C -/* 07BE7C 8007B27C 00001025 */ move $v0, $zero -.L8007B280: -/* 07BE80 8007B280 8F186330 */ lw $t8, %lo(gNumberOfLoadedTextures)($t8) -/* 07BE84 8007B284 02601025 */ move $v0, $s3 -/* 07BE88 8007B288 2B0102BD */ slti $at, $t8, 0x2bd -/* 07BE8C 8007B28C 14200003 */ bnez $at, .L8007B29C -/* 07BE90 8007B290 00000000 */ nop -/* 07BE94 8007B294 10000001 */ b .L8007B29C -/* 07BE98 8007B298 00001025 */ move $v0, $zero -.L8007B29C: -/* 07BE9C 8007B29C 8FBF002C */ lw $ra, 0x2c($sp) -/* 07BEA0 8007B2A0 8FB00018 */ lw $s0, 0x18($sp) -/* 07BEA4 8007B2A4 8FB1001C */ lw $s1, 0x1c($sp) -/* 07BEA8 8007B2A8 8FB20020 */ lw $s2, 0x20($sp) -/* 07BEAC 8007B2AC 8FB30024 */ lw $s3, 0x24($sp) -/* 07BEB0 8007B2B0 8FB40028 */ lw $s4, 0x28($sp) -/* 07BEB4 8007B2B4 03E00008 */ jr $ra -/* 07BEB8 8007B2B8 27BD0070 */ addiu $sp, $sp, 0x70 - diff --git a/asm/non_matchings/tracks/func_80025510.s b/asm/non_matchings/tracks/func_80025510.s deleted file mode 100644 index 59ac2d8d..00000000 --- a/asm/non_matchings/tracks/func_80025510.s +++ /dev/null @@ -1,183 +0,0 @@ -glabel func_80025510 -/* 026110 80025510 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 026114 80025514 3C068012 */ lui $a2, %hi(D_8011D4BC) # $a2, 0x8012 -/* 026118 80025518 3C098012 */ lui $t1, %hi(D_8011D4BA) # $t1, 0x8012 -/* 02611C 8002551C 2529D4BA */ addiu $t1, %lo(D_8011D4BA) # addiu $t1, $t1, -0x2b46 -/* 026120 80025520 24C6D4BC */ addiu $a2, %lo(D_8011D4BC) # addiu $a2, $a2, -0x2b44 -/* 026124 80025524 AFB00018 */ sw $s0, 0x18($sp) -/* 026128 80025528 240E00AF */ li $t6, 175 -/* 02612C 8002552C 240F002D */ li $t7, 45 -/* 026130 80025530 28810002 */ slti $at, $a0, 2 -/* 026134 80025534 00808025 */ move $s0, $a0 -/* 026138 80025538 AFBF001C */ sw $ra, 0x1c($sp) -/* 02613C 8002553C A52E0000 */ sh $t6, ($t1) -/* 026140 80025540 14200005 */ bnez $at, .L80025558 -/* 026144 80025544 A4CF0000 */ sh $t7, ($a2) -/* 026148 80025548 84D80000 */ lh $t8, ($a2) -/* 02614C 8002554C 00000000 */ nop -/* 026150 80025550 0018C843 */ sra $t9, $t8, 1 -/* 026154 80025554 A4D90000 */ sh $t9, ($a2) -.L80025558: -/* 026158 80025558 84C80000 */ lh $t0, ($a2) -/* 02615C 8002555C 85230000 */ lh $v1, ($t1) -/* 026160 80025560 00083880 */ sll $a3, $t0, 2 -/* 026164 80025564 00076880 */ sll $t5, $a3, 2 -/* 026168 80025568 01A76821 */ addu $t5, $t5, $a3 -/* 02616C 8002556C 000D6840 */ sll $t5, $t5, 1 -/* 026170 80025570 00087140 */ sll $t6, $t0, 5 -/* 026174 80025574 000350C0 */ sll $t2, $v1, 3 -/* 026178 80025578 254B0030 */ addiu $t3, $t2, 0x30 -/* 02617C 8002557C 25A700C8 */ addiu $a3, $t5, 0xc8 -/* 026180 80025580 25C800A0 */ addiu $t0, $t6, 0xa0 -/* 026184 80025584 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff -/* 026188 80025588 246C0005 */ addiu $t4, $v1, 5 -/* 02618C 8002558C AFAB0030 */ sw $t3, 0x30($sp) -/* 026190 80025590 AFAC002C */ sw $t4, 0x2c($sp) -/* 026194 80025594 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 026198 80025598 AFA80024 */ sw $t0, 0x24($sp) -/* 02619C 8002559C AFA70028 */ sw $a3, 0x28($sp) -/* 0261A0 800255A0 0C01C327 */ jal mempool_alloc_safe -/* 0261A4 800255A4 00102100 */ sll $a0, $s0, 4 -/* 0261A8 800255A8 8FA70028 */ lw $a3, 0x28($sp) -/* 0261AC 800255AC 8FA80024 */ lw $t0, 0x24($sp) -/* 0261B0 800255B0 8FAF0030 */ lw $t7, 0x30($sp) -/* 0261B4 800255B4 00E85021 */ addu $t2, $a3, $t0 -/* 0261B8 800255B8 000A5840 */ sll $t3, $t2, 1 -/* 0261BC 800255BC 01700019 */ multu $t3, $s0 -/* 0261C0 800255C0 8FB8002C */ lw $t8, 0x2c($sp) -/* 0261C4 800255C4 3C068012 */ lui $a2, %hi(D_8011D474) # $a2, 0x8012 -/* 0261C8 800255C8 24C6D474 */ addiu $a2, %lo(D_8011D474) # addiu $a2, $a2, -0x2b8c -/* 0261CC 800255CC 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff -/* 0261D0 800255D0 01F8C821 */ addu $t9, $t7, $t8 -/* 0261D4 800255D4 ACC20000 */ sw $v0, ($a2) -/* 0261D8 800255D8 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 0261DC 800255DC 00006012 */ mflo $t4 -/* 0261E0 800255E0 032C2021 */ addu $a0, $t9, $t4 -/* 0261E4 800255E4 0C01C327 */ jal mempool_alloc_safe -/* 0261E8 800255E8 00000000 */ nop -/* 0261EC 800255EC 3C04800E */ lui $a0, %hi(D_800DC924) # $a0, 0x800e -/* 0261F0 800255F0 2484C924 */ addiu $a0, %lo(D_800DC924) # addiu $a0, $a0, -0x36dc -/* 0261F4 800255F4 3C068012 */ lui $a2, %hi(D_8011D474) # $a2, 0x8012 -/* 0261F8 800255F8 8FA70028 */ lw $a3, 0x28($sp) -/* 0261FC 800255FC 8FA80024 */ lw $t0, 0x24($sp) -/* 026200 80025600 24C6D474 */ addiu $a2, %lo(D_8011D474) # addiu $a2, $a2, -0x2b8c -/* 026204 80025604 1040006C */ beqz $v0, .L800257B8 -/* 026208 80025608 AC820000 */ sw $v0, ($a0) -/* 02620C 8002560C 8FAD0030 */ lw $t5, 0x30($sp) -/* 026210 80025610 3C018012 */ lui $at, %hi(D_8011D478) # $at, 0x8012 -/* 026214 80025614 AC22D478 */ sw $v0, %lo(D_8011D478)($at) -/* 026218 80025618 8FAE002C */ lw $t6, 0x2c($sp) -/* 02621C 8002561C 3C018012 */ lui $at, %hi(D_8011D47C) # $at, 0x8012 -/* 026220 80025620 004D1821 */ addu $v1, $v0, $t5 -/* 026224 80025624 AC23D47C */ sw $v1, %lo(D_8011D47C)($at) -/* 026228 80025628 006E1821 */ addu $v1, $v1, $t6 -/* 02622C 8002562C 24630008 */ addiu $v1, $v1, 8 -/* 026230 80025630 2401FFF8 */ li $at, -8 -/* 026234 80025634 00617824 */ and $t7, $v1, $at -/* 026238 80025638 01E01825 */ move $v1, $t7 -/* 02623C 8002563C 1A00005E */ blez $s0, .L800257B8 -/* 026240 80025640 00002025 */ move $a0, $zero -/* 026244 80025644 32090003 */ andi $t1, $s0, 3 -/* 026248 80025648 11200016 */ beqz $t1, .L800256A4 -/* 02624C 8002564C 01202825 */ move $a1, $t1 -/* 026250 80025650 00001100 */ sll $v0, $zero, 4 -.L80025654: -/* 026254 80025654 8CD80000 */ lw $t8, ($a2) -/* 026258 80025658 24840001 */ addiu $a0, $a0, 1 -/* 02625C 8002565C 03025021 */ addu $t2, $t8, $v0 -/* 026260 80025660 AD430000 */ sw $v1, ($t2) -/* 026264 80025664 8CCB0000 */ lw $t3, ($a2) -/* 026268 80025668 00681821 */ addu $v1, $v1, $t0 -/* 02626C 8002566C 0162C821 */ addu $t9, $t3, $v0 -/* 026270 80025670 AF230004 */ sw $v1, 4($t9) -/* 026274 80025674 8CCC0000 */ lw $t4, ($a2) -/* 026278 80025678 00681821 */ addu $v1, $v1, $t0 -/* 02627C 8002567C 01826821 */ addu $t5, $t4, $v0 -/* 026280 80025680 ADA30008 */ sw $v1, 8($t5) -/* 026284 80025684 8CCE0000 */ lw $t6, ($a2) -/* 026288 80025688 00671821 */ addu $v1, $v1, $a3 -/* 02628C 8002568C 01C27821 */ addu $t7, $t6, $v0 -/* 026290 80025690 ADE3000C */ sw $v1, 0xc($t7) -/* 026294 80025694 00671821 */ addu $v1, $v1, $a3 -/* 026298 80025698 14A4FFEE */ bne $a1, $a0, .L80025654 -/* 02629C 8002569C 24420010 */ addiu $v0, $v0, 0x10 -/* 0262A0 800256A0 10900045 */ beq $a0, $s0, .L800257B8 -.L800256A4: -/* 0262A4 800256A4 00041100 */ sll $v0, $a0, 4 -/* 0262A8 800256A8 00102900 */ sll $a1, $s0, 4 -.L800256AC: -/* 0262AC 800256AC 8CD80000 */ lw $t8, ($a2) -/* 0262B0 800256B0 00000000 */ nop -/* 0262B4 800256B4 03025021 */ addu $t2, $t8, $v0 -/* 0262B8 800256B8 AD430000 */ sw $v1, ($t2) -/* 0262BC 800256BC 8CCB0000 */ lw $t3, ($a2) -/* 0262C0 800256C0 00681821 */ addu $v1, $v1, $t0 -/* 0262C4 800256C4 0162C821 */ addu $t9, $t3, $v0 -/* 0262C8 800256C8 AF230004 */ sw $v1, 4($t9) -/* 0262CC 800256CC 8CCC0000 */ lw $t4, ($a2) -/* 0262D0 800256D0 00681821 */ addu $v1, $v1, $t0 -/* 0262D4 800256D4 01826821 */ addu $t5, $t4, $v0 -/* 0262D8 800256D8 ADA30008 */ sw $v1, 8($t5) -/* 0262DC 800256DC 8CCE0000 */ lw $t6, ($a2) -/* 0262E0 800256E0 00671821 */ addu $v1, $v1, $a3 -/* 0262E4 800256E4 01C27821 */ addu $t7, $t6, $v0 -/* 0262E8 800256E8 ADE3000C */ sw $v1, 0xc($t7) -/* 0262EC 800256EC 8CD80000 */ lw $t8, ($a2) -/* 0262F0 800256F0 00671821 */ addu $v1, $v1, $a3 -/* 0262F4 800256F4 03025021 */ addu $t2, $t8, $v0 -/* 0262F8 800256F8 AD430010 */ sw $v1, 0x10($t2) -/* 0262FC 800256FC 8CCB0000 */ lw $t3, ($a2) -/* 026300 80025700 00681821 */ addu $v1, $v1, $t0 -/* 026304 80025704 0162C821 */ addu $t9, $t3, $v0 -/* 026308 80025708 AF230014 */ sw $v1, 0x14($t9) -/* 02630C 8002570C 8CCC0000 */ lw $t4, ($a2) -/* 026310 80025710 00681821 */ addu $v1, $v1, $t0 -/* 026314 80025714 01826821 */ addu $t5, $t4, $v0 -/* 026318 80025718 ADA30018 */ sw $v1, 0x18($t5) -/* 02631C 8002571C 8CCE0000 */ lw $t6, ($a2) -/* 026320 80025720 00671821 */ addu $v1, $v1, $a3 -/* 026324 80025724 01C27821 */ addu $t7, $t6, $v0 -/* 026328 80025728 ADE3001C */ sw $v1, 0x1c($t7) -/* 02632C 8002572C 8CD80000 */ lw $t8, ($a2) -/* 026330 80025730 00671821 */ addu $v1, $v1, $a3 -/* 026334 80025734 03025021 */ addu $t2, $t8, $v0 -/* 026338 80025738 AD430020 */ sw $v1, 0x20($t2) -/* 02633C 8002573C 8CCB0000 */ lw $t3, ($a2) -/* 026340 80025740 00681821 */ addu $v1, $v1, $t0 -/* 026344 80025744 0162C821 */ addu $t9, $t3, $v0 -/* 026348 80025748 AF230024 */ sw $v1, 0x24($t9) -/* 02634C 8002574C 8CCC0000 */ lw $t4, ($a2) -/* 026350 80025750 00681821 */ addu $v1, $v1, $t0 -/* 026354 80025754 01826821 */ addu $t5, $t4, $v0 -/* 026358 80025758 ADA30028 */ sw $v1, 0x28($t5) -/* 02635C 8002575C 8CCE0000 */ lw $t6, ($a2) -/* 026360 80025760 00671821 */ addu $v1, $v1, $a3 -/* 026364 80025764 01C27821 */ addu $t7, $t6, $v0 -/* 026368 80025768 ADE3002C */ sw $v1, 0x2c($t7) -/* 02636C 8002576C 8CD80000 */ lw $t8, ($a2) -/* 026370 80025770 00671821 */ addu $v1, $v1, $a3 -/* 026374 80025774 03025021 */ addu $t2, $t8, $v0 -/* 026378 80025778 AD430030 */ sw $v1, 0x30($t2) -/* 02637C 8002577C 8CCB0000 */ lw $t3, ($a2) -/* 026380 80025780 00681821 */ addu $v1, $v1, $t0 -/* 026384 80025784 0162C821 */ addu $t9, $t3, $v0 -/* 026388 80025788 AF230034 */ sw $v1, 0x34($t9) -/* 02638C 8002578C 8CCC0000 */ lw $t4, ($a2) -/* 026390 80025790 00681821 */ addu $v1, $v1, $t0 -/* 026394 80025794 01826821 */ addu $t5, $t4, $v0 -/* 026398 80025798 ADA30038 */ sw $v1, 0x38($t5) -/* 02639C 8002579C 8CCE0000 */ lw $t6, ($a2) -/* 0263A0 800257A0 00671821 */ addu $v1, $v1, $a3 -/* 0263A4 800257A4 01C27821 */ addu $t7, $t6, $v0 -/* 0263A8 800257A8 ADE3003C */ sw $v1, 0x3c($t7) -/* 0263AC 800257AC 24420040 */ addiu $v0, $v0, 0x40 -/* 0263B0 800257B0 1445FFBE */ bne $v0, $a1, .L800256AC -/* 0263B4 800257B4 00671821 */ addu $v1, $v1, $a3 -.L800257B8: -/* 0263B8 800257B8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0263BC 800257BC 3C018012 */ lui $at, %hi(D_8011D4B4) # $at, 0x8012 -/* 0263C0 800257C0 8FB00018 */ lw $s0, 0x18($sp) -/* 0263C4 800257C4 A020D4B4 */ sb $zero, %lo(D_8011D4B4)($at) -/* 0263C8 800257C8 03E00008 */ jr $ra -/* 0263CC 800257CC 27BD0038 */ addiu $sp, $sp, 0x38 - diff --git a/asm/non_matchings/tracks/func_8002581C.s b/asm/non_matchings/tracks/func_8002581C.s deleted file mode 100644 index a60dd6a1..00000000 --- a/asm/non_matchings/tracks/func_8002581C.s +++ /dev/null @@ -1,569 +0,0 @@ -.late_rodata -glabel D_800E5E60 -.double 250.0 - -.text -glabel func_8002581C -/* 02641C 8002581C 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 026420 80025820 3C0E8012 */ lui $t6, %hi(D_8011D474) # $t6, 0x8012 -/* 026424 80025824 8DCED474 */ lw $t6, %lo(D_8011D474)($t6) -/* 026428 80025828 00067900 */ sll $t7, $a2, 4 -/* 02642C 8002582C AFBF004C */ sw $ra, 0x4c($sp) -/* 026430 80025830 AFB40048 */ sw $s4, 0x48($sp) -/* 026434 80025834 AFB30044 */ sw $s3, 0x44($sp) -/* 026438 80025838 AFB20040 */ sw $s2, 0x40($sp) -/* 02643C 8002583C AFB1003C */ sw $s1, 0x3c($sp) -/* 026440 80025840 AFB00038 */ sw $s0, 0x38($sp) -/* 026444 80025844 E7BB0030 */ swc1 $f27, 0x30($sp) -/* 026448 80025848 E7BA0034 */ swc1 $f26, 0x34($sp) -/* 02644C 8002584C E7B90028 */ swc1 $f25, 0x28($sp) -/* 026450 80025850 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 026454 80025854 E7B70020 */ swc1 $f23, 0x20($sp) -/* 026458 80025858 E7B60024 */ swc1 $f22, 0x24($sp) -/* 02645C 8002585C E7B50018 */ swc1 $f21, 0x18($sp) -/* 026460 80025860 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 026464 80025864 AFA400C0 */ sw $a0, 0xc0($sp) -/* 026468 80025868 AFA500C4 */ sw $a1, 0xc4($sp) -/* 02646C 8002586C 01CF1021 */ addu $v0, $t6, $t7 -/* 026470 80025870 8C580000 */ lw $t8, ($v0) -/* 026474 80025874 3C038012 */ lui $v1, %hi(D_8011D490) # $v1, 0x8012 -/* 026478 80025878 2463D490 */ addiu $v1, %lo(D_8011D490) # addiu $v1, $v1, -0x2b70 -/* 02647C 8002587C AC780000 */ sw $t8, ($v1) -/* 026480 80025880 8C590004 */ lw $t9, 4($v0) -/* 026484 80025884 3C088012 */ lui $t0, %hi(D_8011D480) # $t0, 0x8012 -/* 026488 80025888 AC790004 */ sw $t9, 4($v1) -/* 02648C 8002588C 8C4A0008 */ lw $t2, 8($v0) -/* 026490 80025890 2508D480 */ addiu $t0, %lo(D_8011D480) # addiu $t0, $t0, -0x2b80 -/* 026494 80025894 AD0A0000 */ sw $t2, ($t0) -/* 026498 80025898 8C4B000C */ lw $t3, 0xc($v0) -/* 02649C 8002589C 3C048012 */ lui $a0, %hi(gSceneCurrDisplayList) # $a0, 0x8012 -/* 0264A0 800258A0 2484B0A0 */ addiu $a0, %lo(gSceneCurrDisplayList) # addiu $a0, $a0, -0x4f60 -/* 0264A4 800258A4 00002825 */ move $a1, $zero -/* 0264A8 800258A8 24060003 */ li $a2, 3 -/* 0264AC 800258AC 0C01ED32 */ jal load_and_set_texture_no_offset -/* 0264B0 800258B0 AD0B0004 */ sw $t3, 4($t0) -/* 0264B4 800258B4 3C018012 */ lui $at, %hi(D_8011D49C) # $at, 0x8012 -/* 0264B8 800258B8 A420D49C */ sh $zero, %lo(D_8011D49C)($at) -/* 0264BC 800258BC 3C108012 */ lui $s0, %hi(gSceneActiveCamera) # $s0, 0x8012 -/* 0264C0 800258C0 3C018012 */ lui $at, %hi(D_8011D49E) # $at, 0x8012 -/* 0264C4 800258C4 2610B0B0 */ addiu $s0, %lo(gSceneActiveCamera) # addiu $s0, $s0, -0x4f50 -/* 0264C8 800258C8 A420D49E */ sh $zero, %lo(D_8011D49E)($at) -/* 0264CC 800258CC 8E0C0000 */ lw $t4, ($s0) -/* 0264D0 800258D0 00000000 */ nop -/* 0264D4 800258D4 85840000 */ lh $a0, ($t4) -/* 0264D8 800258D8 00000000 */ nop -/* 0264DC 800258DC 00042023 */ negu $a0, $a0 -/* 0264E0 800258E0 00046C00 */ sll $t5, $a0, 0x10 -/* 0264E4 800258E4 0C01C1F1 */ jal sins_f -/* 0264E8 800258E8 000D2403 */ sra $a0, $t5, 0x10 -/* 0264EC 800258EC 8E0F0000 */ lw $t7, ($s0) -/* 0264F0 800258F0 46000686 */ mov.s $f26, $f0 -/* 0264F4 800258F4 85E40000 */ lh $a0, ($t7) -/* 0264F8 800258F8 00000000 */ nop -/* 0264FC 800258FC 00042023 */ negu $a0, $a0 -/* 026500 80025900 0004C400 */ sll $t8, $a0, 0x10 -/* 026504 80025904 0C01C1FE */ jal coss_f -/* 026508 80025908 00182403 */ sra $a0, $t8, 0x10 -/* 02650C 8002590C 3C01800E */ lui $at, %hi(D_800E5E60 + 4) # $at, 0x800e -/* 026510 80025910 C42F5E60 */ lwc1 $f15, %lo(D_800E5E60)($at) -/* 026514 80025914 C42E5E64 */ lwc1 $f14, %lo(D_800E5E60 + 4)($at) -/* 026518 80025918 4600D221 */ cvt.d.s $f8, $f26 -/* 02651C 8002591C 462E4282 */ mul.d $f10, $f8, $f14 -/* 026520 80025920 8E020000 */ lw $v0, ($s0) -/* 026524 80025924 3C038012 */ lui $v1, %hi(D_8011D4AC) # $v1, 0x8012 -/* 026528 80025928 C444000C */ lwc1 $f4, 0xc($v0) -/* 02652C 8002592C 2463D4AC */ addiu $v1, %lo(D_8011D4AC) # addiu $v1, $v1, -0x2b54 -/* 026530 80025930 460021A1 */ cvt.d.s $f6, $f4 -/* 026534 80025934 462A3400 */ add.d $f16, $f6, $f10 -/* 026538 80025938 3C048012 */ lui $a0, %hi(D_8011D4B0) # $a0, 0x8012 -/* 02653C 8002593C 462084A0 */ cvt.s.d $f18, $f16 -/* 026540 80025940 2484D4B0 */ addiu $a0, %lo(D_8011D4B0) # addiu $a0, $a0, -0x2b50 -/* 026544 80025944 460001A1 */ cvt.d.s $f6, $f0 -/* 026548 80025948 462E3282 */ mul.d $f10, $f6, $f14 -/* 02654C 8002594C E4720000 */ swc1 $f18, ($v1) -/* 026550 80025950 C4440014 */ lwc1 $f4, 0x14($v0) -/* 026554 80025954 C4620000 */ lwc1 $f2, ($v1) -/* 026558 80025958 3C058012 */ lui $a1, %hi(D_8011D4A0) # $a1, 0x8012 -/* 02655C 8002595C 46002221 */ cvt.d.s $f8, $f4 -/* 026560 80025960 462A4400 */ add.d $f16, $f8, $f10 -/* 026564 80025964 24A5D4A0 */ addiu $a1, %lo(D_8011D4A0) # addiu $a1, $a1, -0x2b60 -/* 026568 80025968 462084A0 */ cvt.s.d $f18, $f16 -/* 02656C 8002596C 3C068012 */ lui $a2, %hi(D_8011D4A4) # $a2, 0x8012 -/* 026570 80025970 4602D102 */ mul.s $f4, $f26, $f2 -/* 026574 80025974 E4920000 */ swc1 $f18, ($a0) -/* 026578 80025978 C48C0000 */ lwc1 $f12, ($a0) -/* 02657C 8002597C 24C6D4A4 */ addiu $a2, %lo(D_8011D4A4) # addiu $a2, $a2, -0x2b5c -/* 026580 80025980 46000207 */ neg.s $f8, $f0 -/* 026584 80025984 460C0182 */ mul.s $f6, $f0, $f12 -/* 026588 80025988 E4A80000 */ swc1 $f8, ($a1) -/* 02658C 8002598C C4AA0000 */ lwc1 $f10, ($a1) -/* 026590 80025990 E4DA0000 */ swc1 $f26, ($a2) -/* 026594 80025994 46025402 */ mul.s $f16, $f10, $f2 -/* 026598 80025998 C4D20000 */ lwc1 $f18, ($a2) -/* 02659C 8002599C 8FAA00C4 */ lw $t2, 0xc4($sp) -/* 0265A0 800259A0 3C018012 */ lui $at, %hi(D_8011D4A8) # $at, 0x8012 -/* 0265A4 800259A4 46062580 */ add.s $f22, $f4, $f6 -/* 0265A8 800259A8 3C14800E */ lui $s4, %hi(gCurrentLevelModel) # $s4, 0x800e -/* 0265AC 800259AC 460C9102 */ mul.s $f4, $f18, $f12 -/* 0265B0 800259B0 46000606 */ mov.s $f24, $f0 -/* 0265B4 800259B4 4600B587 */ neg.s $f22, $f22 -/* 0265B8 800259B8 00009025 */ move $s2, $zero -/* 0265BC 800259BC 46048180 */ add.s $f6, $f16, $f4 -/* 0265C0 800259C0 2694C918 */ addiu $s4, %lo(gCurrentLevelModel) # addiu $s4, $s4, -0x36e8 -/* 0265C4 800259C4 46003207 */ neg.s $f8, $f6 -/* 0265C8 800259C8 19400069 */ blez $t2, .L80025B70 -/* 0265CC 800259CC E428D4A8 */ swc1 $f8, %lo(D_8011D4A8)($at) -/* 0265D0 800259D0 4480A800 */ mtc1 $zero, $f21 -/* 0265D4 800259D4 4480A000 */ mtc1 $zero, $f20 -/* 0265D8 800259D8 24130044 */ li $s3, 68 -/* 0265DC 800259DC 8FAB00C0 */ lw $t3, 0xc0($sp) -.L800259E0: -/* 0265E0 800259E0 8E830000 */ lw $v1, ($s4) -/* 0265E4 800259E4 024B8821 */ addu $s1, $s2, $t3 -/* 0265E8 800259E8 92220000 */ lbu $v0, ($s1) -/* 0265EC 800259EC 8C6D0008 */ lw $t5, 8($v1) -/* 0265F0 800259F0 00026080 */ sll $t4, $v0, 2 -/* 0265F4 800259F4 01826023 */ subu $t4, $t4, $v0 -/* 0265F8 800259F8 000C6080 */ sll $t4, $t4, 2 -/* 0265FC 800259FC 018D8021 */ addu $s0, $t4, $t5 -/* 026600 80025A00 860E0000 */ lh $t6, ($s0) -/* 026604 80025A04 860F0004 */ lh $t7, 4($s0) -/* 026608 80025A08 448E5000 */ mtc1 $t6, $f10 -/* 02660C 80025A0C 448F8000 */ mtc1 $t7, $f16 -/* 026610 80025A10 468054A0 */ cvt.s.w $f18, $f10 -/* 026614 80025A14 00003025 */ move $a2, $zero -/* 026618 80025A18 461A9002 */ mul.s $f0, $f18, $f26 -/* 02661C 80025A1C 46808120 */ cvt.s.w $f4, $f16 -/* 026620 80025A20 4604C082 */ mul.s $f2, $f24, $f4 -/* 026624 80025A24 46020180 */ add.s $f6, $f0, $f2 -/* 026628 80025A28 46163200 */ add.s $f8, $f6, $f22 -/* 02662C 80025A2C 460042A1 */ cvt.d.s $f10, $f8 -/* 026630 80025A30 4634503E */ c.le.d $f10, $f20 -/* 026634 80025A34 00000000 */ nop -/* 026638 80025A38 45000002 */ bc1f .L80025A44 -/* 02663C 80025A3C 00000000 */ nop -/* 026640 80025A40 24060001 */ li $a2, 1 -.L80025A44: -/* 026644 80025A44 860A0006 */ lh $t2, 6($s0) -/* 026648 80025A48 0006C400 */ sll $t8, $a2, 0x10 -/* 02664C 80025A4C 448A9000 */ mtc1 $t2, $f18 -/* 026650 80025A50 00183403 */ sra $a2, $t8, 0x10 -/* 026654 80025A54 46809420 */ cvt.s.w $f16, $f18 -/* 026658 80025A58 00005825 */ move $t3, $zero -/* 02665C 80025A5C 4610D302 */ mul.s $f12, $f26, $f16 -/* 026660 80025A60 46026100 */ add.s $f4, $f12, $f2 -/* 026664 80025A64 46162180 */ add.s $f6, $f4, $f22 -/* 026668 80025A68 46003221 */ cvt.d.s $f8, $f6 -/* 02666C 80025A6C 4634403E */ c.le.d $f8, $f20 -/* 026670 80025A70 00000000 */ nop -/* 026674 80025A74 45000002 */ bc1f .L80025A80 -/* 026678 80025A78 00000000 */ nop -/* 02667C 80025A7C 240B0001 */ li $t3, 1 -.L80025A80: -/* 026680 80025A80 860E000A */ lh $t6, 0xa($s0) -/* 026684 80025A84 00CB3021 */ addu $a2, $a2, $t3 -/* 026688 80025A88 448E5000 */ mtc1 $t6, $f10 -/* 02668C 80025A8C 00066400 */ sll $t4, $a2, 0x10 -/* 026690 80025A90 468054A0 */ cvt.s.w $f18, $f10 -/* 026694 80025A94 000C3403 */ sra $a2, $t4, 0x10 -/* 026698 80025A98 00007825 */ move $t7, $zero -/* 02669C 80025A9C 4612C382 */ mul.s $f14, $f24, $f18 -/* 0266A0 80025AA0 00005025 */ move $t2, $zero -/* 0266A4 80025AA4 460E0400 */ add.s $f16, $f0, $f14 -/* 0266A8 80025AA8 46168100 */ add.s $f4, $f16, $f22 -/* 0266AC 80025AAC 460021A1 */ cvt.d.s $f6, $f4 -/* 0266B0 80025AB0 4634303E */ c.le.d $f6, $f20 -/* 0266B4 80025AB4 460E6200 */ add.s $f8, $f12, $f14 -/* 0266B8 80025AB8 45000002 */ bc1f .L80025AC4 -/* 0266BC 80025ABC 46164280 */ add.s $f10, $f8, $f22 -/* 0266C0 80025AC0 240F0001 */ li $t7, 1 -.L80025AC4: -/* 0266C4 80025AC4 460054A1 */ cvt.d.s $f18, $f10 -/* 0266C8 80025AC8 4634903E */ c.le.d $f18, $f20 -/* 0266CC 80025ACC 00CF3021 */ addu $a2, $a2, $t7 -/* 0266D0 80025AD0 0006C400 */ sll $t8, $a2, 0x10 -/* 0266D4 80025AD4 45000002 */ bc1f .L80025AE0 -/* 0266D8 80025AD8 00183403 */ sra $a2, $t8, 0x10 -/* 0266DC 80025ADC 240A0001 */ li $t2, 1 -.L80025AE0: -/* 0266E0 80025AE0 00CA6021 */ addu $t4, $a2, $t2 -/* 0266E4 80025AE4 318D0003 */ andi $t5, $t4, 3 -/* 0266E8 80025AE8 11A0001A */ beqz $t5, .L80025B54 -/* 0266EC 80025AEC 00000000 */ nop -/* 0266F0 80025AF0 00530019 */ multu $v0, $s3 -/* 0266F4 80025AF4 8C6F0004 */ lw $t7, 4($v1) -/* 0266F8 80025AF8 4405D000 */ mfc1 $a1, $f26 -/* 0266FC 80025AFC 4406C000 */ mfc1 $a2, $f24 -/* 026700 80025B00 4407B000 */ mfc1 $a3, $f22 -/* 026704 80025B04 00007012 */ mflo $t6 -/* 026708 80025B08 01CF2021 */ addu $a0, $t6, $t7 -/* 02670C 80025B0C 0C00990C */ jal func_80026430 -/* 026710 80025B10 00000000 */ nop -/* 026714 80025B14 922A0000 */ lbu $t2, ($s1) -/* 026718 80025B18 8E980000 */ lw $t8, ($s4) -/* 02671C 80025B1C 01530019 */ multu $t2, $s3 -/* 026720 80025B20 8F190004 */ lw $t9, 4($t8) -/* 026724 80025B24 00005812 */ mflo $t3 -/* 026728 80025B28 032B6021 */ addu $t4, $t9, $t3 -/* 02672C 80025B2C 8D8D003C */ lw $t5, 0x3c($t4) -/* 026730 80025B30 00000000 */ nop -/* 026734 80025B34 31AE0002 */ andi $t6, $t5, 2 -/* 026738 80025B38 11C00006 */ beqz $t6, .L80025B54 -/* 02673C 80025B3C 00000000 */ nop -/* 026740 80025B40 4405D000 */ mfc1 $a1, $f26 -/* 026744 80025B44 4406C000 */ mfc1 $a2, $f24 -/* 026748 80025B48 4407B000 */ mfc1 $a3, $f22 -/* 02674C 80025B4C 0C00981C */ jal func_80026070 -/* 026750 80025B50 02002025 */ move $a0, $s0 -.L80025B54: -/* 026754 80025B54 26520001 */ addiu $s2, $s2, 1 -/* 026758 80025B58 8FAA00C4 */ lw $t2, 0xc4($sp) -/* 02675C 80025B5C 00127C00 */ sll $t7, $s2, 0x10 -/* 026760 80025B60 000F9403 */ sra $s2, $t7, 0x10 -/* 026764 80025B64 024A082A */ slt $at, $s2, $t2 -/* 026768 80025B68 1420FF9D */ bnez $at, .L800259E0 -/* 02676C 80025B6C 8FAB00C0 */ lw $t3, 0xc0($sp) -.L80025B70: -/* 026770 80025B70 3C14800E */ lui $s4, %hi(gCurrentLevelModel) # $s4, 0x800e -/* 026774 80025B74 2694C918 */ addiu $s4, %lo(gCurrentLevelModel) # addiu $s4, $s4, -0x36e8 -/* 026778 80025B78 8E990000 */ lw $t9, ($s4) -/* 02677C 80025B7C 2404012C */ li $a0, 300 -/* 026780 80025B80 87250040 */ lh $a1, 0x40($t9) -/* 026784 80025B84 24060001 */ li $a2, 1 -/* 026788 80025B88 24A5FF3D */ addiu $a1, $a1, -0xc3 -/* 02678C 80025B8C 00055C00 */ sll $t3, $a1, 0x10 -/* 026790 80025B90 0C009B05 */ jal func_80026C14 -/* 026794 80025B94 000B2C03 */ sra $a1, $t3, 0x10 -/* 026798 80025B98 8E8D0000 */ lw $t5, ($s4) -/* 02679C 80025B9C 2404FED4 */ li $a0, -300 -/* 0267A0 80025BA0 85A50040 */ lh $a1, 0x40($t5) -/* 0267A4 80025BA4 24060001 */ li $a2, 1 -/* 0267A8 80025BA8 24A5FF3D */ addiu $a1, $a1, -0xc3 -/* 0267AC 80025BAC 00057400 */ sll $t6, $a1, 0x10 -/* 0267B0 80025BB0 0C009B05 */ jal func_80026C14 -/* 0267B4 80025BB4 000E2C03 */ sra $a1, $t6, 0x10 -/* 0267B8 80025BB8 8E980000 */ lw $t8, ($s4) -/* 0267BC 80025BBC 2404012C */ li $a0, 300 -/* 0267C0 80025BC0 87050042 */ lh $a1, 0x42($t8) -/* 0267C4 80025BC4 00003025 */ move $a2, $zero -/* 0267C8 80025BC8 24A500C3 */ addiu $a1, $a1, 0xc3 -/* 0267CC 80025BCC 00055400 */ sll $t2, $a1, 0x10 -/* 0267D0 80025BD0 0C009B05 */ jal func_80026C14 -/* 0267D4 80025BD4 000A2C03 */ sra $a1, $t2, 0x10 -/* 0267D8 80025BD8 8E8B0000 */ lw $t3, ($s4) -/* 0267DC 80025BDC 2404FED4 */ li $a0, -300 -/* 0267E0 80025BE0 85650042 */ lh $a1, 0x42($t3) -/* 0267E4 80025BE4 00003025 */ move $a2, $zero -/* 0267E8 80025BE8 24A500C3 */ addiu $a1, $a1, 0xc3 -/* 0267EC 80025BEC 00056400 */ sll $t4, $a1, 0x10 -/* 0267F0 80025BF0 0C009B05 */ jal func_80026C14 -/* 0267F4 80025BF4 000C2C03 */ sra $a1, $t4, 0x10 -/* 0267F8 80025BF8 3C098012 */ lui $t1, %hi(D_8011D49E) # $t1, 0x8012 -/* 0267FC 80025BFC 2529D49E */ addiu $t1, %lo(D_8011D49E) # addiu $t1, $t1, -0x2b62 -/* 026800 80025C00 3C0E8012 */ lui $t6, %hi(D_8011D4BA) # $t6, 0x8012 -/* 026804 80025C04 85CED4BA */ lh $t6, %lo(D_8011D4BA)($t6) -/* 026808 80025C08 85270000 */ lh $a3, ($t1) -/* 02680C 80025C0C 00000000 */ nop -/* 026810 80025C10 00EE082A */ slt $at, $a3, $t6 -/* 026814 80025C14 10200107 */ beqz $at, .L80026034 -/* 026818 80025C18 8FBF004C */ lw $ra, 0x4c($sp) -/* 02681C 80025C1C 10E00104 */ beqz $a3, .L80026030 -/* 026820 80025C20 00009025 */ move $s2, $zero -/* 026824 80025C24 3C088012 */ lui $t0, %hi(D_8011D478) # $t0, 0x8012 -/* 026828 80025C28 2508D478 */ addiu $t0, %lo(D_8011D478) # addiu $t0, $t0, -0x2b88 -/* 02682C 80025C2C 24E5FFFF */ addiu $a1, $a3, -1 -.L80025C30: -/* 026830 80025C30 8D020000 */ lw $v0, ($t0) -/* 026834 80025C34 18A0001A */ blez $a1, .L80025CA0 -/* 026838 80025C38 24060001 */ li $a2, 1 -.L80025C3C: -/* 02683C 80025C3C 8D0F0000 */ lw $t7, ($t0) -/* 026840 80025C40 0012C0C0 */ sll $t8, $s2, 3 -/* 026844 80025C44 01F82021 */ addu $a0, $t7, $t8 -/* 026848 80025C48 848A0008 */ lh $t2, 8($a0) -/* 02684C 80025C4C 84990000 */ lh $t9, ($a0) -/* 026850 80025C50 26520001 */ addiu $s2, $s2, 1 -/* 026854 80025C54 0159082A */ slt $at, $t2, $t9 -/* 026858 80025C58 1020000C */ beqz $at, .L80025C8C -/* 02685C 80025C5C 00126C00 */ sll $t5, $s2, 0x10 -/* 026860 80025C60 8C430000 */ lw $v1, ($v0) -/* 026864 80025C64 8C4B0008 */ lw $t3, 8($v0) -/* 026868 80025C68 AC430008 */ sw $v1, 8($v0) -/* 02686C 80025C6C 8C430004 */ lw $v1, 4($v0) -/* 026870 80025C70 8C4C000C */ lw $t4, 0xc($v0) -/* 026874 80025C74 AC4B0000 */ sw $t3, ($v0) -/* 026878 80025C78 AC43000C */ sw $v1, 0xc($v0) -/* 02687C 80025C7C AC4C0004 */ sw $t4, 4($v0) -/* 026880 80025C80 85270000 */ lh $a3, ($t1) -/* 026884 80025C84 00003025 */ move $a2, $zero -/* 026888 80025C88 24E5FFFF */ addiu $a1, $a3, -1 -.L80025C8C: -/* 02688C 80025C8C 000D9403 */ sra $s2, $t5, 0x10 -/* 026890 80025C90 0245082A */ slt $at, $s2, $a1 -/* 026894 80025C94 1420FFE9 */ bnez $at, .L80025C3C -/* 026898 80025C98 24420008 */ addiu $v0, $v0, 8 -/* 02689C 80025C9C 00009025 */ move $s2, $zero -.L80025CA0: -/* 0268A0 80025CA0 10C0FFE3 */ beqz $a2, .L80025C30 -/* 0268A4 80025CA4 00000000 */ nop -/* 0268A8 80025CA8 18E00022 */ blez $a3, .L80025D34 -/* 0268AC 80025CAC 00008025 */ move $s0, $zero -/* 0268B0 80025CB0 3C058012 */ lui $a1, %hi(D_8011D47C) # $a1, 0x8012 -/* 0268B4 80025CB4 24A5D47C */ addiu $a1, %lo(D_8011D47C) # addiu $a1, $a1, -0x2b84 -/* 0268B8 80025CB8 2406FFFF */ li $a2, -1 -.L80025CBC: -/* 0268BC 80025CBC 8D0F0000 */ lw $t7, ($t0) -/* 0268C0 80025CC0 0012C0C0 */ sll $t8, $s2, 3 -/* 0268C4 80025CC4 01F82021 */ addu $a0, $t7, $t8 -/* 0268C8 80025CC8 808A0007 */ lb $t2, 7($a0) -/* 0268CC 80025CCC 8CAC0000 */ lw $t4, ($a1) -/* 0268D0 80025CD0 000ACC40 */ sll $t9, $t2, 0x11 -/* 0268D4 80025CD4 00195C03 */ sra $t3, $t9, 0x10 -/* 0268D8 80025CD8 016C1021 */ addu $v0, $t3, $t4 -/* 0268DC 80025CDC 804D0000 */ lb $t5, ($v0) -/* 0268E0 80025CE0 00000000 */ nop -/* 0268E4 80025CE4 14CD000A */ bne $a2, $t5, .L80025D10 -/* 0268E8 80025CE8 00000000 */ nop -/* 0268EC 80025CEC 808E0006 */ lb $t6, 6($a0) -/* 0268F0 80025CF0 00000000 */ nop -/* 0268F4 80025CF4 35CF0002 */ ori $t7, $t6, 2 -/* 0268F8 80025CF8 A08F0006 */ sb $t7, 6($a0) -/* 0268FC 80025CFC 8CB80000 */ lw $t8, ($a1) -/* 026900 80025D00 00000000 */ nop -/* 026904 80025D04 030B5021 */ addu $t2, $t8, $t3 -/* 026908 80025D08 10000002 */ b .L80025D14 -/* 02690C 80025D0C A1520000 */ sb $s2, ($t2) -.L80025D10: -/* 026910 80025D10 A0520001 */ sb $s2, 1($v0) -.L80025D14: -/* 026914 80025D14 26520001 */ addiu $s2, $s2, 1 -/* 026918 80025D18 85270000 */ lh $a3, ($t1) -/* 02691C 80025D1C 0012CC00 */ sll $t9, $s2, 0x10 -/* 026920 80025D20 00199403 */ sra $s2, $t9, 0x10 -/* 026924 80025D24 0247082A */ slt $at, $s2, $a3 -/* 026928 80025D28 1420FFE4 */ bnez $at, .L80025CBC -/* 02692C 80025D2C 00000000 */ nop -/* 026930 80025D30 00009025 */ move $s2, $zero -.L80025D34: -/* 026934 80025D34 3C048012 */ lui $a0, %hi(D_8011D4B4) # $a0, 0x8012 -/* 026938 80025D38 2484D4B4 */ addiu $a0, %lo(D_8011D4B4) # addiu $a0, $a0, -0x2b4c -/* 02693C 80025D3C 80820000 */ lb $v0, ($a0) -/* 026940 80025D40 8D0C0000 */ lw $t4, ($t0) -/* 026944 80025D44 3C188012 */ lui $t8, %hi(D_8011D480) # $t8, 0x8012 -/* 026948 80025D48 00021880 */ sll $v1, $v0, 2 -/* 02694C 80025D4C 0303C021 */ addu $t8, $t8, $v1 -/* 026950 80025D50 8F18D480 */ lw $t8, %lo(D_8011D480)($t8) -/* 026954 80025D54 85930000 */ lh $s3, ($t4) -/* 026958 80025D58 3C0E8012 */ lui $t6, %hi(gSceneCurrVertexList) # $t6, 0x8012 -/* 02695C 80025D5C 3C0A8012 */ lui $t2, %hi(D_8011D490) # $t2, 0x8012 -/* 026960 80025D60 8DCEB0A8 */ lw $t6, %lo(gSceneCurrVertexList)($t6) -/* 026964 80025D64 3C018012 */ lui $at, %hi(gSceneCurrVertexList) # $at, 0x8012 -/* 026968 80025D68 01435021 */ addu $t2, $t2, $v1 -/* 02696C 80025D6C 8D4AD490 */ lw $t2, %lo(D_8011D490)($t2) -/* 026970 80025D70 3C0F8012 */ lui $t7, %hi(gSceneCurrTriList) # $t7, 0x8012 -/* 026974 80025D74 AC38B0A8 */ sw $t8, %lo(gSceneCurrVertexList)($at) -/* 026978 80025D78 8DEFB0AC */ lw $t7, %lo(gSceneCurrTriList)($t7) -/* 02697C 80025D7C 3C018012 */ lui $at, %hi(gSceneCurrTriList) # $at, 0x8012 -/* 026980 80025D80 24190001 */ li $t9, 1 -/* 026984 80025D84 03225823 */ subu $t3, $t9, $v0 -/* 026988 80025D88 0013A400 */ sll $s4, $s3, 0x10 -/* 02698C 80025D8C AC2AB0AC */ sw $t2, %lo(gSceneCurrTriList)($at) -/* 026990 80025D90 00146C03 */ sra $t5, $s4, 0x10 -/* 026994 80025D94 A08B0000 */ sb $t3, ($a0) -/* 026998 80025D98 3C0C8012 */ lui $t4, %hi(gSceneCurrVertexList) # $t4, 0x8012 -/* 02699C 80025D9C 8D8CB0A8 */ lw $t4, %lo(gSceneCurrVertexList)($t4) -/* 0269A0 80025DA0 01A0A025 */ move $s4, $t5 -/* 0269A4 80025DA4 3C018012 */ lui $at, %hi(D_8011D488) # $at, 0x8012 -/* 0269A8 80025DA8 3C0D8012 */ lui $t5, %hi(gSceneCurrTriList) # $t5, 0x8012 -/* 0269AC 80025DAC 8DADB0AC */ lw $t5, %lo(gSceneCurrTriList)($t5) -/* 0269B0 80025DB0 AC2CD488 */ sw $t4, %lo(D_8011D488)($at) -/* 0269B4 80025DB4 3C018012 */ lui $at, %hi(D_8011D498) # $at, 0x8012 -/* 0269B8 80025DB8 AC2DD498 */ sw $t5, %lo(D_8011D498)($at) -/* 0269BC 80025DBC 3C018012 */ lui $at, %hi(D_8011D4B6) # $at, 0x8012 -/* 0269C0 80025DC0 A420D4B6 */ sh $zero, %lo(D_8011D4B6)($at) -/* 0269C4 80025DC4 3C018012 */ lui $at, %hi(D_8011D4B8) # $at, 0x8012 -/* 0269C8 80025DC8 A420D4B8 */ sh $zero, %lo(D_8011D4B8)($at) -/* 0269CC 80025DCC AFAE00AC */ sw $t6, 0xac($sp) -/* 0269D0 80025DD0 18E0005C */ blez $a3, .L80025F44 -/* 0269D4 80025DD4 AFAF00A8 */ sw $t7, 0xa8($sp) -/* 0269D8 80025DD8 27B1007C */ addiu $s1, $sp, 0x7c -/* 0269DC 80025DDC 0247082A */ slt $at, $s2, $a3 -.L80025DE0: -/* 0269E0 80025DE0 1020003A */ beqz $at, .L80025ECC -/* 0269E4 80025DE4 0247082A */ slt $at, $s2, $a3 -/* 0269E8 80025DE8 8D050000 */ lw $a1, ($t0) -/* 0269EC 80025DEC 001270C0 */ sll $t6, $s2, 3 -/* 0269F0 80025DF0 00AE2021 */ addu $a0, $a1, $t6 -/* 0269F4 80025DF4 848F0000 */ lh $t7, ($a0) -/* 0269F8 80025DF8 00000000 */ nop -/* 0269FC 80025DFC 168F0033 */ bne $s4, $t7, .L80025ECC -/* 026A00 80025E00 0247082A */ slt $at, $s2, $a3 -.L80025E04: -/* 026A04 80025E04 80980006 */ lb $t8, 6($a0) -/* 026A08 80025E08 02305821 */ addu $t3, $s1, $s0 -/* 026A0C 80025E0C 330A0002 */ andi $t2, $t8, 2 -/* 026A10 80025E10 11400007 */ beqz $t2, .L80025E30 -/* 026A14 80025E14 26520001 */ addiu $s2, $s2, 1 -/* 026A18 80025E18 80990007 */ lb $t9, 7($a0) -/* 026A1C 80025E1C 26100001 */ addiu $s0, $s0, 1 -/* 026A20 80025E20 00106400 */ sll $t4, $s0, 0x10 -/* 026A24 80025E24 000C8403 */ sra $s0, $t4, 0x10 -/* 026A28 80025E28 1000001C */ b .L80025E9C -/* 026A2C 80025E2C A1790000 */ sb $t9, ($t3) -.L80025E30: -/* 026A30 80025E30 1A00001A */ blez $s0, .L80025E9C -/* 026A34 80025E34 00001825 */ move $v1, $zero -/* 026A38 80025E38 02237021 */ addu $t6, $s1, $v1 -.L80025E3C: -/* 026A3C 80025E3C 81CF0000 */ lb $t7, ($t6) -/* 026A40 80025E40 80980007 */ lb $t8, 7($a0) -/* 026A44 80025E44 00000000 */ nop -/* 026A48 80025E48 15F8000E */ bne $t7, $t8, .L80025E84 -/* 026A4C 80025E4C 00000000 */ nop -/* 026A50 80025E50 2610FFFF */ addiu $s0, $s0, -1 -/* 026A54 80025E54 00105400 */ sll $t2, $s0, 0x10 -/* 026A58 80025E58 000A8403 */ sra $s0, $t2, 0x10 -/* 026A5C 80025E5C 0070082A */ slt $at, $v1, $s0 -/* 026A60 80025E60 10200008 */ beqz $at, .L80025E84 -.L80025E64: -/* 026A64 80025E64 02231021 */ addu $v0, $s1, $v1 -/* 026A68 80025E68 24630001 */ addiu $v1, $v1, 1 -/* 026A6C 80025E6C 00036400 */ sll $t4, $v1, 0x10 -/* 026A70 80025E70 804B0001 */ lb $t3, 1($v0) -/* 026A74 80025E74 000C1C03 */ sra $v1, $t4, 0x10 -/* 026A78 80025E78 0070082A */ slt $at, $v1, $s0 -/* 026A7C 80025E7C 1420FFF9 */ bnez $at, .L80025E64 -/* 026A80 80025E80 A04B0000 */ sb $t3, ($v0) -.L80025E84: -/* 026A84 80025E84 24630001 */ addiu $v1, $v1, 1 -/* 026A88 80025E88 00037400 */ sll $t6, $v1, 0x10 -/* 026A8C 80025E8C 000E1C03 */ sra $v1, $t6, 0x10 -/* 026A90 80025E90 0070082A */ slt $at, $v1, $s0 -/* 026A94 80025E94 1420FFE9 */ bnez $at, .L80025E3C -/* 026A98 80025E98 02237021 */ addu $t6, $s1, $v1 -.L80025E9C: -/* 026A9C 80025E9C 0012C400 */ sll $t8, $s2, 0x10 -/* 026AA0 80025EA0 00185403 */ sra $t2, $t8, 0x10 -/* 026AA4 80025EA4 0147082A */ slt $at, $t2, $a3 -/* 026AA8 80025EA8 10200007 */ beqz $at, .L80025EC8 -/* 026AAC 80025EAC 01409025 */ move $s2, $t2 -/* 026AB0 80025EB0 000AC8C0 */ sll $t9, $t2, 3 -/* 026AB4 80025EB4 00B92021 */ addu $a0, $a1, $t9 -/* 026AB8 80025EB8 848B0000 */ lh $t3, ($a0) -/* 026ABC 80025EBC 00000000 */ nop -/* 026AC0 80025EC0 128BFFD0 */ beq $s4, $t3, .L80025E04 -/* 026AC4 80025EC4 00000000 */ nop -.L80025EC8: -/* 026AC8 80025EC8 0247082A */ slt $at, $s2, $a3 -.L80025ECC: -/* 026ACC 80025ECC 1020001B */ beqz $at, .L80025F3C -/* 026AD0 80025ED0 0247082A */ slt $at, $s2, $a3 -/* 026AD4 80025ED4 8D0C0000 */ lw $t4, ($t0) -/* 026AD8 80025ED8 001268C0 */ sll $t5, $s2, 3 -/* 026ADC 80025EDC 018D7021 */ addu $t6, $t4, $t5 -/* 026AE0 80025EE0 85D30000 */ lh $s3, ($t6) -/* 026AE4 80025EE4 00000000 */ nop -/* 026AE8 80025EE8 12930014 */ beq $s4, $s3, .L80025F3C -/* 026AEC 80025EEC 0247082A */ slt $at, $s2, $a3 -/* 026AF0 80025EF0 44938000 */ mtc1 $s3, $f16 -/* 026AF4 80025EF4 44942000 */ mtc1 $s4, $f4 -/* 026AF8 80025EF8 46808420 */ cvt.s.w $f16, $f16 -/* 026AFC 80025EFC 00102400 */ sll $a0, $s0, 0x10 -/* 026B00 80025F00 00047C03 */ sra $t7, $a0, 0x10 -/* 026B04 80025F04 46802120 */ cvt.s.w $f4, $f4 -/* 026B08 80025F08 44068000 */ mfc1 $a2, $f16 -/* 026B0C 80025F0C 01E02025 */ move $a0, $t7 -/* 026B10 80025F10 44072000 */ mfc1 $a3, $f4 -/* 026B14 80025F14 0C009B95 */ jal func_80026E54 -/* 026B18 80025F18 02202825 */ move $a1, $s1 -/* 026B1C 80025F1C 0013A400 */ sll $s4, $s3, 0x10 -/* 026B20 80025F20 3C078012 */ lui $a3, %hi(D_8011D49E) # $a3, 0x8012 -/* 026B24 80025F24 3C088012 */ lui $t0, %hi(D_8011D478) # $t0, 0x8012 -/* 026B28 80025F28 0014C403 */ sra $t8, $s4, 0x10 -/* 026B2C 80025F2C 84E7D49E */ lh $a3, %lo(D_8011D49E)($a3) -/* 026B30 80025F30 2508D478 */ addiu $t0, %lo(D_8011D478) # addiu $t0, $t0, -0x2b88 -/* 026B34 80025F34 0300A025 */ move $s4, $t8 -/* 026B38 80025F38 0247082A */ slt $at, $s2, $a3 -.L80025F3C: -/* 026B3C 80025F3C 1420FFA8 */ bnez $at, .L80025DE0 -/* 026B40 80025F40 0247082A */ slt $at, $s2, $a3 -.L80025F44: -/* 026B44 80025F44 3C068012 */ lui $a2, %hi(D_8011D4B6) # $a2, 0x8012 -/* 026B48 80025F48 84C6D4B6 */ lh $a2, %lo(D_8011D4B6)($a2) -/* 026B4C 80025F4C 3C078000 */ lui $a3, 0x8000 -/* 026B50 80025F50 10C00031 */ beqz $a2, .L80026018 -/* 026B54 80025F54 3C088012 */ lui $t0, %hi(gSceneCurrDisplayList) # $t0, 0x8012 -/* 026B58 80025F58 2508B0A0 */ addiu $t0, %lo(gSceneCurrDisplayList) # addiu $t0, $t0, -0x4f60 -/* 026B5C 80025F5C 8D020000 */ lw $v0, ($t0) -/* 026B60 80025F60 3C0C8012 */ lui $t4, %hi(D_8011D488) # $t4, 0x8012 -/* 026B64 80025F64 244A0008 */ addiu $t2, $v0, 8 -/* 026B68 80025F68 AD0A0000 */ sw $t2, ($t0) -/* 026B6C 80025F6C 8D8CD488 */ lw $t4, %lo(D_8011D488)($t4) -/* 026B70 80025F70 24D9FFFF */ addiu $t9, $a2, -1 -/* 026B74 80025F74 01876821 */ addu $t5, $t4, $a3 -/* 026B78 80025F78 31AE0006 */ andi $t6, $t5, 6 -/* 026B7C 80025F7C 001958C0 */ sll $t3, $t9, 3 -/* 026B80 80025F80 016E7825 */ or $t7, $t3, $t6 -/* 026B84 80025F84 000660C0 */ sll $t4, $a2, 3 -/* 026B88 80025F88 01866821 */ addu $t5, $t4, $a2 -/* 026B8C 80025F8C 000D5840 */ sll $t3, $t5, 1 -/* 026B90 80025F90 31F800FF */ andi $t8, $t7, 0xff -/* 026B94 80025F94 00185400 */ sll $t2, $t8, 0x10 -/* 026B98 80025F98 256E0008 */ addiu $t6, $t3, 8 -/* 026B9C 80025F9C 3C010400 */ lui $at, 0x400 -/* 026BA0 80025FA0 0141C825 */ or $t9, $t2, $at -/* 026BA4 80025FA4 31CFFFFF */ andi $t7, $t6, 0xffff -/* 026BA8 80025FA8 032FC025 */ or $t8, $t9, $t7 -/* 026BAC 80025FAC 3C0A8012 */ lui $t2, %hi(D_8011D488) # $t2, 0x8012 -/* 026BB0 80025FB0 AC580000 */ sw $t8, ($v0) -/* 026BB4 80025FB4 8D4AD488 */ lw $t2, %lo(D_8011D488)($t2) -/* 026BB8 80025FB8 3C058012 */ lui $a1, %hi(D_8011D4B6) # $a1, 0x8012 -/* 026BBC 80025FBC 01476021 */ addu $t4, $t2, $a3 -/* 026BC0 80025FC0 AC4C0004 */ sw $t4, 4($v0) -/* 026BC4 80025FC4 8D020000 */ lw $v0, ($t0) -/* 026BC8 80025FC8 3C010500 */ lui $at, 0x500 -/* 026BCC 80025FCC 244D0008 */ addiu $t5, $v0, 8 -/* 026BD0 80025FD0 AD0D0000 */ sw $t5, ($t0) -/* 026BD4 80025FD4 84A5D4B6 */ lh $a1, %lo(D_8011D4B6)($a1) -/* 026BD8 80025FD8 00000000 */ nop -/* 026BDC 80025FDC 00055843 */ sra $t3, $a1, 1 -/* 026BE0 80025FE0 256EFFFF */ addiu $t6, $t3, -1 -/* 026BE4 80025FE4 000EC900 */ sll $t9, $t6, 4 -/* 026BE8 80025FE8 332F00FF */ andi $t7, $t9, 0xff -/* 026BEC 80025FEC 000FC400 */ sll $t8, $t7, 0x10 -/* 026BF0 80025FF0 000B6100 */ sll $t4, $t3, 4 -/* 026BF4 80025FF4 318DFFFF */ andi $t5, $t4, 0xffff -/* 026BF8 80025FF8 03015025 */ or $t2, $t8, $at -/* 026BFC 80025FFC 014D5825 */ or $t3, $t2, $t5 -/* 026C00 80026000 3C0E8012 */ lui $t6, %hi(D_8011D498) # $t6, 0x8012 -/* 026C04 80026004 AC4B0000 */ sw $t3, ($v0) -/* 026C08 80026008 8DCED498 */ lw $t6, %lo(D_8011D498)($t6) -/* 026C0C 8002600C 00000000 */ nop -/* 026C10 80026010 01C7C821 */ addu $t9, $t6, $a3 -/* 026C14 80026014 AC590004 */ sw $t9, 4($v0) -.L80026018: -/* 026C18 80026018 8FAF00AC */ lw $t7, 0xac($sp) -/* 026C1C 8002601C 3C018012 */ lui $at, %hi(gSceneCurrVertexList) # $at, 0x8012 -/* 026C20 80026020 8FB800A8 */ lw $t8, 0xa8($sp) -/* 026C24 80026024 AC2FB0A8 */ sw $t7, %lo(gSceneCurrVertexList)($at) -/* 026C28 80026028 3C018012 */ lui $at, %hi(gSceneCurrTriList) # $at, 0x8012 -/* 026C2C 8002602C AC38B0AC */ sw $t8, %lo(gSceneCurrTriList)($at) -.L80026030: -/* 026C30 80026030 8FBF004C */ lw $ra, 0x4c($sp) -.L80026034: -/* 026C34 80026034 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 026C38 80026038 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 026C3C 8002603C C7B70020 */ lwc1 $f23, 0x20($sp) -/* 026C40 80026040 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 026C44 80026044 C7B90028 */ lwc1 $f25, 0x28($sp) -/* 026C48 80026048 C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 026C4C 8002604C C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 026C50 80026050 C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 026C54 80026054 8FB00038 */ lw $s0, 0x38($sp) -/* 026C58 80026058 8FB1003C */ lw $s1, 0x3c($sp) -/* 026C5C 8002605C 8FB20040 */ lw $s2, 0x40($sp) -/* 026C60 80026060 8FB30044 */ lw $s3, 0x44($sp) -/* 026C64 80026064 8FB40048 */ lw $s4, 0x48($sp) -/* 026C68 80026068 03E00008 */ jr $ra -/* 026C6C 8002606C 27BD00C0 */ addiu $sp, $sp, 0xc0 - diff --git a/asm/non_matchings/tracks/func_80026430.s b/asm/non_matchings/tracks/func_80026430.s deleted file mode 100644 index 94f0bde6..00000000 --- a/asm/non_matchings/tracks/func_80026430.s +++ /dev/null @@ -1,541 +0,0 @@ -.late_rodata -glabel D_800E5E78 -.double 300.0 -glabel D_800E5E80 -.double -300.0 -glabel D_800E5E88 -.double -300.0 - -.text -glabel func_80026430 -/* 027030 80026430 27BDFEF0 */ addiu $sp, $sp, -0x110 -/* 027034 80026434 3C0E8012 */ lui $t6, %hi(D_8011D49E) # $t6, 0x8012 -/* 027038 80026438 3C0F8012 */ lui $t7, %hi(D_8011D4BA) # $t7, 0x8012 -/* 02703C 8002643C 85EFD4BA */ lh $t7, %lo(D_8011D4BA)($t7) -/* 027040 80026440 85CED49E */ lh $t6, %lo(D_8011D49E)($t6) -/* 027044 80026444 E7BC003C */ swc1 $f28, 0x3c($sp) -/* 027048 80026448 E7BA0034 */ swc1 $f26, 0x34($sp) -/* 02704C 8002644C E7B8002C */ swc1 $f24, 0x2c($sp) -/* 027050 80026450 4486C000 */ mtc1 $a2, $f24 -/* 027054 80026454 4485D000 */ mtc1 $a1, $f26 -/* 027058 80026458 4487E000 */ mtc1 $a3, $f28 -/* 02705C 8002645C AFB60060 */ sw $s6, 0x60($sp) -/* 027060 80026460 01CF082A */ slt $at, $t6, $t7 -/* 027064 80026464 0080B025 */ move $s6, $a0 -/* 027068 80026468 AFBF006C */ sw $ra, 0x6c($sp) -/* 02706C 8002646C AFBE0068 */ sw $fp, 0x68($sp) -/* 027070 80026470 AFB70064 */ sw $s7, 0x64($sp) -/* 027074 80026474 AFB5005C */ sw $s5, 0x5c($sp) -/* 027078 80026478 AFB40058 */ sw $s4, 0x58($sp) -/* 02707C 8002647C AFB30054 */ sw $s3, 0x54($sp) -/* 027080 80026480 AFB20050 */ sw $s2, 0x50($sp) -/* 027084 80026484 AFB1004C */ sw $s1, 0x4c($sp) -/* 027088 80026488 AFB00048 */ sw $s0, 0x48($sp) -/* 02708C 8002648C E7BF0040 */ swc1 $f31, 0x40($sp) -/* 027090 80026490 E7BE0044 */ swc1 $f30, 0x44($sp) -/* 027094 80026494 E7BD0038 */ swc1 $f29, 0x38($sp) -/* 027098 80026498 E7BB0030 */ swc1 $f27, 0x30($sp) -/* 02709C 8002649C E7B90028 */ swc1 $f25, 0x28($sp) -/* 0270A0 800264A0 E7B70020 */ swc1 $f23, 0x20($sp) -/* 0270A4 800264A4 E7B60024 */ swc1 $f22, 0x24($sp) -/* 0270A8 800264A8 E7B50018 */ swc1 $f21, 0x18($sp) -/* 0270AC 800264AC 102001C1 */ beqz $at, .L80026BB4 -/* 0270B0 800264B0 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 0270B4 800264B4 A7A0010E */ sh $zero, 0x10e($sp) -/* 0270B8 800264B8 84840020 */ lh $a0, 0x20($a0) -/* 0270BC 800264BC 3C01800E */ lui $at, %hi(D_800E5E78 + 4) # $at, 0x800e -/* 0270C0 800264C0 188001BC */ blez $a0, .L80026BB4 -/* 0270C4 800264C4 27BE00B8 */ addiu $fp, $sp, 0xb8 -/* 0270C8 800264C8 C43F5E78 */ lwc1 $f31, %lo(D_800E5E78)($at) -/* 0270CC 800264CC C43E5E7C */ lwc1 $f30, %lo(D_800E5E78 + 4)($at) -/* 0270D0 800264D0 4480A800 */ mtc1 $zero, $f21 -/* 0270D4 800264D4 4480A000 */ mtc1 $zero, $f20 -/* 0270D8 800264D8 27B500D0 */ addiu $s5, $sp, 0xd0 -/* 0270DC 800264DC 27B400DC */ addiu $s4, $sp, 0xdc -/* 0270E0 800264E0 27B300E8 */ addiu $s3, $sp, 0xe8 -/* 0270E4 800264E4 27B200F8 */ addiu $s2, $sp, 0xf8 -/* 0270E8 800264E8 27B100C4 */ addiu $s1, $sp, 0xc4 -/* 0270EC 800264EC 241F0001 */ li $ra, 1 -/* 0270F0 800264F0 27AD00A8 */ addiu $t5, $sp, 0xa8 -/* 0270F4 800264F4 27AC00A0 */ addiu $t4, $sp, 0xa0 -/* 0270F8 800264F8 27AB00B0 */ addiu $t3, $sp, 0xb0 -/* 0270FC 800264FC 240A000A */ li $t2, 10 -.L80026500: -/* 027100 80026500 87B9010E */ lh $t9, 0x10e($sp) -/* 027104 80026504 8ED8000C */ lw $t8, 0xc($s6) -/* 027108 80026508 00197080 */ sll $t6, $t9, 2 -/* 02710C 8002650C 01D97023 */ subu $t6, $t6, $t9 -/* 027110 80026510 000E7080 */ sll $t6, $t6, 2 -/* 027114 80026514 030E1021 */ addu $v0, $t8, $t6 -/* 027118 80026518 844F0010 */ lh $t7, 0x10($v0) -/* 02711C 8002651C 84430004 */ lh $v1, 4($v0) -/* 027120 80026520 84490002 */ lh $t1, 2($v0) -/* 027124 80026524 A7AF0108 */ sh $t7, 0x108($sp) -/* 027128 80026528 8C590008 */ lw $t9, 8($v0) -/* 02712C 8002652C 87AF0108 */ lh $t7, 0x108($sp) -/* 027130 80026530 33380300 */ andi $t8, $t9, 0x300 -/* 027134 80026534 13000004 */ beqz $t8, .L80026548 -/* 027138 80026538 0003BC00 */ sll $s7, $v1, 0x10 -/* 02713C 8002653C 87A30108 */ lh $v1, 0x108($sp) -/* 027140 80026540 00000000 */ nop -/* 027144 80026544 0003BC00 */ sll $s7, $v1, 0x10 -.L80026548: -/* 027148 80026548 00177403 */ sra $t6, $s7, 0x10 -/* 02714C 8002654C 006F082A */ slt $at, $v1, $t7 -/* 027150 80026550 10200190 */ beqz $at, .L80026B94 -/* 027154 80026554 01C0B825 */ move $s7, $t6 -.L80026558: -/* 027158 80026558 8ED90004 */ lw $t9, 4($s6) -/* 02715C 8002655C 0017C100 */ sll $t8, $s7, 4 -/* 027160 80026560 03387021 */ addu $t6, $t9, $t8 -/* 027164 80026564 91CF0000 */ lbu $t7, ($t6) -/* 027168 80026568 00004025 */ move $t0, $zero -/* 02716C 8002656C 31F90040 */ andi $t9, $t7, 0x40 -/* 027170 80026570 1720017F */ bnez $t9, .L80026B70 -/* 027174 80026574 00003825 */ move $a3, $zero -.L80026578: -/* 027178 80026578 8ED80004 */ lw $t8, 4($s6) -/* 02717C 8002657C 00177100 */ sll $t6, $s7, 4 -/* 027180 80026580 030E7821 */ addu $t7, $t8, $t6 -/* 027184 80026584 01E7C821 */ addu $t9, $t7, $a3 -/* 027188 80026588 93380001 */ lbu $t8, 1($t9) -/* 02718C 8002658C 8ED90000 */ lw $t9, ($s6) -/* 027190 80026590 03097021 */ addu $t6, $t8, $t1 -/* 027194 80026594 01CA0019 */ multu $t6, $t2 -/* 027198 80026598 00071080 */ sll $v0, $a3, 2 -/* 02719C 8002659C 02622021 */ addu $a0, $s3, $v0 -/* 0271A0 800265A0 02A22821 */ addu $a1, $s5, $v0 -/* 0271A4 800265A4 02473021 */ addu $a2, $s2, $a3 -/* 0271A8 800265A8 24E70001 */ addiu $a3, $a3, 1 -/* 0271AC 800265AC 00007812 */ mflo $t7 -/* 0271B0 800265B0 01F91821 */ addu $v1, $t7, $t9 -/* 0271B4 800265B4 84780000 */ lh $t8, ($v1) -/* 0271B8 800265B8 02827821 */ addu $t7, $s4, $v0 -/* 0271BC 800265BC 44982000 */ mtc1 $t8, $f4 -/* 0271C0 800265C0 0222C021 */ addu $t8, $s1, $v0 -/* 0271C4 800265C4 468021A0 */ cvt.s.w $f6, $f4 -/* 0271C8 800265C8 E4860000 */ swc1 $f6, ($a0) -/* 0271CC 800265CC 846E0002 */ lh $t6, 2($v1) -/* 0271D0 800265D0 00000000 */ nop -/* 0271D4 800265D4 448E4000 */ mtc1 $t6, $f8 -/* 0271D8 800265D8 00007025 */ move $t6, $zero -/* 0271DC 800265DC 468042A0 */ cvt.s.w $f10, $f8 -/* 0271E0 800265E0 E5EA0000 */ swc1 $f10, ($t7) -/* 0271E4 800265E4 84790004 */ lh $t9, 4($v1) -/* 0271E8 800265E8 00000000 */ nop -/* 0271EC 800265EC 44992000 */ mtc1 $t9, $f4 -/* 0271F0 800265F0 00000000 */ nop -/* 0271F4 800265F4 468021A0 */ cvt.s.w $f6, $f4 -/* 0271F8 800265F8 C4840000 */ lwc1 $f4, ($a0) -/* 0271FC 800265FC E4A60000 */ swc1 $f6, ($a1) -/* 027200 80026600 C4A80000 */ lwc1 $f8, ($a1) -/* 027204 80026604 00000000 */ nop -/* 027208 80026608 46184282 */ mul.s $f10, $f8, $f24 -/* 02720C 8002660C 00000000 */ nop -/* 027210 80026610 4604D182 */ mul.s $f6, $f26, $f4 -/* 027214 80026614 46065200 */ add.s $f8, $f10, $f6 -/* 027218 80026618 461C4000 */ add.s $f0, $f8, $f28 -/* 02721C 8002661C 46000121 */ cvt.d.s $f4, $f0 -/* 027220 80026620 4634203E */ c.le.d $f4, $f20 -/* 027224 80026624 E7000000 */ swc1 $f0, ($t8) -/* 027228 80026628 45000002 */ bc1f .L80026634 -/* 02722C 8002662C 00000000 */ nop -/* 027230 80026630 240E0001 */ li $t6, 1 -.L80026634: -/* 027234 80026634 A0CE0000 */ sb $t6, ($a2) -/* 027238 80026638 80CF0000 */ lb $t7, ($a2) -/* 02723C 8002663C 0000C825 */ move $t9, $zero -/* 027240 80026640 448F5000 */ mtc1 $t7, $f10 -/* 027244 80026644 00077C00 */ sll $t7, $a3, 0x10 -/* 027248 80026648 468051A1 */ cvt.d.w $f6, $f10 -/* 02724C 8002664C 000F3C03 */ sra $a3, $t7, 0x10 -/* 027250 80026650 28E10003 */ slti $at, $a3, 3 -/* 027254 80026654 4634303E */ c.le.d $f6, $f20 -/* 027258 80026658 00000000 */ nop -/* 02725C 8002665C 45000002 */ bc1f .L80026668 -/* 027260 80026660 00000000 */ nop -/* 027264 80026664 24190001 */ li $t9, 1 -.L80026668: -/* 027268 80026668 01194021 */ addu $t0, $t0, $t9 -/* 02726C 8002666C 0008C400 */ sll $t8, $t0, 0x10 -/* 027270 80026670 00187403 */ sra $t6, $t8, 0x10 -/* 027274 80026674 1420FFC0 */ bnez $at, .L80026578 -/* 027278 80026678 01C04025 */ move $t0, $t6 -/* 02727C 8002667C 11DF0002 */ beq $t6, $ra, .L80026688 -/* 027280 80026680 24010002 */ li $at, 2 -/* 027284 80026684 15C1013A */ bne $t6, $at, .L80026B70 -.L80026688: -/* 027288 80026688 3C018012 */ lui $at, %hi(D_8011D4A4) # $at, 0x8012 -/* 02728C 8002668C C428D4A4 */ lwc1 $f8, %lo(D_8011D4A4)($at) -/* 027290 80026690 3C018012 */ lui $at, %hi(D_8011D4A0) # $at, 0x8012 -/* 027294 80026694 C424D4A0 */ lwc1 $f4, %lo(D_8011D4A0)($at) -/* 027298 80026698 3C018012 */ lui $at, %hi(D_8011D4A8) # $at, 0x8012 -/* 02729C 8002669C C436D4A8 */ lwc1 $f22, %lo(D_8011D4A8)($at) -/* 0272A0 800266A0 00008025 */ move $s0, $zero -/* 0272A4 800266A4 00003825 */ move $a3, $zero -/* 0272A8 800266A8 E7A80098 */ swc1 $f8, 0x98($sp) -/* 0272AC 800266AC E7A40094 */ swc1 $f4, 0x94($sp) -.L800266B0: -/* 0272B0 800266B0 24E60001 */ addiu $a2, $a3, 1 -/* 0272B4 800266B4 00067400 */ sll $t6, $a2, 0x10 -/* 0272B8 800266B8 00062C00 */ sll $a1, $a2, 0x10 -/* 0272BC 800266BC 000E7C03 */ sra $t7, $t6, 0x10 -/* 0272C0 800266C0 0005C403 */ sra $t8, $a1, 0x10 -/* 0272C4 800266C4 29E10003 */ slti $at, $t7, 3 -/* 0272C8 800266C8 14200002 */ bnez $at, .L800266D4 -/* 0272CC 800266CC 03002825 */ move $a1, $t8 -/* 0272D0 800266D0 00002825 */ move $a1, $zero -.L800266D4: -/* 0272D4 800266D4 0245C821 */ addu $t9, $s2, $a1 -/* 0272D8 800266D8 02477021 */ addu $t6, $s2, $a3 -/* 0272DC 800266DC 81CF0000 */ lb $t7, ($t6) -/* 0272E0 800266E0 83380000 */ lb $t8, ($t9) -/* 0272E4 800266E4 00071080 */ sll $v0, $a3, 2 -/* 0272E8 800266E8 130F0028 */ beq $t8, $t7, .L8002678C -/* 0272EC 800266EC 02227021 */ addu $t6, $s1, $v0 -/* 0272F0 800266F0 00051880 */ sll $v1, $a1, 2 -/* 0272F4 800266F4 0223C021 */ addu $t8, $s1, $v1 -/* 0272F8 800266F8 C70A0000 */ lwc1 $f10, ($t8) -/* 0272FC 800266FC C5D20000 */ lwc1 $f18, ($t6) -/* 027300 80026700 0263C821 */ addu $t9, $s3, $v1 -/* 027304 80026704 460A9181 */ sub.s $f6, $f18, $f10 -/* 027308 80026708 02627821 */ addu $t7, $s3, $v0 -/* 02730C 8002670C 46069403 */ div.s $f16, $f18, $f6 -/* 027310 80026710 C5E20000 */ lwc1 $f2, ($t7) -/* 027314 80026714 C7280000 */ lwc1 $f8, ($t9) -/* 027318 80026718 00102080 */ sll $a0, $s0, 2 -/* 02731C 8002671C 46024101 */ sub.s $f4, $f8, $f2 -/* 027320 80026720 01647021 */ addu $t6, $t3, $a0 -/* 027324 80026724 02837821 */ addu $t7, $s4, $v1 -/* 027328 80026728 0282C021 */ addu $t8, $s4, $v0 -/* 02732C 8002672C 03C4C821 */ addu $t9, $fp, $a0 -/* 027330 80026730 26100001 */ addiu $s0, $s0, 1 -/* 027334 80026734 46102282 */ mul.s $f10, $f4, $f16 -/* 027338 80026738 46025180 */ add.s $f6, $f10, $f2 -/* 02733C 8002673C E5C60000 */ swc1 $f6, ($t6) -/* 027340 80026740 C5E80000 */ lwc1 $f8, ($t7) -/* 027344 80026744 C70C0000 */ lwc1 $f12, ($t8) -/* 027348 80026748 01847021 */ addu $t6, $t4, $a0 -/* 02734C 8002674C 460C4101 */ sub.s $f4, $f8, $f12 -/* 027350 80026750 02A2C021 */ addu $t8, $s5, $v0 -/* 027354 80026754 46102282 */ mul.s $f10, $f4, $f16 -/* 027358 80026758 02A37821 */ addu $t7, $s5, $v1 -/* 02735C 8002675C 460C5380 */ add.s $f14, $f10, $f12 -/* 027360 80026760 E72E0000 */ swc1 $f14, ($t9) -/* 027364 80026764 E5CE0000 */ swc1 $f14, ($t6) -/* 027368 80026768 C5E60000 */ lwc1 $f6, ($t7) -/* 02736C 8002676C C7000000 */ lwc1 $f0, ($t8) -/* 027370 80026770 01A4C821 */ addu $t9, $t5, $a0 -/* 027374 80026774 46003201 */ sub.s $f8, $f6, $f0 -/* 027378 80026778 00107400 */ sll $t6, $s0, 0x10 -/* 02737C 8002677C 46104102 */ mul.s $f4, $f8, $f16 -/* 027380 80026780 000E8403 */ sra $s0, $t6, 0x10 -/* 027384 80026784 46002280 */ add.s $f10, $f4, $f0 -/* 027388 80026788 E72A0000 */ swc1 $f10, ($t9) -.L8002678C: -/* 02738C 8002678C 00063C00 */ sll $a3, $a2, 0x10 -/* 027390 80026790 00077C03 */ sra $t7, $a3, 0x10 -/* 027394 80026794 29E10003 */ slti $at, $t7, 3 -/* 027398 80026798 1420FFC5 */ bnez $at, .L800266B0 -/* 02739C 8002679C 01E03825 */ move $a3, $t7 -/* 0273A0 800267A0 C7AE0098 */ lwc1 $f14, 0x98($sp) -/* 0273A4 800267A4 C7A600A8 */ lwc1 $f6, 0xa8($sp) -/* 0273A8 800267A8 C7A00094 */ lwc1 $f0, 0x94($sp) -/* 0273AC 800267AC 460E3202 */ mul.s $f8, $f6, $f14 -/* 0273B0 800267B0 C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 0273B4 800267B4 3C01800E */ lui $at, %hi(D_800E5E80 + 4) # $at, 0x800e -/* 0273B8 800267B8 00008025 */ move $s0, $zero -/* 0273BC 800267BC 46040282 */ mul.s $f10, $f0, $f4 -/* 0273C0 800267C0 C7A400AC */ lwc1 $f4, 0xac($sp) -/* 0273C4 800267C4 00001025 */ move $v0, $zero -/* 0273C8 800267C8 00001825 */ move $v1, $zero -/* 0273CC 800267CC 460A4180 */ add.s $f6, $f8, $f10 -/* 0273D0 800267D0 C7AA00B4 */ lwc1 $f10, 0xb4($sp) -/* 0273D4 800267D4 460E2202 */ mul.s $f8, $f4, $f14 -/* 0273D8 800267D8 46163080 */ add.s $f2, $f6, $f22 -/* 0273DC 800267DC C4295E80 */ lwc1 $f9, %lo(D_800E5E80)($at) -/* 0273E0 800267E0 E7A200C4 */ swc1 $f2, 0xc4($sp) -/* 0273E4 800267E4 460A0182 */ mul.s $f6, $f0, $f10 -/* 0273E8 800267E8 C7AA00C4 */ lwc1 $f10, 0xc4($sp) -/* 0273EC 800267EC 46064100 */ add.s $f4, $f8, $f6 -/* 0273F0 800267F0 C4285E84 */ lwc1 $f8, %lo(D_800E5E80 + 4)($at) -/* 0273F4 800267F4 46005021 */ cvt.d.s $f0, $f10 -/* 0273F8 800267F8 4628003C */ c.lt.d $f0, $f8 -/* 0273FC 800267FC 46162300 */ add.s $f12, $f4, $f22 -/* 027400 80026800 45000004 */ bc1f .L80026814 -/* 027404 80026804 E7AC00C8 */ swc1 $f12, 0xc8($sp) -/* 027408 80026808 001F1600 */ sll $v0, $ra, 0x18 -/* 02740C 8002680C 0002CE03 */ sra $t9, $v0, 0x18 -/* 027410 80026810 03201025 */ move $v0, $t9 -.L80026814: -/* 027414 80026814 4620F03C */ c.lt.d $f30, $f0 -/* 027418 80026818 C7A600C8 */ lwc1 $f6, 0xc8($sp) -/* 02741C 8002681C 45000004 */ bc1f .L80026830 -/* 027420 80026820 3C01800E */ lui $at, %hi(D_800E5E88 + 4) # $at, 0x800e -/* 027424 80026824 344E0002 */ ori $t6, $v0, 2 -/* 027428 80026828 000EC600 */ sll $t8, $t6, 0x18 -/* 02742C 8002682C 00181603 */ sra $v0, $t8, 0x18 -.L80026830: -/* 027430 80026830 C4255E88 */ lwc1 $f5, %lo(D_800E5E88)($at) -/* 027434 80026834 C4245E8C */ lwc1 $f4, %lo(D_800E5E88 + 4)($at) -/* 027438 80026838 46003021 */ cvt.d.s $f0, $f6 -/* 02743C 8002683C 4624003C */ c.lt.d $f0, $f4 -/* 027440 80026840 00000000 */ nop -/* 027444 80026844 45000004 */ bc1f .L80026858 -/* 027448 80026848 00000000 */ nop -/* 02744C 8002684C 001F1E00 */ sll $v1, $ra, 0x18 -/* 027450 80026850 0003CE03 */ sra $t9, $v1, 0x18 -/* 027454 80026854 03201825 */ move $v1, $t9 -.L80026858: -/* 027458 80026858 4620F03C */ c.lt.d $f30, $f0 -/* 02745C 8002685C 346E0002 */ ori $t6, $v1, 2 -/* 027460 80026860 45000002 */ bc1f .L8002686C -/* 027464 80026864 000EC600 */ sll $t8, $t6, 0x18 -/* 027468 80026868 00181E03 */ sra $v1, $t8, 0x18 -.L8002686C: -/* 02746C 8002686C 0062C825 */ or $t9, $v1, $v0 -/* 027470 80026870 17200007 */ bnez $t9, .L80026890 -/* 027474 80026874 00000000 */ nop -/* 027478 80026878 001F8400 */ sll $s0, $ra, 0x10 -/* 02747C 8002687C 00107403 */ sra $t6, $s0, 0x10 -/* 027480 80026880 01C08025 */ move $s0, $t6 -/* 027484 80026884 A3A300F9 */ sb $v1, 0xf9($sp) -/* 027488 80026888 10000050 */ b .L800269CC -/* 02748C 8002688C A3A200F8 */ sb $v0, 0xf8($sp) -.L80026890: -/* 027490 80026890 A3A200F8 */ sb $v0, 0xf8($sp) -/* 027494 80026894 1062004D */ beq $v1, $v0, .L800269CC -/* 027498 80026898 A3A300F9 */ sb $v1, 0xf9($sp) -/* 02749C 8002689C C7AA00C8 */ lwc1 $f10, 0xc8($sp) -/* 0274A0 800268A0 C7A800C4 */ lwc1 $f8, 0xc4($sp) -/* 0274A4 800268A4 00003825 */ move $a3, $zero -/* 0274A8 800268A8 4608503C */ c.lt.s $f10, $f8 -/* 0274AC 800268AC 001F8400 */ sll $s0, $ra, 0x10 -/* 0274B0 800268B0 45000005 */ bc1f .L800268C8 -/* 0274B4 800268B4 0247C821 */ addu $t9, $s2, $a3 -/* 0274B8 800268B8 001F3C00 */ sll $a3, $ra, 0x10 -/* 0274BC 800268BC 00077C03 */ sra $t7, $a3, 0x10 -/* 0274C0 800268C0 01E03825 */ move $a3, $t7 -/* 0274C4 800268C4 0247C821 */ addu $t9, $s2, $a3 -.L800268C8: -/* 0274C8 800268C8 832E0000 */ lb $t6, ($t9) -/* 0274CC 800268CC 00071080 */ sll $v0, $a3, 2 -/* 0274D0 800268D0 17EE001D */ bne $ra, $t6, .L80026948 -/* 0274D4 800268D4 03E73023 */ subu $a2, $ra, $a3 -/* 0274D8 800268D8 03E72823 */ subu $a1, $ra, $a3 -/* 0274DC 800268DC 0005C400 */ sll $t8, $a1, 0x10 -/* 0274E0 800268E0 02221821 */ addu $v1, $s1, $v0 -/* 0274E4 800268E4 C4720000 */ lwc1 $f18, ($v1) -/* 0274E8 800268E8 00187C03 */ sra $t7, $t8, 0x10 -/* 0274EC 800268EC 000FC880 */ sll $t9, $t7, 2 -/* 0274F0 800268F0 02397021 */ addu $t6, $s1, $t9 -/* 0274F4 800268F4 46009187 */ neg.s $f6, $f18 -/* 0274F8 800268F8 C5C80000 */ lwc1 $f8, ($t6) -/* 0274FC 800268FC 46003121 */ cvt.d.s $f4, $f6 -/* 027500 80026900 463E2281 */ sub.d $f10, $f4, $f30 -/* 027504 80026904 03D9C021 */ addu $t8, $fp, $t9 -/* 027508 80026908 46124181 */ sub.s $f6, $f8, $f18 -/* 02750C 8002690C 03C22021 */ addu $a0, $fp, $v0 -/* 027510 80026910 46003121 */ cvt.d.s $f4, $f6 -/* 027514 80026914 00000000 */ nop -/* 027518 80026918 46245203 */ div.d $f8, $f10, $f4 -/* 02751C 8002691C C7060000 */ lwc1 $f6, ($t8) -/* 027520 80026920 C4800000 */ lwc1 $f0, ($a0) -/* 027524 80026924 3C01C396 */ li $at, 0xC3960000 # -300.000000 -/* 027528 80026928 46003281 */ sub.s $f10, $f6, $f0 -/* 02752C 8002692C 44813000 */ mtc1 $at, $f6 -/* 027530 80026930 00000000 */ nop -/* 027534 80026934 E4660000 */ swc1 $f6, ($v1) -/* 027538 80026938 46204420 */ cvt.s.d $f16, $f8 -/* 02753C 8002693C 46105102 */ mul.s $f4, $f10, $f16 -/* 027540 80026940 46002200 */ add.s $f8, $f4, $f0 -/* 027544 80026944 E4880000 */ swc1 $f8, ($a0) -.L80026948: -/* 027548 80026948 00067C00 */ sll $t7, $a2, 0x10 -/* 02754C 8002694C 000FCC03 */ sra $t9, $t7, 0x10 -/* 027550 80026950 02597021 */ addu $t6, $s2, $t9 -/* 027554 80026954 81D80000 */ lb $t8, ($t6) -/* 027558 80026958 24010002 */ li $at, 2 -/* 02755C 8002695C 1701001A */ bne $t8, $at, .L800269C8 -/* 027560 80026960 00107403 */ sra $t6, $s0, 0x10 -/* 027564 80026964 00192880 */ sll $a1, $t9, 2 -/* 027568 80026968 02251821 */ addu $v1, $s1, $a1 -/* 02756C 8002696C 00071080 */ sll $v0, $a3, 2 -/* 027570 80026970 C4600000 */ lwc1 $f0, ($v1) -/* 027574 80026974 02227821 */ addu $t7, $s1, $v0 -/* 027578 80026978 C5E80000 */ lwc1 $f8, ($t7) -/* 02757C 8002697C 460002A1 */ cvt.d.s $f10, $f0 -/* 027580 80026980 463E5101 */ sub.d $f4, $f10, $f30 -/* 027584 80026984 03C2C821 */ addu $t9, $fp, $v0 -/* 027588 80026988 46080181 */ sub.s $f6, $f0, $f8 -/* 02758C 8002698C 03C52021 */ addu $a0, $fp, $a1 -/* 027590 80026990 460032A1 */ cvt.d.s $f10, $f6 -/* 027594 80026994 00000000 */ nop -/* 027598 80026998 462A2203 */ div.d $f8, $f4, $f10 -/* 02759C 8002699C C7260000 */ lwc1 $f6, ($t9) -/* 0275A0 800269A0 C4820000 */ lwc1 $f2, ($a0) -/* 0275A4 800269A4 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0275A8 800269A8 46023101 */ sub.s $f4, $f6, $f2 -/* 0275AC 800269AC 44813000 */ mtc1 $at, $f6 -/* 0275B0 800269B0 00000000 */ nop -/* 0275B4 800269B4 E4660000 */ swc1 $f6, ($v1) -/* 0275B8 800269B8 46204420 */ cvt.s.d $f16, $f8 -/* 0275BC 800269BC 46102282 */ mul.s $f10, $f4, $f16 -/* 0275C0 800269C0 46025200 */ add.s $f8, $f10, $f2 -/* 0275C4 800269C4 E4880000 */ swc1 $f8, ($a0) -.L800269C8: -/* 0275C8 800269C8 01C08025 */ move $s0, $t6 -.L800269CC: -/* 0275CC 800269CC 12000068 */ beqz $s0, .L80026B70 -/* 0275D0 800269D0 001778C0 */ sll $t7, $s7, 3 -/* 0275D4 800269D4 8ED80014 */ lw $t8, 0x14($s6) -/* 0275D8 800269D8 C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 0275DC 800269DC 030FC821 */ addu $t9, $t8, $t7 -/* 0275E0 800269E0 972E0000 */ lhu $t6, ($t9) -/* 0275E4 800269E4 8ED90018 */ lw $t9, 0x18($s6) -/* 0275E8 800269E8 000EC480 */ sll $t8, $t6, 0x12 -/* 0275EC 800269EC 00187C03 */ sra $t7, $t8, 0x10 -/* 0275F0 800269F0 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 0275F4 800269F4 000F7080 */ sll $t6, $t7, 2 -/* 0275F8 800269F8 032E1021 */ addu $v0, $t9, $t6 -/* 0275FC 800269FC C4460000 */ lwc1 $f6, ($v0) -/* 027600 80026A00 460A2200 */ add.s $f8, $f4, $f10 -/* 027604 80026A04 C7A400B8 */ lwc1 $f4, 0xb8($sp) -/* 027608 80026A08 46083402 */ mul.s $f16, $f6, $f8 -/* 02760C 80026A0C C4400004 */ lwc1 $f0, 4($v0) -/* 027610 80026A10 C7A80098 */ lwc1 $f8, 0x98($sp) -/* 027614 80026A14 C7A600A8 */ lwc1 $f6, 0xa8($sp) -/* 027618 80026A18 46002282 */ mul.s $f10, $f4, $f0 -/* 02761C 80026A1C 46083100 */ add.s $f4, $f6, $f8 -/* 027620 80026A20 C448000C */ lwc1 $f8, 0xc($v0) -/* 027624 80026A24 00001825 */ move $v1, $zero -/* 027628 80026A28 460A8400 */ add.s $f16, $f16, $f10 -/* 02762C 80026A2C C44A0008 */ lwc1 $f10, 8($v0) -/* 027630 80026A30 00000000 */ nop -/* 027634 80026A34 460A2182 */ mul.s $f6, $f4, $f10 -/* 027638 80026A38 44805000 */ mtc1 $zero, $f10 -/* 02763C 80026A3C 46068400 */ add.s $f16, $f16, $f6 -/* 027640 80026A40 C7A600C4 */ lwc1 $f6, 0xc4($sp) -/* 027644 80026A44 46088400 */ add.s $f16, $f16, $f8 -/* 027648 80026A48 C7A800C8 */ lwc1 $f8, 0xc8($sp) -/* 02764C 80026A4C 46008121 */ cvt.d.s $f4, $f16 -/* 027650 80026A50 4624A03C */ c.lt.d $f20, $f4 -/* 027654 80026A54 00000000 */ nop -/* 027658 80026A58 45000003 */ bc1f .L80026A68 -/* 02765C 80026A5C 0003C080 */ sll $t8, $v1, 2 -/* 027660 80026A60 24030001 */ li $v1, 1 -/* 027664 80026A64 0003C080 */ sll $t8, $v1, 2 -.L80026A68: -/* 027668 80026A68 460A003C */ c.lt.s $f0, $f10 -/* 02766C 80026A6C 00188400 */ sll $s0, $t8, 0x10 -/* 027670 80026A70 00107C03 */ sra $t7, $s0, 0x10 -/* 027674 80026A74 45000005 */ bc1f .L80026A8C -/* 027678 80026A78 01E08025 */ move $s0, $t7 -/* 02767C 80026A7C 0300C825 */ move $t9, $t8 -/* 027680 80026A80 372E0001 */ ori $t6, $t9, 1 -/* 027684 80026A84 000EC400 */ sll $t8, $t6, 0x10 -/* 027688 80026A88 00188403 */ sra $s0, $t8, 0x10 -.L80026A8C: -/* 02768C 80026A8C 46083032 */ c.eq.s $f6, $f8 -/* 027690 80026A90 36190008 */ ori $t9, $s0, 8 -/* 027694 80026A94 45000002 */ bc1f .L80026AA0 -/* 027698 80026A98 00197400 */ sll $t6, $t9, 0x10 -/* 02769C 80026A9C 000E8403 */ sra $s0, $t6, 0x10 -.L80026AA0: -/* 0276A0 80026AA0 444FF800 */ cfc1 $t7, $31 -/* 0276A4 80026AA4 C7A400C4 */ lwc1 $f4, 0xc4($sp) -/* 0276A8 80026AA8 35E10003 */ ori $at, $t7, 3 -/* 0276AC 80026AAC 38210002 */ xori $at, $at, 2 -/* 0276B0 80026AB0 44C1F800 */ ctc1 $at, $31 -/* 0276B4 80026AB4 C7A600B8 */ lwc1 $f6, 0xb8($sp) -/* 0276B8 80026AB8 460022A4 */ cvt.w.s $f10, $f4 -/* 0276BC 80026ABC 02003025 */ move $a2, $s0 -/* 0276C0 80026AC0 44CFF800 */ ctc1 $t7, $31 -/* 0276C4 80026AC4 44045000 */ mfc1 $a0, $f10 -/* 0276C8 80026AC8 A7A9010A */ sh $t1, 0x10a($sp) -/* 0276CC 80026ACC 4458F800 */ cfc1 $t8, $31 -/* 0276D0 80026AD0 0004CC00 */ sll $t9, $a0, 0x10 -/* 0276D4 80026AD4 37010003 */ ori $at, $t8, 3 -/* 0276D8 80026AD8 38210002 */ xori $at, $at, 2 -/* 0276DC 80026ADC 44C1F800 */ ctc1 $at, $31 -/* 0276E0 80026AE0 00192403 */ sra $a0, $t9, 0x10 -/* 0276E4 80026AE4 46003224 */ cvt.w.s $f8, $f6 -/* 0276E8 80026AE8 44054000 */ mfc1 $a1, $f8 -/* 0276EC 80026AEC 44D8F800 */ ctc1 $t8, $31 -/* 0276F0 80026AF0 00057C00 */ sll $t7, $a1, 0x10 -/* 0276F4 80026AF4 0C009B05 */ jal func_80026C14 -/* 0276F8 80026AF8 000F2C03 */ sra $a1, $t7, 0x10 -/* 0276FC 80026AFC 444EF800 */ cfc1 $t6, $31 -/* 027700 80026B00 C7A400C8 */ lwc1 $f4, 0xc8($sp) -/* 027704 80026B04 35C10003 */ ori $at, $t6, 3 -/* 027708 80026B08 38210002 */ xori $at, $at, 2 -/* 02770C 80026B0C 44C1F800 */ ctc1 $at, $31 -/* 027710 80026B10 C7A600BC */ lwc1 $f6, 0xbc($sp) -/* 027714 80026B14 460022A4 */ cvt.w.s $f10, $f4 -/* 027718 80026B18 02003025 */ move $a2, $s0 -/* 02771C 80026B1C 44CEF800 */ ctc1 $t6, $31 -/* 027720 80026B20 44045000 */ mfc1 $a0, $f10 -/* 027724 80026B24 00000000 */ nop -/* 027728 80026B28 4459F800 */ cfc1 $t9, $31 -/* 02772C 80026B2C 0004C400 */ sll $t8, $a0, 0x10 -/* 027730 80026B30 37210003 */ ori $at, $t9, 3 -/* 027734 80026B34 38210002 */ xori $at, $at, 2 -/* 027738 80026B38 44C1F800 */ ctc1 $at, $31 -/* 02773C 80026B3C 00182403 */ sra $a0, $t8, 0x10 -/* 027740 80026B40 46003224 */ cvt.w.s $f8, $f6 -/* 027744 80026B44 44054000 */ mfc1 $a1, $f8 -/* 027748 80026B48 44D9F800 */ ctc1 $t9, $31 -/* 02774C 80026B4C 00057400 */ sll $t6, $a1, 0x10 -/* 027750 80026B50 0C009B05 */ jal func_80026C14 -/* 027754 80026B54 000E2C03 */ sra $a1, $t6, 0x10 -/* 027758 80026B58 87A9010A */ lh $t1, 0x10a($sp) -/* 02775C 80026B5C 240A000A */ li $t2, 10 -/* 027760 80026B60 27AB00B0 */ addiu $t3, $sp, 0xb0 -/* 027764 80026B64 27AC00A0 */ addiu $t4, $sp, 0xa0 -/* 027768 80026B68 27AD00A8 */ addiu $t5, $sp, 0xa8 -/* 02776C 80026B6C 241F0001 */ li $ra, 1 -.L80026B70: -/* 027770 80026B70 26F70001 */ addiu $s7, $s7, 1 -/* 027774 80026B74 87AE0108 */ lh $t6, 0x108($sp) -/* 027778 80026B78 00177C00 */ sll $t7, $s7, 0x10 -/* 02777C 80026B7C 000FBC03 */ sra $s7, $t7, 0x10 -/* 027780 80026B80 02EE082A */ slt $at, $s7, $t6 -/* 027784 80026B84 1420FE74 */ bnez $at, .L80026558 -/* 027788 80026B88 00000000 */ nop -/* 02778C 80026B8C 86C40020 */ lh $a0, 0x20($s6) -/* 027790 80026B90 00000000 */ nop -.L80026B94: -/* 027794 80026B94 87A2010E */ lh $v0, 0x10e($sp) -/* 027798 80026B98 00000000 */ nop -/* 02779C 80026B9C 24420001 */ addiu $v0, $v0, 1 -/* 0277A0 80026BA0 0002C400 */ sll $t8, $v0, 0x10 -/* 0277A4 80026BA4 00187C03 */ sra $t7, $t8, 0x10 -/* 0277A8 80026BA8 01E4082A */ slt $at, $t7, $a0 -/* 0277AC 80026BAC 1420FE54 */ bnez $at, .L80026500 -/* 0277B0 80026BB0 A7AF010E */ sh $t7, 0x10e($sp) -.L80026BB4: -/* 0277B4 80026BB4 8FBF006C */ lw $ra, 0x6c($sp) -/* 0277B8 80026BB8 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 0277BC 80026BBC C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 0277C0 80026BC0 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 0277C4 80026BC4 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 0277C8 80026BC8 C7B90028 */ lwc1 $f25, 0x28($sp) -/* 0277CC 80026BCC C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 0277D0 80026BD0 C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 0277D4 80026BD4 C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 0277D8 80026BD8 C7BD0038 */ lwc1 $f29, 0x38($sp) -/* 0277DC 80026BDC C7BC003C */ lwc1 $f28, 0x3c($sp) -/* 0277E0 80026BE0 C7BF0040 */ lwc1 $f31, 0x40($sp) -/* 0277E4 80026BE4 C7BE0044 */ lwc1 $f30, 0x44($sp) -/* 0277E8 80026BE8 8FB00048 */ lw $s0, 0x48($sp) -/* 0277EC 80026BEC 8FB1004C */ lw $s1, 0x4c($sp) -/* 0277F0 80026BF0 8FB20050 */ lw $s2, 0x50($sp) -/* 0277F4 80026BF4 8FB30054 */ lw $s3, 0x54($sp) -/* 0277F8 80026BF8 8FB40058 */ lw $s4, 0x58($sp) -/* 0277FC 80026BFC 8FB5005C */ lw $s5, 0x5c($sp) -/* 027800 80026C00 8FB60060 */ lw $s6, 0x60($sp) -/* 027804 80026C04 8FB70064 */ lw $s7, 0x64($sp) -/* 027808 80026C08 8FBE0068 */ lw $fp, 0x68($sp) -/* 02780C 80026C0C 03E00008 */ jr $ra -/* 027810 80026C10 27BD0110 */ addiu $sp, $sp, 0x110 - diff --git a/asm/non_matchings/tracks/func_80027184.s b/asm/non_matchings/tracks/func_80027184.s deleted file mode 100644 index 42344da7..00000000 --- a/asm/non_matchings/tracks/func_80027184.s +++ /dev/null @@ -1,254 +0,0 @@ -glabel func_80027184 -/* 027D84 80027184 44866000 */ mtc1 $a2, $f12 -/* 027D88 80027188 3C068012 */ lui $a2, %hi(D_8011D4B8) # $a2, 0x8012 -/* 027D8C 8002718C 24C6D4B8 */ addiu $a2, %lo(D_8011D4B8) # addiu $a2, $a2, -0x2b48 -/* 027D90 80027190 3C0F8012 */ lui $t7, %hi(D_8011D4BC) # $t7, 0x8012 -/* 027D94 80027194 85EFD4BC */ lh $t7, %lo(D_8011D4BC)($t7) -/* 027D98 80027198 84CE0000 */ lh $t6, ($a2) -/* 027D9C 8002719C 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 027DA0 800271A0 01CF082A */ slt $at, $t6, $t7 -/* 027DA4 800271A4 AFB1000C */ sw $s1, 0xc($sp) -/* 027DA8 800271A8 AFB00008 */ sw $s0, 8($sp) -/* 027DAC 800271AC 14200003 */ bnez $at, .L800271BC -/* 027DB0 800271B0 AFA7001C */ sw $a3, 0x1c($sp) -/* 027DB4 800271B4 100000E8 */ b .L80027558 -/* 027DB8 800271B8 00001025 */ move $v0, $zero -.L800271BC: -/* 027DBC 800271BC 3C038012 */ lui $v1, %hi(D_8011D4B6) # $v1, 0x8012 -/* 027DC0 800271C0 2463D4B6 */ addiu $v1, %lo(D_8011D4B6) # addiu $v1, $v1, -0x2b4a -/* 027DC4 800271C4 84620000 */ lh $v0, ($v1) -/* 027DC8 800271C8 24010018 */ li $at, 24 -/* 027DCC 800271CC 1441003A */ bne $v0, $at, .L800272B8 -/* 027DD0 800271D0 3C078012 */ lui $a3, %hi(gSceneCurrVertexList) # $a3, 0x8012 -/* 027DD4 800271D4 3C0D8012 */ lui $t5, %hi(gSceneCurrDisplayList) # $t5, 0x8012 -/* 027DD8 800271D8 25ADB0A0 */ addiu $t5, %lo(gSceneCurrDisplayList) # addiu $t5, $t5, -0x4f60 -/* 027DDC 800271DC 8DAA0000 */ lw $t2, ($t5) -/* 027DE0 800271E0 3C108012 */ lui $s0, %hi(D_8011D488) # $s0, 0x8012 -/* 027DE4 800271E4 2610D488 */ addiu $s0, %lo(D_8011D488) # addiu $s0, $s0, -0x2b78 -/* 027DE8 800271E8 8E0F0000 */ lw $t7, ($s0) -/* 027DEC 800271EC 25580008 */ addiu $t8, $t2, 8 -/* 027DF0 800271F0 3C118000 */ lui $s1, 0x8000 -/* 027DF4 800271F4 ADB80000 */ sw $t8, ($t5) -/* 027DF8 800271F8 2459FFFF */ addiu $t9, $v0, -1 -/* 027DFC 800271FC 001970C0 */ sll $t6, $t9, 3 -/* 027E00 80027200 01F1C021 */ addu $t8, $t7, $s1 -/* 027E04 80027204 33190006 */ andi $t9, $t8, 6 -/* 027E08 80027208 01D97825 */ or $t7, $t6, $t9 -/* 027E0C 8002720C 31F800FF */ andi $t8, $t7, 0xff -/* 027E10 80027210 00187400 */ sll $t6, $t8, 0x10 -/* 027E14 80027214 000278C0 */ sll $t7, $v0, 3 -/* 027E18 80027218 3C010400 */ lui $at, 0x400 -/* 027E1C 8002721C 01C1C825 */ or $t9, $t6, $at -/* 027E20 80027220 01E2C021 */ addu $t8, $t7, $v0 -/* 027E24 80027224 00187040 */ sll $t6, $t8, 1 -/* 027E28 80027228 25CF0008 */ addiu $t7, $t6, 8 -/* 027E2C 8002722C 31F8FFFF */ andi $t8, $t7, 0xffff -/* 027E30 80027230 03387025 */ or $t6, $t9, $t8 -/* 027E34 80027234 AD4E0000 */ sw $t6, ($t2) -/* 027E38 80027238 8E0F0000 */ lw $t7, ($s0) -/* 027E3C 8002723C 3C010500 */ lui $at, 0x500 -/* 027E40 80027240 01F1C821 */ addu $t9, $t7, $s1 -/* 027E44 80027244 AD590004 */ sw $t9, 4($t2) -/* 027E48 80027248 846C0000 */ lh $t4, ($v1) -/* 027E4C 8002724C 8DAA0000 */ lw $t2, ($t5) -/* 027E50 80027250 000C7043 */ sra $t6, $t4, 1 -/* 027E54 80027254 25CFFFFF */ addiu $t7, $t6, -1 -/* 027E58 80027258 25580008 */ addiu $t8, $t2, 8 -/* 027E5C 8002725C ADB80000 */ sw $t8, ($t5) -/* 027E60 80027260 000FC900 */ sll $t9, $t7, 4 -/* 027E64 80027264 333800FF */ andi $t8, $t9, 0xff -/* 027E68 80027268 01C06025 */ move $t4, $t6 -/* 027E6C 8002726C 00187400 */ sll $t6, $t8, 0x10 -/* 027E70 80027270 000CC900 */ sll $t9, $t4, 4 -/* 027E74 80027274 3338FFFF */ andi $t8, $t9, 0xffff -/* 027E78 80027278 01C17825 */ or $t7, $t6, $at -/* 027E7C 8002727C 01F87025 */ or $t6, $t7, $t8 -/* 027E80 80027280 3C198012 */ lui $t9, %hi(D_8011D498) # $t9, 0x8012 -/* 027E84 80027284 AD4E0000 */ sw $t6, ($t2) -/* 027E88 80027288 8F39D498 */ lw $t9, %lo(D_8011D498)($t9) -/* 027E8C 8002728C 24E7B0A8 */ addiu $a3, %lo(gSceneCurrVertexList) # addiu $a3, $a3, -0x4f58 -/* 027E90 80027290 03317821 */ addu $t7, $t9, $s1 -/* 027E94 80027294 AD4F0004 */ sw $t7, 4($t2) -/* 027E98 80027298 3C088012 */ lui $t0, %hi(gSceneCurrTriList) # $t0, 0x8012 -/* 027E9C 8002729C 8CF80000 */ lw $t8, ($a3) -/* 027EA0 800272A0 2508B0AC */ addiu $t0, %lo(gSceneCurrTriList) # addiu $t0, $t0, -0x4f54 -/* 027EA4 800272A4 8D0E0000 */ lw $t6, ($t0) -/* 027EA8 800272A8 A4600000 */ sh $zero, ($v1) -/* 027EAC 800272AC 3C018012 */ lui $at, %hi(D_8011D498) # $at, 0x8012 -/* 027EB0 800272B0 AE180000 */ sw $t8, ($s0) -/* 027EB4 800272B4 AC2ED498 */ sw $t6, %lo(D_8011D498)($at) -.L800272B8: -/* 027EB8 800272B8 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 027EBC 800272BC 44819000 */ mtc1 $at, $f18 -/* 027EC0 800272C0 3C018012 */ lui $at, %hi(D_8011D4A0) # $at, 0x8012 -/* 027EC4 800272C4 C420D4A0 */ lwc1 $f0, %lo(D_8011D4A0)($at) -/* 027EC8 800272C8 3C018012 */ lui $at, %hi(D_8011D4AC) # $at, 0x8012 -/* 027ECC 800272CC 46006102 */ mul.s $f4, $f12, $f0 -/* 027ED0 800272D0 C422D4AC */ lwc1 $f2, %lo(D_8011D4AC)($at) -/* 027ED4 800272D4 3C078012 */ lui $a3, %hi(gSceneCurrVertexList) # $a3, 0x8012 -/* 027ED8 800272D8 24E7B0A8 */ addiu $a3, %lo(gSceneCurrVertexList) # addiu $a3, $a3, -0x4f58 -/* 027EDC 800272DC 46022180 */ add.s $f6, $f4, $f2 -/* 027EE0 800272E0 8CE20000 */ lw $v0, ($a3) -/* 027EE4 800272E4 4459F800 */ cfc1 $t9, $31 -/* 027EE8 800272E8 3C0D8012 */ lui $t5, %hi(D_8011B0E1) # $t5, 0x8012 -/* 027EEC 800272EC 37210003 */ ori $at, $t9, 3 -/* 027EF0 800272F0 38210002 */ xori $at, $at, 2 -/* 027EF4 800272F4 44C1F800 */ ctc1 $at, $31 -/* 027EF8 800272F8 3C018012 */ lui $at, %hi(D_8011D4A4) # $at, 0x8012 -/* 027EFC 800272FC 46003224 */ cvt.w.s $f8, $f6 -/* 027F00 80027300 C42ED4A4 */ lwc1 $f14, %lo(D_8011D4A4)($at) -/* 027F04 80027304 44D9F800 */ ctc1 $t9, $31 -/* 027F08 80027308 3C018012 */ lui $at, %hi(D_8011D4B0) # $at, 0x8012 -/* 027F0C 8002730C 460E6282 */ mul.s $f10, $f12, $f14 -/* 027F10 80027310 C430D4B0 */ lwc1 $f16, %lo(D_8011D4B0)($at) -/* 027F14 80027314 44094000 */ mfc1 $t1, $f8 -/* 027F18 80027318 C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 027F1C 8002731C 46105100 */ add.s $f4, $f10, $f16 -/* 027F20 80027320 3C108012 */ lui $s0, %hi(D_8011B0E2) # $s0, 0x8012 -/* 027F24 80027324 444EF800 */ cfc1 $t6, $31 -/* 027F28 80027328 3C118012 */ lui $s1, %hi(D_8011B0E3) # $s1, 0x8012 -/* 027F2C 8002732C 35C10003 */ ori $at, $t6, 3 -/* 027F30 80027330 38210002 */ xori $at, $at, 2 -/* 027F34 80027334 44C1F800 */ ctc1 $at, $31 -/* 027F38 80027338 91ADB0E1 */ lbu $t5, %lo(D_8011B0E1)($t5) -/* 027F3C 8002733C 460021A4 */ cvt.w.s $f6, $f4 -/* 027F40 80027340 9210B0E2 */ lbu $s0, %lo(D_8011B0E2)($s0) -/* 027F44 80027344 44CEF800 */ ctc1 $t6, $31 -/* 027F48 80027348 440A3000 */ mfc1 $t2, $f6 -/* 027F4C 8002734C 46004282 */ mul.s $f10, $f8, $f0 -/* 027F50 80027350 9231B0E3 */ lbu $s1, %lo(D_8011B0E3)($s1) -/* 027F54 80027354 A4490000 */ sh $t1, ($v0) -/* 027F58 80027358 3C088012 */ lui $t0, %hi(gSceneCurrTriList) # $t0, 0x8012 -/* 027F5C 8002735C 46025100 */ add.s $f4, $f10, $f2 -/* 027F60 80027360 2508B0AC */ addiu $t0, %lo(gSceneCurrTriList) # addiu $t0, $t0, -0x4f54 -/* 027F64 80027364 4458F800 */ cfc1 $t8, $31 -/* 027F68 80027368 24420028 */ addiu $v0, $v0, 0x28 -/* 027F6C 8002736C 37010003 */ ori $at, $t8, 3 -/* 027F70 80027370 38210002 */ xori $at, $at, 2 -/* 027F74 80027374 44C1F800 */ ctc1 $at, $31 -/* 027F78 80027378 00000000 */ nop -/* 027F7C 8002737C 460021A4 */ cvt.w.s $f6, $f4 -/* 027F80 80027380 44D8F800 */ ctc1 $t8, $31 -/* 027F84 80027384 440B3000 */ mfc1 $t3, $f6 -/* 027F88 80027388 460E4282 */ mul.s $f10, $f8, $f14 -/* 027F8C 8002738C C4880000 */ lwc1 $f8, ($a0) -/* 027F90 80027390 241800FF */ li $t8, 255 -/* 027F94 80027394 A058FFE1 */ sb $t8, -0x1f($v0) -/* 027F98 80027398 46105100 */ add.s $f4, $f10, $f16 -/* 027F9C 8002739C A04DFFDE */ sb $t5, -0x22($v0) -/* 027FA0 800273A0 444FF800 */ cfc1 $t7, $31 -/* 027FA4 800273A4 A050FFDF */ sb $s0, -0x21($v0) -/* 027FA8 800273A8 35E10003 */ ori $at, $t7, 3 -/* 027FAC 800273AC 38210002 */ xori $at, $at, 2 -/* 027FB0 800273B0 44C1F800 */ ctc1 $at, $31 -/* 027FB4 800273B4 A44AFFDC */ sh $t2, -0x24($v0) -/* 027FB8 800273B8 460021A4 */ cvt.w.s $f6, $f4 -/* 027FBC 800273BC A051FFE0 */ sb $s1, -0x20($v0) -/* 027FC0 800273C0 44CFF800 */ ctc1 $t7, $31 -/* 027FC4 800273C4 440C3000 */ mfc1 $t4, $f6 -/* 027FC8 800273C8 46124280 */ add.s $f10, $f8, $f18 -/* 027FCC 800273CC A44BFFE2 */ sh $t3, -0x1e($v0) -/* 027FD0 800273D0 4459F800 */ cfc1 $t9, $31 -/* 027FD4 800273D4 00000000 */ nop -/* 027FD8 800273D8 37210003 */ ori $at, $t9, 3 -/* 027FDC 800273DC 38210002 */ xori $at, $at, 2 -/* 027FE0 800273E0 44C1F800 */ ctc1 $at, $31 -/* 027FE4 800273E4 00000000 */ nop -/* 027FE8 800273E8 46005124 */ cvt.w.s $f4, $f10 -/* 027FEC 800273EC 440F2000 */ mfc1 $t7, $f4 -/* 027FF0 800273F0 44D9F800 */ ctc1 $t9, $31 -/* 027FF4 800273F4 A44FFFDA */ sh $t7, -0x26($v0) -/* 027FF8 800273F8 C4860004 */ lwc1 $f6, 4($a0) -/* 027FFC 800273FC 240F00FF */ li $t7, 255 -/* 028000 80027400 46123200 */ add.s $f8, $f6, $f18 -/* 028004 80027404 A04FFFEB */ sb $t7, -0x15($v0) -/* 028008 80027408 444EF800 */ cfc1 $t6, $31 -/* 02800C 8002740C A449FFEC */ sh $t1, -0x14($v0) -/* 028010 80027410 35C10003 */ ori $at, $t6, 3 -/* 028014 80027414 38210002 */ xori $at, $at, 2 -/* 028018 80027418 44C1F800 */ ctc1 $at, $31 -/* 02801C 8002741C A04DFFE8 */ sb $t5, -0x18($v0) -/* 028020 80027420 460042A4 */ cvt.w.s $f10, $f8 -/* 028024 80027424 A050FFE9 */ sb $s0, -0x17($v0) -/* 028028 80027428 44195000 */ mfc1 $t9, $f10 -/* 02802C 8002742C A051FFEA */ sb $s1, -0x16($v0) -/* 028030 80027430 A44CFFE6 */ sh $t4, -0x1a($v0) -/* 028034 80027434 A459FFE4 */ sh $t9, -0x1c($v0) -/* 028038 80027438 44CEF800 */ ctc1 $t6, $31 -/* 02803C 8002743C C4A40000 */ lwc1 $f4, ($a1) -/* 028040 80027440 241900FF */ li $t9, 255 -/* 028044 80027444 46122181 */ sub.s $f6, $f4, $f18 -/* 028048 80027448 A059FFF5 */ sb $t9, -0xb($v0) -/* 02804C 8002744C 4458F800 */ cfc1 $t8, $31 -/* 028050 80027450 A04DFFF2 */ sb $t5, -0xe($v0) -/* 028054 80027454 37010003 */ ori $at, $t8, 3 -/* 028058 80027458 38210002 */ xori $at, $at, 2 -/* 02805C 8002745C 44C1F800 */ ctc1 $at, $31 -/* 028060 80027460 A050FFF3 */ sb $s0, -0xd($v0) -/* 028064 80027464 46003224 */ cvt.w.s $f8, $f6 -/* 028068 80027468 A44AFFF0 */ sh $t2, -0x10($v0) -/* 02806C 8002746C 440E4000 */ mfc1 $t6, $f8 -/* 028070 80027470 A051FFF4 */ sb $s1, -0xc($v0) -/* 028074 80027474 A44BFFF6 */ sh $t3, -0xa($v0) -/* 028078 80027478 A44EFFEE */ sh $t6, -0x12($v0) -/* 02807C 8002747C 44D8F800 */ ctc1 $t8, $31 -/* 028080 80027480 C4AA0004 */ lwc1 $f10, 4($a1) -/* 028084 80027484 240E00FF */ li $t6, 255 -/* 028088 80027488 46125101 */ sub.s $f4, $f10, $f18 -/* 02808C 8002748C A04DFFFC */ sb $t5, -4($v0) -/* 028090 80027490 444FF800 */ cfc1 $t7, $31 -/* 028094 80027494 A050FFFD */ sb $s0, -3($v0) -/* 028098 80027498 35E10003 */ ori $at, $t7, 3 -/* 02809C 8002749C 38210002 */ xori $at, $at, 2 -/* 0280A0 800274A0 44C1F800 */ ctc1 $at, $31 -/* 0280A4 800274A4 A44CFFFA */ sh $t4, -6($v0) -/* 0280A8 800274A8 460021A4 */ cvt.w.s $f6, $f4 -/* 0280AC 800274AC A04EFFFF */ sb $t6, -1($v0) -/* 0280B0 800274B0 44183000 */ mfc1 $t8, $f6 -/* 0280B4 800274B4 A051FFFE */ sb $s1, -2($v0) -/* 0280B8 800274B8 A458FFF8 */ sh $t8, -8($v0) -/* 0280BC 800274BC 90650001 */ lbu $a1, 1($v1) -/* 0280C0 800274C0 8D040000 */ lw $a0, ($t0) -/* 0280C4 800274C4 ACE20000 */ sw $v0, ($a3) -/* 0280C8 800274C8 240D03E0 */ li $t5, 992 -/* 0280CC 800274CC 24100001 */ li $s0, 1 -/* 0280D0 800274D0 240C0040 */ li $t4, 64 -/* 0280D4 800274D4 24AA0002 */ addiu $t2, $a1, 2 -/* 0280D8 800274D8 24AB0001 */ addiu $t3, $a1, 1 -/* 0280DC 800274DC 24B90003 */ addiu $t9, $a1, 3 -/* 0280E0 800274E0 A0990011 */ sb $t9, 0x11($a0) -/* 0280E4 800274E4 A08C0000 */ sb $t4, ($a0) -/* 0280E8 800274E8 A08A0001 */ sb $t2, 1($a0) -/* 0280EC 800274EC A08B0002 */ sb $t3, 2($a0) -/* 0280F0 800274F0 A0850003 */ sb $a1, 3($a0) -/* 0280F4 800274F4 A48D0004 */ sh $t5, 4($a0) -/* 0280F8 800274F8 A48D0006 */ sh $t5, 6($a0) -/* 0280FC 800274FC A48D0008 */ sh $t5, 8($a0) -/* 028100 80027500 A480000A */ sh $zero, 0xa($a0) -/* 028104 80027504 A490000C */ sh $s0, 0xc($a0) -/* 028108 80027508 A480000E */ sh $zero, 0xe($a0) -/* 02810C 8002750C A08C0010 */ sb $t4, 0x10($a0) -/* 028110 80027510 A08B0012 */ sb $t3, 0x12($a0) -/* 028114 80027514 A08A0013 */ sb $t2, 0x13($a0) -/* 028118 80027518 A4900014 */ sh $s0, 0x14($a0) -/* 02811C 8002751C A48D0016 */ sh $t5, 0x16($a0) -/* 028120 80027520 A48D0018 */ sh $t5, 0x18($a0) -/* 028124 80027524 A48D001A */ sh $t5, 0x1a($a0) -/* 028128 80027528 A490001C */ sh $s0, 0x1c($a0) -/* 02812C 8002752C A480001E */ sh $zero, 0x1e($a0) -/* 028130 80027530 44CFF800 */ ctc1 $t7, $31 -/* 028134 80027534 846F0000 */ lh $t7, ($v1) -/* 028138 80027538 84CE0000 */ lh $t6, ($a2) -/* 02813C 8002753C 24840020 */ addiu $a0, $a0, 0x20 -/* 028140 80027540 25F80004 */ addiu $t8, $t7, 4 -/* 028144 80027544 25D90001 */ addiu $t9, $t6, 1 -/* 028148 80027548 AD040000 */ sw $a0, ($t0) -/* 02814C 8002754C A4780000 */ sh $t8, ($v1) -/* 028150 80027550 A4D90000 */ sh $t9, ($a2) -/* 028154 80027554 00001025 */ move $v0, $zero -.L80027558: -/* 028158 80027558 8FB00008 */ lw $s0, 8($sp) -/* 02815C 8002755C 8FB1000C */ lw $s1, 0xc($sp) -/* 028160 80027560 03E00008 */ jr $ra -/* 028164 80027564 27BD0010 */ addiu $sp, $sp, 0x10 - diff --git a/asm/non_matchings/tracks/func_80027568.s b/asm/non_matchings/tracks/func_80027568.s deleted file mode 100644 index bf8e8c38..00000000 --- a/asm/non_matchings/tracks/func_80027568.s +++ /dev/null @@ -1,252 +0,0 @@ -.late_rodata -glabel D_800E5E90 -.double -0.1 -glabel D_800E5E98 -.double -0.1 - -.text -glabel func_80027568 -/* 028168 80027568 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 02816C 8002756C AFBF0044 */ sw $ra, 0x44($sp) -/* 028170 80027570 E7BF0038 */ swc1 $f31, 0x38($sp) -/* 028174 80027574 E7BE003C */ swc1 $f30, 0x3c($sp) -/* 028178 80027578 E7BD0030 */ swc1 $f29, 0x30($sp) -/* 02817C 8002757C E7BC0034 */ swc1 $f28, 0x34($sp) -/* 028180 80027580 E7BB0028 */ swc1 $f27, 0x28($sp) -/* 028184 80027584 E7BA002C */ swc1 $f26, 0x2c($sp) -/* 028188 80027588 E7B90020 */ swc1 $f25, 0x20($sp) -/* 02818C 8002758C E7B80024 */ swc1 $f24, 0x24($sp) -/* 028190 80027590 E7B70018 */ swc1 $f23, 0x18($sp) -/* 028194 80027594 E7B6001C */ swc1 $f22, 0x1c($sp) -/* 028198 80027598 E7B50010 */ swc1 $f21, 0x10($sp) -/* 02819C 8002759C E7B40014 */ swc1 $f20, 0x14($sp) -/* 0281A0 800275A0 0C006E9D */ jal get_racer_objects -/* 0281A4 800275A4 27A400C4 */ addiu $a0, $sp, 0xc4 -/* 0281A8 800275A8 8FAE00C4 */ lw $t6, 0xc4($sp) -/* 0281AC 800275AC 00403025 */ move $a2, $v0 -/* 0281B0 800275B0 15C00003 */ bnez $t6, .L800275C0 -/* 0281B4 800275B4 00000000 */ nop -/* 0281B8 800275B8 100000BC */ b .L800278AC -/* 0281BC 800275BC 00001025 */ move $v0, $zero -.L800275C0: -/* 0281C0 800275C0 0C019944 */ jal check_if_showing_cutscene_camera -/* 0281C4 800275C4 AFA60080 */ sw $a2, 0x80($sp) -/* 0281C8 800275C8 8FA60080 */ lw $a2, 0x80($sp) -/* 0281CC 800275CC 1440000A */ bnez $v0, .L800275F8 -/* 0281D0 800275D0 3C0F8012 */ lui $t7, %hi(gSceneActiveCamera) # $t7, 0x8012 -/* 0281D4 800275D4 8DEFB0B0 */ lw $t7, %lo(gSceneActiveCamera)($t7) -/* 0281D8 800275D8 00000000 */ nop -/* 0281DC 800275DC 85E20036 */ lh $v0, 0x36($t7) -/* 0281E0 800275E0 00000000 */ nop -/* 0281E4 800275E4 28410005 */ slti $at, $v0, 5 -/* 0281E8 800275E8 10200003 */ beqz $at, .L800275F8 -/* 0281EC 800275EC 24010003 */ li $at, 3 -/* 0281F0 800275F0 14410003 */ bne $v0, $at, .L80027600 -/* 0281F4 800275F4 00000000 */ nop -.L800275F8: -/* 0281F8 800275F8 100000AC */ b .L800278AC -/* 0281FC 800275FC 00001025 */ move $v0, $zero -.L80027600: -/* 028200 80027600 0C019888 */ jal get_current_viewport -/* 028204 80027604 AFA60080 */ sw $a2, 0x80($sp) -/* 028208 80027608 8FB800C4 */ lw $t8, 0xc4($sp) -/* 02820C 8002760C 8FA60080 */ lw $a2, 0x80($sp) -/* 028210 80027610 00005825 */ move $t3, $zero -/* 028214 80027614 1B000011 */ blez $t8, .L8002765C -/* 028218 80027618 00001825 */ move $v1, $zero -/* 02821C 8002761C 0003C880 */ sll $t9, $v1, 2 -.L80027620: -/* 028220 80027620 00D97021 */ addu $t6, $a2, $t9 -/* 028224 80027624 8DC50000 */ lw $a1, ($t6) -/* 028228 80027628 8FB800C4 */ lw $t8, 0xc4($sp) -/* 02822C 8002762C 8CA40064 */ lw $a0, 0x64($a1) -/* 028230 80027630 00000000 */ nop -/* 028234 80027634 848F0000 */ lh $t7, ($a0) -/* 028238 80027638 00000000 */ nop -/* 02823C 8002763C 144F0004 */ bne $v0, $t7, .L80027650 -/* 028240 80027640 24630001 */ addiu $v1, $v1, 1 -/* 028244 80027644 8FA300C4 */ lw $v1, 0xc4($sp) -/* 028248 80027648 00A05825 */ move $t3, $a1 -/* 02824C 8002764C 24630001 */ addiu $v1, $v1, 1 -.L80027650: -/* 028250 80027650 0078082A */ slt $at, $v1, $t8 -/* 028254 80027654 1420FFF2 */ bnez $at, .L80027620 -/* 028258 80027658 0003C880 */ sll $t9, $v1, 2 -.L8002765C: -/* 02825C 8002765C 15600003 */ bnez $t3, .L8002766C -/* 028260 80027660 24040001 */ li $a0, 1 -/* 028264 80027664 10000091 */ b .L800278AC -/* 028268 80027668 00001025 */ move $v0, $zero -.L8002766C: -/* 02826C 8002766C 3C068012 */ lui $a2, %hi(gSceneActiveCamera) # $a2, 0x8012 -/* 028270 80027670 8CC6B0B0 */ lw $a2, %lo(gSceneActiveCamera)($a2) -/* 028274 80027674 2565000C */ addiu $a1, $t3, 0xc -/* 028278 80027678 2407FFFF */ li $a3, -1 -/* 02827C 8002767C AFAB007C */ sw $t3, 0x7c($sp) -/* 028280 80027680 0C00C44C */ jal func_80031130 -/* 028284 80027684 24C6000C */ addiu $a2, $a2, 0xc -/* 028288 80027688 3C038012 */ lui $v1, %hi(D_8011D378) # $v1, 0x8012 -/* 02828C 8002768C 8C63D378 */ lw $v1, %lo(D_8011D378)($v1) -/* 028290 80027690 8FAB007C */ lw $t3, 0x7c($sp) -/* 028294 80027694 18600084 */ blez $v1, .L800278A8 -/* 028298 80027698 00003825 */ move $a3, $zero -/* 02829C 8002769C 3C198012 */ lui $t9, %hi(D_8011D370) # $t9, 0x8012 -/* 0282A0 800276A0 8F39D370 */ lw $t9, %lo(D_8011D370)($t9) -/* 0282A4 800276A4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0282A8 800276A8 00006080 */ sll $t4, $zero, 2 -/* 0282AC 800276AC 00037080 */ sll $t6, $v1, 2 -/* 0282B0 800276B0 4481D000 */ mtc1 $at, $f26 -/* 0282B4 800276B4 8FBF00E4 */ lw $ra, 0xe4($sp) -/* 0282B8 800276B8 AFAE004C */ sw $t6, 0x4c($sp) -/* 0282BC 800276BC 24090001 */ li $t1, 1 -/* 0282C0 800276C0 032C6821 */ addu $t5, $t9, $t4 -.L800276C4: -/* 0282C4 800276C4 8DA40000 */ lw $a0, ($t5) -/* 0282C8 800276C8 3C018000 */ lui $at, 0x8000 -/* 0282CC 800276CC 18800003 */ blez $a0, .L800276DC -/* 0282D0 800276D0 3C058012 */ lui $a1, %hi(gSceneActiveCamera) # $a1, 0x8012 -/* 0282D4 800276D4 1000006C */ b .L80027888 -/* 0282D8 800276D8 0081F825 */ or $ra, $a0, $at -.L800276DC: -/* 0282DC 800276DC 948F0000 */ lhu $t7, ($a0) -/* 0282E0 800276E0 8FE80018 */ lw $t0, 0x18($ra) -/* 0282E4 800276E4 8CA5B0B0 */ lw $a1, %lo(gSceneActiveCamera)($a1) -/* 0282E8 800276E8 000FC100 */ sll $t8, $t7, 4 -/* 0282EC 800276EC 01181821 */ addu $v1, $t0, $t8 -/* 0282F0 800276F0 C4620000 */ lwc1 $f2, ($v1) -/* 0282F4 800276F4 C4BC000C */ lwc1 $f28, 0xc($a1) -/* 0282F8 800276F8 C4740004 */ lwc1 $f20, 4($v1) -/* 0282FC 800276FC 4602E102 */ mul.s $f4, $f28, $f2 -/* 028300 80027700 C4BE0010 */ lwc1 $f30, 0x10($a1) -/* 028304 80027704 C4760008 */ lwc1 $f22, 8($v1) -/* 028308 80027708 C4A00014 */ lwc1 $f0, 0x14($a1) -/* 02830C 8002770C 461EA182 */ mul.s $f6, $f20, $f30 -/* 028310 80027710 C478000C */ lwc1 $f24, 0xc($v1) -/* 028314 80027714 3C01402C */ li $at, 0x402C0000 # 2.687500 -/* 028318 80027718 00805025 */ move $t2, $a0 -/* 02831C 8002771C 4600B282 */ mul.s $f10, $f22, $f0 -/* 028320 80027720 46062200 */ add.s $f8, $f4, $f6 -/* 028324 80027724 44815800 */ mtc1 $at, $f11 -/* 028328 80027728 3C01800E */ lui $at, %hi(D_800E5E90) # $at, 0x800e -/* 02832C 8002772C 460A4100 */ add.s $f4, $f8, $f10 -/* 028330 80027730 44805000 */ mtc1 $zero, $f10 -/* 028334 80027734 46182180 */ add.s $f6, $f4, $f24 -/* 028338 80027738 E7A0005C */ swc1 $f0, 0x5c($sp) -/* 02833C 8002773C 46003221 */ cvt.d.s $f8, $f6 -/* 028340 80027740 462A4101 */ sub.d $f4, $f8, $f10 -/* 028344 80027744 C4285E94 */ lwc1 $f8, %lo(D_800E5E90 + 4)($at) -/* 028348 80027748 46202320 */ cvt.s.d $f12, $f4 -/* 02834C 8002774C C4295E90 */ lwc1 $f9, %lo(D_800E5E90)($at) -/* 028350 80027750 460061A1 */ cvt.d.s $f6, $f12 -/* 028354 80027754 4628303C */ c.lt.d $f6, $f8 -/* 028358 80027758 00000000 */ nop -/* 02835C 8002775C 4500004B */ bc1f .L8002788C -/* 028360 80027760 8FB9004C */ lw $t9, 0x4c($sp) -/* 028364 80027764 C56E000C */ lwc1 $f14, 0xc($t3) -/* 028368 80027768 C5700010 */ lwc1 $f16, 0x10($t3) -/* 02836C 8002776C 46027282 */ mul.s $f10, $f14, $f2 -/* 028370 80027770 C5720014 */ lwc1 $f18, 0x14($t3) -/* 028374 80027774 3C01800E */ lui $at, %hi(D_800E5E98 + 4) # $at, 0x800e -/* 028378 80027778 00001025 */ move $v0, $zero -/* 02837C 8002777C 4610A102 */ mul.s $f4, $f20, $f16 -/* 028380 80027780 00000000 */ nop -/* 028384 80027784 4612B202 */ mul.s $f8, $f22, $f18 -/* 028388 80027788 46045180 */ add.s $f6, $f10, $f4 -/* 02838C 8002778C C4275E98 */ lwc1 $f7, %lo(D_800E5E98)($at) -/* 028390 80027790 46083280 */ add.s $f10, $f6, $f8 -/* 028394 80027794 C4265E9C */ lwc1 $f6, %lo(D_800E5E98 + 4)($at) -/* 028398 80027798 46185000 */ add.s $f0, $f10, $f24 -/* 02839C 8002779C C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 0283A0 800277A0 46000121 */ cvt.d.s $f4, $f0 -/* 0283A4 800277A4 4624303E */ c.le.d $f6, $f4 -/* 0283A8 800277A8 00000000 */ nop -/* 0283AC 800277AC 45000036 */ bc1f .L80027888 -/* 0283B0 800277B0 00000000 */ nop -/* 0283B4 800277B4 460C0032 */ c.eq.s $f0, $f12 -/* 0283B8 800277B8 460EE501 */ sub.s $f20, $f28, $f14 -/* 0283BC 800277BC 24070001 */ li $a3, 1 -/* 0283C0 800277C0 4610F581 */ sub.s $f22, $f30, $f16 -/* 0283C4 800277C4 45010004 */ bc1t .L800277D8 -/* 0283C8 800277C8 46124601 */ sub.s $f24, $f8, $f18 -/* 0283CC 800277CC 460C0281 */ sub.s $f10, $f0, $f12 -/* 0283D0 800277D0 10000003 */ b .L800277E0 -/* 0283D4 800277D4 460A0083 */ div.s $f2, $f0, $f10 -.L800277D8: -/* 0283D8 800277D8 44801000 */ mtc1 $zero, $f2 -/* 0283DC 800277DC 00000000 */ nop -.L800277E0: -/* 0283E0 800277E0 4602A102 */ mul.s $f4, $f20, $f2 -/* 0283E4 800277E4 00022840 */ sll $a1, $v0, 1 -/* 0283E8 800277E8 01453021 */ addu $a2, $t2, $a1 -/* 0283EC 800277EC 4602B182 */ mul.s $f6, $f22, $f2 -/* 0283F0 800277F0 46047500 */ add.s $f20, $f14, $f4 -/* 0283F4 800277F4 4602C202 */ mul.s $f8, $f24, $f2 -/* 0283F8 800277F8 46068580 */ add.s $f22, $f16, $f6 -/* 0283FC 800277FC 46089600 */ add.s $f24, $f18, $f8 -.L80027800: -/* 028400 80027800 94C20002 */ lhu $v0, 2($a2) -/* 028404 80027804 24A50002 */ addiu $a1, $a1, 2 -/* 028408 80027808 30598000 */ andi $t9, $v0, 0x8000 -/* 02840C 8002780C 13200004 */ beqz $t9, .L80027820 -/* 028410 80027810 00002025 */ move $a0, $zero -/* 028414 80027814 304E7FFF */ andi $t6, $v0, 0x7fff -/* 028418 80027818 01C01025 */ move $v0, $t6 -/* 02841C 8002781C 01202025 */ move $a0, $t1 -.L80027820: -/* 028420 80027820 0002C100 */ sll $t8, $v0, 4 -/* 028424 80027824 01181821 */ addu $v1, $t0, $t8 -/* 028428 80027828 C4600000 */ lwc1 $f0, ($v1) -/* 02842C 8002782C C4620004 */ lwc1 $f2, 4($v1) -/* 028430 80027830 46140282 */ mul.s $f10, $f0, $f20 -/* 028434 80027834 C46C0008 */ lwc1 $f12, 8($v1) -/* 028438 80027838 C46E000C */ lwc1 $f14, 0xc($v1) -/* 02843C 8002783C 28A10006 */ slti $at, $a1, 6 -/* 028440 80027840 46161102 */ mul.s $f4, $f2, $f22 -/* 028444 80027844 00000000 */ nop -/* 028448 80027848 46186202 */ mul.s $f8, $f12, $f24 -/* 02844C 8002784C 46045180 */ add.s $f6, $f10, $f4 -/* 028450 80027850 46083280 */ add.s $f10, $f6, $f8 -/* 028454 80027854 460E5480 */ add.s $f18, $f10, $f14 -/* 028458 80027858 10800002 */ beqz $a0, .L80027864 -/* 02845C 8002785C 46009406 */ mov.s $f16, $f18 -/* 028460 80027860 46009407 */ neg.s $f16, $f18 -.L80027864: -/* 028464 80027864 4610D03C */ c.lt.s $f26, $f16 -/* 028468 80027868 00000000 */ nop -/* 02846C 8002786C 45000002 */ bc1f .L80027878 -/* 028470 80027870 00000000 */ nop -/* 028474 80027874 00003825 */ move $a3, $zero -.L80027878: -/* 028478 80027878 10200003 */ beqz $at, .L80027888 -/* 02847C 8002787C 24C60002 */ addiu $a2, $a2, 2 -/* 028480 80027880 10E9FFDF */ beq $a3, $t1, .L80027800 -/* 028484 80027884 00000000 */ nop -.L80027888: -/* 028488 80027888 8FB9004C */ lw $t9, 0x4c($sp) -.L8002788C: -/* 02848C 8002788C 258C0004 */ addiu $t4, $t4, 4 -/* 028490 80027890 0199082A */ slt $at, $t4, $t9 -/* 028494 80027894 10200004 */ beqz $at, .L800278A8 -/* 028498 80027898 25AD0004 */ addiu $t5, $t5, 4 -/* 02849C 8002789C 10E0FF89 */ beqz $a3, .L800276C4 -/* 0284A0 800278A0 00000000 */ nop -/* 0284A4 800278A4 AFBF00E4 */ sw $ra, 0xe4($sp) -.L800278A8: -/* 0284A8 800278A8 00E01025 */ move $v0, $a3 -.L800278AC: -/* 0284AC 800278AC 8FBF0044 */ lw $ra, 0x44($sp) -/* 0284B0 800278B0 C7B50010 */ lwc1 $f21, 0x10($sp) -/* 0284B4 800278B4 C7B40014 */ lwc1 $f20, 0x14($sp) -/* 0284B8 800278B8 C7B70018 */ lwc1 $f23, 0x18($sp) -/* 0284BC 800278BC C7B6001C */ lwc1 $f22, 0x1c($sp) -/* 0284C0 800278C0 C7B90020 */ lwc1 $f25, 0x20($sp) -/* 0284C4 800278C4 C7B80024 */ lwc1 $f24, 0x24($sp) -/* 0284C8 800278C8 C7BB0028 */ lwc1 $f27, 0x28($sp) -/* 0284CC 800278CC C7BA002C */ lwc1 $f26, 0x2c($sp) -/* 0284D0 800278D0 C7BD0030 */ lwc1 $f29, 0x30($sp) -/* 0284D4 800278D4 C7BC0034 */ lwc1 $f28, 0x34($sp) -/* 0284D8 800278D8 C7BF0038 */ lwc1 $f31, 0x38($sp) -/* 0284DC 800278DC C7BE003C */ lwc1 $f30, 0x3c($sp) -/* 0284E0 800278E0 03E00008 */ jr $ra -/* 0284E4 800278E4 27BD00E8 */ addiu $sp, $sp, 0xe8 - diff --git a/asm/non_matchings/tracks/func_80028050.s b/asm/non_matchings/tracks/func_80028050.s deleted file mode 100644 index 220c03ae..00000000 --- a/asm/non_matchings/tracks/func_80028050.s +++ /dev/null @@ -1,612 +0,0 @@ -glabel func_80028050 -/* 028C50 80028050 27BDFEA8 */ addiu $sp, $sp, -0x158 -/* 028C54 80028054 AFB10018 */ sw $s1, 0x18($sp) -/* 028C58 80028058 AFB00014 */ sw $s0, 0x14($sp) -/* 028C5C 8002805C 3C118012 */ lui $s1, %hi(gSceneCurrVertexList) # $s1, 0x8012 -/* 028C60 80028060 3C108012 */ lui $s0, %hi(gSceneCurrTriList) # $s0, 0x8012 -/* 028C64 80028064 AFBF0024 */ sw $ra, 0x24($sp) -/* 028C68 80028068 8E31B0A8 */ lw $s1, %lo(gSceneCurrVertexList)($s1) -/* 028C6C 8002806C 8E10B0AC */ lw $s0, %lo(gSceneCurrTriList)($s0) -/* 028C70 80028070 AFB30020 */ sw $s3, 0x20($sp) -/* 028C74 80028074 0C01A748 */ jal get_active_camera_segment -/* 028C78 80028078 AFB2001C */ sw $s2, 0x1c($sp) -/* 028C7C 8002807C 3C0E800E */ lui $t6, %hi(gCurrentLevelHeader2) # $t6, 0x800e -/* 028C80 80028080 8DCEC91C */ lw $t6, %lo(gCurrentLevelHeader2)($t6) -/* 028C84 80028084 00409025 */ move $s2, $v0 -/* 028C88 80028088 8DC300A4 */ lw $v1, 0xa4($t6) -/* 028C8C 8002808C 00000000 */ nop -/* 028C90 80028090 90780001 */ lbu $t8, 1($v1) -/* 028C94 80028094 90730000 */ lbu $s3, ($v1) -/* 028C98 80028098 0018C940 */ sll $t9, $t8, 5 -/* 028C9C 8002809C 272CFFFF */ addiu $t4, $t9, -1 -/* 028CA0 800280A0 AFAC014C */ sw $t4, 0x14c($sp) -/* 028CA4 800280A4 84440000 */ lh $a0, ($v0) -/* 028CA8 800280A8 00137940 */ sll $t7, $s3, 5 -/* 028CAC 800280AC 00042023 */ negu $a0, $a0 -/* 028CB0 800280B0 00046C00 */ sll $t5, $a0, 0x10 -/* 028CB4 800280B4 25F3FFFF */ addiu $s3, $t7, -1 -/* 028CB8 800280B8 000D2403 */ sra $a0, $t5, 0x10 -/* 028CBC 800280BC 0C01C1F1 */ jal sins_f -/* 028CC0 800280C0 AFA30074 */ sw $v1, 0x74($sp) -/* 028CC4 800280C4 E7A0010C */ swc1 $f0, 0x10c($sp) -/* 028CC8 800280C8 86440000 */ lh $a0, ($s2) -/* 028CCC 800280CC 00000000 */ nop -/* 028CD0 800280D0 00042023 */ negu $a0, $a0 -/* 028CD4 800280D4 00047C00 */ sll $t7, $a0, 0x10 -/* 028CD8 800280D8 0C01C1FE */ jal coss_f -/* 028CDC 800280DC 000F2403 */ sra $a0, $t7, 0x10 -/* 028CE0 800280E0 3C0144A0 */ li $at, 0x44A00000 # 1280.000000 -/* 028CE4 800280E4 44812000 */ mtc1 $at, $f4 -/* 028CE8 800280E8 44814000 */ mtc1 $at, $f8 -/* 028CEC 800280EC 46040302 */ mul.s $f12, $f0, $f4 -/* 028CF0 800280F0 C7A6010C */ lwc1 $f6, 0x10c($sp) -/* 028CF4 800280F4 8FA70074 */ lw $a3, 0x74($sp) -/* 028CF8 800280F8 3C04800E */ lui $a0, %hi(gCurrentLevelHeader2) # $a0, 0x800e -/* 028CFC 800280FC 46083082 */ mul.s $f2, $f6, $f8 -/* 028D00 80028100 46006487 */ neg.s $f18, $f12 -/* 028D04 80028104 8C84C91C */ lw $a0, %lo(gCurrentLevelHeader2)($a0) -/* 028D08 80028108 46029200 */ add.s $f8, $f18, $f2 -/* 028D0C 8002810C 46029281 */ sub.s $f10, $f18, $f2 -/* 028D10 80028110 E7A80030 */ swc1 $f8, 0x30($sp) -/* 028D14 80028114 46026201 */ sub.s $f8, $f12, $f2 -/* 028D18 80028118 E7AA0034 */ swc1 $f10, 0x34($sp) -/* 028D1C 8002811C C7A40034 */ lwc1 $f4, 0x34($sp) -/* 028D20 80028120 E7A8002C */ swc1 $f8, 0x2c($sp) -/* 028D24 80028124 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 028D28 80028128 E7A400DC */ swc1 $f4, 0xdc($sp) -/* 028D2C 8002812C E7A400BC */ swc1 $f4, 0xbc($sp) -/* 028D30 80028130 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 028D34 80028134 46026100 */ add.s $f4, $f12, $f2 -/* 028D38 80028138 E7A800E0 */ swc1 $f8, 0xe0($sp) -/* 028D3C 8002813C E7A800C0 */ swc1 $f8, 0xc0($sp) -/* 028D40 80028140 44804000 */ mtc1 $zero, $f8 -/* 028D44 80028144 E7A40034 */ swc1 $f4, 0x34($sp) -/* 028D48 80028148 C7A40034 */ lwc1 $f4, 0x34($sp) -/* 028D4C 8002814C E7AA00B8 */ swc1 $f10, 0xb8($sp) -/* 028D50 80028150 E7AA00E8 */ swc1 $f10, 0xe8($sp) -/* 028D54 80028154 E7A800EC */ swc1 $f8, 0xec($sp) -/* 028D58 80028158 44805000 */ mtc1 $zero, $f10 -/* 028D5C 8002815C 460C6200 */ add.s $f8, $f12, $f12 -/* 028D60 80028160 E7A400E4 */ swc1 $f4, 0xe4($sp) -/* 028D64 80028164 46021400 */ add.s $f16, $f2, $f2 -/* 028D68 80028168 E7A80030 */ swc1 $f8, 0x30($sp) -/* 028D6C 8002816C E7A400C4 */ swc1 $f4, 0xc4($sp) -/* 028D70 80028170 E7AA00C8 */ swc1 $f10, 0xc8($sp) -/* 028D74 80028174 46109101 */ sub.s $f4, $f18, $f16 -/* 028D78 80028178 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 028D7C 8002817C E7A400F0 */ swc1 $f4, 0xf0($sp) -/* 028D80 80028180 460A1201 */ sub.s $f8, $f2, $f10 -/* 028D84 80028184 46005107 */ neg.s $f4, $f10 -/* 028D88 80028188 E7A800CC */ swc1 $f8, 0xcc($sp) -/* 028D8C 8002818C 46022201 */ sub.s $f8, $f4, $f2 -/* 028D90 80028190 E7A4002C */ swc1 $f4, 0x2c($sp) -/* 028D94 80028194 46106281 */ sub.s $f10, $f12, $f16 -/* 028D98 80028198 C7A40030 */ lwc1 $f4, 0x30($sp) -/* 028D9C 8002819C E7A800D0 */ swc1 $f8, 0xd0($sp) -/* 028DA0 800281A0 46022201 */ sub.s $f8, $f4, $f2 -/* 028DA4 800281A4 E7AA00F4 */ swc1 $f10, 0xf4($sp) -/* 028DA8 800281A8 46106280 */ add.s $f10, $f12, $f16 -/* 028DAC 800281AC C7A40030 */ lwc1 $f4, 0x30($sp) -/* 028DB0 800281B0 E7AA00F8 */ swc1 $f10, 0xf8($sp) -/* 028DB4 800281B4 E7A800D4 */ swc1 $f8, 0xd4($sp) -/* 028DB8 800281B8 46109280 */ add.s $f10, $f18, $f16 -/* 028DBC 800281BC 46022200 */ add.s $f8, $f4, $f2 -/* 028DC0 800281C0 E7AA00FC */ swc1 $f10, 0xfc($sp) -/* 028DC4 800281C4 E7A800D8 */ swc1 $f8, 0xd8($sp) -/* 028DC8 800281C8 90F90000 */ lbu $t9, ($a3) -/* 028DCC 800281CC 908D00A0 */ lbu $t5, 0xa0($a0) -/* 028DD0 800281D0 00196100 */ sll $t4, $t9, 4 -/* 028DD4 800281D4 018D0019 */ multu $t4, $t5 -/* 028DD8 800281D8 44815000 */ mtc1 $at, $f10 -/* 028DDC 800281DC 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 028DE0 800281E0 44812000 */ mtc1 $at, $f4 -/* 028DE4 800281E4 90EE0001 */ lbu $t6, 1($a3) -/* 028DE8 800281E8 46045202 */ mul.s $f8, $f10, $f4 -/* 028DEC 800281EC 909800A1 */ lbu $t8, 0xa1($a0) -/* 028DF0 800281F0 000E7900 */ sll $t7, $t6, 4 -/* 028DF4 800281F4 E7A8003C */ swc1 $f8, 0x3c($sp) -/* 028DF8 800281F8 00002812 */ mflo $a1 -/* 028DFC 800281FC 44855000 */ mtc1 $a1, $f10 -/* 028E00 80028200 00000000 */ nop -/* 028E04 80028204 46805120 */ cvt.s.w $f4, $f10 -/* 028E08 80028208 01F80019 */ multu $t7, $t8 -/* 028E0C 8002820C E7A40038 */ swc1 $f4, 0x38($sp) -/* 028E10 80028210 C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 028E14 80028214 848D00A8 */ lh $t5, 0xa8($a0) -/* 028E18 80028218 460A4103 */ div.s $f4, $f8, $f10 -/* 028E1C 8002821C C64A000C */ lwc1 $f10, 0xc($s2) -/* 028E20 80028220 000D7103 */ sra $t6, $t5, 4 -/* 028E24 80028224 00003012 */ mflo $a2 -/* 028E28 80028228 46045282 */ mul.s $f10, $f10, $f4 -/* 028E2C 8002822C 4459F800 */ cfc1 $t9, $31 -/* 028E30 80028230 00000000 */ nop -/* 028E34 80028234 37210003 */ ori $at, $t9, 3 -/* 028E38 80028238 38210002 */ xori $at, $at, 2 -/* 028E3C 8002823C 44C1F800 */ ctc1 $at, $31 -/* 028E40 80028240 00000000 */ nop -/* 028E44 80028244 46005124 */ cvt.w.s $f4, $f10 -/* 028E48 80028248 44865000 */ mtc1 $a2, $f10 -/* 028E4C 8002824C 44D9F800 */ ctc1 $t9, $31 -/* 028E50 80028250 440C2000 */ mfc1 $t4, $f4 -/* 028E54 80028254 46805120 */ cvt.s.w $f4, $f10 -/* 028E58 80028258 018E7821 */ addu $t7, $t4, $t6 -/* 028E5C 8002825C 01F31024 */ and $v0, $t7, $s3 -/* 028E60 80028260 E7A40048 */ swc1 $f4, 0x48($sp) -/* 028E64 80028264 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 028E68 80028268 848D00AA */ lh $t5, 0xaa($a0) -/* 028E6C 8002826C 460A4103 */ div.s $f4, $f8, $f10 -/* 028E70 80028270 C6480014 */ lwc1 $f8, 0x14($s2) -/* 028E74 80028274 8FAF014C */ lw $t7, 0x14c($sp) -/* 028E78 80028278 000D6103 */ sra $t4, $t5, 4 -/* 028E7C 8002827C A7A20130 */ sh $v0, 0x130($sp) -/* 028E80 80028280 46044282 */ mul.s $f10, $f8, $f4 -/* 028E84 80028284 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 028E88 80028288 4458F800 */ cfc1 $t8, $31 -/* 028E8C 8002828C 00000000 */ nop -/* 028E90 80028290 37010003 */ ori $at, $t8, 3 -/* 028E94 80028294 38210002 */ xori $at, $at, 2 -/* 028E98 80028298 44C1F800 */ ctc1 $at, $31 -/* 028E9C 8002829C 37010003 */ ori $at, $t8, 3 -/* 028EA0 800282A0 46005224 */ cvt.w.s $f8, $f10 -/* 028EA4 800282A4 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 028EA8 800282A8 44D8F800 */ ctc1 $t8, $31 -/* 028EAC 800282AC 44194000 */ mfc1 $t9, $f8 -/* 028EB0 800282B0 46002382 */ mul.s $f14, $f4, $f0 -/* 028EB4 800282B4 38210002 */ xori $at, $at, 2 -/* 028EB8 800282B8 032C7021 */ addu $t6, $t9, $t4 -/* 028EBC 800282BC 01CF1824 */ and $v1, $t6, $t7 -/* 028EC0 800282C0 46065002 */ mul.s $f0, $f10, $f6 -/* 028EC4 800282C4 46007407 */ neg.s $f16, $f14 -/* 028EC8 800282C8 E7AE00B4 */ swc1 $f14, 0xb4($sp) -/* 028ECC 800282CC E7AE00AC */ swc1 $f14, 0xac($sp) -/* 028ED0 800282D0 46008201 */ sub.s $f8, $f16, $f0 -/* 028ED4 800282D4 A7A3011C */ sh $v1, 0x11c($sp) -/* 028ED8 800282D8 44C1F800 */ ctc1 $at, $31 -/* 028EDC 800282DC 00000000 */ nop -/* 028EE0 800282E0 46004124 */ cvt.w.s $f4, $f8 -/* 028EE4 800282E4 44D8F800 */ ctc1 $t8, $31 -/* 028EE8 800282E8 440C2000 */ mfc1 $t4, $f4 -/* 028EEC 800282EC 460E0281 */ sub.s $f10, $f0, $f14 -/* 028EF0 800282F0 01827021 */ addu $t6, $t4, $v0 -/* 028EF4 800282F4 444FF800 */ cfc1 $t7, $31 -/* 028EF8 800282F8 A7AE0128 */ sh $t6, 0x128($sp) -/* 028EFC 800282FC 35E10003 */ ori $at, $t7, 3 -/* 028F00 80028300 38210002 */ xori $at, $at, 2 -/* 028F04 80028304 44C1F800 */ ctc1 $at, $31 -/* 028F08 80028308 00000000 */ nop -/* 028F0C 8002830C 460051A4 */ cvt.w.s $f6, $f10 -/* 028F10 80028310 44CFF800 */ ctc1 $t7, $31 -/* 028F14 80028314 44043000 */ mfc1 $a0, $f6 -/* 028F18 80028318 46007201 */ sub.s $f8, $f14, $f0 -/* 028F1C 8002831C 0083C821 */ addu $t9, $a0, $v1 -/* 028F20 80028320 444CF800 */ cfc1 $t4, $31 -/* 028F24 80028324 A7B90114 */ sh $t9, 0x114($sp) -/* 028F28 80028328 35810003 */ ori $at, $t4, 3 -/* 028F2C 8002832C 38210002 */ xori $at, $at, 2 -/* 028F30 80028330 44C1F800 */ ctc1 $at, $31 -/* 028F34 80028334 00000000 */ nop -/* 028F38 80028338 46004124 */ cvt.w.s $f4, $f8 -/* 028F3C 8002833C 44CCF800 */ ctc1 $t4, $31 -/* 028F40 80028340 44182000 */ mfc1 $t8, $f4 -/* 028F44 80028344 46008281 */ sub.s $f10, $f16, $f0 -/* 028F48 80028348 03026821 */ addu $t5, $t8, $v0 -/* 028F4C 8002834C 4459F800 */ cfc1 $t9, $31 -/* 028F50 80028350 A7AD012A */ sh $t5, 0x12a($sp) -/* 028F54 80028354 37210003 */ ori $at, $t9, 3 -/* 028F58 80028358 38210002 */ xori $at, $at, 2 -/* 028F5C 8002835C 44C1F800 */ ctc1 $at, $31 -/* 028F60 80028360 00000000 */ nop -/* 028F64 80028364 460051A4 */ cvt.w.s $f6, $f10 -/* 028F68 80028368 44D9F800 */ ctc1 $t9, $31 -/* 028F6C 8002836C 440F3000 */ mfc1 $t7, $f6 -/* 028F70 80028370 46007200 */ add.s $f8, $f14, $f0 -/* 028F74 80028374 01E3C021 */ addu $t8, $t7, $v1 -/* 028F78 80028378 444DF800 */ cfc1 $t5, $31 -/* 028F7C 8002837C A7B80116 */ sh $t8, 0x116($sp) -/* 028F80 80028380 35A10003 */ ori $at, $t5, 3 -/* 028F84 80028384 38210002 */ xori $at, $at, 2 -/* 028F88 80028388 44C1F800 */ ctc1 $at, $31 -/* 028F8C 8002838C 00000000 */ nop -/* 028F90 80028390 46004124 */ cvt.w.s $f4, $f8 -/* 028F94 80028394 44CDF800 */ ctc1 $t5, $31 -/* 028F98 80028398 44052000 */ mfc1 $a1, $f4 -/* 028F9C 8002839C 46007281 */ sub.s $f10, $f14, $f0 -/* 028FA0 800283A0 00A27021 */ addu $t6, $a1, $v0 -/* 028FA4 800283A4 444FF800 */ cfc1 $t7, $31 -/* 028FA8 800283A8 A7AE012C */ sh $t6, 0x12c($sp) -/* 028FAC 800283AC 35E10003 */ ori $at, $t7, 3 -/* 028FB0 800283B0 38210002 */ xori $at, $at, 2 -/* 028FB4 800283B4 44C1F800 */ ctc1 $at, $31 -/* 028FB8 800283B8 00827021 */ addu $t6, $a0, $v0 -/* 028FBC 800283BC 460051A4 */ cvt.w.s $f6, $f10 -/* 028FC0 800283C0 A7AE012E */ sh $t6, 0x12e($sp) -/* 028FC4 800283C4 44CFF800 */ ctc1 $t7, $31 -/* 028FC8 800283C8 00A37821 */ addu $t7, $a1, $v1 -/* 028FCC 800283CC 46000300 */ add.s $f12, $f0, $f0 -/* 028FD0 800283D0 A7AF011A */ sh $t7, 0x11a($sp) -/* 028FD4 800283D4 460C8201 */ sub.s $f8, $f16, $f12 -/* 028FD8 800283D8 44193000 */ mfc1 $t9, $f6 -/* 028FDC 800283DC 4458F800 */ cfc1 $t8, $31 -/* 028FE0 800283E0 03236021 */ addu $t4, $t9, $v1 -/* 028FE4 800283E4 37010003 */ ori $at, $t8, 3 -/* 028FE8 800283E8 38210002 */ xori $at, $at, 2 -/* 028FEC 800283EC 44C1F800 */ ctc1 $at, $31 -/* 028FF0 800283F0 A7AC0118 */ sh $t4, 0x118($sp) -/* 028FF4 800283F4 46004124 */ cvt.w.s $f4, $f8 -/* 028FF8 800283F8 44D8F800 */ ctc1 $t8, $31 -/* 028FFC 800283FC 440C2000 */ mfc1 $t4, $f4 -/* 029000 80028400 460E7080 */ add.s $f2, $f14, $f14 -/* 029004 80028404 01827021 */ addu $t6, $t4, $v0 -/* 029008 80028408 46020281 */ sub.s $f10, $f0, $f2 -/* 02900C 8002840C A7AE0132 */ sh $t6, 0x132($sp) -/* 029010 80028410 444FF800 */ cfc1 $t7, $31 -/* 029014 80028414 00000000 */ nop -/* 029018 80028418 35E10003 */ ori $at, $t7, 3 -/* 02901C 8002841C 38210002 */ xori $at, $at, 2 -/* 029020 80028420 44C1F800 */ ctc1 $at, $31 -/* 029024 80028424 00000000 */ nop -/* 029028 80028428 460051A4 */ cvt.w.s $f6, $f10 -/* 02902C 8002842C 44CFF800 */ ctc1 $t7, $31 -/* 029030 80028430 44193000 */ mfc1 $t9, $f6 -/* 029034 80028434 460C7201 */ sub.s $f8, $f14, $f12 -/* 029038 80028438 03236021 */ addu $t4, $t9, $v1 -/* 02903C 8002843C 444EF800 */ cfc1 $t6, $31 -/* 029040 80028440 A7AC011E */ sh $t4, 0x11e($sp) -/* 029044 80028444 35C10003 */ ori $at, $t6, 3 -/* 029048 80028448 38210002 */ xori $at, $at, 2 -/* 02904C 8002844C 44C1F800 */ ctc1 $at, $31 -/* 029050 80028450 00000000 */ nop -/* 029054 80028454 46004124 */ cvt.w.s $f4, $f8 -/* 029058 80028458 44CEF800 */ ctc1 $t6, $31 -/* 02905C 8002845C 440D2000 */ mfc1 $t5, $f4 -/* 029060 80028460 46001287 */ neg.s $f10, $f2 -/* 029064 80028464 46005181 */ sub.s $f6, $f10, $f0 -/* 029068 80028468 01A2C821 */ addu $t9, $t5, $v0 -/* 02906C 8002846C 444CF800 */ cfc1 $t4, $31 -/* 029070 80028470 A7B90134 */ sh $t9, 0x134($sp) -/* 029074 80028474 35810003 */ ori $at, $t4, 3 -/* 029078 80028478 38210002 */ xori $at, $at, 2 -/* 02907C 8002847C 44C1F800 */ ctc1 $at, $31 -/* 029080 80028480 00000000 */ nop -/* 029084 80028484 46003224 */ cvt.w.s $f8, $f6 -/* 029088 80028488 44CCF800 */ ctc1 $t4, $31 -/* 02908C 8002848C 00000000 */ nop -/* 029090 80028490 00000000 */ nop -/* 029094 80028494 C7AE00B4 */ lwc1 $f14, 0xb4($sp) -/* 029098 80028498 C7B000AC */ lwc1 $f16, 0xac($sp) -/* 02909C 8002849C 460C7100 */ add.s $f4, $f14, $f12 -/* 0290A0 800284A0 44184000 */ mfc1 $t8, $f8 -/* 0290A4 800284A4 4459F800 */ cfc1 $t9, $31 -/* 0290A8 800284A8 03036821 */ addu $t5, $t8, $v1 -/* 0290AC 800284AC 37210003 */ ori $at, $t9, 3 -/* 0290B0 800284B0 38210002 */ xori $at, $at, 2 -/* 0290B4 800284B4 44C1F800 */ ctc1 $at, $31 -/* 0290B8 800284B8 A7AD0120 */ sh $t5, 0x120($sp) -/* 0290BC 800284BC 460022A4 */ cvt.w.s $f10, $f4 -/* 0290C0 800284C0 3C138012 */ lui $s3, %hi(gSceneCurrDisplayList) # $s3, 0x8012 -/* 0290C4 800284C4 44D9F800 */ ctc1 $t9, $31 -/* 0290C8 800284C8 440F5000 */ mfc1 $t7, $f10 -/* 0290CC 800284CC 46108080 */ add.s $f2, $f16, $f16 -/* 0290D0 800284D0 01E2C021 */ addu $t8, $t7, $v0 -/* 0290D4 800284D4 46001181 */ sub.s $f6, $f2, $f0 -/* 0290D8 800284D8 A7B80136 */ sh $t8, 0x136($sp) -/* 0290DC 800284DC 444DF800 */ cfc1 $t5, $31 -/* 0290E0 800284E0 2673B0A0 */ addiu $s3, %lo(gSceneCurrDisplayList) # addiu $s3, $s3, -0x4f60 -/* 0290E4 800284E4 35A10003 */ ori $at, $t5, 3 -/* 0290E8 800284E8 38210002 */ xori $at, $at, 2 -/* 0290EC 800284EC 44C1F800 */ ctc1 $at, $31 -/* 0290F0 800284F0 3C058012 */ lui $a1, %hi(gSceneCurrMatrix) # $a1, 0x8012 -/* 0290F4 800284F4 46003224 */ cvt.w.s $f8, $f6 -/* 0290F8 800284F8 24A5B0A4 */ addiu $a1, %lo(gSceneCurrMatrix) # addiu $a1, $a1, -0x4f5c -/* 0290FC 800284FC 44CDF800 */ ctc1 $t5, $31 -/* 029100 80028500 440E4000 */ mfc1 $t6, $f8 -/* 029104 80028504 460E6101 */ sub.s $f4, $f12, $f14 -/* 029108 80028508 01C37821 */ addu $t7, $t6, $v1 -/* 02910C 8002850C 4458F800 */ cfc1 $t8, $31 -/* 029110 80028510 A7AF0122 */ sh $t7, 0x122($sp) -/* 029114 80028514 37010003 */ ori $at, $t8, 3 -/* 029118 80028518 38210002 */ xori $at, $at, 2 -/* 02911C 8002851C 44C1F800 */ ctc1 $at, $31 -/* 029120 80028520 02602025 */ move $a0, $s3 -/* 029124 80028524 460022A4 */ cvt.w.s $f10, $f4 -/* 029128 80028528 44D8F800 */ ctc1 $t8, $31 -/* 02912C 8002852C 440C5000 */ mfc1 $t4, $f10 -/* 029130 80028530 46001180 */ add.s $f6, $f2, $f0 -/* 029134 80028534 01827021 */ addu $t6, $t4, $v0 -/* 029138 80028538 444FF800 */ cfc1 $t7, $31 -/* 02913C 8002853C A7AE0138 */ sh $t6, 0x138($sp) -/* 029140 80028540 35E10003 */ ori $at, $t7, 3 -/* 029144 80028544 38210002 */ xori $at, $at, 2 -/* 029148 80028548 44C1F800 */ ctc1 $at, $31 -/* 02914C 8002854C 00000000 */ nop -/* 029150 80028550 46003224 */ cvt.w.s $f8, $f6 -/* 029154 80028554 44194000 */ mfc1 $t9, $f8 -/* 029158 80028558 44CFF800 */ ctc1 $t7, $31 -/* 02915C 8002855C 03236021 */ addu $t4, $t9, $v1 -/* 029160 80028560 0C01A102 */ jal matrix_world_origin -/* 029164 80028564 A7AC0124 */ sh $t4, 0x124($sp) -/* 029168 80028568 3C04800E */ lui $a0, %hi(gCurrentLevelHeader2) # $a0, 0x800e -/* 02916C 8002856C 8C84C91C */ lw $a0, %lo(gCurrentLevelHeader2)($a0) -/* 029170 80028570 2403FFFF */ li $v1, -1 -/* 029174 80028574 8C8A0074 */ lw $t2, 0x74($a0) -/* 029178 80028578 2406FFFF */ li $a2, -1 -/* 02917C 8002857C 11430007 */ beq $t2, $v1, .L8002859C -/* 029180 80028580 24050001 */ li $a1, 1 -/* 029184 80028584 8C820078 */ lw $v0, 0x78($a0) -/* 029188 80028588 00000000 */ nop -/* 02918C 8002858C 14430005 */ bne $v0, $v1, .L800285A4 -/* 029190 80028590 00000000 */ nop -/* 029194 80028594 10000003 */ b .L800285A4 -/* 029198 80028598 01401025 */ move $v0, $t2 -.L8002859C: -/* 02919C 8002859C 8FA20078 */ lw $v0, 0x78($sp) -/* 0291A0 800285A0 00005025 */ move $t2, $zero -.L800285A4: -/* 0291A4 800285A4 11400006 */ beqz $t2, .L800285C0 -/* 0291A8 800285A8 2407FF00 */ li $a3, -256 -/* 0291AC 800285AC 8C470010 */ lw $a3, 0x10($v0) -/* 0291B0 800285B0 2401FF00 */ li $at, -256 -/* 0291B4 800285B4 00E17024 */ and $t6, $a3, $at -/* 0291B8 800285B8 8D460010 */ lw $a2, 0x10($t2) -/* 0291BC 800285BC 01C03825 */ move $a3, $t6 -.L800285C0: -/* 0291C0 800285C0 02602025 */ move $a0, $s3 -/* 0291C4 800285C4 0C01FD65 */ jal func_8007F594 -/* 0291C8 800285C8 AFAA007C */ sw $t2, 0x7c($sp) -/* 0291CC 800285CC 3C058012 */ lui $a1, %hi(D_8011B110) # $a1, 0x8012 -/* 0291D0 800285D0 8CA5B110 */ lw $a1, %lo(D_8011B110)($a1) -/* 0291D4 800285D4 8FA40074 */ lw $a0, 0x74($sp) -/* 0291D8 800285D8 00057A00 */ sll $t7, $a1, 8 -/* 0291DC 800285DC 0C01ED1B */ jal set_animated_texture_header -/* 0291E0 800285E0 01E02825 */ move $a1, $t7 -/* 0291E4 800285E4 8E630000 */ lw $v1, ($s3) -/* 0291E8 800285E8 3C010700 */ lui $at, 0x700 -/* 0291EC 800285EC 24780008 */ addiu $t8, $v1, 8 -/* 0291F0 800285F0 AE780000 */ sw $t8, ($s3) -/* 0291F4 800285F4 8445000A */ lh $a1, 0xa($v0) -/* 0291F8 800285F8 8FAA007C */ lw $t2, 0x7c($sp) -/* 0291FC 800285FC 30AD00FF */ andi $t5, $a1, 0xff -/* 029200 80028600 000DCC00 */ sll $t9, $t5, 0x10 -/* 029204 80028604 000570C0 */ sll $t6, $a1, 3 -/* 029208 80028608 31CFFFFF */ andi $t7, $t6, 0xffff -/* 02920C 8002860C 03216025 */ or $t4, $t9, $at -/* 029210 80028610 018FC025 */ or $t8, $t4, $t7 -/* 029214 80028614 AC780000 */ sw $t8, ($v1) -/* 029218 80028618 8C4D000C */ lw $t5, 0xc($v0) -/* 02921C 8002861C 3C098000 */ lui $t1, 0x8000 -/* 029220 80028620 3C0B8012 */ lui $t3, %hi(gSceneCurrVertexList) # $t3, 0x8012 -/* 029224 80028624 01A9C821 */ addu $t9, $t5, $t1 -/* 029228 80028628 256BB0A8 */ addiu $t3, %lo(gSceneCurrVertexList) # addiu $t3, $t3, -0x4f58 -/* 02922C 8002862C AC790004 */ sw $t9, 4($v1) -/* 029230 80028630 8D6C0000 */ lw $t4, ($t3) -/* 029234 80028634 8E630000 */ lw $v1, ($s3) -/* 029238 80028638 01897821 */ addu $t7, $t4, $t1 -/* 02923C 8002863C 31F80006 */ andi $t8, $t7, 6 -/* 029240 80028640 370D0040 */ ori $t5, $t8, 0x40 -/* 029244 80028644 246E0008 */ addiu $t6, $v1, 8 -/* 029248 80028648 AE6E0000 */ sw $t6, ($s3) -/* 02924C 8002864C 31B900FF */ andi $t9, $t5, 0xff -/* 029250 80028650 00197400 */ sll $t6, $t9, 0x10 -/* 029254 80028654 3C010400 */ lui $at, 0x400 -/* 029258 80028658 01C16025 */ or $t4, $t6, $at -/* 02925C 8002865C 358F00AA */ ori $t7, $t4, 0xaa -/* 029260 80028660 AC6F0000 */ sw $t7, ($v1) -/* 029264 80028664 8D780000 */ lw $t8, ($t3) -/* 029268 80028668 3C0E0571 */ lui $t6, (0x05710080 >> 16) # lui $t6, 0x571 -/* 02926C 8002866C 03096821 */ addu $t5, $t8, $t1 -/* 029270 80028670 AC6D0004 */ sw $t5, 4($v1) -/* 029274 80028674 8E630000 */ lw $v1, ($s3) -/* 029278 80028678 35CE0080 */ ori $t6, (0x05710080 & 0xFFFF) # ori $t6, $t6, 0x80 -/* 02927C 8002867C 24790008 */ addiu $t9, $v1, 8 -/* 029280 80028680 AE790000 */ sw $t9, ($s3) -/* 029284 80028684 3C0C8012 */ lui $t4, %hi(gSceneCurrTriList) # $t4, 0x8012 -/* 029288 80028688 AC6E0000 */ sw $t6, ($v1) -/* 02928C 8002868C 8D8CB0AC */ lw $t4, %lo(gSceneCurrTriList)($t4) -/* 029290 80028690 3C0DE700 */ lui $t5, 0xe700 -/* 029294 80028694 01897821 */ addu $t7, $t4, $t1 -/* 029298 80028698 AC6F0004 */ sw $t7, 4($v1) -/* 02929C 8002869C 8E630000 */ lw $v1, ($s3) -/* 0292A0 800286A0 3C0EFA00 */ lui $t6, 0xfa00 -/* 0292A4 800286A4 24780008 */ addiu $t8, $v1, 8 -/* 0292A8 800286A8 AE780000 */ sw $t8, ($s3) -/* 0292AC 800286AC AC600004 */ sw $zero, 4($v1) -/* 0292B0 800286B0 1140000E */ beqz $t2, .L800286EC -/* 0292B4 800286B4 AC6D0000 */ sw $t5, ($v1) -/* 0292B8 800286B8 8E630000 */ lw $v1, ($s3) -/* 0292BC 800286BC 240CFFFF */ li $t4, -1 -/* 0292C0 800286C0 24790008 */ addiu $t9, $v1, 8 -/* 0292C4 800286C4 AE790000 */ sw $t9, ($s3) -/* 0292C8 800286C8 AC6C0004 */ sw $t4, 4($v1) -/* 0292CC 800286CC AC6E0000 */ sw $t6, ($v1) -/* 0292D0 800286D0 8E630000 */ lw $v1, ($s3) -/* 0292D4 800286D4 3C18FB00 */ lui $t8, 0xfb00 -/* 0292D8 800286D8 246F0008 */ addiu $t7, $v1, 8 -/* 0292DC 800286DC AE6F0000 */ sw $t7, ($s3) -/* 0292E0 800286E0 240DFF00 */ li $t5, -256 -/* 0292E4 800286E4 AC6D0004 */ sw $t5, 4($v1) -/* 0292E8 800286E8 AC780000 */ sw $t8, ($v1) -.L800286EC: -/* 0292EC 800286EC 0C01ECF4 */ jal reset_render_settings -/* 0292F0 800286F0 02602025 */ move $a0, $s3 -/* 0292F4 800286F4 3C014340 */ li $at, 0x43400000 # 192.000000 -/* 0292F8 800286F8 44815000 */ mtc1 $at, $f10 -/* 0292FC 800286FC C6440010 */ lwc1 $f4, 0x10($s2) -/* 029300 80028700 27A400DC */ addiu $a0, $sp, 0xdc -/* 029304 80028704 460A2180 */ add.s $f6, $f4, $f10 -/* 029308 80028708 27A200B8 */ addiu $v0, $sp, 0xb8 -/* 02930C 8002870C 4459F800 */ cfc1 $t9, $31 -/* 029310 80028710 27A700DC */ addiu $a3, $sp, 0xdc -/* 029314 80028714 37210003 */ ori $at, $t9, 3 -/* 029318 80028718 38210002 */ xori $at, $at, 2 -/* 02931C 8002871C 44C1F800 */ ctc1 $at, $31 -/* 029320 80028720 27A600CC */ addiu $a2, $sp, 0xcc -/* 029324 80028724 46003224 */ cvt.w.s $f8, $f6 -/* 029328 80028728 240300FF */ li $v1, 255 -/* 02932C 8002872C 44054000 */ mfc1 $a1, $f8 -/* 029330 80028730 44D9F800 */ ctc1 $t9, $31 -/* 029334 80028734 00057400 */ sll $t6, $a1, 0x10 -/* 029338 80028738 000E2C03 */ sra $a1, $t6, 0x10 -.L8002873C: -/* 02933C 8002873C C4840000 */ lwc1 $f4, ($a0) -/* 029340 80028740 C64A000C */ lwc1 $f10, 0xc($s2) -/* 029344 80028744 A6250002 */ sh $a1, 2($s1) -/* 029348 80028748 460A2180 */ add.s $f6, $f4, $f10 -/* 02934C 8002874C 24840004 */ addiu $a0, $a0, 4 -/* 029350 80028750 444FF800 */ cfc1 $t7, $31 -/* 029354 80028754 00000000 */ nop -/* 029358 80028758 35E10003 */ ori $at, $t7, 3 -/* 02935C 8002875C 38210002 */ xori $at, $at, 2 -/* 029360 80028760 44C1F800 */ ctc1 $at, $31 -/* 029364 80028764 00000000 */ nop -/* 029368 80028768 46003224 */ cvt.w.s $f8, $f6 -/* 02936C 8002876C 44184000 */ mfc1 $t8, $f8 -/* 029370 80028770 44CFF800 */ ctc1 $t7, $31 -/* 029374 80028774 A6380000 */ sh $t8, ($s1) -/* 029378 80028778 C64A0014 */ lwc1 $f10, 0x14($s2) -/* 02937C 8002877C C4440000 */ lwc1 $f4, ($v0) -/* 029380 80028780 A2230006 */ sb $v1, 6($s1) -/* 029384 80028784 460A2180 */ add.s $f6, $f4, $f10 -/* 029388 80028788 A2230007 */ sb $v1, 7($s1) -/* 02938C 8002878C 444DF800 */ cfc1 $t5, $31 -/* 029390 80028790 A2230008 */ sb $v1, 8($s1) -/* 029394 80028794 35A10003 */ ori $at, $t5, 3 -/* 029398 80028798 38210002 */ xori $at, $at, 2 -/* 02939C 8002879C 44C1F800 */ ctc1 $at, $31 -/* 0293A0 800287A0 0046082B */ sltu $at, $v0, $a2 -/* 0293A4 800287A4 46003224 */ cvt.w.s $f8, $f6 -/* 0293A8 800287A8 24420004 */ addiu $v0, $v0, 4 -/* 0293AC 800287AC 44194000 */ mfc1 $t9, $f8 -/* 0293B0 800287B0 44CDF800 */ ctc1 $t5, $31 -/* 0293B4 800287B4 10200003 */ beqz $at, .L800287C4 -/* 0293B8 800287B8 A6390004 */ sh $t9, 4($s1) -/* 0293BC 800287BC 10000002 */ b .L800287C8 -/* 0293C0 800287C0 A2230009 */ sb $v1, 9($s1) -.L800287C4: -/* 0293C4 800287C4 A2200009 */ sb $zero, 9($s1) -.L800287C8: -/* 0293C8 800287C8 0047082B */ sltu $at, $v0, $a3 -/* 0293CC 800287CC 1420FFDB */ bnez $at, .L8002873C -/* 0293D0 800287D0 2631000A */ addiu $s1, $s1, 0xa -/* 0293D4 800287D4 3C02800E */ lui $v0, %hi(D_800DC92C) # $v0, 0x800e -/* 0293D8 800287D8 2442C92C */ addiu $v0, %lo(D_800DC92C) # addiu $v0, $v0, -0x36d4 -/* 0293DC 800287DC 00003025 */ move $a2, $zero -/* 0293E0 800287E0 24070008 */ li $a3, 8 -/* 0293E4 800287E4 24050040 */ li $a1, 64 -/* 0293E8 800287E8 27A40114 */ addiu $a0, $sp, 0x114 -/* 0293EC 800287EC 27A30128 */ addiu $v1, $sp, 0x128 -.L800287F0: -/* 0293F0 800287F0 A2050000 */ sb $a1, ($s0) -/* 0293F4 800287F4 904E0000 */ lbu $t6, ($v0) -/* 0293F8 800287F8 24C60002 */ addiu $a2, $a2, 2 -/* 0293FC 800287FC A20E0001 */ sb $t6, 1($s0) -/* 029400 80028800 904C0000 */ lbu $t4, ($v0) -/* 029404 80028804 24420006 */ addiu $v0, $v0, 6 -/* 029408 80028808 000C7840 */ sll $t7, $t4, 1 -/* 02940C 8002880C 006FC021 */ addu $t8, $v1, $t7 -/* 029410 80028810 870D0000 */ lh $t5, ($t8) -/* 029414 80028814 26100020 */ addiu $s0, $s0, 0x20 -/* 029418 80028818 A60DFFE4 */ sh $t5, -0x1c($s0) -/* 02941C 8002881C 9059FFFA */ lbu $t9, -6($v0) -/* 029420 80028820 00000000 */ nop -/* 029424 80028824 00197040 */ sll $t6, $t9, 1 -/* 029428 80028828 008E6021 */ addu $t4, $a0, $t6 -/* 02942C 8002882C 858F0000 */ lh $t7, ($t4) -/* 029430 80028830 00000000 */ nop -/* 029434 80028834 A60FFFE6 */ sh $t7, -0x1a($s0) -/* 029438 80028838 9058FFFB */ lbu $t8, -5($v0) -/* 02943C 8002883C 00000000 */ nop -/* 029440 80028840 A218FFE2 */ sb $t8, -0x1e($s0) -/* 029444 80028844 904DFFFB */ lbu $t5, -5($v0) -/* 029448 80028848 00000000 */ nop -/* 02944C 8002884C 000DC840 */ sll $t9, $t5, 1 -/* 029450 80028850 00797021 */ addu $t6, $v1, $t9 -/* 029454 80028854 85CC0000 */ lh $t4, ($t6) -/* 029458 80028858 00000000 */ nop -/* 02945C 8002885C A60CFFE8 */ sh $t4, -0x18($s0) -/* 029460 80028860 904FFFFB */ lbu $t7, -5($v0) -/* 029464 80028864 00000000 */ nop -/* 029468 80028868 000FC040 */ sll $t8, $t7, 1 -/* 02946C 8002886C 00986821 */ addu $t5, $a0, $t8 -/* 029470 80028870 85B90000 */ lh $t9, ($t5) -/* 029474 80028874 00000000 */ nop -/* 029478 80028878 A619FFEA */ sh $t9, -0x16($s0) -/* 02947C 8002887C 904EFFFC */ lbu $t6, -4($v0) -/* 029480 80028880 00000000 */ nop -/* 029484 80028884 A20EFFE3 */ sb $t6, -0x1d($s0) -/* 029488 80028888 904CFFFC */ lbu $t4, -4($v0) -/* 02948C 8002888C 00000000 */ nop -/* 029490 80028890 000C7840 */ sll $t7, $t4, 1 -/* 029494 80028894 006FC021 */ addu $t8, $v1, $t7 -/* 029498 80028898 870D0000 */ lh $t5, ($t8) -/* 02949C 8002889C 00000000 */ nop -/* 0294A0 800288A0 A60DFFEC */ sh $t5, -0x14($s0) -/* 0294A4 800288A4 9059FFFC */ lbu $t9, -4($v0) -/* 0294A8 800288A8 00000000 */ nop -/* 0294AC 800288AC 00197040 */ sll $t6, $t9, 1 -/* 0294B0 800288B0 008E6021 */ addu $t4, $a0, $t6 -/* 0294B4 800288B4 858F0000 */ lh $t7, ($t4) -/* 0294B8 800288B8 A205FFF0 */ sb $a1, -0x10($s0) -/* 0294BC 800288BC A60FFFEE */ sh $t7, -0x12($s0) -/* 0294C0 800288C0 9058FFFD */ lbu $t8, -3($v0) -/* 0294C4 800288C4 00000000 */ nop -/* 0294C8 800288C8 A218FFF1 */ sb $t8, -0xf($s0) -/* 0294CC 800288CC 904DFFFD */ lbu $t5, -3($v0) -/* 0294D0 800288D0 00000000 */ nop -/* 0294D4 800288D4 000DC840 */ sll $t9, $t5, 1 -/* 0294D8 800288D8 00797021 */ addu $t6, $v1, $t9 -/* 0294DC 800288DC 85CC0000 */ lh $t4, ($t6) -/* 0294E0 800288E0 00000000 */ nop -/* 0294E4 800288E4 A60CFFF4 */ sh $t4, -0xc($s0) -/* 0294E8 800288E8 904FFFFD */ lbu $t7, -3($v0) -/* 0294EC 800288EC 00000000 */ nop -/* 0294F0 800288F0 000FC040 */ sll $t8, $t7, 1 -/* 0294F4 800288F4 00986821 */ addu $t5, $a0, $t8 -/* 0294F8 800288F8 85B90000 */ lh $t9, ($t5) -/* 0294FC 800288FC 00000000 */ nop -/* 029500 80028900 A619FFF6 */ sh $t9, -0xa($s0) -/* 029504 80028904 904EFFFE */ lbu $t6, -2($v0) -/* 029508 80028908 00000000 */ nop -/* 02950C 8002890C A20EFFF2 */ sb $t6, -0xe($s0) -/* 029510 80028910 904CFFFE */ lbu $t4, -2($v0) -/* 029514 80028914 00000000 */ nop -/* 029518 80028918 000C7840 */ sll $t7, $t4, 1 -/* 02951C 8002891C 006FC021 */ addu $t8, $v1, $t7 -/* 029520 80028920 870D0000 */ lh $t5, ($t8) -/* 029524 80028924 00000000 */ nop -/* 029528 80028928 A60DFFF8 */ sh $t5, -8($s0) -/* 02952C 8002892C 9059FFFE */ lbu $t9, -2($v0) -/* 029530 80028930 00000000 */ nop -/* 029534 80028934 00197040 */ sll $t6, $t9, 1 -/* 029538 80028938 008E6021 */ addu $t4, $a0, $t6 -/* 02953C 8002893C 858F0000 */ lh $t7, ($t4) -/* 029540 80028940 00000000 */ nop -/* 029544 80028944 A60FFFFA */ sh $t7, -6($s0) -/* 029548 80028948 9058FFFF */ lbu $t8, -1($v0) -/* 02954C 8002894C 00000000 */ nop -/* 029550 80028950 A218FFF3 */ sb $t8, -0xd($s0) -/* 029554 80028954 904DFFFF */ lbu $t5, -1($v0) -/* 029558 80028958 00000000 */ nop -/* 02955C 8002895C 000DC840 */ sll $t9, $t5, 1 -/* 029560 80028960 00797021 */ addu $t6, $v1, $t9 -/* 029564 80028964 85CC0000 */ lh $t4, ($t6) -/* 029568 80028968 00000000 */ nop -/* 02956C 8002896C A60CFFFC */ sh $t4, -4($s0) -/* 029570 80028970 904FFFFF */ lbu $t7, -1($v0) -/* 029574 80028974 00000000 */ nop -/* 029578 80028978 000FC040 */ sll $t8, $t7, 1 -/* 02957C 8002897C 00986821 */ addu $t5, $a0, $t8 -/* 029580 80028980 85B90000 */ lh $t9, ($t5) -/* 029584 80028984 14C7FF9A */ bne $a2, $a3, .L800287F0 -/* 029588 80028988 A619FFFE */ sh $t9, -2($s0) -/* 02958C 8002898C 3C018012 */ lui $at, %hi(gSceneCurrVertexList) # $at, 0x8012 -/* 029590 80028990 AC31B0A8 */ sw $s1, %lo(gSceneCurrVertexList)($at) -/* 029594 80028994 3C018012 */ lui $at, %hi(gSceneCurrTriList) # $at, 0x8012 -/* 029598 80028998 8FBF0024 */ lw $ra, 0x24($sp) -/* 02959C 8002899C AC30B0AC */ sw $s0, %lo(gSceneCurrTriList)($at) -/* 0295A0 800289A0 8FB00014 */ lw $s0, 0x14($sp) -/* 0295A4 800289A4 8FB10018 */ lw $s1, 0x18($sp) -/* 0295A8 800289A8 8FB2001C */ lw $s2, 0x1c($sp) -/* 0295AC 800289AC 8FB30020 */ lw $s3, 0x20($sp) -/* 0295B0 800289B0 03E00008 */ jr $ra -/* 0295B4 800289B4 27BD0158 */ addiu $sp, $sp, 0x158 - diff --git a/asm/non_matchings/tracks/func_8002B0F4.s b/asm/non_matchings/tracks/func_8002B0F4.s deleted file mode 100644 index 849a1629..00000000 --- a/asm/non_matchings/tracks/func_8002B0F4.s +++ /dev/null @@ -1,602 +0,0 @@ -glabel func_8002B0F4 -/* 02BCF4 8002B0F4 444FF800 */ cfc1 $t7, $31 -/* 02BCF8 8002B0F8 3C018012 */ lui $at, %hi(D_8011D308) # $at, 0x8012 -/* 02BCFC 8002B0FC A020D308 */ sb $zero, %lo(D_8011D308)($at) -/* 02BD00 8002B100 27BDFED8 */ addiu $sp, $sp, -0x128 -/* 02BD04 8002B104 35E10003 */ ori $at, $t7, 3 -/* 02BD08 8002B108 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 02BD0C 8002B10C 38210002 */ xori $at, $at, 2 -/* 02BD10 8002B110 4485A000 */ mtc1 $a1, $f20 -/* 02BD14 8002B114 44C1F800 */ ctc1 $at, $31 -/* 02BD18 8002B118 E7B60024 */ swc1 $f22, 0x24($sp) -/* 02BD1C 8002B11C 4600A124 */ cvt.w.s $f4, $f20 -/* 02BD20 8002B120 4486B000 */ mtc1 $a2, $f22 -/* 02BD24 8002B124 44CFF800 */ ctc1 $t7, $31 -/* 02BD28 8002B128 AFB60040 */ sw $s6, 0x40($sp) -/* 02BD2C 8002B12C AFB40038 */ sw $s4, 0x38($sp) -/* 02BD30 8002B130 4458F800 */ cfc1 $t8, $31 -/* 02BD34 8002B134 44162000 */ mfc1 $s6, $f4 -/* 02BD38 8002B138 37010003 */ ori $at, $t8, 3 -/* 02BD3C 8002B13C 38210002 */ xori $at, $at, 2 -/* 02BD40 8002B140 44C1F800 */ ctc1 $at, $31 -/* 02BD44 8002B144 AFB00028 */ sw $s0, 0x28($sp) -/* 02BD48 8002B148 4600B1A4 */ cvt.w.s $f6, $f22 -/* 02BD4C 8002B14C 00808025 */ move $s0, $a0 -/* 02BD50 8002B150 44143000 */ mfc1 $s4, $f6 -/* 02BD54 8002B154 AFBF004C */ sw $ra, 0x4c($sp) -/* 02BD58 8002B158 AFBE0048 */ sw $fp, 0x48($sp) -/* 02BD5C 8002B15C AFB70044 */ sw $s7, 0x44($sp) -/* 02BD60 8002B160 AFB5003C */ sw $s5, 0x3c($sp) -/* 02BD64 8002B164 AFB30034 */ sw $s3, 0x34($sp) -/* 02BD68 8002B168 AFB20030 */ sw $s2, 0x30($sp) -/* 02BD6C 8002B16C AFB1002C */ sw $s1, 0x2c($sp) -/* 02BD70 8002B170 E7B70020 */ swc1 $f23, 0x20($sp) -/* 02BD74 8002B174 E7B50018 */ swc1 $f21, 0x18($sp) -/* 02BD78 8002B178 AFA70134 */ sw $a3, 0x134($sp) -/* 02BD7C 8002B17C 44D8F800 */ ctc1 $t8, $31 -/* 02BD80 8002B180 ACE00000 */ sw $zero, ($a3) -/* 02BD84 8002B184 27A600B0 */ addiu $a2, $sp, 0xb0 -/* 02BD88 8002B188 02C02025 */ move $a0, $s6 -/* 02BD8C 8002B18C 0C00A817 */ jal get_inside_segment_count_xz -/* 02BD90 8002B190 02802825 */ move $a1, $s4 -/* 02BD94 8002B194 10400004 */ beqz $v0, .L8002B1A8 -/* 02BD98 8002B198 AFA20108 */ sw $v0, 0x108($sp) -/* 02BD9C 8002B19C 28410008 */ slti $at, $v0, 8 -/* 02BDA0 8002B1A0 14200003 */ bnez $at, .L8002B1B0 -/* 02BDA4 8002B1A4 0000A825 */ move $s5, $zero -.L8002B1A8: -/* 02BDA8 8002B1A8 100001F4 */ b .L8002B97C -/* 02BDAC 8002B1AC 00001025 */ move $v0, $zero -.L8002B1B0: -/* 02BDB0 8002B1B0 18400135 */ blez $v0, .L8002B688 -/* 02BDB4 8002B1B4 0000F025 */ move $fp, $zero -/* 02BDB8 8002B1B8 44808800 */ mtc1 $zero, $f17 -/* 02BDBC 8002B1BC 44808000 */ mtc1 $zero, $f16 -/* 02BDC0 8002B1C0 AFB00128 */ sw $s0, 0x128($sp) -/* 02BDC4 8002B1C4 2413000A */ li $s3, 10 -/* 02BDC8 8002B1C8 001EC880 */ sll $t9, $fp, 2 -.L8002B1CC: -/* 02BDCC 8002B1CC 03B94821 */ addu $t1, $sp, $t9 -/* 02BDD0 8002B1D0 8D2900B0 */ lw $t1, 0xb0($t1) -/* 02BDD4 8002B1D4 3C0B800E */ lui $t3, %hi(gCurrentLevelModel) # $t3, 0x800e -/* 02BDD8 8002B1D8 8D6BC918 */ lw $t3, %lo(gCurrentLevelModel)($t3) -/* 02BDDC 8002B1DC 0009C080 */ sll $t8, $t1, 2 -/* 02BDE0 8002B1E0 8D790008 */ lw $t9, 8($t3) -/* 02BDE4 8002B1E4 00097100 */ sll $t6, $t1, 4 -/* 02BDE8 8002B1E8 0309C023 */ subu $t8, $t8, $t1 -/* 02BDEC 8002B1EC 8D6F0004 */ lw $t7, 4($t3) -/* 02BDF0 8002B1F0 0018C080 */ sll $t8, $t8, 2 -/* 02BDF4 8002B1F4 01C97021 */ addu $t6, $t6, $t1 -/* 02BDF8 8002B1F8 000E7080 */ sll $t6, $t6, 2 -/* 02BDFC 8002B1FC 03195021 */ addu $t2, $t8, $t9 -/* 02BE00 8002B200 01CFF821 */ addu $ra, $t6, $t7 -/* 02BE04 8002B204 854E0006 */ lh $t6, 6($t2) -/* 02BE08 8002B208 85480000 */ lh $t0, ($t2) -/* 02BE0C 8002B20C 24050001 */ li $a1, 1 -/* 02BE10 8002B210 01C83023 */ subu $a2, $t6, $t0 -/* 02BE14 8002B214 000678C3 */ sra $t7, $a2, 3 -/* 02BE18 8002B218 25E60001 */ addiu $a2, $t7, 1 -/* 02BE1C 8002B21C 0006C400 */ sll $t8, $a2, 0x10 -/* 02BE20 8002B220 00183403 */ sra $a2, $t8, 0x10 -/* 02BE24 8002B224 00C81821 */ addu $v1, $a2, $t0 -/* 02BE28 8002B228 00082400 */ sll $a0, $t0, 0x10 -/* 02BE2C 8002B22C 00037400 */ sll $t6, $v1, 0x10 -/* 02BE30 8002B230 0004C403 */ sra $t8, $a0, 0x10 -/* 02BE34 8002B234 00008825 */ move $s1, $zero -/* 02BE38 8002B238 000E1C03 */ sra $v1, $t6, 0x10 -/* 02BE3C 8002B23C 03002025 */ move $a0, $t8 -/* 02BE40 8002B240 00003825 */ move $a3, $zero -/* 02BE44 8002B244 0000B825 */ move $s7, $zero -.L8002B248: -/* 02BE48 8002B248 0076082A */ slt $at, $v1, $s6 -/* 02BE4C 8002B24C 14200007 */ bnez $at, .L8002B26C -/* 02BE50 8002B250 00661821 */ addu $v1, $v1, $a2 -/* 02BE54 8002B254 02C4082A */ slt $at, $s6, $a0 -/* 02BE58 8002B258 14200005 */ bnez $at, .L8002B270 -/* 02BE5C 8002B25C 00037C00 */ sll $t7, $v1, 0x10 -/* 02BE60 8002B260 02258825 */ or $s1, $s1, $a1 -/* 02BE64 8002B264 0011CC00 */ sll $t9, $s1, 0x10 -/* 02BE68 8002B268 00198C03 */ sra $s1, $t9, 0x10 -.L8002B26C: -/* 02BE6C 8002B26C 00037C00 */ sll $t7, $v1, 0x10 -.L8002B270: -/* 02BE70 8002B270 000F1C03 */ sra $v1, $t7, 0x10 -/* 02BE74 8002B274 24E70001 */ addiu $a3, $a3, 1 -/* 02BE78 8002B278 00862021 */ addu $a0, $a0, $a2 -/* 02BE7C 8002B27C 00A07825 */ move $t7, $a1 -/* 02BE80 8002B280 28E10008 */ slti $at, $a3, 8 -/* 02BE84 8002B284 0004CC00 */ sll $t9, $a0, 0x10 -/* 02BE88 8002B288 000FC440 */ sll $t8, $t7, 0x11 -/* 02BE8C 8002B28C 00192403 */ sra $a0, $t9, 0x10 -/* 02BE90 8002B290 1420FFED */ bnez $at, .L8002B248 -/* 02BE94 8002B294 00182C03 */ sra $a1, $t8, 0x10 -/* 02BE98 8002B298 85480004 */ lh $t0, 4($t2) -/* 02BE9C 8002B29C 854E000A */ lh $t6, 0xa($t2) -/* 02BEA0 8002B2A0 00082400 */ sll $a0, $t0, 0x10 -/* 02BEA4 8002B2A4 01C83023 */ subu $a2, $t6, $t0 -/* 02BEA8 8002B2A8 000678C3 */ sra $t7, $a2, 3 -/* 02BEAC 8002B2AC 25E60001 */ addiu $a2, $t7, 1 -/* 02BEB0 8002B2B0 0006C400 */ sll $t8, $a2, 0x10 -/* 02BEB4 8002B2B4 00183403 */ sra $a2, $t8, 0x10 -/* 02BEB8 8002B2B8 00C81821 */ addu $v1, $a2, $t0 -/* 02BEBC 8002B2BC 00037400 */ sll $t6, $v1, 0x10 -/* 02BEC0 8002B2C0 0004C403 */ sra $t8, $a0, 0x10 -/* 02BEC4 8002B2C4 000E1C03 */ sra $v1, $t6, 0x10 -/* 02BEC8 8002B2C8 03002025 */ move $a0, $t8 -/* 02BECC 8002B2CC 00003825 */ move $a3, $zero -.L8002B2D0: -/* 02BED0 8002B2D0 0074082A */ slt $at, $v1, $s4 -/* 02BED4 8002B2D4 14200007 */ bnez $at, .L8002B2F4 -/* 02BED8 8002B2D8 00661821 */ addu $v1, $v1, $a2 -/* 02BEDC 8002B2DC 0284082A */ slt $at, $s4, $a0 -/* 02BEE0 8002B2E0 14200005 */ bnez $at, .L8002B2F8 -/* 02BEE4 8002B2E4 00037C00 */ sll $t7, $v1, 0x10 -/* 02BEE8 8002B2E8 02258825 */ or $s1, $s1, $a1 -/* 02BEEC 8002B2EC 0011CC00 */ sll $t9, $s1, 0x10 -/* 02BEF0 8002B2F0 00198C03 */ sra $s1, $t9, 0x10 -.L8002B2F4: -/* 02BEF4 8002B2F4 00037C00 */ sll $t7, $v1, 0x10 -.L8002B2F8: -/* 02BEF8 8002B2F8 000F1C03 */ sra $v1, $t7, 0x10 -/* 02BEFC 8002B2FC 00862021 */ addu $a0, $a0, $a2 -/* 02BF00 8002B300 0004CC00 */ sll $t9, $a0, 0x10 -/* 02BF04 8002B304 00A07825 */ move $t7, $a1 -/* 02BF08 8002B308 00197403 */ sra $t6, $t9, 0x10 -/* 02BF0C 8002B30C 000FC440 */ sll $t8, $t7, 0x11 -/* 02BF10 8002B310 0074082A */ slt $at, $v1, $s4 -/* 02BF14 8002B314 0018CC03 */ sra $t9, $t8, 0x10 -/* 02BF18 8002B318 01C02025 */ move $a0, $t6 -/* 02BF1C 8002B31C 14200007 */ bnez $at, .L8002B33C -/* 02BF20 8002B320 03202825 */ move $a1, $t9 -/* 02BF24 8002B324 028E082A */ slt $at, $s4, $t6 -/* 02BF28 8002B328 14200004 */ bnez $at, .L8002B33C -/* 02BF2C 8002B32C 00000000 */ nop -/* 02BF30 8002B330 02398825 */ or $s1, $s1, $t9 -/* 02BF34 8002B334 00117400 */ sll $t6, $s1, 0x10 -/* 02BF38 8002B338 000E8C03 */ sra $s1, $t6, 0x10 -.L8002B33C: -/* 02BF3C 8002B33C 00661821 */ addu $v1, $v1, $a2 -/* 02BF40 8002B340 0003C400 */ sll $t8, $v1, 0x10 -/* 02BF44 8002B344 00181C03 */ sra $v1, $t8, 0x10 -/* 02BF48 8002B348 00862021 */ addu $a0, $a0, $a2 -/* 02BF4C 8002B34C 00047400 */ sll $t6, $a0, 0x10 -/* 02BF50 8002B350 00A0C025 */ move $t8, $a1 -/* 02BF54 8002B354 0018CC40 */ sll $t9, $t8, 0x11 -/* 02BF58 8002B358 000E7C03 */ sra $t7, $t6, 0x10 -/* 02BF5C 8002B35C 00197403 */ sra $t6, $t9, 0x10 -/* 02BF60 8002B360 0074082A */ slt $at, $v1, $s4 -/* 02BF64 8002B364 01C02825 */ move $a1, $t6 -/* 02BF68 8002B368 14200007 */ bnez $at, .L8002B388 -/* 02BF6C 8002B36C 01E02025 */ move $a0, $t7 -/* 02BF70 8002B370 028F082A */ slt $at, $s4, $t7 -/* 02BF74 8002B374 14200004 */ bnez $at, .L8002B388 -/* 02BF78 8002B378 00000000 */ nop -/* 02BF7C 8002B37C 022E8825 */ or $s1, $s1, $t6 -/* 02BF80 8002B380 00117C00 */ sll $t7, $s1, 0x10 -/* 02BF84 8002B384 000F8C03 */ sra $s1, $t7, 0x10 -.L8002B388: -/* 02BF88 8002B388 00661821 */ addu $v1, $v1, $a2 -/* 02BF8C 8002B38C 0003CC00 */ sll $t9, $v1, 0x10 -/* 02BF90 8002B390 00191C03 */ sra $v1, $t9, 0x10 -/* 02BF94 8002B394 00862021 */ addu $a0, $a0, $a2 -/* 02BF98 8002B398 00047C00 */ sll $t7, $a0, 0x10 -/* 02BF9C 8002B39C 00A0C825 */ move $t9, $a1 -/* 02BFA0 8002B3A0 00197440 */ sll $t6, $t9, 0x11 -/* 02BFA4 8002B3A4 000FC403 */ sra $t8, $t7, 0x10 -/* 02BFA8 8002B3A8 000E7C03 */ sra $t7, $t6, 0x10 -/* 02BFAC 8002B3AC 0074082A */ slt $at, $v1, $s4 -/* 02BFB0 8002B3B0 01E02825 */ move $a1, $t7 -/* 02BFB4 8002B3B4 14200007 */ bnez $at, .L8002B3D4 -/* 02BFB8 8002B3B8 03002025 */ move $a0, $t8 -/* 02BFBC 8002B3BC 0298082A */ slt $at, $s4, $t8 -/* 02BFC0 8002B3C0 14200004 */ bnez $at, .L8002B3D4 -/* 02BFC4 8002B3C4 00000000 */ nop -/* 02BFC8 8002B3C8 022F8825 */ or $s1, $s1, $t7 -/* 02BFCC 8002B3CC 0011C400 */ sll $t8, $s1, 0x10 -/* 02BFD0 8002B3D0 00188C03 */ sra $s1, $t8, 0x10 -.L8002B3D4: -/* 02BFD4 8002B3D4 00661821 */ addu $v1, $v1, $a2 -/* 02BFD8 8002B3D8 00037400 */ sll $t6, $v1, 0x10 -/* 02BFDC 8002B3DC 000E1C03 */ sra $v1, $t6, 0x10 -/* 02BFE0 8002B3E0 00A07025 */ move $t6, $a1 -/* 02BFE4 8002B3E4 00862021 */ addu $a0, $a0, $a2 -/* 02BFE8 8002B3E8 0004C400 */ sll $t8, $a0, 0x10 -/* 02BFEC 8002B3EC 000E7C40 */ sll $t7, $t6, 0x11 -/* 02BFF0 8002B3F0 24E70004 */ addiu $a3, $a3, 4 -/* 02BFF4 8002B3F4 24010008 */ li $at, 8 -/* 02BFF8 8002B3F8 000F2C03 */ sra $a1, $t7, 0x10 -/* 02BFFC 8002B3FC 14E1FFB4 */ bne $a3, $at, .L8002B2D0 -/* 02C000 8002B400 00182403 */ sra $a0, $t8, 0x10 -/* 02C004 8002B404 87E50020 */ lh $a1, 0x20($ra) -/* 02C008 8002B408 00000000 */ nop -/* 02C00C 8002B40C 18A00097 */ blez $a1, .L8002B66C -/* 02C010 8002B410 00177080 */ sll $t6, $s7, 2 -.L8002B414: -/* 02C014 8002B414 8FF9000C */ lw $t9, 0xc($ra) -/* 02C018 8002B418 01D77023 */ subu $t6, $t6, $s7 -/* 02C01C 8002B41C 000E7080 */ sll $t6, $t6, 2 -/* 02C020 8002B420 3C0F800E */ lui $t7, %hi(gCurrentLevelModel) # $t7, 0x800e -/* 02C024 8002B424 8DEFC918 */ lw $t7, %lo(gCurrentLevelModel)($t7) -/* 02C028 8002B428 032E1821 */ addu $v1, $t9, $t6 -/* 02C02C 8002B42C 90790000 */ lbu $t9, ($v1) -/* 02C030 8002B430 8DF80000 */ lw $t8, ($t7) -/* 02C034 8002B434 001970C0 */ sll $t6, $t9, 3 -/* 02C038 8002B438 030E7821 */ addu $t7, $t8, $t6 -/* 02C03C 8002B43C 81F20007 */ lb $s2, 7($t7) -/* 02C040 8002B440 84640004 */ lh $a0, 4($v1) -/* 02C044 8002B444 846D0002 */ lh $t5, 2($v1) -/* 02C048 8002B448 84700010 */ lh $s0, 0x10($v1) -/* 02C04C 8002B44C 2401000B */ li $at, 11 -/* 02C050 8002B450 12410009 */ beq $s2, $at, .L8002B478 -/* 02C054 8002B454 2401000F */ li $at, 15 -/* 02C058 8002B458 12410008 */ beq $s2, $at, .L8002B47C -/* 02C05C 8002B45C 0090082A */ slt $at, $a0, $s0 -/* 02C060 8002B460 8C790008 */ lw $t9, 8($v1) -/* 02C064 8002B464 00000000 */ nop -/* 02C068 8002B468 33380300 */ andi $t8, $t9, 0x300 -/* 02C06C 8002B46C 13000003 */ beqz $t8, .L8002B47C -/* 02C070 8002B470 0090082A */ slt $at, $a0, $s0 -/* 02C074 8002B474 02002025 */ move $a0, $s0 -.L8002B478: -/* 02C078 8002B478 0090082A */ slt $at, $a0, $s0 -.L8002B47C: -/* 02C07C 8002B47C 10200077 */ beqz $at, .L8002B65C -/* 02C080 8002B480 00805025 */ move $t2, $a0 -.L8002B484: -/* 02C084 8002B484 8FEE0010 */ lw $t6, 0x10($ra) -/* 02C088 8002B488 000A7840 */ sll $t7, $t2, 1 -/* 02C08C 8002B48C 01CFC821 */ addu $t9, $t6, $t7 -/* 02C090 8002B490 87380000 */ lh $t8, ($t9) -/* 02C094 8002B494 00000000 */ nop -/* 02C098 8002B498 03117024 */ and $t6, $t8, $s1 -/* 02C09C 8002B49C 162E0069 */ bne $s1, $t6, .L8002B644 -/* 02C0A0 8002B4A0 00000000 */ nop -/* 02C0A4 8002B4A4 8FEF0004 */ lw $t7, 4($ra) -/* 02C0A8 8002B4A8 000AC900 */ sll $t9, $t2, 4 -/* 02C0AC 8002B4AC 01F92021 */ addu $a0, $t7, $t9 -/* 02C0B0 8002B4B0 90980001 */ lbu $t8, 1($a0) -/* 02C0B4 8002B4B4 90990002 */ lbu $t9, 2($a0) -/* 02C0B8 8002B4B8 030D7021 */ addu $t6, $t8, $t5 -/* 02C0BC 8002B4BC 01D30019 */ multu $t6, $s3 -/* 02C0C0 8002B4C0 032DC021 */ addu $t8, $t9, $t5 -/* 02C0C4 8002B4C4 8FE50000 */ lw $a1, ($ra) -/* 02C0C8 8002B4C8 00007812 */ mflo $t7 -/* 02C0CC 8002B4CC 01E51821 */ addu $v1, $t7, $a1 -/* 02C0D0 8002B4D0 908F0003 */ lbu $t7, 3($a0) -/* 02C0D4 8002B4D4 03130019 */ multu $t8, $s3 -/* 02C0D8 8002B4D8 01EDC821 */ addu $t9, $t7, $t5 -/* 02C0DC 8002B4DC 84660000 */ lh $a2, ($v1) -/* 02C0E0 8002B4E0 84670004 */ lh $a3, 4($v1) -/* 02C0E4 8002B4E4 00000000 */ nop -/* 02C0E8 8002B4E8 02872023 */ subu $a0, $s4, $a3 -/* 02C0EC 8002B4EC 00007012 */ mflo $t6 -/* 02C0F0 8002B4F0 01C51821 */ addu $v1, $t6, $a1 -/* 02C0F4 8002B4F4 84680000 */ lh $t0, ($v1) -/* 02C0F8 8002B4F8 03330019 */ multu $t9, $s3 -/* 02C0FC 8002B4FC 84690004 */ lh $t1, 4($v1) -/* 02C100 8002B500 0106C823 */ subu $t9, $t0, $a2 -/* 02C104 8002B504 01277023 */ subu $t6, $t1, $a3 -/* 02C108 8002B508 0000C012 */ mflo $t8 -/* 02C10C 8002B50C 03051821 */ addu $v1, $t8, $a1 -/* 02C110 8002B510 846B0000 */ lh $t3, ($v1) -/* 02C114 8002B514 846C0004 */ lh $t4, 4($v1) -/* 02C118 8002B518 02C61823 */ subu $v1, $s6, $a2 -/* 02C11C 8002B51C 006E0019 */ multu $v1, $t6 -/* 02C120 8002B520 00007812 */ mflo $t7 -/* 02C124 8002B524 00000000 */ nop -/* 02C128 8002B528 00000000 */ nop -/* 02C12C 8002B52C 03240019 */ multu $t9, $a0 -/* 02C130 8002B530 02C8C823 */ subu $t9, $s6, $t0 -/* 02C134 8002B534 0000C012 */ mflo $t8 -/* 02C138 8002B538 01F82823 */ subu $a1, $t7, $t8 -/* 02C13C 8002B53C 01897823 */ subu $t7, $t4, $t1 -/* 02C140 8002B540 032F0019 */ multu $t9, $t7 -/* 02C144 8002B544 28AE0000 */ slti $t6, $a1, 0 -/* 02C148 8002B548 39C50001 */ xori $a1, $t6, 1 -/* 02C14C 8002B54C 0289C823 */ subu $t9, $s4, $t1 -/* 02C150 8002B550 01687023 */ subu $t6, $t3, $t0 -/* 02C154 8002B554 0000C012 */ mflo $t8 -/* 02C158 8002B558 00000000 */ nop -/* 02C15C 8002B55C 00000000 */ nop -/* 02C160 8002B560 01D90019 */ multu $t6, $t9 -/* 02C164 8002B564 00007812 */ mflo $t7 -/* 02C168 8002B568 030F7023 */ subu $t6, $t8, $t7 -/* 02C16C 8002B56C 29D90000 */ slti $t9, $t6, 0 -/* 02C170 8002B570 3B390001 */ xori $t9, $t9, 1 -/* 02C174 8002B574 17250033 */ bne $t9, $a1, .L8002B644 -/* 02C178 8002B578 0187C023 */ subu $t8, $t4, $a3 -/* 02C17C 8002B57C 00780019 */ multu $v1, $t8 -/* 02C180 8002B580 01667023 */ subu $t6, $t3, $a2 -/* 02C184 8002B584 00007812 */ mflo $t7 -/* 02C188 8002B588 00000000 */ nop -/* 02C18C 8002B58C 00000000 */ nop -/* 02C190 8002B590 01C40019 */ multu $t6, $a0 -/* 02C194 8002B594 0000C812 */ mflo $t9 -/* 02C198 8002B598 01F9C023 */ subu $t8, $t7, $t9 -/* 02C19C 8002B59C 2B0E0000 */ slti $t6, $t8, 0 -/* 02C1A0 8002B5A0 39CE0001 */ xori $t6, $t6, 1 -/* 02C1A4 8002B5A4 10AE0027 */ beq $a1, $t6, .L8002B644 -/* 02C1A8 8002B5A8 00000000 */ nop -/* 02C1AC 8002B5AC 8FEF0014 */ lw $t7, 0x14($ra) -/* 02C1B0 8002B5B0 000AC8C0 */ sll $t9, $t2, 3 -/* 02C1B4 8002B5B4 01F9C021 */ addu $t8, $t7, $t9 -/* 02C1B8 8002B5B8 970F0000 */ lhu $t7, ($t8) -/* 02C1BC 8002B5BC 8FEE0018 */ lw $t6, 0x18($ra) -/* 02C1C0 8002B5C0 000FC900 */ sll $t9, $t7, 4 -/* 02C1C4 8002B5C4 01D91821 */ addu $v1, $t6, $t9 -/* 02C1C8 8002B5C8 C4600004 */ lwc1 $f0, 4($v1) -/* 02C1CC 8002B5CC C4620000 */ lwc1 $f2, ($v1) -/* 02C1D0 8002B5D0 46000221 */ cvt.d.s $f8, $f0 -/* 02C1D4 8002B5D4 46288032 */ c.eq.d $f16, $f8 -/* 02C1D8 8002B5D8 C46C0008 */ lwc1 $f12, 8($v1) -/* 02C1DC 8002B5DC C46E000C */ lwc1 $f14, 0xc($v1) -/* 02C1E0 8002B5E0 45010018 */ bc1t .L8002B644 -/* 02C1E4 8002B5E4 00000000 */ nop -/* 02C1E8 8002B5E8 46141282 */ mul.s $f10, $f2, $f20 -/* 02C1EC 8002B5EC 0015C080 */ sll $t8, $s5, 2 -/* 02C1F0 8002B5F0 0315C021 */ addu $t8, $t8, $s5 -/* 02C1F4 8002B5F4 3C0F8012 */ lui $t7, %hi(D_8011D128) # $t7, 0x8012 -/* 02C1F8 8002B5F8 46166482 */ mul.s $f18, $f12, $f22 -/* 02C1FC 8002B5FC 25EFD128 */ addiu $t7, %lo(D_8011D128) # addiu $t7, $t7, -0x2ed8 -/* 02C200 8002B600 0018C080 */ sll $t8, $t8, 2 -/* 02C204 8002B604 030F1821 */ addu $v1, $t8, $t7 -/* 02C208 8002B608 46125100 */ add.s $f4, $f10, $f18 -/* 02C20C 8002B60C 26B50001 */ addiu $s5, $s5, 1 -/* 02C210 8002B610 460E2180 */ add.s $f6, $f4, $f14 -/* 02C214 8002B614 2AA10014 */ slti $at, $s5, 0x14 -/* 02C218 8002B618 46003203 */ div.s $f8, $f6, $f0 -/* 02C21C 8002B61C A0720010 */ sb $s2, 0x10($v1) -/* 02C220 8002B620 E4620004 */ swc1 $f2, 4($v1) -/* 02C224 8002B624 E4600008 */ swc1 $f0, 8($v1) -/* 02C228 8002B628 E46C000C */ swc1 $f12, 0xc($v1) -/* 02C22C 8002B62C 46004287 */ neg.s $f10, $f8 -/* 02C230 8002B630 14200004 */ bnez $at, .L8002B644 -/* 02C234 8002B634 E46A0000 */ swc1 $f10, ($v1) -/* 02C238 8002B638 87F70020 */ lh $s7, 0x20($ra) -/* 02C23C 8002B63C 02005025 */ move $t2, $s0 -/* 02C240 8002B640 0040F025 */ move $fp, $v0 -.L8002B644: -/* 02C244 8002B644 254A0001 */ addiu $t2, $t2, 1 -/* 02C248 8002B648 0150082A */ slt $at, $t2, $s0 -/* 02C24C 8002B64C 1420FF8D */ bnez $at, .L8002B484 -/* 02C250 8002B650 00000000 */ nop -/* 02C254 8002B654 87E50020 */ lh $a1, 0x20($ra) -/* 02C258 8002B658 00000000 */ nop -.L8002B65C: -/* 02C25C 8002B65C 26F70001 */ addiu $s7, $s7, 1 -/* 02C260 8002B660 02E5082A */ slt $at, $s7, $a1 -/* 02C264 8002B664 1420FF6B */ bnez $at, .L8002B414 -/* 02C268 8002B668 00177080 */ sll $t6, $s7, 2 -.L8002B66C: -/* 02C26C 8002B66C 8FAE0108 */ lw $t6, 0x108($sp) -/* 02C270 8002B670 27DE0001 */ addiu $fp, $fp, 1 -/* 02C274 8002B674 03CE082A */ slt $at, $fp, $t6 -/* 02C278 8002B678 1420FED4 */ bnez $at, .L8002B1CC -/* 02C27C 8002B67C 001EC880 */ sll $t9, $fp, 2 -/* 02C280 8002B680 8FB00128 */ lw $s0, 0x128($sp) -/* 02C284 8002B684 00000000 */ nop -.L8002B688: -/* 02C288 8002B688 0600002C */ bltz $s0, .L8002B73C -/* 02C28C 8002B68C 3C0B800E */ lui $t3, %hi(gCurrentLevelModel) # $t3, 0x800e -/* 02C290 8002B690 8D6BC918 */ lw $t3, %lo(gCurrentLevelModel)($t3) -/* 02C294 8002B694 3C088012 */ lui $t0, %hi(D_8011D128) # $t0, 0x8012 -/* 02C298 8002B698 8579001A */ lh $t9, 0x1a($t3) -/* 02C29C 8002B69C 2508D128 */ addiu $t0, %lo(D_8011D128) # addiu $t0, $t0, -0x2ed8 -/* 02C2A0 8002B6A0 0219082A */ slt $at, $s0, $t9 -/* 02C2A4 8002B6A4 10200025 */ beqz $at, .L8002B73C -/* 02C2A8 8002B6A8 00107900 */ sll $t7, $s0, 4 -/* 02C2AC 8002B6AC 00151080 */ sll $v0, $s5, 2 -/* 02C2B0 8002B6B0 00551021 */ addu $v0, $v0, $s5 -/* 02C2B4 8002B6B4 8D780004 */ lw $t8, 4($t3) -/* 02C2B8 8002B6B8 01F07821 */ addu $t7, $t7, $s0 -/* 02C2BC 8002B6BC 00021080 */ sll $v0, $v0, 2 -/* 02C2C0 8002B6C0 000F7880 */ sll $t7, $t7, 2 -/* 02C2C4 8002B6C4 01021821 */ addu $v1, $t0, $v0 -/* 02C2C8 8002B6C8 240E000E */ li $t6, 14 -/* 02C2CC 8002B6CC A06E0010 */ sb $t6, 0x10($v1) -/* 02C2D0 8002B6D0 030FF821 */ addu $ra, $t8, $t7 -/* 02C2D4 8002B6D4 83F9002B */ lb $t9, 0x2b($ra) -/* 02C2D8 8002B6D8 3C188012 */ lui $t8, %hi(gWaveBlockCount) # $t8, 0x8012 -/* 02C2DC 8002B6DC 1320000D */ beqz $t9, .L8002B714 -/* 02C2E0 8002B6E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02C2E4 8002B6E4 8F18D384 */ lw $t8, %lo(gWaveBlockCount)($t8) -/* 02C2E8 8002B6E8 02002025 */ move $a0, $s0 -/* 02C2EC 8002B6EC 13000009 */ beqz $t8, .L8002B714 -/* 02C2F0 8002B6F0 00483821 */ addu $a3, $v0, $t0 -/* 02C2F4 8002B6F4 4405A000 */ mfc1 $a1, $f20 -/* 02C2F8 8002B6F8 4406B000 */ mfc1 $a2, $f22 -/* 02C2FC 8002B6FC 24E70004 */ addiu $a3, $a3, 4 -/* 02C300 8002B700 0C02ECBD */ jal func_800BB2F4 -/* 02C304 8002B704 AFA30064 */ sw $v1, 0x64($sp) -/* 02C308 8002B708 8FA30064 */ lw $v1, 0x64($sp) -/* 02C30C 8002B70C 1000000A */ b .L8002B738 -/* 02C310 8002B710 E4600000 */ swc1 $f0, ($v1) -.L8002B714: -/* 02C314 8002B714 87EF0038 */ lh $t7, 0x38($ra) -/* 02C318 8002B718 44800000 */ mtc1 $zero, $f0 -/* 02C31C 8002B71C 448F9000 */ mtc1 $t7, $f18 -/* 02C320 8002B720 44813000 */ mtc1 $at, $f6 -/* 02C324 8002B724 46809120 */ cvt.s.w $f4, $f18 -/* 02C328 8002B728 E4600004 */ swc1 $f0, 4($v1) -/* 02C32C 8002B72C E460000C */ swc1 $f0, 0xc($v1) -/* 02C330 8002B730 E4640000 */ swc1 $f4, ($v1) -/* 02C334 8002B734 E4660008 */ swc1 $f6, 8($v1) -.L8002B738: -/* 02C338 8002B738 26B50001 */ addiu $s5, $s5, 1 -.L8002B73C: -/* 02C33C 8002B73C 1AA0002F */ blez $s5, .L8002B7FC -/* 02C340 8002B740 00003825 */ move $a3, $zero -/* 02C344 8002B744 32A50003 */ andi $a1, $s5, 3 -/* 02C348 8002B748 10A0000F */ beqz $a1, .L8002B788 -/* 02C34C 8002B74C 00A02025 */ move $a0, $a1 -/* 02C350 8002B750 3C198012 */ lui $t9, %hi(gTrackWaves) # $t9, 0x8012 -/* 02C354 8002B754 3C0F8012 */ lui $t7, %hi(D_8011D128) # $t7, 0x8012 -/* 02C358 8002B758 25EFD128 */ addiu $t7, %lo(D_8011D128) # addiu $t7, $t7, -0x2ed8 -/* 02C35C 8002B75C 2739D2B8 */ addiu $t9, %lo(gTrackWaves) # addiu $t9, $t9, -0x2d48 -/* 02C360 8002B760 00007080 */ sll $t6, $zero, 2 -/* 02C364 8002B764 0000C100 */ sll $t8, $zero, 4 -/* 02C368 8002B768 030F1021 */ addu $v0, $t8, $t7 -/* 02C36C 8002B76C 01D91821 */ addu $v1, $t6, $t9 -.L8002B770: -/* 02C370 8002B770 AC620000 */ sw $v0, ($v1) -/* 02C374 8002B774 24E70001 */ addiu $a3, $a3, 1 -/* 02C378 8002B778 24420014 */ addiu $v0, $v0, 0x14 -/* 02C37C 8002B77C 1487FFFC */ bne $a0, $a3, .L8002B770 -/* 02C380 8002B780 24630004 */ addiu $v1, $v1, 4 -/* 02C384 8002B784 10F5001D */ beq $a3, $s5, .L8002B7FC -.L8002B788: -/* 02C388 8002B788 00157080 */ sll $t6, $s5, 2 -/* 02C38C 8002B78C 01D57021 */ addu $t6, $t6, $s5 -/* 02C390 8002B790 3C198012 */ lui $t9, %hi(D_8011D164) # $t9, 0x8012 -/* 02C394 8002B794 2739D164 */ addiu $t9, %lo(D_8011D164) # addiu $t9, $t9, -0x2e9c -/* 02C398 8002B798 000E7080 */ sll $t6, $t6, 2 -/* 02C39C 8002B79C 01D94021 */ addu $t0, $t6, $t9 -/* 02C3A0 8002B7A0 00077080 */ sll $t6, $a3, 2 -/* 02C3A4 8002B7A4 01C77021 */ addu $t6, $t6, $a3 -/* 02C3A8 8002B7A8 3C198012 */ lui $t9, %hi(D_8011D128) # $t9, 0x8012 -/* 02C3AC 8002B7AC 2739D128 */ addiu $t9, %lo(D_8011D128) # addiu $t9, $t9, -0x2ed8 -/* 02C3B0 8002B7B0 000E7080 */ sll $t6, $t6, 2 -/* 02C3B4 8002B7B4 01D91021 */ addu $v0, $t6, $t9 -/* 02C3B8 8002B7B8 3C0F8012 */ lui $t7, %hi(gTrackWaves) # $t7, 0x8012 -/* 02C3BC 8002B7BC 25EFD2B8 */ addiu $t7, %lo(gTrackWaves) # addiu $t7, $t7, -0x2d48 -/* 02C3C0 8002B7C0 0007C080 */ sll $t8, $a3, 2 -/* 02C3C4 8002B7C4 030F1821 */ addu $v1, $t8, $t7 -/* 02C3C8 8002B7C8 24450014 */ addiu $a1, $v0, 0x14 -/* 02C3CC 8002B7CC 24460028 */ addiu $a2, $v0, 0x28 -/* 02C3D0 8002B7D0 2444003C */ addiu $a0, $v0, 0x3c -.L8002B7D4: -/* 02C3D4 8002B7D4 AC64000C */ sw $a0, 0xc($v1) -/* 02C3D8 8002B7D8 24840050 */ addiu $a0, $a0, 0x50 -/* 02C3DC 8002B7DC AC620000 */ sw $v0, ($v1) -/* 02C3E0 8002B7E0 AC650004 */ sw $a1, 4($v1) -/* 02C3E4 8002B7E4 AC660008 */ sw $a2, 8($v1) -/* 02C3E8 8002B7E8 24C60050 */ addiu $a2, $a2, 0x50 -/* 02C3EC 8002B7EC 24A50050 */ addiu $a1, $a1, 0x50 -/* 02C3F0 8002B7F0 24420050 */ addiu $v0, $v0, 0x50 -/* 02C3F4 8002B7F4 1488FFF7 */ bne $a0, $t0, .L8002B7D4 -/* 02C3F8 8002B7F8 24630010 */ addiu $v1, $v1, 0x10 -.L8002B7FC: -/* 02C3FC 8002B7FC 26A9FFFF */ addiu $t1, $s5, -1 -/* 02C400 8002B800 24060001 */ li $a2, 1 -.L8002B804: -/* 02C404 8002B804 19200054 */ blez $t1, .L8002B958 -/* 02C408 8002B808 00003825 */ move $a3, $zero -/* 02C40C 8002B80C 26A2FFFF */ addiu $v0, $s5, -1 -/* 02C410 8002B810 30580003 */ andi $t8, $v0, 3 -/* 02C414 8002B814 13000014 */ beqz $t8, .L8002B868 -/* 02C418 8002B818 03004025 */ move $t0, $t8 -/* 02C41C 8002B81C 3C0E8012 */ lui $t6, %hi(gTrackWaves) # $t6, 0x8012 -/* 02C420 8002B820 25CED2B8 */ addiu $t6, %lo(gTrackWaves) # addiu $t6, $t6, -0x2d48 -/* 02C424 8002B824 00007880 */ sll $t7, $zero, 2 -/* 02C428 8002B828 01EE1821 */ addu $v1, $t7, $t6 -.L8002B82C: -/* 02C42C 8002B82C 8C650000 */ lw $a1, ($v1) -/* 02C430 8002B830 8C640004 */ lw $a0, 4($v1) -/* 02C434 8002B834 C4A80000 */ lwc1 $f8, ($a1) -/* 02C438 8002B838 C48A0000 */ lwc1 $f10, ($a0) -/* 02C43C 8002B83C 24E70001 */ addiu $a3, $a3, 1 -/* 02C440 8002B840 460A403C */ c.lt.s $f8, $f10 -/* 02C444 8002B844 00000000 */ nop -/* 02C448 8002B848 45000004 */ bc1f .L8002B85C -/* 02C44C 8002B84C 00000000 */ nop -/* 02C450 8002B850 00003025 */ move $a2, $zero -/* 02C454 8002B854 AC640000 */ sw $a0, ($v1) -/* 02C458 8002B858 AC650004 */ sw $a1, 4($v1) -.L8002B85C: -/* 02C45C 8002B85C 1507FFF3 */ bne $t0, $a3, .L8002B82C -/* 02C460 8002B860 24630004 */ addiu $v1, $v1, 4 -/* 02C464 8002B864 10E9003C */ beq $a3, $t1, .L8002B958 -.L8002B868: -/* 02C468 8002B868 3C188012 */ lui $t8, %hi(gTrackWaves) # $t8, 0x8012 -/* 02C46C 8002B86C 2718D2B8 */ addiu $t8, %lo(gTrackWaves) # addiu $t8, $t8, -0x2d48 -/* 02C470 8002B870 0009C880 */ sll $t9, $t1, 2 -/* 02C474 8002B874 00077880 */ sll $t7, $a3, 2 -/* 02C478 8002B878 01F81821 */ addu $v1, $t7, $t8 -/* 02C47C 8002B87C 03384021 */ addu $t0, $t9, $t8 -.L8002B880: -/* 02C480 8002B880 8C650000 */ lw $a1, ($v1) -/* 02C484 8002B884 8C640004 */ lw $a0, 4($v1) -/* 02C488 8002B888 C4B20000 */ lwc1 $f18, ($a1) -/* 02C48C 8002B88C C4800000 */ lwc1 $f0, ($a0) -/* 02C490 8002B890 00000000 */ nop -/* 02C494 8002B894 4600903C */ c.lt.s $f18, $f0 -/* 02C498 8002B898 00000000 */ nop -/* 02C49C 8002B89C 45000006 */ bc1f .L8002B8B8 -/* 02C4A0 8002B8A0 00000000 */ nop -/* 02C4A4 8002B8A4 AC640000 */ sw $a0, ($v1) -/* 02C4A8 8002B8A8 AC650004 */ sw $a1, 4($v1) -/* 02C4AC 8002B8AC C4A00000 */ lwc1 $f0, ($a1) -/* 02C4B0 8002B8B0 00003025 */ move $a2, $zero -/* 02C4B4 8002B8B4 00A02025 */ move $a0, $a1 -.L8002B8B8: -/* 02C4B8 8002B8B8 8C650008 */ lw $a1, 8($v1) -/* 02C4BC 8002B8BC 00000000 */ nop -/* 02C4C0 8002B8C0 C4A20000 */ lwc1 $f2, ($a1) -/* 02C4C4 8002B8C4 00000000 */ nop -/* 02C4C8 8002B8C8 4602003C */ c.lt.s $f0, $f2 -/* 02C4CC 8002B8CC 00000000 */ nop -/* 02C4D0 8002B8D0 45000006 */ bc1f .L8002B8EC -/* 02C4D4 8002B8D4 00000000 */ nop -/* 02C4D8 8002B8D8 AC650004 */ sw $a1, 4($v1) -/* 02C4DC 8002B8DC AC640008 */ sw $a0, 8($v1) -/* 02C4E0 8002B8E0 C4820000 */ lwc1 $f2, ($a0) -/* 02C4E4 8002B8E4 00802825 */ move $a1, $a0 -/* 02C4E8 8002B8E8 00003025 */ move $a2, $zero -.L8002B8EC: -/* 02C4EC 8002B8EC 8C64000C */ lw $a0, 0xc($v1) -/* 02C4F0 8002B8F0 00000000 */ nop -/* 02C4F4 8002B8F4 C4800000 */ lwc1 $f0, ($a0) -/* 02C4F8 8002B8F8 00000000 */ nop -/* 02C4FC 8002B8FC 4600103C */ c.lt.s $f2, $f0 -/* 02C500 8002B900 00000000 */ nop -/* 02C504 8002B904 45000006 */ bc1f .L8002B920 -/* 02C508 8002B908 00000000 */ nop -/* 02C50C 8002B90C AC640008 */ sw $a0, 8($v1) -/* 02C510 8002B910 AC65000C */ sw $a1, 0xc($v1) -/* 02C514 8002B914 C4A00000 */ lwc1 $f0, ($a1) -/* 02C518 8002B918 00A02025 */ move $a0, $a1 -/* 02C51C 8002B91C 00003025 */ move $a2, $zero -.L8002B920: -/* 02C520 8002B920 8C650010 */ lw $a1, 0x10($v1) -/* 02C524 8002B924 00000000 */ nop -/* 02C528 8002B928 C4A40000 */ lwc1 $f4, ($a1) -/* 02C52C 8002B92C 00000000 */ nop -/* 02C530 8002B930 4604003C */ c.lt.s $f0, $f4 -/* 02C534 8002B934 00000000 */ nop -/* 02C538 8002B938 45000004 */ bc1f .L8002B94C -/* 02C53C 8002B93C 00000000 */ nop -/* 02C540 8002B940 00003025 */ move $a2, $zero -/* 02C544 8002B944 AC65000C */ sw $a1, 0xc($v1) -/* 02C548 8002B948 AC640010 */ sw $a0, 0x10($v1) -.L8002B94C: -/* 02C54C 8002B94C 24630010 */ addiu $v1, $v1, 0x10 -/* 02C550 8002B950 1468FFCB */ bne $v1, $t0, .L8002B880 -/* 02C554 8002B954 00000000 */ nop -.L8002B958: -/* 02C558 8002B958 10C0FFAA */ beqz $a2, .L8002B804 -/* 02C55C 8002B95C 24060001 */ li $a2, 1 -/* 02C560 8002B960 8FB90134 */ lw $t9, 0x134($sp) -/* 02C564 8002B964 3C0E8012 */ lui $t6, %hi(gTrackWaves) # $t6, 0x8012 -/* 02C568 8002B968 25CED2B8 */ addiu $t6, %lo(gTrackWaves) # addiu $t6, $t6, -0x2d48 -/* 02C56C 8002B96C 3C018012 */ lui $at, %hi(D_8011D308) # $at, 0x8012 -/* 02C570 8002B970 AF2E0000 */ sw $t6, ($t9) -/* 02C574 8002B974 A035D308 */ sb $s5, %lo(D_8011D308)($at) -/* 02C578 8002B978 02A01025 */ move $v0, $s5 -.L8002B97C: -/* 02C57C 8002B97C 8FBF004C */ lw $ra, 0x4c($sp) -/* 02C580 8002B980 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 02C584 8002B984 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 02C588 8002B988 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 02C58C 8002B98C C7B60024 */ lwc1 $f22, 0x24($sp) -/* 02C590 8002B990 8FB00028 */ lw $s0, 0x28($sp) -/* 02C594 8002B994 8FB1002C */ lw $s1, 0x2c($sp) -/* 02C598 8002B998 8FB20030 */ lw $s2, 0x30($sp) -/* 02C59C 8002B99C 8FB30034 */ lw $s3, 0x34($sp) -/* 02C5A0 8002B9A0 8FB40038 */ lw $s4, 0x38($sp) -/* 02C5A4 8002B9A4 8FB5003C */ lw $s5, 0x3c($sp) -/* 02C5A8 8002B9A8 8FB60040 */ lw $s6, 0x40($sp) -/* 02C5AC 8002B9AC 8FB70044 */ lw $s7, 0x44($sp) -/* 02C5B0 8002B9B0 8FBE0048 */ lw $fp, 0x48($sp) -/* 02C5B4 8002B9B4 03E00008 */ jr $ra -/* 02C5B8 8002B9B8 27BD0128 */ addiu $sp, $sp, 0x128 - diff --git a/asm/non_matchings/tracks/func_8002BAB0.s b/asm/non_matchings/tracks/func_8002BAB0.s deleted file mode 100644 index ab5667c8..00000000 --- a/asm/non_matchings/tracks/func_8002BAB0.s +++ /dev/null @@ -1,418 +0,0 @@ -glabel func_8002BAB0 -/* 02C6B0 8002BAB0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 02C6B4 8002BAB4 AFB40020 */ sw $s4, 0x20($sp) -/* 02C6B8 8002BAB8 44856000 */ mtc1 $a1, $f12 -/* 02C6BC 8002BABC 44867000 */ mtc1 $a2, $f14 -/* 02C6C0 8002BAC0 00E0A025 */ move $s4, $a3 -/* 02C6C4 8002BAC4 AFBF0034 */ sw $ra, 0x34($sp) -/* 02C6C8 8002BAC8 AFBE0030 */ sw $fp, 0x30($sp) -/* 02C6CC 8002BACC AFB7002C */ sw $s7, 0x2c($sp) -/* 02C6D0 8002BAD0 AFB60028 */ sw $s6, 0x28($sp) -/* 02C6D4 8002BAD4 AFB50024 */ sw $s5, 0x24($sp) -/* 02C6D8 8002BAD8 AFB3001C */ sw $s3, 0x1c($sp) -/* 02C6DC 8002BADC AFB20018 */ sw $s2, 0x18($sp) -/* 02C6E0 8002BAE0 AFB10014 */ sw $s1, 0x14($sp) -/* 02C6E4 8002BAE4 AFB00010 */ sw $s0, 0x10($sp) -/* 02C6E8 8002BAE8 E7B50008 */ swc1 $f21, 8($sp) -/* 02C6EC 8002BAEC 04800009 */ bltz $a0, .L8002BB14 -/* 02C6F0 8002BAF0 E7B4000C */ swc1 $f20, 0xc($sp) -/* 02C6F4 8002BAF4 3C02800E */ lui $v0, %hi(gCurrentLevelModel) # $v0, 0x800e -/* 02C6F8 8002BAF8 8C42C918 */ lw $v0, %lo(gCurrentLevelModel)($v0) -/* 02C6FC 8002BAFC 0004C100 */ sll $t8, $a0, 4 -/* 02C700 8002BB00 844E001A */ lh $t6, 0x1a($v0) -/* 02C704 8002BB04 0304C021 */ addu $t8, $t8, $a0 -/* 02C708 8002BB08 008E082A */ slt $at, $a0, $t6 -/* 02C70C 8002BB0C 14200003 */ bnez $at, .L8002BB1C -/* 02C710 8002BB10 0018C080 */ sll $t8, $t8, 2 -.L8002BB14: -/* 02C714 8002BB14 1000015D */ b .L8002C08C -/* 02C718 8002BB18 00001025 */ move $v0, $zero -.L8002BB1C: -/* 02C71C 8002BB1C 00047080 */ sll $t6, $a0, 2 -/* 02C720 8002BB20 8C590008 */ lw $t9, 8($v0) -/* 02C724 8002BB24 01C47023 */ subu $t6, $t6, $a0 -/* 02C728 8002BB28 000E7080 */ sll $t6, $t6, 2 -/* 02C72C 8002BB2C 8C4F0004 */ lw $t7, 4($v0) -/* 02C730 8002BB30 032E1821 */ addu $v1, $t9, $t6 -/* 02C734 8002BB34 444EF800 */ cfc1 $t6, $31 -/* 02C738 8002BB38 01F86021 */ addu $t4, $t7, $t8 -/* 02C73C 8002BB3C 846F0006 */ lh $t7, 6($v1) -/* 02C740 8002BB40 84670000 */ lh $a3, ($v1) -/* 02C744 8002BB44 35C10003 */ ori $at, $t6, 3 -/* 02C748 8002BB48 38210002 */ xori $at, $at, 2 -/* 02C74C 8002BB4C 01E73023 */ subu $a2, $t7, $a3 -/* 02C750 8002BB50 44C1F800 */ ctc1 $at, $31 -/* 02C754 8002BB54 0006C0C3 */ sra $t8, $a2, 3 -/* 02C758 8002BB58 27060001 */ addiu $a2, $t8, 1 -/* 02C75C 8002BB5C 46006124 */ cvt.w.s $f4, $f12 -/* 02C760 8002BB60 0006CC00 */ sll $t9, $a2, 0x10 -/* 02C764 8002BB64 00193403 */ sra $a2, $t9, 0x10 -/* 02C768 8002BB68 00C74021 */ addu $t0, $a2, $a3 -/* 02C76C 8002BB6C 00074C00 */ sll $t1, $a3, 0x10 -/* 02C770 8002BB70 44CEF800 */ ctc1 $t6, $31 -/* 02C774 8002BB74 00087C00 */ sll $t7, $t0, 0x10 -/* 02C778 8002BB78 0009CC03 */ sra $t9, $t1, 0x10 -/* 02C77C 8002BB7C 44132000 */ mfc1 $s3, $f4 -/* 02C780 8002BB80 24050001 */ li $a1, 1 -/* 02C784 8002BB84 00008825 */ move $s1, $zero -/* 02C788 8002BB88 000F4403 */ sra $t0, $t7, 0x10 -/* 02C78C 8002BB8C 03204825 */ move $t1, $t9 -/* 02C790 8002BB90 00005025 */ move $t2, $zero -.L8002BB94: -/* 02C794 8002BB94 0113082A */ slt $at, $t0, $s3 -/* 02C798 8002BB98 14200007 */ bnez $at, .L8002BBB8 -/* 02C79C 8002BB9C 01064021 */ addu $t0, $t0, $a2 -/* 02C7A0 8002BBA0 0269082A */ slt $at, $s3, $t1 -/* 02C7A4 8002BBA4 14200005 */ bnez $at, .L8002BBBC -/* 02C7A8 8002BBA8 0008CC00 */ sll $t9, $t0, 0x10 -/* 02C7AC 8002BBAC 02258825 */ or $s1, $s1, $a1 -/* 02C7B0 8002BBB0 00117C00 */ sll $t7, $s1, 0x10 -/* 02C7B4 8002BBB4 000F8C03 */ sra $s1, $t7, 0x10 -.L8002BBB8: -/* 02C7B8 8002BBB8 0008CC00 */ sll $t9, $t0, 0x10 -.L8002BBBC: -/* 02C7BC 8002BBBC 00194403 */ sra $t0, $t9, 0x10 -/* 02C7C0 8002BBC0 254A0001 */ addiu $t2, $t2, 1 -/* 02C7C4 8002BBC4 01264821 */ addu $t1, $t1, $a2 -/* 02C7C8 8002BBC8 00A0C825 */ move $t9, $a1 -/* 02C7CC 8002BBCC 29410008 */ slti $at, $t2, 8 -/* 02C7D0 8002BBD0 00097C00 */ sll $t7, $t1, 0x10 -/* 02C7D4 8002BBD4 00197440 */ sll $t6, $t9, 0x11 -/* 02C7D8 8002BBD8 000F4C03 */ sra $t1, $t7, 0x10 -/* 02C7DC 8002BBDC 1420FFED */ bnez $at, .L8002BB94 -/* 02C7E0 8002BBE0 000E2C03 */ sra $a1, $t6, 0x10 -/* 02C7E4 8002BBE4 84620004 */ lh $v0, 4($v1) -/* 02C7E8 8002BBE8 8478000A */ lh $t8, 0xa($v1) -/* 02C7EC 8002BBEC 444FF800 */ cfc1 $t7, $31 -/* 02C7F0 8002BBF0 03023023 */ subu $a2, $t8, $v0 -/* 02C7F4 8002BBF4 35E10003 */ ori $at, $t7, 3 -/* 02C7F8 8002BBF8 0006C8C3 */ sra $t9, $a2, 3 -/* 02C7FC 8002BBFC 38210002 */ xori $at, $at, 2 -/* 02C800 8002BC00 44C1F800 */ ctc1 $at, $31 -/* 02C804 8002BC04 27260001 */ addiu $a2, $t9, 1 -/* 02C808 8002BC08 00067400 */ sll $t6, $a2, 0x10 -/* 02C80C 8002BC0C 460071A4 */ cvt.w.s $f6, $f14 -/* 02C810 8002BC10 000E3403 */ sra $a2, $t6, 0x10 -/* 02C814 8002BC14 00C24021 */ addu $t0, $a2, $v0 -/* 02C818 8002BC18 00024C00 */ sll $t1, $v0, 0x10 -/* 02C81C 8002BC1C 44CFF800 */ ctc1 $t7, $31 -/* 02C820 8002BC20 0008C400 */ sll $t8, $t0, 0x10 -/* 02C824 8002BC24 00097403 */ sra $t6, $t1, 0x10 -/* 02C828 8002BC28 44103000 */ mfc1 $s0, $f6 -/* 02C82C 8002BC2C 00184403 */ sra $t0, $t8, 0x10 -/* 02C830 8002BC30 01C04825 */ move $t1, $t6 -/* 02C834 8002BC34 24020008 */ li $v0, 8 -/* 02C838 8002BC38 00005025 */ move $t2, $zero -.L8002BC3C: -/* 02C83C 8002BC3C 0110082A */ slt $at, $t0, $s0 -/* 02C840 8002BC40 14200007 */ bnez $at, .L8002BC60 -/* 02C844 8002BC44 01064021 */ addu $t0, $t0, $a2 -/* 02C848 8002BC48 0209082A */ slt $at, $s0, $t1 -/* 02C84C 8002BC4C 14200005 */ bnez $at, .L8002BC64 -/* 02C850 8002BC50 00087400 */ sll $t6, $t0, 0x10 -/* 02C854 8002BC54 02258825 */ or $s1, $s1, $a1 -/* 02C858 8002BC58 0011C400 */ sll $t8, $s1, 0x10 -/* 02C85C 8002BC5C 00188C03 */ sra $s1, $t8, 0x10 -.L8002BC60: -/* 02C860 8002BC60 00087400 */ sll $t6, $t0, 0x10 -.L8002BC64: -/* 02C864 8002BC64 000E4403 */ sra $t0, $t6, 0x10 -/* 02C868 8002BC68 01264821 */ addu $t1, $t1, $a2 -/* 02C86C 8002BC6C 0009C400 */ sll $t8, $t1, 0x10 -/* 02C870 8002BC70 00A07025 */ move $t6, $a1 -/* 02C874 8002BC74 0018CC03 */ sra $t9, $t8, 0x10 -/* 02C878 8002BC78 000E7C40 */ sll $t7, $t6, 0x11 -/* 02C87C 8002BC7C 0110082A */ slt $at, $t0, $s0 -/* 02C880 8002BC80 000FC403 */ sra $t8, $t7, 0x10 -/* 02C884 8002BC84 03204825 */ move $t1, $t9 -/* 02C888 8002BC88 14200007 */ bnez $at, .L8002BCA8 -/* 02C88C 8002BC8C 03002825 */ move $a1, $t8 -/* 02C890 8002BC90 0219082A */ slt $at, $s0, $t9 -/* 02C894 8002BC94 14200004 */ bnez $at, .L8002BCA8 -/* 02C898 8002BC98 00000000 */ nop -/* 02C89C 8002BC9C 02388825 */ or $s1, $s1, $t8 -/* 02C8A0 8002BCA0 0011CC00 */ sll $t9, $s1, 0x10 -/* 02C8A4 8002BCA4 00198C03 */ sra $s1, $t9, 0x10 -.L8002BCA8: -/* 02C8A8 8002BCA8 01064021 */ addu $t0, $t0, $a2 -/* 02C8AC 8002BCAC 00087C00 */ sll $t7, $t0, 0x10 -/* 02C8B0 8002BCB0 000F4403 */ sra $t0, $t7, 0x10 -/* 02C8B4 8002BCB4 01264821 */ addu $t1, $t1, $a2 -/* 02C8B8 8002BCB8 0009CC00 */ sll $t9, $t1, 0x10 -/* 02C8BC 8002BCBC 00A07825 */ move $t7, $a1 -/* 02C8C0 8002BCC0 000FC440 */ sll $t8, $t7, 0x11 -/* 02C8C4 8002BCC4 00197403 */ sra $t6, $t9, 0x10 -/* 02C8C8 8002BCC8 0018CC03 */ sra $t9, $t8, 0x10 -/* 02C8CC 8002BCCC 0110082A */ slt $at, $t0, $s0 -/* 02C8D0 8002BCD0 03202825 */ move $a1, $t9 -/* 02C8D4 8002BCD4 14200007 */ bnez $at, .L8002BCF4 -/* 02C8D8 8002BCD8 01C04825 */ move $t1, $t6 -/* 02C8DC 8002BCDC 020E082A */ slt $at, $s0, $t6 -/* 02C8E0 8002BCE0 14200004 */ bnez $at, .L8002BCF4 -/* 02C8E4 8002BCE4 00000000 */ nop -/* 02C8E8 8002BCE8 02398825 */ or $s1, $s1, $t9 -/* 02C8EC 8002BCEC 00117400 */ sll $t6, $s1, 0x10 -/* 02C8F0 8002BCF0 000E8C03 */ sra $s1, $t6, 0x10 -.L8002BCF4: -/* 02C8F4 8002BCF4 01064021 */ addu $t0, $t0, $a2 -/* 02C8F8 8002BCF8 0008C400 */ sll $t8, $t0, 0x10 -/* 02C8FC 8002BCFC 00184403 */ sra $t0, $t8, 0x10 -/* 02C900 8002BD00 01264821 */ addu $t1, $t1, $a2 -/* 02C904 8002BD04 00097400 */ sll $t6, $t1, 0x10 -/* 02C908 8002BD08 00A0C025 */ move $t8, $a1 -/* 02C90C 8002BD0C 0018CC40 */ sll $t9, $t8, 0x11 -/* 02C910 8002BD10 000E7C03 */ sra $t7, $t6, 0x10 -/* 02C914 8002BD14 00197403 */ sra $t6, $t9, 0x10 -/* 02C918 8002BD18 0110082A */ slt $at, $t0, $s0 -/* 02C91C 8002BD1C 01C02825 */ move $a1, $t6 -/* 02C920 8002BD20 14200007 */ bnez $at, .L8002BD40 -/* 02C924 8002BD24 01E04825 */ move $t1, $t7 -/* 02C928 8002BD28 020F082A */ slt $at, $s0, $t7 -/* 02C92C 8002BD2C 14200004 */ bnez $at, .L8002BD40 -/* 02C930 8002BD30 00000000 */ nop -/* 02C934 8002BD34 022E8825 */ or $s1, $s1, $t6 -/* 02C938 8002BD38 00117C00 */ sll $t7, $s1, 0x10 -/* 02C93C 8002BD3C 000F8C03 */ sra $s1, $t7, 0x10 -.L8002BD40: -/* 02C940 8002BD40 01064021 */ addu $t0, $t0, $a2 -/* 02C944 8002BD44 0008CC00 */ sll $t9, $t0, 0x10 -/* 02C948 8002BD48 00194403 */ sra $t0, $t9, 0x10 -/* 02C94C 8002BD4C 00A0C825 */ move $t9, $a1 -/* 02C950 8002BD50 01264821 */ addu $t1, $t1, $a2 -/* 02C954 8002BD54 00097C00 */ sll $t7, $t1, 0x10 -/* 02C958 8002BD58 00197440 */ sll $t6, $t9, 0x11 -/* 02C95C 8002BD5C 254A0004 */ addiu $t2, $t2, 4 -/* 02C960 8002BD60 000E2C03 */ sra $a1, $t6, 0x10 -/* 02C964 8002BD64 1542FFB5 */ bne $t2, $v0, .L8002BC3C -/* 02C968 8002BD68 000F4C03 */ sra $t1, $t7, 0x10 -/* 02C96C 8002BD6C 85820020 */ lh $v0, 0x20($t4) -/* 02C970 8002BD70 00009025 */ move $s2, $zero -/* 02C974 8002BD74 1840007C */ blez $v0, .L8002BF68 -/* 02C978 8002BD78 0000A825 */ move $s5, $zero -/* 02C97C 8002BD7C 4480A800 */ mtc1 $zero, $f21 -/* 02C980 8002BD80 4480A000 */ mtc1 $zero, $f20 -/* 02C984 8002BD84 0000B025 */ move $s6, $zero -/* 02C988 8002BD88 240B000A */ li $t3, 10 -.L8002BD8C: -/* 02C98C 8002BD8C 8D98000C */ lw $t8, 0xc($t4) -/* 02C990 8002BD90 26B50001 */ addiu $s5, $s5, 1 -/* 02C994 8002BD94 03162021 */ addu $a0, $t8, $s6 -/* 02C998 8002BD98 84830004 */ lh $v1, 4($a0) -/* 02C99C 8002BD9C 848D0010 */ lh $t5, 0x10($a0) -/* 02C9A0 8002BDA0 84890002 */ lh $t1, 2($a0) -/* 02C9A4 8002BDA4 006D082A */ slt $at, $v1, $t5 -/* 02C9A8 8002BDA8 1020006C */ beqz $at, .L8002BF5C -/* 02C9AC 8002BDAC 00603025 */ move $a2, $v1 -/* 02C9B0 8002BDB0 00035040 */ sll $t2, $v1, 1 -.L8002BDB4: -/* 02C9B4 8002BDB4 8D990010 */ lw $t9, 0x10($t4) -/* 02C9B8 8002BDB8 00000000 */ nop -/* 02C9BC 8002BDBC 032A7021 */ addu $t6, $t9, $t2 -/* 02C9C0 8002BDC0 85CF0000 */ lh $t7, ($t6) -/* 02C9C4 8002BDC4 00000000 */ nop -/* 02C9C8 8002BDC8 01F1C024 */ and $t8, $t7, $s1 -/* 02C9CC 8002BDCC 1638005D */ bne $s1, $t8, .L8002BF44 -/* 02C9D0 8002BDD0 00000000 */ nop -/* 02C9D4 8002BDD4 8D990004 */ lw $t9, 4($t4) -/* 02C9D8 8002BDD8 00067100 */ sll $t6, $a2, 4 -/* 02C9DC 8002BDDC 032EF021 */ addu $fp, $t9, $t6 -/* 02C9E0 8002BDE0 93CF0001 */ lbu $t7, 1($fp) -/* 02C9E4 8002BDE4 93CE0002 */ lbu $t6, 2($fp) -/* 02C9E8 8002BDE8 01E9C021 */ addu $t8, $t7, $t1 -/* 02C9EC 8002BDEC 030B0019 */ multu $t8, $t3 -/* 02C9F0 8002BDF0 01C97821 */ addu $t7, $t6, $t1 -/* 02C9F4 8002BDF4 8D9F0000 */ lw $ra, ($t4) -/* 02C9F8 8002BDF8 0000C812 */ mflo $t9 -/* 02C9FC 8002BDFC 033FB821 */ addu $s7, $t9, $ra -/* 02CA00 8002BE00 93D90003 */ lbu $t9, 3($fp) -/* 02CA04 8002BE04 01EB0019 */ multu $t7, $t3 -/* 02CA08 8002BE08 03297021 */ addu $t6, $t9, $t1 -/* 02CA0C 8002BE0C 86E20000 */ lh $v0, ($s7) -/* 02CA10 8002BE10 86E30004 */ lh $v1, 4($s7) -/* 02CA14 8002BE14 00000000 */ nop -/* 02CA18 8002BE18 0203F023 */ subu $fp, $s0, $v1 -/* 02CA1C 8002BE1C 0000C012 */ mflo $t8 -/* 02CA20 8002BE20 031FB821 */ addu $s7, $t8, $ra -/* 02CA24 8002BE24 86E40000 */ lh $a0, ($s7) -/* 02CA28 8002BE28 01CB0019 */ multu $t6, $t3 -/* 02CA2C 8002BE2C 86E50004 */ lh $a1, 4($s7) -/* 02CA30 8002BE30 00827023 */ subu $t6, $a0, $v0 -/* 02CA34 8002BE34 00A3C023 */ subu $t8, $a1, $v1 -/* 02CA38 8002BE38 00007812 */ mflo $t7 -/* 02CA3C 8002BE3C 01FFB821 */ addu $s7, $t7, $ra -/* 02CA40 8002BE40 86E70000 */ lh $a3, ($s7) -/* 02CA44 8002BE44 86E80004 */ lh $t0, 4($s7) -/* 02CA48 8002BE48 0262B823 */ subu $s7, $s3, $v0 -/* 02CA4C 8002BE4C 02F80019 */ multu $s7, $t8 -/* 02CA50 8002BE50 0000C812 */ mflo $t9 -/* 02CA54 8002BE54 00000000 */ nop -/* 02CA58 8002BE58 00000000 */ nop -/* 02CA5C 8002BE5C 01DE0019 */ multu $t6, $fp -/* 02CA60 8002BE60 02647023 */ subu $t6, $s3, $a0 -/* 02CA64 8002BE64 00007812 */ mflo $t7 -/* 02CA68 8002BE68 032FF823 */ subu $ra, $t9, $t7 -/* 02CA6C 8002BE6C 0105C823 */ subu $t9, $t0, $a1 -/* 02CA70 8002BE70 01D90019 */ multu $t6, $t9 -/* 02CA74 8002BE74 2BF80000 */ slti $t8, $ra, 0 -/* 02CA78 8002BE78 3B1F0001 */ xori $ra, $t8, 1 -/* 02CA7C 8002BE7C 02057023 */ subu $t6, $s0, $a1 -/* 02CA80 8002BE80 00E4C023 */ subu $t8, $a3, $a0 -/* 02CA84 8002BE84 00007812 */ mflo $t7 -/* 02CA88 8002BE88 00000000 */ nop -/* 02CA8C 8002BE8C 00000000 */ nop -/* 02CA90 8002BE90 030E0019 */ multu $t8, $t6 -/* 02CA94 8002BE94 0000C812 */ mflo $t9 -/* 02CA98 8002BE98 01F9C023 */ subu $t8, $t7, $t9 -/* 02CA9C 8002BE9C 2B0E0000 */ slti $t6, $t8, 0 -/* 02CAA0 8002BEA0 39CE0001 */ xori $t6, $t6, 1 -/* 02CAA4 8002BEA4 15DF0027 */ bne $t6, $ra, .L8002BF44 -/* 02CAA8 8002BEA8 01037823 */ subu $t7, $t0, $v1 -/* 02CAAC 8002BEAC 02EF0019 */ multu $s7, $t7 -/* 02CAB0 8002BEB0 00E2C023 */ subu $t8, $a3, $v0 -/* 02CAB4 8002BEB4 0000C812 */ mflo $t9 -/* 02CAB8 8002BEB8 00000000 */ nop -/* 02CABC 8002BEBC 00000000 */ nop -/* 02CAC0 8002BEC0 031E0019 */ multu $t8, $fp -/* 02CAC4 8002BEC4 00007012 */ mflo $t6 -/* 02CAC8 8002BEC8 032E7823 */ subu $t7, $t9, $t6 -/* 02CACC 8002BECC 29F80000 */ slti $t8, $t7, 0 -/* 02CAD0 8002BED0 3B180001 */ xori $t8, $t8, 1 -/* 02CAD4 8002BED4 13F8001B */ beq $ra, $t8, .L8002BF44 -/* 02CAD8 8002BED8 00000000 */ nop -/* 02CADC 8002BEDC 8D990014 */ lw $t9, 0x14($t4) -/* 02CAE0 8002BEE0 000670C0 */ sll $t6, $a2, 3 -/* 02CAE4 8002BEE4 032E7821 */ addu $t7, $t9, $t6 -/* 02CAE8 8002BEE8 95F90000 */ lhu $t9, ($t7) -/* 02CAEC 8002BEEC 8D980018 */ lw $t8, 0x18($t4) -/* 02CAF0 8002BEF0 00197100 */ sll $t6, $t9, 4 -/* 02CAF4 8002BEF4 030E1821 */ addu $v1, $t8, $t6 -/* 02CAF8 8002BEF8 C4620004 */ lwc1 $f2, 4($v1) -/* 02CAFC 8002BEFC C4600000 */ lwc1 $f0, ($v1) -/* 02CB00 8002BF00 46001221 */ cvt.d.s $f8, $f2 -/* 02CB04 8002BF04 4628A032 */ c.eq.d $f20, $f8 -/* 02CB08 8002BF08 C4700008 */ lwc1 $f16, 8($v1) -/* 02CB0C 8002BF0C C472000C */ lwc1 $f18, 0xc($v1) -/* 02CB10 8002BF10 4501000C */ bc1t .L8002BF44 -/* 02CB14 8002BF14 00000000 */ nop -/* 02CB18 8002BF18 460C0282 */ mul.s $f10, $f0, $f12 -/* 02CB1C 8002BF1C 00127880 */ sll $t7, $s2, 2 -/* 02CB20 8002BF20 028FC821 */ addu $t9, $s4, $t7 -/* 02CB24 8002BF24 26520001 */ addiu $s2, $s2, 1 -/* 02CB28 8002BF28 460E8102 */ mul.s $f4, $f16, $f14 -/* 02CB2C 8002BF2C 46045180 */ add.s $f6, $f10, $f4 -/* 02CB30 8002BF30 46123200 */ add.s $f8, $f6, $f18 -/* 02CB34 8002BF34 00000000 */ nop -/* 02CB38 8002BF38 46024283 */ div.s $f10, $f8, $f2 -/* 02CB3C 8002BF3C 46005107 */ neg.s $f4, $f10 -/* 02CB40 8002BF40 E7240000 */ swc1 $f4, ($t9) -.L8002BF44: -/* 02CB44 8002BF44 24C60001 */ addiu $a2, $a2, 1 -/* 02CB48 8002BF48 00CD082A */ slt $at, $a2, $t5 -/* 02CB4C 8002BF4C 1420FF99 */ bnez $at, .L8002BDB4 -/* 02CB50 8002BF50 254A0002 */ addiu $t2, $t2, 2 -/* 02CB54 8002BF54 85820020 */ lh $v0, 0x20($t4) -/* 02CB58 8002BF58 00000000 */ nop -.L8002BF5C: -/* 02CB5C 8002BF5C 02A2082A */ slt $at, $s5, $v0 -/* 02CB60 8002BF60 1420FF8A */ bnez $at, .L8002BD8C -/* 02CB64 8002BF64 26D6000C */ addiu $s6, $s6, 0xc -.L8002BF68: -/* 02CB68 8002BF68 2644FFFF */ addiu $a0, $s2, -1 -/* 02CB6C 8002BF6C 24030001 */ li $v1, 1 -.L8002BF70: -/* 02CB70 8002BF70 18800043 */ blez $a0, .L8002C080 -/* 02CB74 8002BF74 00001025 */ move $v0, $zero -/* 02CB78 8002BF78 2647FFFF */ addiu $a3, $s2, -1 -/* 02CB7C 8002BF7C 30F80003 */ andi $t8, $a3, 3 -/* 02CB80 8002BF80 13000010 */ beqz $t8, .L8002BFC4 -/* 02CB84 8002BF84 03003025 */ move $a2, $t8 -/* 02CB88 8002BF88 00007080 */ sll $t6, $zero, 2 -/* 02CB8C 8002BF8C 028E2821 */ addu $a1, $s4, $t6 -.L8002BF90: -/* 02CB90 8002BF90 C4A00004 */ lwc1 $f0, 4($a1) -/* 02CB94 8002BF94 C4A20000 */ lwc1 $f2, ($a1) -/* 02CB98 8002BF98 24420001 */ addiu $v0, $v0, 1 -/* 02CB9C 8002BF9C 4602003C */ c.lt.s $f0, $f2 -/* 02CBA0 8002BFA0 00000000 */ nop -/* 02CBA4 8002BFA4 45000004 */ bc1f .L8002BFB8 -/* 02CBA8 8002BFA8 00000000 */ nop -/* 02CBAC 8002BFAC 00001825 */ move $v1, $zero -/* 02CBB0 8002BFB0 E4A00000 */ swc1 $f0, ($a1) -/* 02CBB4 8002BFB4 E4A20004 */ swc1 $f2, 4($a1) -.L8002BFB8: -/* 02CBB8 8002BFB8 14C2FFF5 */ bne $a2, $v0, .L8002BF90 -/* 02CBBC 8002BFBC 24A50004 */ addiu $a1, $a1, 4 -/* 02CBC0 8002BFC0 1044002F */ beq $v0, $a0, .L8002C080 -.L8002BFC4: -/* 02CBC4 8002BFC4 00027880 */ sll $t7, $v0, 2 -/* 02CBC8 8002BFC8 0004C880 */ sll $t9, $a0, 2 -/* 02CBCC 8002BFCC 03343021 */ addu $a2, $t9, $s4 -/* 02CBD0 8002BFD0 028F2821 */ addu $a1, $s4, $t7 -.L8002BFD4: -/* 02CBD4 8002BFD4 C4A00004 */ lwc1 $f0, 4($a1) -/* 02CBD8 8002BFD8 C4A20000 */ lwc1 $f2, ($a1) -/* 02CBDC 8002BFDC 00000000 */ nop -/* 02CBE0 8002BFE0 4602003C */ c.lt.s $f0, $f2 -/* 02CBE4 8002BFE4 00000000 */ nop -/* 02CBE8 8002BFE8 45000005 */ bc1f .L8002C000 -/* 02CBEC 8002BFEC 00000000 */ nop -/* 02CBF0 8002BFF0 E4A00000 */ swc1 $f0, ($a1) -/* 02CBF4 8002BFF4 E4A20004 */ swc1 $f2, 4($a1) -/* 02CBF8 8002BFF8 C4A00004 */ lwc1 $f0, 4($a1) -/* 02CBFC 8002BFFC 00001825 */ move $v1, $zero -.L8002C000: -/* 02CC00 8002C000 C4A20008 */ lwc1 $f2, 8($a1) -/* 02CC04 8002C004 00000000 */ nop -/* 02CC08 8002C008 4600103C */ c.lt.s $f2, $f0 -/* 02CC0C 8002C00C 00000000 */ nop -/* 02CC10 8002C010 45000005 */ bc1f .L8002C028 -/* 02CC14 8002C014 00000000 */ nop -/* 02CC18 8002C018 E4A20004 */ swc1 $f2, 4($a1) -/* 02CC1C 8002C01C E4A00008 */ swc1 $f0, 8($a1) -/* 02CC20 8002C020 C4A20008 */ lwc1 $f2, 8($a1) -/* 02CC24 8002C024 00001825 */ move $v1, $zero -.L8002C028: -/* 02CC28 8002C028 C4A0000C */ lwc1 $f0, 0xc($a1) -/* 02CC2C 8002C02C 00000000 */ nop -/* 02CC30 8002C030 4602003C */ c.lt.s $f0, $f2 -/* 02CC34 8002C034 00000000 */ nop -/* 02CC38 8002C038 45000005 */ bc1f .L8002C050 -/* 02CC3C 8002C03C 00000000 */ nop -/* 02CC40 8002C040 E4A00008 */ swc1 $f0, 8($a1) -/* 02CC44 8002C044 E4A2000C */ swc1 $f2, 0xc($a1) -/* 02CC48 8002C048 C4A0000C */ lwc1 $f0, 0xc($a1) -/* 02CC4C 8002C04C 00001825 */ move $v1, $zero -.L8002C050: -/* 02CC50 8002C050 C4A20010 */ lwc1 $f2, 0x10($a1) -/* 02CC54 8002C054 00000000 */ nop -/* 02CC58 8002C058 4600103C */ c.lt.s $f2, $f0 -/* 02CC5C 8002C05C 00000000 */ nop -/* 02CC60 8002C060 45000004 */ bc1f .L8002C074 -/* 02CC64 8002C064 00000000 */ nop -/* 02CC68 8002C068 00001825 */ move $v1, $zero -/* 02CC6C 8002C06C E4A2000C */ swc1 $f2, 0xc($a1) -/* 02CC70 8002C070 E4A00010 */ swc1 $f0, 0x10($a1) -.L8002C074: -/* 02CC74 8002C074 24A50010 */ addiu $a1, $a1, 0x10 -/* 02CC78 8002C078 14A6FFD6 */ bne $a1, $a2, .L8002BFD4 -/* 02CC7C 8002C07C 00000000 */ nop -.L8002C080: -/* 02CC80 8002C080 1060FFBB */ beqz $v1, .L8002BF70 -/* 02CC84 8002C084 24030001 */ li $v1, 1 -/* 02CC88 8002C088 02401025 */ move $v0, $s2 -.L8002C08C: -/* 02CC8C 8002C08C 8FBF0034 */ lw $ra, 0x34($sp) -/* 02CC90 8002C090 C7B50008 */ lwc1 $f21, 8($sp) -/* 02CC94 8002C094 C7B4000C */ lwc1 $f20, 0xc($sp) -/* 02CC98 8002C098 8FB00010 */ lw $s0, 0x10($sp) -/* 02CC9C 8002C09C 8FB10014 */ lw $s1, 0x14($sp) -/* 02CCA0 8002C0A0 8FB20018 */ lw $s2, 0x18($sp) -/* 02CCA4 8002C0A4 8FB3001C */ lw $s3, 0x1c($sp) -/* 02CCA8 8002C0A8 8FB40020 */ lw $s4, 0x20($sp) -/* 02CCAC 8002C0AC 8FB50024 */ lw $s5, 0x24($sp) -/* 02CCB0 8002C0B0 8FB60028 */ lw $s6, 0x28($sp) -/* 02CCB4 8002C0B4 8FB7002C */ lw $s7, 0x2c($sp) -/* 02CCB8 8002C0B8 8FBE0030 */ lw $fp, 0x30($sp) -/* 02CCBC 8002C0BC 03E00008 */ jr $ra -/* 02CCC0 8002C0C0 27BD0038 */ addiu $sp, $sp, 0x38 - diff --git a/asm/non_matchings/tracks/func_8002C0C4.s b/asm/non_matchings/tracks/func_8002C0C4.s deleted file mode 100644 index ce5ed1ee..00000000 --- a/asm/non_matchings/tracks/func_8002C0C4.s +++ /dev/null @@ -1,432 +0,0 @@ -.rdata -glabel D_800E5E38 -.asciz "ERROR!! TrackMem overflow .. %d\n" -.ascii "\0\0\0" # padding - -.text -glabel func_8002C0C4 -/* 02CCC4 8002C0C4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 02CCC8 8002C0C8 AFB2001C */ sw $s2, 0x1c($sp) -/* 02CCCC 8002C0CC 00809025 */ move $s2, $a0 -/* 02CCD0 8002C0D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 02CCD4 8002C0D4 3C0400FF */ lui $a0, (0x00FF00FF >> 16) # lui $a0, 0xff -/* 02CCD8 8002C0D8 AFB50028 */ sw $s5, 0x28($sp) -/* 02CCDC 8002C0DC AFB40024 */ sw $s4, 0x24($sp) -/* 02CCE0 8002C0E0 AFB30020 */ sw $s3, 0x20($sp) -/* 02CCE4 8002C0E4 AFB10018 */ sw $s1, 0x18($sp) -/* 02CCE8 8002C0E8 AFB00014 */ sw $s0, 0x14($sp) -/* 02CCEC 8002C0EC 0C01ECDD */ jal set_texture_colour_tag -/* 02CCF0 8002C0F0 348400FF */ ori $a0, (0x00FF00FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 02CCF4 8002C0F4 3C150008 */ lui $s5, (0x00082A00 >> 16) # lui $s5, 8 -/* 02CCF8 8002C0F8 36B52A00 */ ori $s5, (0x00082A00 & 0xFFFF) # ori $s5, $s5, 0x2a00 -/* 02CCFC 8002C0FC 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff -/* 02CD00 8002C100 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff -/* 02CD04 8002C104 0C01C327 */ jal mempool_alloc_safe -/* 02CD08 8002C108 02A02025 */ move $a0, $s5 -/* 02CD0C 8002C10C 3C038012 */ lui $v1, %hi(gTrackModelHeap) # $v1, 0x8012 -/* 02CD10 8002C110 3C11800E */ lui $s1, %hi(gCurrentLevelModel) # $s1, 0x800e -/* 02CD14 8002C114 2631C918 */ addiu $s1, %lo(gCurrentLevelModel) # addiu $s1, $s1, -0x36e8 -/* 02CD18 8002C118 2463D30C */ addiu $v1, %lo(gTrackModelHeap) # addiu $v1, $v1, -0x2cf4 -/* 02CD1C 8002C11C 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff -/* 02CD20 8002C120 AC620000 */ sw $v0, ($v1) -/* 02CD24 8002C124 AE220000 */ sw $v0, ($s1) -/* 02CD28 8002C128 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff -/* 02CD2C 8002C12C 0C01C327 */ jal mempool_alloc_safe -/* 02CD30 8002C130 240407D0 */ li $a0, 2000 -/* 02CD34 8002C134 3C018012 */ lui $at, %hi(D_8011D370) # $at, 0x8012 -/* 02CD38 8002C138 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff -/* 02CD3C 8002C13C AC22D370 */ sw $v0, %lo(D_8011D370)($at) -/* 02CD40 8002C140 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff -/* 02CD44 8002C144 0C01C327 */ jal mempool_alloc_safe -/* 02CD48 8002C148 240401F4 */ li $a0, 500 -/* 02CD4C 8002C14C 3C018012 */ lui $at, %hi(D_8011D374) # $at, 0x8012 -/* 02CD50 8002C150 AC22D374 */ sw $v0, %lo(D_8011D374)($at) -/* 02CD54 8002C154 3C018012 */ lui $at, %hi(D_8011D378) # $at, 0x8012 -/* 02CD58 8002C158 AC20D378 */ sw $zero, %lo(D_8011D378)($at) -/* 02CD5C 8002C15C 0C01DB16 */ jal load_asset_section_from_rom -/* 02CD60 8002C160 2404001A */ li $a0, 26 -/* 02CD64 8002C164 3C148012 */ lui $s4, %hi(gLevelModelTable) # $s4, 0x8012 -/* 02CD68 8002C168 2694D310 */ addiu $s4, %lo(gLevelModelTable) # addiu $s4, $s4, -0x2cf0 -/* 02CD6C 8002C16C AE820000 */ sw $v0, ($s4) -/* 02CD70 8002C170 8C4F0000 */ lw $t7, ($v0) -/* 02CD74 8002C174 2403FFFF */ li $v1, -1 -/* 02CD78 8002C178 00006025 */ move $t4, $zero -/* 02CD7C 8002C17C 106F0005 */ beq $v1, $t7, .L8002C194 -/* 02CD80 8002C180 00404025 */ move $t0, $v0 -.L8002C184: -/* 02CD84 8002C184 8C580004 */ lw $t8, 4($v0) -/* 02CD88 8002C188 258C0001 */ addiu $t4, $t4, 1 -/* 02CD8C 8002C18C 1478FFFD */ bne $v1, $t8, .L8002C184 -/* 02CD90 8002C190 24420004 */ addiu $v0, $v0, 4 -.L8002C194: -/* 02CD94 8002C194 258CFFFF */ addiu $t4, $t4, -1 -/* 02CD98 8002C198 024C082A */ slt $at, $s2, $t4 -/* 02CD9C 8002C19C 14200002 */ bnez $at, .L8002C1A8 -/* 02CDA0 8002C1A0 2404001B */ li $a0, 27 -/* 02CDA4 8002C1A4 00009025 */ move $s2, $zero -.L8002C1A8: -/* 02CDA8 8002C1A8 0012C880 */ sll $t9, $s2, 2 -/* 02CDAC 8002C1AC 01191021 */ addu $v0, $t0, $t9 -/* 02CDB0 8002C1B0 8C460000 */ lw $a2, ($v0) -/* 02CDB4 8002C1B4 8C4D0004 */ lw $t5, 4($v0) -/* 02CDB8 8002C1B8 8E300000 */ lw $s0, ($s1) -/* 02CDBC 8002C1BC 01A69823 */ subu $s3, $t5, $a2 -/* 02CDC0 8002C1C0 02157021 */ addu $t6, $s0, $s5 -/* 02CDC4 8002C1C4 01D38023 */ subu $s0, $t6, $s3 -/* 02CDC8 8002C1C8 06010004 */ bgez $s0, .L8002C1DC -/* 02CDCC 8002C1CC 320F000F */ andi $t7, $s0, 0xf -/* 02CDD0 8002C1D0 11E00002 */ beqz $t7, .L8002C1DC -/* 02CDD4 8002C1D4 00000000 */ nop -/* 02CDD8 8002C1D8 25EFFFF0 */ addiu $t7, $t7, -0x10 -.L8002C1DC: -/* 02CDDC 8002C1DC 020F8023 */ subu $s0, $s0, $t7 -/* 02CDE0 8002C1E0 02002825 */ move $a1, $s0 -/* 02CDE4 8002C1E4 0C01DB9A */ jal load_asset_to_address -/* 02CDE8 8002C1E8 02603825 */ move $a3, $s3 -/* 02CDEC 8002C1EC 8E250000 */ lw $a1, ($s1) -/* 02CDF0 8002C1F0 0C031886 */ jal gzip_inflate -/* 02CDF4 8002C1F4 02002025 */ move $a0, $s0 -/* 02CDF8 8002C1F8 8E840000 */ lw $a0, ($s4) -/* 02CDFC 8002C1FC 0C01C450 */ jal mempool_free -/* 02CE00 8002C200 00000000 */ nop -/* 02CE04 8002C204 8E320000 */ lw $s2, ($s1) -/* 02CE08 8002C208 00008025 */ move $s0, $zero -/* 02CE0C 8002C20C 8E580000 */ lw $t8, ($s2) -/* 02CE10 8002C210 02403025 */ move $a2, $s2 -/* 02CE14 8002C214 0312C821 */ addu $t9, $t8, $s2 -/* 02CE18 8002C218 AE590000 */ sw $t9, ($s2) -/* 02CE1C 8002C21C 8E320000 */ lw $s2, ($s1) -/* 02CE20 8002C220 00000000 */ nop -/* 02CE24 8002C224 8E4D0004 */ lw $t5, 4($s2) -/* 02CE28 8002C228 00000000 */ nop -/* 02CE2C 8002C22C 01A67021 */ addu $t6, $t5, $a2 -/* 02CE30 8002C230 AE4E0004 */ sw $t6, 4($s2) -/* 02CE34 8002C234 8E320000 */ lw $s2, ($s1) -/* 02CE38 8002C238 00000000 */ nop -/* 02CE3C 8002C23C 8E4F0008 */ lw $t7, 8($s2) -/* 02CE40 8002C240 00000000 */ nop -/* 02CE44 8002C244 01E6C021 */ addu $t8, $t7, $a2 -/* 02CE48 8002C248 AE580008 */ sw $t8, 8($s2) -/* 02CE4C 8002C24C 8E320000 */ lw $s2, ($s1) -/* 02CE50 8002C250 00000000 */ nop -/* 02CE54 8002C254 8E59000C */ lw $t9, 0xc($s2) -/* 02CE58 8002C258 00000000 */ nop -/* 02CE5C 8002C25C 03266821 */ addu $t5, $t9, $a2 -/* 02CE60 8002C260 AE4D000C */ sw $t5, 0xc($s2) -/* 02CE64 8002C264 8E320000 */ lw $s2, ($s1) -/* 02CE68 8002C268 00000000 */ nop -/* 02CE6C 8002C26C 8E4E0010 */ lw $t6, 0x10($s2) -/* 02CE70 8002C270 00000000 */ nop -/* 02CE74 8002C274 01C67821 */ addu $t7, $t6, $a2 -/* 02CE78 8002C278 AE4F0010 */ sw $t7, 0x10($s2) -/* 02CE7C 8002C27C 8E320000 */ lw $s2, ($s1) -/* 02CE80 8002C280 00000000 */ nop -/* 02CE84 8002C284 8E580014 */ lw $t8, 0x14($s2) -/* 02CE88 8002C288 00000000 */ nop -/* 02CE8C 8002C28C 0306C821 */ addu $t9, $t8, $a2 -/* 02CE90 8002C290 AE590014 */ sw $t9, 0x14($s2) -/* 02CE94 8002C294 8E320000 */ lw $s2, ($s1) -/* 02CE98 8002C298 00000000 */ nop -/* 02CE9C 8002C29C 8643001A */ lh $v1, 0x1a($s2) -/* 02CEA0 8002C2A0 00000000 */ nop -/* 02CEA4 8002C2A4 1860002B */ blez $v1, .L8002C354 -/* 02CEA8 8002C2A8 00009825 */ move $s3, $zero -.L8002C2AC: -/* 02CEAC 8002C2AC 8E4D0004 */ lw $t5, 4($s2) -/* 02CEB0 8002C2B0 26100001 */ addiu $s0, $s0, 1 -/* 02CEB4 8002C2B4 01B31021 */ addu $v0, $t5, $s3 -/* 02CEB8 8002C2B8 8C4E0000 */ lw $t6, ($v0) -/* 02CEBC 8002C2BC 00000000 */ nop -/* 02CEC0 8002C2C0 01C67821 */ addu $t7, $t6, $a2 -/* 02CEC4 8002C2C4 AC4F0000 */ sw $t7, ($v0) -/* 02CEC8 8002C2C8 8E380000 */ lw $t8, ($s1) -/* 02CECC 8002C2CC 00000000 */ nop -/* 02CED0 8002C2D0 8F190004 */ lw $t9, 4($t8) -/* 02CED4 8002C2D4 00000000 */ nop -/* 02CED8 8002C2D8 03331021 */ addu $v0, $t9, $s3 -/* 02CEDC 8002C2DC 8C4D0004 */ lw $t5, 4($v0) -/* 02CEE0 8002C2E0 00000000 */ nop -/* 02CEE4 8002C2E4 01A67021 */ addu $t6, $t5, $a2 -/* 02CEE8 8002C2E8 AC4E0004 */ sw $t6, 4($v0) -/* 02CEEC 8002C2EC 8E2F0000 */ lw $t7, ($s1) -/* 02CEF0 8002C2F0 00000000 */ nop -/* 02CEF4 8002C2F4 8DF80004 */ lw $t8, 4($t7) -/* 02CEF8 8002C2F8 00000000 */ nop -/* 02CEFC 8002C2FC 03131021 */ addu $v0, $t8, $s3 -/* 02CF00 8002C300 8C59000C */ lw $t9, 0xc($v0) -/* 02CF04 8002C304 00000000 */ nop -/* 02CF08 8002C308 03266821 */ addu $t5, $t9, $a2 -/* 02CF0C 8002C30C AC4D000C */ sw $t5, 0xc($v0) -/* 02CF10 8002C310 8E2E0000 */ lw $t6, ($s1) -/* 02CF14 8002C314 00000000 */ nop -/* 02CF18 8002C318 8DCF0004 */ lw $t7, 4($t6) -/* 02CF1C 8002C31C 00000000 */ nop -/* 02CF20 8002C320 01F31021 */ addu $v0, $t7, $s3 -/* 02CF24 8002C324 8C580014 */ lw $t8, 0x14($v0) -/* 02CF28 8002C328 26730044 */ addiu $s3, $s3, 0x44 -/* 02CF2C 8002C32C 0306C821 */ addu $t9, $t8, $a2 -/* 02CF30 8002C330 AC590014 */ sw $t9, 0x14($v0) -/* 02CF34 8002C334 8E320000 */ lw $s2, ($s1) -/* 02CF38 8002C338 00000000 */ nop -/* 02CF3C 8002C33C 8643001A */ lh $v1, 0x1a($s2) -/* 02CF40 8002C340 00000000 */ nop -/* 02CF44 8002C344 0203082A */ slt $at, $s0, $v1 -/* 02CF48 8002C348 1420FFD8 */ bnez $at, .L8002C2AC -/* 02CF4C 8002C34C 00000000 */ nop -/* 02CF50 8002C350 00008025 */ move $s0, $zero -.L8002C354: -/* 02CF54 8002C354 864D0018 */ lh $t5, 0x18($s2) -/* 02CF58 8002C358 00009825 */ move $s3, $zero -/* 02CF5C 8002C35C 19A00018 */ blez $t5, .L8002C3C0 -/* 02CF60 8002C360 00000000 */ nop -.L8002C364: -/* 02CF64 8002C364 8E4E0000 */ lw $t6, ($s2) -/* 02CF68 8002C368 00000000 */ nop -/* 02CF6C 8002C36C 01D37821 */ addu $t7, $t6, $s3 -/* 02CF70 8002C370 8DE40000 */ lw $a0, ($t7) -/* 02CF74 8002C374 00000000 */ nop -/* 02CF78 8002C378 34988000 */ ori $t8, $a0, 0x8000 -/* 02CF7C 8002C37C 0C01EB9D */ jal load_texture -/* 02CF80 8002C380 03002025 */ move $a0, $t8 -/* 02CF84 8002C384 8E390000 */ lw $t9, ($s1) -/* 02CF88 8002C388 26100001 */ addiu $s0, $s0, 1 -/* 02CF8C 8002C38C 8F2D0000 */ lw $t5, ($t9) -/* 02CF90 8002C390 00000000 */ nop -/* 02CF94 8002C394 01B37021 */ addu $t6, $t5, $s3 -/* 02CF98 8002C398 ADC20000 */ sw $v0, ($t6) -/* 02CF9C 8002C39C 8E320000 */ lw $s2, ($s1) -/* 02CFA0 8002C3A0 26730008 */ addiu $s3, $s3, 8 -/* 02CFA4 8002C3A4 864F0018 */ lh $t7, 0x18($s2) -/* 02CFA8 8002C3A8 00000000 */ nop -/* 02CFAC 8002C3AC 020F082A */ slt $at, $s0, $t7 -/* 02CFB0 8002C3B0 1420FFEC */ bnez $at, .L8002C364 -/* 02CFB4 8002C3B4 00000000 */ nop -/* 02CFB8 8002C3B8 8643001A */ lh $v1, 0x1a($s2) -/* 02CFBC 8002C3BC 00008025 */ move $s0, $zero -.L8002C3C0: -/* 02CFC0 8002C3C0 8E580048 */ lw $t8, 0x48($s2) -/* 02CFC4 8002C3C4 02401025 */ move $v0, $s2 -/* 02CFC8 8002C3C8 18600048 */ blez $v1, .L8002C4EC -/* 02CFCC 8002C3CC 0258A021 */ addu $s4, $s2, $t8 -/* 02CFD0 8002C3D0 00009825 */ move $s3, $zero -/* 02CFD4 8002C3D4 0000A825 */ move $s5, $zero -.L8002C3D8: -/* 02CFD8 8002C3D8 8E590004 */ lw $t9, 4($s2) -/* 02CFDC 8002C3DC 00000000 */ nop -/* 02CFE0 8002C3E0 03336821 */ addu $t5, $t9, $s3 -/* 02CFE4 8002C3E4 ADB40010 */ sw $s4, 0x10($t5) -/* 02CFE8 8002C3E8 8E2E0000 */ lw $t6, ($s1) -/* 02CFEC 8002C3EC 00000000 */ nop -/* 02CFF0 8002C3F0 8DCF0004 */ lw $t7, 4($t6) -/* 02CFF4 8002C3F4 00000000 */ nop -/* 02CFF8 8002C3F8 01F3C021 */ addu $t8, $t7, $s3 -/* 02CFFC 8002C3FC 8719001E */ lh $t9, 0x1e($t8) -/* 02D000 8002C400 00000000 */ nop -/* 02D004 8002C404 00196840 */ sll $t5, $t9, 1 -/* 02D008 8002C408 0C01C614 */ jal align16 -/* 02D00C 8002C40C 01B42021 */ addu $a0, $t5, $s4 -/* 02D010 8002C410 8E2E0000 */ lw $t6, ($s1) -/* 02D014 8002C414 0040A025 */ move $s4, $v0 -/* 02D018 8002C418 8DCF0004 */ lw $t7, 4($t6) -/* 02D01C 8002C41C 00000000 */ nop -/* 02D020 8002C420 01F3C021 */ addu $t8, $t7, $s3 -/* 02D024 8002C424 AF020018 */ sw $v0, 0x18($t8) -/* 02D028 8002C428 8E390000 */ lw $t9, ($s1) -/* 02D02C 8002C42C 00000000 */ nop -/* 02D030 8002C430 8F2D0004 */ lw $t5, 4($t9) -/* 02D034 8002C434 0C00B30C */ jal func_8002CC30 -/* 02D038 8002C438 01B32021 */ addu $a0, $t5, $s3 -/* 02D03C 8002C43C 8E320000 */ lw $s2, ($s1) -/* 02D040 8002C440 0054A021 */ addu $s4, $v0, $s4 -/* 02D044 8002C444 8E4E0004 */ lw $t6, 4($s2) -/* 02D048 8002C448 8E4F0008 */ lw $t7, 8($s2) -/* 02D04C 8002C44C 02003025 */ move $a2, $s0 -/* 02D050 8002C450 01D32021 */ addu $a0, $t6, $s3 -/* 02D054 8002C454 0C00B255 */ jal func_8002C954 -/* 02D058 8002C458 01F52821 */ addu $a1, $t7, $s5 -/* 02D05C 8002C45C 8E380000 */ lw $t8, ($s1) -/* 02D060 8002C460 00000000 */ nop -/* 02D064 8002C464 8F190004 */ lw $t9, 4($t8) -/* 02D068 8002C468 00000000 */ nop -/* 02D06C 8002C46C 03336821 */ addu $t5, $t9, $s3 -/* 02D070 8002C470 A5A00030 */ sh $zero, 0x30($t5) -/* 02D074 8002C474 8E2E0000 */ lw $t6, ($s1) -/* 02D078 8002C478 00000000 */ nop -/* 02D07C 8002C47C 8DCF0004 */ lw $t7, 4($t6) -/* 02D080 8002C480 00000000 */ nop -/* 02D084 8002C484 01F3C021 */ addu $t8, $t7, $s3 -/* 02D088 8002C488 AF140034 */ sw $s4, 0x34($t8) -/* 02D08C 8002C48C 8E390000 */ lw $t9, ($s1) -/* 02D090 8002C490 00000000 */ nop -/* 02D094 8002C494 8F2D0004 */ lw $t5, 4($t9) -/* 02D098 8002C498 0C00B1C7 */ jal func_8002C71C -/* 02D09C 8002C49C 01B32021 */ addu $a0, $t5, $s3 -/* 02D0A0 8002C4A0 8E2E0000 */ lw $t6, ($s1) -/* 02D0A4 8002C4A4 00000000 */ nop -/* 02D0A8 8002C4A8 8DCF0004 */ lw $t7, 4($t6) -/* 02D0AC 8002C4AC 00000000 */ nop -/* 02D0B0 8002C4B0 01F3C021 */ addu $t8, $t7, $s3 -/* 02D0B4 8002C4B4 87190032 */ lh $t9, 0x32($t8) -/* 02D0B8 8002C4B8 00000000 */ nop -/* 02D0BC 8002C4BC 00196840 */ sll $t5, $t9, 1 -/* 02D0C0 8002C4C0 0C01C614 */ jal align16 -/* 02D0C4 8002C4C4 01B42021 */ addu $a0, $t5, $s4 -/* 02D0C8 8002C4C8 8E320000 */ lw $s2, ($s1) -/* 02D0CC 8002C4CC 26100001 */ addiu $s0, $s0, 1 -/* 02D0D0 8002C4D0 864E001A */ lh $t6, 0x1a($s2) -/* 02D0D4 8002C4D4 26730044 */ addiu $s3, $s3, 0x44 -/* 02D0D8 8002C4D8 020E082A */ slt $at, $s0, $t6 -/* 02D0DC 8002C4DC 26B5000C */ addiu $s5, $s5, 0xc -/* 02D0E0 8002C4E0 1420FFBD */ bnez $at, .L8002C3D8 -/* 02D0E4 8002C4E4 0040A025 */ move $s4, $v0 -/* 02D0E8 8002C4E8 02401025 */ move $v0, $s2 -.L8002C4EC: -/* 02D0EC 8002C4EC 3C010008 */ lui $at, (0x00082A01 >> 16) # lui $at, 8 -/* 02D0F0 8002C4F0 02829823 */ subu $s3, $s4, $v0 -/* 02D0F4 8002C4F4 34212A01 */ ori $at, (0x00082A01 & 0xFFFF) # ori $at, $at, 0x2a01 -/* 02D0F8 8002C4F8 0261082A */ slt $at, $s3, $at -/* 02D0FC 8002C4FC 14200004 */ bnez $at, .L8002C510 -/* 02D100 8002C500 3C04800E */ lui $a0, %hi(D_800E5E38) # $a0, 0x800e -/* 02D104 8002C504 24845E38 */ addiu $a0, %lo(D_800E5E38) # addiu $a0, $a0, 0x5e38 -/* 02D108 8002C508 0C032755 */ jal rmonPrintf -/* 02D10C 8002C50C 02602825 */ move $a1, $s3 -.L8002C510: -/* 02D110 8002C510 0C01C42C */ jal mempool_free_timer -/* 02D114 8002C514 00002025 */ move $a0, $zero -/* 02D118 8002C518 3C048012 */ lui $a0, %hi(gTrackModelHeap) # $a0, 0x8012 -/* 02D11C 8002C51C 8C84D30C */ lw $a0, %lo(gTrackModelHeap)($a0) -/* 02D120 8002C520 0C01C450 */ jal mempool_free -/* 02D124 8002C524 00000000 */ nop -/* 02D128 8002C528 3C058012 */ lui $a1, %hi(gTrackModelHeap) # $a1, 0x8012 -/* 02D12C 8002C52C 8CA5D30C */ lw $a1, %lo(gTrackModelHeap)($a1) -/* 02D130 8002C530 3C06FFFF */ lui $a2, (0xFFFF00FF >> 16) # lui $a2, 0xffff -/* 02D134 8002C534 34C600FF */ ori $a2, (0xFFFF00FF & 0xFFFF) # ori $a2, $a2, 0xff -/* 02D138 8002C538 0C01C3BE */ jal mempool_alloc_fixed -/* 02D13C 8002C53C 02602025 */ move $a0, $s3 -/* 02D140 8002C540 0C01C42C */ jal mempool_free_timer -/* 02D144 8002C544 24040002 */ li $a0, 2 -/* 02D148 8002C548 8E240000 */ lw $a0, ($s1) -/* 02D14C 8002C54C 0C02A0ED */ jal minimap_init -/* 02D150 8002C550 00000000 */ nop -/* 02D154 8002C554 8E320000 */ lw $s2, ($s1) -/* 02D158 8002C558 00006025 */ move $t4, $zero -/* 02D15C 8002C55C 8643001A */ lh $v1, 0x1a($s2) -/* 02D160 8002C560 00002825 */ move $a1, $zero -/* 02D164 8002C564 18600061 */ blez $v1, .L8002C6EC -/* 02D168 8002C568 3C0B0800 */ lui $t3, 0x800 -/* 02D16C 8002C56C 8E460004 */ lw $a2, 4($s2) -/* 02D170 8002C570 240A0001 */ li $t2, 1 -/* 02D174 8002C574 24070080 */ li $a3, 128 -.L8002C578: -/* 02D178 8002C578 84C20020 */ lh $v0, 0x20($a2) -/* 02D17C 8002C57C 258C0001 */ addiu $t4, $t4, 1 -/* 02D180 8002C580 18400056 */ blez $v0, .L8002C6DC -/* 02D184 8002C584 00009825 */ move $s3, $zero -/* 02D188 8002C588 8CC4000C */ lw $a0, 0xc($a2) -/* 02D18C 8002C58C 00004025 */ move $t0, $zero -.L8002C590: -/* 02D190 8002C590 84900002 */ lh $s0, 2($a0) -/* 02D194 8002C594 8489000E */ lh $t1, 0xe($a0) -/* 02D198 8002C598 26730001 */ addiu $s3, $s3, 1 -/* 02D19C 8002C59C 0209082A */ slt $at, $s0, $t1 -/* 02D1A0 8002C5A0 10200049 */ beqz $at, .L8002C6C8 -/* 02D1A4 8002C5A4 0262082A */ slt $at, $s3, $v0 -/* 02D1A8 8002C5A8 00101080 */ sll $v0, $s0, 2 -/* 02D1AC 8002C5AC 00501021 */ addu $v0, $v0, $s0 -/* 02D1B0 8002C5B0 00021040 */ sll $v0, $v0, 1 -.L8002C5B4: -/* 02D1B4 8002C5B4 8CCF0000 */ lw $t7, ($a2) -/* 02D1B8 8002C5B8 26100001 */ addiu $s0, $s0, 1 -/* 02D1BC 8002C5BC 01E21821 */ addu $v1, $t7, $v0 -/* 02D1C0 8002C5C0 90780006 */ lbu $t8, 6($v1) -/* 02D1C4 8002C5C4 00000000 */ nop -/* 02D1C8 8002C5C8 1558003A */ bne $t2, $t8, .L8002C6B4 -/* 02D1CC 8002C5CC 0209082A */ slt $at, $s0, $t1 -/* 02D1D0 8002C5D0 90790007 */ lbu $t9, 7($v1) -/* 02D1D4 8002C5D4 00000000 */ nop -/* 02D1D8 8002C5D8 15590036 */ bne $t2, $t9, .L8002C6B4 -/* 02D1DC 8002C5DC 0209082A */ slt $at, $s0, $t1 -/* 02D1E0 8002C5E0 906D0008 */ lbu $t5, 8($v1) -/* 02D1E4 8002C5E4 00000000 */ nop -/* 02D1E8 8002C5E8 A06D0009 */ sb $t5, 9($v1) -/* 02D1EC 8002C5EC 8E2E0000 */ lw $t6, ($s1) -/* 02D1F0 8002C5F0 00000000 */ nop -/* 02D1F4 8002C5F4 8DCF0004 */ lw $t7, 4($t6) -/* 02D1F8 8002C5F8 00000000 */ nop -/* 02D1FC 8002C5FC 01E5C021 */ addu $t8, $t7, $a1 -/* 02D200 8002C600 8F190000 */ lw $t9, ($t8) -/* 02D204 8002C604 00000000 */ nop -/* 02D208 8002C608 03226821 */ addu $t5, $t9, $v0 -/* 02D20C 8002C60C A1A70006 */ sb $a3, 6($t5) -/* 02D210 8002C610 8E2E0000 */ lw $t6, ($s1) -/* 02D214 8002C614 00000000 */ nop -/* 02D218 8002C618 8DCF0004 */ lw $t7, 4($t6) -/* 02D21C 8002C61C 00000000 */ nop -/* 02D220 8002C620 01E5C021 */ addu $t8, $t7, $a1 -/* 02D224 8002C624 8F190000 */ lw $t9, ($t8) -/* 02D228 8002C628 00000000 */ nop -/* 02D22C 8002C62C 03226821 */ addu $t5, $t9, $v0 -/* 02D230 8002C630 A1A70007 */ sb $a3, 7($t5) -/* 02D234 8002C634 8E2E0000 */ lw $t6, ($s1) -/* 02D238 8002C638 00000000 */ nop -/* 02D23C 8002C63C 8DCF0004 */ lw $t7, 4($t6) -/* 02D240 8002C640 00000000 */ nop -/* 02D244 8002C644 01E5C021 */ addu $t8, $t7, $a1 -/* 02D248 8002C648 8F190000 */ lw $t9, ($t8) -/* 02D24C 8002C64C 00000000 */ nop -/* 02D250 8002C650 03226821 */ addu $t5, $t9, $v0 -/* 02D254 8002C654 A1A70008 */ sb $a3, 8($t5) -/* 02D258 8002C658 8E2E0000 */ lw $t6, ($s1) -/* 02D25C 8002C65C 00000000 */ nop -/* 02D260 8002C660 8DCF0004 */ lw $t7, 4($t6) -/* 02D264 8002C664 00000000 */ nop -/* 02D268 8002C668 01E5C021 */ addu $t8, $t7, $a1 -/* 02D26C 8002C66C 8F19000C */ lw $t9, 0xc($t8) -/* 02D270 8002C670 00000000 */ nop -/* 02D274 8002C674 03282021 */ addu $a0, $t9, $t0 -/* 02D278 8002C678 8C8D0008 */ lw $t5, 8($a0) -/* 02D27C 8002C67C 00000000 */ nop -/* 02D280 8002C680 01AB7025 */ or $t6, $t5, $t3 -/* 02D284 8002C684 AC8E0008 */ sw $t6, 8($a0) -/* 02D288 8002C688 8E320000 */ lw $s2, ($s1) -/* 02D28C 8002C68C 00000000 */ nop -/* 02D290 8002C690 8E4F0004 */ lw $t7, 4($s2) -/* 02D294 8002C694 00000000 */ nop -/* 02D298 8002C698 01E53021 */ addu $a2, $t7, $a1 -/* 02D29C 8002C69C 8CD8000C */ lw $t8, 0xc($a2) -/* 02D2A0 8002C6A0 00000000 */ nop -/* 02D2A4 8002C6A4 03082021 */ addu $a0, $t8, $t0 -/* 02D2A8 8002C6A8 8489000E */ lh $t1, 0xe($a0) -/* 02D2AC 8002C6AC 00000000 */ nop -/* 02D2B0 8002C6B0 0209082A */ slt $at, $s0, $t1 -.L8002C6B4: -/* 02D2B4 8002C6B4 1420FFBF */ bnez $at, .L8002C5B4 -/* 02D2B8 8002C6B8 2442000A */ addiu $v0, $v0, 0xa -/* 02D2BC 8002C6BC 84C20020 */ lh $v0, 0x20($a2) -/* 02D2C0 8002C6C0 00000000 */ nop -/* 02D2C4 8002C6C4 0262082A */ slt $at, $s3, $v0 -.L8002C6C8: -/* 02D2C8 8002C6C8 2508000C */ addiu $t0, $t0, 0xc -/* 02D2CC 8002C6CC 1420FFB0 */ bnez $at, .L8002C590 -/* 02D2D0 8002C6D0 2484000C */ addiu $a0, $a0, 0xc -/* 02D2D4 8002C6D4 8643001A */ lh $v1, 0x1a($s2) -/* 02D2D8 8002C6D8 00000000 */ nop -.L8002C6DC: -/* 02D2DC 8002C6DC 0183082A */ slt $at, $t4, $v1 -/* 02D2E0 8002C6E0 24A50044 */ addiu $a1, $a1, 0x44 -/* 02D2E4 8002C6E4 1420FFA4 */ bnez $at, .L8002C578 -/* 02D2E8 8002C6E8 24C60044 */ addiu $a2, $a2, 0x44 -.L8002C6EC: -/* 02D2EC 8002C6EC 3C04FF00 */ lui $a0, (0xFF00FFFF >> 16) # lui $a0, 0xff00 -/* 02D2F0 8002C6F0 0C01ECDD */ jal set_texture_colour_tag -/* 02D2F4 8002C6F4 3484FFFF */ ori $a0, (0xFF00FFFF & 0xFFFF) # ori $a0, $a0, 0xffff -/* 02D2F8 8002C6F8 8FBF002C */ lw $ra, 0x2c($sp) -/* 02D2FC 8002C6FC 8FB00014 */ lw $s0, 0x14($sp) -/* 02D300 8002C700 8FB10018 */ lw $s1, 0x18($sp) -/* 02D304 8002C704 8FB2001C */ lw $s2, 0x1c($sp) -/* 02D308 8002C708 8FB30020 */ lw $s3, 0x20($sp) -/* 02D30C 8002C70C 8FB40024 */ lw $s4, 0x24($sp) -/* 02D310 8002C710 8FB50028 */ lw $s5, 0x28($sp) -/* 02D314 8002C714 03E00008 */ jr $ra -/* 02D318 8002C718 27BD0030 */ addiu $sp, $sp, 0x30 - diff --git a/asm/non_matchings/tracks/func_8002CC30.s b/asm/non_matchings/tracks/func_8002CC30.s deleted file mode 100644 index 364f8434..00000000 --- a/asm/non_matchings/tracks/func_8002CC30.s +++ /dev/null @@ -1,462 +0,0 @@ -glabel func_8002CC30 -/* 02D830 8002CC30 27BDFF00 */ addiu $sp, $sp, -0x100 -/* 02D834 8002CC34 AFBF006C */ sw $ra, 0x6c($sp) -/* 02D838 8002CC38 AFBE0068 */ sw $fp, 0x68($sp) -/* 02D83C 8002CC3C AFB70064 */ sw $s7, 0x64($sp) -/* 02D840 8002CC40 AFB60060 */ sw $s6, 0x60($sp) -/* 02D844 8002CC44 AFB5005C */ sw $s5, 0x5c($sp) -/* 02D848 8002CC48 AFB40058 */ sw $s4, 0x58($sp) -/* 02D84C 8002CC4C AFB30054 */ sw $s3, 0x54($sp) -/* 02D850 8002CC50 AFB20050 */ sw $s2, 0x50($sp) -/* 02D854 8002CC54 AFB1004C */ sw $s1, 0x4c($sp) -/* 02D858 8002CC58 AFB00048 */ sw $s0, 0x48($sp) -/* 02D85C 8002CC5C E7BF0040 */ swc1 $f31, 0x40($sp) -/* 02D860 8002CC60 E7BE0044 */ swc1 $f30, 0x44($sp) -/* 02D864 8002CC64 E7BD0038 */ swc1 $f29, 0x38($sp) -/* 02D868 8002CC68 E7BC003C */ swc1 $f28, 0x3c($sp) -/* 02D86C 8002CC6C E7BB0030 */ swc1 $f27, 0x30($sp) -/* 02D870 8002CC70 E7BA0034 */ swc1 $f26, 0x34($sp) -/* 02D874 8002CC74 E7B90028 */ swc1 $f25, 0x28($sp) -/* 02D878 8002CC78 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 02D87C 8002CC7C E7B70020 */ swc1 $f23, 0x20($sp) -/* 02D880 8002CC80 E7B60024 */ swc1 $f22, 0x24($sp) -/* 02D884 8002CC84 E7B50018 */ swc1 $f21, 0x18($sp) -/* 02D888 8002CC88 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 02D88C 8002CC8C AFA000EC */ sw $zero, 0xec($sp) -/* 02D890 8002CC90 84850020 */ lh $a1, 0x20($a0) -/* 02D894 8002CC94 00809025 */ move $s2, $a0 -/* 02D898 8002CC98 18A0009F */ blez $a1, .L8002CF18 -/* 02D89C 8002CC9C 0000A025 */ move $s4, $zero -/* 02D8A0 8002CCA0 AFA00074 */ sw $zero, 0x74($sp) -/* 02D8A4 8002CCA4 2408000A */ li $t0, 10 -.L8002CCA8: -/* 02D8A8 8002CCA8 8E4E000C */ lw $t6, 0xc($s2) -/* 02D8AC 8002CCAC 8FAF0074 */ lw $t7, 0x74($sp) -/* 02D8B0 8002CCB0 00000000 */ nop -/* 02D8B4 8002CCB4 01CF1021 */ addu $v0, $t6, $t7 -/* 02D8B8 8002CCB8 84430004 */ lh $v1, 4($v0) -/* 02D8BC 8002CCBC 84580010 */ lh $t8, 0x10($v0) -/* 02D8C0 8002CCC0 845E0002 */ lh $fp, 2($v0) -/* 02D8C4 8002CCC4 0078082A */ slt $at, $v1, $t8 -/* 02D8C8 8002CCC8 1020008B */ beqz $at, .L8002CEF8 -/* 02D8CC 8002CCCC AFB800F4 */ sw $t8, 0xf4($sp) -/* 02D8D0 8002CCD0 00032900 */ sll $a1, $v1, 4 -/* 02D8D4 8002CCD4 00188100 */ sll $s0, $t8, 4 -.L8002CCD8: -/* 02D8D8 8002CCD8 8E4A0004 */ lw $t2, 4($s2) -/* 02D8DC 8002CCDC 00000000 */ nop -/* 02D8E0 8002CCE0 01451821 */ addu $v1, $t2, $a1 -/* 02D8E4 8002CCE4 906B0000 */ lbu $t3, ($v1) -/* 02D8E8 8002CCE8 00000000 */ nop -/* 02D8EC 8002CCEC 316C0080 */ andi $t4, $t3, 0x80 -/* 02D8F0 8002CCF0 1580007B */ bnez $t4, .L8002CEE0 -/* 02D8F4 8002CCF4 00000000 */ nop -/* 02D8F8 8002CCF8 906D0001 */ lbu $t5, 1($v1) -/* 02D8FC 8002CCFC 8E440000 */ lw $a0, ($s2) -/* 02D900 8002CD00 01BE7021 */ addu $t6, $t5, $fp -/* 02D904 8002CD04 01C80019 */ multu $t6, $t0 -/* 02D908 8002CD08 00007812 */ mflo $t7 -/* 02D90C 8002CD0C 01E41021 */ addu $v0, $t7, $a0 -/* 02D910 8002CD10 844A0004 */ lh $t2, 4($v0) -/* 02D914 8002CD14 84580000 */ lh $t8, ($v0) -/* 02D918 8002CD18 448A4000 */ mtc1 $t2, $f8 -/* 02D91C 8002CD1C 84590002 */ lh $t9, 2($v0) -/* 02D920 8002CD20 468042A0 */ cvt.s.w $f10, $f8 -/* 02D924 8002CD24 44993000 */ mtc1 $t9, $f6 -/* 02D928 8002CD28 44982000 */ mtc1 $t8, $f4 -/* 02D92C 8002CD2C E7AA00BC */ swc1 $f10, 0xbc($sp) -/* 02D930 8002CD30 906B0002 */ lbu $t3, 2($v1) -/* 02D934 8002CD34 90790003 */ lbu $t9, 3($v1) -/* 02D938 8002CD38 017E6021 */ addu $t4, $t3, $fp -/* 02D93C 8002CD3C 01880019 */ multu $t4, $t0 -/* 02D940 8002CD40 033E5021 */ addu $t2, $t9, $fp -/* 02D944 8002CD44 468037A0 */ cvt.s.w $f30, $f6 -/* 02D948 8002CD48 C7BA00BC */ lwc1 $f26, 0xbc($sp) -/* 02D94C 8002CD4C 46802720 */ cvt.s.w $f28, $f4 -/* 02D950 8002CD50 00006812 */ mflo $t5 -/* 02D954 8002CD54 01A41021 */ addu $v0, $t5, $a0 -/* 02D958 8002CD58 844E0000 */ lh $t6, ($v0) -/* 02D95C 8002CD5C 01480019 */ multu $t2, $t0 -/* 02D960 8002CD60 844F0002 */ lh $t7, 2($v0) -/* 02D964 8002CD64 84580004 */ lh $t8, 4($v0) -/* 02D968 8002CD68 448E2000 */ mtc1 $t6, $f4 -/* 02D96C 8002CD6C 448F3000 */ mtc1 $t7, $f6 -/* 02D970 8002CD70 44984000 */ mtc1 $t8, $f8 -/* 02D974 8002CD74 46803320 */ cvt.s.w $f12, $f6 -/* 02D978 8002CD78 468043A0 */ cvt.s.w $f14, $f8 -/* 02D97C 8002CD7C 00005812 */ mflo $t3 -/* 02D980 8002CD80 01641021 */ addu $v0, $t3, $a0 -/* 02D984 8002CD84 844E0004 */ lh $t6, 4($v0) -/* 02D988 8002CD88 844C0000 */ lh $t4, ($v0) -/* 02D98C 8002CD8C 448E3000 */ mtc1 $t6, $f6 -/* 02D990 8002CD90 844D0002 */ lh $t5, 2($v0) -/* 02D994 8002CD94 46803020 */ cvt.s.w $f0, $f6 -/* 02D998 8002CD98 448C5000 */ mtc1 $t4, $f10 -/* 02D99C 8002CD9C AFA50078 */ sw $a1, 0x78($sp) -/* 02D9A0 8002CDA0 468020A0 */ cvt.s.w $f2, $f4 -/* 02D9A4 8002CDA4 448D2000 */ mtc1 $t5, $f4 -/* 02D9A8 8002CDA8 46007201 */ sub.s $f8, $f14, $f0 -/* 02D9AC 8002CDAC 46805420 */ cvt.s.w $f16, $f10 -/* 02D9B0 8002CDB0 461E4282 */ mul.s $f10, $f8, $f30 -/* 02D9B4 8002CDB4 468024A0 */ cvt.s.w $f18, $f4 -/* 02D9B8 8002CDB8 461A0101 */ sub.s $f4, $f0, $f26 -/* 02D9BC 8002CDBC 46046182 */ mul.s $f6, $f12, $f4 -/* 02D9C0 8002CDC0 460ED101 */ sub.s $f4, $f26, $f14 -/* 02D9C4 8002CDC4 46065200 */ add.s $f8, $f10, $f6 -/* 02D9C8 8002CDC8 46049282 */ mul.s $f10, $f18, $f4 -/* 02D9CC 8002CDCC 46101181 */ sub.s $f6, $f2, $f16 -/* 02D9D0 8002CDD0 461A3102 */ mul.s $f4, $f6, $f26 -/* 02D9D4 8002CDD4 460A4500 */ add.s $f20, $f8, $f10 -/* 02D9D8 8002CDD8 E7B400A0 */ swc1 $f20, 0xa0($sp) -/* 02D9DC 8002CDDC 461C8201 */ sub.s $f8, $f16, $f28 -/* 02D9E0 8002CDE0 46087282 */ mul.s $f10, $f14, $f8 -/* 02D9E4 8002CDE4 4602E201 */ sub.s $f8, $f28, $f2 -/* 02D9E8 8002CDE8 460A2180 */ add.s $f6, $f4, $f10 -/* 02D9EC 8002CDEC 46080102 */ mul.s $f4, $f0, $f8 -/* 02D9F0 8002CDF0 46126281 */ sub.s $f10, $f12, $f18 -/* 02D9F4 8002CDF4 461C5202 */ mul.s $f8, $f10, $f28 -/* 02D9F8 8002CDF8 46043580 */ add.s $f22, $f6, $f4 -/* 02D9FC 8002CDFC E7B6009C */ swc1 $f22, 0x9c($sp) -/* 02DA00 8002CE00 461E9181 */ sub.s $f6, $f18, $f30 -/* 02DA04 8002CE04 46061102 */ mul.s $f4, $f2, $f6 -/* 02DA08 8002CE08 460CF181 */ sub.s $f6, $f30, $f12 -/* 02DA0C 8002CE0C 46044280 */ add.s $f10, $f8, $f4 -/* 02DA10 8002CE10 46068202 */ mul.s $f8, $f16, $f6 -/* 02DA14 8002CE14 00000000 */ nop -/* 02DA18 8002CE18 4614A102 */ mul.s $f4, $f20, $f20 -/* 02DA1C 8002CE1C 46085600 */ add.s $f24, $f10, $f8 -/* 02DA20 8002CE20 E7B80098 */ swc1 $f24, 0x98($sp) -/* 02DA24 8002CE24 4616B182 */ mul.s $f6, $f22, $f22 -/* 02DA28 8002CE28 00000000 */ nop -/* 02DA2C 8002CE2C 4618C202 */ mul.s $f8, $f24, $f24 -/* 02DA30 8002CE30 46062280 */ add.s $f10, $f4, $f6 -/* 02DA34 8002CE34 0C0326B4 */ jal sqrtf -/* 02DA38 8002CE38 46085300 */ add.s $f12, $f10, $f8 -/* 02DA3C 8002CE3C 44802800 */ mtc1 $zero, $f5 -/* 02DA40 8002CE40 44802000 */ mtc1 $zero, $f4 -/* 02DA44 8002CE44 460001A1 */ cvt.d.s $f6, $f0 -/* 02DA48 8002CE48 4626203C */ c.lt.d $f4, $f6 -/* 02DA4C 8002CE4C 2408000A */ li $t0, 10 -/* 02DA50 8002CE50 45000009 */ bc1f .L8002CE78 -/* 02DA54 8002CE54 02801025 */ move $v0, $s4 -/* 02DA58 8002CE58 00000000 */ nop -/* 02DA5C 8002CE5C 4600A383 */ div.s $f14, $f20, $f0 -/* 02DA60 8002CE60 00000000 */ nop -/* 02DA64 8002CE64 4600B303 */ div.s $f12, $f22, $f0 -/* 02DA68 8002CE68 E7AE00A0 */ swc1 $f14, 0xa0($sp) -/* 02DA6C 8002CE6C 4600C083 */ div.s $f2, $f24, $f0 -/* 02DA70 8002CE70 E7AC009C */ swc1 $f12, 0x9c($sp) -/* 02DA74 8002CE74 E7A20098 */ swc1 $f2, 0x98($sp) -.L8002CE78: -/* 02DA78 8002CE78 8E580018 */ lw $t8, 0x18($s2) -/* 02DA7C 8002CE7C C7AE00A0 */ lwc1 $f14, 0xa0($sp) -/* 02DA80 8002CE80 00027900 */ sll $t7, $v0, 4 -/* 02DA84 8002CE84 C7A20098 */ lwc1 $f2, 0x98($sp) -/* 02DA88 8002CE88 C7AC009C */ lwc1 $f12, 0x9c($sp) -/* 02DA8C 8002CE8C 030FC821 */ addu $t9, $t8, $t7 -/* 02DA90 8002CE90 E72E0000 */ swc1 $f14, ($t9) -/* 02DA94 8002CE94 8E4A0018 */ lw $t2, 0x18($s2) -/* 02DA98 8002CE98 460EE282 */ mul.s $f10, $f28, $f14 -/* 02DA9C 8002CE9C 014F5821 */ addu $t3, $t2, $t7 -/* 02DAA0 8002CEA0 E56C0004 */ swc1 $f12, 4($t3) -/* 02DAA4 8002CEA4 8E4C0018 */ lw $t4, 0x18($s2) -/* 02DAA8 8002CEA8 460CF202 */ mul.s $f8, $f30, $f12 -/* 02DAAC 8002CEAC 018F6821 */ addu $t5, $t4, $t7 -/* 02DAB0 8002CEB0 E5A20008 */ swc1 $f2, 8($t5) -/* 02DAB4 8002CEB4 C7A600BC */ lwc1 $f6, 0xbc($sp) -/* 02DAB8 8002CEB8 46085100 */ add.s $f4, $f10, $f8 -/* 02DABC 8002CEBC 8E4E0018 */ lw $t6, 0x18($s2) -/* 02DAC0 8002CEC0 46023282 */ mul.s $f10, $f6, $f2 -/* 02DAC4 8002CEC4 01CF7821 */ addu $t7, $t6, $t7 -/* 02DAC8 8002CEC8 26940001 */ addiu $s4, $s4, 1 -/* 02DACC 8002CECC 460A2200 */ add.s $f8, $f4, $f10 -/* 02DAD0 8002CED0 46004187 */ neg.s $f6, $f8 -/* 02DAD4 8002CED4 E5E6000C */ swc1 $f6, 0xc($t7) -/* 02DAD8 8002CED8 8FA50078 */ lw $a1, 0x78($sp) -/* 02DADC 8002CEDC 00000000 */ nop -.L8002CEE0: -/* 02DAE0 8002CEE0 24A50010 */ addiu $a1, $a1, 0x10 -/* 02DAE4 8002CEE4 00B0082A */ slt $at, $a1, $s0 -/* 02DAE8 8002CEE8 1420FF7B */ bnez $at, .L8002CCD8 -/* 02DAEC 8002CEEC 00000000 */ nop -/* 02DAF0 8002CEF0 86450020 */ lh $a1, 0x20($s2) -/* 02DAF4 8002CEF4 00000000 */ nop -.L8002CEF8: -/* 02DAF8 8002CEF8 8FB800EC */ lw $t8, 0xec($sp) -/* 02DAFC 8002CEFC 8FAA0074 */ lw $t2, 0x74($sp) -/* 02DB00 8002CF00 27190001 */ addiu $t9, $t8, 1 -/* 02DB04 8002CF04 0325082A */ slt $at, $t9, $a1 -/* 02DB08 8002CF08 254B000C */ addiu $t3, $t2, 0xc -/* 02DB0C 8002CF0C AFAB0074 */ sw $t3, 0x74($sp) -/* 02DB10 8002CF10 1420FF65 */ bnez $at, .L8002CCA8 -/* 02DB14 8002CF14 AFB900EC */ sw $t9, 0xec($sp) -.L8002CF18: -/* 02DB18 8002CF18 3C0C8012 */ lui $t4, %hi(D_8011B0F8) # $t4, 0x8012 -/* 02DB1C 8002CF1C 8D8CB0F8 */ lw $t4, %lo(D_8011B0F8)($t4) -/* 02DB20 8002CF20 2408000A */ li $t0, 10 -/* 02DB24 8002CF24 11800003 */ beqz $t4, .L8002CF34 -/* 02DB28 8002CF28 02804825 */ move $t1, $s4 -/* 02DB2C 8002CF2C 100000DF */ b .L8002D2AC -/* 02DB30 8002CF30 00141100 */ sll $v0, $s4, 4 -.L8002CF34: -/* 02DB34 8002CF34 18A000DC */ blez $a1, .L8002D2A8 -/* 02DB38 8002CF38 AFA000EC */ sw $zero, 0xec($sp) -/* 02DB3C 8002CF3C AFA00074 */ sw $zero, 0x74($sp) -/* 02DB40 8002CF40 24130006 */ li $s3, 6 -.L8002CF44: -/* 02DB44 8002CF44 8E4D000C */ lw $t5, 0xc($s2) -/* 02DB48 8002CF48 8FAE0074 */ lw $t6, 0x74($sp) -/* 02DB4C 8002CF4C 00000000 */ nop -/* 02DB50 8002CF50 01AE1021 */ addu $v0, $t5, $t6 -/* 02DB54 8002CF54 844F0010 */ lh $t7, 0x10($v0) -/* 02DB58 8002CF58 84430004 */ lh $v1, 4($v0) -/* 02DB5C 8002CF5C 845E0002 */ lh $fp, 2($v0) -/* 02DB60 8002CF60 AFAF00F4 */ sw $t7, 0xf4($sp) -/* 02DB64 8002CF64 8C580008 */ lw $t8, 8($v0) -/* 02DB68 8002CF68 8FAB00F4 */ lw $t3, 0xf4($sp) -/* 02DB6C 8002CF6C 330A0200 */ andi $t2, $t8, 0x200 -/* 02DB70 8002CF70 11400003 */ beqz $t2, .L8002CF80 -/* 02DB74 8002CF74 006B082A */ slt $at, $v1, $t3 -/* 02DB78 8002CF78 01E01825 */ move $v1, $t7 -/* 02DB7C 8002CF7C 006B082A */ slt $at, $v1, $t3 -.L8002CF80: -/* 02DB80 8002CF80 102000C1 */ beqz $at, .L8002D288 -/* 02DB84 8002CF84 0060B825 */ move $s7, $v1 -/* 02DB88 8002CF88 00032100 */ sll $a0, $v1, 4 -.L8002CF8C: -/* 02DB8C 8002CF8C 8E590004 */ lw $t9, 4($s2) -/* 02DB90 8002CF90 00000000 */ nop -/* 02DB94 8002CF94 03246021 */ addu $t4, $t9, $a0 -/* 02DB98 8002CF98 918D0000 */ lbu $t5, ($t4) -/* 02DB9C 8002CF9C 00000000 */ nop -/* 02DBA0 8002CFA0 31AE0080 */ andi $t6, $t5, 0x80 -/* 02DBA4 8002CFA4 15C000B3 */ bnez $t6, .L8002D274 -/* 02DBA8 8002CFA8 8FB900F4 */ lw $t9, 0xf4($sp) -/* 02DBAC 8002CFAC 8E4F0014 */ lw $t7, 0x14($s2) -/* 02DBB0 8002CFB0 0017C0C0 */ sll $t8, $s7, 3 -/* 02DBB4 8002CFB4 01F85021 */ addu $t2, $t7, $t8 -/* 02DBB8 8002CFB8 95510000 */ lhu $s1, ($t2) -/* 02DBBC 8002CFBC 8E4B0018 */ lw $t3, 0x18($s2) -/* 02DBC0 8002CFC0 00116100 */ sll $t4, $s1, 4 -/* 02DBC4 8002CFC4 016C1821 */ addu $v1, $t3, $t4 -/* 02DBC8 8002CFC8 C4640000 */ lwc1 $f4, ($v1) -/* 02DBCC 8002CFCC 00001025 */ move $v0, $zero -/* 02DBD0 8002CFD0 E7A400A0 */ swc1 $f4, 0xa0($sp) -/* 02DBD4 8002CFD4 C46A0004 */ lwc1 $f10, 4($v1) -/* 02DBD8 8002CFD8 0000A825 */ move $s5, $zero -/* 02DBDC 8002CFDC E7AA009C */ swc1 $f10, 0x9c($sp) -/* 02DBE0 8002CFE0 C4680008 */ lwc1 $f8, 8($v1) -/* 02DBE4 8002CFE4 AFA40078 */ sw $a0, 0x78($sp) -/* 02DBE8 8002CFE8 E7A80098 */ swc1 $f8, 0x98($sp) -.L8002CFEC: -/* 02DBEC 8002CFEC 8E4D0004 */ lw $t5, 4($s2) -/* 02DBF0 8002CFF0 8E4F0014 */ lw $t7, 0x14($s2) -/* 02DBF4 8002CFF4 24560001 */ addiu $s6, $v0, 1 -/* 02DBF8 8002CFF8 00177100 */ sll $t6, $s7, 4 -/* 02DBFC 8002CFFC 0017C0C0 */ sll $t8, $s7, 3 -/* 02DC00 8002D000 2AC10003 */ slti $at, $s6, 3 -/* 02DC04 8002D004 01AE1821 */ addu $v1, $t5, $t6 -/* 02DC08 8002D008 01F85021 */ addu $t2, $t7, $t8 -/* 02DC0C 8002D00C 02C08025 */ move $s0, $s6 -/* 02DC10 8002D010 01553821 */ addu $a3, $t2, $s5 -/* 02DC14 8002D014 14200002 */ bnez $at, .L8002D020 -/* 02DC18 8002D018 00622021 */ addu $a0, $v1, $v0 -/* 02DC1C 8002D01C 00008025 */ move $s0, $zero -.L8002D020: -/* 02DC20 8002D020 00705821 */ addu $t3, $v1, $s0 -/* 02DC24 8002D024 94F00002 */ lhu $s0, 2($a3) -/* 02DC28 8002D028 90990001 */ lbu $t9, 1($a0) -/* 02DC2C 8002D02C 916C0001 */ lbu $t4, 1($t3) -/* 02DC30 8002D030 0209082A */ slt $at, $s0, $t1 -/* 02DC34 8002D034 033E2821 */ addu $a1, $t9, $fp -/* 02DC38 8002D038 10200087 */ beqz $at, .L8002D258 -/* 02DC3C 8002D03C 019E3021 */ addu $a2, $t4, $fp -/* 02DC40 8002D040 00A80019 */ multu $a1, $t0 -/* 02DC44 8002D044 8E4D0018 */ lw $t5, 0x18($s2) -/* 02DC48 8002D048 00107900 */ sll $t7, $s0, 4 -/* 02DC4C 8002D04C 01AF1821 */ addu $v1, $t5, $t7 -/* 02DC50 8002D050 C4660000 */ lwc1 $f6, ($v1) -/* 02DC54 8002D054 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 02DC58 8002D058 8E440000 */ lw $a0, ($s2) -/* 02DC5C 8002D05C 46043500 */ add.s $f20, $f6, $f4 -/* 02DC60 8002D060 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 02DC64 8002D064 C4660008 */ lwc1 $f6, 8($v1) -/* 02DC68 8002D068 C46A0004 */ lwc1 $f10, 4($v1) -/* 02DC6C 8002D06C 46043680 */ add.s $f26, $f6, $f4 -/* 02DC70 8002D070 0000C012 */ mflo $t8 -/* 02DC74 8002D074 00981021 */ addu $v0, $a0, $t8 -/* 02DC78 8002D078 844B0004 */ lh $t3, 4($v0) -/* 02DC7C 8002D07C 00C80019 */ multu $a2, $t0 -/* 02DC80 8002D080 448B3000 */ mtc1 $t3, $f6 -/* 02DC84 8002D084 C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 02DC88 8002D088 46803120 */ cvt.s.w $f4, $f6 -/* 02DC8C 8002D08C 844A0000 */ lh $t2, ($v0) -/* 02DC90 8002D090 84590002 */ lh $t9, 2($v0) -/* 02DC94 8002D094 46085580 */ add.s $f22, $f10, $f8 -/* 02DC98 8002D098 448A5000 */ mtc1 $t2, $f10 -/* 02DC9C 8002D09C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 02DCA0 8002D0A0 E7A400BC */ swc1 $f4, 0xbc($sp) -/* 02DCA4 8002D0A4 44810000 */ mtc1 $at, $f0 -/* 02DCA8 8002D0A8 44994000 */ mtc1 $t9, $f8 -/* 02DCAC 8002D0AC 00006012 */ mflo $t4 -/* 02DCB0 8002D0B0 008C1021 */ addu $v0, $a0, $t4 -/* 02DCB4 8002D0B4 844E0000 */ lh $t6, ($v0) -/* 02DCB8 8002D0B8 46805720 */ cvt.s.w $f28, $f10 -/* 02DCBC 8002D0BC 844D0002 */ lh $t5, 2($v0) -/* 02DCC0 8002D0C0 448E5000 */ mtc1 $t6, $f10 -/* 02DCC4 8002D0C4 4600A102 */ mul.s $f4, $f20, $f0 -/* 02DCC8 8002D0C8 844F0004 */ lh $t7, 4($v0) -/* 02DCCC 8002D0CC AFA900D0 */ sw $t1, 0xd0($sp) -/* 02DCD0 8002D0D0 448F3000 */ mtc1 $t7, $f6 -/* 02DCD4 8002D0D4 468047A0 */ cvt.s.w $f30, $f8 -/* 02DCD8 8002D0D8 448D4000 */ mtc1 $t5, $f8 -/* 02DCDC 8002D0DC 468050A0 */ cvt.s.w $f2, $f10 -/* 02DCE0 8002D0E0 4600B282 */ mul.s $f10, $f22, $f0 -/* 02DCE4 8002D0E4 461C2400 */ add.s $f16, $f4, $f28 -/* 02DCE8 8002D0E8 C7A400BC */ lwc1 $f4, 0xbc($sp) -/* 02DCEC 8002D0EC 46804320 */ cvt.s.w $f12, $f8 -/* 02DCF0 8002D0F0 44814000 */ mtc1 $at, $f8 -/* 02DCF4 8002D0F4 468033A0 */ cvt.s.w $f14, $f6 -/* 02DCF8 8002D0F8 4608D182 */ mul.s $f6, $f26, $f8 -/* 02DCFC 8002D0FC 461E5480 */ add.s $f18, $f10, $f30 -/* 02DD00 8002D100 46043000 */ add.s $f0, $f6, $f4 -/* 02DD04 8002D104 46007281 */ sub.s $f10, $f14, $f0 -/* 02DD08 8002D108 461E5202 */ mul.s $f8, $f10, $f30 -/* 02DD0C 8002D10C 46040181 */ sub.s $f6, $f0, $f4 -/* 02DD10 8002D110 46066282 */ mul.s $f10, $f12, $f6 -/* 02DD14 8002D114 460A4180 */ add.s $f6, $f8, $f10 -/* 02DD18 8002D118 460E2201 */ sub.s $f8, $f4, $f14 -/* 02DD1C 8002D11C 46089282 */ mul.s $f10, $f18, $f8 -/* 02DD20 8002D120 46101201 */ sub.s $f8, $f2, $f16 -/* 02DD24 8002D124 460A3500 */ add.s $f20, $f6, $f10 -/* 02DD28 8002D128 46044182 */ mul.s $f6, $f8, $f4 -/* 02DD2C 8002D12C 461C8281 */ sub.s $f10, $f16, $f28 -/* 02DD30 8002D130 460A7202 */ mul.s $f8, $f14, $f10 -/* 02DD34 8002D134 4602E281 */ sub.s $f10, $f28, $f2 -/* 02DD38 8002D138 46083100 */ add.s $f4, $f6, $f8 -/* 02DD3C 8002D13C 460A0182 */ mul.s $f6, $f0, $f10 -/* 02DD40 8002D140 46126201 */ sub.s $f8, $f12, $f18 -/* 02DD44 8002D144 461C4282 */ mul.s $f10, $f8, $f28 -/* 02DD48 8002D148 46062580 */ add.s $f22, $f4, $f6 -/* 02DD4C 8002D14C 461E9101 */ sub.s $f4, $f18, $f30 -/* 02DD50 8002D150 46041182 */ mul.s $f6, $f2, $f4 -/* 02DD54 8002D154 460CF101 */ sub.s $f4, $f30, $f12 -/* 02DD58 8002D158 46065200 */ add.s $f8, $f10, $f6 -/* 02DD5C 8002D15C 46048282 */ mul.s $f10, $f16, $f4 -/* 02DD60 8002D160 00000000 */ nop -/* 02DD64 8002D164 4614A182 */ mul.s $f6, $f20, $f20 -/* 02DD68 8002D168 460A4600 */ add.s $f24, $f8, $f10 -/* 02DD6C 8002D16C 4616B102 */ mul.s $f4, $f22, $f22 -/* 02DD70 8002D170 4600C686 */ mov.s $f26, $f24 -/* 02DD74 8002D174 4618C282 */ mul.s $f10, $f24, $f24 -/* 02DD78 8002D178 46043200 */ add.s $f8, $f6, $f4 -/* 02DD7C 8002D17C 0C0326B4 */ jal sqrtf -/* 02DD80 8002D180 460A4300 */ add.s $f12, $f8, $f10 -/* 02DD84 8002D184 44803800 */ mtc1 $zero, $f7 -/* 02DD88 8002D188 44803000 */ mtc1 $zero, $f6 -/* 02DD8C 8002D18C 46000121 */ cvt.d.s $f4, $f0 -/* 02DD90 8002D190 4624303C */ c.lt.d $f6, $f4 -/* 02DD94 8002D194 8FA900D0 */ lw $t1, 0xd0($sp) -/* 02DD98 8002D198 45000007 */ bc1f .L8002D1B8 -/* 02DD9C 8002D19C 2408000A */ li $t0, 10 -/* 02DDA0 8002D1A0 00000000 */ nop -/* 02DDA4 8002D1A4 4600A503 */ div.s $f20, $f20, $f0 -/* 02DDA8 8002D1A8 00000000 */ nop -/* 02DDAC 8002D1AC 4600B583 */ div.s $f22, $f22, $f0 -/* 02DDB0 8002D1B0 00000000 */ nop -/* 02DDB4 8002D1B4 4600C683 */ div.s $f26, $f24, $f0 -.L8002D1B8: -/* 02DDB8 8002D1B8 1211000D */ beq $s0, $s1, .L8002D1F0 -/* 02DDBC 8002D1BC 001768C0 */ sll $t5, $s7, 3 -/* 02DDC0 8002D1C0 00001025 */ move $v0, $zero -.L8002D1C4: -/* 02DDC4 8002D1C4 8E580014 */ lw $t8, 0x14($s2) -/* 02DDC8 8002D1C8 001050C0 */ sll $t2, $s0, 3 -/* 02DDCC 8002D1CC 030AC821 */ addu $t9, $t8, $t2 -/* 02DDD0 8002D1D0 03221821 */ addu $v1, $t9, $v0 -/* 02DDD4 8002D1D4 946B0002 */ lhu $t3, 2($v1) -/* 02DDD8 8002D1D8 24420002 */ addiu $v0, $v0, 2 -/* 02DDDC 8002D1DC 162B0002 */ bne $s1, $t3, .L8002D1E8 -/* 02DDE0 8002D1E0 368C8000 */ ori $t4, $s4, 0x8000 -/* 02DDE4 8002D1E4 A46C0002 */ sh $t4, 2($v1) -.L8002D1E8: -/* 02DDE8 8002D1E8 1453FFF6 */ bne $v0, $s3, .L8002D1C4 -/* 02DDEC 8002D1EC 00000000 */ nop -.L8002D1F0: -/* 02DDF0 8002D1F0 8E4E0014 */ lw $t6, 0x14($s2) -/* 02DDF4 8002D1F4 02801025 */ move $v0, $s4 -/* 02DDF8 8002D1F8 01CD7821 */ addu $t7, $t6, $t5 -/* 02DDFC 8002D1FC 01F5C021 */ addu $t8, $t7, $s5 -/* 02DE00 8002D200 A7140002 */ sh $s4, 2($t8) -/* 02DE04 8002D204 8E590018 */ lw $t9, 0x18($s2) -/* 02DE08 8002D208 00025100 */ sll $t2, $v0, 4 -/* 02DE0C 8002D20C 032A5821 */ addu $t3, $t9, $t2 -/* 02DE10 8002D210 E5740000 */ swc1 $f20, ($t3) -/* 02DE14 8002D214 8E4C0018 */ lw $t4, 0x18($s2) -/* 02DE18 8002D218 4614E202 */ mul.s $f8, $f28, $f20 -/* 02DE1C 8002D21C 018A7021 */ addu $t6, $t4, $t2 -/* 02DE20 8002D220 E5D60004 */ swc1 $f22, 4($t6) -/* 02DE24 8002D224 8E4D0018 */ lw $t5, 0x18($s2) -/* 02DE28 8002D228 4616F282 */ mul.s $f10, $f30, $f22 -/* 02DE2C 8002D22C 01AA7821 */ addu $t7, $t5, $t2 -/* 02DE30 8002D230 E5FA0008 */ swc1 $f26, 8($t7) -/* 02DE34 8002D234 C7A400BC */ lwc1 $f4, 0xbc($sp) -/* 02DE38 8002D238 460A4180 */ add.s $f6, $f8, $f10 -/* 02DE3C 8002D23C 8E580018 */ lw $t8, 0x18($s2) -/* 02DE40 8002D240 461A2202 */ mul.s $f8, $f4, $f26 -/* 02DE44 8002D244 030A5021 */ addu $t2, $t8, $t2 -/* 02DE48 8002D248 26940001 */ addiu $s4, $s4, 1 -/* 02DE4C 8002D24C 46083280 */ add.s $f10, $f6, $f8 -/* 02DE50 8002D250 46005107 */ neg.s $f4, $f10 -/* 02DE54 8002D254 E544000C */ swc1 $f4, 0xc($t2) -.L8002D258: -/* 02DE58 8002D258 24010003 */ li $at, 3 -/* 02DE5C 8002D25C 02C01025 */ move $v0, $s6 -/* 02DE60 8002D260 16C1FF62 */ bne $s6, $at, .L8002CFEC -/* 02DE64 8002D264 26B50002 */ addiu $s5, $s5, 2 -/* 02DE68 8002D268 8FA40078 */ lw $a0, 0x78($sp) -/* 02DE6C 8002D26C 00000000 */ nop -/* 02DE70 8002D270 8FB900F4 */ lw $t9, 0xf4($sp) -.L8002D274: -/* 02DE74 8002D274 26F70001 */ addiu $s7, $s7, 1 -/* 02DE78 8002D278 16F9FF44 */ bne $s7, $t9, .L8002CF8C -/* 02DE7C 8002D27C 24840010 */ addiu $a0, $a0, 0x10 -/* 02DE80 8002D280 86450020 */ lh $a1, 0x20($s2) -/* 02DE84 8002D284 00000000 */ nop -.L8002D288: -/* 02DE88 8002D288 8FAB00EC */ lw $t3, 0xec($sp) -/* 02DE8C 8002D28C 8FAE0074 */ lw $t6, 0x74($sp) -/* 02DE90 8002D290 256C0001 */ addiu $t4, $t3, 1 -/* 02DE94 8002D294 0185082A */ slt $at, $t4, $a1 -/* 02DE98 8002D298 25CD000C */ addiu $t5, $t6, 0xc -/* 02DE9C 8002D29C AFAD0074 */ sw $t5, 0x74($sp) -/* 02DEA0 8002D2A0 1420FF28 */ bnez $at, .L8002CF44 -/* 02DEA4 8002D2A4 AFAC00EC */ sw $t4, 0xec($sp) -.L8002D2A8: -/* 02DEA8 8002D2A8 00141100 */ sll $v0, $s4, 4 -.L8002D2AC: -/* 02DEAC 8002D2AC 8FBF006C */ lw $ra, 0x6c($sp) -/* 02DEB0 8002D2B0 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 02DEB4 8002D2B4 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 02DEB8 8002D2B8 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 02DEBC 8002D2BC C7B60024 */ lwc1 $f22, 0x24($sp) -/* 02DEC0 8002D2C0 C7B90028 */ lwc1 $f25, 0x28($sp) -/* 02DEC4 8002D2C4 C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 02DEC8 8002D2C8 C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 02DECC 8002D2CC C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 02DED0 8002D2D0 C7BD0038 */ lwc1 $f29, 0x38($sp) -/* 02DED4 8002D2D4 C7BC003C */ lwc1 $f28, 0x3c($sp) -/* 02DED8 8002D2D8 C7BF0040 */ lwc1 $f31, 0x40($sp) -/* 02DEDC 8002D2DC C7BE0044 */ lwc1 $f30, 0x44($sp) -/* 02DEE0 8002D2E0 8FB00048 */ lw $s0, 0x48($sp) -/* 02DEE4 8002D2E4 8FB1004C */ lw $s1, 0x4c($sp) -/* 02DEE8 8002D2E8 8FB20050 */ lw $s2, 0x50($sp) -/* 02DEEC 8002D2EC 8FB30054 */ lw $s3, 0x54($sp) -/* 02DEF0 8002D2F0 8FB40058 */ lw $s4, 0x58($sp) -/* 02DEF4 8002D2F4 8FB5005C */ lw $s5, 0x5c($sp) -/* 02DEF8 8002D2F8 8FB60060 */ lw $s6, 0x60($sp) -/* 02DEFC 8002D2FC 8FB70064 */ lw $s7, 0x64($sp) -/* 02DF00 8002D300 8FBE0068 */ lw $fp, 0x68($sp) -/* 02DF04 8002D304 03E00008 */ jr $ra -/* 02DF08 8002D308 27BD0100 */ addiu $sp, $sp, 0x100 - diff --git a/asm/non_matchings/tracks/func_8002E904.s b/asm/non_matchings/tracks/func_8002E904.s deleted file mode 100644 index ec232d2d..00000000 --- a/asm/non_matchings/tracks/func_8002E904.s +++ /dev/null @@ -1,404 +0,0 @@ -glabel func_8002E904 -/* 02F504 8002E904 27BDFEB0 */ addiu $sp, $sp, -0x150 -/* 02F508 8002E908 3C028012 */ lui $v0, %hi(D_8011D0C4) # $v0, 0x8012 -/* 02F50C 8002E90C 8C42D0C4 */ lw $v0, %lo(D_8011D0C4)($v0) -/* 02F510 8002E910 AFBF0054 */ sw $ra, 0x54($sp) -/* 02F514 8002E914 AFBE0050 */ sw $fp, 0x50($sp) -/* 02F518 8002E918 AFB7004C */ sw $s7, 0x4c($sp) -/* 02F51C 8002E91C AFB60048 */ sw $s6, 0x48($sp) -/* 02F520 8002E920 AFB50044 */ sw $s5, 0x44($sp) -/* 02F524 8002E924 AFB40040 */ sw $s4, 0x40($sp) -/* 02F528 8002E928 AFB3003C */ sw $s3, 0x3c($sp) -/* 02F52C 8002E92C AFB20038 */ sw $s2, 0x38($sp) -/* 02F530 8002E930 AFB10034 */ sw $s1, 0x34($sp) -/* 02F534 8002E934 AFB00030 */ sw $s0, 0x30($sp) -/* 02F538 8002E938 E7B70028 */ swc1 $f23, 0x28($sp) -/* 02F53C 8002E93C E7B6002C */ swc1 $f22, 0x2c($sp) -/* 02F540 8002E940 E7B50020 */ swc1 $f21, 0x20($sp) -/* 02F544 8002E944 E7B40024 */ swc1 $f20, 0x24($sp) -/* 02F548 8002E948 AFA50154 */ sw $a1, 0x154($sp) -/* 02F54C 8002E94C AFA60158 */ sw $a2, 0x158($sp) -/* 02F550 8002E950 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 -/* 02F554 8002E954 C420D0DC */ lwc1 $f0, %lo(D_8011D0DC)($at) -/* 02F558 8002E958 C444000C */ lwc1 $f4, 0xc($v0) -/* 02F55C 8002E95C 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 -/* 02F560 8002E960 46002180 */ add.s $f6, $f4, $f0 -/* 02F564 8002E964 C422D0E0 */ lwc1 $f2, %lo(D_8011D0E0)($at) -/* 02F568 8002E968 E7A600B0 */ swc1 $f6, 0xb0($sp) -/* 02F56C 8002E96C C4480014 */ lwc1 $f8, 0x14($v0) -/* 02F570 8002E970 3C138012 */ lui $s3, %hi(D_8011B118) # $s3, 0x8012 -/* 02F574 8002E974 46024280 */ add.s $f10, $f8, $f2 -/* 02F578 8002E978 3C148012 */ lui $s4, %hi(D_8011D0BC) # $s4, 0x8012 -/* 02F57C 8002E97C E7AA00B4 */ swc1 $f10, 0xb4($sp) -/* 02F580 8002E980 C450000C */ lwc1 $f16, 0xc($v0) -/* 02F584 8002E984 3C168012 */ lui $s6, %hi(D_8011B120) # $s6, 0x8012 -/* 02F588 8002E988 46008481 */ sub.s $f18, $f16, $f0 -/* 02F58C 8002E98C 0080F025 */ move $fp, $a0 -/* 02F590 8002E990 E7B200B8 */ swc1 $f18, 0xb8($sp) -/* 02F594 8002E994 C4440014 */ lwc1 $f4, 0x14($v0) -/* 02F598 8002E998 26D6B120 */ addiu $s6, %lo(D_8011B120) # addiu $s6, $s6, -0x4ee0 -/* 02F59C 8002E99C 46022180 */ add.s $f6, $f4, $f2 -/* 02F5A0 8002E9A0 2694D0BC */ addiu $s4, %lo(D_8011D0BC) # addiu $s4, $s4, -0x2f44 -/* 02F5A4 8002E9A4 E7A600BC */ swc1 $f6, 0xbc($sp) -/* 02F5A8 8002E9A8 C448000C */ lwc1 $f8, 0xc($v0) -/* 02F5AC 8002E9AC 2673B118 */ addiu $s3, %lo(D_8011B118) # addiu $s3, $s3, -0x4ee8 -/* 02F5B0 8002E9B0 46004281 */ sub.s $f10, $f8, $f0 -/* 02F5B4 8002E9B4 2410FFFF */ li $s0, -1 -/* 02F5B8 8002E9B8 E7AA00C0 */ swc1 $f10, 0xc0($sp) -/* 02F5BC 8002E9BC C4500014 */ lwc1 $f16, 0x14($v0) -/* 02F5C0 8002E9C0 2412000A */ li $s2, 10 -/* 02F5C4 8002E9C4 46028481 */ sub.s $f18, $f16, $f2 -/* 02F5C8 8002E9C8 27B50100 */ addiu $s5, $sp, 0x100 -/* 02F5CC 8002E9CC E7B200C4 */ swc1 $f18, 0xc4($sp) -/* 02F5D0 8002E9D0 C444000C */ lwc1 $f4, 0xc($v0) -/* 02F5D4 8002E9D4 00004025 */ move $t0, $zero -/* 02F5D8 8002E9D8 46002180 */ add.s $f6, $f4, $f0 -/* 02F5DC 8002E9DC E7A600C8 */ swc1 $f6, 0xc8($sp) -/* 02F5E0 8002E9E0 C4480014 */ lwc1 $f8, 0x14($v0) -/* 02F5E4 8002E9E4 00000000 */ nop -/* 02F5E8 8002E9E8 46024281 */ sub.s $f10, $f8, $f2 -/* 02F5EC 8002E9EC E7AA00CC */ swc1 $f10, 0xcc($sp) -/* 02F5F0 8002E9F0 84870020 */ lh $a3, 0x20($a0) -/* 02F5F4 8002E9F4 00000000 */ nop -/* 02F5F8 8002E9F8 18E0012D */ blez $a3, .L8002EEB0 -/* 02F5FC 8002E9FC 8FBF0054 */ lw $ra, 0x54($sp) -/* 02F600 8002EA00 4480B000 */ mtc1 $zero, $f22 -/* 02F604 8002EA04 4480A000 */ mtc1 $zero, $f20 -/* 02F608 8002EA08 2405000C */ li $a1, 12 -/* 02F60C 8002EA0C 8FAE0158 */ lw $t6, 0x158($sp) -.L8002EA10: -/* 02F610 8002EA10 00000000 */ nop -/* 02F614 8002EA14 11C0000B */ beqz $t6, .L8002EA44 -/* 02F618 8002EA18 8FAE0158 */ lw $t6, 0x158($sp) -/* 02F61C 8002EA1C 01050019 */ multu $t0, $a1 -/* 02F620 8002EA20 8FCF000C */ lw $t7, 0xc($fp) -/* 02F624 8002EA24 0000C012 */ mflo $t8 -/* 02F628 8002EA28 01F81021 */ addu $v0, $t7, $t8 -/* 02F62C 8002EA2C 8C430008 */ lw $v1, 8($v0) -/* 02F630 8002EA30 AFA800AC */ sw $t0, 0xac($sp) -/* 02F634 8002EA34 30792000 */ andi $t9, $v1, 0x2000 -/* 02F638 8002EA38 1720000F */ bnez $t9, .L8002EA78 -/* 02F63C 8002EA3C 00000000 */ nop -/* 02F640 8002EA40 8FAE0158 */ lw $t6, 0x158($sp) -.L8002EA44: -/* 02F644 8002EA44 AFA800AC */ sw $t0, 0xac($sp) -/* 02F648 8002EA48 15C00112 */ bnez $t6, .L8002EE94 -/* 02F64C 8002EA4C 00000000 */ nop -/* 02F650 8002EA50 01050019 */ multu $t0, $a1 -/* 02F654 8002EA54 8FCF000C */ lw $t7, 0xc($fp) -/* 02F658 8002EA58 0000C012 */ mflo $t8 -/* 02F65C 8002EA5C 01F81021 */ addu $v0, $t7, $t8 -/* 02F660 8002EA60 8C430008 */ lw $v1, 8($v0) -/* 02F664 8002EA64 AFA800AC */ sw $t0, 0xac($sp) -/* 02F668 8002EA68 30796900 */ andi $t9, $v1, 0x6900 -/* 02F66C 8002EA6C 17200109 */ bnez $t9, .L8002EE94 -/* 02F670 8002EA70 00000000 */ nop -/* 02F674 8002EA74 AFA800AC */ sw $t0, 0xac($sp) -.L8002EA78: -/* 02F678 8002EA78 844E0002 */ lh $t6, 2($v0) -/* 02F67C 8002EA7C 84570004 */ lh $s7, 4($v0) -/* 02F680 8002EA80 84440010 */ lh $a0, 0x10($v0) -/* 02F684 8002EA84 000E7880 */ sll $t7, $t6, 2 -/* 02F688 8002EA88 8FD80000 */ lw $t8, ($fp) -/* 02F68C 8002EA8C 00036CC2 */ srl $t5, $v1, 0x13 -/* 02F690 8002EA90 01EE7821 */ addu $t7, $t7, $t6 -/* 02F694 8002EA94 000F7840 */ sll $t7, $t7, 1 -/* 02F698 8002EA98 31B90007 */ andi $t9, $t5, 7 -/* 02F69C 8002EA9C 02E4082A */ slt $at, $s7, $a0 -/* 02F6A0 8002EAA0 03206825 */ move $t5, $t9 -/* 02F6A4 8002EAA4 102000FB */ beqz $at, .L8002EE94 -/* 02F6A8 8002EAA8 01F88821 */ addu $s1, $t7, $t8 -/* 02F6AC 8002EAAC 0017F840 */ sll $ra, $s7, 1 -/* 02F6B0 8002EAB0 AFA400A4 */ sw $a0, 0xa4($sp) -.L8002EAB4: -/* 02F6B4 8002EAB4 8FCE0010 */ lw $t6, 0x10($fp) -/* 02F6B8 8002EAB8 8FB90154 */ lw $t9, 0x154($sp) -/* 02F6BC 8002EABC 01DF7821 */ addu $t7, $t6, $ra -/* 02F6C0 8002EAC0 85F80000 */ lh $t8, ($t7) -/* 02F6C4 8002EAC4 00000000 */ nop -/* 02F6C8 8002EAC8 03191024 */ and $v0, $t8, $t9 -/* 02F6CC 8002EACC 304E00FF */ andi $t6, $v0, 0xff -/* 02F6D0 8002EAD0 11C000E9 */ beqz $t6, .L8002EE78 -/* 02F6D4 8002EAD4 304FFF00 */ andi $t7, $v0, 0xff00 -/* 02F6D8 8002EAD8 11E000E8 */ beqz $t7, .L8002EE7C -/* 02F6DC 8002EADC 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 02F6E0 8002EAE0 8FD80004 */ lw $t8, 4($fp) -/* 02F6E4 8002EAE4 0017C900 */ sll $t9, $s7, 4 -/* 02F6E8 8002EAE8 03193821 */ addu $a3, $t8, $t9 -/* 02F6EC 8002EAEC 90EE0001 */ lbu $t6, 1($a3) -/* 02F6F0 8002EAF0 3C088012 */ lui $t0, %hi(D_8011D0CE) # $t0, 0x8012 -/* 02F6F4 8002EAF4 01D20019 */ multu $t6, $s2 -/* 02F6F8 8002EAF8 8508D0CE */ lh $t0, %lo(D_8011D0CE)($t0) -/* 02F6FC 8002EAFC 24E30001 */ addiu $v1, $a3, 1 -/* 02F700 8002EB00 24040001 */ li $a0, 1 -/* 02F704 8002EB04 00007812 */ mflo $t7 -/* 02F708 8002EB08 022FC021 */ addu $t8, $s1, $t7 -/* 02F70C 8002EB0C 87050002 */ lh $a1, 2($t8) -/* 02F710 8002EB10 3C188012 */ lui $t8, %hi(D_8011D0CC) # $t8, 0x8012 -/* 02F714 8002EB14 00A03025 */ move $a2, $a1 -.L8002EB18: -/* 02F718 8002EB18 90790001 */ lbu $t9, 1($v1) -/* 02F71C 8002EB1C 24840001 */ addiu $a0, $a0, 1 -/* 02F720 8002EB20 03320019 */ multu $t9, $s2 -/* 02F724 8002EB24 00007012 */ mflo $t6 -/* 02F728 8002EB28 022E7821 */ addu $t7, $s1, $t6 -/* 02F72C 8002EB2C 85E20002 */ lh $v0, 2($t7) -/* 02F730 8002EB30 00000000 */ nop -/* 02F734 8002EB34 0045082A */ slt $at, $v0, $a1 -/* 02F738 8002EB38 10200004 */ beqz $at, .L8002EB4C -/* 02F73C 8002EB3C 00C2082A */ slt $at, $a2, $v0 -/* 02F740 8002EB40 10000005 */ b .L8002EB58 -/* 02F744 8002EB44 00402825 */ move $a1, $v0 -/* 02F748 8002EB48 00C2082A */ slt $at, $a2, $v0 -.L8002EB4C: -/* 02F74C 8002EB4C 10200003 */ beqz $at, .L8002EB5C -/* 02F750 8002EB50 28810003 */ slti $at, $a0, 3 -/* 02F754 8002EB54 00403025 */ move $a2, $v0 -.L8002EB58: -/* 02F758 8002EB58 28810003 */ slti $at, $a0, 3 -.L8002EB5C: -/* 02F75C 8002EB5C 1420FFEE */ bnez $at, .L8002EB18 -/* 02F760 8002EB60 24630001 */ addiu $v1, $v1, 1 -/* 02F764 8002EB64 0105082A */ slt $at, $t0, $a1 -/* 02F768 8002EB68 142000C4 */ bnez $at, .L8002EE7C -/* 02F76C 8002EB6C 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 02F770 8002EB70 8718D0CC */ lh $t8, %lo(D_8011D0CC)($t8) -/* 02F774 8002EB74 00E01825 */ move $v1, $a3 -/* 02F778 8002EB78 00D8082A */ slt $at, $a2, $t8 -/* 02F77C 8002EB7C 142000BE */ bnez $at, .L8002EE78 -/* 02F780 8002EB80 27A200D0 */ addiu $v0, $sp, 0xd0 -/* 02F784 8002EB84 90790001 */ lbu $t9, 1($v1) -/* 02F788 8002EB88 24420010 */ addiu $v0, $v0, 0x10 -/* 02F78C 8002EB8C 10550017 */ beq $v0, $s5, .L8002EBEC -/* 02F790 8002EB90 03320019 */ multu $t9, $s2 -.L8002EB94: -/* 02F794 8002EB94 00007012 */ mflo $t6 -/* 02F798 8002EB98 022E7821 */ addu $t7, $s1, $t6 -/* 02F79C 8002EB9C 85F80000 */ lh $t8, ($t7) -/* 02F7A0 8002EBA0 24420010 */ addiu $v0, $v0, 0x10 -/* 02F7A4 8002EBA4 44989000 */ mtc1 $t8, $f18 -/* 02F7A8 8002EBA8 24630001 */ addiu $v1, $v1, 1 -/* 02F7AC 8002EBAC 468094A0 */ cvt.s.w $f18, $f18 -/* 02F7B0 8002EBB0 E452FFE0 */ swc1 $f18, -0x20($v0) -/* 02F7B4 8002EBB4 90790000 */ lbu $t9, ($v1) -/* 02F7B8 8002EBB8 00000000 */ nop -/* 02F7BC 8002EBBC 03320019 */ multu $t9, $s2 -/* 02F7C0 8002EBC0 00007012 */ mflo $t6 -/* 02F7C4 8002EBC4 022E7821 */ addu $t7, $s1, $t6 -/* 02F7C8 8002EBC8 85F80004 */ lh $t8, 4($t7) -/* 02F7CC 8002EBCC A450FFEE */ sh $s0, -0x12($v0) -/* 02F7D0 8002EBD0 44989000 */ mtc1 $t8, $f18 -/* 02F7D4 8002EBD4 00000000 */ nop -/* 02F7D8 8002EBD8 468094A0 */ cvt.s.w $f18, $f18 -/* 02F7DC 8002EBDC E452FFE8 */ swc1 $f18, -0x18($v0) -/* 02F7E0 8002EBE0 90790001 */ lbu $t9, 1($v1) -/* 02F7E4 8002EBE4 1455FFEB */ bne $v0, $s5, .L8002EB94 -/* 02F7E8 8002EBE8 03320019 */ multu $t9, $s2 -.L8002EBEC: -/* 02F7EC 8002EBEC 00007012 */ mflo $t6 -/* 02F7F0 8002EBF0 022E7821 */ addu $t7, $s1, $t6 -/* 02F7F4 8002EBF4 85F80000 */ lh $t8, ($t7) -/* 02F7F8 8002EBF8 24630001 */ addiu $v1, $v1, 1 -/* 02F7FC 8002EBFC 44989000 */ mtc1 $t8, $f18 -/* 02F800 8002EC00 00000000 */ nop -/* 02F804 8002EC04 468094A0 */ cvt.s.w $f18, $f18 -/* 02F808 8002EC08 E452FFF0 */ swc1 $f18, -0x10($v0) -/* 02F80C 8002EC0C 90790000 */ lbu $t9, ($v1) -/* 02F810 8002EC10 00000000 */ nop -/* 02F814 8002EC14 03320019 */ multu $t9, $s2 -/* 02F818 8002EC18 00007012 */ mflo $t6 -/* 02F81C 8002EC1C 022E7821 */ addu $t7, $s1, $t6 -/* 02F820 8002EC20 85F80004 */ lh $t8, 4($t7) -/* 02F824 8002EC24 A450FFFE */ sh $s0, -2($v0) -/* 02F828 8002EC28 44989000 */ mtc1 $t8, $f18 -/* 02F82C 8002EC2C 00000000 */ nop -/* 02F830 8002EC30 468094A0 */ cvt.s.w $f18, $f18 -/* 02F834 8002EC34 E452FFF8 */ swc1 $f18, -8($v0) -/* 02F838 8002EC38 C7AC00C0 */ lwc1 $f12, 0xc0($sp) -/* 02F83C 8002EC3C C7AE00C4 */ lwc1 $f14, 0xc4($sp) -/* 02F840 8002EC40 8FA600B0 */ lw $a2, 0xb0($sp) -/* 02F844 8002EC44 8FA700B4 */ lw $a3, 0xb4($sp) -/* 02F848 8002EC48 24190003 */ li $t9, 3 -/* 02F84C 8002EC4C 27AE00D0 */ addiu $t6, $sp, 0xd0 -/* 02F850 8002EC50 AFBF0074 */ sw $ra, 0x74($sp) -/* 02F854 8002EC54 AFAE0014 */ sw $t6, 0x14($sp) -/* 02F858 8002EC58 AFB90010 */ sw $t9, 0x10($sp) -/* 02F85C 8002EC5C 0C00BF5D */ jal func_8002FD74 -/* 02F860 8002EC60 AFAD0088 */ sw $t5, 0x88($sp) -/* 02F864 8002EC64 8FAD0088 */ lw $t5, 0x88($sp) -/* 02F868 8002EC68 8FBF0074 */ lw $ra, 0x74($sp) -/* 02F86C 8002EC6C 10400083 */ beqz $v0, .L8002EE7C -/* 02F870 8002EC70 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 02F874 8002EC74 8FCF0014 */ lw $t7, 0x14($fp) -/* 02F878 8002EC78 0017C0C0 */ sll $t8, $s7, 3 -/* 02F87C 8002EC7C 01F8C821 */ addu $t9, $t7, $t8 -/* 02F880 8002EC80 97220000 */ lhu $v0, ($t9) -/* 02F884 8002EC84 8FCF0018 */ lw $t7, 0x18($fp) -/* 02F888 8002EC88 00027080 */ sll $t6, $v0, 2 -/* 02F88C 8002EC8C 000EC080 */ sll $t8, $t6, 2 -/* 02F890 8002EC90 01F8C821 */ addu $t9, $t7, $t8 -/* 02F894 8002EC94 01C01025 */ move $v0, $t6 -/* 02F898 8002EC98 AE990000 */ sw $t9, ($s4) -/* 02F89C 8002EC9C 8FCE0018 */ lw $t6, 0x18($fp) -/* 02F8A0 8002ECA0 00027880 */ sll $t7, $v0, 2 -/* 02F8A4 8002ECA4 01CFC021 */ addu $t8, $t6, $t7 -/* 02F8A8 8002ECA8 C7080004 */ lwc1 $f8, 4($t8) -/* 02F8AC 8002ECAC 3C018012 */ lui $at, %hi(D_8011D0F0) # $at, 0x8012 -/* 02F8B0 8002ECB0 4608A032 */ c.eq.s $f20, $f8 -/* 02F8B4 8002ECB4 00000000 */ nop -/* 02F8B8 8002ECB8 45010070 */ bc1t .L8002EE7C -/* 02F8BC 8002ECBC 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 02F8C0 8002ECC0 C42AD0F0 */ lwc1 $f10, %lo(D_8011D0F0)($at) -/* 02F8C4 8002ECC4 27A400D0 */ addiu $a0, $sp, 0xd0 -/* 02F8C8 8002ECC8 460AB03C */ c.lt.s $f22, $f10 -/* 02F8CC 8002ECCC 00000000 */ nop -/* 02F8D0 8002ECD0 45000007 */ bc1f .L8002ECF0 -/* 02F8D4 8002ECD4 00000000 */ nop -/* 02F8D8 8002ECD8 AFBF0074 */ sw $ra, 0x74($sp) -/* 02F8DC 8002ECDC 0C00C132 */ jal func_800304C8 -/* 02F8E0 8002ECE0 AFAD0088 */ sw $t5, 0x88($sp) -/* 02F8E4 8002ECE4 8FAD0088 */ lw $t5, 0x88($sp) -/* 02F8E8 8002ECE8 8FBF0074 */ lw $ra, 0x74($sp) -/* 02F8EC 8002ECEC 00000000 */ nop -.L8002ECF0: -/* 02F8F0 8002ECF0 AFBF0074 */ sw $ra, 0x74($sp) -/* 02F8F4 8002ECF4 24040003 */ li $a0, 3 -/* 02F8F8 8002ECF8 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 02F8FC 8002ECFC 24060004 */ li $a2, 4 -/* 02F900 8002ED00 27A700B0 */ addiu $a3, $sp, 0xb0 -/* 02F904 8002ED04 0C00BFDB */ jal func_8002FF6C -/* 02F908 8002ED08 AFAD0088 */ sw $t5, 0x88($sp) -/* 02F90C 8002ED0C 8FAD0088 */ lw $t5, 0x88($sp) -/* 02F910 8002ED10 8FBF0074 */ lw $ra, 0x74($sp) -/* 02F914 8002ED14 28410003 */ slti $at, $v0, 3 -/* 02F918 8002ED18 14200057 */ bnez $at, .L8002EE78 -/* 02F91C 8002ED1C 00406025 */ move $t4, $v0 -/* 02F920 8002ED20 3C0B8012 */ lui $t3, %hi(D_8011C230) # $t3, 0x8012 -/* 02F924 8002ED24 8D6BC230 */ lw $t3, %lo(D_8011C230)($t3) -/* 02F928 8002ED28 3C0E8012 */ lui $t6, %hi(D_8011C238) # $t6, 0x8012 -/* 02F92C 8002ED2C 000BC880 */ sll $t9, $t3, 2 -/* 02F930 8002ED30 032BC823 */ subu $t9, $t9, $t3 -/* 02F934 8002ED34 0019C880 */ sll $t9, $t9, 2 -/* 02F938 8002ED38 25CEC238 */ addiu $t6, %lo(D_8011C238) # addiu $t6, $t6, -0x3dc8 -/* 02F93C 8002ED3C 032E5021 */ addu $t2, $t9, $t6 -/* 02F940 8002ED40 A1400001 */ sb $zero, 1($t2) -/* 02F944 8002ED44 1840003F */ blez $v0, .L8002EE44 -/* 02F948 8002ED48 00004025 */ move $t0, $zero -/* 02F94C 8002ED4C 27A700D0 */ addiu $a3, $sp, 0xd0 -.L8002ED50: -/* 02F950 8002ED50 84E3000E */ lh $v1, 0xe($a3) -/* 02F954 8002ED54 01487021 */ addu $t6, $t2, $t0 -/* 02F958 8002ED58 04610032 */ bgez $v1, .L8002EE24 -/* 02F95C 8002ED5C 24180001 */ li $t8, 1 -/* 02F960 8002ED60 000B7880 */ sll $t7, $t3, 2 -/* 02F964 8002ED64 01EB7823 */ subu $t7, $t7, $t3 -/* 02F968 8002ED68 8E660000 */ lw $a2, ($s3) -/* 02F96C 8002ED6C 000F7880 */ sll $t7, $t7, 2 -/* 02F970 8002ED70 3C198012 */ lui $t9, %hi(D_8011C238) # $t9, 0x8012 -/* 02F974 8002ED74 2739C238 */ addiu $t9, %lo(D_8011C238) # addiu $t9, $t9, -0x3dc8 -/* 02F978 8002ED78 01E8C021 */ addu $t8, $t7, $t0 -/* 02F97C 8002ED7C 02002825 */ move $a1, $s0 -/* 02F980 8002ED80 00002025 */ move $a0, $zero -/* 02F984 8002ED84 18C00018 */ blez $a2, .L8002EDE8 -/* 02F988 8002ED88 03194821 */ addu $t1, $t8, $t9 -/* 02F98C 8002ED8C 00007100 */ sll $t6, $zero, 4 -/* 02F990 8002ED90 C4E00000 */ lwc1 $f0, ($a3) -/* 02F994 8002ED94 02CE1821 */ addu $v1, $s6, $t6 -.L8002ED98: -/* 02F998 8002ED98 C4700000 */ lwc1 $f16, ($v1) -/* 02F99C 8002ED9C 00000000 */ nop -/* 02F9A0 8002EDA0 46008032 */ c.eq.s $f16, $f0 -/* 02F9A4 8002EDA4 00000000 */ nop -/* 02F9A8 8002EDA8 45000009 */ bc1f .L8002EDD0 -/* 02F9AC 8002EDAC 00000000 */ nop -/* 02F9B0 8002EDB0 C4720008 */ lwc1 $f18, 8($v1) -/* 02F9B4 8002EDB4 C4E40008 */ lwc1 $f4, 8($a3) -/* 02F9B8 8002EDB8 00000000 */ nop -/* 02F9BC 8002EDBC 46049032 */ c.eq.s $f18, $f4 -/* 02F9C0 8002EDC0 00000000 */ nop -/* 02F9C4 8002EDC4 45000002 */ bc1f .L8002EDD0 -/* 02F9C8 8002EDC8 00000000 */ nop -/* 02F9CC 8002EDCC 00802825 */ move $a1, $a0 -.L8002EDD0: -/* 02F9D0 8002EDD0 24840001 */ addiu $a0, $a0, 1 -/* 02F9D4 8002EDD4 0086082A */ slt $at, $a0, $a2 -/* 02F9D8 8002EDD8 10200003 */ beqz $at, .L8002EDE8 -/* 02F9DC 8002EDDC 24630010 */ addiu $v1, $v1, 0x10 -/* 02F9E0 8002EDE0 10B0FFED */ beq $a1, $s0, .L8002ED98 -/* 02F9E4 8002EDE4 00000000 */ nop -.L8002EDE8: -/* 02F9E8 8002EDE8 14B0000C */ bne $a1, $s0, .L8002EE1C -/* 02F9EC 8002EDEC 00067900 */ sll $t7, $a2, 4 -/* 02F9F0 8002EDF0 C4E60000 */ lwc1 $f6, ($a3) -/* 02F9F4 8002EDF4 8E980000 */ lw $t8, ($s4) -/* 02F9F8 8002EDF8 C4E80008 */ lwc1 $f8, 8($a3) -/* 02F9FC 8002EDFC 02CF1821 */ addu $v1, $s6, $t7 -/* 02FA00 8002EE00 24D90001 */ addiu $t9, $a2, 1 -/* 02FA04 8002EE04 AE790000 */ sw $t9, ($s3) -/* 02FA08 8002EE08 A1260002 */ sb $a2, 2($t1) -/* 02FA0C 8002EE0C E4660000 */ swc1 $f6, ($v1) -/* 02FA10 8002EE10 AC78000C */ sw $t8, 0xc($v1) -/* 02FA14 8002EE14 10000008 */ b .L8002EE38 -/* 02FA18 8002EE18 E4680008 */ swc1 $f8, 8($v1) -.L8002EE1C: -/* 02FA1C 8002EE1C 10000006 */ b .L8002EE38 -/* 02FA20 8002EE20 A1250002 */ sb $a1, 2($t1) -.L8002EE24: -/* 02FA24 8002EE24 A1C30002 */ sb $v1, 2($t6) -/* 02FA28 8002EE28 914F0001 */ lbu $t7, 1($t2) -/* 02FA2C 8002EE2C 0118C804 */ sllv $t9, $t8, $t0 -/* 02FA30 8002EE30 01F97025 */ or $t6, $t7, $t9 -/* 02FA34 8002EE34 A14E0001 */ sb $t6, 1($t2) -.L8002EE38: -/* 02FA38 8002EE38 25080001 */ addiu $t0, $t0, 1 -/* 02FA3C 8002EE3C 150CFFC4 */ bne $t0, $t4, .L8002ED50 -/* 02FA40 8002EE40 24E70010 */ addiu $a3, $a3, 0x10 -.L8002EE44: -/* 02FA44 8002EE44 A1420000 */ sb $v0, ($t2) -/* 02FA48 8002EE48 A54D000A */ sh $t5, 0xa($t2) -/* 02FA4C 8002EE4C 3C038012 */ lui $v1, %hi(D_8011D0E8) # $v1, 0x8012 -/* 02FA50 8002EE50 8C63D0E8 */ lw $v1, %lo(D_8011D0E8)($v1) -/* 02FA54 8002EE54 25780001 */ addiu $t8, $t3, 1 -/* 02FA58 8002EE58 3C018012 */ lui $at, %hi(D_8011C230) # $at, 0x8012 -/* 02FA5C 8002EE5C 04600004 */ bltz $v1, .L8002EE70 -/* 02FA60 8002EE60 AC38C230 */ sw $t8, %lo(D_8011C230)($at) -/* 02FA64 8002EE64 11A30002 */ beq $t5, $v1, .L8002EE70 -/* 02FA68 8002EE68 3C018012 */ lui $at, %hi(D_8011D0EC) # $at, 0x8012 -/* 02FA6C 8002EE6C AC20D0EC */ sw $zero, %lo(D_8011D0EC)($at) -.L8002EE70: -/* 02FA70 8002EE70 3C018012 */ lui $at, %hi(D_8011D0E8) # $at, 0x8012 -/* 02FA74 8002EE74 AC2DD0E8 */ sw $t5, %lo(D_8011D0E8)($at) -.L8002EE78: -/* 02FA78 8002EE78 8FAF00A4 */ lw $t7, 0xa4($sp) -.L8002EE7C: -/* 02FA7C 8002EE7C 26F70001 */ addiu $s7, $s7, 1 -/* 02FA80 8002EE80 02EF082A */ slt $at, $s7, $t7 -/* 02FA84 8002EE84 1420FF0B */ bnez $at, .L8002EAB4 -/* 02FA88 8002EE88 27FF0002 */ addiu $ra, $ra, 2 -/* 02FA8C 8002EE8C 87C70020 */ lh $a3, 0x20($fp) -/* 02FA90 8002EE90 2405000C */ li $a1, 12 -.L8002EE94: -/* 02FA94 8002EE94 8FA800AC */ lw $t0, 0xac($sp) -/* 02FA98 8002EE98 00000000 */ nop -/* 02FA9C 8002EE9C 25080001 */ addiu $t0, $t0, 1 -/* 02FAA0 8002EEA0 0107082A */ slt $at, $t0, $a3 -/* 02FAA4 8002EEA4 1420FEDA */ bnez $at, .L8002EA10 -/* 02FAA8 8002EEA8 8FAE0158 */ lw $t6, 0x158($sp) -/* 02FAAC 8002EEAC 8FBF0054 */ lw $ra, 0x54($sp) -.L8002EEB0: -/* 02FAB0 8002EEB0 C7B50020 */ lwc1 $f21, 0x20($sp) -/* 02FAB4 8002EEB4 C7B40024 */ lwc1 $f20, 0x24($sp) -/* 02FAB8 8002EEB8 C7B70028 */ lwc1 $f23, 0x28($sp) -/* 02FABC 8002EEBC C7B6002C */ lwc1 $f22, 0x2c($sp) -/* 02FAC0 8002EEC0 8FB00030 */ lw $s0, 0x30($sp) -/* 02FAC4 8002EEC4 8FB10034 */ lw $s1, 0x34($sp) -/* 02FAC8 8002EEC8 8FB20038 */ lw $s2, 0x38($sp) -/* 02FACC 8002EECC 8FB3003C */ lw $s3, 0x3c($sp) -/* 02FAD0 8002EED0 8FB40040 */ lw $s4, 0x40($sp) -/* 02FAD4 8002EED4 8FB50044 */ lw $s5, 0x44($sp) -/* 02FAD8 8002EED8 8FB60048 */ lw $s6, 0x48($sp) -/* 02FADC 8002EEDC 8FB7004C */ lw $s7, 0x4c($sp) -/* 02FAE0 8002EEE0 8FBE0050 */ lw $fp, 0x50($sp) -/* 02FAE4 8002EEE4 03E00008 */ jr $ra -/* 02FAE8 8002EEE8 27BD0150 */ addiu $sp, $sp, 0x150 - diff --git a/asm/non_matchings/tracks/func_8002EEEC.s b/asm/non_matchings/tracks/func_8002EEEC.s deleted file mode 100644 index a5581856..00000000 --- a/asm/non_matchings/tracks/func_8002EEEC.s +++ /dev/null @@ -1,259 +0,0 @@ -glabel func_8002EEEC -/* 02FAEC 8002EEEC 27BDFED8 */ addiu $sp, $sp, -0x128 -/* 02FAF0 8002EEF0 3C028012 */ lui $v0, %hi(D_8011D0C4) # $v0, 0x8012 -/* 02FAF4 8002EEF4 8C42D0C4 */ lw $v0, %lo(D_8011D0C4)($v0) -/* 02FAF8 8002EEF8 AFBF0044 */ sw $ra, 0x44($sp) -/* 02FAFC 8002EEFC AFB70040 */ sw $s7, 0x40($sp) -/* 02FB00 8002EF00 AFB6003C */ sw $s6, 0x3c($sp) -/* 02FB04 8002EF04 AFB50038 */ sw $s5, 0x38($sp) -/* 02FB08 8002EF08 AFB40034 */ sw $s4, 0x34($sp) -/* 02FB0C 8002EF0C AFB30030 */ sw $s3, 0x30($sp) -/* 02FB10 8002EF10 AFB2002C */ sw $s2, 0x2c($sp) -/* 02FB14 8002EF14 AFB10028 */ sw $s1, 0x28($sp) -/* 02FB18 8002EF18 AFB00024 */ sw $s0, 0x24($sp) -/* 02FB1C 8002EF1C 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 -/* 02FB20 8002EF20 C420D0DC */ lwc1 $f0, %lo(D_8011D0DC)($at) -/* 02FB24 8002EF24 C444000C */ lwc1 $f4, 0xc($v0) -/* 02FB28 8002EF28 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 -/* 02FB2C 8002EF2C 46002180 */ add.s $f6, $f4, $f0 -/* 02FB30 8002EF30 C422D0E0 */ lwc1 $f2, %lo(D_8011D0E0)($at) -/* 02FB34 8002EF34 E7A60088 */ swc1 $f6, 0x88($sp) -/* 02FB38 8002EF38 C4480014 */ lwc1 $f8, 0x14($v0) -/* 02FB3C 8002EF3C 3C178012 */ lui $s7, %hi(D_8011D0B8) # $s7, 0x8012 -/* 02FB40 8002EF40 46024280 */ add.s $f10, $f8, $f2 -/* 02FB44 8002EF44 26F7D0B8 */ addiu $s7, %lo(D_8011D0B8) # addiu $s7, $s7, -0x2f48 -/* 02FB48 8002EF48 E7AA008C */ swc1 $f10, 0x8c($sp) -/* 02FB4C 8002EF4C C450000C */ lwc1 $f16, 0xc($v0) -/* 02FB50 8002EF50 8EEE0000 */ lw $t6, ($s7) -/* 02FB54 8002EF54 46008481 */ sub.s $f18, $f16, $f0 -/* 02FB58 8002EF58 3C188012 */ lui $t8, %hi(D_8011C8B8) # $t8, 0x8012 -/* 02FB5C 8002EF5C E7B20090 */ swc1 $f18, 0x90($sp) -/* 02FB60 8002EF60 C4440014 */ lwc1 $f4, 0x14($v0) -/* 02FB64 8002EF64 2718C8B8 */ addiu $t8, %lo(D_8011C8B8) # addiu $t8, $t8, -0x3748 -/* 02FB68 8002EF68 46022180 */ add.s $f6, $f4, $f2 -/* 02FB6C 8002EF6C 3C058012 */ lui $a1, %hi(D_8011C3B8) # $a1, 0x8012 -/* 02FB70 8002EF70 E7A60094 */ swc1 $f6, 0x94($sp) -/* 02FB74 8002EF74 C448000C */ lwc1 $f8, 0xc($v0) -/* 02FB78 8002EF78 000E7900 */ sll $t7, $t6, 4 -/* 02FB7C 8002EF7C 46004281 */ sub.s $f10, $f8, $f0 -/* 02FB80 8002EF80 01F83021 */ addu $a2, $t7, $t8 -/* 02FB84 8002EF84 E7AA0098 */ swc1 $f10, 0x98($sp) -/* 02FB88 8002EF88 C4500014 */ lwc1 $f16, 0x14($v0) -/* 02FB8C 8002EF8C 8FA70098 */ lw $a3, 0x98($sp) -/* 02FB90 8002EF90 46028481 */ sub.s $f18, $f16, $f2 -/* 02FB94 8002EF94 24A5C3B8 */ addiu $a1, %lo(D_8011C3B8) # addiu $a1, $a1, -0x3c48 -/* 02FB98 8002EF98 E7B2009C */ swc1 $f18, 0x9c($sp) -/* 02FB9C 8002EF9C C444000C */ lwc1 $f4, 0xc($v0) -/* 02FBA0 8002EFA0 C7B0009C */ lwc1 $f16, 0x9c($sp) -/* 02FBA4 8002EFA4 46002180 */ add.s $f6, $f4, $f0 -/* 02FBA8 8002EFA8 C7A4008C */ lwc1 $f4, 0x8c($sp) -/* 02FBAC 8002EFAC E7A600A0 */ swc1 $f6, 0xa0($sp) -/* 02FBB0 8002EFB0 C4480014 */ lwc1 $f8, 0x14($v0) -/* 02FBB4 8002EFB4 C7B20088 */ lwc1 $f18, 0x88($sp) -/* 02FBB8 8002EFB8 46024281 */ sub.s $f10, $f8, $f2 -/* 02FBBC 8002EFBC E7B00010 */ swc1 $f16, 0x10($sp) -/* 02FBC0 8002EFC0 E7AA00A4 */ swc1 $f10, 0xa4($sp) -/* 02FBC4 8002EFC4 E7A40018 */ swc1 $f4, 0x18($sp) -/* 02FBC8 8002EFC8 0C02F720 */ jal func_800BDC80 -/* 02FBCC 8002EFCC E7B20014 */ swc1 $f18, 0x14($sp) -/* 02FBD0 8002EFD0 0040B025 */ move $s6, $v0 -/* 02FBD4 8002EFD4 184000A7 */ blez $v0, .L8002F274 -/* 02FBD8 8002EFD8 0000A025 */ move $s4, $zero -/* 02FBDC 8002EFDC 3C108012 */ lui $s0, %hi(D_8011C3B8) # $s0, 0x8012 -/* 02FBE0 8002EFE0 3C158012 */ lui $s5, %hi(D_8011C230) # $s5, 0x8012 -/* 02FBE4 8002EFE4 3C138012 */ lui $s3, %hi(D_8011B120) # $s3, 0x8012 -/* 02FBE8 8002EFE8 3C118012 */ lui $s1, %hi(D_8011D0BC) # $s1, 0x8012 -/* 02FBEC 8002EFEC 2631D0BC */ addiu $s1, %lo(D_8011D0BC) # addiu $s1, $s1, -0x2f44 -/* 02FBF0 8002EFF0 2673B120 */ addiu $s3, %lo(D_8011B120) # addiu $s3, $s3, -0x4ee0 -/* 02FBF4 8002EFF4 26B5C230 */ addiu $s5, %lo(D_8011C230) # addiu $s5, $s5, -0x3dd0 -/* 02FBF8 8002EFF8 2610C3B8 */ addiu $s0, %lo(D_8011C3B8) # addiu $s0, $s0, -0x3c48 -/* 02FBFC 8002EFFC 27B200D8 */ addiu $s2, $sp, 0xd8 -/* 02FC00 8002F000 2408FFFF */ li $t0, -1 -.L8002F004: -/* 02FC04 8002F004 86050002 */ lh $a1, 2($s0) -/* 02FC08 8002F008 86030008 */ lh $v1, 8($s0) -/* 02FC0C 8002F00C 3C068012 */ lui $a2, %hi(D_8011D0CE) # $a2, 0x8012 -/* 02FC10 8002F010 84C6D0CE */ lh $a2, %lo(D_8011D0CE)($a2) -/* 02FC14 8002F014 0065082A */ slt $at, $v1, $a1 -/* 02FC18 8002F018 10200003 */ beqz $at, .L8002F028 -/* 02FC1C 8002F01C 00A02025 */ move $a0, $a1 -/* 02FC20 8002F020 10000005 */ b .L8002F038 -/* 02FC24 8002F024 00602025 */ move $a0, $v1 -.L8002F028: -/* 02FC28 8002F028 00A3082A */ slt $at, $a1, $v1 -/* 02FC2C 8002F02C 10200002 */ beqz $at, .L8002F038 -/* 02FC30 8002F030 00000000 */ nop -/* 02FC34 8002F034 00602825 */ move $a1, $v1 -.L8002F038: -/* 02FC38 8002F038 8602000E */ lh $v0, 0xe($s0) -/* 02FC3C 8002F03C 3C198012 */ lui $t9, %hi(D_8011D0CC) # $t9, 0x8012 -/* 02FC40 8002F040 0044082A */ slt $at, $v0, $a0 -/* 02FC44 8002F044 10200004 */ beqz $at, .L8002F058 -/* 02FC48 8002F048 00A2082A */ slt $at, $a1, $v0 -/* 02FC4C 8002F04C 10000005 */ b .L8002F064 -/* 02FC50 8002F050 00402025 */ move $a0, $v0 -/* 02FC54 8002F054 00A2082A */ slt $at, $a1, $v0 -.L8002F058: -/* 02FC58 8002F058 10200003 */ beqz $at, .L8002F068 -/* 02FC5C 8002F05C 00C4082A */ slt $at, $a2, $a0 -/* 02FC60 8002F060 00402825 */ move $a1, $v0 -.L8002F064: -/* 02FC64 8002F064 00C4082A */ slt $at, $a2, $a0 -.L8002F068: -/* 02FC68 8002F068 1420007E */ bnez $at, .L8002F264 -/* 02FC6C 8002F06C 00000000 */ nop -/* 02FC70 8002F070 8739D0CC */ lh $t9, %lo(D_8011D0CC)($t9) -/* 02FC74 8002F074 27A200A8 */ addiu $v0, $sp, 0xa8 -/* 02FC78 8002F078 00B9082A */ slt $at, $a1, $t9 -/* 02FC7C 8002F07C 14200079 */ bnez $at, .L8002F264 -/* 02FC80 8002F080 24040003 */ li $a0, 3 -/* 02FC84 8002F084 860E0000 */ lh $t6, ($s0) -/* 02FC88 8002F088 860F0004 */ lh $t7, 4($s0) -/* 02FC8C 8002F08C 448E9000 */ mtc1 $t6, $f18 -/* 02FC90 8002F090 448F8000 */ mtc1 $t7, $f16 -/* 02FC94 8002F094 468094A0 */ cvt.s.w $f18, $f18 -/* 02FC98 8002F098 86180006 */ lh $t8, 6($s0) -/* 02FC9C 8002F09C 8619000A */ lh $t9, 0xa($s0) -/* 02FCA0 8002F0A0 44987000 */ mtc1 $t8, $f14 -/* 02FCA4 8002F0A4 46808420 */ cvt.s.w $f16, $f16 -/* 02FCA8 8002F0A8 44996000 */ mtc1 $t9, $f12 -/* 02FCAC 8002F0AC 860E000C */ lh $t6, 0xc($s0) -/* 02FCB0 8002F0B0 468073A0 */ cvt.s.w $f14, $f14 -/* 02FCB4 8002F0B4 448E5000 */ mtc1 $t6, $f10 -/* 02FCB8 8002F0B8 860F0010 */ lh $t7, 0x10($s0) -/* 02FCBC 8002F0BC 46806320 */ cvt.s.w $f12, $f12 -/* 02FCC0 8002F0C0 448F4000 */ mtc1 $t7, $f8 -/* 02FCC4 8002F0C4 E7B200A8 */ swc1 $f18, 0xa8($sp) -/* 02FCC8 8002F0C8 468052A0 */ cvt.s.w $f10, $f10 -/* 02FCCC 8002F0CC E7B000B0 */ swc1 $f16, 0xb0($sp) -/* 02FCD0 8002F0D0 E7AE00B8 */ swc1 $f14, 0xb8($sp) -/* 02FCD4 8002F0D4 46804220 */ cvt.s.w $f8, $f8 -/* 02FCD8 8002F0D8 E7AC00C0 */ swc1 $f12, 0xc0($sp) -/* 02FCDC 8002F0DC E7AA00C8 */ swc1 $f10, 0xc8($sp) -/* 02FCE0 8002F0E0 E7A800D0 */ swc1 $f8, 0xd0($sp) -.L8002F0E4: -/* 02FCE4 8002F0E4 24420010 */ addiu $v0, $v0, 0x10 -/* 02FCE8 8002F0E8 1452FFFE */ bne $v0, $s2, .L8002F0E4 -/* 02FCEC 8002F0EC A448FFFE */ sh $t0, -2($v0) -/* 02FCF0 8002F0F0 8EF80000 */ lw $t8, ($s7) -/* 02FCF4 8002F0F4 00147100 */ sll $t6, $s4, 4 -/* 02FCF8 8002F0F8 0018C900 */ sll $t9, $t8, 4 -/* 02FCFC 8002F0FC 3C188012 */ lui $t8, %hi(D_8011C8B8) # $t8, 0x8012 -/* 02FD00 8002F100 2718C8B8 */ addiu $t8, %lo(D_8011C8B8) # addiu $t8, $t8, -0x3748 -/* 02FD04 8002F104 032E7821 */ addu $t7, $t9, $t6 -/* 02FD08 8002F108 01F8C821 */ addu $t9, $t7, $t8 -/* 02FD0C 8002F10C AE390000 */ sw $t9, ($s1) -/* 02FD10 8002F110 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 02FD14 8002F114 24060004 */ li $a2, 4 -/* 02FD18 8002F118 0C00BFDB */ jal func_8002FF6C -/* 02FD1C 8002F11C 27A70088 */ addiu $a3, $sp, 0x88 -/* 02FD20 8002F120 3C0D8012 */ lui $t5, %hi(D_8011B118) # $t5, 0x8012 -/* 02FD24 8002F124 28410003 */ slti $at, $v0, 3 -/* 02FD28 8002F128 25ADB118 */ addiu $t5, %lo(D_8011B118) # addiu $t5, $t5, -0x4ee8 -/* 02FD2C 8002F12C 2408FFFF */ li $t0, -1 -/* 02FD30 8002F130 1420004C */ bnez $at, .L8002F264 -/* 02FD34 8002F134 0040F825 */ move $ra, $v0 -/* 02FD38 8002F138 8EAC0000 */ lw $t4, ($s5) -/* 02FD3C 8002F13C 3C0F8012 */ lui $t7, %hi(D_8011C238) # $t7, 0x8012 -/* 02FD40 8002F140 000C7080 */ sll $t6, $t4, 2 -/* 02FD44 8002F144 01CC7023 */ subu $t6, $t6, $t4 -/* 02FD48 8002F148 000E7080 */ sll $t6, $t6, 2 -/* 02FD4C 8002F14C 25EFC238 */ addiu $t7, %lo(D_8011C238) # addiu $t7, $t7, -0x3dc8 -/* 02FD50 8002F150 01CF5821 */ addu $t3, $t6, $t7 -/* 02FD54 8002F154 A1600001 */ sb $zero, 1($t3) -/* 02FD58 8002F158 1840003F */ blez $v0, .L8002F258 -/* 02FD5C 8002F15C 00004825 */ move $t1, $zero -/* 02FD60 8002F160 27A700A8 */ addiu $a3, $sp, 0xa8 -.L8002F164: -/* 02FD64 8002F164 84E3000E */ lh $v1, 0xe($a3) -/* 02FD68 8002F168 01697821 */ addu $t7, $t3, $t1 -/* 02FD6C 8002F16C 04610032 */ bgez $v1, .L8002F238 -/* 02FD70 8002F170 24190001 */ li $t9, 1 -/* 02FD74 8002F174 000CC080 */ sll $t8, $t4, 2 -/* 02FD78 8002F178 030CC023 */ subu $t8, $t8, $t4 -/* 02FD7C 8002F17C 8DA60000 */ lw $a2, ($t5) -/* 02FD80 8002F180 0018C080 */ sll $t8, $t8, 2 -/* 02FD84 8002F184 3C0E8012 */ lui $t6, %hi(D_8011C238) # $t6, 0x8012 -/* 02FD88 8002F188 25CEC238 */ addiu $t6, %lo(D_8011C238) # addiu $t6, $t6, -0x3dc8 -/* 02FD8C 8002F18C 0309C821 */ addu $t9, $t8, $t1 -/* 02FD90 8002F190 01002825 */ move $a1, $t0 -/* 02FD94 8002F194 00001825 */ move $v1, $zero -/* 02FD98 8002F198 18C00018 */ blez $a2, .L8002F1FC -/* 02FD9C 8002F19C 032E5021 */ addu $t2, $t9, $t6 -/* 02FDA0 8002F1A0 00007900 */ sll $t7, $zero, 4 -/* 02FDA4 8002F1A4 C4E00000 */ lwc1 $f0, ($a3) -/* 02FDA8 8002F1A8 026F2021 */ addu $a0, $s3, $t7 -.L8002F1AC: -/* 02FDAC 8002F1AC C4860000 */ lwc1 $f6, ($a0) -/* 02FDB0 8002F1B0 00000000 */ nop -/* 02FDB4 8002F1B4 46003032 */ c.eq.s $f6, $f0 -/* 02FDB8 8002F1B8 00000000 */ nop -/* 02FDBC 8002F1BC 45000009 */ bc1f .L8002F1E4 -/* 02FDC0 8002F1C0 00000000 */ nop -/* 02FDC4 8002F1C4 C4880008 */ lwc1 $f8, 8($a0) -/* 02FDC8 8002F1C8 C4EA0008 */ lwc1 $f10, 8($a3) -/* 02FDCC 8002F1CC 00000000 */ nop -/* 02FDD0 8002F1D0 460A4032 */ c.eq.s $f8, $f10 -/* 02FDD4 8002F1D4 00000000 */ nop -/* 02FDD8 8002F1D8 45000002 */ bc1f .L8002F1E4 -/* 02FDDC 8002F1DC 00000000 */ nop -/* 02FDE0 8002F1E0 00602825 */ move $a1, $v1 -.L8002F1E4: -/* 02FDE4 8002F1E4 24630001 */ addiu $v1, $v1, 1 -/* 02FDE8 8002F1E8 0066082A */ slt $at, $v1, $a2 -/* 02FDEC 8002F1EC 10200003 */ beqz $at, .L8002F1FC -/* 02FDF0 8002F1F0 24840010 */ addiu $a0, $a0, 0x10 -/* 02FDF4 8002F1F4 10A8FFED */ beq $a1, $t0, .L8002F1AC -/* 02FDF8 8002F1F8 00000000 */ nop -.L8002F1FC: -/* 02FDFC 8002F1FC 14A8000C */ bne $a1, $t0, .L8002F230 -/* 02FE00 8002F200 0006C100 */ sll $t8, $a2, 4 -/* 02FE04 8002F204 C4F00000 */ lwc1 $f16, ($a3) -/* 02FE08 8002F208 8E390000 */ lw $t9, ($s1) -/* 02FE0C 8002F20C C4F20008 */ lwc1 $f18, 8($a3) -/* 02FE10 8002F210 02781821 */ addu $v1, $s3, $t8 -/* 02FE14 8002F214 24CE0001 */ addiu $t6, $a2, 1 -/* 02FE18 8002F218 ADAE0000 */ sw $t6, ($t5) -/* 02FE1C 8002F21C A1460002 */ sb $a2, 2($t2) -/* 02FE20 8002F220 E4700000 */ swc1 $f16, ($v1) -/* 02FE24 8002F224 AC79000C */ sw $t9, 0xc($v1) -/* 02FE28 8002F228 10000008 */ b .L8002F24C -/* 02FE2C 8002F22C E4720008 */ swc1 $f18, 8($v1) -.L8002F230: -/* 02FE30 8002F230 10000006 */ b .L8002F24C -/* 02FE34 8002F234 A1450002 */ sb $a1, 2($t2) -.L8002F238: -/* 02FE38 8002F238 A1E30002 */ sb $v1, 2($t7) -/* 02FE3C 8002F23C 91780001 */ lbu $t8, 1($t3) -/* 02FE40 8002F240 01397004 */ sllv $t6, $t9, $t1 -/* 02FE44 8002F244 030E7825 */ or $t7, $t8, $t6 -/* 02FE48 8002F248 A16F0001 */ sb $t7, 1($t3) -.L8002F24C: -/* 02FE4C 8002F24C 25290001 */ addiu $t1, $t1, 1 -/* 02FE50 8002F250 153FFFC4 */ bne $t1, $ra, .L8002F164 -/* 02FE54 8002F254 24E70010 */ addiu $a3, $a3, 0x10 -.L8002F258: -/* 02FE58 8002F258 25990001 */ addiu $t9, $t4, 1 -/* 02FE5C 8002F25C AEB90000 */ sw $t9, ($s5) -/* 02FE60 8002F260 A1620000 */ sb $v0, ($t3) -.L8002F264: -/* 02FE64 8002F264 26940001 */ addiu $s4, $s4, 1 -/* 02FE68 8002F268 0296082A */ slt $at, $s4, $s6 -/* 02FE6C 8002F26C 1420FF65 */ bnez $at, .L8002F004 -/* 02FE70 8002F270 26100014 */ addiu $s0, $s0, 0x14 -.L8002F274: -/* 02FE74 8002F274 8EF80000 */ lw $t8, ($s7) -/* 02FE78 8002F278 8FBF0044 */ lw $ra, 0x44($sp) -/* 02FE7C 8002F27C 03167021 */ addu $t6, $t8, $s6 -/* 02FE80 8002F280 AEEE0000 */ sw $t6, ($s7) -/* 02FE84 8002F284 8FB70040 */ lw $s7, 0x40($sp) -/* 02FE88 8002F288 8FB6003C */ lw $s6, 0x3c($sp) -/* 02FE8C 8002F28C 8FB00024 */ lw $s0, 0x24($sp) -/* 02FE90 8002F290 8FB10028 */ lw $s1, 0x28($sp) -/* 02FE94 8002F294 8FB2002C */ lw $s2, 0x2c($sp) -/* 02FE98 8002F298 8FB30030 */ lw $s3, 0x30($sp) -/* 02FE9C 8002F29C 8FB40034 */ lw $s4, 0x34($sp) -/* 02FEA0 8002F2A0 8FB50038 */ lw $s5, 0x38($sp) -/* 02FEA4 8002F2A4 03E00008 */ jr $ra -/* 02FEA8 8002F2A8 27BD0128 */ addiu $sp, $sp, 0x128 - diff --git a/asm/non_matchings/tracks/func_8002F2AC.s b/asm/non_matchings/tracks/func_8002F2AC.s deleted file mode 100644 index 3f41a518..00000000 --- a/asm/non_matchings/tracks/func_8002F2AC.s +++ /dev/null @@ -1,110 +0,0 @@ -glabel func_8002F2AC -/* 02FEAC 8002F2AC 3C038012 */ lui $v1, %hi(D_8011B118) # $v1, 0x8012 -/* 02FEB0 8002F2B0 8C63B118 */ lw $v1, %lo(D_8011B118)($v1) -/* 02FEB4 8002F2B4 3C0E8012 */ lui $t6, %hi(D_8011B120) # $t6, 0x8012 -/* 02FEB8 8002F2B8 18600028 */ blez $v1, .L8002F35C -/* 02FEBC 8002F2BC 25C4B120 */ addiu $a0, $t6, %lo(D_8011B120) -/* 02FEC0 8002F2C0 00037900 */ sll $t7, $v1, 4 -/* 02FEC4 8002F2C4 01E42821 */ addu $a1, $t7, $a0 -/* 02FEC8 8002F2C8 24840010 */ addiu $a0, $a0, 0x10 -/* 02FECC 8002F2CC 0085082B */ sltu $at, $a0, $a1 -/* 02FED0 8002F2D0 8C82FFFC */ lw $v0, -4($a0) -/* 02FED4 8002F2D4 C492FFF0 */ lwc1 $f18, -0x10($a0) -/* 02FED8 8002F2D8 10200013 */ beqz $at, .L8002F328 -/* 02FEDC 8002F2DC 00000000 */ nop -.L8002F2E0: -/* 02FEE0 8002F2E0 C4500000 */ lwc1 $f16, ($v0) -/* 02FEE4 8002F2E4 C48EFFF8 */ lwc1 $f14, -8($a0) -/* 02FEE8 8002F2E8 46109402 */ mul.s $f16, $f18, $f16 -/* 02FEEC 8002F2EC C44C0008 */ lwc1 $f12, 8($v0) -/* 02FEF0 8002F2F0 C44A000C */ lwc1 $f10, 0xc($v0) -/* 02FEF4 8002F2F4 C4480004 */ lwc1 $f8, 4($v0) -/* 02FEF8 8002F2F8 460C7302 */ mul.s $f12, $f14, $f12 -/* 02FEFC 8002F2FC C4920000 */ lwc1 $f18, ($a0) -/* 02FF00 8002F300 24840010 */ addiu $a0, $a0, 0x10 -/* 02FF04 8002F304 8C82FFFC */ lw $v0, -4($a0) -/* 02FF08 8002F308 460C8300 */ add.s $f12, $f16, $f12 -/* 02FF0C 8002F30C 0085082B */ sltu $at, $a0, $a1 -/* 02FF10 8002F310 460A6280 */ add.s $f10, $f12, $f10 -/* 02FF14 8002F314 46005287 */ neg.s $f10, $f10 -/* 02FF18 8002F318 00000000 */ nop -/* 02FF1C 8002F31C 46085203 */ div.s $f8, $f10, $f8 -/* 02FF20 8002F320 1420FFEF */ bnez $at, .L8002F2E0 -/* 02FF24 8002F324 E488FFE4 */ swc1 $f8, -0x1c($a0) -.L8002F328: -/* 02FF28 8002F328 C4500000 */ lwc1 $f16, ($v0) -/* 02FF2C 8002F32C C48EFFF8 */ lwc1 $f14, -8($a0) -/* 02FF30 8002F330 46109402 */ mul.s $f16, $f18, $f16 -/* 02FF34 8002F334 C44C0008 */ lwc1 $f12, 8($v0) -/* 02FF38 8002F338 C44A000C */ lwc1 $f10, 0xc($v0) -/* 02FF3C 8002F33C C4480004 */ lwc1 $f8, 4($v0) -/* 02FF40 8002F340 460C7302 */ mul.s $f12, $f14, $f12 -/* 02FF44 8002F344 460C8300 */ add.s $f12, $f16, $f12 -/* 02FF48 8002F348 460A6280 */ add.s $f10, $f12, $f10 -/* 02FF4C 8002F34C 46005287 */ neg.s $f10, $f10 -/* 02FF50 8002F350 00000000 */ nop -/* 02FF54 8002F354 46085203 */ div.s $f8, $f10, $f8 -/* 02FF58 8002F358 E488FFF4 */ swc1 $f8, -0xc($a0) -.L8002F35C: -/* 02FF5C 8002F35C 3C058012 */ lui $a1, %hi(D_8011B320) # $a1, 0x8012 -/* 02FF60 8002F360 3C088012 */ lui $t0, %hi(D_8011B320) # $t0, 0x8012 -/* 02FF64 8002F364 2508B330 */ addiu $t0, %lo(D_8011B320 + 0x10) # addiu $t0, $t0, -0x4cd0 -/* 02FF68 8002F368 24A5B320 */ addiu $a1, %lo(D_8011B320) # addiu $a1, $a1, -0x4ce0 -/* 02FF6C 8002F36C 00002025 */ move $a0, $zero -.L8002F370: -/* 02FF70 8002F370 8CA60000 */ lw $a2, ($a1) -/* 02FF74 8002F374 00001825 */ move $v1, $zero -/* 02FF78 8002F378 18C0002C */ blez $a2, .L8002F42C -/* 02FF7C 8002F37C 00801025 */ move $v0, $a0 -/* 02FF80 8002F380 3C198012 */ lui $t9, %hi(D_8011B330) # $t9, 0x8012 -/* 02FF84 8002F384 2739B330 */ addiu $t9, %lo(D_8011B330) # addiu $t9, $t9, -0x4cd0 -/* 02FF88 8002F388 0002C140 */ sll $t8, $v0, 5 -/* 02FF8C 8002F38C 03193821 */ addu $a3, $t8, $t9 -/* 02FF90 8002F390 24630001 */ addiu $v1, $v1, 1 -/* 02FF94 8002F394 0066082A */ slt $at, $v1, $a2 -/* 02FF98 8002F398 8CE2000C */ lw $v0, 0xc($a3) -/* 02FF9C 8002F39C C4F20000 */ lwc1 $f18, ($a3) -/* 02FFA0 8002F3A0 10200014 */ beqz $at, .L8002F3F4 -/* 02FFA4 8002F3A4 00000000 */ nop -.L8002F3A8: -/* 02FFA8 8002F3A8 C4500000 */ lwc1 $f16, ($v0) -/* 02FFAC 8002F3AC C4EE0008 */ lwc1 $f14, 8($a3) -/* 02FFB0 8002F3B0 46109402 */ mul.s $f16, $f18, $f16 -/* 02FFB4 8002F3B4 C44C0008 */ lwc1 $f12, 8($v0) -/* 02FFB8 8002F3B8 C44A000C */ lwc1 $f10, 0xc($v0) -/* 02FFBC 8002F3BC C4480004 */ lwc1 $f8, 4($v0) -/* 02FFC0 8002F3C0 460C7302 */ mul.s $f12, $f14, $f12 -/* 02FFC4 8002F3C4 C4F20020 */ lwc1 $f18, 0x20($a3) -/* 02FFC8 8002F3C8 24630001 */ addiu $v1, $v1, 1 -/* 02FFCC 8002F3CC 8CE2002C */ lw $v0, 0x2c($a3) -/* 02FFD0 8002F3D0 460C8300 */ add.s $f12, $f16, $f12 -/* 02FFD4 8002F3D4 0066082A */ slt $at, $v1, $a2 -/* 02FFD8 8002F3D8 460A6280 */ add.s $f10, $f12, $f10 -/* 02FFDC 8002F3DC 24E70020 */ addiu $a3, $a3, 0x20 -/* 02FFE0 8002F3E0 46005287 */ neg.s $f10, $f10 -/* 02FFE4 8002F3E4 00000000 */ nop -/* 02FFE8 8002F3E8 46085203 */ div.s $f8, $f10, $f8 -/* 02FFEC 8002F3EC 1420FFEE */ bnez $at, .L8002F3A8 -/* 02FFF0 8002F3F0 E4E8FFE4 */ swc1 $f8, -0x1c($a3) -.L8002F3F4: -/* 02FFF4 8002F3F4 C4500000 */ lwc1 $f16, ($v0) -/* 02FFF8 8002F3F8 C4EE0008 */ lwc1 $f14, 8($a3) -/* 02FFFC 8002F3FC 46109402 */ mul.s $f16, $f18, $f16 -/* 030000 8002F400 C44C0008 */ lwc1 $f12, 8($v0) -/* 030004 8002F404 C44A000C */ lwc1 $f10, 0xc($v0) -/* 030008 8002F408 C4480004 */ lwc1 $f8, 4($v0) -/* 03000C 8002F40C 460C7302 */ mul.s $f12, $f14, $f12 -/* 030010 8002F410 24E70020 */ addiu $a3, $a3, 0x20 -/* 030014 8002F414 460C8300 */ add.s $f12, $f16, $f12 -/* 030018 8002F418 460A6280 */ add.s $f10, $f12, $f10 -/* 03001C 8002F41C 46005287 */ neg.s $f10, $f10 -/* 030020 8002F420 00000000 */ nop -/* 030024 8002F424 46085203 */ div.s $f8, $f10, $f8 -/* 030028 8002F428 E4E8FFE4 */ swc1 $f8, -0x1c($a3) -.L8002F42C: -/* 03002C 8002F42C 24A50004 */ addiu $a1, $a1, 4 -/* 030030 8002F430 14A8FFCF */ bne $a1, $t0, .L8002F370 -/* 030034 8002F434 24840020 */ addiu $a0, $a0, 0x20 -/* 030038 8002F438 03E00008 */ jr $ra -/* 03003C 8002F43C 00000000 */ nop - diff --git a/asm/non_matchings/tracks/func_8002F440.s b/asm/non_matchings/tracks/func_8002F440.s deleted file mode 100644 index df166cde..00000000 --- a/asm/non_matchings/tracks/func_8002F440.s +++ /dev/null @@ -1,413 +0,0 @@ -.late_rodata -glabel D_800E5F54 -.float 1.4142 -glabel D_800E5F58 -.float 0.005 - -.text -glabel func_8002F440 -/* 030040 8002F440 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 030044 8002F444 3C0C8012 */ lui $t4, %hi(D_8011D0C4) # $t4, 0x8012 -/* 030048 8002F448 258CD0C4 */ addiu $t4, %lo(D_8011D0C4) # addiu $t4, $t4, -0x2f3c -/* 03004C 8002F44C 8D8E0000 */ lw $t6, ($t4) -/* 030050 8002F450 AFBF003C */ sw $ra, 0x3c($sp) -/* 030054 8002F454 AFBE0038 */ sw $fp, 0x38($sp) -/* 030058 8002F458 AFB70034 */ sw $s7, 0x34($sp) -/* 03005C 8002F45C AFB60030 */ sw $s6, 0x30($sp) -/* 030060 8002F460 AFB5002C */ sw $s5, 0x2c($sp) -/* 030064 8002F464 AFB40028 */ sw $s4, 0x28($sp) -/* 030068 8002F468 AFB30024 */ sw $s3, 0x24($sp) -/* 03006C 8002F46C AFB20020 */ sw $s2, 0x20($sp) -/* 030070 8002F470 AFB1001C */ sw $s1, 0x1c($sp) -/* 030074 8002F474 AFB00018 */ sw $s0, 0x18($sp) -/* 030078 8002F478 85C40000 */ lh $a0, ($t6) -/* 03007C 8002F47C 0C01C1F1 */ jal sins_f -/* 030080 8002F480 241700FF */ li $s7, 255 -/* 030084 8002F484 3C0C8012 */ lui $t4, %hi(D_8011D0C4) # $t4, 0x8012 -/* 030088 8002F488 258CD0C4 */ addiu $t4, %lo(D_8011D0C4) # addiu $t4, $t4, -0x2f3c -/* 03008C 8002F48C 8D8F0000 */ lw $t7, ($t4) -/* 030090 8002F490 00000000 */ nop -/* 030094 8002F494 85E40000 */ lh $a0, ($t7) -/* 030098 8002F498 0C01C1FE */ jal coss_f -/* 03009C 8002F49C E7A00074 */ swc1 $f0, 0x74($sp) -/* 0300A0 8002F4A0 3C188012 */ lui $t8, %hi(D_8011D0C0) # $t8, 0x8012 -/* 0300A4 8002F4A4 8F18D0C0 */ lw $t8, %lo(D_8011D0C0)($t8) -/* 0300A8 8002F4A8 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 -/* 0300AC 8002F4AC 93190000 */ lbu $t9, ($t8) -/* 0300B0 8002F4B0 C426D0DC */ lwc1 $f6, %lo(D_8011D0DC)($at) -/* 0300B4 8002F4B4 00197100 */ sll $t6, $t9, 4 -/* 0300B8 8002F4B8 448E2000 */ mtc1 $t6, $f4 -/* 0300BC 8002F4BC 3C01800E */ lui $at, %hi(D_800E5F54) # $at, 0x800e -/* 0300C0 8002F4C0 468024A0 */ cvt.s.w $f18, $f4 -/* 0300C4 8002F4C4 C4285F54 */ lwc1 $f8, %lo(D_800E5F54)($at) -/* 0300C8 8002F4C8 3C018012 */ lui $at, %hi(D_8011D0F0) # $at, 0x8012 -/* 0300CC 8002F4CC 46069383 */ div.s $f14, $f18, $f6 -/* 0300D0 8002F4D0 C42CD0F0 */ lwc1 $f12, %lo(D_8011D0F0)($at) -/* 0300D4 8002F4D4 44805000 */ mtc1 $zero, $f10 -/* 0300D8 8002F4D8 3C0C8012 */ lui $t4, %hi(D_8011D0C4) # $t4, 0x8012 -/* 0300DC 8002F4DC 460C503C */ c.lt.s $f10, $f12 -/* 0300E0 8002F4E0 C7B00074 */ lwc1 $f16, 0x74($sp) -/* 0300E4 8002F4E4 3C0D8012 */ lui $t5, %hi(D_8011C238) # $t5, 0x8012 -/* 0300E8 8002F4E8 3C1E8012 */ lui $fp, %hi(D_8011D364) # $fp, 0x8012 -/* 0300EC 8002F4EC 258CD0C4 */ addiu $t4, %lo(D_8011D0C4) # addiu $t4, $t4, -0x2f3c -/* 0300F0 8002F4F0 3C188012 */ lui $t8, %hi(D_8011D0D0) # $t8, 0x8012 -/* 0300F4 8002F4F4 27DED364 */ addiu $fp, %lo(D_8011D364) # addiu $fp, $fp, -0x2c9c -/* 0300F8 8002F4F8 25ADC238 */ addiu $t5, %lo(D_8011C238) # addiu $t5, $t5, -0x3dc8 -/* 0300FC 8002F4FC 46087382 */ mul.s $f14, $f14, $f8 -/* 030100 8002F500 4500002E */ bc1f .L8002F5BC -/* 030104 8002F504 24160040 */ li $s6, 64 -/* 030108 8002F508 8718D0D0 */ lh $t8, %lo(D_8011D0D0)($t8) -/* 03010C 8002F50C 8D8F0000 */ lw $t7, ($t4) -/* 030110 8002F510 44983000 */ mtc1 $t8, $f6 -/* 030114 8002F514 C5E40010 */ lwc1 $f4, 0x10($t7) -/* 030118 8002F518 46803220 */ cvt.s.w $f8, $f6 -/* 03011C 8002F51C 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 030120 8002F520 46082081 */ sub.s $f2, $f4, $f8 -/* 030124 8002F524 4602603C */ c.lt.s $f12, $f2 -/* 030128 8002F528 00000000 */ nop -/* 03012C 8002F52C 45000015 */ bc1f .L8002F584 -/* 030130 8002F530 00000000 */ nop -/* 030134 8002F534 44815000 */ mtc1 $at, $f10 -/* 030138 8002F538 460C1181 */ sub.s $f6, $f2, $f12 -/* 03013C 8002F53C 3C018012 */ lui $at, %hi(D_8011D0F4) # $at, 0x8012 -/* 030140 8002F540 46065102 */ mul.s $f4, $f10, $f6 -/* 030144 8002F544 C428D0F4 */ lwc1 $f8, %lo(D_8011D0F4)($at) -/* 030148 8002F548 240F00FF */ li $t7, 255 -/* 03014C 8002F54C 46082283 */ div.s $f10, $f4, $f8 -/* 030150 8002F550 4459F800 */ cfc1 $t9, $31 -/* 030154 8002F554 00000000 */ nop -/* 030158 8002F558 37210003 */ ori $at, $t9, 3 -/* 03015C 8002F55C 38210002 */ xori $at, $at, 2 -/* 030160 8002F560 44C1F800 */ ctc1 $at, $31 -/* 030164 8002F564 00000000 */ nop -/* 030168 8002F568 460051A4 */ cvt.w.s $f6, $f10 -/* 03016C 8002F56C 440E3000 */ mfc1 $t6, $f6 -/* 030170 8002F570 44D9F800 */ ctc1 $t9, $31 -/* 030174 8002F574 01EEB823 */ subu $s7, $t7, $t6 -/* 030178 8002F578 06E10002 */ bgez $s7, .L8002F584 -/* 03017C 8002F57C 00000000 */ nop -/* 030180 8002F580 0000B825 */ move $s7, $zero -.L8002F584: -/* 030184 8002F584 44802000 */ mtc1 $zero, $f4 -/* 030188 8002F588 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 03018C 8002F58C 4602203C */ c.lt.s $f4, $f2 -/* 030190 8002F590 00000000 */ nop -/* 030194 8002F594 45000009 */ bc1f .L8002F5BC -/* 030198 8002F598 00000000 */ nop -/* 03019C 8002F59C 44814000 */ mtc1 $at, $f8 -/* 0301A0 8002F5A0 3C01800E */ lui $at, %hi(D_800E5F58) # $at, 0x800e -/* 0301A4 8002F5A4 C42A5F58 */ lwc1 $f10, %lo(D_800E5F58)($at) -/* 0301A8 8002F5A8 00000000 */ nop -/* 0301AC 8002F5AC 46025182 */ mul.s $f6, $f10, $f2 -/* 0301B0 8002F5B0 46064100 */ add.s $f4, $f8, $f6 -/* 0301B4 8002F5B4 46047382 */ mul.s $f14, $f14, $f4 -/* 0301B8 8002F5B8 00000000 */ nop -.L8002F5BC: -/* 0301BC 8002F5BC 44975000 */ mtc1 $s7, $f10 -/* 0301C0 8002F5C0 3C018012 */ lui $at, %hi(gShadowOpacity) # $at, 0x8012 -/* 0301C4 8002F5C4 46805220 */ cvt.s.w $f8, $f10 -/* 0301C8 8002F5C8 C426D0D4 */ lwc1 $f6, %lo(gShadowOpacity)($at) -/* 0301CC 8002F5CC 3C198012 */ lui $t9, %hi(D_8011C230) # $t9, 0x8012 -/* 0301D0 8002F5D0 46064102 */ mul.s $f4, $f8, $f6 -/* 0301D4 8002F5D4 8F39C230 */ lw $t9, %lo(D_8011C230)($t9) -/* 0301D8 8002F5D8 3C158012 */ lui $s5, %hi(gCurrentShadowTris) # $s5, 0x8012 -/* 0301DC 8002F5DC 3C148012 */ lui $s4, %hi(gCurrentShadowVerts) # $s4, 0x8012 -/* 0301E0 8002F5E0 4458F800 */ cfc1 $t8, $31 -/* 0301E4 8002F5E4 24120019 */ li $s2, 25 -/* 0301E8 8002F5E8 37010003 */ ori $at, $t8, 3 -/* 0301EC 8002F5EC 38210002 */ xori $at, $at, 2 -/* 0301F0 8002F5F0 44C1F800 */ ctc1 $at, $31 -/* 0301F4 8002F5F4 2694D348 */ addiu $s4, %lo(gCurrentShadowVerts) # addiu $s4, $s4, -0x2cb8 -/* 0301F8 8002F5F8 460022A4 */ cvt.w.s $f10, $f4 -/* 0301FC 8002F5FC 26B5D330 */ addiu $s5, %lo(gCurrentShadowTris) # addiu $s5, $s5, -0x2cd0 -/* 030200 8002F600 44175000 */ mfc1 $s7, $f10 -/* 030204 8002F604 44D8F800 */ ctc1 $t8, $31 -/* 030208 8002F608 1B20010A */ blez $t9, .L8002FA34 -/* 03020C 8002F60C AFA000AC */ sw $zero, 0xac($sp) -/* 030210 8002F610 3C118012 */ lui $s1, %hi(D_8011D0C8) # $s1, 0x8012 -/* 030214 8002F614 3C108012 */ lui $s0, %hi(D_8011D36C) # $s0, 0x8012 -/* 030218 8002F618 3C1F8012 */ lui $ra, %hi(D_8011D368) # $ra, 0x8012 -/* 03021C 8002F61C 3C0A8012 */ lui $t2, %hi(D_8011B120) # $t2, 0x8012 -/* 030220 8002F620 3C098012 */ lui $t1, %hi(D_8011B330) # $t1, 0x8012 -/* 030224 8002F624 2529B330 */ addiu $t1, %lo(D_8011B330) # addiu $t1, $t1, -0x4cd0 -/* 030228 8002F628 254AB120 */ addiu $t2, %lo(D_8011B120) # addiu $t2, $t2, -0x4ee0 -/* 03022C 8002F62C 27FFD368 */ addiu $ra, %lo(D_8011D368) # addiu $ra, $ra, -0x2c98 -/* 030230 8002F630 2610D36C */ addiu $s0, %lo(D_8011D36C) # addiu $s0, $s0, -0x2c94 -/* 030234 8002F634 2631D0C8 */ addiu $s1, %lo(D_8011D0C8) # addiu $s1, $s1, -0x2f38 -/* 030238 8002F638 2413000A */ li $s3, 10 -/* 03023C 8002F63C 240B00FF */ li $t3, 255 -.L8002F640: -/* 030240 8002F640 91A20000 */ lbu $v0, ($t5) -/* 030244 8002F644 3C038012 */ lui $v1, %hi(gCurrentShadowTexture) # $v1, 0x8012 -/* 030248 8002F648 00527821 */ addu $t7, $v0, $s2 -/* 03024C 8002F64C 29E10018 */ slti $at, $t7, 0x18 -/* 030250 8002F650 14200019 */ bnez $at, .L8002F6B8 -/* 030254 8002F654 2463D360 */ addiu $v1, %lo(gCurrentShadowTexture) # addiu $v1, $v1, -0x2ca0 -/* 030258 8002F658 8FD90000 */ lw $t9, ($fp) -/* 03025C 8002F65C 8C780000 */ lw $t8, ($v1) -/* 030260 8002F660 3C0E8012 */ lui $t6, %hi(D_8011D0C0) # $t6, 0x8012 -/* 030264 8002F664 8DCED0C0 */ lw $t6, %lo(D_8011D0C0)($t6) -/* 030268 8002F668 001978C0 */ sll $t7, $t9, 3 -/* 03026C 8002F66C 030FC821 */ addu $t9, $t8, $t7 -/* 030270 8002F670 AF2E0000 */ sw $t6, ($t9) -/* 030274 8002F674 8FCE0000 */ lw $t6, ($fp) -/* 030278 8002F678 8C6F0000 */ lw $t7, ($v1) -/* 03027C 8002F67C 8FF80000 */ lw $t8, ($ra) -/* 030280 8002F680 000EC8C0 */ sll $t9, $t6, 3 -/* 030284 8002F684 01F97021 */ addu $t6, $t7, $t9 -/* 030288 8002F688 A5D80004 */ sh $t8, 4($t6) -/* 03028C 8002F68C 8FD80000 */ lw $t8, ($fp) -/* 030290 8002F690 8C790000 */ lw $t9, ($v1) -/* 030294 8002F694 8E0F0000 */ lw $t7, ($s0) -/* 030298 8002F698 001870C0 */ sll $t6, $t8, 3 -/* 03029C 8002F69C 032EC021 */ addu $t8, $t9, $t6 -/* 0302A0 8002F6A0 A70F0006 */ sh $t7, 6($t8) -/* 0302A4 8002F6A4 8FD90000 */ lw $t9, ($fp) -/* 0302A8 8002F6A8 91A20000 */ lbu $v0, ($t5) -/* 0302AC 8002F6AC 272E0001 */ addiu $t6, $t9, 1 -/* 0302B0 8002F6B0 AFCE0000 */ sw $t6, ($fp) -/* 0302B4 8002F6B4 00009025 */ move $s2, $zero -.L8002F6B8: -/* 0302B8 8002F6B8 91A80001 */ lbu $t0, 1($t5) -/* 0302BC 8002F6BC 184000AA */ blez $v0, .L8002F968 -/* 0302C0 8002F6C0 00003825 */ move $a3, $zero -/* 0302C4 8002F6C4 8FAF00AC */ lw $t7, 0xac($sp) -/* 0302C8 8002F6C8 3C198012 */ lui $t9, %hi(D_8011C238) # $t9, 0x8012 -/* 0302CC 8002F6CC 000FC080 */ sll $t8, $t7, 2 -/* 0302D0 8002F6D0 030FC023 */ subu $t8, $t8, $t7 -/* 0302D4 8002F6D4 0018C080 */ sll $t8, $t8, 2 -/* 0302D8 8002F6D8 2739C238 */ addiu $t9, %lo(D_8011C238) # addiu $t9, $t9, -0x3dc8 -/* 0302DC 8002F6DC 03191821 */ addu $v1, $t8, $t9 -/* 0302E0 8002F6E0 27A50090 */ addiu $a1, $sp, 0x90 -/* 0302E4 8002F6E4 27A60080 */ addiu $a2, $sp, 0x80 -.L8002F6E8: -/* 0302E8 8002F6E8 8E040000 */ lw $a0, ($s0) -/* 0302EC 8002F6EC 8E8F0000 */ lw $t7, ($s4) -/* 0302F0 8002F6F0 00930019 */ multu $a0, $s3 -/* 0302F4 8002F6F4 31190001 */ andi $t9, $t0, 1 -/* 0302F8 8002F6F8 24980001 */ addiu $t8, $a0, 1 -/* 0302FC 8002F6FC AE180000 */ sw $t8, ($s0) -/* 030300 8002F700 00007012 */ mflo $t6 -/* 030304 8002F704 01CF1021 */ addu $v0, $t6, $t7 -/* 030308 8002F708 13200037 */ beqz $t9, .L8002F7E8 -/* 03030C 8002F70C 00000000 */ nop -/* 030310 8002F710 906E0002 */ lbu $t6, 2($v1) -/* 030314 8002F714 4459F800 */ cfc1 $t9, $31 -/* 030318 8002F718 000E7940 */ sll $t7, $t6, 5 -/* 03031C 8002F71C 37210003 */ ori $at, $t9, 3 -/* 030320 8002F720 38210002 */ xori $at, $at, 2 -/* 030324 8002F724 012FC021 */ addu $t8, $t1, $t7 -/* 030328 8002F728 C7080000 */ lwc1 $f8, ($t8) -/* 03032C 8002F72C 44C1F800 */ ctc1 $at, $31 -/* 030330 8002F730 00000000 */ nop -/* 030334 8002F734 460041A4 */ cvt.w.s $f6, $f8 -/* 030338 8002F738 440E3000 */ mfc1 $t6, $f6 -/* 03033C 8002F73C 44D9F800 */ ctc1 $t9, $31 -/* 030340 8002F740 A44E0000 */ sh $t6, ($v0) -/* 030344 8002F744 906F0002 */ lbu $t7, 2($v1) -/* 030348 8002F748 8D990000 */ lw $t9, ($t4) -/* 03034C 8002F74C 000FC140 */ sll $t8, $t7, 5 -/* 030350 8002F750 01382021 */ addu $a0, $t1, $t8 -/* 030354 8002F754 C4840000 */ lwc1 $f4, ($a0) -/* 030358 8002F758 C72A000C */ lwc1 $f10, 0xc($t9) -/* 03035C 8002F75C C4880004 */ lwc1 $f8, 4($a0) -/* 030360 8002F760 C6260000 */ lwc1 $f6, ($s1) -/* 030364 8002F764 460A2081 */ sub.s $f2, $f4, $f10 -/* 030368 8002F768 46064100 */ add.s $f4, $f8, $f6 -/* 03036C 8002F76C 444EF800 */ cfc1 $t6, $31 -/* 030370 8002F770 00000000 */ nop -/* 030374 8002F774 35C10003 */ ori $at, $t6, 3 -/* 030378 8002F778 38210002 */ xori $at, $at, 2 -/* 03037C 8002F77C 44C1F800 */ ctc1 $at, $31 -/* 030380 8002F780 00000000 */ nop -/* 030384 8002F784 460022A4 */ cvt.w.s $f10, $f4 -/* 030388 8002F788 440F5000 */ mfc1 $t7, $f10 -/* 03038C 8002F78C 44CEF800 */ ctc1 $t6, $31 -/* 030390 8002F790 A44F0002 */ sh $t7, 2($v0) -/* 030394 8002F794 90780002 */ lbu $t8, 2($v1) -/* 030398 8002F798 444FF800 */ cfc1 $t7, $31 -/* 03039C 8002F79C 0018C940 */ sll $t9, $t8, 5 -/* 0303A0 8002F7A0 35E10003 */ ori $at, $t7, 3 -/* 0303A4 8002F7A4 38210002 */ xori $at, $at, 2 -/* 0303A8 8002F7A8 01397021 */ addu $t6, $t1, $t9 -/* 0303AC 8002F7AC C5C80008 */ lwc1 $f8, 8($t6) -/* 0303B0 8002F7B0 44C1F800 */ ctc1 $at, $31 -/* 0303B4 8002F7B4 00000000 */ nop -/* 0303B8 8002F7B8 460041A4 */ cvt.w.s $f6, $f8 -/* 0303BC 8002F7BC 44183000 */ mfc1 $t8, $f6 -/* 0303C0 8002F7C0 44CFF800 */ ctc1 $t7, $31 -/* 0303C4 8002F7C4 A4580004 */ sh $t8, 4($v0) -/* 0303C8 8002F7C8 90790002 */ lbu $t9, 2($v1) -/* 0303CC 8002F7CC 8D980000 */ lw $t8, ($t4) -/* 0303D0 8002F7D0 00197140 */ sll $t6, $t9, 5 -/* 0303D4 8002F7D4 012E7821 */ addu $t7, $t1, $t6 -/* 0303D8 8002F7D8 C5E40008 */ lwc1 $f4, 8($t7) -/* 0303DC 8002F7DC C70A0014 */ lwc1 $f10, 0x14($t8) -/* 0303E0 8002F7E0 10000037 */ b .L8002F8C0 -/* 0303E4 8002F7E4 460A2301 */ sub.s $f12, $f4, $f10 -.L8002F7E8: -/* 0303E8 8002F7E8 90790002 */ lbu $t9, 2($v1) -/* 0303EC 8002F7EC 4458F800 */ cfc1 $t8, $31 -/* 0303F0 8002F7F0 00197100 */ sll $t6, $t9, 4 -/* 0303F4 8002F7F4 37010003 */ ori $at, $t8, 3 -/* 0303F8 8002F7F8 38210002 */ xori $at, $at, 2 -/* 0303FC 8002F7FC 014E7821 */ addu $t7, $t2, $t6 -/* 030400 8002F800 C5E80000 */ lwc1 $f8, ($t7) -/* 030404 8002F804 44C1F800 */ ctc1 $at, $31 -/* 030408 8002F808 00000000 */ nop -/* 03040C 8002F80C 460041A4 */ cvt.w.s $f6, $f8 -/* 030410 8002F810 44193000 */ mfc1 $t9, $f6 -/* 030414 8002F814 44D8F800 */ ctc1 $t8, $31 -/* 030418 8002F818 A4590000 */ sh $t9, ($v0) -/* 03041C 8002F81C 906E0002 */ lbu $t6, 2($v1) -/* 030420 8002F820 8D980000 */ lw $t8, ($t4) -/* 030424 8002F824 000E7900 */ sll $t7, $t6, 4 -/* 030428 8002F828 014F2021 */ addu $a0, $t2, $t7 -/* 03042C 8002F82C C4840000 */ lwc1 $f4, ($a0) -/* 030430 8002F830 C70A000C */ lwc1 $f10, 0xc($t8) -/* 030434 8002F834 C4880004 */ lwc1 $f8, 4($a0) -/* 030438 8002F838 C6260000 */ lwc1 $f6, ($s1) -/* 03043C 8002F83C 460A2081 */ sub.s $f2, $f4, $f10 -/* 030440 8002F840 46064100 */ add.s $f4, $f8, $f6 -/* 030444 8002F844 4459F800 */ cfc1 $t9, $31 -/* 030448 8002F848 00000000 */ nop -/* 03044C 8002F84C 37210003 */ ori $at, $t9, 3 -/* 030450 8002F850 38210002 */ xori $at, $at, 2 -/* 030454 8002F854 44C1F800 */ ctc1 $at, $31 -/* 030458 8002F858 00000000 */ nop -/* 03045C 8002F85C 460022A4 */ cvt.w.s $f10, $f4 -/* 030460 8002F860 440E5000 */ mfc1 $t6, $f10 -/* 030464 8002F864 44D9F800 */ ctc1 $t9, $31 -/* 030468 8002F868 A44E0002 */ sh $t6, 2($v0) -/* 03046C 8002F86C 906F0002 */ lbu $t7, 2($v1) -/* 030470 8002F870 444EF800 */ cfc1 $t6, $31 -/* 030474 8002F874 000FC100 */ sll $t8, $t7, 4 -/* 030478 8002F878 35C10003 */ ori $at, $t6, 3 -/* 03047C 8002F87C 38210002 */ xori $at, $at, 2 -/* 030480 8002F880 0158C821 */ addu $t9, $t2, $t8 -/* 030484 8002F884 C7280008 */ lwc1 $f8, 8($t9) -/* 030488 8002F888 44C1F800 */ ctc1 $at, $31 -/* 03048C 8002F88C 00000000 */ nop -/* 030490 8002F890 460041A4 */ cvt.w.s $f6, $f8 -/* 030494 8002F894 440F3000 */ mfc1 $t7, $f6 -/* 030498 8002F898 44CEF800 */ ctc1 $t6, $31 -/* 03049C 8002F89C A44F0004 */ sh $t7, 4($v0) -/* 0304A0 8002F8A0 90780002 */ lbu $t8, 2($v1) -/* 0304A4 8002F8A4 8D8F0000 */ lw $t7, ($t4) -/* 0304A8 8002F8A8 0018C900 */ sll $t9, $t8, 4 -/* 0304AC 8002F8AC 01597021 */ addu $t6, $t2, $t9 -/* 0304B0 8002F8B0 C5C40008 */ lwc1 $f4, 8($t6) -/* 0304B4 8002F8B4 C5EA0014 */ lwc1 $f10, 0x14($t7) -/* 0304B8 8002F8B8 00000000 */ nop -/* 0304BC 8002F8BC 460A2301 */ sub.s $f12, $f4, $f10 -.L8002F8C0: -/* 0304C0 8002F8C0 46001202 */ mul.s $f8, $f2, $f0 -/* 0304C4 8002F8C4 0008C043 */ sra $t8, $t0, 1 -/* 0304C8 8002F8C8 A04B0006 */ sb $t3, 6($v0) -/* 0304CC 8002F8CC A04B0007 */ sb $t3, 7($v0) -/* 0304D0 8002F8D0 46106182 */ mul.s $f6, $f12, $f16 -/* 0304D4 8002F8D4 A04B0008 */ sb $t3, 8($v0) -/* 0304D8 8002F8D8 A0570009 */ sb $s7, 9($v0) -/* 0304DC 8002F8DC 91A20000 */ lbu $v0, ($t5) -/* 0304E0 8002F8E0 46064101 */ sub.s $f4, $f8, $f6 -/* 0304E4 8002F8E4 03004025 */ move $t0, $t8 -/* 0304E8 8002F8E8 460E2282 */ mul.s $f10, $f4, $f14 -/* 0304EC 8002F8EC 24E70001 */ addiu $a3, $a3, 1 -/* 0304F0 8002F8F0 24630001 */ addiu $v1, $v1, 1 -/* 0304F4 8002F8F4 24A50002 */ addiu $a1, $a1, 2 -/* 0304F8 8002F8F8 46125200 */ add.s $f8, $f10, $f18 -/* 0304FC 8002F8FC 24C60002 */ addiu $a2, $a2, 2 -/* 030500 8002F900 4459F800 */ cfc1 $t9, $31 -/* 030504 8002F904 00000000 */ nop -/* 030508 8002F908 37210003 */ ori $at, $t9, 3 -/* 03050C 8002F90C 38210002 */ xori $at, $at, 2 -/* 030510 8002F910 44C1F800 */ ctc1 $at, $31 -/* 030514 8002F914 00000000 */ nop -/* 030518 8002F918 460041A4 */ cvt.w.s $f6, $f8 -/* 03051C 8002F91C 44D9F800 */ ctc1 $t9, $31 -/* 030520 8002F920 440E3000 */ mfc1 $t6, $f6 -/* 030524 8002F924 46006102 */ mul.s $f4, $f12, $f0 -/* 030528 8002F928 A4AEFFFE */ sh $t6, -2($a1) -/* 03052C 8002F92C 46101282 */ mul.s $f10, $f2, $f16 -/* 030530 8002F930 460A2200 */ add.s $f8, $f4, $f10 -/* 030534 8002F934 460E4182 */ mul.s $f6, $f8, $f14 -/* 030538 8002F938 46123100 */ add.s $f4, $f6, $f18 -/* 03053C 8002F93C 444FF800 */ cfc1 $t7, $31 -/* 030540 8002F940 00000000 */ nop -/* 030544 8002F944 35E10003 */ ori $at, $t7, 3 -/* 030548 8002F948 38210002 */ xori $at, $at, 2 -/* 03054C 8002F94C 44C1F800 */ ctc1 $at, $31 -/* 030550 8002F950 00E2082A */ slt $at, $a3, $v0 -/* 030554 8002F954 460022A4 */ cvt.w.s $f10, $f4 -/* 030558 8002F958 44185000 */ mfc1 $t8, $f10 -/* 03055C 8002F95C 44CFF800 */ ctc1 $t7, $31 -/* 030560 8002F960 1420FF61 */ bnez $at, .L8002F6E8 -/* 030564 8002F964 A4D8FFFE */ sh $t8, -2($a2) -.L8002F968: -/* 030568 8002F968 2459FFFF */ addiu $t9, $v0, -1 -/* 03056C 8002F96C 2B210002 */ slti $at, $t9, 2 -/* 030570 8002F970 14200027 */ bnez $at, .L8002FA10 -/* 030574 8002F974 24070001 */ li $a3, 1 -/* 030578 8002F978 26440001 */ addiu $a0, $s2, 1 -/* 03057C 8002F97C 24880001 */ addiu $t0, $a0, 1 -/* 030580 8002F980 27A50092 */ addiu $a1, $sp, 0x92 -/* 030584 8002F984 27A60082 */ addiu $a2, $sp, 0x82 -.L8002F988: -/* 030588 8002F988 8FE30000 */ lw $v1, ($ra) -/* 03058C 8002F98C 8EAF0000 */ lw $t7, ($s5) -/* 030590 8002F990 00037100 */ sll $t6, $v1, 4 -/* 030594 8002F994 24780001 */ addiu $t8, $v1, 1 -/* 030598 8002F998 AFF80000 */ sw $t8, ($ra) -/* 03059C 8002F99C 01CF1021 */ addu $v0, $t6, $t7 -/* 0305A0 8002F9A0 A0560000 */ sb $s6, ($v0) -/* 0305A4 8002F9A4 A0440001 */ sb $a0, 1($v0) -/* 0305A8 8002F9A8 A0480002 */ sb $t0, 2($v0) -/* 0305AC 8002F9AC A0520003 */ sb $s2, 3($v0) -/* 0305B0 8002F9B0 84B90000 */ lh $t9, ($a1) -/* 0305B4 8002F9B4 24E70001 */ addiu $a3, $a3, 1 -/* 0305B8 8002F9B8 A4590004 */ sh $t9, 4($v0) -/* 0305BC 8002F9BC 84CE0000 */ lh $t6, ($a2) -/* 0305C0 8002F9C0 25080001 */ addiu $t0, $t0, 1 -/* 0305C4 8002F9C4 A44E0006 */ sh $t6, 6($v0) -/* 0305C8 8002F9C8 84AF0002 */ lh $t7, 2($a1) -/* 0305CC 8002F9CC 24840001 */ addiu $a0, $a0, 1 -/* 0305D0 8002F9D0 A44F0008 */ sh $t7, 8($v0) -/* 0305D4 8002F9D4 84D80002 */ lh $t8, 2($a2) -/* 0305D8 8002F9D8 24A50002 */ addiu $a1, $a1, 2 -/* 0305DC 8002F9DC A458000A */ sh $t8, 0xa($v0) -/* 0305E0 8002F9E0 87B90090 */ lh $t9, 0x90($sp) -/* 0305E4 8002F9E4 24C60002 */ addiu $a2, $a2, 2 -/* 0305E8 8002F9E8 A459000C */ sh $t9, 0xc($v0) -/* 0305EC 8002F9EC 87AE0080 */ lh $t6, 0x80($sp) -/* 0305F0 8002F9F0 00000000 */ nop -/* 0305F4 8002F9F4 A44E000E */ sh $t6, 0xe($v0) -/* 0305F8 8002F9F8 91A20000 */ lbu $v0, ($t5) -/* 0305FC 8002F9FC 00000000 */ nop -/* 030600 8002FA00 244FFFFF */ addiu $t7, $v0, -1 -/* 030604 8002FA04 00EF082A */ slt $at, $a3, $t7 -/* 030608 8002FA08 1420FFDF */ bnez $at, .L8002F988 -/* 03060C 8002FA0C 00000000 */ nop -.L8002FA10: -/* 030610 8002FA10 8FA300AC */ lw $v1, 0xac($sp) -/* 030614 8002FA14 3C188012 */ lui $t8, %hi(D_8011C230) # $t8, 0x8012 -/* 030618 8002FA18 8F18C230 */ lw $t8, %lo(D_8011C230)($t8) -/* 03061C 8002FA1C 24630001 */ addiu $v1, $v1, 1 -/* 030620 8002FA20 0078082A */ slt $at, $v1, $t8 -/* 030624 8002FA24 AFA300AC */ sw $v1, 0xac($sp) -/* 030628 8002FA28 25AD000C */ addiu $t5, $t5, 0xc -/* 03062C 8002FA2C 1420FF04 */ bnez $at, .L8002F640 -/* 030630 8002FA30 02429021 */ addu $s2, $s2, $v0 -.L8002FA34: -/* 030634 8002FA34 8FBF003C */ lw $ra, 0x3c($sp) -/* 030638 8002FA38 8FB00018 */ lw $s0, 0x18($sp) -/* 03063C 8002FA3C 8FB1001C */ lw $s1, 0x1c($sp) -/* 030640 8002FA40 8FB20020 */ lw $s2, 0x20($sp) -/* 030644 8002FA44 8FB30024 */ lw $s3, 0x24($sp) -/* 030648 8002FA48 8FB40028 */ lw $s4, 0x28($sp) -/* 03064C 8002FA4C 8FB5002C */ lw $s5, 0x2c($sp) -/* 030650 8002FA50 8FB60030 */ lw $s6, 0x30($sp) -/* 030654 8002FA54 8FB70034 */ lw $s7, 0x34($sp) -/* 030658 8002FA58 8FBE0038 */ lw $fp, 0x38($sp) -/* 03065C 8002FA5C 03E00008 */ jr $ra -/* 030660 8002FA60 27BD00B0 */ addiu $sp, $sp, 0xb0 - diff --git a/asm/non_matchings/tracks/func_8002FF6C.s b/asm/non_matchings/tracks/func_8002FF6C.s deleted file mode 100644 index 6c7c6bb1..00000000 --- a/asm/non_matchings/tracks/func_8002FF6C.s +++ /dev/null @@ -1,369 +0,0 @@ -glabel func_8002FF6C -/* 030B6C 8002FF6C 27BDFEA0 */ addiu $sp, $sp, -0x160 -/* 030B70 8002FF70 AFBF0054 */ sw $ra, 0x54($sp) -/* 030B74 8002FF74 AFB3003C */ sw $s3, 0x3c($sp) -/* 030B78 8002FF78 AFB20038 */ sw $s2, 0x38($sp) -/* 030B7C 8002FF7C AFB00030 */ sw $s0, 0x30($sp) -/* 030B80 8002FF80 00C0F825 */ move $ra, $a2 -/* 030B84 8002FF84 AFBE0050 */ sw $fp, 0x50($sp) -/* 030B88 8002FF88 AFB7004C */ sw $s7, 0x4c($sp) -/* 030B8C 8002FF8C AFB60048 */ sw $s6, 0x48($sp) -/* 030B90 8002FF90 AFB50044 */ sw $s5, 0x44($sp) -/* 030B94 8002FF94 AFB40040 */ sw $s4, 0x40($sp) -/* 030B98 8002FF98 AFB10034 */ sw $s1, 0x34($sp) -/* 030B9C 8002FF9C E7BD0028 */ swc1 $f29, 0x28($sp) -/* 030BA0 8002FFA0 E7BC002C */ swc1 $f28, 0x2c($sp) -/* 030BA4 8002FFA4 E7BB0020 */ swc1 $f27, 0x20($sp) -/* 030BA8 8002FFA8 E7BA0024 */ swc1 $f26, 0x24($sp) -/* 030BAC 8002FFAC E7B90018 */ swc1 $f25, 0x18($sp) -/* 030BB0 8002FFB0 E7B8001C */ swc1 $f24, 0x1c($sp) -/* 030BB4 8002FFB4 E7B70010 */ swc1 $f23, 0x10($sp) -/* 030BB8 8002FFB8 E7B60014 */ swc1 $f22, 0x14($sp) -/* 030BBC 8002FFBC E7B50008 */ swc1 $f21, 8($sp) -/* 030BC0 8002FFC0 E7B4000C */ swc1 $f20, 0xc($sp) -/* 030BC4 8002FFC4 AFA7016C */ sw $a3, 0x16c($sp) -/* 030BC8 8002FFC8 00A09825 */ move $s3, $a1 -/* 030BCC 8002FFCC 27B000E0 */ addiu $s0, $sp, 0xe0 -/* 030BD0 8002FFD0 00809025 */ move $s2, $a0 -/* 030BD4 8002FFD4 00006825 */ move $t5, $zero -/* 030BD8 8002FFD8 18C000DF */ blez $a2, .L80030358 -/* 030BDC 8002FFDC AFA50164 */ sw $a1, 0x164($sp) -/* 030BE0 8002FFE0 28810003 */ slti $at, $a0, 3 -/* 030BE4 8002FFE4 142000DC */ bnez $at, .L80030358 -/* 030BE8 8002FFE8 AFA50164 */ sw $a1, 0x164($sp) -/* 030BEC 8002FFEC 000078C0 */ sll $t7, $zero, 3 -/* 030BF0 8002FFF0 3C168012 */ lui $s6, %hi(D_8011D0BC) # $s6, 0x8012 -/* 030BF4 8002FFF4 3C148012 */ lui $s4, %hi(D_8011B320) # $s4, 0x8012 -/* 030BF8 8002FFF8 3C118012 */ lui $s1, %hi(D_8011B330) # $s1, 0x8012 -/* 030BFC 8002FFFC 44800000 */ mtc1 $zero, $f0 -/* 030C00 80030000 2631B330 */ addiu $s1, %lo(D_8011B330) # addiu $s1, $s1, -0x4cd0 -/* 030C04 80030004 2694B320 */ addiu $s4, %lo(D_8011B320) # addiu $s4, $s4, -0x4ce0 -/* 030C08 80030008 26D6D0BC */ addiu $s6, %lo(D_8011D0BC) # addiu $s6, $s6, -0x2f44 -/* 030C0C 8003000C 00EFB821 */ addu $s7, $a3, $t7 -/* 030C10 80030010 AFA50164 */ sw $a1, 0x164($sp) -/* 030C14 80030014 2415001F */ li $s5, 31 -/* 030C18 80030018 25BE0001 */ addiu $fp, $t5, 1 -.L8003001C: -/* 030C1C 8003001C 03DF082A */ slt $at, $fp, $ra -/* 030C20 80030020 03C01825 */ move $v1, $fp -/* 030C24 80030024 00001025 */ move $v0, $zero -/* 030C28 80030028 14200002 */ bnez $at, .L80030034 -/* 030C2C 8003002C 00005025 */ move $t2, $zero -/* 030C30 80030030 00001825 */ move $v1, $zero -.L80030034: -/* 030C34 80030034 8FB8016C */ lw $t8, 0x16c($sp) -/* 030C38 80030038 0003C8C0 */ sll $t9, $v1, 3 -/* 030C3C 8003003C 03192021 */ addu $a0, $t8, $t9 -/* 030C40 80030040 C4940000 */ lwc1 $f20, ($a0) -/* 030C44 80030044 C6F60000 */ lwc1 $f22, ($s7) -/* 030C48 80030048 C4900004 */ lwc1 $f16, 4($a0) -/* 030C4C 8003004C C6F20004 */ lwc1 $f18, 4($s7) -/* 030C50 80030050 4614B03C */ c.lt.s $f22, $f20 -/* 030C54 80030054 4616A381 */ sub.s $f14, $f20, $f22 -/* 030C58 80030058 02604825 */ move $t1, $s3 -/* 030C5C 8003005C 46007387 */ neg.s $f14, $f14 -/* 030C60 80030060 45000007 */ bc1f .L80030080 -/* 030C64 80030064 46128301 */ sub.s $f12, $f16, $f18 -/* 030C68 80030068 460E9102 */ mul.s $f4, $f18, $f14 -/* 030C6C 8003006C 00000000 */ nop -/* 030C70 80030070 46166182 */ mul.s $f6, $f12, $f22 -/* 030C74 80030074 46062080 */ add.s $f2, $f4, $f6 -/* 030C78 80030078 10000006 */ b .L80030094 -/* 030C7C 8003007C 46001087 */ neg.s $f2, $f2 -.L80030080: -/* 030C80 80030080 460E8202 */ mul.s $f8, $f16, $f14 -/* 030C84 80030084 00000000 */ nop -/* 030C88 80030088 46146282 */ mul.s $f10, $f12, $f20 -/* 030C8C 8003008C 460A4080 */ add.s $f2, $f8, $f10 -/* 030C90 80030090 46001087 */ neg.s $f2, $f2 -.L80030094: -/* 030C94 80030094 1A4000A5 */ blez $s2, .L8003032C -.L80030098: -/* 030C98 80030098 244C0001 */ addiu $t4, $v0, 1 -/* 030C9C 8003009C 0192082A */ slt $at, $t4, $s2 -/* 030CA0 800300A0 14200002 */ bnez $at, .L800300AC -/* 030CA4 800300A4 01801825 */ move $v1, $t4 -/* 030CA8 800300A8 00001825 */ move $v1, $zero -.L800300AC: -/* 030CAC 800300AC C5320008 */ lwc1 $f18, 8($t1) -/* 030CB0 800300B0 C5340000 */ lwc1 $f20, ($t1) -/* 030CB4 800300B4 460E9102 */ mul.s $f4, $f18, $f14 -/* 030CB8 800300B8 00037100 */ sll $t6, $v1, 4 -/* 030CBC 800300BC 026E3821 */ addu $a3, $s3, $t6 -/* 030CC0 800300C0 C4F80008 */ lwc1 $f24, 8($a3) -/* 030CC4 800300C4 46146182 */ mul.s $f6, $f12, $f20 -/* 030CC8 800300C8 C4FA0000 */ lwc1 $f26, ($a3) -/* 030CCC 800300CC 460EC282 */ mul.s $f10, $f24, $f14 -/* 030CD0 800300D0 46062200 */ add.s $f8, $f4, $f6 -/* 030CD4 800300D4 461A6102 */ mul.s $f4, $f12, $f26 -/* 030CD8 800300D8 46024400 */ add.s $f16, $f8, $f2 -/* 030CDC 800300DC 4610003E */ c.le.s $f0, $f16 -/* 030CE0 800300E0 46045180 */ add.s $f6, $f10, $f4 -/* 030CE4 800300E4 45000005 */ bc1f .L800300FC -/* 030CE8 800300E8 46023580 */ add.s $f22, $f6, $f2 -/* 030CEC 800300EC 4600B03C */ c.lt.s $f22, $f0 -/* 030CF0 800300F0 00000000 */ nop -/* 030CF4 800300F4 45010009 */ bc1t .L8003011C -/* 030CF8 800300F8 000D7880 */ sll $t7, $t5, 2 -.L800300FC: -/* 030CFC 800300FC 4600803C */ c.lt.s $f16, $f0 -/* 030D00 80030100 00000000 */ nop -/* 030D04 80030104 4500007A */ bc1f .L800302F0 -/* 030D08 80030108 00000000 */ nop -/* 030D0C 8003010C 4616003E */ c.le.s $f0, $f22 -/* 030D10 80030110 00000000 */ nop -/* 030D14 80030114 45000076 */ bc1f .L800302F0 -/* 030D18 80030118 000D7880 */ sll $t7, $t5, 2 -.L8003011C: -/* 030D1C 8003011C 028F4021 */ addu $t0, $s4, $t7 -/* 030D20 80030120 8D040000 */ lw $a0, ($t0) -/* 030D24 80030124 000D5940 */ sll $t3, $t5, 5 -/* 030D28 80030128 000AC100 */ sll $t8, $t2, 4 -/* 030D2C 8003012C 2405FFFF */ li $a1, -1 -/* 030D30 80030130 01601825 */ move $v1, $t3 -/* 030D34 80030134 18800039 */ blez $a0, .L8003021C -/* 030D38 80030138 02183021 */ addu $a2, $s0, $t8 -/* 030D3C 8003013C 0003C940 */ sll $t9, $v1, 5 -/* 030D40 80030140 02391021 */ addu $v0, $s1, $t9 -.L80030144: -/* 030D44 80030144 C45C0010 */ lwc1 $f28, 0x10($v0) -/* 030D48 80030148 2484FFFF */ addiu $a0, $a0, -1 -/* 030D4C 8003014C 4614E032 */ c.eq.s $f28, $f20 -/* 030D50 80030150 00000000 */ nop -/* 030D54 80030154 45000015 */ bc1f .L800301AC -/* 030D58 80030158 00000000 */ nop -/* 030D5C 8003015C C4480014 */ lwc1 $f8, 0x14($v0) -/* 030D60 80030160 00000000 */ nop -/* 030D64 80030164 46124032 */ c.eq.s $f8, $f18 -/* 030D68 80030168 00000000 */ nop -/* 030D6C 8003016C 4500000F */ bc1f .L800301AC -/* 030D70 80030170 00000000 */ nop -/* 030D74 80030174 C44A0018 */ lwc1 $f10, 0x18($v0) -/* 030D78 80030178 00000000 */ nop -/* 030D7C 8003017C 461A5032 */ c.eq.s $f10, $f26 -/* 030D80 80030180 00000000 */ nop -/* 030D84 80030184 45000009 */ bc1f .L800301AC -/* 030D88 80030188 00000000 */ nop -/* 030D8C 8003018C C444001C */ lwc1 $f4, 0x1c($v0) -/* 030D90 80030190 00000000 */ nop -/* 030D94 80030194 46182032 */ c.eq.s $f4, $f24 -/* 030D98 80030198 00000000 */ nop -/* 030D9C 8003019C 45000003 */ bc1f .L800301AC -/* 030DA0 800301A0 00000000 */ nop -/* 030DA4 800301A4 10000018 */ b .L80030208 -/* 030DA8 800301A8 00602825 */ move $a1, $v1 -.L800301AC: -/* 030DAC 800301AC 461AE032 */ c.eq.s $f28, $f26 -/* 030DB0 800301B0 00000000 */ nop -/* 030DB4 800301B4 45000014 */ bc1f .L80030208 -/* 030DB8 800301B8 00000000 */ nop -/* 030DBC 800301BC C4460014 */ lwc1 $f6, 0x14($v0) -/* 030DC0 800301C0 00000000 */ nop -/* 030DC4 800301C4 46183032 */ c.eq.s $f6, $f24 -/* 030DC8 800301C8 00000000 */ nop -/* 030DCC 800301CC 4500000E */ bc1f .L80030208 -/* 030DD0 800301D0 00000000 */ nop -/* 030DD4 800301D4 C4480018 */ lwc1 $f8, 0x18($v0) -/* 030DD8 800301D8 00000000 */ nop -/* 030DDC 800301DC 46144032 */ c.eq.s $f8, $f20 -/* 030DE0 800301E0 00000000 */ nop -/* 030DE4 800301E4 45000008 */ bc1f .L80030208 -/* 030DE8 800301E8 00000000 */ nop -/* 030DEC 800301EC C44A001C */ lwc1 $f10, 0x1c($v0) -/* 030DF0 800301F0 00000000 */ nop -/* 030DF4 800301F4 46125032 */ c.eq.s $f10, $f18 -/* 030DF8 800301F8 00000000 */ nop -/* 030DFC 800301FC 45000002 */ bc1f .L80030208 -/* 030E00 80030200 00000000 */ nop -/* 030E04 80030204 00602825 */ move $a1, $v1 -.L80030208: -/* 030E08 80030208 24630001 */ addiu $v1, $v1, 1 -/* 030E0C 8003020C 18800003 */ blez $a0, .L8003021C -/* 030E10 80030210 24420020 */ addiu $v0, $v0, 0x20 -/* 030E14 80030214 04A0FFCB */ bltz $a1, .L80030144 -/* 030E18 80030218 00000000 */ nop -.L8003021C: -/* 030E1C 8003021C 04A00009 */ bltz $a1, .L80030244 -/* 030E20 80030220 00057140 */ sll $t6, $a1, 5 -/* 030E24 80030224 A4C5000E */ sh $a1, 0xe($a2) -/* 030E28 80030228 022E1021 */ addu $v0, $s1, $t6 -/* 030E2C 8003022C C4440000 */ lwc1 $f4, ($v0) -/* 030E30 80030230 254A0001 */ addiu $t2, $t2, 1 -/* 030E34 80030234 E4C40000 */ swc1 $f4, ($a2) -/* 030E38 80030238 C4460008 */ lwc1 $f6, 8($v0) -/* 030E3C 8003023C 1000002C */ b .L800302F0 -/* 030E40 80030240 E4C60008 */ swc1 $f6, 8($a2) -.L80030244: -/* 030E44 80030244 46168201 */ sub.s $f8, $f16, $f22 -/* 030E48 80030248 00000000 */ nop -/* 030E4C 8003024C 46088603 */ div.s $f24, $f16, $f8 -/* 030E50 80030250 4614D281 */ sub.s $f10, $f26, $f20 -/* 030E54 80030254 46185102 */ mul.s $f4, $f10, $f24 -/* 030E58 80030258 46142180 */ add.s $f6, $f4, $f20 -/* 030E5C 8003025C E4C60000 */ swc1 $f6, ($a2) -/* 030E60 80030260 C4E80008 */ lwc1 $f8, 8($a3) -/* 030E64 80030264 C5320008 */ lwc1 $f18, 8($t1) -/* 030E68 80030268 00000000 */ nop -/* 030E6C 8003026C 46124281 */ sub.s $f10, $f8, $f18 -/* 030E70 80030270 46185102 */ mul.s $f4, $f10, $f24 -/* 030E74 80030274 46122180 */ add.s $f6, $f4, $f18 -/* 030E78 80030278 E4C60008 */ swc1 $f6, 8($a2) -/* 030E7C 8003027C 8D040000 */ lw $a0, ($t0) -/* 030E80 80030280 00000000 */ nop -/* 030E84 80030284 28810020 */ slti $at, $a0, 0x20 -/* 030E88 80030288 14200004 */ bnez $at, .L8003029C -/* 030E8C 8003028C 008B1821 */ addu $v1, $a0, $t3 -/* 030E90 80030290 AD150000 */ sw $s5, ($t0) -/* 030E94 80030294 02A02025 */ move $a0, $s5 -/* 030E98 80030298 008B1821 */ addu $v1, $a0, $t3 -.L8003029C: -/* 030E9C 8003029C C5280000 */ lwc1 $f8, ($t1) -/* 030EA0 800302A0 00037940 */ sll $t7, $v1, 5 -/* 030EA4 800302A4 022F1021 */ addu $v0, $s1, $t7 -/* 030EA8 800302A8 E4480010 */ swc1 $f8, 0x10($v0) -/* 030EAC 800302AC C52A0008 */ lwc1 $f10, 8($t1) -/* 030EB0 800302B0 8ED80000 */ lw $t8, ($s6) -/* 030EB4 800302B4 E44A0014 */ swc1 $f10, 0x14($v0) -/* 030EB8 800302B8 C4E40000 */ lwc1 $f4, ($a3) -/* 030EBC 800302BC 24990001 */ addiu $t9, $a0, 1 -/* 030EC0 800302C0 E4440018 */ swc1 $f4, 0x18($v0) -/* 030EC4 800302C4 C4E60008 */ lwc1 $f6, 8($a3) -/* 030EC8 800302C8 254A0001 */ addiu $t2, $t2, 1 -/* 030ECC 800302CC E446001C */ swc1 $f6, 0x1c($v0) -/* 030ED0 800302D0 C4C80000 */ lwc1 $f8, ($a2) -/* 030ED4 800302D4 00000000 */ nop -/* 030ED8 800302D8 E4480000 */ swc1 $f8, ($v0) -/* 030EDC 800302DC C4CA0008 */ lwc1 $f10, 8($a2) -/* 030EE0 800302E0 AD190000 */ sw $t9, ($t0) -/* 030EE4 800302E4 AC58000C */ sw $t8, 0xc($v0) -/* 030EE8 800302E8 E44A0008 */ swc1 $f10, 8($v0) -/* 030EEC 800302EC A4C3000E */ sh $v1, 0xe($a2) -.L800302F0: -/* 030EF0 800302F0 4600B03E */ c.le.s $f22, $f0 -/* 030EF4 800302F4 01801025 */ move $v0, $t4 -/* 030EF8 800302F8 4500000A */ bc1f .L80030324 -/* 030EFC 800302FC 000A7100 */ sll $t6, $t2, 4 -/* 030F00 80030300 84EF000E */ lh $t7, 0xe($a3) -/* 030F04 80030304 020E3021 */ addu $a2, $s0, $t6 -/* 030F08 80030308 A4CF000E */ sh $t7, 0xe($a2) -/* 030F0C 8003030C C4E40000 */ lwc1 $f4, ($a3) -/* 030F10 80030310 254A0001 */ addiu $t2, $t2, 1 -/* 030F14 80030314 E4C40000 */ swc1 $f4, ($a2) -/* 030F18 80030318 C4E60008 */ lwc1 $f6, 8($a3) -/* 030F1C 8003031C 00000000 */ nop -/* 030F20 80030320 E4C60008 */ swc1 $f6, 8($a2) -.L80030324: -/* 030F24 80030324 1592FF5C */ bne $t4, $s2, .L80030098 -/* 030F28 80030328 25290010 */ addiu $t1, $t1, 0x10 -.L8003032C: -/* 030F2C 8003032C 02601025 */ move $v0, $s3 -/* 030F30 80030330 02009825 */ move $s3, $s0 -/* 030F34 80030334 03DF082A */ slt $at, $fp, $ra -/* 030F38 80030338 01409025 */ move $s2, $t2 -/* 030F3C 8003033C 03C06825 */ move $t5, $fp -/* 030F40 80030340 26F70008 */ addiu $s7, $s7, 8 -/* 030F44 80030344 10200004 */ beqz $at, .L80030358 -/* 030F48 80030348 00408025 */ move $s0, $v0 -/* 030F4C 8003034C 29410003 */ slti $at, $t2, 3 -/* 030F50 80030350 1020FF32 */ beqz $at, .L8003001C -/* 030F54 80030354 25BE0001 */ addiu $fp, $t5, 1 -.L80030358: -/* 030F58 80030358 8FA50164 */ lw $a1, 0x164($sp) -/* 030F5C 8003035C 2A410003 */ slti $at, $s2, 3 -/* 030F60 80030360 14200041 */ bnez $at, .L80030468 -/* 030F64 80030364 00000000 */ nop -/* 030F68 80030368 12650041 */ beq $s3, $a1, .L80030470 -/* 030F6C 8003036C 8FBF0054 */ lw $ra, 0x54($sp) -/* 030F70 80030370 1A40003E */ blez $s2, .L8003046C -/* 030F74 80030374 00001025 */ move $v0, $zero -/* 030F78 80030378 32470003 */ andi $a3, $s2, 3 -/* 030F7C 8003037C 10E0000F */ beqz $a3, .L800303BC -/* 030F80 80030380 00E03025 */ move $a2, $a3 -/* 030F84 80030384 00001900 */ sll $v1, $zero, 4 -/* 030F88 80030388 02634821 */ addu $t1, $s3, $v1 -/* 030F8C 8003038C 00A32021 */ addu $a0, $a1, $v1 -.L80030390: -/* 030F90 80030390 C5280000 */ lwc1 $f8, ($t1) -/* 030F94 80030394 24420001 */ addiu $v0, $v0, 1 -/* 030F98 80030398 E4880000 */ swc1 $f8, ($a0) -/* 030F9C 8003039C C52A0008 */ lwc1 $f10, 8($t1) -/* 030FA0 800303A0 25290010 */ addiu $t1, $t1, 0x10 -/* 030FA4 800303A4 E48A0008 */ swc1 $f10, 8($a0) -/* 030FA8 800303A8 8538FFFE */ lh $t8, -2($t1) -/* 030FAC 800303AC 24840010 */ addiu $a0, $a0, 0x10 -/* 030FB0 800303B0 14C2FFF7 */ bne $a2, $v0, .L80030390 -/* 030FB4 800303B4 A498FFFE */ sh $t8, -2($a0) -/* 030FB8 800303B8 1052002C */ beq $v0, $s2, .L8003046C -.L800303BC: -/* 030FBC 800303BC 00021900 */ sll $v1, $v0, 4 -/* 030FC0 800303C0 0012C900 */ sll $t9, $s2, 4 -/* 030FC4 800303C4 03253021 */ addu $a2, $t9, $a1 -/* 030FC8 800303C8 02634821 */ addu $t1, $s3, $v1 -/* 030FCC 800303CC 00A32021 */ addu $a0, $a1, $v1 -.L800303D0: -/* 030FD0 800303D0 C5240000 */ lwc1 $f4, ($t1) -/* 030FD4 800303D4 24840040 */ addiu $a0, $a0, 0x40 -/* 030FD8 800303D8 E484FFC0 */ swc1 $f4, -0x40($a0) -/* 030FDC 800303DC C5260008 */ lwc1 $f6, 8($t1) -/* 030FE0 800303E0 25290040 */ addiu $t1, $t1, 0x40 -/* 030FE4 800303E4 E486FFC8 */ swc1 $f6, -0x38($a0) -/* 030FE8 800303E8 852EFFCE */ lh $t6, -0x32($t1) -/* 030FEC 800303EC 00000000 */ nop -/* 030FF0 800303F0 A48EFFCE */ sh $t6, -0x32($a0) -/* 030FF4 800303F4 C528FFD0 */ lwc1 $f8, -0x30($t1) -/* 030FF8 800303F8 00000000 */ nop -/* 030FFC 800303FC E488FFD0 */ swc1 $f8, -0x30($a0) -/* 031000 80030400 C52AFFD8 */ lwc1 $f10, -0x28($t1) -/* 031004 80030404 00000000 */ nop -/* 031008 80030408 E48AFFD8 */ swc1 $f10, -0x28($a0) -/* 03100C 8003040C 852FFFDE */ lh $t7, -0x22($t1) -/* 031010 80030410 00000000 */ nop -/* 031014 80030414 A48FFFDE */ sh $t7, -0x22($a0) -/* 031018 80030418 C524FFE0 */ lwc1 $f4, -0x20($t1) -/* 03101C 8003041C 00000000 */ nop -/* 031020 80030420 E484FFE0 */ swc1 $f4, -0x20($a0) -/* 031024 80030424 C526FFE8 */ lwc1 $f6, -0x18($t1) -/* 031028 80030428 00000000 */ nop -/* 03102C 8003042C E486FFE8 */ swc1 $f6, -0x18($a0) -/* 031030 80030430 8538FFEE */ lh $t8, -0x12($t1) -/* 031034 80030434 00000000 */ nop -/* 031038 80030438 A498FFEE */ sh $t8, -0x12($a0) -/* 03103C 8003043C C528FFF0 */ lwc1 $f8, -0x10($t1) -/* 031040 80030440 00000000 */ nop -/* 031044 80030444 E488FFF0 */ swc1 $f8, -0x10($a0) -/* 031048 80030448 C52AFFF8 */ lwc1 $f10, -8($t1) -/* 03104C 8003044C 00000000 */ nop -/* 031050 80030450 E48AFFF8 */ swc1 $f10, -8($a0) -/* 031054 80030454 8539FFFE */ lh $t9, -2($t1) -/* 031058 80030458 1486FFDD */ bne $a0, $a2, .L800303D0 -/* 03105C 8003045C A499FFFE */ sh $t9, -2($a0) -/* 031060 80030460 10000003 */ b .L80030470 -/* 031064 80030464 8FBF0054 */ lw $ra, 0x54($sp) -.L80030468: -/* 031068 80030468 00009025 */ move $s2, $zero -.L8003046C: -/* 03106C 8003046C 8FBF0054 */ lw $ra, 0x54($sp) -.L80030470: -/* 031070 80030470 02401025 */ move $v0, $s2 -/* 031074 80030474 8FB20038 */ lw $s2, 0x38($sp) -/* 031078 80030478 C7B50008 */ lwc1 $f21, 8($sp) -/* 03107C 8003047C C7B4000C */ lwc1 $f20, 0xc($sp) -/* 031080 80030480 C7B70010 */ lwc1 $f23, 0x10($sp) -/* 031084 80030484 C7B60014 */ lwc1 $f22, 0x14($sp) -/* 031088 80030488 C7B90018 */ lwc1 $f25, 0x18($sp) -/* 03108C 8003048C C7B8001C */ lwc1 $f24, 0x1c($sp) -/* 031090 80030490 C7BB0020 */ lwc1 $f27, 0x20($sp) -/* 031094 80030494 C7BA0024 */ lwc1 $f26, 0x24($sp) -/* 031098 80030498 C7BD0028 */ lwc1 $f29, 0x28($sp) -/* 03109C 8003049C C7BC002C */ lwc1 $f28, 0x2c($sp) -/* 0310A0 800304A0 8FB00030 */ lw $s0, 0x30($sp) -/* 0310A4 800304A4 8FB10034 */ lw $s1, 0x34($sp) -/* 0310A8 800304A8 8FB3003C */ lw $s3, 0x3c($sp) -/* 0310AC 800304AC 8FB40040 */ lw $s4, 0x40($sp) -/* 0310B0 800304B0 8FB50044 */ lw $s5, 0x44($sp) -/* 0310B4 800304B4 8FB60048 */ lw $s6, 0x48($sp) -/* 0310B8 800304B8 8FB7004C */ lw $s7, 0x4c($sp) -/* 0310BC 800304BC 8FBE0050 */ lw $fp, 0x50($sp) -/* 0310C0 800304C0 03E00008 */ jr $ra -/* 0310C4 800304C4 27BD0160 */ addiu $sp, $sp, 0x160 - diff --git a/asm/non_matchings/tracks/func_800304C8.s b/asm/non_matchings/tracks/func_800304C8.s deleted file mode 100644 index f8b6f3cd..00000000 --- a/asm/non_matchings/tracks/func_800304C8.s +++ /dev/null @@ -1,109 +0,0 @@ -glabel func_800304C8 -/* 0310C8 800304C8 3C068012 */ lui $a2, %hi(D_8011D0C4) # $a2, 0x8012 -/* 0310CC 800304CC 8CC6D0C4 */ lw $a2, %lo(D_8011D0C4)($a2) -/* 0310D0 800304D0 C48E0000 */ lwc1 $f14, ($a0) -/* 0310D4 800304D4 C4900018 */ lwc1 $f16, 0x18($a0) -/* 0310D8 800304D8 C4920008 */ lwc1 $f18, 8($a0) -/* 0310DC 800304DC C4C0000C */ lwc1 $f0, 0xc($a2) -/* 0310E0 800304E0 C4840010 */ lwc1 $f4, 0x10($a0) -/* 0310E4 800304E4 46128201 */ sub.s $f8, $f16, $f18 -/* 0310E8 800304E8 C4C20014 */ lwc1 $f2, 0x14($a2) -/* 0310EC 800304EC 460E0181 */ sub.s $f6, $f0, $f14 -/* 0310F0 800304F0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0310F4 800304F4 46083282 */ mul.s $f10, $f6, $f8 -/* 0310F8 800304F8 E7A4000C */ swc1 $f4, 0xc($sp) -/* 0310FC 800304FC C7A6000C */ lwc1 $f6, 0xc($sp) -/* 031100 80030500 00001025 */ move $v0, $zero -/* 031104 80030504 46121101 */ sub.s $f4, $f2, $f18 -/* 031108 80030508 00001825 */ move $v1, $zero -/* 03110C 8003050C 460E3201 */ sub.s $f8, $f6, $f14 -/* 031110 80030510 00002825 */ move $a1, $zero -/* 031114 80030514 46082182 */ mul.s $f6, $f4, $f8 -/* 031118 80030518 44802000 */ mtc1 $zero, $f4 -/* 03111C 8003051C 46065301 */ sub.s $f12, $f10, $f6 -/* 031120 80030520 460C203E */ c.le.s $f4, $f12 -/* 031124 80030524 00000000 */ nop -/* 031128 80030528 45000002 */ bc1f .L80030534 -/* 03112C 8003052C 00000000 */ nop -/* 031130 80030530 24020001 */ li $v0, 1 -.L80030534: -/* 031134 80030534 C4880028 */ lwc1 $f8, 0x28($a0) -/* 031138 80030538 C7A6000C */ lwc1 $f6, 0xc($sp) -/* 03113C 8003053C E7A80008 */ swc1 $f8, 8($sp) -/* 031140 80030540 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 031144 80030544 C7A80008 */ lwc1 $f8, 8($sp) -/* 031148 80030548 E7AA0004 */ swc1 $f10, 4($sp) -/* 03114C 8003054C 46060101 */ sub.s $f4, $f0, $f6 -/* 031150 80030550 46104281 */ sub.s $f10, $f8, $f16 -/* 031154 80030554 460A2202 */ mul.s $f8, $f4, $f10 -/* 031158 80030558 C7A40004 */ lwc1 $f4, 4($sp) -/* 03115C 8003055C 00000000 */ nop -/* 031160 80030560 46062281 */ sub.s $f10, $f4, $f6 -/* 031164 80030564 46101101 */ sub.s $f4, $f2, $f16 -/* 031168 80030568 460A2182 */ mul.s $f6, $f4, $f10 -/* 03116C 8003056C 44802000 */ mtc1 $zero, $f4 -/* 031170 80030570 C7AA0004 */ lwc1 $f10, 4($sp) -/* 031174 80030574 46064301 */ sub.s $f12, $f8, $f6 -/* 031178 80030578 C7A60008 */ lwc1 $f6, 8($sp) -/* 03117C 8003057C 460C203E */ c.le.s $f4, $f12 -/* 031180 80030580 00000000 */ nop -/* 031184 80030584 45000002 */ bc1f .L80030590 -/* 031188 80030588 00000000 */ nop -/* 03118C 8003058C 24030001 */ li $v1, 1 -.L80030590: -/* 031190 80030590 14430032 */ bne $v0, $v1, .L8003065C -/* 031194 80030594 00000000 */ nop -/* 031198 80030598 460A0201 */ sub.s $f8, $f0, $f10 -/* 03119C 8003059C 3C028012 */ lui $v0, %hi(D_8011D0BC) # $v0, 0x8012 -/* 0311A0 800305A0 46069101 */ sub.s $f4, $f18, $f6 -/* 0311A4 800305A4 46044202 */ mul.s $f8, $f8, $f4 -/* 0311A8 800305A8 46061101 */ sub.s $f4, $f2, $f6 -/* 0311AC 800305AC 460A7181 */ sub.s $f6, $f14, $f10 -/* 0311B0 800305B0 46062282 */ mul.s $f10, $f4, $f6 -/* 0311B4 800305B4 44802000 */ mtc1 $zero, $f4 -/* 0311B8 800305B8 460A4301 */ sub.s $f12, $f8, $f10 -/* 0311BC 800305BC 460C203E */ c.le.s $f4, $f12 -/* 0311C0 800305C0 00000000 */ nop -/* 0311C4 800305C4 45000002 */ bc1f .L800305D0 -/* 0311C8 800305C8 00000000 */ nop -/* 0311CC 800305CC 24050001 */ li $a1, 1 -.L800305D0: -/* 0311D0 800305D0 14650022 */ bne $v1, $a1, .L8003065C -/* 0311D4 800305D4 00000000 */ nop -/* 0311D8 800305D8 8C42D0BC */ lw $v0, %lo(D_8011D0BC)($v0) -/* 0311DC 800305DC 3C038012 */ lui $v1, %hi(D_8011D0D0) # $v1, 0x8012 -/* 0311E0 800305E0 C4460000 */ lwc1 $f6, ($v0) -/* 0311E4 800305E4 C44A0008 */ lwc1 $f10, 8($v0) -/* 0311E8 800305E8 46003202 */ mul.s $f8, $f6, $f0 -/* 0311EC 800305EC 2463D0D0 */ addiu $v1, %lo(D_8011D0D0) # addiu $v1, $v1, -0x2f30 -/* 0311F0 800305F0 846E0000 */ lh $t6, ($v1) -/* 0311F4 800305F4 46025102 */ mul.s $f4, $f10, $f2 -/* 0311F8 800305F8 C44A000C */ lwc1 $f10, 0xc($v0) -/* 0311FC 800305FC 46044180 */ add.s $f6, $f8, $f4 -/* 031200 80030600 460A3200 */ add.s $f8, $f6, $f10 -/* 031204 80030604 C4460004 */ lwc1 $f6, 4($v0) -/* 031208 80030608 46004107 */ neg.s $f4, $f8 -/* 03120C 8003060C 00000000 */ nop -/* 031210 80030610 46062303 */ div.s $f12, $f4, $f6 -/* 031214 80030614 448E5000 */ mtc1 $t6, $f10 -/* 031218 80030618 00000000 */ nop -/* 03121C 8003061C 46805220 */ cvt.s.w $f8, $f10 -/* 031220 80030620 460C403C */ c.lt.s $f8, $f12 -/* 031224 80030624 00000000 */ nop -/* 031228 80030628 4500000C */ bc1f .L8003065C -/* 03122C 8003062C 00000000 */ nop -/* 031230 80030630 444FF800 */ cfc1 $t7, $31 -/* 031234 80030634 00000000 */ nop -/* 031238 80030638 35E10003 */ ori $at, $t7, 3 -/* 03123C 8003063C 38210002 */ xori $at, $at, 2 -/* 031240 80030640 44C1F800 */ ctc1 $at, $31 -/* 031244 80030644 00000000 */ nop -/* 031248 80030648 46006124 */ cvt.w.s $f4, $f12 -/* 03124C 8003064C 44182000 */ mfc1 $t8, $f4 -/* 031250 80030650 44CFF800 */ ctc1 $t7, $31 -/* 031254 80030654 A4780000 */ sh $t8, ($v1) -/* 031258 80030658 00000000 */ nop -.L8003065C: -/* 03125C 8003065C 03E00008 */ jr $ra -/* 031260 80030660 27BD0040 */ addiu $sp, $sp, 0x40 - diff --git a/asm/non_matchings/waves/func_800B82B4.s b/asm/non_matchings/waves/func_800B82B4.s deleted file mode 100644 index 66bb434e..00000000 --- a/asm/non_matchings/waves/func_800B82B4.s +++ /dev/null @@ -1,611 +0,0 @@ -.late_rodata -glabel D_800E92A0 -.float 10000.0 -glabel D_800E92A4 -.float -10000.0 - -.text -glabel func_800B82B4 -/* B8EB4 800B82B4 27BDFF90 */ addiu $sp, $sp, -0x70 -/* B8EB8 800B82B8 AFBF0044 */ sw $ra, 0x44($sp) -/* B8EBC 800B82BC AFB3002C */ sw $s3, 0x2C($sp) -/* B8EC0 800B82C0 AFB00020 */ sw $s0, 0x20($sp) -/* B8EC4 800B82C4 AFA40070 */ sw $a0, 0x70($sp) -/* B8EC8 800B82C8 3C018013 */ lui $at, %hi(D_8012A078) -/* B8ECC 800B82CC 00A08025 */ or $s0, $a1, $zero -/* B8ED0 800B82D0 00C09825 */ or $s3, $a2, $zero -/* B8ED4 800B82D4 AFBE0040 */ sw $fp, 0x40($sp) -/* B8ED8 800B82D8 AFB7003C */ sw $s7, 0x3C($sp) -/* B8EDC 800B82DC AFB60038 */ sw $s6, 0x38($sp) -/* B8EE0 800B82E0 AFB50034 */ sw $s5, 0x34($sp) -/* B8EE4 800B82E4 AFB40030 */ sw $s4, 0x30($sp) -/* B8EE8 800B82E8 AFB20028 */ sw $s2, 0x28($sp) -/* B8EEC 800B82EC AFB10024 */ sw $s1, 0x24($sp) -/* B8EF0 800B82F0 E7B50018 */ swc1 $f21, 0x18($sp) -/* B8EF4 800B82F4 E7B4001C */ swc1 $f20, 0x1C($sp) -/* B8EF8 800B82F8 AC26A078 */ sw $a2, %lo(D_8012A078)($at) -/* B8EFC 800B82FC 0C02E04D */ jal func_800B8134 -/* B8F00 800B8300 00A02025 */ or $a0, $a1, $zero -/* B8F04 800B8304 0C02DFAD */ jal wave_init -/* B8F08 800B8308 00000000 */ nop -/* B8F0C 800B830C 8FA40070 */ lw $a0, 0x70($sp) -/* B8F10 800B8310 0C02EF77 */ jal func_800BBDDC -/* B8F14 800B8314 02002825 */ or $a1, $s0, $zero -/* B8F18 800B8318 3C0E8013 */ lui $t6, %hi(gWaveBoundingBoxDiffX) -/* B8F1C 800B831C 8DCEA0A8 */ lw $t6, %lo(gWaveBoundingBoxDiffX)($t6) -/* B8F20 800B8320 3C058013 */ lui $a1, %hi(D_8012A0A0) -/* B8F24 800B8324 448E2000 */ mtc1 $t6, $f4 -/* B8F28 800B8328 24A5A0A0 */ addiu $a1, $a1, %lo(D_8012A0A0) -/* B8F2C 800B832C 468021A0 */ cvt.s.w $f6, $f4 -/* B8F30 800B8330 3C0F8013 */ lui $t7, %hi(gWaveBoundingBoxDiffZ) -/* B8F34 800B8334 3C148013 */ lui $s4, %hi(D_80129FC8) -/* B8F38 800B8338 E4A60000 */ swc1 $f6, 0x0($a1) -/* B8F3C 800B833C 8DEFA0AC */ lw $t7, %lo(gWaveBoundingBoxDiffZ)($t7) -/* B8F40 800B8340 26949FC8 */ addiu $s4, $s4, %lo(D_80129FC8) -/* B8F44 800B8344 8E820000 */ lw $v0, 0x0($s4) -/* B8F48 800B8348 448F4000 */ mtc1 $t7, $f8 -/* B8F4C 800B834C 44828000 */ mtc1 $v0, $f16 -/* B8F50 800B8350 468042A0 */ cvt.s.w $f10, $f8 -/* B8F54 800B8354 3C068013 */ lui $a2, %hi(D_8012A0A4) -/* B8F58 800B8358 24C6A0A4 */ addiu $a2, $a2, %lo(D_8012A0A4) -/* B8F5C 800B835C 46808020 */ cvt.s.w $f0, $f16 -/* B8F60 800B8360 E4CA0000 */ swc1 $f10, 0x0($a2) -/* B8F64 800B8364 C4B20000 */ lwc1 $f18, 0x0($a1) -/* B8F68 800B8368 C4C60000 */ lwc1 $f6, 0x0($a2) -/* B8F6C 800B836C 46009103 */ div.s $f4, $f18, $f0 -/* B8F70 800B8370 3C118013 */ lui $s1, %hi(D_8012A0B8) -/* B8F74 800B8374 3C128013 */ lui $s2, %hi(D_8012A0BC) -/* B8F78 800B8378 2652A0BC */ addiu $s2, $s2, %lo(D_8012A0BC) -/* B8F7C 800B837C 2631A0B8 */ addiu $s1, $s1, %lo(D_8012A0B8) -/* B8F80 800B8380 3C018013 */ lui $at, %hi(D_8012A084) -/* B8F84 800B8384 3C038013 */ lui $v1, %hi(gWaveTexture) -/* B8F88 800B8388 0000B825 */ or $s7, $zero, $zero -/* B8F8C 800B838C 46003203 */ div.s $f8, $f6, $f0 -/* B8F90 800B8390 E6240000 */ swc1 $f4, 0x0($s1) -/* B8F94 800B8394 E6480000 */ swc1 $f8, 0x0($s2) -/* B8F98 800B8398 AC20A084 */ sw $zero, %lo(D_8012A084)($at) -/* B8F9C 800B839C 3C018013 */ lui $at, %hi(D_8012A088) -/* B8FA0 800B83A0 8C63A080 */ lw $v1, %lo(gWaveTexture)($v1) -/* B8FA4 800B83A4 AC20A088 */ sw $zero, %lo(D_8012A088)($at) -/* B8FA8 800B83A8 8E990030 */ lw $t9, 0x30($s4) -/* B8FAC 800B83AC 90780000 */ lbu $t8, 0x0($v1) -/* B8FB0 800B83B0 00000000 */ nop -/* B8FB4 800B83B4 03190019 */ multu $t8, $t9 -/* B8FB8 800B83B8 00005012 */ mflo $t2 -/* B8FBC 800B83BC 000A5940 */ sll $t3, $t2, 5 -/* B8FC0 800B83C0 00000000 */ nop -/* B8FC4 800B83C4 0162001A */ div $zero, $t3, $v0 -/* B8FC8 800B83C8 14400002 */ bnez $v0, .L800B83D4 -/* B8FCC 800B83CC 00000000 */ nop -/* B8FD0 800B83D0 0007000D */ break 7 -.L800B83D4: -/* B8FD4 800B83D4 2401FFFF */ addiu $at, $zero, -0x1 -/* B8FD8 800B83D8 14410004 */ bne $v0, $at, .L800B83EC -/* B8FDC 800B83DC 3C018000 */ lui $at, (0x80000000 >> 16) -/* B8FE0 800B83E0 15610002 */ bne $t3, $at, .L800B83EC -/* B8FE4 800B83E4 00000000 */ nop -/* B8FE8 800B83E8 0006000D */ break 6 -.L800B83EC: -/* B8FEC 800B83EC 3C018013 */ lui $at, %hi(D_8012A08C) -/* B8FF0 800B83F0 00006012 */ mflo $t4 -/* B8FF4 800B83F4 AC2CA08C */ sw $t4, %lo(D_8012A08C)($at) -/* B8FF8 800B83F8 8E8E0034 */ lw $t6, 0x34($s4) -/* B8FFC 800B83FC 906D0001 */ lbu $t5, 0x1($v1) -/* B9000 800B8400 00000000 */ nop -/* B9004 800B8404 01AE0019 */ multu $t5, $t6 -/* B9008 800B8408 00007812 */ mflo $t7 -/* B900C 800B840C 000FC140 */ sll $t8, $t7, 5 -/* B9010 800B8410 00000000 */ nop -/* B9014 800B8414 0302001A */ div $zero, $t8, $v0 -/* B9018 800B8418 14400002 */ bnez $v0, .L800B8424 -/* B901C 800B841C 00000000 */ nop -/* B9020 800B8420 0007000D */ break 7 -.L800B8424: -/* B9024 800B8424 2401FFFF */ addiu $at, $zero, -0x1 -/* B9028 800B8428 14410004 */ bne $v0, $at, .L800B843C -/* B902C 800B842C 3C018000 */ lui $at, (0x80000000 >> 16) -/* B9030 800B8430 17010002 */ bne $t8, $at, .L800B843C -/* B9034 800B8434 00000000 */ nop -/* B9038 800B8438 0006000D */ break 6 -.L800B843C: -/* B903C 800B843C 3C018013 */ lui $at, %hi(D_8012A090) -/* B9040 800B8440 0000C812 */ mflo $t9 -/* B9044 800B8444 AC39A090 */ sw $t9, %lo(D_8012A090)($at) -/* B9048 800B8448 906A0000 */ lbu $t2, 0x0($v1) -/* B904C 800B844C 3C018013 */ lui $at, %hi(D_8012A094) -/* B9050 800B8450 000A5940 */ sll $t3, $t2, 5 -/* B9054 800B8454 256CFFFF */ addiu $t4, $t3, -0x1 -/* B9058 800B8458 AC2CA094 */ sw $t4, %lo(D_8012A094)($at) -/* B905C 800B845C 906D0001 */ lbu $t5, 0x1($v1) -/* B9060 800B8460 3C018013 */ lui $at, %hi(D_8012A098) -/* B9064 800B8464 000D7140 */ sll $t6, $t5, 5 -/* B9068 800B8468 25CFFFFF */ addiu $t7, $t6, -0x1 -/* B906C 800B846C AC2FA098 */ sw $t7, %lo(D_8012A098)($at) -/* B9070 800B8470 3C018013 */ lui $at, %hi(D_8012A09C) -/* B9074 800B8474 AC20A09C */ sw $zero, %lo(D_8012A09C)($at) -/* B9078 800B8478 8E980008 */ lw $t8, 0x8($s4) -/* B907C 800B847C 8E840020 */ lw $a0, 0x20($s4) -/* B9080 800B8480 0018CC00 */ sll $t9, $t8, 16 -/* B9084 800B8484 0324001A */ div $zero, $t9, $a0 -/* B9088 800B8488 8E8B0014 */ lw $t3, 0x14($s4) -/* B908C 800B848C 8E960010 */ lw $s6, 0x10($s4) -/* B9090 800B8490 000B6400 */ sll $t4, $t3, 16 -/* B9094 800B8494 14800002 */ bnez $a0, .L800B84A0 -/* B9098 800B8498 00000000 */ nop -/* B909C 800B849C 0007000D */ break 7 -.L800B84A0: -/* B90A0 800B84A0 2401FFFF */ addiu $at, $zero, -0x1 -/* B90A4 800B84A4 14810004 */ bne $a0, $at, .L800B84B8 -/* B90A8 800B84A8 3C018000 */ lui $at, (0x80000000 >> 16) -/* B90AC 800B84AC 17210002 */ bne $t9, $at, .L800B84B8 -/* B90B0 800B84B0 00000000 */ nop -/* B90B4 800B84B4 0006000D */ break 6 -.L800B84B8: -/* B90B8 800B84B8 8E9E001C */ lw $fp, 0x1C($s4) -/* B90BC 800B84BC 00005012 */ mflo $t2 -/* B90C0 800B84C0 AFAA0054 */ sw $t2, 0x54($sp) -/* B90C4 800B84C4 00000000 */ nop -/* B90C8 800B84C8 0184001A */ div $zero, $t4, $a0 -/* B90CC 800B84CC 14800002 */ bnez $a0, .L800B84D8 -/* B90D0 800B84D0 00000000 */ nop -/* B90D4 800B84D4 0007000D */ break 7 -.L800B84D8: -/* B90D8 800B84D8 2401FFFF */ addiu $at, $zero, -0x1 -/* B90DC 800B84DC 14810004 */ bne $a0, $at, .L800B84F0 -/* B90E0 800B84E0 3C018000 */ lui $at, (0x80000000 >> 16) -/* B90E4 800B84E4 15810002 */ bne $t4, $at, .L800B84F0 -/* B90E8 800B84E8 00000000 */ nop -/* B90EC 800B84EC 0006000D */ break 6 -.L800B84F0: -/* B90F0 800B84F0 3C01800F */ lui $at, %hi(D_800E92A0) -/* B90F4 800B84F4 C42A92A0 */ lwc1 $f10, %lo(D_800E92A0)($at) -/* B90F8 800B84F8 3C018013 */ lui $at, %hi(D_8012A01C) -/* B90FC 800B84FC E42AA01C */ swc1 $f10, %lo(D_8012A01C)($at) -/* B9100 800B8500 3C01800F */ lui $at, %hi(D_800E92A4) -/* B9104 800B8504 C43092A4 */ lwc1 $f16, %lo(D_800E92A4)($at) -/* B9108 800B8508 3C018013 */ lui $at, %hi(D_8012A020) -/* B910C 800B850C E430A020 */ swc1 $f16, %lo(D_8012A020)($at) -/* B9110 800B8510 00006812 */ mflo $t5 -/* B9114 800B8514 AFAD004C */ sw $t5, 0x4C($sp) -/* B9118 800B8518 1880003F */ blez $a0, .L800B8618 -/* B911C 800B851C 3C15800E */ lui $s5, %hi(D_800E3040) -/* B9120 800B8520 26B53040 */ addiu $s5, $s5, %lo(D_800E3040) -/* B9124 800B8524 00008025 */ or $s0, $zero, $zero -.L800B8528: -/* B9128 800B8528 00162400 */ sll $a0, $s6, 16 -/* B912C 800B852C 00047403 */ sra $t6, $a0, 16 -/* B9130 800B8530 0C01C1F1 */ jal sins_f -/* B9134 800B8534 01C02025 */ or $a0, $t6, $zero -/* B9138 800B8538 001E2400 */ sll $a0, $fp, 16 -/* B913C 800B853C 00047C03 */ sra $t7, $a0, 16 -/* B9140 800B8540 01E02025 */ or $a0, $t7, $zero -/* B9144 800B8544 0C01C1F1 */ jal sins_f -/* B9148 800B8548 46000506 */ mov.s $f20, $f0 -/* B914C 800B854C C6920018 */ lwc1 $f18, 0x18($s4) -/* B9150 800B8550 C686000C */ lwc1 $f6, 0xC($s4) -/* B9154 800B8554 46120102 */ mul.s $f4, $f0, $f18 -/* B9158 800B8558 8EB80000 */ lw $t8, 0x0($s5) -/* B915C 800B855C 3C038013 */ lui $v1, %hi(D_8012A01C) -/* B9160 800B8560 0310C821 */ addu $t9, $t8, $s0 -/* B9164 800B8564 4606A202 */ mul.s $f8, $f20, $f6 -/* B9168 800B8568 26F70001 */ addiu $s7, $s7, 0x1 -/* B916C 800B856C 2463A01C */ addiu $v1, $v1, %lo(D_8012A01C) -/* B9170 800B8570 46082280 */ add.s $f10, $f4, $f8 -/* B9174 800B8574 E72A0000 */ swc1 $f10, 0x0($t9) -/* B9178 800B8578 8E8A0028 */ lw $t2, 0x28($s4) -/* B917C 800B857C 00000000 */ nop -/* B9180 800B8580 11400008 */ beqz $t2, .L800B85A4 -/* B9184 800B8584 00000000 */ nop -/* B9188 800B8588 8EAB0000 */ lw $t3, 0x0($s5) -/* B918C 800B858C 00000000 */ nop -/* B9190 800B8590 01701021 */ addu $v0, $t3, $s0 -/* B9194 800B8594 C4400000 */ lwc1 $f0, 0x0($v0) -/* B9198 800B8598 00000000 */ nop -/* B919C 800B859C 46000400 */ add.s $f16, $f0, $f0 -/* B91A0 800B85A0 E4500000 */ swc1 $f16, 0x0($v0) -.L800B85A4: -/* B91A4 800B85A4 8EAC0000 */ lw $t4, 0x0($s5) -/* B91A8 800B85A8 C4720000 */ lwc1 $f18, 0x0($v1) -/* B91AC 800B85AC 01901021 */ addu $v0, $t4, $s0 -/* B91B0 800B85B0 C4400000 */ lwc1 $f0, 0x0($v0) -/* B91B4 800B85B4 26100004 */ addiu $s0, $s0, 0x4 -/* B91B8 800B85B8 4612003C */ c.lt.s $f0, $f18 -/* B91BC 800B85BC 00000000 */ nop -/* B91C0 800B85C0 45000004 */ bc1f .L800B85D4 -/* B91C4 800B85C4 00000000 */ nop -/* B91C8 800B85C8 E4600000 */ swc1 $f0, 0x0($v1) -/* B91CC 800B85CC C4400000 */ lwc1 $f0, 0x0($v0) -/* B91D0 800B85D0 00000000 */ nop -.L800B85D4: -/* B91D4 800B85D4 3C028013 */ lui $v0, %hi(D_8012A020) -/* B91D8 800B85D8 2442A020 */ addiu $v0, $v0, %lo(D_8012A020) -/* B91DC 800B85DC C4460000 */ lwc1 $f6, 0x0($v0) -/* B91E0 800B85E0 00000000 */ nop -/* B91E4 800B85E4 4600303C */ c.lt.s $f6, $f0 -/* B91E8 800B85E8 00000000 */ nop -/* B91EC 800B85EC 45000002 */ bc1f .L800B85F8 -/* B91F0 800B85F0 00000000 */ nop -/* B91F4 800B85F4 E4400000 */ swc1 $f0, 0x0($v0) -.L800B85F8: -/* B91F8 800B85F8 8E8F0020 */ lw $t7, 0x20($s4) -/* B91FC 800B85FC 8FAD0054 */ lw $t5, 0x54($sp) -/* B9200 800B8600 8FAE004C */ lw $t6, 0x4C($sp) -/* B9204 800B8604 02EF082A */ slt $at, $s7, $t7 -/* B9208 800B8608 02CDB021 */ addu $s6, $s6, $t5 -/* B920C 800B860C 1420FFC6 */ bnez $at, .L800B8528 -/* B9210 800B8610 03CEF021 */ addu $fp, $fp, $t6 -/* B9214 800B8614 0000B825 */ or $s7, $zero, $zero -.L800B8618: -/* B9218 800B8618 0C01BE46 */ jal save_rng_seed -/* B921C 800B861C 00000000 */ nop -/* B9220 800B8620 3C045741 */ lui $a0, (0x57415646 >> 16) -/* B9224 800B8624 0C01BE43 */ jal set_rng_seed -/* B9228 800B8628 34845646 */ ori $a0, $a0, (0x57415646 & 0xFFFF) -/* B922C 800B862C 8E830004 */ lw $v1, 0x4($s4) -/* B9230 800B8630 0000A825 */ or $s5, $zero, $zero -/* B9234 800B8634 18600020 */ blez $v1, .L800B86B8 -/* B9238 800B8638 00000000 */ nop -/* B923C 800B863C 3C1E800E */ lui $fp, %hi(D_800E3044) -/* B9240 800B8640 27DE3044 */ addiu $fp, $fp, %lo(D_800E3044) -.L800B8644: -/* B9244 800B8644 18600016 */ blez $v1, .L800B86A0 -/* B9248 800B8648 00008025 */ or $s0, $zero, $zero -/* B924C 800B864C 0015B080 */ sll $s6, $s5, 2 -.L800B8650: -/* B9250 800B8650 8E850020 */ lw $a1, 0x20($s4) -/* B9254 800B8654 00002025 */ or $a0, $zero, $zero -/* B9258 800B8658 0C01BE53 */ jal get_random_number_from_range -/* B925C 800B865C 24A5FFFF */ addiu $a1, $a1, -0x1 -/* B9260 800B8660 8FD80000 */ lw $t8, 0x0($fp) -/* B9264 800B8664 00002025 */ or $a0, $zero, $zero -/* B9268 800B8668 0316C821 */ addu $t9, $t8, $s6 -/* B926C 800B866C A7220000 */ sh $v0, 0x0($t9) -/* B9270 800B8670 8E850020 */ lw $a1, 0x20($s4) -/* B9274 800B8674 0C01BE53 */ jal get_random_number_from_range -/* B9278 800B8678 24A5FFFF */ addiu $a1, $a1, -0x1 -/* B927C 800B867C 8FCA0000 */ lw $t2, 0x0($fp) -/* B9280 800B8680 26100001 */ addiu $s0, $s0, 0x1 -/* B9284 800B8684 01565821 */ addu $t3, $t2, $s6 -/* B9288 800B8688 A5620002 */ sh $v0, 0x2($t3) -/* B928C 800B868C 8E830004 */ lw $v1, 0x4($s4) -/* B9290 800B8690 26D60004 */ addiu $s6, $s6, 0x4 -/* B9294 800B8694 0203082A */ slt $at, $s0, $v1 -/* B9298 800B8698 1420FFED */ bnez $at, .L800B8650 -/* B929C 800B869C 26B50001 */ addiu $s5, $s5, 0x1 -.L800B86A0: -/* B92A0 800B86A0 26F70001 */ addiu $s7, $s7, 0x1 -/* B92A4 800B86A4 02E3082A */ slt $at, $s7, $v1 -/* B92A8 800B86A8 1420FFE6 */ bnez $at, .L800B8644 -/* B92AC 800B86AC 00000000 */ nop -/* B92B0 800B86B0 0000B825 */ or $s7, $zero, $zero -/* B92B4 800B86B4 0000A825 */ or $s5, $zero, $zero -.L800B86B8: -/* B92B8 800B86B8 0C01BE4B */ jal load_rng_seed -/* B92BC 800B86BC 00000000 */ nop -/* B92C0 800B86C0 24010002 */ addiu $at, $zero, 0x2 -/* B92C4 800B86C4 12610003 */ beq $s3, $at, .L800B86D4 -/* B92C8 800B86C8 00003025 */ or $a2, $zero, $zero -/* B92CC 800B86CC 10000002 */ b .L800B86D8 -/* B92D0 800B86D0 24130002 */ addiu $s3, $zero, 0x2 -.L800B86D4: -/* B92D4 800B86D4 24130004 */ addiu $s3, $zero, 0x4 -.L800B86D8: -/* B92D8 800B86D8 3C013FE0 */ lui $at, (0x3FE00000 >> 16) -/* B92DC 800B86DC 44810800 */ mtc1 $at, $f1 -/* B92E0 800B86E0 8E820000 */ lw $v0, 0x0($s4) -/* B92E4 800B86E4 44800000 */ mtc1 $zero, $f0 -/* B92E8 800B86E8 240500FF */ addiu $a1, $zero, 0xFF -.L800B86EC: -/* B92EC 800B86EC 0440005C */ bltz $v0, .L800B8860 -/* B92F0 800B86F0 24C60001 */ addiu $a2, $a2, 0x1 -.L800B86F4: -/* B92F4 800B86F4 04400055 */ bltz $v0, .L800B884C -/* B92F8 800B86F8 00008025 */ or $s0, $zero, $zero -.L800B86FC: -/* B92FC 800B86FC 1A60004F */ blez $s3, .L800B883C -/* B9300 800B8700 00002025 */ or $a0, $zero, $zero -/* B9304 800B8704 4490A000 */ mtc1 $s0, $f20 -/* B9308 800B8708 44979000 */ mtc1 $s7, $f18 -/* B930C 800B870C 4680A0A0 */ cvt.s.w $f2, $f20 -/* B9310 800B8710 00151880 */ sll $v1, $s5, 2 -/* B9314 800B8714 3C02800E */ lui $v0, %hi(D_800E3070) -/* B9318 800B8718 46809320 */ cvt.s.w $f12, $f18 -/* B931C 800B871C 00751821 */ addu $v1, $v1, $s5 -/* B9320 800B8720 24423070 */ addiu $v0, $v0, %lo(D_800E3070) -/* B9324 800B8724 00031840 */ sll $v1, $v1, 1 -.L800B8728: -/* B9328 800B8728 C62A0000 */ lwc1 $f10, 0x0($s1) -/* B932C 800B872C 8C4E0000 */ lw $t6, 0x0($v0) -/* B9330 800B8730 460A1402 */ mul.s $f16, $f2, $f10 -/* B9334 800B8734 01C37821 */ addu $t7, $t6, $v1 -/* B9338 800B8738 24840001 */ addiu $a0, $a0, 0x1 -/* B933C 800B873C 460084A1 */ cvt.d.s $f18, $f16 -/* B9340 800B8740 46209180 */ add.d $f6, $f18, $f0 -/* B9344 800B8744 444CF800 */ cfc1 $t4, $31 -/* B9348 800B8748 00000000 */ nop -/* B934C 800B874C 35810003 */ ori $at, $t4, 0x3 -/* B9350 800B8750 38210002 */ xori $at, $at, 0x2 -/* B9354 800B8754 44C1F800 */ ctc1 $at, $31 -/* B9358 800B8758 00000000 */ nop -/* B935C 800B875C 46203124 */ cvt.w.d $f4, $f6 -/* B9360 800B8760 440D2000 */ mfc1 $t5, $f4 -/* B9364 800B8764 44CCF800 */ ctc1 $t4, $31 -/* B9368 800B8768 A5ED0000 */ sh $t5, 0x0($t7) -/* B936C 800B876C C6480000 */ lwc1 $f8, 0x0($s2) -/* B9370 800B8770 8C4A0000 */ lw $t2, 0x0($v0) -/* B9374 800B8774 46086282 */ mul.s $f10, $f12, $f8 -/* B9378 800B8778 01435821 */ addu $t3, $t2, $v1 -/* B937C 800B877C 46005421 */ cvt.d.s $f16, $f10 -/* B9380 800B8780 46208480 */ add.d $f18, $f16, $f0 -/* B9384 800B8784 4458F800 */ cfc1 $t8, $31 -/* B9388 800B8788 00000000 */ nop -/* B938C 800B878C 37010003 */ ori $at, $t8, 0x3 -/* B9390 800B8790 38210002 */ xori $at, $at, 0x2 -/* B9394 800B8794 44C1F800 */ ctc1 $at, $31 -/* B9398 800B8798 00000000 */ nop -/* B939C 800B879C 462091A4 */ cvt.w.d $f6, $f18 -/* B93A0 800B87A0 44193000 */ mfc1 $t9, $f6 -/* B93A4 800B87A4 44D8F800 */ ctc1 $t8, $31 -/* B93A8 800B87A8 A5790004 */ sh $t9, 0x4($t3) -/* B93AC 800B87AC 8E8C004C */ lw $t4, 0x4C($s4) -/* B93B0 800B87B0 00000000 */ nop -/* B93B4 800B87B4 1580000E */ bnez $t4, .L800B87F0 -/* B93B8 800B87B8 00000000 */ nop -/* B93BC 800B87BC 8C4E0000 */ lw $t6, 0x0($v0) -/* B93C0 800B87C0 00000000 */ nop -/* B93C4 800B87C4 01C36821 */ addu $t5, $t6, $v1 -/* B93C8 800B87C8 A1A50006 */ sb $a1, 0x6($t5) -/* B93CC 800B87CC 8C4F0000 */ lw $t7, 0x0($v0) -/* B93D0 800B87D0 00000000 */ nop -/* B93D4 800B87D4 01E3C021 */ addu $t8, $t7, $v1 -/* B93D8 800B87D8 A3050007 */ sb $a1, 0x7($t8) -/* B93DC 800B87DC 8C4A0000 */ lw $t2, 0x0($v0) -/* B93E0 800B87E0 00000000 */ nop -/* B93E4 800B87E4 0143C821 */ addu $t9, $t2, $v1 -/* B93E8 800B87E8 1000000D */ b .L800B8820 -/* B93EC 800B87EC A3250008 */ sb $a1, 0x8($t9) -.L800B87F0: -/* B93F0 800B87F0 8C4B0000 */ lw $t3, 0x0($v0) -/* B93F4 800B87F4 00000000 */ nop -/* B93F8 800B87F8 01636021 */ addu $t4, $t3, $v1 -/* B93FC 800B87FC A1800006 */ sb $zero, 0x6($t4) -/* B9400 800B8800 8C4E0000 */ lw $t6, 0x0($v0) -/* B9404 800B8804 00000000 */ nop -/* B9408 800B8808 01C36821 */ addu $t5, $t6, $v1 -/* B940C 800B880C A1A00007 */ sb $zero, 0x7($t5) -/* B9410 800B8810 8C4F0000 */ lw $t7, 0x0($v0) -/* B9414 800B8814 00000000 */ nop -/* B9418 800B8818 01E3C021 */ addu $t8, $t7, $v1 -/* B941C 800B881C A3000008 */ sb $zero, 0x8($t8) -.L800B8820: -/* B9420 800B8820 8C4A0000 */ lw $t2, 0x0($v0) -/* B9424 800B8824 24420004 */ addiu $v0, $v0, 0x4 -/* B9428 800B8828 0143C821 */ addu $t9, $t2, $v1 -/* B942C 800B882C 1493FFBE */ bne $a0, $s3, .L800B8728 -/* B9430 800B8830 A3250009 */ sb $a1, 0x9($t9) -/* B9434 800B8834 8E820000 */ lw $v0, 0x0($s4) -/* B9438 800B8838 00000000 */ nop -.L800B883C: -/* B943C 800B883C 26100001 */ addiu $s0, $s0, 0x1 -/* B9440 800B8840 0050082A */ slt $at, $v0, $s0 -/* B9444 800B8844 1020FFAD */ beqz $at, .L800B86FC -/* B9448 800B8848 26B50001 */ addiu $s5, $s5, 0x1 -.L800B884C: -/* B944C 800B884C 26F70001 */ addiu $s7, $s7, 0x1 -/* B9450 800B8850 0057082A */ slt $at, $v0, $s7 -/* B9454 800B8854 1020FFA7 */ beqz $at, .L800B86F4 -/* B9458 800B8858 00000000 */ nop -/* B945C 800B885C 0000B825 */ or $s7, $zero, $zero -.L800B8860: -/* B9460 800B8860 28C10019 */ slti $at, $a2, 0x19 -/* B9464 800B8864 1420FFA1 */ bnez $at, .L800B86EC -/* B9468 800B8868 00000000 */ nop -/* B946C 800B886C 1840003C */ blez $v0, .L800B8960 -/* B9470 800B8870 0000A825 */ or $s5, $zero, $zero -/* B9474 800B8874 24060040 */ addiu $a2, $zero, 0x40 -.L800B8878: -/* B9478 800B8878 18400035 */ blez $v0, .L800B8950 -/* B947C 800B887C 00008025 */ or $s0, $zero, $zero -.L800B8880: -/* B9480 800B8880 1A60002F */ blez $s3, .L800B8940 -/* B9484 800B8884 00002025 */ or $a0, $zero, $zero -/* B9488 800B8888 3C03800E */ lui $v1, %hi(D_800E3080) -/* B948C 800B888C 24633080 */ addiu $v1, $v1, %lo(D_800E3080) -/* B9490 800B8890 26050001 */ addiu $a1, $s0, 0x1 -/* B9494 800B8894 00151100 */ sll $v0, $s5, 4 -.L800B8898: -/* B9498 800B8898 8C6B0000 */ lw $t3, 0x0($v1) -/* B949C 800B889C 24840001 */ addiu $a0, $a0, 0x1 -/* B94A0 800B88A0 01626021 */ addu $t4, $t3, $v0 -/* B94A4 800B88A4 A1860000 */ sb $a2, 0x0($t4) -/* B94A8 800B88A8 8C6E0000 */ lw $t6, 0x0($v1) -/* B94AC 800B88AC 24630004 */ addiu $v1, $v1, 0x4 -/* B94B0 800B88B0 01C26821 */ addu $t5, $t6, $v0 -/* B94B4 800B88B4 A1B00001 */ sb $s0, 0x1($t5) -/* B94B8 800B88B8 8E8F0000 */ lw $t7, 0x0($s4) -/* B94BC 800B88BC 8C79FFFC */ lw $t9, -0x4($v1) -/* B94C0 800B88C0 020FC021 */ addu $t8, $s0, $t7 -/* B94C4 800B88C4 270A0001 */ addiu $t2, $t8, 0x1 -/* B94C8 800B88C8 03225821 */ addu $t3, $t9, $v0 -/* B94CC 800B88CC A16A0002 */ sb $t2, 0x2($t3) -/* B94D0 800B88D0 8C6CFFFC */ lw $t4, -0x4($v1) -/* B94D4 800B88D4 26B50000 */ addiu $s5, $s5, 0x0 -/* B94D8 800B88D8 01827021 */ addu $t6, $t4, $v0 -/* B94DC 800B88DC A1C50003 */ sb $a1, 0x3($t6) -/* B94E0 800B88E0 8C6DFFFC */ lw $t5, -0x4($v1) -/* B94E4 800B88E4 24420010 */ addiu $v0, $v0, 0x10 -/* B94E8 800B88E8 01A27821 */ addu $t7, $t5, $v0 -/* B94EC 800B88EC A1E60000 */ sb $a2, 0x0($t7) -/* B94F0 800B88F0 8C78FFFC */ lw $t8, -0x4($v1) -/* B94F4 800B88F4 00000000 */ nop -/* B94F8 800B88F8 0302C821 */ addu $t9, $t8, $v0 -/* B94FC 800B88FC A3250001 */ sb $a1, 0x1($t9) -/* B9500 800B8900 8E8A0000 */ lw $t2, 0x0($s4) -/* B9504 800B8904 8C6EFFFC */ lw $t6, -0x4($v1) -/* B9508 800B8908 020A5821 */ addu $t3, $s0, $t2 -/* B950C 800B890C 256C0001 */ addiu $t4, $t3, 0x1 -/* B9510 800B8910 01C26821 */ addu $t5, $t6, $v0 -/* B9514 800B8914 A1AC0002 */ sb $t4, 0x2($t5) -/* B9518 800B8918 8E8F0000 */ lw $t7, 0x0($s4) -/* B951C 800B891C 8C6AFFFC */ lw $t2, -0x4($v1) -/* B9520 800B8920 020FC021 */ addu $t8, $s0, $t7 -/* B9524 800B8924 27190002 */ addiu $t9, $t8, 0x2 -/* B9528 800B8928 01425821 */ addu $t3, $t2, $v0 -/* B952C 800B892C A1790003 */ sb $t9, 0x3($t3) -/* B9530 800B8930 1493FFD9 */ bne $a0, $s3, .L800B8898 -/* B9534 800B8934 2442FFF0 */ addiu $v0, $v0, -0x10 -/* B9538 800B8938 8E820000 */ lw $v0, 0x0($s4) -/* B953C 800B893C 00000000 */ nop -.L800B8940: -/* B9540 800B8940 26100001 */ addiu $s0, $s0, 0x1 -/* B9544 800B8944 0202082A */ slt $at, $s0, $v0 -/* B9548 800B8948 1420FFCD */ bnez $at, .L800B8880 -/* B954C 800B894C 26B50002 */ addiu $s5, $s5, 0x2 -.L800B8950: -/* B9550 800B8950 26F70001 */ addiu $s7, $s7, 0x1 -/* B9554 800B8954 02E2082A */ slt $at, $s7, $v0 -/* B9558 800B8958 1420FFC7 */ bnez $at, .L800B8878 -/* B955C 800B895C 00000000 */ nop -.L800B8960: -/* B9560 800B8960 0C02F1B2 */ jal func_800BC6C8 -/* B9564 800B8964 00000000 */ nop -/* B9568 800B8968 8E820000 */ lw $v0, 0x0($s4) -/* B956C 800B896C 3C048013 */ lui $a0, %hi(D_8012A028) -/* B9570 800B8970 244E0001 */ addiu $t6, $v0, 0x1 -/* B9574 800B8974 01C20019 */ multu $t6, $v0 -/* B9578 800B8978 00024080 */ sll $t0, $v0, 2 -/* B957C 800B897C 3C07800E */ lui $a3, %hi(D_800E3070) -/* B9580 800B8980 3C09800E */ lui $t1, %hi(D_800E3078) -/* B9584 800B8984 01024021 */ addu $t0, $t0, $v0 -/* B9588 800B8988 00084040 */ sll $t0, $t0, 1 -/* B958C 800B898C 25293078 */ addiu $t1, $t1, %lo(D_800E3078) -/* B9590 800B8990 24E73070 */ addiu $a3, $a3, %lo(D_800E3070) -/* B9594 800B8994 2484A028 */ addiu $a0, $a0, %lo(D_8012A028) -/* B9598 800B8998 0000A812 */ mflo $s5 -/* B959C 800B899C 00151880 */ sll $v1, $s5, 2 -/* B95A0 800B89A0 00751821 */ addu $v1, $v1, $s5 -/* B95A4 800B89A4 00031840 */ sll $v1, $v1, 1 -.L800B89A8: -/* B95A8 800B89A8 8CE50000 */ lw $a1, 0x0($a3) -/* B95AC 800B89AC 24E70004 */ addiu $a3, $a3, 0x4 -/* B95B0 800B89B0 84AC0000 */ lh $t4, 0x0($a1) -/* B95B4 800B89B4 A4800002 */ sh $zero, 0x2($a0) -/* B95B8 800B89B8 A48C0000 */ sh $t4, 0x0($a0) -/* B95BC 800B89BC 84AD0004 */ lh $t5, 0x4($a1) -/* B95C0 800B89C0 00A81021 */ addu $v0, $a1, $t0 -/* B95C4 800B89C4 A48D0004 */ sh $t5, 0x4($a0) -/* B95C8 800B89C8 90AF0006 */ lbu $t7, 0x6($a1) -/* B95CC 800B89CC 00A33021 */ addu $a2, $a1, $v1 -/* B95D0 800B89D0 A08F0006 */ sb $t7, 0x6($a0) -/* B95D4 800B89D4 90B80007 */ lbu $t8, 0x7($a1) -/* B95D8 800B89D8 24840028 */ addiu $a0, $a0, 0x28 -/* B95DC 800B89DC A098FFDF */ sb $t8, -0x21($a0) -/* B95E0 800B89E0 90AA0008 */ lbu $t2, 0x8($a1) -/* B95E4 800B89E4 00000000 */ nop -/* B95E8 800B89E8 A08AFFE0 */ sb $t2, -0x20($a0) -/* B95EC 800B89EC 90B90009 */ lbu $t9, 0x9($a1) -/* B95F0 800B89F0 00000000 */ nop -/* B95F4 800B89F4 A099FFE1 */ sb $t9, -0x1F($a0) -/* B95F8 800B89F8 844B0000 */ lh $t3, 0x0($v0) -/* B95FC 800B89FC A480FFE4 */ sh $zero, -0x1C($a0) -/* B9600 800B8A00 A48BFFE2 */ sh $t3, -0x1E($a0) -/* B9604 800B8A04 844E0004 */ lh $t6, 0x4($v0) -/* B9608 800B8A08 00000000 */ nop -/* B960C 800B8A0C A48EFFE6 */ sh $t6, -0x1A($a0) -/* B9610 800B8A10 904C0006 */ lbu $t4, 0x6($v0) -/* B9614 800B8A14 00000000 */ nop -/* B9618 800B8A18 A08CFFE8 */ sb $t4, -0x18($a0) -/* B961C 800B8A1C 904D0007 */ lbu $t5, 0x7($v0) -/* B9620 800B8A20 00000000 */ nop -/* B9624 800B8A24 A08DFFE9 */ sb $t5, -0x17($a0) -/* B9628 800B8A28 904F0008 */ lbu $t7, 0x8($v0) -/* B962C 800B8A2C 00000000 */ nop -/* B9630 800B8A30 A08FFFEA */ sb $t7, -0x16($a0) -/* B9634 800B8A34 90580009 */ lbu $t8, 0x9($v0) -/* B9638 800B8A38 00157880 */ sll $t7, $s5, 2 -/* B963C 800B8A3C A098FFEB */ sb $t8, -0x15($a0) -/* B9640 800B8A40 84CA0000 */ lh $t2, 0x0($a2) -/* B9644 800B8A44 A480FFEE */ sh $zero, -0x12($a0) -/* B9648 800B8A48 A48AFFEC */ sh $t2, -0x14($a0) -/* B964C 800B8A4C 84D90004 */ lh $t9, 0x4($a2) -/* B9650 800B8A50 01F57821 */ addu $t7, $t7, $s5 -/* B9654 800B8A54 A499FFF0 */ sh $t9, -0x10($a0) -/* B9658 800B8A58 90CB0006 */ lbu $t3, 0x6($a2) -/* B965C 800B8A5C 000F7840 */ sll $t7, $t7, 1 -/* B9660 800B8A60 A08BFFF2 */ sb $t3, -0xE($a0) -/* B9664 800B8A64 90CE0007 */ lbu $t6, 0x7($a2) -/* B9668 800B8A68 00AFC021 */ addu $t8, $a1, $t7 -/* B966C 800B8A6C A08EFFF3 */ sb $t6, -0xD($a0) -/* B9670 800B8A70 90CC0008 */ lbu $t4, 0x8($a2) -/* B9674 800B8A74 03081021 */ addu $v0, $t8, $t0 -/* B9678 800B8A78 A08CFFF4 */ sb $t4, -0xC($a0) -/* B967C 800B8A7C 90CD0009 */ lbu $t5, 0x9($a2) -/* B9680 800B8A80 00000000 */ nop -/* B9684 800B8A84 A08DFFF5 */ sb $t5, -0xB($a0) -/* B9688 800B8A88 844A0000 */ lh $t2, 0x0($v0) -/* B968C 800B8A8C A480FFF8 */ sh $zero, -0x8($a0) -/* B9690 800B8A90 A48AFFF6 */ sh $t2, -0xA($a0) -/* B9694 800B8A94 84590004 */ lh $t9, 0x4($v0) -/* B9698 800B8A98 00000000 */ nop -/* B969C 800B8A9C A499FFFA */ sh $t9, -0x6($a0) -/* B96A0 800B8AA0 904B0006 */ lbu $t3, 0x6($v0) -/* B96A4 800B8AA4 00000000 */ nop -/* B96A8 800B8AA8 A08BFFFC */ sb $t3, -0x4($a0) -/* B96AC 800B8AAC 904E0007 */ lbu $t6, 0x7($v0) -/* B96B0 800B8AB0 00000000 */ nop -/* B96B4 800B8AB4 A08EFFFD */ sb $t6, -0x3($a0) -/* B96B8 800B8AB8 904C0008 */ lbu $t4, 0x8($v0) -/* B96BC 800B8ABC 00000000 */ nop -/* B96C0 800B8AC0 A08CFFFE */ sb $t4, -0x2($a0) -/* B96C4 800B8AC4 904D0009 */ lbu $t5, 0x9($v0) -/* B96C8 800B8AC8 14E9FFB7 */ bne $a3, $t1, .L800B89A8 -/* B96CC 800B8ACC A08DFFFF */ sb $t5, -0x1($a0) -/* B96D0 800B8AD0 8FA40070 */ lw $a0, 0x70($sp) -/* B96D4 800B8AD4 0C02F31C */ jal func_800BCC70 -/* B96D8 800B8AD8 00000000 */ nop -/* B96DC 800B8ADC 8E8F0024 */ lw $t7, 0x24($s4) -/* B96E0 800B8AE0 24010003 */ addiu $at, $zero, 0x3 -/* B96E4 800B8AE4 15E1000A */ bne $t7, $at, .L800B8B10 -/* B96E8 800B8AE8 24190005 */ addiu $t9, $zero, 0x5 -/* B96EC 800B8AEC 3C18800E */ lui $t8, %hi(D_800E30E8) -/* B96F0 800B8AF0 271830E8 */ addiu $t8, $t8, %lo(D_800E30E8) -/* B96F4 800B8AF4 3C01800E */ lui $at, %hi(D_800E30E0) -/* B96F8 800B8AF8 AC3830E0 */ sw $t8, %lo(D_800E30E0)($at) -/* B96FC 800B8AFC 3C0A800E */ lui $t2, %hi(D_800E30FC) -/* B9700 800B8B00 254A30FC */ addiu $t2, $t2, %lo(D_800E30FC) -/* B9704 800B8B04 3C01800E */ lui $at, %hi(D_800E30E4) -/* B9708 800B8B08 1000000A */ b .L800B8B34 -/* B970C 800B8B0C AC2A30E4 */ sw $t2, %lo(D_800E30E4)($at) -.L800B8B10: -/* B9710 800B8B10 3C0B800E */ lui $t3, %hi(D_800E3110) -/* B9714 800B8B14 AE990024 */ sw $t9, 0x24($s4) -/* B9718 800B8B18 256B3110 */ addiu $t3, $t3, %lo(D_800E3110) -/* B971C 800B8B1C 3C01800E */ lui $at, %hi(D_800E30E0) -/* B9720 800B8B20 AC2B30E0 */ sw $t3, %lo(D_800E30E0)($at) -/* B9724 800B8B24 3C0E800E */ lui $t6, %hi(D_800E3144) -/* B9728 800B8B28 25CE3144 */ addiu $t6, $t6, %lo(D_800E3144) -/* B972C 800B8B2C 3C01800E */ lui $at, %hi(D_800E30E4) -/* B9730 800B8B30 AC2E30E4 */ sw $t6, %lo(D_800E30E4)($at) -.L800B8B34: -/* B9734 800B8B34 3C01800E */ lui $at, %hi(D_800E3188) -/* B9738 800B8B38 AC203188 */ sw $zero, %lo(D_800E3188)($at) -/* B973C 800B8B3C 3C018013 */ lui $at, %hi(gWavePowerDivisor) -/* B9740 800B8B40 AC20A728 */ sw $zero, %lo(gWavePowerDivisor)($at) -/* B9744 800B8B44 3C01800E */ lui $at, %hi(gWaveGeneratorObj) -/* B9748 800B8B48 8FBF0044 */ lw $ra, 0x44($sp) -/* B974C 800B8B4C AC203198 */ sw $zero, %lo(gWaveGeneratorObj)($at) -/* B9750 800B8B50 3C018013 */ lui $at, %hi(D_8012A018) -/* B9754 800B8B54 C7B50018 */ lwc1 $f21, 0x18($sp) -/* B9758 800B8B58 C7B4001C */ lwc1 $f20, 0x1C($sp) -/* B975C 800B8B5C 8FB00020 */ lw $s0, 0x20($sp) -/* B9760 800B8B60 8FB10024 */ lw $s1, 0x24($sp) -/* B9764 800B8B64 8FB20028 */ lw $s2, 0x28($sp) -/* B9768 800B8B68 8FB3002C */ lw $s3, 0x2C($sp) -/* B976C 800B8B6C 8FB40030 */ lw $s4, 0x30($sp) -/* B9770 800B8B70 8FB50034 */ lw $s5, 0x34($sp) -/* B9774 800B8B74 8FB60038 */ lw $s6, 0x38($sp) -/* B9778 800B8B78 8FB7003C */ lw $s7, 0x3C($sp) -/* B977C 800B8B7C 8FBE0040 */ lw $fp, 0x40($sp) -/* B9780 800B8B80 AC20A018 */ sw $zero, %lo(D_8012A018)($at) -/* B9784 800B8B84 03E00008 */ jr $ra -/* B9788 800B8B88 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/non_matchings/waves/func_800B8C04.s b/asm/non_matchings/waves/func_800B8C04.s deleted file mode 100644 index 73121f09..00000000 --- a/asm/non_matchings/waves/func_800B8C04.s +++ /dev/null @@ -1,428 +0,0 @@ -glabel func_800B8C04 -/* 0B9804 800B8C04 3C0A8013 */ lui $t2, %hi(D_8012A0D0) # $t2, 0x8013 -/* 0B9808 800B8C08 8D4AA0D0 */ lw $t2, %lo(D_8012A0D0)($t2) -/* 0B980C 800B8C0C 3C088013 */ lui $t0, %hi(gWaveBoundingBoxDiffX) # $t0, 0x8013 -/* 0B9810 800B8C10 8D08A0A8 */ lw $t0, %lo(gWaveBoundingBoxDiffX)($t0) -/* 0B9814 800B8C14 008A7023 */ subu $t6, $a0, $t2 -/* 0B9818 800B8C18 01C8001A */ div $zero, $t6, $t0 -/* 0B981C 800B8C1C 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0B9820 800B8C20 AFA50054 */ sw $a1, 0x54($sp) -/* 0B9824 800B8C24 3C0C8013 */ lui $t4, %hi(D_8012A0D4) # $t4, 0x8013 -/* 0B9828 800B8C28 8D8CA0D4 */ lw $t4, %lo(D_8012A0D4)($t4) -/* 0B982C 800B8C2C 3C098013 */ lui $t1, %hi(gWaveBoundingBoxDiffZ) # $t1, 0x8013 -/* 0B9830 800B8C30 8D29A0AC */ lw $t1, %lo(gWaveBoundingBoxDiffZ)($t1) -/* 0B9834 800B8C34 00CC7823 */ subu $t7, $a2, $t4 -/* 0B9838 800B8C38 AFB70034 */ sw $s7, 0x34($sp) -/* 0B983C 800B8C3C AFB00018 */ sw $s0, 0x18($sp) -/* 0B9840 800B8C40 2418FFFF */ li $t8, -1 -/* 0B9844 800B8C44 00808025 */ move $s0, $a0 -/* 0B9848 800B8C48 AFB60030 */ sw $s6, 0x30($sp) -/* 0B984C 800B8C4C AFA7005C */ sw $a3, 0x5c($sp) -/* 0B9850 800B8C50 3C048013 */ lui $a0, %hi(gWavePowerBase) # $a0, 0x8013 -/* 0B9854 800B8C54 2419FFFF */ li $t9, -1 -/* 0B9858 800B8C58 3C038013 */ lui $v1, %hi(D_8012A600) # $v1, 0x8013 -/* 0B985C 800B8C5C AFBF003C */ sw $ra, 0x3c($sp) -/* 0B9860 800B8C60 AFBE0038 */ sw $fp, 0x38($sp) -/* 0B9864 800B8C64 AFB5002C */ sw $s5, 0x2c($sp) -/* 0B9868 800B8C68 AFB40028 */ sw $s4, 0x28($sp) -/* 0B986C 800B8C6C AFB30024 */ sw $s3, 0x24($sp) -/* 0B9870 800B8C70 AFB20020 */ sw $s2, 0x20($sp) -/* 0B9874 800B8C74 AFB1001C */ sw $s1, 0x1c($sp) -/* 0B9878 800B8C78 15000002 */ bnez $t0, .L800B8C84 -/* 0B987C 800B8C7C 00000000 */ nop -/* 0B9880 800B8C80 0007000D */ break 7 -.L800B8C84: -/* 0B9884 800B8C84 2401FFFF */ li $at, -1 -/* 0B9888 800B8C88 15010004 */ bne $t0, $at, .L800B8C9C -/* 0B988C 800B8C8C 3C018000 */ lui $at, 0x8000 -/* 0B9890 800B8C90 15C10002 */ bne $t6, $at, .L800B8C9C -/* 0B9894 800B8C94 00000000 */ nop -/* 0B9898 800B8C98 0006000D */ break 6 -.L800B8C9C: -/* 0B989C 800B8C9C 00002812 */ mflo $a1 -/* 0B98A0 800B8CA0 2463A600 */ addiu $v1, %lo(D_8012A600) # addiu $v1, $v1, -0x5a00 -/* 0B98A4 800B8CA4 2484A720 */ addiu $a0, %lo(gWavePowerBase) # addiu $a0, $a0, -0x58e0 -/* 0B98A8 800B8CA8 01E9001A */ div $zero, $t7, $t1 -/* 0B98AC 800B8CAC 15200002 */ bnez $t1, .L800B8CB8 -/* 0B98B0 800B8CB0 00000000 */ nop -/* 0B98B4 800B8CB4 0007000D */ break 7 -.L800B8CB8: -/* 0B98B8 800B8CB8 2401FFFF */ li $at, -1 -/* 0B98BC 800B8CBC 15210004 */ bne $t1, $at, .L800B8CD0 -/* 0B98C0 800B8CC0 3C018000 */ lui $at, 0x8000 -/* 0B98C4 800B8CC4 15E10002 */ bne $t7, $at, .L800B8CD0 -/* 0B98C8 800B8CC8 00000000 */ nop -/* 0B98CC 800B8CCC 0006000D */ break 6 -.L800B8CD0: -/* 0B98D0 800B8CD0 3C018013 */ lui $at, %hi(D_8012A5E8) # $at, 0x8013 -/* 0B98D4 800B8CD4 A438A5E8 */ sh $t8, %lo(D_8012A5E8)($at) -/* 0B98D8 800B8CD8 3C018013 */ lui $at, %hi(D_8012A5F4) # $at, 0x8013 -/* 0B98DC 800B8CDC A439A5F4 */ sh $t9, %lo(D_8012A5F4)($at) -/* 0B98E0 800B8CE0 2402FFFF */ li $v0, -1 -/* 0B98E4 800B8CE4 3C0B8013 */ lui $t3, %hi(D_80129FC8) # $t3, 0x8013 -/* 0B98E8 800B8CE8 00003825 */ move $a3, $zero -/* 0B98EC 800B8CEC 0000B025 */ move $s6, $zero -/* 0B98F0 800B8CF0 0000B812 */ mflo $s7 -/* 0B98F4 800B8CF4 00000000 */ nop -/* 0B98F8 800B8CF8 00000000 */ nop -.L800B8CFC: -/* 0B98FC 800B8CFC 24630030 */ addiu $v1, $v1, 0x30 -/* 0B9900 800B8D00 A462FFD0 */ sh $v0, -0x30($v1) -/* 0B9904 800B8D04 A462FFDC */ sh $v0, -0x24($v1) -/* 0B9908 800B8D08 A462FFE8 */ sh $v0, -0x18($v1) -/* 0B990C 800B8D0C 1464FFFB */ bne $v1, $a0, .L800B8CFC -/* 0B9910 800B8D10 A462FFF4 */ sh $v0, -0xc($v1) -/* 0B9914 800B8D14 256B9FC8 */ addiu $t3, %lo(D_80129FC8) # addiu $t3, $t3, -0x6038 -/* 0B9918 800B8D18 8D6E0028 */ lw $t6, 0x28($t3) -/* 0B991C 800B8D1C 00000000 */ nop -/* 0B9920 800B8D20 11C000C8 */ beqz $t6, .L800B9044 -/* 0B9924 800B8D24 00000000 */ nop -/* 0B9928 800B8D28 00A80019 */ multu $a1, $t0 -/* 0B992C 800B8D2C 3C12800E */ lui $s2, %hi(D_800E317C) # $s2, 0x800e -/* 0B9930 800B8D30 00001825 */ move $v1, $zero -/* 0B9934 800B8D34 0000A025 */ move $s4, $zero -/* 0B9938 800B8D38 2652317C */ addiu $s2, %lo(D_800E317C) # addiu $s2, $s2, 0x317c -/* 0B993C 800B8D3C 2411000C */ li $s1, 12 -/* 0B9940 800B8D40 241F001C */ li $ra, 28 -/* 0B9944 800B8D44 00007812 */ mflo $t7 -/* 0B9948 800B8D48 020FC023 */ subu $t8, $s0, $t7 -/* 0B994C 800B8D4C 030A8023 */ subu $s0, $t8, $t2 -/* 0B9950 800B8D50 02E90019 */ multu $s7, $t1 -/* 0B9954 800B8D54 00087843 */ sra $t7, $t0, 1 -/* 0B9958 800B8D58 01F0082A */ slt $at, $t7, $s0 -/* 0B995C 800B8D5C 3C108013 */ lui $s0, %hi(D_8012A5E8) # $s0, 0x8013 -/* 0B9960 800B8D60 0009C043 */ sra $t8, $t1, 1 -/* 0B9964 800B8D64 2610A5E8 */ addiu $s0, %lo(D_8012A5E8) # addiu $s0, $s0, -0x5a18 -/* 0B9968 800B8D68 0000C812 */ mflo $t9 -/* 0B996C 800B8D6C 00D97023 */ subu $t6, $a2, $t9 -/* 0B9970 800B8D70 10200003 */ beqz $at, .L800B8D80 -/* 0B9974 800B8D74 01CC3023 */ subu $a2, $t6, $t4 -/* 0B9978 800B8D78 10000002 */ b .L800B8D84 -/* 0B997C 800B8D7C 24030008 */ li $v1, 8 -.L800B8D80: -/* 0B9980 800B8D80 AFA00040 */ sw $zero, 0x40($sp) -.L800B8D84: -/* 0B9984 800B8D84 0306082A */ slt $at, $t8, $a2 -/* 0B9988 800B8D88 10200003 */ beqz $at, .L800B8D98 -/* 0B998C 800B8D8C 00000000 */ nop -/* 0B9990 800B8D90 10000001 */ b .L800B8D98 -/* 0B9994 800B8D94 24140010 */ li $s4, 16 -.L800B8D98: -/* 0B9998 800B8D98 8D640024 */ lw $a0, 0x24($t3) -/* 0B999C 800B8D9C 00000000 */ nop -/* 0B99A0 800B8DA0 00041043 */ sra $v0, $a0, 1 -/* 0B99A4 800B8DA4 0002C8C0 */ sll $t9, $v0, 3 -/* 0B99A8 800B8DA8 00791823 */ subu $v1, $v1, $t9 -/* 0B99AC 800B8DAC 04610004 */ bgez $v1, .L800B8DC0 -/* 0B99B0 800B8DB0 00027100 */ sll $t6, $v0, 4 -.L800B8DB4: -/* 0B99B4 800B8DB4 24630010 */ addiu $v1, $v1, 0x10 -/* 0B99B8 800B8DB8 0460FFFE */ bltz $v1, .L800B8DB4 -/* 0B99BC 800B8DBC 24A5FFFF */ addiu $a1, $a1, -1 -.L800B8DC0: -/* 0B99C0 800B8DC0 028EA023 */ subu $s4, $s4, $t6 -/* 0B99C4 800B8DC4 06810004 */ bgez $s4, .L800B8DD8 -/* 0B99C8 800B8DC8 00000000 */ nop -.L800B8DCC: -/* 0B99CC 800B8DCC 26940020 */ addiu $s4, $s4, 0x20 -/* 0B99D0 800B8DD0 0680FFFE */ bltz $s4, .L800B8DCC -/* 0B99D4 800B8DD4 26F7FFFF */ addiu $s7, $s7, -1 -.L800B8DD8: -/* 0B99D8 800B8DD8 18800103 */ blez $a0, .L800B91E8 -/* 0B99DC 800B8DDC 0000B025 */ move $s6, $zero -/* 0B99E0 800B8DE0 3C1E8013 */ lui $fp, %hi(D_8012A0D8) # $fp, 0x8013 -/* 0B99E4 800B8DE4 27DEA0D8 */ addiu $fp, %lo(D_8012A0D8) # addiu $fp, $fp, -0x5f28 -/* 0B99E8 800B8DE8 AFA5004C */ sw $a1, 0x4c($sp) -.L800B8DEC: -/* 0B99EC 800B8DEC 06E00089 */ bltz $s7, .L800B9014 -/* 0B99F0 800B8DF0 AFA30040 */ sw $v1, 0x40($sp) -/* 0B99F4 800B8DF4 3C0F8013 */ lui $t7, %hi(D_8012A0DC) # $t7, 0x8013 -/* 0B99F8 800B8DF8 8DEFA0DC */ lw $t7, %lo(D_8012A0DC)($t7) -/* 0B99FC 800B8DFC AFA30040 */ sw $v1, 0x40($sp) -/* 0B9A00 800B8E00 02EF082A */ slt $at, $s7, $t7 -/* 0B9A04 800B8E04 10200083 */ beqz $at, .L800B9014 -/* 0B9A08 800B8E08 00000000 */ nop -/* 0B9A0C 800B8E0C 8FD80000 */ lw $t8, ($fp) -/* 0B9A10 800B8E10 8FB3004C */ lw $s3, 0x4c($sp) -/* 0B9A14 800B8E14 02F80019 */ multu $s7, $t8 -/* 0B9A18 800B8E18 00606825 */ move $t5, $v1 -/* 0B9A1C 800B8E1C 0000A825 */ move $s5, $zero -/* 0B9A20 800B8E20 0000C812 */ mflo $t9 -/* 0B9A24 800B8E24 03335021 */ addu $t2, $t9, $s3 -/* 0B9A28 800B8E28 1880007A */ blez $a0, .L800B9014 -/* 0B9A2C 800B8E2C 00000000 */ nop -.L800B8E30: -/* 0B9A30 800B8E30 0660006D */ bltz $s3, .L800B8FE8 -/* 0B9A34 800B8E34 00000000 */ nop -/* 0B9A38 800B8E38 8FCE0000 */ lw $t6, ($fp) -/* 0B9A3C 800B8E3C 00177880 */ sll $t7, $s7, 2 -/* 0B9A40 800B8E40 026E082A */ slt $at, $s3, $t6 -/* 0B9A44 800B8E44 10200068 */ beqz $at, .L800B8FE8 -/* 0B9A48 800B8E48 3C188013 */ lui $t8, %hi(D_8012A0E8) # $t8, 0x8013 -/* 0B9A4C 800B8E4C 030FC021 */ addu $t8, $t8, $t7 -/* 0B9A50 800B8E50 8F18A0E8 */ lw $t8, %lo(D_8012A0E8)($t8) -/* 0B9A54 800B8E54 24190001 */ li $t9, 1 -/* 0B9A58 800B8E58 02797004 */ sllv $t6, $t9, $s3 -/* 0B9A5C 800B8E5C 030E7824 */ and $t7, $t8, $t6 -/* 0B9A60 800B8E60 11E00061 */ beqz $t7, .L800B8FE8 -/* 0B9A64 800B8E64 00000000 */ nop -/* 0B9A68 800B8E68 02C40019 */ multu $s6, $a0 -/* 0B9A6C 800B8E6C 3C19800E */ lui $t9, %hi(D_800E30D4) # $t9, 0x800e -/* 0B9A70 800B8E70 8F3930D4 */ lw $t9, %lo(D_800E30D4)($t9) -/* 0B9A74 800B8E74 000AC080 */ sll $t8, $t2, 2 -/* 0B9A78 800B8E78 3C0E800E */ lui $t6, %hi(D_800E30E0) # $t6, 0x800e -/* 0B9A7C 800B8E7C 03381821 */ addu $v1, $t9, $t8 -/* 0B9A80 800B8E80 8DCE30E0 */ lw $t6, %lo(D_800E30E0)($t6) -/* 0B9A84 800B8E84 01B46021 */ addu $t4, $t5, $s4 -/* 0B9A88 800B8E88 3C088013 */ lui $t0, %hi(D_8012A0E0) # $t0, 0x8013 -/* 0B9A8C 800B8E8C 00001025 */ move $v0, $zero -/* 0B9A90 800B8E90 3C09800E */ lui $t1, %hi(D_800E30D8) # $t1, 0x800e -/* 0B9A94 800B8E94 00007812 */ mflo $t7 -/* 0B9A98 800B8E98 000FC840 */ sll $t9, $t7, 1 -/* 0B9A9C 800B8E9C 00157840 */ sll $t7, $s5, 1 -/* 0B9AA0 800B8EA0 01D9C021 */ addu $t8, $t6, $t9 -/* 0B9AA4 800B8EA4 030F7021 */ addu $t6, $t8, $t7 -/* 0B9AA8 800B8EA8 85D90000 */ lh $t9, ($t6) -/* 0B9AAC 800B8EAC 8C6F0000 */ lw $t7, ($v1) -/* 0B9AB0 800B8EB0 0199C004 */ sllv $t8, $t9, $t4 -/* 0B9AB4 800B8EB4 01F87025 */ or $t6, $t7, $t8 -/* 0B9AB8 800B8EB8 AC6E0000 */ sw $t6, ($v1) -/* 0B9ABC 800B8EBC 8D08A0E0 */ lw $t0, %lo(D_8012A0E0)($t0) -/* 0B9AC0 800B8EC0 00000000 */ nop -/* 0B9AC4 800B8EC4 19000048 */ blez $t0, .L800B8FE8 -/* 0B9AC8 800B8EC8 00000000 */ nop -/* 0B9ACC 800B8ECC 8D2930D8 */ lw $t1, %lo(D_800E30D8)($t1) -/* 0B9AD0 800B8ED0 00000000 */ nop -.L800B8ED4: -/* 0B9AD4 800B8ED4 005F0019 */ multu $v0, $ra -/* 0B9AD8 800B8ED8 0000C812 */ mflo $t9 -/* 0B9ADC 800B8EDC 01393021 */ addu $a2, $t1, $t9 -/* 0B9AE0 800B8EE0 8CCF000C */ lw $t7, 0xc($a2) -/* 0B9AE4 800B8EE4 00000000 */ nop -/* 0B9AE8 800B8EE8 154F003B */ bne $t2, $t7, .L800B8FD8 -/* 0B9AEC 800B8EEC 00000000 */ nop -/* 0B9AF0 800B8EF0 00F10019 */ multu $a3, $s1 -/* 0B9AF4 800B8EF4 8E590000 */ lw $t9, ($s2) -/* 0B9AF8 800B8EF8 000C70C3 */ sra $t6, $t4, 3 -/* 0B9AFC 800B8EFC 24E70001 */ addiu $a3, $a3, 1 -/* 0B9B00 800B8F00 0000C012 */ mflo $t8 -/* 0B9B04 800B8F04 02181821 */ addu $v1, $s0, $t8 -/* 0B9B08 800B8F08 A4620000 */ sh $v0, ($v1) -/* 0B9B0C 800B8F0C 00590019 */ multu $v0, $t9 -/* 0B9B10 800B8F10 A46E0002 */ sh $t6, 2($v1) -/* 0B9B14 800B8F14 00007812 */ mflo $t7 -/* 0B9B18 800B8F18 AC6F0008 */ sw $t7, 8($v1) -/* 0B9B1C 800B8F1C 84D80012 */ lh $t8, 0x12($a2) -/* 0B9B20 800B8F20 11A00013 */ beqz $t5, .L800B8F70 -/* 0B9B24 800B8F24 A4780004 */ sh $t8, 4($v1) -/* 0B9B28 800B8F28 8D650000 */ lw $a1, ($t3) -/* 0B9B2C 800B8F2C 8D640004 */ lw $a0, 4($t3) -/* 0B9B30 800B8F30 01E5C821 */ addu $t9, $t7, $a1 -/* 0B9B34 800B8F34 846F0004 */ lh $t7, 4($v1) -/* 0B9B38 800B8F38 AC790008 */ sw $t9, 8($v1) -/* 0B9B3C 800B8F3C 01E5C021 */ addu $t8, $t7, $a1 -/* 0B9B40 800B8F40 A4780004 */ sh $t8, 4($v1) -/* 0B9B44 800B8F44 84620004 */ lh $v0, 4($v1) -/* 0B9B48 800B8F48 00000000 */ nop -/* 0B9B4C 800B8F4C 0044082A */ slt $at, $v0, $a0 -/* 0B9B50 800B8F50 14200007 */ bnez $at, .L800B8F70 -/* 0B9B54 800B8F54 00447023 */ subu $t6, $v0, $a0 -.L800B8F58: -/* 0B9B58 800B8F58 A46E0004 */ sh $t6, 4($v1) -/* 0B9B5C 800B8F5C 84620004 */ lh $v0, 4($v1) -/* 0B9B60 800B8F60 00000000 */ nop -/* 0B9B64 800B8F64 0044082A */ slt $at, $v0, $a0 -/* 0B9B68 800B8F68 1020FFFB */ beqz $at, .L800B8F58 -/* 0B9B6C 800B8F6C 00447023 */ subu $t6, $v0, $a0 -.L800B8F70: -/* 0B9B70 800B8F70 84D90010 */ lh $t9, 0x10($a2) -/* 0B9B74 800B8F74 12800017 */ beqz $s4, .L800B8FD4 -/* 0B9B78 800B8F78 A4790006 */ sh $t9, 6($v1) -/* 0B9B7C 800B8F7C 8D650000 */ lw $a1, ($t3) -/* 0B9B80 800B8F80 8C6F0008 */ lw $t7, 8($v1) -/* 0B9B84 800B8F84 0005C040 */ sll $t8, $a1, 1 -/* 0B9B88 800B8F88 270E0001 */ addiu $t6, $t8, 1 -/* 0B9B8C 800B8F8C 01C50019 */ multu $t6, $a1 -/* 0B9B90 800B8F90 846E0006 */ lh $t6, 6($v1) -/* 0B9B94 800B8F94 8D640004 */ lw $a0, 4($t3) -/* 0B9B98 800B8F98 0000C812 */ mflo $t9 -/* 0B9B9C 800B8F9C 01F9C021 */ addu $t8, $t7, $t9 -/* 0B9BA0 800B8FA0 01C57821 */ addu $t7, $t6, $a1 -/* 0B9BA4 800B8FA4 A46F0006 */ sh $t7, 6($v1) -/* 0B9BA8 800B8FA8 84620006 */ lh $v0, 6($v1) -/* 0B9BAC 800B8FAC AC780008 */ sw $t8, 8($v1) -/* 0B9BB0 800B8FB0 0044082A */ slt $at, $v0, $a0 -/* 0B9BB4 800B8FB4 14200007 */ bnez $at, .L800B8FD4 -/* 0B9BB8 800B8FB8 0044C823 */ subu $t9, $v0, $a0 -.L800B8FBC: -/* 0B9BBC 800B8FBC A4790006 */ sh $t9, 6($v1) -/* 0B9BC0 800B8FC0 84620006 */ lh $v0, 6($v1) -/* 0B9BC4 800B8FC4 00000000 */ nop -/* 0B9BC8 800B8FC8 0044082A */ slt $at, $v0, $a0 -/* 0B9BCC 800B8FCC 1020FFFB */ beqz $at, .L800B8FBC -/* 0B9BD0 800B8FD0 0044C823 */ subu $t9, $v0, $a0 -.L800B8FD4: -/* 0B9BD4 800B8FD4 24027FFF */ li $v0, 32767 -.L800B8FD8: -/* 0B9BD8 800B8FD8 24420001 */ addiu $v0, $v0, 1 -/* 0B9BDC 800B8FDC 0048082A */ slt $at, $v0, $t0 -/* 0B9BE0 800B8FE0 1420FFBC */ bnez $at, .L800B8ED4 -/* 0B9BE4 800B8FE4 00000000 */ nop -.L800B8FE8: -/* 0B9BE8 800B8FE8 25AD0008 */ addiu $t5, $t5, 8 -/* 0B9BEC 800B8FEC 29A10009 */ slti $at, $t5, 9 -/* 0B9BF0 800B8FF0 8D640024 */ lw $a0, 0x24($t3) -/* 0B9BF4 800B8FF4 14200004 */ bnez $at, .L800B9008 -/* 0B9BF8 800B8FF8 26B50001 */ addiu $s5, $s5, 1 -/* 0B9BFC 800B8FFC 25ADFFF0 */ addiu $t5, $t5, -0x10 -/* 0B9C00 800B9000 26730001 */ addiu $s3, $s3, 1 -/* 0B9C04 800B9004 254A0001 */ addiu $t2, $t2, 1 -.L800B9008: -/* 0B9C08 800B9008 02A4082A */ slt $at, $s5, $a0 -/* 0B9C0C 800B900C 1420FF88 */ bnez $at, .L800B8E30 -/* 0B9C10 800B9010 00000000 */ nop -.L800B9014: -/* 0B9C14 800B9014 26940010 */ addiu $s4, $s4, 0x10 -/* 0B9C18 800B9018 8FA30040 */ lw $v1, 0x40($sp) -/* 0B9C1C 800B901C 2A810011 */ slti $at, $s4, 0x11 -/* 0B9C20 800B9020 14200003 */ bnez $at, .L800B9030 -/* 0B9C24 800B9024 26D60001 */ addiu $s6, $s6, 1 -/* 0B9C28 800B9028 2694FFE0 */ addiu $s4, $s4, -0x20 -/* 0B9C2C 800B902C 26F70001 */ addiu $s7, $s7, 1 -.L800B9030: -/* 0B9C30 800B9030 02C4082A */ slt $at, $s6, $a0 -/* 0B9C34 800B9034 1420FF6D */ bnez $at, .L800B8DEC -/* 0B9C38 800B9038 00000000 */ nop -/* 0B9C3C 800B903C 1000006B */ b .L800B91EC -/* 0B9C40 800B9040 8FA4005C */ lw $a0, 0x5c($sp) -.L800B9044: -/* 0B9C44 800B9044 8D640024 */ lw $a0, 0x24($t3) -/* 0B9C48 800B9048 00003825 */ move $a3, $zero -/* 0B9C4C 800B904C 00041043 */ sra $v0, $a0, 1 -/* 0B9C50 800B9050 00A22823 */ subu $a1, $a1, $v0 -/* 0B9C54 800B9054 18800064 */ blez $a0, .L800B91E8 -/* 0B9C58 800B9058 02E2B823 */ subu $s7, $s7, $v0 -/* 0B9C5C 800B905C 3C1E8013 */ lui $fp, %hi(D_8012A0D8) # $fp, 0x8013 -/* 0B9C60 800B9060 3C12800E */ lui $s2, %hi(D_800E317C) # $s2, 0x800e -/* 0B9C64 800B9064 3C108013 */ lui $s0, %hi(D_8012A5E8) # $s0, 0x8013 -/* 0B9C68 800B9068 2610A5E8 */ addiu $s0, %lo(D_8012A5E8) # addiu $s0, $s0, -0x5a18 -/* 0B9C6C 800B906C 2652317C */ addiu $s2, %lo(D_800E317C) # addiu $s2, $s2, 0x317c -/* 0B9C70 800B9070 27DEA0D8 */ addiu $fp, %lo(D_8012A0D8) # addiu $fp, $fp, -0x5f28 -/* 0B9C74 800B9074 AFA5004C */ sw $a1, 0x4c($sp) -/* 0B9C78 800B9078 2411000C */ li $s1, 12 -/* 0B9C7C 800B907C 241F001C */ li $ra, 28 -.L800B9080: -/* 0B9C80 800B9080 06E00055 */ bltz $s7, .L800B91D8 -/* 0B9C84 800B9084 3C188013 */ lui $t8, %hi(D_8012A0DC) # $t8, 0x8013 -/* 0B9C88 800B9088 8F18A0DC */ lw $t8, %lo(D_8012A0DC)($t8) -/* 0B9C8C 800B908C 00000000 */ nop -/* 0B9C90 800B9090 02F8082A */ slt $at, $s7, $t8 -/* 0B9C94 800B9094 10200050 */ beqz $at, .L800B91D8 -/* 0B9C98 800B9098 00000000 */ nop -/* 0B9C9C 800B909C 8FCF0000 */ lw $t7, ($fp) -/* 0B9CA0 800B90A0 8FB3004C */ lw $s3, 0x4c($sp) -/* 0B9CA4 800B90A4 02EF0019 */ multu $s7, $t7 -/* 0B9CA8 800B90A8 0000A825 */ move $s5, $zero -/* 0B9CAC 800B90AC 0000C812 */ mflo $t9 -/* 0B9CB0 800B90B0 03335021 */ addu $t2, $t9, $s3 -/* 0B9CB4 800B90B4 18800048 */ blez $a0, .L800B91D8 -/* 0B9CB8 800B90B8 00000000 */ nop -.L800B90BC: -/* 0B9CBC 800B90BC 06600040 */ bltz $s3, .L800B91C0 -/* 0B9CC0 800B90C0 00000000 */ nop -/* 0B9CC4 800B90C4 8FD80000 */ lw $t8, ($fp) -/* 0B9CC8 800B90C8 00177880 */ sll $t7, $s7, 2 -/* 0B9CCC 800B90CC 0278082A */ slt $at, $s3, $t8 -/* 0B9CD0 800B90D0 1020003B */ beqz $at, .L800B91C0 -/* 0B9CD4 800B90D4 3C198013 */ lui $t9, %hi(D_8012A0E8) # $t9, 0x8013 -/* 0B9CD8 800B90D8 032FC821 */ addu $t9, $t9, $t7 -/* 0B9CDC 800B90DC 8F39A0E8 */ lw $t9, %lo(D_8012A0E8)($t9) -/* 0B9CE0 800B90E0 240E0001 */ li $t6, 1 -/* 0B9CE4 800B90E4 026EC004 */ sllv $t8, $t6, $s3 -/* 0B9CE8 800B90E8 03387824 */ and $t7, $t9, $t8 -/* 0B9CEC 800B90EC 11E00034 */ beqz $t7, .L800B91C0 -/* 0B9CF0 800B90F0 00000000 */ nop -/* 0B9CF4 800B90F4 02C40019 */ multu $s6, $a0 -/* 0B9CF8 800B90F8 3C0E800E */ lui $t6, %hi(D_800E30E0) # $t6, 0x800e -/* 0B9CFC 800B90FC 8DCE30E0 */ lw $t6, %lo(D_800E30E0)($t6) -/* 0B9D00 800B9100 3C088013 */ lui $t0, %hi(D_8012A0E0) # $t0, 0x8013 -/* 0B9D04 800B9104 00001025 */ move $v0, $zero -/* 0B9D08 800B9108 3C09800E */ lui $t1, %hi(D_800E30D8) # $t1, 0x800e -/* 0B9D0C 800B910C 0000C812 */ mflo $t9 -/* 0B9D10 800B9110 0019C040 */ sll $t8, $t9, 1 -/* 0B9D14 800B9114 0015C840 */ sll $t9, $s5, 1 -/* 0B9D18 800B9118 01D87821 */ addu $t7, $t6, $t8 -/* 0B9D1C 800B911C 01F97021 */ addu $t6, $t7, $t9 -/* 0B9D20 800B9120 3C0F800E */ lui $t7, %hi(D_800E30D4) # $t7, 0x800e -/* 0B9D24 800B9124 8DEF30D4 */ lw $t7, %lo(D_800E30D4)($t7) -/* 0B9D28 800B9128 85D80000 */ lh $t8, ($t6) -/* 0B9D2C 800B912C 000AC880 */ sll $t9, $t2, 2 -/* 0B9D30 800B9130 01F97021 */ addu $t6, $t7, $t9 -/* 0B9D34 800B9134 ADD80000 */ sw $t8, ($t6) -/* 0B9D38 800B9138 8D08A0E0 */ lw $t0, %lo(D_8012A0E0)($t0) -/* 0B9D3C 800B913C 00000000 */ nop -/* 0B9D40 800B9140 1900001F */ blez $t0, .L800B91C0 -/* 0B9D44 800B9144 00000000 */ nop -/* 0B9D48 800B9148 8D2930D8 */ lw $t1, %lo(D_800E30D8)($t1) -/* 0B9D4C 800B914C 00000000 */ nop -.L800B9150: -/* 0B9D50 800B9150 005F0019 */ multu $v0, $ra -/* 0B9D54 800B9154 00007812 */ mflo $t7 -/* 0B9D58 800B9158 012F3021 */ addu $a2, $t1, $t7 -/* 0B9D5C 800B915C 8CD9000C */ lw $t9, 0xc($a2) -/* 0B9D60 800B9160 00000000 */ nop -/* 0B9D64 800B9164 15590012 */ bne $t2, $t9, .L800B91B0 -/* 0B9D68 800B9168 00000000 */ nop -/* 0B9D6C 800B916C 00F10019 */ multu $a3, $s1 -/* 0B9D70 800B9170 8E590000 */ lw $t9, ($s2) -/* 0B9D74 800B9174 24E70001 */ addiu $a3, $a3, 1 -/* 0B9D78 800B9178 0000C012 */ mflo $t8 -/* 0B9D7C 800B917C 02181821 */ addu $v1, $s0, $t8 -/* 0B9D80 800B9180 A4620000 */ sh $v0, ($v1) -/* 0B9D84 800B9184 00590019 */ multu $v0, $t9 -/* 0B9D88 800B9188 A4600002 */ sh $zero, 2($v1) -/* 0B9D8C 800B918C 84CE0012 */ lh $t6, 0x12($a2) -/* 0B9D90 800B9190 24027FFF */ li $v0, 32767 -/* 0B9D94 800B9194 A46E0004 */ sh $t6, 4($v1) -/* 0B9D98 800B9198 84CF0010 */ lh $t7, 0x10($a2) -/* 0B9D9C 800B919C 00000000 */ nop -/* 0B9DA0 800B91A0 A46F0006 */ sh $t7, 6($v1) -/* 0B9DA4 800B91A4 0000C012 */ mflo $t8 -/* 0B9DA8 800B91A8 AC780008 */ sw $t8, 8($v1) -/* 0B9DAC 800B91AC 00000000 */ nop -.L800B91B0: -/* 0B9DB0 800B91B0 24420001 */ addiu $v0, $v0, 1 -/* 0B9DB4 800B91B4 0048082A */ slt $at, $v0, $t0 -/* 0B9DB8 800B91B8 1420FFE5 */ bnez $at, .L800B9150 -/* 0B9DBC 800B91BC 00000000 */ nop -.L800B91C0: -/* 0B9DC0 800B91C0 8D640024 */ lw $a0, 0x24($t3) -/* 0B9DC4 800B91C4 26B50001 */ addiu $s5, $s5, 1 -/* 0B9DC8 800B91C8 02A4082A */ slt $at, $s5, $a0 -/* 0B9DCC 800B91CC 26730001 */ addiu $s3, $s3, 1 -/* 0B9DD0 800B91D0 1420FFBA */ bnez $at, .L800B90BC -/* 0B9DD4 800B91D4 254A0001 */ addiu $t2, $t2, 1 -.L800B91D8: -/* 0B9DD8 800B91D8 26D60001 */ addiu $s6, $s6, 1 -/* 0B9DDC 800B91DC 02C4082A */ slt $at, $s6, $a0 -/* 0B9DE0 800B91E0 1420FFA7 */ bnez $at, .L800B9080 -/* 0B9DE4 800B91E4 26F70001 */ addiu $s7, $s7, 1 -.L800B91E8: -/* 0B9DE8 800B91E8 8FA4005C */ lw $a0, 0x5c($sp) -.L800B91EC: -/* 0B9DEC 800B91EC 8FA50060 */ lw $a1, 0x60($sp) -/* 0B9DF0 800B91F0 0C02E8A2 */ jal func_800BA288 -/* 0B9DF4 800B91F4 00000000 */ nop -/* 0B9DF8 800B91F8 8FBF003C */ lw $ra, 0x3c($sp) -/* 0B9DFC 800B91FC 8FB00018 */ lw $s0, 0x18($sp) -/* 0B9E00 800B9200 8FB1001C */ lw $s1, 0x1c($sp) -/* 0B9E04 800B9204 8FB20020 */ lw $s2, 0x20($sp) -/* 0B9E08 800B9208 8FB30024 */ lw $s3, 0x24($sp) -/* 0B9E0C 800B920C 8FB40028 */ lw $s4, 0x28($sp) -/* 0B9E10 800B9210 8FB5002C */ lw $s5, 0x2c($sp) -/* 0B9E14 800B9214 8FB60030 */ lw $s6, 0x30($sp) -/* 0B9E18 800B9218 8FB70034 */ lw $s7, 0x34($sp) -/* 0B9E1C 800B921C 8FBE0038 */ lw $fp, 0x38($sp) -/* 0B9E20 800B9220 03E00008 */ jr $ra -/* 0B9E24 800B9224 27BD0050 */ addiu $sp, $sp, 0x50 - diff --git a/asm/non_matchings/waves/func_800B92F4.s b/asm/non_matchings/waves/func_800B92F4.s deleted file mode 100644 index 17ef72a6..00000000 --- a/asm/non_matchings/waves/func_800B92F4.s +++ /dev/null @@ -1,322 +0,0 @@ -glabel func_800B92F4 -/* 0B9EF4 800B92F4 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 0B9EF8 800B92F8 AFB5003C */ sw $s5, 0x3c($sp) -/* 0B9EFC 800B92FC 3C158013 */ lui $s5, %hi(D_80129FC8) # $s5, 0x8013 -/* 0B9F00 800B9300 26B59FC8 */ addiu $s5, %lo(D_80129FC8) # addiu $s5, $s5, -0x6038 -/* 0B9F04 800B9304 8EA30000 */ lw $v1, ($s5) -/* 0B9F08 800B9308 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B9F0C 800B930C 24620001 */ addiu $v0, $v1, 1 -/* 0B9F10 800B9310 00420019 */ multu $v0, $v0 -/* 0B9F14 800B9314 44812000 */ mtc1 $at, $f4 -/* 0B9F18 800B9318 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0B9F1C 800B931C 000478C0 */ sll $t7, $a0, 3 -/* 0B9F20 800B9320 3C18800E */ lui $t8, %hi(D_800E30D8) # $t8, 0x800e -/* 0B9F24 800B9324 44815000 */ mtc1 $at, $f10 -/* 0B9F28 800B9328 C6A60044 */ lwc1 $f6, 0x44($s5) -/* 0B9F2C 800B932C 8F1830D8 */ lw $t8, %lo(D_800E30D8)($t8) -/* 0B9F30 800B9330 01E47823 */ subu $t7, $t7, $a0 -/* 0B9F34 800B9334 3C0A8013 */ lui $t2, %hi(D_8012A5E8) # $t2, 0x8013 -/* 0B9F38 800B9338 854AA5E8 */ lh $t2, %lo(D_8012A5E8)($t2) -/* 0B9F3C 800B933C 000F7880 */ sll $t7, $t7, 2 -/* 0B9F40 800B9340 46062201 */ sub.s $f8, $f4, $f6 -/* 0B9F44 800B9344 E7B70020 */ swc1 $f23, 0x20($sp) -/* 0B9F48 800B9348 E7B60024 */ swc1 $f22, 0x24($sp) -/* 0B9F4C 800B934C 00004812 */ mflo $t1 -/* 0B9F50 800B9350 2401FFFF */ li $at, -1 -/* 0B9F54 800B9354 01F8C821 */ addu $t9, $t7, $t8 -/* 0B9F58 800B9358 AFBF004C */ sw $ra, 0x4c($sp) -/* 0B9F5C 800B935C AFBE0048 */ sw $fp, 0x48($sp) -/* 0B9F60 800B9360 AFB70044 */ sw $s7, 0x44($sp) -/* 0B9F64 800B9364 AFB60040 */ sw $s6, 0x40($sp) -/* 0B9F68 800B9368 AFB40038 */ sw $s4, 0x38($sp) -/* 0B9F6C 800B936C AFB30034 */ sw $s3, 0x34($sp) -/* 0B9F70 800B9370 AFB20030 */ sw $s2, 0x30($sp) -/* 0B9F74 800B9374 AFB1002C */ sw $s1, 0x2c($sp) -/* 0B9F78 800B9378 AFB00028 */ sw $s0, 0x28($sp) -/* 0B9F7C 800B937C E7B50018 */ swc1 $f21, 0x18($sp) -/* 0B9F80 800B9380 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 0B9F84 800B9384 AFA400B0 */ sw $a0, 0xb0($sp) -/* 0B9F88 800B9388 AFA500B4 */ sw $a1, 0xb4($sp) -/* 0B9F8C 800B938C AFB9006C */ sw $t9, 0x6c($sp) -/* 0B9F90 800B9390 AFA90090 */ sw $t1, 0x90($sp) -/* 0B9F94 800B9394 114100F4 */ beq $t2, $at, .L800B9768 -/* 0B9F98 800B9398 460A4583 */ div.s $f22, $f8, $f10 -/* 0B9F9C 800B939C 3C0B8013 */ lui $t3, %hi(D_8012A5E8) # $t3, 0x8013 -/* 0B9FA0 800B93A0 256BA5E8 */ addiu $t3, %lo(D_8012A5E8) # addiu $t3, $t3, -0x5a18 -/* 0B9FA4 800B93A4 3C168013 */ lui $s6, %hi(D_8012A5E8) # $s6, 0x8013 -/* 0B9FA8 800B93A8 85620000 */ lh $v0, ($t3) -/* 0B9FAC 800B93AC 26D6A5E8 */ addiu $s6, %lo(D_8012A5E8) # addiu $s6, $s6, -0x5a18 -/* 0B9FB0 800B93B0 241E00FF */ li $fp, 255 -.L800B93B4: -/* 0B9FB4 800B93B4 8FAC00B0 */ lw $t4, 0xb0($sp) -/* 0B9FB8 800B93B8 8FAE006C */ lw $t6, 0x6c($sp) -/* 0B9FBC 800B93BC 158200E6 */ bne $t4, $v0, .L800B9758 -/* 0B9FC0 800B93C0 3C0D800E */ lui $t5, %hi(D_800E30D4) # $t5, 0x800e -/* 0B9FC4 800B93C4 3C098013 */ lui $t1, %hi(D_8012A018) # $t1, 0x8013 -/* 0B9FC8 800B93C8 8D29A018 */ lw $t1, %lo(D_8012A018)($t1) -/* 0B9FCC 800B93CC 8FAB00B4 */ lw $t3, 0xb4($sp) -/* 0B9FD0 800B93D0 8DCF000C */ lw $t7, 0xc($t6) -/* 0B9FD4 800B93D4 8DAD30D4 */ lw $t5, %lo(D_800E30D4)($t5) -/* 0B9FD8 800B93D8 00095080 */ sll $t2, $t1, 2 -/* 0B9FDC 800B93DC 000B6080 */ sll $t4, $t3, 2 -/* 0B9FE0 800B93E0 014C7021 */ addu $t6, $t2, $t4 -/* 0B9FE4 800B93E4 3C06800E */ lui $a2, %hi(D_800E3070) # $a2, 0x800e -/* 0B9FE8 800B93E8 000FC080 */ sll $t8, $t7, 2 -/* 0B9FEC 800B93EC 8EA50028 */ lw $a1, 0x28($s5) -/* 0B9FF0 800B93F0 00CE3021 */ addu $a2, $a2, $t6 -/* 0B9FF4 800B93F4 3C07800E */ lui $a3, %hi(D_800E30E4) # $a3, 0x800e -/* 0B9FF8 800B93F8 01B8C821 */ addu $t9, $t5, $t8 -/* 0B9FFC 800B93FC 8F240000 */ lw $a0, ($t9) -/* 0BA000 800B9400 8CE730E4 */ lw $a3, %lo(D_800E30E4)($a3) -/* 0BA004 800B9404 8CC63070 */ lw $a2, %lo(D_800E3070)($a2) -/* 0BA008 800B9408 AFA000AC */ sw $zero, 0xac($sp) -/* 0BA00C 800B940C 10A00014 */ beqz $a1, .L800B9460 -/* 0BA010 800B9410 0000B825 */ move $s7, $zero -/* 0BA014 800B9414 86C20002 */ lh $v0, 2($s6) -/* 0BA018 800B9418 00000000 */ nop -/* 0BA01C 800B941C 30490001 */ andi $t1, $v0, 1 -/* 0BA020 800B9420 01230019 */ multu $t1, $v1 -/* 0BA024 800B9424 304A0002 */ andi $t2, $v0, 2 -/* 0BA028 800B9428 000A6043 */ sra $t4, $t2, 1 -/* 0BA02C 800B942C 000278C0 */ sll $t7, $v0, 3 -/* 0BA030 800B9430 01E46806 */ srlv $t5, $a0, $t7 -/* 0BA034 800B9434 31B800FF */ andi $t8, $t5, 0xff -/* 0BA038 800B9438 2719FFFF */ addiu $t9, $t8, -1 -/* 0BA03C 800B943C AFB90098 */ sw $t9, 0x98($sp) -/* 0BA040 800B9440 00005812 */ mflo $t3 -/* 0BA044 800B9444 AFAB008C */ sw $t3, 0x8c($sp) -/* 0BA048 800B9448 00000000 */ nop -/* 0BA04C 800B944C 01830019 */ multu $t4, $v1 -/* 0BA050 800B9450 00007012 */ mflo $t6 -/* 0BA054 800B9454 AFAE0088 */ sw $t6, 0x88($sp) -/* 0BA058 800B9458 10000007 */ b .L800B9478 -/* 0BA05C 800B945C 8FB80090 */ lw $t8, 0x90($sp) -.L800B9460: -/* 0BA060 800B9460 308F00FF */ andi $t7, $a0, 0xff -/* 0BA064 800B9464 25EDFFFF */ addiu $t5, $t7, -1 -/* 0BA068 800B9468 AFAD0098 */ sw $t5, 0x98($sp) -/* 0BA06C 800B946C AFA0008C */ sw $zero, 0x8c($sp) -/* 0BA070 800B9470 AFA00088 */ sw $zero, 0x88($sp) -/* 0BA074 800B9474 8FB80090 */ lw $t8, 0x90($sp) -.L800B9478: -/* 0BA078 800B9478 8FB90098 */ lw $t9, 0x98($sp) -/* 0BA07C 800B947C 86C40006 */ lh $a0, 6($s6) -/* 0BA080 800B9480 03190019 */ multu $t8, $t9 -/* 0BA084 800B9484 00196040 */ sll $t4, $t9, 1 -/* 0BA088 800B9488 00EC7021 */ addu $t6, $a3, $t4 -/* 0BA08C 800B948C 00004812 */ mflo $t1 -/* 0BA090 800B9490 00095880 */ sll $t3, $t1, 2 -/* 0BA094 800B9494 01695821 */ addu $t3, $t3, $t1 -/* 0BA098 800B9498 000B5840 */ sll $t3, $t3, 1 -/* 0BA09C 800B949C 00CB5021 */ addu $t2, $a2, $t3 -/* 0BA0A0 800B94A0 AFAA0070 */ sw $t2, 0x70($sp) -/* 0BA0A4 800B94A4 85CF0000 */ lh $t7, ($t6) -/* 0BA0A8 800B94A8 046000AB */ bltz $v1, .L800B9758 -/* 0BA0AC 800B94AC AFAF0098 */ sw $t7, 0x98($sp) -/* 0BA0B0 800B94B0 8EA20004 */ lw $v0, 4($s5) -/* 0BA0B4 800B94B4 00000000 */ nop -.L800B94B8: -/* 0BA0B8 800B94B8 00820019 */ multu $a0, $v0 -/* 0BA0BC 800B94BC 86D10004 */ lh $s1, 4($s6) -/* 0BA0C0 800B94C0 3C0B800E */ lui $t3, %hi(D_800E304C) # $t3, 0x800e -/* 0BA0C4 800B94C4 256B304C */ addiu $t3, %lo(D_800E304C) # addiu $t3, $t3, 0x304c -/* 0BA0C8 800B94C8 00009825 */ move $s3, $zero -/* 0BA0CC 800B94CC 0017A080 */ sll $s4, $s7, 2 -/* 0BA0D0 800B94D0 00006812 */ mflo $t5 -/* 0BA0D4 800B94D4 01B19021 */ addu $s2, $t5, $s1 -/* 0BA0D8 800B94D8 0460008E */ bltz $v1, .L800B9714 -/* 0BA0DC 800B94DC 00176880 */ sll $t5, $s7, 2 -/* 0BA0E0 800B94E0 8FB900B4 */ lw $t9, 0xb4($sp) -/* 0BA0E4 800B94E4 8FB80098 */ lw $t8, 0x98($sp) -/* 0BA0E8 800B94E8 8FAA006C */ lw $t2, 0x6c($sp) -/* 0BA0EC 800B94EC 8FAF0070 */ lw $t7, 0x70($sp) -/* 0BA0F0 800B94F0 01B76821 */ addu $t5, $t5, $s7 -/* 0BA0F4 800B94F4 00196043 */ sra $t4, $t9, 1 -/* 0BA0F8 800B94F8 000C7080 */ sll $t6, $t4, 2 -/* 0BA0FC 800B94FC 000D6840 */ sll $t5, $t5, 1 -/* 0BA100 800B9500 00184880 */ sll $t1, $t8, 2 -/* 0BA104 800B9504 012B3821 */ addu $a3, $t1, $t3 -/* 0BA108 800B9508 AFA40084 */ sw $a0, 0x84($sp) -/* 0BA10C 800B950C 014E4021 */ addu $t0, $t2, $t6 -/* 0BA110 800B9510 01ED8021 */ addu $s0, $t7, $t5 -.L800B9514: -/* 0BA114 800B9514 3C18800E */ lui $t8, %hi(D_800E3044) # $t8, 0x800e -/* 0BA118 800B9518 8F183044 */ lw $t8, %lo(D_800E3044)($t8) -/* 0BA11C 800B951C 00124880 */ sll $t1, $s2, 2 -/* 0BA120 800B9520 03091821 */ addu $v1, $t8, $t1 -/* 0BA124 800B9524 3C02800E */ lui $v0, %hi(D_800E3040) # $v0, 0x800e -/* 0BA128 800B9528 8C423040 */ lw $v0, %lo(D_800E3040)($v0) -/* 0BA12C 800B952C 846B0002 */ lh $t3, 2($v1) -/* 0BA130 800B9530 846A0000 */ lh $t2, ($v1) -/* 0BA134 800B9534 000BC880 */ sll $t9, $t3, 2 -/* 0BA138 800B9538 000A7080 */ sll $t6, $t2, 2 -/* 0BA13C 800B953C 004E7821 */ addu $t7, $v0, $t6 -/* 0BA140 800B9540 00596021 */ addu $t4, $v0, $t9 -/* 0BA144 800B9544 C5900000 */ lwc1 $f16, ($t4) -/* 0BA148 800B9548 C5F20000 */ lwc1 $f18, ($t7) -/* 0BA14C 800B954C C6A60040 */ lwc1 $f6, 0x40($s5) -/* 0BA150 800B9550 46128100 */ add.s $f4, $f16, $f18 -/* 0BA154 800B9554 3C0D800E */ lui $t5, %hi(D_800E3188) # $t5, 0x800e -/* 0BA158 800B9558 8DAD3188 */ lw $t5, %lo(D_800E3188)($t5) -/* 0BA15C 800B955C 46062502 */ mul.s $f20, $f4, $f6 -/* 0BA160 800B9560 19A0000D */ blez $t5, .L800B9598 -/* 0BA164 800B9564 00000000 */ nop -/* 0BA168 800B9568 8FB8008C */ lw $t8, 0x8c($sp) -/* 0BA16C 800B956C 8FA900AC */ lw $t1, 0xac($sp) -/* 0BA170 800B9570 8FAB0088 */ lw $t3, 0x88($sp) -/* 0BA174 800B9574 8FA400B0 */ lw $a0, 0xb0($sp) -/* 0BA178 800B9578 AFA7005C */ sw $a3, 0x5c($sp) -/* 0BA17C 800B957C AFA80050 */ sw $t0, 0x50($sp) -/* 0BA180 800B9580 02782821 */ addu $a1, $s3, $t8 -/* 0BA184 800B9584 0C02FBF1 */ jal func_800BEFC4 -/* 0BA188 800B9588 012B3021 */ addu $a2, $t1, $t3 -/* 0BA18C 800B958C 8FA7005C */ lw $a3, 0x5c($sp) -/* 0BA190 800B9590 8FA80050 */ lw $t0, 0x50($sp) -/* 0BA194 800B9594 4600A500 */ add.s $f20, $f20, $f0 -.L800B9598: -/* 0BA198 800B9598 3C0A800E */ lui $t2, %hi(D_800E3178) # $t2, 0x800e -/* 0BA19C 800B959C 8D4A3178 */ lw $t2, %lo(D_800E3178)($t2) -/* 0BA1A0 800B95A0 8EC30008 */ lw $v1, 8($s6) -/* 0BA1A4 800B95A4 8CF90000 */ lw $t9, ($a3) -/* 0BA1A8 800B95A8 006A7021 */ addu $t6, $v1, $t2 -/* 0BA1AC 800B95AC 91C20000 */ lbu $v0, ($t6) -/* 0BA1B0 800B95B0 03346021 */ addu $t4, $t9, $s4 -/* 0BA1B4 800B95B4 C5880000 */ lwc1 $f8, ($t4) -/* 0BA1B8 800B95B8 00027840 */ sll $t7, $v0, 1 -/* 0BA1BC 800B95BC 29E100FF */ slti $at, $t7, 0xff -/* 0BA1C0 800B95C0 246D0001 */ addiu $t5, $v1, 1 -/* 0BA1C4 800B95C4 4608A502 */ mul.s $f20, $f20, $f8 -/* 0BA1C8 800B95C8 AECD0008 */ sw $t5, 8($s6) -/* 0BA1CC 800B95CC 10200008 */ beqz $at, .L800B95F0 -/* 0BA1D0 800B95D0 01E01025 */ move $v0, $t7 -/* 0BA1D4 800B95D4 44828000 */ mtc1 $v0, $f16 -/* 0BA1D8 800B95D8 C6AA0044 */ lwc1 $f10, 0x44($s5) -/* 0BA1DC 800B95DC 468084A0 */ cvt.s.w $f18, $f16 -/* 0BA1E0 800B95E0 46169102 */ mul.s $f4, $f18, $f22 -/* 0BA1E4 800B95E4 46045180 */ add.s $f6, $f10, $f4 -/* 0BA1E8 800B95E8 4606A502 */ mul.s $f20, $f20, $f6 -/* 0BA1EC 800B95EC 00000000 */ nop -.L800B95F0: -/* 0BA1F0 800B95F0 C6A80048 */ lwc1 $f8, 0x48($s5) -/* 0BA1F4 800B95F4 26F70001 */ addiu $s7, $s7, 1 -/* 0BA1F8 800B95F8 4608A402 */ mul.s $f16, $f20, $f8 -/* 0BA1FC 800B95FC 26940004 */ addiu $s4, $s4, 4 -/* 0BA200 800B9600 26310001 */ addiu $s1, $s1, 1 -/* 0BA204 800B9604 4458F800 */ cfc1 $t8, $31 -/* 0BA208 800B9608 00000000 */ nop -/* 0BA20C 800B960C 37010003 */ ori $at, $t8, 3 -/* 0BA210 800B9610 38210002 */ xori $at, $at, 2 -/* 0BA214 800B9614 44C1F800 */ ctc1 $at, $31 -/* 0BA218 800B9618 00000000 */ nop -/* 0BA21C 800B961C 460084A4 */ cvt.w.s $f18, $f16 -/* 0BA220 800B9620 44099000 */ mfc1 $t1, $f18 -/* 0BA224 800B9624 44D8F800 */ ctc1 $t8, $31 -/* 0BA228 800B9628 00491021 */ addu $v0, $v0, $t1 -/* 0BA22C 800B962C 28410100 */ slti $at, $v0, 0x100 -/* 0BA230 800B9630 14200003 */ bnez $at, .L800B9640 -/* 0BA234 800B9634 00000000 */ nop -/* 0BA238 800B9638 10000004 */ b .L800B964C -/* 0BA23C 800B963C 03C01025 */ move $v0, $fp -.L800B9640: -/* 0BA240 800B9640 04410002 */ bgez $v0, .L800B964C -/* 0BA244 800B9644 00000000 */ nop -/* 0BA248 800B9648 00001025 */ move $v0, $zero -.L800B964C: -/* 0BA24C 800B964C 86D90002 */ lh $t9, 2($s6) -/* 0BA250 800B9650 03C25823 */ subu $t3, $fp, $v0 -/* 0BA254 800B9654 01196021 */ addu $t4, $t0, $t9 -/* 0BA258 800B9658 918A0014 */ lbu $t2, 0x14($t4) -/* 0BA25C 800B965C 444DF800 */ cfc1 $t5, $31 -/* 0BA260 800B9660 016A0019 */ multu $t3, $t2 -/* 0BA264 800B9664 35A10003 */ ori $at, $t5, 3 -/* 0BA268 800B9668 38210002 */ xori $at, $at, 2 -/* 0BA26C 800B966C 44C1F800 */ ctc1 $at, $31 -/* 0BA270 800B9670 00000000 */ nop -/* 0BA274 800B9674 4600A2A4 */ cvt.w.s $f10, $f20 -/* 0BA278 800B9678 44185000 */ mfc1 $t8, $f10 -/* 0BA27C 800B967C 44CDF800 */ ctc1 $t5, $31 -/* 0BA280 800B9680 A6180002 */ sh $t8, 2($s0) -/* 0BA284 800B9684 00007012 */ mflo $t6 -/* 0BA288 800B9688 000E79C3 */ sra $t7, $t6, 7 -/* 0BA28C 800B968C 004F1021 */ addu $v0, $v0, $t7 -/* 0BA290 800B9690 284100C0 */ slti $at, $v0, 0xc0 -/* 0BA294 800B9694 10200003 */ beqz $at, .L800B96A4 -/* 0BA298 800B9698 03C21823 */ subu $v1, $fp, $v0 -/* 0BA29C 800B969C 10000003 */ b .L800B96AC -/* 0BA2A0 800B96A0 03C01825 */ move $v1, $fp -.L800B96A4: -/* 0BA2A4 800B96A4 00034880 */ sll $t1, $v1, 2 -/* 0BA2A8 800B96A8 312300FF */ andi $v1, $t1, 0xff -.L800B96AC: -/* 0BA2AC 800B96AC 28410040 */ slti $at, $v0, 0x40 -/* 0BA2B0 800B96B0 A2030006 */ sb $v1, 6($s0) -/* 0BA2B4 800B96B4 A2030007 */ sb $v1, 7($s0) -/* 0BA2B8 800B96B8 10200005 */ beqz $at, .L800B96D0 -/* 0BA2BC 800B96BC A2030008 */ sb $v1, 8($s0) -/* 0BA2C0 800B96C0 00021880 */ sll $v1, $v0, 2 -/* 0BA2C4 800B96C4 306C00FF */ andi $t4, $v1, 0xff -/* 0BA2C8 800B96C8 10000002 */ b .L800B96D4 -/* 0BA2CC 800B96CC 01801825 */ move $v1, $t4 -.L800B96D0: -/* 0BA2D0 800B96D0 03C01825 */ move $v1, $fp -.L800B96D4: -/* 0BA2D4 800B96D4 A2030009 */ sb $v1, 9($s0) -/* 0BA2D8 800B96D8 8EA20004 */ lw $v0, 4($s5) -/* 0BA2DC 800B96DC 2610000A */ addiu $s0, $s0, 0xa -/* 0BA2E0 800B96E0 0222082A */ slt $at, $s1, $v0 -/* 0BA2E4 800B96E4 14200003 */ bnez $at, .L800B96F4 -/* 0BA2E8 800B96E8 26520001 */ addiu $s2, $s2, 1 -/* 0BA2EC 800B96EC 02228823 */ subu $s1, $s1, $v0 -/* 0BA2F0 800B96F0 02429023 */ subu $s2, $s2, $v0 -.L800B96F4: -/* 0BA2F4 800B96F4 8EA30000 */ lw $v1, ($s5) -/* 0BA2F8 800B96F8 26730001 */ addiu $s3, $s3, 1 -/* 0BA2FC 800B96FC 0073082A */ slt $at, $v1, $s3 -/* 0BA300 800B9700 1020FF84 */ beqz $at, .L800B9514 -/* 0BA304 800B9704 00000000 */ nop -/* 0BA308 800B9708 8EA50028 */ lw $a1, 0x28($s5) -/* 0BA30C 800B970C 8FA40084 */ lw $a0, 0x84($sp) -/* 0BA310 800B9710 00000000 */ nop -.L800B9714: -/* 0BA314 800B9714 24840001 */ addiu $a0, $a0, 1 -/* 0BA318 800B9718 0082082A */ slt $at, $a0, $v0 -/* 0BA31C 800B971C 14200002 */ bnez $at, .L800B9728 -/* 0BA320 800B9720 00000000 */ nop -/* 0BA324 800B9724 00822023 */ subu $a0, $a0, $v0 -.L800B9728: -/* 0BA328 800B9728 10A00006 */ beqz $a1, .L800B9744 -/* 0BA32C 800B972C 8FAE00AC */ lw $t6, 0xac($sp) -/* 0BA330 800B9730 8ECB0008 */ lw $t3, 8($s6) -/* 0BA334 800B9734 00000000 */ nop -/* 0BA338 800B9738 01635021 */ addu $t2, $t3, $v1 -/* 0BA33C 800B973C AECA0008 */ sw $t2, 8($s6) -/* 0BA340 800B9740 8FAE00AC */ lw $t6, 0xac($sp) -.L800B9744: -/* 0BA344 800B9744 00000000 */ nop -/* 0BA348 800B9748 25CF0001 */ addiu $t7, $t6, 1 -/* 0BA34C 800B974C 006F082A */ slt $at, $v1, $t7 -/* 0BA350 800B9750 1020FF59 */ beqz $at, .L800B94B8 -/* 0BA354 800B9754 AFAF00AC */ sw $t7, 0xac($sp) -.L800B9758: -/* 0BA358 800B9758 86C2000C */ lh $v0, 0xc($s6) -/* 0BA35C 800B975C 2401FFFF */ li $at, -1 -/* 0BA360 800B9760 1441FF14 */ bne $v0, $at, .L800B93B4 -/* 0BA364 800B9764 26D6000C */ addiu $s6, $s6, 0xc -.L800B9768: -/* 0BA368 800B9768 8FBF004C */ lw $ra, 0x4c($sp) -/* 0BA36C 800B976C C7B50018 */ lwc1 $f21, 0x18($sp) -/* 0BA370 800B9770 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 0BA374 800B9774 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 0BA378 800B9778 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 0BA37C 800B977C 8FB00028 */ lw $s0, 0x28($sp) -/* 0BA380 800B9780 8FB1002C */ lw $s1, 0x2c($sp) -/* 0BA384 800B9784 8FB20030 */ lw $s2, 0x30($sp) -/* 0BA388 800B9788 8FB30034 */ lw $s3, 0x34($sp) -/* 0BA38C 800B978C 8FB40038 */ lw $s4, 0x38($sp) -/* 0BA390 800B9790 8FB5003C */ lw $s5, 0x3c($sp) -/* 0BA394 800B9794 8FB60040 */ lw $s6, 0x40($sp) -/* 0BA398 800B9798 8FB70044 */ lw $s7, 0x44($sp) -/* 0BA39C 800B979C 8FBE0048 */ lw $fp, 0x48($sp) -/* 0BA3A0 800B97A0 03E00008 */ jr $ra -/* 0BA3A4 800B97A4 27BD00B0 */ addiu $sp, $sp, 0xb0 - diff --git a/asm/non_matchings/waves/func_800B97A8.s b/asm/non_matchings/waves/func_800B97A8.s deleted file mode 100644 index a54ca7f2..00000000 --- a/asm/non_matchings/waves/func_800B97A8.s +++ /dev/null @@ -1,302 +0,0 @@ -glabel func_800B97A8 -/* 0BA3A8 800B97A8 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 0BA3AC 800B97AC AFB50054 */ sw $s5, 0x54($sp) -/* 0BA3B0 800B97B0 3C158013 */ lui $s5, %hi(D_80129FC8) # $s5, 0x8013 -/* 0BA3B4 800B97B4 26B59FC8 */ addiu $s5, %lo(D_80129FC8) # addiu $s5, $s5, -0x6038 -/* 0BA3B8 800B97B8 8EA20000 */ lw $v0, ($s5) -/* 0BA3BC 800B97BC 3C018013 */ lui $at, %hi(D_8012A020) # $at, 0x8013 -/* 0BA3C0 800B97C0 24430001 */ addiu $v1, $v0, 1 -/* 0BA3C4 800B97C4 00630019 */ multu $v1, $v1 -/* 0BA3C8 800B97C8 C420A020 */ lwc1 $f0, %lo(D_8012A020)($at) -/* 0BA3CC 800B97CC 3C018013 */ lui $at, %hi(D_8012A01C) # $at, 0x8013 -/* 0BA3D0 800B97D0 C422A01C */ lwc1 $f2, %lo(D_8012A01C)($at) -/* 0BA3D4 800B97D4 46000100 */ add.s $f4, $f0, $f0 -/* 0BA3D8 800B97D8 E7BB0030 */ swc1 $f27, 0x30($sp) -/* 0BA3DC 800B97DC 46021300 */ add.s $f12, $f2, $f2 -/* 0BA3E0 800B97E0 E7BA0034 */ swc1 $f26, 0x34($sp) -/* 0BA3E4 800B97E4 E7B60024 */ swc1 $f22, 0x24($sp) -/* 0BA3E8 800B97E8 4480B000 */ mtc1 $zero, $f22 -/* 0BA3EC 800B97EC 460C2681 */ sub.s $f26, $f4, $f12 -/* 0BA3F0 800B97F0 0004C0C0 */ sll $t8, $a0, 3 -/* 0BA3F4 800B97F4 3C19800E */ lui $t9, %hi(D_800E30D8) # $t9, 0x800e -/* 0BA3F8 800B97F8 8F3930D8 */ lw $t9, %lo(D_800E30D8)($t9) -/* 0BA3FC 800B97FC 0304C023 */ subu $t8, $t8, $a0 -/* 0BA400 800B9800 4616D03E */ c.le.s $f26, $f22 -/* 0BA404 800B9804 0018C080 */ sll $t8, $t8, 2 -/* 0BA408 800B9808 00007012 */ mflo $t6 -/* 0BA40C 800B980C 03194821 */ addu $t1, $t8, $t9 -/* 0BA410 800B9810 AFBF0064 */ sw $ra, 0x64($sp) -/* 0BA414 800B9814 AFBE0060 */ sw $fp, 0x60($sp) -/* 0BA418 800B9818 AFB7005C */ sw $s7, 0x5c($sp) -/* 0BA41C 800B981C AFB60058 */ sw $s6, 0x58($sp) -/* 0BA420 800B9820 AFB40050 */ sw $s4, 0x50($sp) -/* 0BA424 800B9824 AFB3004C */ sw $s3, 0x4c($sp) -/* 0BA428 800B9828 AFB20048 */ sw $s2, 0x48($sp) -/* 0BA42C 800B982C AFB10044 */ sw $s1, 0x44($sp) -/* 0BA430 800B9830 AFB00040 */ sw $s0, 0x40($sp) -/* 0BA434 800B9834 E7BD0038 */ swc1 $f29, 0x38($sp) -/* 0BA438 800B9838 E7BC003C */ swc1 $f28, 0x3c($sp) -/* 0BA43C 800B983C E7B90028 */ swc1 $f25, 0x28($sp) -/* 0BA440 800B9840 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 0BA444 800B9844 E7B70020 */ swc1 $f23, 0x20($sp) -/* 0BA448 800B9848 E7B50018 */ swc1 $f21, 0x18($sp) -/* 0BA44C 800B984C E7B4001C */ swc1 $f20, 0x1c($sp) -/* 0BA450 800B9850 AFA400B8 */ sw $a0, 0xb8($sp) -/* 0BA454 800B9854 AFA500BC */ sw $a1, 0xbc($sp) -/* 0BA458 800B9858 00003825 */ move $a3, $zero -/* 0BA45C 800B985C AFAE00A0 */ sw $t6, 0xa0($sp) -/* 0BA460 800B9860 45000005 */ bc1f .L800B9878 -/* 0BA464 800B9864 AFA90078 */ sw $t1, 0x78($sp) -/* 0BA468 800B9868 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA46C 800B986C 4481C000 */ mtc1 $at, $f24 -/* 0BA470 800B9870 10000005 */ b .L800B9888 -/* 0BA474 800B9874 4600B706 */ mov.s $f28, $f22 -.L800B9878: -/* 0BA478 800B9878 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA47C 800B987C 4481C000 */ mtc1 $at, $f24 -/* 0BA480 800B9880 00000000 */ nop -/* 0BA484 800B9884 461AC703 */ div.s $f28, $f24, $f26 -.L800B9888: -/* 0BA488 800B9888 3C0A8013 */ lui $t2, %hi(D_8012A5E8) # $t2, 0x8013 -/* 0BA48C 800B988C 854AA5E8 */ lh $t2, %lo(D_8012A5E8)($t2) -/* 0BA490 800B9890 2401FFFF */ li $at, -1 -/* 0BA494 800B9894 114100CA */ beq $t2, $at, .L800B9BC0 -/* 0BA498 800B9898 46006686 */ mov.s $f26, $f12 -/* 0BA49C 800B989C 00075880 */ sll $t3, $a3, 2 -/* 0BA4A0 800B98A0 01675823 */ subu $t3, $t3, $a3 -/* 0BA4A4 800B98A4 3C0C8013 */ lui $t4, %hi(D_8012A5E8) # $t4, 0x8013 -/* 0BA4A8 800B98A8 258CA5E8 */ addiu $t4, %lo(D_8012A5E8) # addiu $t4, $t4, -0x5a18 -/* 0BA4AC 800B98AC 000B5880 */ sll $t3, $t3, 2 -/* 0BA4B0 800B98B0 016C3021 */ addu $a2, $t3, $t4 -/* 0BA4B4 800B98B4 84C30000 */ lh $v1, ($a2) -/* 0BA4B8 800B98B8 00000000 */ nop -.L800B98BC: -/* 0BA4BC 800B98BC 8FAD00B8 */ lw $t5, 0xb8($sp) -/* 0BA4C0 800B98C0 8FAF0078 */ lw $t7, 0x78($sp) -/* 0BA4C4 800B98C4 15A300BA */ bne $t5, $v1, .L800B9BB0 -/* 0BA4C8 800B98C8 3C0E800E */ lui $t6, %hi(D_800E30D4) # $t6, 0x800e -/* 0BA4CC 800B98CC 3C0A8013 */ lui $t2, %hi(D_8012A018) # $t2, 0x8013 -/* 0BA4D0 800B98D0 8D4AA018 */ lw $t2, %lo(D_8012A018)($t2) -/* 0BA4D4 800B98D4 8FAC00BC */ lw $t4, 0xbc($sp) -/* 0BA4D8 800B98D8 8DF8000C */ lw $t8, 0xc($t7) -/* 0BA4DC 800B98DC 8DCE30D4 */ lw $t6, %lo(D_800E30D4)($t6) -/* 0BA4E0 800B98E0 000A5880 */ sll $t3, $t2, 2 -/* 0BA4E4 800B98E4 000C6880 */ sll $t5, $t4, 2 -/* 0BA4E8 800B98E8 016D7821 */ addu $t7, $t3, $t5 -/* 0BA4EC 800B98EC 3C07800E */ lui $a3, %hi(D_800E3070) # $a3, 0x800e -/* 0BA4F0 800B98F0 0018C880 */ sll $t9, $t8, 2 -/* 0BA4F4 800B98F4 8EA50028 */ lw $a1, 0x28($s5) -/* 0BA4F8 800B98F8 00EF3821 */ addu $a3, $a3, $t7 -/* 0BA4FC 800B98FC 3C08800E */ lui $t0, %hi(D_800E30E4) # $t0, 0x800e -/* 0BA500 800B9900 01D94821 */ addu $t1, $t6, $t9 -/* 0BA504 800B9904 8D240000 */ lw $a0, ($t1) -/* 0BA508 800B9908 8D0830E4 */ lw $t0, %lo(D_800E30E4)($t0) -/* 0BA50C 800B990C 8CE73070 */ lw $a3, %lo(D_800E3070)($a3) -/* 0BA510 800B9910 0000F025 */ move $fp, $zero -/* 0BA514 800B9914 10A00014 */ beqz $a1, .L800B9968 -/* 0BA518 800B9918 0000B025 */ move $s6, $zero -/* 0BA51C 800B991C 84C30002 */ lh $v1, 2($a2) -/* 0BA520 800B9920 00000000 */ nop -/* 0BA524 800B9924 306A0001 */ andi $t2, $v1, 1 -/* 0BA528 800B9928 01420019 */ multu $t2, $v0 -/* 0BA52C 800B992C 306B0002 */ andi $t3, $v1, 2 -/* 0BA530 800B9930 000B6843 */ sra $t5, $t3, 1 -/* 0BA534 800B9934 0003C0C0 */ sll $t8, $v1, 3 -/* 0BA538 800B9938 03047006 */ srlv $t6, $a0, $t8 -/* 0BA53C 800B993C 31D900FF */ andi $t9, $t6, 0xff -/* 0BA540 800B9940 2729FFFF */ addiu $t1, $t9, -1 -/* 0BA544 800B9944 AFA900A8 */ sw $t1, 0xa8($sp) -/* 0BA548 800B9948 00006012 */ mflo $t4 -/* 0BA54C 800B994C AFAC009C */ sw $t4, 0x9c($sp) -/* 0BA550 800B9950 00000000 */ nop -/* 0BA554 800B9954 01A20019 */ multu $t5, $v0 -/* 0BA558 800B9958 00007812 */ mflo $t7 -/* 0BA55C 800B995C AFAF0098 */ sw $t7, 0x98($sp) -/* 0BA560 800B9960 10000007 */ b .L800B9980 -/* 0BA564 800B9964 8FB900A0 */ lw $t9, 0xa0($sp) -.L800B9968: -/* 0BA568 800B9968 309800FF */ andi $t8, $a0, 0xff -/* 0BA56C 800B996C 270EFFFF */ addiu $t6, $t8, -1 -/* 0BA570 800B9970 AFAE00A8 */ sw $t6, 0xa8($sp) -/* 0BA574 800B9974 AFA0009C */ sw $zero, 0x9c($sp) -/* 0BA578 800B9978 AFA00098 */ sw $zero, 0x98($sp) -/* 0BA57C 800B997C 8FB900A0 */ lw $t9, 0xa0($sp) -.L800B9980: -/* 0BA580 800B9980 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0BA584 800B9984 84C40006 */ lh $a0, 6($a2) -/* 0BA588 800B9988 03290019 */ multu $t9, $t1 -/* 0BA58C 800B998C 00096840 */ sll $t5, $t1, 1 -/* 0BA590 800B9990 010D7821 */ addu $t7, $t0, $t5 -/* 0BA594 800B9994 00005012 */ mflo $t2 -/* 0BA598 800B9998 000A6080 */ sll $t4, $t2, 2 -/* 0BA59C 800B999C 018A6021 */ addu $t4, $t4, $t2 -/* 0BA5A0 800B99A0 000C6040 */ sll $t4, $t4, 1 -/* 0BA5A4 800B99A4 00EC5821 */ addu $t3, $a3, $t4 -/* 0BA5A8 800B99A8 AFAB007C */ sw $t3, 0x7c($sp) -/* 0BA5AC 800B99AC 85F80000 */ lh $t8, ($t7) -/* 0BA5B0 800B99B0 0440007F */ bltz $v0, .L800B9BB0 -/* 0BA5B4 800B99B4 AFB800A8 */ sw $t8, 0xa8($sp) -/* 0BA5B8 800B99B8 8EA30004 */ lw $v1, 4($s5) -/* 0BA5BC 800B99BC 00000000 */ nop -.L800B99C0: -/* 0BA5C0 800B99C0 00830019 */ multu $a0, $v1 -/* 0BA5C4 800B99C4 84D10004 */ lh $s1, 4($a2) -/* 0BA5C8 800B99C8 00164880 */ sll $t1, $s6, 2 -/* 0BA5CC 800B99CC 01364821 */ addu $t1, $t1, $s6 -/* 0BA5D0 800B99D0 3C0C800E */ lui $t4, %hi(D_800E304C) # $t4, 0x800e -/* 0BA5D4 800B99D4 258C304C */ addiu $t4, %lo(D_800E304C) # addiu $t4, $t4, 0x304c -/* 0BA5D8 800B99D8 00094840 */ sll $t1, $t1, 1 -/* 0BA5DC 800B99DC 00009825 */ move $s3, $zero -/* 0BA5E0 800B99E0 0016A080 */ sll $s4, $s6, 2 -/* 0BA5E4 800B99E4 00007012 */ mflo $t6 -/* 0BA5E8 800B99E8 01D19021 */ addu $s2, $t6, $s1 -/* 0BA5EC 800B99EC 04400063 */ bltz $v0, .L800B9B7C -/* 0BA5F0 800B99F0 00000000 */ nop -/* 0BA5F4 800B99F4 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0BA5F8 800B99F8 8FAB007C */ lw $t3, 0x7c($sp) -/* 0BA5FC 800B99FC 00195080 */ sll $t2, $t9, 2 -/* 0BA600 800B9A00 014CB821 */ addu $s7, $t2, $t4 -/* 0BA604 800B9A04 AFA6006C */ sw $a2, 0x6c($sp) -/* 0BA608 800B9A08 AFA40094 */ sw $a0, 0x94($sp) -/* 0BA60C 800B9A0C 01698021 */ addu $s0, $t3, $t1 -.L800B9A10: -/* 0BA610 800B9A10 3C0D800E */ lui $t5, %hi(D_800E3044) # $t5, 0x800e -/* 0BA614 800B9A14 8DAD3044 */ lw $t5, %lo(D_800E3044)($t5) -/* 0BA618 800B9A18 00127880 */ sll $t7, $s2, 2 -/* 0BA61C 800B9A1C 01AF1821 */ addu $v1, $t5, $t7 -/* 0BA620 800B9A20 3C02800E */ lui $v0, %hi(D_800E3040) # $v0, 0x800e -/* 0BA624 800B9A24 8C423040 */ lw $v0, %lo(D_800E3040)($v0) -/* 0BA628 800B9A28 84780002 */ lh $t8, 2($v1) -/* 0BA62C 800B9A2C 846A0000 */ lh $t2, ($v1) -/* 0BA630 800B9A30 00187080 */ sll $t6, $t8, 2 -/* 0BA634 800B9A34 000A6080 */ sll $t4, $t2, 2 -/* 0BA638 800B9A38 004C5821 */ addu $t3, $v0, $t4 -/* 0BA63C 800B9A3C 004EC821 */ addu $t9, $v0, $t6 -/* 0BA640 800B9A40 C7260000 */ lwc1 $f6, ($t9) -/* 0BA644 800B9A44 C5680000 */ lwc1 $f8, ($t3) -/* 0BA648 800B9A48 C6B00040 */ lwc1 $f16, 0x40($s5) -/* 0BA64C 800B9A4C 46083280 */ add.s $f10, $f6, $f8 -/* 0BA650 800B9A50 3C09800E */ lui $t1, %hi(D_800E3188) # $t1, 0x800e -/* 0BA654 800B9A54 8D293188 */ lw $t1, %lo(D_800E3188)($t1) -/* 0BA658 800B9A58 46105502 */ mul.s $f20, $f10, $f16 -/* 0BA65C 800B9A5C 19200008 */ blez $t1, .L800B9A80 -/* 0BA660 800B9A60 00000000 */ nop -/* 0BA664 800B9A64 8FAD009C */ lw $t5, 0x9c($sp) -/* 0BA668 800B9A68 8FAF0098 */ lw $t7, 0x98($sp) -/* 0BA66C 800B9A6C 8FA400B8 */ lw $a0, 0xb8($sp) -/* 0BA670 800B9A70 026D2821 */ addu $a1, $s3, $t5 -/* 0BA674 800B9A74 0C02FBF1 */ jal func_800BEFC4 -/* 0BA678 800B9A78 03CF3021 */ addu $a2, $fp, $t7 -/* 0BA67C 800B9A7C 4600A500 */ add.s $f20, $f20, $f0 -.L800B9A80: -/* 0BA680 800B9A80 8EF80000 */ lw $t8, ($s7) -/* 0BA684 800B9A84 00000000 */ nop -/* 0BA688 800B9A88 03147021 */ addu $t6, $t8, $s4 -/* 0BA68C 800B9A8C C5D20000 */ lwc1 $f18, ($t6) -/* 0BA690 800B9A90 00000000 */ nop -/* 0BA694 800B9A94 4612A502 */ mul.s $f20, $f20, $f18 -/* 0BA698 800B9A98 4459F800 */ cfc1 $t9, $31 -/* 0BA69C 800B9A9C 00000000 */ nop -/* 0BA6A0 800B9AA0 37210003 */ ori $at, $t9, 3 -/* 0BA6A4 800B9AA4 38210002 */ xori $at, $at, 2 -/* 0BA6A8 800B9AA8 44C1F800 */ ctc1 $at, $31 -/* 0BA6AC 800B9AAC 00000000 */ nop -/* 0BA6B0 800B9AB0 4600A124 */ cvt.w.s $f4, $f20 -/* 0BA6B4 800B9AB4 44D9F800 */ ctc1 $t9, $31 -/* 0BA6B8 800B9AB8 440A2000 */ mfc1 $t2, $f4 -/* 0BA6BC 800B9ABC 461AA181 */ sub.s $f6, $f20, $f26 -/* 0BA6C0 800B9AC0 A60A0002 */ sh $t2, 2($s0) -/* 0BA6C4 800B9AC4 461C3502 */ mul.s $f20, $f6, $f28 -/* 0BA6C8 800B9AC8 4614C03C */ c.lt.s $f24, $f20 -/* 0BA6CC 800B9ACC 00000000 */ nop -/* 0BA6D0 800B9AD0 45000003 */ bc1f .L800B9AE0 -/* 0BA6D4 800B9AD4 00000000 */ nop -/* 0BA6D8 800B9AD8 10000006 */ b .L800B9AF4 -/* 0BA6DC 800B9ADC 4600C506 */ mov.s $f20, $f24 -.L800B9AE0: -/* 0BA6E0 800B9AE0 4616A03C */ c.lt.s $f20, $f22 -/* 0BA6E4 800B9AE4 00000000 */ nop -/* 0BA6E8 800B9AE8 45000002 */ bc1f .L800B9AF4 -/* 0BA6EC 800B9AEC 00000000 */ nop -/* 0BA6F0 800B9AF0 4600B506 */ mov.s $f20, $f22 -.L800B9AF4: -/* 0BA6F4 800B9AF4 4614B202 */ mul.s $f8, $f22, $f20 -/* 0BA6F8 800B9AF8 240B00FF */ li $t3, 255 -/* 0BA6FC 800B9AFC A20B0009 */ sb $t3, 9($s0) -/* 0BA700 800B9B00 26310001 */ addiu $s1, $s1, 1 -/* 0BA704 800B9B04 444CF800 */ cfc1 $t4, $31 -/* 0BA708 800B9B08 26D60001 */ addiu $s6, $s6, 1 -/* 0BA70C 800B9B0C 35810003 */ ori $at, $t4, 3 -/* 0BA710 800B9B10 38210002 */ xori $at, $at, 2 -/* 0BA714 800B9B14 44C1F800 */ ctc1 $at, $31 -/* 0BA718 800B9B18 26940004 */ addiu $s4, $s4, 4 -/* 0BA71C 800B9B1C 460042A4 */ cvt.w.s $f10, $f8 -/* 0BA720 800B9B20 2610000A */ addiu $s0, $s0, 0xa -/* 0BA724 800B9B24 44025000 */ mfc1 $v0, $f10 -/* 0BA728 800B9B28 44CCF800 */ ctc1 $t4, $31 -/* 0BA72C 800B9B2C 244200FF */ addiu $v0, $v0, 0xff -/* 0BA730 800B9B30 A202FFFC */ sb $v0, -4($s0) -/* 0BA734 800B9B34 A202FFFD */ sb $v0, -3($s0) -/* 0BA738 800B9B38 A202FFFE */ sb $v0, -2($s0) -/* 0BA73C 800B9B3C 8EA30004 */ lw $v1, 4($s5) -/* 0BA740 800B9B40 26520001 */ addiu $s2, $s2, 1 -/* 0BA744 800B9B44 0223082A */ slt $at, $s1, $v1 -/* 0BA748 800B9B48 14200003 */ bnez $at, .L800B9B58 -/* 0BA74C 800B9B4C 00000000 */ nop -/* 0BA750 800B9B50 02238823 */ subu $s1, $s1, $v1 -/* 0BA754 800B9B54 02439023 */ subu $s2, $s2, $v1 -.L800B9B58: -/* 0BA758 800B9B58 8EA20000 */ lw $v0, ($s5) -/* 0BA75C 800B9B5C 26730001 */ addiu $s3, $s3, 1 -/* 0BA760 800B9B60 0053082A */ slt $at, $v0, $s3 -/* 0BA764 800B9B64 1020FFAA */ beqz $at, .L800B9A10 -/* 0BA768 800B9B68 00000000 */ nop -/* 0BA76C 800B9B6C 8EA50028 */ lw $a1, 0x28($s5) -/* 0BA770 800B9B70 8FA6006C */ lw $a2, 0x6c($sp) -/* 0BA774 800B9B74 8FA40094 */ lw $a0, 0x94($sp) -/* 0BA778 800B9B78 00000000 */ nop -.L800B9B7C: -/* 0BA77C 800B9B7C 24840001 */ addiu $a0, $a0, 1 -/* 0BA780 800B9B80 0083082A */ slt $at, $a0, $v1 -/* 0BA784 800B9B84 14200002 */ bnez $at, .L800B9B90 -/* 0BA788 800B9B88 27DE0001 */ addiu $fp, $fp, 1 -/* 0BA78C 800B9B8C 00832023 */ subu $a0, $a0, $v1 -.L800B9B90: -/* 0BA790 800B9B90 10A00005 */ beqz $a1, .L800B9BA8 -/* 0BA794 800B9B94 005E082A */ slt $at, $v0, $fp -/* 0BA798 800B9B98 8CC90008 */ lw $t1, 8($a2) -/* 0BA79C 800B9B9C 00000000 */ nop -/* 0BA7A0 800B9BA0 01226821 */ addu $t5, $t1, $v0 -/* 0BA7A4 800B9BA4 ACCD0008 */ sw $t5, 8($a2) -.L800B9BA8: -/* 0BA7A8 800B9BA8 1020FF85 */ beqz $at, .L800B99C0 -/* 0BA7AC 800B9BAC 00000000 */ nop -.L800B9BB0: -/* 0BA7B0 800B9BB0 84C3000C */ lh $v1, 0xc($a2) -/* 0BA7B4 800B9BB4 2401FFFF */ li $at, -1 -/* 0BA7B8 800B9BB8 1461FF40 */ bne $v1, $at, .L800B98BC -/* 0BA7BC 800B9BBC 24C6000C */ addiu $a2, $a2, 0xc -.L800B9BC0: -/* 0BA7C0 800B9BC0 8FBF0064 */ lw $ra, 0x64($sp) -/* 0BA7C4 800B9BC4 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 0BA7C8 800B9BC8 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 0BA7CC 800B9BCC C7B70020 */ lwc1 $f23, 0x20($sp) -/* 0BA7D0 800B9BD0 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 0BA7D4 800B9BD4 C7B90028 */ lwc1 $f25, 0x28($sp) -/* 0BA7D8 800B9BD8 C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 0BA7DC 800B9BDC C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 0BA7E0 800B9BE0 C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 0BA7E4 800B9BE4 C7BD0038 */ lwc1 $f29, 0x38($sp) -/* 0BA7E8 800B9BE8 C7BC003C */ lwc1 $f28, 0x3c($sp) -/* 0BA7EC 800B9BEC 8FB00040 */ lw $s0, 0x40($sp) -/* 0BA7F0 800B9BF0 8FB10044 */ lw $s1, 0x44($sp) -/* 0BA7F4 800B9BF4 8FB20048 */ lw $s2, 0x48($sp) -/* 0BA7F8 800B9BF8 8FB3004C */ lw $s3, 0x4c($sp) -/* 0BA7FC 800B9BFC 8FB40050 */ lw $s4, 0x50($sp) -/* 0BA800 800B9C00 8FB50054 */ lw $s5, 0x54($sp) -/* 0BA804 800B9C04 8FB60058 */ lw $s6, 0x58($sp) -/* 0BA808 800B9C08 8FB7005C */ lw $s7, 0x5c($sp) -/* 0BA80C 800B9C0C 8FBE0060 */ lw $fp, 0x60($sp) -/* 0BA810 800B9C10 03E00008 */ jr $ra -/* 0BA814 800B9C14 27BD00B8 */ addiu $sp, $sp, 0xb8 - diff --git a/asm/non_matchings/waves/func_800B9C18.s b/asm/non_matchings/waves/func_800B9C18.s deleted file mode 100644 index f847b74d..00000000 --- a/asm/non_matchings/waves/func_800B9C18.s +++ /dev/null @@ -1,440 +0,0 @@ -glabel func_800B9C18 -/* 0BA818 800B9C18 3C098013 */ lui $t1, %hi(D_8012A018) # $t1, 0x8013 -/* 0BA81C 800B9C1C 2529A018 */ addiu $t1, %lo(D_8012A018) # addiu $t1, $t1, -0x5fe8 -/* 0BA820 800B9C20 3C0B8013 */ lui $t3, %hi(D_80129FC8) # $t3, 0x8013 -/* 0BA824 800B9C24 8D2E0000 */ lw $t6, ($t1) -/* 0BA828 800B9C28 256B9FC8 */ addiu $t3, %lo(D_80129FC8) # addiu $t3, $t3, -0x6038 -/* 0BA82C 800B9C2C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0BA830 800B9C30 8D620004 */ lw $v0, 4($t3) -/* 0BA834 800B9C34 240F0001 */ li $t7, 1 -/* 0BA838 800B9C38 AFB1001C */ sw $s1, 0x1c($sp) -/* 0BA83C 800B9C3C 01EEC023 */ subu $t8, $t7, $t6 -/* 0BA840 800B9C40 00808825 */ move $s1, $a0 -/* 0BA844 800B9C44 AFBF0024 */ sw $ra, 0x24($sp) -/* 0BA848 800B9C48 AFB20020 */ sw $s2, 0x20($sp) -/* 0BA84C 800B9C4C AFB00018 */ sw $s0, 0x18($sp) -/* 0BA850 800B9C50 AD380000 */ sw $t8, ($t1) -/* 0BA854 800B9C54 00005025 */ move $t2, $zero -/* 0BA858 800B9C58 1840003B */ blez $v0, .L800B9D48 -/* 0BA85C 800B9C5C 00004025 */ move $t0, $zero -/* 0BA860 800B9C60 3C06800E */ lui $a2, %hi(D_800E3044) # $a2, 0x800e -/* 0BA864 800B9C64 24C63044 */ addiu $a2, %lo(D_800E3044) # addiu $a2, $a2, 0x3044 -.L800B9C68: -/* 0BA868 800B9C68 18400033 */ blez $v0, .L800B9D38 -/* 0BA86C 800B9C6C 00003825 */ move $a3, $zero -/* 0BA870 800B9C70 8CD90000 */ lw $t9, ($a2) -/* 0BA874 800B9C74 00082880 */ sll $a1, $t0, 2 -/* 0BA878 800B9C78 03251821 */ addu $v1, $t9, $a1 -.L800B9C7C: -/* 0BA87C 800B9C7C 846F0000 */ lh $t7, ($v1) -/* 0BA880 800B9C80 24E70001 */ addiu $a3, $a3, 1 -/* 0BA884 800B9C84 01F17021 */ addu $t6, $t7, $s1 -/* 0BA888 800B9C88 A46E0000 */ sh $t6, ($v1) -/* 0BA88C 800B9C8C 8CD80000 */ lw $t8, ($a2) -/* 0BA890 800B9C90 8D620020 */ lw $v0, 0x20($t3) -/* 0BA894 800B9C94 03051821 */ addu $v1, $t8, $a1 -/* 0BA898 800B9C98 84640000 */ lh $a0, ($v1) -/* 0BA89C 800B9C9C 25080001 */ addiu $t0, $t0, 1 -/* 0BA8A0 800B9CA0 0082082A */ slt $at, $a0, $v0 -/* 0BA8A4 800B9CA4 1420000A */ bnez $at, .L800B9CD0 -/* 0BA8A8 800B9CA8 0082C823 */ subu $t9, $a0, $v0 -.L800B9CAC: -/* 0BA8AC 800B9CAC A4790000 */ sh $t9, ($v1) -/* 0BA8B0 800B9CB0 8CCF0000 */ lw $t7, ($a2) -/* 0BA8B4 800B9CB4 8D620020 */ lw $v0, 0x20($t3) -/* 0BA8B8 800B9CB8 01E51821 */ addu $v1, $t7, $a1 -/* 0BA8BC 800B9CBC 84640000 */ lh $a0, ($v1) -/* 0BA8C0 800B9CC0 00000000 */ nop -/* 0BA8C4 800B9CC4 0082082A */ slt $at, $a0, $v0 -/* 0BA8C8 800B9CC8 1020FFF8 */ beqz $at, .L800B9CAC -/* 0BA8CC 800B9CCC 0082C823 */ subu $t9, $a0, $v0 -.L800B9CD0: -/* 0BA8D0 800B9CD0 846E0002 */ lh $t6, 2($v1) -/* 0BA8D4 800B9CD4 00000000 */ nop -/* 0BA8D8 800B9CD8 01D1C021 */ addu $t8, $t6, $s1 -/* 0BA8DC 800B9CDC A4780002 */ sh $t8, 2($v1) -/* 0BA8E0 800B9CE0 8CD90000 */ lw $t9, ($a2) -/* 0BA8E4 800B9CE4 8D620020 */ lw $v0, 0x20($t3) -/* 0BA8E8 800B9CE8 03251821 */ addu $v1, $t9, $a1 -/* 0BA8EC 800B9CEC 84640002 */ lh $a0, 2($v1) -/* 0BA8F0 800B9CF0 00000000 */ nop -/* 0BA8F4 800B9CF4 0082082A */ slt $at, $a0, $v0 -/* 0BA8F8 800B9CF8 1420000A */ bnez $at, .L800B9D24 -/* 0BA8FC 800B9CFC 00827823 */ subu $t7, $a0, $v0 -.L800B9D00: -/* 0BA900 800B9D00 A46F0002 */ sh $t7, 2($v1) -/* 0BA904 800B9D04 8CCE0000 */ lw $t6, ($a2) -/* 0BA908 800B9D08 8D620020 */ lw $v0, 0x20($t3) -/* 0BA90C 800B9D0C 01C51821 */ addu $v1, $t6, $a1 -/* 0BA910 800B9D10 84640002 */ lh $a0, 2($v1) -/* 0BA914 800B9D14 00000000 */ nop -/* 0BA918 800B9D18 0082082A */ slt $at, $a0, $v0 -/* 0BA91C 800B9D1C 1020FFF8 */ beqz $at, .L800B9D00 -/* 0BA920 800B9D20 00827823 */ subu $t7, $a0, $v0 -.L800B9D24: -/* 0BA924 800B9D24 8D620004 */ lw $v0, 4($t3) -/* 0BA928 800B9D28 24A50004 */ addiu $a1, $a1, 4 -/* 0BA92C 800B9D2C 00E2082A */ slt $at, $a3, $v0 -/* 0BA930 800B9D30 1420FFD2 */ bnez $at, .L800B9C7C -/* 0BA934 800B9D34 24630004 */ addiu $v1, $v1, 4 -.L800B9D38: -/* 0BA938 800B9D38 254A0001 */ addiu $t2, $t2, 1 -/* 0BA93C 800B9D3C 0142082A */ slt $at, $t2, $v0 -/* 0BA940 800B9D40 1420FFC9 */ bnez $at, .L800B9C68 -/* 0BA944 800B9D44 00000000 */ nop -.L800B9D48: -/* 0BA948 800B9D48 3C05800E */ lui $a1, %hi(D_800E30D0) # $a1, 0x800e -/* 0BA94C 800B9D4C 8CA530D0 */ lw $a1, %lo(D_800E30D0)($a1) -/* 0BA950 800B9D50 3C048013 */ lui $a0, %hi(D_8012A09C) # $a0, 0x8013 -/* 0BA954 800B9D54 94B90014 */ lhu $t9, 0x14($a1) -/* 0BA958 800B9D58 2484A09C */ addiu $a0, %lo(D_8012A09C) # addiu $a0, $a0, -0x5f64 -/* 0BA95C 800B9D5C 03310019 */ multu $t9, $s1 -/* 0BA960 800B9D60 8C980000 */ lw $t8, ($a0) -/* 0BA964 800B9D64 3C08800E */ lui $t0, %hi(D_800E3048) # $t0, 0x800e -/* 0BA968 800B9D68 3C078013 */ lui $a3, %hi(D_8012A090) # $a3, 0x8013 -/* 0BA96C 800B9D6C 24E7A090 */ addiu $a3, %lo(D_8012A090) # addiu $a3, $a3, -0x5f70 -/* 0BA970 800B9D70 25083048 */ addiu $t0, %lo(D_800E3048) # addiu $t0, $t0, 0x3048 -/* 0BA974 800B9D74 00006825 */ move $t5, $zero -/* 0BA978 800B9D78 00007812 */ mflo $t7 -/* 0BA97C 800B9D7C 030F1021 */ addu $v0, $t8, $t7 -/* 0BA980 800B9D80 04410003 */ bgez $v0, .L800B9D90 -/* 0BA984 800B9D84 AC820000 */ sw $v0, ($a0) -/* 0BA988 800B9D88 1000000C */ b .L800B9DBC -/* 0BA98C 800B9D8C AC800000 */ sw $zero, ($a0) -.L800B9D90: -/* 0BA990 800B9D90 94A30012 */ lhu $v1, 0x12($a1) -/* 0BA994 800B9D94 00000000 */ nop -/* 0BA998 800B9D98 0043082A */ slt $at, $v0, $v1 -/* 0BA99C 800B9D9C 14200007 */ bnez $at, .L800B9DBC -/* 0BA9A0 800B9DA0 0043C823 */ subu $t9, $v0, $v1 -.L800B9DA4: -/* 0BA9A4 800B9DA4 AC990000 */ sw $t9, ($a0) -/* 0BA9A8 800B9DA8 94A30012 */ lhu $v1, 0x12($a1) -/* 0BA9AC 800B9DAC 03201025 */ move $v0, $t9 -/* 0BA9B0 800B9DB0 0323082A */ slt $at, $t9, $v1 -/* 0BA9B4 800B9DB4 1020FFFB */ beqz $at, .L800B9DA4 -/* 0BA9B8 800B9DB8 0043C823 */ subu $t9, $v0, $v1 -.L800B9DBC: -/* 0BA9BC 800B9DBC 8D780038 */ lw $t8, 0x38($t3) -/* 0BA9C0 800B9DC0 3C0A8013 */ lui $t2, %hi(D_8012A084) # $t2, 0x8013 -/* 0BA9C4 800B9DC4 03110019 */ multu $t8, $s1 -/* 0BA9C8 800B9DC8 254AA084 */ addiu $t2, %lo(D_8012A084) # addiu $t2, $t2, -0x5f7c -/* 0BA9CC 800B9DCC 8D4E0000 */ lw $t6, ($t2) -/* 0BA9D0 800B9DD0 3C188013 */ lui $t8, %hi(D_8012A094) # $t8, 0x8013 -/* 0BA9D4 800B9DD4 8F18A094 */ lw $t8, %lo(D_8012A094)($t8) -/* 0BA9D8 800B9DD8 3C028013 */ lui $v0, %hi(D_8012A088) # $v0, 0x8013 -/* 0BA9DC 800B9DDC 2442A088 */ addiu $v0, %lo(D_8012A088) # addiu $v0, $v0, -0x5f78 -/* 0BA9E0 800B9DE0 8D640000 */ lw $a0, ($t3) -/* 0BA9E4 800B9DE4 3C058013 */ lui $a1, %hi(D_8012A08C) # $a1, 0x8013 -/* 0BA9E8 800B9DE8 24A5A08C */ addiu $a1, %lo(D_8012A08C) # addiu $a1, $a1, -0x5f74 -/* 0BA9EC 800B9DEC 00009025 */ move $s2, $zero -/* 0BA9F0 800B9DF0 00008025 */ move $s0, $zero -/* 0BA9F4 800B9DF4 00007812 */ mflo $t7 -/* 0BA9F8 800B9DF8 01EEC821 */ addu $t9, $t7, $t6 -/* 0BA9FC 800B9DFC 8D6E003C */ lw $t6, 0x3c($t3) -/* 0BAA00 800B9E00 03387824 */ and $t7, $t9, $t8 -/* 0BAA04 800B9E04 01D10019 */ multu $t6, $s1 -/* 0BAA08 800B9E08 8C580000 */ lw $t8, ($v0) -/* 0BAA0C 800B9E0C AD4F0000 */ sw $t7, ($t2) -/* 0BAA10 800B9E10 3C0E8013 */ lui $t6, %hi(D_8012A098) # $t6, 0x8013 -/* 0BAA14 800B9E14 8DCEA098 */ lw $t6, %lo(D_8012A098)($t6) -/* 0BAA18 800B9E18 0000C812 */ mflo $t9 -/* 0BAA1C 800B9E1C 03387821 */ addu $t7, $t9, $t8 -/* 0BAA20 800B9E20 01EE3024 */ and $a2, $t7, $t6 -/* 0BAA24 800B9E24 0480001A */ bltz $a0, .L800B9E90 -/* 0BAA28 800B9E28 AC460000 */ sw $a2, ($v0) -.L800B9E2C: -/* 0BAA2C 800B9E2C 8D430000 */ lw $v1, ($t2) -/* 0BAA30 800B9E30 04800010 */ bltz $a0, .L800B9E74 -/* 0BAA34 800B9E34 00006025 */ move $t4, $zero -/* 0BAA38 800B9E38 00101080 */ sll $v0, $s0, 2 -.L800B9E3C: -/* 0BAA3C 800B9E3C 8D180000 */ lw $t8, ($t0) -/* 0BAA40 800B9E40 258C0001 */ addiu $t4, $t4, 1 -/* 0BAA44 800B9E44 03027821 */ addu $t7, $t8, $v0 -/* 0BAA48 800B9E48 A5E30000 */ sh $v1, ($t7) -/* 0BAA4C 800B9E4C 8D0E0000 */ lw $t6, ($t0) -/* 0BAA50 800B9E50 26100001 */ addiu $s0, $s0, 1 -/* 0BAA54 800B9E54 01C2C821 */ addu $t9, $t6, $v0 -/* 0BAA58 800B9E58 A7260002 */ sh $a2, 2($t9) -/* 0BAA5C 800B9E5C 8D640000 */ lw $a0, ($t3) -/* 0BAA60 800B9E60 8CB80000 */ lw $t8, ($a1) -/* 0BAA64 800B9E64 008C082A */ slt $at, $a0, $t4 -/* 0BAA68 800B9E68 24420004 */ addiu $v0, $v0, 4 -/* 0BAA6C 800B9E6C 1020FFF3 */ beqz $at, .L800B9E3C -/* 0BAA70 800B9E70 00781821 */ addu $v1, $v1, $t8 -.L800B9E74: -/* 0BAA74 800B9E74 8CEF0000 */ lw $t7, ($a3) -/* 0BAA78 800B9E78 26520001 */ addiu $s2, $s2, 1 -/* 0BAA7C 800B9E7C 0092082A */ slt $at, $a0, $s2 -/* 0BAA80 800B9E80 1020FFEA */ beqz $at, .L800B9E2C -/* 0BAA84 800B9E84 00CF3021 */ addu $a2, $a2, $t7 -/* 0BAA88 800B9E88 00009025 */ move $s2, $zero -/* 0BAA8C 800B9E8C 00008025 */ move $s0, $zero -.L800B9E90: -/* 0BAA90 800B9E90 3C0E8013 */ lui $t6, %hi(D_8012A078) # $t6, 0x8013 -/* 0BAA94 800B9E94 8DCEA078 */ lw $t6, %lo(D_8012A078)($t6) -/* 0BAA98 800B9E98 3C08800E */ lui $t0, %hi(D_800E3048) # $t0, 0x800e -/* 0BAA9C 800B9E9C 24010002 */ li $at, 2 -/* 0BAAA0 800B9EA0 11C10003 */ beq $t6, $at, .L800B9EB0 -/* 0BAAA4 800B9EA4 25083048 */ addiu $t0, %lo(D_800E3048) # addiu $t0, $t0, 0x3048 -/* 0BAAA8 800B9EA8 10000002 */ b .L800B9EB4 -/* 0BAAAC 800B9EAC 240A0001 */ li $t2, 1 -.L800B9EB0: -/* 0BAAB0 800B9EB0 240A0002 */ li $t2, 2 -.L800B9EB4: -/* 0BAAB4 800B9EB4 249F0001 */ addiu $ra, $a0, 1 -/* 0BAAB8 800B9EB8 1880009F */ blez $a0, .L800BA138 -/* 0BAABC 800B9EBC AFBF0028 */ sw $ra, 0x28($sp) -/* 0BAAC0 800B9EC0 3C06800E */ lui $a2, %hi(D_800E3080) # $a2, 0x800e -/* 0BAAC4 800B9EC4 24C63080 */ addiu $a2, %lo(D_800E3080) # addiu $a2, $a2, 0x3080 -.L800B9EC8: -/* 0BAAC8 800B9EC8 18800094 */ blez $a0, .L800BA11C -/* 0BAACC 800B9ECC 00006025 */ move $t4, $zero -.L800B9ED0: -/* 0BAAD0 800B9ED0 1940008C */ blez $t2, .L800BA104 -/* 0BAAD4 800B9ED4 00003825 */ move $a3, $zero -/* 0BAAD8 800B9ED8 00101900 */ sll $v1, $s0, 4 -/* 0BAADC 800B9EDC 000D2080 */ sll $a0, $t5, 2 -/* 0BAAE0 800B9EE0 001F2880 */ sll $a1, $ra, 2 -.L800B9EE4: -/* 0BAAE4 800B9EE4 8D180000 */ lw $t8, ($t0) -/* 0BAAE8 800B9EE8 8D390000 */ lw $t9, ($t1) -/* 0BAAEC 800B9EEC 03047821 */ addu $t7, $t8, $a0 -/* 0BAAF0 800B9EF0 85EE0000 */ lh $t6, ($t7) -/* 0BAAF4 800B9EF4 0019C080 */ sll $t8, $t9, 2 -/* 0BAAF8 800B9EF8 00D87821 */ addu $t7, $a2, $t8 -/* 0BAAFC 800B9EFC 000710C0 */ sll $v0, $a3, 3 -/* 0BAB00 800B9F00 01E2C821 */ addu $t9, $t7, $v0 -/* 0BAB04 800B9F04 8F380000 */ lw $t8, ($t9) -/* 0BAB08 800B9F08 24E70001 */ addiu $a3, $a3, 1 -/* 0BAB0C 800B9F0C 03037821 */ addu $t7, $t8, $v1 -/* 0BAB10 800B9F10 A5EE0004 */ sh $t6, 4($t7) -/* 0BAB14 800B9F14 8D190000 */ lw $t9, ($t0) -/* 0BAB18 800B9F18 8D2F0000 */ lw $t7, ($t1) -/* 0BAB1C 800B9F1C 0324C021 */ addu $t8, $t9, $a0 -/* 0BAB20 800B9F20 870E0006 */ lh $t6, 6($t8) -/* 0BAB24 800B9F24 000FC880 */ sll $t9, $t7, 2 -/* 0BAB28 800B9F28 00D9C021 */ addu $t8, $a2, $t9 -/* 0BAB2C 800B9F2C 03027821 */ addu $t7, $t8, $v0 -/* 0BAB30 800B9F30 8DF90000 */ lw $t9, ($t7) -/* 0BAB34 800B9F34 00000000 */ nop -/* 0BAB38 800B9F38 0323C021 */ addu $t8, $t9, $v1 -/* 0BAB3C 800B9F3C A70E0006 */ sh $t6, 6($t8) -/* 0BAB40 800B9F40 8D0F0000 */ lw $t7, ($t0) -/* 0BAB44 800B9F44 8D380000 */ lw $t8, ($t1) -/* 0BAB48 800B9F48 01E5C821 */ addu $t9, $t7, $a1 -/* 0BAB4C 800B9F4C 872E0000 */ lh $t6, ($t9) -/* 0BAB50 800B9F50 00187880 */ sll $t7, $t8, 2 -/* 0BAB54 800B9F54 00CFC821 */ addu $t9, $a2, $t7 -/* 0BAB58 800B9F58 0322C021 */ addu $t8, $t9, $v0 -/* 0BAB5C 800B9F5C 8F0F0000 */ lw $t7, ($t8) -/* 0BAB60 800B9F60 00000000 */ nop -/* 0BAB64 800B9F64 01E3C821 */ addu $t9, $t7, $v1 -/* 0BAB68 800B9F68 A72E0008 */ sh $t6, 8($t9) -/* 0BAB6C 800B9F6C 8D180000 */ lw $t8, ($t0) -/* 0BAB70 800B9F70 8D390000 */ lw $t9, ($t1) -/* 0BAB74 800B9F74 03057821 */ addu $t7, $t8, $a1 -/* 0BAB78 800B9F78 85EE0002 */ lh $t6, 2($t7) -/* 0BAB7C 800B9F7C 0019C080 */ sll $t8, $t9, 2 -/* 0BAB80 800B9F80 00D87821 */ addu $t7, $a2, $t8 -/* 0BAB84 800B9F84 01E2C821 */ addu $t9, $t7, $v0 -/* 0BAB88 800B9F88 8F380000 */ lw $t8, ($t9) -/* 0BAB8C 800B9F8C 00000000 */ nop -/* 0BAB90 800B9F90 03037821 */ addu $t7, $t8, $v1 -/* 0BAB94 800B9F94 A5EE000A */ sh $t6, 0xa($t7) -/* 0BAB98 800B9F98 8D190000 */ lw $t9, ($t0) -/* 0BAB9C 800B9F9C 8D2F0000 */ lw $t7, ($t1) -/* 0BABA0 800B9FA0 0324C021 */ addu $t8, $t9, $a0 -/* 0BABA4 800B9FA4 870E0004 */ lh $t6, 4($t8) -/* 0BABA8 800B9FA8 000FC880 */ sll $t9, $t7, 2 -/* 0BABAC 800B9FAC 00D9C021 */ addu $t8, $a2, $t9 -/* 0BABB0 800B9FB0 03027821 */ addu $t7, $t8, $v0 -/* 0BABB4 800B9FB4 8DF90000 */ lw $t9, ($t7) -/* 0BABB8 800B9FB8 00000000 */ nop -/* 0BABBC 800B9FBC 0323C021 */ addu $t8, $t9, $v1 -/* 0BABC0 800B9FC0 A70E000C */ sh $t6, 0xc($t8) -/* 0BABC4 800B9FC4 8D0F0000 */ lw $t7, ($t0) -/* 0BABC8 800B9FC8 8D380000 */ lw $t8, ($t1) -/* 0BABCC 800B9FCC 01E4C821 */ addu $t9, $t7, $a0 -/* 0BABD0 800B9FD0 872E0006 */ lh $t6, 6($t9) -/* 0BABD4 800B9FD4 00187880 */ sll $t7, $t8, 2 -/* 0BABD8 800B9FD8 00CFC821 */ addu $t9, $a2, $t7 -/* 0BABDC 800B9FDC 0322C021 */ addu $t8, $t9, $v0 -/* 0BABE0 800B9FE0 8F0F0000 */ lw $t7, ($t8) -/* 0BABE4 800B9FE4 00000000 */ nop -/* 0BABE8 800B9FE8 01E3C821 */ addu $t9, $t7, $v1 -/* 0BABEC 800B9FEC A72E000E */ sh $t6, 0xe($t9) -/* 0BABF0 800B9FF0 8D180000 */ lw $t8, ($t0) -/* 0BABF4 800B9FF4 8D390000 */ lw $t9, ($t1) -/* 0BABF8 800B9FF8 03047821 */ addu $t7, $t8, $a0 -/* 0BABFC 800B9FFC 85EE0004 */ lh $t6, 4($t7) -/* 0BAC00 800BA000 0019C080 */ sll $t8, $t9, 2 -/* 0BAC04 800BA004 00D87821 */ addu $t7, $a2, $t8 -/* 0BAC08 800BA008 01E2C821 */ addu $t9, $t7, $v0 -/* 0BAC0C 800BA00C 8F380000 */ lw $t8, ($t9) -/* 0BAC10 800BA010 00000000 */ nop -/* 0BAC14 800BA014 03037821 */ addu $t7, $t8, $v1 -/* 0BAC18 800BA018 A5EE0014 */ sh $t6, 0x14($t7) -/* 0BAC1C 800BA01C 8D190000 */ lw $t9, ($t0) -/* 0BAC20 800BA020 8D2F0000 */ lw $t7, ($t1) -/* 0BAC24 800BA024 0324C021 */ addu $t8, $t9, $a0 -/* 0BAC28 800BA028 870E0006 */ lh $t6, 6($t8) -/* 0BAC2C 800BA02C 000FC880 */ sll $t9, $t7, 2 -/* 0BAC30 800BA030 00D9C021 */ addu $t8, $a2, $t9 -/* 0BAC34 800BA034 03027821 */ addu $t7, $t8, $v0 -/* 0BAC38 800BA038 8DF90000 */ lw $t9, ($t7) -/* 0BAC3C 800BA03C 00000000 */ nop -/* 0BAC40 800BA040 0323C021 */ addu $t8, $t9, $v1 -/* 0BAC44 800BA044 A70E0016 */ sh $t6, 0x16($t8) -/* 0BAC48 800BA048 8D0F0000 */ lw $t7, ($t0) -/* 0BAC4C 800BA04C 8D380000 */ lw $t8, ($t1) -/* 0BAC50 800BA050 01E5C821 */ addu $t9, $t7, $a1 -/* 0BAC54 800BA054 872E0000 */ lh $t6, ($t9) -/* 0BAC58 800BA058 00187880 */ sll $t7, $t8, 2 -/* 0BAC5C 800BA05C 00CFC821 */ addu $t9, $a2, $t7 -/* 0BAC60 800BA060 0322C021 */ addu $t8, $t9, $v0 -/* 0BAC64 800BA064 8F0F0000 */ lw $t7, ($t8) -/* 0BAC68 800BA068 00000000 */ nop -/* 0BAC6C 800BA06C 01E3C821 */ addu $t9, $t7, $v1 -/* 0BAC70 800BA070 A72E0018 */ sh $t6, 0x18($t9) -/* 0BAC74 800BA074 8D180000 */ lw $t8, ($t0) -/* 0BAC78 800BA078 8D390000 */ lw $t9, ($t1) -/* 0BAC7C 800BA07C 03057821 */ addu $t7, $t8, $a1 -/* 0BAC80 800BA080 85EE0006 */ lh $t6, 6($t7) -/* 0BAC84 800BA084 0019C080 */ sll $t8, $t9, 2 -/* 0BAC88 800BA088 00D87821 */ addu $t7, $a2, $t8 -/* 0BAC8C 800BA08C 01E2C821 */ addu $t9, $t7, $v0 -/* 0BAC90 800BA090 8F380000 */ lw $t8, ($t9) -/* 0BAC94 800BA094 00000000 */ nop -/* 0BAC98 800BA098 03037821 */ addu $t7, $t8, $v1 -/* 0BAC9C 800BA09C A5EE001A */ sh $t6, 0x1a($t7) -/* 0BACA0 800BA0A0 8D190000 */ lw $t9, ($t0) -/* 0BACA4 800BA0A4 8D2F0000 */ lw $t7, ($t1) -/* 0BACA8 800BA0A8 0325C021 */ addu $t8, $t9, $a1 -/* 0BACAC 800BA0AC 870E0004 */ lh $t6, 4($t8) -/* 0BACB0 800BA0B0 000FC880 */ sll $t9, $t7, 2 -/* 0BACB4 800BA0B4 00D9C021 */ addu $t8, $a2, $t9 -/* 0BACB8 800BA0B8 03027821 */ addu $t7, $t8, $v0 -/* 0BACBC 800BA0BC 8DF90000 */ lw $t9, ($t7) -/* 0BACC0 800BA0C0 00000000 */ nop -/* 0BACC4 800BA0C4 0323C021 */ addu $t8, $t9, $v1 -/* 0BACC8 800BA0C8 A70E001C */ sh $t6, 0x1c($t8) -/* 0BACCC 800BA0CC 8D0F0000 */ lw $t7, ($t0) -/* 0BACD0 800BA0D0 8D380000 */ lw $t8, ($t1) -/* 0BACD4 800BA0D4 01E5C821 */ addu $t9, $t7, $a1 -/* 0BACD8 800BA0D8 872E0006 */ lh $t6, 6($t9) -/* 0BACDC 800BA0DC 00187880 */ sll $t7, $t8, 2 -/* 0BACE0 800BA0E0 00CFC821 */ addu $t9, $a2, $t7 -/* 0BACE4 800BA0E4 0322C021 */ addu $t8, $t9, $v0 -/* 0BACE8 800BA0E8 8F0F0000 */ lw $t7, ($t8) -/* 0BACEC 800BA0EC 00000000 */ nop -/* 0BACF0 800BA0F0 01E3C821 */ addu $t9, $t7, $v1 -/* 0BACF4 800BA0F4 14EAFF7B */ bne $a3, $t2, .L800B9EE4 -/* 0BACF8 800BA0F8 A72E001E */ sh $t6, 0x1e($t9) -/* 0BACFC 800BA0FC 8D640000 */ lw $a0, ($t3) -/* 0BAD00 800BA100 00000000 */ nop -.L800BA104: -/* 0BAD04 800BA104 258C0001 */ addiu $t4, $t4, 1 -/* 0BAD08 800BA108 0184082A */ slt $at, $t4, $a0 -/* 0BAD0C 800BA10C 25AD0001 */ addiu $t5, $t5, 1 -/* 0BAD10 800BA110 27FF0001 */ addiu $ra, $ra, 1 -/* 0BAD14 800BA114 1420FF6E */ bnez $at, .L800B9ED0 -/* 0BAD18 800BA118 26100002 */ addiu $s0, $s0, 2 -.L800BA11C: -/* 0BAD1C 800BA11C 26520001 */ addiu $s2, $s2, 1 -/* 0BAD20 800BA120 0244082A */ slt $at, $s2, $a0 -/* 0BAD24 800BA124 25AD0001 */ addiu $t5, $t5, 1 -/* 0BAD28 800BA128 1420FF67 */ bnez $at, .L800B9EC8 -/* 0BAD2C 800BA12C 27FF0001 */ addiu $ra, $ra, 1 -/* 0BAD30 800BA130 24980001 */ addiu $t8, $a0, 1 -/* 0BAD34 800BA134 AFB80028 */ sw $t8, 0x28($sp) -.L800BA138: -/* 0BAD38 800BA138 8D2E0000 */ lw $t6, ($t1) -/* 0BAD3C 800BA13C 3C18800E */ lui $t8, %hi(D_800E3090) # $t8, 0x800e -/* 0BAD40 800BA140 27183090 */ addiu $t8, %lo(D_800E3090) # addiu $t8, $t8, 0x3090 -/* 0BAD44 800BA144 000EC940 */ sll $t9, $t6, 5 -/* 0BAD48 800BA148 03381021 */ addu $v0, $t9, $t8 -/* 0BAD4C 800BA14C 8FB90028 */ lw $t9, 0x28($sp) -/* 0BAD50 800BA150 8D030000 */ lw $v1, ($t0) -/* 0BAD54 800BA154 03240019 */ multu $t9, $a0 -/* 0BAD58 800BA158 846F0000 */ lh $t7, ($v1) -/* 0BAD5C 800BA15C 00045080 */ sll $t2, $a0, 2 -/* 0BAD60 800BA160 A44F0004 */ sh $t7, 4($v0) -/* 0BAD64 800BA164 846E0002 */ lh $t6, 2($v1) -/* 0BAD68 800BA168 006A3021 */ addu $a2, $v1, $t2 -/* 0BAD6C 800BA16C A44E0006 */ sh $t6, 6($v0) -/* 0BAD70 800BA170 00003812 */ mflo $a3 -/* 0BAD74 800BA174 0007C080 */ sll $t8, $a3, 2 -/* 0BAD78 800BA178 00782821 */ addu $a1, $v1, $t8 -/* 0BAD7C 800BA17C 84AF0000 */ lh $t7, ($a1) -/* 0BAD80 800BA180 00000000 */ nop -/* 0BAD84 800BA184 A44F0008 */ sh $t7, 8($v0) -/* 0BAD88 800BA188 84AE0002 */ lh $t6, 2($a1) -/* 0BAD8C 800BA18C 00000000 */ nop -/* 0BAD90 800BA190 A44E000A */ sh $t6, 0xa($v0) -/* 0BAD94 800BA194 84D90000 */ lh $t9, ($a2) -/* 0BAD98 800BA198 00000000 */ nop -/* 0BAD9C 800BA19C A459000C */ sh $t9, 0xc($v0) -/* 0BADA0 800BA1A0 84D80002 */ lh $t8, 2($a2) -/* 0BADA4 800BA1A4 00000000 */ nop -/* 0BADA8 800BA1A8 A458000E */ sh $t8, 0xe($v0) -/* 0BADAC 800BA1AC 84CF0000 */ lh $t7, ($a2) -/* 0BADB0 800BA1B0 00000000 */ nop -/* 0BADB4 800BA1B4 A44F0014 */ sh $t7, 0x14($v0) -/* 0BADB8 800BA1B8 84CE0002 */ lh $t6, 2($a2) -/* 0BADBC 800BA1BC 00077880 */ sll $t7, $a3, 2 -/* 0BADC0 800BA1C0 A44E0016 */ sh $t6, 0x16($v0) -/* 0BADC4 800BA1C4 84B90000 */ lh $t9, ($a1) -/* 0BADC8 800BA1C8 006F7021 */ addu $t6, $v1, $t7 -/* 0BADCC 800BA1CC A4590018 */ sh $t9, 0x18($v0) -/* 0BADD0 800BA1D0 84B80002 */ lh $t8, 2($a1) -/* 0BADD4 800BA1D4 01CA6021 */ addu $t4, $t6, $t2 -/* 0BADD8 800BA1D8 A458001A */ sh $t8, 0x1a($v0) -/* 0BADDC 800BA1DC 85990000 */ lh $t9, ($t4) -/* 0BADE0 800BA1E0 3C0F800E */ lui $t7, %hi(D_800E3188) # $t7, 0x800e -/* 0BADE4 800BA1E4 A459001C */ sh $t9, 0x1c($v0) -/* 0BADE8 800BA1E8 85980002 */ lh $t8, 2($t4) -/* 0BADEC 800BA1EC 00000000 */ nop -/* 0BADF0 800BA1F0 A458001E */ sh $t8, 0x1e($v0) -/* 0BADF4 800BA1F4 8DEF3188 */ lw $t7, %lo(D_800E3188)($t7) -/* 0BADF8 800BA1F8 00000000 */ nop -/* 0BADFC 800BA1FC 19E00005 */ blez $t7, .L800BA214 -/* 0BAE00 800BA200 00000000 */ nop -/* 0BAE04 800BA204 0C02FFA6 */ jal func_800BFE98 -/* 0BAE08 800BA208 02202025 */ move $a0, $s1 -/* 0BAE0C 800BA20C 3C0B8013 */ lui $t3, %hi(D_80129FC8) # $t3, 0x8013 -/* 0BAE10 800BA210 256B9FC8 */ addiu $t3, %lo(D_80129FC8) # addiu $t3, $t3, -0x6038 -.L800BA214: -/* 0BAE14 800BA214 3C038013 */ lui $v1, %hi(gWavePowerDivisor) # $v1, 0x8013 -/* 0BAE18 800BA218 2463A728 */ addiu $v1, %lo(gWavePowerDivisor) # addiu $v1, $v1, -0x58d8 -/* 0BAE1C 800BA21C 8C620000 */ lw $v0, ($v1) -/* 0BAE20 800BA220 00000000 */ nop -/* 0BAE24 800BA224 18400012 */ blez $v0, .L800BA270 -/* 0BAE28 800BA228 0222082A */ slt $at, $s1, $v0 -/* 0BAE2C 800BA22C 1020000C */ beqz $at, .L800BA260 -/* 0BAE30 800BA230 00000000 */ nop -/* 0BAE34 800BA234 44912000 */ mtc1 $s1, $f4 -/* 0BAE38 800BA238 3C018013 */ lui $at, %hi(gWaveMagnitude) # $at, 0x8013 -/* 0BAE3C 800BA23C 468021A0 */ cvt.s.w $f6, $f4 -/* 0BAE40 800BA240 C428A724 */ lwc1 $f8, %lo(gWaveMagnitude)($at) -/* 0BAE44 800BA244 C5700040 */ lwc1 $f16, 0x40($t3) -/* 0BAE48 800BA248 46083282 */ mul.s $f10, $f6, $f8 -/* 0BAE4C 800BA24C 00517023 */ subu $t6, $v0, $s1 -/* 0BAE50 800BA250 AC6E0000 */ sw $t6, ($v1) -/* 0BAE54 800BA254 460A8480 */ add.s $f18, $f16, $f10 -/* 0BAE58 800BA258 10000005 */ b .L800BA270 -/* 0BAE5C 800BA25C E5720040 */ swc1 $f18, 0x40($t3) -.L800BA260: -/* 0BAE60 800BA260 3C018013 */ lui $at, %hi(gWavePowerBase) # $at, 0x8013 -/* 0BAE64 800BA264 C424A720 */ lwc1 $f4, %lo(gWavePowerBase)($at) -/* 0BAE68 800BA268 AC600000 */ sw $zero, ($v1) -/* 0BAE6C 800BA26C E5640040 */ swc1 $f4, 0x40($t3) -.L800BA270: -/* 0BAE70 800BA270 8FBF0024 */ lw $ra, 0x24($sp) -/* 0BAE74 800BA274 8FB00018 */ lw $s0, 0x18($sp) -/* 0BAE78 800BA278 8FB1001C */ lw $s1, 0x1c($sp) -/* 0BAE7C 800BA27C 8FB20020 */ lw $s2, 0x20($sp) -/* 0BAE80 800BA280 03E00008 */ jr $ra -/* 0BAE84 800BA284 27BD0060 */ addiu $sp, $sp, 0x60 - diff --git a/asm/non_matchings/waves/func_800BA4B8.s b/asm/non_matchings/waves/func_800BA4B8.s deleted file mode 100644 index 27883dd9..00000000 --- a/asm/non_matchings/waves/func_800BA4B8.s +++ /dev/null @@ -1,290 +0,0 @@ -glabel func_800BA4B8 -/* 0BB0B8 800BA4B8 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0BB0BC 800BA4BC AFA50064 */ sw $a1, 0x64($sp) -/* 0BB0C0 800BA4C0 90880000 */ lbu $t0, ($a0) -/* 0BB0C4 800BA4C4 24010010 */ li $at, 16 -/* 0BB0C8 800BA4C8 00803825 */ move $a3, $a0 -/* 0BB0CC 800BA4CC 15010006 */ bne $t0, $at, .L800BA4E8 -/* 0BB0D0 800BA4D0 00003025 */ move $a2, $zero -/* 0BB0D4 800BA4D4 10A00002 */ beqz $a1, .L800BA4E0 -/* 0BB0D8 800BA4D8 240C0004 */ li $t4, 4 -/* 0BB0DC 800BA4DC 24060180 */ li $a2, 384 -.L800BA4E0: -/* 0BB0E0 800BA4E0 10000010 */ b .L800BA524 -/* 0BB0E4 800BA4E4 AFAC005C */ sw $t4, 0x5c($sp) -.L800BA4E8: -/* 0BB0E8 800BA4E8 24010020 */ li $at, 32 -/* 0BB0EC 800BA4EC 15010009 */ bne $t0, $at, .L800BA514 -/* 0BB0F0 800BA4F0 8FB80064 */ lw $t8, 0x64($sp) -/* 0BB0F4 800BA4F4 8FAF0064 */ lw $t7, 0x64($sp) -/* 0BB0F8 800BA4F8 240C0005 */ li $t4, 5 -/* 0BB0FC 800BA4FC 11E00002 */ beqz $t7, .L800BA508 -/* 0BB100 800BA500 00000000 */ nop -/* 0BB104 800BA504 24060100 */ li $a2, 256 -.L800BA508: -/* 0BB108 800BA508 10000006 */ b .L800BA524 -/* 0BB10C 800BA50C AFAC005C */ sw $t4, 0x5c($sp) -/* 0BB110 800BA510 8FB80064 */ lw $t8, 0x64($sp) -.L800BA514: -/* 0BB114 800BA514 24080003 */ li $t0, 3 -/* 0BB118 800BA518 13000002 */ beqz $t8, .L800BA524 -/* 0BB11C 800BA51C 00000000 */ nop -/* 0BB120 800BA520 24060180 */ li $a2, 384 -.L800BA524: -/* 0BB124 800BA524 90F90002 */ lbu $t9, 2($a3) -/* 0BB128 800BA528 8FAC005C */ lw $t4, 0x5c($sp) -/* 0BB12C 800BA52C 332E000F */ andi $t6, $t9, 0xf -/* 0BB130 800BA530 15C00073 */ bnez $t6, .L800BA700 -/* 0BB134 800BA534 3C038013 */ lui $v1, %hi(D_80129FC0) # $v1, 0x8013 -/* 0BB138 800BA538 3C038013 */ lui $v1, %hi(D_80129FC0) # $v1, 0x8013 -/* 0BB13C 800BA53C 24639FC0 */ addiu $v1, %lo(D_80129FC0) # addiu $v1, $v1, -0x6040 -/* 0BB140 800BA540 8C620000 */ lw $v0, ($v1) -/* 0BB144 800BA544 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 0BB148 800BA548 244F0008 */ addiu $t7, $v0, 8 -/* 0BB14C 800BA54C AC6F0000 */ sw $t7, ($v1) -/* 0BB150 800BA550 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 0BB154 800BA554 AFA20050 */ sw $v0, 0x50($sp) -/* 0BB158 800BA558 00E17021 */ addu $t6, $a3, $at -/* 0BB15C 800BA55C 3C18FD18 */ lui $t8, 0xfd18 -/* 0BB160 800BA560 AC580000 */ sw $t8, ($v0) -/* 0BB164 800BA564 AC4E0004 */ sw $t6, 4($v0) -/* 0BB168 800BA568 8C620000 */ lw $v0, ($v1) -/* 0BB16C 800BA56C 3C01F518 */ lui $at, 0xf518 -/* 0BB170 800BA570 30C901FF */ andi $t1, $a2, 0x1ff -/* 0BB174 800BA574 0121C025 */ or $t8, $t1, $at -/* 0BB178 800BA578 3184000F */ andi $a0, $t4, 0xf -/* 0BB17C 800BA57C 244F0008 */ addiu $t7, $v0, 8 -/* 0BB180 800BA580 01080019 */ multu $t0, $t0 -/* 0BB184 800BA584 AC6F0000 */ sw $t7, ($v1) -/* 0BB188 800BA588 00045380 */ sll $t2, $a0, 0xe -/* 0BB18C 800BA58C 3C010700 */ lui $at, 0x700 -/* 0BB190 800BA590 0141C825 */ or $t9, $t2, $at -/* 0BB194 800BA594 00045900 */ sll $t3, $a0, 4 -/* 0BB198 800BA598 AFA2004C */ sw $v0, 0x4c($sp) -/* 0BB19C 800BA59C 032B7825 */ or $t7, $t9, $t3 -/* 0BB1A0 800BA5A0 AC4F0004 */ sw $t7, 4($v0) -/* 0BB1A4 800BA5A4 AC580000 */ sw $t8, ($v0) -/* 0BB1A8 800BA5A8 8C620000 */ lw $v0, ($v1) -/* 0BB1AC 800BA5AC 3C19E600 */ lui $t9, 0xe600 -/* 0BB1B0 800BA5B0 24580008 */ addiu $t8, $v0, 8 -/* 0BB1B4 800BA5B4 AC780000 */ sw $t8, ($v1) -/* 0BB1B8 800BA5B8 AFA20048 */ sw $v0, 0x48($sp) -/* 0BB1BC 800BA5BC AC400004 */ sw $zero, 4($v0) -/* 0BB1C0 800BA5C0 AC590000 */ sw $t9, ($v0) -/* 0BB1C4 800BA5C4 8C6D0000 */ lw $t5, ($v1) -/* 0BB1C8 800BA5C8 00002812 */ mflo $a1 -/* 0BB1CC 800BA5CC 24A5FFFF */ addiu $a1, $a1, -1 -/* 0BB1D0 800BA5D0 25AE0008 */ addiu $t6, $t5, 8 -/* 0BB1D4 800BA5D4 AC6E0000 */ sw $t6, ($v1) -/* 0BB1D8 800BA5D8 2CA107FF */ sltiu $at, $a1, 0x7ff -/* 0BB1DC 800BA5DC 3C18F300 */ lui $t8, 0xf300 -/* 0BB1E0 800BA5E0 10200003 */ beqz $at, .L800BA5F0 -/* 0BB1E4 800BA5E4 ADB80000 */ sw $t8, ($t5) -/* 0BB1E8 800BA5E8 10000002 */ b .L800BA5F4 -/* 0BB1EC 800BA5EC 00A06025 */ move $t4, $a1 -.L800BA5F0: -/* 0BB1F0 800BA5F0 240C07FF */ li $t4, 2047 -.L800BA5F4: -/* 0BB1F4 800BA5F4 00081080 */ sll $v0, $t0, 2 -/* 0BB1F8 800BA5F8 0002C8C2 */ srl $t9, $v0, 3 -/* 0BB1FC 800BA5FC 17200003 */ bnez $t9, .L800BA60C -/* 0BB200 800BA600 03201025 */ move $v0, $t9 -/* 0BB204 800BA604 10000002 */ b .L800BA610 -/* 0BB208 800BA608 24070001 */ li $a3, 1 -.L800BA60C: -/* 0BB20C 800BA60C 00403825 */ move $a3, $v0 -.L800BA610: -/* 0BB210 800BA610 14400003 */ bnez $v0, .L800BA620 -/* 0BB214 800BA614 24EF07FF */ addiu $t7, $a3, 0x7ff -/* 0BB218 800BA618 10000002 */ b .L800BA624 -/* 0BB21C 800BA61C 24060001 */ li $a2, 1 -.L800BA620: -/* 0BB220 800BA620 00403025 */ move $a2, $v0 -.L800BA624: -/* 0BB224 800BA624 01E6001B */ divu $zero, $t7, $a2 -/* 0BB228 800BA628 318F0FFF */ andi $t7, $t4, 0xfff -/* 0BB22C 800BA62C 3C010700 */ lui $at, 0x700 -/* 0BB230 800BA630 2505FFFF */ addiu $a1, $t0, -1 -/* 0BB234 800BA634 14C00002 */ bnez $a2, .L800BA640 -/* 0BB238 800BA638 00000000 */ nop -/* 0BB23C 800BA63C 0007000D */ break 7 -.L800BA640: -/* 0BB240 800BA640 00007012 */ mflo $t6 -/* 0BB244 800BA644 31D80FFF */ andi $t8, $t6, 0xfff -/* 0BB248 800BA648 0301C825 */ or $t9, $t8, $at -/* 0BB24C 800BA64C 000F7300 */ sll $t6, $t7, 0xc -/* 0BB250 800BA650 032EC025 */ or $t8, $t9, $t6 -/* 0BB254 800BA654 ADB80004 */ sw $t8, 4($t5) -/* 0BB258 800BA658 8C620000 */ lw $v0, ($v1) -/* 0BB25C 800BA65C 3C19E700 */ lui $t9, 0xe700 -/* 0BB260 800BA660 244F0008 */ addiu $t7, $v0, 8 -/* 0BB264 800BA664 AC6F0000 */ sw $t7, ($v1) -/* 0BB268 800BA668 AFA20040 */ sw $v0, 0x40($sp) -/* 0BB26C 800BA66C AC400004 */ sw $zero, 4($v0) -/* 0BB270 800BA670 AC590000 */ sw $t9, ($v0) -/* 0BB274 800BA674 8C620000 */ lw $v0, ($v1) -/* 0BB278 800BA678 00087840 */ sll $t7, $t0, 1 -/* 0BB27C 800BA67C 25F90007 */ addiu $t9, $t7, 7 -/* 0BB280 800BA680 24580008 */ addiu $t8, $v0, 8 -/* 0BB284 800BA684 AC780000 */ sw $t8, ($v1) -/* 0BB288 800BA688 001970C2 */ srl $t6, $t9, 3 -/* 0BB28C 800BA68C 31D801FF */ andi $t8, $t6, 0x1ff -/* 0BB290 800BA690 00187A40 */ sll $t7, $t8, 9 -/* 0BB294 800BA694 3C01F518 */ lui $at, 0xf518 -/* 0BB298 800BA698 01E1C825 */ or $t9, $t7, $at -/* 0BB29C 800BA69C 03297025 */ or $t6, $t9, $t1 -/* 0BB2A0 800BA6A0 AFA2003C */ sw $v0, 0x3c($sp) -/* 0BB2A4 800BA6A4 AC4E0000 */ sw $t6, ($v0) -/* 0BB2A8 800BA6A8 8FA40064 */ lw $a0, 0x64($sp) -/* 0BB2AC 800BA6AC 0005C080 */ sll $t8, $a1, 2 -/* 0BB2B0 800BA6B0 308F0007 */ andi $t7, $a0, 7 -/* 0BB2B4 800BA6B4 000FCE00 */ sll $t9, $t7, 0x18 -/* 0BB2B8 800BA6B8 032A7025 */ or $t6, $t9, $t2 -/* 0BB2BC 800BA6BC 01CB7825 */ or $t7, $t6, $t3 -/* 0BB2C0 800BA6C0 AC4F0004 */ sw $t7, 4($v0) -/* 0BB2C4 800BA6C4 8C620000 */ lw $v0, ($v1) -/* 0BB2C8 800BA6C8 03202025 */ move $a0, $t9 -/* 0BB2CC 800BA6CC 24590008 */ addiu $t9, $v0, 8 -/* 0BB2D0 800BA6D0 AC790000 */ sw $t9, ($v1) -/* 0BB2D4 800BA6D4 33190FFF */ andi $t9, $t8, 0xfff -/* 0BB2D8 800BA6D8 3C0EF200 */ lui $t6, 0xf200 -/* 0BB2DC 800BA6DC AFA20038 */ sw $v0, 0x38($sp) -/* 0BB2E0 800BA6E0 AC4E0000 */ sw $t6, ($v0) -/* 0BB2E4 800BA6E4 00197300 */ sll $t6, $t9, 0xc -/* 0BB2E8 800BA6E8 008EC025 */ or $t8, $a0, $t6 -/* 0BB2EC 800BA6EC 03202825 */ move $a1, $t9 -/* 0BB2F0 800BA6F0 0319C825 */ or $t9, $t8, $t9 -/* 0BB2F4 800BA6F4 AC590004 */ sw $t9, 4($v0) -/* 0BB2F8 800BA6F8 10000078 */ b .L800BA8DC -/* 0BB2FC 800BA6FC 00407825 */ move $t7, $v0 -.L800BA700: -/* 0BB300 800BA700 24639FC0 */ addiu $v1, %lo(D_80129FC0) # addiu $v1, $v1, -0x6040 -/* 0BB304 800BA704 8C620000 */ lw $v0, ($v1) -/* 0BB308 800BA708 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 0BB30C 800BA70C 244E0008 */ addiu $t6, $v0, 8 -/* 0BB310 800BA710 AC6E0000 */ sw $t6, ($v1) -/* 0BB314 800BA714 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 0BB318 800BA718 AFA20034 */ sw $v0, 0x34($sp) -/* 0BB31C 800BA71C 00E17821 */ addu $t7, $a3, $at -/* 0BB320 800BA720 3C18FD10 */ lui $t8, 0xfd10 -/* 0BB324 800BA724 AC580000 */ sw $t8, ($v0) -/* 0BB328 800BA728 AC4F0004 */ sw $t7, 4($v0) -/* 0BB32C 800BA72C 8C620000 */ lw $v0, ($v1) -/* 0BB330 800BA730 3C01F510 */ lui $at, 0xf510 -/* 0BB334 800BA734 30C901FF */ andi $t1, $a2, 0x1ff -/* 0BB338 800BA738 0121C025 */ or $t8, $t1, $at -/* 0BB33C 800BA73C 244E0008 */ addiu $t6, $v0, 8 -/* 0BB340 800BA740 AC6E0000 */ sw $t6, ($v1) -/* 0BB344 800BA744 3184000F */ andi $a0, $t4, 0xf -/* 0BB348 800BA748 AFA20030 */ sw $v0, 0x30($sp) -/* 0BB34C 800BA74C 00045380 */ sll $t2, $a0, 0xe -/* 0BB350 800BA750 3C010700 */ lui $at, 0x700 -/* 0BB354 800BA754 AC580000 */ sw $t8, ($v0) -/* 0BB358 800BA758 8FB80030 */ lw $t8, 0x30($sp) -/* 0BB35C 800BA75C 0141C825 */ or $t9, $t2, $at -/* 0BB360 800BA760 00045900 */ sll $t3, $a0, 4 -/* 0BB364 800BA764 01080019 */ multu $t0, $t0 -/* 0BB368 800BA768 032B7025 */ or $t6, $t9, $t3 -/* 0BB36C 800BA76C AF0E0004 */ sw $t6, 4($t8) -/* 0BB370 800BA770 8C620000 */ lw $v0, ($v1) -/* 0BB374 800BA774 3C19E600 */ lui $t9, 0xe600 -/* 0BB378 800BA778 244F0008 */ addiu $t7, $v0, 8 -/* 0BB37C 800BA77C AC6F0000 */ sw $t7, ($v1) -/* 0BB380 800BA780 AFA2002C */ sw $v0, 0x2c($sp) -/* 0BB384 800BA784 AC590000 */ sw $t9, ($v0) -/* 0BB388 800BA788 8FB8002C */ lw $t8, 0x2c($sp) -/* 0BB38C 800BA78C 3C19F300 */ lui $t9, 0xf300 -/* 0BB390 800BA790 AF000004 */ sw $zero, 4($t8) -/* 0BB394 800BA794 8C6D0000 */ lw $t5, ($v1) -/* 0BB398 800BA798 00002812 */ mflo $a1 -/* 0BB39C 800BA79C 24A5FFFF */ addiu $a1, $a1, -1 -/* 0BB3A0 800BA7A0 25AF0008 */ addiu $t7, $t5, 8 -/* 0BB3A4 800BA7A4 AC6F0000 */ sw $t7, ($v1) -/* 0BB3A8 800BA7A8 2CA107FF */ sltiu $at, $a1, 0x7ff -/* 0BB3AC 800BA7AC 10200003 */ beqz $at, .L800BA7BC -/* 0BB3B0 800BA7B0 ADB90000 */ sw $t9, ($t5) -/* 0BB3B4 800BA7B4 10000002 */ b .L800BA7C0 -/* 0BB3B8 800BA7B8 00A06025 */ move $t4, $a1 -.L800BA7BC: -/* 0BB3BC 800BA7BC 240C07FF */ li $t4, 2047 -.L800BA7C0: -/* 0BB3C0 800BA7C0 00087040 */ sll $t6, $t0, 1 -/* 0BB3C4 800BA7C4 000EC0C2 */ srl $t8, $t6, 3 -/* 0BB3C8 800BA7C8 03001025 */ move $v0, $t8 -/* 0BB3CC 800BA7CC 17000003 */ bnez $t8, .L800BA7DC -/* 0BB3D0 800BA7D0 AFAE0000 */ sw $t6, ($sp) -/* 0BB3D4 800BA7D4 10000002 */ b .L800BA7E0 -/* 0BB3D8 800BA7D8 24070001 */ li $a3, 1 -.L800BA7DC: -/* 0BB3DC 800BA7DC 00403825 */ move $a3, $v0 -.L800BA7E0: -/* 0BB3E0 800BA7E0 14400003 */ bnez $v0, .L800BA7F0 -/* 0BB3E4 800BA7E4 24EF07FF */ addiu $t7, $a3, 0x7ff -/* 0BB3E8 800BA7E8 10000002 */ b .L800BA7F4 -/* 0BB3EC 800BA7EC 24060001 */ li $a2, 1 -.L800BA7F0: -/* 0BB3F0 800BA7F0 00403025 */ move $a2, $v0 -.L800BA7F4: -/* 0BB3F4 800BA7F4 01E6001B */ divu $zero, $t7, $a2 -/* 0BB3F8 800BA7F8 318F0FFF */ andi $t7, $t4, 0xfff -/* 0BB3FC 800BA7FC 3C010700 */ lui $at, 0x700 -/* 0BB400 800BA800 2505FFFF */ addiu $a1, $t0, -1 -/* 0BB404 800BA804 14C00002 */ bnez $a2, .L800BA810 -/* 0BB408 800BA808 00000000 */ nop -/* 0BB40C 800BA80C 0007000D */ break 7 -.L800BA810: -/* 0BB410 800BA810 0000C812 */ mflo $t9 -/* 0BB414 800BA814 332E0FFF */ andi $t6, $t9, 0xfff -/* 0BB418 800BA818 01C1C025 */ or $t8, $t6, $at -/* 0BB41C 800BA81C 000FCB00 */ sll $t9, $t7, 0xc -/* 0BB420 800BA820 03197025 */ or $t6, $t8, $t9 -/* 0BB424 800BA824 ADAE0004 */ sw $t6, 4($t5) -/* 0BB428 800BA828 8C620000 */ lw $v0, ($v1) -/* 0BB42C 800BA82C 3C18E700 */ lui $t8, 0xe700 -/* 0BB430 800BA830 244F0008 */ addiu $t7, $v0, 8 -/* 0BB434 800BA834 AC6F0000 */ sw $t7, ($v1) -/* 0BB438 800BA838 AFA20024 */ sw $v0, 0x24($sp) -/* 0BB43C 800BA83C AC580000 */ sw $t8, ($v0) -/* 0BB440 800BA840 8FAE0024 */ lw $t6, 0x24($sp) -/* 0BB444 800BA844 3C01F510 */ lui $at, 0xf510 -/* 0BB448 800BA848 ADC00004 */ sw $zero, 4($t6) -/* 0BB44C 800BA84C 8C620000 */ lw $v0, ($v1) -/* 0BB450 800BA850 8FB80000 */ lw $t8, ($sp) -/* 0BB454 800BA854 244F0008 */ addiu $t7, $v0, 8 -/* 0BB458 800BA858 27190007 */ addiu $t9, $t8, 7 -/* 0BB45C 800BA85C 001970C2 */ srl $t6, $t9, 3 -/* 0BB460 800BA860 AC6F0000 */ sw $t7, ($v1) -/* 0BB464 800BA864 31CF01FF */ andi $t7, $t6, 0x1ff -/* 0BB468 800BA868 000FC240 */ sll $t8, $t7, 9 -/* 0BB46C 800BA86C 0301C825 */ or $t9, $t8, $at -/* 0BB470 800BA870 03297025 */ or $t6, $t9, $t1 -/* 0BB474 800BA874 AFA20020 */ sw $v0, 0x20($sp) -/* 0BB478 800BA878 AC4E0000 */ sw $t6, ($v0) -/* 0BB47C 800BA87C 8FA40064 */ lw $a0, 0x64($sp) -/* 0BB480 800BA880 00000000 */ nop -/* 0BB484 800BA884 30980007 */ andi $t8, $a0, 7 -/* 0BB488 800BA888 0018CE00 */ sll $t9, $t8, 0x18 -/* 0BB48C 800BA88C 8FB80020 */ lw $t8, 0x20($sp) -/* 0BB490 800BA890 032A7025 */ or $t6, $t9, $t2 -/* 0BB494 800BA894 01CB7825 */ or $t7, $t6, $t3 -/* 0BB498 800BA898 AF0F0004 */ sw $t7, 4($t8) -/* 0BB49C 800BA89C 8C620000 */ lw $v0, ($v1) -/* 0BB4A0 800BA8A0 03202025 */ move $a0, $t9 -/* 0BB4A4 800BA8A4 24590008 */ addiu $t9, $v0, 8 -/* 0BB4A8 800BA8A8 AC790000 */ sw $t9, ($v1) -/* 0BB4AC 800BA8AC 0005C080 */ sll $t8, $a1, 2 -/* 0BB4B0 800BA8B0 3C0EF200 */ lui $t6, 0xf200 -/* 0BB4B4 800BA8B4 AFA2001C */ sw $v0, 0x1c($sp) -/* 0BB4B8 800BA8B8 33190FFF */ andi $t9, $t8, 0xfff -/* 0BB4BC 800BA8BC AC4E0000 */ sw $t6, ($v0) -/* 0BB4C0 800BA8C0 00197300 */ sll $t6, $t9, 0xc -/* 0BB4C4 800BA8C4 008E7825 */ or $t7, $a0, $t6 -/* 0BB4C8 800BA8C8 01F9C025 */ or $t8, $t7, $t9 -/* 0BB4CC 800BA8CC 03202825 */ move $a1, $t9 -/* 0BB4D0 800BA8D0 8FB9001C */ lw $t9, 0x1c($sp) -/* 0BB4D4 800BA8D4 00000000 */ nop -/* 0BB4D8 800BA8D8 AF380004 */ sw $t8, 4($t9) -.L800BA8DC: -/* 0BB4DC 800BA8DC 03E00008 */ jr $ra -/* 0BB4E0 800BA8E0 27BD0060 */ addiu $sp, $sp, 0x60 - diff --git a/asm/non_matchings/waves/func_800BA8E4.s b/asm/non_matchings/waves/func_800BA8E4.s deleted file mode 100644 index e12c468a..00000000 --- a/asm/non_matchings/waves/func_800BA8E4.s +++ /dev/null @@ -1,672 +0,0 @@ -glabel func_800BA8E4 -/* 0BB4E4 800BA8E4 27BDFEE0 */ addiu $sp, $sp, -0x120 -/* 0BB4E8 800BA8E8 24010001 */ li $at, 1 -/* 0BB4EC 800BA8EC AFBF005C */ sw $ra, 0x5c($sp) -/* 0BB4F0 800BA8F0 AFBE0058 */ sw $fp, 0x58($sp) -/* 0BB4F4 800BA8F4 AFB70054 */ sw $s7, 0x54($sp) -/* 0BB4F8 800BA8F8 AFB60050 */ sw $s6, 0x50($sp) -/* 0BB4FC 800BA8FC AFB5004C */ sw $s5, 0x4c($sp) -/* 0BB500 800BA900 AFB40048 */ sw $s4, 0x48($sp) -/* 0BB504 800BA904 AFB30044 */ sw $s3, 0x44($sp) -/* 0BB508 800BA908 AFB20040 */ sw $s2, 0x40($sp) -/* 0BB50C 800BA90C AFB1003C */ sw $s1, 0x3c($sp) -/* 0BB510 800BA910 AFB00038 */ sw $s0, 0x38($sp) -/* 0BB514 800BA914 E7B90030 */ swc1 $f25, 0x30($sp) -/* 0BB518 800BA918 E7B80034 */ swc1 $f24, 0x34($sp) -/* 0BB51C 800BA91C E7B70028 */ swc1 $f23, 0x28($sp) -/* 0BB520 800BA920 E7B6002C */ swc1 $f22, 0x2c($sp) -/* 0BB524 800BA924 E7B50020 */ swc1 $f21, 0x20($sp) -/* 0BB528 800BA928 E7B40024 */ swc1 $f20, 0x24($sp) -/* 0BB52C 800BA92C AFA40120 */ sw $a0, 0x120($sp) -/* 0BB530 800BA930 14C10006 */ bne $a2, $at, .L800BA94C -/* 0BB534 800BA934 AFA50124 */ sw $a1, 0x124($sp) -/* 0BB538 800BA938 3C0E8013 */ lui $t6, %hi(D_8012A078) # $t6, 0x8013 -/* 0BB53C 800BA93C 8DCEA078 */ lw $t6, %lo(D_8012A078)($t6) -/* 0BB540 800BA940 24010002 */ li $at, 2 -/* 0BB544 800BA944 11C10003 */ beq $t6, $at, .L800BA954 -/* 0BB548 800BA948 240F0002 */ li $t7, 2 -.L800BA94C: -/* 0BB54C 800BA94C 10000002 */ b .L800BA958 -/* 0BB550 800BA950 AFA00128 */ sw $zero, 0x128($sp) -.L800BA954: -/* 0BB554 800BA954 AFAF0128 */ sw $t7, 0x128($sp) -.L800BA958: -/* 0BB558 800BA958 3C18800E */ lui $t8, %hi(D_800E30DC) # $t8, 0x800e -/* 0BB55C 800BA95C 8F1830DC */ lw $t8, %lo(D_800E30DC)($t8) -/* 0BB560 800BA960 3C118013 */ lui $s1, %hi(D_80129FC0) # $s1, 0x8013 -/* 0BB564 800BA964 1B00024F */ blez $t8, .L800BB2A4 -/* 0BB568 800BA968 26319FC0 */ addiu $s1, %lo(D_80129FC0) # addiu $s1, $s1, -0x6040 -/* 0BB56C 800BA96C 8FB90120 */ lw $t9, 0x120($sp) -/* 0BB570 800BA970 8FAF0124 */ lw $t7, 0x124($sp) -/* 0BB574 800BA974 8F2E0000 */ lw $t6, ($t9) -/* 0BB578 800BA978 3C018013 */ lui $at, %hi(D_80129FC4) # $at, 0x8013 -/* 0BB57C 800BA97C AE2E0000 */ sw $t6, ($s1) -/* 0BB580 800BA980 8DF80000 */ lw $t8, ($t7) -/* 0BB584 800BA984 AFA000DC */ sw $zero, 0xdc($sp) -/* 0BB588 800BA988 02202025 */ move $a0, $s1 -/* 0BB58C 800BA98C 0C01ECF4 */ jal reset_render_settings -/* 0BB590 800BA990 AC389FC4 */ sw $t8, %lo(D_80129FC4)($at) -/* 0BB594 800BA994 8E270000 */ lw $a3, ($s1) -/* 0BB598 800BA998 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 -/* 0BB59C 800BA99C 24F90008 */ addiu $t9, $a3, 8 -/* 0BB5A0 800BA9A0 AE390000 */ sw $t9, ($s1) -/* 0BB5A4 800BA9A4 3C0EB700 */ lui $t6, 0xb700 -/* 0BB5A8 800BA9A8 240F0001 */ li $t7, 1 -/* 0BB5AC 800BA9AC 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 -/* 0BB5B0 800BA9B0 ACEF0004 */ sw $t7, 4($a3) -/* 0BB5B4 800BA9B4 ACEE0000 */ sw $t6, ($a3) -/* 0BB5B8 800BA9B8 8FF8004C */ lw $t8, 0x4c($ra) -/* 0BB5BC 800BA9BC 3C190001 */ lui $t9, 1 -/* 0BB5C0 800BA9C0 1300006F */ beqz $t8, .L800BAB80 -/* 0BB5C4 800BA9C4 3C0F8013 */ lui $t7, %hi(gWaveBatch) # $t7, 0x8013 -/* 0BB5C8 800BA9C8 8E270000 */ lw $a3, ($s1) -/* 0BB5CC 800BA9CC 3C0EB600 */ lui $t6, 0xb600 -/* 0BB5D0 800BA9D0 24F90008 */ addiu $t9, $a3, 8 -/* 0BB5D4 800BA9D4 AE390000 */ sw $t9, ($s1) -/* 0BB5D8 800BA9D8 3C0F0001 */ lui $t7, 1 -/* 0BB5DC 800BA9DC 3C058013 */ lui $a1, %hi(D_8012A09C) # $a1, 0x8013 -/* 0BB5E0 800BA9E0 ACEF0004 */ sw $t7, 4($a3) -/* 0BB5E4 800BA9E4 ACEE0000 */ sw $t6, ($a3) -/* 0BB5E8 800BA9E8 8CA5A09C */ lw $a1, %lo(D_8012A09C)($a1) -/* 0BB5EC 800BA9EC 3C04800E */ lui $a0, %hi(D_800E30D0) # $a0, 0x800e -/* 0BB5F0 800BA9F0 8C8430D0 */ lw $a0, %lo(D_800E30D0)($a0) -/* 0BB5F4 800BA9F4 0005C200 */ sll $t8, $a1, 8 -/* 0BB5F8 800BA9F8 0C01ED1B */ jal set_animated_texture_header -/* 0BB5FC 800BA9FC 03002825 */ move $a1, $t8 -/* 0BB600 800BAA00 3C198013 */ lui $t9, %hi(gWaveBatch) # $t9, 0x8013 -/* 0BB604 800BAA04 8F39A07C */ lw $t9, %lo(gWaveBatch)($t9) -/* 0BB608 800BAA08 3C048013 */ lui $a0, %hi(gWaveTexture) # $a0, 0x8013 -/* 0BB60C 800BAA0C 93250007 */ lbu $a1, 7($t9) -/* 0BB610 800BAA10 8C84A080 */ lw $a0, %lo(gWaveTexture)($a0) -/* 0BB614 800BAA14 00057380 */ sll $t6, $a1, 0xe -/* 0BB618 800BAA18 00408025 */ move $s0, $v0 -/* 0BB61C 800BAA1C 0C01ED1B */ jal set_animated_texture_header -/* 0BB620 800BAA20 01C02825 */ move $a1, $t6 -/* 0BB624 800BAA24 00409025 */ move $s2, $v0 -/* 0BB628 800BAA28 02002025 */ move $a0, $s0 -/* 0BB62C 800BAA2C 0C02E92E */ jal func_800BA4B8 -/* 0BB630 800BAA30 24050001 */ li $a1, 1 -/* 0BB634 800BAA34 02402025 */ move $a0, $s2 -/* 0BB638 800BAA38 0C02E92E */ jal func_800BA4B8 -/* 0BB63C 800BAA3C 00002825 */ move $a1, $zero -/* 0BB640 800BAA40 8E270000 */ lw $a3, ($s1) -/* 0BB644 800BAA44 3C18FC22 */ lui $t8, (0xFC2266AC >> 16) # lui $t8, 0xfc22 -/* 0BB648 800BAA48 24EF0008 */ addiu $t7, $a3, 8 -/* 0BB64C 800BAA4C AE2F0000 */ sw $t7, ($s1) -/* 0BB650 800BAA50 3C191010 */ lui $t9, (0x1010923F >> 16) # lui $t9, 0x1010 -/* 0BB654 800BAA54 3739923F */ ori $t9, (0x1010923F & 0xFFFF) # ori $t9, $t9, 0x923f -/* 0BB658 800BAA58 371866AC */ ori $t8, (0xFC2266AC & 0xFFFF) # ori $t8, $t8, 0x66ac -/* 0BB65C 800BAA5C ACF80000 */ sw $t8, ($a3) -/* 0BB660 800BAA60 ACF90004 */ sw $t9, 4($a3) -/* 0BB664 800BAA64 920E0002 */ lbu $t6, 2($s0) -/* 0BB668 800BAA68 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 -/* 0BB66C 800BAA6C 31CF000F */ andi $t7, $t6, 0xf -/* 0BB670 800BAA70 15E00010 */ bnez $t7, .L800BAAB4 -/* 0BB674 800BAA74 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 -/* 0BB678 800BAA78 0C019884 */ jal get_viewport_count -/* 0BB67C 800BAA7C 00000000 */ nop -/* 0BB680 800BAA80 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 -/* 0BB684 800BAA84 1C40000B */ bgtz $v0, .L800BAAB4 -/* 0BB688 800BAA88 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 -/* 0BB68C 800BAA8C 8E270000 */ lw $a3, ($s1) -/* 0BB690 800BAA90 3C19EF18 */ lui $t9, (0xEF182C0F >> 16) # lui $t9, 0xef18 -/* 0BB694 800BAA94 3C0E0010 */ lui $t6, (0x001045D8 >> 16) # lui $t6, 0x10 -/* 0BB698 800BAA98 24F80008 */ addiu $t8, $a3, 8 -/* 0BB69C 800BAA9C AE380000 */ sw $t8, ($s1) -/* 0BB6A0 800BAAA0 35CE45D8 */ ori $t6, (0x001045D8 & 0xFFFF) # ori $t6, $t6, 0x45d8 -/* 0BB6A4 800BAAA4 37392C0F */ ori $t9, (0xEF182C0F & 0xFFFF) # ori $t9, $t9, 0x2c0f -/* 0BB6A8 800BAAA8 ACF90000 */ sw $t9, ($a3) -/* 0BB6AC 800BAAAC 1000000A */ b .L800BAAD8 -/* 0BB6B0 800BAAB0 ACEE0004 */ sw $t6, 4($a3) -.L800BAAB4: -/* 0BB6B4 800BAAB4 8E270000 */ lw $a3, ($s1) -/* 0BB6B8 800BAAB8 3C18EF18 */ lui $t8, (0xEF182C0F >> 16) # lui $t8, 0xef18 -/* 0BB6BC 800BAABC 24EF0008 */ addiu $t7, $a3, 8 -/* 0BB6C0 800BAAC0 AE2F0000 */ sw $t7, ($s1) -/* 0BB6C4 800BAAC4 3C190011 */ lui $t9, (0x00112078 >> 16) # lui $t9, 0x11 -/* 0BB6C8 800BAAC8 37392078 */ ori $t9, (0x00112078 & 0xFFFF) # ori $t9, $t9, 0x2078 -/* 0BB6CC 800BAACC 37182C0F */ ori $t8, (0xEF182C0F & 0xFFFF) # ori $t8, $t8, 0x2c0f -/* 0BB6D0 800BAAD0 ACF80000 */ sw $t8, ($a3) -/* 0BB6D4 800BAAD4 ACF90004 */ sw $t9, 4($a3) -.L800BAAD8: -/* 0BB6D8 800BAAD8 8E270000 */ lw $a3, ($s1) -/* 0BB6DC 800BAADC 2403FF00 */ li $v1, -256 -/* 0BB6E0 800BAAE0 24EE0008 */ addiu $t6, $a3, 8 -/* 0BB6E4 800BAAE4 AE2E0000 */ sw $t6, ($s1) -/* 0BB6E8 800BAAE8 3C09800E */ lui $t1, %hi(D_800E3180) # $t1, 0x800e -/* 0BB6EC 800BAAEC 3C0FFA00 */ lui $t7, 0xfa00 -/* 0BB6F0 800BAAF0 25293180 */ addiu $t1, %lo(D_800E3180) # addiu $t1, $t1, 0x3180 -/* 0BB6F4 800BAAF4 ACEF0000 */ sw $t7, ($a3) -/* 0BB6F8 800BAAF8 ACE30004 */ sw $v1, 4($a3) -/* 0BB6FC 800BAAFC 8D380000 */ lw $t8, ($t1) -/* 0BB700 800BAB00 00000000 */ nop -/* 0BB704 800BAB04 13000016 */ beqz $t8, .L800BAB60 -/* 0BB708 800BAB08 00000000 */ nop -/* 0BB70C 800BAB0C 8E270000 */ lw $a3, ($s1) -/* 0BB710 800BAB10 3C0EFB00 */ lui $t6, 0xfb00 -/* 0BB714 800BAB14 24F90008 */ addiu $t9, $a3, 8 -/* 0BB718 800BAB18 AE390000 */ sw $t9, ($s1) -/* 0BB71C 800BAB1C ACEE0000 */ sw $t6, ($a3) -/* 0BB720 800BAB20 8D220000 */ lw $v0, ($t1) -/* 0BB724 800BAB24 3C128000 */ lui $s2, 0x8000 -/* 0BB728 800BAB28 90580010 */ lbu $t8, 0x10($v0) -/* 0BB72C 800BAB2C 904F0011 */ lbu $t7, 0x11($v0) -/* 0BB730 800BAB30 0018CE00 */ sll $t9, $t8, 0x18 -/* 0BB734 800BAB34 000FC400 */ sll $t8, $t7, 0x10 -/* 0BB738 800BAB38 03387025 */ or $t6, $t9, $t8 -/* 0BB73C 800BAB3C 90590012 */ lbu $t9, 0x12($v0) -/* 0BB740 800BAB40 00000000 */ nop -/* 0BB744 800BAB44 0019C200 */ sll $t8, $t9, 8 -/* 0BB748 800BAB48 01D87825 */ or $t7, $t6, $t8 -/* 0BB74C 800BAB4C 904E0013 */ lbu $t6, 0x13($v0) -/* 0BB750 800BAB50 00000000 */ nop -/* 0BB754 800BAB54 01EEC025 */ or $t8, $t7, $t6 -/* 0BB758 800BAB58 10000061 */ b .L800BACE0 -/* 0BB75C 800BAB5C ACF80004 */ sw $t8, 4($a3) -.L800BAB60: -/* 0BB760 800BAB60 8E270000 */ lw $a3, ($s1) -/* 0BB764 800BAB64 3C0FFB00 */ lui $t7, 0xfb00 -/* 0BB768 800BAB68 24F90008 */ addiu $t9, $a3, 8 -/* 0BB76C 800BAB6C AE390000 */ sw $t9, ($s1) -/* 0BB770 800BAB70 ACE30004 */ sw $v1, 4($a3) -/* 0BB774 800BAB74 ACEF0000 */ sw $t7, ($a3) -/* 0BB778 800BAB78 10000059 */ b .L800BACE0 -/* 0BB77C 800BAB7C 3C128000 */ lui $s2, 0x8000 -.L800BAB80: -/* 0BB780 800BAB80 8E270000 */ lw $a3, ($s1) -/* 0BB784 800BAB84 3C18B700 */ lui $t8, 0xb700 -/* 0BB788 800BAB88 24EE0008 */ addiu $t6, $a3, 8 -/* 0BB78C 800BAB8C AE2E0000 */ sw $t6, ($s1) -/* 0BB790 800BAB90 ACF90004 */ sw $t9, 4($a3) -/* 0BB794 800BAB94 ACF80000 */ sw $t8, ($a3) -/* 0BB798 800BAB98 8DEFA07C */ lw $t7, %lo(gWaveBatch)($t7) -/* 0BB79C 800BAB9C 3C048013 */ lui $a0, %hi(gWaveTexture) # $a0, 0x8013 -/* 0BB7A0 800BABA0 91E50007 */ lbu $a1, 7($t7) -/* 0BB7A4 800BABA4 8C84A080 */ lw $a0, %lo(gWaveTexture)($a0) -/* 0BB7A8 800BABA8 00057380 */ sll $t6, $a1, 0xe -/* 0BB7AC 800BABAC 0C01ED1B */ jal set_animated_texture_header -/* 0BB7B0 800BABB0 01C02825 */ move $a1, $t6 -/* 0BB7B4 800BABB4 8E270000 */ lw $a3, ($s1) -/* 0BB7B8 800BABB8 3C010700 */ lui $at, 0x700 -/* 0BB7BC 800BABBC 24F80008 */ addiu $t8, $a3, 8 -/* 0BB7C0 800BABC0 AE380000 */ sw $t8, ($s1) -/* 0BB7C4 800BABC4 8444000A */ lh $a0, 0xa($v0) -/* 0BB7C8 800BABC8 3C128000 */ lui $s2, 0x8000 -/* 0BB7CC 800BABCC 309900FF */ andi $t9, $a0, 0xff -/* 0BB7D0 800BABD0 00197C00 */ sll $t7, $t9, 0x10 -/* 0BB7D4 800BABD4 0004C0C0 */ sll $t8, $a0, 3 -/* 0BB7D8 800BABD8 3319FFFF */ andi $t9, $t8, 0xffff -/* 0BB7DC 800BABDC 01E17025 */ or $t6, $t7, $at -/* 0BB7E0 800BABE0 01D97825 */ or $t7, $t6, $t9 -/* 0BB7E4 800BABE4 ACEF0000 */ sw $t7, ($a3) -/* 0BB7E8 800BABE8 8C58000C */ lw $t8, 0xc($v0) -/* 0BB7EC 800BABEC 3C0FFC56 */ lui $t7, (0xFC567E04 >> 16) # lui $t7, 0xfc56 -/* 0BB7F0 800BABF0 03127021 */ addu $t6, $t8, $s2 -/* 0BB7F4 800BABF4 ACEE0004 */ sw $t6, 4($a3) -/* 0BB7F8 800BABF8 8E270000 */ lw $a3, ($s1) -/* 0BB7FC 800BABFC 3C181FFC */ lui $t8, (0x1FFCF7F8 >> 16) # lui $t8, 0x1ffc -/* 0BB800 800BAC00 24F90008 */ addiu $t9, $a3, 8 -/* 0BB804 800BAC04 AE390000 */ sw $t9, ($s1) -/* 0BB808 800BAC08 3718F7F8 */ ori $t8, (0x1FFCF7F8 & 0xFFFF) # ori $t8, $t8, 0xf7f8 -/* 0BB80C 800BAC0C 35EF7E04 */ ori $t7, (0xFC567E04 & 0xFFFF) # ori $t7, $t7, 0x7e04 -/* 0BB810 800BAC10 ACEF0000 */ sw $t7, ($a3) -/* 0BB814 800BAC14 ACF80004 */ sw $t8, 4($a3) -/* 0BB818 800BAC18 8E270000 */ lw $a3, ($s1) -/* 0BB81C 800BAC1C 3C0FC811 */ lui $t7, (0xC8112078 >> 16) # lui $t7, 0xc811 -/* 0BB820 800BAC20 24EE0008 */ addiu $t6, $a3, 8 -/* 0BB824 800BAC24 AE2E0000 */ sw $t6, ($s1) -/* 0BB828 800BAC28 3C19EF18 */ lui $t9, (0xEF182C0F >> 16) # lui $t9, 0xef18 -/* 0BB82C 800BAC2C 37392C0F */ ori $t9, (0xEF182C0F & 0xFFFF) # ori $t9, $t9, 0x2c0f -/* 0BB830 800BAC30 35EF2078 */ ori $t7, (0xC8112078 & 0xFFFF) # ori $t7, $t7, 0x2078 -/* 0BB834 800BAC34 ACEF0004 */ sw $t7, 4($a3) -/* 0BB838 800BAC38 ACF90000 */ sw $t9, ($a3) -/* 0BB83C 800BAC3C 8E270000 */ lw $a3, ($s1) -/* 0BB840 800BAC40 3C09800E */ lui $t1, %hi(D_800E3180) # $t1, 0x800e -/* 0BB844 800BAC44 24F80008 */ addiu $t8, $a3, 8 -/* 0BB848 800BAC48 AE380000 */ sw $t8, ($s1) -/* 0BB84C 800BAC4C 2419FFFF */ li $t9, -1 -/* 0BB850 800BAC50 3C0EFA00 */ lui $t6, 0xfa00 -/* 0BB854 800BAC54 25293180 */ addiu $t1, %lo(D_800E3180) # addiu $t1, $t1, 0x3180 -/* 0BB858 800BAC58 ACEE0000 */ sw $t6, ($a3) -/* 0BB85C 800BAC5C ACF90004 */ sw $t9, 4($a3) -/* 0BB860 800BAC60 8D2F0000 */ lw $t7, ($t1) -/* 0BB864 800BAC64 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 -/* 0BB868 800BAC68 11E00016 */ beqz $t7, .L800BACC4 -/* 0BB86C 800BAC6C 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 -/* 0BB870 800BAC70 8E270000 */ lw $a3, ($s1) -/* 0BB874 800BAC74 3C0EFB00 */ lui $t6, 0xfb00 -/* 0BB878 800BAC78 24F80008 */ addiu $t8, $a3, 8 -/* 0BB87C 800BAC7C AE380000 */ sw $t8, ($s1) -/* 0BB880 800BAC80 ACEE0000 */ sw $t6, ($a3) -/* 0BB884 800BAC84 8D220000 */ lw $v0, ($t1) -/* 0BB888 800BAC88 00000000 */ nop -/* 0BB88C 800BAC8C 904F0010 */ lbu $t7, 0x10($v0) -/* 0BB890 800BAC90 90590011 */ lbu $t9, 0x11($v0) -/* 0BB894 800BAC94 000FC600 */ sll $t8, $t7, 0x18 -/* 0BB898 800BAC98 00197C00 */ sll $t7, $t9, 0x10 -/* 0BB89C 800BAC9C 030F7025 */ or $t6, $t8, $t7 -/* 0BB8A0 800BACA0 90580012 */ lbu $t8, 0x12($v0) -/* 0BB8A4 800BACA4 00000000 */ nop -/* 0BB8A8 800BACA8 00187A00 */ sll $t7, $t8, 8 -/* 0BB8AC 800BACAC 01CFC825 */ or $t9, $t6, $t7 -/* 0BB8B0 800BACB0 904E0013 */ lbu $t6, 0x13($v0) -/* 0BB8B4 800BACB4 00000000 */ nop -/* 0BB8B8 800BACB8 032E7825 */ or $t7, $t9, $t6 -/* 0BB8BC 800BACBC 10000008 */ b .L800BACE0 -/* 0BB8C0 800BACC0 ACEF0004 */ sw $t7, 4($a3) -.L800BACC4: -/* 0BB8C4 800BACC4 8E270000 */ lw $a3, ($s1) -/* 0BB8C8 800BACC8 2403FF00 */ li $v1, -256 -/* 0BB8CC 800BACCC 24F80008 */ addiu $t8, $a3, 8 -/* 0BB8D0 800BACD0 AE380000 */ sw $t8, ($s1) -/* 0BB8D4 800BACD4 3C19FB00 */ lui $t9, 0xfb00 -/* 0BB8D8 800BACD8 ACF90000 */ sw $t9, ($a3) -/* 0BB8DC 800BACDC ACE30004 */ sw $v1, 4($a3) -.L800BACE0: -/* 0BB8E0 800BACE0 8FEE0028 */ lw $t6, 0x28($ra) -/* 0BB8E4 800BACE4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BB8E8 800BACE8 11C00007 */ beqz $t6, .L800BAD08 -/* 0BB8EC 800BACEC 3C0F800E */ lui $t7, %hi(D_800E30DC) # $t7, 0x800e -/* 0BB8F0 800BACF0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BB8F4 800BACF4 4481A000 */ mtc1 $at, $f20 -/* 0BB8F8 800BACF8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BB8FC 800BACFC 4481C000 */ mtc1 $at, $f24 -/* 0BB900 800BAD00 10000005 */ b .L800BAD18 -/* 0BB904 800BAD04 E7B400EC */ swc1 $f20, 0xec($sp) -.L800BAD08: -/* 0BB908 800BAD08 4481C000 */ mtc1 $at, $f24 -/* 0BB90C 800BAD0C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BB910 800BAD10 4481A000 */ mtc1 $at, $f20 -/* 0BB914 800BAD14 E7B800EC */ swc1 $f24, 0xec($sp) -.L800BAD18: -/* 0BB918 800BAD18 8DEF30DC */ lw $t7, %lo(D_800E30DC)($t7) -/* 0BB91C 800BAD1C A7A000E8 */ sh $zero, 0xe8($sp) -/* 0BB920 800BAD20 A7A000E6 */ sh $zero, 0xe6($sp) -/* 0BB924 800BAD24 19E00146 */ blez $t7, .L800BB240 -/* 0BB928 800BAD28 A7A000E4 */ sh $zero, 0xe4($sp) -/* 0BB92C 800BAD2C 8FB800DC */ lw $t8, 0xdc($sp) -/* 0BB930 800BAD30 3C0E8013 */ lui $t6, %hi(D_8012A1E8) # $t6, 0x8013 -/* 0BB934 800BAD34 25CEA1E8 */ addiu $t6, %lo(D_8012A1E8) # addiu $t6, $t6, -0x5e18 -/* 0BB938 800BAD38 0018C840 */ sll $t9, $t8, 1 -/* 0BB93C 800BAD3C 032E8021 */ addu $s0, $t9, $t6 -/* 0BB940 800BAD40 3C17800E */ lui $s7, %hi(D_800E3080) # $s7, 0x800e -/* 0BB944 800BAD44 3C15800E */ lui $s5, %hi(D_800E3070) # $s5, 0x800e -/* 0BB948 800BAD48 3C138013 */ lui $s3, %hi(D_8012A018) # $s3, 0x8013 -/* 0BB94C 800BAD4C 4480B000 */ mtc1 $zero, $f22 -/* 0BB950 800BAD50 2673A018 */ addiu $s3, %lo(D_8012A018) # addiu $s3, $s3, -0x5fe8 -/* 0BB954 800BAD54 26B53070 */ addiu $s5, %lo(D_800E3070) # addiu $s5, $s5, 0x3070 -/* 0BB958 800BAD58 26F73080 */ addiu $s7, %lo(D_800E3080) # addiu $s7, $s7, 0x3080 -/* 0BB95C 800BAD5C AFB00074 */ sw $s0, 0x74($sp) -/* 0BB960 800BAD60 2416000A */ li $s6, 10 -/* 0BB964 800BAD64 3C140400 */ lui $s4, 0x400 -.L800BAD68: -/* 0BB968 800BAD68 8FEF004C */ lw $t7, 0x4c($ra) -/* 0BB96C 800BAD6C 8FB00074 */ lw $s0, 0x74($sp) -/* 0BB970 800BAD70 11E00008 */ beqz $t7, .L800BAD94 -/* 0BB974 800BAD74 00000000 */ nop -/* 0BB978 800BAD78 86040000 */ lh $a0, ($s0) -/* 0BB97C 800BAD7C 8FA50128 */ lw $a1, 0x128($sp) -/* 0BB980 800BAD80 0C02E4BD */ jal func_800B92F4 -/* 0BB984 800BAD84 00000000 */ nop -/* 0BB988 800BAD88 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 -/* 0BB98C 800BAD8C 10000007 */ b .L800BADAC -/* 0BB990 800BAD90 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 -.L800BAD94: -/* 0BB994 800BAD94 86040000 */ lh $a0, ($s0) -/* 0BB998 800BAD98 8FA50128 */ lw $a1, 0x128($sp) -/* 0BB99C 800BAD9C 0C02E5EA */ jal func_800B97A8 -/* 0BB9A0 800BADA0 00000000 */ nop -/* 0BB9A4 800BADA4 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 -/* 0BB9A8 800BADA8 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 -.L800BADAC: -/* 0BB9AC 800BADAC 86180000 */ lh $t8, ($s0) -/* 0BB9B0 800BADB0 3C0E800E */ lui $t6, %hi(D_800E30D8) # $t6, 0x800e -/* 0BB9B4 800BADB4 0018C8C0 */ sll $t9, $t8, 3 -/* 0BB9B8 800BADB8 8DCE30D8 */ lw $t6, %lo(D_800E30D8)($t6) -/* 0BB9BC 800BADBC 0338C823 */ subu $t9, $t9, $t8 -/* 0BB9C0 800BADC0 0019C880 */ sll $t9, $t9, 2 -/* 0BB9C4 800BADC4 032E1021 */ addu $v0, $t9, $t6 -/* 0BB9C8 800BADC8 844F0004 */ lh $t7, 4($v0) -/* 0BB9CC 800BADCC 3C0E800E */ lui $t6, %hi(D_800E30D4) # $t6, 0x800e -/* 0BB9D0 800BADD0 448F2000 */ mtc1 $t7, $f4 -/* 0BB9D4 800BADD4 8DCE30D4 */ lw $t6, %lo(D_800E30D4)($t6) -/* 0BB9D8 800BADD8 468021A0 */ cvt.s.w $f6, $f4 -/* 0BB9DC 800BADDC 3C058013 */ lui $a1, %hi(D_80129FC4) # $a1, 0x8013 -/* 0BB9E0 800BADE0 24A59FC4 */ addiu $a1, %lo(D_80129FC4) # addiu $a1, $a1, -0x603c -/* 0BB9E4 800BADE4 E7A600F0 */ swc1 $f6, 0xf0($sp) -/* 0BB9E8 800BADE8 84580006 */ lh $t8, 6($v0) -/* 0BB9EC 800BADEC 02202025 */ move $a0, $s1 -/* 0BB9F0 800BADF0 44984000 */ mtc1 $t8, $f8 -/* 0BB9F4 800BADF4 27A600E4 */ addiu $a2, $sp, 0xe4 -/* 0BB9F8 800BADF8 468042A0 */ cvt.s.w $f10, $f8 -/* 0BB9FC 800BADFC E7AA00F4 */ swc1 $f10, 0xf4($sp) -/* 0BBA00 800BAE00 84590008 */ lh $t9, 8($v0) -/* 0BBA04 800BAE04 00000000 */ nop -/* 0BBA08 800BAE08 44998000 */ mtc1 $t9, $f16 -/* 0BBA0C 800BAE0C 00000000 */ nop -/* 0BBA10 800BAE10 468084A0 */ cvt.s.w $f18, $f16 -/* 0BBA14 800BAE14 E7B200F8 */ swc1 $f18, 0xf8($sp) -/* 0BBA18 800BAE18 8C4F000C */ lw $t7, 0xc($v0) -/* 0BBA1C 800BAE1C 00000000 */ nop -/* 0BBA20 800BAE20 000FC080 */ sll $t8, $t7, 2 -/* 0BBA24 800BAE24 01D8C821 */ addu $t9, $t6, $t8 -/* 0BBA28 800BAE28 8F2F0000 */ lw $t7, ($t9) -/* 0BBA2C 800BAE2C 8FEE0028 */ lw $t6, 0x28($ra) -/* 0BBA30 800BAE30 AFAF0104 */ sw $t7, 0x104($sp) -/* 0BBA34 800BAE34 11C000A4 */ beqz $t6, .L800BB0C8 -/* 0BBA38 800BAE38 00000000 */ nop -/* 0BBA3C 800BAE3C AFA0011C */ sw $zero, 0x11c($sp) -/* 0BBA40 800BAE40 AFA200E0 */ sw $v0, 0xe0($sp) -/* 0BBA44 800BAE44 AFB00074 */ sw $s0, 0x74($sp) -.L800BAE48: -/* 0BBA48 800BAE48 8FA200E0 */ lw $v0, 0xe0($sp) -/* 0BBA4C 800BAE4C 0000F025 */ move $fp, $zero -/* 0BBA50 800BAE50 84580004 */ lh $t8, 4($v0) -/* 0BBA54 800BAE54 00000000 */ nop -/* 0BBA58 800BAE58 44982000 */ mtc1 $t8, $f4 -/* 0BBA5C 800BAE5C 00000000 */ nop -/* 0BBA60 800BAE60 468021A0 */ cvt.s.w $f6, $f4 -/* 0BBA64 800BAE64 E7A600F0 */ swc1 $f6, 0xf0($sp) -.L800BAE68: -/* 0BBA68 800BAE68 3C058013 */ lui $a1, %hi(D_80129FC4) # $a1, 0x8013 -/* 0BBA6C 800BAE6C 4407C000 */ mfc1 $a3, $f24 -/* 0BBA70 800BAE70 24A59FC4 */ addiu $a1, %lo(D_80129FC4) # addiu $a1, $a1, -0x603c -/* 0BBA74 800BAE74 02202025 */ move $a0, $s1 -/* 0BBA78 800BAE78 27A600E4 */ addiu $a2, $sp, 0xe4 -/* 0BBA7C 800BAE7C 0C01A521 */ jal camera_push_model_mtx -/* 0BBA80 800BAE80 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0BBA84 800BAE84 8FA50104 */ lw $a1, 0x104($sp) -/* 0BBA88 800BAE88 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 -/* 0BBA8C 800BAE8C 30B900FF */ andi $t9, $a1, 0xff -/* 0BBA90 800BAE90 1320004B */ beqz $t9, .L800BAFC0 -/* 0BBA94 800BAE94 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 -/* 0BBA98 800BAE98 8FE60000 */ lw $a2, ($ra) -/* 0BBA9C 800BAE9C 272FFFFF */ addiu $t7, $t9, -1 -/* 0BBAA0 800BAEA0 24C30001 */ addiu $v1, $a2, 1 -/* 0BBAA4 800BAEA4 01E30019 */ multu $t7, $v1 -/* 0BBAA8 800BAEA8 00031040 */ sll $v0, $v1, 1 -/* 0BBAAC 800BAEAC 0002C8C0 */ sll $t9, $v0, 3 -/* 0BBAB0 800BAEB0 03226021 */ addu $t4, $t9, $v0 -/* 0BBAB4 800BAEB4 244BFFFF */ addiu $t3, $v0, -1 -/* 0BBAB8 800BAEB8 000BC0C0 */ sll $t8, $t3, 3 -/* 0BBABC 800BAEBC 000C7840 */ sll $t7, $t4, 1 -/* 0BBAC0 800BAEC0 25EC0008 */ addiu $t4, $t7, 8 -/* 0BBAC4 800BAEC4 03005825 */ move $t3, $t8 -/* 0BBAC8 800BAEC8 00062040 */ sll $a0, $a2, 1 -/* 0BBACC 800BAECC 2498FFFF */ addiu $t8, $a0, -1 -/* 0BBAD0 800BAED0 0018C900 */ sll $t9, $t8, 4 -/* 0BBAD4 800BAED4 00007012 */ mflo $t6 -/* 0BBAD8 800BAED8 372F0001 */ ori $t7, $t9, 1 -/* 0BBADC 800BAEDC 3C010500 */ lui $at, 0x500 -/* 0BBAE0 800BAEE0 01C30019 */ multu $t6, $v1 -/* 0BBAE4 800BAEE4 318EFFFF */ andi $t6, $t4, 0xffff -/* 0BBAE8 800BAEE8 01C06025 */ move $t4, $t6 -/* 0BBAEC 800BAEEC 31EE00FF */ andi $t6, $t7, 0xff -/* 0BBAF0 800BAEF0 000EC400 */ sll $t8, $t6, 0x10 -/* 0BBAF4 800BAEF4 00047900 */ sll $t7, $a0, 4 -/* 0BBAF8 800BAEF8 31EEFFFF */ andi $t6, $t7, 0xffff -/* 0BBAFC 800BAEFC 0301C825 */ or $t9, $t8, $at -/* 0BBB00 800BAF00 032E6825 */ or $t5, $t9, $t6 -/* 0BBB04 800BAF04 00008025 */ move $s0, $zero -/* 0BBB08 800BAF08 00004012 */ mflo $t0 -/* 0BBB0C 800BAF0C 18C00052 */ blez $a2, .L800BB058 -/* 0BBB10 800BAF10 00000000 */ nop -.L800BAF14: -/* 0BBB14 800BAF14 01160019 */ multu $t0, $s6 -/* 0BBB18 800BAF18 8E780000 */ lw $t8, ($s3) -/* 0BBB1C 800BAF1C 8FAF0128 */ lw $t7, 0x128($sp) -/* 0BBB20 800BAF20 8E270000 */ lw $a3, ($s1) -/* 0BBB24 800BAF24 030F2021 */ addu $a0, $t8, $t7 -/* 0BBB28 800BAF28 0004C880 */ sll $t9, $a0, 2 -/* 0BBB2C 800BAF2C 02B97021 */ addu $t6, $s5, $t9 -/* 0BBB30 800BAF30 8DD80000 */ lw $t8, ($t6) -/* 0BBB34 800BAF34 02F9C821 */ addu $t9, $s7, $t9 -/* 0BBB38 800BAF38 8F2E0000 */ lw $t6, ($t9) -/* 0BBB3C 800BAF3C 00007812 */ mflo $t7 -/* 0BBB40 800BAF40 030F4821 */ addu $t1, $t8, $t7 -/* 0BBB44 800BAF44 0006C040 */ sll $t8, $a2, 1 -/* 0BBB48 800BAF48 02180019 */ multu $s0, $t8 -/* 0BBB4C 800BAF4C 01322821 */ addu $a1, $t1, $s2 -/* 0BBB50 800BAF50 24F80008 */ addiu $t8, $a3, 8 -/* 0BBB54 800BAF54 AE380000 */ sw $t8, ($s1) -/* 0BBB58 800BAF58 ACE50004 */ sw $a1, 4($a3) -/* 0BBB5C 800BAF5C 26100001 */ addiu $s0, $s0, 1 -/* 0BBB60 800BAF60 00007812 */ mflo $t7 -/* 0BBB64 800BAF64 000FC900 */ sll $t9, $t7, 4 -/* 0BBB68 800BAF68 30AF0006 */ andi $t7, $a1, 6 -/* 0BBB6C 800BAF6C 01D95021 */ addu $t2, $t6, $t9 -/* 0BBB70 800BAF70 016F7025 */ or $t6, $t3, $t7 -/* 0BBB74 800BAF74 31D900FF */ andi $t9, $t6, 0xff -/* 0BBB78 800BAF78 0019C400 */ sll $t8, $t9, 0x10 -/* 0BBB7C 800BAF7C 03147825 */ or $t7, $t8, $s4 -/* 0BBB80 800BAF80 01EC7025 */ or $t6, $t7, $t4 -/* 0BBB84 800BAF84 ACEE0000 */ sw $t6, ($a3) -/* 0BBB88 800BAF88 8E270000 */ lw $a3, ($s1) -/* 0BBB8C 800BAF8C 0152C021 */ addu $t8, $t2, $s2 -/* 0BBB90 800BAF90 24F90008 */ addiu $t9, $a3, 8 -/* 0BBB94 800BAF94 AE390000 */ sw $t9, ($s1) -/* 0BBB98 800BAF98 ACF80004 */ sw $t8, 4($a3) -/* 0BBB9C 800BAF9C ACED0000 */ sw $t5, ($a3) -/* 0BBBA0 800BAFA0 8FE60000 */ lw $a2, ($ra) -/* 0BBBA4 800BAFA4 00000000 */ nop -/* 0BBBA8 800BAFA8 0206082A */ slt $at, $s0, $a2 -/* 0BBBAC 800BAFAC 01064021 */ addu $t0, $t0, $a2 -/* 0BBBB0 800BAFB0 1420FFD8 */ bnez $at, .L800BAF14 -/* 0BBBB4 800BAFB4 25080001 */ addiu $t0, $t0, 1 -/* 0BBBB8 800BAFB8 10000027 */ b .L800BB058 -/* 0BBBBC 800BAFBC 00000000 */ nop -.L800BAFC0: -/* 0BBBC0 800BAFC0 8E6E0000 */ lw $t6, ($s3) -/* 0BBBC4 800BAFC4 24050028 */ li $a1, 40 -/* 0BBBC8 800BAFC8 01C50019 */ multu $t6, $a1 -/* 0BBBCC 800BAFCC 8E270000 */ lw $a3, ($s1) -/* 0BBBD0 800BAFD0 3C048013 */ lui $a0, %hi(D_8012A028) # $a0, 0x8013 -/* 0BBBD4 800BAFD4 2484A028 */ addiu $a0, %lo(D_8012A028) # addiu $a0, $a0, -0x5fd8 -/* 0BBBD8 800BAFD8 24EF0008 */ addiu $t7, $a3, 8 -/* 0BBBDC 800BAFDC AE2F0000 */ sw $t7, ($s1) -/* 0BBBE0 800BAFE0 0000C812 */ mflo $t9 -/* 0BBBE4 800BAFE4 0099C021 */ addu $t8, $a0, $t9 -/* 0BBBE8 800BAFE8 03127821 */ addu $t7, $t8, $s2 -/* 0BBBEC 800BAFEC 31EE0006 */ andi $t6, $t7, 6 -/* 0BBBF0 800BAFF0 35D90018 */ ori $t9, $t6, 0x18 -/* 0BBBF4 800BAFF4 333800FF */ andi $t8, $t9, 0xff -/* 0BBBF8 800BAFF8 00187C00 */ sll $t7, $t8, 0x10 -/* 0BBBFC 800BAFFC 01F47025 */ or $t6, $t7, $s4 -/* 0BBC00 800BB000 35D90050 */ ori $t9, $t6, 0x50 -/* 0BBC04 800BB004 ACF90000 */ sw $t9, ($a3) -/* 0BBC08 800BB008 8E780000 */ lw $t8, ($s3) -/* 0BBC0C 800BB00C 00000000 */ nop -/* 0BBC10 800BB010 03050019 */ multu $t8, $a1 -/* 0BBC14 800BB014 00007812 */ mflo $t7 -/* 0BBC18 800BB018 008F7021 */ addu $t6, $a0, $t7 -/* 0BBC1C 800BB01C 01D2C821 */ addu $t9, $t6, $s2 -/* 0BBC20 800BB020 ACF90004 */ sw $t9, 4($a3) -/* 0BBC24 800BB024 8E270000 */ lw $a3, ($s1) -/* 0BBC28 800BB028 3C0F0511 */ lui $t7, (0x05110020 >> 16) # lui $t7, 0x511 -/* 0BBC2C 800BB02C 24F80008 */ addiu $t8, $a3, 8 -/* 0BBC30 800BB030 AE380000 */ sw $t8, ($s1) -/* 0BBC34 800BB034 35EF0020 */ ori $t7, (0x05110020 & 0xFFFF) # ori $t7, $t7, 0x20 -/* 0BBC38 800BB038 ACEF0000 */ sw $t7, ($a3) -/* 0BBC3C 800BB03C 8E790000 */ lw $t9, ($s3) -/* 0BBC40 800BB040 3C0E800E */ lui $t6, %hi(D_800E3090) # $t6, 0x800e -/* 0BBC44 800BB044 0019C140 */ sll $t8, $t9, 5 -/* 0BBC48 800BB048 03127821 */ addu $t7, $t8, $s2 -/* 0BBC4C 800BB04C 25CE3090 */ addiu $t6, %lo(D_800E3090) # addiu $t6, $t6, 0x3090 -/* 0BBC50 800BB050 01EEC821 */ addu $t9, $t7, $t6 -/* 0BBC54 800BB054 ACF90004 */ sw $t9, 4($a3) -.L800BB058: -/* 0BBC58 800BB058 0C01A690 */ jal apply_matrix_from_stack -/* 0BBC5C 800BB05C 02202025 */ move $a0, $s1 -/* 0BBC60 800BB060 3C018013 */ lui $at, %hi(D_8012A0A0) # $at, 0x8013 -/* 0BBC64 800BB064 C42AA0A0 */ lwc1 $f10, %lo(D_8012A0A0)($at) -/* 0BBC68 800BB068 8FB80104 */ lw $t8, 0x104($sp) -/* 0BBC6C 800BB06C 46145402 */ mul.s $f16, $f10, $f20 -/* 0BBC70 800BB070 C7A800F0 */ lwc1 $f8, 0xf0($sp) -/* 0BBC74 800BB074 27DE0001 */ addiu $fp, $fp, 1 -/* 0BBC78 800BB078 24030002 */ li $v1, 2 -/* 0BBC7C 800BB07C 46104480 */ add.s $f18, $f8, $f16 -/* 0BBC80 800BB080 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 -/* 0BBC84 800BB084 00187A03 */ sra $t7, $t8, 8 -/* 0BBC88 800BB088 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 -/* 0BBC8C 800BB08C AFAF0104 */ sw $t7, 0x104($sp) -/* 0BBC90 800BB090 17C3FF75 */ bne $fp, $v1, .L800BAE68 -/* 0BBC94 800BB094 E7B200F0 */ swc1 $f18, 0xf0($sp) -/* 0BBC98 800BB098 3C018013 */ lui $at, %hi(D_8012A0A4) # $at, 0x8013 -/* 0BBC9C 800BB09C C426A0A4 */ lwc1 $f6, %lo(D_8012A0A4)($at) -/* 0BBCA0 800BB0A0 8FA2011C */ lw $v0, 0x11c($sp) -/* 0BBCA4 800BB0A4 46143282 */ mul.s $f10, $f6, $f20 -/* 0BBCA8 800BB0A8 C7A400F8 */ lwc1 $f4, 0xf8($sp) -/* 0BBCAC 800BB0AC 24420001 */ addiu $v0, $v0, 1 -/* 0BBCB0 800BB0B0 AFA2011C */ sw $v0, 0x11c($sp) -/* 0BBCB4 800BB0B4 460A2200 */ add.s $f8, $f4, $f10 -/* 0BBCB8 800BB0B8 1443FF63 */ bne $v0, $v1, .L800BAE48 -/* 0BBCBC 800BB0BC E7A800F8 */ swc1 $f8, 0xf8($sp) -/* 0BBCC0 800BB0C0 10000056 */ b .L800BB21C -/* 0BBCC4 800BB0C4 8FAE00DC */ lw $t6, 0xdc($sp) -.L800BB0C8: -/* 0BBCC8 800BB0C8 AFB00074 */ sw $s0, 0x74($sp) -/* 0BBCCC 800BB0CC 4407C000 */ mfc1 $a3, $f24 -/* 0BBCD0 800BB0D0 00008025 */ move $s0, $zero -/* 0BBCD4 800BB0D4 0C01A521 */ jal camera_push_model_mtx -/* 0BBCD8 800BB0D8 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0BBCDC 800BB0DC 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 -/* 0BBCE0 800BB0E0 8FAE0104 */ lw $t6, 0x104($sp) -/* 0BBCE4 800BB0E4 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 -/* 0BBCE8 800BB0E8 8FE60000 */ lw $a2, ($ra) -/* 0BBCEC 800BB0EC 31D900FF */ andi $t9, $t6, 0xff -/* 0BBCF0 800BB0F0 2738FFFF */ addiu $t8, $t9, -1 -/* 0BBCF4 800BB0F4 24C30001 */ addiu $v1, $a2, 1 -/* 0BBCF8 800BB0F8 03030019 */ multu $t8, $v1 -/* 0BBCFC 800BB0FC 00031040 */ sll $v0, $v1, 1 -/* 0BBD00 800BB100 0002C8C0 */ sll $t9, $v0, 3 -/* 0BBD04 800BB104 03226021 */ addu $t4, $t9, $v0 -/* 0BBD08 800BB108 244BFFFF */ addiu $t3, $v0, -1 -/* 0BBD0C 800BB10C 000B70C0 */ sll $t6, $t3, 3 -/* 0BBD10 800BB110 000CC040 */ sll $t8, $t4, 1 -/* 0BBD14 800BB114 270C0008 */ addiu $t4, $t8, 8 -/* 0BBD18 800BB118 01C05825 */ move $t3, $t6 -/* 0BBD1C 800BB11C 00062040 */ sll $a0, $a2, 1 -/* 0BBD20 800BB120 248EFFFF */ addiu $t6, $a0, -1 -/* 0BBD24 800BB124 000EC900 */ sll $t9, $t6, 4 -/* 0BBD28 800BB128 00007812 */ mflo $t7 -/* 0BBD2C 800BB12C 37380001 */ ori $t8, $t9, 1 -/* 0BBD30 800BB130 3C010500 */ lui $at, 0x500 -/* 0BBD34 800BB134 01E30019 */ multu $t7, $v1 -/* 0BBD38 800BB138 318FFFFF */ andi $t7, $t4, 0xffff -/* 0BBD3C 800BB13C 01E06025 */ move $t4, $t7 -/* 0BBD40 800BB140 330F00FF */ andi $t7, $t8, 0xff -/* 0BBD44 800BB144 000F7400 */ sll $t6, $t7, 0x10 -/* 0BBD48 800BB148 0004C100 */ sll $t8, $a0, 4 -/* 0BBD4C 800BB14C 330FFFFF */ andi $t7, $t8, 0xffff -/* 0BBD50 800BB150 01C1C825 */ or $t9, $t6, $at -/* 0BBD54 800BB154 00004012 */ mflo $t0 -/* 0BBD58 800BB158 18C0002B */ blez $a2, .L800BB208 -/* 0BBD5C 800BB15C 00000000 */ nop -/* 0BBD60 800BB160 8FBE0128 */ lw $fp, 0x128($sp) -/* 0BBD64 800BB164 032F6825 */ or $t5, $t9, $t7 -.L800BB168: -/* 0BBD68 800BB168 01160019 */ multu $t0, $s6 -/* 0BBD6C 800BB16C 8E6E0000 */ lw $t6, ($s3) -/* 0BBD70 800BB170 8E270000 */ lw $a3, ($s1) -/* 0BBD74 800BB174 01DE2021 */ addu $a0, $t6, $fp -/* 0BBD78 800BB178 0004C080 */ sll $t8, $a0, 2 -/* 0BBD7C 800BB17C 02B8C821 */ addu $t9, $s5, $t8 -/* 0BBD80 800BB180 8F2F0000 */ lw $t7, ($t9) -/* 0BBD84 800BB184 02F8C021 */ addu $t8, $s7, $t8 -/* 0BBD88 800BB188 8F190000 */ lw $t9, ($t8) -/* 0BBD8C 800BB18C 00007012 */ mflo $t6 -/* 0BBD90 800BB190 01EE4821 */ addu $t1, $t7, $t6 -/* 0BBD94 800BB194 00067840 */ sll $t7, $a2, 1 -/* 0BBD98 800BB198 020F0019 */ multu $s0, $t7 -/* 0BBD9C 800BB19C 01322821 */ addu $a1, $t1, $s2 -/* 0BBDA0 800BB1A0 24EF0008 */ addiu $t7, $a3, 8 -/* 0BBDA4 800BB1A4 AE2F0000 */ sw $t7, ($s1) -/* 0BBDA8 800BB1A8 ACE50004 */ sw $a1, 4($a3) -/* 0BBDAC 800BB1AC 26100001 */ addiu $s0, $s0, 1 -/* 0BBDB0 800BB1B0 00007012 */ mflo $t6 -/* 0BBDB4 800BB1B4 000EC100 */ sll $t8, $t6, 4 -/* 0BBDB8 800BB1B8 30AE0006 */ andi $t6, $a1, 6 -/* 0BBDBC 800BB1BC 03385021 */ addu $t2, $t9, $t8 -/* 0BBDC0 800BB1C0 016EC825 */ or $t9, $t3, $t6 -/* 0BBDC4 800BB1C4 333800FF */ andi $t8, $t9, 0xff -/* 0BBDC8 800BB1C8 00187C00 */ sll $t7, $t8, 0x10 -/* 0BBDCC 800BB1CC 01F47025 */ or $t6, $t7, $s4 -/* 0BBDD0 800BB1D0 01CCC825 */ or $t9, $t6, $t4 -/* 0BBDD4 800BB1D4 ACF90000 */ sw $t9, ($a3) -/* 0BBDD8 800BB1D8 8E270000 */ lw $a3, ($s1) -/* 0BBDDC 800BB1DC 01527821 */ addu $t7, $t2, $s2 -/* 0BBDE0 800BB1E0 24F80008 */ addiu $t8, $a3, 8 -/* 0BBDE4 800BB1E4 AE380000 */ sw $t8, ($s1) -/* 0BBDE8 800BB1E8 ACEF0004 */ sw $t7, 4($a3) -/* 0BBDEC 800BB1EC ACED0000 */ sw $t5, ($a3) -/* 0BBDF0 800BB1F0 8FE60000 */ lw $a2, ($ra) -/* 0BBDF4 800BB1F4 00000000 */ nop -/* 0BBDF8 800BB1F8 0206082A */ slt $at, $s0, $a2 -/* 0BBDFC 800BB1FC 01064021 */ addu $t0, $t0, $a2 -/* 0BBE00 800BB200 1420FFD9 */ bnez $at, .L800BB168 -/* 0BBE04 800BB204 25080001 */ addiu $t0, $t0, 1 -.L800BB208: -/* 0BBE08 800BB208 0C01A690 */ jal apply_matrix_from_stack -/* 0BBE0C 800BB20C 02202025 */ move $a0, $s1 -/* 0BBE10 800BB210 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 -/* 0BBE14 800BB214 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 -/* 0BBE18 800BB218 8FAE00DC */ lw $t6, 0xdc($sp) -.L800BB21C: -/* 0BBE1C 800BB21C 8FB80074 */ lw $t8, 0x74($sp) -/* 0BBE20 800BB220 25D90001 */ addiu $t9, $t6, 1 -/* 0BBE24 800BB224 3C0E800E */ lui $t6, %hi(D_800E30DC) # $t6, 0x800e -/* 0BBE28 800BB228 8DCE30DC */ lw $t6, %lo(D_800E30DC)($t6) -/* 0BBE2C 800BB22C 270F0002 */ addiu $t7, $t8, 2 -/* 0BBE30 800BB230 032E082A */ slt $at, $t9, $t6 -/* 0BBE34 800BB234 AFAF0074 */ sw $t7, 0x74($sp) -/* 0BBE38 800BB238 1420FECB */ bnez $at, .L800BAD68 -/* 0BBE3C 800BB23C AFB900DC */ sw $t9, 0xdc($sp) -.L800BB240: -/* 0BBE40 800BB240 8FF8004C */ lw $t8, 0x4c($ra) -/* 0BBE44 800BB244 3C19B700 */ lui $t9, 0xb700 -/* 0BBE48 800BB248 1300000E */ beqz $t8, .L800BB284 -/* 0BBE4C 800BB24C 00000000 */ nop -/* 0BBE50 800BB250 8E270000 */ lw $a3, ($s1) -/* 0BBE54 800BB254 3C0E0001 */ lui $t6, 1 -/* 0BBE58 800BB258 24EF0008 */ addiu $t7, $a3, 8 -/* 0BBE5C 800BB25C AE2F0000 */ sw $t7, ($s1) -/* 0BBE60 800BB260 ACEE0004 */ sw $t6, 4($a3) -/* 0BBE64 800BB264 ACF90000 */ sw $t9, ($a3) -/* 0BBE68 800BB268 8E270000 */ lw $a3, ($s1) -/* 0BBE6C 800BB26C 2419FFFF */ li $t9, -1 -/* 0BBE70 800BB270 24F80008 */ addiu $t8, $a3, 8 -/* 0BBE74 800BB274 AE380000 */ sw $t8, ($s1) -/* 0BBE78 800BB278 3C0FFA00 */ lui $t7, 0xfa00 -/* 0BBE7C 800BB27C ACEF0000 */ sw $t7, ($a3) -/* 0BBE80 800BB280 ACF90004 */ sw $t9, 4($a3) -.L800BB284: -/* 0BBE84 800BB284 8E2E0000 */ lw $t6, ($s1) -/* 0BBE88 800BB288 8FB80120 */ lw $t8, 0x120($sp) -/* 0BBE8C 800BB28C 3C0F8013 */ lui $t7, %hi(D_80129FC4) # $t7, 0x8013 -/* 0BBE90 800BB290 AF0E0000 */ sw $t6, ($t8) -/* 0BBE94 800BB294 8FB90124 */ lw $t9, 0x124($sp) -/* 0BBE98 800BB298 8DEF9FC4 */ lw $t7, %lo(D_80129FC4)($t7) -/* 0BBE9C 800BB29C 00000000 */ nop -/* 0BBEA0 800BB2A0 AF2F0000 */ sw $t7, ($t9) -.L800BB2A4: -/* 0BBEA4 800BB2A4 8FBF005C */ lw $ra, 0x5c($sp) -/* 0BBEA8 800BB2A8 3C01800E */ lui $at, %hi(D_800E30DC) # $at, 0x800e -/* 0BBEAC 800BB2AC C7B50020 */ lwc1 $f21, 0x20($sp) -/* 0BBEB0 800BB2B0 C7B40024 */ lwc1 $f20, 0x24($sp) -/* 0BBEB4 800BB2B4 C7B70028 */ lwc1 $f23, 0x28($sp) -/* 0BBEB8 800BB2B8 C7B6002C */ lwc1 $f22, 0x2c($sp) -/* 0BBEBC 800BB2BC C7B90030 */ lwc1 $f25, 0x30($sp) -/* 0BBEC0 800BB2C0 C7B80034 */ lwc1 $f24, 0x34($sp) -/* 0BBEC4 800BB2C4 8FB00038 */ lw $s0, 0x38($sp) -/* 0BBEC8 800BB2C8 8FB1003C */ lw $s1, 0x3c($sp) -/* 0BBECC 800BB2CC 8FB20040 */ lw $s2, 0x40($sp) -/* 0BBED0 800BB2D0 8FB30044 */ lw $s3, 0x44($sp) -/* 0BBED4 800BB2D4 8FB40048 */ lw $s4, 0x48($sp) -/* 0BBED8 800BB2D8 8FB5004C */ lw $s5, 0x4c($sp) -/* 0BBEDC 800BB2DC 8FB60050 */ lw $s6, 0x50($sp) -/* 0BBEE0 800BB2E0 8FB70054 */ lw $s7, 0x54($sp) -/* 0BBEE4 800BB2E4 8FBE0058 */ lw $fp, 0x58($sp) -/* 0BBEE8 800BB2E8 AC2030DC */ sw $zero, %lo(D_800E30DC)($at) -/* 0BBEEC 800BB2EC 03E00008 */ jr $ra -/* 0BBEF0 800BB2F0 27BD0120 */ addiu $sp, $sp, 0x120 - diff --git a/asm/non_matchings/waves/func_800BB2F4.s b/asm/non_matchings/waves/func_800BB2F4.s deleted file mode 100644 index fb0c93b8..00000000 --- a/asm/non_matchings/waves/func_800BB2F4.s +++ /dev/null @@ -1,741 +0,0 @@ -glabel func_800BB2F4 -/* 0BBEF4 800BB2F4 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 0BBEF8 800BB2F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BBEFC 800BB2FC AFA400A8 */ sw $a0, 0xa8($sp) -/* 0BBF00 800BB300 AFA500AC */ sw $a1, 0xac($sp) -/* 0BBF04 800BB304 AFA600B0 */ sw $a2, 0xb0($sp) -/* 0BBF08 800BB308 04800007 */ bltz $a0, .L800BB328 -/* 0BBF0C 800BB30C AFA700B4 */ sw $a3, 0xb4($sp) -/* 0BBF10 800BB310 3C0F8013 */ lui $t7, %hi(D_8012A0E0) # $t7, 0x8013 -/* 0BBF14 800BB314 8DEFA0E0 */ lw $t7, %lo(D_8012A0E0)($t7) -/* 0BBF18 800BB318 00000000 */ nop -/* 0BBF1C 800BB31C 008F082A */ slt $at, $a0, $t7 -/* 0BBF20 800BB320 14200003 */ bnez $at, .L800BB330 -/* 0BBF24 800BB324 8FB800A8 */ lw $t8, 0xa8($sp) -.L800BB328: -/* 0BBF28 800BB328 AFA000A8 */ sw $zero, 0xa8($sp) -/* 0BBF2C 800BB32C 8FB800A8 */ lw $t8, 0xa8($sp) -.L800BB330: -/* 0BBF30 800BB330 3C19800E */ lui $t9, %hi(D_800E30D8) # $t9, 0x800e -/* 0BBF34 800BB334 001870C0 */ sll $t6, $t8, 3 -/* 0BBF38 800BB338 8F3930D8 */ lw $t9, %lo(D_800E30D8)($t9) -/* 0BBF3C 800BB33C 01D87023 */ subu $t6, $t6, $t8 -/* 0BBF40 800BB340 000E7080 */ sll $t6, $t6, 2 -/* 0BBF44 800BB344 032E2821 */ addu $a1, $t9, $t6 -/* 0BBF48 800BB348 3C19800E */ lui $t9, %hi(D_800E317C) # $t9, 0x800e -/* 0BBF4C 800BB34C 8F39317C */ lw $t9, %lo(D_800E317C)($t9) -/* 0BBF50 800BB350 84AF0006 */ lh $t7, 6($a1) -/* 0BBF54 800BB354 03190019 */ multu $t8, $t9 -/* 0BBF58 800BB358 448F5000 */ mtc1 $t7, $f10 -/* 0BBF5C 800BB35C 3C018013 */ lui $at, %hi(D_8012A0BC) # $at, 0x8013 -/* 0BBF60 800BB360 46805120 */ cvt.s.w $f4, $f10 -/* 0BBF64 800BB364 C426A0BC */ lwc1 $f6, %lo(D_8012A0BC)($at) -/* 0BBF68 800BB368 3C018013 */ lui $at, %hi(D_8012A0B8) # $at, 0x8013 -/* 0BBF6C 800BB36C C428A0B8 */ lwc1 $f8, %lo(D_8012A0B8)($at) -/* 0BBF70 800BB370 3C098013 */ lui $t1, %hi(D_80129FC8) # $t1, 0x8013 -/* 0BBF74 800BB374 25299FC8 */ addiu $t1, %lo(D_80129FC8) # addiu $t1, $t1, -0x6038 -/* 0BBF78 800BB378 E7A40078 */ swc1 $f4, 0x78($sp) -/* 0BBF7C 800BB37C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BBF80 800BB380 44815000 */ mtc1 $at, $f10 -/* 0BBF84 800BB384 C5240044 */ lwc1 $f4, 0x44($t1) -/* 0BBF88 800BB388 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0BBF8C 800BB38C 46045281 */ sub.s $f10, $f10, $f4 -/* 0BBF90 800BB390 44812000 */ mtc1 $at, $f4 -/* 0BBF94 800BB394 8D2F0028 */ lw $t7, 0x28($t1) -/* 0BBF98 800BB398 00007012 */ mflo $t6 -/* 0BBF9C 800BB39C AFAE0058 */ sw $t6, 0x58($sp) -/* 0BBFA0 800BB3A0 E7A60090 */ swc1 $f6, 0x90($sp) -/* 0BBFA4 800BB3A4 E7A80094 */ swc1 $f8, 0x94($sp) -/* 0BBFA8 800BB3A8 11E0000D */ beqz $t7, .L800BB3E0 -/* 0BBFAC 800BB3AC 46045403 */ div.s $f16, $f10, $f4 -/* 0BBFB0 800BB3B0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BBFB4 800BB3B4 44815000 */ mtc1 $at, $f10 -/* 0BBFB8 800BB3B8 8D380000 */ lw $t8, ($t1) -/* 0BBFBC 800BB3BC 460A3102 */ mul.s $f4, $f6, $f10 -/* 0BBFC0 800BB3C0 44813000 */ mtc1 $at, $f6 -/* 0BBFC4 800BB3C4 0018C840 */ sll $t9, $t8, 1 -/* 0BBFC8 800BB3C8 272E0001 */ addiu $t6, $t9, 1 -/* 0BBFCC 800BB3CC 46064282 */ mul.s $f10, $f8, $f6 -/* 0BBFD0 800BB3D0 E7A40090 */ swc1 $f4, 0x90($sp) -/* 0BBFD4 800BB3D4 AFAE0060 */ sw $t6, 0x60($sp) -/* 0BBFD8 800BB3D8 10000005 */ b .L800BB3F0 -/* 0BBFDC 800BB3DC E7AA0094 */ swc1 $f10, 0x94($sp) -.L800BB3E0: -/* 0BBFE0 800BB3E0 8D2F0000 */ lw $t7, ($t1) -/* 0BBFE4 800BB3E4 00000000 */ nop -/* 0BBFE8 800BB3E8 25F80001 */ addiu $t8, $t7, 1 -/* 0BBFEC 800BB3EC AFB80060 */ sw $t8, 0x60($sp) -.L800BB3F0: -/* 0BBFF0 800BB3F0 84B90004 */ lh $t9, 4($a1) -/* 0BBFF4 800BB3F4 C7A400AC */ lwc1 $f4, 0xac($sp) -/* 0BBFF8 800BB3F8 44994000 */ mtc1 $t9, $f8 -/* 0BBFFC 800BB3FC 3C018013 */ lui $at, %hi(D_8012A0A0) # $at, 0x8013 -/* 0BC000 800BB400 468041A0 */ cvt.s.w $f6, $f8 -/* 0BC004 800BB404 44804000 */ mtc1 $zero, $f8 -/* 0BC008 800BB408 46062281 */ sub.s $f10, $f4, $f6 -/* 0BC00C 800BB40C 4608503C */ c.lt.s $f10, $f8 -/* 0BC010 800BB410 E7AA00AC */ swc1 $f10, 0xac($sp) -/* 0BC014 800BB414 45000004 */ bc1f .L800BB428 -/* 0BC018 800BB418 00000000 */ nop -/* 0BC01C 800BB41C 44802000 */ mtc1 $zero, $f4 -/* 0BC020 800BB420 1000000C */ b .L800BB454 -/* 0BC024 800BB424 E7A400AC */ swc1 $f4, 0xac($sp) -.L800BB428: -/* 0BC028 800BB428 C420A0A0 */ lwc1 $f0, %lo(D_8012A0A0)($at) -/* 0BC02C 800BB42C C7A600AC */ lwc1 $f6, 0xac($sp) -/* 0BC030 800BB430 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BC034 800BB434 4606003E */ c.le.s $f0, $f6 -/* 0BC038 800BB438 00000000 */ nop -/* 0BC03C 800BB43C 45000005 */ bc1f .L800BB454 -/* 0BC040 800BB440 00000000 */ nop -/* 0BC044 800BB444 44815000 */ mtc1 $at, $f10 -/* 0BC048 800BB448 00000000 */ nop -/* 0BC04C 800BB44C 460A0201 */ sub.s $f8, $f0, $f10 -/* 0BC050 800BB450 E7A800AC */ swc1 $f8, 0xac($sp) -.L800BB454: -/* 0BC054 800BB454 84AE0008 */ lh $t6, 8($a1) -/* 0BC058 800BB458 C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 0BC05C 800BB45C 448E3000 */ mtc1 $t6, $f6 -/* 0BC060 800BB460 3C018013 */ lui $at, %hi(D_8012A0A4) # $at, 0x8013 -/* 0BC064 800BB464 468032A0 */ cvt.s.w $f10, $f6 -/* 0BC068 800BB468 44803000 */ mtc1 $zero, $f6 -/* 0BC06C 800BB46C 460A2201 */ sub.s $f8, $f4, $f10 -/* 0BC070 800BB470 4606403C */ c.lt.s $f8, $f6 -/* 0BC074 800BB474 E7A800B0 */ swc1 $f8, 0xb0($sp) -/* 0BC078 800BB478 45000004 */ bc1f .L800BB48C -/* 0BC07C 800BB47C 00000000 */ nop -/* 0BC080 800BB480 44802000 */ mtc1 $zero, $f4 -/* 0BC084 800BB484 1000000C */ b .L800BB4B8 -/* 0BC088 800BB488 E7A400B0 */ swc1 $f4, 0xb0($sp) -.L800BB48C: -/* 0BC08C 800BB48C C420A0A4 */ lwc1 $f0, %lo(D_8012A0A4)($at) -/* 0BC090 800BB490 C7AA00B0 */ lwc1 $f10, 0xb0($sp) -/* 0BC094 800BB494 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BC098 800BB498 460A003E */ c.le.s $f0, $f10 -/* 0BC09C 800BB49C 00000000 */ nop -/* 0BC0A0 800BB4A0 45000005 */ bc1f .L800BB4B8 -/* 0BC0A4 800BB4A4 00000000 */ nop -/* 0BC0A8 800BB4A8 44814000 */ mtc1 $at, $f8 -/* 0BC0AC 800BB4AC 00000000 */ nop -/* 0BC0B0 800BB4B0 46080181 */ sub.s $f6, $f0, $f8 -/* 0BC0B4 800BB4B4 E7A600B0 */ swc1 $f6, 0xb0($sp) -.L800BB4B8: -/* 0BC0B8 800BB4B8 C7A400AC */ lwc1 $f4, 0xac($sp) -/* 0BC0BC 800BB4BC C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 0BC0C0 800BB4C0 E7A40018 */ swc1 $f4, 0x18($sp) -/* 0BC0C4 800BB4C4 460A2203 */ div.s $f8, $f4, $f10 -/* 0BC0C8 800BB4C8 8D230004 */ lw $v1, 4($t1) -/* 0BC0CC 800BB4CC 3C0A800E */ lui $t2, 0x800e -/* 0BC0D0 800BB4D0 444FF800 */ cfc1 $t7, $31 -/* 0BC0D4 800BB4D4 00000000 */ nop -/* 0BC0D8 800BB4D8 35E10003 */ ori $at, $t7, 3 -/* 0BC0DC 800BB4DC 38210002 */ xori $at, $at, 2 -/* 0BC0E0 800BB4E0 44C1F800 */ ctc1 $at, $31 -/* 0BC0E4 800BB4E4 00000000 */ nop -/* 0BC0E8 800BB4E8 460041A4 */ cvt.w.s $f6, $f8 -/* 0BC0EC 800BB4EC C7A800B0 */ lwc1 $f8, 0xb0($sp) -/* 0BC0F0 800BB4F0 44023000 */ mfc1 $v0, $f6 -/* 0BC0F4 800BB4F4 44CFF800 */ ctc1 $t7, $31 -/* 0BC0F8 800BB4F8 C7A60090 */ lwc1 $f6, 0x90($sp) -/* 0BC0FC 800BB4FC AFA20070 */ sw $v0, 0x70($sp) -/* 0BC100 800BB500 46064103 */ div.s $f4, $f8, $f6 -/* 0BC104 800BB504 4458F800 */ cfc1 $t8, $31 -/* 0BC108 800BB508 00000000 */ nop -/* 0BC10C 800BB50C 37010003 */ ori $at, $t8, 3 -/* 0BC110 800BB510 38210002 */ xori $at, $at, 2 -/* 0BC114 800BB514 44C1F800 */ ctc1 $at, $31 -/* 0BC118 800BB518 00000000 */ nop -/* 0BC11C 800BB51C 46002124 */ cvt.w.s $f4, $f4 -/* 0BC120 800BB520 44042000 */ mfc1 $a0, $f4 -/* 0BC124 800BB524 44822000 */ mtc1 $v0, $f4 -/* 0BC128 800BB528 44D8F800 */ ctc1 $t8, $31 -/* 0BC12C 800BB52C AFA4006C */ sw $a0, 0x6c($sp) -/* 0BC130 800BB530 46802120 */ cvt.s.w $f4, $f4 -/* 0BC134 800BB534 8FB8006C */ lw $t8, 0x6c($sp) -/* 0BC138 800BB538 460A2102 */ mul.s $f4, $f4, $f10 -/* 0BC13C 800BB53C C7AA0018 */ lwc1 $f10, 0x18($sp) -/* 0BC140 800BB540 00000000 */ nop -/* 0BC144 800BB544 46045281 */ sub.s $f10, $f10, $f4 -/* 0BC148 800BB548 44842000 */ mtc1 $a0, $f4 -/* 0BC14C 800BB54C E7AA00AC */ swc1 $f10, 0xac($sp) -/* 0BC150 800BB550 468022A0 */ cvt.s.w $f10, $f4 -/* 0BC154 800BB554 46065102 */ mul.s $f4, $f10, $f6 -/* 0BC158 800BB558 46044281 */ sub.s $f10, $f8, $f4 -/* 0BC15C 800BB55C C7A80090 */ lwc1 $f8, 0x90($sp) -/* 0BC160 800BB560 E7AA00B0 */ swc1 $f10, 0xb0($sp) -/* 0BC164 800BB564 84B90012 */ lh $t9, 0x12($a1) -/* 0BC168 800BB568 C7A600B0 */ lwc1 $f6, 0xb0($sp) -/* 0BC16C 800BB56C 03224021 */ addu $t0, $t9, $v0 -/* 0BC170 800BB570 0103082A */ slt $at, $t0, $v1 -/* 0BC174 800BB574 14200005 */ bnez $at, .L800BB58C -/* 0BC178 800BB578 00000000 */ nop -.L800BB57C: -/* 0BC17C 800BB57C 01034023 */ subu $t0, $t0, $v1 -/* 0BC180 800BB580 0103082A */ slt $at, $t0, $v1 -/* 0BC184 800BB584 1020FFFD */ beqz $at, .L800BB57C -/* 0BC188 800BB588 00000000 */ nop -.L800BB58C: -/* 0BC18C 800BB58C 84AF0010 */ lh $t7, 0x10($a1) -/* 0BC190 800BB590 251F0001 */ addiu $ra, $t0, 1 -/* 0BC194 800BB594 01F83821 */ addu $a3, $t7, $t8 -/* 0BC198 800BB598 00E3082A */ slt $at, $a3, $v1 -/* 0BC19C 800BB59C 14200005 */ bnez $at, .L800BB5B4 -/* 0BC1A0 800BB5A0 3C05800E */ lui $a1, 0x800e -.L800BB5A4: -/* 0BC1A4 800BB5A4 00E33823 */ subu $a3, $a3, $v1 -/* 0BC1A8 800BB5A8 00E3082A */ slt $at, $a3, $v1 -/* 0BC1AC 800BB5AC 1020FFFD */ beqz $at, .L800BB5A4 -/* 0BC1B0 800BB5B0 00000000 */ nop -.L800BB5B4: -/* 0BC1B4 800BB5B4 46083032 */ c.eq.s $f6, $f8 -/* 0BC1B8 800BB5B8 00001025 */ move $v0, $zero -/* 0BC1BC 800BB5BC 4501000C */ bc1t .L800BB5F0 -/* 0BC1C0 800BB5C0 03E3082A */ slt $at, $ra, $v1 -/* 0BC1C4 800BB5C4 46064281 */ sub.s $f10, $f8, $f6 -/* 0BC1C8 800BB5C8 C7A400AC */ lwc1 $f4, 0xac($sp) -/* 0BC1CC 800BB5CC 46085183 */ div.s $f6, $f10, $f8 -/* 0BC1D0 800BB5D0 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 0BC1D4 800BB5D4 00000000 */ nop -/* 0BC1D8 800BB5D8 460A3202 */ mul.s $f8, $f6, $f10 -/* 0BC1DC 800BB5DC 4608203C */ c.lt.s $f4, $f8 -/* 0BC1E0 800BB5E0 00000000 */ nop -/* 0BC1E4 800BB5E4 45000002 */ bc1f .L800BB5F0 -/* 0BC1E8 800BB5E8 00000000 */ nop -/* 0BC1EC 800BB5EC 24020001 */ li $v0, 1 -.L800BB5F0: -/* 0BC1F0 800BB5F0 104000DF */ beqz $v0, .L800BB970 -/* 0BC1F4 800BB5F4 00000000 */ nop -/* 0BC1F8 800BB5F8 00E30019 */ multu $a3, $v1 -/* 0BC1FC 800BB5FC 3C0A800E */ lui $t2, %hi(D_800E3044) # $t2, 0x800e -/* 0BC200 800BB600 8D4A3044 */ lw $t2, %lo(D_800E3044)($t2) -/* 0BC204 800BB604 3C05800E */ lui $a1, %hi(D_800E3040) # $a1, 0x800e -/* 0BC208 800BB608 8CA53040 */ lw $a1, %lo(D_800E3040)($a1) -/* 0BC20C 800BB60C C52E0040 */ lwc1 $f14, 0x40($t1) -/* 0BC210 800BB610 3C0B800E */ lui $t3, %hi(D_800E3188) # $t3, 0x800e -/* 0BC214 800BB614 8D6B3188 */ lw $t3, %lo(D_800E3188)($t3) -/* 0BC218 800BB618 8FA6006C */ lw $a2, 0x6c($sp) -/* 0BC21C 800BB61C 0000C812 */ mflo $t9 -/* 0BC220 800BB620 03282021 */ addu $a0, $t9, $t0 -/* 0BC224 800BB624 00047080 */ sll $t6, $a0, 2 -/* 0BC228 800BB628 014E1021 */ addu $v0, $t2, $t6 -/* 0BC22C 800BB62C 844F0002 */ lh $t7, 2($v0) -/* 0BC230 800BB630 844E0000 */ lh $t6, ($v0) -/* 0BC234 800BB634 000FC080 */ sll $t8, $t7, 2 -/* 0BC238 800BB638 00B8C821 */ addu $t9, $a1, $t8 -/* 0BC23C 800BB63C 000E7880 */ sll $t7, $t6, 2 -/* 0BC240 800BB640 00AFC021 */ addu $t8, $a1, $t7 -/* 0BC244 800BB644 C70A0000 */ lwc1 $f10, ($t8) -/* 0BC248 800BB648 C7260000 */ lwc1 $f6, ($t9) -/* 0BC24C 800BB64C 8FA400A8 */ lw $a0, 0xa8($sp) -/* 0BC250 800BB650 460A3100 */ add.s $f4, $f6, $f10 -/* 0BC254 800BB654 460E2202 */ mul.s $f8, $f4, $f14 -/* 0BC258 800BB658 19600016 */ blez $t3, .L800BB6B4 -/* 0BC25C 800BB65C E7A800A0 */ swc1 $f8, 0xa0($sp) -/* 0BC260 800BB660 8FA50070 */ lw $a1, 0x70($sp) -/* 0BC264 800BB664 AFA70064 */ sw $a3, 0x64($sp) -/* 0BC268 800BB668 AFA80068 */ sw $t0, 0x68($sp) -/* 0BC26C 800BB66C 0C02FBF1 */ jal func_800BEFC4 -/* 0BC270 800BB670 E7B0008C */ swc1 $f16, 0x8c($sp) -/* 0BC274 800BB674 C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 0BC278 800BB678 3C038013 */ lui $v1, %hi(D_80129FC8 + 4) # $v1, 0x8013 -/* 0BC27C 800BB67C 46003280 */ add.s $f10, $f6, $f0 -/* 0BC280 800BB680 3C05800E */ lui $a1, %hi(D_800E3040) # $a1, 0x800e -/* 0BC284 800BB684 3C0A800E */ lui $t2, %hi(D_800E3044) # $t2, 0x800e -/* 0BC288 800BB688 3C018013 */ lui $at, %hi(D_80129FC8 + 64) # $at, 0x8013 -/* 0BC28C 800BB68C 3C0B800E */ lui $t3, %hi(D_800E3188) # $t3, 0x800e -/* 0BC290 800BB690 8D6B3188 */ lw $t3, %lo(D_800E3188)($t3) -/* 0BC294 800BB694 C42EA008 */ lwc1 $f14, %lo(D_80129FC8 + 64)($at) -/* 0BC298 800BB698 8D4A3044 */ lw $t2, %lo(D_800E3044)($t2) -/* 0BC29C 800BB69C 8CA53040 */ lw $a1, %lo(D_800E3040)($a1) -/* 0BC2A0 800BB6A0 8C639FCC */ lw $v1, %lo(D_80129FC8 + 4)($v1) -/* 0BC2A4 800BB6A4 8FA70064 */ lw $a3, 0x64($sp) -/* 0BC2A8 800BB6A8 8FA80068 */ lw $t0, 0x68($sp) -/* 0BC2AC 800BB6AC C7B0008C */ lwc1 $f16, 0x8c($sp) -/* 0BC2B0 800BB6B0 E7AA00A0 */ swc1 $f10, 0xa0($sp) -.L800BB6B4: -/* 0BC2B4 800BB6B4 8FAF006C */ lw $t7, 0x6c($sp) -/* 0BC2B8 800BB6B8 8FB80060 */ lw $t8, 0x60($sp) -/* 0BC2BC 800BB6BC 8FB90058 */ lw $t9, 0x58($sp) -/* 0BC2C0 800BB6C0 01F80019 */ multu $t7, $t8 -/* 0BC2C4 800BB6C4 8FAE0070 */ lw $t6, 0x70($sp) -/* 0BC2C8 800BB6C8 3C0C800E */ lui $t4, %hi(D_800E3178) # $t4, 0x800e -/* 0BC2CC 800BB6CC 032E6821 */ addu $t5, $t9, $t6 -/* 0BC2D0 800BB6D0 8D8C3178 */ lw $t4, %lo(D_800E3178)($t4) -/* 0BC2D4 800BB6D4 24E90001 */ addiu $t1, $a3, 1 -/* 0BC2D8 800BB6D8 0000C812 */ mflo $t9 -/* 0BC2DC 800BB6DC 01B9F821 */ addu $ra, $t5, $t9 -/* 0BC2E0 800BB6E0 019F7021 */ addu $t6, $t4, $ra -/* 0BC2E4 800BB6E4 91C20000 */ lbu $v0, ($t6) -/* 0BC2E8 800BB6E8 00000000 */ nop -/* 0BC2EC 800BB6EC 2841007F */ slti $at, $v0, 0x7f -/* 0BC2F0 800BB6F0 1020000B */ beqz $at, .L800BB720 -/* 0BC2F4 800BB6F4 0123082A */ slt $at, $t1, $v1 -/* 0BC2F8 800BB6F8 44824000 */ mtc1 $v0, $f8 -/* 0BC2FC 800BB6FC 3C018013 */ lui $at, %hi(D_80129FC8 + 68) # $at, 0x8013 -/* 0BC300 800BB700 468041A0 */ cvt.s.w $f6, $f8 -/* 0BC304 800BB704 C424A00C */ lwc1 $f4, %lo(D_80129FC8 + 68)($at) -/* 0BC308 800BB708 46103282 */ mul.s $f10, $f6, $f16 -/* 0BC30C 800BB70C C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 0BC310 800BB710 460A2200 */ add.s $f8, $f4, $f10 -/* 0BC314 800BB714 46083102 */ mul.s $f4, $f6, $f8 -/* 0BC318 800BB718 E7A400A0 */ swc1 $f4, 0xa0($sp) -/* 0BC31C 800BB71C 0123082A */ slt $at, $t1, $v1 -.L800BB720: -/* 0BC320 800BB720 14200003 */ bnez $at, .L800BB730 -/* 0BC324 800BB724 00000000 */ nop -/* 0BC328 800BB728 10000005 */ b .L800BB740 -/* 0BC32C 800BB72C 01002025 */ move $a0, $t0 -.L800BB730: -/* 0BC330 800BB730 01230019 */ multu $t1, $v1 -/* 0BC334 800BB734 00007812 */ mflo $t7 -/* 0BC338 800BB738 01E82021 */ addu $a0, $t7, $t0 -/* 0BC33C 800BB73C 00000000 */ nop -.L800BB740: -/* 0BC340 800BB740 0004C080 */ sll $t8, $a0, 2 -/* 0BC344 800BB744 01581021 */ addu $v0, $t2, $t8 -/* 0BC348 800BB748 84590002 */ lh $t9, 2($v0) -/* 0BC34C 800BB74C 84580000 */ lh $t8, ($v0) -/* 0BC350 800BB750 00197080 */ sll $t6, $t9, 2 -/* 0BC354 800BB754 00AE7821 */ addu $t7, $a1, $t6 -/* 0BC358 800BB758 0018C880 */ sll $t9, $t8, 2 -/* 0BC35C 800BB75C 00B97021 */ addu $t6, $a1, $t9 -/* 0BC360 800BB760 C5C60000 */ lwc1 $f6, ($t6) -/* 0BC364 800BB764 C5EA0000 */ lwc1 $f10, ($t7) -/* 0BC368 800BB768 8FA6006C */ lw $a2, 0x6c($sp) -/* 0BC36C 800BB76C 46065200 */ add.s $f8, $f10, $f6 -/* 0BC370 800BB770 8FA400A8 */ lw $a0, 0xa8($sp) -/* 0BC374 800BB774 460E4302 */ mul.s $f12, $f8, $f14 -/* 0BC378 800BB778 1960001C */ blez $t3, .L800BB7EC -/* 0BC37C 800BB77C 24C60001 */ addiu $a2, $a2, 1 -/* 0BC380 800BB780 8FA50070 */ lw $a1, 0x70($sp) -/* 0BC384 800BB784 AFBF0034 */ sw $ra, 0x34($sp) -/* 0BC388 800BB788 AFA70064 */ sw $a3, 0x64($sp) -/* 0BC38C 800BB78C AFA80068 */ sw $t0, 0x68($sp) -/* 0BC390 800BB790 AFAD0038 */ sw $t5, 0x38($sp) -/* 0BC394 800BB794 E7AC009C */ swc1 $f12, 0x9c($sp) -/* 0BC398 800BB798 0C02FBF1 */ jal func_800BEFC4 -/* 0BC39C 800BB79C E7B0008C */ swc1 $f16, 0x8c($sp) -/* 0BC3A0 800BB7A0 C7AC009C */ lwc1 $f12, 0x9c($sp) -/* 0BC3A4 800BB7A4 3C038013 */ lui $v1, %hi(D_80129FC8 + 4) # $v1, 0x8013 -/* 0BC3A8 800BB7A8 3C05800E */ lui $a1, %hi(D_800E3040) # $a1, 0x800e -/* 0BC3AC 800BB7AC 3C0A800E */ lui $t2, %hi(D_800E3044) # $t2, 0x800e -/* 0BC3B0 800BB7B0 3C018013 */ lui $at, %hi(D_80129FC8 + 64) # $at, 0x8013 -/* 0BC3B4 800BB7B4 3C0B800E */ lui $t3, %hi(D_800E3188) # $t3, 0x800e -/* 0BC3B8 800BB7B8 3C0C800E */ lui $t4, %hi(D_800E3178) # $t4, 0x800e -/* 0BC3BC 800BB7BC 8D8C3178 */ lw $t4, %lo(D_800E3178)($t4) -/* 0BC3C0 800BB7C0 8D6B3188 */ lw $t3, %lo(D_800E3188)($t3) -/* 0BC3C4 800BB7C4 C42EA008 */ lwc1 $f14, %lo(D_80129FC8 + 64)($at) -/* 0BC3C8 800BB7C8 8D4A3044 */ lw $t2, %lo(D_800E3044)($t2) -/* 0BC3CC 800BB7CC 8CA53040 */ lw $a1, %lo(D_800E3040)($a1) -/* 0BC3D0 800BB7D0 8C639FCC */ lw $v1, %lo(D_80129FC8 + 4)($v1) -/* 0BC3D4 800BB7D4 8FA70064 */ lw $a3, 0x64($sp) -/* 0BC3D8 800BB7D8 8FA80068 */ lw $t0, 0x68($sp) -/* 0BC3DC 800BB7DC 8FAD0038 */ lw $t5, 0x38($sp) -/* 0BC3E0 800BB7E0 8FBF0034 */ lw $ra, 0x34($sp) -/* 0BC3E4 800BB7E4 C7B0008C */ lwc1 $f16, 0x8c($sp) -/* 0BC3E8 800BB7E8 46006300 */ add.s $f12, $f12, $f0 -.L800BB7EC: -/* 0BC3EC 800BB7EC 8FAF006C */ lw $t7, 0x6c($sp) -/* 0BC3F0 800BB7F0 8FB90060 */ lw $t9, 0x60($sp) -/* 0BC3F4 800BB7F4 25F80001 */ addiu $t8, $t7, 1 -/* 0BC3F8 800BB7F8 03190019 */ multu $t8, $t9 -/* 0BC3FC 800BB7FC 25190001 */ addiu $t9, $t0, 1 -/* 0BC400 800BB800 00007012 */ mflo $t6 -/* 0BC404 800BB804 01AE7821 */ addu $t7, $t5, $t6 -/* 0BC408 800BB808 018FC021 */ addu $t8, $t4, $t7 -/* 0BC40C 800BB80C 00E30019 */ multu $a3, $v1 -/* 0BC410 800BB810 93020000 */ lbu $v0, ($t8) -/* 0BC414 800BB814 00000000 */ nop -/* 0BC418 800BB818 2841007F */ slti $at, $v0, 0x7f -/* 0BC41C 800BB81C 00003012 */ mflo $a2 -/* 0BC420 800BB820 01062021 */ addu $a0, $t0, $a2 -/* 0BC424 800BB824 10200009 */ beqz $at, .L800BB84C -/* 0BC428 800BB828 24840001 */ addiu $a0, $a0, 1 -/* 0BC42C 800BB82C 44825000 */ mtc1 $v0, $f10 -/* 0BC430 800BB830 3C018013 */ lui $at, %hi(D_80129FC8 + 68) # $at, 0x8013 -/* 0BC434 800BB834 468051A0 */ cvt.s.w $f6, $f10 -/* 0BC438 800BB838 C424A00C */ lwc1 $f4, %lo(D_80129FC8 + 68)($at) -/* 0BC43C 800BB83C 46103202 */ mul.s $f8, $f6, $f16 -/* 0BC440 800BB840 46082280 */ add.s $f10, $f4, $f8 -/* 0BC444 800BB844 460A6302 */ mul.s $f12, $f12, $f10 -/* 0BC448 800BB848 00000000 */ nop -.L800BB84C: -/* 0BC44C 800BB84C 0323082A */ slt $at, $t9, $v1 -/* 0BC450 800BB850 14200003 */ bnez $at, .L800BB860 -/* 0BC454 800BB854 00000000 */ nop -/* 0BC458 800BB858 10000001 */ b .L800BB860 -/* 0BC45C 800BB85C 00C02025 */ move $a0, $a2 -.L800BB860: -/* 0BC460 800BB860 00047080 */ sll $t6, $a0, 2 -/* 0BC464 800BB864 014E1021 */ addu $v0, $t2, $t6 -/* 0BC468 800BB868 844F0002 */ lh $t7, 2($v0) -/* 0BC46C 800BB86C 844E0000 */ lh $t6, ($v0) -/* 0BC470 800BB870 000FC080 */ sll $t8, $t7, 2 -/* 0BC474 800BB874 00B8C821 */ addu $t9, $a1, $t8 -/* 0BC478 800BB878 000E7880 */ sll $t7, $t6, 2 -/* 0BC47C 800BB87C 00AFC021 */ addu $t8, $a1, $t7 -/* 0BC480 800BB880 C7040000 */ lwc1 $f4, ($t8) -/* 0BC484 800BB884 C7260000 */ lwc1 $f6, ($t9) -/* 0BC488 800BB888 8FA50070 */ lw $a1, 0x70($sp) -/* 0BC48C 800BB88C 46043200 */ add.s $f8, $f6, $f4 -/* 0BC490 800BB890 8FA400A8 */ lw $a0, 0xa8($sp) -/* 0BC494 800BB894 460E4082 */ mul.s $f2, $f8, $f14 -/* 0BC498 800BB898 1960000E */ blez $t3, .L800BB8D4 -/* 0BC49C 800BB89C 24A50001 */ addiu $a1, $a1, 1 -/* 0BC4A0 800BB8A0 8FA6006C */ lw $a2, 0x6c($sp) -/* 0BC4A4 800BB8A4 AFBF0034 */ sw $ra, 0x34($sp) -/* 0BC4A8 800BB8A8 E7A20098 */ swc1 $f2, 0x98($sp) -/* 0BC4AC 800BB8AC E7AC009C */ swc1 $f12, 0x9c($sp) -/* 0BC4B0 800BB8B0 0C02FBF1 */ jal func_800BEFC4 -/* 0BC4B4 800BB8B4 E7B0008C */ swc1 $f16, 0x8c($sp) -/* 0BC4B8 800BB8B8 C7A20098 */ lwc1 $f2, 0x98($sp) -/* 0BC4BC 800BB8BC 3C0C800E */ lui $t4, %hi(D_800E3178) # $t4, 0x800e -/* 0BC4C0 800BB8C0 8D8C3178 */ lw $t4, %lo(D_800E3178)($t4) -/* 0BC4C4 800BB8C4 8FBF0034 */ lw $ra, 0x34($sp) -/* 0BC4C8 800BB8C8 C7AC009C */ lwc1 $f12, 0x9c($sp) -/* 0BC4CC 800BB8CC C7B0008C */ lwc1 $f16, 0x8c($sp) -/* 0BC4D0 800BB8D0 46001080 */ add.s $f2, $f2, $f0 -.L800BB8D4: -/* 0BC4D4 800BB8D4 019FC821 */ addu $t9, $t4, $ra -/* 0BC4D8 800BB8D8 93220001 */ lbu $v0, 1($t9) -/* 0BC4DC 800BB8DC 3C038013 */ lui $v1, %hi(D_80129FC8 + 40) # $v1, 0x8013 -/* 0BC4E0 800BB8E0 8C639FF0 */ lw $v1, %lo(D_80129FC8 + 40)($v1) -/* 0BC4E4 800BB8E4 2841007F */ slti $at, $v0, 0x7f -/* 0BC4E8 800BB8E8 10200009 */ beqz $at, .L800BB910 -/* 0BC4EC 800BB8EC 00000000 */ nop -/* 0BC4F0 800BB8F0 44823000 */ mtc1 $v0, $f6 -/* 0BC4F4 800BB8F4 3C018013 */ lui $at, %hi(D_80129FC8 + 68) # $at, 0x8013 -/* 0BC4F8 800BB8F8 46803120 */ cvt.s.w $f4, $f6 -/* 0BC4FC 800BB8FC C42AA00C */ lwc1 $f10, %lo(D_80129FC8 + 68)($at) -/* 0BC500 800BB900 46102202 */ mul.s $f8, $f4, $f16 -/* 0BC504 800BB904 46085180 */ add.s $f6, $f10, $f8 -/* 0BC508 800BB908 46061082 */ mul.s $f2, $f2, $f6 -/* 0BC50C 800BB90C 00000000 */ nop -.L800BB910: -/* 0BC510 800BB910 1060000A */ beqz $v1, .L800BB93C -/* 0BC514 800BB914 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BC518 800BB918 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 0BC51C 800BB91C 44815000 */ mtc1 $at, $f10 -/* 0BC520 800BB920 44813000 */ mtc1 $at, $f6 -/* 0BC524 800BB924 460A2202 */ mul.s $f8, $f4, $f10 -/* 0BC528 800BB928 44812000 */ mtc1 $at, $f4 -/* 0BC52C 800BB92C 46066302 */ mul.s $f12, $f12, $f6 -/* 0BC530 800BB930 E7A800A0 */ swc1 $f8, 0xa0($sp) -/* 0BC534 800BB934 46041082 */ mul.s $f2, $f2, $f4 -/* 0BC538 800BB938 00000000 */ nop -.L800BB93C: -/* 0BC53C 800BB93C C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 0BC540 800BB940 44805000 */ mtc1 $zero, $f10 -/* 0BC544 800BB944 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 0BC548 800BB948 46024181 */ sub.s $f6, $f8, $f2 -/* 0BC54C 800BB94C E7AA00A4 */ swc1 $f10, 0xa4($sp) -/* 0BC550 800BB950 46043382 */ mul.s $f14, $f6, $f4 -/* 0BC554 800BB954 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 0BC558 800BB958 00000000 */ nop -/* 0BC55C 800BB95C 460A2402 */ mul.s $f16, $f4, $f10 -/* 0BC560 800BB960 460C4181 */ sub.s $f6, $f8, $f12 -/* 0BC564 800BB964 460A3482 */ mul.s $f18, $f6, $f10 -/* 0BC568 800BB968 100000E5 */ b .L800BBD00 -/* 0BC56C 800BB96C E7B00084 */ swc1 $f16, 0x84($sp) -.L800BB970: -/* 0BC570 800BB970 14200005 */ bnez $at, .L800BB988 -/* 0BC574 800BB974 00000000 */ nop -/* 0BC578 800BB978 00E30019 */ multu $a3, $v1 -/* 0BC57C 800BB97C 00002012 */ mflo $a0 -/* 0BC580 800BB980 10000005 */ b .L800BB998 -/* 0BC584 800BB984 00000000 */ nop -.L800BB988: -/* 0BC588 800BB988 00E30019 */ multu $a3, $v1 -/* 0BC58C 800BB98C 00007012 */ mflo $t6 -/* 0BC590 800BB990 010E2021 */ addu $a0, $t0, $t6 -/* 0BC594 800BB994 24840001 */ addiu $a0, $a0, 1 -.L800BB998: -/* 0BC598 800BB998 8D4A3044 */ lw $t2, %lo(D_800E3044)($t2) -/* 0BC59C 800BB99C 00047880 */ sll $t7, $a0, 2 -/* 0BC5A0 800BB9A0 014F1021 */ addu $v0, $t2, $t7 -/* 0BC5A4 800BB9A4 84580002 */ lh $t8, 2($v0) -/* 0BC5A8 800BB9A8 844F0000 */ lh $t7, ($v0) -/* 0BC5AC 800BB9AC 8CA53040 */ lw $a1, %lo(D_800E3040)($a1) -/* 0BC5B0 800BB9B0 0018C880 */ sll $t9, $t8, 2 -/* 0BC5B4 800BB9B4 000FC080 */ sll $t8, $t7, 2 -/* 0BC5B8 800BB9B8 00B97021 */ addu $t6, $a1, $t9 -/* 0BC5BC 800BB9BC 00B8C821 */ addu $t9, $a1, $t8 -/* 0BC5C0 800BB9C0 C7280000 */ lwc1 $f8, ($t9) -/* 0BC5C4 800BB9C4 C5C40000 */ lwc1 $f4, ($t6) -/* 0BC5C8 800BB9C8 C52E0040 */ lwc1 $f14, 0x40($t1) -/* 0BC5CC 800BB9CC 46082180 */ add.s $f6, $f4, $f8 -/* 0BC5D0 800BB9D0 3C0B800E */ lui $t3, %hi(D_800E3188) # $t3, 0x800e -/* 0BC5D4 800BB9D4 460E3282 */ mul.s $f10, $f6, $f14 -/* 0BC5D8 800BB9D8 8D6B3188 */ lw $t3, %lo(D_800E3188)($t3) -/* 0BC5DC 800BB9DC 8FA400A8 */ lw $a0, 0xa8($sp) -/* 0BC5E0 800BB9E0 1960001A */ blez $t3, .L800BBA4C -/* 0BC5E4 800BB9E4 E7AA00A0 */ swc1 $f10, 0xa0($sp) -/* 0BC5E8 800BB9E8 8FA50070 */ lw $a1, 0x70($sp) -/* 0BC5EC 800BB9EC 8FA6006C */ lw $a2, 0x6c($sp) -/* 0BC5F0 800BB9F0 AFBF0024 */ sw $ra, 0x24($sp) -/* 0BC5F4 800BB9F4 AFA70064 */ sw $a3, 0x64($sp) -/* 0BC5F8 800BB9F8 AFA80068 */ sw $t0, 0x68($sp) -/* 0BC5FC 800BB9FC E7B0008C */ swc1 $f16, 0x8c($sp) -/* 0BC600 800BBA00 0C02FBF1 */ jal func_800BEFC4 -/* 0BC604 800BBA04 24A50001 */ addiu $a1, $a1, 1 -/* 0BC608 800BBA08 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 0BC60C 800BBA0C 3C038013 */ lui $v1, %hi(D_80129FC8 + 4) # $v1, 0x8013 -/* 0BC610 800BBA10 46002200 */ add.s $f8, $f4, $f0 -/* 0BC614 800BBA14 3C05800E */ lui $a1, %hi(D_800E3040) # $a1, 0x800e -/* 0BC618 800BBA18 3C0A800E */ lui $t2, %hi(D_800E3044) # $t2, 0x800e -/* 0BC61C 800BBA1C 3C018013 */ lui $at, %hi(D_80129FC8 + 64) # $at, 0x8013 -/* 0BC620 800BBA20 3C0B800E */ lui $t3, %hi(D_800E3188) # $t3, 0x800e -/* 0BC624 800BBA24 8D6B3188 */ lw $t3, %lo(D_800E3188)($t3) -/* 0BC628 800BBA28 C42EA008 */ lwc1 $f14, %lo(D_80129FC8 + 64)($at) -/* 0BC62C 800BBA2C 8D4A3044 */ lw $t2, %lo(D_800E3044)($t2) -/* 0BC630 800BBA30 8CA53040 */ lw $a1, %lo(D_800E3040)($a1) -/* 0BC634 800BBA34 8C639FCC */ lw $v1, %lo(D_80129FC8 + 4)($v1) -/* 0BC638 800BBA38 8FA70064 */ lw $a3, 0x64($sp) -/* 0BC63C 800BBA3C 8FA80068 */ lw $t0, 0x68($sp) -/* 0BC640 800BBA40 8FBF0024 */ lw $ra, 0x24($sp) -/* 0BC644 800BBA44 C7B0008C */ lwc1 $f16, 0x8c($sp) -/* 0BC648 800BBA48 E7A800A0 */ swc1 $f8, 0xa0($sp) -.L800BBA4C: -/* 0BC64C 800BBA4C 8FB8006C */ lw $t8, 0x6c($sp) -/* 0BC650 800BBA50 8FB90060 */ lw $t9, 0x60($sp) -/* 0BC654 800BBA54 8FAE0058 */ lw $t6, 0x58($sp) -/* 0BC658 800BBA58 03190019 */ multu $t8, $t9 -/* 0BC65C 800BBA5C 8FAF0070 */ lw $t7, 0x70($sp) -/* 0BC660 800BBA60 3C0C800E */ lui $t4, %hi(D_800E3178) # $t4, 0x800e -/* 0BC664 800BBA64 01CF6821 */ addu $t5, $t6, $t7 -/* 0BC668 800BBA68 8D8C3178 */ lw $t4, %lo(D_800E3178)($t4) -/* 0BC66C 800BBA6C 24E90001 */ addiu $t1, $a3, 1 -/* 0BC670 800BBA70 00007012 */ mflo $t6 -/* 0BC674 800BBA74 01AE7821 */ addu $t7, $t5, $t6 -/* 0BC678 800BBA78 018FC021 */ addu $t8, $t4, $t7 -/* 0BC67C 800BBA7C 93020001 */ lbu $v0, 1($t8) -/* 0BC680 800BBA80 00000000 */ nop -/* 0BC684 800BBA84 2841007F */ slti $at, $v0, 0x7f -/* 0BC688 800BBA88 1020000B */ beqz $at, .L800BBAB8 -/* 0BC68C 800BBA8C 0123082A */ slt $at, $t1, $v1 -/* 0BC690 800BBA90 44825000 */ mtc1 $v0, $f10 -/* 0BC694 800BBA94 3C018013 */ lui $at, %hi(D_80129FC8 + 68) # $at, 0x8013 -/* 0BC698 800BBA98 46805120 */ cvt.s.w $f4, $f10 -/* 0BC69C 800BBA9C C426A00C */ lwc1 $f6, %lo(D_80129FC8 + 68)($at) -/* 0BC6A0 800BBAA0 46102202 */ mul.s $f8, $f4, $f16 -/* 0BC6A4 800BBAA4 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 0BC6A8 800BBAA8 46083280 */ add.s $f10, $f6, $f8 -/* 0BC6AC 800BBAAC 460A2182 */ mul.s $f6, $f4, $f10 -/* 0BC6B0 800BBAB0 E7A600A0 */ swc1 $f6, 0xa0($sp) -/* 0BC6B4 800BBAB4 0123082A */ slt $at, $t1, $v1 -.L800BBAB8: -/* 0BC6B8 800BBAB8 14200003 */ bnez $at, .L800BBAC8 -/* 0BC6BC 800BBABC 00000000 */ nop -/* 0BC6C0 800BBAC0 10000005 */ b .L800BBAD8 -/* 0BC6C4 800BBAC4 01002025 */ move $a0, $t0 -.L800BBAC8: -/* 0BC6C8 800BBAC8 01230019 */ multu $t1, $v1 -/* 0BC6CC 800BBACC 0000C812 */ mflo $t9 -/* 0BC6D0 800BBAD0 03282021 */ addu $a0, $t9, $t0 -/* 0BC6D4 800BBAD4 00000000 */ nop -.L800BBAD8: -/* 0BC6D8 800BBAD8 00047080 */ sll $t6, $a0, 2 -/* 0BC6DC 800BBADC 014E1021 */ addu $v0, $t2, $t6 -/* 0BC6E0 800BBAE0 844F0002 */ lh $t7, 2($v0) -/* 0BC6E4 800BBAE4 844E0000 */ lh $t6, ($v0) -/* 0BC6E8 800BBAE8 000FC080 */ sll $t8, $t7, 2 -/* 0BC6EC 800BBAEC 00B8C821 */ addu $t9, $a1, $t8 -/* 0BC6F0 800BBAF0 000E7880 */ sll $t7, $t6, 2 -/* 0BC6F4 800BBAF4 00AFC021 */ addu $t8, $a1, $t7 -/* 0BC6F8 800BBAF8 C7040000 */ lwc1 $f4, ($t8) -/* 0BC6FC 800BBAFC C7280000 */ lwc1 $f8, ($t9) -/* 0BC700 800BBB00 8FA6006C */ lw $a2, 0x6c($sp) -/* 0BC704 800BBB04 46044280 */ add.s $f10, $f8, $f4 -/* 0BC708 800BBB08 8FA400A8 */ lw $a0, 0xa8($sp) -/* 0BC70C 800BBB0C 460E5302 */ mul.s $f12, $f10, $f14 -/* 0BC710 800BBB10 1960001A */ blez $t3, .L800BBB7C -/* 0BC714 800BBB14 24C60001 */ addiu $a2, $a2, 1 -/* 0BC718 800BBB18 8FA50070 */ lw $a1, 0x70($sp) -/* 0BC71C 800BBB1C AFBF0024 */ sw $ra, 0x24($sp) -/* 0BC720 800BBB20 AFA9004C */ sw $t1, 0x4c($sp) -/* 0BC724 800BBB24 AFAD0038 */ sw $t5, 0x38($sp) -/* 0BC728 800BBB28 E7AC009C */ swc1 $f12, 0x9c($sp) -/* 0BC72C 800BBB2C 0C02FBF1 */ jal func_800BEFC4 -/* 0BC730 800BBB30 E7B0008C */ swc1 $f16, 0x8c($sp) -/* 0BC734 800BBB34 C7AC009C */ lwc1 $f12, 0x9c($sp) -/* 0BC738 800BBB38 3C038013 */ lui $v1, %hi(D_80129FC8 + 4) # $v1, 0x8013 -/* 0BC73C 800BBB3C 3C05800E */ lui $a1, %hi(D_800E3040) # $a1, 0x800e -/* 0BC740 800BBB40 3C0A800E */ lui $t2, %hi(D_800E3044) # $t2, 0x800e -/* 0BC744 800BBB44 3C018013 */ lui $at, %hi(D_80129FC8 + 64) # $at, 0x8013 -/* 0BC748 800BBB48 3C0B800E */ lui $t3, %hi(D_800E3188) # $t3, 0x800e -/* 0BC74C 800BBB4C 3C0C800E */ lui $t4, %hi(D_800E3178) # $t4, 0x800e -/* 0BC750 800BBB50 8D8C3178 */ lw $t4, %lo(D_800E3178)($t4) -/* 0BC754 800BBB54 8D6B3188 */ lw $t3, %lo(D_800E3188)($t3) -/* 0BC758 800BBB58 C42EA008 */ lwc1 $f14, %lo(D_80129FC8 + 64)($at) -/* 0BC75C 800BBB5C 8D4A3044 */ lw $t2, %lo(D_800E3044)($t2) -/* 0BC760 800BBB60 8CA53040 */ lw $a1, %lo(D_800E3040)($a1) -/* 0BC764 800BBB64 8C639FCC */ lw $v1, %lo(D_80129FC8 + 4)($v1) -/* 0BC768 800BBB68 8FA9004C */ lw $t1, 0x4c($sp) -/* 0BC76C 800BBB6C 8FAD0038 */ lw $t5, 0x38($sp) -/* 0BC770 800BBB70 8FBF0024 */ lw $ra, 0x24($sp) -/* 0BC774 800BBB74 C7B0008C */ lwc1 $f16, 0x8c($sp) -/* 0BC778 800BBB78 46006300 */ add.s $f12, $f12, $f0 -.L800BBB7C: -/* 0BC77C 800BBB7C 8FA6006C */ lw $a2, 0x6c($sp) -/* 0BC780 800BBB80 8FB90060 */ lw $t9, 0x60($sp) -/* 0BC784 800BBB84 24C60001 */ addiu $a2, $a2, 1 -/* 0BC788 800BBB88 00D90019 */ multu $a2, $t9 -/* 0BC78C 800BBB8C 03E02025 */ move $a0, $ra -/* 0BC790 800BBB90 00007012 */ mflo $t6 -/* 0BC794 800BBB94 01AE3821 */ addu $a3, $t5, $t6 -/* 0BC798 800BBB98 01877821 */ addu $t7, $t4, $a3 -/* 0BC79C 800BBB9C 91E20000 */ lbu $v0, ($t7) -/* 0BC7A0 800BBBA0 00000000 */ nop -/* 0BC7A4 800BBBA4 2841007F */ slti $at, $v0, 0x7f -/* 0BC7A8 800BBBA8 1020000A */ beqz $at, .L800BBBD4 -/* 0BC7AC 800BBBAC 03E3082A */ slt $at, $ra, $v1 -/* 0BC7B0 800BBBB0 44824000 */ mtc1 $v0, $f8 -/* 0BC7B4 800BBBB4 3C018013 */ lui $at, %hi(D_80129FC8 + 68) # $at, 0x8013 -/* 0BC7B8 800BBBB8 46804120 */ cvt.s.w $f4, $f8 -/* 0BC7BC 800BBBBC C426A00C */ lwc1 $f6, %lo(D_80129FC8 + 68)($at) -/* 0BC7C0 800BBBC0 46102282 */ mul.s $f10, $f4, $f16 -/* 0BC7C4 800BBBC4 460A3200 */ add.s $f8, $f6, $f10 -/* 0BC7C8 800BBBC8 46086302 */ mul.s $f12, $f12, $f8 -/* 0BC7CC 800BBBCC 00000000 */ nop -/* 0BC7D0 800BBBD0 03E3082A */ slt $at, $ra, $v1 -.L800BBBD4: -/* 0BC7D4 800BBBD4 14200003 */ bnez $at, .L800BBBE4 -/* 0BC7D8 800BBBD8 00000000 */ nop -/* 0BC7DC 800BBBDC 10000001 */ b .L800BBBE4 -/* 0BC7E0 800BBBE0 00002025 */ move $a0, $zero -.L800BBBE4: -/* 0BC7E4 800BBBE4 0123082A */ slt $at, $t1, $v1 -/* 0BC7E8 800BBBE8 10200006 */ beqz $at, .L800BBC04 -/* 0BC7EC 800BBBEC 0004C880 */ sll $t9, $a0, 2 -/* 0BC7F0 800BBBF0 01230019 */ multu $t1, $v1 -/* 0BC7F4 800BBBF4 0000C012 */ mflo $t8 -/* 0BC7F8 800BBBF8 00982021 */ addu $a0, $a0, $t8 -/* 0BC7FC 800BBBFC 00000000 */ nop -/* 0BC800 800BBC00 0004C880 */ sll $t9, $a0, 2 -.L800BBC04: -/* 0BC804 800BBC04 01591021 */ addu $v0, $t2, $t9 -/* 0BC808 800BBC08 844E0002 */ lh $t6, 2($v0) -/* 0BC80C 800BBC0C 84590000 */ lh $t9, ($v0) -/* 0BC810 800BBC10 000E7880 */ sll $t7, $t6, 2 -/* 0BC814 800BBC14 00AFC021 */ addu $t8, $a1, $t7 -/* 0BC818 800BBC18 00197080 */ sll $t6, $t9, 2 -/* 0BC81C 800BBC1C 00AE7821 */ addu $t7, $a1, $t6 -/* 0BC820 800BBC20 C5E60000 */ lwc1 $f6, ($t7) -/* 0BC824 800BBC24 C7040000 */ lwc1 $f4, ($t8) -/* 0BC828 800BBC28 8FA50070 */ lw $a1, 0x70($sp) -/* 0BC82C 800BBC2C 46062280 */ add.s $f10, $f4, $f6 -/* 0BC830 800BBC30 8FA400A8 */ lw $a0, 0xa8($sp) -/* 0BC834 800BBC34 460E5082 */ mul.s $f2, $f10, $f14 -/* 0BC838 800BBC38 1960000D */ blez $t3, .L800BBC70 -/* 0BC83C 800BBC3C 24A50001 */ addiu $a1, $a1, 1 -/* 0BC840 800BBC40 AFA70028 */ sw $a3, 0x28($sp) -/* 0BC844 800BBC44 E7A20098 */ swc1 $f2, 0x98($sp) -/* 0BC848 800BBC48 E7AC009C */ swc1 $f12, 0x9c($sp) -/* 0BC84C 800BBC4C 0C02FBF1 */ jal func_800BEFC4 -/* 0BC850 800BBC50 E7B0008C */ swc1 $f16, 0x8c($sp) -/* 0BC854 800BBC54 C7A20098 */ lwc1 $f2, 0x98($sp) -/* 0BC858 800BBC58 3C0C800E */ lui $t4, %hi(D_800E3178) # $t4, 0x800e -/* 0BC85C 800BBC5C 8D8C3178 */ lw $t4, %lo(D_800E3178)($t4) -/* 0BC860 800BBC60 8FA70028 */ lw $a3, 0x28($sp) -/* 0BC864 800BBC64 C7AC009C */ lwc1 $f12, 0x9c($sp) -/* 0BC868 800BBC68 C7B0008C */ lwc1 $f16, 0x8c($sp) -/* 0BC86C 800BBC6C 46001080 */ add.s $f2, $f2, $f0 -.L800BBC70: -/* 0BC870 800BBC70 0187C021 */ addu $t8, $t4, $a3 -/* 0BC874 800BBC74 93020001 */ lbu $v0, 1($t8) -/* 0BC878 800BBC78 3C038013 */ lui $v1, %hi(D_80129FC8 + 40) # $v1, 0x8013 -/* 0BC87C 800BBC7C 8C639FF0 */ lw $v1, %lo(D_80129FC8 + 40)($v1) -/* 0BC880 800BBC80 2841007F */ slti $at, $v0, 0x7f -/* 0BC884 800BBC84 10200009 */ beqz $at, .L800BBCAC -/* 0BC888 800BBC88 00000000 */ nop -/* 0BC88C 800BBC8C 44822000 */ mtc1 $v0, $f4 -/* 0BC890 800BBC90 3C018013 */ lui $at, %hi(D_80129FC8 + 68) # $at, 0x8013 -/* 0BC894 800BBC94 468021A0 */ cvt.s.w $f6, $f4 -/* 0BC898 800BBC98 C428A00C */ lwc1 $f8, %lo(D_80129FC8 + 68)($at) -/* 0BC89C 800BBC9C 46103282 */ mul.s $f10, $f6, $f16 -/* 0BC8A0 800BBCA0 460A4100 */ add.s $f4, $f8, $f10 -/* 0BC8A4 800BBCA4 46041082 */ mul.s $f2, $f2, $f4 -/* 0BC8A8 800BBCA8 00000000 */ nop -.L800BBCAC: -/* 0BC8AC 800BBCAC 1060000A */ beqz $v1, .L800BBCD8 -/* 0BC8B0 800BBCB0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BC8B4 800BBCB4 C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 0BC8B8 800BBCB8 44814000 */ mtc1 $at, $f8 -/* 0BC8BC 800BBCBC 44812000 */ mtc1 $at, $f4 -/* 0BC8C0 800BBCC0 46083282 */ mul.s $f10, $f6, $f8 -/* 0BC8C4 800BBCC4 44813000 */ mtc1 $at, $f6 -/* 0BC8C8 800BBCC8 46046302 */ mul.s $f12, $f12, $f4 -/* 0BC8CC 800BBCCC E7AA00A0 */ swc1 $f10, 0xa0($sp) -/* 0BC8D0 800BBCD0 46061082 */ mul.s $f2, $f2, $f6 -/* 0BC8D4 800BBCD4 00000000 */ nop -.L800BBCD8: -/* 0BC8D8 800BBCD8 46026281 */ sub.s $f10, $f12, $f2 -/* 0BC8DC 800BBCDC C7A40090 */ lwc1 $f4, 0x90($sp) -/* 0BC8E0 800BBCE0 C7A80094 */ lwc1 $f8, 0x94($sp) -/* 0BC8E4 800BBCE4 46045382 */ mul.s $f14, $f10, $f4 -/* 0BC8E8 800BBCE8 C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 0BC8EC 800BBCEC E7A800A4 */ swc1 $f8, 0xa4($sp) -/* 0BC8F0 800BBCF0 46082402 */ mul.s $f16, $f4, $f8 -/* 0BC8F4 800BBCF4 46023281 */ sub.s $f10, $f6, $f2 -/* 0BC8F8 800BBCF8 46085482 */ mul.s $f18, $f10, $f8 -/* 0BC8FC 800BBCFC E7B00084 */ swc1 $f16, 0x84($sp) -.L800BBD00: -/* 0BC900 800BBD00 460E7102 */ mul.s $f4, $f14, $f14 -/* 0BC904 800BBD04 E7AE0088 */ swc1 $f14, 0x88($sp) -/* 0BC908 800BBD08 E7B0004C */ swc1 $f16, 0x4c($sp) -/* 0BC90C 800BBD0C E7B20080 */ swc1 $f18, 0x80($sp) -/* 0BC910 800BBD10 46108182 */ mul.s $f6, $f16, $f16 -/* 0BC914 800BBD14 00000000 */ nop -/* 0BC918 800BBD18 46129202 */ mul.s $f8, $f18, $f18 -/* 0BC91C 800BBD1C 46062280 */ add.s $f10, $f4, $f6 -/* 0BC920 800BBD20 0C0326B4 */ jal sqrtf -/* 0BC924 800BBD24 46085300 */ add.s $f12, $f10, $f8 -/* 0BC928 800BBD28 44801800 */ mtc1 $zero, $f3 -/* 0BC92C 800BBD2C 44801000 */ mtc1 $zero, $f2 -/* 0BC930 800BBD30 46000121 */ cvt.d.s $f4, $f0 -/* 0BC934 800BBD34 46241032 */ c.eq.d $f2, $f4 -/* 0BC938 800BBD38 C7AE0088 */ lwc1 $f14, 0x88($sp) -/* 0BC93C 800BBD3C C7B0004C */ lwc1 $f16, 0x4c($sp) -/* 0BC940 800BBD40 C7B20080 */ lwc1 $f18, 0x80($sp) -/* 0BC944 800BBD44 4501001B */ bc1t .L800BBDB4 -/* 0BC948 800BBD48 8FB900B4 */ lw $t9, 0xb4($sp) -/* 0BC94C 800BBD4C 460081A1 */ cvt.d.s $f6, $f16 -/* 0BC950 800BBD50 46261032 */ c.eq.d $f2, $f6 -/* 0BC954 800BBD54 00000000 */ nop -/* 0BC958 800BBD58 45010015 */ bc1t .L800BBDB0 -/* 0BC95C 800BBD5C 00000000 */ nop -/* 0BC960 800BBD60 46007383 */ div.s $f14, $f14, $f0 -/* 0BC964 800BBD64 C7AA00AC */ lwc1 $f10, 0xac($sp) -/* 0BC968 800BBD68 C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 0BC96C 800BBD6C 46009483 */ div.s $f18, $f18, $f0 -/* 0BC970 800BBD70 460A7202 */ mul.s $f8, $f14, $f10 -/* 0BC974 800BBD74 00000000 */ nop -/* 0BC978 800BBD78 46008083 */ div.s $f2, $f16, $f0 -/* 0BC97C 800BBD7C 46049182 */ mul.s $f6, $f18, $f4 -/* 0BC980 800BBD80 C7A400A4 */ lwc1 $f4, 0xa4($sp) -/* 0BC984 800BBD84 46064280 */ add.s $f10, $f8, $f6 -/* 0BC988 800BBD88 C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 0BC98C 800BBD8C 460E2202 */ mul.s $f8, $f4, $f14 -/* 0BC990 800BBD90 E7A20084 */ swc1 $f2, 0x84($sp) -/* 0BC994 800BBD94 46023102 */ mul.s $f4, $f6, $f2 -/* 0BC998 800BBD98 46044180 */ add.s $f6, $f8, $f4 -/* 0BC99C 800BBD9C 46065201 */ sub.s $f8, $f10, $f6 -/* 0BC9A0 800BBDA0 C7AA0078 */ lwc1 $f10, 0x78($sp) -/* 0BC9A4 800BBDA4 46024103 */ div.s $f4, $f8, $f2 -/* 0BC9A8 800BBDA8 46045181 */ sub.s $f6, $f10, $f4 -/* 0BC9AC 800BBDAC E7A60078 */ swc1 $f6, 0x78($sp) -.L800BBDB0: -/* 0BC9B0 800BBDB0 8FB900B4 */ lw $t9, 0xb4($sp) -.L800BBDB4: -/* 0BC9B4 800BBDB4 C7A20084 */ lwc1 $f2, 0x84($sp) -/* 0BC9B8 800BBDB8 13200005 */ beqz $t9, .L800BBDD0 -/* 0BC9BC 800BBDBC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BC9C0 800BBDC0 E72E0000 */ swc1 $f14, ($t9) -/* 0BC9C4 800BBDC4 E7220004 */ swc1 $f2, 4($t9) -/* 0BC9C8 800BBDC8 E7320008 */ swc1 $f18, 8($t9) -/* 0BC9CC 800BBDCC 8FBF0014 */ lw $ra, 0x14($sp) -.L800BBDD0: -/* 0BC9D0 800BBDD0 C7A00078 */ lwc1 $f0, 0x78($sp) -/* 0BC9D4 800BBDD4 03E00008 */ jr $ra -/* 0BC9D8 800BBDD8 27BD00A8 */ addiu $sp, $sp, 0xa8 - diff --git a/asm/non_matchings/waves/func_800BBF78.s b/asm/non_matchings/waves/func_800BBF78.s deleted file mode 100644 index 295fccf6..00000000 --- a/asm/non_matchings/waves/func_800BBF78.s +++ /dev/null @@ -1,511 +0,0 @@ -glabel func_800BBF78 -/* 0BCB78 800BBF78 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0BCB7C 800BBF7C AFBF003C */ sw $ra, 0x3c($sp) -/* 0BCB80 800BBF80 AFBE0038 */ sw $fp, 0x38($sp) -/* 0BCB84 800BBF84 AFB70034 */ sw $s7, 0x34($sp) -/* 0BCB88 800BBF88 AFB60030 */ sw $s6, 0x30($sp) -/* 0BCB8C 800BBF8C AFB5002C */ sw $s5, 0x2c($sp) -/* 0BCB90 800BBF90 AFB40028 */ sw $s4, 0x28($sp) -/* 0BCB94 800BBF94 AFB30024 */ sw $s3, 0x24($sp) -/* 0BCB98 800BBF98 AFB20020 */ sw $s2, 0x20($sp) -/* 0BCB9C 800BBF9C AFB1001C */ sw $s1, 0x1c($sp) -/* 0BCBA0 800BBFA0 AFB00018 */ sw $s0, 0x18($sp) -/* 0BCBA4 800BBFA4 8C8E0004 */ lw $t6, 4($a0) -/* 0BCBA8 800BBFA8 3C0F8013 */ lui $t7, %hi(D_80129FC8) # $t7, 0x8013 -/* 0BCBAC 800BBFAC 3C188013 */ lui $t8, %hi(D_80129FC8 + 40) # $t8, 0x8013 -/* 0BCBB0 800BBFB0 8DEF9FC8 */ lw $t7, %lo(D_80129FC8)($t7) -/* 0BCBB4 800BBFB4 8F189FF0 */ lw $t8, %lo(D_80129FC8 + 40)($t8) -/* 0BCBB8 800BBFB8 AFAE0040 */ sw $t6, 0x40($sp) -/* 0BCBBC 800BBFBC 8C940008 */ lw $s4, 8($a0) -/* 0BCBC0 800BBFC0 00809825 */ move $s3, $a0 -/* 0BCBC4 800BBFC4 13000003 */ beqz $t8, .L800BBFD4 -/* 0BCBC8 800BBFC8 AFAF0044 */ sw $t7, 0x44($sp) -/* 0BCBCC 800BBFCC 000FC840 */ sll $t9, $t7, 1 -/* 0BCBD0 800BBFD0 AFB90044 */ sw $t9, 0x44($sp) -.L800BBFD4: -/* 0BCBD4 800BBFD4 868E0000 */ lh $t6, ($s4) -/* 0BCBD8 800BBFD8 3C038013 */ lui $v1, %hi(D_8012A0C0) # $v1, 0x8013 -/* 0BCBDC 800BBFDC 2463A0C0 */ addiu $v1, %lo(D_8012A0C0) # addiu $v1, $v1, -0x5f40 -/* 0BCBE0 800BBFE0 AC6E0000 */ sw $t6, ($v1) -/* 0BCBE4 800BBFE4 86980006 */ lh $t8, 6($s4) -/* 0BCBE8 800BBFE8 3C048013 */ lui $a0, %hi(D_8012A0C8) # $a0, 0x8013 -/* 0BCBEC 800BBFEC 2484A0C8 */ addiu $a0, %lo(D_8012A0C8) # addiu $a0, $a0, -0x5f38 -/* 0BCBF0 800BBFF0 AC980000 */ sw $t8, ($a0) -/* 0BCBF4 800BBFF4 868F0004 */ lh $t7, 4($s4) -/* 0BCBF8 800BBFF8 3C068013 */ lui $a2, %hi(D_8012A0C4) # $a2, 0x8013 -/* 0BCBFC 800BBFFC 24C6A0C4 */ addiu $a2, %lo(D_8012A0C4) # addiu $a2, $a2, -0x5f3c -/* 0BCC00 800BC000 ACCF0000 */ sw $t7, ($a2) -/* 0BCC04 800BC004 8699000A */ lh $t9, 0xa($s4) -/* 0BCC08 800BC008 3C098013 */ lui $t1, %hi(D_8012A0CC) # $t1, 0x8013 -/* 0BCC0C 800BC00C 2529A0CC */ addiu $t1, %lo(D_8012A0CC) # addiu $t1, $t1, -0x5f34 -/* 0BCC10 800BC010 AD390000 */ sw $t9, ($t1) -/* 0BCC14 800BC014 866E001A */ lh $t6, 0x1a($s3) -/* 0BCC18 800BC018 241F0001 */ li $ra, 1 -/* 0BCC1C 800BC01C 29C10002 */ slti $at, $t6, 2 -/* 0BCC20 800BC020 14200022 */ bnez $at, .L800BC0AC -/* 0BCC24 800BC024 3C168013 */ lui $s6, %hi(D_8012A0D0) # $s6, 0x8013 -/* 0BCC28 800BC028 2690000C */ addiu $s0, $s4, 0xc -.L800BC02C: -/* 0BCC2C 800BC02C 86020000 */ lh $v0, ($s0) -/* 0BCC30 800BC030 8C780000 */ lw $t8, ($v1) -/* 0BCC34 800BC034 8C870000 */ lw $a3, ($a0) -/* 0BCC38 800BC038 8CC50000 */ lw $a1, ($a2) -/* 0BCC3C 800BC03C 8D280000 */ lw $t0, ($t1) -/* 0BCC40 800BC040 0058082A */ slt $at, $v0, $t8 -/* 0BCC44 800BC044 10200002 */ beqz $at, .L800BC050 -/* 0BCC48 800BC048 00000000 */ nop -/* 0BCC4C 800BC04C AC620000 */ sw $v0, ($v1) -.L800BC050: -/* 0BCC50 800BC050 86020006 */ lh $v0, 6($s0) -/* 0BCC54 800BC054 00000000 */ nop -/* 0BCC58 800BC058 00E2082A */ slt $at, $a3, $v0 -/* 0BCC5C 800BC05C 10200002 */ beqz $at, .L800BC068 -/* 0BCC60 800BC060 00000000 */ nop -/* 0BCC64 800BC064 AC820000 */ sw $v0, ($a0) -.L800BC068: -/* 0BCC68 800BC068 86020004 */ lh $v0, 4($s0) -/* 0BCC6C 800BC06C 00000000 */ nop -/* 0BCC70 800BC070 0045082A */ slt $at, $v0, $a1 -/* 0BCC74 800BC074 10200002 */ beqz $at, .L800BC080 -/* 0BCC78 800BC078 00000000 */ nop -/* 0BCC7C 800BC07C ACC20000 */ sw $v0, ($a2) -.L800BC080: -/* 0BCC80 800BC080 8602000A */ lh $v0, 0xa($s0) -/* 0BCC84 800BC084 00000000 */ nop -/* 0BCC88 800BC088 0102082A */ slt $at, $t0, $v0 -/* 0BCC8C 800BC08C 10200002 */ beqz $at, .L800BC098 -/* 0BCC90 800BC090 00000000 */ nop -/* 0BCC94 800BC094 AD220000 */ sw $v0, ($t1) -.L800BC098: -/* 0BCC98 800BC098 866F001A */ lh $t7, 0x1a($s3) -/* 0BCC9C 800BC09C 27FF0001 */ addiu $ra, $ra, 1 -/* 0BCCA0 800BC0A0 03EF082A */ slt $at, $ra, $t7 -/* 0BCCA4 800BC0A4 1420FFE1 */ bnez $at, .L800BC02C -/* 0BCCA8 800BC0A8 2610000C */ addiu $s0, $s0, 0xc -.L800BC0AC: -/* 0BCCAC 800BC0AC 3C198013 */ lui $t9, %hi(gWaveBoundingBoxX1) # $t9, 0x8013 -/* 0BCCB0 800BC0B0 8F24A0B0 */ lw $a0, %lo(gWaveBoundingBoxX1)($t9) -/* 0BCCB4 800BC0B4 26D6A0D0 */ addiu $s6, %lo(D_8012A0D0) # addiu $s6, $s6, -0x5f30 -/* 0BCCB8 800BC0B8 AEC40000 */ sw $a0, ($s6) -/* 0BCCBC 800BC0BC 8C620000 */ lw $v0, ($v1) -/* 0BCCC0 800BC0C0 3C078013 */ lui $a3, %hi(D_8012A0C8) # $a3, 0x8013 -/* 0BCCC4 800BC0C4 3C058013 */ lui $a1, %hi(D_8012A0C4) # $a1, 0x8013 -/* 0BCCC8 800BC0C8 3C088013 */ lui $t0, %hi(D_8012A0CC) # $t0, 0x8013 -/* 0BCCCC 800BC0CC 8D08A0CC */ lw $t0, %lo(D_8012A0CC)($t0) -/* 0BCCD0 800BC0D0 8CA5A0C4 */ lw $a1, %lo(D_8012A0C4)($a1) -/* 0BCCD4 800BC0D4 8CE7A0C8 */ lw $a3, %lo(D_8012A0C8)($a3) -/* 0BCCD8 800BC0D8 0044082A */ slt $at, $v0, $a0 -/* 0BCCDC 800BC0DC 10200009 */ beqz $at, .L800BC104 -/* 0BCCE0 800BC0E0 3C158013 */ lui $s5, %hi(D_8012A0D4) # $s5, 0x8013 -/* 0BCCE4 800BC0E4 3C068013 */ lui $a2, %hi(gWaveBoundingBoxDiffX) # $a2, 0x8013 -/* 0BCCE8 800BC0E8 8CC6A0A8 */ lw $a2, %lo(gWaveBoundingBoxDiffX)($a2) -/* 0BCCEC 800BC0EC 00000000 */ nop -.L800BC0F0: -/* 0BCCF0 800BC0F0 00867023 */ subu $t6, $a0, $a2 -/* 0BCCF4 800BC0F4 004E082A */ slt $at, $v0, $t6 -/* 0BCCF8 800BC0F8 AECE0000 */ sw $t6, ($s6) -/* 0BCCFC 800BC0FC 1420FFFC */ bnez $at, .L800BC0F0 -/* 0BCD00 800BC100 01C02025 */ move $a0, $t6 -.L800BC104: -/* 0BCD04 800BC104 3C188013 */ lui $t8, %hi(gWaveBoundingBoxZ1) # $t8, 0x8013 -/* 0BCD08 800BC108 8F18A0B4 */ lw $t8, %lo(gWaveBoundingBoxZ1)($t8) -/* 0BCD0C 800BC10C 26B5A0D4 */ addiu $s5, %lo(D_8012A0D4) # addiu $s5, $s5, -0x5f2c -/* 0BCD10 800BC110 3C068013 */ lui $a2, %hi(gWaveBoundingBoxDiffX) # $a2, 0x8013 -/* 0BCD14 800BC114 AEB80000 */ sw $t8, ($s5) -/* 0BCD18 800BC118 8CC6A0A8 */ lw $a2, %lo(gWaveBoundingBoxDiffX)($a2) -/* 0BCD1C 800BC11C 00B8082A */ slt $at, $a1, $t8 -/* 0BCD20 800BC120 10200009 */ beqz $at, .L800BC148 -/* 0BCD24 800BC124 03001025 */ move $v0, $t8 -/* 0BCD28 800BC128 3C038013 */ lui $v1, %hi(gWaveBoundingBoxDiffZ) # $v1, 0x8013 -/* 0BCD2C 800BC12C 8C63A0AC */ lw $v1, %lo(gWaveBoundingBoxDiffZ)($v1) -/* 0BCD30 800BC130 00000000 */ nop -.L800BC134: -/* 0BCD34 800BC134 00437823 */ subu $t7, $v0, $v1 -/* 0BCD38 800BC138 00AF082A */ slt $at, $a1, $t7 -/* 0BCD3C 800BC13C AEAF0000 */ sw $t7, ($s5) -/* 0BCD40 800BC140 1420FFFC */ bnez $at, .L800BC134 -/* 0BCD44 800BC144 01E01025 */ move $v0, $t7 -.L800BC148: -/* 0BCD48 800BC148 00E4C823 */ subu $t9, $a3, $a0 -/* 0BCD4C 800BC14C 0326001A */ div $zero, $t9, $a2 -/* 0BCD50 800BC150 3C1E8013 */ lui $fp, %hi(gWaveBoundingBoxDiffZ) # $fp, 0x8013 -/* 0BCD54 800BC154 27DEA0AC */ addiu $fp, %lo(gWaveBoundingBoxDiffZ) # addiu $fp, $fp, -0x5f54 -/* 0BCD58 800BC158 01027823 */ subu $t7, $t0, $v0 -/* 0BCD5C 800BC15C 3C178013 */ lui $s7, %hi(D_8012A0D8) # $s7, 0x8013 -/* 0BCD60 800BC160 26F7A0D8 */ addiu $s7, %lo(D_8012A0D8) # addiu $s7, $s7, -0x5f28 -/* 0BCD64 800BC164 3C12800E */ lui $s2, %hi(D_800E30D4) # $s2, 0x800e -/* 0BCD68 800BC168 265230D4 */ addiu $s2, %lo(D_800E30D4) # addiu $s2, $s2, 0x30d4 -/* 0BCD6C 800BC16C 8E450000 */ lw $a1, ($s2) -/* 0BCD70 800BC170 3C10800E */ lui $s0, %hi(D_800E318C) # $s0, 0x800e -/* 0BCD74 800BC174 3C118013 */ lui $s1, %hi(D_8012A0DC) # $s1, 0x8013 -/* 0BCD78 800BC178 2631A0DC */ addiu $s1, %lo(D_8012A0DC) # addiu $s1, $s1, -0x5f24 -/* 0BCD7C 800BC17C 2610318C */ addiu $s0, %lo(D_800E318C) # addiu $s0, $s0, 0x318c -/* 0BCD80 800BC180 14C00002 */ bnez $a2, .L800BC18C -/* 0BCD84 800BC184 00000000 */ nop -/* 0BCD88 800BC188 0007000D */ break 7 -.L800BC18C: -/* 0BCD8C 800BC18C 2401FFFF */ li $at, -1 -/* 0BCD90 800BC190 14C10004 */ bne $a2, $at, .L800BC1A4 -/* 0BCD94 800BC194 3C018000 */ lui $at, 0x8000 -/* 0BCD98 800BC198 17210002 */ bne $t9, $at, .L800BC1A4 -/* 0BCD9C 800BC19C 00000000 */ nop -/* 0BCDA0 800BC1A0 0006000D */ break 6 -.L800BC1A4: -/* 0BCDA4 800BC1A4 8FD90000 */ lw $t9, ($fp) -/* 0BCDA8 800BC1A8 00007012 */ mflo $t6 -/* 0BCDAC 800BC1AC 25D80001 */ addiu $t8, $t6, 1 -/* 0BCDB0 800BC1B0 AEF80000 */ sw $t8, ($s7) -/* 0BCDB4 800BC1B4 01F9001A */ div $zero, $t7, $t9 -/* 0BCDB8 800BC1B8 8EE30000 */ lw $v1, ($s7) -/* 0BCDBC 800BC1BC 17200002 */ bnez $t9, .L800BC1C8 -/* 0BCDC0 800BC1C0 00000000 */ nop -/* 0BCDC4 800BC1C4 0007000D */ break 7 -.L800BC1C8: -/* 0BCDC8 800BC1C8 2401FFFF */ li $at, -1 -/* 0BCDCC 800BC1CC 17210004 */ bne $t9, $at, .L800BC1E0 -/* 0BCDD0 800BC1D0 3C018000 */ lui $at, 0x8000 -/* 0BCDD4 800BC1D4 15E10002 */ bne $t7, $at, .L800BC1E0 -/* 0BCDD8 800BC1D8 00000000 */ nop -/* 0BCDDC 800BC1DC 0006000D */ break 6 -.L800BC1E0: -/* 0BCDE0 800BC1E0 8FAF0044 */ lw $t7, 0x44($sp) -/* 0BCDE4 800BC1E4 00007012 */ mflo $t6 -/* 0BCDE8 800BC1E8 25D80001 */ addiu $t8, $t6, 1 -/* 0BCDEC 800BC1EC AE380000 */ sw $t8, ($s1) -/* 0BCDF0 800BC1F0 01E30019 */ multu $t7, $v1 -/* 0BCDF4 800BC1F4 0000C812 */ mflo $t9 -/* 0BCDF8 800BC1F8 272E0001 */ addiu $t6, $t9, 1 -/* 0BCDFC 800BC1FC 10A00005 */ beqz $a1, .L800BC214 -/* 0BCE00 800BC200 AE0E0000 */ sw $t6, ($s0) -/* 0BCE04 800BC204 0C01C450 */ jal mempool_free -/* 0BCE08 800BC208 00A02025 */ move $a0, $a1 -/* 0BCE0C 800BC20C 8EE30000 */ lw $v1, ($s7) -/* 0BCE10 800BC210 00000000 */ nop -.L800BC214: -/* 0BCE14 800BC214 8E380000 */ lw $t8, ($s1) -/* 0BCE18 800BC218 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff -/* 0BCE1C 800BC21C 00780019 */ multu $v1, $t8 -/* 0BCE20 800BC220 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 0BCE24 800BC224 00002012 */ mflo $a0 -/* 0BCE28 800BC228 00047880 */ sll $t7, $a0, 2 -/* 0BCE2C 800BC22C 0C01C327 */ jal mempool_alloc_safe -/* 0BCE30 800BC230 01E02025 */ move $a0, $t7 -/* 0BCE34 800BC234 AE420000 */ sw $v0, ($s2) -/* 0BCE38 800BC238 3C04800E */ lui $a0, %hi(D_800E30D8) # $a0, 0x800e -/* 0BCE3C 800BC23C 8C8430D8 */ lw $a0, %lo(D_800E30D8)($a0) -/* 0BCE40 800BC240 00000000 */ nop -/* 0BCE44 800BC244 10800003 */ beqz $a0, .L800BC254 -/* 0BCE48 800BC248 00000000 */ nop -/* 0BCE4C 800BC24C 0C01C450 */ jal mempool_free -/* 0BCE50 800BC250 00000000 */ nop -.L800BC254: -/* 0BCE54 800BC254 8679001A */ lh $t9, 0x1a($s3) -/* 0BCE58 800BC258 8E180000 */ lw $t8, ($s0) -/* 0BCE5C 800BC25C 001970C0 */ sll $t6, $t9, 3 -/* 0BCE60 800BC260 01D97023 */ subu $t6, $t6, $t9 -/* 0BCE64 800BC264 000E7080 */ sll $t6, $t6, 2 -/* 0BCE68 800BC268 001878C0 */ sll $t7, $t8, 3 -/* 0BCE6C 800BC26C 01CF2021 */ addu $a0, $t6, $t7 -/* 0BCE70 800BC270 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff -/* 0BCE74 800BC274 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 0BCE78 800BC278 0C01C327 */ jal mempool_alloc_safe -/* 0BCE7C 800BC27C 24840880 */ addiu $a0, $a0, 0x880 -/* 0BCE80 800BC280 3C01800E */ lui $at, %hi(D_800E30D8) # $at, 0x800e -/* 0BCE84 800BC284 AC2230D8 */ sw $v0, %lo(D_800E30D8)($at) -/* 0BCE88 800BC288 8678001A */ lh $t8, 0x1a($s3) -/* 0BCE8C 800BC28C 3C19800E */ lui $t9, %hi(D_800E30D8) # $t9, 0x800e -/* 0BCE90 800BC290 001870C0 */ sll $t6, $t8, 3 -/* 0BCE94 800BC294 8F3930D8 */ lw $t9, %lo(D_800E30D8)($t9) -/* 0BCE98 800BC298 01D87023 */ subu $t6, $t6, $t8 -/* 0BCE9C 800BC29C 000E7080 */ sll $t6, $t6, 2 -/* 0BCEA0 800BC2A0 3C05800E */ lui $a1, %hi(D_800E3190) # $a1, 0x800e -/* 0BCEA4 800BC2A4 032E7821 */ addu $t7, $t9, $t6 -/* 0BCEA8 800BC2A8 24A53190 */ addiu $a1, %lo(D_800E3190) # addiu $a1, $a1, 0x3190 -/* 0BCEAC 800BC2AC 3C04800E */ lui $a0, %hi(D_800E3194) # $a0, 0x800e -/* 0BCEB0 800BC2B0 25F90800 */ addiu $t9, $t7, 0x800 -/* 0BCEB4 800BC2B4 8E180000 */ lw $t8, ($s0) -/* 0BCEB8 800BC2B8 24843194 */ addiu $a0, %lo(D_800E3194) # addiu $a0, $a0, 0x3194 -/* 0BCEBC 800BC2BC ACAF0000 */ sw $t7, ($a1) -/* 0BCEC0 800BC2C0 3C03800E */ lui $v1, %hi(D_800E3184) # $v1, 0x800e -/* 0BCEC4 800BC2C4 AC990000 */ sw $t9, ($a0) -/* 0BCEC8 800BC2C8 272F0080 */ addiu $t7, $t9, 0x80 -/* 0BCECC 800BC2CC 24633184 */ addiu $v1, %lo(D_800E3184) # addiu $v1, $v1, 0x3184 -/* 0BCED0 800BC2D0 0018C8C0 */ sll $t9, $t8, 3 -/* 0BCED4 800BC2D4 AC6F0000 */ sw $t7, ($v1) -/* 0BCED8 800BC2D8 1B20000C */ blez $t9, .L800BC30C -/* 0BCEDC 800BC2DC 0000F825 */ move $ra, $zero -/* 0BCEE0 800BC2E0 240200FF */ li $v0, 255 -.L800BC2E4: -/* 0BCEE4 800BC2E4 8C6E0000 */ lw $t6, ($v1) -/* 0BCEE8 800BC2E8 00000000 */ nop -/* 0BCEEC 800BC2EC 01DF7821 */ addu $t7, $t6, $ra -/* 0BCEF0 800BC2F0 A1E20000 */ sb $v0, ($t7) -/* 0BCEF4 800BC2F4 8E180000 */ lw $t8, ($s0) -/* 0BCEF8 800BC2F8 27FF0001 */ addiu $ra, $ra, 1 -/* 0BCEFC 800BC2FC 0018C8C0 */ sll $t9, $t8, 3 -/* 0BCF00 800BC300 03F9082A */ slt $at, $ra, $t9 -/* 0BCF04 800BC304 1420FFF7 */ bnez $at, .L800BC2E4 -/* 0BCF08 800BC308 00000000 */ nop -.L800BC30C: -/* 0BCF0C 800BC30C 00001025 */ move $v0, $zero -.L800BC310: -/* 0BCF10 800BC310 8C8E0000 */ lw $t6, ($a0) -/* 0BCF14 800BC314 00000000 */ nop -/* 0BCF18 800BC318 01C27821 */ addu $t7, $t6, $v0 -/* 0BCF1C 800BC31C 24420004 */ addiu $v0, $v0, 4 -/* 0BCF20 800BC320 28410080 */ slti $at, $v0, 0x80 -/* 0BCF24 800BC324 1420FFFA */ bnez $at, .L800BC310 -/* 0BCF28 800BC328 ADE00000 */ sw $zero, ($t7) -/* 0BCF2C 800BC32C 3C01800E */ lui $at, %hi(D_800E3188) # $at, 0x800e -/* 0BCF30 800BC330 AC203188 */ sw $zero, %lo(D_800E3188)($at) -/* 0BCF34 800BC334 8E390000 */ lw $t9, ($s1) -/* 0BCF38 800BC338 8EF80000 */ lw $t8, ($s7) -/* 0BCF3C 800BC33C 02808025 */ move $s0, $s4 -/* 0BCF40 800BC340 03190019 */ multu $t8, $t9 -/* 0BCF44 800BC344 3C038013 */ lui $v1, %hi(D_8012A1E8) # $v1, 0x8013 -/* 0BCF48 800BC348 3C148013 */ lui $s4, %hi(gWaveBoundingBoxDiffX) # $s4, 0x8013 -/* 0BCF4C 800BC34C 0000F825 */ move $ra, $zero -/* 0BCF50 800BC350 00001025 */ move $v0, $zero -/* 0BCF54 800BC354 2463A1E8 */ addiu $v1, %lo(D_8012A1E8) # addiu $v1, $v1, -0x5e18 -/* 0BCF58 800BC358 2694A0A8 */ addiu $s4, %lo(gWaveBoundingBoxDiffX) # addiu $s4, $s4, -0x5f58 -/* 0BCF5C 800BC35C 240C000A */ li $t4, 10 -/* 0BCF60 800BC360 3C0B0040 */ lui $t3, 0x40 -/* 0BCF64 800BC364 24050080 */ li $a1, 128 -/* 0BCF68 800BC368 00007012 */ mflo $t6 -/* 0BCF6C 800BC36C 19C0000D */ blez $t6, .L800BC3A4 -/* 0BCF70 800BC370 00000000 */ nop -.L800BC374: -/* 0BCF74 800BC374 8E4F0000 */ lw $t7, ($s2) -/* 0BCF78 800BC378 27FF0001 */ addiu $ra, $ra, 1 -/* 0BCF7C 800BC37C 01E2C021 */ addu $t8, $t7, $v0 -/* 0BCF80 800BC380 AF000000 */ sw $zero, ($t8) -/* 0BCF84 800BC384 8E2E0000 */ lw $t6, ($s1) -/* 0BCF88 800BC388 8EF90000 */ lw $t9, ($s7) -/* 0BCF8C 800BC38C 24420004 */ addiu $v0, $v0, 4 -/* 0BCF90 800BC390 032E0019 */ multu $t9, $t6 -/* 0BCF94 800BC394 00007812 */ mflo $t7 -/* 0BCF98 800BC398 03EF082A */ slt $at, $ra, $t7 -/* 0BCF9C 800BC39C 1420FFF5 */ bnez $at, .L800BC374 -/* 0BCFA0 800BC3A0 00000000 */ nop -.L800BC3A4: -/* 0BCFA4 800BC3A4 3C028013 */ lui $v0, %hi(D_8012A0E8) # $v0, 0x8013 -/* 0BCFA8 800BC3A8 2442A0E8 */ addiu $v0, %lo(D_8012A0E8) # addiu $v0, $v0, -0x5f18 -.L800BC3AC: -/* 0BCFAC 800BC3AC 24420004 */ addiu $v0, $v0, 4 -/* 0BCFB0 800BC3B0 0043082B */ sltu $at, $v0, $v1 -/* 0BCFB4 800BC3B4 1420FFFD */ bnez $at, .L800BC3AC -/* 0BCFB8 800BC3B8 AC40FFFC */ sw $zero, -4($v0) -/* 0BCFBC 800BC3BC 8679001A */ lh $t9, 0x1a($s3) -/* 0BCFC0 800BC3C0 3C028013 */ lui $v0, %hi(D_8012A0E0) # $v0, 0x8013 -/* 0BCFC4 800BC3C4 2442A0E0 */ addiu $v0, %lo(D_8012A0E0) # addiu $v0, $v0, -0x5f20 -/* 0BCFC8 800BC3C8 0000F825 */ move $ra, $zero -/* 0BCFCC 800BC3CC 1B2000B2 */ blez $t9, .L800BC698 -/* 0BCFD0 800BC3D0 AC590000 */ sw $t9, ($v0) -/* 0BCFD4 800BC3D4 8FAE0040 */ lw $t6, 0x40($sp) -/* 0BCFD8 800BC3D8 00009025 */ move $s2, $zero -/* 0BCFDC 800BC3DC 01C04025 */ move $t0, $t6 -/* 0BCFE0 800BC3E0 01C09825 */ move $s3, $t6 -.L800BC3E4: -/* 0BCFE4 800BC3E4 8EC40000 */ lw $a0, ($s6) -/* 0BCFE8 800BC3E8 860F0000 */ lh $t7, ($s0) -/* 0BCFEC 800BC3EC 8E860000 */ lw $a2, ($s4) -/* 0BCFF0 800BC3F0 01E44823 */ subu $t1, $t7, $a0 -/* 0BCFF4 800BC3F4 25290008 */ addiu $t1, $t1, 8 -/* 0BCFF8 800BC3F8 0126001A */ div $zero, $t1, $a2 -/* 0BCFFC 800BC3FC 8EA20000 */ lw $v0, ($s5) -/* 0BD000 800BC400 86180004 */ lh $t8, 4($s0) -/* 0BD004 800BC404 8FC30000 */ lw $v1, ($fp) -/* 0BD008 800BC408 03025023 */ subu $t2, $t8, $v0 -/* 0BD00C 800BC40C 254A0008 */ addiu $t2, $t2, 8 -/* 0BD010 800BC410 14C00002 */ bnez $a2, .L800BC41C -/* 0BD014 800BC414 00000000 */ nop -/* 0BD018 800BC418 0007000D */ break 7 -.L800BC41C: -/* 0BD01C 800BC41C 2401FFFF */ li $at, -1 -/* 0BD020 800BC420 14C10004 */ bne $a2, $at, .L800BC434 -/* 0BD024 800BC424 3C018000 */ lui $at, 0x8000 -/* 0BD028 800BC428 15210002 */ bne $t1, $at, .L800BC434 -/* 0BD02C 800BC42C 00000000 */ nop -/* 0BD030 800BC430 0006000D */ break 6 -.L800BC434: -/* 0BD034 800BC434 AFA00058 */ sw $zero, 0x58($sp) -/* 0BD038 800BC438 850D0020 */ lh $t5, 0x20($t0) -/* 0BD03C 800BC43C 27FF0001 */ addiu $ra, $ra, 1 -/* 0BD040 800BC440 2610000C */ addiu $s0, $s0, 0xc -/* 0BD044 800BC444 00003825 */ move $a3, $zero -/* 0BD048 800BC448 0000C812 */ mflo $t9 -/* 0BD04C 800BC44C 00000000 */ nop -/* 0BD050 800BC450 00000000 */ nop -/* 0BD054 800BC454 03260019 */ multu $t9, $a2 -/* 0BD058 800BC458 00007012 */ mflo $t6 -/* 0BD05C 800BC45C 01C44821 */ addu $t1, $t6, $a0 -/* 0BD060 800BC460 00000000 */ nop -/* 0BD064 800BC464 0143001A */ div $zero, $t2, $v1 -/* 0BD068 800BC468 14600002 */ bnez $v1, .L800BC474 -/* 0BD06C 800BC46C 00000000 */ nop -/* 0BD070 800BC470 0007000D */ break 7 -.L800BC474: -/* 0BD074 800BC474 2401FFFF */ li $at, -1 -/* 0BD078 800BC478 14610004 */ bne $v1, $at, .L800BC48C -/* 0BD07C 800BC47C 3C018000 */ lui $at, 0x8000 -/* 0BD080 800BC480 15410002 */ bne $t2, $at, .L800BC48C -/* 0BD084 800BC484 00000000 */ nop -/* 0BD088 800BC488 0006000D */ break 6 -.L800BC48C: -/* 0BD08C 800BC48C 00007812 */ mflo $t7 -/* 0BD090 800BC490 00000000 */ nop -/* 0BD094 800BC494 00000000 */ nop -/* 0BD098 800BC498 01E30019 */ multu $t7, $v1 -/* 0BD09C 800BC49C 0000C012 */ mflo $t8 -/* 0BD0A0 800BC4A0 03025021 */ addu $t2, $t8, $v0 -/* 0BD0A4 800BC4A4 19A00017 */ blez $t5, .L800BC504 -/* 0BD0A8 800BC4A8 00000000 */ nop -/* 0BD0AC 800BC4AC 000D3080 */ sll $a2, $t5, 2 -/* 0BD0B0 800BC4B0 00CD3023 */ subu $a2, $a2, $t5 -/* 0BD0B4 800BC4B4 8D02000C */ lw $v0, 0xc($t0) -/* 0BD0B8 800BC4B8 00063080 */ sll $a2, $a2, 2 -/* 0BD0BC 800BC4BC 00001825 */ move $v1, $zero -.L800BC4C0: -/* 0BD0C0 800BC4C0 8C440008 */ lw $a0, 8($v0) -/* 0BD0C4 800BC4C4 2463000C */ addiu $v1, $v1, 0xc -/* 0BD0C8 800BC4C8 30992000 */ andi $t9, $a0, 0x2000 -/* 0BD0CC 800BC4CC 1320000B */ beqz $t9, .L800BC4FC -/* 0BD0D0 800BC4D0 0066082A */ slt $at, $v1, $a2 -/* 0BD0D4 800BC4D4 008B7024 */ and $t6, $a0, $t3 -/* 0BD0D8 800BC4D8 11C00008 */ beqz $t6, .L800BC4FC -/* 0BD0DC 800BC4DC 00000000 */ nop -/* 0BD0E0 800BC4E0 84580002 */ lh $t8, 2($v0) -/* 0BD0E4 800BC4E4 8D0F0000 */ lw $t7, ($t0) -/* 0BD0E8 800BC4E8 030C0019 */ multu $t8, $t4 -/* 0BD0EC 800BC4EC 0000C812 */ mflo $t9 -/* 0BD0F0 800BC4F0 01F97021 */ addu $t6, $t7, $t9 -/* 0BD0F4 800BC4F4 85C70002 */ lh $a3, 2($t6) -/* 0BD0F8 800BC4F8 00000000 */ nop -.L800BC4FC: -/* 0BD0FC 800BC4FC 1420FFF0 */ bnez $at, .L800BC4C0 -/* 0BD100 800BC500 2442000C */ addiu $v0, $v0, 0xc -.L800BC504: -/* 0BD104 800BC504 3C18800E */ lui $t8, %hi(D_800E30D8) # $t8, 0x800e -/* 0BD108 800BC508 8F1830D8 */ lw $t8, %lo(D_800E30D8)($t8) -/* 0BD10C 800BC50C 25080044 */ addiu $t0, $t0, 0x44 -/* 0BD110 800BC510 02582021 */ addu $a0, $s2, $t8 -/* 0BD114 800BC514 AC930000 */ sw $s3, ($a0) -/* 0BD118 800BC518 A4890004 */ sh $t1, 4($a0) -/* 0BD11C 800BC51C A4870006 */ sh $a3, 6($a0) -/* 0BD120 800BC520 A48A0008 */ sh $t2, 8($a0) -/* 0BD124 800BC524 8ECF0000 */ lw $t7, ($s6) -/* 0BD128 800BC528 8E8E0000 */ lw $t6, ($s4) -/* 0BD12C 800BC52C 012FC823 */ subu $t9, $t1, $t7 -/* 0BD130 800BC530 032E001A */ div $zero, $t9, $t6 -/* 0BD134 800BC534 15C00002 */ bnez $t6, .L800BC540 -/* 0BD138 800BC538 00000000 */ nop -/* 0BD13C 800BC53C 0007000D */ break 7 -.L800BC540: -/* 0BD140 800BC540 2401FFFF */ li $at, -1 -/* 0BD144 800BC544 15C10004 */ bne $t6, $at, .L800BC558 -/* 0BD148 800BC548 3C018000 */ lui $at, 0x8000 -/* 0BD14C 800BC54C 17210002 */ bne $t9, $at, .L800BC558 -/* 0BD150 800BC550 00000000 */ nop -/* 0BD154 800BC554 0006000D */ break 6 -.L800BC558: -/* 0BD158 800BC558 0000C012 */ mflo $t8 -/* 0BD15C 800BC55C A098000A */ sb $t8, 0xa($a0) -/* 0BD160 800BC560 8EAF0000 */ lw $t7, ($s5) -/* 0BD164 800BC564 8FCE0000 */ lw $t6, ($fp) -/* 0BD168 800BC568 014FC823 */ subu $t9, $t2, $t7 -/* 0BD16C 800BC56C 032E001A */ div $zero, $t9, $t6 -/* 0BD170 800BC570 9086000A */ lbu $a2, 0xa($a0) -/* 0BD174 800BC574 15C00002 */ bnez $t6, .L800BC580 -/* 0BD178 800BC578 00000000 */ nop -/* 0BD17C 800BC57C 0007000D */ break 7 -.L800BC580: -/* 0BD180 800BC580 2401FFFF */ li $at, -1 -/* 0BD184 800BC584 15C10004 */ bne $t6, $at, .L800BC598 -/* 0BD188 800BC588 3C018000 */ lui $at, 0x8000 -/* 0BD18C 800BC58C 17210002 */ bne $t9, $at, .L800BC598 -/* 0BD190 800BC590 00000000 */ nop -/* 0BD194 800BC594 0006000D */ break 6 -.L800BC598: -/* 0BD198 800BC598 0000C012 */ mflo $t8 -/* 0BD19C 800BC59C A098000B */ sb $t8, 0xb($a0) -/* 0BD1A0 800BC5A0 8EEF0000 */ lw $t7, ($s7) -/* 0BD1A4 800BC5A4 331100FF */ andi $s1, $t8, 0xff -/* 0BD1A8 800BC5A8 022F0019 */ multu $s1, $t7 -/* 0BD1AC 800BC5AC A4800012 */ sh $zero, 0x12($a0) -/* 0BD1B0 800BC5B0 A4800010 */ sh $zero, 0x10($a0) -/* 0BD1B4 800BC5B4 02206825 */ move $t5, $s1 -/* 0BD1B8 800BC5B8 0000C812 */ mflo $t9 -/* 0BD1BC 800BC5BC 00D97021 */ addu $t6, $a2, $t9 -/* 0BD1C0 800BC5C0 AC8E000C */ sw $t6, 0xc($a0) -/* 0BD1C4 800BC5C4 8118FFE7 */ lb $t8, -0x19($t0) -/* 0BD1C8 800BC5C8 8FAF0044 */ lw $t7, 0x44($sp) -/* 0BD1CC 800BC5CC 13000024 */ beqz $t8, .L800BC660 -/* 0BD1D0 800BC5D0 00000000 */ nop -/* 0BD1D4 800BC5D4 00CF0019 */ multu $a2, $t7 -/* 0BD1D8 800BC5D8 3C038013 */ lui $v1, %hi(D_80129FC8 + 4) # $v1, 0x8013 -/* 0BD1DC 800BC5DC 8C639FCC */ lw $v1, %lo(D_80129FC8 + 4)($v1) -/* 0BD1E0 800BC5E0 3C188013 */ lui $t8, %hi(D_8012A0E8) # $t8, 0x8013 -/* 0BD1E4 800BC5E4 2718A0E8 */ addiu $t8, %lo(D_8012A0E8) # addiu $t8, $t8, -0x5f18 -/* 0BD1E8 800BC5E8 00117080 */ sll $t6, $s1, 2 -/* 0BD1EC 800BC5EC 00001012 */ mflo $v0 -/* 0BD1F0 800BC5F0 0043082A */ slt $at, $v0, $v1 -/* 0BD1F4 800BC5F4 14200005 */ bnez $at, .L800BC60C -/* 0BD1F8 800BC5F8 00000000 */ nop -.L800BC5FC: -/* 0BD1FC 800BC5FC 00431023 */ subu $v0, $v0, $v1 -/* 0BD200 800BC600 0043082A */ slt $at, $v0, $v1 -/* 0BD204 800BC604 1020FFFD */ beqz $at, .L800BC5FC -/* 0BD208 800BC608 00000000 */ nop -.L800BC60C: -/* 0BD20C 800BC60C A4820012 */ sh $v0, 0x12($a0) -/* 0BD210 800BC610 8FB90044 */ lw $t9, 0x44($sp) -/* 0BD214 800BC614 3C038013 */ lui $v1, %hi(D_80129FC8 + 4) # $v1, 0x8013 -/* 0BD218 800BC618 01B90019 */ multu $t5, $t9 -/* 0BD21C 800BC61C 8C639FCC */ lw $v1, %lo(D_80129FC8 + 4)($v1) -/* 0BD220 800BC620 00001012 */ mflo $v0 -/* 0BD224 800BC624 0043082A */ slt $at, $v0, $v1 -/* 0BD228 800BC628 14200005 */ bnez $at, .L800BC640 -/* 0BD22C 800BC62C 00000000 */ nop -.L800BC630: -/* 0BD230 800BC630 00431023 */ subu $v0, $v0, $v1 -/* 0BD234 800BC634 0043082A */ slt $at, $v0, $v1 -/* 0BD238 800BC638 1020FFFD */ beqz $at, .L800BC630 -/* 0BD23C 800BC63C 00000000 */ nop -.L800BC640: -/* 0BD240 800BC640 01D81821 */ addu $v1, $t6, $t8 -/* 0BD244 800BC644 9099000A */ lbu $t9, 0xa($a0) -/* 0BD248 800BC648 A4820010 */ sh $v0, 0x10($a0) -/* 0BD24C 800BC64C 8C6F0000 */ lw $t7, ($v1) -/* 0BD250 800BC650 240E0001 */ li $t6, 1 -/* 0BD254 800BC654 032EC004 */ sllv $t8, $t6, $t9 -/* 0BD258 800BC658 01F87025 */ or $t6, $t7, $t8 -/* 0BD25C 800BC65C AC6E0000 */ sw $t6, ($v1) -.L800BC660: -/* 0BD260 800BC660 3C198013 */ lui $t9, %hi(D_8012A0E0) # $t9, 0x8013 -/* 0BD264 800BC664 A0850015 */ sb $a1, 0x15($a0) -/* 0BD268 800BC668 A0850019 */ sb $a1, 0x19($a0) -/* 0BD26C 800BC66C A0850016 */ sb $a1, 0x16($a0) -/* 0BD270 800BC670 A085001A */ sb $a1, 0x1a($a0) -/* 0BD274 800BC674 A0850017 */ sb $a1, 0x17($a0) -/* 0BD278 800BC678 A085001B */ sb $a1, 0x1b($a0) -/* 0BD27C 800BC67C A0850014 */ sb $a1, 0x14($a0) -/* 0BD280 800BC680 A0850018 */ sb $a1, 0x18($a0) -/* 0BD284 800BC684 8F39A0E0 */ lw $t9, %lo(D_8012A0E0)($t9) -/* 0BD288 800BC688 2652001C */ addiu $s2, $s2, 0x1c -/* 0BD28C 800BC68C 03F9082A */ slt $at, $ra, $t9 -/* 0BD290 800BC690 1420FF54 */ bnez $at, .L800BC3E4 -/* 0BD294 800BC694 26730044 */ addiu $s3, $s3, 0x44 -.L800BC698: -/* 0BD298 800BC698 8FBF003C */ lw $ra, 0x3c($sp) -/* 0BD29C 800BC69C 8FB00018 */ lw $s0, 0x18($sp) -/* 0BD2A0 800BC6A0 8FB1001C */ lw $s1, 0x1c($sp) -/* 0BD2A4 800BC6A4 8FB20020 */ lw $s2, 0x20($sp) -/* 0BD2A8 800BC6A8 8FB30024 */ lw $s3, 0x24($sp) -/* 0BD2AC 800BC6AC 8FB40028 */ lw $s4, 0x28($sp) -/* 0BD2B0 800BC6B0 8FB5002C */ lw $s5, 0x2c($sp) -/* 0BD2B4 800BC6B4 8FB60030 */ lw $s6, 0x30($sp) -/* 0BD2B8 800BC6B8 8FB70034 */ lw $s7, 0x34($sp) -/* 0BD2BC 800BC6BC 8FBE0038 */ lw $fp, 0x38($sp) -/* 0BD2C0 800BC6C0 03E00008 */ jr $ra -/* 0BD2C4 800BC6C4 27BD0060 */ addiu $sp, $sp, 0x60 - diff --git a/asm/non_matchings/waves/func_800BC6C8.s b/asm/non_matchings/waves/func_800BC6C8.s deleted file mode 100644 index eade32aa..00000000 --- a/asm/non_matchings/waves/func_800BC6C8.s +++ /dev/null @@ -1,404 +0,0 @@ -glabel func_800BC6C8 -/* 0BD2C8 800BC6C8 3C0A8013 */ lui $t2, %hi(D_80129FC8) # $t2, 0x8013 -/* 0BD2CC 800BC6CC 254A9FC8 */ addiu $t2, %lo(D_80129FC8) # addiu $t2, $t2, -0x6038 -/* 0BD2D0 800BC6D0 8D460000 */ lw $a2, ($t2) -/* 0BD2D4 800BC6D4 240E4000 */ li $t6, 16384 -/* 0BD2D8 800BC6D8 01C6001A */ div $zero, $t6, $a2 -/* 0BD2DC 800BC6DC 27BDFDB8 */ addiu $sp, $sp, -0x248 -/* 0BD2E0 800BC6E0 AFB00018 */ sw $s0, 0x18($sp) -/* 0BD2E4 800BC6E4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0BD2E8 800BC6E8 14C00002 */ bnez $a2, .L800BC6F4 -/* 0BD2EC 800BC6EC 00000000 */ nop -/* 0BD2F0 800BC6F0 0007000D */ break 7 -.L800BC6F4: -/* 0BD2F4 800BC6F4 2401FFFF */ li $at, -1 -/* 0BD2F8 800BC6F8 14C10004 */ bne $a2, $at, .L800BC70C -/* 0BD2FC 800BC6FC 3C018000 */ lui $at, 0x8000 -/* 0BD300 800BC700 15C10002 */ bne $t6, $at, .L800BC70C -/* 0BD304 800BC704 00000000 */ nop -/* 0BD308 800BC708 0006000D */ break 6 -.L800BC70C: -/* 0BD30C 800BC70C 00008025 */ move $s0, $zero -/* 0BD310 800BC710 00005825 */ move $t3, $zero -/* 0BD314 800BC714 00001012 */ mflo $v0 -/* 0BD318 800BC718 18C00015 */ blez $a2, .L800BC770 -/* 0BD31C 800BC71C 27A50034 */ addiu $a1, $sp, 0x34 -.L800BC720: -/* 0BD320 800BC720 00102400 */ sll $a0, $s0, 0x10 -/* 0BD324 800BC724 00047C03 */ sra $t7, $a0, 0x10 -/* 0BD328 800BC728 01E02025 */ move $a0, $t7 -/* 0BD32C 800BC72C AFA20234 */ sw $v0, 0x234($sp) -/* 0BD330 800BC730 AFA50028 */ sw $a1, 0x28($sp) -/* 0BD334 800BC734 0C01C1F1 */ jal sins_f -/* 0BD338 800BC738 AFAB0244 */ sw $t3, 0x244($sp) -/* 0BD33C 800BC73C 3C0A8013 */ lui $t2, %hi(D_80129FC8) # $t2, 0x8013 -/* 0BD340 800BC740 8FAB0244 */ lw $t3, 0x244($sp) -/* 0BD344 800BC744 254A9FC8 */ addiu $t2, %lo(D_80129FC8) # addiu $t2, $t2, -0x6038 -/* 0BD348 800BC748 8D460000 */ lw $a2, ($t2) -/* 0BD34C 800BC74C 8FA50028 */ lw $a1, 0x28($sp) -/* 0BD350 800BC750 8FA20234 */ lw $v0, 0x234($sp) -/* 0BD354 800BC754 256B0001 */ addiu $t3, $t3, 1 -/* 0BD358 800BC758 0166082A */ slt $at, $t3, $a2 -/* 0BD35C 800BC75C E4A00000 */ swc1 $f0, ($a1) -/* 0BD360 800BC760 24A50004 */ addiu $a1, $a1, 4 -/* 0BD364 800BC764 1420FFEE */ bnez $at, .L800BC720 -/* 0BD368 800BC768 02028021 */ addu $s0, $s0, $v0 -/* 0BD36C 800BC76C 00005825 */ move $t3, $zero -.L800BC770: -/* 0BD370 800BC770 44802000 */ mtc1 $zero, $f4 -/* 0BD374 800BC774 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BD378 800BC778 44810000 */ mtc1 $at, $f0 -/* 0BD37C 800BC77C 27AC0034 */ addiu $t4, $sp, 0x34 -/* 0BD380 800BC780 0006C080 */ sll $t8, $a2, 2 -/* 0BD384 800BC784 0198C821 */ addu $t9, $t4, $t8 -/* 0BD388 800BC788 E7A40034 */ swc1 $f4, 0x34($sp) -/* 0BD38C 800BC78C 00004025 */ move $t0, $zero -/* 0BD390 800BC790 04C00015 */ bltz $a2, .L800BC7E8 -/* 0BD394 800BC794 E7200000 */ swc1 $f0, ($t9) -/* 0BD398 800BC798 3C09800E */ lui $t1, %hi(D_800E304C) # $t1, 0x800e -/* 0BD39C 800BC79C 2529304C */ addiu $t1, %lo(D_800E304C) # addiu $t1, $t1, 0x304c -.L800BC7A0: -/* 0BD3A0 800BC7A0 04C0000B */ bltz $a2, .L800BC7D0 -/* 0BD3A4 800BC7A4 00001825 */ move $v1, $zero -/* 0BD3A8 800BC7A8 00081080 */ sll $v0, $t0, 2 -.L800BC7AC: -/* 0BD3AC 800BC7AC 8D2D0010 */ lw $t5, 0x10($t1) -/* 0BD3B0 800BC7B0 24630001 */ addiu $v1, $v1, 1 -/* 0BD3B4 800BC7B4 01A27021 */ addu $t6, $t5, $v0 -/* 0BD3B8 800BC7B8 E5C00000 */ swc1 $f0, ($t6) -/* 0BD3BC 800BC7BC 8D460000 */ lw $a2, ($t2) -/* 0BD3C0 800BC7C0 24420004 */ addiu $v0, $v0, 4 -/* 0BD3C4 800BC7C4 00C3082A */ slt $at, $a2, $v1 -/* 0BD3C8 800BC7C8 1020FFF8 */ beqz $at, .L800BC7AC -/* 0BD3CC 800BC7CC 25080001 */ addiu $t0, $t0, 1 -.L800BC7D0: -/* 0BD3D0 800BC7D0 256B0001 */ addiu $t3, $t3, 1 -/* 0BD3D4 800BC7D4 00CB082A */ slt $at, $a2, $t3 -/* 0BD3D8 800BC7D8 1020FFF1 */ beqz $at, .L800BC7A0 -/* 0BD3DC 800BC7DC 00000000 */ nop -/* 0BD3E0 800BC7E0 00005825 */ move $t3, $zero -/* 0BD3E4 800BC7E4 00004025 */ move $t0, $zero -.L800BC7E8: -/* 0BD3E8 800BC7E8 3C09800E */ lui $t1, %hi(D_800E304C) # $t1, 0x800e -/* 0BD3EC 800BC7EC 04C00016 */ bltz $a2, .L800BC848 -/* 0BD3F0 800BC7F0 2529304C */ addiu $t1, %lo(D_800E304C) # addiu $t1, $t1, 0x304c -.L800BC7F4: -/* 0BD3F4 800BC7F4 04C0000E */ bltz $a2, .L800BC830 -/* 0BD3F8 800BC7F8 00001825 */ move $v1, $zero -/* 0BD3FC 800BC7FC 000B7880 */ sll $t7, $t3, 2 -/* 0BD400 800BC800 018F2821 */ addu $a1, $t4, $t7 -/* 0BD404 800BC804 00081080 */ sll $v0, $t0, 2 -.L800BC808: -/* 0BD408 800BC808 8D380004 */ lw $t8, 4($t1) -/* 0BD40C 800BC80C C4A60000 */ lwc1 $f6, ($a1) -/* 0BD410 800BC810 0302C821 */ addu $t9, $t8, $v0 -/* 0BD414 800BC814 E7260000 */ swc1 $f6, ($t9) -/* 0BD418 800BC818 8D460000 */ lw $a2, ($t2) -/* 0BD41C 800BC81C 24630001 */ addiu $v1, $v1, 1 -/* 0BD420 800BC820 00C3082A */ slt $at, $a2, $v1 -/* 0BD424 800BC824 24420004 */ addiu $v0, $v0, 4 -/* 0BD428 800BC828 1020FFF7 */ beqz $at, .L800BC808 -/* 0BD42C 800BC82C 25080001 */ addiu $t0, $t0, 1 -.L800BC830: -/* 0BD430 800BC830 256B0001 */ addiu $t3, $t3, 1 -/* 0BD434 800BC834 00CB082A */ slt $at, $a2, $t3 -/* 0BD438 800BC838 1020FFEE */ beqz $at, .L800BC7F4 -/* 0BD43C 800BC83C 00000000 */ nop -/* 0BD440 800BC840 00005825 */ move $t3, $zero -/* 0BD444 800BC844 00004025 */ move $t0, $zero -.L800BC848: -/* 0BD448 800BC848 04C00016 */ bltz $a2, .L800BC8A4 -/* 0BD44C 800BC84C 00000000 */ nop -.L800BC850: -/* 0BD450 800BC850 04C0000E */ bltz $a2, .L800BC88C -/* 0BD454 800BC854 00001825 */ move $v1, $zero -/* 0BD458 800BC858 00081080 */ sll $v0, $t0, 2 -/* 0BD45C 800BC85C 27A40034 */ addiu $a0, $sp, 0x34 -.L800BC860: -/* 0BD460 800BC860 8D2D000C */ lw $t5, 0xc($t1) -/* 0BD464 800BC864 C4880000 */ lwc1 $f8, ($a0) -/* 0BD468 800BC868 01A27021 */ addu $t6, $t5, $v0 -/* 0BD46C 800BC86C E5C80000 */ swc1 $f8, ($t6) -/* 0BD470 800BC870 8D460000 */ lw $a2, ($t2) -/* 0BD474 800BC874 24630001 */ addiu $v1, $v1, 1 -/* 0BD478 800BC878 00C3082A */ slt $at, $a2, $v1 -/* 0BD47C 800BC87C 24420004 */ addiu $v0, $v0, 4 -/* 0BD480 800BC880 25080001 */ addiu $t0, $t0, 1 -/* 0BD484 800BC884 1020FFF6 */ beqz $at, .L800BC860 -/* 0BD488 800BC888 24840004 */ addiu $a0, $a0, 4 -.L800BC88C: -/* 0BD48C 800BC88C 256B0001 */ addiu $t3, $t3, 1 -/* 0BD490 800BC890 00CB082A */ slt $at, $a2, $t3 -/* 0BD494 800BC894 1020FFEE */ beqz $at, .L800BC850 -/* 0BD498 800BC898 00000000 */ nop -/* 0BD49C 800BC89C 00005825 */ move $t3, $zero -/* 0BD4A0 800BC8A0 00004025 */ move $t0, $zero -.L800BC8A4: -/* 0BD4A4 800BC8A4 04C0001A */ bltz $a2, .L800BC910 -/* 0BD4A8 800BC8A8 00000000 */ nop -.L800BC8AC: -/* 0BD4AC 800BC8AC 04C00012 */ bltz $a2, .L800BC8F8 -/* 0BD4B0 800BC8B0 00001825 */ move $v1, $zero -/* 0BD4B4 800BC8B4 00081080 */ sll $v0, $t0, 2 -/* 0BD4B8 800BC8B8 00002025 */ move $a0, $zero -.L800BC8BC: -/* 0BD4BC 800BC8BC 00067880 */ sll $t7, $a2, 2 -/* 0BD4C0 800BC8C0 018FC021 */ addu $t8, $t4, $t7 -/* 0BD4C4 800BC8C4 0004C823 */ negu $t9, $a0 -/* 0BD4C8 800BC8C8 8D2E0014 */ lw $t6, 0x14($t1) -/* 0BD4CC 800BC8CC 03196821 */ addu $t5, $t8, $t9 -/* 0BD4D0 800BC8D0 C5AA0000 */ lwc1 $f10, ($t5) -/* 0BD4D4 800BC8D4 01C27821 */ addu $t7, $t6, $v0 -/* 0BD4D8 800BC8D8 E5EA0000 */ swc1 $f10, ($t7) -/* 0BD4DC 800BC8DC 8D460000 */ lw $a2, ($t2) -/* 0BD4E0 800BC8E0 24630001 */ addiu $v1, $v1, 1 -/* 0BD4E4 800BC8E4 00C3082A */ slt $at, $a2, $v1 -/* 0BD4E8 800BC8E8 24420004 */ addiu $v0, $v0, 4 -/* 0BD4EC 800BC8EC 24840004 */ addiu $a0, $a0, 4 -/* 0BD4F0 800BC8F0 1020FFF2 */ beqz $at, .L800BC8BC -/* 0BD4F4 800BC8F4 25080001 */ addiu $t0, $t0, 1 -.L800BC8F8: -/* 0BD4F8 800BC8F8 256B0001 */ addiu $t3, $t3, 1 -/* 0BD4FC 800BC8FC 00CB082A */ slt $at, $a2, $t3 -/* 0BD500 800BC900 1020FFEA */ beqz $at, .L800BC8AC -/* 0BD504 800BC904 00000000 */ nop -/* 0BD508 800BC908 00005825 */ move $t3, $zero -/* 0BD50C 800BC90C 00004025 */ move $t0, $zero -.L800BC910: -/* 0BD510 800BC910 04C00018 */ bltz $a2, .L800BC974 -/* 0BD514 800BC914 00000000 */ nop -.L800BC918: -/* 0BD518 800BC918 04C00011 */ bltz $a2, .L800BC960 -/* 0BD51C 800BC91C 00001825 */ move $v1, $zero -/* 0BD520 800BC920 000B3880 */ sll $a3, $t3, 2 -/* 0BD524 800BC924 00081080 */ sll $v0, $t0, 2 -.L800BC928: -/* 0BD528 800BC928 0006C080 */ sll $t8, $a2, 2 -/* 0BD52C 800BC92C 0198C821 */ addu $t9, $t4, $t8 -/* 0BD530 800BC930 00076823 */ negu $t5, $a3 -/* 0BD534 800BC934 8D2F001C */ lw $t7, 0x1c($t1) -/* 0BD538 800BC938 032D7021 */ addu $t6, $t9, $t5 -/* 0BD53C 800BC93C C5D00000 */ lwc1 $f16, ($t6) -/* 0BD540 800BC940 01E2C021 */ addu $t8, $t7, $v0 -/* 0BD544 800BC944 E7100000 */ swc1 $f16, ($t8) -/* 0BD548 800BC948 8D460000 */ lw $a2, ($t2) -/* 0BD54C 800BC94C 24630001 */ addiu $v1, $v1, 1 -/* 0BD550 800BC950 00C3082A */ slt $at, $a2, $v1 -/* 0BD554 800BC954 24420004 */ addiu $v0, $v0, 4 -/* 0BD558 800BC958 1020FFF3 */ beqz $at, .L800BC928 -/* 0BD55C 800BC95C 25080001 */ addiu $t0, $t0, 1 -.L800BC960: -/* 0BD560 800BC960 256B0001 */ addiu $t3, $t3, 1 -/* 0BD564 800BC964 00CB082A */ slt $at, $a2, $t3 -/* 0BD568 800BC968 1020FFEB */ beqz $at, .L800BC918 -/* 0BD56C 800BC96C 00000000 */ nop -/* 0BD570 800BC970 00005825 */ move $t3, $zero -.L800BC974: -/* 0BD574 800BC974 04C00026 */ bltz $a2, .L800BCA10 -/* 0BD578 800BC978 00CB082A */ slt $at, $a2, $t3 -.L800BC97C: -/* 0BD57C 800BC97C 1420001F */ bnez $at, .L800BC9FC -/* 0BD580 800BC980 01601825 */ move $v1, $t3 -/* 0BD584 800BC984 000B3880 */ sll $a3, $t3, 2 -/* 0BD588 800BC988 27B90034 */ addiu $t9, $sp, 0x34 -/* 0BD58C 800BC98C 00F92821 */ addu $a1, $a3, $t9 -/* 0BD590 800BC990 00032080 */ sll $a0, $v1, 2 -/* 0BD594 800BC994 24CE0001 */ addiu $t6, $a2, 1 -.L800BC998: -/* 0BD598 800BC998 016E0019 */ multu $t3, $t6 -/* 0BD59C 800BC99C 8D2D0000 */ lw $t5, ($t1) -/* 0BD5A0 800BC9A0 C4B20000 */ lwc1 $f18, ($a1) -/* 0BD5A4 800BC9A4 00007812 */ mflo $t7 -/* 0BD5A8 800BC9A8 000FC080 */ sll $t8, $t7, 2 -/* 0BD5AC 800BC9AC 01B8C821 */ addu $t9, $t5, $t8 -/* 0BD5B0 800BC9B0 03247021 */ addu $t6, $t9, $a0 -/* 0BD5B4 800BC9B4 E5D20000 */ swc1 $f18, ($t6) -/* 0BD5B8 800BC9B8 8D4D0000 */ lw $t5, ($t2) -/* 0BD5BC 800BC9BC 8D2F0000 */ lw $t7, ($t1) -/* 0BD5C0 800BC9C0 25B80001 */ addiu $t8, $t5, 1 -/* 0BD5C4 800BC9C4 00780019 */ multu $v1, $t8 -/* 0BD5C8 800BC9C8 C4A40000 */ lwc1 $f4, ($a1) -/* 0BD5CC 800BC9CC 24630001 */ addiu $v1, $v1, 1 -/* 0BD5D0 800BC9D0 24840004 */ addiu $a0, $a0, 4 -/* 0BD5D4 800BC9D4 0000C812 */ mflo $t9 -/* 0BD5D8 800BC9D8 00197080 */ sll $t6, $t9, 2 -/* 0BD5DC 800BC9DC 01EE6821 */ addu $t5, $t7, $t6 -/* 0BD5E0 800BC9E0 01A7C021 */ addu $t8, $t5, $a3 -/* 0BD5E4 800BC9E4 E7040000 */ swc1 $f4, ($t8) -/* 0BD5E8 800BC9E8 8D460000 */ lw $a2, ($t2) -/* 0BD5EC 800BC9EC 00000000 */ nop -/* 0BD5F0 800BC9F0 00C3082A */ slt $at, $a2, $v1 -/* 0BD5F4 800BC9F4 1020FFE8 */ beqz $at, .L800BC998 -/* 0BD5F8 800BC9F8 24CE0001 */ addiu $t6, $a2, 1 -.L800BC9FC: -/* 0BD5FC 800BC9FC 256B0001 */ addiu $t3, $t3, 1 -/* 0BD600 800BCA00 00CB082A */ slt $at, $a2, $t3 -/* 0BD604 800BCA04 1020FFDD */ beqz $at, .L800BC97C -/* 0BD608 800BCA08 00CB082A */ slt $at, $a2, $t3 -/* 0BD60C 800BCA0C 00005825 */ move $t3, $zero -.L800BCA10: -/* 0BD610 800BCA10 04C0002C */ bltz $a2, .L800BCAC4 -/* 0BD614 800BCA14 00CB082A */ slt $at, $a2, $t3 -.L800BCA18: -/* 0BD618 800BCA18 14200025 */ bnez $at, .L800BCAB0 -/* 0BD61C 800BCA1C 01601825 */ move $v1, $t3 -/* 0BD620 800BCA20 000B3880 */ sll $a3, $t3, 2 -/* 0BD624 800BCA24 27B90034 */ addiu $t9, $sp, 0x34 -/* 0BD628 800BCA28 00F92821 */ addu $a1, $a3, $t9 -/* 0BD62C 800BCA2C 00032080 */ sll $a0, $v1, 2 -/* 0BD630 800BCA30 24CE0001 */ addiu $t6, $a2, 1 -.L800BCA34: -/* 0BD634 800BCA34 016E0019 */ multu $t3, $t6 -/* 0BD638 800BCA38 8D2F0008 */ lw $t7, 8($t1) -/* 0BD63C 800BCA3C 00067080 */ sll $t6, $a2, 2 -/* 0BD640 800BCA40 C4A60000 */ lwc1 $f6, ($a1) -/* 0BD644 800BCA44 00006812 */ mflo $t5 -/* 0BD648 800BCA48 000DC080 */ sll $t8, $t5, 2 -/* 0BD64C 800BCA4C 01F8C821 */ addu $t9, $t7, $t8 -/* 0BD650 800BCA50 032E6821 */ addu $t5, $t9, $t6 -/* 0BD654 800BCA54 00047823 */ negu $t7, $a0 -/* 0BD658 800BCA58 01AFC021 */ addu $t8, $t5, $t7 -/* 0BD65C 800BCA5C E7060000 */ swc1 $f6, ($t8) -/* 0BD660 800BCA60 8D460000 */ lw $a2, ($t2) -/* 0BD664 800BCA64 8D390008 */ lw $t9, 8($t1) -/* 0BD668 800BCA68 24CE0001 */ addiu $t6, $a2, 1 -/* 0BD66C 800BCA6C 006E0019 */ multu $v1, $t6 -/* 0BD670 800BCA70 00067080 */ sll $t6, $a2, 2 -/* 0BD674 800BCA74 C4A80000 */ lwc1 $f8, ($a1) -/* 0BD678 800BCA78 24630001 */ addiu $v1, $v1, 1 -/* 0BD67C 800BCA7C 24840004 */ addiu $a0, $a0, 4 -/* 0BD680 800BCA80 00006812 */ mflo $t5 -/* 0BD684 800BCA84 000D7880 */ sll $t7, $t5, 2 -/* 0BD688 800BCA88 032FC021 */ addu $t8, $t9, $t7 -/* 0BD68C 800BCA8C 030E6821 */ addu $t5, $t8, $t6 -/* 0BD690 800BCA90 0007C823 */ negu $t9, $a3 -/* 0BD694 800BCA94 01B97821 */ addu $t7, $t5, $t9 -/* 0BD698 800BCA98 E5E80000 */ swc1 $f8, ($t7) -/* 0BD69C 800BCA9C 8D460000 */ lw $a2, ($t2) -/* 0BD6A0 800BCAA0 00000000 */ nop -/* 0BD6A4 800BCAA4 00C3082A */ slt $at, $a2, $v1 -/* 0BD6A8 800BCAA8 1020FFE2 */ beqz $at, .L800BCA34 -/* 0BD6AC 800BCAAC 24CE0001 */ addiu $t6, $a2, 1 -.L800BCAB0: -/* 0BD6B0 800BCAB0 256B0001 */ addiu $t3, $t3, 1 -/* 0BD6B4 800BCAB4 00CB082A */ slt $at, $a2, $t3 -/* 0BD6B8 800BCAB8 1020FFD7 */ beqz $at, .L800BCA18 -/* 0BD6BC 800BCABC 00CB082A */ slt $at, $a2, $t3 -/* 0BD6C0 800BCAC0 00005825 */ move $t3, $zero -.L800BCAC4: -/* 0BD6C4 800BCAC4 04C00030 */ bltz $a2, .L800BCB88 -/* 0BD6C8 800BCAC8 00CB082A */ slt $at, $a2, $t3 -.L800BCACC: -/* 0BD6CC 800BCACC 14200029 */ bnez $at, .L800BCB74 -/* 0BD6D0 800BCAD0 01601825 */ move $v1, $t3 -/* 0BD6D4 800BCAD4 000B3880 */ sll $a3, $t3, 2 -/* 0BD6D8 800BCAD8 27B80034 */ addiu $t8, $sp, 0x34 -/* 0BD6DC 800BCADC 00F82821 */ addu $a1, $a3, $t8 -/* 0BD6E0 800BCAE0 00032080 */ sll $a0, $v1, 2 -/* 0BD6E4 800BCAE4 24C20001 */ addiu $v0, $a2, 1 -.L800BCAE8: -/* 0BD6E8 800BCAE8 00C20019 */ multu $a2, $v0 -/* 0BD6EC 800BCAEC 8D2E0018 */ lw $t6, 0x18($t1) -/* 0BD6F0 800BCAF0 C4AA0000 */ lwc1 $f10, ($a1) -/* 0BD6F4 800BCAF4 00006812 */ mflo $t5 -/* 0BD6F8 800BCAF8 000DC880 */ sll $t9, $t5, 2 -/* 0BD6FC 800BCAFC 01D97821 */ addu $t7, $t6, $t9 -/* 0BD700 800BCB00 01620019 */ multu $t3, $v0 -/* 0BD704 800BCB04 0000C012 */ mflo $t8 -/* 0BD708 800BCB08 00180823 */ negu $at, $t8 -/* 0BD70C 800BCB0C 00016880 */ sll $t5, $at, 2 -/* 0BD710 800BCB10 01ED7021 */ addu $t6, $t7, $t5 -/* 0BD714 800BCB14 01C4C821 */ addu $t9, $t6, $a0 -/* 0BD718 800BCB18 E72A0000 */ swc1 $f10, ($t9) -/* 0BD71C 800BCB1C 8D460000 */ lw $a2, ($t2) -/* 0BD720 800BCB20 8D380018 */ lw $t8, 0x18($t1) -/* 0BD724 800BCB24 24C20001 */ addiu $v0, $a2, 1 -/* 0BD728 800BCB28 00C20019 */ multu $a2, $v0 -/* 0BD72C 800BCB2C C4B00000 */ lwc1 $f16, ($a1) -/* 0BD730 800BCB30 24840004 */ addiu $a0, $a0, 4 -/* 0BD734 800BCB34 00007812 */ mflo $t7 -/* 0BD738 800BCB38 000F6880 */ sll $t5, $t7, 2 -/* 0BD73C 800BCB3C 030D7021 */ addu $t6, $t8, $t5 -/* 0BD740 800BCB40 00620019 */ multu $v1, $v0 -/* 0BD744 800BCB44 24630001 */ addiu $v1, $v1, 1 -/* 0BD748 800BCB48 0000C812 */ mflo $t9 -/* 0BD74C 800BCB4C 00190823 */ negu $at, $t9 -/* 0BD750 800BCB50 00017880 */ sll $t7, $at, 2 -/* 0BD754 800BCB54 01CFC021 */ addu $t8, $t6, $t7 -/* 0BD758 800BCB58 03076821 */ addu $t5, $t8, $a3 -/* 0BD75C 800BCB5C E5B00000 */ swc1 $f16, ($t5) -/* 0BD760 800BCB60 8D460000 */ lw $a2, ($t2) -/* 0BD764 800BCB64 00000000 */ nop -/* 0BD768 800BCB68 00C3082A */ slt $at, $a2, $v1 -/* 0BD76C 800BCB6C 1020FFDE */ beqz $at, .L800BCAE8 -/* 0BD770 800BCB70 24C20001 */ addiu $v0, $a2, 1 -.L800BCB74: -/* 0BD774 800BCB74 256B0001 */ addiu $t3, $t3, 1 -/* 0BD778 800BCB78 00CB082A */ slt $at, $a2, $t3 -/* 0BD77C 800BCB7C 1020FFD3 */ beqz $at, .L800BCACC -/* 0BD780 800BCB80 00CB082A */ slt $at, $a2, $t3 -/* 0BD784 800BCB84 00005825 */ move $t3, $zero -.L800BCB88: -/* 0BD788 800BCB88 04C00035 */ bltz $a2, .L800BCC60 -/* 0BD78C 800BCB8C 00CB082A */ slt $at, $a2, $t3 -.L800BCB90: -/* 0BD790 800BCB90 1420002F */ bnez $at, .L800BCC50 -/* 0BD794 800BCB94 01601825 */ move $v1, $t3 -/* 0BD798 800BCB98 000B3880 */ sll $a3, $t3, 2 -/* 0BD79C 800BCB9C 27B90034 */ addiu $t9, $sp, 0x34 -/* 0BD7A0 800BCBA0 00F92821 */ addu $a1, $a3, $t9 -/* 0BD7A4 800BCBA4 00032080 */ sll $a0, $v1, 2 -/* 0BD7A8 800BCBA8 24C20001 */ addiu $v0, $a2, 1 -.L800BCBAC: -/* 0BD7AC 800BCBAC 00C20019 */ multu $a2, $v0 -/* 0BD7B0 800BCBB0 8D2E0020 */ lw $t6, 0x20($t1) -/* 0BD7B4 800BCBB4 C4B20000 */ lwc1 $f18, ($a1) -/* 0BD7B8 800BCBB8 00007812 */ mflo $t7 -/* 0BD7BC 800BCBBC 000FC080 */ sll $t8, $t7, 2 -/* 0BD7C0 800BCBC0 01D86821 */ addu $t5, $t6, $t8 -/* 0BD7C4 800BCBC4 01620019 */ multu $t3, $v0 -/* 0BD7C8 800BCBC8 0006C080 */ sll $t8, $a2, 2 -/* 0BD7CC 800BCBCC 0000C812 */ mflo $t9 -/* 0BD7D0 800BCBD0 00190823 */ negu $at, $t9 -/* 0BD7D4 800BCBD4 00017880 */ sll $t7, $at, 2 -/* 0BD7D8 800BCBD8 01AF7021 */ addu $t6, $t5, $t7 -/* 0BD7DC 800BCBDC 01D8C821 */ addu $t9, $t6, $t8 -/* 0BD7E0 800BCBE0 00046823 */ negu $t5, $a0 -/* 0BD7E4 800BCBE4 032D7821 */ addu $t7, $t9, $t5 -/* 0BD7E8 800BCBE8 E5F20000 */ swc1 $f18, ($t7) -/* 0BD7EC 800BCBEC 8D460000 */ lw $a2, ($t2) -/* 0BD7F0 800BCBF0 8D2E0020 */ lw $t6, 0x20($t1) -/* 0BD7F4 800BCBF4 24C20001 */ addiu $v0, $a2, 1 -/* 0BD7F8 800BCBF8 00C20019 */ multu $a2, $v0 -/* 0BD7FC 800BCBFC C4A40000 */ lwc1 $f4, ($a1) -/* 0BD800 800BCC00 24840004 */ addiu $a0, $a0, 4 -/* 0BD804 800BCC04 0000C012 */ mflo $t8 -/* 0BD808 800BCC08 0018C880 */ sll $t9, $t8, 2 -/* 0BD80C 800BCC0C 01D96821 */ addu $t5, $t6, $t9 -/* 0BD810 800BCC10 00620019 */ multu $v1, $v0 -/* 0BD814 800BCC14 0006C880 */ sll $t9, $a2, 2 -/* 0BD818 800BCC18 24630001 */ addiu $v1, $v1, 1 -/* 0BD81C 800BCC1C 00007812 */ mflo $t7 -/* 0BD820 800BCC20 000F0823 */ negu $at, $t7 -/* 0BD824 800BCC24 0001C080 */ sll $t8, $at, 2 -/* 0BD828 800BCC28 01B87021 */ addu $t6, $t5, $t8 -/* 0BD82C 800BCC2C 01D97821 */ addu $t7, $t6, $t9 -/* 0BD830 800BCC30 00076823 */ negu $t5, $a3 -/* 0BD834 800BCC34 01EDC021 */ addu $t8, $t7, $t5 -/* 0BD838 800BCC38 E7040000 */ swc1 $f4, ($t8) -/* 0BD83C 800BCC3C 8D460000 */ lw $a2, ($t2) -/* 0BD840 800BCC40 00000000 */ nop -/* 0BD844 800BCC44 00C3082A */ slt $at, $a2, $v1 -/* 0BD848 800BCC48 1020FFD8 */ beqz $at, .L800BCBAC -/* 0BD84C 800BCC4C 24C20001 */ addiu $v0, $a2, 1 -.L800BCC50: -/* 0BD850 800BCC50 256B0001 */ addiu $t3, $t3, 1 -/* 0BD854 800BCC54 00CB082A */ slt $at, $a2, $t3 -/* 0BD858 800BCC58 1020FFCD */ beqz $at, .L800BCB90 -/* 0BD85C 800BCC5C 00CB082A */ slt $at, $a2, $t3 -.L800BCC60: -/* 0BD860 800BCC60 8FBF001C */ lw $ra, 0x1c($sp) -/* 0BD864 800BCC64 8FB00018 */ lw $s0, 0x18($sp) -/* 0BD868 800BCC68 03E00008 */ jr $ra -/* 0BD86C 800BCC6C 27BD0248 */ addiu $sp, $sp, 0x248 - diff --git a/asm/non_matchings/waves/func_800BCC70.s b/asm/non_matchings/waves/func_800BCC70.s deleted file mode 100644 index e71ec982..00000000 --- a/asm/non_matchings/waves/func_800BCC70.s +++ /dev/null @@ -1,1102 +0,0 @@ -glabel func_800BCC70 -/* 0BD870 800BCC70 27BDFE70 */ addiu $sp, $sp, -0x190 -/* 0BD874 800BCC74 AFBE0060 */ sw $fp, 0x60($sp) -/* 0BD878 800BCC78 3C1E8013 */ lui $fp, %hi(D_80129FC8) # $fp, 0x8013 -/* 0BD87C 800BCC7C 27DE9FC8 */ addiu $fp, %lo(D_80129FC8) # addiu $fp, $fp, -0x6038 -/* 0BD880 800BCC80 8FCE0028 */ lw $t6, 0x28($fp) -/* 0BD884 800BCC84 AFB40050 */ sw $s4, 0x50($sp) -/* 0BD888 800BCC88 8FD40000 */ lw $s4, ($fp) -/* 0BD88C 800BCC8C AFBF0064 */ sw $ra, 0x64($sp) -/* 0BD890 800BCC90 AFB7005C */ sw $s7, 0x5c($sp) -/* 0BD894 800BCC94 AFB60058 */ sw $s6, 0x58($sp) -/* 0BD898 800BCC98 AFB50054 */ sw $s5, 0x54($sp) -/* 0BD89C 800BCC9C AFB3004C */ sw $s3, 0x4c($sp) -/* 0BD8A0 800BCCA0 AFB20048 */ sw $s2, 0x48($sp) -/* 0BD8A4 800BCCA4 AFB10044 */ sw $s1, 0x44($sp) -/* 0BD8A8 800BCCA8 AFB00040 */ sw $s0, 0x40($sp) -/* 0BD8AC 800BCCAC E7BD0038 */ swc1 $f29, 0x38($sp) -/* 0BD8B0 800BCCB0 E7BC003C */ swc1 $f28, 0x3c($sp) -/* 0BD8B4 800BCCB4 E7BB0030 */ swc1 $f27, 0x30($sp) -/* 0BD8B8 800BCCB8 E7BA0034 */ swc1 $f26, 0x34($sp) -/* 0BD8BC 800BCCBC E7B90028 */ swc1 $f25, 0x28($sp) -/* 0BD8C0 800BCCC0 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 0BD8C4 800BCCC4 E7B70020 */ swc1 $f23, 0x20($sp) -/* 0BD8C8 800BCCC8 E7B60024 */ swc1 $f22, 0x24($sp) -/* 0BD8CC 800BCCCC E7B50018 */ swc1 $f21, 0x18($sp) -/* 0BD8D0 800BCCD0 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 0BD8D4 800BCCD4 11C00003 */ beqz $t6, .L800BCCE4 -/* 0BD8D8 800BCCD8 AFA40190 */ sw $a0, 0x190($sp) -/* 0BD8DC 800BCCDC 00147840 */ sll $t7, $s4, 1 -/* 0BD8E0 800BCCE0 01E0A025 */ move $s4, $t7 -.L800BCCE4: -/* 0BD8E4 800BCCE4 26980001 */ addiu $t8, $s4, 1 -/* 0BD8E8 800BCCE8 03180019 */ multu $t8, $t8 -/* 0BD8EC 800BCCEC 3C11800E */ lui $s1, %hi(D_800E3178) # $s1, 0x800e -/* 0BD8F0 800BCCF0 3C01800E */ lui $at, %hi(D_800E317C) # $at, 0x800e -/* 0BD8F4 800BCCF4 26313178 */ addiu $s1, %lo(D_800E3178) # addiu $s1, $s1, 0x3178 -/* 0BD8F8 800BCCF8 AFB80090 */ sw $t8, 0x90($sp) -/* 0BD8FC 800BCCFC 00007012 */ mflo $t6 -/* 0BD900 800BCD00 AC2E317C */ sw $t6, %lo(D_800E317C)($at) -/* 0BD904 800BCD04 8E240000 */ lw $a0, ($s1) -/* 0BD908 800BCD08 00000000 */ nop -/* 0BD90C 800BCD0C 10800004 */ beqz $a0, .L800BCD20 -/* 0BD910 800BCD10 8FAF0190 */ lw $t7, 0x190($sp) -/* 0BD914 800BCD14 0C01C450 */ jal mempool_free -/* 0BD918 800BCD18 00000000 */ nop -/* 0BD91C 800BCD1C 8FAF0190 */ lw $t7, 0x190($sp) -.L800BCD20: -/* 0BD920 800BCD20 3C19800E */ lui $t9, %hi(D_800E317C) # $t9, 0x800e -/* 0BD924 800BCD24 8F39317C */ lw $t9, %lo(D_800E317C)($t9) -/* 0BD928 800BCD28 85F8001A */ lh $t8, 0x1a($t7) -/* 0BD92C 800BCD2C 3C1000FF */ lui $s0, (0x00FFFFFF >> 16) # lui $s0, 0xff -/* 0BD930 800BCD30 03190019 */ multu $t8, $t9 -/* 0BD934 800BCD34 3610FFFF */ ori $s0, (0x00FFFFFF & 0xFFFF) # ori $s0, $s0, 0xffff -/* 0BD938 800BCD38 02002825 */ move $a1, $s0 -/* 0BD93C 800BCD3C 00002012 */ mflo $a0 -/* 0BD940 800BCD40 0C01C327 */ jal mempool_alloc_safe -/* 0BD944 800BCD44 00000000 */ nop -/* 0BD948 800BCD48 8FAE0190 */ lw $t6, 0x190($sp) -/* 0BD94C 800BCD4C AE220000 */ sw $v0, ($s1) -/* 0BD950 800BCD50 85C4001A */ lh $a0, 0x1a($t6) -/* 0BD954 800BCD54 02002825 */ move $a1, $s0 -/* 0BD958 800BCD58 00047880 */ sll $t7, $a0, 2 -/* 0BD95C 800BCD5C 0C01C327 */ jal mempool_alloc_safe -/* 0BD960 800BCD60 01E02025 */ move $a0, $t7 -/* 0BD964 800BCD64 3C188013 */ lui $t8, %hi(D_8012A0D8) # $t8, 0x8013 -/* 0BD968 800BCD68 3C198013 */ lui $t9, %hi(D_8012A0DC) # $t9, 0x8013 -/* 0BD96C 800BCD6C 8F39A0DC */ lw $t9, %lo(D_8012A0DC)($t9) -/* 0BD970 800BCD70 8F18A0D8 */ lw $t8, %lo(D_8012A0D8)($t8) -/* 0BD974 800BCD74 AFA200A0 */ sw $v0, 0xa0($sp) -/* 0BD978 800BCD78 03190019 */ multu $t8, $t9 -/* 0BD97C 800BCD7C 02002825 */ move $a1, $s0 -/* 0BD980 800BCD80 00002012 */ mflo $a0 -/* 0BD984 800BCD84 000470C0 */ sll $t6, $a0, 3 -/* 0BD988 800BCD88 0C01C327 */ jal mempool_alloc_safe -/* 0BD98C 800BCD8C 01C02025 */ move $a0, $t6 -/* 0BD990 800BCD90 00142080 */ sll $a0, $s4, 2 -/* 0BD994 800BCD94 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0BD998 800BCD98 24840004 */ addiu $a0, $a0, 4 -/* 0BD99C 800BCD9C 0C01C327 */ jal mempool_alloc_safe -/* 0BD9A0 800BCDA0 02002825 */ move $a1, $s0 -/* 0BD9A4 800BCDA4 3C0F8013 */ lui $t7, %hi(D_8012A0D8) # $t7, 0x8013 -/* 0BD9A8 800BCDA8 3C188013 */ lui $t8, %hi(D_8012A0DC) # $t8, 0x8013 -/* 0BD9AC 800BCDAC 8F18A0DC */ lw $t8, %lo(D_8012A0DC)($t8) -/* 0BD9B0 800BCDB0 8DEFA0D8 */ lw $t7, %lo(D_8012A0D8)($t7) -/* 0BD9B4 800BCDB4 8FA300A4 */ lw $v1, 0xa4($sp) -/* 0BD9B8 800BCDB8 01F80019 */ multu $t7, $t8 -/* 0BD9BC 800BCDBC AFA200A8 */ sw $v0, 0xa8($sp) -/* 0BD9C0 800BCDC0 00003825 */ move $a3, $zero -/* 0BD9C4 800BCDC4 2404FFFF */ li $a0, -1 -/* 0BD9C8 800BCDC8 26850001 */ addiu $a1, $s4, 1 -/* 0BD9CC 800BCDCC 0000C812 */ mflo $t9 -/* 0BD9D0 800BCDD0 1B20000E */ blez $t9, .L800BCE0C -/* 0BD9D4 800BCDD4 240EFFFF */ li $t6, -1 -.L800BCDD8: -/* 0BD9D8 800BCDD8 AC6E0000 */ sw $t6, ($v1) -/* 0BD9DC 800BCDDC AC640004 */ sw $a0, 4($v1) -/* 0BD9E0 800BCDE0 3C0F8013 */ lui $t7, %hi(D_8012A0D8) # $t7, 0x8013 -/* 0BD9E4 800BCDE4 3C188013 */ lui $t8, %hi(D_8012A0DC) # $t8, 0x8013 -/* 0BD9E8 800BCDE8 8F18A0DC */ lw $t8, %lo(D_8012A0DC)($t8) -/* 0BD9EC 800BCDEC 8DEFA0D8 */ lw $t7, %lo(D_8012A0D8)($t7) -/* 0BD9F0 800BCDF0 24E70001 */ addiu $a3, $a3, 1 -/* 0BD9F4 800BCDF4 01F80019 */ multu $t7, $t8 -/* 0BD9F8 800BCDF8 24630008 */ addiu $v1, $v1, 8 -/* 0BD9FC 800BCDFC 0000C812 */ mflo $t9 -/* 0BDA00 800BCE00 00F9082A */ slt $at, $a3, $t9 -/* 0BDA04 800BCE04 1420FFF4 */ bnez $at, .L800BCDD8 -/* 0BDA08 800BCE08 240EFFFF */ li $t6, -1 -.L800BCE0C: -/* 0BDA0C 800BCE0C 0680004F */ bltz $s4, .L800BCF4C -/* 0BDA10 800BCE10 00005025 */ move $t2, $zero -/* 0BDA14 800BCE14 30AE0003 */ andi $t6, $a1, 3 -/* 0BDA18 800BCE18 11C00022 */ beqz $t6, .L800BCEA4 -/* 0BDA1C 800BCE1C 01C02025 */ move $a0, $t6 -/* 0BDA20 800BCE20 44942000 */ mtc1 $s4, $f4 -/* 0BDA24 800BCE24 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 0BDA28 800BCE28 000A7880 */ sll $t7, $t2, 2 -/* 0BDA2C 800BCE2C 44811000 */ mtc1 $at, $f2 -/* 0BDA30 800BCE30 004F1821 */ addu $v1, $v0, $t7 -/* 0BDA34 800BCE34 46802020 */ cvt.s.w $f0, $f4 -/* 0BDA38 800BCE38 000AC040 */ sll $t8, $t2, 1 -/* 0BDA3C 800BCE3C 0298C823 */ subu $t9, $s4, $t8 -/* 0BDA40 800BCE40 44993000 */ mtc1 $t9, $f6 -/* 0BDA44 800BCE44 2484FFFF */ addiu $a0, $a0, -1 -/* 0BDA48 800BCE48 108A000C */ beq $a0, $t2, .L800BCE7C -/* 0BDA4C 800BCE4C 46803220 */ cvt.s.w $f8, $f6 -.L800BCE50: -/* 0BDA50 800BCE50 00000000 */ nop -/* 0BDA54 800BCE54 46004283 */ div.s $f10, $f8, $f0 -/* 0BDA58 800BCE58 254A0001 */ addiu $t2, $t2, 1 -/* 0BDA5C 800BCE5C 000AC040 */ sll $t8, $t2, 1 -/* 0BDA60 800BCE60 0298C823 */ subu $t9, $s4, $t8 -/* 0BDA64 800BCE64 44993000 */ mtc1 $t9, $f6 -/* 0BDA68 800BCE68 24630004 */ addiu $v1, $v1, 4 -/* 0BDA6C 800BCE6C 46803220 */ cvt.s.w $f8, $f6 -/* 0BDA70 800BCE70 46025402 */ mul.s $f16, $f10, $f2 -/* 0BDA74 800BCE74 148AFFF6 */ bne $a0, $t2, .L800BCE50 -/* 0BDA78 800BCE78 E470FFFC */ swc1 $f16, -4($v1) -.L800BCE7C: -/* 0BDA7C 800BCE7C 00000000 */ nop -/* 0BDA80 800BCE80 46004283 */ div.s $f10, $f8, $f0 -/* 0BDA84 800BCE84 24840001 */ addiu $a0, $a0, 1 -/* 0BDA88 800BCE88 254A0001 */ addiu $t2, $t2, 1 -/* 0BDA8C 800BCE8C 24630004 */ addiu $v1, $v1, 4 -/* 0BDA90 800BCE90 46025402 */ mul.s $f16, $f10, $f2 -/* 0BDA94 800BCE94 E470FFFC */ swc1 $f16, -4($v1) -/* 0BDA98 800BCE98 268E0001 */ addiu $t6, $s4, 1 -/* 0BDA9C 800BCE9C 11CA002B */ beq $t6, $t2, .L800BCF4C -/* 0BDAA0 800BCEA0 00000000 */ nop -.L800BCEA4: -/* 0BDAA4 800BCEA4 44949000 */ mtc1 $s4, $f18 -/* 0BDAA8 800BCEA8 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 0BDAAC 800BCEAC 000A7880 */ sll $t7, $t2, 2 -/* 0BDAB0 800BCEB0 44811000 */ mtc1 $at, $f2 -/* 0BDAB4 800BCEB4 004F1821 */ addu $v1, $v0, $t7 -/* 0BDAB8 800BCEB8 46809020 */ cvt.s.w $f0, $f18 -.L800BCEBC: -/* 0BDABC 800BCEBC 000AC040 */ sll $t8, $t2, 1 -/* 0BDAC0 800BCEC0 0298C823 */ subu $t9, $s4, $t8 -/* 0BDAC4 800BCEC4 44992000 */ mtc1 $t9, $f4 -/* 0BDAC8 800BCEC8 254E0001 */ addiu $t6, $t2, 1 -/* 0BDACC 800BCECC 468021A0 */ cvt.s.w $f6, $f4 -/* 0BDAD0 800BCED0 000E7840 */ sll $t7, $t6, 1 -/* 0BDAD4 800BCED4 028FC023 */ subu $t8, $s4, $t7 -/* 0BDAD8 800BCED8 44988000 */ mtc1 $t8, $f16 -/* 0BDADC 800BCEDC 46003203 */ div.s $f8, $f6, $f0 -/* 0BDAE0 800BCEE0 468084A0 */ cvt.s.w $f18, $f16 -/* 0BDAE4 800BCEE4 25590002 */ addiu $t9, $t2, 2 -/* 0BDAE8 800BCEE8 00197040 */ sll $t6, $t9, 1 -/* 0BDAEC 800BCEEC 028E7823 */ subu $t7, $s4, $t6 -/* 0BDAF0 800BCEF0 25580003 */ addiu $t8, $t2, 3 -/* 0BDAF4 800BCEF4 0018C840 */ sll $t9, $t8, 1 -/* 0BDAF8 800BCEF8 02997023 */ subu $t6, $s4, $t9 -/* 0BDAFC 800BCEFC 254A0004 */ addiu $t2, $t2, 4 -/* 0BDB00 800BCF00 24630010 */ addiu $v1, $v1, 0x10 -/* 0BDB04 800BCF04 46009103 */ div.s $f4, $f18, $f0 -/* 0BDB08 800BCF08 46024282 */ mul.s $f10, $f8, $f2 -/* 0BDB0C 800BCF0C 448F4000 */ mtc1 $t7, $f8 -/* 0BDB10 800BCF10 268F0001 */ addiu $t7, $s4, 1 -/* 0BDB14 800BCF14 E46AFFF0 */ swc1 $f10, -0x10($v1) -/* 0BDB18 800BCF18 468042A0 */ cvt.s.w $f10, $f8 -/* 0BDB1C 800BCF1C 46022182 */ mul.s $f6, $f4, $f2 -/* 0BDB20 800BCF20 448E2000 */ mtc1 $t6, $f4 -/* 0BDB24 800BCF24 46005403 */ div.s $f16, $f10, $f0 -/* 0BDB28 800BCF28 E466FFF4 */ swc1 $f6, -0xc($v1) -/* 0BDB2C 800BCF2C 468021A0 */ cvt.s.w $f6, $f4 -/* 0BDB30 800BCF30 00000000 */ nop -/* 0BDB34 800BCF34 46003203 */ div.s $f8, $f6, $f0 -/* 0BDB38 800BCF38 46028482 */ mul.s $f18, $f16, $f2 -/* 0BDB3C 800BCF3C E472FFF8 */ swc1 $f18, -8($v1) -/* 0BDB40 800BCF40 46024282 */ mul.s $f10, $f8, $f2 -/* 0BDB44 800BCF44 15EAFFDD */ bne $t7, $t2, .L800BCEBC -/* 0BDB48 800BCF48 E46AFFFC */ swc1 $f10, -4($v1) -.L800BCF4C: -/* 0BDB4C 800BCF4C 44948000 */ mtc1 $s4, $f16 -/* 0BDB50 800BCF50 3C018013 */ lui $at, %hi(D_8012A0A0) # $at, 0x8013 -/* 0BDB54 800BCF54 C432A0A0 */ lwc1 $f18, %lo(D_8012A0A0)($at) -/* 0BDB58 800BCF58 8FB80190 */ lw $t8, 0x190($sp) -/* 0BDB5C 800BCF5C 46808020 */ cvt.s.w $f0, $f16 -/* 0BDB60 800BCF60 3C018013 */ lui $at, %hi(D_8012A0A4) # $at, 0x8013 -/* 0BDB64 800BCF64 AFA0018C */ sw $zero, 0x18c($sp) -/* 0BDB68 800BCF68 C424A0A4 */ lwc1 $f4, %lo(D_8012A0A4)($at) -/* 0BDB6C 800BCF6C 8702001A */ lh $v0, 0x1a($t8) -/* 0BDB70 800BCF70 0000A825 */ move $s5, $zero -/* 0BDB74 800BCF74 46009683 */ div.s $f26, $f18, $f0 -/* 0BDB78 800BCF78 184000BE */ blez $v0, .L800BD274 -/* 0BDB7C 800BCF7C 46002703 */ div.s $f28, $f4, $f0 -/* 0BDB80 800BCF80 3C06800E */ lui $a2, %hi(D_800E30D8) # $a2, 0x800e -/* 0BDB84 800BCF84 24C630D8 */ addiu $a2, %lo(D_800E30D8) # addiu $a2, $a2, 0x30d8 -/* 0BDB88 800BCF88 AFA00080 */ sw $zero, 0x80($sp) -/* 0BDB8C 800BCF8C 27B000AC */ addiu $s0, $sp, 0xac -.L800BCF90: -/* 0BDB90 800BCF90 8CD90000 */ lw $t9, ($a2) -/* 0BDB94 800BCF94 8FAE0080 */ lw $t6, 0x80($sp) -/* 0BDB98 800BCF98 240F0001 */ li $t7, 1 -/* 0BDB9C 800BCF9C 032E2821 */ addu $a1, $t9, $t6 -/* 0BDBA0 800BCFA0 90A4000B */ lbu $a0, 0xb($a1) -/* 0BDBA4 800BCFA4 3C0E8013 */ lui $t6, %hi(D_8012A0E8) # $t6, 0x8013 -/* 0BDBA8 800BCFA8 0004C880 */ sll $t9, $a0, 2 -/* 0BDBAC 800BCFAC 90A3000A */ lbu $v1, 0xa($a1) -/* 0BDBB0 800BCFB0 01D97021 */ addu $t6, $t6, $t9 -/* 0BDBB4 800BCFB4 8DCEA0E8 */ lw $t6, %lo(D_8012A0E8)($t6) -/* 0BDBB8 800BCFB8 006FC004 */ sllv $t8, $t7, $v1 -/* 0BDBBC 800BCFBC 030E7824 */ and $t7, $t8, $t6 -/* 0BDBC0 800BCFC0 11E00091 */ beqz $t7, .L800BD208 -/* 0BDBC4 800BCFC4 3C0E800E */ lui $t6, %hi(D_800E317C) # $t6, 0x800e -/* 0BDBC8 800BCFC8 3C0E8013 */ lui $t6, %hi(D_8012A0D8) # $t6, 0x8013 -/* 0BDBCC 800BCFCC 8DCEA0D8 */ lw $t6, %lo(D_8012A0D8)($t6) -/* 0BDBD0 800BCFD0 8FB800A4 */ lw $t8, 0xa4($sp) -/* 0BDBD4 800BCFD4 008E0019 */ multu $a0, $t6 -/* 0BDBD8 800BCFD8 8FB9018C */ lw $t9, 0x18c($sp) -/* 0BDBDC 800BCFDC 00001025 */ move $v0, $zero -/* 0BDBE0 800BCFE0 00007812 */ mflo $t7 -/* 0BDBE4 800BCFE4 000F70C0 */ sll $t6, $t7, 3 -/* 0BDBE8 800BCFE8 030E7821 */ addu $t7, $t8, $t6 -/* 0BDBEC 800BCFEC 0003C0C0 */ sll $t8, $v1, 3 -/* 0BDBF0 800BCFF0 01F87021 */ addu $t6, $t7, $t8 -/* 0BDBF4 800BCFF4 ADD90000 */ sw $t9, ($t6) -/* 0BDBF8 800BCFF8 8FB80080 */ lw $t8, 0x80($sp) -/* 0BDBFC 800BCFFC 8CCF0000 */ lw $t7, ($a2) -/* 0BDC00 800BD000 3C0E8013 */ lui $t6, %hi(D_8012A0D8) # $t6, 0x8013 -/* 0BDC04 800BD004 01F82821 */ addu $a1, $t7, $t8 -/* 0BDC08 800BD008 90B9000B */ lbu $t9, 0xb($a1) -/* 0BDC0C 800BD00C 8DCEA0D8 */ lw $t6, %lo(D_8012A0D8)($t6) -/* 0BDC10 800BD010 00000000 */ nop -/* 0BDC14 800BD014 032E0019 */ multu $t9, $t6 -/* 0BDC18 800BD018 8FB900A4 */ lw $t9, 0xa4($sp) -/* 0BDC1C 800BD01C 00007812 */ mflo $t7 -/* 0BDC20 800BD020 000FC0C0 */ sll $t8, $t7, 3 -/* 0BDC24 800BD024 90AF000A */ lbu $t7, 0xa($a1) -/* 0BDC28 800BD028 03387021 */ addu $t6, $t9, $t8 -/* 0BDC2C 800BD02C 000FC8C0 */ sll $t9, $t7, 3 -/* 0BDC30 800BD030 01D9C021 */ addu $t8, $t6, $t9 -/* 0BDC34 800BD034 AF150004 */ sw $s5, 4($t8) -/* 0BDC38 800BD038 8FAE0080 */ lw $t6, 0x80($sp) -/* 0BDC3C 800BD03C 8CCF0000 */ lw $t7, ($a2) -/* 0BDC40 800BD040 00000000 */ nop -/* 0BDC44 800BD044 01EE2821 */ addu $a1, $t7, $t6 -/* 0BDC48 800BD048 84B90006 */ lh $t9, 6($a1) -/* 0BDC4C 800BD04C 84B80008 */ lh $t8, 8($a1) -/* 0BDC50 800BD050 44993000 */ mtc1 $t9, $f6 -/* 0BDC54 800BD054 44984000 */ mtc1 $t8, $f8 -/* 0BDC58 800BD058 46803520 */ cvt.s.w $f20, $f6 -/* 0BDC5C 800BD05C 06800065 */ bltz $s4, .L800BD1F4 -/* 0BDC60 800BD060 46804620 */ cvt.s.w $f24, $f8 -.L800BD064: -/* 0BDC64 800BD064 8CCF0000 */ lw $t7, ($a2) -/* 0BDC68 800BD068 8FAE0080 */ lw $t6, 0x80($sp) -/* 0BDC6C 800BD06C 00000000 */ nop -/* 0BDC70 800BD070 01EEC821 */ addu $t9, $t7, $t6 -/* 0BDC74 800BD074 87380004 */ lh $t8, 4($t9) -/* 0BDC78 800BD078 00000000 */ nop -/* 0BDC7C 800BD07C 44985000 */ mtc1 $t8, $f10 -/* 0BDC80 800BD080 06800058 */ bltz $s4, .L800BD1E4 -/* 0BDC84 800BD084 468055A0 */ cvt.s.w $f22, $f10 -/* 0BDC88 800BD088 AFA20184 */ sw $v0, 0x184($sp) -/* 0BDC8C 800BD08C 8FAF0184 */ lw $t7, 0x184($sp) -/* 0BDC90 800BD090 8FB70090 */ lw $s7, 0x90($sp) -/* 0BDC94 800BD094 8FB300A8 */ lw $s3, 0xa8($sp) -/* 0BDC98 800BD098 000F7080 */ sll $t6, $t7, 2 -/* 0BDC9C 800BD09C 0017C880 */ sll $t9, $s7, 2 -/* 0BDCA0 800BD0A0 0320B825 */ move $s7, $t9 -/* 0BDCA4 800BD0A4 00009025 */ move $s2, $zero -/* 0BDCA8 800BD0A8 026EB021 */ addu $s6, $s3, $t6 -.L800BD0AC: -/* 0BDCAC 800BD0AC C6700000 */ lwc1 $f16, ($s3) -/* 0BDCB0 800BD0B0 C6C40000 */ lwc1 $f4, ($s6) -/* 0BDCB4 800BD0B4 46168480 */ add.s $f18, $f16, $f22 -/* 0BDCB8 800BD0B8 8FA4018C */ lw $a0, 0x18c($sp) -/* 0BDCBC 800BD0BC 46182180 */ add.s $f6, $f4, $f24 -/* 0BDCC0 800BD0C0 44059000 */ mfc1 $a1, $f18 -/* 0BDCC4 800BD0C4 44063000 */ mfc1 $a2, $f6 -/* 0BDCC8 800BD0C8 0C00AEAC */ jal func_8002BAB0 -/* 0BDCCC 800BD0CC 02003825 */ move $a3, $s0 -/* 0BDCD0 800BD0D0 14400003 */ bnez $v0, .L800BD0E0 -/* 0BDCD4 800BD0D4 26520004 */ addiu $s2, $s2, 4 -/* 0BDCD8 800BD0D8 10000038 */ b .L800BD1BC -/* 0BDCDC 800BD0DC 240600FF */ li $a2, 255 -.L800BD0E0: -/* 0BDCE0 800BD0E0 2444FFFF */ addiu $a0, $v0, -1 -/* 0BDCE4 800BD0E4 18800012 */ blez $a0, .L800BD130 -/* 0BDCE8 800BD0E8 00001825 */ move $v1, $zero -/* 0BDCEC 800BD0EC C7A800AC */ lwc1 $f8, 0xac($sp) -/* 0BDCF0 800BD0F0 00000000 */ nop -/* 0BDCF4 800BD0F4 4608A03E */ c.le.s $f20, $f8 -/* 0BDCF8 800BD0F8 00000000 */ nop -/* 0BDCFC 800BD0FC 4500000D */ bc1f .L800BD134 -/* 0BDD00 800BD100 00037080 */ sll $t6, $v1, 2 -.L800BD104: -/* 0BDD04 800BD104 24630001 */ addiu $v1, $v1, 1 -/* 0BDD08 800BD108 0064082A */ slt $at, $v1, $a0 -/* 0BDD0C 800BD10C 10200008 */ beqz $at, .L800BD130 -/* 0BDD10 800BD110 0003C080 */ sll $t8, $v1, 2 -/* 0BDD14 800BD114 02187821 */ addu $t7, $s0, $t8 -/* 0BDD18 800BD118 C5EA0000 */ lwc1 $f10, ($t7) -/* 0BDD1C 800BD11C 00000000 */ nop -/* 0BDD20 800BD120 460AA03E */ c.le.s $f20, $f10 -/* 0BDD24 800BD124 00000000 */ nop -/* 0BDD28 800BD128 4501FFF6 */ bc1t .L800BD104 -/* 0BDD2C 800BD12C 00000000 */ nop -.L800BD130: -/* 0BDD30 800BD130 00037080 */ sll $t6, $v1, 2 -.L800BD134: -/* 0BDD34 800BD134 020EC821 */ addu $t9, $s0, $t6 -/* 0BDD38 800BD138 C7200000 */ lwc1 $f0, ($t9) -/* 0BDD3C 800BD13C 00000000 */ nop -/* 0BDD40 800BD140 4600A03C */ c.lt.s $f20, $f0 -/* 0BDD44 800BD144 00000000 */ nop -/* 0BDD48 800BD148 45000003 */ bc1f .L800BD158 -/* 0BDD4C 800BD14C 00000000 */ nop -/* 0BDD50 800BD150 1000001A */ b .L800BD1BC -/* 0BDD54 800BD154 00003025 */ move $a2, $zero -.L800BD158: -/* 0BDD58 800BD158 4600A032 */ c.eq.s $f20, $f0 -/* 0BDD5C 800BD15C 00000000 */ nop -/* 0BDD60 800BD160 45000003 */ bc1f .L800BD170 -/* 0BDD64 800BD164 00000000 */ nop -/* 0BDD68 800BD168 10000014 */ b .L800BD1BC -/* 0BDD6C 800BD16C 240600FF */ li $a2, 255 -.L800BD170: -/* 0BDD70 800BD170 4600A401 */ sub.s $f16, $f20, $f0 -/* 0BDD74 800BD174 C7D20048 */ lwc1 $f18, 0x48($fp) -/* 0BDD78 800BD178 00000000 */ nop -/* 0BDD7C 800BD17C 46128102 */ mul.s $f4, $f16, $f18 -/* 0BDD80 800BD180 4458F800 */ cfc1 $t8, $31 -/* 0BDD84 800BD184 00000000 */ nop -/* 0BDD88 800BD188 37010003 */ ori $at, $t8, 3 -/* 0BDD8C 800BD18C 38210002 */ xori $at, $at, 2 -/* 0BDD90 800BD190 44C1F800 */ ctc1 $at, $31 -/* 0BDD94 800BD194 00000000 */ nop -/* 0BDD98 800BD198 460021A4 */ cvt.w.s $f6, $f4 -/* 0BDD9C 800BD19C 44063000 */ mfc1 $a2, $f6 -/* 0BDDA0 800BD1A0 44D8F800 */ ctc1 $t8, $31 -/* 0BDDA4 800BD1A4 28C10200 */ slti $at, $a2, 0x200 -/* 0BDDA8 800BD1A8 14200003 */ bnez $at, .L800BD1B8 -/* 0BDDAC 800BD1AC 00067843 */ sra $t7, $a2, 1 -/* 0BDDB0 800BD1B0 240601FF */ li $a2, 511 -/* 0BDDB4 800BD1B4 00067843 */ sra $t7, $a2, 1 -.L800BD1B8: -/* 0BDDB8 800BD1B8 01E03025 */ move $a2, $t7 -.L800BD1BC: -/* 0BDDBC 800BD1BC 8E2E0000 */ lw $t6, ($s1) -/* 0BDDC0 800BD1C0 26730004 */ addiu $s3, $s3, 4 -/* 0BDDC4 800BD1C4 01D5C821 */ addu $t9, $t6, $s5 -/* 0BDDC8 800BD1C8 A3260000 */ sb $a2, ($t9) -/* 0BDDCC 800BD1CC 26B50001 */ addiu $s5, $s5, 1 -/* 0BDDD0 800BD1D0 16F2FFB6 */ bne $s7, $s2, .L800BD0AC -/* 0BDDD4 800BD1D4 461AB580 */ add.s $f22, $f22, $f26 -/* 0BDDD8 800BD1D8 3C06800E */ lui $a2, %hi(D_800E30D8) # $a2, 0x800e -/* 0BDDDC 800BD1DC 8FA20184 */ lw $v0, 0x184($sp) -/* 0BDDE0 800BD1E0 24C630D8 */ addiu $a2, %lo(D_800E30D8) # addiu $a2, $a2, 0x30d8 -.L800BD1E4: -/* 0BDDE4 800BD1E4 8FB80090 */ lw $t8, 0x90($sp) -/* 0BDDE8 800BD1E8 24420001 */ addiu $v0, $v0, 1 -/* 0BDDEC 800BD1EC 1702FF9D */ bne $t8, $v0, .L800BD064 -/* 0BDDF0 800BD1F0 461CC600 */ add.s $f24, $f24, $f28 -.L800BD1F4: -/* 0BDDF4 800BD1F4 8FAF0190 */ lw $t7, 0x190($sp) -/* 0BDDF8 800BD1F8 00000000 */ nop -/* 0BDDFC 800BD1FC 85E2001A */ lh $v0, 0x1a($t7) -/* 0BDE00 800BD200 10000014 */ b .L800BD254 -/* 0BDE04 800BD204 8FB9018C */ lw $t9, 0x18c($sp) -.L800BD208: -/* 0BDE08 800BD208 8DCE317C */ lw $t6, %lo(D_800E317C)($t6) -/* 0BDE0C 800BD20C 00005025 */ move $t2, $zero -/* 0BDE10 800BD210 19C00010 */ blez $t6, .L800BD254 -/* 0BDE14 800BD214 8FB9018C */ lw $t9, 0x18c($sp) -.L800BD218: -/* 0BDE18 800BD218 8E380000 */ lw $t8, ($s1) -/* 0BDE1C 800BD21C 241900FF */ li $t9, 255 -/* 0BDE20 800BD220 03157821 */ addu $t7, $t8, $s5 -/* 0BDE24 800BD224 A1F90000 */ sb $t9, ($t7) -/* 0BDE28 800BD228 3C0E800E */ lui $t6, %hi(D_800E317C) # $t6, 0x800e -/* 0BDE2C 800BD22C 8DCE317C */ lw $t6, %lo(D_800E317C)($t6) -/* 0BDE30 800BD230 254A0001 */ addiu $t2, $t2, 1 -/* 0BDE34 800BD234 014E082A */ slt $at, $t2, $t6 -/* 0BDE38 800BD238 1420FFF7 */ bnez $at, .L800BD218 -/* 0BDE3C 800BD23C 26B50001 */ addiu $s5, $s5, 1 -/* 0BDE40 800BD240 8FB80190 */ lw $t8, 0x190($sp) -/* 0BDE44 800BD244 00000000 */ nop -/* 0BDE48 800BD248 8702001A */ lh $v0, 0x1a($t8) -/* 0BDE4C 800BD24C 00000000 */ nop -/* 0BDE50 800BD250 8FB9018C */ lw $t9, 0x18c($sp) -.L800BD254: -/* 0BDE54 800BD254 8FAE0080 */ lw $t6, 0x80($sp) -/* 0BDE58 800BD258 272F0001 */ addiu $t7, $t9, 1 -/* 0BDE5C 800BD25C 01E2082A */ slt $at, $t7, $v0 -/* 0BDE60 800BD260 25D8001C */ addiu $t8, $t6, 0x1c -/* 0BDE64 800BD264 AFB80080 */ sw $t8, 0x80($sp) -/* 0BDE68 800BD268 1420FF49 */ bnez $at, .L800BCF90 -/* 0BDE6C 800BD26C AFAF018C */ sw $t7, 0x18c($sp) -/* 0BDE70 800BD270 AFA0018C */ sw $zero, 0x18c($sp) -.L800BD274: -/* 0BDE74 800BD274 3C038013 */ lui $v1, %hi(D_8012A0DC) # $v1, 0x8013 -/* 0BDE78 800BD278 8C63A0DC */ lw $v1, %lo(D_8012A0DC)($v1) -/* 0BDE7C 800BD27C AFA00184 */ sw $zero, 0x184($sp) -/* 0BDE80 800BD280 186000FC */ blez $v1, .L800BD674 -/* 0BDE84 800BD284 3C048013 */ lui $a0, %hi(D_8012A0D8) # $a0, 0x8013 -/* 0BDE88 800BD288 8C84A0D8 */ lw $a0, %lo(D_8012A0D8)($a0) -/* 0BDE8C 800BD28C 00000000 */ nop -.L800BD290: -/* 0BDE90 800BD290 188000EE */ blez $a0, .L800BD64C -/* 0BDE94 800BD294 00005025 */ move $t2, $zero -/* 0BDE98 800BD298 8FA500A4 */ lw $a1, 0xa4($sp) -/* 0BDE9C 800BD29C 00005825 */ move $t3, $zero -/* 0BDEA0 800BD2A0 2406FFFF */ li $a2, -1 -.L800BD2A4: -/* 0BDEA4 800BD2A4 8FB90184 */ lw $t9, 0x184($sp) -/* 0BDEA8 800BD2A8 00000000 */ nop -/* 0BDEAC 800BD2AC 03240019 */ multu $t9, $a0 -/* 0BDEB0 800BD2B0 00007012 */ mflo $t6 -/* 0BDEB4 800BD2B4 000EC0C0 */ sll $t8, $t6, 3 -/* 0BDEB8 800BD2B8 00B87821 */ addu $t7, $a1, $t8 -/* 0BDEBC 800BD2BC 01EB7021 */ addu $t6, $t7, $t3 -/* 0BDEC0 800BD2C0 8DCC0004 */ lw $t4, 4($t6) -/* 0BDEC4 800BD2C4 3C188013 */ lui $t8, %hi(D_8012A0DC) # $t8, 0x8013 -/* 0BDEC8 800BD2C8 118600D8 */ beq $t4, $a2, .L800BD62C -/* 0BDECC 800BD2CC 00000000 */ nop -/* 0BDED0 800BD2D0 8F18A0DC */ lw $t8, %lo(D_8012A0DC)($t8) -/* 0BDED4 800BD2D4 272E0001 */ addiu $t6, $t9, 1 -/* 0BDED8 800BD2D8 270FFFFF */ addiu $t7, $t8, -1 -/* 0BDEDC 800BD2DC 032F082A */ slt $at, $t9, $t7 -/* 0BDEE0 800BD2E0 10200066 */ beqz $at, .L800BD47C -/* 0BDEE4 800BD2E4 248FFFFF */ addiu $t7, $a0, -1 -/* 0BDEE8 800BD2E8 01C40019 */ multu $t6, $a0 -/* 0BDEEC 800BD2EC 0000C012 */ mflo $t8 -/* 0BDEF0 800BD2F0 001878C0 */ sll $t7, $t8, 3 -/* 0BDEF4 800BD2F4 00AFC821 */ addu $t9, $a1, $t7 -/* 0BDEF8 800BD2F8 032B7021 */ addu $t6, $t9, $t3 -/* 0BDEFC 800BD2FC 8DC20004 */ lw $v0, 4($t6) -/* 0BDF00 800BD300 8FB80090 */ lw $t8, 0x90($sp) -/* 0BDF04 800BD304 1046005D */ beq $v0, $a2, .L800BD47C -/* 0BDF08 800BD308 248FFFFF */ addiu $t7, $a0, -1 -/* 0BDF0C 800BD30C 03140019 */ multu $t8, $s4 -/* 0BDF10 800BD310 24430001 */ addiu $v1, $v0, 1 -/* 0BDF14 800BD314 2682FFFF */ addiu $v0, $s4, -1 -/* 0BDF18 800BD318 2689FFFF */ addiu $t1, $s4, -1 -/* 0BDF1C 800BD31C 30590003 */ andi $t9, $v0, 3 -/* 0BDF20 800BD320 00003825 */ move $a3, $zero -/* 0BDF24 800BD324 00007812 */ mflo $t7 -/* 0BDF28 800BD328 01EC2821 */ addu $a1, $t7, $t4 -/* 0BDF2C 800BD32C 19200052 */ blez $t1, .L800BD478 -/* 0BDF30 800BD330 24A50001 */ addiu $a1, $a1, 1 -/* 0BDF34 800BD334 13200013 */ beqz $t9, .L800BD384 -/* 0BDF38 800BD338 03204025 */ move $t0, $t9 -.L800BD33C: -/* 0BDF3C 800BD33C 8E240000 */ lw $a0, ($s1) -/* 0BDF40 800BD340 24E70001 */ addiu $a3, $a3, 1 -/* 0BDF44 800BD344 00851021 */ addu $v0, $a0, $a1 -/* 0BDF48 800BD348 00837021 */ addu $t6, $a0, $v1 -/* 0BDF4C 800BD34C 91D80000 */ lbu $t8, ($t6) -/* 0BDF50 800BD350 904F0000 */ lbu $t7, ($v0) -/* 0BDF54 800BD354 24A50001 */ addiu $a1, $a1, 1 -/* 0BDF58 800BD358 030F3021 */ addu $a2, $t8, $t7 -/* 0BDF5C 800BD35C 0006C843 */ sra $t9, $a2, 1 -/* 0BDF60 800BD360 A0590000 */ sb $t9, ($v0) -/* 0BDF64 800BD364 8E2E0000 */ lw $t6, ($s1) -/* 0BDF68 800BD368 00000000 */ nop -/* 0BDF6C 800BD36C 01C3C021 */ addu $t8, $t6, $v1 -/* 0BDF70 800BD370 A3190000 */ sb $t9, ($t8) -/* 0BDF74 800BD374 1507FFF1 */ bne $t0, $a3, .L800BD33C -/* 0BDF78 800BD378 24630001 */ addiu $v1, $v1, 1 -/* 0BDF7C 800BD37C 10E9003B */ beq $a3, $t1, .L800BD46C -/* 0BDF80 800BD380 00000000 */ nop -.L800BD384: -/* 0BDF84 800BD384 8E240000 */ lw $a0, ($s1) -/* 0BDF88 800BD388 24E70004 */ addiu $a3, $a3, 4 -/* 0BDF8C 800BD38C 00851021 */ addu $v0, $a0, $a1 -/* 0BDF90 800BD390 00837821 */ addu $t7, $a0, $v1 -/* 0BDF94 800BD394 91F90000 */ lbu $t9, ($t7) -/* 0BDF98 800BD398 904E0000 */ lbu $t6, ($v0) -/* 0BDF9C 800BD39C 24A50001 */ addiu $a1, $a1, 1 -/* 0BDFA0 800BD3A0 032E3021 */ addu $a2, $t9, $t6 -/* 0BDFA4 800BD3A4 0006C043 */ sra $t8, $a2, 1 -/* 0BDFA8 800BD3A8 A0580000 */ sb $t8, ($v0) -/* 0BDFAC 800BD3AC 8E2F0000 */ lw $t7, ($s1) -/* 0BDFB0 800BD3B0 00000000 */ nop -/* 0BDFB4 800BD3B4 01E3C821 */ addu $t9, $t7, $v1 -/* 0BDFB8 800BD3B8 A3380000 */ sb $t8, ($t9) -/* 0BDFBC 800BD3BC 8E240000 */ lw $a0, ($s1) -/* 0BDFC0 800BD3C0 24630001 */ addiu $v1, $v1, 1 -/* 0BDFC4 800BD3C4 00837021 */ addu $t6, $a0, $v1 -/* 0BDFC8 800BD3C8 00851021 */ addu $v0, $a0, $a1 -/* 0BDFCC 800BD3CC 904F0000 */ lbu $t7, ($v0) -/* 0BDFD0 800BD3D0 91D80000 */ lbu $t8, ($t6) -/* 0BDFD4 800BD3D4 24A50001 */ addiu $a1, $a1, 1 -/* 0BDFD8 800BD3D8 030F3021 */ addu $a2, $t8, $t7 -/* 0BDFDC 800BD3DC 0006C843 */ sra $t9, $a2, 1 -/* 0BDFE0 800BD3E0 A0590000 */ sb $t9, ($v0) -/* 0BDFE4 800BD3E4 8E2E0000 */ lw $t6, ($s1) -/* 0BDFE8 800BD3E8 00000000 */ nop -/* 0BDFEC 800BD3EC 01C3C021 */ addu $t8, $t6, $v1 -/* 0BDFF0 800BD3F0 A3190000 */ sb $t9, ($t8) -/* 0BDFF4 800BD3F4 8E240000 */ lw $a0, ($s1) -/* 0BDFF8 800BD3F8 24630001 */ addiu $v1, $v1, 1 -/* 0BDFFC 800BD3FC 00837821 */ addu $t7, $a0, $v1 -/* 0BE000 800BD400 00851021 */ addu $v0, $a0, $a1 -/* 0BE004 800BD404 904E0000 */ lbu $t6, ($v0) -/* 0BE008 800BD408 91F90000 */ lbu $t9, ($t7) -/* 0BE00C 800BD40C 24A50001 */ addiu $a1, $a1, 1 -/* 0BE010 800BD410 032E3021 */ addu $a2, $t9, $t6 -/* 0BE014 800BD414 0006C043 */ sra $t8, $a2, 1 -/* 0BE018 800BD418 A0580000 */ sb $t8, ($v0) -/* 0BE01C 800BD41C 8E2F0000 */ lw $t7, ($s1) -/* 0BE020 800BD420 00000000 */ nop -/* 0BE024 800BD424 01E3C821 */ addu $t9, $t7, $v1 -/* 0BE028 800BD428 A3380000 */ sb $t8, ($t9) -/* 0BE02C 800BD42C 8E240000 */ lw $a0, ($s1) -/* 0BE030 800BD430 24630001 */ addiu $v1, $v1, 1 -/* 0BE034 800BD434 00837021 */ addu $t6, $a0, $v1 -/* 0BE038 800BD438 00851021 */ addu $v0, $a0, $a1 -/* 0BE03C 800BD43C 904F0000 */ lbu $t7, ($v0) -/* 0BE040 800BD440 91D80000 */ lbu $t8, ($t6) -/* 0BE044 800BD444 24A50001 */ addiu $a1, $a1, 1 -/* 0BE048 800BD448 030F3021 */ addu $a2, $t8, $t7 -/* 0BE04C 800BD44C 0006C843 */ sra $t9, $a2, 1 -/* 0BE050 800BD450 A0590000 */ sb $t9, ($v0) -/* 0BE054 800BD454 8E2E0000 */ lw $t6, ($s1) -/* 0BE058 800BD458 00000000 */ nop -/* 0BE05C 800BD45C 01C3C021 */ addu $t8, $t6, $v1 -/* 0BE060 800BD460 A3190000 */ sb $t9, ($t8) -/* 0BE064 800BD464 14E9FFC7 */ bne $a3, $t1, .L800BD384 -/* 0BE068 800BD468 24630001 */ addiu $v1, $v1, 1 -.L800BD46C: -/* 0BE06C 800BD46C 3C048013 */ lui $a0, %hi(D_8012A0D8) # $a0, 0x8013 -/* 0BE070 800BD470 8C84A0D8 */ lw $a0, %lo(D_8012A0D8)($a0) -/* 0BE074 800BD474 2406FFFF */ li $a2, -1 -.L800BD478: -/* 0BE078 800BD478 248FFFFF */ addiu $t7, $a0, -1 -.L800BD47C: -/* 0BE07C 800BD47C 8FA500A4 */ lw $a1, 0xa4($sp) -/* 0BE080 800BD480 014F082A */ slt $at, $t2, $t7 -/* 0BE084 800BD484 10200069 */ beqz $at, .L800BD62C -/* 0BE088 800BD488 00000000 */ nop -/* 0BE08C 800BD48C 8FB90184 */ lw $t9, 0x184($sp) -/* 0BE090 800BD490 00003825 */ move $a3, $zero -/* 0BE094 800BD494 03240019 */ multu $t9, $a0 -/* 0BE098 800BD498 2689FFFF */ addiu $t1, $s4, -1 -/* 0BE09C 800BD49C 00007012 */ mflo $t6 -/* 0BE0A0 800BD4A0 000EC0C0 */ sll $t8, $t6, 3 -/* 0BE0A4 800BD4A4 00B87821 */ addu $t7, $a1, $t8 -/* 0BE0A8 800BD4A8 01EBC821 */ addu $t9, $t7, $t3 -/* 0BE0AC 800BD4AC 8F22000C */ lw $v0, 0xc($t9) -/* 0BE0B0 800BD4B0 00147040 */ sll $t6, $s4, 1 -/* 0BE0B4 800BD4B4 1046005D */ beq $v0, $a2, .L800BD62C -/* 0BE0B8 800BD4B8 01CC2821 */ addu $a1, $t6, $t4 -/* 0BE0BC 800BD4BC 00541821 */ addu $v1, $v0, $s4 -/* 0BE0C0 800BD4C0 24A50001 */ addiu $a1, $a1, 1 -/* 0BE0C4 800BD4C4 19200059 */ blez $t1, .L800BD62C -/* 0BE0C8 800BD4C8 24630001 */ addiu $v1, $v1, 1 -/* 0BE0CC 800BD4CC 2682FFFF */ addiu $v0, $s4, -1 -/* 0BE0D0 800BD4D0 30580003 */ andi $t8, $v0, 3 -/* 0BE0D4 800BD4D4 13000014 */ beqz $t8, .L800BD528 -/* 0BE0D8 800BD4D8 03004025 */ move $t0, $t8 -.L800BD4DC: -/* 0BE0DC 800BD4DC 8E240000 */ lw $a0, ($s1) -/* 0BE0E0 800BD4E0 24E70001 */ addiu $a3, $a3, 1 -/* 0BE0E4 800BD4E4 00851021 */ addu $v0, $a0, $a1 -/* 0BE0E8 800BD4E8 00837821 */ addu $t7, $a0, $v1 -/* 0BE0EC 800BD4EC 91F90000 */ lbu $t9, ($t7) -/* 0BE0F0 800BD4F0 904E0000 */ lbu $t6, ($v0) -/* 0BE0F4 800BD4F4 00B42821 */ addu $a1, $a1, $s4 -/* 0BE0F8 800BD4F8 032E3021 */ addu $a2, $t9, $t6 -/* 0BE0FC 800BD4FC 0006C043 */ sra $t8, $a2, 1 -/* 0BE100 800BD500 A0580000 */ sb $t8, ($v0) -/* 0BE104 800BD504 8E2F0000 */ lw $t7, ($s1) -/* 0BE108 800BD508 24A50001 */ addiu $a1, $a1, 1 -/* 0BE10C 800BD50C 01E3C821 */ addu $t9, $t7, $v1 -/* 0BE110 800BD510 00741821 */ addu $v1, $v1, $s4 -/* 0BE114 800BD514 24630001 */ addiu $v1, $v1, 1 -/* 0BE118 800BD518 1507FFF0 */ bne $t0, $a3, .L800BD4DC -/* 0BE11C 800BD51C A3380000 */ sb $t8, ($t9) -/* 0BE120 800BD520 10E9003F */ beq $a3, $t1, .L800BD620 -/* 0BE124 800BD524 00000000 */ nop -.L800BD528: -/* 0BE128 800BD528 8E240000 */ lw $a0, ($s1) -/* 0BE12C 800BD52C 24E70004 */ addiu $a3, $a3, 4 -/* 0BE130 800BD530 00851021 */ addu $v0, $a0, $a1 -/* 0BE134 800BD534 00837021 */ addu $t6, $a0, $v1 -/* 0BE138 800BD538 91D80000 */ lbu $t8, ($t6) -/* 0BE13C 800BD53C 904F0000 */ lbu $t7, ($v0) -/* 0BE140 800BD540 00B42821 */ addu $a1, $a1, $s4 -/* 0BE144 800BD544 030F3021 */ addu $a2, $t8, $t7 -/* 0BE148 800BD548 0006C843 */ sra $t9, $a2, 1 -/* 0BE14C 800BD54C A0590000 */ sb $t9, ($v0) -/* 0BE150 800BD550 8E2E0000 */ lw $t6, ($s1) -/* 0BE154 800BD554 24A50001 */ addiu $a1, $a1, 1 -/* 0BE158 800BD558 01C3C021 */ addu $t8, $t6, $v1 -/* 0BE15C 800BD55C A3190000 */ sb $t9, ($t8) -/* 0BE160 800BD560 8E240000 */ lw $a0, ($s1) -/* 0BE164 800BD564 00741821 */ addu $v1, $v1, $s4 -/* 0BE168 800BD568 24630001 */ addiu $v1, $v1, 1 -/* 0BE16C 800BD56C 00837821 */ addu $t7, $a0, $v1 -/* 0BE170 800BD570 00851021 */ addu $v0, $a0, $a1 -/* 0BE174 800BD574 904E0000 */ lbu $t6, ($v0) -/* 0BE178 800BD578 91F90000 */ lbu $t9, ($t7) -/* 0BE17C 800BD57C 00B42821 */ addu $a1, $a1, $s4 -/* 0BE180 800BD580 032E3021 */ addu $a2, $t9, $t6 -/* 0BE184 800BD584 0006C043 */ sra $t8, $a2, 1 -/* 0BE188 800BD588 A0580000 */ sb $t8, ($v0) -/* 0BE18C 800BD58C 8E2F0000 */ lw $t7, ($s1) -/* 0BE190 800BD590 24A50001 */ addiu $a1, $a1, 1 -/* 0BE194 800BD594 01E3C821 */ addu $t9, $t7, $v1 -/* 0BE198 800BD598 A3380000 */ sb $t8, ($t9) -/* 0BE19C 800BD59C 8E240000 */ lw $a0, ($s1) -/* 0BE1A0 800BD5A0 00741821 */ addu $v1, $v1, $s4 -/* 0BE1A4 800BD5A4 24630001 */ addiu $v1, $v1, 1 -/* 0BE1A8 800BD5A8 00837021 */ addu $t6, $a0, $v1 -/* 0BE1AC 800BD5AC 00851021 */ addu $v0, $a0, $a1 -/* 0BE1B0 800BD5B0 904F0000 */ lbu $t7, ($v0) -/* 0BE1B4 800BD5B4 91D80000 */ lbu $t8, ($t6) -/* 0BE1B8 800BD5B8 00B42821 */ addu $a1, $a1, $s4 -/* 0BE1BC 800BD5BC 030F3021 */ addu $a2, $t8, $t7 -/* 0BE1C0 800BD5C0 0006C843 */ sra $t9, $a2, 1 -/* 0BE1C4 800BD5C4 A0590000 */ sb $t9, ($v0) -/* 0BE1C8 800BD5C8 8E2E0000 */ lw $t6, ($s1) -/* 0BE1CC 800BD5CC 24A50001 */ addiu $a1, $a1, 1 -/* 0BE1D0 800BD5D0 01C3C021 */ addu $t8, $t6, $v1 -/* 0BE1D4 800BD5D4 A3190000 */ sb $t9, ($t8) -/* 0BE1D8 800BD5D8 8E240000 */ lw $a0, ($s1) -/* 0BE1DC 800BD5DC 00741821 */ addu $v1, $v1, $s4 -/* 0BE1E0 800BD5E0 24630001 */ addiu $v1, $v1, 1 -/* 0BE1E4 800BD5E4 00837821 */ addu $t7, $a0, $v1 -/* 0BE1E8 800BD5E8 00851021 */ addu $v0, $a0, $a1 -/* 0BE1EC 800BD5EC 904E0000 */ lbu $t6, ($v0) -/* 0BE1F0 800BD5F0 91F90000 */ lbu $t9, ($t7) -/* 0BE1F4 800BD5F4 00B42821 */ addu $a1, $a1, $s4 -/* 0BE1F8 800BD5F8 032E3021 */ addu $a2, $t9, $t6 -/* 0BE1FC 800BD5FC 0006C043 */ sra $t8, $a2, 1 -/* 0BE200 800BD600 A0580000 */ sb $t8, ($v0) -/* 0BE204 800BD604 8E2F0000 */ lw $t7, ($s1) -/* 0BE208 800BD608 24A50001 */ addiu $a1, $a1, 1 -/* 0BE20C 800BD60C 01E3C821 */ addu $t9, $t7, $v1 -/* 0BE210 800BD610 00741821 */ addu $v1, $v1, $s4 -/* 0BE214 800BD614 24630001 */ addiu $v1, $v1, 1 -/* 0BE218 800BD618 14E9FFC3 */ bne $a3, $t1, .L800BD528 -/* 0BE21C 800BD61C A3380000 */ sb $t8, ($t9) -.L800BD620: -/* 0BE220 800BD620 3C048013 */ lui $a0, %hi(D_8012A0D8) # $a0, 0x8013 -/* 0BE224 800BD624 8C84A0D8 */ lw $a0, %lo(D_8012A0D8)($a0) -/* 0BE228 800BD628 2406FFFF */ li $a2, -1 -.L800BD62C: -/* 0BE22C 800BD62C 254A0001 */ addiu $t2, $t2, 1 -/* 0BE230 800BD630 0144082A */ slt $at, $t2, $a0 -/* 0BE234 800BD634 8FA500A4 */ lw $a1, 0xa4($sp) -/* 0BE238 800BD638 1420FF1A */ bnez $at, .L800BD2A4 -/* 0BE23C 800BD63C 256B0008 */ addiu $t3, $t3, 8 -/* 0BE240 800BD640 3C038013 */ lui $v1, %hi(D_8012A0DC) # $v1, 0x8013 -/* 0BE244 800BD644 8C63A0DC */ lw $v1, %lo(D_8012A0DC)($v1) -/* 0BE248 800BD648 00000000 */ nop -.L800BD64C: -/* 0BE24C 800BD64C 8FAE0184 */ lw $t6, 0x184($sp) -/* 0BE250 800BD650 00000000 */ nop -/* 0BE254 800BD654 25D80001 */ addiu $t8, $t6, 1 -/* 0BE258 800BD658 0303082A */ slt $at, $t8, $v1 -/* 0BE25C 800BD65C 1420FF0C */ bnez $at, .L800BD290 -/* 0BE260 800BD660 AFB80184 */ sw $t8, 0x184($sp) -/* 0BE264 800BD664 8FAF0190 */ lw $t7, 0x190($sp) -/* 0BE268 800BD668 00000000 */ nop -/* 0BE26C 800BD66C 85E2001A */ lh $v0, 0x1a($t7) -/* 0BE270 800BD670 00000000 */ nop -.L800BD674: -/* 0BE274 800BD674 18400031 */ blez $v0, .L800BD73C -/* 0BE278 800BD678 00006025 */ move $t4, $zero -/* 0BE27C 800BD67C 8FB90090 */ lw $t9, 0x90($sp) -/* 0BE280 800BD680 3C03800E */ lui $v1, %hi(D_800E317C) # $v1, 0x800e -/* 0BE284 800BD684 03390019 */ multu $t9, $t9 -/* 0BE288 800BD688 8FA800A0 */ lw $t0, 0xa0($sp) -/* 0BE28C 800BD68C 8FA40190 */ lw $a0, 0x190($sp) -/* 0BE290 800BD690 2463317C */ addiu $v1, %lo(D_800E317C) # addiu $v1, $v1, 0x317c -/* 0BE294 800BD694 0000F812 */ mflo $ra -/* 0BE298 800BD698 00000000 */ nop -/* 0BE29C 800BD69C 00000000 */ nop -/* 0BE2A0 800BD6A0 03340019 */ multu $t9, $s4 -/* 0BE2A4 800BD6A4 00006812 */ mflo $t5 -/* 0BE2A8 800BD6A8 00000000 */ nop -/* 0BE2AC 800BD6AC 00000000 */ nop -.L800BD6B0: -/* 0BE2B0 800BD6B0 8E2E0000 */ lw $t6, ($s1) -/* 0BE2B4 800BD6B4 0194C821 */ addu $t9, $t4, $s4 -/* 0BE2B8 800BD6B8 01CCC021 */ addu $t8, $t6, $t4 -/* 0BE2BC 800BD6BC 930F0000 */ lbu $t7, ($t8) -/* 0BE2C0 800BD6C0 25080004 */ addiu $t0, $t0, 4 -/* 0BE2C4 800BD6C4 A10FFFFC */ sb $t7, -4($t0) -/* 0BE2C8 800BD6C8 8E2E0000 */ lw $t6, ($s1) -/* 0BE2CC 800BD6CC 00000000 */ nop -/* 0BE2D0 800BD6D0 032EC021 */ addu $t8, $t9, $t6 -/* 0BE2D4 800BD6D4 930F0000 */ lbu $t7, ($t8) -/* 0BE2D8 800BD6D8 01ACC821 */ addu $t9, $t5, $t4 -/* 0BE2DC 800BD6DC A10FFFFD */ sb $t7, -3($t0) -/* 0BE2E0 800BD6E0 8E2E0000 */ lw $t6, ($s1) -/* 0BE2E4 800BD6E4 00000000 */ nop -/* 0BE2E8 800BD6E8 032EC021 */ addu $t8, $t9, $t6 -/* 0BE2EC 800BD6EC 930F0000 */ lbu $t7, ($t8) -/* 0BE2F0 800BD6F0 03ECC821 */ addu $t9, $ra, $t4 -/* 0BE2F4 800BD6F4 A10FFFFE */ sb $t7, -2($t0) -/* 0BE2F8 800BD6F8 8E2E0000 */ lw $t6, ($s1) -/* 0BE2FC 800BD6FC 00000000 */ nop -/* 0BE300 800BD700 032EC021 */ addu $t8, $t9, $t6 -/* 0BE304 800BD704 930FFFFF */ lbu $t7, -1($t8) -/* 0BE308 800BD708 00000000 */ nop -/* 0BE30C 800BD70C A10FFFFF */ sb $t7, -1($t0) -/* 0BE310 800BD710 8FB9018C */ lw $t9, 0x18c($sp) -/* 0BE314 800BD714 8C780000 */ lw $t8, ($v1) -/* 0BE318 800BD718 272E0001 */ addiu $t6, $t9, 1 -/* 0BE31C 800BD71C AFAE018C */ sw $t6, 0x18c($sp) -/* 0BE320 800BD720 8482001A */ lh $v0, 0x1a($a0) -/* 0BE324 800BD724 01986021 */ addu $t4, $t4, $t8 -/* 0BE328 800BD728 01C2082A */ slt $at, $t6, $v0 -/* 0BE32C 800BD72C 1420FFE0 */ bnez $at, .L800BD6B0 -/* 0BE330 800BD730 00000000 */ nop -/* 0BE334 800BD734 AFA0018C */ sw $zero, 0x18c($sp) -/* 0BE338 800BD738 00006025 */ move $t4, $zero -.L800BD73C: -/* 0BE33C 800BD73C 3C03800E */ lui $v1, %hi(D_800E317C) # $v1, 0x800e -/* 0BE340 800BD740 18400130 */ blez $v0, .L800BDC04 -/* 0BE344 800BD744 2463317C */ addiu $v1, %lo(D_800E317C) # addiu $v1, $v1, 0x317c -/* 0BE348 800BD748 AFA00080 */ sw $zero, 0x80($sp) -/* 0BE34C 800BD74C 27A90160 */ addiu $t1, $sp, 0x160 -.L800BD750: -/* 0BE350 800BD750 3C0F800E */ lui $t7, %hi(D_800E30D8) # $t7, 0x800e -/* 0BE354 800BD754 8DEF30D8 */ lw $t7, %lo(D_800E30D8)($t7) -/* 0BE358 800BD758 8FB90080 */ lw $t9, 0x80($sp) -/* 0BE35C 800BD75C 3C048013 */ lui $a0, %hi(D_8012A0D8) # $a0, 0x8013 -/* 0BE360 800BD760 01F92821 */ addu $a1, $t7, $t9 -/* 0BE364 800BD764 90AE000B */ lbu $t6, 0xb($a1) -/* 0BE368 800BD768 8C84A0D8 */ lw $a0, %lo(D_8012A0D8)($a0) -/* 0BE36C 800BD76C 90B8000A */ lbu $t8, 0xa($a1) -/* 0BE370 800BD770 01C40019 */ multu $t6, $a0 -/* 0BE374 800BD774 8FB900A4 */ lw $t9, 0xa4($sp) -/* 0BE378 800BD778 2401FFFF */ li $at, -1 -/* 0BE37C 800BD77C 00007812 */ mflo $t7 -/* 0BE380 800BD780 030FA821 */ addu $s5, $t8, $t7 -/* 0BE384 800BD784 001570C0 */ sll $t6, $s5, 3 -/* 0BE388 800BD788 032E3021 */ addu $a2, $t9, $t6 -/* 0BE38C 800BD78C 8CD80000 */ lw $t8, ($a2) -/* 0BE390 800BD790 8FAF0090 */ lw $t7, 0x90($sp) -/* 0BE394 800BD794 13010111 */ beq $t8, $at, .L800BDBDC -/* 0BE398 800BD798 00000000 */ nop -/* 0BE39C 800BD79C 01EF0019 */ multu $t7, $t7 -/* 0BE3A0 800BD7A0 8FAE018C */ lw $t6, 0x18c($sp) -/* 0BE3A4 800BD7A4 3C0B8013 */ lui $t3, %hi(D_8012A0DC) # $t3, 0x8013 -/* 0BE3A8 800BD7A8 8D6BA0DC */ lw $t3, %lo(D_8012A0DC)($t3) -/* 0BE3AC 800BD7AC 8FB900A0 */ lw $t9, 0xa0($sp) -/* 0BE3B0 800BD7B0 000EC080 */ sll $t8, $t6, 2 -/* 0BE3B4 800BD7B4 248AFFFF */ addiu $t2, $a0, -1 -/* 0BE3B8 800BD7B8 27A20140 */ addiu $v0, $sp, 0x140 -/* 0BE3BC 800BD7BC 2403FFFF */ li $v1, -1 -/* 0BE3C0 800BD7C0 256BFFFF */ addiu $t3, $t3, -1 -/* 0BE3C4 800BD7C4 03384021 */ addu $t0, $t9, $t8 -/* 0BE3C8 800BD7C8 0000F812 */ mflo $ra -/* 0BE3CC 800BD7CC 00000000 */ nop -/* 0BE3D0 800BD7D0 00000000 */ nop -/* 0BE3D4 800BD7D4 01F40019 */ multu $t7, $s4 -/* 0BE3D8 800BD7D8 00006812 */ mflo $t5 -/* 0BE3DC 800BD7DC 00000000 */ nop -/* 0BE3E0 800BD7E0 00000000 */ nop -.L800BD7E4: -/* 0BE3E4 800BD7E4 24420004 */ addiu $v0, $v0, 4 -/* 0BE3E8 800BD7E8 0049082B */ sltu $at, $v0, $t1 -/* 0BE3EC 800BD7EC 1420FFFD */ bnez $at, .L800BD7E4 -/* 0BE3F0 800BD7F0 AC43FFFC */ sw $v1, -4($v0) -/* 0BE3F4 800BD7F4 90AF000B */ lbu $t7, 0xb($a1) -/* 0BE3F8 800BD7F8 00000000 */ nop -/* 0BE3FC 800BD7FC 19E0001D */ blez $t7, .L800BD874 -/* 0BE400 800BD800 00000000 */ nop -/* 0BE404 800BD804 90AE000A */ lbu $t6, 0xa($a1) -/* 0BE408 800BD808 8FB900A4 */ lw $t9, 0xa4($sp) -/* 0BE40C 800BD80C 19C00008 */ blez $t6, .L800BD830 -/* 0BE410 800BD810 0015C0C0 */ sll $t8, $s5, 3 -/* 0BE414 800BD814 03387821 */ addu $t7, $t9, $t8 -/* 0BE418 800BD818 000470C0 */ sll $t6, $a0, 3 -/* 0BE41C 800BD81C 000EC823 */ negu $t9, $t6 -/* 0BE420 800BD820 01F9C021 */ addu $t8, $t7, $t9 -/* 0BE424 800BD824 8F0EFFF8 */ lw $t6, -8($t8) -/* 0BE428 800BD828 00000000 */ nop -/* 0BE42C 800BD82C AFAE0140 */ sw $t6, 0x140($sp) -.L800BD830: -/* 0BE430 800BD830 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 0BE434 800BD834 0015C8C0 */ sll $t9, $s5, 3 -/* 0BE438 800BD838 000470C0 */ sll $t6, $a0, 3 -/* 0BE43C 800BD83C 01F9C021 */ addu $t8, $t7, $t9 -/* 0BE440 800BD840 000E7823 */ negu $t7, $t6 -/* 0BE444 800BD844 030F1021 */ addu $v0, $t8, $t7 -/* 0BE448 800BD848 8C590000 */ lw $t9, ($v0) -/* 0BE44C 800BD84C 00000000 */ nop -/* 0BE450 800BD850 AFB90144 */ sw $t9, 0x144($sp) -/* 0BE454 800BD854 90AE000A */ lbu $t6, 0xa($a1) -/* 0BE458 800BD858 00000000 */ nop -/* 0BE45C 800BD85C 01CA082A */ slt $at, $t6, $t2 -/* 0BE460 800BD860 10200004 */ beqz $at, .L800BD874 -/* 0BE464 800BD864 00000000 */ nop -/* 0BE468 800BD868 8C580008 */ lw $t8, 8($v0) -/* 0BE46C 800BD86C 00000000 */ nop -/* 0BE470 800BD870 AFB80148 */ sw $t8, 0x148($sp) -.L800BD874: -/* 0BE474 800BD874 90A3000A */ lbu $v1, 0xa($a1) -/* 0BE478 800BD878 00000000 */ nop -/* 0BE47C 800BD87C 18600007 */ blez $v1, .L800BD89C -/* 0BE480 800BD880 006A082A */ slt $at, $v1, $t2 -/* 0BE484 800BD884 8CCFFFF8 */ lw $t7, -8($a2) -/* 0BE488 800BD888 00000000 */ nop -/* 0BE48C 800BD88C AFAF014C */ sw $t7, 0x14c($sp) -/* 0BE490 800BD890 90A3000A */ lbu $v1, 0xa($a1) -/* 0BE494 800BD894 00000000 */ nop -/* 0BE498 800BD898 006A082A */ slt $at, $v1, $t2 -.L800BD89C: -/* 0BE49C 800BD89C 10200004 */ beqz $at, .L800BD8B0 -/* 0BE4A0 800BD8A0 000418C0 */ sll $v1, $a0, 3 -/* 0BE4A4 800BD8A4 8CD90008 */ lw $t9, 8($a2) -/* 0BE4A8 800BD8A8 00000000 */ nop -/* 0BE4AC 800BD8AC AFB90150 */ sw $t9, 0x150($sp) -.L800BD8B0: -/* 0BE4B0 800BD8B0 90AE000B */ lbu $t6, 0xb($a1) -/* 0BE4B4 800BD8B4 8FB800A4 */ lw $t8, 0xa4($sp) -/* 0BE4B8 800BD8B8 01CB082A */ slt $at, $t6, $t3 -/* 0BE4BC 800BD8BC 10200015 */ beqz $at, .L800BD914 -/* 0BE4C0 800BD8C0 00000000 */ nop -/* 0BE4C4 800BD8C4 90B9000A */ lbu $t9, 0xa($a1) -/* 0BE4C8 800BD8C8 001578C0 */ sll $t7, $s5, 3 -/* 0BE4CC 800BD8CC 1B200005 */ blez $t9, .L800BD8E4 -/* 0BE4D0 800BD8D0 030F1021 */ addu $v0, $t8, $t7 -/* 0BE4D4 800BD8D4 00437021 */ addu $t6, $v0, $v1 -/* 0BE4D8 800BD8D8 8DD8FFF8 */ lw $t8, -8($t6) -/* 0BE4DC 800BD8DC 00000000 */ nop -/* 0BE4E0 800BD8E0 AFB80154 */ sw $t8, 0x154($sp) -.L800BD8E4: -/* 0BE4E4 800BD8E4 00432021 */ addu $a0, $v0, $v1 -/* 0BE4E8 800BD8E8 8C8F0000 */ lw $t7, ($a0) -/* 0BE4EC 800BD8EC 00000000 */ nop -/* 0BE4F0 800BD8F0 AFAF0158 */ sw $t7, 0x158($sp) -/* 0BE4F4 800BD8F4 90B9000A */ lbu $t9, 0xa($a1) -/* 0BE4F8 800BD8F8 00000000 */ nop -/* 0BE4FC 800BD8FC 032A082A */ slt $at, $t9, $t2 -/* 0BE500 800BD900 10200005 */ beqz $at, .L800BD918 -/* 0BE504 800BD904 8FB80140 */ lw $t8, 0x140($sp) -/* 0BE508 800BD908 8C8E0008 */ lw $t6, 8($a0) -/* 0BE50C 800BD90C 00000000 */ nop -/* 0BE510 800BD910 AFAE015C */ sw $t6, 0x15c($sp) -.L800BD914: -/* 0BE514 800BD914 8FB80140 */ lw $t8, 0x140($sp) -.L800BD918: -/* 0BE518 800BD918 2404FFFF */ li $a0, -1 -/* 0BE51C 800BD91C 91060000 */ lbu $a2, ($t0) -/* 0BE520 800BD920 10980007 */ beq $a0, $t8, .L800BD940 -/* 0BE524 800BD924 24070001 */ li $a3, 1 -/* 0BE528 800BD928 8FA300A0 */ lw $v1, 0xa0($sp) -/* 0BE52C 800BD92C 00187880 */ sll $t7, $t8, 2 -/* 0BE530 800BD930 006FC821 */ addu $t9, $v1, $t7 -/* 0BE534 800BD934 932E0003 */ lbu $t6, 3($t9) -/* 0BE538 800BD938 24070002 */ li $a3, 2 -/* 0BE53C 800BD93C 00CE3021 */ addu $a2, $a2, $t6 -.L800BD940: -/* 0BE540 800BD940 8FB80144 */ lw $t8, 0x144($sp) -/* 0BE544 800BD944 8FA300A0 */ lw $v1, 0xa0($sp) -/* 0BE548 800BD948 10980006 */ beq $a0, $t8, .L800BD964 -/* 0BE54C 800BD94C 00000000 */ nop -/* 0BE550 800BD950 00187880 */ sll $t7, $t8, 2 -/* 0BE554 800BD954 006FC821 */ addu $t9, $v1, $t7 -/* 0BE558 800BD958 932E0002 */ lbu $t6, 2($t9) -/* 0BE55C 800BD95C 24E70001 */ addiu $a3, $a3, 1 -/* 0BE560 800BD960 00CE3021 */ addu $a2, $a2, $t6 -.L800BD964: -/* 0BE564 800BD964 8FB8014C */ lw $t8, 0x14c($sp) -/* 0BE568 800BD968 00000000 */ nop -/* 0BE56C 800BD96C 10980006 */ beq $a0, $t8, .L800BD988 -/* 0BE570 800BD970 00000000 */ nop -/* 0BE574 800BD974 00187880 */ sll $t7, $t8, 2 -/* 0BE578 800BD978 006FC821 */ addu $t9, $v1, $t7 -/* 0BE57C 800BD97C 932E0001 */ lbu $t6, 1($t9) -/* 0BE580 800BD980 24E70001 */ addiu $a3, $a3, 1 -/* 0BE584 800BD984 00CE3021 */ addu $a2, $a2, $t6 -.L800BD988: -/* 0BE588 800BD988 00C7001A */ div $zero, $a2, $a3 -/* 0BE58C 800BD98C 8E2F0000 */ lw $t7, ($s1) -/* 0BE590 800BD990 14E00002 */ bnez $a3, .L800BD99C -/* 0BE594 800BD994 00000000 */ nop -/* 0BE598 800BD998 0007000D */ break 7 -.L800BD99C: -/* 0BE59C 800BD99C 2401FFFF */ li $at, -1 -/* 0BE5A0 800BD9A0 14E10004 */ bne $a3, $at, .L800BD9B4 -/* 0BE5A4 800BD9A4 3C018000 */ lui $at, 0x8000 -/* 0BE5A8 800BD9A8 14C10002 */ bne $a2, $at, .L800BD9B4 -/* 0BE5AC 800BD9AC 00000000 */ nop -/* 0BE5B0 800BD9B0 0006000D */ break 6 -.L800BD9B4: -/* 0BE5B4 800BD9B4 01ECC821 */ addu $t9, $t7, $t4 -/* 0BE5B8 800BD9B8 24070001 */ li $a3, 1 -/* 0BE5BC 800BD9BC 0000C012 */ mflo $t8 -/* 0BE5C0 800BD9C0 A3380000 */ sb $t8, ($t9) -/* 0BE5C4 800BD9C4 8FAE0144 */ lw $t6, 0x144($sp) -/* 0BE5C8 800BD9C8 91060001 */ lbu $a2, 1($t0) -/* 0BE5CC 800BD9CC 108E0006 */ beq $a0, $t6, .L800BD9E8 -/* 0BE5D0 800BD9D0 00000000 */ nop -/* 0BE5D4 800BD9D4 000E7880 */ sll $t7, $t6, 2 -/* 0BE5D8 800BD9D8 006FC021 */ addu $t8, $v1, $t7 -/* 0BE5DC 800BD9DC 93190003 */ lbu $t9, 3($t8) -/* 0BE5E0 800BD9E0 24070002 */ li $a3, 2 -/* 0BE5E4 800BD9E4 00D93021 */ addu $a2, $a2, $t9 -.L800BD9E8: -/* 0BE5E8 800BD9E8 8FAE0148 */ lw $t6, 0x148($sp) -/* 0BE5EC 800BD9EC 00000000 */ nop -/* 0BE5F0 800BD9F0 108E0006 */ beq $a0, $t6, .L800BDA0C -/* 0BE5F4 800BD9F4 00000000 */ nop -/* 0BE5F8 800BD9F8 000E7880 */ sll $t7, $t6, 2 -/* 0BE5FC 800BD9FC 006FC021 */ addu $t8, $v1, $t7 -/* 0BE600 800BDA00 93190002 */ lbu $t9, 2($t8) -/* 0BE604 800BDA04 24E70001 */ addiu $a3, $a3, 1 -/* 0BE608 800BDA08 00D93021 */ addu $a2, $a2, $t9 -.L800BDA0C: -/* 0BE60C 800BDA0C 8FAE0150 */ lw $t6, 0x150($sp) -/* 0BE610 800BDA10 00000000 */ nop -/* 0BE614 800BDA14 108E0006 */ beq $a0, $t6, .L800BDA30 -/* 0BE618 800BDA18 00000000 */ nop -/* 0BE61C 800BDA1C 000E7880 */ sll $t7, $t6, 2 -/* 0BE620 800BDA20 006FC021 */ addu $t8, $v1, $t7 -/* 0BE624 800BDA24 93190000 */ lbu $t9, ($t8) -/* 0BE628 800BDA28 24E70001 */ addiu $a3, $a3, 1 -/* 0BE62C 800BDA2C 00D93021 */ addu $a2, $a2, $t9 -.L800BDA30: -/* 0BE630 800BDA30 00C7001A */ div $zero, $a2, $a3 -/* 0BE634 800BDA34 8E2F0000 */ lw $t7, ($s1) -/* 0BE638 800BDA38 14E00002 */ bnez $a3, .L800BDA44 -/* 0BE63C 800BDA3C 00000000 */ nop -/* 0BE640 800BDA40 0007000D */ break 7 -.L800BDA44: -/* 0BE644 800BDA44 2401FFFF */ li $at, -1 -/* 0BE648 800BDA48 14E10004 */ bne $a3, $at, .L800BDA5C -/* 0BE64C 800BDA4C 3C018000 */ lui $at, 0x8000 -/* 0BE650 800BDA50 14C10002 */ bne $a2, $at, .L800BDA5C -/* 0BE654 800BDA54 00000000 */ nop -/* 0BE658 800BDA58 0006000D */ break 6 -.L800BDA5C: -/* 0BE65C 800BDA5C 01ECC021 */ addu $t8, $t7, $t4 -/* 0BE660 800BDA60 0314C821 */ addu $t9, $t8, $s4 -/* 0BE664 800BDA64 24070001 */ li $a3, 1 -/* 0BE668 800BDA68 00007012 */ mflo $t6 -/* 0BE66C 800BDA6C A32E0000 */ sb $t6, ($t9) -/* 0BE670 800BDA70 8FAF014C */ lw $t7, 0x14c($sp) -/* 0BE674 800BDA74 91060002 */ lbu $a2, 2($t0) -/* 0BE678 800BDA78 108F0006 */ beq $a0, $t7, .L800BDA94 -/* 0BE67C 800BDA7C 00000000 */ nop -/* 0BE680 800BDA80 000FC080 */ sll $t8, $t7, 2 -/* 0BE684 800BDA84 00787021 */ addu $t6, $v1, $t8 -/* 0BE688 800BDA88 91D90003 */ lbu $t9, 3($t6) -/* 0BE68C 800BDA8C 24070002 */ li $a3, 2 -/* 0BE690 800BDA90 00D93021 */ addu $a2, $a2, $t9 -.L800BDA94: -/* 0BE694 800BDA94 8FAF0154 */ lw $t7, 0x154($sp) -/* 0BE698 800BDA98 00000000 */ nop -/* 0BE69C 800BDA9C 108F0006 */ beq $a0, $t7, .L800BDAB8 -/* 0BE6A0 800BDAA0 00000000 */ nop -/* 0BE6A4 800BDAA4 000FC080 */ sll $t8, $t7, 2 -/* 0BE6A8 800BDAA8 00787021 */ addu $t6, $v1, $t8 -/* 0BE6AC 800BDAAC 91D90001 */ lbu $t9, 1($t6) -/* 0BE6B0 800BDAB0 24E70001 */ addiu $a3, $a3, 1 -/* 0BE6B4 800BDAB4 00D93021 */ addu $a2, $a2, $t9 -.L800BDAB8: -/* 0BE6B8 800BDAB8 8FAF0158 */ lw $t7, 0x158($sp) -/* 0BE6BC 800BDABC 00000000 */ nop -/* 0BE6C0 800BDAC0 108F0006 */ beq $a0, $t7, .L800BDADC -/* 0BE6C4 800BDAC4 00000000 */ nop -/* 0BE6C8 800BDAC8 000FC080 */ sll $t8, $t7, 2 -/* 0BE6CC 800BDACC 00787021 */ addu $t6, $v1, $t8 -/* 0BE6D0 800BDAD0 91D90000 */ lbu $t9, ($t6) -/* 0BE6D4 800BDAD4 24E70001 */ addiu $a3, $a3, 1 -/* 0BE6D8 800BDAD8 00D93021 */ addu $a2, $a2, $t9 -.L800BDADC: -/* 0BE6DC 800BDADC 00C7001A */ div $zero, $a2, $a3 -/* 0BE6E0 800BDAE0 8E380000 */ lw $t8, ($s1) -/* 0BE6E4 800BDAE4 14E00002 */ bnez $a3, .L800BDAF0 -/* 0BE6E8 800BDAE8 00000000 */ nop -/* 0BE6EC 800BDAEC 0007000D */ break 7 -.L800BDAF0: -/* 0BE6F0 800BDAF0 2401FFFF */ li $at, -1 -/* 0BE6F4 800BDAF4 14E10004 */ bne $a3, $at, .L800BDB08 -/* 0BE6F8 800BDAF8 3C018000 */ lui $at, 0x8000 -/* 0BE6FC 800BDAFC 14C10002 */ bne $a2, $at, .L800BDB08 -/* 0BE700 800BDB00 00000000 */ nop -/* 0BE704 800BDB04 0006000D */ break 6 -.L800BDB08: -/* 0BE708 800BDB08 030C7021 */ addu $t6, $t8, $t4 -/* 0BE70C 800BDB0C 01CDC821 */ addu $t9, $t6, $t5 -/* 0BE710 800BDB10 24070001 */ li $a3, 1 -/* 0BE714 800BDB14 00007812 */ mflo $t7 -/* 0BE718 800BDB18 A32F0000 */ sb $t7, ($t9) -/* 0BE71C 800BDB1C 8FB80150 */ lw $t8, 0x150($sp) -/* 0BE720 800BDB20 91060003 */ lbu $a2, 3($t0) -/* 0BE724 800BDB24 10980006 */ beq $a0, $t8, .L800BDB40 -/* 0BE728 800BDB28 00000000 */ nop -/* 0BE72C 800BDB2C 00187080 */ sll $t6, $t8, 2 -/* 0BE730 800BDB30 006E7821 */ addu $t7, $v1, $t6 -/* 0BE734 800BDB34 91F90002 */ lbu $t9, 2($t7) -/* 0BE738 800BDB38 24070002 */ li $a3, 2 -/* 0BE73C 800BDB3C 00D93021 */ addu $a2, $a2, $t9 -.L800BDB40: -/* 0BE740 800BDB40 8FB80158 */ lw $t8, 0x158($sp) -/* 0BE744 800BDB44 00000000 */ nop -/* 0BE748 800BDB48 10980006 */ beq $a0, $t8, .L800BDB64 -/* 0BE74C 800BDB4C 00000000 */ nop -/* 0BE750 800BDB50 00187080 */ sll $t6, $t8, 2 -/* 0BE754 800BDB54 006E7821 */ addu $t7, $v1, $t6 -/* 0BE758 800BDB58 91F90001 */ lbu $t9, 1($t7) -/* 0BE75C 800BDB5C 24E70001 */ addiu $a3, $a3, 1 -/* 0BE760 800BDB60 00D93021 */ addu $a2, $a2, $t9 -.L800BDB64: -/* 0BE764 800BDB64 8FB8015C */ lw $t8, 0x15c($sp) -/* 0BE768 800BDB68 00000000 */ nop -/* 0BE76C 800BDB6C 10980006 */ beq $a0, $t8, .L800BDB88 -/* 0BE770 800BDB70 00000000 */ nop -/* 0BE774 800BDB74 00187080 */ sll $t6, $t8, 2 -/* 0BE778 800BDB78 006E7821 */ addu $t7, $v1, $t6 -/* 0BE77C 800BDB7C 91F90000 */ lbu $t9, ($t7) -/* 0BE780 800BDB80 24E70001 */ addiu $a3, $a3, 1 -/* 0BE784 800BDB84 00D93021 */ addu $a2, $a2, $t9 -.L800BDB88: -/* 0BE788 800BDB88 00C7001A */ div $zero, $a2, $a3 -/* 0BE78C 800BDB8C 8E2E0000 */ lw $t6, ($s1) -/* 0BE790 800BDB90 3C03800E */ lui $v1, %hi(D_800E317C) # $v1, 0x800e -/* 0BE794 800BDB94 01CC7821 */ addu $t7, $t6, $t4 -/* 0BE798 800BDB98 01FFC821 */ addu $t9, $t7, $ra -/* 0BE79C 800BDB9C 2463317C */ addiu $v1, %lo(D_800E317C) # addiu $v1, $v1, 0x317c -/* 0BE7A0 800BDBA0 14E00002 */ bnez $a3, .L800BDBAC -/* 0BE7A4 800BDBA4 00000000 */ nop -/* 0BE7A8 800BDBA8 0007000D */ break 7 -.L800BDBAC: -/* 0BE7AC 800BDBAC 2401FFFF */ li $at, -1 -/* 0BE7B0 800BDBB0 14E10004 */ bne $a3, $at, .L800BDBC4 -/* 0BE7B4 800BDBB4 3C018000 */ lui $at, 0x8000 -/* 0BE7B8 800BDBB8 14C10002 */ bne $a2, $at, .L800BDBC4 -/* 0BE7BC 800BDBBC 00000000 */ nop -/* 0BE7C0 800BDBC0 0006000D */ break 6 -.L800BDBC4: -/* 0BE7C4 800BDBC4 0000C012 */ mflo $t8 -/* 0BE7C8 800BDBC8 A338FFFF */ sb $t8, -1($t9) -/* 0BE7CC 800BDBCC 8FAE0190 */ lw $t6, 0x190($sp) -/* 0BE7D0 800BDBD0 00000000 */ nop -/* 0BE7D4 800BDBD4 85C2001A */ lh $v0, 0x1a($t6) -/* 0BE7D8 800BDBD8 00000000 */ nop -.L800BDBDC: -/* 0BE7DC 800BDBDC 8FAF018C */ lw $t7, 0x18c($sp) -/* 0BE7E0 800BDBE0 8FB90080 */ lw $t9, 0x80($sp) -/* 0BE7E4 800BDBE4 25F80001 */ addiu $t8, $t7, 1 -/* 0BE7E8 800BDBE8 8C6F0000 */ lw $t7, ($v1) -/* 0BE7EC 800BDBEC 0302082A */ slt $at, $t8, $v0 -/* 0BE7F0 800BDBF0 272E001C */ addiu $t6, $t9, 0x1c -/* 0BE7F4 800BDBF4 AFAE0080 */ sw $t6, 0x80($sp) -/* 0BE7F8 800BDBF8 AFB8018C */ sw $t8, 0x18c($sp) -/* 0BE7FC 800BDBFC 1420FED4 */ bnez $at, .L800BD750 -/* 0BE800 800BDC00 018F6021 */ addu $t4, $t4, $t7 -.L800BDC04: -/* 0BE804 800BDC04 8FA400A8 */ lw $a0, 0xa8($sp) -/* 0BE808 800BDC08 0C01C450 */ jal mempool_free -/* 0BE80C 800BDC0C 00000000 */ nop -/* 0BE810 800BDC10 8FA400A4 */ lw $a0, 0xa4($sp) -/* 0BE814 800BDC14 0C01C450 */ jal mempool_free -/* 0BE818 800BDC18 00000000 */ nop -/* 0BE81C 800BDC1C 8FA400A0 */ lw $a0, 0xa0($sp) -/* 0BE820 800BDC20 0C01C450 */ jal mempool_free -/* 0BE824 800BDC24 00000000 */ nop -/* 0BE828 800BDC28 8FBF0064 */ lw $ra, 0x64($sp) -/* 0BE82C 800BDC2C C7B50018 */ lwc1 $f21, 0x18($sp) -/* 0BE830 800BDC30 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 0BE834 800BDC34 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 0BE838 800BDC38 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 0BE83C 800BDC3C C7B90028 */ lwc1 $f25, 0x28($sp) -/* 0BE840 800BDC40 C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 0BE844 800BDC44 C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 0BE848 800BDC48 C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 0BE84C 800BDC4C C7BD0038 */ lwc1 $f29, 0x38($sp) -/* 0BE850 800BDC50 C7BC003C */ lwc1 $f28, 0x3c($sp) -/* 0BE854 800BDC54 8FB00040 */ lw $s0, 0x40($sp) -/* 0BE858 800BDC58 8FB10044 */ lw $s1, 0x44($sp) -/* 0BE85C 800BDC5C 8FB20048 */ lw $s2, 0x48($sp) -/* 0BE860 800BDC60 8FB3004C */ lw $s3, 0x4c($sp) -/* 0BE864 800BDC64 8FB40050 */ lw $s4, 0x50($sp) -/* 0BE868 800BDC68 8FB50054 */ lw $s5, 0x54($sp) -/* 0BE86C 800BDC6C 8FB60058 */ lw $s6, 0x58($sp) -/* 0BE870 800BDC70 8FB7005C */ lw $s7, 0x5c($sp) -/* 0BE874 800BDC74 8FBE0060 */ lw $fp, 0x60($sp) -/* 0BE878 800BDC78 03E00008 */ jr $ra -/* 0BE87C 800BDC7C 27BD0190 */ addiu $sp, $sp, 0x190 - diff --git a/asm/non_matchings/waves/func_800BDC80.s b/asm/non_matchings/waves/func_800BDC80.s deleted file mode 100644 index d2b81793..00000000 --- a/asm/non_matchings/waves/func_800BDC80.s +++ /dev/null @@ -1,659 +0,0 @@ -glabel func_800BDC80 -/* 0BE880 800BDC80 27BDFC90 */ addiu $sp, $sp, -0x370 -/* 0BE884 800BDC84 3C0E800E */ lui $t6, %hi(D_800E317C) # $t6, 0x800e -/* 0BE888 800BDC88 8DCE317C */ lw $t6, %lo(D_800E317C)($t6) -/* 0BE88C 800BDC8C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BE890 800BDC90 008E0019 */ multu $a0, $t6 -/* 0BE894 800BDC94 44810000 */ mtc1 $at, $f0 -/* 0BE898 800BDC98 44876000 */ mtc1 $a3, $f12 -/* 0BE89C 800BDC9C 3C078013 */ lui $a3, %hi(D_80129FC8) # $a3, 0x8013 -/* 0BE8A0 800BDCA0 3C018013 */ lui $at, %hi(D_8012A0B8) # $at, 0x8013 -/* 0BE8A4 800BDCA4 C424A0B8 */ lwc1 $f4, %lo(D_8012A0B8)($at) -/* 0BE8A8 800BDCA8 24E79FC8 */ addiu $a3, %lo(D_80129FC8) # addiu $a3, $a3, -0x6038 -/* 0BE8AC 800BDCAC C4E80044 */ lwc1 $f8, 0x44($a3) -/* 0BE8B0 800BDCB0 3C018013 */ lui $at, %hi(D_8012A0BC) # $at, 0x8013 -/* 0BE8B4 800BDCB4 C426A0BC */ lwc1 $f6, %lo(D_8012A0BC)($at) -/* 0BE8B8 800BDCB8 46080281 */ sub.s $f10, $f0, $f8 -/* 0BE8BC 800BDCBC 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0BE8C0 800BDCC0 44814000 */ mtc1 $at, $f8 -/* 0BE8C4 800BDCC4 8CEF0028 */ lw $t7, 0x28($a3) -/* 0BE8C8 800BDCC8 AFB00048 */ sw $s0, 0x48($sp) -/* 0BE8CC 800BDCCC E7B90028 */ swc1 $f25, 0x28($sp) -/* 0BE8D0 800BDCD0 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 0BE8D4 800BDCD4 00004012 */ mflo $t0 -/* 0BE8D8 800BDCD8 00808025 */ move $s0, $a0 -/* 0BE8DC 800BDCDC AFBF006C */ sw $ra, 0x6c($sp) -/* 0BE8E0 800BDCE0 AFBE0068 */ sw $fp, 0x68($sp) -/* 0BE8E4 800BDCE4 AFB70064 */ sw $s7, 0x64($sp) -/* 0BE8E8 800BDCE8 AFB60060 */ sw $s6, 0x60($sp) -/* 0BE8EC 800BDCEC AFB5005C */ sw $s5, 0x5c($sp) -/* 0BE8F0 800BDCF0 AFB40058 */ sw $s4, 0x58($sp) -/* 0BE8F4 800BDCF4 AFB30054 */ sw $s3, 0x54($sp) -/* 0BE8F8 800BDCF8 AFB20050 */ sw $s2, 0x50($sp) -/* 0BE8FC 800BDCFC AFB1004C */ sw $s1, 0x4c($sp) -/* 0BE900 800BDD00 E7BF0040 */ swc1 $f31, 0x40($sp) -/* 0BE904 800BDD04 E7BE0044 */ swc1 $f30, 0x44($sp) -/* 0BE908 800BDD08 E7BD0038 */ swc1 $f29, 0x38($sp) -/* 0BE90C 800BDD0C E7BC003C */ swc1 $f28, 0x3c($sp) -/* 0BE910 800BDD10 E7BB0030 */ swc1 $f27, 0x30($sp) -/* 0BE914 800BDD14 E7BA0034 */ swc1 $f26, 0x34($sp) -/* 0BE918 800BDD18 E7B70020 */ swc1 $f23, 0x20($sp) -/* 0BE91C 800BDD1C E7B60024 */ swc1 $f22, 0x24($sp) -/* 0BE920 800BDD20 E7B50018 */ swc1 $f21, 0x18($sp) -/* 0BE924 800BDD24 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 0BE928 800BDD28 AFA50374 */ sw $a1, 0x374($sp) -/* 0BE92C 800BDD2C AFA60378 */ sw $a2, 0x378($sp) -/* 0BE930 800BDD30 E7A400CC */ swc1 $f4, 0xcc($sp) -/* 0BE934 800BDD34 E7A600C8 */ swc1 $f6, 0xc8($sp) -/* 0BE938 800BDD38 11E00012 */ beqz $t7, .L800BDD84 -/* 0BE93C 800BDD3C 46085603 */ div.s $f24, $f10, $f8 -/* 0BE940 800BDD40 4480F000 */ mtc1 $zero, $f30 -/* 0BE944 800BDD44 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 0BE948 800BDD48 4481F800 */ mtc1 $at, $f31 -/* 0BE94C 800BDD4C 46002721 */ cvt.d.s $f28, $f4 -/* 0BE950 800BDD50 463EE702 */ mul.d $f28, $f28, $f30 -/* 0BE954 800BDD54 8CF80000 */ lw $t8, ($a3) -/* 0BE958 800BDD58 460036A1 */ cvt.d.s $f26, $f6 -/* 0BE95C 800BDD5C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BE960 800BDD60 4481B000 */ mtc1 $at, $f22 -/* 0BE964 800BDD64 463ED782 */ mul.d $f30, $f26, $f30 -/* 0BE968 800BDD68 4620E120 */ cvt.s.d $f4, $f28 -/* 0BE96C 800BDD6C 0018C840 */ sll $t9, $t8, 1 -/* 0BE970 800BDD70 E7A400CC */ swc1 $f4, 0xcc($sp) -/* 0BE974 800BDD74 AFB9036C */ sw $t9, 0x36c($sp) -/* 0BE978 800BDD78 4620F120 */ cvt.s.d $f4, $f30 -/* 0BE97C 800BDD7C 10000004 */ b .L800BDD90 -/* 0BE980 800BDD80 E7A400C8 */ swc1 $f4, 0xc8($sp) -.L800BDD84: -/* 0BE984 800BDD84 8CEA0000 */ lw $t2, ($a3) -/* 0BE988 800BDD88 46000586 */ mov.s $f22, $f0 -/* 0BE98C 800BDD8C AFAA036C */ sw $t2, 0x36c($sp) -.L800BDD90: -/* 0BE990 800BDD90 001058C0 */ sll $t3, $s0, 3 -/* 0BE994 800BDD94 01705823 */ subu $t3, $t3, $s0 -/* 0BE998 800BDD98 3C0C800E */ lui $t4, %hi(D_800E30D8) # $t4, 0x800e -/* 0BE99C 800BDD9C 8D8C30D8 */ lw $t4, %lo(D_800E30D8)($t4) -/* 0BE9A0 800BDDA0 000B5880 */ sll $t3, $t3, 2 -/* 0BE9A4 800BDDA4 AFAB00AC */ sw $t3, 0xac($sp) -/* 0BE9A8 800BDDA8 018B3021 */ addu $a2, $t4, $t3 -/* 0BE9AC 800BDDAC 84CE0004 */ lh $t6, 4($a2) -/* 0BE9B0 800BDDB0 84C90008 */ lh $t1, 8($a2) -/* 0BE9B4 800BDDB4 448E3000 */ mtc1 $t6, $f6 -/* 0BE9B8 800BDDB8 44895000 */ mtc1 $t1, $f10 -/* 0BE9BC 800BDDBC 46803020 */ cvt.s.w $f0, $f6 -/* 0BE9C0 800BDDC0 44804000 */ mtc1 $zero, $f8 -/* 0BE9C4 800BDDC4 C7AE0380 */ lwc1 $f14, 0x380($sp) -/* 0BE9C8 800BDDC8 46006301 */ sub.s $f12, $f12, $f0 -/* 0BE9CC 800BDDCC C7B00384 */ lwc1 $f16, 0x384($sp) -/* 0BE9D0 800BDDD0 468050A0 */ cvt.s.w $f2, $f10 -/* 0BE9D4 800BDDD4 C7B20388 */ lwc1 $f18, 0x388($sp) -/* 0BE9D8 800BDDD8 C7A400CC */ lwc1 $f4, 0xcc($sp) -/* 0BE9DC 800BDDDC 4608603C */ c.lt.s $f12, $f8 -/* 0BE9E0 800BDDE0 46027381 */ sub.s $f14, $f14, $f2 -/* 0BE9E4 800BDDE4 46008401 */ sub.s $f16, $f16, $f0 -/* 0BE9E8 800BDDE8 45000003 */ bc1f .L800BDDF8 -/* 0BE9EC 800BDDEC 46029481 */ sub.s $f18, $f18, $f2 -/* 0BE9F0 800BDDF0 1000000E */ b .L800BDE2C -/* 0BE9F4 800BDDF4 AFA00368 */ sw $zero, 0x368($sp) -.L800BDDF8: -/* 0BE9F8 800BDDF8 00000000 */ nop -/* 0BE9FC 800BDDFC 46046183 */ div.s $f6, $f12, $f4 -/* 0BEA00 800BDE00 444FF800 */ cfc1 $t7, $31 -/* 0BEA04 800BDE04 00000000 */ nop -/* 0BEA08 800BDE08 35E10003 */ ori $at, $t7, 3 -/* 0BEA0C 800BDE0C 38210002 */ xori $at, $at, 2 -/* 0BEA10 800BDE10 44C1F800 */ ctc1 $at, $31 -/* 0BEA14 800BDE14 00000000 */ nop -/* 0BEA18 800BDE18 460032A4 */ cvt.w.s $f10, $f6 -/* 0BEA1C 800BDE1C 44185000 */ mfc1 $t8, $f10 -/* 0BEA20 800BDE20 44CFF800 */ ctc1 $t7, $31 -/* 0BEA24 800BDE24 AFB80368 */ sw $t8, 0x368($sp) -/* 0BEA28 800BDE28 00000000 */ nop -.L800BDE2C: -/* 0BEA2C 800BDE2C 44804000 */ mtc1 $zero, $f8 -/* 0BEA30 800BDE30 C7A400C8 */ lwc1 $f4, 0xc8($sp) -/* 0BEA34 800BDE34 4608703C */ c.lt.s $f14, $f8 -/* 0BEA38 800BDE38 00000000 */ nop -/* 0BEA3C 800BDE3C 45000004 */ bc1f .L800BDE50 -/* 0BEA40 800BDE40 00000000 */ nop -/* 0BEA44 800BDE44 1000000E */ b .L800BDE80 -/* 0BEA48 800BDE48 AFA00364 */ sw $zero, 0x364($sp) -/* 0BEA4C 800BDE4C 00000000 */ nop -.L800BDE50: -/* 0BEA50 800BDE50 46047183 */ div.s $f6, $f14, $f4 -/* 0BEA54 800BDE54 4459F800 */ cfc1 $t9, $31 -/* 0BEA58 800BDE58 00000000 */ nop -/* 0BEA5C 800BDE5C 37210003 */ ori $at, $t9, 3 -/* 0BEA60 800BDE60 38210002 */ xori $at, $at, 2 -/* 0BEA64 800BDE64 44C1F800 */ ctc1 $at, $31 -/* 0BEA68 800BDE68 00000000 */ nop -/* 0BEA6C 800BDE6C 460032A4 */ cvt.w.s $f10, $f6 -/* 0BEA70 800BDE70 440A5000 */ mfc1 $t2, $f10 -/* 0BEA74 800BDE74 44D9F800 */ ctc1 $t9, $31 -/* 0BEA78 800BDE78 AFAA0364 */ sw $t2, 0x364($sp) -/* 0BEA7C 800BDE7C 00000000 */ nop -.L800BDE80: -/* 0BEA80 800BDE80 3C018013 */ lui $at, %hi(D_8012A0A0) # $at, 0x8013 -/* 0BEA84 800BDE84 C428A0A0 */ lwc1 $f8, %lo(D_8012A0A0)($at) -/* 0BEA88 800BDE88 8FAB036C */ lw $t3, 0x36c($sp) -/* 0BEA8C 800BDE8C 4610403E */ c.le.s $f8, $f16 -/* 0BEA90 800BDE90 C7A400CC */ lwc1 $f4, 0xcc($sp) -/* 0BEA94 800BDE94 45000004 */ bc1f .L800BDEA8 -/* 0BEA98 800BDE98 00000000 */ nop -/* 0BEA9C 800BDE9C 1000000E */ b .L800BDED8 -/* 0BEAA0 800BDEA0 AFAB0358 */ sw $t3, 0x358($sp) -/* 0BEAA4 800BDEA4 00000000 */ nop -.L800BDEA8: -/* 0BEAA8 800BDEA8 46048183 */ div.s $f6, $f16, $f4 -/* 0BEAAC 800BDEAC 444CF800 */ cfc1 $t4, $31 -/* 0BEAB0 800BDEB0 00000000 */ nop -/* 0BEAB4 800BDEB4 35810003 */ ori $at, $t4, 3 -/* 0BEAB8 800BDEB8 38210002 */ xori $at, $at, 2 -/* 0BEABC 800BDEBC 44C1F800 */ ctc1 $at, $31 -/* 0BEAC0 800BDEC0 00000000 */ nop -/* 0BEAC4 800BDEC4 460032A4 */ cvt.w.s $f10, $f6 -/* 0BEAC8 800BDEC8 440D5000 */ mfc1 $t5, $f10 -/* 0BEACC 800BDECC 44CCF800 */ ctc1 $t4, $31 -/* 0BEAD0 800BDED0 25AE0001 */ addiu $t6, $t5, 1 -/* 0BEAD4 800BDED4 AFAE0358 */ sw $t6, 0x358($sp) -.L800BDED8: -/* 0BEAD8 800BDED8 3C018013 */ lui $at, %hi(D_8012A0A4) # $at, 0x8013 -/* 0BEADC 800BDEDC C428A0A4 */ lwc1 $f8, %lo(D_8012A0A4)($at) -/* 0BEAE0 800BDEE0 8FAF036C */ lw $t7, 0x36c($sp) -/* 0BEAE4 800BDEE4 4612403E */ c.le.s $f8, $f18 -/* 0BEAE8 800BDEE8 C7A400CC */ lwc1 $f4, 0xcc($sp) -/* 0BEAEC 800BDEEC 45000004 */ bc1f .L800BDF00 -/* 0BEAF0 800BDEF0 00000000 */ nop -/* 0BEAF4 800BDEF4 1000000E */ b .L800BDF30 -/* 0BEAF8 800BDEF8 AFAF0354 */ sw $t7, 0x354($sp) -/* 0BEAFC 800BDEFC 00000000 */ nop -.L800BDF00: -/* 0BEB00 800BDF00 46049183 */ div.s $f6, $f18, $f4 -/* 0BEB04 800BDF04 4458F800 */ cfc1 $t8, $31 -/* 0BEB08 800BDF08 00000000 */ nop -/* 0BEB0C 800BDF0C 37010003 */ ori $at, $t8, 3 -/* 0BEB10 800BDF10 38210002 */ xori $at, $at, 2 -/* 0BEB14 800BDF14 44C1F800 */ ctc1 $at, $31 -/* 0BEB18 800BDF18 00000000 */ nop -/* 0BEB1C 800BDF1C 460032A4 */ cvt.w.s $f10, $f6 -/* 0BEB20 800BDF20 44195000 */ mfc1 $t9, $f10 -/* 0BEB24 800BDF24 44D8F800 */ ctc1 $t8, $31 -/* 0BEB28 800BDF28 272A0001 */ addiu $t2, $t9, 1 -/* 0BEB2C 800BDF2C AFAA0354 */ sw $t2, 0x354($sp) -.L800BDF30: -/* 0BEB30 800BDF30 84CB0012 */ lh $t3, 0x12($a2) -/* 0BEB34 800BDF34 8FAC0368 */ lw $t4, 0x368($sp) -/* 0BEB38 800BDF38 8CE40004 */ lw $a0, 4($a3) -/* 0BEB3C 800BDF3C 016C1821 */ addu $v1, $t3, $t4 -/* 0BEB40 800BDF40 0064082A */ slt $at, $v1, $a0 -/* 0BEB44 800BDF44 14200005 */ bnez $at, .L800BDF5C -/* 0BEB48 800BDF48 00000000 */ nop -.L800BDF4C: -/* 0BEB4C 800BDF4C 00641823 */ subu $v1, $v1, $a0 -/* 0BEB50 800BDF50 0064082A */ slt $at, $v1, $a0 -/* 0BEB54 800BDF54 1020FFFD */ beqz $at, .L800BDF4C -/* 0BEB58 800BDF58 00000000 */ nop -.L800BDF5C: -/* 0BEB5C 800BDF5C 84CD0010 */ lh $t5, 0x10($a2) -/* 0BEB60 800BDF60 8FAE0364 */ lw $t6, 0x364($sp) -/* 0BEB64 800BDF64 8FAF0364 */ lw $t7, 0x364($sp) -/* 0BEB68 800BDF68 01AE1021 */ addu $v0, $t5, $t6 -/* 0BEB6C 800BDF6C 0044082A */ slt $at, $v0, $a0 -/* 0BEB70 800BDF70 14200006 */ bnez $at, .L800BDF8C -/* 0BEB74 800BDF74 8FB80354 */ lw $t8, 0x354($sp) -.L800BDF78: -/* 0BEB78 800BDF78 00441023 */ subu $v0, $v0, $a0 -/* 0BEB7C 800BDF7C 0044082A */ slt $at, $v0, $a0 -/* 0BEB80 800BDF80 1020FFFD */ beqz $at, .L800BDF78 -/* 0BEB84 800BDF84 00000000 */ nop -/* 0BEB88 800BDF88 8FB80354 */ lw $t8, 0x354($sp) -.L800BDF8C: -/* 0BEB8C 800BDF8C 01E0B025 */ move $s6, $t7 -/* 0BEB90 800BDF90 030F082A */ slt $at, $t8, $t7 -/* 0BEB94 800BDF94 14200076 */ bnez $at, .L800BE170 -/* 0BEB98 800BDF98 0000B825 */ move $s7, $zero -/* 0BEB9C 800BDF9C 8FAB036C */ lw $t3, 0x36c($sp) -/* 0BEBA0 800BDFA0 8FB90368 */ lw $t9, 0x368($sp) -/* 0BEBA4 800BDFA4 01EB0019 */ multu $t7, $t3 -/* 0BEBA8 800BDFA8 01195021 */ addu $t2, $t0, $t9 -/* 0BEBAC 800BDFAC 270E0001 */ addiu $t6, $t8, 1 -/* 0BEBB0 800BDFB0 3C1E800E */ lui $fp, %hi(D_800E3040) # $fp, 0x800e -/* 0BEBB4 800BDFB4 27DE3040 */ addiu $fp, %lo(D_800E3040) # addiu $fp, $fp, 0x3040 -/* 0BEBB8 800BDFB8 AFAE0090 */ sw $t6, 0x90($sp) -/* 0BEBBC 800BDFBC AFA2034C */ sw $v0, 0x34c($sp) -/* 0BEBC0 800BDFC0 AFA30350 */ sw $v1, 0x350($sp) -/* 0BEBC4 800BDFC4 AFB00370 */ sw $s0, 0x370($sp) -/* 0BEBC8 800BDFC8 03204025 */ move $t0, $t9 -/* 0BEBCC 800BDFCC 00006012 */ mflo $t4 -/* 0BEBD0 800BDFD0 014C6821 */ addu $t5, $t2, $t4 -/* 0BEBD4 800BDFD4 AFAD00A4 */ sw $t5, 0xa4($sp) -.L800BDFD8: -/* 0BEBD8 800BDFD8 8FA2034C */ lw $v0, 0x34c($sp) -/* 0BEBDC 800BDFDC 8FAB0358 */ lw $t3, 0x358($sp) -/* 0BEBE0 800BDFE0 00440019 */ multu $v0, $a0 -/* 0BEBE4 800BDFE4 8FA500A4 */ lw $a1, 0xa4($sp) -/* 0BEBE8 800BDFE8 00175040 */ sll $t2, $s7, 1 -/* 0BEBEC 800BDFEC 27AC00D8 */ addiu $t4, $sp, 0xd8 -/* 0BEBF0 800BDFF0 0168082A */ slt $at, $t3, $t0 -/* 0BEBF4 800BDFF4 00608025 */ move $s0, $v1 -/* 0BEBF8 800BDFF8 014C9821 */ addu $s3, $t2, $t4 -/* 0BEBFC 800BDFFC 01008825 */ move $s1, $t0 -/* 0BEC00 800BE000 25750001 */ addiu $s5, $t3, 1 -/* 0BEC04 800BE004 00A0A025 */ move $s4, $a1 -/* 0BEC08 800BE008 00007812 */ mflo $t7 -/* 0BEC0C 800BE00C 01E39021 */ addu $s2, $t7, $v1 -/* 0BEC10 800BE010 14200049 */ bnez $at, .L800BE138 -.L800BE014: -/* 0BEC14 800BE014 3C0D800E */ lui $t5, %hi(D_800E3044) # $t5, 0x800e -/* 0BEC18 800BE018 8DAD3044 */ lw $t5, %lo(D_800E3044)($t5) -/* 0BEC1C 800BE01C 0012C080 */ sll $t8, $s2, 2 -/* 0BEC20 800BE020 01B81821 */ addu $v1, $t5, $t8 -/* 0BEC24 800BE024 846E0002 */ lh $t6, 2($v1) -/* 0BEC28 800BE028 846A0000 */ lh $t2, ($v1) -/* 0BEC2C 800BE02C 8FC20000 */ lw $v0, ($fp) -/* 0BEC30 800BE030 000EC880 */ sll $t9, $t6, 2 -/* 0BEC34 800BE034 000A6080 */ sll $t4, $t2, 2 -/* 0BEC38 800BE038 004C5821 */ addu $t3, $v0, $t4 -/* 0BEC3C 800BE03C 00597821 */ addu $t7, $v0, $t9 -/* 0BEC40 800BE040 C5E80000 */ lwc1 $f8, ($t7) -/* 0BEC44 800BE044 C5640000 */ lwc1 $f4, ($t3) -/* 0BEC48 800BE048 C4EA0040 */ lwc1 $f10, 0x40($a3) -/* 0BEC4C 800BE04C 46044180 */ add.s $f6, $f8, $f4 -/* 0BEC50 800BE050 3C0D800E */ lui $t5, %hi(D_800E3188) # $t5, 0x800e -/* 0BEC54 800BE054 8DAD3188 */ lw $t5, %lo(D_800E3188)($t5) -/* 0BEC58 800BE058 460A3502 */ mul.s $f20, $f6, $f10 -/* 0BEC5C 800BE05C 19A0000C */ blez $t5, .L800BE090 -/* 0BEC60 800BE060 02202825 */ move $a1, $s1 -/* 0BEC64 800BE064 8FA40370 */ lw $a0, 0x370($sp) -/* 0BEC68 800BE068 0C02FBF1 */ jal func_800BEFC4 -/* 0BEC6C 800BE06C 02C03025 */ move $a2, $s6 -/* 0BEC70 800BE070 3C078013 */ lui $a3, %hi(D_80129FC8) # $a3, 0x8013 -/* 0BEC74 800BE074 3C18800E */ lui $t8, %hi(D_800E30D8) # $t8, 0x800e -/* 0BEC78 800BE078 8F1830D8 */ lw $t8, %lo(D_800E30D8)($t8) -/* 0BEC7C 800BE07C 8FAE00AC */ lw $t6, 0xac($sp) -/* 0BEC80 800BE080 24E79FC8 */ addiu $a3, %lo(D_80129FC8) # addiu $a3, $a3, -0x6038 -/* 0BEC84 800BE084 8CE40004 */ lw $a0, 4($a3) -/* 0BEC88 800BE088 4600A500 */ add.s $f20, $f20, $f0 -/* 0BEC8C 800BE08C 030E3021 */ addu $a2, $t8, $t6 -.L800BE090: -/* 0BEC90 800BE090 3C19800E */ lui $t9, %hi(D_800E3178) # $t9, 0x800e -/* 0BEC94 800BE094 8F393178 */ lw $t9, %lo(D_800E3178)($t9) -/* 0BEC98 800BE098 26310001 */ addiu $s1, $s1, 1 -/* 0BEC9C 800BE09C 03347821 */ addu $t7, $t9, $s4 -/* 0BECA0 800BE0A0 91E20000 */ lbu $v0, ($t7) -/* 0BECA4 800BE0A4 26F70001 */ addiu $s7, $s7, 1 -/* 0BECA8 800BE0A8 2841007F */ slti $at, $v0, 0x7f -/* 0BECAC 800BE0AC 10200008 */ beqz $at, .L800BE0D0 -/* 0BECB0 800BE0B0 00000000 */ nop -/* 0BECB4 800BE0B4 44822000 */ mtc1 $v0, $f4 -/* 0BECB8 800BE0B8 C4E80044 */ lwc1 $f8, 0x44($a3) -/* 0BECBC 800BE0BC 468021A0 */ cvt.s.w $f6, $f4 -/* 0BECC0 800BE0C0 46183282 */ mul.s $f10, $f6, $f24 -/* 0BECC4 800BE0C4 460A4100 */ add.s $f4, $f8, $f10 -/* 0BECC8 800BE0C8 4604A502 */ mul.s $f20, $f20, $f4 -/* 0BECCC 800BE0CC 00000000 */ nop -.L800BE0D0: -/* 0BECD0 800BE0D0 4616A182 */ mul.s $f6, $f20, $f22 -/* 0BECD4 800BE0D4 84CA0006 */ lh $t2, 6($a2) -/* 0BECD8 800BE0D8 26100001 */ addiu $s0, $s0, 1 -/* 0BECDC 800BE0DC 26730002 */ addiu $s3, $s3, 2 -/* 0BECE0 800BE0E0 444CF800 */ cfc1 $t4, $31 -/* 0BECE4 800BE0E4 26940001 */ addiu $s4, $s4, 1 -/* 0BECE8 800BE0E8 35810003 */ ori $at, $t4, 3 -/* 0BECEC 800BE0EC 38210002 */ xori $at, $at, 2 -/* 0BECF0 800BE0F0 44C1F800 */ ctc1 $at, $31 -/* 0BECF4 800BE0F4 0204082A */ slt $at, $s0, $a0 -/* 0BECF8 800BE0F8 46003224 */ cvt.w.s $f8, $f6 -/* 0BECFC 800BE0FC 26520001 */ addiu $s2, $s2, 1 -/* 0BED00 800BE100 44184000 */ mfc1 $t8, $f8 -/* 0BED04 800BE104 44CCF800 */ ctc1 $t4, $31 -/* 0BED08 800BE108 01587021 */ addu $t6, $t2, $t8 -/* 0BED0C 800BE10C 14200003 */ bnez $at, .L800BE11C -/* 0BED10 800BE110 A66EFFFE */ sh $t6, -2($s3) -/* 0BED14 800BE114 02048023 */ subu $s0, $s0, $a0 -/* 0BED18 800BE118 02449023 */ subu $s2, $s2, $a0 -.L800BE11C: -/* 0BED1C 800BE11C 16B1FFBD */ bne $s5, $s1, .L800BE014 -/* 0BED20 800BE120 00000000 */ nop -/* 0BED24 800BE124 8FA80368 */ lw $t0, 0x368($sp) -/* 0BED28 800BE128 8FA500A4 */ lw $a1, 0xa4($sp) -/* 0BED2C 800BE12C 8FA30350 */ lw $v1, 0x350($sp) -/* 0BED30 800BE130 8FA2034C */ lw $v0, 0x34c($sp) -/* 0BED34 800BE134 00000000 */ nop -.L800BE138: -/* 0BED38 800BE138 24420001 */ addiu $v0, $v0, 1 -/* 0BED3C 800BE13C 0044082A */ slt $at, $v0, $a0 -/* 0BED40 800BE140 14200002 */ bnez $at, .L800BE14C -/* 0BED44 800BE144 26D60001 */ addiu $s6, $s6, 1 -/* 0BED48 800BE148 00441023 */ subu $v0, $v0, $a0 -.L800BE14C: -/* 0BED4C 800BE14C 8FB9036C */ lw $t9, 0x36c($sp) -/* 0BED50 800BE150 8FAF0090 */ lw $t7, 0x90($sp) -/* 0BED54 800BE154 00B92821 */ addu $a1, $a1, $t9 -/* 0BED58 800BE158 AFA500A4 */ sw $a1, 0xa4($sp) -/* 0BED5C 800BE15C 15F6FF9E */ bne $t7, $s6, .L800BDFD8 -/* 0BED60 800BE160 AFA2034C */ sw $v0, 0x34c($sp) -/* 0BED64 800BE164 84C90008 */ lh $t1, 8($a2) -/* 0BED68 800BE168 8FB60364 */ lw $s6, 0x364($sp) -/* 0BED6C 800BE16C 0000B825 */ move $s7, $zero -.L800BE170: -/* 0BED70 800BE170 8FB80364 */ lw $t8, 0x364($sp) -/* 0BED74 800BE174 C7A600C8 */ lwc1 $f6, 0xc8($sp) -/* 0BED78 800BE178 44985000 */ mtc1 $t8, $f10 -/* 0BED7C 800BE17C 8FAC0358 */ lw $t4, 0x358($sp) -/* 0BED80 800BE180 46805120 */ cvt.s.w $f4, $f10 -/* 0BED84 800BE184 8FAB0368 */ lw $t3, 0x368($sp) -/* 0BED88 800BE188 46062202 */ mul.s $f8, $f4, $f6 -/* 0BED8C 800BE18C 018B6823 */ subu $t5, $t4, $t3 -/* 0BED90 800BE190 25AA0001 */ addiu $t2, $t5, 1 -/* 0BED94 800BE194 AFAA036C */ sw $t2, 0x36c($sp) -/* 0BED98 800BE198 444EF800 */ cfc1 $t6, $31 -/* 0BED9C 800BE19C 00000000 */ nop -/* 0BEDA0 800BE1A0 35C10003 */ ori $at, $t6, 3 -/* 0BEDA4 800BE1A4 38210002 */ xori $at, $at, 2 -/* 0BEDA8 800BE1A8 44C1F800 */ ctc1 $at, $31 -/* 0BEDAC 800BE1AC 00000000 */ nop -/* 0BEDB0 800BE1B0 460042A4 */ cvt.w.s $f10, $f8 -/* 0BEDB4 800BE1B4 440C5000 */ mfc1 $t4, $f10 -/* 0BEDB8 800BE1B8 44CEF800 */ ctc1 $t6, $31 -/* 0BEDBC 800BE1BC 8FAE0354 */ lw $t6, 0x354($sp) -/* 0BEDC0 800BE1C0 012C2821 */ addu $a1, $t1, $t4 -/* 0BEDC4 800BE1C4 00056C00 */ sll $t5, $a1, 0x10 -/* 0BEDC8 800BE1C8 030E082A */ slt $at, $t8, $t6 -/* 0BEDCC 800BE1CC 10200108 */ beqz $at, .L800BE5F0 -/* 0BEDD0 800BE1D0 000D2C03 */ sra $a1, $t5, 0x10 -/* 0BEDD4 800BE1D4 448B2000 */ mtc1 $t3, $f4 -/* 0BEDD8 800BE1D8 C7A800CC */ lwc1 $f8, 0xcc($sp) -/* 0BEDDC 800BE1DC 468021A0 */ cvt.s.w $f6, $f4 -/* 0BEDE0 800BE1E0 46083282 */ mul.s $f10, $f6, $f8 -/* 0BEDE4 800BE1E4 4459F800 */ cfc1 $t9, $31 -/* 0BEDE8 800BE1E8 00000000 */ nop -/* 0BEDEC 800BE1EC 37210003 */ ori $at, $t9, 3 -/* 0BEDF0 800BE1F0 38210002 */ xori $at, $at, 2 -/* 0BEDF4 800BE1F4 44C1F800 */ ctc1 $at, $31 -/* 0BEDF8 800BE1F8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BEDFC 800BE1FC 46005124 */ cvt.w.s $f4, $f10 -/* 0BEE00 800BE200 4481F000 */ mtc1 $at, $f30 -/* 0BEE04 800BE204 440F2000 */ mfc1 $t7, $f4 -/* 0BEE08 800BE208 44D9F800 */ ctc1 $t9, $31 -/* 0BEE0C 800BE20C 000F6400 */ sll $t4, $t7, 0x10 -/* 0BEE10 800BE210 000C6C03 */ sra $t5, $t4, 0x10 -/* 0BEE14 800BE214 AFAD0098 */ sw $t5, 0x98($sp) -.L800BE218: -/* 0BEE18 800BE218 26C20001 */ addiu $v0, $s6, 1 -/* 0BEE1C 800BE21C 44823000 */ mtc1 $v0, $f6 -/* 0BEE20 800BE220 C7AA00C8 */ lwc1 $f10, 0xc8($sp) -/* 0BEE24 800BE224 46803220 */ cvt.s.w $f8, $f6 -/* 0BEE28 800BE228 3C0A800E */ lui $t2, %hi(D_800E30D8) # $t2, 0x800e -/* 0BEE2C 800BE22C 8D4A30D8 */ lw $t2, %lo(D_800E30D8)($t2) -/* 0BEE30 800BE230 460A4102 */ mul.s $f4, $f8, $f10 -/* 0BEE34 800BE234 8FB800AC */ lw $t8, 0xac($sp) -/* 0BEE38 800BE238 00000000 */ nop -/* 0BEE3C 800BE23C 01583021 */ addu $a2, $t2, $t8 -/* 0BEE40 800BE240 444EF800 */ cfc1 $t6, $31 -/* 0BEE44 800BE244 84CC0008 */ lh $t4, 8($a2) -/* 0BEE48 800BE248 35C10003 */ ori $at, $t6, 3 -/* 0BEE4C 800BE24C 38210002 */ xori $at, $at, 2 -/* 0BEE50 800BE250 44C1F800 */ ctc1 $at, $31 -/* 0BEE54 800BE254 84D80004 */ lh $t8, 4($a2) -/* 0BEE58 800BE258 460021A4 */ cvt.w.s $f6, $f4 -/* 0BEE5C 800BE25C 440F3000 */ mfc1 $t7, $f6 -/* 0BEE60 800BE260 44CEF800 */ ctc1 $t6, $31 -/* 0BEE64 800BE264 018FF021 */ addu $fp, $t4, $t7 -/* 0BEE68 800BE268 8FAE0098 */ lw $t6, 0x98($sp) -/* 0BEE6C 800BE26C 8FAF0358 */ lw $t7, 0x358($sp) -/* 0BEE70 800BE270 8FAC0368 */ lw $t4, 0x368($sp) -/* 0BEE74 800BE274 030E9821 */ addu $s3, $t8, $t6 -/* 0BEE78 800BE278 001E6C00 */ sll $t5, $fp, 0x10 -/* 0BEE7C 800BE27C 00135C00 */ sll $t3, $s3, 0x10 -/* 0BEE80 800BE280 018F082A */ slt $at, $t4, $t7 -/* 0BEE84 800BE284 000DF403 */ sra $fp, $t5, 0x10 -/* 0BEE88 800BE288 000B9C03 */ sra $s3, $t3, 0x10 -/* 0BEE8C 800BE28C 102000D2 */ beqz $at, .L800BE5D8 -/* 0BEE90 800BE290 01808825 */ move $s1, $t4 -/* 0BEE94 800BE294 8FB90364 */ lw $t9, 0x364($sp) -/* 0BEE98 800BE298 8FAF036C */ lw $t7, 0x36c($sp) -/* 0BEE9C 800BE29C 02D93023 */ subu $a2, $s6, $t9 -/* 0BEEA0 800BE2A0 00CF0019 */ multu $a2, $t7 -/* 0BEEA4 800BE2A4 00175080 */ sll $t2, $s7, 2 -/* 0BEEA8 800BE2A8 8FAD0374 */ lw $t5, 0x374($sp) -/* 0BEEAC 800BE2AC 01575021 */ addu $t2, $t2, $s7 -/* 0BEEB0 800BE2B0 000A5080 */ sll $t2, $t2, 2 -/* 0BEEB4 800BE2B4 01AA8021 */ addu $s0, $t5, $t2 -/* 0BEEB8 800BE2B8 24CA0001 */ addiu $t2, $a2, 1 -/* 0BEEBC 800BE2BC 018CC023 */ subu $t8, $t4, $t4 -/* 0BEEC0 800BE2C0 00187040 */ sll $t6, $t8, 1 -/* 0BEEC4 800BE2C4 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0BEEC8 800BE2C8 27AB00D8 */ addiu $t3, $sp, 0xd8 -/* 0BEECC 800BE2CC C7A000CC */ lwc1 $f0, 0xcc($sp) -/* 0BEED0 800BE2D0 00003812 */ mflo $a3 -/* 0BEED4 800BE2D4 01CB1021 */ addu $v0, $t6, $t3 -/* 0BEED8 800BE2D8 00076840 */ sll $t5, $a3, 1 -/* 0BEEDC 800BE2DC 014F0019 */ multu $t2, $t7 -/* 0BEEE0 800BE2E0 460A0682 */ mul.s $f26, $f0, $f10 -/* 0BEEE4 800BE2E4 000C0823 */ negu $at, $t4 -/* 0BEEE8 800BE2E8 00015840 */ sll $t3, $at, 1 -/* 0BEEEC 800BE2EC 01A03825 */ move $a3, $t5 -/* 0BEEF0 800BE2F0 004DA021 */ addu $s4, $v0, $t5 -/* 0BEEF4 800BE2F4 000C7040 */ sll $t6, $t4, 1 -/* 0BEEF8 800BE2F8 01CBC821 */ addu $t9, $t6, $t3 -/* 0BEEFC 800BE2FC 27AD00D8 */ addiu $t5, $sp, 0xd8 -/* 0BEF00 800BE300 032D4821 */ addu $t1, $t9, $t5 -/* 0BEF04 800BE304 461AD702 */ mul.s $f28, $f26, $f26 -/* 0BEF08 800BE308 01271821 */ addu $v1, $t1, $a3 -/* 0BEF0C 800BE30C 00004012 */ mflo $t0 -/* 0BEF10 800BE310 0008C040 */ sll $t8, $t0, 1 -/* 0BEF14 800BE314 0058A821 */ addu $s5, $v0, $t8 -/* 0BEF18 800BE318 01382021 */ addu $a0, $t1, $t8 -.L800BE31C: -/* 0BEF1C 800BE31C 26360001 */ addiu $s6, $s1, 1 -/* 0BEF20 800BE320 44964000 */ mtc1 $s6, $f8 -/* 0BEF24 800BE324 C7A000CC */ lwc1 $f0, 0xcc($sp) -/* 0BEF28 800BE328 46804120 */ cvt.s.w $f4, $f8 -/* 0BEF2C 800BE32C 3C0A800E */ lui $t2, %hi(D_800E30D8) # $t2, 0x800e -/* 0BEF30 800BE330 8D4A30D8 */ lw $t2, %lo(D_800E30D8)($t2) -/* 0BEF34 800BE334 46002182 */ mul.s $f6, $f4, $f0 -/* 0BEF38 800BE338 8FAF00AC */ lw $t7, 0xac($sp) -/* 0BEF3C 800BE33C C7A200C8 */ lwc1 $f2, 0xc8($sp) -/* 0BEF40 800BE340 014FC021 */ addu $t8, $t2, $t7 -/* 0BEF44 800BE344 444EF800 */ cfc1 $t6, $31 -/* 0BEF48 800BE348 870C0004 */ lh $t4, 4($t8) -/* 0BEF4C 800BE34C 35C10003 */ ori $at, $t6, 3 -/* 0BEF50 800BE350 38210002 */ xori $at, $at, 2 -/* 0BEF54 800BE354 44C1F800 */ ctc1 $at, $31 -/* 0BEF58 800BE358 A6130000 */ sh $s3, ($s0) -/* 0BEF5C 800BE35C 460032A4 */ cvt.w.s $f10, $f6 -/* 0BEF60 800BE360 A6130006 */ sh $s3, 6($s0) -/* 0BEF64 800BE364 440D5000 */ mfc1 $t5, $f10 -/* 0BEF68 800BE368 44CEF800 */ ctc1 $t6, $31 -/* 0BEF6C 800BE36C 018D9021 */ addu $s2, $t4, $t5 -/* 0BEF70 800BE370 00125400 */ sll $t2, $s2, 0x10 -/* 0BEF74 800BE374 000A9403 */ sra $s2, $t2, 0x10 -/* 0BEF78 800BE378 A612000C */ sh $s2, 0xc($s0) -/* 0BEF7C 800BE37C 86980000 */ lh $t8, ($s4) -/* 0BEF80 800BE380 00000000 */ nop -/* 0BEF84 800BE384 A6180002 */ sh $t8, 2($s0) -/* 0BEF88 800BE388 86AE0000 */ lh $t6, ($s5) -/* 0BEF8C 800BE38C 86020002 */ lh $v0, 2($s0) -/* 0BEF90 800BE390 A60E0008 */ sh $t6, 8($s0) -/* 0BEF94 800BE394 846B0002 */ lh $t3, 2($v1) -/* 0BEF98 800BE398 860D0008 */ lh $t5, 8($s0) -/* 0BEF9C 800BE39C A60B000E */ sh $t3, 0xe($s0) -/* 0BEFA0 800BE3A0 8619000E */ lh $t9, 0xe($s0) -/* 0BEFA4 800BE3A4 004D5023 */ subu $t2, $v0, $t5 -/* 0BEFA8 800BE3A8 00596023 */ subu $t4, $v0, $t9 -/* 0BEFAC 800BE3AC 448C4000 */ mtc1 $t4, $f8 -/* 0BEFB0 800BE3B0 448A3000 */ mtc1 $t2, $f6 -/* 0BEFB4 800BE3B4 46804120 */ cvt.s.w $f4, $f8 -/* 0BEFB8 800BE3B8 A6050004 */ sh $a1, 4($s0) -/* 0BEFBC 800BE3BC A61E000A */ sh $fp, 0xa($s0) -/* 0BEFC0 800BE3C0 46022502 */ mul.s $f20, $f4, $f2 -/* 0BEFC4 800BE3C4 A6050010 */ sh $a1, 0x10($s0) -/* 0BEFC8 800BE3C8 A7A50332 */ sh $a1, 0x332($sp) -/* 0BEFCC 800BE3CC AFA40074 */ sw $a0, 0x74($sp) -/* 0BEFD0 800BE3D0 468032A0 */ cvt.s.w $f10, $f6 -/* 0BEFD4 800BE3D4 AFA30078 */ sw $v1, 0x78($sp) -/* 0BEFD8 800BE3D8 46005582 */ mul.s $f22, $f10, $f0 -/* 0BEFDC 800BE3DC 00000000 */ nop -/* 0BEFE0 800BE3E0 4614A202 */ mul.s $f8, $f20, $f20 -/* 0BEFE4 800BE3E4 00000000 */ nop -/* 0BEFE8 800BE3E8 4616B182 */ mul.s $f6, $f22, $f22 -/* 0BEFEC 800BE3EC 461C4100 */ add.s $f4, $f8, $f28 -/* 0BEFF0 800BE3F0 0C0326B4 */ jal sqrtf -/* 0BEFF4 800BE3F4 46062300 */ add.s $f12, $f4, $f6 -/* 0BEFF8 800BE3F8 44805000 */ mtc1 $zero, $f10 -/* 0BEFFC 800BE3FC 8FA30078 */ lw $v1, 0x78($sp) -/* 0BF000 800BE400 4600503C */ c.lt.s $f10, $f0 -/* 0BF004 800BE404 8FA40074 */ lw $a0, 0x74($sp) -/* 0BF008 800BE408 87A50332 */ lh $a1, 0x332($sp) -/* 0BF00C 800BE40C 4500001E */ bc1f .L800BE488 -/* 0BF010 800BE410 00000000 */ nop -/* 0BF014 800BE414 4600F603 */ div.s $f24, $f30, $f0 -/* 0BF018 800BE418 8FAF0378 */ lw $t7, 0x378($sp) -/* 0BF01C 800BE41C 0017C100 */ sll $t8, $s7, 4 -/* 0BF020 800BE420 01F81021 */ addu $v0, $t7, $t8 -/* 0BF024 800BE424 26F70001 */ addiu $s7, $s7, 1 -/* 0BF028 800BE428 26100014 */ addiu $s0, $s0, 0x14 -/* 0BF02C 800BE42C 4618A082 */ mul.s $f2, $f20, $f24 -/* 0BF030 800BE430 00000000 */ nop -/* 0BF034 800BE434 4618D382 */ mul.s $f14, $f26, $f24 -/* 0BF038 800BE438 E4420000 */ swc1 $f2, ($v0) -/* 0BF03C 800BE43C 4618B302 */ mul.s $f12, $f22, $f24 -/* 0BF040 800BE440 E44E0004 */ swc1 $f14, 4($v0) -/* 0BF044 800BE444 E44C0008 */ swc1 $f12, 8($v0) -/* 0BF048 800BE448 860EFFEC */ lh $t6, -0x14($s0) -/* 0BF04C 800BE44C 860BFFEE */ lh $t3, -0x12($s0) -/* 0BF050 800BE450 448E4000 */ mtc1 $t6, $f8 -/* 0BF054 800BE454 448B5000 */ mtc1 $t3, $f10 -/* 0BF058 800BE458 46804120 */ cvt.s.w $f4, $f8 -/* 0BF05C 800BE45C 8619FFF0 */ lh $t9, -0x10($s0) -/* 0BF060 800BE460 46022182 */ mul.s $f6, $f4, $f2 -/* 0BF064 800BE464 46805220 */ cvt.s.w $f8, $f10 -/* 0BF068 800BE468 460E4102 */ mul.s $f4, $f8, $f14 -/* 0BF06C 800BE46C 44994000 */ mtc1 $t9, $f8 -/* 0BF070 800BE470 46043280 */ add.s $f10, $f6, $f4 -/* 0BF074 800BE474 468041A0 */ cvt.s.w $f6, $f8 -/* 0BF078 800BE478 46066102 */ mul.s $f4, $f12, $f6 -/* 0BF07C 800BE47C 460A2200 */ add.s $f8, $f4, $f10 -/* 0BF080 800BE480 46004187 */ neg.s $f6, $f8 -/* 0BF084 800BE484 E446000C */ swc1 $f6, 0xc($v0) -.L800BE488: -/* 0BF088 800BE488 A6120000 */ sh $s2, ($s0) -/* 0BF08C 800BE48C A6130006 */ sh $s3, 6($s0) -/* 0BF090 800BE490 A612000C */ sh $s2, 0xc($s0) -/* 0BF094 800BE494 868C0002 */ lh $t4, 2($s4) -/* 0BF098 800BE498 00000000 */ nop -/* 0BF09C 800BE49C A60C0002 */ sh $t4, 2($s0) -/* 0BF0A0 800BE4A0 86AD0000 */ lh $t5, ($s5) -/* 0BF0A4 800BE4A4 860E0002 */ lh $t6, 2($s0) -/* 0BF0A8 800BE4A8 A60D0008 */ sh $t5, 8($s0) -/* 0BF0AC 800BE4AC 848A0002 */ lh $t2, 2($a0) -/* 0BF0B0 800BE4B0 860F0008 */ lh $t7, 8($s0) -/* 0BF0B4 800BE4B4 A60A000E */ sh $t2, 0xe($s0) -/* 0BF0B8 800BE4B8 8602000E */ lh $v0, 0xe($s0) -/* 0BF0BC 800BE4BC A6050004 */ sh $a1, 4($s0) -/* 0BF0C0 800BE4C0 01E2C023 */ subu $t8, $t7, $v0 -/* 0BF0C4 800BE4C4 44982000 */ mtc1 $t8, $f4 -/* 0BF0C8 800BE4C8 A61E000A */ sh $fp, 0xa($s0) -/* 0BF0CC 800BE4CC 468022A0 */ cvt.s.w $f10, $f4 -/* 0BF0D0 800BE4D0 A61E0010 */ sh $fp, 0x10($s0) -/* 0BF0D4 800BE4D4 C7A800C8 */ lwc1 $f8, 0xc8($sp) -/* 0BF0D8 800BE4D8 01C25823 */ subu $t3, $t6, $v0 -/* 0BF0DC 800BE4DC 448B3000 */ mtc1 $t3, $f6 -/* 0BF0E0 800BE4E0 46085502 */ mul.s $f20, $f10, $f8 -/* 0BF0E4 800BE4E4 C7AA00CC */ lwc1 $f10, 0xcc($sp) -/* 0BF0E8 800BE4E8 A7A50332 */ sh $a1, 0x332($sp) -/* 0BF0EC 800BE4EC AFA40074 */ sw $a0, 0x74($sp) -/* 0BF0F0 800BE4F0 46803120 */ cvt.s.w $f4, $f6 -/* 0BF0F4 800BE4F4 AFA30078 */ sw $v1, 0x78($sp) -/* 0BF0F8 800BE4F8 460A2582 */ mul.s $f22, $f4, $f10 -/* 0BF0FC 800BE4FC 00000000 */ nop -/* 0BF100 800BE500 4614A202 */ mul.s $f8, $f20, $f20 -/* 0BF104 800BE504 00000000 */ nop -/* 0BF108 800BE508 4616B102 */ mul.s $f4, $f22, $f22 -/* 0BF10C 800BE50C 461C4180 */ add.s $f6, $f8, $f28 -/* 0BF110 800BE510 0C0326B4 */ jal sqrtf -/* 0BF114 800BE514 46043300 */ add.s $f12, $f6, $f4 -/* 0BF118 800BE518 44805000 */ mtc1 $zero, $f10 -/* 0BF11C 800BE51C 8FA30078 */ lw $v1, 0x78($sp) -/* 0BF120 800BE520 4600503C */ c.lt.s $f10, $f0 -/* 0BF124 800BE524 8FA40074 */ lw $a0, 0x74($sp) -/* 0BF128 800BE528 87A50332 */ lh $a1, 0x332($sp) -/* 0BF12C 800BE52C 4500001F */ bc1f .L800BE5AC -/* 0BF130 800BE530 00129C00 */ sll $s3, $s2, 0x10 -/* 0BF134 800BE534 00000000 */ nop -/* 0BF138 800BE538 4600F603 */ div.s $f24, $f30, $f0 -/* 0BF13C 800BE53C 8FB90378 */ lw $t9, 0x378($sp) -/* 0BF140 800BE540 00176100 */ sll $t4, $s7, 4 -/* 0BF144 800BE544 032C1021 */ addu $v0, $t9, $t4 -/* 0BF148 800BE548 26F70001 */ addiu $s7, $s7, 1 -/* 0BF14C 800BE54C 26100014 */ addiu $s0, $s0, 0x14 -/* 0BF150 800BE550 4618A082 */ mul.s $f2, $f20, $f24 -/* 0BF154 800BE554 00000000 */ nop -/* 0BF158 800BE558 4618D382 */ mul.s $f14, $f26, $f24 -/* 0BF15C 800BE55C E4420000 */ swc1 $f2, ($v0) -/* 0BF160 800BE560 4618B302 */ mul.s $f12, $f22, $f24 -/* 0BF164 800BE564 E44E0004 */ swc1 $f14, 4($v0) -/* 0BF168 800BE568 E44C0008 */ swc1 $f12, 8($v0) -/* 0BF16C 800BE56C 860DFFEC */ lh $t5, -0x14($s0) -/* 0BF170 800BE570 860AFFEE */ lh $t2, -0x12($s0) -/* 0BF174 800BE574 448D4000 */ mtc1 $t5, $f8 -/* 0BF178 800BE578 448A5000 */ mtc1 $t2, $f10 -/* 0BF17C 800BE57C 468041A0 */ cvt.s.w $f6, $f8 -/* 0BF180 800BE580 860FFFF0 */ lh $t7, -0x10($s0) -/* 0BF184 800BE584 46023102 */ mul.s $f4, $f6, $f2 -/* 0BF188 800BE588 46805220 */ cvt.s.w $f8, $f10 -/* 0BF18C 800BE58C 460E4182 */ mul.s $f6, $f8, $f14 -/* 0BF190 800BE590 448F4000 */ mtc1 $t7, $f8 -/* 0BF194 800BE594 46062280 */ add.s $f10, $f4, $f6 -/* 0BF198 800BE598 46804120 */ cvt.s.w $f4, $f8 -/* 0BF19C 800BE59C 46046182 */ mul.s $f6, $f12, $f4 -/* 0BF1A0 800BE5A0 460A3200 */ add.s $f8, $f6, $f10 -/* 0BF1A4 800BE5A4 46004107 */ neg.s $f4, $f8 -/* 0BF1A8 800BE5A8 E444000C */ swc1 $f4, 0xc($v0) -.L800BE5AC: -/* 0BF1AC 800BE5AC 8FAE0358 */ lw $t6, 0x358($sp) -/* 0BF1B0 800BE5B0 0013C403 */ sra $t8, $s3, 0x10 -/* 0BF1B4 800BE5B4 02C08825 */ move $s1, $s6 -/* 0BF1B8 800BE5B8 26940002 */ addiu $s4, $s4, 2 -/* 0BF1BC 800BE5BC 26B50002 */ addiu $s5, $s5, 2 -/* 0BF1C0 800BE5C0 24630002 */ addiu $v1, $v1, 2 -/* 0BF1C4 800BE5C4 24840002 */ addiu $a0, $a0, 2 -/* 0BF1C8 800BE5C8 16CEFF54 */ bne $s6, $t6, .L800BE31C -/* 0BF1CC 800BE5CC 03009825 */ move $s3, $t8 -/* 0BF1D0 800BE5D0 8FA200A4 */ lw $v0, 0xa4($sp) -/* 0BF1D4 800BE5D4 00000000 */ nop -.L800BE5D8: -/* 0BF1D8 800BE5D8 8FB90354 */ lw $t9, 0x354($sp) -/* 0BF1DC 800BE5DC 001E2C00 */ sll $a1, $fp, 0x10 -/* 0BF1E0 800BE5E0 00055C03 */ sra $t3, $a1, 0x10 -/* 0BF1E4 800BE5E4 0040B025 */ move $s6, $v0 -/* 0BF1E8 800BE5E8 1459FF0B */ bne $v0, $t9, .L800BE218 -/* 0BF1EC 800BE5EC 01602825 */ move $a1, $t3 -.L800BE5F0: -/* 0BF1F0 800BE5F0 8FBF006C */ lw $ra, 0x6c($sp) -/* 0BF1F4 800BE5F4 02E01025 */ move $v0, $s7 -/* 0BF1F8 800BE5F8 8FB70064 */ lw $s7, 0x64($sp) -/* 0BF1FC 800BE5FC C7B50018 */ lwc1 $f21, 0x18($sp) -/* 0BF200 800BE600 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 0BF204 800BE604 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 0BF208 800BE608 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 0BF20C 800BE60C C7B90028 */ lwc1 $f25, 0x28($sp) -/* 0BF210 800BE610 C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 0BF214 800BE614 C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 0BF218 800BE618 C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 0BF21C 800BE61C C7BD0038 */ lwc1 $f29, 0x38($sp) -/* 0BF220 800BE620 C7BC003C */ lwc1 $f28, 0x3c($sp) -/* 0BF224 800BE624 C7BF0040 */ lwc1 $f31, 0x40($sp) -/* 0BF228 800BE628 C7BE0044 */ lwc1 $f30, 0x44($sp) -/* 0BF22C 800BE62C 8FB00048 */ lw $s0, 0x48($sp) -/* 0BF230 800BE630 8FB1004C */ lw $s1, 0x4c($sp) -/* 0BF234 800BE634 8FB20050 */ lw $s2, 0x50($sp) -/* 0BF238 800BE638 8FB30054 */ lw $s3, 0x54($sp) -/* 0BF23C 800BE63C 8FB40058 */ lw $s4, 0x58($sp) -/* 0BF240 800BE640 8FB5005C */ lw $s5, 0x5c($sp) -/* 0BF244 800BE644 8FB60060 */ lw $s6, 0x60($sp) -/* 0BF248 800BE648 8FBE0068 */ lw $fp, 0x68($sp) -/* 0BF24C 800BE64C 03E00008 */ jr $ra -/* 0BF250 800BE650 27BD0370 */ addiu $sp, $sp, 0x370 - diff --git a/asm/non_matchings/waves/func_800BE654.s b/asm/non_matchings/waves/func_800BE654.s deleted file mode 100644 index ca40992b..00000000 --- a/asm/non_matchings/waves/func_800BE654.s +++ /dev/null @@ -1,576 +0,0 @@ -glabel func_800BE654 -/* 0BF254 800BE654 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 0BF258 800BE658 3C0E800E */ lui $t6, %hi(D_800E3040) # $t6, 0x800e -/* 0BF25C 800BE65C 8DCE3040 */ lw $t6, %lo(D_800E3040)($t6) -/* 0BF260 800BE660 E7B80024 */ swc1 $f24, 0x24($sp) -/* 0BF264 800BE664 4486C000 */ mtc1 $a2, $f24 -/* 0BF268 800BE668 00803025 */ move $a2, $a0 -/* 0BF26C 800BE66C AFBF002C */ sw $ra, 0x2c($sp) -/* 0BF270 800BE670 E7B90020 */ swc1 $f25, 0x20($sp) -/* 0BF274 800BE674 E7B70018 */ swc1 $f23, 0x18($sp) -/* 0BF278 800BE678 E7B6001C */ swc1 $f22, 0x1c($sp) -/* 0BF27C 800BE67C E7B50010 */ swc1 $f21, 0x10($sp) -/* 0BF280 800BE680 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0BF284 800BE684 AFA400E8 */ sw $a0, 0xe8($sp) -/* 0BF288 800BE688 AFA500EC */ sw $a1, 0xec($sp) -/* 0BF28C 800BE68C 24080080 */ li $t0, 128 -/* 0BF290 800BE690 11C001FE */ beqz $t6, .L800BEE8C -/* 0BF294 800BE694 00005025 */ move $t2, $zero -/* 0BF298 800BE698 048001FC */ bltz $a0, .L800BEE8C -/* 0BF29C 800BE69C 3C0F8013 */ lui $t7, %hi(D_8012A0E0) # $t7, 0x8013 -/* 0BF2A0 800BE6A0 8DEFA0E0 */ lw $t7, %lo(D_8012A0E0)($t7) -/* 0BF2A4 800BE6A4 3C0500FF */ li $a1, 0x00FF0000 # 0.000000 -/* 0BF2A8 800BE6A8 008F082A */ slt $at, $a0, $t7 -/* 0BF2AC 800BE6AC 102001F7 */ beqz $at, .L800BEE8C -/* 0BF2B0 800BE6B0 3C048013 */ lui $a0, %hi(D_80129FC8 + 32) # $a0, 0x8013 -/* 0BF2B4 800BE6B4 8C849FE8 */ lw $a0, %lo(D_80129FC8 + 32)($a0) -/* 0BF2B8 800BE6B8 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 0BF2BC 800BE6BC 0004C043 */ sra $t8, $a0, 1 -/* 0BF2C0 800BE6C0 2704000E */ addiu $a0, $t8, 0xe -/* 0BF2C4 800BE6C4 AFA600E8 */ sw $a2, 0xe8($sp) -/* 0BF2C8 800BE6C8 0C01C327 */ jal mempool_alloc_safe -/* 0BF2CC 800BE6CC A7A800A6 */ sh $t0, 0xa6($sp) -/* 0BF2D0 800BE6D0 8FBF00E8 */ lw $ra, 0xe8($sp) -/* 0BF2D4 800BE6D4 3C0D800E */ lui $t5, %hi(D_800E30D8) # $t5, 0x800e -/* 0BF2D8 800BE6D8 25AD30D8 */ addiu $t5, %lo(D_800E30D8) # addiu $t5, $t5, 0x30d8 -/* 0BF2DC 800BE6DC 001F48C0 */ sll $t1, $ra, 3 -/* 0BF2E0 800BE6E0 8DB90000 */ lw $t9, ($t5) -/* 0BF2E4 800BE6E4 013F4823 */ subu $t1, $t1, $ra -/* 0BF2E8 800BE6E8 00094880 */ sll $t1, $t1, 2 -/* 0BF2EC 800BE6EC 03297021 */ addu $t6, $t9, $t1 -/* 0BF2F0 800BE6F0 85CF0006 */ lh $t7, 6($t6) -/* 0BF2F4 800BE6F4 87A800A6 */ lh $t0, 0xa6($sp) -/* 0BF2F8 800BE6F8 24180001 */ li $t8, 1 -/* 0BF2FC 800BE6FC A0400002 */ sb $zero, 2($v0) -/* 0BF300 800BE700 A0580003 */ sb $t8, 3($v0) -/* 0BF304 800BE704 A4400004 */ sh $zero, 4($v0) -/* 0BF308 800BE708 3C198013 */ lui $t9, %hi(D_80129FC8 + 32) # $t9, 0x8013 -/* 0BF30C 800BE70C A44F0000 */ sh $t7, ($v0) -/* 0BF310 800BE710 8F399FE8 */ lw $t9, %lo(D_80129FC8 + 32)($t9) -/* 0BF314 800BE714 3C0E800E */ lui $t6, %hi(D_800E317C) # $t6, 0x800e -/* 0BF318 800BE718 A4590006 */ sh $t9, 6($v0) -/* 0BF31C 800BE71C 8DCE317C */ lw $t6, %lo(D_800E317C)($t6) -/* 0BF320 800BE720 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BF324 800BE724 03EE0019 */ multu $ra, $t6 -/* 0BF328 800BE728 44816000 */ mtc1 $at, $f12 -/* 0BF32C 800BE72C 3C018013 */ lui $at, %hi(D_8012A0BC) # $at, 0x8013 -/* 0BF330 800BE730 C434A0BC */ lwc1 $f20, %lo(D_8012A0BC)($at) -/* 0BF334 800BE734 3C018013 */ lui $at, %hi(D_8012A0B8) # $at, 0x8013 -/* 0BF338 800BE738 C436A0B8 */ lwc1 $f22, %lo(D_8012A0B8)($at) -/* 0BF33C 800BE73C 3C018013 */ lui $at, %hi(D_80129FC8 + 68) # $at, 0x8013 -/* 0BF340 800BE740 C424A00C */ lwc1 $f4, %lo(D_80129FC8 + 68)($at) -/* 0BF344 800BE744 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0BF348 800BE748 3C188013 */ lui $t8, %hi(D_80129FC8 + 40) # $t8, 0x8013 -/* 0BF34C 800BE74C 44814000 */ mtc1 $at, $f8 -/* 0BF350 800BE750 8F189FF0 */ lw $t8, %lo(D_80129FC8 + 40)($t8) -/* 0BF354 800BE754 46046181 */ sub.s $f6, $f12, $f4 -/* 0BF358 800BE758 00007812 */ mflo $t7 -/* 0BF35C 800BE75C 00405025 */ move $t2, $v0 -/* 0BF360 800BE760 AFAF00B0 */ sw $t7, 0xb0($sp) -/* 0BF364 800BE764 1300000B */ beqz $t8, .L800BE794 -/* 0BF368 800BE768 46083083 */ div.s $f2, $f6, $f8 -/* 0BF36C 800BE76C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BF370 800BE770 44810000 */ mtc1 $at, $f0 -/* 0BF374 800BE774 3C0C8013 */ lui $t4, %hi(D_80129FC8) # $t4, 0x8013 -/* 0BF378 800BE778 4600A502 */ mul.s $f20, $f20, $f0 -/* 0BF37C 800BE77C 8D8C9FC8 */ lw $t4, %lo(D_80129FC8)($t4) -/* 0BF380 800BE780 00000000 */ nop -/* 0BF384 800BE784 000CC840 */ sll $t9, $t4, 1 -/* 0BF388 800BE788 4600B582 */ mul.s $f22, $f22, $f0 -/* 0BF38C 800BE78C 10000005 */ b .L800BE7A4 -/* 0BF390 800BE790 272C0001 */ addiu $t4, $t9, 1 -.L800BE794: -/* 0BF394 800BE794 3C0C8013 */ lui $t4, %hi(D_80129FC8) # $t4, 0x8013 -/* 0BF398 800BE798 8D8C9FC8 */ lw $t4, %lo(D_80129FC8)($t4) -/* 0BF39C 800BE79C 00000000 */ nop -/* 0BF3A0 800BE7A0 258C0001 */ addiu $t4, $t4, 1 -.L800BE7A4: -/* 0BF3A4 800BE7A4 8DAE0000 */ lw $t6, ($t5) -/* 0BF3A8 800BE7A8 C7B000EC */ lwc1 $f16, 0xec($sp) -/* 0BF3AC 800BE7AC 01C93821 */ addu $a3, $t6, $t1 -/* 0BF3B0 800BE7B0 84EF0004 */ lh $t7, 4($a3) -/* 0BF3B4 800BE7B4 44807000 */ mtc1 $zero, $f14 -/* 0BF3B8 800BE7B8 448F5000 */ mtc1 $t7, $f10 -/* 0BF3BC 800BE7BC 3C018013 */ lui $at, %hi(D_8012A0A0) # $at, 0x8013 -/* 0BF3C0 800BE7C0 46805120 */ cvt.s.w $f4, $f10 -/* 0BF3C4 800BE7C4 46048401 */ sub.s $f16, $f16, $f4 -/* 0BF3C8 800BE7C8 460E803C */ c.lt.s $f16, $f14 -/* 0BF3CC 800BE7CC 00000000 */ nop -/* 0BF3D0 800BE7D0 45000003 */ bc1f .L800BE7E0 -/* 0BF3D4 800BE7D4 00000000 */ nop -/* 0BF3D8 800BE7D8 1000000D */ b .L800BE810 -/* 0BF3DC 800BE7DC 46007406 */ mov.s $f16, $f14 -.L800BE7E0: -/* 0BF3E0 800BE7E0 C420A0A0 */ lwc1 $f0, %lo(D_8012A0A0)($at) -/* 0BF3E4 800BE7E4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BF3E8 800BE7E8 4610003E */ c.le.s $f0, $f16 -/* 0BF3EC 800BE7EC E7B000EC */ swc1 $f16, 0xec($sp) -/* 0BF3F0 800BE7F0 45000007 */ bc1f .L800BE810 -/* 0BF3F4 800BE7F4 00000000 */ nop -/* 0BF3F8 800BE7F8 44813000 */ mtc1 $at, $f6 -/* 0BF3FC 800BE7FC 00000000 */ nop -/* 0BF400 800BE800 46060201 */ sub.s $f8, $f0, $f6 -/* 0BF404 800BE804 E7A800EC */ swc1 $f8, 0xec($sp) -/* 0BF408 800BE808 C7B000EC */ lwc1 $f16, 0xec($sp) -/* 0BF40C 800BE80C 00000000 */ nop -.L800BE810: -/* 0BF410 800BE810 84F80008 */ lh $t8, 8($a3) -/* 0BF414 800BE814 3C018013 */ lui $at, %hi(D_8012A0A4) # $at, 0x8013 -/* 0BF418 800BE818 44985000 */ mtc1 $t8, $f10 -/* 0BF41C 800BE81C 46168203 */ div.s $f8, $f16, $f22 -/* 0BF420 800BE820 46805120 */ cvt.s.w $f4, $f10 -/* 0BF424 800BE824 4604C601 */ sub.s $f24, $f24, $f4 -/* 0BF428 800BE828 460EC03C */ c.lt.s $f24, $f14 -/* 0BF42C 800BE82C 00000000 */ nop -/* 0BF430 800BE830 45000003 */ bc1f .L800BE840 -/* 0BF434 800BE834 00000000 */ nop -/* 0BF438 800BE838 1000000A */ b .L800BE864 -/* 0BF43C 800BE83C 46007606 */ mov.s $f24, $f14 -.L800BE840: -/* 0BF440 800BE840 C420A0A4 */ lwc1 $f0, %lo(D_8012A0A4)($at) -/* 0BF444 800BE844 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BF448 800BE848 4618003E */ c.le.s $f0, $f24 -/* 0BF44C 800BE84C 00000000 */ nop -/* 0BF450 800BE850 45000004 */ bc1f .L800BE864 -/* 0BF454 800BE854 00000000 */ nop -/* 0BF458 800BE858 44813000 */ mtc1 $at, $f6 -/* 0BF45C 800BE85C 00000000 */ nop -/* 0BF460 800BE860 46060601 */ sub.s $f24, $f0, $f6 -.L800BE864: -/* 0BF464 800BE864 4459F800 */ cfc1 $t9, $31 -/* 0BF468 800BE868 3C038013 */ lui $v1, %hi(D_80129FC8 + 4) # $v1, 0x8013 -/* 0BF46C 800BE86C 37210003 */ ori $at, $t9, 3 -/* 0BF470 800BE870 38210002 */ xori $at, $at, 2 -/* 0BF474 800BE874 44C1F800 */ ctc1 $at, $31 -/* 0BF478 800BE878 00000000 */ nop -/* 0BF47C 800BE87C 460042A4 */ cvt.w.s $f10, $f8 -/* 0BF480 800BE880 44D9F800 */ ctc1 $t9, $31 -/* 0BF484 800BE884 44055000 */ mfc1 $a1, $f10 -/* 0BF488 800BE888 4614C103 */ div.s $f4, $f24, $f20 -/* 0BF48C 800BE88C 44854000 */ mtc1 $a1, $f8 -/* 0BF490 800BE890 AFA500C4 */ sw $a1, 0xc4($sp) -/* 0BF494 800BE894 A45F000C */ sh $ra, 0xc($v0) -/* 0BF498 800BE898 A4450008 */ sh $a1, 8($v0) -/* 0BF49C 800BE89C 27BF0050 */ addiu $ra, $sp, 0x50 -/* 0BF4A0 800BE8A0 444EF800 */ cfc1 $t6, $31 -/* 0BF4A4 800BE8A4 00000000 */ nop -/* 0BF4A8 800BE8A8 35C10003 */ ori $at, $t6, 3 -/* 0BF4AC 800BE8AC 38210002 */ xori $at, $at, 2 -/* 0BF4B0 800BE8B0 44C1F800 */ ctc1 $at, $31 -/* 0BF4B4 800BE8B4 00000000 */ nop -/* 0BF4B8 800BE8B8 460021A4 */ cvt.w.s $f6, $f4 -/* 0BF4BC 800BE8BC 440B3000 */ mfc1 $t3, $f6 -/* 0BF4C0 800BE8C0 44CEF800 */ ctc1 $t6, $31 -/* 0BF4C4 800BE8C4 448B3000 */ mtc1 $t3, $f6 -/* 0BF4C8 800BE8C8 468042A0 */ cvt.s.w $f10, $f8 -/* 0BF4CC 800BE8CC A44B000A */ sh $t3, 0xa($v0) -/* 0BF4D0 800BE8D0 8DAF0000 */ lw $t7, ($t5) -/* 0BF4D4 800BE8D4 46165102 */ mul.s $f4, $f10, $f22 -/* 0BF4D8 800BE8D8 01E93821 */ addu $a3, $t7, $t1 -/* 0BF4DC 800BE8DC 84F80012 */ lh $t8, 0x12($a3) -/* 0BF4E0 800BE8E0 8FB900C4 */ lw $t9, 0xc4($sp) -/* 0BF4E4 800BE8E4 46803220 */ cvt.s.w $f8, $f6 -/* 0BF4E8 800BE8E8 8C639FCC */ lw $v1, %lo(D_80129FC8 + 4)($v1) -/* 0BF4EC 800BE8EC 03192021 */ addu $a0, $t8, $t9 -/* 0BF4F0 800BE8F0 46144282 */ mul.s $f10, $f8, $f20 -/* 0BF4F4 800BE8F4 0083082A */ slt $at, $a0, $v1 -/* 0BF4F8 800BE8F8 27AD0080 */ addiu $t5, $sp, 0x80 -/* 0BF4FC 800BE8FC 46048401 */ sub.s $f16, $f16, $f4 -/* 0BF500 800BE900 14200005 */ bnez $at, .L800BE918 -/* 0BF504 800BE904 460AC601 */ sub.s $f24, $f24, $f10 -.L800BE908: -/* 0BF508 800BE908 00832023 */ subu $a0, $a0, $v1 -/* 0BF50C 800BE90C 0083082A */ slt $at, $a0, $v1 -/* 0BF510 800BE910 1020FFFD */ beqz $at, .L800BE908 -/* 0BF514 800BE914 00000000 */ nop -.L800BE918: -/* 0BF518 800BE918 84EE0010 */ lh $t6, 0x10($a3) -/* 0BF51C 800BE91C 24860001 */ addiu $a2, $a0, 1 -/* 0BF520 800BE920 01CB1021 */ addu $v0, $t6, $t3 -/* 0BF524 800BE924 0043082A */ slt $at, $v0, $v1 -/* 0BF528 800BE928 14200005 */ bnez $at, .L800BE940 -/* 0BF52C 800BE92C 00000000 */ nop -.L800BE930: -/* 0BF530 800BE930 00431023 */ subu $v0, $v0, $v1 -/* 0BF534 800BE934 0043082A */ slt $at, $v0, $v1 -/* 0BF538 800BE938 1020FFFD */ beqz $at, .L800BE930 -/* 0BF53C 800BE93C 00000000 */ nop -.L800BE940: -/* 0BF540 800BE940 4614C032 */ c.eq.s $f24, $f20 -/* 0BF544 800BE944 00004825 */ move $t1, $zero -/* 0BF548 800BE948 4501000A */ bc1t .L800BE974 -/* 0BF54C 800BE94C 00C3082A */ slt $at, $a2, $v1 -/* 0BF550 800BE950 4618A101 */ sub.s $f4, $f20, $f24 -/* 0BF554 800BE954 00000000 */ nop -/* 0BF558 800BE958 46142183 */ div.s $f6, $f4, $f20 -/* 0BF55C 800BE95C 46163202 */ mul.s $f8, $f6, $f22 -/* 0BF560 800BE960 4608803C */ c.lt.s $f16, $f8 -/* 0BF564 800BE964 00000000 */ nop -/* 0BF568 800BE968 45000002 */ bc1f .L800BE974 -/* 0BF56C 800BE96C 00000000 */ nop -/* 0BF570 800BE970 24090001 */ li $t1, 1 -.L800BE974: -/* 0BF574 800BE974 11200025 */ beqz $t1, .L800BEA0C -/* 0BF578 800BE978 24450001 */ addiu $a1, $v0, 1 -/* 0BF57C 800BE97C 00430019 */ multu $v0, $v1 -/* 0BF580 800BE980 24450001 */ addiu $a1, $v0, 1 -/* 0BF584 800BE984 00A3082A */ slt $at, $a1, $v1 -/* 0BF588 800BE988 24990001 */ addiu $t9, $a0, 1 -/* 0BF58C 800BE98C 00003012 */ mflo $a2 -/* 0BF590 800BE990 00C43821 */ addu $a3, $a2, $a0 -/* 0BF594 800BE994 14200003 */ bnez $at, .L800BE9A4 -/* 0BF598 800BE998 AFA70080 */ sw $a3, 0x80($sp) -/* 0BF59C 800BE99C 10000005 */ b .L800BE9B4 -/* 0BF5A0 800BE9A0 AFA40084 */ sw $a0, 0x84($sp) -.L800BE9A4: -/* 0BF5A4 800BE9A4 00A30019 */ multu $a1, $v1 -/* 0BF5A8 800BE9A8 00007812 */ mflo $t7 -/* 0BF5AC 800BE9AC 01E4C021 */ addu $t8, $t7, $a0 -/* 0BF5B0 800BE9B0 AFB80084 */ sw $t8, 0x84($sp) -.L800BE9B4: -/* 0BF5B4 800BE9B4 0323082A */ slt $at, $t9, $v1 -/* 0BF5B8 800BE9B8 14200003 */ bnez $at, .L800BE9C8 -/* 0BF5BC 800BE9BC 24E20001 */ addiu $v0, $a3, 1 -/* 0BF5C0 800BE9C0 10000002 */ b .L800BE9CC -/* 0BF5C4 800BE9C4 AFA60088 */ sw $a2, 0x88($sp) -.L800BE9C8: -/* 0BF5C8 800BE9C8 AFA20088 */ sw $v0, 0x88($sp) -.L800BE9CC: -/* 0BF5CC 800BE9CC 016C0019 */ multu $t3, $t4 -/* 0BF5D0 800BE9D0 25790001 */ addiu $t9, $t3, 1 -/* 0BF5D4 800BE9D4 8FAE00B0 */ lw $t6, 0xb0($sp) -/* 0BF5D8 800BE9D8 8FAF00C4 */ lw $t7, 0xc4($sp) -/* 0BF5DC 800BE9DC E7AE00E4 */ swc1 $f14, 0xe4($sp) -/* 0BF5E0 800BE9E0 01CF1021 */ addu $v0, $t6, $t7 -/* 0BF5E4 800BE9E4 0000C012 */ mflo $t8 -/* 0BF5E8 800BE9E8 00581821 */ addu $v1, $v0, $t8 -/* 0BF5EC 800BE9EC 24780001 */ addiu $t8, $v1, 1 -/* 0BF5F0 800BE9F0 032C0019 */ multu $t9, $t4 -/* 0BF5F4 800BE9F4 AFA3005C */ sw $v1, 0x5c($sp) -/* 0BF5F8 800BE9F8 AFB80064 */ sw $t8, 0x64($sp) -/* 0BF5FC 800BE9FC 00007012 */ mflo $t6 -/* 0BF600 800BEA00 004E7821 */ addu $t7, $v0, $t6 -/* 0BF604 800BEA04 10000032 */ b .L800BEAD0 -/* 0BF608 800BEA08 AFAF0060 */ sw $t7, 0x60($sp) -.L800BEA0C: -/* 0BF60C 800BEA0C 14200006 */ bnez $at, .L800BEA28 -/* 0BF610 800BEA10 00000000 */ nop -/* 0BF614 800BEA14 00430019 */ multu $v0, $v1 -/* 0BF618 800BEA18 0000C812 */ mflo $t9 -/* 0BF61C 800BEA1C AFB90080 */ sw $t9, 0x80($sp) -/* 0BF620 800BEA20 10000007 */ b .L800BEA40 -/* 0BF624 800BEA24 00A3082A */ slt $at, $a1, $v1 -.L800BEA28: -/* 0BF628 800BEA28 00430019 */ multu $v0, $v1 -/* 0BF62C 800BEA2C 00007012 */ mflo $t6 -/* 0BF630 800BEA30 008E7821 */ addu $t7, $a0, $t6 -/* 0BF634 800BEA34 25F80001 */ addiu $t8, $t7, 1 -/* 0BF638 800BEA38 AFB80080 */ sw $t8, 0x80($sp) -/* 0BF63C 800BEA3C 00A3082A */ slt $at, $a1, $v1 -.L800BEA40: -/* 0BF640 800BEA40 14200003 */ bnez $at, .L800BEA50 -/* 0BF644 800BEA44 00C01025 */ move $v0, $a2 -/* 0BF648 800BEA48 10000005 */ b .L800BEA60 -/* 0BF64C 800BEA4C AFA40084 */ sw $a0, 0x84($sp) -.L800BEA50: -/* 0BF650 800BEA50 00A30019 */ multu $a1, $v1 -/* 0BF654 800BEA54 0000C812 */ mflo $t9 -/* 0BF658 800BEA58 03247021 */ addu $t6, $t9, $a0 -/* 0BF65C 800BEA5C AFAE0084 */ sw $t6, 0x84($sp) -.L800BEA60: -/* 0BF660 800BEA60 00C3082A */ slt $at, $a2, $v1 -/* 0BF664 800BEA64 14200003 */ bnez $at, .L800BEA74 -/* 0BF668 800BEA68 00000000 */ nop -/* 0BF66C 800BEA6C 10000001 */ b .L800BEA74 -/* 0BF670 800BEA70 00001025 */ move $v0, $zero -.L800BEA74: -/* 0BF674 800BEA74 00A3082A */ slt $at, $a1, $v1 -/* 0BF678 800BEA78 10200005 */ beqz $at, .L800BEA90 -/* 0BF67C 800BEA7C AFA20088 */ sw $v0, 0x88($sp) -/* 0BF680 800BEA80 00A30019 */ multu $a1, $v1 -/* 0BF684 800BEA84 00007812 */ mflo $t7 -/* 0BF688 800BEA88 004F1021 */ addu $v0, $v0, $t7 -/* 0BF68C 800BEA8C AFA20088 */ sw $v0, 0x88($sp) -.L800BEA90: -/* 0BF690 800BEA90 016C0019 */ multu $t3, $t4 -/* 0BF694 800BEA94 8FB800C4 */ lw $t8, 0xc4($sp) -/* 0BF698 800BEA98 8FB900B0 */ lw $t9, 0xb0($sp) -/* 0BF69C 800BEA9C E7B600E4 */ swc1 $f22, 0xe4($sp) -/* 0BF6A0 800BEAA0 03191021 */ addu $v0, $t8, $t9 -/* 0BF6A4 800BEAA4 25790001 */ addiu $t9, $t3, 1 -/* 0BF6A8 800BEAA8 00007012 */ mflo $t6 -/* 0BF6AC 800BEAAC 004E7821 */ addu $t7, $v0, $t6 -/* 0BF6B0 800BEAB0 25F80001 */ addiu $t8, $t7, 1 -/* 0BF6B4 800BEAB4 032C0019 */ multu $t9, $t4 -/* 0BF6B8 800BEAB8 AFB8005C */ sw $t8, 0x5c($sp) -/* 0BF6BC 800BEABC 00007012 */ mflo $t6 -/* 0BF6C0 800BEAC0 004E1821 */ addu $v1, $v0, $t6 -/* 0BF6C4 800BEAC4 246F0001 */ addiu $t7, $v1, 1 -/* 0BF6C8 800BEAC8 AFA30060 */ sw $v1, 0x60($sp) -/* 0BF6CC 800BEACC AFAF0064 */ sw $t7, 0x64($sp) -.L800BEAD0: -/* 0BF6D0 800BEAD0 3C0B800E */ lui $t3, %hi(D_800E3044) # $t3, 0x800e -/* 0BF6D4 800BEAD4 3C0C800E */ lui $t4, %hi(D_800E3178) # $t4, 0x800e -/* 0BF6D8 800BEAD8 AFA900AC */ sw $t1, 0xac($sp) -/* 0BF6DC 800BEADC 8D8C3178 */ lw $t4, %lo(D_800E3178)($t4) -/* 0BF6E0 800BEAE0 8D6B3044 */ lw $t3, %lo(D_800E3044)($t3) -/* 0BF6E4 800BEAE4 27A90068 */ addiu $t1, $sp, 0x68 -/* 0BF6E8 800BEAE8 00003825 */ move $a3, $zero -/* 0BF6EC 800BEAEC 00071080 */ sll $v0, $a3, 2 -.L800BEAF0: -/* 0BF6F0 800BEAF0 01A27021 */ addu $t6, $t5, $v0 -/* 0BF6F4 800BEAF4 8DCF0000 */ lw $t7, ($t6) -/* 0BF6F8 800BEAF8 0007C8C0 */ sll $t9, $a3, 3 -/* 0BF6FC 800BEAFC 000FC080 */ sll $t8, $t7, 2 -/* 0BF700 800BEB00 01782021 */ addu $a0, $t3, $t8 -/* 0BF704 800BEB04 01391821 */ addu $v1, $t1, $t9 -/* 0BF708 800BEB08 84990000 */ lh $t9, ($a0) -/* 0BF70C 800BEB0C 03E22821 */ addu $a1, $ra, $v0 -/* 0BF710 800BEB10 AC790000 */ sw $t9, ($v1) -/* 0BF714 800BEB14 848E0002 */ lh $t6, 2($a0) -/* 0BF718 800BEB18 E4AC0000 */ swc1 $f12, ($a1) -/* 0BF71C 800BEB1C 03A27821 */ addu $t7, $sp, $v0 -/* 0BF720 800BEB20 AC6E0004 */ sw $t6, 4($v1) -/* 0BF724 800BEB24 8DEF005C */ lw $t7, 0x5c($t7) -/* 0BF728 800BEB28 24E70001 */ addiu $a3, $a3, 1 -/* 0BF72C 800BEB2C 01ECC021 */ addu $t8, $t7, $t4 -/* 0BF730 800BEB30 93060000 */ lbu $a2, ($t8) -/* 0BF734 800BEB34 0007CC00 */ sll $t9, $a3, 0x10 -/* 0BF738 800BEB38 28C1007F */ slti $at, $a2, 0x7f -/* 0BF73C 800BEB3C 1020000A */ beqz $at, .L800BEB68 -/* 0BF740 800BEB40 00193C03 */ sra $a3, $t9, 0x10 -/* 0BF744 800BEB44 44862000 */ mtc1 $a2, $f4 -/* 0BF748 800BEB48 3C018013 */ lui $at, %hi(D_80129FC8 + 68) # $at, 0x8013 -/* 0BF74C 800BEB4C 468021A0 */ cvt.s.w $f6, $f4 -/* 0BF750 800BEB50 C42AA00C */ lwc1 $f10, %lo(D_80129FC8 + 68)($at) -/* 0BF754 800BEB54 46023202 */ mul.s $f8, $f6, $f2 -/* 0BF758 800BEB58 C4A60000 */ lwc1 $f6, ($a1) -/* 0BF75C 800BEB5C 46085100 */ add.s $f4, $f10, $f8 -/* 0BF760 800BEB60 46043282 */ mul.s $f10, $f6, $f4 -/* 0BF764 800BEB64 E4AA0000 */ swc1 $f10, ($a1) -.L800BEB68: -/* 0BF768 800BEB68 28E10003 */ slti $at, $a3, 3 -/* 0BF76C 800BEB6C 1420FFE0 */ bnez $at, .L800BEAF0 -/* 0BF770 800BEB70 00071080 */ sll $v0, $a3, 2 -/* 0BF774 800BEB74 3C0F8013 */ lui $t7, %hi(D_80129FC8 + 40) # $t7, 0x8013 -/* 0BF778 800BEB78 8DEF9FF0 */ lw $t7, %lo(D_80129FC8 + 40)($t7) -/* 0BF77C 800BEB7C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 0BF780 800BEB80 11E00013 */ beqz $t7, .L800BEBD0 -/* 0BF784 800BEB84 3C188013 */ lui $t8, %hi(D_80129FC8 + 32) # $t8, 0x8013 -/* 0BF788 800BEB88 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 0BF78C 800BEB8C 44810800 */ mtc1 $at, $f1 -/* 0BF790 800BEB90 44800000 */ mtc1 $zero, $f0 -/* 0BF794 800BEB94 460041A1 */ cvt.d.s $f6, $f8 -/* 0BF798 800BEB98 46203102 */ mul.d $f4, $f6, $f0 -/* 0BF79C 800BEB9C C7A80054 */ lwc1 $f8, 0x54($sp) -/* 0BF7A0 800BEBA0 00000000 */ nop -/* 0BF7A4 800BEBA4 460041A1 */ cvt.d.s $f6, $f8 -/* 0BF7A8 800BEBA8 C7A80058 */ lwc1 $f8, 0x58($sp) -/* 0BF7AC 800BEBAC 462022A0 */ cvt.s.d $f10, $f4 -/* 0BF7B0 800BEBB0 46203102 */ mul.d $f4, $f6, $f0 -/* 0BF7B4 800BEBB4 E7AA0050 */ swc1 $f10, 0x50($sp) -/* 0BF7B8 800BEBB8 460041A1 */ cvt.d.s $f6, $f8 -/* 0BF7BC 800BEBBC 462022A0 */ cvt.s.d $f10, $f4 -/* 0BF7C0 800BEBC0 46203102 */ mul.d $f4, $f6, $f0 -/* 0BF7C4 800BEBC4 E7AA0054 */ swc1 $f10, 0x54($sp) -/* 0BF7C8 800BEBC8 462022A0 */ cvt.s.d $f10, $f4 -/* 0BF7CC 800BEBCC E7AA0058 */ swc1 $f10, 0x58($sp) -.L800BEBD0: -/* 0BF7D0 800BEBD0 8F189FE8 */ lw $t8, %lo(D_80129FC8 + 32)($t8) -/* 0BF7D4 800BEBD4 00003825 */ move $a3, $zero -/* 0BF7D8 800BEBD8 0018C843 */ sra $t9, $t8, 1 -/* 0BF7DC 800BEBDC 1B2000AC */ blez $t9, .L800BEE90 -/* 0BF7E0 800BEBE0 8FBF002C */ lw $ra, 0x2c($sp) -/* 0BF7E4 800BEBE4 4616A482 */ mul.s $f18, $f20, $f22 -/* 0BF7E8 800BEBE8 E7B000EC */ swc1 $f16, 0xec($sp) -/* 0BF7EC 800BEBEC 46129202 */ mul.s $f8, $f18, $f18 -/* 0BF7F0 800BEBF0 E7A80040 */ swc1 $f8, 0x40($sp) -/* 0BF7F4 800BEBF4 8FAE0068 */ lw $t6, 0x68($sp) -.L800BEBF8: -/* 0BF7F8 800BEBF8 3C02800E */ lui $v0, %hi(D_800E3040) # $v0, 0x800e -/* 0BF7FC 800BEBFC 8C423040 */ lw $v0, %lo(D_800E3040)($v0) -/* 0BF800 800BEC00 8FB9006C */ lw $t9, 0x6c($sp) -/* 0BF804 800BEC04 000E7880 */ sll $t7, $t6, 2 -/* 0BF808 800BEC08 004FC021 */ addu $t8, $v0, $t7 -/* 0BF80C 800BEC0C 00197080 */ sll $t6, $t9, 2 -/* 0BF810 800BEC10 C7060000 */ lwc1 $f6, ($t8) -/* 0BF814 800BEC14 004E7821 */ addu $t7, $v0, $t6 -/* 0BF818 800BEC18 C5E40000 */ lwc1 $f4, ($t7) -/* 0BF81C 800BEC1C 8FB80070 */ lw $t8, 0x70($sp) -/* 0BF820 800BEC20 8FAF0074 */ lw $t7, 0x74($sp) -/* 0BF824 800BEC24 0018C880 */ sll $t9, $t8, 2 -/* 0BF828 800BEC28 46043280 */ add.s $f10, $f6, $f4 -/* 0BF82C 800BEC2C 00597021 */ addu $t6, $v0, $t9 -/* 0BF830 800BEC30 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 0BF834 800BEC34 000FC080 */ sll $t8, $t7, 2 -/* 0BF838 800BEC38 C5C60000 */ lwc1 $f6, ($t6) -/* 0BF83C 800BEC3C 0058C821 */ addu $t9, $v0, $t8 -/* 0BF840 800BEC40 460A4402 */ mul.s $f16, $f8, $f10 -/* 0BF844 800BEC44 C7240000 */ lwc1 $f4, ($t9) -/* 0BF848 800BEC48 8FAE0078 */ lw $t6, 0x78($sp) -/* 0BF84C 800BEC4C 8FB9007C */ lw $t9, 0x7c($sp) -/* 0BF850 800BEC50 000E7880 */ sll $t7, $t6, 2 -/* 0BF854 800BEC54 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 0BF858 800BEC58 46043200 */ add.s $f8, $f6, $f4 -/* 0BF85C 800BEC5C 004FC021 */ addu $t8, $v0, $t7 -/* 0BF860 800BEC60 00197080 */ sll $t6, $t9, 2 -/* 0BF864 800BEC64 46085302 */ mul.s $f12, $f10, $f8 -/* 0BF868 800BEC68 004E7821 */ addu $t7, $v0, $t6 -/* 0BF86C 800BEC6C C5E40000 */ lwc1 $f4, ($t7) -/* 0BF870 800BEC70 C7060000 */ lwc1 $f6, ($t8) -/* 0BF874 800BEC74 C7A80058 */ lwc1 $f8, 0x58($sp) -/* 0BF878 800BEC78 46043280 */ add.s $f10, $f6, $f4 -/* 0BF87C 800BEC7C 8FB800AC */ lw $t8, 0xac($sp) -/* 0BF880 800BEC80 460A4002 */ mul.s $f0, $f8, $f10 -/* 0BF884 800BEC84 13000007 */ beqz $t8, .L800BECA4 -/* 0BF888 800BEC88 00000000 */ nop -/* 0BF88C 800BEC8C 46008181 */ sub.s $f6, $f16, $f0 -/* 0BF890 800BEC90 46143082 */ mul.s $f2, $f6, $f20 -/* 0BF894 800BEC94 460C8101 */ sub.s $f4, $f16, $f12 -/* 0BF898 800BEC98 46162382 */ mul.s $f14, $f4, $f22 -/* 0BF89C 800BEC9C 10000006 */ b .L800BECB8 -/* 0BF8A0 800BECA0 00000000 */ nop -.L800BECA4: -/* 0BF8A4 800BECA4 46006201 */ sub.s $f8, $f12, $f0 -/* 0BF8A8 800BECA8 46144082 */ mul.s $f2, $f8, $f20 -/* 0BF8AC 800BECAC 46008281 */ sub.s $f10, $f16, $f0 -/* 0BF8B0 800BECB0 46165382 */ mul.s $f14, $f10, $f22 -/* 0BF8B4 800BECB4 00000000 */ nop -.L800BECB8: -/* 0BF8B8 800BECB8 46021182 */ mul.s $f6, $f2, $f2 -/* 0BF8BC 800BECBC C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0BF8C0 800BECC0 A7A700A2 */ sh $a3, 0xa2($sp) -/* 0BF8C4 800BECC4 A7A800A6 */ sh $t0, 0xa6($sp) -/* 0BF8C8 800BECC8 460E7282 */ mul.s $f10, $f14, $f14 -/* 0BF8CC 800BECCC 46043200 */ add.s $f8, $f6, $f4 -/* 0BF8D0 800BECD0 AFAA004C */ sw $t2, 0x4c($sp) -/* 0BF8D4 800BECD4 E7A2009C */ swc1 $f2, 0x9c($sp) -/* 0BF8D8 800BECD8 460A4300 */ add.s $f12, $f8, $f10 -/* 0BF8DC 800BECDC E7AE0094 */ swc1 $f14, 0x94($sp) -/* 0BF8E0 800BECE0 E7B000E0 */ swc1 $f16, 0xe0($sp) -/* 0BF8E4 800BECE4 0C0326B4 */ jal sqrtf -/* 0BF8E8 800BECE8 E7B20044 */ swc1 $f18, 0x44($sp) -/* 0BF8EC 800BECEC C7A2009C */ lwc1 $f2, 0x9c($sp) -/* 0BF8F0 800BECF0 C7AE0094 */ lwc1 $f14, 0x94($sp) -/* 0BF8F4 800BECF4 46001083 */ div.s $f2, $f2, $f0 -/* 0BF8F8 800BECF8 C7B20044 */ lwc1 $f18, 0x44($sp) -/* 0BF8FC 800BECFC C7A600EC */ lwc1 $f6, 0xec($sp) -/* 0BF900 800BED00 C7B000E0 */ lwc1 $f16, 0xe0($sp) -/* 0BF904 800BED04 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 0BF908 800BED08 87A800A6 */ lh $t0, 0xa6($sp) -/* 0BF90C 800BED0C 87A700A2 */ lh $a3, 0xa2($sp) -/* 0BF910 800BED10 8FAA004C */ lw $t2, 0x4c($sp) -/* 0BF914 800BED14 27A90068 */ addiu $t1, $sp, 0x68 -/* 0BF918 800BED18 00001825 */ move $v1, $zero -/* 0BF91C 800BED1C 3C048013 */ lui $a0, %hi(D_80129FC8 + 32) # $a0, 0x8013 -/* 0BF920 800BED20 00087023 */ negu $t6, $t0 -/* 0BF924 800BED24 46007383 */ div.s $f14, $f14, $f0 -/* 0BF928 800BED28 46061102 */ mul.s $f4, $f2, $f6 -/* 0BF92C 800BED2C C7A600E4 */ lwc1 $f6, 0xe4($sp) -/* 0BF930 800BED30 46009303 */ div.s $f12, $f18, $f0 -/* 0BF934 800BED34 46187202 */ mul.s $f8, $f14, $f24 -/* 0BF938 800BED38 46082280 */ add.s $f10, $f4, $f8 -/* 0BF93C 800BED3C 46023102 */ mul.s $f4, $f6, $f2 -/* 0BF940 800BED40 00000000 */ nop -/* 0BF944 800BED44 460C8202 */ mul.s $f8, $f16, $f12 -/* 0BF948 800BED48 46082180 */ add.s $f6, $f4, $f8 -/* 0BF94C 800BED4C 44814000 */ mtc1 $at, $f8 -/* 0BF950 800BED50 46065101 */ sub.s $f4, $f10, $f6 -/* 0BF954 800BED54 46082282 */ mul.s $f10, $f4, $f8 -/* 0BF958 800BED58 00000000 */ nop -/* 0BF95C 800BED5C 460C5183 */ div.s $f6, $f10, $f12 -/* 0BF960 800BED60 4459F800 */ cfc1 $t9, $31 -/* 0BF964 800BED64 00000000 */ nop -/* 0BF968 800BED68 37210003 */ ori $at, $t9, 3 -/* 0BF96C 800BED6C 38210002 */ xori $at, $at, 2 -/* 0BF970 800BED70 44C1F800 */ ctc1 $at, $31 -/* 0BF974 800BED74 00000000 */ nop -/* 0BF978 800BED78 46003124 */ cvt.w.s $f4, $f6 -/* 0BF97C 800BED7C 44022000 */ mfc1 $v0, $f4 -/* 0BF980 800BED80 44D9F800 */ ctc1 $t9, $31 -/* 0BF984 800BED84 00021023 */ negu $v0, $v0 -/* 0BF988 800BED88 0048082A */ slt $at, $v0, $t0 -/* 0BF98C 800BED8C 10200004 */ beqz $at, .L800BEDA0 -/* 0BF990 800BED90 00403025 */ move $a2, $v0 -/* 0BF994 800BED94 004E082A */ slt $at, $v0, $t6 -/* 0BF998 800BED98 1020001D */ beqz $at, .L800BEE10 -/* 0BF99C 800BED9C 00000000 */ nop -.L800BEDA0: -/* 0BF9A0 800BEDA0 01084021 */ addu $t0, $t0, $t0 -/* 0BF9A4 800BEDA4 00087C00 */ sll $t7, $t0, 0x10 -/* 0BF9A8 800BEDA8 000FC403 */ sra $t8, $t7, 0x10 -/* 0BF9AC 800BEDAC 24630001 */ addiu $v1, $v1, 1 -/* 0BF9B0 800BEDB0 0003CC00 */ sll $t9, $v1, 0x10 -/* 0BF9B4 800BEDB4 00D8082A */ slt $at, $a2, $t8 -/* 0BF9B8 800BEDB8 03004025 */ move $t0, $t8 -/* 0BF9BC 800BEDBC 1020FFF8 */ beqz $at, .L800BEDA0 -/* 0BF9C0 800BEDC0 00191C03 */ sra $v1, $t9, 0x10 -/* 0BF9C4 800BEDC4 00187823 */ negu $t7, $t8 -/* 0BF9C8 800BEDC8 00CF082A */ slt $at, $a2, $t7 -/* 0BF9CC 800BEDCC 1420FFF4 */ bnez $at, .L800BEDA0 -/* 0BF9D0 800BEDD0 00000000 */ nop -/* 0BF9D4 800BEDD4 18E0000A */ blez $a3, .L800BEE00 -/* 0BF9D8 800BEDD8 00002825 */ move $a1, $zero -.L800BEDDC: -/* 0BF9DC 800BEDDC 01451021 */ addu $v0, $t2, $a1 -/* 0BF9E0 800BEDE0 24A50001 */ addiu $a1, $a1, 1 -/* 0BF9E4 800BEDE4 8058000E */ lb $t8, 0xe($v0) -/* 0BF9E8 800BEDE8 00057400 */ sll $t6, $a1, 0x10 -/* 0BF9EC 800BEDEC 000E2C03 */ sra $a1, $t6, 0x10 -/* 0BF9F0 800BEDF0 00A7082A */ slt $at, $a1, $a3 -/* 0BF9F4 800BEDF4 0078C807 */ srav $t9, $t8, $v1 -/* 0BF9F8 800BEDF8 1420FFF8 */ bnez $at, .L800BEDDC -/* 0BF9FC 800BEDFC A059000E */ sb $t9, 0xe($v0) -.L800BEE00: -/* 0BFA00 800BEE00 91580002 */ lbu $t8, 2($t2) -/* 0BFA04 800BEE04 00000000 */ nop -/* 0BFA08 800BEE08 0303C821 */ addu $t9, $t8, $v1 -/* 0BFA0C 800BEE0C A1590002 */ sb $t9, 2($t2) -.L800BEE10: -/* 0BFA10 800BEE10 914E0002 */ lbu $t6, 2($t2) -/* 0BFA14 800BEE14 0147C021 */ addu $t8, $t2, $a3 -/* 0BFA18 800BEE18 01C67807 */ srav $t7, $a2, $t6 -/* 0BFA1C 800BEE1C A30F000E */ sb $t7, 0xe($t8) -/* 0BFA20 800BEE20 8C849FE8 */ lw $a0, %lo(D_80129FC8 + 32)($a0) -/* 0BFA24 800BEE24 00002825 */ move $a1, $zero -/* 0BFA28 800BEE28 0005C880 */ sll $t9, $a1, 2 -.L800BEE2C: -/* 0BFA2C 800BEE2C 01391821 */ addu $v1, $t1, $t9 -/* 0BFA30 800BEE30 8C6E0000 */ lw $t6, ($v1) -/* 0BFA34 800BEE34 24A50001 */ addiu $a1, $a1, 1 -/* 0BFA38 800BEE38 25C20002 */ addiu $v0, $t6, 2 -/* 0BFA3C 800BEE3C 0044082A */ slt $at, $v0, $a0 -/* 0BFA40 800BEE40 14200006 */ bnez $at, .L800BEE5C -/* 0BFA44 800BEE44 AC620000 */ sw $v0, ($v1) -.L800BEE48: -/* 0BFA48 800BEE48 0044C023 */ subu $t8, $v0, $a0 -/* 0BFA4C 800BEE4C 0304082A */ slt $at, $t8, $a0 -/* 0BFA50 800BEE50 AC780000 */ sw $t8, ($v1) -/* 0BFA54 800BEE54 1020FFFC */ beqz $at, .L800BEE48 -/* 0BFA58 800BEE58 03001025 */ move $v0, $t8 -.L800BEE5C: -/* 0BFA5C 800BEE5C 0005CC00 */ sll $t9, $a1, 0x10 -/* 0BFA60 800BEE60 00192C03 */ sra $a1, $t9, 0x10 -/* 0BFA64 800BEE64 28A10006 */ slti $at, $a1, 6 -/* 0BFA68 800BEE68 1420FFF0 */ bnez $at, .L800BEE2C -/* 0BFA6C 800BEE6C 0005C880 */ sll $t9, $a1, 2 -/* 0BFA70 800BEE70 24E70001 */ addiu $a3, $a3, 1 -/* 0BFA74 800BEE74 00077C00 */ sll $t7, $a3, 0x10 -/* 0BFA78 800BEE78 000F3C03 */ sra $a3, $t7, 0x10 -/* 0BFA7C 800BEE7C 0004C843 */ sra $t9, $a0, 1 -/* 0BFA80 800BEE80 00F9082A */ slt $at, $a3, $t9 -/* 0BFA84 800BEE84 1420FF5C */ bnez $at, .L800BEBF8 -/* 0BFA88 800BEE88 8FAE0068 */ lw $t6, 0x68($sp) -.L800BEE8C: -/* 0BFA8C 800BEE8C 8FBF002C */ lw $ra, 0x2c($sp) -.L800BEE90: -/* 0BFA90 800BEE90 C7B50010 */ lwc1 $f21, 0x10($sp) -/* 0BFA94 800BEE94 C7B40014 */ lwc1 $f20, 0x14($sp) -/* 0BFA98 800BEE98 C7B70018 */ lwc1 $f23, 0x18($sp) -/* 0BFA9C 800BEE9C C7B6001C */ lwc1 $f22, 0x1c($sp) -/* 0BFAA0 800BEEA0 C7B90020 */ lwc1 $f25, 0x20($sp) -/* 0BFAA4 800BEEA4 C7B80024 */ lwc1 $f24, 0x24($sp) -/* 0BFAA8 800BEEA8 27BD00E8 */ addiu $sp, $sp, 0xe8 -/* 0BFAAC 800BEEAC 03E00008 */ jr $ra -/* 0BFAB0 800BEEB0 01401025 */ move $v0, $t2 - diff --git a/asm/non_matchings/weather/render_rain_overlay.s b/asm/non_matchings/weather/render_rain_overlay.s deleted file mode 100644 index ec10a921..00000000 --- a/asm/non_matchings/weather/render_rain_overlay.s +++ /dev/null @@ -1,370 +0,0 @@ -glabel render_rain_overlay -/* 0AE8BC 800ADCBC 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 0AE8C0 800ADCC0 AFBF0044 */ sw $ra, 0x44($sp) -/* 0AE8C4 800ADCC4 AFB30040 */ sw $s3, 0x40($sp) -/* 0AE8C8 800ADCC8 AFB2003C */ sw $s2, 0x3c($sp) -/* 0AE8CC 800ADCCC AFB10038 */ sw $s1, 0x38($sp) -/* 0AE8D0 800ADCD0 AFB00034 */ sw $s0, 0x34($sp) -/* 0AE8D4 800ADCD4 E7BB0028 */ swc1 $f27, 0x28($sp) -/* 0AE8D8 800ADCD8 E7BA002C */ swc1 $f26, 0x2c($sp) -/* 0AE8DC 800ADCDC E7B90020 */ swc1 $f25, 0x20($sp) -/* 0AE8E0 800ADCE0 E7B80024 */ swc1 $f24, 0x24($sp) -/* 0AE8E4 800ADCE4 E7B70018 */ swc1 $f23, 0x18($sp) -/* 0AE8E8 800ADCE8 E7B6001C */ swc1 $f22, 0x1c($sp) -/* 0AE8EC 800ADCEC E7B50010 */ swc1 $f21, 0x10($sp) -/* 0AE8F0 800ADCF0 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0AE8F4 800ADCF4 AFA500A4 */ sw $a1, 0xa4($sp) -/* 0AE8F8 800ADCF8 8C82000C */ lw $v0, 0xc($a0) -/* 0AE8FC 800ADCFC 00808025 */ move $s0, $a0 -/* 0AE900 800ADD00 1040014A */ beqz $v0, .L800AE22C -/* 0AE904 800ADD04 8FBF0044 */ lw $ra, 0x44($sp) -/* 0AE908 800ADD08 90510000 */ lbu $s1, ($v0) -/* 0AE90C 800ADD0C 90520001 */ lbu $s2, 1($v0) -/* 0AE910 800ADD10 00117140 */ sll $t6, $s1, 5 -/* 0AE914 800ADD14 00127940 */ sll $t7, $s2, 5 -/* 0AE918 800ADD18 000E1840 */ sll $v1, $t6, 1 -/* 0AE91C 800ADD1C 000FC040 */ sll $t8, $t7, 1 -/* 0AE920 800ADD20 2463FFFF */ addiu $v1, $v1, -1 -/* 0AE924 800ADD24 2719FFFF */ addiu $t9, $t8, -1 -/* 0AE928 800ADD28 AFA3008C */ sw $v1, 0x8c($sp) -/* 0AE92C 800ADD2C AFB90088 */ sw $t9, 0x88($sp) -/* 0AE930 800ADD30 848D0008 */ lh $t5, 8($a0) -/* 0AE934 800ADD34 00409825 */ move $s3, $v0 -/* 0AE938 800ADD38 01A50019 */ multu $t5, $a1 -/* 0AE93C 800ADD3C 01C08825 */ move $s1, $t6 -/* 0AE940 800ADD40 01E09025 */ move $s2, $t7 -/* 0AE944 800ADD44 AFA3004C */ sw $v1, 0x4c($sp) -/* 0AE948 800ADD48 00002012 */ mflo $a0 -/* 0AE94C 800ADD4C 0C00322D */ jal normalise_time -/* 0AE950 800ADD50 00000000 */ nop -/* 0AE954 800ADD54 860F0000 */ lh $t7, ($s0) -/* 0AE958 800ADD58 8FA3004C */ lw $v1, 0x4c($sp) -/* 0AE95C 800ADD5C 004FC021 */ addu $t8, $v0, $t7 -/* 0AE960 800ADD60 0303C824 */ and $t9, $t8, $v1 -/* 0AE964 800ADD64 A6190000 */ sh $t9, ($s0) -/* 0AE968 800ADD68 8FAE00A4 */ lw $t6, 0xa4($sp) -/* 0AE96C 800ADD6C 860D000A */ lh $t5, 0xa($s0) -/* 0AE970 800ADD70 00000000 */ nop -/* 0AE974 800ADD74 01AE0019 */ multu $t5, $t6 -/* 0AE978 800ADD78 00002012 */ mflo $a0 -/* 0AE97C 800ADD7C 0C00322D */ jal normalise_time -/* 0AE980 800ADD80 00000000 */ nop -/* 0AE984 800ADD84 860E0004 */ lh $t6, 4($s0) -/* 0AE988 800ADD88 860F0002 */ lh $t7, 2($s0) -/* 0AE98C 800ADD8C 01D10019 */ multu $t6, $s1 -/* 0AE990 800ADD90 8FB90088 */ lw $t9, 0x88($sp) -/* 0AE994 800ADD94 004FC021 */ addu $t8, $v0, $t7 -/* 0AE998 800ADD98 03196824 */ and $t5, $t8, $t9 -/* 0AE99C 800ADD9C 86180006 */ lh $t8, 6($s0) -/* 0AE9A0 800ADDA0 A60D0002 */ sh $t5, 2($s0) -/* 0AE9A4 800ADDA4 3C0D800E */ lui $t5, %hi(gRainOpacity) # $t5, 0x800e -/* 0AE9A8 800ADDA8 8DAD2C6C */ lw $t5, %lo(gRainOpacity)($t5) -/* 0AE9AC 800ADDAC 3C028012 */ lui $v0, %hi(gWeatherCamera) # $v0, 0x8012 -/* 0AE9B0 800ADDB0 000D7083 */ sra $t6, $t5, 2 -/* 0AE9B4 800ADDB4 00008812 */ mflo $s1 -/* 0AE9B8 800ADDB8 00117A03 */ sra $t7, $s1, 8 -/* 0AE9BC 800ADDBC 01E08825 */ move $s1, $t7 -/* 0AE9C0 800ADDC0 03120019 */ multu $t8, $s2 -/* 0AE9C4 800ADDC4 3C0F800E */ lui $t7, %hi(gLightningFrequency) # $t7, 0x800e -/* 0AE9C8 800ADDC8 8DEF2C60 */ lw $t7, %lo(gLightningFrequency)($t7) -/* 0AE9CC 800ADDCC 00009012 */ mflo $s2 -/* 0AE9D0 800ADDD0 0012CA03 */ sra $t9, $s2, 8 -/* 0AE9D4 800ADDD4 03209025 */ move $s2, $t9 -/* 0AE9D8 800ADDD8 01CF0019 */ multu $t6, $t7 -/* 0AE9DC 800ADDDC 92190016 */ lbu $t9, 0x16($s0) -/* 0AE9E0 800ADDE0 00117080 */ sll $t6, $s1, 2 -/* 0AE9E4 800ADDE4 00001812 */ mflo $v1 -/* 0AE9E8 800ADDE8 0003C383 */ sra $t8, $v1, 0xe -/* 0AE9EC 800ADDEC 00000000 */ nop -/* 0AE9F0 800ADDF0 03380019 */ multu $t9, $t8 -/* 0AE9F4 800ADDF4 00001812 */ mflo $v1 -/* 0AE9F8 800ADDF8 00036C03 */ sra $t5, $v1, 0x10 -/* 0AE9FC 800ADDFC 19A0010A */ blez $t5, .L800AE228 -/* 0AEA00 800ADE00 01A01825 */ move $v1, $t5 -/* 0AEA04 800ADE04 8C427C1C */ lw $v0, %lo(gWeatherCamera)($v0) -/* 0AEA08 800ADE08 01D17023 */ subu $t6, $t6, $s1 -/* 0AEA0C 800ADE0C 844F0000 */ lh $t7, ($v0) -/* 0AEA10 800ADE10 000E7040 */ sll $t6, $t6, 1 -/* 0AEA14 800ADE14 01CF0019 */ multu $t6, $t7 -/* 0AEA18 800ADE18 860D0000 */ lh $t5, ($s0) -/* 0AEA1C 800ADE1C 860A0002 */ lh $t2, 2($s0) -/* 0AEA20 800ADE20 8FAF008C */ lw $t7, 0x8c($sp) -/* 0AEA24 800ADE24 84440004 */ lh $a0, 4($v0) -/* 0AEA28 800ADE28 AFA30084 */ sw $v1, 0x84($sp) -/* 0AEA2C 800ADE2C 024A9021 */ addu $s2, $s2, $t2 -/* 0AEA30 800ADE30 AFAA0098 */ sw $t2, 0x98($sp) -/* 0AEA34 800ADE34 0000C012 */ mflo $t8 -/* 0AEA38 800ADE38 0018CC03 */ sra $t9, $t8, 0x10 -/* 0AEA3C 800ADE3C 01B97021 */ addu $t6, $t5, $t9 -/* 0AEA40 800ADE40 01CF4024 */ and $t0, $t6, $t7 -/* 0AEA44 800ADE44 02288821 */ addu $s1, $s1, $t0 -/* 0AEA48 800ADE48 0C01C1F1 */ jal sins_f -/* 0AEA4C 800ADE4C AFA8009C */ sw $t0, 0x9c($sp) -/* 0AEA50 800ADE50 3C188012 */ lui $t8, %hi(gWeatherCamera) # $t8, 0x8012 -/* 0AEA54 800ADE54 8F187C1C */ lw $t8, %lo(gWeatherCamera)($t8) -/* 0AEA58 800ADE58 00000000 */ nop -/* 0AEA5C 800ADE5C 87040004 */ lh $a0, 4($t8) -/* 0AEA60 800ADE60 0C01C1FE */ jal coss_f -/* 0AEA64 800ADE64 E7A0007C */ swc1 $f0, 0x7c($sp) -/* 0AEA68 800ADE68 3C01800E */ lui $at, %hi(D_800E2A8C) # $at, 0x800e -/* 0AEA6C 800ADE6C C42C2A8C */ lwc1 $f12, %lo(D_800E2A8C)($at) -/* 0AEA70 800ADE70 3C01800E */ lui $at, %hi(D_800E2A9C) # $at, 0x800e -/* 0AEA74 800ADE74 46006102 */ mul.s $f4, $f12, $f0 -/* 0AEA78 800ADE78 C7A2007C */ lwc1 $f2, 0x7c($sp) -/* 0AEA7C 800ADE7C C42E2A90 */ lwc1 $f14, %lo(D_800E2A90)($at) -/* 0AEA80 800ADE80 C4302A94 */ lwc1 $f16, %lo(D_800E2A94)($at) -/* 0AEA84 800ADE84 46027182 */ mul.s $f6, $f14, $f2 -/* 0AEA88 800ADE88 C4322A98 */ lwc1 $f18, %lo(D_800E2A98)($at) -/* 0AEA8C 800ADE8C C4342A9C */ lwc1 $f20, %lo(D_800E2A9C)($at) -/* 0AEA90 800ADE90 3C01800E */ lui $at, %hi(D_800E2AA8) # $at, 0x800e -/* 0AEA94 800ADE94 46062201 */ sub.s $f8, $f4, $f6 -/* 0AEA98 800ADE98 C4362AA0 */ lwc1 $f22, %lo(D_800E2AA0)($at) -/* 0AEA9C 800ADE9C 444EF800 */ cfc1 $t6, $31 -/* 0AEAA0 800ADEA0 C4382AA4 */ lwc1 $f24, %lo(D_800E2AA4)($at) -/* 0AEAA4 800ADEA4 C43A2AA8 */ lwc1 $f26, %lo(D_800E2AA8)($at) -/* 0AEAA8 800ADEA8 35C10003 */ ori $at, $t6, 3 -/* 0AEAAC 800ADEAC 38210002 */ xori $at, $at, 2 -/* 0AEAB0 800ADEB0 44C1F800 */ ctc1 $at, $31 -/* 0AEAB4 800ADEB4 3C09800E */ lui $t1, %hi(gRainVertexFlip) # $t1, 0x800e -/* 0AEAB8 800ADEB8 460042A4 */ cvt.w.s $f10, $f8 -/* 0AEABC 800ADEBC 25292C90 */ addiu $t1, %lo(gRainVertexFlip) # addiu $t1, $t1, 0x2c90 -/* 0AEAC0 800ADEC0 44CEF800 */ ctc1 $t6, $31 -/* 0AEAC4 800ADEC4 440F5000 */ mfc1 $t7, $f10 -/* 0AEAC8 800ADEC8 46026102 */ mul.s $f4, $f12, $f2 -/* 0AEACC 800ADECC 8D2D0000 */ lw $t5, ($t1) -/* 0AEAD0 800ADED0 3C0B800E */ lui $t3, %hi(gRainVertices) # $t3, 0x800e -/* 0AEAD4 800ADED4 000DC880 */ sll $t9, $t5, 2 -/* 0AEAD8 800ADED8 46007182 */ mul.s $f6, $f14, $f0 -/* 0AEADC 800ADEDC 032DC821 */ addu $t9, $t9, $t5 -/* 0AEAE0 800ADEE0 256B2AAC */ addiu $t3, %lo(gRainVertices) # addiu $t3, $t3, 0x2aac -/* 0AEAE4 800ADEE4 0019C840 */ sll $t9, $t9, 1 -/* 0AEAE8 800ADEE8 46062200 */ add.s $f8, $f4, $f6 -/* 0AEAEC 800ADEEC 01791021 */ addu $v0, $t3, $t9 -/* 0AEAF0 800ADEF0 4458F800 */ cfc1 $t8, $31 -/* 0AEAF4 800ADEF4 A44F0000 */ sh $t7, ($v0) -/* 0AEAF8 800ADEF8 37010003 */ ori $at, $t8, 3 -/* 0AEAFC 800ADEFC 38210002 */ xori $at, $at, 2 -/* 0AEB00 800ADF00 44C1F800 */ ctc1 $at, $31 -/* 0AEB04 800ADF04 3C0C8012 */ lui $t4, %hi(gCurrWeatherTriList) # $t4, 0x8012 -/* 0AEB08 800ADF08 460042A4 */ cvt.w.s $f10, $f8 -/* 0AEB0C 800ADF0C 258C7C18 */ addiu $t4, %lo(gCurrWeatherTriList) # addiu $t4, $t4, 0x7c18 -/* 0AEB10 800ADF10 44D8F800 */ ctc1 $t8, $31 -/* 0AEB14 800ADF14 440D5000 */ mfc1 $t5, $f10 -/* 0AEB18 800ADF18 46008102 */ mul.s $f4, $f16, $f0 -/* 0AEB1C 800ADF1C A44D0002 */ sh $t5, 2($v0) -/* 0AEB20 800ADF20 8FAA0098 */ lw $t2, 0x98($sp) -/* 0AEB24 800ADF24 8FA30084 */ lw $v1, 0x84($sp) -/* 0AEB28 800ADF28 46029182 */ mul.s $f6, $f18, $f2 -/* 0AEB2C 800ADF2C 8FA8009C */ lw $t0, 0x9c($sp) -/* 0AEB30 800ADF30 27A40068 */ addiu $a0, $sp, 0x68 -/* 0AEB34 800ADF34 00002825 */ move $a1, $zero -/* 0AEB38 800ADF38 46062201 */ sub.s $f8, $f4, $f6 -/* 0AEB3C 800ADF3C 4459F800 */ cfc1 $t9, $31 -/* 0AEB40 800ADF40 00000000 */ nop -/* 0AEB44 800ADF44 37210003 */ ori $at, $t9, 3 -/* 0AEB48 800ADF48 38210002 */ xori $at, $at, 2 -/* 0AEB4C 800ADF4C 44C1F800 */ ctc1 $at, $31 -/* 0AEB50 800ADF50 00000000 */ nop -/* 0AEB54 800ADF54 460042A4 */ cvt.w.s $f10, $f8 -/* 0AEB58 800ADF58 44D9F800 */ ctc1 $t9, $31 -/* 0AEB5C 800ADF5C 440E5000 */ mfc1 $t6, $f10 -/* 0AEB60 800ADF60 46028102 */ mul.s $f4, $f16, $f2 -/* 0AEB64 800ADF64 A44E000A */ sh $t6, 0xa($v0) -/* 0AEB68 800ADF68 46009182 */ mul.s $f6, $f18, $f0 -/* 0AEB6C 800ADF6C 46062200 */ add.s $f8, $f4, $f6 -/* 0AEB70 800ADF70 444FF800 */ cfc1 $t7, $31 -/* 0AEB74 800ADF74 00000000 */ nop -/* 0AEB78 800ADF78 35E10003 */ ori $at, $t7, 3 -/* 0AEB7C 800ADF7C 38210002 */ xori $at, $at, 2 -/* 0AEB80 800ADF80 44C1F800 */ ctc1 $at, $31 -/* 0AEB84 800ADF84 00000000 */ nop -/* 0AEB88 800ADF88 460042A4 */ cvt.w.s $f10, $f8 -/* 0AEB8C 800ADF8C 44CFF800 */ ctc1 $t7, $31 -/* 0AEB90 800ADF90 44185000 */ mfc1 $t8, $f10 -/* 0AEB94 800ADF94 4600A102 */ mul.s $f4, $f20, $f0 -/* 0AEB98 800ADF98 A458000C */ sh $t8, 0xc($v0) -/* 0AEB9C 800ADF9C 4602B182 */ mul.s $f6, $f22, $f2 -/* 0AEBA0 800ADFA0 46062201 */ sub.s $f8, $f4, $f6 -/* 0AEBA4 800ADFA4 444DF800 */ cfc1 $t5, $31 -/* 0AEBA8 800ADFA8 00000000 */ nop -/* 0AEBAC 800ADFAC 35A10003 */ ori $at, $t5, 3 -/* 0AEBB0 800ADFB0 38210002 */ xori $at, $at, 2 -/* 0AEBB4 800ADFB4 44C1F800 */ ctc1 $at, $31 -/* 0AEBB8 800ADFB8 00000000 */ nop -/* 0AEBBC 800ADFBC 460042A4 */ cvt.w.s $f10, $f8 -/* 0AEBC0 800ADFC0 44CDF800 */ ctc1 $t5, $31 -/* 0AEBC4 800ADFC4 44195000 */ mfc1 $t9, $f10 -/* 0AEBC8 800ADFC8 4602A102 */ mul.s $f4, $f20, $f2 -/* 0AEBCC 800ADFCC A4590014 */ sh $t9, 0x14($v0) -/* 0AEBD0 800ADFD0 4600B182 */ mul.s $f6, $f22, $f0 -/* 0AEBD4 800ADFD4 46062200 */ add.s $f8, $f4, $f6 -/* 0AEBD8 800ADFD8 444EF800 */ cfc1 $t6, $31 -/* 0AEBDC 800ADFDC 00000000 */ nop -/* 0AEBE0 800ADFE0 35C10003 */ ori $at, $t6, 3 -/* 0AEBE4 800ADFE4 38210002 */ xori $at, $at, 2 -/* 0AEBE8 800ADFE8 44C1F800 */ ctc1 $at, $31 -/* 0AEBEC 800ADFEC 00000000 */ nop -/* 0AEBF0 800ADFF0 460042A4 */ cvt.w.s $f10, $f8 -/* 0AEBF4 800ADFF4 44CEF800 */ ctc1 $t6, $31 -/* 0AEBF8 800ADFF8 440F5000 */ mfc1 $t7, $f10 -/* 0AEBFC 800ADFFC 4600C102 */ mul.s $f4, $f24, $f0 -/* 0AEC00 800AE000 A44F0016 */ sh $t7, 0x16($v0) -/* 0AEC04 800AE004 3C0F8012 */ lui $t7, %hi(gCurrWeatherDisplayList) # $t7, 0x8012 -/* 0AEC08 800AE008 4602D182 */ mul.s $f6, $f26, $f2 -/* 0AEC0C 800AE00C 46062201 */ sub.s $f8, $f4, $f6 -/* 0AEC10 800AE010 4458F800 */ cfc1 $t8, $31 -/* 0AEC14 800AE014 00000000 */ nop -/* 0AEC18 800AE018 37010003 */ ori $at, $t8, 3 -/* 0AEC1C 800AE01C 38210002 */ xori $at, $at, 2 -/* 0AEC20 800AE020 44C1F800 */ ctc1 $at, $31 -/* 0AEC24 800AE024 00000000 */ nop -/* 0AEC28 800AE028 460042A4 */ cvt.w.s $f10, $f8 -/* 0AEC2C 800AE02C 44D8F800 */ ctc1 $t8, $31 -/* 0AEC30 800AE030 440D5000 */ mfc1 $t5, $f10 -/* 0AEC34 800AE034 4602C102 */ mul.s $f4, $f24, $f2 -/* 0AEC38 800AE038 A44D001E */ sh $t5, 0x1e($v0) -/* 0AEC3C 800AE03C 3C184000 */ lui $t8, (0x40000102 >> 16) # lui $t8, 0x4000 -/* 0AEC40 800AE040 3C0D4002 */ lui $t5, (0x40020300 >> 16) # lui $t5, 0x4002 -/* 0AEC44 800AE044 4600D182 */ mul.s $f6, $f26, $f0 -/* 0AEC48 800AE048 37180102 */ ori $t8, (0x40000102 & 0xFFFF) # ori $t8, $t8, 0x102 -/* 0AEC4C 800AE04C 35AD0300 */ ori $t5, (0x40020300 & 0xFFFF) # ori $t5, $t5, 0x300 -/* 0AEC50 800AE050 46062200 */ add.s $f8, $f4, $f6 -/* 0AEC54 800AE054 4459F800 */ cfc1 $t9, $31 -/* 0AEC58 800AE058 00000000 */ nop -/* 0AEC5C 800AE05C 37210003 */ ori $at, $t9, 3 -/* 0AEC60 800AE060 38210002 */ xori $at, $at, 2 -/* 0AEC64 800AE064 44C1F800 */ ctc1 $at, $31 -/* 0AEC68 800AE068 00000000 */ nop -/* 0AEC6C 800AE06C 460042A4 */ cvt.w.s $f10, $f8 -/* 0AEC70 800AE070 440E5000 */ mfc1 $t6, $f10 -/* 0AEC74 800AE074 44D9F800 */ ctc1 $t9, $31 -/* 0AEC78 800AE078 A44E0020 */ sh $t6, 0x20($v0) -/* 0AEC7C 800AE07C 8DEF7C0C */ lw $t7, %lo(gCurrWeatherDisplayList)($t7) -/* 0AEC80 800AE080 8D820000 */ lw $v0, ($t4) -/* 0AEC84 800AE084 AFAF0068 */ sw $t7, 0x68($sp) -/* 0AEC88 800AE088 AC580000 */ sw $t8, ($v0) -/* 0AEC8C 800AE08C A4480004 */ sh $t0, 4($v0) -/* 0AEC90 800AE090 A44A0006 */ sh $t2, 6($v0) -/* 0AEC94 800AE094 A4510008 */ sh $s1, 8($v0) -/* 0AEC98 800AE098 A44A000A */ sh $t2, 0xa($v0) -/* 0AEC9C 800AE09C A451000C */ sh $s1, 0xc($v0) -/* 0AECA0 800AE0A0 A452000E */ sh $s2, 0xe($v0) -/* 0AECA4 800AE0A4 AC4D0010 */ sw $t5, 0x10($v0) -/* 0AECA8 800AE0A8 A4510014 */ sh $s1, 0x14($v0) -/* 0AECAC 800AE0AC A4520016 */ sh $s2, 0x16($v0) -/* 0AECB0 800AE0B0 A4480018 */ sh $t0, 0x18($v0) -/* 0AECB4 800AE0B4 A452001A */ sh $s2, 0x1a($v0) -/* 0AECB8 800AE0B8 A448001C */ sh $t0, 0x1c($v0) -/* 0AECBC 800AE0BC A44A001E */ sh $t2, 0x1e($v0) -/* 0AECC0 800AE0C0 92190010 */ lbu $t9, 0x10($s0) -/* 0AECC4 800AE0C4 920F0011 */ lbu $t7, 0x11($s0) -/* 0AECC8 800AE0C8 00197600 */ sll $t6, $t9, 0x18 -/* 0AECCC 800AE0CC 92190012 */ lbu $t9, 0x12($s0) -/* 0AECD0 800AE0D0 000FC400 */ sll $t8, $t7, 0x10 -/* 0AECD4 800AE0D4 01D86825 */ or $t5, $t6, $t8 -/* 0AECD8 800AE0D8 00197A00 */ sll $t7, $t9, 8 -/* 0AECDC 800AE0DC 92180013 */ lbu $t8, 0x13($s0) -/* 0AECE0 800AE0E0 01AF7025 */ or $t6, $t5, $t7 -/* 0AECE4 800AE0E4 920D0014 */ lbu $t5, 0x14($s0) -/* 0AECE8 800AE0E8 0018CE00 */ sll $t9, $t8, 0x18 -/* 0AECEC 800AE0EC 92180015 */ lbu $t8, 0x15($s0) -/* 0AECF0 800AE0F0 000D7C00 */ sll $t7, $t5, 0x10 -/* 0AECF4 800AE0F4 01C33025 */ or $a2, $t6, $v1 -/* 0AECF8 800AE0F8 032F7025 */ or $t6, $t9, $t7 -/* 0AECFC 800AE0FC 24420020 */ addiu $v0, $v0, 0x20 -/* 0AED00 800AE100 00186A00 */ sll $t5, $t8, 8 -/* 0AED04 800AE104 01CD3825 */ or $a3, $t6, $t5 -/* 0AED08 800AE108 0C01FD65 */ jal func_8007F594 -/* 0AED0C 800AE10C AFA20064 */ sw $v0, 0x64($sp) -/* 0AED10 800AE110 8FA30068 */ lw $v1, 0x68($sp) -/* 0AED14 800AE114 3C010700 */ lui $at, 0x700 -/* 0AED18 800AE118 246F0008 */ addiu $t7, $v1, 8 -/* 0AED1C 800AE11C AFAF0068 */ sw $t7, 0x68($sp) -/* 0AED20 800AE120 8664000A */ lh $a0, 0xa($s3) -/* 0AED24 800AE124 8FA20064 */ lw $v0, 0x64($sp) -/* 0AED28 800AE128 309800FF */ andi $t8, $a0, 0xff -/* 0AED2C 800AE12C 00187400 */ sll $t6, $t8, 0x10 -/* 0AED30 800AE130 0004C8C0 */ sll $t9, $a0, 3 -/* 0AED34 800AE134 332FFFFF */ andi $t7, $t9, 0xffff -/* 0AED38 800AE138 01C16825 */ or $t5, $t6, $at -/* 0AED3C 800AE13C 01AFC025 */ or $t8, $t5, $t7 -/* 0AED40 800AE140 AC780000 */ sw $t8, ($v1) -/* 0AED44 800AE144 8E6E000C */ lw $t6, 0xc($s3) -/* 0AED48 800AE148 3C088000 */ lui $t0, 0x8000 -/* 0AED4C 800AE14C 3C09800E */ lui $t1, %hi(gRainVertexFlip) # $t1, 0x800e -/* 0AED50 800AE150 01C8C821 */ addu $t9, $t6, $t0 -/* 0AED54 800AE154 25292C90 */ addiu $t1, %lo(gRainVertexFlip) # addiu $t1, $t1, 0x2c90 -/* 0AED58 800AE158 AC790004 */ sw $t9, 4($v1) -/* 0AED5C 800AE15C 8D380000 */ lw $t8, ($t1) -/* 0AED60 800AE160 240A000A */ li $t2, 10 -/* 0AED64 800AE164 030A0019 */ multu $t8, $t2 -/* 0AED68 800AE168 8FA50068 */ lw $a1, 0x68($sp) -/* 0AED6C 800AE16C 3C0B800E */ lui $t3, %hi(gRainVertices) # $t3, 0x800e -/* 0AED70 800AE170 256B2AAC */ addiu $t3, %lo(gRainVertices) # addiu $t3, $t3, 0x2aac -/* 0AED74 800AE174 24AF0008 */ addiu $t7, $a1, 8 -/* 0AED78 800AE178 AFAF0068 */ sw $t7, 0x68($sp) -/* 0AED7C 800AE17C 3C010400 */ lui $at, 0x400 -/* 0AED80 800AE180 3C0C8012 */ lui $t4, %hi(gCurrWeatherTriList) # $t4, 0x8012 -/* 0AED84 800AE184 258C7C18 */ addiu $t4, %lo(gCurrWeatherTriList) # addiu $t4, $t4, 0x7c18 -/* 0AED88 800AE188 00007012 */ mflo $t6 -/* 0AED8C 800AE18C 016EC821 */ addu $t9, $t3, $t6 -/* 0AED90 800AE190 03286821 */ addu $t5, $t9, $t0 -/* 0AED94 800AE194 31AF0006 */ andi $t7, $t5, 6 -/* 0AED98 800AE198 35F80018 */ ori $t8, $t7, 0x18 -/* 0AED9C 800AE19C 330E00FF */ andi $t6, $t8, 0xff -/* 0AEDA0 800AE1A0 000ECC00 */ sll $t9, $t6, 0x10 -/* 0AEDA4 800AE1A4 03216825 */ or $t5, $t9, $at -/* 0AEDA8 800AE1A8 35AF0050 */ ori $t7, $t5, 0x50 -/* 0AEDAC 800AE1AC ACAF0000 */ sw $t7, ($a1) -/* 0AEDB0 800AE1B0 8D380000 */ lw $t8, ($t1) -/* 0AEDB4 800AE1B4 3C018012 */ lui $at, %hi(gCurrWeatherDisplayList) # $at, 0x8012 -/* 0AEDB8 800AE1B8 030A0019 */ multu $t8, $t2 -/* 0AEDBC 800AE1BC 00007012 */ mflo $t6 -/* 0AEDC0 800AE1C0 016EC821 */ addu $t9, $t3, $t6 -/* 0AEDC4 800AE1C4 03286821 */ addu $t5, $t9, $t0 -/* 0AEDC8 800AE1C8 ACAD0004 */ sw $t5, 4($a1) -/* 0AEDCC 800AE1CC 8FAF0068 */ lw $t7, 0x68($sp) -/* 0AEDD0 800AE1D0 3C0E0511 */ lui $t6, (0x05110020 >> 16) # lui $t6, 0x511 -/* 0AEDD4 800AE1D4 25F80008 */ addiu $t8, $t7, 8 -/* 0AEDD8 800AE1D8 AFB80068 */ sw $t8, 0x68($sp) -/* 0AEDDC 800AE1DC 35CE0020 */ ori $t6, (0x05110020 & 0xFFFF) # ori $t6, $t6, 0x20 -/* 0AEDE0 800AE1E0 ADEE0000 */ sw $t6, ($t7) -/* 0AEDE4 800AE1E4 8D990000 */ lw $t9, ($t4) -/* 0AEDE8 800AE1E8 3C0EE700 */ lui $t6, 0xe700 -/* 0AEDEC 800AE1EC 03286821 */ addu $t5, $t9, $t0 -/* 0AEDF0 800AE1F0 ADED0004 */ sw $t5, 4($t7) -/* 0AEDF4 800AE1F4 8FAF0068 */ lw $t7, 0x68($sp) -/* 0AEDF8 800AE1F8 00000000 */ nop -/* 0AEDFC 800AE1FC 25F80008 */ addiu $t8, $t7, 8 -/* 0AEE00 800AE200 AFB80068 */ sw $t8, 0x68($sp) -/* 0AEE04 800AE204 ADE00004 */ sw $zero, 4($t7) -/* 0AEE08 800AE208 ADEE0000 */ sw $t6, ($t7) -/* 0AEE0C 800AE20C 8D390000 */ lw $t9, ($t1) -/* 0AEE10 800AE210 8FB80068 */ lw $t8, 0x68($sp) -/* 0AEE14 800AE214 272D0004 */ addiu $t5, $t9, 4 -/* 0AEE18 800AE218 31AF000F */ andi $t7, $t5, 0xf -/* 0AEE1C 800AE21C AD2F0000 */ sw $t7, ($t1) -/* 0AEE20 800AE220 AC387C0C */ sw $t8, %lo(gCurrWeatherDisplayList)($at) -/* 0AEE24 800AE224 AD820000 */ sw $v0, ($t4) -.L800AE228: -/* 0AEE28 800AE228 8FBF0044 */ lw $ra, 0x44($sp) -.L800AE22C: -/* 0AEE2C 800AE22C C7B50010 */ lwc1 $f21, 0x10($sp) -/* 0AEE30 800AE230 C7B40014 */ lwc1 $f20, 0x14($sp) -/* 0AEE34 800AE234 C7B70018 */ lwc1 $f23, 0x18($sp) -/* 0AEE38 800AE238 C7B6001C */ lwc1 $f22, 0x1c($sp) -/* 0AEE3C 800AE23C C7B90020 */ lwc1 $f25, 0x20($sp) -/* 0AEE40 800AE240 C7B80024 */ lwc1 $f24, 0x24($sp) -/* 0AEE44 800AE244 C7BB0028 */ lwc1 $f27, 0x28($sp) -/* 0AEE48 800AE248 C7BA002C */ lwc1 $f26, 0x2c($sp) -/* 0AEE4C 800AE24C 8FB00034 */ lw $s0, 0x34($sp) -/* 0AEE50 800AE250 8FB10038 */ lw $s1, 0x38($sp) -/* 0AEE54 800AE254 8FB2003C */ lw $s2, 0x3c($sp) -/* 0AEE58 800AE258 8FB30040 */ lw $s3, 0x40($sp) -/* 0AEE5C 800AE25C 03E00008 */ jr $ra -/* 0AEE60 800AE260 27BD00A0 */ addiu $sp, $sp, 0xa0 - -/* 0AEE64 800AE264 00000000 */ nop -/* 0AEE68 800AE268 00000000 */ nop -/* 0AEE6C 800AE26C 00000000 */ nop - diff --git a/asm/object_animate.s b/asm/object_animate.s deleted file mode 100644 index 61922959..00000000 --- a/asm/object_animate.s +++ /dev/null @@ -1,383 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80061D30 */ - -.include "macros.inc" - -.set noat # allow manual use of $at -.set noreorder # dont insert nops after branches -.set gp=64 # 64-bit instructions are used - -glabel object_animate -/* 062930 80061D30 27BDFFF8 */ addiu $sp, $sp, -8 -/* 062934 80061D34 AFB10004 */ sw $s1, 4($sp) -/* 062938 80061D38 AFB00000 */ sw $s0, ($sp) -/* 06293C 80061D3C 8088003A */ lb $t0, 0x3a($a0) -/* 062940 80061D40 05030003 */ bgezl $t0, .L80061D50 -/* 062944 80061D44 8C890040 */ lw $t1, 0x40($a0) -/* 062948 80061D48 00004025 */ move $t0, $zero -/* 06294C 80061D4C 8C890040 */ lw $t1, 0x40($a0) -.L80061D50: -/* 062950 80061D50 812A0055 */ lb $t2, 0x55($t1) -/* 062954 80061D54 010A082A */ slt $at, $t0, $t2 -/* 062958 80061D58 54200003 */ bnezl $at, .L80061D68 -/* 06295C 80061D5C 8C890068 */ lw $t1, 0x68($a0) -/* 062960 80061D60 01404025 */ move $t0, $t2 -/* 062964 80061D64 8C890068 */ lw $t1, 0x68($a0) -.L80061D68: -/* 062968 80061D68 00084080 */ sll $t0, $t0, 2 -/* 06296C 80061D6C 01284820 */ add $t1, $t1, $t0 -/* 062970 80061D70 8D250000 */ lw $a1, ($t1) -/* 062974 80061D74 8CA60000 */ lw $a2, ($a1) -/* 062978 80061D78 8CC80044 */ lw $t0, 0x44($a2) -/* 06297C 80061D7C 55000004 */ bnezl $t0, .L80061D90 -/* 062980 80061D80 84990018 */ lh $t9, 0x18($a0) -/* 062984 80061D84 1000013D */ b .L8006227C -/* 062988 80061D88 00001025 */ move $v0, $zero -/* 06298C 80061D8C 84990018 */ lh $t9, 0x18($a0) -.L80061D90: -/* 062990 80061D90 84A80014 */ lh $t0, 0x14($a1) -/* 062994 80061D94 8087003B */ lb $a3, 0x3b($a0) -/* 062998 80061D98 17280006 */ bne $t9, $t0, .L80061DB4 -/* 06299C 80061D9C 00000000 */ nop -/* 0629A0 80061DA0 84A80010 */ lh $t0, 0x10($a1) -/* 0629A4 80061DA4 14E80003 */ bne $a3, $t0, .L80061DB4 -/* 0629A8 80061DA8 00000000 */ nop -/* 0629AC 80061DAC 10000133 */ b .L8006227C -/* 0629B0 80061DB0 00001025 */ move $v0, $zero -.L80061DB4: -/* 0629B4 80061DB4 04E30003 */ bgezl $a3, .L80061DC4 -/* 0629B8 80061DB8 84C80048 */ lh $t0, 0x48($a2) -/* 0629BC 80061DBC 00003825 */ move $a3, $zero -/* 0629C0 80061DC0 84C80048 */ lh $t0, 0x48($a2) -.L80061DC4: -/* 0629C4 80061DC4 00E8082A */ slt $at, $a3, $t0 -/* 0629C8 80061DC8 14200002 */ bnez $at, .L80061DD4 -/* 0629CC 80061DCC 00000000 */ nop -/* 0629D0 80061DD0 2507FFFF */ addiu $a3, $t0, -1 -.L80061DD4: -/* 0629D4 80061DD4 19000006 */ blez $t0, .L80061DF0 -/* 0629D8 80061DD8 00005025 */ move $t2, $zero -/* 0629DC 80061DDC 8CC90044 */ lw $t1, 0x44($a2) -/* 0629E0 80061DE0 000710C0 */ sll $v0, $a3, 3 -/* 0629E4 80061DE4 01224820 */ add $t1, $t1, $v0 -/* 0629E8 80061DE8 8D2A0004 */ lw $t2, 4($t1) -/* 0629EC 80061DEC 214AFFFE */ addi $t2, $t2, -2 -.L80061DF0: -/* 0629F0 80061DF0 00192102 */ srl $a0, $t9, 4 -/* 0629F4 80061DF4 04830004 */ bgezl $a0, .L80061E08 -/* 0629F8 80061DF8 0144082A */ slt $at, $t2, $a0 -/* 0629FC 80061DFC 0140C825 */ move $t9, $t2 -/* 062A00 80061E00 000A2102 */ srl $a0, $t2, 4 -/* 062A04 80061E04 0144082A */ slt $at, $t2, $a0 -.L80061E08: -/* 062A08 80061E08 50200006 */ beql $at, $zero, .L80061E24 -/* 062A0C 80061E0C 84A80010 */ lh $t0, 0x10($a1) -/* 062A10 80061E10 2408FFFF */ li $t0, -1 -/* 062A14 80061E14 0000C825 */ move $t9, $zero -/* 062A18 80061E18 00002025 */ move $a0, $zero -/* 062A1C 80061E1C A4A80010 */ sh $t0, 0x10($a1) -/* 062A20 80061E20 84A80010 */ lh $t0, 0x10($a1) -.L80061E24: -/* 062A24 80061E24 8CB1000C */ lw $s1, 0xc($a1) -/* 062A28 80061E28 50E80004 */ beql $a3, $t0, .L80061E3C -/* 062A2C 80061E2C 84B00012 */ lh $s0, 0x12($a1) -/* 062A30 80061E30 10000002 */ b .L80061E3C -/* 062A34 80061E34 2410FFFF */ li $s0, -1 -/* 062A38 80061E38 84B00012 */ lh $s0, 0x12($a1) -.L80061E3C: -/* 062A3C 80061E3C A4A70010 */ sh $a3, 0x10($a1) -/* 062A40 80061E40 A4B90014 */ sh $t9, 0x14($a1) -/* 062A44 80061E44 A4A40012 */ sh $a0, 0x12($a1) -/* 062A48 80061E48 10800006 */ beqz $a0, .L80061E64 -/* 062A4C 80061E4C 3338000F */ andi $t8, $t9, 0xf -/* 062A50 80061E50 2401FFFF */ li $at, -1 -/* 062A54 80061E54 52010004 */ beql $s0, $at, .L80061E68 -/* 062A58 80061E58 8CC20044 */ lw $v0, 0x44($a2) -/* 062A5C 80061E5C 10000026 */ b .L80061EF8 -/* 062A60 80061E60 84C3004A */ lh $v1, 0x4a($a2) -.L80061E64: -/* 062A64 80061E64 8CC20044 */ lw $v0, 0x44($a2) -.L80061E68: -/* 062A68 80061E68 000718C0 */ sll $v1, $a3, 3 -/* 062A6C 80061E6C 8CCD004C */ lw $t5, 0x4c($a2) -/* 062A70 80061E70 00431020 */ add $v0, $v0, $v1 -/* 062A74 80061E74 8C4E0000 */ lw $t6, ($v0) -/* 062A78 80061E78 84C20024 */ lh $v0, 0x24($a2) -/* 062A7C 80061E7C 8CCF0004 */ lw $t7, 4($a2) -/* 062A80 80061E80 25CE000C */ addiu $t6, $t6, 0xc -/* 062A84 80061E84 00021040 */ sll $v0, $v0, 1 -/* 062A88 80061E88 01A25820 */ add $t3, $t5, $v0 -.L80061E8C: -/* 062A8C 80061E8C 85A20000 */ lh $v0, ($t5) -/* 062A90 80061E90 2401FFFF */ li $at, -1 -/* 062A94 80061E94 50410013 */ beql $v0, $at, .L80061EE4 -/* 062A98 80061E98 25AD0002 */ addiu $t5, $t5, 2 -/* 062A9C 80061E9C 00021880 */ sll $v1, $v0, 2 -/* 062AA0 80061EA0 00021040 */ sll $v0, $v0, 1 -/* 062AA4 80061EA4 00431020 */ add $v0, $v0, $v1 -/* 062AA8 80061EA8 02221820 */ add $v1, $s1, $v0 -/* 062AAC 80061EAC 01C21020 */ add $v0, $t6, $v0 -/* 062AB0 80061EB0 85E80000 */ lh $t0, ($t7) -/* 062AB4 80061EB4 84490000 */ lh $t1, ($v0) -/* 062AB8 80061EB8 01095020 */ add $t2, $t0, $t1 -/* 062ABC 80061EBC A46A0000 */ sh $t2, ($v1) -/* 062AC0 80061EC0 85E80002 */ lh $t0, 2($t7) -/* 062AC4 80061EC4 84490002 */ lh $t1, 2($v0) -/* 062AC8 80061EC8 01095020 */ add $t2, $t0, $t1 -/* 062ACC 80061ECC A46A0002 */ sh $t2, 2($v1) -/* 062AD0 80061ED0 85E80004 */ lh $t0, 4($t7) -/* 062AD4 80061ED4 84490004 */ lh $t1, 4($v0) -/* 062AD8 80061ED8 01095020 */ add $t2, $t0, $t1 -/* 062ADC 80061EDC A46A0004 */ sh $t2, 4($v1) -/* 062AE0 80061EE0 25AD0002 */ addiu $t5, $t5, 2 -.L80061EE4: -/* 062AE4 80061EE4 01AB082A */ slt $at, $t5, $t3 -/* 062AE8 80061EE8 1420FFE8 */ bnez $at, .L80061E8C -/* 062AEC 80061EEC 25EF000A */ addiu $t7, $t7, 0xa -/* 062AF0 80061EF0 00008025 */ move $s0, $zero -/* 062AF4 80061EF4 84C3004A */ lh $v1, 0x4a($a2) -.L80061EF8: -/* 062AF8 80061EF8 0204082A */ slt $at, $s0, $a0 -/* 062AFC 80061EFC 00631020 */ add $v0, $v1, $v1 -/* 062B00 80061F00 00436020 */ add $t4, $v0, $v1 -/* 062B04 80061F04 10200026 */ beqz $at, .L80061FA0 -/* 062B08 80061F08 258C000C */ addiu $t4, $t4, 0xc -/* 062B0C 80061F0C 8CC20044 */ lw $v0, 0x44($a2) -/* 062B10 80061F10 000718C0 */ sll $v1, $a3, 3 -/* 062B14 80061F14 00431020 */ add $v0, $v0, $v1 -/* 062B18 80061F18 26030002 */ addiu $v1, $s0, 2 -/* 062B1C 80061F1C 01830019 */ multu $t4, $v1 -/* 062B20 80061F20 8C4A0000 */ lw $t2, ($v0) -/* 062B24 80061F24 00001812 */ mflo $v1 -/* 062B28 80061F28 01435020 */ add $t2, $t2, $v1 -/* 062B2C 80061F2C 00000000 */ nop -/* 062B30 80061F30 84C2004A */ lh $v0, 0x4a($a2) -.L80061F34: -/* 062B34 80061F34 01407025 */ move $t6, $t2 -/* 062B38 80061F38 02206825 */ move $t5, $s1 -/* 062B3C 80061F3C 00021880 */ sll $v1, $v0, 2 -/* 062B40 80061F40 00021040 */ sll $v0, $v0, 1 -/* 062B44 80061F44 00431020 */ add $v0, $v0, $v1 -/* 062B48 80061F48 014C5020 */ add $t2, $t2, $t4 -/* 062B4C 80061F4C 01A25820 */ add $t3, $t5, $v0 -.L80061F50: -/* 062B50 80061F50 85A80000 */ lh $t0, ($t5) -/* 062B54 80061F54 81C90000 */ lb $t1, ($t6) -/* 062B58 80061F58 25AD0006 */ addiu $t5, $t5, 6 -/* 062B5C 80061F5C 01AB082A */ slt $at, $t5, $t3 -/* 062B60 80061F60 01094020 */ add $t0, $t0, $t1 -/* 062B64 80061F64 A5A8FFFA */ sh $t0, -6($t5) -/* 062B68 80061F68 85A8FFFC */ lh $t0, -4($t5) -/* 062B6C 80061F6C 81C90001 */ lb $t1, 1($t6) -/* 062B70 80061F70 25CE0003 */ addiu $t6, $t6, 3 -/* 062B74 80061F74 01094020 */ add $t0, $t0, $t1 -/* 062B78 80061F78 A5A8FFFC */ sh $t0, -4($t5) -/* 062B7C 80061F7C 85A8FFFE */ lh $t0, -2($t5) -/* 062B80 80061F80 81C9FFFF */ lb $t1, -1($t6) -/* 062B84 80061F84 01094020 */ add $t0, $t0, $t1 -/* 062B88 80061F88 1420FFF1 */ bnez $at, .L80061F50 -/* 062B8C 80061F8C A5A8FFFE */ sh $t0, -2($t5) -/* 062B90 80061F90 26100001 */ addiu $s0, $s0, 1 -/* 062B94 80061F94 0204082A */ slt $at, $s0, $a0 -/* 062B98 80061F98 5420FFE6 */ bnezl $at, .L80061F34 -/* 062B9C 80061F9C 84C2004A */ lh $v0, 0x4a($a2) -.L80061FA0: -/* 062BA0 80061FA0 0090082A */ slt $at, $a0, $s0 -/* 062BA4 80061FA4 50200027 */ beql $at, $zero, .L80062044 -/* 062BA8 80061FA8 8CC20044 */ lw $v0, 0x44($a2) -/* 062BAC 80061FAC 8CC20044 */ lw $v0, 0x44($a2) -/* 062BB0 80061FB0 000718C0 */ sll $v1, $a3, 3 -/* 062BB4 80061FB4 00431020 */ add $v0, $v0, $v1 -/* 062BB8 80061FB8 26030002 */ addiu $v1, $s0, 2 -/* 062BBC 80061FBC 01830019 */ multu $t4, $v1 -/* 062BC0 80061FC0 8C4A0000 */ lw $t2, ($v0) -/* 062BC4 80061FC4 00001812 */ mflo $v1 -/* 062BC8 80061FC8 01435020 */ add $t2, $t2, $v1 -/* 062BCC 80061FCC 00000000 */ nop -/* 062BD0 80061FD0 84C2004A */ lh $v0, 0x4a($a2) -.L80061FD4: -/* 062BD4 80061FD4 014C5022 */ sub $t2, $t2, $t4 -/* 062BD8 80061FD8 02206825 */ move $t5, $s1 -/* 062BDC 80061FDC 00021880 */ sll $v1, $v0, 2 -/* 062BE0 80061FE0 00021040 */ sll $v0, $v0, 1 -/* 062BE4 80061FE4 00431020 */ add $v0, $v0, $v1 -/* 062BE8 80061FE8 2610FFFF */ addiu $s0, $s0, -1 -/* 062BEC 80061FEC 01407025 */ move $t6, $t2 -/* 062BF0 80061FF0 01A25820 */ add $t3, $t5, $v0 -.L80061FF4: -/* 062BF4 80061FF4 85A80000 */ lh $t0, ($t5) -/* 062BF8 80061FF8 81C90000 */ lb $t1, ($t6) -/* 062BFC 80061FFC 25AD0006 */ addiu $t5, $t5, 6 -/* 062C00 80062000 01AB082A */ slt $at, $t5, $t3 -/* 062C04 80062004 01094022 */ sub $t0, $t0, $t1 -/* 062C08 80062008 A5A8FFFA */ sh $t0, -6($t5) -/* 062C0C 8006200C 85A8FFFC */ lh $t0, -4($t5) -/* 062C10 80062010 81C90001 */ lb $t1, 1($t6) -/* 062C14 80062014 25CE0003 */ addiu $t6, $t6, 3 -/* 062C18 80062018 01094022 */ sub $t0, $t0, $t1 -/* 062C1C 8006201C A5A8FFFC */ sh $t0, -4($t5) -/* 062C20 80062020 85A8FFFE */ lh $t0, -2($t5) -/* 062C24 80062024 81C9FFFF */ lb $t1, -1($t6) -/* 062C28 80062028 01094022 */ sub $t0, $t0, $t1 -/* 062C2C 8006202C 1420FFF1 */ bnez $at, .L80061FF4 -/* 062C30 80062030 A5A8FFFE */ sh $t0, -2($t5) -/* 062C34 80062034 0090082A */ slt $at, $a0, $s0 -/* 062C38 80062038 5420FFE6 */ bnezl $at, .L80061FD4 -/* 062C3C 8006203C 84C2004A */ lh $v0, 0x4a($a2) -/* 062C40 80062040 8CC20044 */ lw $v0, 0x44($a2) -.L80062044: -/* 062C44 80062044 000718C0 */ sll $v1, $a3, 3 -/* 062C48 80062048 3C0D8012 */ lui $t5, %hi(D_8011D644) # $t5, 0x8012 -/* 062C4C 8006204C 00431020 */ add $v0, $v0, $v1 -/* 062C50 80062050 8C4E0000 */ lw $t6, ($v0) -/* 062C54 80062054 26020002 */ addiu $v0, $s0, 2 -/* 062C58 80062058 01820019 */ multu $t4, $v0 -/* 062C5C 8006205C 84C2004A */ lh $v0, 0x4a($a2) -/* 062C60 80062060 8DADD644 */ lw $t5, %lo(D_8011D644)($t5) -/* 062C64 80062064 00001812 */ mflo $v1 -/* 062C68 80062068 01C37020 */ add $t6, $t6, $v1 -/* 062C6C 8006206C 00021880 */ sll $v1, $v0, 2 -/* 062C70 80062070 00021040 */ sll $v0, $v0, 1 -/* 062C74 80062074 00431020 */ add $v0, $v0, $v1 -/* 062C78 80062078 01A25820 */ add $t3, $t5, $v0 -.L8006207C: -/* 062C7C 8006207C 81C80000 */ lb $t0, ($t6) -/* 062C80 80062080 25AD0006 */ addiu $t5, $t5, 6 -/* 062C84 80062084 01AB082A */ slt $at, $t5, $t3 -/* 062C88 80062088 01180019 */ multu $t0, $t8 -/* 062C8C 8006208C 25CE0003 */ addiu $t6, $t6, 3 -/* 062C90 80062090 00004012 */ mflo $t0 -/* 062C94 80062094 00084102 */ srl $t0, $t0, 4 -/* 062C98 80062098 A5A8FFFA */ sh $t0, -6($t5) -/* 062C9C 8006209C 81C9FFFE */ lb $t1, -2($t6) -/* 062CA0 800620A0 01380019 */ multu $t1, $t8 -/* 062CA4 800620A4 00004812 */ mflo $t1 -/* 062CA8 800620A8 00094902 */ srl $t1, $t1, 4 -/* 062CAC 800620AC A5A9FFFC */ sh $t1, -4($t5) -/* 062CB0 800620B0 81CAFFFF */ lb $t2, -1($t6) -/* 062CB4 800620B4 01580019 */ multu $t2, $t8 -/* 062CB8 800620B8 00005012 */ mflo $t2 -/* 062CBC 800620BC 000A5102 */ srl $t2, $t2, 4 -/* 062CC0 800620C0 1420FFEE */ bnez $at, .L8006207C -/* 062CC4 800620C4 A5AAFFFE */ sh $t2, -2($t5) -/* 062CC8 800620C8 8CC20044 */ lw $v0, 0x44($a2) -/* 062CCC 800620CC 000718C0 */ sll $v1, $a3, 3 -/* 062CD0 800620D0 00431020 */ add $v0, $v0, $v1 -/* 062CD4 800620D4 10800006 */ beqz $a0, .L800620F0 -/* 062CD8 800620D8 8C4E0000 */ lw $t6, ($v0) -/* 062CDC 800620DC 24820001 */ addiu $v0, $a0, 1 -/* 062CE0 800620E0 01820019 */ multu $t4, $v0 -/* 062CE4 800620E4 00001812 */ mflo $v1 -/* 062CE8 800620E8 01C37020 */ add $t6, $t6, $v1 -/* 062CEC 800620EC 25CEFFF4 */ addiu $t6, $t6, -0xc -.L800620F0: -/* 062CF0 800620F0 81C20000 */ lb $v0, ($t6) -/* 062CF4 800620F4 91C30001 */ lbu $v1, 1($t6) -/* 062CF8 800620F8 00021200 */ sll $v0, $v0, 8 -/* 062CFC 800620FC 00434025 */ or $t0, $v0, $v1 -/* 062D00 80062100 81C20002 */ lb $v0, 2($t6) -/* 062D04 80062104 91C30003 */ lbu $v1, 3($t6) -/* 062D08 80062108 00021200 */ sll $v0, $v0, 8 -/* 062D0C 8006210C 00434825 */ or $t1, $v0, $v1 -/* 062D10 80062110 81C20004 */ lb $v0, 4($t6) -/* 062D14 80062114 91C30005 */ lbu $v1, 5($t6) -/* 062D18 80062118 00021200 */ sll $v0, $v0, 8 -/* 062D1C 8006211C 00435025 */ or $t2, $v0, $v1 -/* 062D20 80062120 81C2000A */ lb $v0, 0xa($t6) -/* 062D24 80062124 91C3000B */ lbu $v1, 0xb($t6) -/* 062D28 80062128 01CC7020 */ add $t6, $t6, $t4 -/* 062D2C 8006212C 00021200 */ sll $v0, $v0, 8 -/* 062D30 80062130 14800003 */ bnez $a0, .L80062140 -/* 062D34 80062134 00435825 */ or $t3, $v0, $v1 -/* 062D38 80062138 01CC7020 */ add $t6, $t6, $t4 -/* 062D3C 8006213C 25CEFFF4 */ addiu $t6, $t6, -0xc -.L80062140: -/* 062D40 80062140 81C20000 */ lb $v0, ($t6) -/* 062D44 80062144 91C30001 */ lbu $v1, 1($t6) -/* 062D48 80062148 3C198012 */ lui $t9, %hi(D_8011D644) # $t9, 0x8012 -/* 062D4C 8006214C 00021200 */ sll $v0, $v0, 8 -/* 062D50 80062150 00431025 */ or $v0, $v0, $v1 -/* 062D54 80062154 00481022 */ sub $v0, $v0, $t0 -/* 062D58 80062158 00580019 */ multu $v0, $t8 -/* 062D5C 8006215C 00001012 */ mflo $v0 -/* 062D60 80062160 00021102 */ srl $v0, $v0, 4 -/* 062D64 80062164 01024020 */ add $t0, $t0, $v0 -/* 062D68 80062168 A4A80016 */ sh $t0, 0x16($a1) -/* 062D6C 8006216C 81C20002 */ lb $v0, 2($t6) -/* 062D70 80062170 91C30003 */ lbu $v1, 3($t6) -/* 062D74 80062174 00021200 */ sll $v0, $v0, 8 -/* 062D78 80062178 00431025 */ or $v0, $v0, $v1 -/* 062D7C 8006217C 00491022 */ sub $v0, $v0, $t1 -/* 062D80 80062180 00580019 */ multu $v0, $t8 -/* 062D84 80062184 00001012 */ mflo $v0 -/* 062D88 80062188 00021102 */ srl $v0, $v0, 4 -/* 062D8C 8006218C 01224820 */ add $t1, $t1, $v0 -/* 062D90 80062190 A4A90018 */ sh $t1, 0x18($a1) -/* 062D94 80062194 81C20004 */ lb $v0, 4($t6) -/* 062D98 80062198 91C30005 */ lbu $v1, 5($t6) -/* 062D9C 8006219C 00021200 */ sll $v0, $v0, 8 -/* 062DA0 800621A0 00431025 */ or $v0, $v0, $v1 -/* 062DA4 800621A4 004A1022 */ sub $v0, $v0, $t2 -/* 062DA8 800621A8 00580019 */ multu $v0, $t8 -/* 062DAC 800621AC 00001012 */ mflo $v0 -/* 062DB0 800621B0 00021102 */ srl $v0, $v0, 4 -/* 062DB4 800621B4 01425020 */ add $t2, $t2, $v0 -/* 062DB8 800621B8 A4AA001A */ sh $t2, 0x1a($a1) -/* 062DBC 800621BC 81C2000A */ lb $v0, 0xa($t6) -/* 062DC0 800621C0 91C3000B */ lbu $v1, 0xb($t6) -/* 062DC4 800621C4 00021200 */ sll $v0, $v0, 8 -/* 062DC8 800621C8 00431025 */ or $v0, $v0, $v1 -/* 062DCC 800621CC 004B1022 */ sub $v0, $v0, $t3 -/* 062DD0 800621D0 00580019 */ multu $v0, $t8 -/* 062DD4 800621D4 24A30004 */ addiu $v1, $a1, 4 -/* 062DD8 800621D8 00001012 */ mflo $v0 -/* 062DDC 800621DC 00021102 */ srl $v0, $v0, 4 -/* 062DE0 800621E0 01625820 */ add $t3, $t3, $v0 -/* 062DE4 800621E4 80A2001F */ lb $v0, 0x1f($a1) -/* 062DE8 800621E8 A4AB001C */ sh $t3, 0x1c($a1) -/* 062DEC 800621EC 38420001 */ xori $v0, $v0, 1 -/* 062DF0 800621F0 A0A2001F */ sb $v0, 0x1f($a1) -/* 062DF4 800621F4 00021080 */ sll $v0, $v0, 2 -/* 062DF8 800621F8 00621820 */ add $v1, $v1, $v0 -/* 062DFC 800621FC 84C20024 */ lh $v0, 0x24($a2) -/* 062E00 80062200 8CCD004C */ lw $t5, 0x4c($a2) -/* 062E04 80062204 8C6E0000 */ lw $t6, ($v1) -/* 062E08 80062208 00021040 */ sll $v0, $v0, 1 -/* 062E0C 8006220C 8F39D644 */ lw $t9, %lo(D_8011D644)($t9) -/* 062E10 80062210 01A25820 */ add $t3, $t5, $v0 -.L80062214: -/* 062E14 80062214 85A20000 */ lh $v0, ($t5) -/* 062E18 80062218 2401FFFF */ li $at, -1 -/* 062E1C 8006221C 21AD0002 */ addi $t5, $t5, 2 -/* 062E20 80062220 50410013 */ beql $v0, $at, .L80062270 -/* 062E24 80062224 01AB082A */ slt $at, $t5, $t3 -/* 062E28 80062228 00021880 */ sll $v1, $v0, 2 -/* 062E2C 8006222C 00021040 */ sll $v0, $v0, 1 -/* 062E30 80062230 00431020 */ add $v0, $v0, $v1 -/* 062E34 80062234 03224820 */ add $t1, $t9, $v0 -/* 062E38 80062238 02224020 */ add $t0, $s1, $v0 -/* 062E3C 8006223C 85020000 */ lh $v0, ($t0) -/* 062E40 80062240 85230000 */ lh $v1, ($t1) -/* 062E44 80062244 00435020 */ add $t2, $v0, $v1 -/* 062E48 80062248 A5CA0000 */ sh $t2, ($t6) -/* 062E4C 8006224C 85020002 */ lh $v0, 2($t0) -/* 062E50 80062250 85230002 */ lh $v1, 2($t1) -/* 062E54 80062254 00435020 */ add $t2, $v0, $v1 -/* 062E58 80062258 A5CA0002 */ sh $t2, 2($t6) -/* 062E5C 8006225C 85020004 */ lh $v0, 4($t0) -/* 062E60 80062260 85230004 */ lh $v1, 4($t1) -/* 062E64 80062264 00435020 */ add $t2, $v0, $v1 -/* 062E68 80062268 A5CA0004 */ sh $t2, 4($t6) -/* 062E6C 8006226C 01AB082A */ slt $at, $t5, $t3 -.L80062270: -/* 062E70 80062270 1420FFE8 */ bnez $at, .L80062214 -/* 062E74 80062274 21CE000A */ addi $t6, $t6, 0xa -/* 062E78 80062278 24020001 */ li $v0, 1 -.L8006227C: -/* 062E7C 8006227C 8FB00000 */ lw $s0, ($sp) -/* 062E80 80062280 8FB10004 */ lw $s1, 4($sp) -/* 062E84 80062284 03E00008 */ jr $ra -/* 062E88 80062288 27BD0008 */ addiu $sp, $sp, 8 - -/* 062E8C 8006228C 00000000 */ nop - diff --git a/asm/unknown_0251F0.s b/asm/unknown_0251F0.s deleted file mode 100644 index 6f710adf..00000000 --- a/asm/unknown_0251F0.s +++ /dev/null @@ -1,11 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800245F0 */ - -.include "macros.inc" - -.set noat # allow manual use of $at -.set noreorder # dont insert nops after branches -.set gp=64 # 64-bit instructions are used - -.include "asm/unknown_0251F0/func_800245F0.s" -.include "asm/unknown_0251F0/calc_dynamic_lighting_for_object_2.s" diff --git a/asm/unknown_0251F0/calc_dynamic_lighting_for_object_2.s b/asm/unknown_0251F0/calc_dynamic_lighting_for_object_2.s deleted file mode 100644 index dad8f689..00000000 --- a/asm/unknown_0251F0/calc_dynamic_lighting_for_object_2.s +++ /dev/null @@ -1,178 +0,0 @@ -glabel calc_dynamic_lighting_for_object_2 -/* 025344 80024744 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 025348 80024748 AFB00080 */ sw $s0, 0x80($sp) -/* 02534C 8002474C AFBF0078 */ sw $ra, 0x78($sp) -/* 025350 80024750 AFB10084 */ sw $s1, 0x84($sp) -/* 025354 80024754 AFB20088 */ sw $s2, 0x88($sp) -/* 025358 80024758 AFB3008C */ sw $s3, 0x8c($sp) -/* 02535C 8002475C 00808025 */ move $s0, $a0 -/* 025360 80024760 8E190054 */ lw $t9, 0x54($s0) -/* 025364 80024764 00A08825 */ move $s1, $a1 -/* 025368 80024768 00C09025 */ move $s2, $a2 -/* 02536C 8002476C 13200093 */ beqz $t9, .L800249BC -/* 025370 80024770 00E09825 */ move $s3, $a3 -/* 025374 80024774 8728001C */ lh $t0, 0x1c($t9) -/* 025378 80024778 8729001E */ lh $t1, 0x1e($t9) -/* 02537C 8002477C 872A0020 */ lh $t2, 0x20($t9) -/* 025380 80024780 00084080 */ sll $t0, $t0, 2 -/* 025384 80024784 00094880 */ sll $t1, $t1, 2 -/* 025388 80024788 000A5080 */ sll $t2, $t2, 2 -/* 02538C 8002478C 44882000 */ mtc1 $t0, $f4 -/* 025390 80024790 44893000 */ mtc1 $t1, $f6 -/* 025394 80024794 448A4000 */ mtc1 $t2, $f8 -/* 025398 80024798 46802120 */ cvt.s.w $f4, $f4 -/* 02539C 8002479C 27B80010 */ addiu $t8, $sp, 0x10 -/* 0253A0 800247A0 468031A0 */ cvt.s.w $f6, $f6 -/* 0253A4 800247A4 E7040000 */ swc1 $f4, ($t8) -/* 0253A8 800247A8 46804220 */ cvt.s.w $f8, $f8 -/* 0253AC 800247AC E7060004 */ swc1 $f6, 4($t8) -/* 0253B0 800247B0 10C00007 */ beqz $a2, .L800247D0 -/* 0253B4 800247B4 E7080008 */ swc1 $f8, 8($t8) -/* 0253B8 800247B8 0C01A769 */ jal get_projection_matrix_f32 -/* 0253BC 800247BC 00000000 */ nop -/* 0253C0 800247C0 27A50010 */ addiu $a1, $sp, 0x10 -/* 0253C4 800247C4 00402025 */ move $a0, $v0 -/* 0253C8 800247C8 0C01BDBB */ jal f32_matrix_dot -/* 0253CC 800247CC 00A03025 */ move $a2, $a1 -.L800247D0: -/* 0253D0 800247D0 86080000 */ lh $t0, ($s0) -/* 0253D4 800247D4 27B8001C */ addiu $t8, $sp, 0x1c -/* 0253D8 800247D8 24030000 */ li $v1, 0 -/* 0253DC 800247DC 00084022 */ neg $t0, $t0 -/* 0253E0 800247E0 A7080000 */ sh $t0, ($t8) -/* 0253E4 800247E4 86090002 */ lh $t1, 2($s0) -/* 0253E8 800247E8 3C023F80 */ lui $v0, 0x3f80 -/* 0253EC 800247EC 27A40034 */ addiu $a0, $sp, 0x34 -/* 0253F0 800247F0 00094822 */ neg $t1, $t1 -/* 0253F4 800247F4 A7090002 */ sh $t1, 2($t8) -/* 0253F8 800247F8 860A0004 */ lh $t2, 4($s0) -/* 0253FC 800247FC AF020008 */ sw $v0, 8($t8) -/* 025400 80024800 AF03000C */ sw $v1, 0xc($t8) -/* 025404 80024804 000A5022 */ neg $t2, $t2 -/* 025408 80024808 A70A0004 */ sh $t2, 4($t8) -/* 02540C 8002480C AF030010 */ sw $v1, 0x10($t8) -/* 025410 80024810 AF030014 */ sw $v1, 0x14($t8) -/* 025414 80024814 0C01BF9D */ jal object_transform_to_matrix_2 -/* 025418 80024818 03002825 */ move $a1, $t8 -/* 02541C 8002481C 27A50010 */ addiu $a1, $sp, 0x10 -/* 025420 80024820 27A40034 */ addiu $a0, $sp, 0x34 -/* 025424 80024824 0C01BDBB */ jal f32_matrix_dot -/* 025428 80024828 00A03025 */ move $a2, $a1 -/* 02542C 8002482C 8E190054 */ lw $t9, 0x54($s0) -/* 025430 80024830 44933000 */ mtc1 $s3, $f6 -/* 025434 80024834 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 025438 80024838 8F220000 */ lw $v0, ($t9) -/* 02543C 8002483C 44814000 */ mtc1 $at, $f8 -/* 025440 80024840 8F23002C */ lw $v1, 0x2c($t9) -/* 025444 80024844 44822000 */ mtc1 $v0, $f4 -/* 025448 80024848 8F220028 */ lw $v0, 0x28($t9) -/* 02544C 8002484C 27A80010 */ addiu $t0, $sp, 0x10 -/* 025450 80024850 46062102 */ mul.s $f4, $f4, $f6 -/* 025454 80024854 44823000 */ mtc1 $v0, $f6 -/* 025458 80024858 8D060000 */ lw $a2, ($t0) -/* 02545C 8002485C 8D070004 */ lw $a3, 4($t0) -/* 025460 80024860 8D0E0008 */ lw $t6, 8($t0) -/* 025464 80024864 86280028 */ lh $t0, 0x28($s1) -/* 025468 80024868 8E2D0038 */ lw $t5, 0x38($s1) -/* 02546C 8002486C 46082102 */ mul.s $f4, $f4, $f8 -/* 025470 80024870 44834000 */ mtc1 $v1, $f8 -/* 025474 80024874 8E130044 */ lw $s3, 0x44($s0) -/* 025478 80024878 8E240040 */ lw $a0, 0x40($s1) -/* 02547C 8002487C 46043182 */ mul.s $f6, $f6, $f4 -/* 025480 80024880 00000000 */ nop -/* 025484 80024884 46044202 */ mul.s $f8, $f8, $f4 -/* 025488 80024888 44862000 */ mtc1 $a2, $f4 -/* 02548C 8002488C 4442F800 */ cfc1 $v0, $31 -/* 025490 80024890 00000000 */ nop -/* 025494 80024894 34430003 */ ori $v1, $v0, 3 -/* 025498 80024898 38630002 */ xori $v1, $v1, 2 -/* 02549C 8002489C 44C3F800 */ ctc1 $v1, $31 -/* 0254A0 800248A0 00081880 */ sll $v1, $t0, 2 -/* 0254A4 800248A4 460031A4 */ cvt.w.s $f6, $f6 -/* 0254A8 800248A8 46004224 */ cvt.w.s $f8, $f8 -/* 0254AC 800248AC 44183000 */ mfc1 $t8, $f6 -/* 0254B0 800248B0 44873000 */ mtc1 $a3, $f6 -/* 0254B4 800248B4 46002124 */ cvt.w.s $f4, $f4 -/* 0254B8 800248B8 440F4000 */ mfc1 $t7, $f8 -/* 0254BC 800248BC 448E4000 */ mtc1 $t6, $f8 -/* 0254C0 800248C0 460031A4 */ cvt.w.s $f6, $f6 -/* 0254C4 800248C4 44062000 */ mfc1 $a2, $f4 -/* 0254C8 800248C8 46004224 */ cvt.w.s $f8, $f8 -/* 0254CC 800248CC 44073000 */ mfc1 $a3, $f6 -/* 0254D0 800248D0 44C2F800 */ ctc1 $v0, $31 -/* 0254D4 800248D4 000810C0 */ sll $v0, $t0, 3 -/* 0254D8 800248D8 00439020 */ add $s2, $v0, $v1 -/* 0254DC 800248DC 440E4000 */ mfc1 $t6, $f8 -/* 0254E0 800248E0 024D9020 */ add $s2, $s2, $t5 -/* 0254E4 800248E4 91A80006 */ lbu $t0, 6($t5) -.L800248E8: -/* 0254E8 800248E8 85A20002 */ lh $v0, 2($t5) -/* 0254EC 800248EC 85A3000E */ lh $v1, 0xe($t5) -/* 0254F0 800248F0 240100FF */ li $at, 255 -/* 0254F4 800248F4 1501000C */ bne $t0, $at, .L80024928 -/* 0254F8 800248F8 00626022 */ sub $t4, $v1, $v0 -/* 0254FC 800248FC 8DA90008 */ lw $t1, 8($t5) -/* 025500 80024900 000C10C0 */ sll $v0, $t4, 3 -/* 025504 80024904 000C1840 */ sll $v1, $t4, 1 -/* 025508 80024908 00431020 */ add $v0, $v0, $v1 -/* 02550C 8002490C 31298000 */ andi $t1, $t1, 0x8000 -/* 025510 80024910 11200026 */ beqz $t1, .L800249AC -/* 025514 80024914 02629820 */ add $s3, $s3, $v0 -/* 025518 80024918 000C1080 */ sll $v0, $t4, 2 -/* 02551C 8002491C 00431020 */ add $v0, $v0, $v1 -/* 025520 80024920 10000022 */ b .L800249AC -/* 025524 80024924 00822020 */ add $a0, $a0, $v0 -.L80024928: -/* 025528 80024928 84880000 */ lh $t0, ($a0) -/* 02552C 8002492C 01060018 */ mult $t0, $a2 -/* 025530 80024930 00002812 */ mflo $a1 -/* 025534 80024934 84890002 */ lh $t1, 2($a0) -/* 025538 80024938 258CFFFF */ addiu $t4, $t4, -1 -/* 02553C 8002493C 01270018 */ mult $t1, $a3 -/* 025540 80024940 00001012 */ mflo $v0 -/* 025544 80024944 848A0004 */ lh $t2, 4($a0) -/* 025548 80024948 00A22820 */ add $a1, $a1, $v0 -/* 02554C 8002494C 014E0018 */ mult $t2, $t6 -/* 025550 80024950 00001012 */ mflo $v0 -/* 025554 80024954 24840006 */ addiu $a0, $a0, 6 -/* 025558 80024958 00A22820 */ add $a1, $a1, $v0 -/* 02555C 8002495C 000529C3 */ sra $a1, $a1, 7 -/* 025560 80024960 1CA00003 */ bgtz $a1, .L80024970 -/* 025564 80024964 00000000 */ nop -/* 025568 80024968 10000009 */ b .L80024990 -/* 02556C 8002496C 03002825 */ move $a1, $t8 -.L80024970: -/* 025570 80024970 00AF0018 */ mult $a1, $t7 -/* 025574 80024974 00002812 */ mflo $a1 -/* 025578 80024978 00052D42 */ srl $a1, $a1, 0x15 -/* 02557C 8002497C 00B82820 */ add $a1, $a1, $t8 -/* 025580 80024980 28A10100 */ slti $at, $a1, 0x100 -/* 025584 80024984 54200003 */ bnezl $at, .L80024994 -/* 025588 80024988 00051200 */ sll $v0, $a1, 8 -/* 02558C 8002498C 240500FF */ li $a1, 255 -.L80024990: -/* 025590 80024990 00051200 */ sll $v0, $a1, 8 -.L80024994: -/* 025594 80024994 00A22825 */ or $a1, $a1, $v0 -/* 025598 80024998 A6650006 */ sh $a1, 6($s3) -/* 02559C 8002499C 34A500FF */ ori $a1, $a1, 0xff -/* 0255A0 800249A0 A6650008 */ sh $a1, 8($s3) -/* 0255A4 800249A4 1580FFE0 */ bnez $t4, .L80024928 -/* 0255A8 800249A8 2673000A */ addiu $s3, $s3, 0xa -.L800249AC: -/* 0255AC 800249AC 25AD000C */ addiu $t5, $t5, 0xc -/* 0255B0 800249B0 01B2082A */ slt $at, $t5, $s2 -/* 0255B4 800249B4 5420FFCC */ bnezl $at, .L800248E8 -/* 0255B8 800249B8 91A80006 */ lbu $t0, 6($t5) -.L800249BC: -/* 0255BC 800249BC 8FBF0078 */ lw $ra, 0x78($sp) -/* 0255C0 800249C0 8FB00080 */ lw $s0, 0x80($sp) -/* 0255C4 800249C4 8FB10084 */ lw $s1, 0x84($sp) -/* 0255C8 800249C8 8FB20088 */ lw $s2, 0x88($sp) -/* 0255CC 800249CC 8FB3008C */ lw $s3, 0x8c($sp) -/* 0255D0 800249D0 03E00008 */ jr $ra -/* 0255D4 800249D4 27BD0080 */ addiu $sp, $sp, 0x80 - -/* 0255D8 800249D8 00000000 */ nop -/* 0255DC 800249DC 00000000 */ nop - diff --git a/asm/unknown_0251F0/func_800245F0.s b/asm/unknown_0251F0/func_800245F0.s deleted file mode 100644 index c54d79d0..00000000 --- a/asm/unknown_0251F0/func_800245F0.s +++ /dev/null @@ -1,94 +0,0 @@ -glabel func_800245F0 -/* 0251F0 800245F0 8CA70054 */ lw $a3, 0x54($a1) -/* 0251F4 800245F4 10E00051 */ beqz $a3, .L8002473C -/* 0251F8 800245F8 00000000 */ nop -/* 0251FC 800245FC 8CE20000 */ lw $v0, ($a3) -/* 025200 80024600 44863000 */ mtc1 $a2, $f6 -/* 025204 80024604 3C014320 */ li $at, 0x43200000 # 160.000000 -/* 025208 80024608 44822000 */ mtc1 $v0, $f4 -/* 02520C 8002460C 44814000 */ mtc1 $at, $f8 -/* 025210 80024610 84880028 */ lh $t0, 0x28($a0) -/* 025214 80024614 46062102 */ mul.s $f4, $f4, $f6 -/* 025218 80024618 8C8D0038 */ lw $t5, 0x38($a0) -/* 02521C 8002461C 84F8001C */ lh $t8, 0x1c($a3) -/* 025220 80024620 84EF001E */ lh $t7, 0x1e($a3) -/* 025224 80024624 84EE0020 */ lh $t6, 0x20($a3) -/* 025228 80024628 8C870040 */ lw $a3, 0x40($a0) -/* 02522C 8002462C 8CA50044 */ lw $a1, 0x44($a1) -/* 025230 80024630 46082102 */ mul.s $f4, $f4, $f8 -/* 025234 80024634 4442F800 */ cfc1 $v0, $31 -/* 025238 80024638 00000000 */ nop -/* 02523C 8002463C 34430003 */ ori $v1, $v0, 3 -/* 025240 80024640 38630002 */ xori $v1, $v1, 2 -/* 025244 80024644 44C3F800 */ ctc1 $v1, $31 -/* 025248 80024648 00081880 */ sll $v1, $t0, 2 -/* 02524C 8002464C 46002124 */ cvt.w.s $f4, $f4 -/* 025250 80024650 44C2F800 */ ctc1 $v0, $31 -/* 025254 80024654 000810C0 */ sll $v0, $t0, 3 -/* 025258 80024658 00432020 */ add $a0, $v0, $v1 -/* 02525C 8002465C 44062000 */ mfc1 $a2, $f4 -/* 025260 80024660 008D2020 */ add $a0, $a0, $t5 -/* 025264 80024664 91A80006 */ lbu $t0, 6($t5) -.L80024668: -/* 025268 80024668 85A20002 */ lh $v0, 2($t5) -/* 02526C 8002466C 85A3000E */ lh $v1, 0xe($t5) -/* 025270 80024670 240100FF */ li $at, 255 -/* 025274 80024674 1501000C */ bne $t0, $at, .L800246A8 -/* 025278 80024678 00626022 */ sub $t4, $v1, $v0 -/* 02527C 8002467C 8DA90008 */ lw $t1, 8($t5) -/* 025280 80024680 000C10C0 */ sll $v0, $t4, 3 -/* 025284 80024684 000C1840 */ sll $v1, $t4, 1 -/* 025288 80024688 00431020 */ add $v0, $v0, $v1 -/* 02528C 8002468C 31298000 */ andi $t1, $t1, 0x8000 -/* 025290 80024690 11200026 */ beqz $t1, .L8002472C -/* 025294 80024694 00A22820 */ add $a1, $a1, $v0 -/* 025298 80024698 000C1080 */ sll $v0, $t4, 2 -/* 02529C 8002469C 00431020 */ add $v0, $v0, $v1 -/* 0252A0 800246A0 10000022 */ b .L8002472C -/* 0252A4 800246A4 00E23820 */ add $a3, $a3, $v0 -.L800246A8: -/* 0252A8 800246A8 84E80000 */ lh $t0, ($a3) -/* 0252AC 800246AC 01180018 */ mult $t0, $t8 -/* 0252B0 800246B0 0000C812 */ mflo $t9 -/* 0252B4 800246B4 84E90002 */ lh $t1, 2($a3) -/* 0252B8 800246B8 258CFFFF */ addiu $t4, $t4, -1 -/* 0252BC 800246BC 012F0018 */ mult $t1, $t7 -/* 0252C0 800246C0 00001012 */ mflo $v0 -/* 0252C4 800246C4 84EA0004 */ lh $t2, 4($a3) -/* 0252C8 800246C8 0322C820 */ add $t9, $t9, $v0 -/* 0252CC 800246CC 014E0018 */ mult $t2, $t6 -/* 0252D0 800246D0 00001012 */ mflo $v0 -/* 0252D4 800246D4 24E70006 */ addiu $a3, $a3, 6 -/* 0252D8 800246D8 0322C820 */ add $t9, $t9, $v0 -/* 0252DC 800246DC 0019CAC3 */ sra $t9, $t9, 0xb -/* 0252E0 800246E0 1F200003 */ bgtz $t9, .L800246F0 -/* 0252E4 800246E4 00000000 */ nop -/* 0252E8 800246E8 10000009 */ b .L80024710 -/* 0252EC 800246EC 00C0C825 */ move $t9, $a2 -.L800246F0: -/* 0252F0 800246F0 03260018 */ mult $t9, $a2 -/* 0252F4 800246F4 0000C812 */ mflo $t9 -/* 0252F8 800246F8 0019CC02 */ srl $t9, $t9, 0x10 -/* 0252FC 800246FC 0326C820 */ add $t9, $t9, $a2 -/* 025300 80024700 2B210100 */ slti $at, $t9, 0x100 -/* 025304 80024704 54200003 */ bnezl $at, .L80024714 -/* 025308 80024708 00191200 */ sll $v0, $t9, 8 -/* 02530C 8002470C 241900FF */ li $t9, 255 -.L80024710: -/* 025310 80024710 00191200 */ sll $v0, $t9, 8 -.L80024714: -/* 025314 80024714 0322C825 */ or $t9, $t9, $v0 -/* 025318 80024718 A4B90006 */ sh $t9, 6($a1) -/* 02531C 8002471C 373900FF */ ori $t9, $t9, 0xff -/* 025320 80024720 A4B90008 */ sh $t9, 8($a1) -/* 025324 80024724 1580FFE0 */ bnez $t4, .L800246A8 -/* 025328 80024728 24A5000A */ addiu $a1, $a1, 0xa -.L8002472C: -/* 02532C 8002472C 25AD000C */ addiu $t5, $t5, 0xc -/* 025330 80024730 01A4082A */ slt $at, $t5, $a0 -/* 025334 80024734 5420FFCC */ bnezl $at, .L80024668 -/* 025338 80024738 91A80006 */ lbu $t0, 6($t5) -.L8002473C: -/* 02533C 8002473C 03E00008 */ jr $ra -/* 025340 80024740 00000000 */ nop - diff --git a/compile_all.sh b/compile_all.sh new file mode 100755 index 00000000..b181c6bc --- /dev/null +++ b/compile_all.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# do us v77 last as that will make it easier to keep decompiling with the default version +regions=('pal' 'jpn' 'us' 'pal' 'us') +versions=('v77' 'v79' 'v80' 'v80' 'v77') + +for i in ${!regions[@]}; do + region=${regions[$i]} + version=${versions[$i]} + echo "Compiling $region.$version" + make REGION=$region VERSION=$version cleanextract && make REGION=$region VERSION=$version -j12 + if [[ $(sha1sum -c --quiet ver/verification/dkr.$region.$version.sha1) = "" ]]; then echo "$region.$version OK"; else echo "Failed $region.$version"; exit 1; fi +done diff --git a/decompme_friendly_gfx_macros.c b/decompme_friendly_gfx_macros.c deleted file mode 100644 index 893319ce..00000000 --- a/decompme_friendly_gfx_macros.c +++ /dev/null @@ -1,3468 +0,0 @@ -#define NULL (void *)0 - - -/* - * the SHIFT macros are used to build display list commands, inserting - * bit-fields into a 32-bit word. They take a value, a shift amount, - * and a width. - * - * For the left shift, the lower bits of the value are masked, - * then shifted left. - * - * For the right shift, the value is shifted right, then the lower bits - * are masked. - * - * (NOTE: _SHIFTL(v, 0, 32) won't work, just use an assignment) - * - */ -#define _SHIFTL(v, s, w) \ - ((unsigned int) (((unsigned int)(v) & ((0x01 << (w)) - 1)) << (s))) -#define _SHIFTR(v, s, w) \ - ((unsigned int)(((unsigned int)(v) >> (s)) & ((0x01 << (w)) - 1))) - -#define _SHIFT _SHIFTL /* old, for compatibility only */ - -#define OS_K0_TO_PHYSICAL(x) (u32)(((char *)(x)-0x80000000)) -#define OS_PHYSICAL_TO_K0(x) (void *)(((u32)(x)+0x80000000)) - -#define F3D_OLD - - - -/* DMA commands: */ -#define G_SPNOOP 0 /* handle 0 gracefully */ -#define G_MTX 1 -#define G_RESERVED0 2 /* not implemeted */ -#define G_MOVEMEM 3 /* move a block of memory (up to 4 words) to dmem */ -#define G_VTX 4 -#define G_RESERVED1 5 /* not implemeted */ -#define G_DL 6 -#define G_RESERVED2 7 /* not implemeted */ -#define G_RESERVED3 8 /* not implemeted */ -#define G_SPRITE2D_BASE 9 /* sprite command */ - -/* IMMEDIATE commands: */ -#define G_IMMFIRST -65 -#define G_TRI1 (G_IMMFIRST-0) -#define G_CULLDL (G_IMMFIRST-1) -#define G_POPMTX (G_IMMFIRST-2) -#define G_MOVEWORD (G_IMMFIRST-3) -#define G_TEXTURE (G_IMMFIRST-4) -#define G_SETOTHERMODE_H (G_IMMFIRST-5) -#define G_SETOTHERMODE_L (G_IMMFIRST-6) -#define G_ENDDL (G_IMMFIRST-7) -#define G_SETGEOMETRYMODE (G_IMMFIRST-8) -#define G_CLEARGEOMETRYMODE (G_IMMFIRST-9) -#define G_LINE3D (G_IMMFIRST-10) -#define G_RDPHALF_1 (G_IMMFIRST-11) -#define G_RDPHALF_2 (G_IMMFIRST-12) -#define G_RDPHALF_CONT (G_IMMFIRST-13) - -/* We are overloading 2 of the immediate commands - to keep the byte alignment of dmem the same */ - -#define G_SPRITE2D_SCALEFLIP (G_IMMFIRST-1) -#define G_SPRITE2D_DRAW (G_IMMFIRST-2) - -/* RDP commands: */ -#define G_NOOP 0xc0 /* 0 */ - -/* RDP commands: */ -#define G_SETCIMG 0xff /* -1 */ -#define G_SETZIMG 0xfe /* -2 */ -#define G_SETTIMG 0xfd /* -3 */ -#define G_SETCOMBINE 0xfc /* -4 */ -#define G_SETENVCOLOR 0xfb /* -5 */ -#define G_SETPRIMCOLOR 0xfa /* -6 */ -#define G_SETBLENDCOLOR 0xf9 /* -7 */ -#define G_SETFOGCOLOR 0xf8 /* -8 */ -#define G_SETFILLCOLOR 0xf7 /* -9 */ -#define G_FILLRECT 0xf6 /* -10 */ -#define G_SETTILE 0xf5 /* -11 */ -#define G_LOADTILE 0xf4 /* -12 */ -#define G_LOADBLOCK 0xf3 /* -13 */ -#define G_SETTILESIZE 0xf2 /* -14 */ -#define G_LOADTLUT 0xf0 /* -16 */ -#define G_RDPSETOTHERMODE 0xef /* -17 */ -#define G_SETPRIMDEPTH 0xee /* -18 */ -#define G_SETSCISSOR 0xed /* -19 */ -#define G_SETCONVERT 0xec /* -20 */ -#define G_SETKEYR 0xeb /* -21 */ -#define G_SETKEYGB 0xea /* -22 */ -#define G_RDPFULLSYNC 0xe9 /* -23 */ -#define G_RDPTILESYNC 0xe8 /* -24 */ -#define G_RDPPIPESYNC 0xe7 /* -25 */ -#define G_RDPLOADSYNC 0xe6 /* -26 */ -#define G_TEXRECTFLIP 0xe5 /* -27 */ -#define G_TEXRECT 0xe4 /* -28 */ - - -/* - * The following commands are the "generated" RDP commands; the user - * never sees them, the RSP microcode generates them. - * - * The layout of the bits is magical, to save work in the ucode. - * These id's are -56, -52, -54, -50, -55, -51, -53, -49, ... - * edge, shade, texture, zbuff bits: estz - */ -#define G_TRI_FILL 0xc8 /* fill triangle: 11001000 */ -#define G_TRI_SHADE 0xcc /* shade triangle: 11001100 */ -#define G_TRI_TXTR 0xca /* texture triangle: 11001010 */ -#define G_TRI_SHADE_TXTR 0xce /* shade, texture triangle: 11001110 */ -#define G_TRI_FILL_ZBUFF 0xc9 /* fill, zbuff triangle: 11001001 */ -#define G_TRI_SHADE_ZBUFF 0xcd /* shade, zbuff triangle: 11001101 */ -#define G_TRI_TXTR_ZBUFF 0xcb /* texture, zbuff triangle: 11001011 */ -#define G_TRI_SHADE_TXTR_ZBUFF 0xcf /* shade, txtr, zbuff trngl: 11001111 */ - -/* - * A TRI_FILL triangle is just the edges. You need to set the DP - * to use primcolor, in order to see anything. (it is NOT a triangle - * that gets rendered in 'fill mode'. Triangles can't be rendered - * in 'fill mode') - * - * A TRI_SHADE is a gouraud triangle that has colors interpolated. - * Flat-shaded triangles (from the software) are still gouraud shaded, - * it's just the colors are all the same and the deltas are 0. - * - * Other triangle types, and combinations are more obvious. - */ - -/* masks to build RDP triangle commands: */ -#define G_RDP_TRI_FILL_MASK 0x08 -#define G_RDP_TRI_SHADE_MASK 0x04 -#define G_RDP_TRI_TXTR_MASK 0x02 -#define G_RDP_TRI_ZBUFF_MASK 0x01 - -/* - * HACK: - * This is a dreadful hack. For version 1.0 hardware, there are still - * some 'bowtie' hangs. This parameter can be increased to avoid - * the hangs. Every increase of 4 chops one scanline off of every - * triangle. Values of 4,8,12 should be sufficient to avoid any - * bowtie hang. - * - * Change this value, then recompile ALL of your program (including static - * display lists!) - * - * THIS WILL BE REMOVED FOR HARDWARE VERSION 2.0! - */ -#define BOWTIE_VAL 0 - - -/* gets added to RDP command, in order to test for addres fixup: */ -#define G_RDP_ADDR_FIXUP 3 /* |RDP cmds| <= this, do addr fixup */ - -/* macros for command parsing: */ -#define GDMACMD(x) (x) -#define GIMMCMD(x) (G_IMMFIRST-(x)) -#define GRDPCMD(x) (0xff-(x)) - -#define G_DMACMDSIZ 128 -#define G_IMMCMDSIZ 64 -#define G_RDPCMDSIZ 64 - -/* - * Coordinate shift values, number of bits of fraction - */ -#define G_TEXTURE_IMAGE_FRAC 2 -#define G_TEXTURE_SCALE_FRAC 16 -#define G_SCALE_FRAC 8 -#define G_ROTATE_FRAC 16 - -/* - * Parameters to graphics commands - */ - -/* - * Data packing macros - */ - -/* - * Maximum z-buffer value, used to initialize the z-buffer. - * Note : this number is NOT the viewport z-scale constant. - * See the comment next to G_MAXZ for more info. - */ -#define G_MAXFBZ 0x3fff /* 3b exp, 11b mantissa */ - -#define GPACK_RGBA5551(r, g, b, a) ((((r)<<8) & 0xf800) | \ - (((g)<<3) & 0x7c0) | \ - (((b)>>2) & 0x3e) | ((a) & 0x1)) -#define GPACK_ZDZ(z, dz) ((z) << 2 | (dz)) - -# define G_MTX_MODELVIEW 0x00 /* matrix types */ -# define G_MTX_PROJECTION 0x01 -# define G_MTX_MUL 0x00 /* concat or load */ -# define G_MTX_LOAD 0x02 -# define G_MTX_NOPUSH 0x00 /* push or not */ -# define G_MTX_PUSH 0x04 - -#define G_ZBUFFER 0x00000001 -#define G_SHADE 0x00000004 /* enable Gouraud interp */ -/* rest of low byte reserved for setup ucode */ -# define G_TEXTURE_ENABLE 0x00000002 /* Microcode use only */ -# define G_SHADING_SMOOTH 0x00000200 /* flat or smooth shaded */ -# define G_CULL_FRONT 0x00001000 -# define G_CULL_BACK 0x00002000 -# define G_CULL_BOTH 0x00003000 /* To make code cleaner */ -#define G_FOG 0x00010000 -#define G_LIGHTING 0x00020000 -#define G_TEXTURE_GEN 0x00040000 -#define G_TEXTURE_GEN_LINEAR 0x00080000 -#define G_LOD 0x00100000 /* NOT IMPLEMENTED */ -# define G_CLIPPING 0x00000000 - -/* - * G_SETIMG fmt: set image formats - */ -#define G_IM_FMT_RGBA 0 -#define G_IM_FMT_YUV 1 -#define G_IM_FMT_CI 2 -#define G_IM_FMT_IA 3 -#define G_IM_FMT_I 4 - -/* - * G_SETIMG siz: set image pixel size - */ -#define G_IM_SIZ_4b 0 -#define G_IM_SIZ_8b 1 -#define G_IM_SIZ_16b 2 -#define G_IM_SIZ_32b 3 -#define G_IM_SIZ_DD 5 - -#define G_IM_SIZ_4b_BYTES 0 -#define G_IM_SIZ_4b_TILE_BYTES G_IM_SIZ_4b_BYTES -#define G_IM_SIZ_4b_LINE_BYTES G_IM_SIZ_4b_BYTES - -#define G_IM_SIZ_8b_BYTES 1 -#define G_IM_SIZ_8b_TILE_BYTES G_IM_SIZ_8b_BYTES -#define G_IM_SIZ_8b_LINE_BYTES G_IM_SIZ_8b_BYTES - -#define G_IM_SIZ_16b_BYTES 2 -#define G_IM_SIZ_16b_TILE_BYTES G_IM_SIZ_16b_BYTES -#define G_IM_SIZ_16b_LINE_BYTES G_IM_SIZ_16b_BYTES - -#define G_IM_SIZ_32b_BYTES 4 -#define G_IM_SIZ_32b_TILE_BYTES 2 -#define G_IM_SIZ_32b_LINE_BYTES 2 - -#define G_IM_SIZ_4b_LOAD_BLOCK G_IM_SIZ_16b -#define G_IM_SIZ_8b_LOAD_BLOCK G_IM_SIZ_16b -#define G_IM_SIZ_16b_LOAD_BLOCK G_IM_SIZ_16b -#define G_IM_SIZ_32b_LOAD_BLOCK G_IM_SIZ_32b - -#define G_IM_SIZ_4b_SHIFT 2 -#define G_IM_SIZ_8b_SHIFT 1 -#define G_IM_SIZ_16b_SHIFT 0 -#define G_IM_SIZ_32b_SHIFT 0 - -#define G_IM_SIZ_4b_INCR 3 -#define G_IM_SIZ_8b_INCR 1 -#define G_IM_SIZ_16b_INCR 0 -#define G_IM_SIZ_32b_INCR 0 - -/* - * G_SETCOMBINE: color combine modes - */ -/* Color combiner constants: */ -#define G_CCMUX_COMBINED 0 -#define G_CCMUX_TEXEL0 1 -#define G_CCMUX_TEXEL1 2 -#define G_CCMUX_PRIMITIVE 3 -#define G_CCMUX_SHADE 4 -#define G_CCMUX_ENVIRONMENT 5 -#define G_CCMUX_CENTER 6 -#define G_CCMUX_SCALE 6 -#define G_CCMUX_COMBINED_ALPHA 7 -#define G_CCMUX_TEXEL0_ALPHA 8 -#define G_CCMUX_TEXEL1_ALPHA 9 -#define G_CCMUX_PRIMITIVE_ALPHA 10 -#define G_CCMUX_SHADE_ALPHA 11 -#define G_CCMUX_ENV_ALPHA 12 -#define G_CCMUX_LOD_FRACTION 13 -#define G_CCMUX_PRIM_LOD_FRAC 14 -#define G_CCMUX_NOISE 7 -#define G_CCMUX_K4 7 -#define G_CCMUX_K5 15 -#define G_CCMUX_1 6 -#define G_CCMUX_0 31 - -/* Alpha combiner constants: */ -#define G_ACMUX_COMBINED 0 -#define G_ACMUX_TEXEL0 1 -#define G_ACMUX_TEXEL1 2 -#define G_ACMUX_PRIMITIVE 3 -#define G_ACMUX_SHADE 4 -#define G_ACMUX_ENVIRONMENT 5 -#define G_ACMUX_LOD_FRACTION 0 -#define G_ACMUX_PRIM_LOD_FRAC 6 -#define G_ACMUX_1 6 -#define G_ACMUX_0 7 - -/* typical CC cycle 1 modes */ -#define G_CC_PRIMITIVE 0, 0, 0, PRIMITIVE, 0, 0, 0, PRIMITIVE -#define G_CC_SHADE 0, 0, 0, SHADE, 0, 0, 0, SHADE - -#define G_CC_MODULATEI TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE -#define G_CC_MODULATEIDECALA TEXEL0, 0, SHADE, 0, 0, 0, 0, TEXEL0 -#define G_CC_MODULATEIFADE TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT - -#define G_CC_MODULATERGB G_CC_MODULATEI -#define G_CC_MODULATERGBDECALA G_CC_MODULATEIDECALA -#define G_CC_MODULATERGBFADE G_CC_MODULATEIFADE - -#define G_CC_MODULATEIA TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0 -#define G_CC_MODULATEIFADEA TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0 - -#define G_CC_MODULATEFADE TEXEL0, 0, SHADE, 0, ENVIRONMENT, 0, TEXEL0, 0 - -#define G_CC_MODULATERGBA G_CC_MODULATEIA -#define G_CC_MODULATERGBFADEA G_CC_MODULATEIFADEA - -#define G_CC_MODULATEI_PRIM TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE -#define G_CC_MODULATEIA_PRIM TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0 -#define G_CC_MODULATEIDECALA_PRIM TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, TEXEL0 - -#define G_CC_MODULATERGB_PRIM G_CC_MODULATEI_PRIM -#define G_CC_MODULATERGBA_PRIM G_CC_MODULATEIA_PRIM -#define G_CC_MODULATERGBDECALA_PRIM G_CC_MODULATEIDECALA_PRIM - -#define G_CC_FADE SHADE, 0, ENVIRONMENT, 0, SHADE, 0, ENVIRONMENT, 0 -#define G_CC_FADEA TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0 - -#define G_CC_DECALRGB 0, 0, 0, TEXEL0, 0, 0, 0, SHADE -#define G_CC_DECALRGBA 0, 0, 0, TEXEL0, 0, 0, 0, TEXEL0 -#define G_CC_DECALFADE 0, 0, 0, TEXEL0, 0, 0, 0, ENVIRONMENT - -#define G_CC_DECALFADEA 0, 0, 0, TEXEL0, TEXEL0, 0, ENVIRONMENT, 0 - -#define G_CC_BLENDI ENVIRONMENT, SHADE, TEXEL0, SHADE, 0, 0, 0, SHADE -#define G_CC_BLENDIA ENVIRONMENT, SHADE, TEXEL0, SHADE, TEXEL0, 0, SHADE, 0 -#define G_CC_BLENDIDECALA ENVIRONMENT, SHADE, TEXEL0, SHADE, 0, 0, 0, TEXEL0 - -#define G_CC_BLENDRGBA TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, SHADE -#define G_CC_BLENDRGBDECALA TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, TEXEL0 -#define G_CC_BLENDRGBFADEA TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT - -#define G_CC_ADDRGB TEXEL0, 0, TEXEL0, SHADE, 0, 0, 0, SHADE -#define G_CC_ADDRGBDECALA TEXEL0, 0, TEXEL0, SHADE, 0, 0, 0, TEXEL0 -#define G_CC_ADDRGBFADE TEXEL0, 0, TEXEL0, SHADE, 0, 0, 0, ENVIRONMENT - -#define G_CC_REFLECTRGB ENVIRONMENT, 0, TEXEL0, SHADE, 0, 0, 0, SHADE -#define G_CC_REFLECTRGBDECALA ENVIRONMENT, 0, TEXEL0, SHADE, 0, 0, 0, TEXEL0 - -#define G_CC_HILITERGB PRIMITIVE, SHADE, TEXEL0, SHADE, 0, 0, 0, SHADE -#define G_CC_HILITERGBA PRIMITIVE, SHADE, TEXEL0, SHADE, PRIMITIVE, SHADE, TEXEL0, SHADE -#define G_CC_HILITERGBDECALA PRIMITIVE, SHADE, TEXEL0, SHADE, 0, 0, 0, TEXEL0 - -#define G_CC_SHADEDECALA 0, 0, 0, SHADE, 0, 0, 0, TEXEL0 -#define G_CC_SHADEFADEA 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT - -#define G_CC_BLENDPE PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, SHADE, 0 -#define G_CC_BLENDPEDECALA PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL0 - -/* oddball modes */ -#define _G_CC_BLENDPE ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, SHADE, 0 -#define _G_CC_BLENDPEDECALA ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0 -#define _G_CC_TWOCOLORTEX PRIMITIVE, SHADE, TEXEL0, SHADE, 0, 0, 0, SHADE -/* used for 1-cycle sparse mip-maps, primitive color has color of lowest LOD */ -#define _G_CC_SPARSEST PRIMITIVE, TEXEL0, LOD_FRACTION, TEXEL0, PRIMITIVE, TEXEL0, LOD_FRACTION, TEXEL0 -#define G_CC_TEMPLERP TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0 - -/* typical CC cycle 1 modes, usually followed by other cycle 2 modes */ -#define G_CC_TRILERP TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0 -#define G_CC_INTERFERENCE TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0 - -/* - * One-cycle color convert operation - */ -#define G_CC_1CYUV2RGB TEXEL0, K4, K5, TEXEL0, 0, 0, 0, SHADE - -/* - * NOTE: YUV2RGB expects TF step1 color conversion to occur in 2nd clock. - * Therefore, CC looks for step1 results in TEXEL1 - */ -#define G_CC_YUV2RGB TEXEL1, K4, K5, TEXEL1, 0, 0, 0, 0 - -/* typical CC cycle 2 modes */ -#define G_CC_PASS2 0, 0, 0, COMBINED, 0, 0, 0, COMBINED -#define G_CC_MODULATEI2 COMBINED, 0, SHADE, 0, 0, 0, 0, SHADE -#define G_CC_MODULATEIA2 COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0 -#define G_CC_MODULATERGB2 G_CC_MODULATEI2 -#define G_CC_MODULATERGBA2 G_CC_MODULATEIA2 -#define G_CC_MODULATEI_PRIM2 COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE -#define G_CC_MODULATEIA_PRIM2 COMBINED, 0, PRIMITIVE, 0, COMBINED, 0, PRIMITIVE, 0 -#define G_CC_MODULATERGB_PRIM2 G_CC_MODULATEI_PRIM2 -#define G_CC_MODULATERGBA_PRIM2 G_CC_MODULATEIA_PRIM2 -#define G_CC_DECALRGB2 0, 0, 0, COMBINED, 0, 0, 0, SHADE -/* - * ? -#define G_CC_DECALRGBA2 COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, SHADE -*/ -#define G_CC_BLENDI2 ENVIRONMENT, SHADE, COMBINED, SHADE, 0, 0, 0, SHADE -#define G_CC_BLENDIA2 ENVIRONMENT, SHADE, COMBINED, SHADE, COMBINED, 0, SHADE, 0 -#define G_CC_CHROMA_KEY2 TEXEL0, CENTER, SCALE, 0, 0, 0, 0, 0 -#define G_CC_HILITERGB2 ENVIRONMENT, COMBINED, TEXEL0, COMBINED, 0, 0, 0, SHADE -#define G_CC_HILITERGBA2 ENVIRONMENT, COMBINED, TEXEL0, COMBINED, ENVIRONMENT, COMBINED, TEXEL0, COMBINED -#define G_CC_HILITERGBDECALA2 ENVIRONMENT, COMBINED, TEXEL0, COMBINED, 0, 0, 0, TEXEL0 -#define G_CC_HILITERGBPASSA2 ENVIRONMENT, COMBINED, TEXEL0, COMBINED, 0, 0, 0, COMBINED - -/* - * G_SETOTHERMODE_L sft: shift count - */ -#define G_MDSFT_ALPHACOMPARE 0 -#define G_MDSFT_ZSRCSEL 2 -#define G_MDSFT_RENDERMODE 3 -#define G_MDSFT_BLENDER 16 - -/* - * G_SETOTHERMODE_H sft: shift count - */ -#define G_MDSFT_BLENDMASK 0 /* unsupported */ -#define G_MDSFT_ALPHADITHER 4 -#define G_MDSFT_RGBDITHER 6 - -#define G_MDSFT_COMBKEY 8 -#define G_MDSFT_TEXTCONV 9 -#define G_MDSFT_TEXTFILT 12 -#define G_MDSFT_TEXTLUT 14 -#define G_MDSFT_TEXTLOD 16 -#define G_MDSFT_TEXTDETAIL 17 -#define G_MDSFT_TEXTPERSP 19 -#define G_MDSFT_CYCLETYPE 20 -#define G_MDSFT_COLORDITHER 22 /* unsupported in HW 2.0 */ -#define G_MDSFT_PIPELINE 23 - -/* G_SETOTHERMODE_H gPipelineMode */ -#define G_PM_1PRIMITIVE (1 << G_MDSFT_PIPELINE) -#define G_PM_NPRIMITIVE (0 << G_MDSFT_PIPELINE) - -/* G_SETOTHERMODE_H gSetCycleType */ -#define G_CYC_1CYCLE (0 << G_MDSFT_CYCLETYPE) -#define G_CYC_2CYCLE (1 << G_MDSFT_CYCLETYPE) -#define G_CYC_COPY (2 << G_MDSFT_CYCLETYPE) -#define G_CYC_FILL (3 << G_MDSFT_CYCLETYPE) - -/* G_SETOTHERMODE_H gSetTexturePersp */ -#define G_TP_NONE (0 << G_MDSFT_TEXTPERSP) -#define G_TP_PERSP (1 << G_MDSFT_TEXTPERSP) - -/* G_SETOTHERMODE_H gSetTextureDetail */ -#define G_TD_CLAMP (0 << G_MDSFT_TEXTDETAIL) -#define G_TD_SHARPEN (1 << G_MDSFT_TEXTDETAIL) -#define G_TD_DETAIL (2 << G_MDSFT_TEXTDETAIL) - -/* G_SETOTHERMODE_H gSetTextureLOD */ -#define G_TL_TILE (0 << G_MDSFT_TEXTLOD) -#define G_TL_LOD (1 << G_MDSFT_TEXTLOD) - -/* G_SETOTHERMODE_H gSetTextureLUT */ -#define G_TT_NONE (0 << G_MDSFT_TEXTLUT) -#define G_TT_RGBA16 (2 << G_MDSFT_TEXTLUT) -#define G_TT_IA16 (3 << G_MDSFT_TEXTLUT) - -/* G_SETOTHERMODE_H gSetTextureFilter */ -#define G_TF_POINT (0 << G_MDSFT_TEXTFILT) -#define G_TF_AVERAGE (3 << G_MDSFT_TEXTFILT) -#define G_TF_BILERP (2 << G_MDSFT_TEXTFILT) - -/* G_SETOTHERMODE_H gSetTextureConvert */ -#define G_TC_CONV (0 << G_MDSFT_TEXTCONV) -#define G_TC_FILTCONV (5 << G_MDSFT_TEXTCONV) -#define G_TC_FILT (6 << G_MDSFT_TEXTCONV) - -/* G_SETOTHERMODE_H gSetCombineKey */ -#define G_CK_NONE (0 << G_MDSFT_COMBKEY) -#define G_CK_KEY (1 << G_MDSFT_COMBKEY) - -/* G_SETOTHERMODE_H gSetColorDither */ -#define G_CD_MAGICSQ (0 << G_MDSFT_RGBDITHER) -#define G_CD_BAYER (1 << G_MDSFT_RGBDITHER) -#define G_CD_NOISE (2 << G_MDSFT_RGBDITHER) - -#define G_CD_DISABLE (3 << G_MDSFT_RGBDITHER) -#define G_CD_ENABLE G_CD_NOISE /* HW 1.0 compatibility mode */ - -/* G_SETOTHERMODE_H gSetAlphaDither */ -#define G_AD_PATTERN (0 << G_MDSFT_ALPHADITHER) -#define G_AD_NOTPATTERN (1 << G_MDSFT_ALPHADITHER) -#define G_AD_NOISE (2 << G_MDSFT_ALPHADITHER) -#define G_AD_DISABLE (3 << G_MDSFT_ALPHADITHER) - -/* G_SETOTHERMODE_L gSetAlphaCompare */ -#define G_AC_NONE (0 << G_MDSFT_ALPHACOMPARE) -#define G_AC_THRESHOLD (1 << G_MDSFT_ALPHACOMPARE) -#define G_AC_DITHER (3 << G_MDSFT_ALPHACOMPARE) - -/* G_SETOTHERMODE_L gSetDepthSource */ -#define G_ZS_PIXEL (0 << G_MDSFT_ZSRCSEL) -#define G_ZS_PRIM (1 << G_MDSFT_ZSRCSEL) - -/* G_SETOTHERMODE_L gSetRenderMode */ -#define AA_EN 0x8 -#define Z_CMP 0x10 -#define Z_UPD 0x20 -#define IM_RD 0x40 -#define CLR_ON_CVG 0x80 -#define CVG_DST_CLAMP 0 -#define CVG_DST_WRAP 0x100 -#define CVG_DST_FULL 0x200 -#define CVG_DST_SAVE 0x300 -#define ZMODE_OPA 0 -#define ZMODE_INTER 0x400 -#define ZMODE_XLU 0x800 -#define ZMODE_DEC 0xc00 -#define CVG_X_ALPHA 0x1000 -#define ALPHA_CVG_SEL 0x2000 -#define FORCE_BL 0x4000 -#define TEX_EDGE 0x0000 /* used to be 0x8000 */ - -#define G_BL_CLR_IN 0 -#define G_BL_CLR_MEM 1 -#define G_BL_CLR_BL 2 -#define G_BL_CLR_FOG 3 -#define G_BL_1MA 0 -#define G_BL_A_MEM 1 -#define G_BL_A_IN 0 -#define G_BL_A_FOG 1 -#define G_BL_A_SHADE 2 -#define G_BL_1 2 -#define G_BL_0 3 - -#define GBL_c1(m1a, m1b, m2a, m2b) \ - (m1a) << 30 | (m1b) << 26 | (m2a) << 22 | (m2b) << 18 -#define GBL_c2(m1a, m1b, m2a, m2b) \ - (m1a) << 28 | (m1b) << 24 | (m2a) << 20 | (m2b) << 16 - -#define RM_AA_ZB_OPA_SURF(clk) \ - AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_CLAMP | \ - ZMODE_OPA | ALPHA_CVG_SEL | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_RA_ZB_OPA_SURF(clk) \ - AA_EN | Z_CMP | Z_UPD | CVG_DST_CLAMP | \ - ZMODE_OPA | ALPHA_CVG_SEL | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_AA_ZB_XLU_SURF(clk) \ - AA_EN | Z_CMP | IM_RD | CVG_DST_WRAP | CLR_ON_CVG | \ - FORCE_BL | ZMODE_XLU | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_AA_ZB_OPA_DECAL(clk) \ - AA_EN | Z_CMP | IM_RD | CVG_DST_WRAP | ALPHA_CVG_SEL | \ - ZMODE_DEC | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_RA_ZB_OPA_DECAL(clk) \ - AA_EN | Z_CMP | CVG_DST_WRAP | ALPHA_CVG_SEL | \ - ZMODE_DEC | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_AA_ZB_XLU_DECAL(clk) \ - AA_EN | Z_CMP | IM_RD | CVG_DST_WRAP | CLR_ON_CVG | \ - FORCE_BL | ZMODE_DEC | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_AA_ZB_OPA_INTER(clk) \ - AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_CLAMP | \ - ALPHA_CVG_SEL | ZMODE_INTER | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_RA_ZB_OPA_INTER(clk) \ - AA_EN | Z_CMP | Z_UPD | CVG_DST_CLAMP | \ - ALPHA_CVG_SEL | ZMODE_INTER | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_AA_ZB_XLU_INTER(clk) \ - AA_EN | Z_CMP | IM_RD | CVG_DST_WRAP | CLR_ON_CVG | \ - FORCE_BL | ZMODE_INTER | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_AA_ZB_XLU_LINE(clk) \ - AA_EN | Z_CMP | IM_RD | CVG_DST_CLAMP | CVG_X_ALPHA | \ - ALPHA_CVG_SEL | FORCE_BL | ZMODE_XLU | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_AA_ZB_DEC_LINE(clk) \ - AA_EN | Z_CMP | IM_RD | CVG_DST_SAVE | CVG_X_ALPHA | \ - ALPHA_CVG_SEL | FORCE_BL | ZMODE_DEC | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_AA_ZB_TEX_EDGE(clk) \ - AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_CLAMP | \ - CVG_X_ALPHA | ALPHA_CVG_SEL | ZMODE_OPA | TEX_EDGE | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_AA_ZB_TEX_INTER(clk) \ - AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_CLAMP | \ - CVG_X_ALPHA | ALPHA_CVG_SEL | ZMODE_INTER | TEX_EDGE | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_AA_ZB_SUB_SURF(clk) \ - AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_FULL | \ - ZMODE_OPA | ALPHA_CVG_SEL | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_AA_ZB_PCL_SURF(clk) \ - AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_CLAMP | \ - ZMODE_OPA | G_AC_DITHER | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_AA_ZB_OPA_TERR(clk) \ - AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_CLAMP | \ - ZMODE_OPA | ALPHA_CVG_SEL | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_AA_ZB_TEX_TERR(clk) \ - AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_CLAMP | \ - CVG_X_ALPHA | ALPHA_CVG_SEL | ZMODE_OPA | TEX_EDGE | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_AA_ZB_SUB_TERR(clk) \ - AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_FULL | \ - ZMODE_OPA | ALPHA_CVG_SEL | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - - -#define RM_AA_OPA_SURF(clk) \ - AA_EN | IM_RD | CVG_DST_CLAMP | \ - ZMODE_OPA | ALPHA_CVG_SEL | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_RA_OPA_SURF(clk) \ - AA_EN | CVG_DST_CLAMP | \ - ZMODE_OPA | ALPHA_CVG_SEL | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_AA_XLU_SURF(clk) \ - AA_EN | IM_RD | CVG_DST_WRAP | CLR_ON_CVG | FORCE_BL | \ - ZMODE_OPA | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_AA_XLU_LINE(clk) \ - AA_EN | IM_RD | CVG_DST_CLAMP | CVG_X_ALPHA | \ - ALPHA_CVG_SEL | FORCE_BL | ZMODE_OPA | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_AA_DEC_LINE(clk) \ - AA_EN | IM_RD | CVG_DST_FULL | CVG_X_ALPHA | \ - ALPHA_CVG_SEL | FORCE_BL | ZMODE_OPA | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_AA_TEX_EDGE(clk) \ - AA_EN | IM_RD | CVG_DST_CLAMP | \ - CVG_X_ALPHA | ALPHA_CVG_SEL | ZMODE_OPA | TEX_EDGE | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_AA_SUB_SURF(clk) \ - AA_EN | IM_RD | CVG_DST_FULL | \ - ZMODE_OPA | ALPHA_CVG_SEL | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_AA_PCL_SURF(clk) \ - AA_EN | IM_RD | CVG_DST_CLAMP | \ - ZMODE_OPA | G_AC_DITHER | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_AA_OPA_TERR(clk) \ - AA_EN | IM_RD | CVG_DST_CLAMP | \ - ZMODE_OPA | ALPHA_CVG_SEL | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_AA_TEX_TERR(clk) \ - AA_EN | IM_RD | CVG_DST_CLAMP | \ - CVG_X_ALPHA | ALPHA_CVG_SEL | ZMODE_OPA | TEX_EDGE | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_AA_SUB_TERR(clk) \ - AA_EN | IM_RD | CVG_DST_FULL | \ - ZMODE_OPA | ALPHA_CVG_SEL | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - - -#define RM_ZB_OPA_SURF(clk) \ - Z_CMP | Z_UPD | CVG_DST_FULL | ALPHA_CVG_SEL | \ - ZMODE_OPA | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_ZB_XLU_SURF(clk) \ - Z_CMP | IM_RD | CVG_DST_FULL | FORCE_BL | ZMODE_XLU | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_ZB_OPA_DECAL(clk) \ - Z_CMP | CVG_DST_FULL | ALPHA_CVG_SEL | ZMODE_DEC | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) - -#define RM_ZB_XLU_DECAL(clk) \ - Z_CMP | IM_RD | CVG_DST_FULL | FORCE_BL | ZMODE_DEC | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_ZB_CLD_SURF(clk) \ - Z_CMP | IM_RD | CVG_DST_SAVE | FORCE_BL | ZMODE_XLU | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_ZB_OVL_SURF(clk) \ - Z_CMP | IM_RD | CVG_DST_SAVE | FORCE_BL | ZMODE_DEC | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_ZB_PCL_SURF(clk) \ - Z_CMP | Z_UPD | CVG_DST_FULL | ZMODE_OPA | \ - G_AC_DITHER | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1) - - -#define RM_OPA_SURF(clk) \ - CVG_DST_CLAMP | FORCE_BL | ZMODE_OPA | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1) - -#define RM_XLU_SURF(clk) \ - IM_RD | CVG_DST_FULL | FORCE_BL | ZMODE_OPA | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_TEX_EDGE(clk) \ - CVG_DST_CLAMP | CVG_X_ALPHA | ALPHA_CVG_SEL | FORCE_BL |\ - ZMODE_OPA | TEX_EDGE | AA_EN | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1) - -#define RM_CLD_SURF(clk) \ - IM_RD | CVG_DST_SAVE | FORCE_BL | ZMODE_OPA | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -#define RM_PCL_SURF(clk) \ - CVG_DST_FULL | FORCE_BL | ZMODE_OPA | \ - G_AC_DITHER | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1) - -#define RM_ADD(clk) \ - IM_RD | CVG_DST_SAVE | FORCE_BL | ZMODE_OPA | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_A_FOG, G_BL_CLR_MEM, G_BL_1) - -#define RM_NOOP(clk) \ - GBL_c##clk(0, 0, 0, 0) - -#define RM_VISCVG(clk) \ - IM_RD | FORCE_BL | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_0, G_BL_CLR_BL, G_BL_A_MEM) - -/* for rendering to an 8-bit framebuffer */ -#define RM_OPA_CI(clk) \ - CVG_DST_CLAMP | ZMODE_OPA | \ - GBL_c##clk(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1) - -/* Custom version of RM_AA_ZB_XLU_SURF with Z_UPD */ -#define RM_CUSTOM_AA_ZB_XLU_SURF(clk) \ - RM_AA_ZB_XLU_SURF(clk) | Z_UPD - - -#define G_RM_AA_ZB_OPA_SURF RM_AA_ZB_OPA_SURF(1) -#define G_RM_AA_ZB_OPA_SURF2 RM_AA_ZB_OPA_SURF(2) -#define G_RM_AA_ZB_XLU_SURF RM_AA_ZB_XLU_SURF(1) -#define G_RM_AA_ZB_XLU_SURF2 RM_AA_ZB_XLU_SURF(2) -#define G_RM_AA_ZB_OPA_DECAL RM_AA_ZB_OPA_DECAL(1) -#define G_RM_AA_ZB_OPA_DECAL2 RM_AA_ZB_OPA_DECAL(2) -#define G_RM_AA_ZB_XLU_DECAL RM_AA_ZB_XLU_DECAL(1) -#define G_RM_AA_ZB_XLU_DECAL2 RM_AA_ZB_XLU_DECAL(2) -#define G_RM_AA_ZB_OPA_INTER RM_AA_ZB_OPA_INTER(1) -#define G_RM_AA_ZB_OPA_INTER2 RM_AA_ZB_OPA_INTER(2) -#define G_RM_AA_ZB_XLU_INTER RM_AA_ZB_XLU_INTER(1) -#define G_RM_AA_ZB_XLU_INTER2 RM_AA_ZB_XLU_INTER(2) -#define G_RM_AA_ZB_XLU_LINE RM_AA_ZB_XLU_LINE(1) -#define G_RM_AA_ZB_XLU_LINE2 RM_AA_ZB_XLU_LINE(2) -#define G_RM_AA_ZB_DEC_LINE RM_AA_ZB_DEC_LINE(1) -#define G_RM_AA_ZB_DEC_LINE2 RM_AA_ZB_DEC_LINE(2) -#define G_RM_AA_ZB_TEX_EDGE RM_AA_ZB_TEX_EDGE(1) -#define G_RM_AA_ZB_TEX_EDGE2 RM_AA_ZB_TEX_EDGE(2) -#define G_RM_AA_ZB_TEX_INTER RM_AA_ZB_TEX_INTER(1) -#define G_RM_AA_ZB_TEX_INTER2 RM_AA_ZB_TEX_INTER(2) -#define G_RM_AA_ZB_SUB_SURF RM_AA_ZB_SUB_SURF(1) -#define G_RM_AA_ZB_SUB_SURF2 RM_AA_ZB_SUB_SURF(2) -#define G_RM_AA_ZB_PCL_SURF RM_AA_ZB_PCL_SURF(1) -#define G_RM_AA_ZB_PCL_SURF2 RM_AA_ZB_PCL_SURF(2) -#define G_RM_AA_ZB_OPA_TERR RM_AA_ZB_OPA_TERR(1) -#define G_RM_AA_ZB_OPA_TERR2 RM_AA_ZB_OPA_TERR(2) -#define G_RM_AA_ZB_TEX_TERR RM_AA_ZB_TEX_TERR(1) -#define G_RM_AA_ZB_TEX_TERR2 RM_AA_ZB_TEX_TERR(2) -#define G_RM_AA_ZB_SUB_TERR RM_AA_ZB_SUB_TERR(1) -#define G_RM_AA_ZB_SUB_TERR2 RM_AA_ZB_SUB_TERR(2) - -#define G_RM_RA_ZB_OPA_SURF RM_RA_ZB_OPA_SURF(1) -#define G_RM_RA_ZB_OPA_SURF2 RM_RA_ZB_OPA_SURF(2) -#define G_RM_RA_ZB_OPA_DECAL RM_RA_ZB_OPA_DECAL(1) -#define G_RM_RA_ZB_OPA_DECAL2 RM_RA_ZB_OPA_DECAL(2) -#define G_RM_RA_ZB_OPA_INTER RM_RA_ZB_OPA_INTER(1) -#define G_RM_RA_ZB_OPA_INTER2 RM_RA_ZB_OPA_INTER(2) - -#define G_RM_AA_OPA_SURF RM_AA_OPA_SURF(1) -#define G_RM_AA_OPA_SURF2 RM_AA_OPA_SURF(2) -#define G_RM_AA_XLU_SURF RM_AA_XLU_SURF(1) -#define G_RM_AA_XLU_SURF2 RM_AA_XLU_SURF(2) -#define G_RM_AA_XLU_LINE RM_AA_XLU_LINE(1) -#define G_RM_AA_XLU_LINE2 RM_AA_XLU_LINE(2) -#define G_RM_AA_DEC_LINE RM_AA_DEC_LINE(1) -#define G_RM_AA_DEC_LINE2 RM_AA_DEC_LINE(2) -#define G_RM_AA_TEX_EDGE RM_AA_TEX_EDGE(1) -#define G_RM_AA_TEX_EDGE2 RM_AA_TEX_EDGE(2) -#define G_RM_AA_SUB_SURF RM_AA_SUB_SURF(1) -#define G_RM_AA_SUB_SURF2 RM_AA_SUB_SURF(2) -#define G_RM_AA_PCL_SURF RM_AA_PCL_SURF(1) -#define G_RM_AA_PCL_SURF2 RM_AA_PCL_SURF(2) -#define G_RM_AA_OPA_TERR RM_AA_OPA_TERR(1) -#define G_RM_AA_OPA_TERR2 RM_AA_OPA_TERR(2) -#define G_RM_AA_TEX_TERR RM_AA_TEX_TERR(1) -#define G_RM_AA_TEX_TERR2 RM_AA_TEX_TERR(2) -#define G_RM_AA_SUB_TERR RM_AA_SUB_TERR(1) -#define G_RM_AA_SUB_TERR2 RM_AA_SUB_TERR(2) - -#define G_RM_RA_OPA_SURF RM_RA_OPA_SURF(1) -#define G_RM_RA_OPA_SURF2 RM_RA_OPA_SURF(2) - -#define G_RM_ZB_OPA_SURF RM_ZB_OPA_SURF(1) -#define G_RM_ZB_OPA_SURF2 RM_ZB_OPA_SURF(2) -#define G_RM_ZB_XLU_SURF RM_ZB_XLU_SURF(1) -#define G_RM_ZB_XLU_SURF2 RM_ZB_XLU_SURF(2) -#define G_RM_ZB_OPA_DECAL RM_ZB_OPA_DECAL(1) -#define G_RM_ZB_OPA_DECAL2 RM_ZB_OPA_DECAL(2) -#define G_RM_ZB_XLU_DECAL RM_ZB_XLU_DECAL(1) -#define G_RM_ZB_XLU_DECAL2 RM_ZB_XLU_DECAL(2) -#define G_RM_ZB_CLD_SURF RM_ZB_CLD_SURF(1) -#define G_RM_ZB_CLD_SURF2 RM_ZB_CLD_SURF(2) -#define G_RM_ZB_OVL_SURF RM_ZB_OVL_SURF(1) -#define G_RM_ZB_OVL_SURF2 RM_ZB_OVL_SURF(2) -#define G_RM_ZB_PCL_SURF RM_ZB_PCL_SURF(1) -#define G_RM_ZB_PCL_SURF2 RM_ZB_PCL_SURF(2) - -#define G_RM_OPA_SURF RM_OPA_SURF(1) -#define G_RM_OPA_SURF2 RM_OPA_SURF(2) -#define G_RM_XLU_SURF RM_XLU_SURF(1) -#define G_RM_XLU_SURF2 RM_XLU_SURF(2) -#define G_RM_CLD_SURF RM_CLD_SURF(1) -#define G_RM_CLD_SURF2 RM_CLD_SURF(2) -#define G_RM_TEX_EDGE RM_TEX_EDGE(1) -#define G_RM_TEX_EDGE2 RM_TEX_EDGE(2) -#define G_RM_PCL_SURF RM_PCL_SURF(1) -#define G_RM_PCL_SURF2 RM_PCL_SURF(2) -#define G_RM_ADD RM_ADD(1) -#define G_RM_ADD2 RM_ADD(2) -#define G_RM_NOOP RM_NOOP(1) -#define G_RM_NOOP2 RM_NOOP(2) -#define G_RM_VISCVG RM_VISCVG(1) -#define G_RM_VISCVG2 RM_VISCVG(2) -#define G_RM_OPA_CI RM_OPA_CI(1) -#define G_RM_OPA_CI2 RM_OPA_CI(2) - -#define G_RM_CUSTOM_AA_ZB_XLU_SURF RM_CUSTOM_AA_ZB_XLU_SURF(1) -#define G_RM_CUSTOM_AA_ZB_XLU_SURF2 RM_CUSTOM_AA_ZB_XLU_SURF(2) - - -#define G_RM_FOG_SHADE_A GBL_c1(G_BL_CLR_FOG, G_BL_A_SHADE, G_BL_CLR_IN, G_BL_1MA) -#define G_RM_FOG_PRIM_A GBL_c1(G_BL_CLR_FOG, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA) -#define G_RM_PASS GBL_c1(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1) - -/* - * G_SETCONVERT: K0-5 - */ -#define G_CV_K0 175 -#define G_CV_K1 -43 -#define G_CV_K2 -89 -#define G_CV_K3 222 -#define G_CV_K4 114 -#define G_CV_K5 42 - -/* - * G_SETSCISSOR: interlace mode - */ -#define G_SC_NON_INTERLACE 0 -#define G_SC_ODD_INTERLACE 3 -#define G_SC_EVEN_INTERLACE 2 - -/* flags to inhibit pushing of the display list (on branch) */ -#define G_DL_PUSH 0x00 -#define G_DL_NOPUSH 0x01 -#define G_MAXZ 0x03ff /* 10 bits of integer screen-Z precision */ - -/* - * MOVEMEM indices - * - * Each of these indexes an entry in a dmem table - * which points to a 1-4 word block of dmem in - * which to store a 1-4 word DMA. - * - */ - -# define G_MV_VIEWPORT 0x80 -# define G_MV_LOOKATY 0x82 -# define G_MV_LOOKATX 0x84 -# define G_MV_L0 0x86 -# define G_MV_L1 0x88 -# define G_MV_L2 0x8a -# define G_MV_L3 0x8c -# define G_MV_L4 0x8e -# define G_MV_L5 0x90 -# define G_MV_L6 0x92 -# define G_MV_L7 0x94 -# define G_MV_TXTATT 0x96 -# define G_MV_MATRIX_1 0x9e /* NOTE: this is in moveword table */ -# define G_MV_MATRIX_2 0x98 -# define G_MV_MATRIX_3 0x9a -# define G_MV_MATRIX_4 0x9c - -/* - * MOVEWORD indices - * - * Each of these indexes an entry in a dmem table - * which points to a word in dmem in dmem where - * an immediate word will be stored. - * - */ -#define G_MW_MATRIX 0x00 /* NOTE: also used by movemem */ -#define G_MW_NUMLIGHT 0x02 -#define G_MW_CLIP 0x04 -#define G_MW_SEGMENT 0x06 -#define G_MW_FOG 0x08 -#define G_MW_LIGHTCOL 0x0a -# define G_MW_POINTS 0x0c -#define G_MW_PERSPNORM 0x0e - -/* - * These are offsets from the address in the dmem table - */ -#define G_MWO_NUMLIGHT 0x00 -#define G_MWO_CLIP_RNX 0x04 -#define G_MWO_CLIP_RNY 0x0c -#define G_MWO_CLIP_RPX 0x14 -#define G_MWO_CLIP_RPY 0x1c -#define G_MWO_SEGMENT_0 0x00 -#define G_MWO_SEGMENT_1 0x01 -#define G_MWO_SEGMENT_2 0x02 -#define G_MWO_SEGMENT_3 0x03 -#define G_MWO_SEGMENT_4 0x04 -#define G_MWO_SEGMENT_5 0x05 -#define G_MWO_SEGMENT_6 0x06 -#define G_MWO_SEGMENT_7 0x07 -#define G_MWO_SEGMENT_8 0x08 -#define G_MWO_SEGMENT_9 0x09 -#define G_MWO_SEGMENT_A 0x0a -#define G_MWO_SEGMENT_B 0x0b -#define G_MWO_SEGMENT_C 0x0c -#define G_MWO_SEGMENT_D 0x0d -#define G_MWO_SEGMENT_E 0x0e -#define G_MWO_SEGMENT_F 0x0f -#define G_MWO_FOG 0x00 -#define G_MWO_aLIGHT_1 0x00 -#define G_MWO_bLIGHT_1 0x04 -#define G_MWO_aLIGHT_2 0x20 -#define G_MWO_bLIGHT_2 0x24 -#define G_MWO_aLIGHT_3 0x40 -#define G_MWO_bLIGHT_3 0x44 -#define G_MWO_aLIGHT_4 0x60 -#define G_MWO_bLIGHT_4 0x64 -#define G_MWO_aLIGHT_5 0x80 -#define G_MWO_bLIGHT_5 0x84 -#define G_MWO_aLIGHT_6 0xa0 -#define G_MWO_bLIGHT_6 0xa4 -#define G_MWO_aLIGHT_7 0xc0 -#define G_MWO_bLIGHT_7 0xc4 -#define G_MWO_aLIGHT_8 0xe0 -#define G_MWO_bLIGHT_8 0xe4 -#define G_MWO_MATRIX_XX_XY_I 0x00 -#define G_MWO_MATRIX_XZ_XW_I 0x04 -#define G_MWO_MATRIX_YX_YY_I 0x08 -#define G_MWO_MATRIX_YZ_YW_I 0x0c -#define G_MWO_MATRIX_ZX_ZY_I 0x10 -#define G_MWO_MATRIX_ZZ_ZW_I 0x14 -#define G_MWO_MATRIX_WX_WY_I 0x18 -#define G_MWO_MATRIX_WZ_WW_I 0x1c -#define G_MWO_MATRIX_XX_XY_F 0x20 -#define G_MWO_MATRIX_XZ_XW_F 0x24 -#define G_MWO_MATRIX_YX_YY_F 0x28 -#define G_MWO_MATRIX_YZ_YW_F 0x2c -#define G_MWO_MATRIX_ZX_ZY_F 0x30 -#define G_MWO_MATRIX_ZZ_ZW_F 0x34 -#define G_MWO_MATRIX_WX_WY_F 0x38 -#define G_MWO_MATRIX_WZ_WW_F 0x3c -#define G_MWO_POINT_RGBA 0x10 -#define G_MWO_POINT_ST 0x14 -#define G_MWO_POINT_XYSCREEN 0x18 -#define G_MWO_POINT_ZSCREEN 0x1c - -#define gdSPDefLights0(ar,ag,ab) \ - { {{ {ar,ag,ab},0,{ar,ag,ab},0}}, \ - {{{ { 0, 0, 0},0,{ 0, 0, 0},0,{ 0, 0, 0},0}}} } -#define gdSPDefLights1(ar,ag,ab,r1,g1,b1,x1,y1,z1) \ - { {{ {ar,ag,ab},0,{ar,ag,ab},0}}, \ - {{{ {r1,g1,b1},0,{r1,g1,b1},0,{x1,y1,z1},0}}} } -#define gdSPDefLights2(ar,ag,ab,r1,g1,b1,x1,y1,z1,r2,g2,b2,x2,y2,z2) \ - { {{ {ar,ag,ab},0,{ar,ag,ab},0}}, \ - {{{ {r1,g1,b1},0,{r1,g1,b1},0,{x1,y1,z1},0}}, \ - {{ {r2,g2,b2},0,{r2,g2,b2},0,{x2,y2,z2},0}}} } -#define gdSPDefLights3(ar,ag,ab,r1,g1,b1,x1,y1,z1,r2,g2,b2,x2,y2,z2,r3,g3,b3,x3,y3,z3) \ - { {{ {ar,ag,ab},0,{ar,ag,ab},0}}, \ - {{{ {r1,g1,b1},0,{r1,g1,b1},0,{x1,y1,z1},0}}, \ - {{ {r2,g2,b2},0,{r2,g2,b2},0,{x2,y2,z2},0}}, \ - {{ {r3,g3,b3},0,{r3,g3,b3},0,{x3,y3,z3},0}}} } -#define gdSPDefLights4(ar,ag,ab,r1,g1,b1,x1,y1,z1,r2,g2,b2,x2,y2,z2,r3,g3,b3,x3,y3,z3,r4,g4,b4,x4,y4,z4) \ - { {{ {ar,ag,ab},0,{ar,ag,ab},0}}, \ - {{{ {r1,g1,b1},0,{r1,g1,b1},0,{x1,y1,z1},0}}, \ - {{ {r2,g2,b2},0,{r2,g2,b2},0,{x2,y2,z2},0}}, \ - {{ {r3,g3,b3},0,{r3,g3,b3},0,{x3,y3,z3},0}}, \ - {{ {r4,g4,b4},0,{r4,g4,b4},0,{x4,y4,z4},0}}} } -#define gdSPDefLights5(ar,ag,ab,r1,g1,b1,x1,y1,z1,r2,g2,b2,x2,y2,z2,r3,g3,b3,x3,y3,z3,r4,g4,b4,x4,y4,z4,r5,g5,b5,x5,y5,z5) \ - { {{ {ar,ag,ab},0,{ar,ag,ab},0}}, \ - {{{ {r1,g1,b1},0,{r1,g1,b1},0,{x1,y1,z1},0}}, \ - {{ {r2,g2,b2},0,{r2,g2,b2},0,{x2,y2,z2},0}}, \ - {{ {r3,g3,b3},0,{r3,g3,b3},0,{x3,y3,z3},0}}, \ - {{ {r4,g4,b4},0,{r4,g4,b4},0,{x4,y4,z4},0}}, \ - {{ {r5,g5,b5},0,{r5,g5,b5},0,{x5,y5,z5},0}}} } - - -#define gdSPDefLights6(ar,ag,ab,r1,g1,b1,x1,y1,z1,r2,g2,b2,x2,y2,z2,r3,g3,b3,x3,y3,z3,r4,g4,b4,x4,y4,z4,r5,g5,b5,x5,y5,z5,r6,g6,b6,x6,y6,z6) \ - { {{ {ar,ag,ab},0,{ar,ag,ab},0}}, \ - {{{ {r1,g1,b1},0,{r1,g1,b1},0,{x1,y1,z1},0}}, \ - {{ {r2,g2,b2},0,{r2,g2,b2},0,{x2,y2,z2},0}}, \ - {{ {r3,g3,b3},0,{r3,g3,b3},0,{x3,y3,z3},0}}, \ - {{ {r4,g4,b4},0,{r4,g4,b4},0,{x4,y4,z4},0}}, \ - {{ {r5,g5,b5},0,{r5,g5,b5},0,{x5,y5,z5},0}}, \ - {{ {r6,g6,b6},0,{r6,g6,b6},0,{x6,y6,z6},0}}} } - - -#define gdSPDefLights7(ar,ag,ab,r1,g1,b1,x1,y1,z1,r2,g2,b2,x2,y2,z2,r3,g3,b3,x3,y3,z3,r4,g4,b4,x4,y4,z4,r5,g5,b5,x5,y5,z5,r6,g6,b6,x6,y6,z6,r7,g7,b7,x7,y7,z7) \ - { {{ {ar,ag,ab},0,{ar,ag,ab},0}}, \ - {{{ {r1,g1,b1},0,{r1,g1,b1},0,{x1,y1,z1},0}}, \ - {{ {r2,g2,b2},0,{r2,g2,b2},0,{x2,y2,z2},0}}, \ - {{ {r3,g3,b3},0,{r3,g3,b3},0,{x3,y3,z3},0}}, \ - {{ {r4,g4,b4},0,{r4,g4,b4},0,{x4,y4,z4},0}}, \ - {{ {r5,g5,b5},0,{r5,g5,b5},0,{x5,y5,z5},0}}, \ - {{ {r6,g6,b6},0,{r6,g6,b6},0,{x6,y6,z6},0}}, \ - {{ {r7,g7,b7},0,{r7,g7,b7},0,{x7,y7,z7},0}}} } - - -#define gdSPDefLookAt(rightx,righty,rightz,upx,upy,upz) \ - { {{ {{0,0,0},0,{0,0,0},0,{rightx,righty,rightz},0}}, \ - { {{0,0x80,0},0,{0,0x80,0},0,{upx,upy,upz},0}}} } - -#define MakeTexRect(xh,yh,flip,tile,xl,yl,s,t,dsdx,dtdy) \ - G_TEXRECT, xh, yh, 0, flip, 0, tile, xl, yl, s, t, dsdx, dtdy - -/* - * Macros to assemble the graphics display list - */ - -/* - * DMA macros - */ -#define gDma0p(pkt, c, s, l) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL((c), 24, 8) | _SHIFTL((l), 0, 24); \ - _g->words.w1 = (uintptr_t)(s); \ -} - -#define gsDma0p(c, s, l) \ -{{ \ - _SHIFTL((c), 24, 8) | _SHIFTL((l), 0, 24), (uintptr_t)(s) \ -}} - -#define gDma1p(pkt, c, s, l, p) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL((c), 24, 8) | _SHIFTL((p), 16, 8) | \ - _SHIFTL((l), 0, 16)); \ - _g->words.w1 = (uintptr_t)(s); \ -} - -#define gsDma1p(c, s, l, p) \ -{{ \ - (_SHIFTL((c), 24, 8) | _SHIFTL((p), 16, 8) | \ - _SHIFTL((l), 0, 16)), \ - (uintptr_t)(s) \ -}} - -#define gDma2p(pkt, c, adrs, len, idx, ofs) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = (_SHIFTL((c),24,8)|_SHIFTL(((len)-1)/8,19,5)| \ - _SHIFTL((ofs)/8,8,8)|_SHIFTL((idx),0,8)); \ - _g->words.w1 = (uintptr_t)(adrs); \ -} -#define gsDma2p(c, adrs, len, idx, ofs) \ -{{ \ - (_SHIFTL((c),24,8)|_SHIFTL(((len)-1)/8,19,5)| \ - _SHIFTL((ofs)/8,8,8)|_SHIFTL((idx),0,8)), \ - (uintptr_t)(adrs) \ -}} - -#define gSPNoOp(pkt) gDma0p(pkt, G_SPNOOP, 0, 0) -#define gsSPNoOp() gsDma0p(G_SPNOOP, 0, 0) - -# define gSPMatrix(pkt, m, p) gDma1p(pkt, G_MTX, m, sizeof(Mtx), p) -# define gsSPMatrix(m, p) gsDma1p(G_MTX, m, sizeof(Mtx), p) - -# define gSPVertex(pkt, v, n, v0) \ - gDma1p(pkt, G_VTX, v, sizeof(Vtx)*(n),((n)-1)<<4|(v0)) -# define gsSPVertex(v, n, v0) \ - gsDma1p(G_VTX, v, sizeof(Vtx)*(n), ((n)-1)<<4|(v0)) - -# define gSPViewport(pkt,v) \ - gDma1p((pkt), G_MOVEMEM, (v), sizeof(Vp), G_MV_VIEWPORT) -# define gsSPViewport(v) \ - gsDma1p( G_MOVEMEM, (v), sizeof(Vp), G_MV_VIEWPORT) - -#define gSPDisplayList(pkt,dl) gDma1p(pkt,G_DL,dl,0,G_DL_PUSH) -#define gsSPDisplayList( dl) gsDma1p( G_DL,dl,0,G_DL_PUSH) - -#define gSPBranchList(pkt,dl) gDma1p(pkt,G_DL,dl,0,G_DL_NOPUSH) -#define gsSPBranchList( dl) gsDma1p( G_DL,dl,0,G_DL_NOPUSH) - -#define gSPSprite2DBase(pkt, s) gDma1p(pkt, G_SPRITE2D_BASE, s, sizeof(uSprite), 0) -#define gsSPSprite2DBase(s) gsDma1p(G_SPRITE2D_BASE, s, sizeof(uSprite), 0) - -/* - * RSP short command (no DMA required) macros - */ -#define gImmp0(pkt, c) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL((c), 24, 8); \ -} - -#define gsImmp0(c) \ -{{ \ - _SHIFTL((c), 24, 8) \ -}} - -#define gImmp1(pkt, c, p0) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL((c), 24, 8); \ - _g->words.w1 = (uintptr_t)(p0); \ -} - -#define gsImmp1(c, p0) \ -{{ \ - _SHIFTL((c), 24, 8), (uintptr_t)(p0) \ -}} - -#define gImmp2(pkt, c, p0, p1) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL((c), 24, 8); \ - _g->words.w1 = _SHIFTL((p0), 16, 16) | _SHIFTL((p1), 8, 8); \ -} - -#define gsImmp2(c, p0, p1) \ -{{ \ - _SHIFTL((c), 24, 8), _SHIFTL((p0), 16, 16) | _SHIFTL((p1), 8, 8)\ -}} - -#define gImmp3(pkt, c, p0, p1, p2) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL((c), 24, 8); \ - _g->words.w1 = (_SHIFTL((p0), 16, 16) | _SHIFTL((p1), 8, 8) | \ - _SHIFTL((p2), 0, 8)); \ -} - -#define gsImmp3(c, p0, p1, p2) \ -{{ \ - _SHIFTL((c), 24, 8), (_SHIFTL((p0), 16, 16) | \ - _SHIFTL((p1), 8, 8) | _SHIFTL((p2), 0, 8))\ -}} - -#define gImmp21(pkt, c, p0, p1, dat) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL((c), 24, 8) | _SHIFTL((p0), 8, 16) | \ - _SHIFTL((p1), 0, 8)); \ - _g->words.w1 = (uintptr_t) (dat); \ -} - -#define gsImmp21(c, p0, p1, dat) \ -{{ \ - _SHIFTL((c), 24, 8) | _SHIFTL((p0), 8, 16) | _SHIFTL((p1), 0, 8),\ - (uintptr_t) (dat) \ -}} - -#define gMoveWd(pkt, index, offset, data) \ - gImmp21((pkt), G_MOVEWORD, offset, index, data) -#define gsMoveWd( index, offset, data) \ - gsImmp21( G_MOVEWORD, offset, index, data) - -/* Sprite immediate macros, there is also a sprite dma macro above */ - -#define gSPSprite2DScaleFlip(pkt, sx, sy, fx, fy) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_SPRITE2D_SCALEFLIP, 24, 8) | \ - _SHIFTL((fx), 8, 8) | \ - _SHIFTL((fy), 0, 8)); \ - _g->words.w1 = (_SHIFTL((sx), 16, 16) | \ - _SHIFTL((sy), 0, 16)); \ -} - -#define gsSPSprite2DScaleFlip(sx, sy, fx, fy) \ -{{ \ - (_SHIFTL(G_SPRITE2D_SCALEFLIP, 24, 8) | \ - _SHIFTL((fx), 8, 8) | \ - _SHIFTL((fy), 0, 8)), \ - (_SHIFTL((sx), 16, 16) | \ - _SHIFTL((sy), 0, 16)) \ -}} - -#define gSPSprite2DDraw(pkt, px, py) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_SPRITE2D_DRAW, 24, 8)); \ - _g->words.w1 = (_SHIFTL((px), 16, 16) | \ - _SHIFTL((py), 0, 16)); \ -} - -#define gsSPSprite2DDraw(px, py) \ -{{ \ - (_SHIFTL(G_SPRITE2D_DRAW, 24, 8)), \ - (_SHIFTL((px), 16, 16) | \ - _SHIFTL((py), 0, 16)) \ -}} - - -/* - * Note: the SP1Triangle() and line macros multiply the vertex indices - * by 10, this is an optimization for the microcode. - */ -# define __gsSP1Triangle_w1f(v0, v1, v2, flag) \ - (_SHIFTL((flag), 24,8)|_SHIFTL((v0)*10,16,8)| \ - _SHIFTL((v1)*10, 8,8)|_SHIFTL((v2)*10, 0,8)) -# define __gsSPLine3D_w1f(v0, v1, wd, flag) \ - (_SHIFTL((flag), 24,8)|_SHIFTL((v0)*10,16,8)| \ - _SHIFTL((v1)*10, 8,8)|_SHIFTL((wd), 0,8)) - -/*** - *** 1 Triangle - ***/ -#define gSP1Triangle(pkt, v0, v1, v2, flag) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(G_TRI1, 24, 8); \ - _g->words.w1 = __gsSP1Triangle_w1f(v0, v1, v2, flag); \ -} -#define gsSP1Triangle(v0, v1, v2, flag) \ -{{ \ - _SHIFTL(G_TRI1, 24, 8), \ - __gsSP1Triangle_w1f(v0, v1, v2, flag) \ -}} - -/*** - *** Line - ***/ -#define gSPLine3D(pkt, v0, v1, flag) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(G_LINE3D, 24, 8); \ - _g->words.w1 = __gsSPLine3D_w1f(v0, v1, 0, flag); \ -} -#define gsSPLine3D(v0, v1, flag) \ -{{ \ - _SHIFTL(G_LINE3D, 24, 8), \ - __gsSPLine3D_w1f(v0, v1, 0, flag) \ -}} - -/*** - *** LineW - ***/ -/* these macros are the same as SPLine3D, except they have an - * additional parameter for width. The width is added to the "minimum" - * thickness, which is 1.5 pixels. The units for width are in - * half-pixel units, so a width of 1 translates to (.5 + 1.5) or - * a 2.0 pixels wide line. - */ -#define gSPLineW3D(pkt, v0, v1, wd, flag) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(G_LINE3D, 24, 8); \ - _g->words.w1 = __gsSPLine3D_w1f(v0, v1, wd, flag); \ -} -#define gsSPLineW3D(v0, v1, wd, flag) \ -{{ \ - _SHIFTL(G_LINE3D, 24, 8), \ - __gsSPLine3D_w1f(v0, v1, wd, flag) \ -}} - -/*** - *** 1 Quadrangle - ***/ -#define gSP1Quadrangle(pkt, v0, v1, v2, v3, flag) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_TRI2, 24, 8)| \ - __gsSP1Quadrangle_w1f(v0, v1, v2, v3, flag)); \ - _g->words.w1 = __gsSP1Quadrangle_w2f(v0, v1, v2, v3, flag); \ -} - -#define gsSP1Quadrangle(v0, v1, v2, v3, flag) \ -{{ \ - (_SHIFTL(G_TRI2, 24, 8)| \ - __gsSP1Quadrangle_w1f(v0, v1, v2, v3, flag)), \ - __gsSP1Quadrangle_w2f(v0, v1, v2, v3, flag) \ -}} - -#define gSP2Triangles(pkt, v00, v01, v02, flag0, v10, v11, v12, flag1) \ -{ \ - gSP1Triangle(pkt, v00, v01, v02, flag0); \ - gSP1Triangle(pkt, v10, v11, v12, flag1); \ -} -#define gsSP2Triangles(v00, v01, v02, flag0, v10, v11, v12, flag1) \ - gsSP1Triangle(v00, v01, v02, flag0), \ - gsSP1Triangle(v10, v11, v12, flag1) - -#define gSPCullDisplayList(pkt,vstart,vend) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(G_CULLDL, 24, 8) | \ - ((0x0f & (vstart))*40); \ - _g->words.w1 = (unsigned int)((0x0f & ((vend)+1))*40); \ -} - -#define gsSPCullDisplayList(vstart,vend) \ -{{ \ - _SHIFTL(G_CULLDL, 24, 8) | ((0x0f & (vstart))*40), \ - ((0x0f & ((vend)+1))*40) \ -}} - -#define gSPSegment(pkt, segment, base) \ - gMoveWd(pkt, G_MW_SEGMENT, (segment)*4, base) -#define gsSPSegment(segment, base) \ - gsMoveWd( G_MW_SEGMENT, (segment)*4, base) - -/* - * Clipping Macros - */ -#define FR_NEG_FRUSTRATIO_1 0x00000001 -#define FR_POS_FRUSTRATIO_1 0x0000ffff -#define FR_NEG_FRUSTRATIO_2 0x00000002 -#define FR_POS_FRUSTRATIO_2 0x0000fffe -#define FR_NEG_FRUSTRATIO_3 0x00000003 -#define FR_POS_FRUSTRATIO_3 0x0000fffd -#define FR_NEG_FRUSTRATIO_4 0x00000004 -#define FR_POS_FRUSTRATIO_4 0x0000fffc -#define FR_NEG_FRUSTRATIO_5 0x00000005 -#define FR_POS_FRUSTRATIO_5 0x0000fffb -#define FR_NEG_FRUSTRATIO_6 0x00000006 -#define FR_POS_FRUSTRATIO_6 0x0000fffa -/* - * r should be one of: FRUSTRATIO_1, FRUSTRATIO_2, FRUSTRATIO_3, ... FRUSTRATIO_6 - */ -#define gSPClipRatio(pkt, r) \ -{ \ - gMoveWd(pkt, G_MW_CLIP, G_MWO_CLIP_RNX, FR_NEG_##r); \ - gMoveWd(pkt, G_MW_CLIP, G_MWO_CLIP_RNY, FR_NEG_##r); \ - gMoveWd(pkt, G_MW_CLIP, G_MWO_CLIP_RPX, FR_POS_##r); \ - gMoveWd(pkt, G_MW_CLIP, G_MWO_CLIP_RPY, FR_POS_##r); \ -} - -#define gsSPClipRatio(r) \ - gsMoveWd(G_MW_CLIP, G_MWO_CLIP_RNX, FR_NEG_##r), \ - gsMoveWd(G_MW_CLIP, G_MWO_CLIP_RNY, FR_NEG_##r), \ - gsMoveWd(G_MW_CLIP, G_MWO_CLIP_RPX, FR_POS_##r), \ - gsMoveWd(G_MW_CLIP, G_MWO_CLIP_RPY, FR_POS_##r) - -/* - * Insert values into Matrix - * - * where = element of matrix (byte offset) - * num = new element (32 bit value replacing 2 int or 2 frac matrix - * componants - */ -#define gSPInsertMatrix(pkt, where, num) \ - gMoveWd(pkt, G_MW_MATRIX, where, num) -#define gsSPInsertMatrix(where, num) \ - gsMoveWd(G_MW_MATRIX, where, num) - -/* - * Load new matrix directly - * - * mptr = pointer to matrix - */ -#define gSPForceMatrix(pkt, mptr) \ -{ \ - gDma1p(pkt, G_MOVEMEM, mptr, 16, G_MV_MATRIX_1); \ - gDma1p(pkt, G_MOVEMEM, (char *)(mptr)+16, 16, G_MV_MATRIX_2); \ - gDma1p(pkt, G_MOVEMEM, (char *)(mptr)+32, 16, G_MV_MATRIX_3); \ - gDma1p(pkt, G_MOVEMEM, (char *)(mptr)+48, 16, G_MV_MATRIX_4); \ -} -#define gsSPForceMatrix(mptr) \ - gsDma1p( G_MOVEMEM, mptr, 16, G_MV_MATRIX_1), \ - gsDma1p( G_MOVEMEM, (char *)(mptr)+16, 16, G_MV_MATRIX_2), \ - gsDma1p( G_MOVEMEM, (char *)(mptr)+32, 16, G_MV_MATRIX_3), \ - gsDma1p( G_MOVEMEM, (char *)(mptr)+48, 16, G_MV_MATRIX_4) - -/* - * Insert values into Points - * - * point = point number 0-15 - * where = which element of point to modify (byte offset into point) - * num = new value (32 bit) - */ -# define gSPModifyVertex(pkt, vtx, where, val) \ - gMoveWd(pkt, G_MW_POINTS, (vtx)*40+(where), val) -# define gsSPModifyVertex(vtx, where, val) \ - gsMoveWd(G_MW_POINTS, (vtx)*40+(where), val) - -/* - * Lighting Macros - */ -# define NUML(n) (((n)+1)*32 + 0x80000000) -#define NUMLIGHTS_0 1 -#define NUMLIGHTS_1 1 -#define NUMLIGHTS_2 2 -#define NUMLIGHTS_3 3 -#define NUMLIGHTS_4 4 -#define NUMLIGHTS_5 5 -#define NUMLIGHTS_6 6 -#define NUMLIGHTS_7 7 -/* - * n should be one of: NUMLIGHTS_0, NUMLIGHTS_1, ..., NUMLIGHTS_7 - * NOTE: in addition to the number of directional lights specified, - * there is always 1 ambient light - */ -#define gSPNumLights(pkt, n) \ - gMoveWd(pkt, G_MW_NUMLIGHT, G_MWO_NUMLIGHT, NUML(n)) -#define gsSPNumLights(n) \ - gsMoveWd( G_MW_NUMLIGHT, G_MWO_NUMLIGHT, NUML(n)) - -#define LIGHT_1 1 -#define LIGHT_2 2 -#define LIGHT_3 3 -#define LIGHT_4 4 -#define LIGHT_5 5 -#define LIGHT_6 6 -#define LIGHT_7 7 -#define LIGHT_8 8 -/* - * l should point to a Light struct - * n should be one of: LIGHT_1, LIGHT_2, ..., LIGHT_8 - * NOTE: the highest numbered light is always the ambient light (eg if there are - * 3 directional lights defined: gsSPNumLights(NUMLIGHTS_3), then lights - * LIGHT_1 through LIGHT_3 will be the directional lights and light - * LIGHT_4 will be the ambient light. - */ -# define gSPLight(pkt, l, n) \ - gDma1p(pkt, G_MOVEMEM, l, sizeof(Light),((n)-1)*2+G_MV_L0) -# define gsSPLight(l, n) \ - gsDma1p( G_MOVEMEM, l, sizeof(Light),((n)-1)*2+G_MV_L0) - -/* - * gSPLightColor changes color of light without recalculating light direction - * col is a 32 bit word with r,g,b,a (alpha is ignored) - * n should be one of LIGHT_1, LIGHT_2, ..., LIGHT_8 - */ -#define gSPLightColor(pkt, n, col) \ -{ \ - gMoveWd(pkt, G_MW_LIGHTCOL, G_MWO_a##n, col); \ - gMoveWd(pkt, G_MW_LIGHTCOL, G_MWO_b##n, col); \ -} -#define gsSPLightColor(n, col) \ - gsMoveWd(G_MW_LIGHTCOL, G_MWO_a##n, col), \ - gsMoveWd(G_MW_LIGHTCOL, G_MWO_b##n, col) - -/* These macros use a structure "name" which is init'd with the gdSPDefLights macros*/ - -#define gSPSetLights0(pkt,name) \ -{ \ - gSPNumLights(pkt,NUMLIGHTS_0); \ - gSPLight(pkt,&name.l[0],1); \ - gSPLight(pkt,&name.a,2); \ -} -#define gsSPSetLights0(name) \ - gsSPNumLights(NUMLIGHTS_0), \ - gsSPLight(&name.l[0],1), \ - gsSPLight(&name.a,2) - -#define gSPSetLights1(pkt,name) \ -{ \ - gSPNumLights(pkt,NUMLIGHTS_1); \ - gSPLight(pkt,&name.l[0],1); \ - gSPLight(pkt,&name.a,2); \ -} -#define gsSPSetLights1(name) \ - gsSPNumLights(NUMLIGHTS_1), \ - gsSPLight(&name.l[0],1), \ - gsSPLight(&name.a,2) - -#define gSPSetLights2(pkt,name) \ -{ \ - gSPNumLights(pkt,NUMLIGHTS_2); \ - gSPLight(pkt,&name.l[0],1); \ - gSPLight(pkt,&name.l[1],2); \ - gSPLight(pkt,&name.a,3); \ -} -#define gsSPSetLights2(name) \ - gsSPNumLights(NUMLIGHTS_2), \ - gsSPLight(&name.l[0],1), \ - gsSPLight(&name.l[1],2), \ - gsSPLight(&name.a,3) - -#define gSPSetLights3(pkt,name) \ -{ \ - gSPNumLights(pkt,NUMLIGHTS_3); \ - gSPLight(pkt,&name.l[0],1); \ - gSPLight(pkt,&name.l[1],2); \ - gSPLight(pkt,&name.l[2],3); \ - gSPLight(pkt,&name.a,4); \ -} -#define gsSPSetLights3(name) \ - gsSPNumLights(NUMLIGHTS_3), \ - gsSPLight(&name.l[0],1), \ - gsSPLight(&name.l[1],2), \ - gsSPLight(&name.l[2],3), \ - gsSPLight(&name.a,4) - -#define gSPSetLights4(pkt,name) \ -{ \ - gSPNumLights(pkt,NUMLIGHTS_4); \ - gSPLight(pkt,&name.l[0],1); \ - gSPLight(pkt,&name.l[1],2); \ - gSPLight(pkt,&name.l[2],3); \ - gSPLight(pkt,&name.l[3],4); \ - gSPLight(pkt,&name.a,5); \ -} -#define gsSPSetLights4(name) \ - gsSPNumLights(NUMLIGHTS_4), \ - gsSPLight(&name.l[0],1), \ - gsSPLight(&name.l[1],2), \ - gsSPLight(&name.l[2],3), \ - gsSPLight(&name.l[3],4), \ - gsSPLight(&name.a,5) - -#define gSPSetLights5(pkt,name) \ -{ \ - gSPNumLights(pkt,NUMLIGHTS_5); \ - gSPLight(pkt,&name.l[0],1); \ - gSPLight(pkt,&name.l[1],2); \ - gSPLight(pkt,&name.l[2],3); \ - gSPLight(pkt,&name.l[3],4); \ - gSPLight(pkt,&name.l[4],5); \ - gSPLight(pkt,&name.a,6); \ -} - -#define gsSPSetLights5(name) \ - gsSPNumLights(NUMLIGHTS_5), \ - gsSPLight(&name.l[0],1), \ - gsSPLight(&name.l[1],2), \ - gsSPLight(&name.l[2],3), \ - gsSPLight(&name.l[3],4), \ - gsSPLight(&name.l[4],5), \ - gsSPLight(&name.a,6) - -#define gSPSetLights6(pkt,name) \ -{ \ - gSPNumLights(pkt,NUMLIGHTS_6); \ - gSPLight(pkt,&name.l[0],1); \ - gSPLight(pkt,&name.l[1],2); \ - gSPLight(pkt,&name.l[2],3); \ - gSPLight(pkt,&name.l[3],4); \ - gSPLight(pkt,&name.l[4],5); \ - gSPLight(pkt,&name.l[5],6); \ - gSPLight(pkt,&name.a,7); \ -} - -#define gsSPSetLights6(name) \ - gsSPNumLights(NUMLIGHTS_6), \ - gsSPLight(&name.l[0],1), \ - gsSPLight(&name.l[1],2), \ - gsSPLight(&name.l[2],3), \ - gsSPLight(&name.l[3],4), \ - gsSPLight(&name.l[4],5), \ - gsSPLight(&name.l[5],6), \ - gsSPLight(&name.a,7) - -#define gSPSetLights7(pkt,name) \ -{ \ - gSPNumLights(pkt,NUMLIGHTS_7); \ - gSPLight(pkt,&name.l[0],1); \ - gSPLight(pkt,&name.l[1],2); \ - gSPLight(pkt,&name.l[2],3); \ - gSPLight(pkt,&name.l[3],4); \ - gSPLight(pkt,&name.l[4],5); \ - gSPLight(pkt,&name.l[5],6); \ - gSPLight(pkt,&name.l[6],7); \ - gSPLight(pkt,&name.a,8); \ -} - -#define gsSPSetLights7(name) \ - gsSPNumLights(NUMLIGHTS_7), \ - gsSPLight(&name.l[0],1), \ - gsSPLight(&name.l[1],2), \ - gsSPLight(&name.l[2],3), \ - gsSPLight(&name.l[3],4), \ - gsSPLight(&name.l[4],5), \ - gsSPLight(&name.l[5],6), \ - gsSPLight(&name.l[6],7), \ - gsSPLight(&name.a,8) - -/* - * Reflection/Hiliting Macros - */ -# define gSPLookAtX(pkt, l) \ - gDma1p(pkt, G_MOVEMEM, l, sizeof(Light),G_MV_LOOKATX) -# define gsSPLookAtX(l) \ - gsDma1p( G_MOVEMEM, l, sizeof(Light),G_MV_LOOKATX) -# define gSPLookAtY(pkt, l) \ - gDma1p(pkt, G_MOVEMEM, l, sizeof(Light),G_MV_LOOKATY) -# define gsSPLookAtY(l) \ - gsDma1p( G_MOVEMEM, l, sizeof(Light),G_MV_LOOKATY) - -#define gSPLookAt(pkt, la) \ -{ \ - gSPLookAtX(pkt,la) \ - gSPLookAtY(pkt,(char *)(la)+16) \ -} -#define gsSPLookAt(la) \ - gsSPLookAtX(la), \ - gsSPLookAtY((char *)(la)+16) - -#define gDPSetHilite1Tile(pkt, tile, hilite, width, height) \ - gDPSetTileSize(pkt, tile, (hilite)->h.x1 & 0xfff, (hilite)->h.y1 & 0xfff, \ - ((((width)-1)*4)+(hilite)->h.x1) & 0xfff, ((((height)-1)*4)+(hilite)->h.y1) & 0xfff) - -#define gDPSetHilite2Tile(pkt, tile, hilite, width, height) \ - gDPSetTileSize(pkt, tile, (hilite)->h.x2 & 0xfff, (hilite)->h.y2 & 0xfff, \ - ((((width)-1)*4)+(hilite)->h.x2) & 0xfff, ((((height)-1)*4)+(hilite)->h.y2) & 0xfff) - - -/* - * FOG macros - * fm = z multiplier - * fo = z offset - * FOG FORMULA: alpha(fog) = (eyespace z) * fm + fo CLAMPED 0 to 255 - * note: (eyespace z) ranges -1 to 1 - * - * Alternate method of setting fog: - * min, max: range 0 to 1000: 0=nearplane, 1000=farplane - * min is where fog begins (usually less than max and often 0) - * max is where fog is thickest (usually 1000) - * - */ -#define gSPFogFactor(pkt, fm, fo) \ - gMoveWd(pkt, G_MW_FOG, G_MWO_FOG, \ - (_SHIFTL(fm,16,16) | _SHIFTL(fo,0,16))) - -#define gsSPFogFactor(fm, fo) \ - gsMoveWd(G_MW_FOG, G_MWO_FOG, \ - (_SHIFTL(fm,16,16) | _SHIFTL(fo,0,16))) - -#define gSPFogPosition(pkt, min, max) \ - gMoveWd(pkt, G_MW_FOG, G_MWO_FOG, \ - (_SHIFTL((128000/((max)-(min))),16,16) | \ - _SHIFTL(((500-(min))*256/((max)-(min))),0,16))) - -#define gsSPFogPosition(min, max) \ - gsMoveWd(G_MW_FOG, G_MWO_FOG, \ - (_SHIFTL((128000/((max)-(min))),16,16) | \ - _SHIFTL(((500-(min))*256/((max)-(min))),0,16))) - -/* - * Macros to turn texture on/off - */ -# define gSPTexture(pkt, s, t, level, tile, on) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_TEXTURE,24,8)|_SHIFTL(BOWTIE_VAL,16,8)|\ - _SHIFTL((level),11,3)|_SHIFTL((tile),8,3)| \ - _SHIFTL((on),0,8)); \ - _g->words.w1 = (_SHIFTL((s),16,16)|_SHIFTL((t),0,16)); \ -} -# define gsSPTexture(s, t, level, tile, on) \ -{{ \ - (_SHIFTL(G_TEXTURE,24,8)|_SHIFTL(BOWTIE_VAL,16,8)| \ - _SHIFTL((level),11,3)|_SHIFTL((tile),8,3)|_SHIFTL((on),0,8)), \ - (_SHIFTL((s),16,16)|_SHIFTL((t),0,16)) \ -}} -/* - * Different version of SPTexture macro, has an additional parameter - * which is currently reserved in the microcode. - */ -# define gSPTextureL(pkt, s, t, level, xparam, tile, on) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_TEXTURE,24,8)|_SHIFTL((xparam),16,8)| \ - _SHIFTL((level),11,3)|_SHIFTL((tile),8,3)| \ - _SHIFTL((on),0,8)); \ - _g->words.w1 = (_SHIFTL((s),16,16)|_SHIFTL((t),0,16)); \ -} -# define gsSPTextureL(s, t, level, xparam, tile, on) \ -{{ \ - (_SHIFTL(G_TEXTURE,24,8)|_SHIFTL((xparam),16,8)| \ - _SHIFTL((level),11,3)|_SHIFTL((tile),8,3)|_SHIFTL((on),0,8)), \ - (_SHIFTL((s),16,16)|_SHIFTL((t),0,16)) \ -}} - -# define gSPPerspNormalize(pkt, s) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(G_RDPHALF_1, 24, 8); \ - _g->words.w1 = (s); \ -} -# define gsSPPerspNormalize(s) \ -{{ \ - _SHIFTL(G_RDPHALF_1, 24, 8), \ - (s) \ -}} - -# define gSPPopMatrix(pkt, n) gImmp1(pkt, G_POPMTX, n) -# define gsSPPopMatrix(n) gsImmp1( G_POPMTX, n) - -#define gSPEndDisplayList(pkt) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(G_ENDDL, 24, 8); \ - _g->words.w1 = 0; \ -} - -#define gsSPEndDisplayList() \ -{{ \ - _SHIFTL(G_ENDDL, 24, 8), 0 \ -}} - -#define gSPSetGeometryMode(pkt, word) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(G_SETGEOMETRYMODE, 24, 8); \ - _g->words.w1 = (unsigned int)(word); \ -} - -#define gsSPSetGeometryMode(word) \ -{{ \ - _SHIFTL(G_SETGEOMETRYMODE, 24, 8), (unsigned int)(word) \ -}} - -#define gSPClearGeometryMode(pkt, word) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(G_CLEARGEOMETRYMODE, 24, 8); \ - _g->words.w1 = (unsigned int)(word); \ -} - -#define gsSPClearGeometryMode(word) \ -{{ \ - _SHIFTL(G_CLEARGEOMETRYMODE, 24, 8), (unsigned int)(word) \ -}} - -/* - * gsSPGeometryMode - * In Fast3DEX2 it is better to use this, as the RSP geometry mode - * is able to be set and cleared in a single command. - */ -#define gsSPGeometryMode(c, s) \ - gsSPClearGeometryMode(c), \ - gsSPSetGeometryMode(s) -#define gsSPGeometryModeSetFirst(c, s) \ - gsSPSetGeometryMode(s), \ - gsSPClearGeometryMode(c) - -#define gSPSetOtherMode(pkt, cmd, sft, len, data) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(cmd, 24, 8) | _SHIFTL(sft, 8, 8) | \ - _SHIFTL(len, 0, 8)); \ - _g->words.w1 = (unsigned int)(data); \ -} - -#define gsSPSetOtherMode(cmd, sft, len, data) \ -{{ \ - _SHIFTL(cmd, 24, 8) | _SHIFTL(sft, 8, 8) | _SHIFTL(len, 0, 8), \ - (unsigned int)(data) \ -}} -/* - * RDP setothermode register commands - register shadowed in RSP - */ -#define gDPPipelineMode(pkt, mode) \ - gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_PIPELINE, 1, mode) -#define gsDPPipelineMode(mode) \ - gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_PIPELINE, 1, mode) - -#define gDPSetCycleType(pkt, type) \ - gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_CYCLETYPE, 2, type) -#define gsDPSetCycleType(type) \ - gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_CYCLETYPE, 2, type) - -#define gDPSetTexturePersp(pkt, type) \ - gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_TEXTPERSP, 1, type) -#define gsDPSetTexturePersp(type) \ - gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_TEXTPERSP, 1, type) - -#define gDPSetTextureDetail(pkt, type) \ - gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_TEXTDETAIL, 2, type) -#define gsDPSetTextureDetail(type) \ - gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_TEXTDETAIL, 2, type) - -#define gDPSetTextureLOD(pkt, type) \ - gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_TEXTLOD, 1, type) -#define gsDPSetTextureLOD(type) \ - gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_TEXTLOD, 1, type) - -#define gDPSetTextureLUT(pkt, type) \ - gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_TEXTLUT, 2, type) -#define gsDPSetTextureLUT(type) \ - gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_TEXTLUT, 2, type) - -#define gDPSetTextureFilter(pkt, type) \ - gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_TEXTFILT, 2, type) -#define gsDPSetTextureFilter(type) \ - gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_TEXTFILT, 2, type) - -#define gDPSetTextureConvert(pkt, type) \ - gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_TEXTCONV, 3, type) -#define gsDPSetTextureConvert(type) \ - gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_TEXTCONV, 3, type) - -#define gDPSetCombineKey(pkt, type) \ - gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_COMBKEY, 1, type) -#define gsDPSetCombineKey(type) \ - gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_COMBKEY, 1, type) - -#define gDPSetColorDither(pkt, mode) \ - gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_RGBDITHER, 2, mode) -#define gsDPSetColorDither(mode) \ - gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_RGBDITHER, 2, mode) - -#define gDPSetAlphaDither(pkt, mode) \ - gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_ALPHADITHER, 2, mode) -#define gsDPSetAlphaDither(mode) \ - gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_ALPHADITHER, 2, mode) - -/* 'blendmask' is not supported anymore. - * The bits are reserved for future use. - * Fri May 26 13:45:55 PDT 1995 - */ -#define gDPSetBlendMask(pkt, mask) gDPNoOp(pkt) -#define gsDPSetBlendMask(mask) gsDPNoOp() - -#define gDPSetAlphaCompare(pkt, type) \ - gSPSetOtherMode(pkt, G_SETOTHERMODE_L, G_MDSFT_ALPHACOMPARE, 2, type) -#define gsDPSetAlphaCompare(type) \ - gsSPSetOtherMode(G_SETOTHERMODE_L, G_MDSFT_ALPHACOMPARE, 2, type) - -#define gDPSetDepthSource(pkt, src) \ - gSPSetOtherMode(pkt, G_SETOTHERMODE_L, G_MDSFT_ZSRCSEL, 1, src) -#define gsDPSetDepthSource(src) \ - gsSPSetOtherMode(G_SETOTHERMODE_L, G_MDSFT_ZSRCSEL, 1, src) - -#define gDPSetRenderMode(pkt, c0, c1) \ - gSPSetOtherMode(pkt, G_SETOTHERMODE_L, G_MDSFT_RENDERMODE, 29, \ - (c0) | (c1)) -#define gsDPSetRenderMode(c0, c1) \ - gsSPSetOtherMode(G_SETOTHERMODE_L, G_MDSFT_RENDERMODE, 29, \ - (c0) | (c1)) - -#define gSetImage(pkt, cmd, fmt, siz, width, i) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(cmd, 24, 8) | _SHIFTL(fmt, 21, 3) | \ - _SHIFTL(siz, 19, 2) | _SHIFTL((width)-1, 0, 12); \ - _g->words.w1 = (uintptr_t)(i); \ -} - -#define gsSetImage(cmd, fmt, siz, width, i) \ -{{ \ - _SHIFTL(cmd, 24, 8) | _SHIFTL(fmt, 21, 3) | \ - _SHIFTL(siz, 19, 2) | _SHIFTL((width)-1, 0, 12), \ - (uintptr_t)(i) \ -}} - -#define gDPSetColorImage(pkt, f, s, w, i) gSetImage(pkt, G_SETCIMG, f, s, w, i) -#define gsDPSetColorImage(f, s, w, i) gsSetImage(G_SETCIMG, f, s, w, i) - - -/* use these for new code */ -#define gDPSetDepthImage(pkt, i) gSetImage(pkt, G_SETZIMG, 0, 0, 1, i) -#define gsDPSetDepthImage(i) gsSetImage(G_SETZIMG, 0, 0, 1, i) -/* kept for compatibility */ -#define gDPSetMaskImage(pkt, i) gDPSetDepthImage(pkt, i) -#define gsDPSetMaskImage(i) gsDPSetDepthImage(i) - -#define gDPSetTextureImage(pkt, f, s, w, i) gSetImage(pkt, G_SETTIMG, f, s, w, i) -#define gsDPSetTextureImage(f, s, w, i) gsSetImage(G_SETTIMG, f, s, w, i) - -/* - * RDP macros - */ - -#define gDPSetCombine(pkt, muxs0, muxs1) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(G_SETCOMBINE, 24, 8) | _SHIFTL(muxs0, 0, 24);\ - _g->words.w1 = (unsigned int)(muxs1); \ -} - -#define gsDPSetCombine(muxs0, muxs1) \ -{{ \ - _SHIFTL(G_SETCOMBINE, 24, 8) | _SHIFTL(muxs0, 0, 24), \ - (unsigned int)(muxs1) \ -}} - -#define GCCc0w0(saRGB0, mRGB0, saA0, mA0) \ - (_SHIFTL((saRGB0), 20, 4) | _SHIFTL((mRGB0), 15, 5) | \ - _SHIFTL((saA0), 12, 3) | _SHIFTL((mA0), 9, 3)) - -#define GCCc1w0(saRGB1, mRGB1) \ - (_SHIFTL((saRGB1), 5, 4) | _SHIFTL((mRGB1), 0, 5)) - -#define GCCc0w1(sbRGB0, aRGB0, sbA0, aA0) \ - (_SHIFTL((sbRGB0), 28, 4) | _SHIFTL((aRGB0), 15, 3) | \ - _SHIFTL((sbA0), 12, 3) | _SHIFTL((aA0), 9, 3)) - -#define GCCc1w1(sbRGB1, saA1, mA1, aRGB1, sbA1, aA1) \ - (_SHIFTL((sbRGB1), 24, 4) | _SHIFTL((saA1), 21, 3) | \ - _SHIFTL((mA1), 18, 3) | _SHIFTL((aRGB1), 6, 3) | \ - _SHIFTL((sbA1), 3, 3) | _SHIFTL((aA1), 0, 3)) - -#define gDPSetCombineLERP(pkt, a0, b0, c0, d0, Aa0, Ab0, Ac0, Ad0, \ - a1, b1, c1, d1, Aa1, Ab1, Ac1, Ad1) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(G_SETCOMBINE, 24, 8) | \ - _SHIFTL(GCCc0w0(G_CCMUX_##a0, G_CCMUX_##c0, \ - G_ACMUX_##Aa0, G_ACMUX_##Ac0) | \ - GCCc1w0(G_CCMUX_##a1, G_CCMUX_##c1), \ - 0, 24); \ - _g->words.w1 = (unsigned int)(GCCc0w1(G_CCMUX_##b0, \ - G_CCMUX_##d0, \ - G_ACMUX_##Ab0, \ - G_ACMUX_##Ad0) | \ - GCCc1w1(G_CCMUX_##b1, \ - G_ACMUX_##Aa1, \ - G_ACMUX_##Ac1, \ - G_CCMUX_##d1, \ - G_ACMUX_##Ab1, \ - G_ACMUX_##Ad1)); \ -} - -#define gsDPSetCombineLERP(a0, b0, c0, d0, Aa0, Ab0, Ac0, Ad0, \ - a1, b1, c1, d1, Aa1, Ab1, Ac1, Ad1) \ -{{ \ - _SHIFTL(G_SETCOMBINE, 24, 8) | \ - _SHIFTL(GCCc0w0(G_CCMUX_##a0, G_CCMUX_##c0, \ - G_ACMUX_##Aa0, G_ACMUX_##Ac0) | \ - GCCc1w0(G_CCMUX_##a1, G_CCMUX_##c1), 0, 24), \ - (unsigned int)(GCCc0w1(G_CCMUX_##b0, G_CCMUX_##d0, \ - G_ACMUX_##Ab0, G_ACMUX_##Ad0) | \ - GCCc1w1(G_CCMUX_##b1, G_ACMUX_##Aa1, \ - G_ACMUX_##Ac1, G_CCMUX_##d1, \ - G_ACMUX_##Ab1, G_ACMUX_##Ad1)) \ -}} - -/* - * SetCombineMode macros are NOT redunant. It allow the C preprocessor - * to substitute single parameter which includes commas in the token and - * rescan for higher parameter count macro substitution. - * - * eg. gsDPSetCombineMode(G_CC_MODULATE, G_CC_MODULATE) turns into - * gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, - * TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0) - */ - -#define gDPSetCombineMode(pkt, a, b) gDPSetCombineLERP(pkt, a, b) -#define gsDPSetCombineMode(a, b) gsDPSetCombineLERP(a, b) - -#define gDPSetColor(pkt, c, d) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(c, 24, 8); \ - _g->words.w1 = (unsigned int)(d); \ -} - -#define gsDPSetColor(c, d) \ -{{ \ - _SHIFTL(c, 24, 8), (unsigned int)(d) \ -}} - -#define DPRGBColor(pkt, cmd, r, g, b, a) \ - gDPSetColor(pkt, cmd, \ - (_SHIFTL(r, 24, 8) | _SHIFTL(g, 16, 8) | \ - _SHIFTL(b, 8, 8) | _SHIFTL(a, 0, 8))) -#define sDPRGBColor(cmd, r, g, b, a) \ - gsDPSetColor(cmd, \ - (_SHIFTL(r, 24, 8) | _SHIFTL(g, 16, 8) | \ - _SHIFTL(b, 8, 8) | _SHIFTL(a, 0, 8))) - -#define gDPSetEnvColor(pkt, r, g, b, a) \ - DPRGBColor(pkt, G_SETENVCOLOR, r,g,b,a) -#define gsDPSetEnvColor(r, g, b, a) \ - sDPRGBColor(G_SETENVCOLOR, r,g,b,a) -#define gDPSetBlendColor(pkt, r, g, b, a) \ - DPRGBColor(pkt, G_SETBLENDCOLOR, r,g,b,a) -#define gsDPSetBlendColor(r, g, b, a) \ - sDPRGBColor(G_SETBLENDCOLOR, r,g,b,a) -#define gDPSetFogColor(pkt, r, g, b, a) \ - DPRGBColor(pkt, G_SETFOGCOLOR, r,g,b,a) -#define gsDPSetFogColor(r, g, b, a) \ - sDPRGBColor(G_SETFOGCOLOR, r,g,b,a) -#define gDPSetFillColor(pkt, d) \ - gDPSetColor(pkt, G_SETFILLCOLOR, (d)) -#define gsDPSetFillColor(d) \ - gsDPSetColor(G_SETFILLCOLOR, (d)) - -#define gDPSetPrimDepth(pkt, z, dz) \ - gDPSetColor(pkt, G_SETPRIMDEPTH, \ - _SHIFTL(z, 16, 16) | _SHIFTL(dz, 0, 16)) -#define gsDPSetPrimDepth(z, dz) \ - gsDPSetColor(G_SETPRIMDEPTH, _SHIFTL(z, 16, 16) | \ - _SHIFTL(dz, 0, 16)) - -#define gDPSetPrimColor(pkt, m, l, r, g, b, a) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_SETPRIMCOLOR, 24, 8) | \ - _SHIFTL(m, 8, 8) | _SHIFTL(l, 0, 8)); \ - _g->words.w1 = (_SHIFTL(r, 24, 8) | _SHIFTL(g, 16, 8) | \ - _SHIFTL(b, 8, 8) | _SHIFTL(a, 0, 8)); \ -} - -#define gsDPSetPrimColor(m, l, r, g, b, a) \ -{{ \ - (_SHIFTL(G_SETPRIMCOLOR, 24, 8) | _SHIFTL(m, 8, 8) | \ - _SHIFTL(l, 0, 8)), \ - (_SHIFTL(r, 24, 8) | _SHIFTL(g, 16, 8) | _SHIFTL(b, 8, 8) | \ - _SHIFTL(a, 0, 8)) \ -}} - -/* - * gDPSetOtherMode (This is for expert user.) - * - * This command makes all othermode parameters set. - * Do not use this command in the same DL with another g*SPSetOtherMode DLs. - * - * [Usage] - * gDPSetOtherMode(pkt, modeA, modeB) - * - * 'modeA' is described all parameters of GroupA GBI command. - * 'modeB' is also described all parameters of GroupB GBI command. - * - * GroupA: - * gDPPipelineMode, gDPSetCycleType, gSPSetTexturePersp, - * gDPSetTextureDetail, gDPSetTextureLOD, gDPSetTextureLUT, - * gDPSetTextureFilter, gDPSetTextureConvert, gDPSetCombineKey, - * gDPSetColorDither, gDPSetAlphaDither - * - * GroupB: - * gDPSetAlphaCompare, gDPSetDepthSource, gDPSetRenderMode - * - * Use 'OR' operation to get modeA and modeB. - * - * modeA = G_PM_* | G_CYC_* | G_TP_* | G_TD_* | G_TL_* | G_TT_* | G_TF_* - * G_TC_* | G_CK_* | G_CD_* | G_AD_*; - * - * modeB = G_AC_* | G_ZS_* | G_RM_* | G_RM_*2; - */ -#define gDPSetOtherMode(pkt, mode0, mode1) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(G_RDPSETOTHERMODE,24,8)|_SHIFTL(mode0,0,24);\ - _g->words.w1 = (unsigned int)(mode1); \ -} - -#define gsDPSetOtherMode(mode0, mode1) \ -{{ \ - _SHIFTL(G_RDPSETOTHERMODE,24,8)|_SHIFTL(mode0,0,24), \ - (unsigned int)(mode1) \ -}} - -/* - * Texturing macros - */ - -/* These are also defined defined above for Sprite Microcode */ - -#define G_TX_LOADTILE 7 -#define G_TX_RENDERTILE 0 - -#define G_TX_NOMIRROR 0 -#define G_TX_WRAP 0 -#define G_TX_MIRROR 0x1 -#define G_TX_CLAMP 0x2 -#define G_TX_NOMASK 0 -#define G_TX_NOLOD 0 - - -#define MAX(a, b) ((a) > (b) ? (a) : (b)) - -#define MIN(a, b) ((a) < (b) ? (a) : (b)) -/* - * Dxt is the inverse of the number of 64-bit words in a line of - * the texture being loaded using the load_block command. If - * there are any 1's to the right of the 11th fractional bit, - * dxt should be rounded up. The following macros accomplish - * this. The 4b macros are a special case since 4-bit textures - * are loaded as 8-bit textures. Dxt is fixed point 1.11. RJM - */ -#define G_TX_DXT_FRAC 11 - -/* - * For RCP 2.0, the maximum number of texels that can be loaded - * using a load_block command is 2048. In order to load the total - * 4kB of Tmem, change the texel size when loading to be G_IM_SIZ_16b, - * then change the tile to the proper texel size after the load. - * The g*DPLoadTextureBlock macros already do this, so this change - * will be transparent if you use these macros. If you use - * the g*DPLoadBlock macros directly, you will need to handle this - * tile manipulation yourself. RJM. - */ -#define G_TX_LDBLK_MAX_TXL 2047 - -#define TXL2WORDS(txls, b_txl) MAX(1, ((txls)*(b_txl)/8)) -#define CALC_DXT(width, b_txl) \ - (((1 << G_TX_DXT_FRAC) + TXL2WORDS(width, b_txl) - 1) / \ - TXL2WORDS(width, b_txl)) - -#define TXL2WORDS_4b(txls) MAX(1, ((txls)/16)) -#define CALC_DXT_4b(width) \ - (((1 << G_TX_DXT_FRAC) + TXL2WORDS_4b(width) - 1) / \ - TXL2WORDS_4b(width)) - -#define gDPLoadTileGeneric(pkt, c, tile, uls, ult, lrs, lrt) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(c, 24, 8) | _SHIFTL(uls, 12, 12) | \ - _SHIFTL(ult, 0, 12); \ - _g->words.w1 = _SHIFTL(tile, 24, 3) | _SHIFTL(lrs, 12, 12) | \ - _SHIFTL(lrt, 0, 12); \ -} - -#define gsDPLoadTileGeneric(c, tile, uls, ult, lrs, lrt) \ -{{ \ - _SHIFTL(c, 24, 8) | _SHIFTL(uls, 12, 12) | _SHIFTL(ult, 0, 12), \ - _SHIFTL(tile, 24, 3) | _SHIFTL(lrs, 12, 12) | _SHIFTL(lrt, 0, 12)\ -}} - -#define gDPSetTileSize(pkt, t, uls, ult, lrs, lrt) \ - gDPLoadTileGeneric(pkt, G_SETTILESIZE, t, uls, ult, lrs, lrt) -#define gsDPSetTileSize(t, uls, ult, lrs, lrt) \ - gsDPLoadTileGeneric(G_SETTILESIZE, t, uls, ult, lrs, lrt) -#define gDPLoadTile(pkt, t, uls, ult, lrs, lrt) \ - gDPLoadTileGeneric(pkt, G_LOADTILE, t, uls, ult, lrs, lrt) -#define gsDPLoadTile(t, uls, ult, lrs, lrt) \ - gsDPLoadTileGeneric(G_LOADTILE, t, uls, ult, lrs, lrt) - -#define gDPSetTile(pkt, fmt, siz, line, tmem, tile, palette, cmt, \ - maskt, shiftt, cms, masks, shifts) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(G_SETTILE, 24, 8) | _SHIFTL(fmt, 21, 3) |\ - _SHIFTL(siz, 19, 2) | _SHIFTL(line, 9, 9) | \ - _SHIFTL(tmem, 0, 9); \ - _g->words.w1 = _SHIFTL(tile, 24, 3) | _SHIFTL(palette, 20, 4) | \ - _SHIFTL(cmt, 18, 2) | _SHIFTL(maskt, 14, 4) | \ - _SHIFTL(shiftt, 10, 4) |_SHIFTL(cms, 8, 2) | \ - _SHIFTL(masks, 4, 4) | _SHIFTL(shifts, 0, 4); \ -} - -#define gsDPSetTile(fmt, siz, line, tmem, tile, palette, cmt, \ - maskt, shiftt, cms, masks, shifts) \ -{{ \ - (_SHIFTL(G_SETTILE, 24, 8) | _SHIFTL(fmt, 21, 3) | \ - _SHIFTL(siz, 19, 2) | _SHIFTL(line, 9, 9) | _SHIFTL(tmem, 0, 9)),\ - (_SHIFTL(tile, 24, 3) | _SHIFTL(palette, 20, 4) | \ - _SHIFTL(cmt, 18, 2) | _SHIFTL(maskt, 14, 4) | \ - _SHIFTL(shiftt, 10, 4) | _SHIFTL(cms, 8, 2) | \ - _SHIFTL(masks, 4, 4) | _SHIFTL(shifts, 0, 4)) \ -}} - -/* - * For RCP 2.0, the maximum number of texels that can be loaded - * using a load_block command is 2048. In order to load the total - * 4kB of Tmem, change the texel size when loading to be G_IM_SIZ_16b, - * then change the tile to the proper texel size after the load. - * The g*DPLoadTextureBlock macros already do this, so this change - * will be transparent if you use these macros. If you use - * the g*DPLoadBlock macros directly, you will need to handle this - * tile manipulation yourself. RJM. - */ -#define gDPLoadBlock(pkt, tile, uls, ult, lrs, dxt) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_LOADBLOCK, 24, 8) | \ - _SHIFTL(uls, 12, 12) | _SHIFTL(ult, 0, 12)); \ - _g->words.w1 = (_SHIFTL(tile, 24, 3) | \ - _SHIFTL((MIN(lrs,G_TX_LDBLK_MAX_TXL)), 12, 12) |\ - _SHIFTL(dxt, 0, 12)); \ -} - -#define gsDPLoadBlock(tile, uls, ult, lrs, dxt) \ -{{ \ - (_SHIFTL(G_LOADBLOCK, 24, 8) | _SHIFTL(uls, 12, 12) | \ - _SHIFTL(ult, 0, 12)), \ - (_SHIFTL(tile, 24, 3) | \ - _SHIFTL((MIN(lrs,G_TX_LDBLK_MAX_TXL)), 12, 12) | \ - _SHIFTL(dxt, 0, 12)) \ -}} - -#define gDPLoadTLUTCmd(pkt, tile, count) \ -{ \ - Gfx *_g = (Gfx *)pkt; \ - \ - _g->words.w0 = _SHIFTL(G_LOADTLUT, 24, 8); \ - _g->words.w1 = _SHIFTL((tile), 24, 3) | _SHIFTL((count), 14, 10);\ -} - -#define gsDPLoadTLUTCmd(tile, count) \ -{{ \ - _SHIFTL(G_LOADTLUT, 24, 8), \ - _SHIFTL((tile), 24, 3) | _SHIFTL((count), 14, 10) \ -}} - -#define gDPLoadTextureBlock(pkt, timg, fmt, siz, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ -{ \ - gDPSetTextureImage(pkt, fmt, siz##_LOAD_BLOCK, 1, timg); \ - gDPSetTile(pkt, fmt, siz##_LOAD_BLOCK, 0, 0, G_TX_LOADTILE, \ - 0 , cmt, maskt, shiftt, cms, masks, shifts); \ - gDPLoadSync(pkt); \ - gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \ - (((width)*(height) + siz##_INCR) >> siz##_SHIFT) -1, \ - CALC_DXT(width, siz##_BYTES)); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, siz, \ - (((width) * siz##_LINE_BYTES)+7)>>3, 0, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPSetTileSize(pkt, G_TX_RENDERTILE, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) \ -} - -#define gDPLoadTextureBlockYuv(pkt, timg, fmt, siz, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ -{ \ - gDPSetTextureImage(pkt, fmt, siz##_LOAD_BLOCK, 1, timg); \ - gDPSetTile(pkt, fmt, siz##_LOAD_BLOCK, 0, 0, G_TX_LOADTILE, \ - 0 , cmt, maskt, shiftt, cms, masks, shifts); \ - gDPLoadSync(pkt); \ - gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \ - (((width)*(height) + siz##_INCR) >> siz##_SHIFT) -1, \ - CALC_DXT(width, siz##_BYTES)); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, siz, \ - (((width) * 1)+7)>>3, 0, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPSetTileSize(pkt, G_TX_RENDERTILE, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) \ -} - -/* Load fix rww 27jun95 */ -/* The S at the end means odd lines are already word Swapped */ - -#define gDPLoadTextureBlockS(pkt, timg, fmt, siz, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ -{ \ - gDPSetTextureImage(pkt, fmt, siz##_LOAD_BLOCK, 1, timg); \ - gDPSetTile(pkt, fmt, siz##_LOAD_BLOCK, 0, 0, G_TX_LOADTILE, \ - 0 , cmt, maskt, shiftt, cms, masks, shifts); \ - gDPLoadSync(pkt); \ - gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \ - (((width)*(height) + siz##_INCR) >> siz##_SHIFT)-1,0); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, siz, \ - (((width) * siz##_LINE_BYTES)+7)>>3, 0, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPSetTileSize(pkt, G_TX_RENDERTILE, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) \ -} - -/* - * Allow tmem address and render tile to be specified. - * The S at the end means odd lines are already word Swapped - */ -#define gDPLoadMultiBlockS(pkt, timg, tmem, rtile, fmt, siz, width, \ - height, pal, cms, cmt, masks, maskt, shifts, shiftt) \ -{ \ - gDPSetTextureImage(pkt, fmt, siz##_LOAD_BLOCK, 1, timg); \ - gDPSetTile(pkt, fmt, siz##_LOAD_BLOCK, 0, tmem, G_TX_LOADTILE, \ - 0 , cmt, maskt, shiftt, cms, masks, shifts); \ - gDPLoadSync(pkt); \ - gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \ - (((width)*(height) + siz##_INCR) >> siz##_SHIFT)-1,0); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, siz, \ - (((width) * siz##_LINE_BYTES)+7)>>3, tmem, \ - rtile, pal, cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPSetTileSize(pkt, rtile, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) \ -} - - -#define gDPLoadTextureBlockYuvS(pkt, timg, fmt, siz, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ -{ \ - gDPSetTextureImage(pkt, fmt, siz##_LOAD_BLOCK, 1, timg); \ - gDPSetTile(pkt, fmt, siz##_LOAD_BLOCK, 0, 0, G_TX_LOADTILE, \ - 0 , cmt, maskt, shiftt, cms, masks, shifts); \ - gDPLoadSync(pkt); \ - gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \ - (((width)*(height) + siz##_INCR) >> siz##_SHIFT)-1,0); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, siz, \ - (((width) * 1)+7)>>3, 0, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPSetTileSize(pkt, G_TX_RENDERTILE, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) \ -} - -/* - * allows tmem address to be specified - */ -#define _gDPLoadTextureBlock(pkt, timg, tmem, fmt, siz, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ -{ \ - gDPSetTextureImage(pkt, fmt, siz##_LOAD_BLOCK, 1, timg); \ - gDPSetTile(pkt, fmt, siz##_LOAD_BLOCK, 0, tmem, G_TX_LOADTILE, \ - 0, cmt, maskt, shiftt, cms, masks, shifts); \ - gDPLoadSync(pkt); \ - gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \ - (((width)*(height) + siz##_INCR) >> siz##_SHIFT)-1, \ - CALC_DXT(width, siz##_BYTES)); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, siz, (((width) * siz##_LINE_BYTES)+7)>>3, \ - tmem, G_TX_RENDERTILE, pal, cmt, \ - maskt, shiftt, cms, masks, shifts); \ - gDPSetTileSize(pkt, G_TX_RENDERTILE, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) \ -} - -/* - * allows tmem address and render tile to be specified - */ -#define _gDPLoadTextureBlockTile(pkt, timg, tmem, rtile, fmt, siz, width, \ - height, pal, cms, cmt, masks, maskt, shifts, shiftt) \ -{ \ - gDPSetTextureImage(pkt, fmt, siz##_LOAD_BLOCK, 1, timg); \ - gDPSetTile(pkt, fmt, siz##_LOAD_BLOCK, 0, tmem, G_TX_LOADTILE, 0,\ - cmt, maskt, shiftt, cms, masks, shifts); \ - gDPLoadSync(pkt); \ - gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \ - (((width)*(height) + siz##_INCR) >> siz##_SHIFT)-1, \ - CALC_DXT(width, siz##_BYTES)); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, siz, (((width) * siz##_LINE_BYTES)+7)>>3, \ - tmem, rtile, pal, cmt, \ - maskt, shiftt, cms, masks, shifts); \ - gDPSetTileSize(pkt, rtile, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) \ -} - -/* - * allows tmem address and render tile to be specified - */ -#define gDPLoadMultiBlock(pkt, timg, tmem, rtile, fmt, siz, width, \ - height, pal, cms, cmt, masks, maskt, shifts, shiftt) \ -{ \ - gDPSetTextureImage(pkt, fmt, siz##_LOAD_BLOCK, 1, timg); \ - gDPSetTile(pkt, fmt, siz##_LOAD_BLOCK, 0, tmem, G_TX_LOADTILE, 0,\ - cmt, maskt, shiftt, cms, masks, shifts); \ - gDPLoadSync(pkt); \ - gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \ - (((width)*(height) + siz##_INCR) >> siz##_SHIFT)-1, \ - CALC_DXT(width, siz##_BYTES)); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, siz, (((width) * siz##_LINE_BYTES)+7)>>3, \ - tmem, rtile, pal, cmt, \ - maskt, shiftt, cms, masks, shifts); \ - gDPSetTileSize(pkt, rtile, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) \ -} - -#define gsDPLoadTextureBlock(timg, fmt, siz, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ - \ - gsDPSetTextureImage(fmt, siz##_LOAD_BLOCK, 1, timg), \ - gsDPSetTile(fmt, siz##_LOAD_BLOCK, 0, 0, \ - G_TX_LOADTILE, 0 , cmt, maskt, shiftt, cms, \ - masks, shifts), \ - gsDPLoadSync(), \ - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, \ - (((width)*(height) + siz##_INCR) >> siz##_SHIFT)-1, \ - CALC_DXT(width, siz##_BYTES)), \ - gsDPPipeSync(), \ - gsDPSetTile(fmt, siz, ((((width) * siz##_LINE_BYTES)+7)>>3), 0, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) - -/* Here is the static form of the pre-swapped texture block loading */ -/* See gDPLoadTextureBlockS() for reference. Basically, just don't - calculate DxT, use 0 */ - -#define gsDPLoadTextureBlockS(timg, fmt, siz, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ - \ - gsDPSetTextureImage(fmt, siz##_LOAD_BLOCK, 1, timg), \ - gsDPSetTile(fmt, siz##_LOAD_BLOCK, 0, 0, G_TX_LOADTILE, 0 , \ - cmt, maskt,shiftt, cms, masks, shifts), \ - gsDPLoadSync(), \ - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, \ - (((width)*(height) + siz##_INCR) >> siz##_SHIFT)-1, 0 ),\ - gsDPPipeSync(), \ - gsDPSetTile(fmt, siz, ((((width) * siz##_LINE_BYTES)+7)>>3), 0, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) - -/* - * Allow tmem address to be specified - */ -#define _gsDPLoadTextureBlock(timg, tmem, fmt, siz, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ - \ - gsDPSetTextureImage(fmt, siz##_LOAD_BLOCK, 1, timg), \ - gsDPSetTile(fmt, siz##_LOAD_BLOCK, 0, tmem, G_TX_LOADTILE, \ - 0 , cmt, maskt, shiftt, cms, masks, shifts), \ - gsDPLoadSync(), \ - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, \ - (((width)*(height) + siz##_INCR) >> siz##_SHIFT)-1, \ - CALC_DXT(width, siz##_BYTES)), \ - gsDPPipeSync(), \ - gsDPSetTile(fmt, siz, \ - ((((width) * siz##_LINE_BYTES)+7)>>3), tmem, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) - - -/* - * Allow tmem address and render_tile to be specified - */ -#define _gsDPLoadTextureBlockTile(timg, tmem, rtile, fmt, siz, width, \ - height, pal, cms, cmt, masks, maskt, shifts, shiftt) \ - \ - gsDPSetTextureImage(fmt, siz##_LOAD_BLOCK, 1, timg), \ - gsDPSetTile(fmt, siz##_LOAD_BLOCK, 0, tmem, G_TX_LOADTILE, \ - 0 , cmt, maskt, shiftt, cms, masks, shifts), \ - gsDPLoadSync(), \ - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, \ - (((width)*(height) + siz##_INCR) >> siz##_SHIFT)-1, \ - CALC_DXT(width, siz##_BYTES)), \ - gsDPPipeSync(), \ - gsDPSetTile(fmt, siz, \ - ((((width) * siz##_LINE_BYTES)+7)>>3), tmem, \ - rtile, pal, cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPSetTileSize(rtile, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) - - -/* - * Allow tmem address and render_tile to be specified, useful when loading - * mutilple tiles at a time. - */ -#define gsDPLoadMultiBlock(timg, tmem, rtile, fmt, siz, width, \ - height, pal, cms, cmt, masks, maskt, shifts, shiftt) \ - \ - gsDPSetTextureImage(fmt, siz##_LOAD_BLOCK, 1, timg), \ - gsDPSetTile(fmt, siz##_LOAD_BLOCK, 0, tmem, G_TX_LOADTILE, \ - 0 , cmt, maskt, shiftt, cms, masks, shifts), \ - gsDPLoadSync(), \ - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, \ - (((width)*(height) + siz##_INCR) >> siz##_SHIFT)-1, \ - CALC_DXT(width, siz##_BYTES)), \ - gsDPPipeSync(), \ - gsDPSetTile(fmt, siz, \ - ((((width) * siz##_LINE_BYTES)+7)>>3), tmem, \ - rtile, pal, cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPSetTileSize(rtile, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) - -/* - * Allows tmem and render tile to be specified. Useful when loading - * several tiles at a time. - * - * Here is the static form of the pre-swapped texture block loading - * See gDPLoadTextureBlockS() for reference. Basically, just don't - * calculate DxT, use 0 - */ - -#define gsDPLoadMultiBlockS(timg, tmem, rtile, fmt, siz, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ - \ - gsDPSetTextureImage(fmt, siz##_LOAD_BLOCK, 1, timg), \ - gsDPSetTile(fmt, siz##_LOAD_BLOCK, 0, tmem, G_TX_LOADTILE, 0 , \ - cmt, maskt,shiftt, cms, masks, shifts), \ - gsDPLoadSync(), \ - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, \ - (((width)*(height) + siz##_INCR) >> siz##_SHIFT)-1, 0 ),\ - gsDPPipeSync(), \ - gsDPSetTile(fmt, siz, ((((width) * siz##_LINE_BYTES)+7)>>3), tmem,\ - rtile, pal, cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPSetTileSize(rtile, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) - - -#define gDPLoadTextureBlock_4b(pkt, timg, fmt, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ -{ \ - gDPSetTextureImage(pkt, fmt, G_IM_SIZ_16b, 1, timg); \ - gDPSetTile(pkt, fmt, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, \ - cmt, maskt, shiftt, cms, masks, shifts); \ - gDPLoadSync(pkt); \ - gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \ - (((width)*(height)+3)>>2)-1, \ - CALC_DXT_4b(width)); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, G_IM_SIZ_4b, ((((width)>>1)+7)>>3), 0, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPSetTileSize(pkt, G_TX_RENDERTILE, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) \ -} - -/* Load fix rww 27jun95 */ -/* The S at the end means odd lines are already word Swapped */ - -#define gDPLoadTextureBlock_4bS(pkt, timg, fmt, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ -{ \ - gDPSetTextureImage(pkt, fmt, G_IM_SIZ_16b, 1, timg); \ - gDPSetTile(pkt, fmt, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, \ - cmt, maskt, shiftt, cms, masks, shifts); \ - gDPLoadSync(pkt); \ - gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \ - (((width)*(height)+3)>>2)-1, 0 ); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, G_IM_SIZ_4b, ((((width)>>1)+7)>>3), 0, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPSetTileSize(pkt, G_TX_RENDERTILE, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) \ -} - -/* - * 4-bit load block. Useful when loading multiple tiles - */ -#define gDPLoadMultiBlock_4b(pkt, timg, tmem, rtile, fmt, width, height,\ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ -{ \ - gDPSetTextureImage(pkt, fmt, G_IM_SIZ_16b, 1, timg); \ - gDPSetTile(pkt, fmt, G_IM_SIZ_16b, 0, tmem, G_TX_LOADTILE, 0, \ - cmt, maskt, shiftt, cms, masks, shifts); \ - gDPLoadSync(pkt); \ - gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \ - (((width)*(height)+3)>>2)-1, \ - CALC_DXT_4b(width)); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, G_IM_SIZ_4b, ((((width)>>1)+7)>>3), tmem, \ - rtile, pal, cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPSetTileSize(pkt, rtile, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) \ -} - -/* - * 4-bit load block. Allows tmem and render tile to be specified. Useful when - * loading multiple tiles. The S means odd lines are already word swapped. - */ -#define gDPLoadMultiBlock_4bS(pkt, timg, tmem, rtile, fmt, width, height,\ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ -{ \ - gDPSetTextureImage(pkt, fmt, G_IM_SIZ_16b, 1, timg); \ - gDPSetTile(pkt, fmt, G_IM_SIZ_16b, 0, tmem, G_TX_LOADTILE, 0, \ - cmt, maskt, shiftt, cms, masks, shifts); \ - gDPLoadSync(pkt); \ - gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \ - (((width)*(height)+3)>>2)-1, 0 ); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, G_IM_SIZ_4b, ((((width)>>1)+7)>>3), tmem, \ - rtile, pal, cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPSetTileSize(pkt, rtile, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) \ -} - - -#define _gDPLoadTextureBlock_4b(pkt, timg, tmem, fmt, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ -{ \ - gDPSetTextureImage(pkt, fmt, G_IM_SIZ_16b, 1, timg); \ - gDPSetTile(pkt, fmt, G_IM_SIZ_16b, 0, tmem, G_TX_LOADTILE, 0, \ - cmt, maskt, shiftt, cms, masks, shifts); \ - gDPLoadSync(pkt); \ - gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \ - (((width)*(height)+3)>>2)-1, \ - CALC_DXT_4b(width)); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, G_IM_SIZ_4b, ((((width)>>1)+7)>>3), tmem, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPSetTileSize(pkt, G_TX_RENDERTILE, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) \ -} - -#define gsDPLoadTextureBlock_4b(timg, fmt, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ - \ - gsDPSetTextureImage(fmt, G_IM_SIZ_16b, 1, timg), \ - gsDPSetTile(fmt, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0 , cmt, \ - maskt, shiftt, cms, masks, shifts), \ - gsDPLoadSync(), \ - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, (((width)*(height)+3)>>2)-1, \ - CALC_DXT_4b(width)), \ - gsDPPipeSync(), \ - gsDPSetTile(fmt, G_IM_SIZ_4b, ((((width)>>1)+7)>>3), 0, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) - -#define gsDPLoadTextureBlock_4bS(timg, fmt, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ - \ - gsDPSetTextureImage(fmt, G_IM_SIZ_16b, 1, timg), \ - gsDPSetTile(fmt, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0 , cmt, \ - maskt, shiftt, cms, masks, shifts), \ - gsDPLoadSync(), \ - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, (((width)*(height)+3)>>2)-1,0),\ - gsDPPipeSync(), \ - gsDPSetTile(fmt, G_IM_SIZ_4b, ((((width)>>1)+7)>>3), 0, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) - -/* - * 4-bit load block. Allows tmem address and render tile to be specified. - * Useful when loading multiple tiles. - */ -#define gsDPLoadMultiBlock_4b(timg, tmem, rtile, fmt, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ - \ - gsDPSetTextureImage(fmt, G_IM_SIZ_16b, 1, timg), \ - gsDPSetTile(fmt, G_IM_SIZ_16b, 0, tmem, G_TX_LOADTILE, 0 , cmt, \ - maskt, shiftt, cms, masks, shifts), \ - gsDPLoadSync(), \ - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, (((width)*(height)+3)>>2)-1, \ - CALC_DXT_4b(width)), \ - gsDPPipeSync(), \ - gsDPSetTile(fmt, G_IM_SIZ_4b, ((((width)>>1)+7)>>3), tmem, \ - rtile, pal, cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPSetTileSize(rtile, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) - - -/* - * 4-bit load block. Allows tmem address and render tile to be specified. - * Useful when loading multiple tiles. S means odd lines are already swapped. - */ -#define gsDPLoadMultiBlock_4bS(timg, tmem, rtile, fmt, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ - \ - gsDPSetTextureImage(fmt, G_IM_SIZ_16b, 1, timg), \ - gsDPSetTile(fmt, G_IM_SIZ_16b, 0, tmem, G_TX_LOADTILE, 0 , cmt, \ - maskt, shiftt, cms, masks, shifts), \ - gsDPLoadSync(), \ - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, (((width)*(height)+3)>>2)-1,0),\ - gsDPPipeSync(), \ - gsDPSetTile(fmt, G_IM_SIZ_4b, ((((width)>>1)+7)>>3), tmem, \ - rtile, pal, cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPSetTileSize(rtile, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) - - -/* - * Allows tmem address to be specified - */ -#define _gsDPLoadTextureBlock_4b(timg, tmem, fmt, width, height, \ - pal, cms, cmt, masks, maskt, shifts, shiftt) \ - \ - gsDPSetTextureImage(fmt, G_IM_SIZ_16b, 1, timg), \ - gsDPSetTile(fmt, G_IM_SIZ_16b, 0, tmem, G_TX_LOADTILE, 0 , cmt, \ - maskt, shiftt, cms, masks, shifts), \ - gsDPLoadSync(), \ - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, (((width)*(height)+3)>>2)-1, \ - CALC_DXT_4b(width)), \ - gsDPPipeSync(), \ - gsDPSetTile(fmt, G_IM_SIZ_4b, ((((width)>>1)+7)>>3), tmem, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, \ - ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC) - - -#define gDPLoadTextureTile(pkt, timg, fmt, siz, width, height, \ - uls, ult, lrs, lrt, pal, \ - cms, cmt, masks, maskt, shifts, shiftt) \ -{ \ - gDPSetTextureImage(pkt, fmt, siz, width, timg); \ - gDPSetTile(pkt, fmt, siz, \ - (((((lrs)-(uls)+1) * siz##_TILE_BYTES)+7)>>3), 0, \ - G_TX_LOADTILE, 0 , cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPLoadSync(pkt); \ - gDPLoadTile( pkt, G_TX_LOADTILE, \ - (uls)<>3), 0, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPSetTileSize(pkt, G_TX_RENDERTILE, \ - (uls)<>3), tmem, \ - G_TX_LOADTILE, 0 , cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPLoadSync(pkt); \ - gDPLoadTile( pkt, G_TX_LOADTILE, \ - (uls)<>3), tmem, \ - rtile, pal, cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPSetTileSize(pkt, rtile, \ - (uls)<>3), 0, \ - G_TX_LOADTILE, 0 , cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPLoadSync(), \ - gsDPLoadTile( G_TX_LOADTILE, \ - (uls)<>3), 0, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks,\ - shifts), \ - gsDPSetTileSize(G_TX_RENDERTILE, \ - (uls)<>3), \ - tmem, G_TX_LOADTILE, 0 , cmt, maskt, shiftt, cms, \ - masks, shifts), \ - gsDPLoadSync(), \ - gsDPLoadTile( G_TX_LOADTILE, \ - (uls)<>3), \ - tmem, rtile, pal, cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPSetTileSize(rtile, \ - (uls)<>1), timg); \ - gDPSetTile(pkt, fmt, G_IM_SIZ_8b, \ - (((((lrs)-(uls)+1)>>1)+7)>>3), 0, \ - G_TX_LOADTILE, 0 , cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPLoadSync(pkt); \ - gDPLoadTile( pkt, G_TX_LOADTILE, \ - (uls)<<(G_TEXTURE_IMAGE_FRAC-1), \ - (ult)<<(G_TEXTURE_IMAGE_FRAC), \ - (lrs)<<(G_TEXTURE_IMAGE_FRAC-1), \ - (lrt)<<(G_TEXTURE_IMAGE_FRAC)); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, G_IM_SIZ_4b, \ - (((((lrs)-(uls)+1)>>1)+7)>>3), 0, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, \ - masks, shifts); \ - gDPSetTileSize(pkt, G_TX_RENDERTILE, \ - (uls)<>1), timg); \ - gDPSetTile(pkt, fmt, G_IM_SIZ_8b, \ - (((((lrs)-(uls)+1)>>1)+7)>>3), tmem, \ - G_TX_LOADTILE, 0 , cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPLoadSync(pkt); \ - gDPLoadTile( pkt, G_TX_LOADTILE, \ - (uls)<<(G_TEXTURE_IMAGE_FRAC-1), \ - (ult)<<(G_TEXTURE_IMAGE_FRAC), \ - (lrs)<<(G_TEXTURE_IMAGE_FRAC-1), \ - (lrt)<<(G_TEXTURE_IMAGE_FRAC)); \ - gDPPipeSync(pkt); \ - gDPSetTile(pkt, fmt, G_IM_SIZ_4b, \ - (((((lrs)-(uls)+1)>>1)+7)>>3), tmem, \ - rtile, pal, cmt, maskt, shiftt, cms, masks, \ - shifts); \ - gDPSetTileSize(pkt, rtile, \ - (uls)<>1), timg), \ - gsDPSetTile(fmt, G_IM_SIZ_8b, (((((lrs)-(uls)+1)>>1)+7)>>3), 0, \ - G_TX_LOADTILE, 0 , cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPLoadSync(), \ - gsDPLoadTile( G_TX_LOADTILE, \ - (uls)<<(G_TEXTURE_IMAGE_FRAC-1), \ - (ult)<<(G_TEXTURE_IMAGE_FRAC), \ - (lrs)<<(G_TEXTURE_IMAGE_FRAC-1), \ - (lrt)<<(G_TEXTURE_IMAGE_FRAC)), \ - gsDPPipeSync(), \ - gsDPSetTile(fmt, G_IM_SIZ_4b, (((((lrs)-(uls)+1)>>1)+7)>>3), 0, \ - G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPSetTileSize(G_TX_RENDERTILE, \ - (uls)<>1), timg), \ - gsDPSetTile(fmt, G_IM_SIZ_8b, (((((lrs)-(uls)+1)>>1)+7)>>3), \ - tmem, G_TX_LOADTILE, 0 , cmt, maskt, shiftt, cms, \ - masks, shifts), \ - gsDPLoadSync(), \ - gsDPLoadTile( G_TX_LOADTILE, \ - (uls)<<(G_TEXTURE_IMAGE_FRAC-1), \ - (ult)<<(G_TEXTURE_IMAGE_FRAC), \ - (lrs)<<(G_TEXTURE_IMAGE_FRAC-1), \ - (lrt)<<(G_TEXTURE_IMAGE_FRAC)), \ - gsDPPipeSync(), \ - gsDPSetTile(fmt, G_IM_SIZ_4b, (((((lrs)-(uls)+1)>>1)+7)>>3), \ - tmem, rtile, pal, cmt, maskt, shiftt, cms, masks, \ - shifts), \ - gsDPSetTileSize(rtile, \ - (uls)<words.w0 = _SHIFTL(G_SETSCISSOR, 24, 8) | \ - _SHIFTL((int)((float)(ulx)*4.0F), 12, 12) | \ - _SHIFTL((int)((float)(uly)*4.0F), 0, 12); \ - _g->words.w1 = _SHIFTL(mode, 24, 2) | \ - _SHIFTL((int)((float)(lrx)*4.0F), 12, 12) | \ - _SHIFTL((int)((float)(lry)*4.0F), 0, 12); \ -} - - -#define gDPSetScissorFrac(pkt, mode, ulx, uly, lrx, lry) \ -{ \ - Gfx *_g = (Gfx *)pkt; \ - \ - _g->words.w0 = _SHIFTL(G_SETSCISSOR, 24, 8) | \ - _SHIFTL((int)((ulx)), 12, 12) | \ - _SHIFTL((int)((uly)), 0, 12); \ - _g->words.w1 = _SHIFTL(mode, 24, 2) | \ - _SHIFTL((int)((lrx)), 12, 12) | \ - _SHIFTL((int)((lry)), 0, 12); \ -} - -#define gsDPSetScissor(mode, ulx, uly, lrx, lry) \ -{{ \ - _SHIFTL(G_SETSCISSOR, 24, 8) | \ - _SHIFTL((int)((float)(ulx)*4.0F), 12, 12) | \ - _SHIFTL((int)((float)(uly)*4.0F), 0, 12), \ - _SHIFTL(mode, 24, 2) | \ - _SHIFTL((int)((float)(lrx)*4.0F), 12, 12) | \ - _SHIFTL((int)((float)(lry)*4.0F), 0, 12) \ -}} - -#define gsDPSetScissorFrac(mode, ulx, uly, lrx, lry) \ -{{ \ - _SHIFTL(G_SETSCISSOR, 24, 8) | \ - _SHIFTL((int)((ulx)), 12, 12) | \ - _SHIFTL((int)((uly)), 0, 12), \ - _SHIFTL(mode, 24, 2) | \ - _SHIFTL((int)(lrx), 12, 12) | \ - _SHIFTL((int)(lry), 0, 12) \ -}} - -/* Fraction never used in fill */ -#define gDPFillRectangle(pkt, ulx, uly, lrx, lry) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_FILLRECT, 24, 8) | \ - _SHIFTL((lrx), 14, 10) | _SHIFTL((lry), 2, 10));\ - _g->words.w1 = (_SHIFTL((ulx), 14, 10) | _SHIFTL((uly), 2, 10));\ -} - -#define gsDPFillRectangle(ulx, uly, lrx, lry) \ -{{ \ - (_SHIFTL(G_FILLRECT, 24, 8) | _SHIFTL((lrx), 14, 10) | \ - _SHIFTL((lry), 2, 10)), \ - (_SHIFTL((ulx), 14, 10) | _SHIFTL((uly), 2, 10)) \ -}} - -/* like gDPFillRectangle but accepts negative arguments */ -#define gDPScisFillRectangle(pkt, ulx, uly, lrx, lry) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_FILLRECT, 24, 8) | \ - _SHIFTL(MAX((lrx),0), 14, 10) | \ - _SHIFTL(MAX((lry),0), 2, 10)); \ - _g->words.w1 = (_SHIFTL(MAX((ulx),0), 14, 10) | \ - _SHIFTL(MAX((uly),0), 2, 10)); \ -} - -#define gDPSetConvert(pkt, k0, k1, k2, k3, k4, k5) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_SETCONVERT, 24, 8) | \ - _SHIFTL(k0, 13, 9) | _SHIFTL(k1, 4, 9) | \ - _SHIFTR(k2, 5, 4)); \ - _g->words.w1 = (_SHIFTL(k2, 27, 5) | _SHIFTL(k3, 18, 9) | \ - _SHIFTL(k4, 9, 9) | _SHIFTL(k5, 0, 9)); \ -} - -#define gsDPSetConvert(k0, k1, k2, k3, k4, k5) \ -{{ \ - (_SHIFTL(G_SETCONVERT, 24, 8) | \ - _SHIFTL(k0, 13, 9) | _SHIFTL(k1, 4, 9) | _SHIFTR(k2, 5, 4)), \ - (_SHIFTL(k2, 27, 5) | _SHIFTL(k3, 18, 9) | _SHIFTL(k4, 9, 9) | \ - _SHIFTL(k5, 0, 9)) \ -}} - -#define gDPSetKeyR(pkt, cR, sR, wR) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(G_SETKEYR, 24, 8); \ - _g->words.w1 = (_SHIFTL(wR, 16, 12) | _SHIFTL(cR, 8, 8) | \ - _SHIFTL(sR, 0, 8)); \ -} - -#define gsDPSetKeyR(cR, sR, wR) \ -{{ \ - _SHIFTL(G_SETKEYR, 24, 8), \ - _SHIFTL(wR, 16, 12) | _SHIFTL(cR, 8, 8) | _SHIFTL(sR, 0, 8) \ -}} - -#define gDPSetKeyGB(pkt, cG, sG, wG, cB, sB, wB) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_SETKEYGB, 24, 8) | \ - _SHIFTL(wG, 12, 12) | _SHIFTL(wB, 0, 12)); \ - _g->words.w1 = (_SHIFTL(cG, 24, 8) | _SHIFTL(sG, 16, 8) | \ - _SHIFTL(cB, 8, 8) | _SHIFTL(sB, 0, 8)); \ -} - -#define gsDPSetKeyGB(cG, sG, wG, cB, sB, wB) \ -{{ \ - (_SHIFTL(G_SETKEYGB, 24, 8) | _SHIFTL(wG, 12, 12) | \ - _SHIFTL(wB, 0, 12)), \ - (_SHIFTL(cG, 24, 8) | _SHIFTL(sG, 16, 8) | _SHIFTL(cB, 8, 8) | \ - _SHIFTL(sB, 0, 8)) \ -}} - -#define gDPNoParam(pkt, cmd) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(cmd, 24, 8); \ - _g->words.w1 = 0; \ -} - -#define gsDPNoParam(cmd) \ -{{ \ - _SHIFTL(cmd, 24, 8), 0 \ -}} - -#define gDPParam(pkt, cmd, param) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(cmd, 24, 8); \ - _g->words.w1 = (param); \ -} - -#define gsDPParam(cmd, param) \ -{{ \ - _SHIFTL(cmd, 24, 8), (param) \ -}} - -/* Notice that textured rectangles are 128-bit commands, therefore - * gsDPTextureRectangle() should not be used in display lists - * under normal circumstances (use gsSPTextureRectangle()). - * That is also why there is no gDPTextureRectangle() macros. - */ -#define gsDPTextureRectangle(xl, yl, xh, yh, tile, s, t, dsdx, dtdy) \ -{{ \ - (_SHIFTL(G_TEXRECT, 24, 8) | _SHIFTL(xh, 12, 12) | \ - _SHIFTL(yh, 0, 12)), \ - (_SHIFTL(tile, 24, 3) | _SHIFTL(xl, 12, 12) | _SHIFTL(yl, 0, 12)), \ -}}, \ -{{ \ - _SHIFTL(s, 16, 16) | _SHIFTL(t, 0, 16), \ - _SHIFTL(dsdx, 16, 16) | _SHIFTL(dtdy, 0, 16) \ -}} - -#define gDPTextureRectangle(pkt, xl, yl, xh, yh, tile, s, t, dsdx, dtdy)\ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - if (pkt); \ - _g->words.w0 = (_SHIFTL(G_TEXRECT, 24, 8) | _SHIFTL(xh, 12, 12) | \ - _SHIFTL(yh, 0, 12)); \ - _g->words.w1 = (_SHIFTL(tile, 24, 3) | _SHIFTL(xl, 12, 12) | \ - _SHIFTL(yl, 0, 12)); \ - _g ++; \ - _g->words.w0 = (_SHIFTL(s, 16, 16) | _SHIFTL(t, 0, 16)); \ - _g->words.w1 = (_SHIFTL(dsdx, 16, 16) | _SHIFTL(dtdy, 0, 16)); \ -} - -#define gsDPTextureRectangleFlip(xl, yl, xh, yh, tile, s, t, dsdx, dtdy) \ -{{ \ - (_SHIFTL(G_TEXRECTFLIP, 24, 8) | _SHIFTL(xh, 12, 12) | \ - _SHIFTL(yh, 0, 12)), \ - (_SHIFTL(tile, 24, 3) | _SHIFTL(xl, 12, 12) | _SHIFTL(yl, 0, 12)), \ -}}, \ -{{ \ - _SHIFTL(s, 16, 16) | _SHIFTL(t, 0, 16), \ - _SHIFTL(dsdx, 16, 16) | _SHIFTL(dtdy, 0, 16) \ -}} - -#define gDPTextureRectangleFlip(pkt, xl, yl, xh, yh, tile, s, t, dsdx, dtdy)\ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - if (pkt); \ - _g->words.w0 = (_SHIFTL(G_TEXRECTFLIP, 24, 8) | _SHIFTL(xh, 12, 12) | \ - _SHIFTL(yh, 0, 12)); \ - _g->words.w1 = (_SHIFTL(tile, 24, 3) | _SHIFTL(xl, 12, 12) | \ - _SHIFTL(yl, 0, 12)); \ - _g ++; \ - _g->words.w0 = (_SHIFTL(s, 16, 16) | _SHIFTL(t, 0, 16)); \ - _g->words.w1 = (_SHIFTL(dsdx, 16, 16) | _SHIFTL(dtdy, 0, 16)); \ -} - -# define gSPTextureRectangle(pkt, xl, yl, xh, yh, tile, s, t, dsdx, dtdy)\ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_TEXRECT, 24, 8) | _SHIFTL(xh, 12, 12) | \ - _SHIFTL(yh, 0, 12)); \ - _g->words.w1 = (_SHIFTL(tile, 24, 3) | _SHIFTL(xl, 12, 12) | \ - _SHIFTL(yl, 0, 12)); \ - gImmp1(pkt, G_RDPHALF_2, (_SHIFTL(s, 16, 16) | _SHIFTL(t, 0, 16))); \ - gImmp1(pkt, G_RDPHALF_CONT, (_SHIFTL(dsdx, 16, 16) | _SHIFTL(dtdy, 0, 16)));\ -} - -#define gsSPTextureRectangle(xl, yl, xh, yh, tile, s, t, dsdx, dtdy) \ - {{(_SHIFTL(G_TEXRECT, 24, 8) | _SHIFTL(xh, 12, 12) | _SHIFTL(yh, 0, 12)),\ - (_SHIFTL(tile, 24, 3) | _SHIFTL(xl, 12, 12) | _SHIFTL(yl, 0, 12))}}, \ - gsImmp1(G_RDPHALF_2, (_SHIFTL(s, 16, 16) | _SHIFTL(t, 0, 16))), \ - gsImmp1(G_RDPHALF_CONT, (_SHIFTL(dsdx, 16, 16) | _SHIFTL(dtdy, 0, 16))) - -/* like gSPTextureRectangle but accepts negative position arguments */ -# define gSPScisTextureRectangle(pkt, xl, yl, xh, yh, tile, s, t, dsdx, dtdy) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_TEXRECT, 24, 8) | \ - _SHIFTL(MAX((s16)(xh),0), 12, 12) | \ - _SHIFTL(MAX((s16)(yh),0), 0, 12)); \ - _g->words.w1 = (_SHIFTL((tile), 24, 3) | \ - _SHIFTL(MAX((s16)(xl),0), 12, 12) | \ - _SHIFTL(MAX((s16)(yl),0), 0, 12)); \ - gImmp1(pkt, G_RDPHALF_2, \ - (_SHIFTL(((s) - \ - (((s16)(xl) < 0) ? \ - (((s16)(dsdx) < 0) ? \ - (MAX((((s16)(xl)*(s16)(dsdx))>>7),0)) : \ - (MIN((((s16)(xl)*(s16)(dsdx))>>7),0))) : 0)), \ - 16, 16) | \ - _SHIFTL(((t) - \ - (((yl) < 0) ? \ - (((s16)(dtdy) < 0) ? \ - (MAX((((s16)(yl)*(s16)(dtdy))>>7),0)) : \ - (MIN((((s16)(yl)*(s16)(dtdy))>>7),0))) : 0)), \ - 0, 16))); \ - gImmp1(pkt, G_RDPHALF_CONT, (_SHIFTL((dsdx), 16, 16) | \ - _SHIFTL((dtdy), 0, 16))); \ -} - -# define gsSPTextureRectangleFlip(xl, yl, xh, yh, tile, s, t, dsdx, dtdy) \ - {{(_SHIFTL(G_TEXRECTFLIP, 24, 8) | _SHIFTL(xh, 12, 12) | \ - _SHIFTL(yh, 0, 12)), \ - (_SHIFTL(tile, 24, 3) | _SHIFTL(xl, 12, 12) | _SHIFTL(yl, 0, 12))}}, \ - gsImmp1(G_RDPHALF_2, (_SHIFTL(s, 16, 16) | _SHIFTL(t, 0, 16))), \ - gsImmp1(G_RDPHALF_CONT, (_SHIFTL(dsdx, 16, 16) | _SHIFTL(dtdy, 0, 16))) - -# define gSPTextureRectangleFlip(pkt, xl, yl, xh, yh, tile, s, t, dsdx, dtdy) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_TEXRECTFLIP, 24, 8) | _SHIFTL(xh, 12, 12) |\ - _SHIFTL(yh, 0, 12)); \ - _g->words.w1 = (_SHIFTL(tile, 24, 3) | _SHIFTL(xl, 12, 12) | \ - _SHIFTL(yl, 0, 12)); \ - gImmp1(pkt, G_RDPHALF_2, (_SHIFTL(s, 16, 16) | _SHIFTL(t, 0, 16))); \ - gImmp1(pkt, G_RDPHALF_CONT, (_SHIFTL(dsdx, 16, 16) | _SHIFTL(dtdy, 0, 16))); \ -} - - -#define gsDPWord(wordhi, wordlo) \ - gsImmp1(G_RDPHALF_1, (uintptr_t)(wordhi)), \ - gsImmp1(G_RDPHALF_2, (uintptr_t)(wordlo)) - -#define gDPWord(pkt, wordhi, wordlo) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - gImmp1(pkt, G_RDPHALF_1, (uintptr_t)(wordhi)); \ - gImmp1(pkt, G_RDPHALF_2, (uintptr_t)(wordlo)); \ -} - -#define gDPFullSync(pkt) gDPNoParam(pkt, G_RDPFULLSYNC) -#define gsDPFullSync() gsDPNoParam(G_RDPFULLSYNC) -#define gDPTileSync(pkt) gDPNoParam(pkt, G_RDPTILESYNC) -#define gsDPTileSync() gsDPNoParam(G_RDPTILESYNC) -#define gDPPipeSync(pkt) gDPNoParam(pkt, G_RDPPIPESYNC) -#define gsDPPipeSync() gsDPNoParam(G_RDPPIPESYNC) -#define gDPLoadSync(pkt) gDPNoParam(pkt, G_RDPLOADSYNC) -#define gsDPLoadSync() gsDPNoParam(G_RDPLOADSYNC) -#define gDPNoOp(pkt) gDPNoParam(pkt, G_NOOP) -#define gsDPNoOp() gsDPNoParam(G_NOOP) -#define gDPNoOpTag(pkt, tag) gDPParam(pkt, G_NOOP, tag) -#define gsDPNoOpTag(tag) gsDPParam(G_NOOP, tag) - -// This file is an extension of PR/gbi.h - -// Color combiner values. These need better names! -#define DKR_CC_UNK0 0, 0, 0, COMBINED, COMBINED, 0, PRIMITIVE, 0 -#define DKR_CC_UNK1 ENVIRONMENT, COMBINED, ENV_ALPHA, COMBINED, COMBINED, 0, PRIMITIVE, 0 -#define DKR_CC_UNK2 ENVIRONMENT, COMBINED, ENV_ALPHA, COMBINED, 0, 0, 0, COMBINED -#define DKR_CC_UNK3 ENVIRONMENT, SHADE, ENV_ALPHA, SHADE, 0, 0, 0, SHADE -#define DKR_CC_UNK4 ENVIRONMENT, SHADE, ENV_ALPHA, SHADE, 0, 0, 0, PRIMITIVE -#define DKR_CC_UNK5 TEXEL0, PRIMITIVE, SHADE_ALPHA, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0 -#define DKR_CC_UNK6 ENVIRONMENT, COMBINED, SHADE, COMBINED, 0, 0, 0, COMBINED -#define DKR_CC_UNK7 TEXEL1, TEXEL0, PRIMITIVE, TEXEL0, TEXEL1, TEXEL0, PRIMITIVE, TEXEL0 -#define DKR_CC_UNK8 COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED -#define DKR_CC_UNK9 PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0 -#define DKR_CC_UNK10 TEXEL0, 0, SCALE, 0, 0, 0, 0, TEXEL0 -#define DKR_CC_UNK11 ENVIRONMENT, TEXEL0, ENV_ALPHA, TEXEL0, TEXEL0, 0, PRIMITIVE, 0 - -#define DKR_CC_ENVIRONMENT 0, 0, 0, ENVIRONMENT, 0, 0, 0, ENVIRONMENT -#define DKR_CC_DECALFADEPRIM 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, 0 - -// For some reason DKR has a value for G_MDSFT_BLENDMASK, despite the fact that it is unsupported. -#define G_DKR_BLENDMASK 15 - -// OtherMode_H values. -#define DKR_OMH_COMMON G_DKR_BLENDMASK | G_PM_NPRIMITIVE | G_TD_CLAMP | G_TL_TILE | G_TC_FILT \ - | G_CK_NONE | G_CD_MAGICSQ | G_AD_PATTERN - -#define DKR_OMH_1CYC_POINT DKR_OMH_COMMON | G_CYC_1CYCLE | G_TT_NONE | G_TF_POINT | G_TP_PERSP -#define DKR_OMH_1CYC_POINT_NOPERSP DKR_OMH_COMMON | G_CYC_1CYCLE | G_TT_NONE | G_TF_POINT | G_TP_NONE -#define DKR_OMH_1CYC_BILERP DKR_OMH_COMMON | G_CYC_1CYCLE | G_TT_NONE | G_TF_BILERP | G_TP_PERSP -#define DKR_OMH_1CYC_BILERP_NOPERSP DKR_OMH_COMMON | G_CYC_1CYCLE | G_TT_NONE | G_TF_BILERP | G_TP_NONE -#define DKR_OMH_1CYC_CI_BILERP DKR_OMH_COMMON | G_CYC_1CYCLE | G_TT_RGBA16 | G_TF_BILERP | G_TP_PERSP -#define DKR_OMH_2CYC_BILERP DKR_OMH_COMMON | G_CYC_2CYCLE | G_TT_NONE | G_TF_BILERP | G_TP_PERSP -#define DKR_OMH_2CYC_POINT DKR_OMH_COMMON | G_CYC_2CYCLE | G_TT_NONE | G_TF_POINT | G_TP_PERSP -#define DKR_OMH_2CYC_CI_BILERP DKR_OMH_COMMON | G_CYC_2CYCLE | G_TT_RGBA16 | G_TF_BILERP | G_TP_PERSP - -#define DKR_OMH_COPY_POINT_NOPERSP G_DKR_BLENDMASK | G_PM_NPRIMITIVE | G_TD_CLAMP | G_TL_TILE | G_TC_FILT \ - | G_CK_NONE | G_CD_DISABLE | G_AD_PATTERN | G_CYC_COPY | G_TT_NONE \ - | G_TF_POINT | G_TP_NONE - -// OtherMode_L values. -#define DKR_OML_COMMON G_AC_NONE | G_ZS_PIXEL - -// Render mode values. These need better names! -#define DKR_RM_UNKNOWN0 Z_UPD | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_IN, G_BL_1MA) -#define DKR_RM_UNKNOWN1 GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_IN, G_BL_1MA) -#define DKR_RM_UNKNOWN2 AA_EN | IM_RD | CLR_ON_CVG | FORCE_BL | CVG_DST_WRAP | ZMODE_OPA -#define DKR_RM_UNKNOWN2_1 DKR_RM_UNKNOWN2 | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) -#define DKR_RM_UNKNOWN2_2 DKR_RM_UNKNOWN2 | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) -#define DKR_RM_UNKNOWN3 AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_X_ALPHA | ALPHA_CVG_SEL | CVG_DST_CLAMP | ZMODE_OPA -#define DKR_RM_UNKNOWN3_1 DKR_RM_UNKNOWN3 | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) -#define DKR_RM_UNKNOWN3_2 DKR_RM_UNKNOWN3 | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) -#define DKR_RM_UNKNOWN4 AA_EN | Z_CMP | IM_RD | CVG_X_ALPHA | FORCE_BL | CVG_DST_CLAMP | ZMODE_XLU -#define DKR_RM_UNKNOWN4_1 DKR_RM_UNKNOWN4 | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) -#define DKR_RM_UNKNOWN4_2 DKR_RM_UNKNOWN4 | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) - -// Temporary until all commands are properly defined. -#define fast3d_cmd(pkt, word0, word1) \ -{ \ - Gfx *_g = (Gfx*)(pkt); \ - _g->words.w0 = word0; \ - _g->words.w1 = word1; \ -} - -/****** F3DDKR display list commands ******/ - -#define G_TRIN 5 -#define G_DMADL 7 - -#define gDkrVertices(pkt, address, no, v0) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_VTX, 24, 8) | _SHIFTL((no), 16, 8) | \ - _SHIFTL((v0*2), 0, 16)); \ - _g->words.w1 = (unsigned int)(address); \ -} - -#define TRIN_DISABLE_TEXTURE 0 -#define TRIN_ENABLE_TEXTURE 1 - -#define gDkrTriangles(pkt, address, n, t) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_TRIN, 24, 8) | _SHIFTL((n - 1), 20, 4) | \ - _SHIFTL((t), 16, 4) | _SHIFTL((n*16), 0, 16)); \ - _g->words.w1 = (unsigned int)(address); \ -} - -#define numberOfGfxCommands(gfxCmds) (sizeof(gfxCmds) / sizeof(Gwords)) - -#define gDkrDmaDisplayList(pkt, address, numberOfCommands) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL(G_DMADL, 24, 8) | _SHIFTL((numberOfCommands), 16, 8) | \ - _SHIFTL((numberOfCommands*8), 0, 16)); \ - _g->words.w1 = (unsigned int)(address); \ -} - -#define gDPSetPrimColorRGBA(pkt, rgba) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(G_SETPRIMCOLOR, 24, 8); \ - _g->words.w1 = rgba; \ -} - -#define gDPSetEnvColorRGBA(pkt, rgba) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(G_SETENVCOLOR, 24, 8); \ - _g->words.w1 = rgba; \ -} \ No newline at end of file diff --git a/diff.sh b/diff.sh index 74648715..dd7663d3 100755 --- a/diff.sh +++ b/diff.sh @@ -1 +1,3 @@ -python3 tools/python/diff.py "$@" \ No newline at end of file +#!/bin/sh + +.venv/bin/python3 tools/asm-differ/diff.py "$@" \ No newline at end of file diff --git a/diff_settings.py b/diff_settings.py new file mode 100644 index 00000000..740f43cf --- /dev/null +++ b/diff_settings.py @@ -0,0 +1,7 @@ +def apply(config, args): + config["baseimg"] = "baseroms/baserom.us.v77.z64" + config["myimg"] = "build/dkr.us.v77.z64" + config["mapfile"] = "build/dkr.us.v77.map" + config["source_directories"] = ["src"] + config["show_line_numbers_default"] = True + config["expected_dir"] = "expected/" diff --git a/find_sym.sh b/find_sym.sh deleted file mode 100755 index 0d1b4c80..00000000 --- a/find_sym.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -shopt -s globstar - -if [ "$#" -ne "1" ]; -then - echo "usage: $0 name" - exit 1 -fi - -#echo "Replace $1 with $2?" -#read -grep -r "$1" asm/**/*.s src/**/*.c lib/**/*.{c,s} include/*.h data/dkr.data.s undefined_syms.txt \ No newline at end of file diff --git a/first_diff.sh b/first_diff.sh index dd51b5ae..deb2c344 100755 --- a/first_diff.sh +++ b/first_diff.sh @@ -1 +1,5 @@ -python3 tools/python/first_diff.py \ No newline at end of file +#!/bin/sh + +# --region=jpn +# --version=v79 +.venv/bin/python3 tools/first_diff.py $1 $2 \ No newline at end of file diff --git a/generate_ctx.sh b/generate_ctx.sh index 0db8d087..c960a3c4 100755 --- a/generate_ctx.sh +++ b/generate_ctx.sh @@ -1,2 +1,4 @@ #!/bin/bash -python3 tools/python/m2ctx.py + +find include/ src/ -type f -name "*.h" | sed -e 's/.*/#include "\0"/' > ctx_includes.c +.venv/bin/python3 tools/m2ctx.py ctx_includes.c diff --git a/get_symbol.sh b/get_symbol.sh deleted file mode 100755 index 9c9d48e4..00000000 --- a/get_symbol.sh +++ /dev/null @@ -1 +0,0 @@ -python3 ./tools/python/get_symbol.py $1 diff --git a/include/audio_internal.h b/include/audio_internal.h index 288feee7..36768c7d 100644 --- a/include/audio_internal.h +++ b/include/audio_internal.h @@ -311,8 +311,6 @@ void _collectPVoices(ALSynth *drvr); s32 _timeToSamples(ALSynth *ALSynth, s32 micros); ALMicroTime _samplesToTime(ALSynth *synth, s32 samples); -void func_80065A80(ALSynth *arg0, PVoice *arg1, s16 arg2); - void _init_lpfilter(ALLowPass *lp); void alClose(ALGlobals *glob); diff --git a/include/macro.inc b/include/macro.inc index 518a1c72..483f19dd 100644 --- a/include/macro.inc +++ b/include/macro.inc @@ -23,3 +23,9 @@ .macro move a, b addu \a, \b, $zero .endm + +.macro leaf label + .global \label + \label: + .ent \label +.endm diff --git a/lib/asm/getcount.s b/lib/asm/getcount.s deleted file mode 100644 index 49627f2b..00000000 --- a/lib/asm/getcount.s +++ /dev/null @@ -1,20 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C78D0 */ - -.include "macro.inc" - -/* assembler directives */ -.set noat /* allow manual use of $at */ -.set noreorder /* don't insert nops after branches */ -.set gp=64 /* allow use of 64-bit general purpose registers */ - -.section .text, "ax" - -/* Generated by spimdisasm 1.30.0 */ - -/* Handwritten function */ -glabel osGetCount -/* C84D0 800C78D0 40024800 */ mfc0 $v0, $9 /* handwritten instruction */ -/* C84D4 800C78D4 03E00008 */ jr $ra -/* C84D8 800C78D8 00000000 */ nop -/* C84DC 800C78DC 00000000 */ nop diff --git a/lib/asm/getsr.s b/lib/asm/getsr.s deleted file mode 100644 index ff26c74b..00000000 --- a/lib/asm/getsr.s +++ /dev/null @@ -1,20 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D4570 */ - -.include "macro.inc" - -/* assembler directives */ -.set noat /* allow manual use of $at */ -.set noreorder /* don't insert nops after branches */ -.set gp=64 /* allow use of 64-bit general purpose registers */ - -.section .text, "ax" - -/* Generated by spimdisasm 1.30.0 */ - -/* Handwritten function */ -glabel __osGetSR -/* D5170 800D4570 40026000 */ mfc0 $v0, $12 /* handwritten instruction */ -/* D5174 800D4574 03E00008 */ jr $ra -/* D5178 800D4578 00000000 */ nop -/* D517C 800D457C 00000000 */ nop diff --git a/lib/asm/interrupt.s b/lib/asm/interrupt.s deleted file mode 100644 index 954c2fc9..00000000 --- a/lib/asm/interrupt.s +++ /dev/null @@ -1,35 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D2560 */ - -.include "macro.inc" - -/* assembler directives */ -.set noat /* allow manual use of $at */ -.set noreorder /* don't insert nops after branches */ -.set gp=64 /* allow use of 64-bit general purpose registers */ - -.section .text, "ax" - -/* Generated by spimdisasm 1.30.0 */ - -/* Handwritten function */ -glabel __osDisableInt -/* D3160 800D2560 40086000 */ mfc0 $t0, $12 /* handwritten instruction */ -/* D3164 800D2564 2401FFFE */ addiu $at, $zero, -0x2 -/* D3168 800D2568 01014824 */ and $t1, $t0, $at -/* D316C 800D256C 40896000 */ mtc0 $t1, $12 /* handwritten instruction */ -/* D3170 800D2570 31020001 */ andi $v0, $t0, 0x1 -/* D3174 800D2574 00000000 */ nop -/* D3178 800D2578 03E00008 */ jr $ra -/* D317C 800D257C 00000000 */ nop - -/* Handwritten function */ -glabel __osRestoreInt -/* D3180 800D2580 40086000 */ mfc0 $t0, $12 /* handwritten instruction */ -/* D3184 800D2584 01044025 */ or $t0, $t0, $a0 -/* D3188 800D2588 40886000 */ mtc0 $t0, $12 /* handwritten instruction */ -/* D318C 800D258C 00000000 */ nop -/* D3190 800D2590 00000000 */ nop -/* D3194 800D2594 03E00008 */ jr $ra -/* D3198 800D2598 00000000 */ nop -/* D319C 800D259C 00000000 */ nop diff --git a/lib/asm/libm_vals.s b/lib/asm/libm_vals.s deleted file mode 100644 index 3e7f4aca..00000000 --- a/lib/asm/libm_vals.s +++ /dev/null @@ -1,8 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800E0000 */ -/* RODATA ONLY try a randomly high RAM_POS to see if it works. */ - .rdata - .align 4 - .globl __libm_qnan_f -__libm_qnan_f: - .word 0x7F810000 diff --git a/lib/asm/params.s b/lib/asm/params.s deleted file mode 100644 index b30cf354..00000000 --- a/lib/asm/params.s +++ /dev/null @@ -1,11 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C9AF0 */ - -.include "macros.inc" - -.set noat # allow manual use of $at -.set noreorder # dont insert nops after branches -.set gp=64 # 64-bit instructions are used - -/* params.s - All libultra games have this padding */ -.space 0x40 diff --git a/lib/asm/setfpccsr.s b/lib/asm/setfpccsr.s deleted file mode 100644 index ed80ab6d..00000000 --- a/lib/asm/setfpccsr.s +++ /dev/null @@ -1,19 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D4580 */ - -.include "macro.inc" - -/* assembler directives */ -.set noat /* allow manual use of $at */ -.set noreorder /* don't insert nops after branches */ -.set gp=64 /* allow use of 64-bit general purpose registers */ - -.section .text, "ax" - -/* Generated by spimdisasm 1.30.0 */ - -glabel __osSetFpcCsr -/* D5180 800D4580 4442F800 */ cfc1 $v0, $31 -/* D5184 800D4584 44C4F800 */ ctc1 $a0, $31 -/* D5188 800D4588 03E00008 */ jr $ra -/* D518C 800D458C 00000000 */ nop diff --git a/lib/asm/setsr.s b/lib/asm/setsr.s deleted file mode 100644 index a7a4a4b6..00000000 --- a/lib/asm/setsr.s +++ /dev/null @@ -1,20 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D4560 */ - -.include "macro.inc" - -/* assembler directives */ -.set noat /* allow manual use of $at */ -.set noreorder /* don't insert nops after branches */ -.set gp=64 /* allow use of 64-bit general purpose registers */ - -.section .text, "ax" - -/* Generated by spimdisasm 1.30.0 */ - -/* Handwritten function */ -glabel __osSetSR -/* D5160 800D4560 40846000 */ mtc0 $a0, $12 /* handwritten instruction */ -/* D5164 800D4564 00000000 */ nop -/* D5168 800D4568 03E00008 */ jr $ra -/* D516C 800D456C 00000000 */ nop diff --git a/lib/asm/sqrtf.s b/lib/asm/sqrtf.s deleted file mode 100644 index 4c6de0fd..00000000 --- a/lib/asm/sqrtf.s +++ /dev/null @@ -1,18 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C9AD0 */ -.include "macro.inc" - -/* assembler directives */ -.set noat /* allow manual use of $at */ -.set noreorder /* don't insert nops after branches */ -.set gp=64 /* allow use of 64-bit general purpose registers */ - -.section .text, "ax" - -/* Generated by spimdisasm 1.30.0 */ - -glabel sqrtf -/* CA6D0 800C9AD0 03E00008 */ jr $ra -/* CA6D4 800C9AD4 46006004 */ sqrt.s $f0, $f12 -/* CA6D8 800C9AD8 00000000 */ nop -/* CA6DC 800C9ADC 00000000 */ nop diff --git a/lib/src/audio/mips1/csplayer.c b/lib/src/audio/mips1/csplayer.c deleted file mode 100644 index 883ef749..00000000 --- a/lib/src/audio/mips1/csplayer.c +++ /dev/null @@ -1,949 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80062290 */ - -/*==================================================================== - * csplayer.c - * - * Copyright 1995, Silicon Graphics, Inc. - * All Rights Reserved. - * - * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, - * Inc.; the contents of this file may not be disclosed to third - * parties, copied or duplicated in any form, in whole or in part, - * without the prior written permission of Silicon Graphics, Inc. - * - * RESTRICTED RIGHTS LEGEND: - * Use, duplication or disclosure by the Government is subject to - * restrictions as set forth in subdivision (c)(1)(ii) of the Rights - * in Technical Data and Computer Software clause at DFARS - * 252.227-7013, and/or in similar or successor clauses in the FAR, - * DOD or NASA FAR Supplement. Unpublished - rights reserved under the - * Copyright Laws of the United States. - *====================================================================*/ - -/* - * Notes: - * - * Controller Numbers: - * 1 Modulation - * 7 Volume - * 10 Pan - * 11 Expression - * 64 Sustain - * 121 Reset All Controllers - * 123 All Notes Off - * - * Registered Parameters - * 0 Pitch Bend Sensitivity - * 1 Fine Tuning - * 2 Coarse Tuning - */ - - #include - #include - #include - #include - #include "seqp.h" - #include "cseqp.h" - #include "cseq.h" - #include "synthInternals.h" - - /************ .rodata ************/ - const char D_800E6C20[] = "CSP: oh oh \n"; - - // TODO: this comes from a header - #ident "$Revision: 1.17 $" - static ALMicroTime __CSPVoiceHandler(void *node); - static void __CSPHandleNextSeqEvent(ALCSPlayer *seqp); - static void __CSPHandleMIDIMsg(ALCSPlayer_Custom *seqp, ALEvent *event); - static void __CSPHandleMetaMsg(ALCSPlayer *seqp, ALEvent *event); - static void __CSPRepostEvent(ALEventQueue *evtq, ALEventListItem *item); - static void __setUsptFromTempo(ALCSPlayer *seqp, f32 tempo); /* sct 1/8/96 */ - - - /* - * Sequence Player public functions - */ - void alCSPNew(ALCSPlayer *seqp, ALSeqpConfig *c) - { - s32 i; - ALEventListItem *items; - ALVoiceState *vs; - ALVoiceState *voices; - - ALHeap *hp = c->heap; - - /* - * initialize member variables - */ - seqp->bank = 0; - seqp->target = NULL; - seqp->drvr = &alGlobals->drvr; - seqp->chanMask = 0xffff; - seqp->uspt = 488; - seqp->nextDelta = 0; - seqp->state = AL_STOPPED; - seqp->vol = 0x7FFF; /* full volume */ - seqp->frameTime = AL_USEC_PER_FRAME; /* should get this from driver */ - seqp->curTime = 0; - seqp->initOsc = c->initOsc; - seqp->updateOsc = c->updateOsc; - seqp->stopOsc = c->stopOsc; - seqp->unk71 = 0; - seqp->unk70 = c->unknown_0x10; - - seqp->nextEvent.type = AL_SEQP_API_EVT; /* this will start the voice handler "spinning" */ - - /* - * init the channel state - */ - seqp->maxChannels = c->maxChannels; - seqp->chanState = alHeapAlloc(hp, c->maxChannels, sizeof(ALChanState) + 4); - __initChanState((ALSeqPlayer*)seqp); /* sct 11/6/95 */ - - /* - * init the voice state array - */ - voices = alHeapAlloc(hp, c->maxVoices, sizeof(ALVoiceState)); - seqp->vFreeList = 0; - for (i = 0; i < c->maxVoices; i++) { - vs = &voices[i]; - vs->next = seqp->vFreeList; - seqp->vFreeList = vs; - } - - seqp->vAllocHead = 0; - seqp->vAllocTail = 0; - #if BUILD_VERSION < VERSION_J - #line 109 - #endif - // init the event queue - items = alHeapAlloc(hp, c->maxEvents, sizeof(ALEventListItem)); - alEvtqNew(&seqp->evtq, items, c->maxEvents); - - /* - * add ourselves to the driver - */ - seqp->node.next = NULL; - seqp->node.handler = __CSPVoiceHandler; - seqp->node.clientData = seqp; - alSynAddPlayer(&alGlobals->drvr, &seqp->node); - } - - /************************************************************* - * private routines or driver callback routines - *************************************************************/ - static ALMicroTime __CSPVoiceHandler(void *node) - { - ALCSPlayer_Custom *seqp = (ALCSPlayer_Custom *) node; - ALEvent evt; - ALVoice *voice; - ALMicroTime delta; - ALVoiceState *vs; - void *oscState; - f32 oscValue; - u8 chan; - - do { - switch (seqp->nextEvent.type) - { - case (AL_SEQ_REF_EVT): - __CSPHandleNextSeqEvent(seqp); - break; - - case (AL_SEQP_API_EVT): - evt.type = AL_SEQP_API_EVT; - alEvtqPostEvent(&seqp->evtq, (ALEvent *)&evt, seqp->frameTime); - break; - - case (AL_NOTE_END_EVT): - voice = seqp->nextEvent.msg.note.voice; - - alSynStopVoice(seqp->drvr, voice); - alSynFreeVoice(seqp->drvr, voice); - vs = (ALVoiceState *)voice->clientPrivate; - if(vs->flags) - __seqpStopOsc((ALSeqPlayer*)seqp,vs); - __unmapVoice((ALSeqPlayer*)seqp, voice); - break; - - case (AL_SEQP_ENV_EVT): - voice = seqp->nextEvent.msg.vol.voice; - vs = (ALVoiceState *)voice->clientPrivate; - - if(vs->envPhase == AL_PHASE_ATTACK) - vs->envPhase = AL_PHASE_DECAY; - - delta = seqp->nextEvent.msg.vol.delta; - vs->envEndTime = seqp->curTime + delta; - vs->envGain = seqp->nextEvent.msg.vol.vol; - alSynSetVol(seqp->drvr, voice, __vsVol(vs, (ALSeqPlayer*)seqp), delta); - break; - - case (AL_TREM_OSC_EVT): - vs = seqp->nextEvent.msg.osc.vs; - oscState = seqp->nextEvent.msg.osc.oscState; - delta = (*seqp->updateOsc)(oscState,&oscValue); - vs->tremelo = (u8)oscValue; - alSynSetVol(seqp->drvr, &vs->voice, __vsVol(vs,(ALSeqPlayer*)seqp), - __vsDelta(vs,seqp->curTime)); - evt.type = AL_TREM_OSC_EVT; - evt.msg.osc.vs = vs; - evt.msg.osc.oscState = oscState; - alEvtqPostEvent(&seqp->evtq, &evt, delta); - break; - - case (AL_VIB_OSC_EVT): - vs = seqp->nextEvent.msg.osc.vs; - oscState = seqp->nextEvent.msg.osc.oscState; - chan = seqp->nextEvent.msg.osc.chan; - delta = (*seqp->updateOsc)(oscState,&oscValue); - vs->vibrato = oscValue; - alSynSetPitch(seqp->drvr, &vs->voice, vs->pitch * vs->vibrato - * seqp->chanState[chan].pitchBend); - evt.type = AL_VIB_OSC_EVT; - evt.msg.osc.vs = vs; - evt.msg.osc.oscState = oscState; - evt.msg.osc.chan = chan; - alEvtqPostEvent(&seqp->evtq, &evt, delta); - break; - - case (AL_SEQP_MIDI_EVT): - case (AL_CSP_NOTEOFF_EVT): /* nextEvent is a note off midi message */ - __CSPHandleMIDIMsg(seqp, &seqp->nextEvent); - break; - - case (AL_SEQP_META_EVT): - __CSPHandleMetaMsg(seqp, &seqp->nextEvent); - break; - - case (AL_SEQP_VOL_EVT): - seqp->vol = seqp->nextEvent.msg.spvol.vol; - for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) - { - alSynSetVol(seqp->drvr, &vs->voice, - __vsVol(vs, (ALSeqPlayer*)seqp), - __vsDelta(vs, seqp->curTime)); - } - break; - - case (AL_SEQP_PLAY_EVT): - if (seqp->state != AL_PLAYING) - { - seqp->state = AL_PLAYING; - __CSPPostNextSeqEvent(seqp); /* seqp must be AL_PLAYING before we call this routine. */ - } - break; - - case (AL_SEQP_STOP_EVT): - if ( seqp->state == AL_STOPPING ) - { - seqp->chanMask = 0xFFFF; - for (chan = 0; chan < seqp->maxChannels; chan++) - { - seqp->chanState[chan].fade = 0x7F; - seqp->chanState[chan].vol = seqp->chanState[chan].unk11; - } - - for (vs = seqp->vAllocHead; vs != 0; vs = seqp->vAllocHead) - { - #ifdef _DEBUG - __osError(ERR_ALCSPVNOTFREE, 2, vs->channel, vs->key); - #endif - alSynStopVoice(seqp->drvr, &vs->voice); - alSynFreeVoice(seqp->drvr, &vs->voice); - if(vs->flags) - __seqpStopOsc((ALSeqPlayer*)seqp,vs); - __unmapVoice((ALSeqPlayer*)seqp, &vs->voice); - } - seqp->state = AL_STOPPED; - - /* alEvtqFlush(&seqp->evtq); - Don't flush event queue - anymore. */ - /* sct 1/3/96 - Don't overwrite nextEvent with - AL_SEQP_API_EVT or set nextDelta to - AL_USEC_PER_FRAME since we're not stopping event - processing. */ - /* sct 1/3/96 - Don't return here since we keep - processing events as usual. */ - } - break; - - case (AL_SEQP_STOPPING_EVT): - if (seqp->state == AL_PLAYING) - { - /* sct 12/29/95 - Remove events associated with the - * stopping sequence. For compact sequence player, - * also remove all queued note off events since they - * are not contained in a compact sequence but are - * generated in response to note ons. Note that - * flushing AL_SEQP_MIDI_EVTs may flush events that - * were posted after the call to alSeqpStop, so the - * application must queue these events either when - * the player is fully stopped, or when it is - * playing. */ - alEvtqFlushType(&seqp->evtq, AL_SEQ_REF_EVT); - alEvtqFlushType(&seqp->evtq, AL_CSP_NOTEOFF_EVT); - alEvtqFlushType(&seqp->evtq, AL_SEQP_MIDI_EVT); - - /* sct 1/3/96 - Check to see which voices need to be - killed and release them. */ - /* Unkilled voices should have note end events - occurring prior to KILL_TIME. */ - for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) - { - if (__voiceNeedsNoteKill ((ALSeqPlayer*)seqp, &vs->voice, KILL_TIME)) - __seqpReleaseVoice((ALSeqPlayer*)seqp, &vs->voice, KILL_TIME); - } - - seqp->state = AL_STOPPING; - evt.type = AL_SEQP_STOP_EVT; - alEvtqPostEvent(&seqp->evtq, &evt, AL_EVTQ_END); - } - break; - - case (AL_SEQP_PRIORITY_EVT): - chan = seqp->nextEvent.msg.sppriority.chan; - seqp->chanState[chan].priority = seqp->nextEvent.msg.sppriority.priority; - break; - - case (AL_SEQP_SEQ_EVT): - #if BUILD_VERSION < VERSION_J - #line 294 - #endif - assert(seqp->state != AL_PLAYING); /* Must be done playing to change sequences. */ - - seqp->target = seqp->nextEvent.msg.spseq.seq; - if (seqp->bank) - __initFromBank((ALSeqPlayer *)seqp, seqp->bank); - break; - - case (AL_SEQP_BANK_EVT): - #if BUILD_VERSION < VERSION_J - #line 303 - #endif - assert(seqp->state == AL_STOPPED); /* Must be fully stopped to change banks. */ - - seqp->bank = seqp->nextEvent.msg.spbank.bank; - __initFromBank((ALSeqPlayer *)seqp, seqp->bank); - break; - - /* sct 11/6/95 - these events should now be handled by __CSPHandleNextSeqEvent */ - case (AL_SEQ_END_EVT): - case (AL_TEMPO_EVT): - case (AL_SEQ_MIDI_EVT): - #if BUILD_VERSION < VERSION_J - #line 313 - #endif - assert(FALSE); - - break; - } - seqp->nextDelta = alEvtqNextEvent(&seqp->evtq, &seqp->nextEvent); - - } while (seqp->nextDelta == 0); - - /* - * assume that next callback won't be more than half an - * hour away - */ - seqp->curTime += seqp->nextDelta; /* sct 11/7/95 */ - return seqp->nextDelta; - } - - /* - Calculates the delta time in ticks until the next sequence - event and posts a sequence reference event with the time in usecs. - Loops are handled automatically by the compact sequence. - - Does nothing if the sequence player is not playing or if there - is no target sequence. - - sct 11/7/95 - */ - void __CSPPostNextSeqEvent(ALCSPlayer *seqp) - { - ALEvent evt; - s32 deltaTicks; - - if (seqp->state != AL_PLAYING || seqp->target == NULL) - return; - - /* Get the next event time in ticks. */ - /* If false is returned, then there is no next delta (ie. end of sequence reached). */ - if (!__alCSeqNextDelta(seqp->target, &deltaTicks)) - return; - - evt.type = AL_SEQ_REF_EVT; - alEvtqPostEvent(&seqp->evtq, &evt, deltaTicks * seqp->uspt); - } - - - /* - Call this routine to handle the next event in the sequence. - Assumes that the next sequence event is scheduled to be processed - immediately since it does not check the event's tick time. - - sct 11/7/95 - */ - static void - __CSPHandleNextSeqEvent(ALCSPlayer *seqp) - { - ALEvent evt; - - /* sct 1/5/96 - Do nothing if we don't have a target sequence. */ - if (seqp->target == NULL) - return; - - alCSeqNextEvent(seqp->target, &evt); - - switch (evt.type) - { - case AL_SEQ_MIDI_EVT: - __CSPHandleMIDIMsg(seqp, &evt); - __CSPPostNextSeqEvent(seqp); - break; - - case AL_TEMPO_EVT: - __CSPHandleMetaMsg(seqp, &evt); - __CSPPostNextSeqEvent(seqp); - break; - - case AL_SEQ_END_EVT: - seqp->state = AL_STOPPING; - evt.type = AL_SEQP_STOP_EVT; - alEvtqPostEvent(&seqp->evtq, &evt, AL_EVTQ_END); - break; - - case AL_TRACK_END: - case AL_CSP_LOOPSTART: - case AL_CSP_LOOPEND: - __CSPPostNextSeqEvent(seqp); - break; - - default: - #if BUILD_VERSION < VERSION_J - #line 399 - #endif - assert(FALSE); /* Sequence event type not supported. */ - #if BUILD_VERSION >= VERSION_J - break; - #endif - } - } - - //Significantly different from the standard version - void __CSPHandleMIDIMsg(ALCSPlayer_Custom *seqp, ALEvent *event) - { - ALVoiceState *vs; - s32 i; - s32 status; - u8 chan; - u8 byte1; - u8 byte2; - u8 fxmix; - ALVoice *voice; - ALMIDIEvent *midi = &event->msg.midi; - s16 vol; - u8 new_var2; - ALEvent evt; - ALVoiceState *vstate; - ALFxRef fxref; - ALPan pan; - ALMicroTime deltaTime; - - ALVoiceConfig config; - ALSound *sound; - u8 new_var; - f32 pitch; - f32 oscValue; - s32 pad; - void *oscState; - ALInstrument *inst; - - s32 bendVal; - ALChanState_Custom *chanState; - s32 pad2; - f32 bendRatio; - - status = midi->status & AL_MIDI_StatusMask; - chan = midi->status & AL_MIDI_ChannelMask; - new_var = byte1 = midi->byte1; - new_var2 = byte2 = midi->byte2; - chanState = &seqp->chanState[chan]; - - if (status == AL_MIDI_ChannelModeSelect) - { - if (new_var == 0x6A) - { - seqp->chanMask &= ~(1 << byte2); - for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) - { - if (vs->channel == byte2) - __seqpReleaseVoice((ALSeqPlayer *) seqp, &vs->voice, vs->sound->envelope->releaseTime); - } - return; - } - else if (new_var == 0x6C) - { - seqp->chanMask |= 1 << byte2; - return; - } - - } - if ((seqp->chanMask & (((0, 1)) << chan)) != 0) { - } - else if ( - status != AL_MIDI_ProgramChange && - status != AL_MIDI_ControlChange && - status != AL_MIDI_PitchBendChange - ) { - return; - } - - switch (status) - { - case (AL_MIDI_NoteOn): - if (byte2 != 0) /* a real note on */ - { - - /* If we're not playing, don't process note ons. */ - if (seqp->state != AL_PLAYING) - break; - - sound = __lookupSoundQuick((ALSeqPlayer*)seqp, byte1, byte2, chan); - ALFlagFailIf(!sound, seqp->debugFlags & NO_SOUND_ERR_MASK, - ERR_ALSEQP_NO_SOUND); - - config.priority = seqp->chanState[chan].priority; - config.fxBus = 0; - config.unityPitch = 0; - - vstate = __mapVoice((ALSeqPlayer*)seqp, byte1, byte2, chan); - ALFlagFailIf(!vstate, seqp->debugFlags & NO_VOICE_ERR_MASK, - ERR_ALSEQP_NO_VOICE ); - - voice = &vstate->voice; - - if (alSynAllocVoice(seqp->drvr, voice, &config)) - func_80065A80(seqp->drvr, voice->pvoice, 0); - - /* - * set up the voice state structure - */ - vstate->sound = sound; - vstate->envPhase = AL_PHASE_ATTACK; - if (seqp->chanState[chan].sustain > AL_SUSTAIN) - vstate->phase = AL_PHASE_SUSTAIN; - else - vstate->phase = AL_PHASE_NOTEON; - - vstate->pitch = alCents2Ratio((s16)((byte1 - sound->keyMap->keyBase) * 100 + sound->keyMap->detune)); - vstate->envGain = sound->envelope->attackVolume; - vstate->envEndTime = seqp->curTime + - sound->envelope->attackTime; - - /* - * setup tremelo and vibrato if active - */ - vstate->flags = 0; - inst = seqp->chanState[chan].instrument; - - oscValue = (f32)AL_VOL_FULL; /* set this as a default */ - if(inst->tremType) - { - if(seqp->initOsc) - { - deltaTime = (*seqp->initOsc)(&oscState,&oscValue,inst->tremType, - inst->tremRate,inst->tremDepth,inst->tremDelay); - - if(deltaTime) /* a deltaTime of zero means don't run osc */ - { - evt.type = AL_TREM_OSC_EVT; - evt.msg.osc.vs = vstate; - evt.msg.osc.oscState = oscState; - alEvtqPostEvent(&seqp->evtq, &evt, deltaTime); - vstate->flags |= 0x01; /* set tremelo flag bit */ - } - } - } - vstate->tremelo = (u8)oscValue; /* will default if not changed by initOsc */ - - oscValue = 1.0f; /* set this as a default */ - if(inst->vibType) - { - if(seqp->initOsc) - { - deltaTime = (*seqp->initOsc)(&oscState,&oscValue,inst->vibType, - inst->vibRate,inst->vibDepth,inst->vibDelay); - - if(deltaTime) /* a deltaTime of zero means don't run osc. */ - { - evt.type = AL_VIB_OSC_EVT; - evt.msg.osc.vs = vstate; - evt.msg.osc.oscState = oscState; - evt.msg.osc.chan = chan; - alEvtqPostEvent(&seqp->evtq, &evt, deltaTime); - vstate->flags |= 0x02; /* set the vibrato flag bit */ - } - } - } - vstate->vibrato = oscValue; /* will default if not changed by initOsc */ - - /* - * calculate the note on parameters - */ - pitch = vstate->pitch * seqp->chanState[chan].pitchBend * - vstate->vibrato; - fxmix = seqp->chanState[chan].fxmix; - pan = __vsPan(vstate, (ALSeqPlayer*)seqp); - vol = __vsVol(vstate, (ALSeqPlayer*)seqp); - deltaTime = sound->envelope->attackTime; - - alSynStartVoiceParams(seqp->drvr, voice, sound->wavetable, - pitch, vol, pan, fxmix, deltaTime); - /* - * set up callbacks for envelope - */ - evt.type = AL_SEQP_ENV_EVT; - evt.msg.vol.voice = voice; - evt.msg.vol.vol = sound->envelope->decayVolume; - evt.msg.vol.delta = sound->envelope->decayTime; - - alEvtqPostEvent(&seqp->evtq, &evt, deltaTime); - - if(midi->duration) - { - /* - * set up note off evt. if no duration don't do this - */ - evt.type = AL_CSP_NOTEOFF_EVT; - evt.msg.midi.status = chan | AL_MIDI_NoteOff; - evt.msg.midi.byte1 = byte1; - evt.msg.midi.byte2 = 0; /* not needed ? */ - deltaTime = seqp->uspt * midi->duration; - - /* max time would be about one hour ten minutes */ - alEvtqPostEvent(&seqp->evtq, &evt, deltaTime); - } - - break; - } - - /* - * NOTE: intentional fall-through for note on with zero - * velocity (Should never happen with compact midi sequence, - * but could happen with real time midi.) - */ - - case (AL_MIDI_NoteOff): - vstate = __lookupVoice((ALSeqPlayer*)seqp, byte1, chan); - ALFlagFailIf(!vstate, seqp->debugFlags & NOTE_OFF_ERR_MASK, - ERR_ALSEQP_OFF_VOICE ); - - if (vstate->phase == AL_PHASE_SUSTAIN) - vstate->phase = AL_PHASE_SUSTREL; - else - { - vstate->phase = AL_PHASE_RELEASE; - __seqpReleaseVoice((ALSeqPlayer*)seqp, &vstate->voice, - vstate->sound->envelope->releaseTime); - } - - break; - - case (AL_MIDI_PolyKeyPressure): - /* - * Aftertouch per byte1 (hardwired to volume). Note that - * aftertouch affects only notes that are already - * sounding. - */ - vstate = __lookupVoice((ALSeqPlayer*)seqp, byte1, chan); - ALFailIf(!vstate, ERR_ALSEQP_POLY_VOICE ); - - vstate->velocity = byte2; - alSynSetVol(seqp->drvr, &vstate->voice, - __vsVol(vstate, (ALSeqPlayer*)seqp), - __vsDelta(vstate,seqp->curTime)); - break; - - case (AL_MIDI_ChannelPressure): - /* - * Aftertouch per channel (hardwired to volume). Note that - * aftertouch affects only notes that are already - * sounding. - */ - for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) { - if (vs->channel == chan) { - vs->velocity = byte1; - alSynSetVol(seqp->drvr, &vs->voice, - __vsVol(vs, (ALSeqPlayer*)seqp), - __vsDelta(vs,seqp->curTime)); - } - } - break; - - case (AL_MIDI_ControlChange): - switch (byte1) - { - case (AL_MIDI_PAN_CTRL): - seqp->chanState[chan].pan = byte2; - for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) - { - if (vs->channel == chan) - { - pan = __vsPan(vs, (ALSeqPlayer*)seqp); - alSynSetPan(seqp->drvr, &vs->voice, pan); - } - } - break; - case (AL_MIDI_VOLUME_CTRL): - { - seqp->chanState[chan].unk11 = byte2; - seqp->chanState[chan].vol = ((f32)seqp->chanState[chan].fade * byte2) / 127.0f; - - for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) - { - if ((vs->channel == chan) && (vs->envPhase != AL_PHASE_RELEASE)) - { - vol = __vsVol(vs, (ALSeqPlayer*)seqp); - alSynSetVol(seqp->drvr, &vs->voice, vol, - __vsDelta(vs,seqp->curTime)); - } - } - } - break; - case (8): - seqp->chanState[chan].fade = byte2; - seqp->chanState[chan].vol = (seqp->chanState[chan].unk11 * seqp->chanState[chan].fade) / 127.0f; - - for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) - { - if ((vs->channel == chan) && (vs->envPhase != AL_PHASE_RELEASE)) - { - vol = __vsVol(vs, (ALSeqPlayer*)seqp); - alSynSetVol(seqp->drvr, &vs->voice, vol, - __vsDelta(vs,seqp->curTime)); - } - } - break; - case (AL_MIDI_PRIORITY_CTRL): - /* leave current voices where they are */ - seqp->chanState[chan].priority = byte2; - break; - case (AL_MIDI_SUSTAIN_CTRL): - seqp->chanState[chan].sustain = byte2; - for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) - { - if ((vs->channel == chan) && (vs->phase != AL_PHASE_RELEASE)) - { - if ( byte2 > AL_SUSTAIN ) - { - /* - * sustain pedal down - */ - if (vs->phase == AL_PHASE_NOTEON) - vs->phase = AL_PHASE_SUSTAIN; - } - else - { - /* - * sustain pedal up - */ - if (vs->phase == AL_PHASE_SUSTAIN) - vs->phase = AL_PHASE_NOTEON; - - else if(vs->phase == AL_PHASE_SUSTREL) - { - vs->phase = AL_PHASE_RELEASE; - __seqpReleaseVoice((ALSeqPlayer*)seqp, - &vs->voice, - vs->sound->envelope->releaseTime); - } - } - } - } - break; - case (AL_MIDI_FX1_CTRL): - seqp->chanState[chan].fxmix = byte2; - for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) - { - if (vs->channel == chan) - alSynSetFXMix(seqp->drvr, &vs->voice, byte2); - } - break; - case (0x5F): - seqp->unk36 = byte2; - for (i = 0; i < seqp->maxChannels; i++) - { - if (seqp->chanState[i].fxmix < byte2) - { - seqp->chanState[i].fxmix = 0; - for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) - { - if (vs->channel == i) - alSynSetFXMix(seqp->drvr, &vs->voice, byte2); - } - } - } - break; - default: - break; - } - break; - case (AL_MIDI_ProgramChange): - /* sct 1/16/96 - We must have a valid bank in order to process the program change. */ - #if BUILD_VERSION < VERSION_J - #line 710 - #endif - assert(seqp->bank != NULL); - - if (byte1 < seqp->bank->instCount) - { - ALInstrument *inst = seqp->bank->instArray[byte1]; - __setInstChanState((ALSeqPlayer*)seqp, inst, chan); /* sct 11/6/95 */ - } - else - { - #ifdef _DEBUG - __osError(ERR_ALSEQPINVALIDPROG, 2, byte1, seqp->bank->instCount); - #endif - } - break; - case (AL_MIDI_PitchBendChange): - { - - /* get 14-bit unsigned midi value */ - bendVal = ( (byte2 << 7) + byte1) - 8192; - - /* calculate pitch bend in cents */ - - /* calculate the corresponding ratio */ - bendRatio = alCents2Ratio((seqp->chanState[chan].bendRange * bendVal)/8192); - seqp->chanState[chan].pitchBend = bendRatio; - - for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) - if (vs->channel == chan) - alSynSetPitch(seqp->drvr, &vs->voice, - vs->pitch * bendRatio * vs->vibrato); - - } - break; - - default: - #ifdef _DEBUG - __osError(ERR_ALSEQPUNKNOWNMIDI, 1, status); - #endif - break; - } - } - - static void __CSPHandleMetaMsg(ALCSPlayer *seqp, ALEvent *event) - { - ALTempoEvent *tevt = &event->msg.tempo; - ALEvent evt; - s32 tempo; - s32 oldUspt; - u32 ticks; - ALMicroTime tempDelta,curDelta = 0; - ALEventListItem *thisNode,*nextNode,*firstTemp = 0; - - - if (event->msg.tempo.status == AL_MIDI_Meta) - { - if (event->msg.tempo.type == AL_MIDI_META_TEMPO) - { - oldUspt = seqp->uspt; - tempo = (tevt->byte1 << 16) | (tevt->byte2 << 8) | (tevt->byte3 << 0); - __setUsptFromTempo (seqp, (f32)tempo); /* sct 1/8/96 */ - - thisNode = (ALEventListItem*)seqp->evtq.allocList.next; - while(thisNode) - { - curDelta += thisNode->delta; - nextNode = (ALEventListItem*)thisNode->node.next; - if(thisNode->evt.type == AL_CSP_NOTEOFF_EVT) - { - alUnlink((ALLink*)thisNode); - - if(firstTemp) - alLink((ALLink*)thisNode,(ALLink*)firstTemp); - else - { - thisNode->node.next = 0; - thisNode->node.prev = 0; - firstTemp = thisNode; - } - tempDelta = curDelta; /* record the current delta */ - if(nextNode) /* don't do this if no nextNode */ - { - curDelta -= thisNode->delta; /* subtract out this delta */ - nextNode->delta += thisNode->delta; /* add it to next event */ - } - thisNode->delta = tempDelta; /* set this event delta from current */ - } - thisNode = nextNode; - } - - thisNode = firstTemp; - while(thisNode) - { - nextNode = (ALEventListItem*)thisNode->node.next; - ticks = thisNode->delta/oldUspt; - thisNode->delta = ticks * seqp->uspt; - __CSPRepostEvent(&seqp->evtq,thisNode); - thisNode = nextNode; - } - } - } - } - - static void __CSPRepostEvent(ALEventQueue *evtq, ALEventListItem *item) - { - OSIntMask mask; - ALLink *node; - ALEventListItem *nextItem; - - mask = osSetIntMask(OS_IM_NONE); - - for (node = &evtq->allocList; node != 0; node = node->next) - { - if (!node->next) /* end of the list */ - { - alLink((ALLink *)item, node); - break; - } - else - { - nextItem = (ALEventListItem *)node->next; - if (item->delta < nextItem->delta) - { - nextItem->delta -= item->delta; - alLink((ALLink *)item, node); - break; - } - item->delta -= nextItem->delta; - } - } - osSetIntMask(mask); - } - - - /* - This routine safely calculates the sequence player's - uspt value based on the given tempo. It does this safely - by making sure that the player has a target sequence and - therefore a qnpt value which is needed for the calculation. - - Compact sequence player needs its own version of this routine - since the ALCSeq's qnpt field is at a different offset. - */ - static void __setUsptFromTempo (ALCSPlayer *seqp, f32 tempo) - { - if (seqp->target) - seqp->uspt = (s32)((f32)tempo * seqp->target->qnpt); - else - seqp->uspt = 488; /* This is the initial value set by alSeqpNew. */ - } - - \ No newline at end of file diff --git a/lib/src/audio/bnkf.c b/libultra/src/audio/bnkf.c similarity index 97% rename from lib/src/audio/bnkf.c rename to libultra/src/audio/bnkf.c index 91145f2b..dfd312fa 100644 --- a/lib/src/audio/bnkf.c +++ b/libultra/src/audio/bnkf.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C75A0 */ /*==================================================================== * bnkf.c * diff --git a/lib/src/audio/cents2ratio.c b/libultra/src/audio/cents2ratio.c similarity index 85% rename from lib/src/audio/cents2ratio.c rename to libultra/src/audio/cents2ratio.c index 2dd55812..55cd2a3c 100644 --- a/lib/src/audio/cents2ratio.c +++ b/libultra/src/audio/cents2ratio.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C99E0 */ /* * alCents2Ratio() * diff --git a/lib/src/audio/copy.c b/libultra/src/audio/copy.c similarity index 91% rename from lib/src/audio/copy.c rename to libultra/src/audio/copy.c index 06b353da..e80a8dfb 100644 --- a/lib/src/audio/copy.c +++ b/libultra/src/audio/copy.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D3820 */ /*==================================================================== * copy.c * diff --git a/lib/src/audio/cseq.c b/libultra/src/audio/cseq.c similarity index 99% rename from lib/src/audio/cseq.c rename to libultra/src/audio/cseq.c index b05fb5f1..9c4b8bd1 100644 --- a/lib/src/audio/cseq.c +++ b/libultra/src/audio/cseq.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C7AA0 */ /*==================================================================== * cseq.c * diff --git a/lib/src/audio/cseq.h b/libultra/src/audio/cseq.h similarity index 100% rename from lib/src/audio/cseq.h rename to libultra/src/audio/cseq.h diff --git a/lib/src/audio/cseqp.h b/libultra/src/audio/cseqp.h similarity index 100% rename from lib/src/audio/cseqp.h rename to libultra/src/audio/cseqp.h diff --git a/lib/src/audio/cspgetchlvol.c b/libultra/src/audio/cspgetchlvol.c similarity index 90% rename from lib/src/audio/cspgetchlvol.c rename to libultra/src/audio/cspgetchlvol.c index 3717de60..23d256ee 100644 --- a/lib/src/audio/cspgetchlvol.c +++ b/libultra/src/audio/cspgetchlvol.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C79A0 */ /*==================================================================== * cspgetchlvol.c * diff --git a/lib/src/audio/cspgetstate.c b/libultra/src/audio/cspgetstate.c similarity index 90% rename from lib/src/audio/cspgetstate.c rename to libultra/src/audio/cspgetstate.c index 608ff28a..9be79371 100644 --- a/lib/src/audio/cspgetstate.c +++ b/libultra/src/audio/cspgetstate.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C7A50 */ /*==================================================================== * cspgetstate.c * diff --git a/lib/src/audio/cspgettempo.c b/libultra/src/audio/cspgettempo.c similarity index 91% rename from lib/src/audio/cspgettempo.c rename to libultra/src/audio/cspgettempo.c index 99c4044c..ed3dfe23 100644 --- a/lib/src/audio/cspgettempo.c +++ b/libultra/src/audio/cspgettempo.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C7890 */ /*==================================================================== * cspgettempo.c * diff --git a/lib/src/audio/cspplay.c b/libultra/src/audio/cspplay.c similarity index 91% rename from lib/src/audio/cspplay.c rename to libultra/src/audio/cspplay.c index e180c5b6..e34914c2 100644 --- a/lib/src/audio/cspplay.c +++ b/libultra/src/audio/cspplay.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C85A0 */ /*==================================================================== * cspplay.c * diff --git a/lib/src/audio/cspsetbank.c b/libultra/src/audio/cspsetbank.c similarity index 91% rename from lib/src/audio/cspsetbank.c rename to libultra/src/audio/cspsetbank.c index b7c27f19..63292b4b 100644 --- a/lib/src/audio/cspsetbank.c +++ b/libultra/src/audio/cspsetbank.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C7A60 */ /*==================================================================== * cspsetbank.c * diff --git a/lib/src/audio/cspsetchlvol.c b/libultra/src/audio/cspsetchlvol.c similarity index 92% rename from lib/src/audio/cspsetchlvol.c rename to libultra/src/audio/cspsetchlvol.c index 63854d2b..28e62bba 100644 --- a/lib/src/audio/cspsetchlvol.c +++ b/libultra/src/audio/cspsetchlvol.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C7940 */ /*==================================================================== * cspsetchlvol.c * diff --git a/lib/src/audio/cspsetpan.c b/libultra/src/audio/cspsetpan.c similarity index 92% rename from lib/src/audio/cspsetpan.c rename to libultra/src/audio/cspsetpan.c index e5d4131d..c0dab00c 100644 --- a/lib/src/audio/cspsetpan.c +++ b/libultra/src/audio/cspsetpan.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C78E0 */ /*==================================================================== * cspsetpan.c * diff --git a/lib/src/audio/cspsetseq.c b/libultra/src/audio/cspsetseq.c similarity index 91% rename from lib/src/audio/cspsetseq.c rename to libultra/src/audio/cspsetseq.c index 0c84d0b3..4b6718e9 100644 --- a/lib/src/audio/cspsetseq.c +++ b/libultra/src/audio/cspsetseq.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C8560 */ /*==================================================================== * cspsetseq.c * diff --git a/lib/src/audio/cspsettempo.c b/libultra/src/audio/cspsettempo.c similarity index 92% rename from lib/src/audio/cspsettempo.c rename to libultra/src/audio/cspsettempo.c index 2af3305d..b085b454 100644 --- a/lib/src/audio/cspsettempo.c +++ b/libultra/src/audio/cspsettempo.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C79E0 */ /*==================================================================== * cspsettempo.c * diff --git a/lib/src/audio/cspsetvol.c b/libultra/src/audio/cspsetvol.c similarity index 91% rename from lib/src/audio/cspsetvol.c rename to libultra/src/audio/cspsetvol.c index 23e130d5..6782f330 100644 --- a/lib/src/audio/cspsetvol.c +++ b/libultra/src/audio/cspsetvol.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C7850 */ /*==================================================================== * cspsetvol.c * diff --git a/lib/src/audio/cspstop.c b/libultra/src/audio/cspstop.c similarity index 91% rename from lib/src/audio/cspstop.c rename to libultra/src/audio/cspstop.c index b1a82bc5..99298204 100644 --- a/lib/src/audio/cspstop.c +++ b/libultra/src/audio/cspstop.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C85D0 */ /*==================================================================== * cspstop.c * diff --git a/lib/src/audio/env.c b/libultra/src/audio/env.c similarity index 99% rename from lib/src/audio/env.c rename to libultra/src/audio/env.c index bfa00fcc..5fa33744 100644 --- a/lib/src/audio/env.c +++ b/libultra/src/audio/env.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CA0D0 */ /*==================================================================== * envmixer.c * @@ -24,7 +22,7 @@ #include #include #include -#include "lib/src/debug/assert.h" +#include "libultra/src/debug/assert.h" // TODO: these come from headers #ident "$Revision: 1.49 $" #ident "$Revision: 1.17 $" diff --git a/lib/src/audio/event.c b/libultra/src/audio/event.c similarity index 98% rename from lib/src/audio/event.c rename to libultra/src/audio/event.c index ae2719be..3112c99d 100644 --- a/lib/src/audio/event.c +++ b/libultra/src/audio/event.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C9090 */ /*==================================================================== * event.c * diff --git a/lib/src/audio/filter.c b/libultra/src/audio/filter.c similarity index 91% rename from lib/src/audio/filter.c rename to libultra/src/audio/filter.c index 825af02a..d88460bf 100644 --- a/lib/src/audio/filter.c +++ b/libultra/src/audio/filter.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CA0B0 */ /*==================================================================== * filter.c * diff --git a/lib/src/audio/heapalloc.c b/libultra/src/audio/heapalloc.c similarity index 94% rename from lib/src/audio/heapalloc.c rename to libultra/src/audio/heapalloc.c index f6696207..8a378084 100644 --- a/lib/src/audio/heapalloc.c +++ b/libultra/src/audio/heapalloc.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C77F0 */ /*==================================================================== * heapalloc.c * diff --git a/lib/src/audio/heapinit.c b/libultra/src/audio/heapinit.c similarity index 92% rename from lib/src/audio/heapinit.c rename to libultra/src/audio/heapinit.c index 0d1d7533..9053375c 100644 --- a/lib/src/audio/heapinit.c +++ b/libultra/src/audio/heapinit.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C7560 */ /*==================================================================== * heapinit.c * diff --git a/lib/src/audio/initfx.h b/libultra/src/audio/initfx.h similarity index 100% rename from lib/src/audio/initfx.h rename to libultra/src/audio/initfx.h diff --git a/lib/src/audio/load.c b/libultra/src/audio/load.c similarity index 99% rename from lib/src/audio/load.c rename to libultra/src/audio/load.c index 2dbdfa96..af070756 100644 --- a/lib/src/audio/load.c +++ b/libultra/src/audio/load.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CB540 */ /*==================================================================== * load.c * diff --git a/lib/src/audio/mainbus.c b/libultra/src/audio/mainbus.c similarity index 95% rename from lib/src/audio/mainbus.c rename to libultra/src/audio/mainbus.c index 17044cb6..d5c8eca6 100644 --- a/lib/src/audio/mainbus.c +++ b/libultra/src/audio/mainbus.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CC390 */ /*==================================================================== * mainbus.c * diff --git a/lib/src/audio/mips1/auxbus.c b/libultra/src/audio/mips1/auxbus.c similarity index 95% rename from lib/src/audio/mips1/auxbus.c rename to libultra/src/audio/mips1/auxbus.c index 21bae020..2871d553 100644 --- a/lib/src/audio/mips1/auxbus.c +++ b/libultra/src/audio/mips1/auxbus.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80065900 */ - /*==================================================================== * auxbus.c * diff --git a/lib/src/audio/mips1/cspgetfadein.c b/libultra/src/audio/mips1/cspgetfadein.c similarity index 55% rename from lib/src/audio/mips1/cspgetfadein.c rename to libultra/src/audio/mips1/cspgetfadein.c index 2cf12f43..0e92aac9 100644 --- a/lib/src/audio/mips1/cspgetfadein.c +++ b/libultra/src/audio/mips1/cspgetfadein.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80063C00 */ - #include u8 alCSPGetFadeIn(ALCSPlayer *seqp, u8 chan) { diff --git a/libultra/src/audio/mips1/csplayer.c b/libultra/src/audio/mips1/csplayer.c new file mode 100644 index 00000000..7cbbbe95 --- /dev/null +++ b/libultra/src/audio/mips1/csplayer.c @@ -0,0 +1,944 @@ +/*==================================================================== + * csplayer.c + * + * Copyright 1995, Silicon Graphics, Inc. + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, + * Inc.; the contents of this file may not be disclosed to third + * parties, copied or duplicated in any form, in whole or in part, + * without the prior written permission of Silicon Graphics, Inc. + * + * RESTRICTED RIGHTS LEGEND: + * Use, duplication or disclosure by the Government is subject to + * restrictions as set forth in subdivision (c)(1)(ii) of the Rights + * in Technical Data and Computer Software clause at DFARS + * 252.227-7013, and/or in similar or successor clauses in the FAR, + * DOD or NASA FAR Supplement. Unpublished - rights reserved under the + * Copyright Laws of the United States. + *====================================================================*/ + +/* + * Notes: + * + * Controller Numbers: + * 1 Modulation + * 7 Volume + * 10 Pan + * 11 Expression + * 64 Sustain + * 121 Reset All Controllers + * 123 All Notes Off + * + * Registered Parameters + * 0 Pitch Bend Sensitivity + * 1 Fine Tuning + * 2 Coarse Tuning + */ + +#include +#include +#include +#include +#include "seqp.h" +#include "cseqp.h" +#include "cseq.h" + +/************ .rodata ************/ +const char D_800E6C20[] = "CSP: oh oh \n"; + +// TODO: this comes from a header +#ident "$Revision: 1.17 $" +static ALMicroTime __CSPVoiceHandler(void *node); +static void __CSPHandleNextSeqEvent(ALCSPlayer *seqp); +static void __CSPHandleMIDIMsg(ALCSPlayer_Custom *seqp, ALEvent *event); +static void __CSPHandleMetaMsg(ALCSPlayer *seqp, ALEvent *event); +static void __CSPRepostEvent(ALEventQueue *evtq, ALEventListItem *item); +static void __setUsptFromTempo(ALCSPlayer *seqp, f32 tempo); /* sct 1/8/96 */ + + +/* + * Sequence Player public functions + */ +void alCSPNew(ALCSPlayer *seqp, ALSeqpConfig *c) +{ + s32 i; + ALEventListItem *items; + ALVoiceState *vs; + ALVoiceState *voices; + + ALHeap *hp = c->heap; + + /* + * initialize member variables + */ + seqp->bank = 0; + seqp->target = NULL; + seqp->drvr = &alGlobals->drvr; + seqp->chanMask = 0xffff; + seqp->uspt = 488; + seqp->nextDelta = 0; + seqp->state = AL_STOPPED; + seqp->vol = 0x7FFF; /* full volume */ + seqp->frameTime = AL_USEC_PER_FRAME; /* should get this from driver */ + seqp->curTime = 0; + seqp->initOsc = c->initOsc; + seqp->updateOsc = c->updateOsc; + seqp->stopOsc = c->stopOsc; + seqp->unk71 = 0; + seqp->unk70 = c->unknown_0x10; + + seqp->nextEvent.type = AL_SEQP_API_EVT; /* this will start the voice handler "spinning" */ + + /* + * init the channel state + */ + seqp->maxChannels = c->maxChannels; + seqp->chanState = alHeapAlloc(hp, c->maxChannels, sizeof(ALChanState) + 4); + __initChanState((ALSeqPlayer*)seqp); /* sct 11/6/95 */ + + /* + * init the voice state array + */ + voices = alHeapAlloc(hp, c->maxVoices, sizeof(ALVoiceState)); + seqp->vFreeList = 0; + for (i = 0; i < c->maxVoices; i++) { + vs = &voices[i]; + vs->next = seqp->vFreeList; + seqp->vFreeList = vs; + } + + seqp->vAllocHead = 0; + seqp->vAllocTail = 0; +#if BUILD_VERSION < VERSION_J +#line 109 +#endif + // init the event queue + items = alHeapAlloc(hp, c->maxEvents, sizeof(ALEventListItem)); + alEvtqNew(&seqp->evtq, items, c->maxEvents); + + /* + * add ourselves to the driver + */ + seqp->node.next = NULL; + seqp->node.handler = __CSPVoiceHandler; + seqp->node.clientData = seqp; + alSynAddPlayer(&alGlobals->drvr, &seqp->node); +} + +/************************************************************* + * private routines or driver callback routines + *************************************************************/ +static ALMicroTime __CSPVoiceHandler(void *node) +{ + ALCSPlayer_Custom *seqp = (ALCSPlayer_Custom *) node; + ALEvent evt; + ALVoice *voice; + ALMicroTime delta; + ALVoiceState *vs; + void *oscState; + f32 oscValue; + u8 chan; + + do { + switch (seqp->nextEvent.type) + { + case (AL_SEQ_REF_EVT): + __CSPHandleNextSeqEvent(seqp); + break; + + case (AL_SEQP_API_EVT): + evt.type = AL_SEQP_API_EVT; + alEvtqPostEvent(&seqp->evtq, (ALEvent *)&evt, seqp->frameTime); + break; + + case (AL_NOTE_END_EVT): + voice = seqp->nextEvent.msg.note.voice; + + alSynStopVoice(seqp->drvr, voice); + alSynFreeVoice(seqp->drvr, voice); + vs = (ALVoiceState *)voice->clientPrivate; + if(vs->flags) + __seqpStopOsc((ALSeqPlayer*)seqp,vs); + __unmapVoice((ALSeqPlayer*)seqp, voice); + break; + + case (AL_SEQP_ENV_EVT): + voice = seqp->nextEvent.msg.vol.voice; + vs = (ALVoiceState *)voice->clientPrivate; + + if(vs->envPhase == AL_PHASE_ATTACK) + vs->envPhase = AL_PHASE_DECAY; + + delta = seqp->nextEvent.msg.vol.delta; + vs->envEndTime = seqp->curTime + delta; + vs->envGain = seqp->nextEvent.msg.vol.vol; + alSynSetVol(seqp->drvr, voice, __vsVol(vs, (ALSeqPlayer*)seqp), delta); + break; + + case (AL_TREM_OSC_EVT): + vs = seqp->nextEvent.msg.osc.vs; + oscState = seqp->nextEvent.msg.osc.oscState; + delta = (*seqp->updateOsc)(oscState,&oscValue); + vs->tremelo = (u8)oscValue; + alSynSetVol(seqp->drvr, &vs->voice, __vsVol(vs,(ALSeqPlayer*)seqp), + __vsDelta(vs,seqp->curTime)); + evt.type = AL_TREM_OSC_EVT; + evt.msg.osc.vs = vs; + evt.msg.osc.oscState = oscState; + alEvtqPostEvent(&seqp->evtq, &evt, delta); + break; + + case (AL_VIB_OSC_EVT): + vs = seqp->nextEvent.msg.osc.vs; + oscState = seqp->nextEvent.msg.osc.oscState; + chan = seqp->nextEvent.msg.osc.chan; + delta = (*seqp->updateOsc)(oscState,&oscValue); + vs->vibrato = oscValue; + alSynSetPitch(seqp->drvr, &vs->voice, vs->pitch * vs->vibrato + * seqp->chanState[chan].pitchBend); + evt.type = AL_VIB_OSC_EVT; + evt.msg.osc.vs = vs; + evt.msg.osc.oscState = oscState; + evt.msg.osc.chan = chan; + alEvtqPostEvent(&seqp->evtq, &evt, delta); + break; + + case (AL_SEQP_MIDI_EVT): + case (AL_CSP_NOTEOFF_EVT): /* nextEvent is a note off midi message */ + __CSPHandleMIDIMsg(seqp, &seqp->nextEvent); + break; + + case (AL_SEQP_META_EVT): + __CSPHandleMetaMsg(seqp, &seqp->nextEvent); + break; + + case (AL_SEQP_VOL_EVT): + seqp->vol = seqp->nextEvent.msg.spvol.vol; + for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) + { + alSynSetVol(seqp->drvr, &vs->voice, + __vsVol(vs, (ALSeqPlayer*)seqp), + __vsDelta(vs, seqp->curTime)); + } + break; + + case (AL_SEQP_PLAY_EVT): + if (seqp->state != AL_PLAYING) + { + seqp->state = AL_PLAYING; + __CSPPostNextSeqEvent(seqp); /* seqp must be AL_PLAYING before we call this routine. */ + } + break; + + case (AL_SEQP_STOP_EVT): + if ( seqp->state == AL_STOPPING ) + { + seqp->chanMask = 0xFFFF; + for (chan = 0; chan < seqp->maxChannels; chan++) + { + seqp->chanState[chan].fade = 0x7F; + seqp->chanState[chan].vol = seqp->chanState[chan].unk11; + } + + for (vs = seqp->vAllocHead; vs != 0; vs = seqp->vAllocHead) + { +#ifdef _DEBUG + __osError(ERR_ALCSPVNOTFREE, 2, vs->channel, vs->key); +#endif + alSynStopVoice(seqp->drvr, &vs->voice); + alSynFreeVoice(seqp->drvr, &vs->voice); + if(vs->flags) + __seqpStopOsc((ALSeqPlayer*)seqp,vs); + __unmapVoice((ALSeqPlayer*)seqp, &vs->voice); + } + seqp->state = AL_STOPPED; + + /* alEvtqFlush(&seqp->evtq); - Don't flush event queue + anymore. */ + /* sct 1/3/96 - Don't overwrite nextEvent with + AL_SEQP_API_EVT or set nextDelta to + AL_USEC_PER_FRAME since we're not stopping event + processing. */ + /* sct 1/3/96 - Don't return here since we keep + processing events as usual. */ + } + break; + + case (AL_SEQP_STOPPING_EVT): + if (seqp->state == AL_PLAYING) + { + /* sct 12/29/95 - Remove events associated with the + * stopping sequence. For compact sequence player, + * also remove all queued note off events since they + * are not contained in a compact sequence but are + * generated in response to note ons. Note that + * flushing AL_SEQP_MIDI_EVTs may flush events that + * were posted after the call to alSeqpStop, so the + * application must queue these events either when + * the player is fully stopped, or when it is + * playing. */ + alEvtqFlushType(&seqp->evtq, AL_SEQ_REF_EVT); + alEvtqFlushType(&seqp->evtq, AL_CSP_NOTEOFF_EVT); + alEvtqFlushType(&seqp->evtq, AL_SEQP_MIDI_EVT); + + /* sct 1/3/96 - Check to see which voices need to be + killed and release them. */ + /* Unkilled voices should have note end events + occurring prior to KILL_TIME. */ + for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) + { + if (__voiceNeedsNoteKill ((ALSeqPlayer*)seqp, &vs->voice, KILL_TIME)) + __seqpReleaseVoice((ALSeqPlayer*)seqp, &vs->voice, KILL_TIME); + } + + seqp->state = AL_STOPPING; + evt.type = AL_SEQP_STOP_EVT; + alEvtqPostEvent(&seqp->evtq, &evt, AL_EVTQ_END); + } + break; + + case (AL_SEQP_PRIORITY_EVT): + chan = seqp->nextEvent.msg.sppriority.chan; + seqp->chanState[chan].priority = seqp->nextEvent.msg.sppriority.priority; + break; + + case (AL_SEQP_SEQ_EVT): +#if BUILD_VERSION < VERSION_J +#line 294 +#endif + assert(seqp->state != AL_PLAYING); /* Must be done playing to change sequences. */ + + seqp->target = seqp->nextEvent.msg.spseq.seq; + if (seqp->bank) + __initFromBank((ALSeqPlayer *)seqp, seqp->bank); + break; + + case (AL_SEQP_BANK_EVT): +#if BUILD_VERSION < VERSION_J +#line 303 +#endif + assert(seqp->state == AL_STOPPED); /* Must be fully stopped to change banks. */ + + seqp->bank = seqp->nextEvent.msg.spbank.bank; + __initFromBank((ALSeqPlayer *)seqp, seqp->bank); + break; + + /* sct 11/6/95 - these events should now be handled by __CSPHandleNextSeqEvent */ + case (AL_SEQ_END_EVT): + case (AL_TEMPO_EVT): + case (AL_SEQ_MIDI_EVT): +#if BUILD_VERSION < VERSION_J +#line 313 +#endif + assert(FALSE); + + break; + } + seqp->nextDelta = alEvtqNextEvent(&seqp->evtq, &seqp->nextEvent); + + } while (seqp->nextDelta == 0); + + /* + * assume that next callback won't be more than half an + * hour away + */ + seqp->curTime += seqp->nextDelta; /* sct 11/7/95 */ + return seqp->nextDelta; +} + +/* + Calculates the delta time in ticks until the next sequence + event and posts a sequence reference event with the time in usecs. + Loops are handled automatically by the compact sequence. + + Does nothing if the sequence player is not playing or if there + is no target sequence. + + sct 11/7/95 +*/ +void __CSPPostNextSeqEvent(ALCSPlayer *seqp) +{ + ALEvent evt; + s32 deltaTicks; + + if (seqp->state != AL_PLAYING || seqp->target == NULL) + return; + + /* Get the next event time in ticks. */ + /* If false is returned, then there is no next delta (ie. end of sequence reached). */ + if (!__alCSeqNextDelta(seqp->target, &deltaTicks)) + return; + + evt.type = AL_SEQ_REF_EVT; + alEvtqPostEvent(&seqp->evtq, &evt, deltaTicks * seqp->uspt); +} + + +/* + Call this routine to handle the next event in the sequence. + Assumes that the next sequence event is scheduled to be processed + immediately since it does not check the event's tick time. + + sct 11/7/95 +*/ +static void +__CSPHandleNextSeqEvent(ALCSPlayer *seqp) +{ + ALEvent evt; + + /* sct 1/5/96 - Do nothing if we don't have a target sequence. */ + if (seqp->target == NULL) + return; + + alCSeqNextEvent(seqp->target, &evt); + + switch (evt.type) + { + case AL_SEQ_MIDI_EVT: + __CSPHandleMIDIMsg(seqp, &evt); + __CSPPostNextSeqEvent(seqp); + break; + + case AL_TEMPO_EVT: + __CSPHandleMetaMsg(seqp, &evt); + __CSPPostNextSeqEvent(seqp); + break; + + case AL_SEQ_END_EVT: + seqp->state = AL_STOPPING; + evt.type = AL_SEQP_STOP_EVT; + alEvtqPostEvent(&seqp->evtq, &evt, AL_EVTQ_END); + break; + + case AL_TRACK_END: + case AL_CSP_LOOPSTART: + case AL_CSP_LOOPEND: + __CSPPostNextSeqEvent(seqp); + break; + + default: +#if BUILD_VERSION < VERSION_J +#line 399 +#endif + assert(FALSE); /* Sequence event type not supported. */ +#if BUILD_VERSION >= VERSION_J + break; +#endif + } +} + +//Significantly different from the standard version +void __CSPHandleMIDIMsg(ALCSPlayer_Custom *seqp, ALEvent *event) +{ + ALVoiceState *vs; + s32 i; + s32 status; + u8 chan; + u8 byte1; + u8 byte2; + u8 fxmix; + ALVoice *voice; + ALMIDIEvent *midi = &event->msg.midi; + s16 vol; + u8 new_var2; + ALEvent evt; + ALVoiceState *vstate; + ALFxRef fxref; + ALPan pan; + ALMicroTime deltaTime; + + ALVoiceConfig config; + ALSound *sound; + u8 new_var; + f32 pitch; + f32 oscValue; + s32 pad; + void *oscState; + ALInstrument *inst; + + s32 bendVal; + ALChanState_Custom *chanState; + s32 pad2; + f32 bendRatio; + + status = midi->status & AL_MIDI_StatusMask; + chan = midi->status & AL_MIDI_ChannelMask; + new_var = byte1 = midi->byte1; + new_var2 = byte2 = midi->byte2; + chanState = &seqp->chanState[chan]; + + if (status == AL_MIDI_ChannelModeSelect) + { + if (new_var == 0x6A) + { + seqp->chanMask &= ~(1 << byte2); + for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) + { + if (vs->channel == byte2) + __seqpReleaseVoice((ALSeqPlayer *) seqp, &vs->voice, vs->sound->envelope->releaseTime); + } + return; + } + else if (new_var == 0x6C) + { + seqp->chanMask |= 1 << byte2; + return; + } + + } + if ((seqp->chanMask & (((0, 1)) << chan)) != 0) { + } + else if ( + status != AL_MIDI_ProgramChange && + status != AL_MIDI_ControlChange && + status != AL_MIDI_PitchBendChange + ) { + return; + } + + switch (status) + { + case (AL_MIDI_NoteOn): + if (byte2 != 0) /* a real note on */ + { + + /* If we're not playing, don't process note ons. */ + if (seqp->state != AL_PLAYING) + break; + + sound = __lookupSoundQuick((ALSeqPlayer*)seqp, byte1, byte2, chan); + ALFlagFailIf(!sound, seqp->debugFlags & NO_SOUND_ERR_MASK, + ERR_ALSEQP_NO_SOUND); + + config.priority = seqp->chanState[chan].priority; + config.fxBus = 0; + config.unityPitch = 0; + + vstate = __mapVoice((ALSeqPlayer*)seqp, byte1, byte2, chan); + ALFlagFailIf(!vstate, seqp->debugFlags & NO_VOICE_ERR_MASK, + ERR_ALSEQP_NO_VOICE ); + + voice = &vstate->voice; + + if (alSynAllocVoice(seqp->drvr, voice, &config)) + func_80065A80(seqp->drvr, voice->pvoice, 0); + + /* + * set up the voice state structure + */ + vstate->sound = sound; + vstate->envPhase = AL_PHASE_ATTACK; + if (seqp->chanState[chan].sustain > AL_SUSTAIN) + vstate->phase = AL_PHASE_SUSTAIN; + else + vstate->phase = AL_PHASE_NOTEON; + + vstate->pitch = alCents2Ratio((s16)((byte1 - sound->keyMap->keyBase) * 100 + sound->keyMap->detune)); + vstate->envGain = sound->envelope->attackVolume; + vstate->envEndTime = seqp->curTime + + sound->envelope->attackTime; + + /* + * setup tremelo and vibrato if active + */ + vstate->flags = 0; + inst = seqp->chanState[chan].instrument; + + oscValue = (f32)AL_VOL_FULL; /* set this as a default */ + if(inst->tremType) + { + if(seqp->initOsc) + { + deltaTime = (*seqp->initOsc)(&oscState,&oscValue,inst->tremType, + inst->tremRate,inst->tremDepth,inst->tremDelay); + + if(deltaTime) /* a deltaTime of zero means don't run osc */ + { + evt.type = AL_TREM_OSC_EVT; + evt.msg.osc.vs = vstate; + evt.msg.osc.oscState = oscState; + alEvtqPostEvent(&seqp->evtq, &evt, deltaTime); + vstate->flags |= 0x01; /* set tremelo flag bit */ + } + } + } + vstate->tremelo = (u8)oscValue; /* will default if not changed by initOsc */ + + oscValue = 1.0f; /* set this as a default */ + if(inst->vibType) + { + if(seqp->initOsc) + { + deltaTime = (*seqp->initOsc)(&oscState,&oscValue,inst->vibType, + inst->vibRate,inst->vibDepth,inst->vibDelay); + + if(deltaTime) /* a deltaTime of zero means don't run osc. */ + { + evt.type = AL_VIB_OSC_EVT; + evt.msg.osc.vs = vstate; + evt.msg.osc.oscState = oscState; + evt.msg.osc.chan = chan; + alEvtqPostEvent(&seqp->evtq, &evt, deltaTime); + vstate->flags |= 0x02; /* set the vibrato flag bit */ + } + } + } + vstate->vibrato = oscValue; /* will default if not changed by initOsc */ + + /* + * calculate the note on parameters + */ + pitch = vstate->pitch * seqp->chanState[chan].pitchBend * + vstate->vibrato; + fxmix = seqp->chanState[chan].fxmix; + pan = __vsPan(vstate, (ALSeqPlayer*)seqp); + vol = __vsVol(vstate, (ALSeqPlayer*)seqp); + deltaTime = sound->envelope->attackTime; + + alSynStartVoiceParams(seqp->drvr, voice, sound->wavetable, + pitch, vol, pan, fxmix, deltaTime); + /* + * set up callbacks for envelope + */ + evt.type = AL_SEQP_ENV_EVT; + evt.msg.vol.voice = voice; + evt.msg.vol.vol = sound->envelope->decayVolume; + evt.msg.vol.delta = sound->envelope->decayTime; + + alEvtqPostEvent(&seqp->evtq, &evt, deltaTime); + + if(midi->duration) + { + /* + * set up note off evt. if no duration don't do this + */ + evt.type = AL_CSP_NOTEOFF_EVT; + evt.msg.midi.status = chan | AL_MIDI_NoteOff; + evt.msg.midi.byte1 = byte1; + evt.msg.midi.byte2 = 0; /* not needed ? */ + deltaTime = seqp->uspt * midi->duration; + + /* max time would be about one hour ten minutes */ + alEvtqPostEvent(&seqp->evtq, &evt, deltaTime); + } + + break; + } + + /* + * NOTE: intentional fall-through for note on with zero + * velocity (Should never happen with compact midi sequence, + * but could happen with real time midi.) + */ + + case (AL_MIDI_NoteOff): + vstate = __lookupVoice((ALSeqPlayer*)seqp, byte1, chan); + ALFlagFailIf(!vstate, seqp->debugFlags & NOTE_OFF_ERR_MASK, + ERR_ALSEQP_OFF_VOICE ); + + if (vstate->phase == AL_PHASE_SUSTAIN) + vstate->phase = AL_PHASE_SUSTREL; + else + { + vstate->phase = AL_PHASE_RELEASE; + __seqpReleaseVoice((ALSeqPlayer*)seqp, &vstate->voice, + vstate->sound->envelope->releaseTime); + } + + break; + + case (AL_MIDI_PolyKeyPressure): + /* + * Aftertouch per byte1 (hardwired to volume). Note that + * aftertouch affects only notes that are already + * sounding. + */ + vstate = __lookupVoice((ALSeqPlayer*)seqp, byte1, chan); + ALFailIf(!vstate, ERR_ALSEQP_POLY_VOICE ); + + vstate->velocity = byte2; + alSynSetVol(seqp->drvr, &vstate->voice, + __vsVol(vstate, (ALSeqPlayer*)seqp), + __vsDelta(vstate,seqp->curTime)); + break; + + case (AL_MIDI_ChannelPressure): + /* + * Aftertouch per channel (hardwired to volume). Note that + * aftertouch affects only notes that are already + * sounding. + */ + for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) { + if (vs->channel == chan) { + vs->velocity = byte1; + alSynSetVol(seqp->drvr, &vs->voice, + __vsVol(vs, (ALSeqPlayer*)seqp), + __vsDelta(vs,seqp->curTime)); + } + } + break; + + case (AL_MIDI_ControlChange): + switch (byte1) + { + case (AL_MIDI_PAN_CTRL): + seqp->chanState[chan].pan = byte2; + for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) + { + if (vs->channel == chan) + { + pan = __vsPan(vs, (ALSeqPlayer*)seqp); + alSynSetPan(seqp->drvr, &vs->voice, pan); + } + } + break; + case (AL_MIDI_VOLUME_CTRL): + { + seqp->chanState[chan].unk11 = byte2; + seqp->chanState[chan].vol = ((f32)seqp->chanState[chan].fade * byte2) / 127.0f; + + for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) + { + if ((vs->channel == chan) && (vs->envPhase != AL_PHASE_RELEASE)) + { + vol = __vsVol(vs, (ALSeqPlayer*)seqp); + alSynSetVol(seqp->drvr, &vs->voice, vol, + __vsDelta(vs,seqp->curTime)); + } + } + } + break; + case (8): + seqp->chanState[chan].fade = byte2; + seqp->chanState[chan].vol = (seqp->chanState[chan].unk11 * seqp->chanState[chan].fade) / 127.0f; + + for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) + { + if ((vs->channel == chan) && (vs->envPhase != AL_PHASE_RELEASE)) + { + vol = __vsVol(vs, (ALSeqPlayer*)seqp); + alSynSetVol(seqp->drvr, &vs->voice, vol, + __vsDelta(vs,seqp->curTime)); + } + } + break; + case (AL_MIDI_PRIORITY_CTRL): + /* leave current voices where they are */ + seqp->chanState[chan].priority = byte2; + break; + case (AL_MIDI_SUSTAIN_CTRL): + seqp->chanState[chan].sustain = byte2; + for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) + { + if ((vs->channel == chan) && (vs->phase != AL_PHASE_RELEASE)) + { + if ( byte2 > AL_SUSTAIN ) + { + /* + * sustain pedal down + */ + if (vs->phase == AL_PHASE_NOTEON) + vs->phase = AL_PHASE_SUSTAIN; + } + else + { + /* + * sustain pedal up + */ + if (vs->phase == AL_PHASE_SUSTAIN) + vs->phase = AL_PHASE_NOTEON; + + else if(vs->phase == AL_PHASE_SUSTREL) + { + vs->phase = AL_PHASE_RELEASE; + __seqpReleaseVoice((ALSeqPlayer*)seqp, + &vs->voice, + vs->sound->envelope->releaseTime); + } + } + } + } + break; + case (AL_MIDI_FX1_CTRL): + seqp->chanState[chan].fxmix = byte2; + for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) + { + if (vs->channel == chan) + alSynSetFXMix(seqp->drvr, &vs->voice, byte2); + } + break; + case (0x5F): + seqp->unk36 = byte2; + for (i = 0; i < seqp->maxChannels; i++) + { + if (seqp->chanState[i].fxmix < byte2) + { + seqp->chanState[i].fxmix = 0; + for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) + { + if (vs->channel == i) + alSynSetFXMix(seqp->drvr, &vs->voice, byte2); + } + } + } + break; + default: + break; + } + break; + case (AL_MIDI_ProgramChange): + /* sct 1/16/96 - We must have a valid bank in order to process the program change. */ +#if BUILD_VERSION < VERSION_J +#line 710 +#endif + assert(seqp->bank != NULL); + + if (byte1 < seqp->bank->instCount) + { + ALInstrument *inst = seqp->bank->instArray[byte1]; + __setInstChanState((ALSeqPlayer*)seqp, inst, chan); /* sct 11/6/95 */ + } + else + { +#ifdef _DEBUG + __osError(ERR_ALSEQPINVALIDPROG, 2, byte1, seqp->bank->instCount); +#endif + } + break; + case (AL_MIDI_PitchBendChange): + { + + /* get 14-bit unsigned midi value */ + bendVal = ( (byte2 << 7) + byte1) - 8192; + + /* calculate pitch bend in cents */ + + /* calculate the corresponding ratio */ + bendRatio = alCents2Ratio((seqp->chanState[chan].bendRange * bendVal)/8192); + seqp->chanState[chan].pitchBend = bendRatio; + + for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) + if (vs->channel == chan) + alSynSetPitch(seqp->drvr, &vs->voice, + vs->pitch * bendRatio * vs->vibrato); + + } + break; + + default: +#ifdef _DEBUG + __osError(ERR_ALSEQPUNKNOWNMIDI, 1, status); +#endif + break; + } +} + +static void __CSPHandleMetaMsg(ALCSPlayer *seqp, ALEvent *event) +{ + ALTempoEvent *tevt = &event->msg.tempo; + ALEvent evt; + s32 tempo; + s32 oldUspt; + u32 ticks; + ALMicroTime tempDelta,curDelta = 0; + ALEventListItem *thisNode,*nextNode,*firstTemp = 0; + + + if (event->msg.tempo.status == AL_MIDI_Meta) + { + if (event->msg.tempo.type == AL_MIDI_META_TEMPO) + { + oldUspt = seqp->uspt; + tempo = (tevt->byte1 << 16) | (tevt->byte2 << 8) | (tevt->byte3 << 0); + __setUsptFromTempo (seqp, (f32)tempo); /* sct 1/8/96 */ + + thisNode = (ALEventListItem*)seqp->evtq.allocList.next; + while(thisNode) + { + curDelta += thisNode->delta; + nextNode = (ALEventListItem*)thisNode->node.next; + if(thisNode->evt.type == AL_CSP_NOTEOFF_EVT) + { + alUnlink((ALLink*)thisNode); + + if(firstTemp) + alLink((ALLink*)thisNode,(ALLink*)firstTemp); + else + { + thisNode->node.next = 0; + thisNode->node.prev = 0; + firstTemp = thisNode; + } + tempDelta = curDelta; /* record the current delta */ + if(nextNode) /* don't do this if no nextNode */ + { + curDelta -= thisNode->delta; /* subtract out this delta */ + nextNode->delta += thisNode->delta; /* add it to next event */ + } + thisNode->delta = tempDelta; /* set this event delta from current */ + } + thisNode = nextNode; + } + + thisNode = firstTemp; + while(thisNode) + { + nextNode = (ALEventListItem*)thisNode->node.next; + ticks = thisNode->delta/oldUspt; + thisNode->delta = ticks * seqp->uspt; + __CSPRepostEvent(&seqp->evtq,thisNode); + thisNode = nextNode; + } + } + } +} + +static void __CSPRepostEvent(ALEventQueue *evtq, ALEventListItem *item) +{ + OSIntMask mask; + ALLink *node; + ALEventListItem *nextItem; + + mask = osSetIntMask(OS_IM_NONE); + + for (node = &evtq->allocList; node != 0; node = node->next) + { + if (!node->next) /* end of the list */ + { + alLink((ALLink *)item, node); + break; + } + else + { + nextItem = (ALEventListItem *)node->next; + if (item->delta < nextItem->delta) + { + nextItem->delta -= item->delta; + alLink((ALLink *)item, node); + break; + } + item->delta -= nextItem->delta; + } + } + osSetIntMask(mask); +} + + +/* + This routine safely calculates the sequence player's + uspt value based on the given tempo. It does this safely + by making sure that the player has a target sequence and + therefore a qnpt value which is needed for the calculation. + + Compact sequence player needs its own version of this routine + since the ALCSeq's qnpt field is at a different offset. +*/ +static void __setUsptFromTempo (ALCSPlayer *seqp, f32 tempo) +{ + if (seqp->target) + seqp->uspt = (s32)((f32)tempo * seqp->target->qnpt); + else + seqp->uspt = 488; /* This is the initial value set by alSeqpNew. */ +} + diff --git a/lib/src/audio/mips1/cspsetfadein.c b/libultra/src/audio/mips1/cspsetfadein.c similarity index 77% rename from lib/src/audio/mips1/cspsetfadein.c rename to libultra/src/audio/mips1/cspsetfadein.c index 4fffe170..f6ae4e94 100644 --- a/lib/src/audio/mips1/cspsetfadein.c +++ b/libultra/src/audio/mips1/cspsetfadein.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80063BA0 */ - #include void alCSPSetFadeIn(ALSeqPlayer *seqp, u8 chan, ALPan pan) { diff --git a/lib/src/audio/mips1/drvrnew.c b/libultra/src/audio/mips1/drvrnew.c similarity index 98% rename from lib/src/audio/mips1/drvrnew.c rename to libultra/src/audio/mips1/drvrnew.c index 70c206a8..f9023e44 100644 --- a/lib/src/audio/mips1/drvrnew.c +++ b/libultra/src/audio/mips1/drvrnew.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80064950 */ /*==================================================================== * drvrNew.c * diff --git a/lib/src/audio/mips1/reverb.c b/libultra/src/audio/mips1/reverb.c similarity index 99% rename from lib/src/audio/mips1/reverb.c rename to libultra/src/audio/mips1/reverb.c index 6e423197..1d901ab8 100644 --- a/lib/src/audio/mips1/reverb.c +++ b/libultra/src/audio/mips1/reverb.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80063C30 */ /*==================================================================== * reverb.c * diff --git a/lib/src/audio/mips1/seqchannel.c b/libultra/src/audio/mips1/seqchannel.c similarity index 85% rename from lib/src/audio/mips1/seqchannel.c rename to libultra/src/audio/mips1/seqchannel.c index b8884051..4c13e8ae 100644 --- a/lib/src/audio/mips1/seqchannel.c +++ b/libultra/src/audio/mips1/seqchannel.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80063AF0 */ - #include void alSeqChOff(ALSeqPlayer *seqp, u8 chan) { diff --git a/lib/src/audio/mips1/seqplayer.c b/libultra/src/audio/mips1/seqplayer.c similarity index 99% rename from lib/src/audio/mips1/seqplayer.c rename to libultra/src/audio/mips1/seqplayer.c index 13aa6026..e99be245 100644 --- a/lib/src/audio/mips1/seqplayer.c +++ b/libultra/src/audio/mips1/seqplayer.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8000A710 */ /*==================================================================== * seqplayer.c * diff --git a/lib/src/audio/mips1/synallocfx.c b/libultra/src/audio/mips1/synallocfx.c similarity index 92% rename from lib/src/audio/mips1/synallocfx.c rename to libultra/src/audio/mips1/synallocfx.c index 16269e59..19215f61 100644 --- a/lib/src/audio/mips1/synallocfx.c +++ b/libultra/src/audio/mips1/synallocfx.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80065860 */ /*==================================================================== * synallocfx.c * diff --git a/lib/src/audio/mips1/synsetpan.c b/libultra/src/audio/mips1/synsetpan.c similarity index 93% rename from lib/src/audio/mips1/synsetpan.c rename to libultra/src/audio/mips1/synsetpan.c index 2166135b..e81e0af7 100644 --- a/lib/src/audio/mips1/synsetpan.c +++ b/libultra/src/audio/mips1/synsetpan.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80065B20 */ /*==================================================================== * synsetpan.c * diff --git a/lib/src/audio/mips1/synstartvoiceparam.c b/libultra/src/audio/mips1/synstartvoiceparam.c similarity index 96% rename from lib/src/audio/mips1/synstartvoiceparam.c rename to libultra/src/audio/mips1/synstartvoiceparam.c index 95d0ff82..50b77f8c 100644 --- a/lib/src/audio/mips1/synstartvoiceparam.c +++ b/libultra/src/audio/mips1/synstartvoiceparam.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80065BD0 */ /*==================================================================== * synquickstartvoice * diff --git a/lib/src/audio/mips1/synthesizer.c b/libultra/src/audio/mips1/synthesizer.c similarity index 98% rename from lib/src/audio/mips1/synthesizer.c rename to libultra/src/audio/mips1/synthesizer.c index 17619ffe..df7ca2fd 100644 --- a/lib/src/audio/mips1/synthesizer.c +++ b/libultra/src/audio/mips1/synthesizer.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80065130 */ /*==================================================================== * synthesizer.c * diff --git a/lib/src/audio/mips1/unknown_064690.c b/libultra/src/audio/mips1/unknown_064690.c similarity index 75% rename from lib/src/audio/mips1/unknown_064690.c rename to libultra/src/audio/mips1/unknown_064690.c index c4243009..f3df3d2e 100644 --- a/lib/src/audio/mips1/unknown_064690.c +++ b/libultra/src/audio/mips1/unknown_064690.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80063A90 */ #include void func_80063A90(ALSeqPlayer *seqp, u8 chan) { diff --git a/lib/src/audio/resample.c b/libultra/src/audio/resample.c similarity index 97% rename from lib/src/audio/resample.c rename to libultra/src/audio/resample.c index add2c04e..2baf26f2 100644 --- a/lib/src/audio/resample.c +++ b/libultra/src/audio/resample.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CC090 */ /*==================================================================== * resample.c * diff --git a/lib/src/audio/save.c b/libultra/src/audio/save.c similarity index 95% rename from lib/src/audio/save.c rename to libultra/src/audio/save.c index 9d8a0b27..59bd09bd 100644 --- a/lib/src/audio/save.c +++ b/libultra/src/audio/save.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CC4E0 */ /*==================================================================== * save.c * diff --git a/lib/src/audio/seq.h b/libultra/src/audio/seq.h similarity index 100% rename from lib/src/audio/seq.h rename to libultra/src/audio/seq.h diff --git a/lib/src/audio/seqchannel.h b/libultra/src/audio/seqchannel.h similarity index 100% rename from lib/src/audio/seqchannel.h rename to libultra/src/audio/seqchannel.h diff --git a/lib/src/audio/seqp.h b/libultra/src/audio/seqp.h similarity index 100% rename from lib/src/audio/seqp.h rename to libultra/src/audio/seqp.h diff --git a/lib/src/audio/seqpgetfxmix.c b/libultra/src/audio/seqpgetfxmix.c similarity index 90% rename from lib/src/audio/seqpgetfxmix.c rename to libultra/src/audio/seqpgetfxmix.c index 39706d19..5d7ee3f7 100644 --- a/lib/src/audio/seqpgetfxmix.c +++ b/libultra/src/audio/seqpgetfxmix.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C79C0 */ /*==================================================================== * seqpgetfxmix.c * diff --git a/lib/src/audio/sl.c b/libultra/src/audio/sl.c similarity index 94% rename from lib/src/audio/sl.c rename to libultra/src/audio/sl.c index 8cc960be..d1849722 100644 --- a/lib/src/audio/sl.c +++ b/libultra/src/audio/sl.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C8760 */ /*==================================================================== * sl.c * diff --git a/lib/src/audio/synaddplayer.c b/libultra/src/audio/synaddplayer.c similarity index 91% rename from lib/src/audio/synaddplayer.c rename to libultra/src/audio/synaddplayer.c index 967d5317..77efb293 100644 --- a/lib/src/audio/synaddplayer.c +++ b/libultra/src/audio/synaddplayer.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C93D0 */ /*==================================================================== * synaddplayer.c * diff --git a/lib/src/audio/synallocvoice.c b/libultra/src/audio/synallocvoice.c similarity index 97% rename from lib/src/audio/synallocvoice.c rename to libultra/src/audio/synallocvoice.c index dcce4f6e..73d608d5 100644 --- a/lib/src/audio/synallocvoice.c +++ b/libultra/src/audio/synallocvoice.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C9420 */ /*==================================================================== * synallocvoice.c * diff --git a/lib/src/audio/syndelete.c b/libultra/src/audio/syndelete.c similarity index 90% rename from lib/src/audio/syndelete.c rename to libultra/src/audio/syndelete.c index 2eab412b..900fe76c 100644 --- a/lib/src/audio/syndelete.c +++ b/libultra/src/audio/syndelete.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D2C60 */ /*==================================================================== * syndelete.c * diff --git a/lib/src/audio/synfreevoice.c b/libultra/src/audio/synfreevoice.c similarity index 94% rename from lib/src/audio/synfreevoice.c rename to libultra/src/audio/synfreevoice.c index 20eab24d..eaa71ace 100644 --- a/lib/src/audio/synfreevoice.c +++ b/libultra/src/audio/synfreevoice.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C9930 */ /*==================================================================== * synfreevoice.c * diff --git a/lib/src/audio/synsetfxmix.c b/libultra/src/audio/synsetfxmix.c similarity index 94% rename from lib/src/audio/synsetfxmix.c rename to libultra/src/audio/synsetfxmix.c index 65d189d5..c7871032 100644 --- a/lib/src/audio/synsetfxmix.c +++ b/libultra/src/audio/synsetfxmix.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C9810 */ /*==================================================================== * synsetfxmix.c * diff --git a/lib/src/audio/synsetpitch.c b/libultra/src/audio/synsetpitch.c similarity index 93% rename from lib/src/audio/synsetpitch.c rename to libultra/src/audio/synsetpitch.c index 8cc7760d..0bfb7ba8 100644 --- a/lib/src/audio/synsetpitch.c +++ b/libultra/src/audio/synsetpitch.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C9780 */ /*==================================================================== * synsetpitch.c * diff --git a/lib/src/audio/synsetpriority.c b/libultra/src/audio/synsetpriority.c similarity index 90% rename from lib/src/audio/synsetpriority.c rename to libultra/src/audio/synsetpriority.c index 5277b1b9..c680bccd 100644 --- a/lib/src/audio/synsetpriority.c +++ b/libultra/src/audio/synsetpriority.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C9AE0 */ /*==================================================================== * synsetpriority.c * diff --git a/lib/src/audio/synsetvol.c b/libultra/src/audio/synsetvol.c similarity index 94% rename from lib/src/audio/synsetvol.c rename to libultra/src/audio/synsetvol.c index b1f51812..181c96f2 100644 --- a/lib/src/audio/synsetvol.c +++ b/libultra/src/audio/synsetvol.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C9650 */ /*==================================================================== * synsetvol.c * diff --git a/lib/src/audio/synstartvoice.c b/libultra/src/audio/synstartvoice.c similarity index 93% rename from lib/src/audio/synstartvoice.c rename to libultra/src/audio/synstartvoice.c index 5b4ed02d..9ad1d890 100644 --- a/lib/src/audio/synstartvoice.c +++ b/libultra/src/audio/synstartvoice.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C96F0 */ /*==================================================================== * synstartvoice.c * diff --git a/lib/src/audio/synstartvoiceparam.h b/libultra/src/audio/synstartvoiceparam.h similarity index 100% rename from lib/src/audio/synstartvoiceparam.h rename to libultra/src/audio/synstartvoiceparam.h diff --git a/lib/src/audio/synstopvoice.c b/libultra/src/audio/synstopvoice.c similarity index 93% rename from lib/src/audio/synstopvoice.c rename to libultra/src/audio/synstopvoice.c index af9577d5..69c09d87 100644 --- a/lib/src/audio/synstopvoice.c +++ b/libultra/src/audio/synstopvoice.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C98B0 */ /*==================================================================== * synstopvoice.c * diff --git a/lib/src/audio/synthInternals.h b/libultra/src/audio/synthInternals.h similarity index 99% rename from lib/src/audio/synthInternals.h rename to libultra/src/audio/synthInternals.h index 5da7c78a..e020bc33 100644 --- a/lib/src/audio/synthInternals.h +++ b/libultra/src/audio/synthInternals.h @@ -335,8 +335,6 @@ void _collectPVoices(ALSynth *drvr); s32 _timeToSamples(ALSynth *ALSynth, s32 micros); ALMicroTime _samplesToTime(ALSynth *synth, s32 samples); -void func_80065A80(ALSynth *arg0, PVoice *arg1, s16 arg2); - // This was renamed to have a leading underscore in 2.0J #if BUILD_VERSION < VERSION_J #define _init_lpfilter init_lpfilter diff --git a/lib/src/debug/assert.c b/libultra/src/debug/assert.c similarity index 76% rename from lib/src/debug/assert.c rename to libultra/src/debug/assert.c index 29ddd032..ffdb5eee 100644 --- a/lib/src/debug/assert.c +++ b/libultra/src/debug/assert.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800B6F30 */ - #include "os.h" #include "PRinternal/osint.h" #include "osint_debug.h" diff --git a/lib/src/debug/assert.h b/libultra/src/debug/assert.h similarity index 100% rename from lib/src/debug/assert.h rename to libultra/src/debug/assert.h diff --git a/lib/src/debug/osint_debug.h b/libultra/src/debug/osint_debug.h similarity index 100% rename from lib/src/debug/osint_debug.h rename to libultra/src/debug/osint_debug.h diff --git a/lib/src/gu/cosf.c b/libultra/src/gu/cosf.c similarity index 96% rename from lib/src/gu/cosf.c rename to libultra/src/gu/cosf.c index 1d656e03..5a66c1b3 100644 --- a/lib/src/gu/cosf.c +++ b/libultra/src/gu/cosf.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D4AB0 */ /************************************************************************** * * * Copyright (C) 1994, Silicon Graphics, Inc. * diff --git a/lib/src/gu/guint.h b/libultra/src/gu/guint.h similarity index 100% rename from lib/src/gu/guint.h rename to libultra/src/gu/guint.h diff --git a/libultra/src/gu/libm_vals.s b/libultra/src/gu/libm_vals.s new file mode 100644 index 00000000..b88ad985 --- /dev/null +++ b/libultra/src/gu/libm_vals.s @@ -0,0 +1,5 @@ + .rdata + .align 4 + .globl __libm_qnan_f +__libm_qnan_f: + .word 0x7F810000 diff --git a/lib/src/gu/mtxutil.c b/libultra/src/gu/mtxutil.c similarity index 94% rename from lib/src/gu/mtxutil.c rename to libultra/src/gu/mtxutil.c index 2a8b834a..ea0e57d7 100644 --- a/lib/src/gu/mtxutil.c +++ b/libultra/src/gu/mtxutil.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D4840 */ /************************************************************************** * * * Copyright (C) 1994, Silicon Graphics, Inc. * diff --git a/lib/src/gu/perspective.c b/libultra/src/gu/perspective.c similarity index 93% rename from lib/src/gu/perspective.c rename to libultra/src/gu/perspective.c index 63b4453d..be571d40 100644 --- a/lib/src/gu/perspective.c +++ b/libultra/src/gu/perspective.c @@ -1,5 +1,4 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CC920 */ + /************************************************************************** * * * Copyright (C) 1994, Silicon Graphics, Inc. * diff --git a/lib/src/gu/sinf.c b/libultra/src/gu/sinf.c similarity index 96% rename from lib/src/gu/sinf.c rename to libultra/src/gu/sinf.c index f7dc0cf1..f4bb1ad6 100644 --- a/lib/src/gu/sinf.c +++ b/libultra/src/gu/sinf.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D4C20 */ - /************************************************************************** * * * Copyright (C) 1994, Silicon Graphics, Inc. * diff --git a/libultra/src/gu/sqrtf.s b/libultra/src/gu/sqrtf.s new file mode 100644 index 00000000..c62b606f --- /dev/null +++ b/libultra/src/gu/sqrtf.s @@ -0,0 +1,13 @@ +.include "macro.inc" + +/* assembler directives */ +.set noat /* allow manual use of $at */ +.set noreorder /* don't insert nops after branches */ +.set gp=64 /* allow use of 64-bit general purpose registers */ + +.section .text, "ax" + +leaf sqrtf +jr $ra +sqrt.s $f0, $f12 +.end sqrtf diff --git a/lib/src/io/ai.c b/libultra/src/io/ai.c similarity index 73% rename from lib/src/io/ai.c rename to libultra/src/io/ai.c index a398147b..4ece0f1a 100644 --- a/lib/src/io/ai.c +++ b/libultra/src/io/ai.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D3670 */ - #include "PR/os_internal.h" #include "PR/rcp.h" diff --git a/lib/src/io/aigetlen.c b/libultra/src/io/aigetlen.c similarity index 78% rename from lib/src/io/aigetlen.c rename to libultra/src/io/aigetlen.c index b9ef5ca5..aadf8916 100644 --- a/lib/src/io/aigetlen.c +++ b/libultra/src/io/aigetlen.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C8E20 */ #include "PR/rcp.h" // TODO: this comes from a header diff --git a/lib/src/io/aisetfreq.c b/libultra/src/io/aisetfreq.c similarity index 95% rename from lib/src/io/aisetfreq.c rename to libultra/src/io/aisetfreq.c index c9d0e7fd..2b0efca1 100644 --- a/lib/src/io/aisetfreq.c +++ b/libultra/src/io/aisetfreq.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C8600 */ - #include "PR/rcp.h" #include "PR/ultraerror.h" #include "PRinternal/osint.h" diff --git a/lib/src/io/aisetnextbuf.c b/libultra/src/io/aisetnextbuf.c similarity index 94% rename from lib/src/io/aisetnextbuf.c rename to libultra/src/io/aisetnextbuf.c index e53e5458..0f5b3465 100644 --- a/lib/src/io/aisetnextbuf.c +++ b/libultra/src/io/aisetnextbuf.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C8D70 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PR/rcp.h" diff --git a/lib/src/io/conteepprobe.c b/libultra/src/io/conteepprobe.c similarity index 80% rename from lib/src/io/conteepprobe.c rename to libultra/src/io/conteepprobe.c index 87e02684..6347b228 100644 --- a/lib/src/io/conteepprobe.c +++ b/libultra/src/io/conteepprobe.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CE210 */ - #include "PRinternal/controller.h" #include "PRinternal/siint.h" diff --git a/lib/src/io/conteepread.c b/libultra/src/io/conteepread.c similarity index 96% rename from lib/src/io/conteepread.c rename to libultra/src/io/conteepread.c index c065a68c..77136606 100644 --- a/lib/src/io/conteepread.c +++ b/libultra/src/io/conteepread.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CE280 */ - #include "PRinternal/macros.h" #include "PR/rcp.h" #include "PRinternal/controller.h" diff --git a/lib/src/io/conteepwrite.c b/libultra/src/io/conteepwrite.c similarity index 97% rename from lib/src/io/conteepwrite.c rename to libultra/src/io/conteepwrite.c index 395db295..914c0f8b 100644 --- a/lib/src/io/conteepwrite.c +++ b/libultra/src/io/conteepwrite.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CE580 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PR/rcp.h" diff --git a/lib/src/io/contpfs.c b/libultra/src/io/contpfs.c similarity index 98% rename from lib/src/io/contpfs.c rename to libultra/src/io/contpfs.c index 87714e00..8574de1c 100644 --- a/lib/src/io/contpfs.c +++ b/libultra/src/io/contpfs.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D52EC */ #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PR/os_version.h" diff --git a/lib/src/io/contramread.c b/libultra/src/io/contramread.c similarity index 97% rename from lib/src/io/contramread.c rename to libultra/src/io/contramread.c index 725d9b8c..dacb98c7 100644 --- a/lib/src/io/contramread.c +++ b/libultra/src/io/contramread.c @@ -1,5 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CDCA0 */ #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PR/rcp.h" diff --git a/lib/src/io/contramwrite.c b/libultra/src/io/contramwrite.c similarity index 97% rename from lib/src/io/contramwrite.c rename to libultra/src/io/contramwrite.c index c1ba2bb6..f5b54e89 100644 --- a/lib/src/io/contramwrite.c +++ b/libultra/src/io/contramwrite.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CD8F0 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PR/rcp.h" diff --git a/lib/src/io/contreaddata.c b/libultra/src/io/contreaddata.c similarity index 95% rename from lib/src/io/contreaddata.c rename to libultra/src/io/contreaddata.c index c88bdf67..a00fb280 100644 --- a/lib/src/io/contreaddata.c +++ b/libultra/src/io/contreaddata.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CCFE0 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PRinternal/controller.h" diff --git a/lib/src/io/controller.c b/libultra/src/io/controller.c similarity index 96% rename from lib/src/io/controller.c rename to libultra/src/io/controller.c index 1c27194a..f754bd8a 100644 --- a/lib/src/io/controller.c +++ b/libultra/src/io/controller.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CCC20 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PRinternal/controller.h" diff --git a/lib/src/io/crc.c b/libultra/src/io/crc.c similarity index 97% rename from lib/src/io/crc.c rename to libultra/src/io/crc.c index 9aa833e6..c52dae90 100644 --- a/lib/src/io/crc.c +++ b/libultra/src/io/crc.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CD770 */ - /** * File: crc.c * Description: Functions to compute Cyclic Redundancy Check for specific addresses and data. diff --git a/lib/src/io/devmgr.c b/libultra/src/io/devmgr.c similarity index 96% rename from lib/src/io/devmgr.c rename to libultra/src/io/devmgr.c index d84e0a97..8ee7c4f6 100644 --- a/lib/src/io/devmgr.c +++ b/libultra/src/io/devmgr.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D2760 */ - #include "PR/os_internal.h" #include "PR/rcp.h" #include "PRinternal/piint.h" diff --git a/lib/src/io/dp.c b/libultra/src/io/dp.c similarity index 73% rename from lib/src/io/dp.c rename to libultra/src/io/dp.c index 342681b5..e636217b 100644 --- a/lib/src/io/dp.c +++ b/libultra/src/io/dp.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D6050 */ - #include "PR/os_internal.h" #include "PR/rcp.h" diff --git a/lib/src/io/dpgetstat.c b/libultra/src/io/dpgetstat.c similarity index 62% rename from lib/src/io/dpgetstat.c rename to libultra/src/io/dpgetstat.c index ac1d00cf..54dd3acd 100644 --- a/lib/src/io/dpgetstat.c +++ b/libultra/src/io/dpgetstat.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D18D0 */ - #include "PR/os_internal.h" #include "PR/rcp.h" diff --git a/lib/src/io/dpsetnextbuf.c b/libultra/src/io/dpsetnextbuf.c similarity index 89% rename from lib/src/io/dpsetnextbuf.c rename to libultra/src/io/dpsetnextbuf.c index ee5caa3b..cbf3a6f2 100644 --- a/lib/src/io/dpsetnextbuf.c +++ b/libultra/src/io/dpsetnextbuf.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D18E0 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PR/rcp.h" diff --git a/lib/src/io/dpsetstat.c b/libultra/src/io/dpsetstat.c similarity index 62% rename from lib/src/io/dpsetstat.c rename to libultra/src/io/dpsetstat.c index e4eee1a6..5b538670 100644 --- a/lib/src/io/dpsetstat.c +++ b/libultra/src/io/dpsetstat.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CD250 */ - #include "PR/os_internal.h" #include "PR/rcp.h" diff --git a/lib/src/io/epirawdma.c b/libultra/src/io/epirawdma.c similarity index 92% rename from lib/src/io/epirawdma.c rename to libultra/src/io/epirawdma.c index 19fe6605..b9563c61 100644 --- a/lib/src/io/epirawdma.c +++ b/libultra/src/io/epirawdma.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D2680 */ - #include "PRinternal/piint.h" #include "PR/ultraerror.h" diff --git a/lib/src/io/epirawwrite.c b/libultra/src/io/epirawwrite.c similarity index 81% rename from lib/src/io/epirawwrite.c rename to libultra/src/io/epirawwrite.c index 435a5716..9718361a 100644 --- a/lib/src/io/epirawwrite.c +++ b/libultra/src/io/epirawwrite.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D6560 */ - #include "PRinternal/piint.h" #include "PR/ultraerror.h" diff --git a/lib/src/io/leointerrupt.c b/libultra/src/io/leointerrupt.c similarity index 76% rename from lib/src/io/leointerrupt.c rename to libultra/src/io/leointerrupt.c index 639b9221..db9f3d32 100644 --- a/lib/src/io/leointerrupt.c +++ b/libultra/src/io/leointerrupt.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C7340 */ - #include "types.h" // Used for __osException, but .bss file order is weird. Need to fix later. diff --git a/lib/src/io/motor.c b/libultra/src/io/motor.c similarity index 98% rename from lib/src/io/motor.c rename to libultra/src/io/motor.c index aeab77e6..2a1628c1 100644 --- a/lib/src/io/motor.c +++ b/libultra/src/io/motor.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80071D30 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PR/os_version.h" diff --git a/lib/src/io/pfsallocatefile.c b/libultra/src/io/pfsallocatefile.c similarity index 99% rename from lib/src/io/pfsallocatefile.c rename to libultra/src/io/pfsallocatefile.c index 1aab8a79..c31396e2 100644 --- a/lib/src/io/pfsallocatefile.c +++ b/libultra/src/io/pfsallocatefile.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D1040 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PRinternal/controller.h" diff --git a/lib/src/io/pfschecker.c b/libultra/src/io/pfschecker.c similarity index 98% rename from lib/src/io/pfschecker.c rename to libultra/src/io/pfschecker.c index f692b452..77b691af 100644 --- a/lib/src/io/pfschecker.c +++ b/libultra/src/io/pfschecker.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CF530 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PRinternal/controller.h" diff --git a/lib/src/io/pfsdeletefile.c b/libultra/src/io/pfsdeletefile.c similarity index 97% rename from lib/src/io/pfsdeletefile.c rename to libultra/src/io/pfsdeletefile.c index 7d34e74c..8a67c2c3 100644 --- a/lib/src/io/pfsdeletefile.c +++ b/libultra/src/io/pfsdeletefile.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D0870 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PRinternal/controller.h" diff --git a/lib/src/io/pfsfilestate.c b/libultra/src/io/pfsfilestate.c similarity index 96% rename from lib/src/io/pfsfilestate.c rename to libultra/src/io/pfsfilestate.c index d89ec639..78b9f4ad 100644 --- a/lib/src/io/pfsfilestate.c +++ b/libultra/src/io/pfsfilestate.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D0580 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PRinternal/controller.h" diff --git a/lib/src/io/pfsfreeblocks.c b/libultra/src/io/pfsfreeblocks.c similarity index 88% rename from lib/src/io/pfsfreeblocks.c rename to libultra/src/io/pfsfreeblocks.c index b2453f33..78c07c80 100644 --- a/lib/src/io/pfsfreeblocks.c +++ b/libultra/src/io/pfsfreeblocks.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CF3E0 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PRinternal/controller.h" diff --git a/lib/src/io/pfsinit.c b/libultra/src/io/pfsinit.c similarity index 92% rename from lib/src/io/pfsinit.c rename to libultra/src/io/pfsinit.c index 1453cbba..e4e9e539 100644 --- a/lib/src/io/pfsinit.c +++ b/libultra/src/io/pfsinit.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CED20 */ - #include "PR/os_internal.h" #include "PRinternal/controller.h" #include "PRinternal/siint.h" diff --git a/lib/src/io/pfsisplug.c b/libultra/src/io/pfsisplug.c similarity index 96% rename from lib/src/io/pfsisplug.c rename to libultra/src/io/pfsisplug.c index 8315797f..c11e0f0a 100644 --- a/lib/src/io/pfsisplug.c +++ b/libultra/src/io/pfsisplug.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CD290 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PRinternal/controller.h" diff --git a/lib/src/io/pfsnumfiles.c b/libultra/src/io/pfsnumfiles.c similarity index 87% rename from lib/src/io/pfsnumfiles.c rename to libultra/src/io/pfsnumfiles.c index 8c96ac69..d0af53b3 100644 --- a/lib/src/io/pfsnumfiles.c +++ b/libultra/src/io/pfsnumfiles.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D0390 */ - #include "PR/os_internal.h" #include "PRinternal/controller.h" diff --git a/lib/src/io/pfsreadwritefile.c b/libultra/src/io/pfsreadwritefile.c similarity index 96% rename from lib/src/io/pfsreadwritefile.c rename to libultra/src/io/pfsreadwritefile.c index d6ed0081..703a2950 100644 --- a/lib/src/io/pfsreadwritefile.c +++ b/libultra/src/io/pfsreadwritefile.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CEEE0 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PRinternal/controller.h" diff --git a/lib/src/io/pfsreformat.c b/libultra/src/io/pfsreformat.c similarity index 95% rename from lib/src/io/pfsreformat.c rename to libultra/src/io/pfsreformat.c index 62fe93be..c8dbb1a9 100644 --- a/lib/src/io/pfsreformat.c +++ b/libultra/src/io/pfsreformat.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CFF90 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PRinternal/controller.h" diff --git a/lib/src/io/pfssearchfile.c b/libultra/src/io/pfssearchfile.c similarity index 93% rename from lib/src/io/pfssearchfile.c rename to libultra/src/io/pfssearchfile.c index bc0a838c..ff76d167 100644 --- a/lib/src/io/pfssearchfile.c +++ b/libultra/src/io/pfssearchfile.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D0E80 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PRinternal/controller.h" diff --git a/lib/src/io/piacs.c b/libultra/src/io/piacs.c similarity index 87% rename from lib/src/io/piacs.c rename to libultra/src/io/piacs.c index b2f5e8e6..c487640f 100644 --- a/lib/src/io/piacs.c +++ b/libultra/src/io/piacs.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D2480 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include diff --git a/lib/src/io/pidma.c b/libultra/src/io/pidma.c similarity index 93% rename from lib/src/io/pidma.c rename to libultra/src/io/pidma.c index 1468c649..2464a6d3 100644 --- a/lib/src/io/pidma.c +++ b/libultra/src/io/pidma.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C8F80 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PRinternal/piint.h" diff --git a/lib/src/io/pigetcmdq.c b/libultra/src/io/pigetcmdq.c similarity index 66% rename from lib/src/io/pigetcmdq.c rename to libultra/src/io/pigetcmdq.c index 1424fd76..a4919d55 100644 --- a/lib/src/io/pigetcmdq.c +++ b/libultra/src/io/pigetcmdq.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D37F0 */ - #include "PR/os_internal.h" #include "PRinternal/piint.h" diff --git a/lib/src/io/pimgr.c b/libultra/src/io/pimgr.c similarity index 96% rename from lib/src/io/pimgr.c rename to libultra/src/io/pimgr.c index 587ce3f7..f8eb1f78 100644 --- a/lib/src/io/pimgr.c +++ b/libultra/src/io/pimgr.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C6000 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PR/ultraerror.h" diff --git a/lib/src/io/pirawdma.c b/libultra/src/io/pirawdma.c similarity index 92% rename from lib/src/io/pirawdma.c rename to libultra/src/io/pirawdma.c index f0c22c61..db77829b 100644 --- a/lib/src/io/pirawdma.c +++ b/libultra/src/io/pirawdma.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D25a0 */ - #include "PRinternal/piint.h" #include "PR/ultraerror.h" diff --git a/lib/src/io/pirawread.c b/libultra/src/io/pirawread.c similarity index 78% rename from lib/src/io/pirawread.c rename to libultra/src/io/pirawread.c index bd68ff69..0040bb3b 100644 --- a/lib/src/io/pirawread.c +++ b/libultra/src/io/pirawread.c @@ -1,10 +1,49 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D4790 */ - #include "PRinternal/piint.h" #include "assert.h" #include "PR/ultraerror.h" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// Adjust line numbers to match assert +#if BUILD_VERSION < VERSION_J +#line 46 +#endif + // TODO: this comes from a header #ident "$Revision: 1.17 $" diff --git a/lib/src/io/si.c b/libultra/src/io/si.c similarity index 75% rename from lib/src/io/si.c rename to libultra/src/io/si.c index 1fd21153..78794f56 100644 --- a/lib/src/io/si.c +++ b/libultra/src/io/si.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D52C0 */ - #include "PR/os_internal.h" #include "PRinternal/siint.h" diff --git a/lib/src/io/siacs.c b/libultra/src/io/siacs.c similarity index 87% rename from lib/src/io/siacs.c rename to libultra/src/io/siacs.c index 5c3341b4..555cb02c 100644 --- a/lib/src/io/siacs.c +++ b/libultra/src/io/siacs.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CD600 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include diff --git a/lib/src/io/sirawdma.c b/libultra/src/io/sirawdma.c similarity index 88% rename from lib/src/io/sirawdma.c rename to libultra/src/io/sirawdma.c index de67059f..134ba374 100644 --- a/lib/src/io/sirawdma.c +++ b/libultra/src/io/sirawdma.c @@ -1,11 +1,53 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CD6C0 */ - #include "PR/os_internal.h" #include "assert.h" #include "PRinternal/siint.h" #include + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// Adjust line numbers to match assert +#if BUILD_VERSION < VERSION_J +#line 47 +#endif + #define PIF_RAM_SIZE (PIF_RAM_END + 1 - PIF_RAM_START) // TODO: this comes from a header diff --git a/lib/src/io/sirawread.c b/libultra/src/io/sirawread.c similarity index 74% rename from lib/src/io/sirawread.c rename to libultra/src/io/sirawread.c index ee6d0dec..c182ff01 100644 --- a/lib/src/io/sirawread.c +++ b/libultra/src/io/sirawread.c @@ -1,10 +1,51 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D4590 */ - #include "PR/os_internal.h" #include "assert.h" #include "PRinternal/siint.h" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// Adjust line numbers to match assert +#if BUILD_VERSION < VERSION_J +#line 45 +#endif + // TODO: this comes from a header #ident "$Revision: 1.17 $" diff --git a/lib/src/io/sirawwrite.c b/libultra/src/io/sirawwrite.c similarity index 72% rename from lib/src/io/sirawwrite.c rename to libultra/src/io/sirawwrite.c index 5b5deff6..ece13a56 100644 --- a/lib/src/io/sirawwrite.c +++ b/libultra/src/io/sirawwrite.c @@ -1,10 +1,51 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D45E0 */ - #include "PR/os_internal.h" #include "PRinternal/siint.h" #include "assert.h" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// Adjust line numbers to match assert +#if BUILD_VERSION < VERSION_J +#line 46 +#endif + // TODO: this comes from a header #ident "$Revision: 1.17 $" diff --git a/lib/src/io/sp.c b/libultra/src/io/sp.c similarity index 78% rename from lib/src/io/sp.c rename to libultra/src/io/sp.c index 12d85ac3..98e7c406 100644 --- a/lib/src/io/sp.c +++ b/libultra/src/io/sp.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D64D0 */ - #include "PR/os_internal.h" #include "PR/rcp.h" #include "PR/sptask.h" diff --git a/lib/src/io/spgetstat.c b/libultra/src/io/spgetstat.c similarity index 62% rename from lib/src/io/spgetstat.c rename to libultra/src/io/spgetstat.c index 2120d63a..8125b642 100644 --- a/lib/src/io/spgetstat.c +++ b/libultra/src/io/spgetstat.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D63EC */ - #include "PR/os_internal.h" #include "PR/rcp.h" diff --git a/lib/src/io/sprawdma.c b/libultra/src/io/sprawdma.c similarity index 83% rename from lib/src/io/sprawdma.c rename to libultra/src/io/sprawdma.c index b674750e..05d9b7a2 100644 --- a/lib/src/io/sprawdma.c +++ b/libultra/src/io/sprawdma.c @@ -1,11 +1,57 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D6440 */ - #include "PR/os_internal.h" #include "PR/rcp.h" #include "PRinternal/osint.h" #include "assert.h" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// Adjust line numbers to match assert +#if BUILD_VERSION < VERSION_J +#line 52 +#endif + // TODO: this comes from a header #ident "$Revision: 1.17 $" diff --git a/lib/src/io/spsetpc.c b/libultra/src/io/spsetpc.c similarity index 71% rename from lib/src/io/spsetpc.c rename to libultra/src/io/spsetpc.c index 44a45b64..dce0b5d2 100644 --- a/lib/src/io/spsetpc.c +++ b/libultra/src/io/spsetpc.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D63FC */ - #include "PR/rcp.h" // TODO: this comes from a header diff --git a/lib/src/io/spsetstat.c b/libultra/src/io/spsetstat.c similarity index 63% rename from lib/src/io/spsetstat.c rename to libultra/src/io/spsetstat.c index 4bfc7358..2ab47e08 100644 --- a/lib/src/io/spsetstat.c +++ b/libultra/src/io/spsetstat.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CD240 */ - #include "PR/os_internal.h" #include "PR/rcp.h" diff --git a/lib/src/io/sptask.c b/libultra/src/io/sptask.c similarity index 95% rename from lib/src/io/sptask.c rename to libultra/src/io/sptask.c index 38d4fd4d..1cf03b36 100644 --- a/lib/src/io/sptask.c +++ b/libultra/src/io/sptask.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D1EF0 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PR/sptask.h" diff --git a/lib/src/io/sptaskyield.c b/libultra/src/io/sptaskyield.c similarity index 51% rename from lib/src/io/sptaskyield.c rename to libultra/src/io/sptaskyield.c index eebf93af..78bacaee 100644 --- a/lib/src/io/sptaskyield.c +++ b/libultra/src/io/sptaskyield.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D2240 */ - #include "PR/os_internal.h" #include "PR/rcp.h" diff --git a/lib/src/io/sptaskyielded.c b/libultra/src/io/sptaskyielded.c similarity index 78% rename from lib/src/io/sptaskyielded.c rename to libultra/src/io/sptaskyielded.c index 088cd777..3ecab556 100644 --- a/lib/src/io/sptaskyielded.c +++ b/libultra/src/io/sptaskyielded.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D1DF0 */ - #include "PR/os_internal.h" #include "PR/sptask.h" #include "PR/rcp.h" diff --git a/lib/src/io/vi.c b/libultra/src/io/vi.c similarity index 91% rename from lib/src/io/vi.c rename to libultra/src/io/vi.c index 725b6309..413ad55b 100644 --- a/lib/src/io/vi.c +++ b/libultra/src/io/vi.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D2B10 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PR/R4300.h" diff --git a/lib/src/io/viblack.c b/libultra/src/io/viblack.c similarity index 77% rename from lib/src/io/viblack.c rename to libultra/src/io/viblack.c index 86656369..f5fbf24f 100644 --- a/lib/src/io/viblack.c +++ b/libultra/src/io/viblack.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D1D10 */ - #include "PR/os_internal.h" #include "PRinternal/viint.h" diff --git a/lib/src/io/vigetcurrcontext.c b/libultra/src/io/vigetcurrcontext.c similarity index 64% rename from lib/src/io/vigetcurrcontext.c rename to libultra/src/io/vigetcurrcontext.c index d5478e24..f33dc966 100644 --- a/lib/src/io/vigetcurrcontext.c +++ b/libultra/src/io/vigetcurrcontext.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D6080 */ - #include "PR/os_internal.h" #include "PRinternal/viint.h" diff --git a/lib/src/io/vigetcurrframebuf.c b/libultra/src/io/vigetcurrframebuf.c similarity index 79% rename from lib/src/io/vigetcurrframebuf.c rename to libultra/src/io/vigetcurrframebuf.c index 0ab9e1e4..6c21e408 100644 --- a/lib/src/io/vigetcurrframebuf.c +++ b/libultra/src/io/vigetcurrframebuf.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D1E70 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PRinternal/viint.h" diff --git a/lib/src/io/vigetnextframebuf.c b/libultra/src/io/vigetnextframebuf.c similarity index 79% rename from lib/src/io/vigetnextframebuf.c rename to libultra/src/io/vigetnextframebuf.c index c9628c07..8d14809d 100644 --- a/lib/src/io/vigetnextframebuf.c +++ b/libultra/src/io/vigetnextframebuf.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D1EB0 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PRinternal/viint.h" diff --git a/lib/src/io/vimgr.c b/libultra/src/io/vimgr.c similarity index 97% rename from lib/src/io/vimgr.c rename to libultra/src/io/vimgr.c index 7aef987b..3b434b85 100644 --- a/lib/src/io/vimgr.c +++ b/libultra/src/io/vimgr.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D1990 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PR/ultraerror.h" diff --git a/lib/src/io/visetevent.c b/libultra/src/io/visetevent.c similarity index 84% rename from lib/src/io/visetevent.c rename to libultra/src/io/visetevent.c index 954fad4e..b7714039 100644 --- a/lib/src/io/visetevent.c +++ b/libultra/src/io/visetevent.c @@ -1,11 +1,51 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D1D80 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "assert.h" #include "PRinternal/viint.h" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + // TODO: this comes from a header #ident "$Revision: 1.17 $" diff --git a/lib/src/io/visetmode.c b/libultra/src/io/visetmode.c similarity index 84% rename from lib/src/io/visetmode.c rename to libultra/src/io/visetmode.c index 370ad36c..114403e5 100644 --- a/lib/src/io/visetmode.c +++ b/libultra/src/io/visetmode.c @@ -1,11 +1,48 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D1CA0 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "assert.h" #include "PRinternal/viint.h" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + // TODO: this comes from a header #ident "$Revision: 1.17 $" diff --git a/lib/src/io/visetspecial.c b/libultra/src/io/visetspecial.c similarity index 96% rename from lib/src/io/visetspecial.c rename to libultra/src/io/visetspecial.c index 48ccc4c9..24b4367b 100644 --- a/lib/src/io/visetspecial.c +++ b/libultra/src/io/visetspecial.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D2260 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PR/rcp.h" diff --git a/lib/src/io/viswapbuf.c b/libultra/src/io/viswapbuf.c similarity index 86% rename from lib/src/io/viswapbuf.c rename to libultra/src/io/viswapbuf.c index 87657a98..ec5016d2 100644 --- a/lib/src/io/viswapbuf.c +++ b/libultra/src/io/viswapbuf.c @@ -1,11 +1,52 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D2420 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "assert.h" #include "PRinternal/viint.h" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + // TODO: this comes from a header #ident "$Revision: 1.17 $" diff --git a/lib/src/io/viswapcontext.c b/libultra/src/io/viswapcontext.c similarity index 95% rename from lib/src/io/viswapcontext.c rename to libultra/src/io/viswapcontext.c index 64493259..a19fd401 100644 --- a/lib/src/io/viswapcontext.c +++ b/libultra/src/io/viswapcontext.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D6090 */ - #include "PR/os_internal.h" #include "PR/rcp.h" #include "PRinternal/viint.h" diff --git a/lib/src/io/vitbl.c b/libultra/src/io/vitbl.c similarity index 99% rename from lib/src/io/vitbl.c rename to libultra/src/io/vitbl.c index 21f30d81..e604d450 100644 --- a/lib/src/io/vitbl.c +++ b/libultra/src/io/vitbl.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D1991 */ - #include "PR/os.h" #include "PR/rcp.h" #include "PRinternal/viint.h" diff --git a/lib/asm/bcmp.s b/libultra/src/libc/bcmp.s similarity index 96% rename from lib/asm/bcmp.s rename to libultra/src/libc/bcmp.s index 31c52316..8a522337 100644 --- a/lib/asm/bcmp.s +++ b/libultra/src/libc/bcmp.s @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CE050 */ - .include "macro.inc" /* assembler directives */ @@ -12,7 +9,7 @@ /* Generated by spimdisasm 1.30.0 */ -glabel bcmp /* Official name: _bcmp */ +leaf bcmp /* CEC50 800CE050 28C10010 */ slti $at, $a2, 0x10 /* CEC54 800CE054 14200037 */ bnez $at, .L800CE134 /* CEC58 800CE058 00851026 */ xor $v0, $a0, $a1 @@ -95,3 +92,4 @@ glabel bcmp /* Official name: _bcmp */ /* CED64 800CE164 03E00008 */ jr $ra /* CED68 800CE168 24020001 */ addiu $v0, $zero, 0x1 /* CED6C 800CE16C 00000000 */ nop +.end bcmp diff --git a/lib/asm/bcopy.s b/libultra/src/libc/bcopy.s similarity index 97% rename from lib/asm/bcopy.s rename to libultra/src/libc/bcopy.s index bcb12b0e..d58980dd 100644 --- a/lib/asm/bcopy.s +++ b/libultra/src/libc/bcopy.s @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C9DA0 */ - .include "macro.inc" /* assembler directives */ @@ -13,7 +10,7 @@ /* Generated by spimdisasm 1.30.0 */ /* Handwritten function */ -glabel bcopy /* Official name: _bcopy */ +leaf bcopy /* CA9A0 800C9DA0 10C0001A */ beqz $a2, .L800C9E0C /* CA9A4 800C9DA4 00A03825 */ or $a3, $a1, $zero /* CA9A8 800C9DA8 10850018 */ beq $a0, $a1, .L800C9E0C @@ -230,6 +227,4 @@ glabel bcopy /* Official name: _bcopy */ /* CAC98 800CA098 24C6FFFC */ addiu $a2, $a2, -0x4 /* CAC9C 800CA09C 1000FFF8 */ b .L800CA080 /* CACA0 800CA0A0 ACA20000 */ sw $v0, 0x0($a1) -/* CACA4 800CA0A4 00000000 */ nop -/* CACA8 800CA0A8 00000000 */ nop -/* CACAC 800CA0AC 00000000 */ nop +.end bcopy diff --git a/lib/asm/bzero.s b/libultra/src/libc/bzero.s similarity index 94% rename from lib/asm/bzero.s rename to libultra/src/libc/bzero.s index 2c9de746..f8b298c0 100644 --- a/lib/asm/bzero.s +++ b/libultra/src/libc/bzero.s @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D04E0 */ - .include "macro.inc" /* assembler directives */ @@ -12,7 +9,7 @@ /* Generated by spimdisasm 1.30.0 */ -glabel bzero /* Official name: _blkclr */ +leaf bzero /* D10E0 800D04E0 28A1000C */ slti $at, $a1, 0xC /* D10E4 800D04E4 1420001D */ bnez $at, .L800D055C /* D10E8 800D04E8 00041823 */ negu $v1, $a0 @@ -60,3 +57,4 @@ glabel bzero /* Official name: _blkclr */ /* D1174 800D0574 03E00008 */ jr $ra /* D1178 800D0578 00000000 */ nop /* D117C 800D057C 00000000 */ nop +.end bzero diff --git a/lib/src/libc/ldiv.c b/libultra/src/libc/ldiv.c similarity index 85% rename from lib/src/libc/ldiv.c rename to libultra/src/libc/ldiv.c index 19992842..92388d31 100644 --- a/lib/src/libc/ldiv.c +++ b/libultra/src/libc/ldiv.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D7470 */ - #include "os_version.h" #include "stdlib.h" diff --git a/lib/src/libc/ll.c b/libultra/src/libc/ll.c similarity index 90% rename from lib/src/libc/ll.c rename to libultra/src/libc/ll.c index 00960742..512a998d 100644 --- a/lib/src/libc/ll.c +++ b/libultra/src/libc/ll.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CE730 */ - unsigned long long __ull_rshift(unsigned long long a0, unsigned long long a1) { return a0 >> a1; } diff --git a/lib/src/libc/llcvt.c b/libultra/src/libc/llcvt.c similarity index 67% rename from lib/src/libc/llcvt.c rename to libultra/src/libc/llcvt.c index 7b9252e8..e1f03e71 100644 --- a/lib/src/libc/llcvt.c +++ b/libultra/src/libc/llcvt.c @@ -1,11 +1,4 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C9B30 */ - - #ifndef NON_MATCHING - -// GCC complains if these are compiled, so include assembly variants instead in nonmatching builds. - long long __d_to_ll(double d) { return d; } @@ -37,5 +30,4 @@ double __ull_to_d(unsigned long long u) { float __ull_to_f(unsigned long long u) { return u; } - -#endif \ No newline at end of file +#endif diff --git a/lib/src/libc/rmonPrintf.c b/libultra/src/libc/rmonPrintf.c similarity index 87% rename from lib/src/libc/rmonPrintf.c rename to libultra/src/libc/rmonPrintf.c index 95eb0142..7e506f15 100644 --- a/lib/src/libc/rmonPrintf.c +++ b/libultra/src/libc/rmonPrintf.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C9D40 */ - #include "rmonPrintf.h" #include "types.h" #include "macros.h" diff --git a/lib/src/libc/rmonPrintf.h b/libultra/src/libc/rmonPrintf.h similarity index 100% rename from lib/src/libc/rmonPrintf.h rename to libultra/src/libc/rmonPrintf.h diff --git a/lib/src/libc/string.c b/libultra/src/libc/string.c similarity index 85% rename from lib/src/libc/string.c rename to libultra/src/libc/string.c index 801b41b8..90ff1c84 100644 --- a/lib/src/libc/string.c +++ b/libultra/src/libc/string.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CE170 */ - #include "PR/ultratypes.h" #include "string.h" diff --git a/lib/src/libc/xldtob.c b/libultra/src/libc/xldtob.c similarity index 98% rename from lib/src/libc/xldtob.c rename to libultra/src/libc/xldtob.c index 95a6a7f0..023c8bd4 100644 --- a/lib/src/libc/xldtob.c +++ b/libultra/src/libc/xldtob.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D69A0 */ - #include "stdlib.h" #include "string.h" #include "xstdio.h" diff --git a/lib/src/libc/xlitob.c b/libultra/src/libc/xlitob.c similarity index 92% rename from lib/src/libc/xlitob.c rename to libultra/src/libc/xlitob.c index e0eeca93..2b27b3a2 100644 --- a/lib/src/libc/xlitob.c +++ b/libultra/src/libc/xlitob.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D6700 */ - #include "stdlib.h" #include "string.h" #include "xstdio.h" diff --git a/lib/src/libc/xprintf.c b/libultra/src/libc/xprintf.c similarity index 98% rename from lib/src/libc/xprintf.c rename to libultra/src/libc/xprintf.c index b1fba1cf..1233fe9f 100644 --- a/lib/src/libc/xprintf.c +++ b/libultra/src/libc/xprintf.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D38A0 */ - #include "PRinternal/macros.h" #include "string.h" #include "stdarg.h" diff --git a/lib/src/libc/xprintf.h b/libultra/src/libc/xprintf.h similarity index 100% rename from lib/src/libc/xprintf.h rename to libultra/src/libc/xprintf.h diff --git a/lib/src/libc/xstdio.h b/libultra/src/libc/xstdio.h similarity index 100% rename from lib/src/libc/xstdio.h rename to libultra/src/libc/xstdio.h diff --git a/lib/src/os/createmesgqueue.c b/libultra/src/os/createmesgqueue.c similarity index 81% rename from lib/src/os/createmesgqueue.c rename to libultra/src/os/createmesgqueue.c index 431d7220..72209b9c 100644 --- a/lib/src/os/createmesgqueue.c +++ b/libultra/src/os/createmesgqueue.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C8820 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PRinternal/osint.h" diff --git a/lib/src/os/createthread.c b/libultra/src/os/createthread.c similarity index 92% rename from lib/src/os/createthread.c rename to libultra/src/os/createthread.c index 1f7b7d7d..927ef0e3 100644 --- a/lib/src/os/createthread.c +++ b/libultra/src/os/createthread.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C8850 */ - #include "PR/os_internal.h" #include "PR/R4300.h" #include "PR/ultraerror.h" diff --git a/lib/src/os/destroythread.c b/libultra/src/os/destroythread.c similarity index 88% rename from lib/src/os/destroythread.c rename to libultra/src/os/destroythread.c index 8808d55b..43713c70 100644 --- a/lib/src/os/destroythread.c +++ b/libultra/src/os/destroythread.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D6600 */ - #include "PR/os_internal.h" #include "PRinternal/osint.h" diff --git a/lib/src/os/exceptasm.h b/libultra/src/os/exceptasm.h similarity index 100% rename from lib/src/os/exceptasm.h rename to libultra/src/os/exceptasm.h diff --git a/lib/asm/exceptasm.s b/libultra/src/os/exceptasm.s similarity index 98% rename from lib/asm/exceptasm.s rename to libultra/src/os/exceptasm.s index 39c5e42f..3d63241f 100644 --- a/lib/asm/exceptasm.s +++ b/libultra/src/os/exceptasm.s @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D2CB0 */ - .include "macro.inc" /* assembler directives */ @@ -8,6 +5,11 @@ .set noreorder /* don't insert nops after branches */ .set gp=64 /* allow use of 64-bit general purpose registers */ +.section .bss + +glabel __osThreadSave +.space 0x1B0 + .section .data glabel __osHwIntTable @@ -68,15 +70,14 @@ glabel __osIntTable /* Generated by spimdisasm 1.30.0 */ -/* Handwritten function */ -glabel __osExceptionPreamble +leaf __osExceptionPreamble /* D38B0 800D2CB0 3C1A800D */ lui $k0, %hi(__osException) /* handwritten instruction */ /* D38B4 800D2CB4 275A2CC0 */ addiu $k0, $k0, %lo(__osException) /* handwritten instruction */ /* D38B8 800D2CB8 03400008 */ jr $k0 /* D38BC 800D2CBC 00000000 */ nop +.end __osExceptionPreamble -/* Handwritten function */ -glabel __osException +leaf __osException /* D38C0 800D2CC0 3C1A8013 */ lui $k0, %hi(__osThreadSave) /* handwritten instruction */ /* D38C4 800D2CC4 275AD240 */ addiu $k0, $k0, %lo(__osThreadSave) /* handwritten instruction */ /* D38C8 800D2CC8 FF410020 */ sd $at, 0x20($k0) /* handwritten instruction */ @@ -432,8 +433,9 @@ glabel .L800D3168 /* D3DD8 800D31D8 24040060 */ addiu $a0, $zero, 0x60 /* D3DDC 800D31DC 08034D09 */ j __osDispatchThread /* D3DE0 800D31E0 00000000 */ nop +.end __osException -glabel send_mesg +leaf send_mesg /* D3DE4 800D31E4 3C0A8013 */ lui $t2, %hi(__osEventStateTab) /* D3DE8 800D31E8 254ACCD0 */ addiu $t2, $t2, %lo(__osEventStateTab) /* D3DEC 800D31EC 01445021 */ addu $t2, $t2, $a0 @@ -482,9 +484,9 @@ glabel send_mesg .L800D3290: /* D3E90 800D3290 02400008 */ jr $s2 /* D3E94 800D3294 00000000 */ nop +.end send_mesg -/* Handwritten function */ -glabel handle_CpU +leaf handle_CpU /* D3E98 800D3298 3C013000 */ lui $at, (0x30000000 >> 16) /* D3E9C 800D329C 01014824 */ and $t1, $t0, $at /* D3EA0 800D32A0 00094F02 */ srl $t1, $t1, 28 @@ -498,9 +500,9 @@ glabel handle_CpU /* D3EC0 800D32C0 AF490018 */ sw $t1, 0x18($k0) /* handwritten instruction */ /* D3EC4 800D32C4 1000FFB5 */ b .L800D319C /* D3EC8 800D32C8 AF5B0118 */ sw $k1, 0x118($k0) /* handwritten instruction */ +.end handle_CpU -/* Handwritten function */ -glabel __osEnqueueAndYield +leaf __osEnqueueAndYield /* D3ECC 800D32CC 3C05800E */ lui $a1, %hi(__osRunningThread) /* D3ED0 800D32D0 8CA54890 */ lw $a1, %lo(__osRunningThread)($a1) /* D3ED4 800D32D4 40086000 */ mfc0 $t0, $12 /* handwritten instruction */ @@ -569,8 +571,9 @@ glabel __osEnqueueAndYield .L800D33C4: /* D3FC4 800D33C4 08034D09 */ j __osDispatchThread /* D3FC8 800D33C8 00000000 */ nop +.end __osEnqueueAndYield -glabel __osEnqueueThread +leaf __osEnqueueThread /* D3FCC 800D33CC 8C980000 */ lw $t8, 0x0($a0) /* D3FD0 800D33D0 8CAF0004 */ lw $t7, 0x4($a1) /* D3FD4 800D33D4 0080C825 */ or $t9, $a0, $zero @@ -591,15 +594,16 @@ glabel __osEnqueueThread /* D4008 800D3408 AF250000 */ sw $a1, 0x0($t9) /* D400C 800D340C 03E00008 */ jr $ra /* D4010 800D3410 ACA40008 */ sw $a0, 0x8($a1) +.end __osEnqueueThread -glabel __osPopThread +leaf __osPopThread /* D4014 800D3414 8C820000 */ lw $v0, 0x0($a0) /* D4018 800D3418 8C590000 */ lw $t9, 0x0($v0) /* D401C 800D341C 03E00008 */ jr $ra /* D4020 800D3420 AC990000 */ sw $t9, 0x0($a0) +.end __osPopThread -/* Handwritten function */ -glabel __osDispatchThread +leaf __osDispatchThread /* D4024 800D3424 3C04800E */ lui $a0, %hi(__osRunQueue) /* D4028 800D3428 0C034D05 */ jal __osPopThread /* D402C 800D342C 24844888 */ addiu $a0, $a0, %lo(__osRunQueue) @@ -696,9 +700,9 @@ glabel __osDispatchThread /* D4194 800D3594 00000000 */ nop /* D4198 800D3598 00000000 */ nop /* D419C 800D359C 42000018 */ eret /* handwritten instruction */ +.end __osDispatchThread -glabel __osCleanupThread +leaf __osCleanupThread /* D41A0 800D35A0 0C035980 */ jal osDestroyThread /* D41A4 800D35A4 00002025 */ or $a0, $zero, $zero -/* D41A8 800D35A8 00000000 */ nop -/* D41AC 800D35AC 00000000 */ nop +.end __osCleanupThread diff --git a/lib/src/os/getactivequeue.c b/libultra/src/os/getactivequeue.c similarity index 54% rename from lib/src/os/getactivequeue.c rename to libultra/src/os/getactivequeue.c index a95e4e8b..f2fdf5fb 100644 --- a/lib/src/os/getactivequeue.c +++ b/libultra/src/os/getactivequeue.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D2470 */ - #include "PR/os_internal.h" #include "PRinternal/osint.h" diff --git a/libultra/src/os/getcount.s b/libultra/src/os/getcount.s new file mode 100644 index 00000000..480b088f --- /dev/null +++ b/libultra/src/os/getcount.s @@ -0,0 +1,14 @@ +.include "macro.inc" + +/* assembler directives */ +.set noat /* allow manual use of $at */ +.set noreorder /* don't insert nops after branches */ +.set gp=64 /* allow use of 64-bit general purpose registers */ + +.section .text, "ax" + +leaf osGetCount +mfc0 $v0, $9 /* C0_COUNT */ +jr $ra +nop +.end osGetCount diff --git a/libultra/src/os/getsr.s b/libultra/src/os/getsr.s new file mode 100644 index 00000000..9eaff16b --- /dev/null +++ b/libultra/src/os/getsr.s @@ -0,0 +1,15 @@ +.include "macro.inc" + +/* assembler directives */ +.set noat /* allow manual use of $at */ +.set noreorder /* don't insert nops after branches */ +.set gp=64 /* allow use of 64-bit general purpose registers */ + +.section .text, "ax" + +leaf __osGetSR +mfc0 $v0, $12 /* C0_SR */ +jr $ra + nop +nop +.end __osGetSR diff --git a/lib/src/os/getthreadpri.c b/libultra/src/os/getthreadpri.c similarity index 65% rename from lib/src/os/getthreadpri.c rename to libultra/src/os/getthreadpri.c index 329dbf0d..4e842a19 100644 --- a/lib/src/os/getthreadpri.c +++ b/libultra/src/os/getthreadpri.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D2540 */ - #include "PR/os_internal.h" #include "PRinternal/osint.h" diff --git a/lib/src/os/gettime.c b/libultra/src/os/gettime.c similarity index 84% rename from lib/src/os/gettime.c rename to libultra/src/os/gettime.c index 84aff06e..38839ba9 100644 --- a/lib/src/os/gettime.c +++ b/libultra/src/os/gettime.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D21B0 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PRinternal/osint.h" diff --git a/lib/src/os/initialize.c b/libultra/src/os/initialize.c similarity index 98% rename from lib/src/os/initialize.c rename to libultra/src/os/initialize.c index dd0ab03e..5d57c233 100644 --- a/lib/src/os/initialize.c +++ b/libultra/src/os/initialize.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CC5A0 */ - #include "PR/os_internal.h" #include "PR/rcp.h" #include "PR/os_version.h" diff --git a/libultra/src/os/interrupt.s b/libultra/src/os/interrupt.s new file mode 100644 index 00000000..c0a78f81 --- /dev/null +++ b/libultra/src/os/interrupt.s @@ -0,0 +1,29 @@ +.include "macro.inc" + +/* assembler directives */ +.set noat /* allow manual use of $at */ +.set noreorder /* don't insert nops after branches */ +.set gp=64 /* allow use of 64-bit general purpose registers */ + +.section .text, "ax" + +leaf __osDisableInt +mfc0 $t0, $12 +addiu $at, $zero, -0x2 +and $t1, $t0, $at +mtc0 $t1, $12 +andi $v0, $t0, 0x1 +nop +jr $ra +nop +.end __osDisableInt + +leaf __osRestoreInt +mfc0 $t0, $12 +or $t0, $t0, $a0 +mtc0 $t0, $12 +nop +nop +jr $ra + nop +.end __osRestoreInt diff --git a/lib/asm/invaldcache.s b/libultra/src/os/invaldcache.s similarity index 94% rename from lib/asm/invaldcache.s rename to libultra/src/os/invaldcache.s index 64d18bf0..b40fc8a5 100644 --- a/lib/asm/invaldcache.s +++ b/libultra/src/os/invaldcache.s @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D17F0 */ - .include "macro.inc" /* assembler directives */ @@ -13,7 +10,7 @@ /* Generated by spimdisasm 1.30.0 */ /* Handwritten function */ -glabel osInvalDCache +leaf osInvalDCache /* D23F0 800D17F0 18A0001F */ blez $a1, .L800D1870 /* D23F4 800D17F4 00000000 */ nop /* D23F8 800D17F8 240B2000 */ addiu $t3, $zero, 0x2000 @@ -62,4 +59,4 @@ glabel osInvalDCache /* D2490 800D1890 25080010 */ addiu $t0, $t0, (0x80000010 & 0xFFFF) /* D2494 800D1894 03E00008 */ jr $ra /* D2498 800D1898 00000000 */ nop -/* D249C 800D189C 00000000 */ nop +.end osInvalDCache diff --git a/lib/asm/invalicache.s b/libultra/src/os/invalicache.s similarity index 89% rename from lib/asm/invalicache.s rename to libultra/src/os/invalicache.s index b9b145d4..e2299a75 100644 --- a/lib/asm/invalicache.s +++ b/libultra/src/os/invalicache.s @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D46B0 */ - .include "macro.inc" /* assembler directives */ @@ -13,7 +10,7 @@ /* Generated by spimdisasm 1.30.0 */ /* Handwritten function */ -glabel osInvalICache +leaf osInvalICache /* D52B0 800D46B0 18A00011 */ blez $a1, .L800D46F8 /* D52B4 800D46B4 00000000 */ nop /* D52B8 800D46B8 240B4000 */ addiu $t3, $zero, 0x4000 @@ -47,6 +44,4 @@ glabel osInvalICache /* D5318 800D4718 25080020 */ addiu $t0, $t0, (0x80000020 & 0xFFFF) /* D531C 800D471C 03E00008 */ jr $ra /* D5320 800D4720 00000000 */ nop -/* D5324 800D4724 00000000 */ nop -/* D5328 800D4728 00000000 */ nop -/* D532C 800D472C 00000000 */ nop +.end osInvalICache diff --git a/lib/src/os/jammesg.c b/libultra/src/os/jammesg.c similarity index 89% rename from lib/src/os/jammesg.c rename to libultra/src/os/jammesg.c index d0273a2a..4c509e3c 100644 --- a/lib/src/os/jammesg.c +++ b/libultra/src/os/jammesg.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D36A0 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PRinternal/osint.h" diff --git a/lib/asm/maptlbrdb.s b/libultra/src/os/maptlbrdb.s similarity index 89% rename from lib/asm/maptlbrdb.s rename to libultra/src/os/maptlbrdb.s index 4f129293..6e443232 100644 --- a/lib/asm/maptlbrdb.s +++ b/libultra/src/os/maptlbrdb.s @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D4730 */ - .include "macro.inc" /* assembler directives */ @@ -13,7 +10,7 @@ /* Generated by spimdisasm 1.30.0 */ /* Handwritten function */ -glabel osMapTLBRdb +leaf osMapTLBRdb /* D5330 800D4730 40085000 */ mfc0 $t0, $10 /* handwritten instruction */ /* D5334 800D4734 2409001F */ addiu $t1, $zero, 0x1F /* D5338 800D4738 40890000 */ mtc0 $t1, $0 /* handwritten instruction */ @@ -36,5 +33,4 @@ glabel osMapTLBRdb /* D537C 800D477C 40885000 */ mtc0 $t0, $10 /* handwritten instruction */ /* D5380 800D4780 03E00008 */ jr $ra /* D5384 800D4784 00000000 */ nop -/* D5388 800D4788 00000000 */ nop -/* D538C 800D478C 00000000 */ nop +.end osMapTLBRdb diff --git a/lib/asm/probetlb.s b/libultra/src/os/probetlb.s similarity index 93% rename from lib/asm/probetlb.s rename to libultra/src/os/probetlb.s index 1d4bf4cf..1d3eb9da 100644 --- a/lib/asm/probetlb.s +++ b/libultra/src/os/probetlb.s @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D35B0 */ - .include "macro.inc" /* assembler directives */ @@ -13,7 +10,7 @@ /* Generated by spimdisasm 1.30.0 */ /* Handwritten function */ -glabel __osProbeTLB +leaf __osProbeTLB /* D41B0 800D35B0 40085000 */ mfc0 $t0, $10 /* handwritten instruction */ /* D41B4 800D35B4 310900FF */ andi $t1, $t0, 0xFF /* D41B8 800D35B8 2401E000 */ addiu $at, $zero, -0x2000 @@ -64,5 +61,4 @@ glabel __osProbeTLB /* D425C 800D365C 40885000 */ mtc0 $t0, $10 /* handwritten instruction */ /* D4260 800D3660 03E00008 */ jr $ra /* D4264 800D3664 00000000 */ nop -/* D4268 800D3668 00000000 */ nop -/* D426C 800D366C 00000000 */ nop +.end __osProbeTLB diff --git a/lib/src/os/recvmesg.c b/libultra/src/os/recvmesg.c similarity index 89% rename from lib/src/os/recvmesg.c rename to libultra/src/os/recvmesg.c index 41daef00..e8a03f7b 100644 --- a/lib/src/os/recvmesg.c +++ b/libultra/src/os/recvmesg.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C8BB0 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PRinternal/osint.h" diff --git a/lib/src/os/resetglobalintmask.c b/libultra/src/os/resetglobalintmask.c similarity index 71% rename from lib/src/os/resetglobalintmask.c rename to libultra/src/os/resetglobalintmask.c index 4b42dddd..0df1dea9 100644 --- a/lib/src/os/resetglobalintmask.c +++ b/libultra/src/os/resetglobalintmask.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D6500 */ - #include "PR/os_internal.h" extern OSIntMask __OSGlobalIntMask; /* global interrupt mask */ diff --git a/lib/src/os/sendmesg.c b/libultra/src/os/sendmesg.c similarity index 89% rename from lib/src/os/sendmesg.c rename to libultra/src/os/sendmesg.c index 77b9c716..8b1a4686 100644 --- a/lib/src/os/sendmesg.c +++ b/libultra/src/os/sendmesg.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C8E30 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PRinternal/osint.h" diff --git a/lib/asm/setcompare.s b/libultra/src/os/setcompare.s similarity index 74% rename from lib/asm/setcompare.s rename to libultra/src/os/setcompare.s index a06bae9e..379162b5 100644 --- a/lib/asm/setcompare.s +++ b/libultra/src/os/setcompare.s @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D7460 */ - .include "macro.inc" /* assembler directives */ @@ -13,8 +10,8 @@ /* Generated by spimdisasm 1.30.0 */ /* Handwritten function */ -glabel __osSetCompare +leaf __osSetCompare /* D8060 800D7460 40845800 */ mtc0 $a0, $11 /* handwritten instruction */ /* D8064 800D7464 03E00008 */ jr $ra /* D8068 800D7468 00000000 */ nop -/* D806C 800D746C 00000000 */ nop +.end __osSetCompare diff --git a/lib/src/os/seteventmesg.c b/libultra/src/os/seteventmesg.c similarity index 88% rename from lib/src/os/seteventmesg.c rename to libultra/src/os/seteventmesg.c index 3ce31d99..aa5f6690 100644 --- a/lib/src/os/seteventmesg.c +++ b/libultra/src/os/seteventmesg.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CCBB0 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PR/ultraerror.h" diff --git a/libultra/src/os/setfpccsr.s b/libultra/src/os/setfpccsr.s new file mode 100644 index 00000000..2bf34ccb --- /dev/null +++ b/libultra/src/os/setfpccsr.s @@ -0,0 +1,17 @@ +.include "macro.inc" + +/* assembler directives */ +.set noat /* allow manual use of $at */ +.set noreorder /* don't insert nops after branches */ +.set gp=64 /* allow use of 64-bit general purpose registers */ + +.section .text, "ax" + +/* Generated by spimdisasm 1.30.0 */ + +leaf __osSetFpcCsr +cfc1 $v0, $31 +ctc1 $a0, $31 +jr $ra +nop +.end __osSetFpcCsr diff --git a/lib/src/os/sethwinterrupt.c b/libultra/src/os/sethwinterrupt.c similarity index 87% rename from lib/src/os/sethwinterrupt.c rename to libultra/src/os/sethwinterrupt.c index b7dfb77a..31b2dd4f 100644 --- a/lib/src/os/sethwinterrupt.c +++ b/libultra/src/os/sethwinterrupt.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D47DC */ - #include "PR/os_internal.h" #include diff --git a/lib/asm/setintmask.s b/libultra/src/os/setintmask.s similarity index 96% rename from lib/asm/setintmask.s rename to libultra/src/os/setintmask.s index d3e7a2db..4a378695 100644 --- a/lib/asm/setintmask.s +++ b/libultra/src/os/setintmask.s @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C9A30 */ - .include "macro.inc" /* assembler directives */ @@ -28,7 +25,7 @@ glabel __osRcpImTable /* Generated by spimdisasm 1.30.0 */ /* Handwritten function */ -glabel osSetIntMask +leaf osSetIntMask /* CA630 800C9A30 400C6000 */ mfc0 $t4, $12 /* handwritten instruction */ /* CA634 800C9A34 3182FF01 */ andi $v0, $t4, 0xFF01 /* CA638 800C9A38 3C08800E */ lui $t0, %hi(__OSGlobalIntMask) @@ -70,3 +67,4 @@ glabel osSetIntMask /* CA6C4 800C9AC4 00000000 */ nop /* CA6C8 800C9AC8 03E00008 */ jr $ra /* CA6CC 800C9ACC 00000000 */ nop +.end osSetIntMask diff --git a/libultra/src/os/setsr.s b/libultra/src/os/setsr.s new file mode 100644 index 00000000..d46decf7 --- /dev/null +++ b/libultra/src/os/setsr.s @@ -0,0 +1,18 @@ +.include "macro.inc" + +/* assembler directives */ +.set noat /* allow manual use of $at */ +.set noreorder /* don't insert nops after branches */ +.set gp=64 /* allow use of 64-bit general purpose registers */ + +.section .text, "ax" + +/* Generated by spimdisasm 1.30.0 */ + +/* Handwritten function */ +leaf __osSetSR +mtc0 $a0, $12 /* handwritten instruction */ +nop +jr $ra +nop +.end __osSetSR diff --git a/lib/src/os/setthreadpri.c b/libultra/src/os/setthreadpri.c similarity index 88% rename from lib/src/os/setthreadpri.c rename to libultra/src/os/setthreadpri.c index 755d421c..66c6039e 100644 --- a/lib/src/os/setthreadpri.c +++ b/libultra/src/os/setthreadpri.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CC840 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PRinternal/osint.h" diff --git a/lib/src/os/settime.c b/libultra/src/os/settime.c similarity index 73% rename from lib/src/os/settime.c rename to libultra/src/os/settime.c index 8125b59e..5a974d39 100644 --- a/lib/src/os/settime.c +++ b/libultra/src/os/settime.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800CD260 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PRinternal/osint.h" diff --git a/lib/src/os/settimer.c b/libultra/src/os/settimer.c similarity index 92% rename from lib/src/os/settimer.c rename to libultra/src/os/settimer.c index dbad33e9..4d2a651a 100644 --- a/lib/src/os/settimer.c +++ b/libultra/src/os/settimer.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D4DE0 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PRinternal/osint.h" diff --git a/lib/src/os/startthread.c b/libultra/src/os/startthread.c similarity index 91% rename from lib/src/os/startthread.c rename to libultra/src/os/startthread.c index e27ac39d..f4ecaaac 100644 --- a/lib/src/os/startthread.c +++ b/libultra/src/os/startthread.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C89A0 */ - #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PRinternal/osint.h" diff --git a/lib/src/os/stopthread.c b/libultra/src/os/stopthread.c similarity index 84% rename from lib/src/os/stopthread.c rename to libultra/src/os/stopthread.c index 2955c359..4047308e 100644 --- a/lib/src/os/stopthread.c +++ b/libultra/src/os/stopthread.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C8AF0 */ - #include "PR/os_internal.h" #include "PRinternal/osint.h" diff --git a/lib/src/os/thread.c b/libultra/src/os/thread.c similarity index 86% rename from lib/src/os/thread.c rename to libultra/src/os/thread.c index 4226aa13..5a15a61d 100644 --- a/lib/src/os/thread.c +++ b/libultra/src/os/thread.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D2C70 */ - #include "PR/os_internal.h" #include "PRinternal/osint.h" diff --git a/lib/src/os/threadasm.h b/libultra/src/os/threadasm.h similarity index 100% rename from lib/src/os/threadasm.h rename to libultra/src/os/threadasm.h diff --git a/lib/src/os/timerintr.c b/libultra/src/os/timerintr.c similarity index 96% rename from lib/src/os/timerintr.c rename to libultra/src/os/timerintr.c index 6141002e..fe926025 100644 --- a/lib/src/os/timerintr.c +++ b/libultra/src/os/timerintr.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D4EC0 */ - #include "PRinternal/macros.h" #include "PR/os_internal.h" #include "PRinternal/osint.h" diff --git a/lib/src/os/virtualtophysical.c b/libultra/src/os/virtualtophysical.c similarity index 73% rename from lib/src/os/virtualtophysical.c rename to libultra/src/os/virtualtophysical.c index 02902bff..a275c547 100644 --- a/lib/src/os/virtualtophysical.c +++ b/libultra/src/os/virtualtophysical.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C8CF0 */ - #include "PR/os_internal.h" #include "PR/R4300.h" #include "PRinternal/osint.h" diff --git a/lib/asm/writebackdcache.s b/libultra/src/os/writebackdcache.s similarity index 89% rename from lib/asm/writebackdcache.s rename to libultra/src/os/writebackdcache.s index 2da0eddd..d323bd73 100644 --- a/lib/asm/writebackdcache.s +++ b/libultra/src/os/writebackdcache.s @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D4630 */ - .include "macro.inc" /* assembler directives */ @@ -13,7 +10,7 @@ /* Generated by spimdisasm 1.30.0 */ /* Handwritten function */ -glabel osWritebackDCache +leaf osWritebackDCache /* D5230 800D4630 18A00011 */ blez $a1, .L800D4678 /* D5234 800D4634 00000000 */ nop /* D5238 800D4638 240B2000 */ addiu $t3, $zero, 0x2000 @@ -47,6 +44,4 @@ glabel osWritebackDCache /* D5298 800D4698 25080010 */ addiu $t0, $t0, (0x80000010 & 0xFFFF) /* D529C 800D469C 03E00008 */ jr $ra /* D52A0 800D46A0 00000000 */ nop -/* D52A4 800D46A4 00000000 */ nop -/* D52A8 800D46A8 00000000 */ nop -/* D52AC 800D46AC 00000000 */ nop +.end osWritebackDCache diff --git a/lib/asm/writebackdcacheall.s b/libultra/src/os/writebackdcacheall.s similarity index 81% rename from lib/asm/writebackdcacheall.s rename to libultra/src/os/writebackdcacheall.s index 3d32eb3d..efed022a 100644 --- a/lib/asm/writebackdcacheall.s +++ b/libultra/src/os/writebackdcacheall.s @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D18A0 */ - .include "macro.inc" /* assembler directives */ @@ -13,7 +10,7 @@ /* Generated by spimdisasm 1.30.0 */ /* Handwritten function */ -glabel osWritebackDCacheAll +leaf osWritebackDCacheAll /* D24A0 800D18A0 3C088000 */ lui $t0, 0x8000 /* D24A4 800D18A4 240A2000 */ addiu $t2, $zero, 0x2000 /* D24A8 800D18A8 010A4821 */ addu $t1, $t0, $t2 @@ -25,5 +22,4 @@ glabel osWritebackDCacheAll /* D24BC 800D18BC 25080010 */ addiu $t0, $t0, (0x80000010 & 0xFFFF) /* D24C0 800D18C0 03E00008 */ jr $ra /* D24C4 800D18C4 00000000 */ nop -/* D24C8 800D18C8 00000000 */ nop -/* D24CC 800D18CC 00000000 */ nop +.end osWritebackDCacheAll diff --git a/lib/src/os/yieldthread.c b/libultra/src/os/yieldthread.c similarity index 70% rename from lib/src/os/yieldthread.c rename to libultra/src/os/yieldthread.c index b9839d21..976662b1 100644 --- a/lib/src/os/yieldthread.c +++ b/libultra/src/os/yieldthread.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800D65B0 */ - #include "PR/os_internal.h" #include "PRinternal/osint.h" diff --git a/lib/src/sc/sched.c b/libultra/src/sc/sched.c similarity index 99% rename from lib/src/sc/sched.c rename to libultra/src/sc/sched.c index 39faf9b3..88526caa 100644 --- a/lib/src/sc/sched.c +++ b/libultra/src/sc/sched.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80079350 */ - /*==================================================================== * * Copyright 1995, Silicon Graphics, Inc. diff --git a/livediff.sh b/livediff.sh index 0489c86e..a4431a4f 100755 --- a/livediff.sh +++ b/livediff.sh @@ -1 +1,3 @@ -python3 tools/python/diff.py -smwo3 --line-numbers --max-lines 2048 "$@" \ No newline at end of file +#!/bin/sh + +.venv/bin/python3 tools/asm-differ/diff.py -smwo3 --line-numbers --max-lines 2048 "$@" \ No newline at end of file diff --git a/macros.inc b/macros.inc deleted file mode 100755 index 52f1ed33..00000000 --- a/macros.inc +++ /dev/null @@ -1,6 +0,0 @@ -# common macros - -.macro glabel label - .global \label - \label: -.endm diff --git a/mips_to_c.sh b/mips_to_c.sh index 8d9b68e8..1669877a 100755 --- a/mips_to_c.sh +++ b/mips_to_c.sh @@ -3,6 +3,6 @@ #Make the m2cfiles dir if it doesn't already exist mkdir -p m2cfiles -ASMFILE=$(find . -type f -name "*$1.s") +ASMFILE=$(find asm -type f -name "*$1.s") echo '#include "../ctx.c"\n' > m2cfiles/$1.c -python3 ../m2c/m2c.py --target mips-ido-c --pointer-style right --context ctx.c -f $1 $ASMFILE >> m2cfiles/$1.c \ No newline at end of file +.venv/bin/python3 tools/m2c/m2c.py --target mips-ido-c --pointer-style right --context ctx.c -f $1 $ASMFILE >> m2cfiles/$1.c \ No newline at end of file diff --git a/rename.sh b/rename.sh index 96e96283..850c93c5 100755 --- a/rename.sh +++ b/rename.sh @@ -13,7 +13,7 @@ then # If the 3rd argument is "--check", then make sure the new symbol doesn't already exist! if [ "$3" == "--check" ]; then - if grep -rlq "$2" asm/**/*.s src/**/*.{c,h} lib/**/*.{c,s} include/*.h undefined_syms.txt dkr.ld; + if grep -rlq "$2" asm/**/*.s src/**/*.{c,h} libultra/**/*.{c,s} include/*.h undefined_syms.txt dkr.ld; then echo "$2 already exist" exit 1 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..5200f71d --- /dev/null +++ b/requirements.txt @@ -0,0 +1,9 @@ +splat64[mips]==0.32.3 +pycparser>=2.22 +colorama>=0.4.6 +watchdog>=6.0.0 +Levenshtein>=0.26.1 +cxxfilt>=0.3.0 +mapfile-parser>=2.7.1 +PyYAML>=6.0.2 +colour>=0.1.5 \ No newline at end of file diff --git a/score.sh b/score.sh index 70c5f759..8d72e7d3 100755 --- a/score.sh +++ b/score.sh @@ -1 +1,3 @@ -python3 ./tools/python/score.py "$@" +#!/bin/sh + +.venv/bin/python3 ./tools/python/score.py "$@" \ No newline at end of file diff --git a/sha1/dkr.eu_1.0.sha1 b/sha1/dkr.eu_1.0.sha1 deleted file mode 100644 index b8ded015..00000000 --- a/sha1/dkr.eu_1.0.sha1 +++ /dev/null @@ -1 +0,0 @@ -dd5d64dd140cb7aa28404fa35abdcaba33c29260 build/eu_1.0/dkr.z64 \ No newline at end of file diff --git a/sha1/dkr.eu_1.1.sha1 b/sha1/dkr.eu_1.1.sha1 deleted file mode 100644 index 4e119fce..00000000 --- a/sha1/dkr.eu_1.1.sha1 +++ /dev/null @@ -1 +0,0 @@ -b7f628073237b3d211d40406aa0884ff8fdd70d5 build/eu_1.1/dkr.z64 \ No newline at end of file diff --git a/sha1/dkr.jp.sha1 b/sha1/dkr.jp.sha1 deleted file mode 100644 index 4cba1d72..00000000 --- a/sha1/dkr.jp.sha1 +++ /dev/null @@ -1 +0,0 @@ -23ba3d302025153d111416e751027cef11213a19 build/jp/dkr.z64 \ No newline at end of file diff --git a/sha1/dkr.us_1.0.sha1 b/sha1/dkr.us_1.0.sha1 deleted file mode 100644 index 412b493b..00000000 --- a/sha1/dkr.us_1.0.sha1 +++ /dev/null @@ -1 +0,0 @@ -0cb115d8716dbbc2922fda38e533b9fe63bb9670 build/us_1.0/dkr.z64 \ No newline at end of file diff --git a/sha1/dkr.us_1.1.sha1 b/sha1/dkr.us_1.1.sha1 deleted file mode 100644 index 0a7092a1..00000000 --- a/sha1/dkr.us_1.1.sha1 +++ /dev/null @@ -1 +0,0 @@ -6d96743d46f8c0cd0edb0ec5600b003c89b93755 build/us_1.1/dkr.z64 \ No newline at end of file diff --git a/src/asset_loading.c b/src/asset_loading.c index 552a41c8..3258a11d 100644 --- a/src/asset_loading.c +++ b/src/asset_loading.c @@ -1,10 +1,6 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80076BA0 */ - #include "asset_loading.h" #include "common.h" -// #include "assets.h" #include "macros.h" #include "ultra64.h" @@ -15,12 +11,19 @@ OSMesg gDmaMesg; OSMesgQueue gDmaMesgQueue; OSMesg gPIMesgBuf[16]; OSMesgQueue gPIMesgQueue; +#if VERSION >= VERSION_79 +OSMesg gAssetsLookupTableMesgBuf; +OSMesgQueue gDmaMesgQueueV2; +#define dmacopy_internal dmacopy_v1 +#else +#define dmacopy_internal dmacopy +#endif u32 *gAssetsLookupTable; /*******************************/ // These are both defined in the generated dkr.ld file. -extern u8 __ASSETS_LUT_START[], __ASSETS_LUT_END[]; // __ASSETS_LUT_START = 0xECB60, _END = 0xECC30 +extern u8 __ASSETS_LUT_START[], __ASSETS_LUT_END[]; /** * Set up the peripheral interface message queues and scheduling. @@ -33,10 +36,16 @@ void init_PI_mesg_queue(void) { osCreateMesgQueue(&gPIMesgQueue, gPIMesgBuf, ARRAY_COUNT(gPIMesgBuf)); osCreateMesgQueue(&gDmaMesgQueue, &gDmaMesg, 1); osCreatePiManager((OSPri) 150, &gPIMesgQueue, gPIMesgBuf, ARRAY_COUNT(gPIMesgBuf)); + +#if VERSION >= VERSION_79 + osCreateMesgQueue(&gDmaMesgQueueV2, &gAssetsLookupTableMesgBuf, 1); + osSendMesg(&gDmaMesgQueueV2, (OSMesg) 1, OS_MESG_NOBLOCK); +#endif + assetTableSize = __ASSETS_LUT_END - __ASSETS_LUT_START; gAssetsLookupTable = (u32 *) mempool_alloc_safe(assetTableSize, COLOUR_TAG_GREY); mempool_locked_set((u8 *) gAssetsLookupTable); - dmacopy((u32) __ASSETS_LUT_START, (u32) gAssetsLookupTable, (s32) assetTableSize); + dmacopy_internal((u32) __ASSETS_LUT_START, (u32) gAssetsLookupTable, (s32) assetTableSize); } /** @@ -48,6 +57,12 @@ u32 *load_asset_section_from_rom(u32 assetIndex) { u32 *out; s32 size; u32 start; + +#if VERSION >= VERSION_79 + OSMesg msg = NULL; + osRecvMesg(&gDmaMesgQueueV2, &msg, OS_MESG_BLOCK); +#endif + if (gAssetsLookupTable[0] < assetIndex) { return 0; } @@ -59,7 +74,13 @@ u32 *load_asset_section_from_rom(u32 assetIndex) { if (out == 0) { return 0; } - dmacopy((u32) (start + __ASSETS_LUT_END), (u32) out, size); + + dmacopy_internal((u32) (start + __ASSETS_LUT_END), (u32) out, size); + +#if VERSION >= VERSION_79 + osSendMesg(&gDmaMesgQueueV2, (OSMesg) 1, OS_MESG_NOBLOCK); +#endif + return out; } @@ -74,6 +95,12 @@ UNUSED u8 *load_compressed_asset_from_rom(u32 assetIndex, s32 extraMemory) { s32 totalSpace; u8 *gzipHeaderRamPos; u8 *out; + +#if VERSION >= VERSION_79 + OSMesg msg = NULL; + osRecvMesg(&gDmaMesgQueueV2, &msg, OS_MESG_BLOCK); +#endif + if (gAssetsLookupTable[0] < assetIndex) { return NULL; } @@ -82,7 +109,9 @@ UNUSED u8 *load_compressed_asset_from_rom(u32 assetIndex, s32 extraMemory) { start = ((s32 *) out)[0]; size = ((s32 *) out)[1] - start; gzipHeaderRamPos = (u8 *) mempool_alloc_safe(8, COLOUR_TAG_WHITE); - dmacopy((u32) (start + __ASSETS_LUT_END), (u32) gzipHeaderRamPos, 8); + + dmacopy_internal((u32) (start + __ASSETS_LUT_END), (u32) gzipHeaderRamPos, 8); + totalSpace = byteswap32(gzipHeaderRamPos) + extraMemory; mempool_free(gzipHeaderRamPos); out = (u8 *) mempool_alloc_safe(totalSpace + extraMemory, COLOUR_TAG_GREY); @@ -91,8 +120,13 @@ UNUSED u8 *load_compressed_asset_from_rom(u32 assetIndex, s32 extraMemory) { } gzipHeaderRamPos = (out + totalSpace) - size; if (1) {} // Fakematch - dmacopy((u32) (start + __ASSETS_LUT_END), (u32) gzipHeaderRamPos, size); + dmacopy_internal((u32) (start + __ASSETS_LUT_END), (u32) gzipHeaderRamPos, size); gzip_inflate(gzipHeaderRamPos, out); + +#if VERSION >= VERSION_79 + osSendMesg(&gDmaMesgQueueV2, (OSMesg) 1, OS_MESG_NOBLOCK); +#endif + return out; } @@ -104,6 +138,12 @@ UNUSED s32 load_asset_section_from_rom_to_address(u32 assetIndex, u32 address) { u32 start; s32 size; u32 *index; + +#if VERSION >= VERSION_79 + OSMesg msg = NULL; + osRecvMesg(&gDmaMesgQueueV2, &msg, OS_MESG_BLOCK); +#endif + if (gAssetsLookupTable[0] < assetIndex) { return 0; } @@ -111,7 +151,13 @@ UNUSED s32 load_asset_section_from_rom_to_address(u32 assetIndex, u32 address) { index = assetIndex + gAssetsLookupTable; start = *index; size = *(index + 1) - start; - dmacopy((u32) (start + __ASSETS_LUT_END), address, size); + + dmacopy_internal((u32) (start + __ASSETS_LUT_END), address, size); + +#if VERSION >= VERSION_79 + osSendMesg(&gDmaMesgQueueV2, (OSMesg) 1, OS_MESG_NOBLOCK); +#endif + return size; } @@ -124,6 +170,11 @@ s32 load_asset_to_address(u32 assetIndex, u32 address, s32 assetOffset, s32 size u32 *index; s32 start; +#if VERSION >= VERSION_79 + OSMesg msg = NULL; + osRecvMesg(&gDmaMesgQueueV2, &msg, OS_MESG_BLOCK); +#endif + if (size == 0 || gAssetsLookupTable[0] < assetIndex) { return 0; } @@ -131,7 +182,13 @@ s32 load_asset_to_address(u32 assetIndex, u32 address, s32 assetOffset, s32 size assetIndex++; index = assetIndex + gAssetsLookupTable; start = *index + assetOffset; - dmacopy((u32) (start + __ASSETS_LUT_END), address, size); + + dmacopy_internal((u32) (start + __ASSETS_LUT_END), address, size); + +#if VERSION >= VERSION_79 + osSendMesg(&gDmaMesgQueueV2, (OSMesg) 1, OS_MESG_NOBLOCK); +#endif + return size; } @@ -143,6 +200,11 @@ u8 *get_rom_offset_of_asset(u32 assetIndex, u32 assetOffset) { u32 *index; u32 start; +#if VERSION >= VERSION_79 + OSMesg msg = NULL; + osRecvMesg(&gDmaMesgQueueV2, &msg, OS_MESG_BLOCK); +#endif + if (gAssetsLookupTable[0] < assetIndex) { return NULL; } @@ -150,6 +212,11 @@ u8 *get_rom_offset_of_asset(u32 assetIndex, u32 assetOffset) { assetIndex++; index = assetIndex + gAssetsLookupTable; start = *index + assetOffset; + +#if VERSION >= VERSION_79 + osSendMesg(&gDmaMesgQueueV2, (OSMesg) 1, OS_MESG_NOBLOCK); +#endif + return start + __ASSETS_LUT_END; } @@ -160,12 +227,22 @@ u8 *get_rom_offset_of_asset(u32 assetIndex, u32 assetOffset) { s32 get_size_of_asset_section(u32 assetIndex) { u32 *index; +#if VERSION >= VERSION_79 + OSMesg msg = NULL; + osRecvMesg(&gDmaMesgQueueV2, &msg, OS_MESG_BLOCK); +#endif + if (gAssetsLookupTable[0] < assetIndex) { return 0; } assetIndex++; index = assetIndex + gAssetsLookupTable; + +#if VERSION >= VERSION_79 + osSendMesg(&gDmaMesgQueueV2, (OSMesg) 1, OS_MESG_NOBLOCK); +#endif + return *(index + 1) - *index; } @@ -176,6 +253,16 @@ s32 get_size_of_asset_section(u32 assetIndex) { * Official name: romCopy */ void dmacopy(u32 romOffset, u32 ramAddress, s32 numBytes) { +#if VERSION >= VERSION_79 + OSMesg msg = NULL; + osRecvMesg(&gDmaMesgQueueV2, &msg, OS_MESG_BLOCK); + dmacopy_internal(romOffset, ramAddress, numBytes); + osSendMesg(&gDmaMesgQueueV2, (OSMesg) 1, OS_MESG_NOBLOCK); +} + +// Looks like v2 ROMs made an alternate version of this function, and this is the original. +void dmacopy_internal(u32 romOffset, u32 ramAddress, s32 numBytes) { +#endif OSMesg dmaMesg; s32 numBytesToDMA; diff --git a/src/audio.c b/src/audio.c index efef8137..5bc90b17 100644 --- a/src/audio.c +++ b/src/audio.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80000450 */ - #include "audio.h" #include "memory.h" @@ -12,7 +9,7 @@ #include "audiomgr.h" #include "audiosfx.h" #include "sched.h" -#include "lib/src/audio/seqchannel.h" +#include "libultra/src/audio/seqchannel.h" /************ .data ************/ diff --git a/src/audio_spatial.c b/src/audio_spatial.c index b07b7eb6..c9ddb255 100644 --- a/src/audio_spatial.c +++ b/src/audio_spatial.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80008040 */ - #include "audio_spatial.h" #include "types.h" #include "macros.h" @@ -66,7 +63,7 @@ void func_80008040(void) { func_80008174(); } #else -GLOBAL_ASM("asm/non_matchings/audio_spatial/func_80008040.s") +#pragma GLOBAL_ASM("asm/nonmatchings/audio_spatial/func_80008040.s") #endif /** @@ -135,11 +132,11 @@ void func_80008174(void) { gAudioLinesOff = 0; } #else -GLOBAL_ASM("asm/non_matchings/audio_spatial/func_80008174.s") +#pragma GLOBAL_ASM("asm/nonmatchings/audio_spatial/func_80008174.s") #endif // audioline_ambient -GLOBAL_ASM("asm/non_matchings/audio_spatial/func_80008438.s") +#pragma GLOBAL_ASM("asm/nonmatchings/audio_spatial/func_80008438.s") s32 func_800090C0(f32 arg0, f32 arg1, s32 arg2) { s32 temp_v1; @@ -336,7 +333,7 @@ void func_80009968(f32 x, f32 y, f32 z, u8 arg3, u8 arg4, u8 arg5) { } } #else -GLOBAL_ASM("asm/non_matchings/audio_spatial/func_80009968.s") +#pragma GLOBAL_ASM("asm/nonmatchings/audio_spatial/func_80009968.s") #endif s32 func_800099EC(u8 arg0) { @@ -434,10 +431,10 @@ void func_80009B7C(s32 *soundState, f32 x, f32 y, f32 z) { } } #else -GLOBAL_ASM("asm/non_matchings/audio_spatial/func_80009B7C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/audio_spatial/func_80009B7C.s") #endif -GLOBAL_ASM("asm/non_matchings/audio_spatial/func_80009D6C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/audio_spatial/func_80009D6C.s") #ifdef NON_EQUIVALENT extern unk80119C58 **D_80119C5C; @@ -463,7 +460,7 @@ void func_8000A184(Gfx **arg0, Vertex **arg1, Triangle **arg2) { } } #else -GLOBAL_ASM("asm/non_matchings/audio_spatial/func_8000A184.s") +#pragma GLOBAL_ASM("asm/nonmatchings/audio_spatial/func_8000A184.s") #endif void func_8000A2E8(s32 arg0) { diff --git a/src/audio_vehicle.c b/src/audio_vehicle.c index 340e02d5..6275c7be 100644 --- a/src/audio_vehicle.c +++ b/src/audio_vehicle.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80004B40 */ - #include "audio_vehicle.h" #include "types.h" @@ -166,7 +163,7 @@ VehicleSoundData *func_80004B40(s8 characterId, s8 vehicleId) { return temp_v0_3; } #else -GLOBAL_ASM("asm/non_matchings/audio_vehicle/func_80004B40.s") +#pragma GLOBAL_ASM("asm/nonmatchings/audio_vehicle/func_80004B40.s") #endif /** @@ -367,7 +364,7 @@ void func_80005254(Object *obj, u32 buttonsPressed, u32 buttonsHeld, s32 updateR } } #else -GLOBAL_ASM("asm/non_matchings/audio_vehicle/func_80005254.s") +#pragma GLOBAL_ASM("asm/nonmatchings/audio_vehicle/func_80005254.s") #endif /** @@ -571,7 +568,7 @@ void func_800063EC(Object *obj, UNUSED u32 buttonsPressed, u32 buttonsHeld, s32 } } #else -GLOBAL_ASM("asm/non_matchings/audio_vehicle/func_800063EC.s") +#pragma GLOBAL_ASM("asm/nonmatchings/audio_vehicle/func_800063EC.s") #endif /** @@ -943,7 +940,7 @@ void func_80006FC8(Object **objs, s32 numRacers, ObjectSegment *segment, u8 arg3 } } #else -GLOBAL_ASM("asm/non_matchings/audio_vehicle/func_80006FC8.s") +#pragma GLOBAL_ASM("asm/nonmatchings/audio_vehicle/func_80006FC8.s") #endif /** diff --git a/src/audiomgr.c b/src/audiomgr.c index f890b0fa..df996926 100644 --- a/src/audiomgr.c +++ b/src/audiomgr.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80002660 */ - #include "audiomgr.h" #include "memory.h" #include "audio_internal.h" diff --git a/src/audiosfx.c b/src/audiosfx.c index 0494d0a8..76dd6da2 100644 --- a/src/audiosfx.c +++ b/src/audiosfx.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80003160 */ - #include "audiosfx.h" #include "memory.h" #include "audio_internal.h" @@ -121,7 +118,7 @@ ALMicroTime _sndpVoiceHandler(void *node) { return sndp->nextDelta; } -GLOBAL_ASM("asm/non_matchings/audiosfx/_handleEvent.s") +#pragma GLOBAL_ASM("asm/nonmatchings/audiosfx/_handleEvent.s") void func_8000410C(ALSoundState *state) { if (state->unk3E & 4) { @@ -261,7 +258,7 @@ ALSound *func_80004384(UNUSED ALBank *arg0, ALSound *arg1) { return (ALSound *) nextAllocList; } -GLOBAL_ASM("asm/non_matchings/audiosfx/func_80004520.s") +#pragma GLOBAL_ASM("asm/nonmatchings/audiosfx/func_80004520.s") void func_80004604(u8 *arg0, u8 arg1) { if (arg0) { @@ -284,7 +281,7 @@ s32 func_80004638(ALBank *bnk, s16 sndIndx, SoundMask *soundMask) { s32 func_80004668(ALBank *bnk, s16 sndIndx, u8 arg2, SoundMask *soundMask) { } #else -GLOBAL_ASM("asm/non_matchings/audiosfx/func_80004668.s") +#pragma GLOBAL_ASM("asm/nonmatchings/audiosfx/func_80004668.s") #endif // input typing not right (some type of struct) diff --git a/src/borders.c b/src/borders.c index e2f27177..deac9ae0 100644 --- a/src/borders.c +++ b/src/borders.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80077050 */ - #include "borders.h" #include "camera.h" diff --git a/src/camera.c b/src/camera.c index ffcc2faf..40271e4d 100644 --- a/src/camera.c +++ b/src/camera.c @@ -1,13 +1,10 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80065EA0 */ - #include "camera.h" #include "audio.h" #include "objects.h" #include "game.h" #include "tracks.h" #include "video.h" -#include "lib/src/libc/rmonPrintf.h" +#include "libultra/src/libc/rmonPrintf.h" #include "math_util.h" #include "weather.h" #include "PRinternal/piint.h" @@ -761,7 +758,7 @@ void func_80066CDC(Gfx **dlist, MatrixS **mats) { gActiveCameraID = originalCameraID; } #else -GLOBAL_ASM("asm/non_matchings/camera/func_80066CDC.s") +#pragma GLOBAL_ASM("asm/nonmatchings/camera/func_80066CDC.s") #endif /** diff --git a/src/fade_transition.c b/src/fade_transition.c index 35e7fa9c..cdaaedf6 100644 --- a/src/fade_transition.c +++ b/src/fade_transition.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C0170 */ - #include "fade_transition.h" #include "types.h" diff --git a/src/font.c b/src/font.c index d865e0e7..ba2810b6 100644 --- a/src/font.c +++ b/src/font.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C3C00 */ - #include "font.h" #include "menu.h" #include "textures_sprites.h" @@ -28,6 +25,12 @@ Gfx dDialogueBoxDrawModes[][2] = { gsDPSetCombineMode(DKR_CC_ENVIRONMENT, DKR_CC_ENVIRONMENT), gsDPSetOtherMode(DKR_OMH_1CYC_POINT_NOPERSP, DKR_OML_COMMON | G_RM_XLU_SURF | G_RM_XLU_SURF2), }, +#if REGION == REGION_JP + { + gsDPSetCombineMode(DKR_CC_UNK13, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_POINT_NOPERSP, DKR_OML_COMMON | G_RM_NOOP | G_RM_XLU_SURF2), + }, +#endif }; s8 sDialogueBoxIsOpen = FALSE; @@ -69,6 +72,60 @@ DialogueBoxBackground *gDialogueBoxBackground; // Official Name: Window DialogueTextElement *gDialogueText; // Official Name: String s32 gCompactKerning; // Official Name: squash - Boolean value, seems to be related to X placement of menus on the X // Axis? + +#if REGION == REGION_JP +#define JP_FONT_ARRAY_SIZE 256 +#define NUMBER_OF_JP_FONTS 4 + +// Header for a single japanese character. 0x10 bytes +typedef struct JpCharHeader { + char *ptr; + char *unk4; + u8 pad8[2]; + u8 left; + u8 top; + u8 right; + u8 bottom; + u8 spacing; +} JpCharHeader; + +// Japanese Font Header, 0x10 bytes +// Asset45 contains 4 font headers. +typedef struct FontData_JP { + u8 unk0; + u8 x; + u8 y; + u8 charWidth; + u8 height; + u8 pad[3]; + s32 offsetToData; + s32 bytesPerCharacter; +} FontData_JP; + +typedef struct FontJpSpacing { + u8 spacing[256]; // 256 characters in the japanese font +} FontJpSpacing; + +typedef struct Unk8012C2D4_JP { + char unk0; + char unk1; + u16 unk2; + Gfx *dlist; +} Unk8012C2D4_JP; + +FontData_JP *D_8012C2A4_EE5E4; +FontJpSpacing *D_8012C2A8_EE5E8[4]; // 4 tables for spacing in different fonts? +s32 D_8012C2B8_EE5F8; +Unk8012C2D4_JP (*D_8012C2BC_EE5FC)[128]; +JpCharHeader (*D_8012C2C0_EE600)[18]; +Gfx *D_8012C2C4_EE604; +Unk8012C2D4_JP *D_8012C2C8_EE608; +JpCharHeader (*D_8012C2CC_EE60C)[18]; +Gfx *D_8012C2D0_EE610; +Unk8012C2D4_JP *D_8012C2D4_EE614; +Unk8012C2D4_JP *D_8012C2D8_EE618; +#endif + s8 sDialogueBoxCloseTimer; /******************************/ @@ -135,8 +192,12 @@ void load_fonts(void) { gDialogueText[i].textBGColourA = 0; gDialogueText[i].nextBox = NULL; } +#if REGION == REGION_JP + func_800C6464_C7064(); +#else load_font(ASSET_FONTS_FUNFONT); load_font(ASSET_FONTS_SMALLFONT); +#endif gCompactKerning = FALSE; } @@ -148,6 +209,7 @@ void set_kerning(s32 setting) { gCompactKerning = setting; } +#if REGION != REGION_JP /** * Load the texture assets of the given font into RAM. * This is required before any text using this font can be displayed in a scene. @@ -186,14 +248,19 @@ void unload_font(s32 fontID) { } } } +#endif /** * Set the font of the current dialogue box's text. */ void set_text_font(s32 fontID) { +#if REGION == REGION_JP + gDialogueBoxBackground[0].font = D_8012C2B8_EE5F8 = fontID; +#else if (fontID < gNumberOfFonts) { gDialogueBoxBackground[0].font = fontID; } +#endif } /** @@ -201,6 +268,9 @@ void set_text_font(s32 fontID) { * Goes unused. */ UNUSED TextureHeader *get_loaded_font(s32 font, u8 index) { +#if REGION == REGION_JP + return NULL; +#else FontData *fontData; u8 pointerIndex; @@ -219,6 +289,7 @@ UNUSED TextureHeader *get_loaded_font(s32 font, u8 index) { #ifdef AVOID_UB return NULL; #endif +#endif } /** @@ -290,6 +361,7 @@ UNUSED void draw_dialogue_text_pos_unused(Gfx **displayList, s32 dialogueBoxID, * Loops through a string, then draws each character onscreen. * Will also draw a fillrect if text backgrounds are enabled. */ +#if REGION != REGION_JP void render_text_string(Gfx **dList, DialogueBoxBackground *box, char *text, AlignmentFlags alignmentFlags, f32 scisScale) { s32 scisOffset; @@ -440,12 +512,207 @@ void render_text_string(Gfx **dList, DialogueBoxBackground *box, char *text, Ali gDPPipeSync((*dList)++); } } +#else +void render_text_string(Gfx **dList, DialogueBoxBackground *box, char *text, enum AlignmentFlags alignmentFlags, + f32 scisScale) { + s32 jpTexS; + s32 prevFont; + s32 jpTexT; + s32 xpos; + s32 ulx; + s32 uly; + s32 lrx; + s32 lry; + s32 ypos; + s32 scisOffset; + s32 charSpace; + s32 scisPos; + s32 textureS; + s32 textureT; + s32 textureS2; + s32 textureT2; + s32 xAlignmentDiff; + s32 someIndexForJpChar; + u16 jpCharValue; + s32 textureLrx; + s32 textureLry; + u8 curChar; + FontData_JP *fontData; + s32 newTempX; + s32 newTempY; + s32 charIndex; + s32 temp; + char otherText[220]; // Not sure about the length of this buffer. + s32 temp2; + + xAlignmentDiff = -1; + if (text == NULL) { + return; + } + + func_800C7864_C8464(text, otherText); + prevFont = D_8012C2B8_EE5F8; + D_8012C2B8_EE5F8 = box->font; + xpos = box->xpos; + ypos = box->ypos; + + fontData = (FontData_JP *) &D_8012C2A4_EE5E4[D_8012C2B8_EE5F8]; + gSPDisplayList((*dList)++, dDialogueBoxBegin); + if (box != gDialogueBoxBackground) { + scisOffset = (((box->y2 - box->y1) + 1) / (f32) 2) * scisScale; + scisPos = (box->y1 + box->y2) >> 1; + ulx = box->x1; + lrx = box->x2; + // Pretty sure these are macros. + if (ulx < 0) { + ulx = 0; + } + if (ulx >= 320) { + ulx = 319; + } + if (lrx < 0) { + lrx = 0; + } + if (lrx >= 320) { + lrx = 319; + } + uly = scisPos - scisOffset; + lry = scisPos + scisOffset; + if (uly < 0) { + uly = 0; + } + if (uly >= 240) { + uly = 239; + } + if (lry < 0) { + lry = 0; + } + if (lry >= 240) { + lry = 239; + } + gDPSetScissor((*dList)++, 0, ulx, uly, lrx, lry); + } + if (alignmentFlags & (HORZ_ALIGN_RIGHT | HORZ_ALIGN_CENTER)) { + xAlignmentDiff = get_text_width(otherText, xpos, box->font); + if (alignmentFlags & HORZ_ALIGN_RIGHT) { + xpos = (xpos - xAlignmentDiff) + 1; + } else { + xpos -= xAlignmentDiff >> 1; + } + } + if (alignmentFlags & VERT_ALIGN_BOTTOM) { + ypos = (ypos - fontData->y) + 1; + } + if (alignmentFlags & VERT_ALIGN_MIDDLE) { + ypos -= fontData->y >> 1; + } + if (box->textBGColourA != 0) { + gDPSetEnvColor((*dList)++, box->textBGColourR, box->textBGColourG, box->textBGColourB, box->textBGColourA); + if (xAlignmentDiff == -1) { + xAlignmentDiff = get_text_width(otherText, xpos, box->font); + } + lrx = xpos + xAlignmentDiff; + lry = fontData->y + ypos; + gDkrDmaDisplayList((*dList)++, OS_K0_TO_PHYSICAL(dDialogueBoxDrawModes[1]), 2); + gDPFillRectangle((*dList)++, xpos + box->x1, ypos + box->y1, lrx + box->x1, lry + box->y1); + gDPPipeSync((*dList)++); + } + gDPSetPrimColor((*dList)++, 0, 0, 255, 255, 255, box->opacity); + gDPSetEnvColor((*dList)++, box->textColourR, box->textColourG, box->textColourB, box->textColourA); + gDkrDmaDisplayList((*dList)++, OS_K0_TO_PHYSICAL(dDialogueBoxDrawModes[0]), 2); + gDPPipeSync((*dList)++); + + xpos += box->textOffsetX; + ypos += box->textOffsetY; + charIndex = 0; + while ((otherText[charIndex] != '\0') && (box->y2 >= ypos)) { + curChar = otherText[charIndex++]; + jpCharValue = 0; + if (curChar & 0x80) { // Test if this is a japanese character text. + // So this text system supports up to 32768 unique characters, although the game only uses 256. + jpCharValue = (otherText[charIndex++] | ((curChar & 0x7F) << 8)); + if (jpCharValue == 15) { // Index 15 is the space character. + jpCharValue = 0; + curChar = ' '; + } + } + if (jpCharValue != 0) { + // Texture coordinates of the 256x256 japanese font texture. + ulx = box->x1 + xpos; + uly = box->y1 + ypos; + lrx = ulx + fontData->x; + lry = uly + fontData->y; + charSpace = D_8012C2A8_EE5E8[D_8012C2B8_EE5F8]->spacing[jpCharValue]; + if ((lrx > 0) && (lry > 0) && (ulx < box->x2) && (uly < box->y2)) { + someIndexForJpChar = + func_800C7744_C8344(dList, jpCharValue, &textureS, &textureT, &textureS2, &textureT2); + } else { + someIndexForJpChar = -1; + } + if (someIndexForJpChar >= 0) { + ulx = ulx << 2; + uly = (uly + textureT) << 2; + lrx = (textureS2 - textureS) * 4 + ulx; + lry = (textureT2 - textureT) * 4 + uly; + if ((lrx > 0) && (lry > 0)) { + textureS <<= 5; + textureT <<= 5; + if (ulx < 0) { + textureS += (ulx * -1) << 3; + ulx = 0; + } + if (uly < 0) { + textureT += (uly * -1) << 3; + uly = 0; + } + func_800C7804_C8404(someIndexForJpChar); + gSPTextureRectangle((*dList)++, ulx, uly, lrx, lry, 0, textureS, textureT, 1 << 10, 1 << 10); + } + } + if ((gCompactKerning) && (charSpace != 0)) { + charSpace--; + } + xpos += charSpace; + } else { + // This was a regular ascii character. + switch (curChar) { + case '\n': // newline + xpos = box->textOffsetX; + ypos += fontData->height; + break; + case '\t': // Tab + xpos = ((s32) xpos + (fontData->charWidth * 4)) - + ((xpos - box->textOffsetX) % (fontData->charWidth * 4)); + break; + case '\v': // VT - Vertical Tab + ypos += fontData->height; + break; + case '\r': // Carriage Return + xpos = box->textOffsetX; + break; + default: + xpos += fontData->charWidth; + break; + } + } + } + box->xpos = xpos - box->textOffsetX; + box->ypos = ypos - box->textOffsetY; + D_8012C2B8_EE5F8 = prevFont; // Put previous font index back. + if (box != gDialogueBoxBackground) { + viewport_scissor(dList); + } + reset_render_settings(dList); + gDPPipeSync((*dList)++); +} +#endif /** * Start from the beginning of the line then add to an offset from the starting position. * Returns the width of the string. * Official Name: fontStringWidth */ +#if REGION != REGION_JP s32 get_text_width(char *text, s32 x, s32 font) { s32 diffX, thisDiffX; FontData *fontData; @@ -486,6 +753,33 @@ s32 get_text_width(char *text, s32 x, s32 font) { } return diffX - x; } +#else +s32 get_text_width(char *text, s32 x, s32 font) { + FontData_JP *currentFont; + FontJpSpacing *currentFontSpacing; + s32 glyphIndex; + s32 length; + + currentFont = &D_8012C2A4_EE5E4[font]; + currentFontSpacing = D_8012C2A8_EE5E8[font]; + length = 0; + while (text[0]) { + if (text[0] & 0x80) { + glyphIndex = (text[1] & 0xFF) | ((text[0] & 0x7F) << 8); + text += 2; + if ((glyphIndex == 0) || (glyphIndex == 15)) { + length += currentFont->charWidth; + } else { + length += currentFontSpacing->spacing[glyphIndex]; + } + } else { + text += 1; + length += currentFont->charWidth; + } + } + return length; +} +#endif /** * Sets the position and size of the current dialogue box. @@ -520,12 +814,16 @@ void set_current_dialogue_box_coords(s32 dialogueBoxID, s32 x1, s32 y1, s32 x2, * Official Name: fontWindowUseFont */ void set_dialogue_font(s32 dialogueBoxID, s32 font) { +#if REGION == REGION_JP + gDialogueBoxBackground[dialogueBoxID].font = font; +#else if (dialogueBoxID >= 0 && dialogueBoxID < DIALOGUEBOXBACKGROUND_COUNT) { DialogueBoxBackground *temp = &gDialogueBoxBackground[dialogueBoxID]; if (font < gNumberOfFonts) { temp->font = font; } } +#endif } /** @@ -989,6 +1287,7 @@ void render_dialogue_box(Gfx **dlist, MatrixS **mat, Vertex **verts, s32 dialogu * Takes in a string and a number, and replaces each instance of the * character '~' with the number. */ +#if REGION != REGION_JP void parse_string_with_number(char *input, char *output, s32 number) { while (*input) { if (*input == '~') { // ~ is equivalent to a %d. @@ -1003,3 +1302,362 @@ void parse_string_with_number(char *input, char *output, s32 number) { } *output = '\0'; // null terminator } +#else +void parse_string_with_number(char *input, char *output, s32 number) { + char currentChar; + + currentChar = *input++; + while (currentChar) { + if (currentChar & 0x80) { + char nextChar = *input++; + if (nextChar == 0xE) { + s32_to_string(&output, number); + } else { + *output++ = currentChar; + *output++ = nextChar; + } + } else if (currentChar == '~') { // ~ is equivalent to a %d. + s32_to_string(&output, number); + } else { + *output++ = currentChar; + } + currentChar = *input; + input++; + } + *output = '\0'; // null terminator +} + +void func_800C6464_C7064(void) { + s32 i; + s32 charIndex; + u8 **var_s3; + JpCharHeader *jpFontData; + FontData_JP *jpFontHeader; + + D_8012C2C4_EE604 = mempool_alloc_safe(0x6C00, COLOUR_TAG_RED); + D_8012C2C8_EE608 = mempool_alloc_safe(0x400, COLOUR_TAG_RED); + D_8012C2CC_EE60C = mempool_alloc_safe(0x9000, COLOUR_TAG_RED); + for (i = 0, charIndex = 0; i < 128; i++) { + D_8012C2C8_EE608[i].unk0 = 0; + D_8012C2C8_EE608[i].dlist = &D_8012C2C4_EE604[charIndex]; + if (i & 1) { + charIndex += 10; + } else { + charIndex += 17; + } + } + + D_8012C2A4_EE5E4 = (FontData_JP *) load_asset_section_from_rom(ASSET_BINARY_45); + + // Init the 4 pointers in D_8012C2A8_EE5E8 (table for spacing of each character in every font) + D_8012C2A8_EE5E8[0] = mempool_alloc_safe(NUMBER_OF_JP_FONTS * JP_FONT_ARRAY_SIZE, COLOUR_TAG_RED); + for (i = 1; i < 4; i++) { + D_8012C2A8_EE5E8[i] = &D_8012C2A8_EE5E8[0]->spacing[i * JP_FONT_ARRAY_SIZE]; + } + + jpFontData = mempool_alloc_safe(0x40, COLOUR_TAG_RED); + for (i = 0; i < 4; i++) { + jpFontHeader = &D_8012C2A4_EE5E4[i]; + for (charIndex = 0; charIndex < JP_FONT_ARRAY_SIZE; charIndex++) { + load_asset_to_address(ASSET_BINARY_46, (u32) jpFontData, + jpFontHeader->offsetToData + (charIndex * jpFontHeader->bytesPerCharacter), 0x40); + D_8012C2A8_EE5E8[i]->spacing[charIndex] = jpFontData->spacing; + } + } + + mempool_free(jpFontData); + D_8012C2B8_EE5F8 = 0; +} + +void func_800C663C_C723C(void) { + s32 i; + s32 var_v0; + + func_800C67F4_C73F4(); + D_8012C2D0_EE610 = mempool_alloc_safe(0x6C00, COLOUR_TAG_RED); + D_8012C2D4_EE614 = mempool_alloc_safe(0x400, COLOUR_TAG_RED); + D_8012C2D8_EE618 = mempool_alloc_safe(0x9000, COLOUR_TAG_RED); + if (D_8012C2D0_EE610 == NULL || D_8012C2D4_EE614 == NULL || D_8012C2D8_EE618 == NULL) { + func_800C67F4_C73F4(); + return; + } + var_v0 = 0; + for (i = 0; i < 0x80; i++) { + D_8012C2D4_EE614[i].unk0 = 0; + D_8012C2D4_EE614[i].dlist = &D_8012C2D0_EE610[var_v0]; + if (i & 1) { + var_v0 += 10; + } else { + var_v0 += 17; + } + } +} + +void func_800C67F4_C73F4(void) { + if (D_8012C2D0_EE610 != NULL) { + mempool_free(D_8012C2D0_EE610); + D_8012C2D0_EE610 = NULL; + } + if (D_8012C2D4_EE614 != NULL) { + mempool_free(D_8012C2D4_EE614); + D_8012C2D4_EE614 = NULL; + } + if (D_8012C2D8_EE618 != NULL) { + mempool_free(D_8012C2D8_EE618); + D_8012C2D8_EE618 = NULL; + } +} + +void func_800C6870_C7470(void) { + if (D_8012C2C0_EE600 == D_8012C2CC_EE60C && D_8012C2D8_EE618 != NULL) { + D_8012C2BC_EE5FC = D_8012C2D4_EE614; + D_8012C2C0_EE600 = D_8012C2D8_EE618; + } else { + D_8012C2BC_EE5FC = D_8012C2C8_EE608; + D_8012C2C0_EE600 = D_8012C2CC_EE60C; + } +} + +s32 func_800C68CC_C74CC(u16 arg0) { + s32 assetSize; + s32 i; + s32 var_t0; + s32 var_a3; + s32 curIndex; + s32 var_v1; + u16 glyphIndex; + Unk8012C2D4_JP *asset; + + glyphIndex = ((D_8012C2B8_EE5F8 << 12) | (arg0 & 0xFFF)); + var_a3 = (D_8012C2A4_EE5E4[D_8012C2B8_EE5F8].bytesPerCharacter + 0x11F) / 0x120; + D_8012C2BC_EE5FC = D_8012C2C8_EE608; + D_8012C2C0_EE600 = D_8012C2CC_EE60C; + curIndex = -1; + + do { + for (i = 0; i + var_a3 <= 128 && curIndex < 0; i += var_a3) { + if ((*D_8012C2BC_EE5FC)[i].unk0 != 0 && (*D_8012C2BC_EE5FC)[i].unk2 == glyphIndex) { + curIndex = i; + } + } + if (curIndex < 0) { + func_800C6870_C7470(); + } + } while ((D_8012C2C0_EE600 != D_8012C2CC_EE60C) && (curIndex < 0)); + + if (curIndex >= 0) { + return curIndex; + } else { + D_8012C2BC_EE5FC = D_8012C2C8_EE608; + D_8012C2C0_EE600 = D_8012C2CC_EE60C; + do { + for (i = 0; i + var_a3 <= 128 && curIndex < 0; i += var_a3) { + if (((*D_8012C2BC_EE5FC)[i].unk0) == 0) { + curIndex = i; + for (var_v1 = 1; var_v1 < var_a3; var_v1++) { + if ((*D_8012C2BC_EE5FC)[i + var_v1].unk0 != 0) { + curIndex = -1; + } + } + } + } + if (curIndex < 0) { + func_800C6870_C7470(); + } + } while ((D_8012C2C0_EE600 != D_8012C2CC_EE60C) && (curIndex < 0)); + + if (curIndex >= 0) { + for (var_v1 = 0; var_v1 < var_a3; var_v1++) { + (*D_8012C2BC_EE5FC)[curIndex + var_v1].unk1 = var_a3; + if (var_v1 == 0) { + (*D_8012C2BC_EE5FC)[curIndex + var_v1].unk2 = glyphIndex; + } else { + (*D_8012C2BC_EE5FC)[curIndex + var_v1].unk2 = -1; + } + } + asset = &D_8012C2C0_EE600[curIndex]; + load_asset_to_address(ASSET_BINARY_46, (u32) asset, + D_8012C2A4_EE5E4[D_8012C2B8_EE5F8].offsetToData + + (D_8012C2A4_EE5E4[D_8012C2B8_EE5F8].bytesPerCharacter * arg0), + D_8012C2A4_EE5E4[D_8012C2B8_EE5F8].bytesPerCharacter); + func_800C6DD4_C79D4((*D_8012C2BC_EE5FC)[curIndex].dlist, asset, D_8012C2A4_EE5E4[D_8012C2B8_EE5F8].x, + D_8012C2A4_EE5E4[D_8012C2B8_EE5F8].y); + } + + return curIndex; + } +} + +void func_800C6DD4_C79D4(Gfx *dlist, Asset46 *asset, s32 width, s32 height) { + if (asset->unk0 != -1) { + asset->unk0 = (s32) asset + asset->unk0; + } else { + asset->unk0 = NULL; + } + if (asset->unk4 != -1) { + asset->unk4 = (s32) asset + asset->unk4; + } else { + asset->unk4 = NULL; + } + + if (asset->unk4 != NULL) { + gDPLoadTextureBlockS(dlist++, OS_PHYSICAL_TO_K0(asset->unk0), G_IM_FMT_RGBA, G_IM_SIZ_16b, width, height, + 0, // palette + G_TX_NOMIRROR | G_TX_WRAP, // cms + G_TX_NOMIRROR | G_TX_WRAP, // cmt + 8, // masks + 8, // maskt + G_TX_NOLOD, // shifts + G_TX_NOLOD); // shiftt + + gDPLoadMultiBlock_4bS(dlist++, OS_PHYSICAL_TO_K0(asset->unk4), 0x100, 1, G_IM_FMT_I, width, height, + 0, // palette + G_TX_NOMIRROR | G_TX_WRAP, // cms + G_TX_NOMIRROR | G_TX_WRAP, // cmt + 8, // masks + 8, // maskt + G_TX_NOLOD, // shifts + G_TX_NOLOD); // shiftt + + gDkrDmaDisplayList(dlist++, OS_K0_TO_PHYSICAL(&dDialogueBoxDrawModes[2]), + numberOfGfxCommands(dDialogueBoxDrawModes[1])); + } else { + switch (asset->unk8) { + case 0: // RGBA32 + gDPLoadTextureBlockS(dlist++, OS_PHYSICAL_TO_K0(asset->unk0), G_IM_FMT_RGBA, G_IM_SIZ_32b, width, + height, + 0, // palette + G_TX_NOMIRROR | G_TX_WRAP, // cms + G_TX_NOMIRROR | G_TX_WRAP, // cmt + 8, // masks + 8, // maskt + G_TX_NOLOD, // shifts + G_TX_NOLOD); // shiftt + break; + case 1: // RGBA16 + gDPLoadTextureBlockS(dlist++, OS_PHYSICAL_TO_K0(asset->unk0), G_IM_FMT_RGBA, G_IM_SIZ_16b, width, + height, + 0, // palette + G_TX_NOMIRROR | G_TX_WRAP, // cms + G_TX_NOMIRROR | G_TX_WRAP, // cmt + 8, // masks + 8, // maskt + G_TX_NOLOD, // shifts + G_TX_NOLOD); // shiftt + break; + case 5: // IA8 + gDPLoadTextureBlockS(dlist++, OS_PHYSICAL_TO_K0(asset->unk0), G_IM_FMT_IA, G_IM_SIZ_8b, width, height, + 0, // palette + G_TX_NOMIRROR | G_TX_WRAP, // cms + G_TX_NOMIRROR | G_TX_WRAP, // cmt + 8, // masks + 8, // maskt + G_TX_NOLOD, // shifts + G_TX_NOLOD); // shiftt + break; + case 6: // IA4 + gDPLoadTextureBlock_4bS(dlist++, OS_PHYSICAL_TO_K0(asset->unk0), G_IM_FMT_IA, width, height, + 0, // palette + G_TX_NOMIRROR | G_TX_WRAP, // cms + G_TX_NOMIRROR | G_TX_WRAP, // cmt + 8, // masks + 8, // maskt + G_TX_NOLOD, // shifts + G_TX_NOLOD); // shiftt + break; + case 3: // I4 + gDPLoadTextureBlock_4bS(dlist++, OS_PHYSICAL_TO_K0(asset->unk0), G_IM_FMT_I, width, height, + 0, // palette + G_TX_NOMIRROR | G_TX_WRAP, // cms + G_TX_NOMIRROR | G_TX_WRAP, // cmt + 8, // masks + 8, // maskt + G_TX_NOLOD, // shifts + G_TX_NOLOD); // shiftt + break; + case 2: // I8 + gDPLoadTextureBlockS(dlist++, OS_PHYSICAL_TO_K0(asset->unk0), G_IM_FMT_I, G_IM_SIZ_8b, width, height, + 0, // palette + G_TX_NOMIRROR | G_TX_WRAP, // cms + G_TX_NOMIRROR | G_TX_WRAP, // cmt + 8, // masks + 8, // maskt + G_TX_NOLOD, // shifts + G_TX_NOLOD); // shiftt + break; + } + gDkrDmaDisplayList(dlist++, OS_K0_TO_PHYSICAL(&dDialogueBoxDrawModes[0]), + numberOfGfxCommands(dDialogueBoxDrawModes[1])); + } + gSPEndDisplayList(dlist++); +} + +s32 func_800C7744_C8344(Gfx **dlist, u16 charIndex, s32 *outLeft, s32 *outTop, s32 *outRight, s32 *outBottom) { + s32 index; + JpCharHeader *jpChar; + + index = func_800C68CC_C74CC(charIndex); + if (index >= 0) { + gSPDisplayList((*dlist)++, (*D_8012C2BC_EE5FC)[index].dlist); + jpChar = D_8012C2C0_EE600[index]; + *outLeft = jpChar->left; + *outTop = jpChar->top; + *outRight = jpChar->right; + *outBottom = jpChar->bottom; + } + return index; +} + +void func_800C7804_C8404(s32 arg0) { + s32 i; + + for (i = 0; i < (*D_8012C2BC_EE5FC)[arg0].unk1; i++) { + (*D_8012C2BC_EE5FC)[arg0 + i].unk0 = 2; + } +} + +u8 D_800E5234_E5E34[] = { + 0x0F, 0x34, 0x0A, 0x36, 0x02, 0x06, 0x0D, 0x37, 0x03, 0x04, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x3E, 0x05, 0x0B, 0x3F, 0x0C, 0x40, + 0x41, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, + 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x07, 0x0F, 0x08, 0x0F, 0x0F, + 0x09, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, + 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x03, 0x0F, 0x04, 0x0E, 0x0F, +}; + +void func_800C7864_C8464(char *inString, char *outString) { + char currentChar; + + currentChar = *inString++; + while (currentChar) { + if (currentChar & 0x80) { + *outString++ = currentChar; + *outString++ = *inString++; + } else if (currentChar < 32) { + *outString++ = currentChar; + } else { + *outString++ = 0x80; + *outString++ = D_800E5234_E5E34[currentChar - 32]; + } + currentChar = *inString; + inString++; + } + *outString = '\0'; +} + +void func_800C78E0_C84E0(void) { + s32 i; + + D_8012C2BC_EE5FC = D_8012C2C8_EE608; + D_8012C2C0_EE600 = D_8012C2CC_EE60C; + do { + for (i = 0; i < 128; i++) { + if ((*D_8012C2BC_EE5FC)[i].unk0) { + (*D_8012C2BC_EE5FC)[i].unk0--; + } + } + func_800C6870_C7470(); + } while (D_8012C2C0_EE600 != D_8012C2CC_EE60C); +} + +#endif diff --git a/src/game.c b/src/game.c index e2fe3bb8..da04e34f 100644 --- a/src/game.c +++ b/src/game.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8006A6B0 */ - #include "game.h" #include diff --git a/src/game_text.c b/src/game_text.c index 858e4c27..7b2e6a64 100644 --- a/src/game_text.c +++ b/src/game_text.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C29F0 */ - #include "game_text.h" #include "common.h" #include "menu.h" @@ -66,8 +63,13 @@ void init_dialogue_text(void) { gDialogueAlpha = 0; gTextAlphaVelocity = 32; gCurrentTextID = 0; +#if REGION == REGION_JP + gDialogueXPos1 = 24; + gDialogueXPos2 = 296; +#else gDialogueXPos1 = 32; gDialogueXPos2 = 288; +#endif if (osTvType == OS_TV_TYPE_PAL) { gDialogueYPos1 = 224; gDialogueYPos2 = 248; @@ -104,13 +106,32 @@ void render_subtitles(void) { s32 i; s32 textFlags; char **textData; +#if VERSION == VERSION_79 +#define SUBTITLE_Y_OFFSET 18 +#else +#define SUBTITLE_Y_OFFSET 14 +#endif dialogue_clear(6); +#if VERSION >= VERSION_79 + if (gSubtitleLineCount >= 2) { + gDialogueYPos1 -= SUBTITLE_Y_OFFSET; + } +#endif set_current_dialogue_box_coords(6, gDialogueXPos1, gDialogueYPos1, gDialogueXPos2, gDialogueYPos2); set_current_dialogue_background_colour(6, 64, 96, 96, (gDialogueAlpha * 160) >> 8); set_current_text_background_colour(6, 0, 0, 0, 0); +#if REGION == REGION_JP + textY = ((((gDialogueYPos2 - gDialogueYPos1) - (gSubtitleLineCount * 16)) - (gSubtitleLineCount * 2)) + 2) >> 1; +#else textY = ((((gDialogueYPos2 - gDialogueYPos1) - (gSubtitleLineCount * 12)) - (gSubtitleLineCount * 2)) + 2) >> 1; +#endif +#if VERSION >= VERSION_79 + if (gSubtitleLineCount >= 2) { + gDialogueYPos1 += SUBTITLE_Y_OFFSET; + } +#endif for (i = 0; i < gSubtitleLineCount; i++) { textData = &gSubtitleProperties[0]; set_dialogue_font(6, (s32) textData[i][TEXT_FONT]); @@ -129,7 +150,7 @@ void render_subtitles(void) { render_dialogue_text(6, textX, textY, textData[i] + 8, 1, textFlags); set_current_text_colour(6, 0, 0, 0, 255, (gDialogueAlpha * 255) >> 8); render_dialogue_text(6, textX + 1, textY + 1, textData[i] + 8, 1, textFlags); - textY += 14; + textY += SUBTITLE_Y_OFFSET; } open_dialogue_box(6); } diff --git a/src/game_ui.c b/src/game_ui.c index 2b21f073..40759dd7 100644 --- a/src/game_ui.c +++ b/src/game_ui.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8009ECF0 */ - #include "game_ui.h" #include "common.h" #include "types.h" @@ -147,6 +144,33 @@ ByteColour gHudMinimapColours[40] = { u32 gHudColour = COLOUR_RGBA32(255, 255, 255, 254); +#if REGION == REGION_JP +// ゴースト - Ghost +char D_800E42C8_E4EC8[] = { 0x80, 0x80, 0x80, 0x3B, 0x80, 0x5C, 0x80, 0x63, 0x00, 0x00 }; + +// セーブ - Save +char D_800E42D4_E4ED4[] = { 0x80, 0x5D, 0x80, 0x3B, 0x80, 0x8D }; + +// ふかのう - Impossible +char D_800E42DC_E4EDC[] = { 0x80, 0xD5, 0x80, 0xBF, 0x80, 0xD2, 0x80, 0xBC, 0x00, 0x00 }; + +char D_800E42E8_E4EE8[] = { 0x00, 0x00, 0x00, 0x00 }; + +// パック - Pak +char D_800E42EC_E4EEC[] = { 0x80, 0x90, 0x80, 0x4A, 0x80, 0x57 }; + +// フル - Full +char D_800E42F4_E4EF4[] = { 0x80, 0x6B, 0x80, 0x78, 0x00, 0x00 }; + +char D_800E42FC_E4EFC[] = { 0x00, 0x00, 0x00, 0x00 }; + +// パック - Pak +char D_800E4300_E4F00[] = { 0x80, 0x90, 0x80, 0x4A, 0x80, 0x57 }; + +// ふりょう - Defective +char D_800E4308_E4F08[] = { 0x80, 0xD5, 0x80, 0xE1, 0x80, 0xB7, 0x80, 0xBC, 0x00, 0x00 }; +#endif + UNUSED f32 sRecordVel = 0.0f; // Set to whatever the highest velocity recorded is, but never actually used. // Unused? @@ -234,10 +258,7 @@ u8 gMinimapOpacityTarget; s32 gStopwatchErrorX; s32 gStopwatchErrorY; LevelHeader_70 *D_80127194; -UNUSED s32 D_80127198[6]; - -// Not sure why this ended up here, and not in rcp.c along with the rest of the task data. -u8 gGfxTaskYieldData[OS_YIELD_DATA_SIZE]; +UNUSED s32 D_80127198[4]; /******************************/ @@ -313,7 +334,7 @@ void init_hud(UNUSED s32 viewportCount) { } // hud_init_element -GLOBAL_ASM("asm/non_matchings/game_ui/func_8009F034.s") +#pragma GLOBAL_ASM("asm/nonmatchings/game_ui/func_8009F034.s") /** * Frees all elements in the hud, and the player hud, and flushes particles @@ -1041,7 +1062,7 @@ void func_800A1E48(Object *racerObj, s32 updateRate) { sprite_anim_off(FALSE); } #else -GLOBAL_ASM("asm/non_matchings/game_ui/func_800A1E48.s") +#pragma GLOBAL_ASM("asm/nonmatchings/game_ui/func_800A1E48.s") #endif /** @@ -1405,7 +1426,7 @@ void func_800A277C(s32 arg0, Object *playerRacerObj, s32 updateRate) { } } #else -GLOBAL_ASM("asm/non_matchings/game_ui/func_800A277C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/game_ui/func_800A277C.s") #endif void set_stopwatch_face(u8 arg0, u8 arg1, u8 faceID, u8 arg3, u8 arg4) { @@ -2164,28 +2185,45 @@ void render_wrong_way_text(Object_Racer *obj, s32 updateRate) { */ void hud_draw_finish_misc(Object_Racer *racer) { s32 racerCount; +#if VERSION == VERSION_80 + static char sDidNotFinish[] = "DID NOT FINISH"; +#define DID_NOT_FINISH &sDidNotFinish +#define FINISH_TEXT_OFFSET 40 +#define FINISH_TIME_OFFSET 0 +#elif VERSION == VERSION_79 + static char sDidNotFinish[] = { 0x80, 0xEB, 0x80, 0xB9, 0x80, 0xD1, 0x80, 0xB9, + 0x80, 0xF3, 0x80, 0xC5, 0x80, 0xC9, 0x80, 0x34 }; +#define DID_NOT_FINISH &sDidNotFinish +#define FINISH_TEXT_OFFSET 48 +#define FINISH_TIME_OFFSET 2 +#else +#define DID_NOT_FINISH "DID NOT FINISH" +#define FINISH_TEXT_OFFSET 40 +#define FINISH_TIME_OFFSET 0 +#endif func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, &gCurrentHud->challengeFinishPosition1); func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, &gCurrentHud->challengeFinishPosition2); - if (!(get_current_level_race_type() & RACETYPE_CHALLENGE_BATTLE) && (is_in_two_player_adventure() == 0)) { + if (!(get_current_level_race_type() & RACETYPE_CHALLENGE_BATTLE) && (!is_in_two_player_adventure())) { get_racer_objects(&racerCount); if (gNumActivePlayers >= 2 && (is_in_two_player_adventure() == FALSE || is_postrace_viewport_active() == FALSE)) { set_text_font(FONT_COLOURFUL); if (racerCount != racer->finishPosition) { set_text_colour(255, 255, 255, 0, 255); - draw_text(&gHUDCurrDisplayList, gCurrentHud->raceTimeNumber.x - 40.0f, gCurrentHud->raceTimeNumber.y, - "RACE", ALIGN_TOP_LEFT); - render_timer(gCurrentHud->raceTimeNumber.x, gCurrentHud->raceTimeNumber.y, + draw_text(&gHUDCurrDisplayList, gCurrentHud->raceTimeNumber.x - FINISH_TEXT_OFFSET, + gCurrentHud->raceTimeNumber.y, "RACE", ALIGN_TOP_LEFT); + render_timer(gCurrentHud->raceTimeNumber.x + FINISH_TIME_OFFSET, gCurrentHud->raceTimeNumber.y, gCurrentHud->raceTimeNumber.unk1A, gCurrentHud->raceTimeNumber.unk1B, gCurrentHud->raceTimeNumber.unk1C, 1); - draw_text(&gHUDCurrDisplayList, gCurrentHud->lapTimeText.x - 40.0f, gCurrentHud->lapTimeText.y, "LAP", - ALIGN_TOP_LEFT); - render_timer(gCurrentHud->lapTimeText.x, gCurrentHud->lapTimeText.y, gCurrentHud->lapTimeText.unk1A, - gCurrentHud->lapTimeText.unk1B, gCurrentHud->lapTimeText.unk1C, 1); + draw_text(&gHUDCurrDisplayList, gCurrentHud->lapTimeText.x - FINISH_TEXT_OFFSET, + gCurrentHud->lapTimeText.y, "LAP", ALIGN_TOP_LEFT); + render_timer(gCurrentHud->lapTimeText.x + FINISH_TIME_OFFSET, gCurrentHud->lapTimeText.y, + gCurrentHud->lapTimeText.unk1A, gCurrentHud->lapTimeText.unk1B, + gCurrentHud->lapTimeText.unk1C, 1); } else { - draw_text(&gHUDCurrDisplayList, gCurrentHud->raceTimeNumber.x - 35.0f, gCurrentHud->raceTimeNumber.y, - "DID NOT FINISH", ALIGN_TOP_LEFT); + draw_text(&gHUDCurrDisplayList, gCurrentHud->raceTimeNumber.x - 35, gCurrentHud->raceTimeNumber.y, + DID_NOT_FINISH, ALIGN_TOP_LEFT); } } } @@ -2444,7 +2482,7 @@ void func_800A6254(Object_Racer *racer, s32 updateRate) { } } #else -GLOBAL_ASM("asm/non_matchings/game_ui/func_800A6254.s") +#pragma GLOBAL_ASM("asm/nonmatchings/game_ui/func_800A6254.s") #endif /** @@ -2455,7 +2493,12 @@ void play_time_trial_end_message(s16 *playerID) { Settings *settings = get_settings(); if (playerID != NULL) { +#if VERSION >= VERSION_79 + if (settings->racers[*playerID].best_times & 0x80 && (get_current_level_race_type() == RACETYPE_DEFAULT)) { +#else if (settings->racers[*playerID].best_times & 0x80) { +#endif + sound_play(SOUND_VOICE_TT_RACE_RECORD, &gHUDVoiceSoundMask); } else { sound_play(SOUND_VOICE_TT_FINISH, &gHUDVoiceSoundMask); @@ -3387,7 +3430,7 @@ void minimap_marker_pos(f32 x, f32 z, f32 angleSin, f32 angleCos, f32 modelAspec } // hud_draw_element -GLOBAL_ASM("asm/non_matchings/game_ui/func_800AA600.s") +#pragma GLOBAL_ASM("asm/nonmatchings/game_ui/func_800AA600.s") /** * Renders a 3D model onscreen. diff --git a/src/gzip.c b/src/gzip.c index 1b3effbe..d82ab158 100644 --- a/src/gzip.c +++ b/src/gzip.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C6170 */ - #include "gzip.h" #include "asset_loading.h" #include "PR/os_libc.h" diff --git a/src/collision.c b/src/hasm/collision.c similarity index 93% rename from src/collision.c rename to src/hasm/collision.c index 05457f70..8ff2d98b 100644 --- a/src/collision.c +++ b/src/hasm/collision.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80031130 */ - #include "collision.h" #include "types.h" diff --git a/src/hasm/collision.s b/src/hasm/collision.s new file mode 100644 index 00000000..8726a11c --- /dev/null +++ b/src/hasm/collision.s @@ -0,0 +1,753 @@ +.include "macro.inc" + +/* assembler directives */ +.set noat /* allow manual use of $at */ +.set noreorder /* don't insert nops after branches */ +.set gp=64 /* allow use of 64-bit general purpose registers */ + +.section .rodata + +glabel D_800E5F60 +.float -0.1 +glabel D_800E5F64 +.float -0.1 +glabel D_800E5F68 +.float 0.707 +glabel D_800E5F6C +.float 0.45 +glabel D_800E5F70 +.float -0.1 + +.section .text, "ax" + +/* Generated by spimdisasm 1.30.2 */ + +leaf func_80031130 + /* 31D30 80031130 27BDFF90 */ addiu $sp, $sp, -0x70 + /* 31D34 80031134 3C080001 */ lui $t0, (0x186A0 >> 16) + /* 31D38 80031138 3C09FFFE */ lui $t1, (0xFFFE7960 >> 16) + /* 31D3C 8003113C AFB6002C */ sw $s6, 0x2C($sp) + /* 31D40 80031140 AFB50028 */ sw $s5, 0x28($sp) + /* 31D44 80031144 AFB40024 */ sw $s4, 0x24($sp) + /* 31D48 80031148 AFB30020 */ sw $s3, 0x20($sp) + /* 31D4C 8003114C AFB2001C */ sw $s2, 0x1C($sp) + /* 31D50 80031150 350886A0 */ ori $t0, $t0, (0x186A0 & 0xFFFF) + /* 31D54 80031154 35297960 */ ori $t1, $t1, (0xFFFE7960 & 0xFFFF) + /* 31D58 80031158 AFBF0030 */ sw $ra, 0x30($sp) + /* 31D5C 8003115C AFB10018 */ sw $s1, 0x18($sp) + /* 31D60 80031160 AFB00014 */ sw $s0, 0x14($sp) + /* 31D64 80031164 0100A825 */ or $s5, $t0, $zero + /* 31D68 80031168 0120A025 */ or $s4, $t1, $zero + /* 31D6C 8003116C 01009825 */ or $s3, $t0, $zero + /* 31D70 80031170 01209025 */ or $s2, $t1, $zero + /* 31D74 80031174 10800035 */ beqz $a0, .L8003124C + /* 31D78 80031178 00E0B025 */ or $s6, $a3, $zero + /* 31D7C 8003117C 000440C0 */ sll $t0, $a0, 3 + /* 31D80 80031180 00044880 */ sll $t1, $a0, 2 + /* 31D84 80031184 01092020 */ add $a0, $t0, $t1 /* handwritten instruction */ + /* 31D88 80031188 00852020 */ add $a0, $a0, $a1 /* handwritten instruction */ + .L8003118C: + /* 31D8C 8003118C C4A00000 */ lwc1 $f0, 0x0($a1) + /* 31D90 80031190 C4A20008 */ lwc1 $f2, 0x8($a1) + /* 31D94 80031194 C4C40000 */ lwc1 $f4, 0x0($a2) + /* 31D98 80031198 4600000D */ trunc.w.s $f0, $f0 + /* 31D9C 8003119C C4C60008 */ lwc1 $f6, 0x8($a2) + /* 31DA0 800311A0 4600108D */ trunc.w.s $f2, $f2 + /* 31DA4 800311A4 44080000 */ mfc1 $t0, $f0 + /* 31DA8 800311A8 4600210D */ trunc.w.s $f4, $f4 + /* 31DAC 800311AC 44091000 */ mfc1 $t1, $f2 + /* 31DB0 800311B0 0288082A */ slt $at, $s4, $t0 + /* 31DB4 800311B4 4600318D */ trunc.w.s $f6, $f6 + /* 31DB8 800311B8 440A2000 */ mfc1 $t2, $f4 + /* 31DBC 800311BC 440B3000 */ mfc1 $t3, $f6 + /* 31DC0 800311C0 50200003 */ beql $at, $zero, .L800311D0 + /* 31DC4 800311C4 0115082A */ slt $at, $t0, $s5 + /* 31DC8 800311C8 0100A025 */ or $s4, $t0, $zero + /* 31DCC 800311CC 0115082A */ slt $at, $t0, $s5 + .L800311D0: + /* 31DD0 800311D0 50200003 */ beql $at, $zero, .L800311E0 + /* 31DD4 800311D4 0249082A */ slt $at, $s2, $t1 + /* 31DD8 800311D8 0100A825 */ or $s5, $t0, $zero + /* 31DDC 800311DC 0249082A */ slt $at, $s2, $t1 + .L800311E0: + /* 31DE0 800311E0 50200003 */ beql $at, $zero, .L800311F0 + /* 31DE4 800311E4 0133082A */ slt $at, $t1, $s3 + /* 31DE8 800311E8 01209025 */ or $s2, $t1, $zero + /* 31DEC 800311EC 0133082A */ slt $at, $t1, $s3 + .L800311F0: + /* 31DF0 800311F0 50200003 */ beql $at, $zero, .L80031200 + /* 31DF4 800311F4 028A082A */ slt $at, $s4, $t2 + /* 31DF8 800311F8 01209825 */ or $s3, $t1, $zero + /* 31DFC 800311FC 028A082A */ slt $at, $s4, $t2 + .L80031200: + /* 31E00 80031200 50200003 */ beql $at, $zero, .L80031210 + /* 31E04 80031204 0155082A */ slt $at, $t2, $s5 + /* 31E08 80031208 0140A025 */ or $s4, $t2, $zero + /* 31E0C 8003120C 0155082A */ slt $at, $t2, $s5 + .L80031210: + /* 31E10 80031210 50200003 */ beql $at, $zero, .L80031220 + /* 31E14 80031214 024B082A */ slt $at, $s2, $t3 + /* 31E18 80031218 0140A825 */ or $s5, $t2, $zero + /* 31E1C 8003121C 024B082A */ slt $at, $s2, $t3 + .L80031220: + /* 31E20 80031220 50200003 */ beql $at, $zero, .L80031230 + /* 31E24 80031224 0173082A */ slt $at, $t3, $s3 + /* 31E28 80031228 01609025 */ or $s2, $t3, $zero + /* 31E2C 8003122C 0173082A */ slt $at, $t3, $s3 + .L80031230: + /* 31E30 80031230 50200003 */ beql $at, $zero, .L80031240 + /* 31E34 80031234 24A5000C */ addiu $a1, $a1, 0xC + /* 31E38 80031238 01609825 */ or $s3, $t3, $zero + /* 31E3C 8003123C 24A5000C */ addiu $a1, $a1, 0xC + .L80031240: + /* 31E40 80031240 00A4082A */ slt $at, $a1, $a0 + /* 31E44 80031244 1420FFD1 */ bnez $at, .L8003118C + /* 31E48 80031248 24C6000C */ addiu $a2, $a2, 0xC + .L8003124C: + /* 31E4C 8003124C 26B5FFEC */ addiu $s5, $s5, -0x14 + /* 31E50 80031250 26940014 */ addiu $s4, $s4, 0x14 + /* 31E54 80031254 0295082A */ slt $at, $s4, $s5 + /* 31E58 80031258 2673FFEC */ addiu $s3, $s3, -0x14 + /* 31E5C 8003125C 10200004 */ beqz $at, .L80031270 + /* 31E60 80031260 26520014 */ addiu $s2, $s2, 0x14 + /* 31E64 80031264 02A04025 */ or $t0, $s5, $zero + /* 31E68 80031268 0280A825 */ or $s5, $s4, $zero + /* 31E6C 8003126C 0100A025 */ or $s4, $t0, $zero + .L80031270: + /* 31E70 80031270 0253082A */ slt $at, $s2, $s3 + /* 31E74 80031274 10200004 */ beqz $at, .L80031288 + /* 31E78 80031278 00000000 */ nop + /* 31E7C 8003127C 02604025 */ or $t0, $s3, $zero + /* 31E80 80031280 02409825 */ or $s3, $s2, $zero + /* 31E84 80031284 01009025 */ or $s2, $t0, $zero + .L80031288: + /* 31E88 80031288 3C08800E */ lui $t0, %hi(gCurrentLevelModel) + /* 31E8C 8003128C 8D08C918 */ lw $t0, %lo(gCurrentLevelModel)($t0) + /* 31E90 80031290 23B10034 */ addi $s1, $sp, 0x34 /* handwritten instruction */ + /* 31E94 80031294 23B00048 */ addi $s0, $sp, 0x48 /* handwritten instruction */ + /* 31E98 80031298 850F001A */ lh $t7, 0x1A($t0) + /* 31E9C 8003129C 0000C025 */ or $t8, $zero, $zero + /* 31EA0 800312A0 8D040008 */ lw $a0, 0x8($t0) + /* 31EA4 800312A4 11E00023 */ beqz $t7, .L80031334 + /* 31EA8 800312A8 8D0E0004 */ lw $t6, 0x4($t0) + .L800312AC: + /* 31EAC 800312AC 84820006 */ lh $v0, 0x6($a0) + /* 31EB0 800312B0 84830000 */ lh $v1, 0x0($a0) + /* 31EB4 800312B4 24420005 */ addiu $v0, $v0, 0x5 + /* 31EB8 800312B8 0055082A */ slt $at, $v0, $s5 + /* 31EBC 800312BC 14200019 */ bnez $at, .L80031324 + /* 31EC0 800312C0 2463FFFB */ addiu $v1, $v1, -0x5 + /* 31EC4 800312C4 0283082A */ slt $at, $s4, $v1 + /* 31EC8 800312C8 54200017 */ bnel $at, $zero, .L80031328 + /* 31ECC 800312CC 25EFFFFF */ addiu $t7, $t7, -0x1 + /* 31ED0 800312D0 8488000A */ lh $t0, 0xA($a0) + /* 31ED4 800312D4 84890004 */ lh $t1, 0x4($a0) + /* 31ED8 800312D8 25080005 */ addiu $t0, $t0, 0x5 + /* 31EDC 800312DC 0113082A */ slt $at, $t0, $s3 + /* 31EE0 800312E0 14200010 */ bnez $at, .L80031324 + /* 31EE4 800312E4 2529FFFB */ addiu $t1, $t1, -0x5 + /* 31EE8 800312E8 0249082A */ slt $at, $s2, $t1 + /* 31EEC 800312EC 5420000E */ bnel $at, $zero, .L80031328 + /* 31EF0 800312F0 25EFFFFF */ addiu $t7, $t7, -0x1 + /* 31EF4 800312F4 02A02825 */ or $a1, $s5, $zero + /* 31EF8 800312F8 02603025 */ or $a2, $s3, $zero + /* 31EFC 800312FC 02803825 */ or $a3, $s4, $zero + /* 31F00 80031300 0C00C537 */ jal func_800314DC + /* 31F04 80031304 AFB20010 */ sw $s2, 0x10($sp) + /* 31F08 80031308 A6220000 */ sh $v0, 0x0($s1) + /* 31F0C 8003130C 27180001 */ addiu $t8, $t8, 0x1 + /* 31F10 80031310 2401000A */ addiu $at, $zero, 0xA + /* 31F14 80031314 AE0E0000 */ sw $t6, 0x0($s0) + /* 31F18 80031318 26310002 */ addiu $s1, $s1, 0x2 + /* 31F1C 8003131C 13010005 */ beq $t8, $at, .L80031334 + /* 31F20 80031320 26100004 */ addiu $s0, $s0, 0x4 + .L80031324: + /* 31F24 80031324 25EFFFFF */ addiu $t7, $t7, -0x1 + .L80031328: + /* 31F28 80031328 2484000C */ addiu $a0, $a0, 0xC + /* 31F2C 8003132C 15E0FFDF */ bnez $t7, .L800312AC + /* 31F30 80031330 25CE0044 */ addiu $t6, $t6, 0x44 + .L80031334: + /* 31F34 80031334 1300005C */ beqz $t8, .L800314A8 + /* 31F38 80031338 00009825 */ or $s3, $zero, $zero + /* 31F3C 8003133C 3C04800E */ lui $a0, %hi(gCurrentLevelModel) + /* 31F40 80031340 8C84C918 */ lw $a0, %lo(gCurrentLevelModel)($a0) + /* 31F44 80031344 3C128012 */ lui $s2, %hi(D_8011D370) + /* 31F48 80031348 3C198012 */ lui $t9, %hi(D_8011D374) + /* 31F4C 8003134C 23B10034 */ addi $s1, $sp, 0x34 /* handwritten instruction */ + /* 31F50 80031350 0018C040 */ sll $t8, $t8, 1 + /* 31F54 80031354 8E52D370 */ lw $s2, %lo(D_8011D370)($s2) + /* 31F58 80031358 8F39D374 */ lw $t9, %lo(D_8011D374)($t9) + /* 31F5C 8003135C 23B00048 */ addi $s0, $sp, 0x48 /* handwritten instruction */ + /* 31F60 80031360 0238C020 */ add $t8, $s1, $t8 /* handwritten instruction */ + /* 31F64 80031364 8C840000 */ lw $a0, 0x0($a0) + .L80031368: + /* 31F68 80031368 8E0F0000 */ lw $t7, 0x0($s0) + /* 31F6C 8003136C 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) + /* 31F70 80031370 3421FFFF */ ori $at, $at, (0x7FFFFFFF & 0xFFFF) + /* 31F74 80031374 862E0000 */ lh $t6, 0x0($s1) + /* 31F78 80031378 01E11024 */ and $v0, $t7, $at + /* 31F7C 8003137C AE420000 */ sw $v0, 0x0($s2) + /* 31F80 80031380 85E80020 */ lh $t0, 0x20($t7) + /* 31F84 80031384 8DED000C */ lw $t5, 0xC($t7) + /* 31F88 80031388 26730001 */ addiu $s3, $s3, 0x1 + /* 31F8C 8003138C 000810C0 */ sll $v0, $t0, 3 + /* 31F90 80031390 00081880 */ sll $v1, $t0, 2 + /* 31F94 80031394 00435820 */ add $t3, $v0, $v1 /* handwritten instruction */ + /* 31F98 80031398 26520004 */ addiu $s2, $s2, 0x4 + /* 31F9C 8003139C 27390001 */ addiu $t9, $t9, 0x1 + /* 31FA0 800313A0 016D5820 */ add $t3, $t3, $t5 /* handwritten instruction */ + /* 31FA4 800313A4 25AC000C */ addiu $t4, $t5, 0xC + .L800313A8: + /* 31FA8 800313A8 8DA80008 */ lw $t0, 0x8($t5) + /* 31FAC 800313AC 31020200 */ andi $v0, $t0, 0x200 + /* 31FB0 800313B0 14400035 */ bnez $v0, .L80031488 + /* 31FB4 800313B4 2401FFFF */ addiu $at, $zero, -0x1 + /* 31FB8 800313B8 56C10005 */ bnel $s6, $at, .L800313D0 + /* 31FBC 800313BC 91A30000 */ lbu $v1, 0x0($t5) + /* 31FC0 800313C0 31020100 */ andi $v0, $t0, 0x100 + /* 31FC4 800313C4 54400031 */ bnel $v0, $zero, .L8003148C + /* 31FC8 800313C8 25AD000C */ addiu $t5, $t5, 0xC + /* 31FCC 800313CC 91A30000 */ lbu $v1, 0x0($t5) + .L800313D0: + /* 31FD0 800313D0 240100FF */ addiu $at, $zero, 0xFF + /* 31FD4 800313D4 00005025 */ or $t2, $zero, $zero + /* 31FD8 800313D8 50610010 */ beql $v1, $at, .L8003141C + /* 31FDC 800313DC 85A80004 */ lh $t0, 0x4($t5) + /* 31FE0 800313E0 000318C0 */ sll $v1, $v1, 3 + /* 31FE4 800313E4 00641820 */ add $v1, $v1, $a0 /* handwritten instruction */ + /* 31FE8 800313E8 806A0007 */ lb $t2, 0x7($v1) + /* 31FEC 800313EC 2401000B */ addiu $at, $zero, 0xB + /* 31FF0 800313F0 11410025 */ beq $t2, $at, .L80031488 + /* 31FF4 800313F4 24010002 */ addiu $at, $zero, 0x2 + /* 31FF8 800313F8 16C10003 */ bne $s6, $at, .L80031408 + /* 31FFC 800313FC 24010011 */ addiu $at, $zero, 0x11 + /* 32000 80031400 51410022 */ beql $t2, $at, .L8003148C + /* 32004 80031404 25AD000C */ addiu $t5, $t5, 0xC + .L80031408: + /* 32008 80031408 12C00003 */ beqz $s6, .L80031418 + /* 3200C 8003140C 24010012 */ addiu $at, $zero, 0x12 + /* 32010 80031410 5141001E */ beql $t2, $at, .L8003148C + /* 32014 80031414 25AD000C */ addiu $t5, $t5, 0xC + .L80031418: + /* 32018 80031418 85A80004 */ lh $t0, 0x4($t5) + .L8003141C: + /* 3201C 8003141C 85890004 */ lh $t1, 0x4($t4) + /* 32020 80031420 8DE60010 */ lw $a2, 0x10($t7) + /* 32024 80031424 8DE70014 */ lw $a3, 0x14($t7) + /* 32028 80031428 00094840 */ sll $t1, $t1, 1 + /* 3202C 8003142C 00081040 */ sll $v0, $t0, 1 + /* 32030 80031430 000818C0 */ sll $v1, $t0, 3 + /* 32034 80031434 00C92820 */ add $a1, $a2, $t1 /* handwritten instruction */ + /* 32038 80031438 00C23020 */ add $a2, $a2, $v0 /* handwritten instruction */ + /* 3203C 8003143C 00E33820 */ add $a3, $a3, $v1 /* handwritten instruction */ + .L80031440: + /* 32040 80031440 84C80000 */ lh $t0, 0x0($a2) + /* 32044 80031444 010E4024 */ and $t0, $t0, $t6 + /* 32048 80031448 310200FF */ andi $v0, $t0, 0xFF + /* 3204C 8003144C 1040000A */ beqz $v0, .L80031478 + /* 32050 80031450 3103FF00 */ andi $v1, $t0, 0xFF00 + /* 32054 80031454 50600009 */ beql $v1, $zero, .L8003147C + /* 32058 80031458 24C60002 */ addiu $a2, $a2, 0x2 + /* 3205C 8003145C AE470000 */ sw $a3, 0x0($s2) + /* 32060 80031460 26730001 */ addiu $s3, $s3, 0x1 + /* 32064 80031464 240101F4 */ addiu $at, $zero, 0x1F4 + /* 32068 80031468 A32A0000 */ sb $t2, 0x0($t9) + /* 3206C 8003146C 26520004 */ addiu $s2, $s2, 0x4 + /* 32070 80031470 1261000D */ beq $s3, $at, .L800314A8 + /* 32074 80031474 27390001 */ addiu $t9, $t9, 0x1 + .L80031478: + /* 32078 80031478 24C60002 */ addiu $a2, $a2, 0x2 + .L8003147C: + /* 3207C 8003147C 00C5082A */ slt $at, $a2, $a1 + /* 32080 80031480 1420FFEF */ bnez $at, .L80031440 + /* 32084 80031484 24E70008 */ addiu $a3, $a3, 0x8 + .L80031488: + /* 32088 80031488 25AD000C */ addiu $t5, $t5, 0xC + .L8003148C: + /* 3208C 8003148C 01AB082A */ slt $at, $t5, $t3 + /* 32090 80031490 1420FFC5 */ bnez $at, .L800313A8 + /* 32094 80031494 258C000C */ addiu $t4, $t4, 0xC + /* 32098 80031498 26310002 */ addiu $s1, $s1, 0x2 + /* 3209C 8003149C 0238082A */ slt $at, $s1, $t8 + /* 320A0 800314A0 1420FFB1 */ bnez $at, .L80031368 + /* 320A4 800314A4 26100004 */ addiu $s0, $s0, 0x4 + .L800314A8: + /* 320A8 800314A8 8FBF0030 */ lw $ra, 0x30($sp) + /* 320AC 800314AC 3C018012 */ lui $at, %hi(D_8011D378) + /* 320B0 800314B0 AC33D378 */ sw $s3, %lo(D_8011D378)($at) + /* 320B4 800314B4 8FB6002C */ lw $s6, 0x2C($sp) + /* 320B8 800314B8 8FB50028 */ lw $s5, 0x28($sp) + /* 320BC 800314BC 8FB40024 */ lw $s4, 0x24($sp) + /* 320C0 800314C0 8FB30020 */ lw $s3, 0x20($sp) + /* 320C4 800314C4 8FB2001C */ lw $s2, 0x1C($sp) + /* 320C8 800314C8 8FB10018 */ lw $s1, 0x18($sp) + /* 320CC 800314CC 8FB00014 */ lw $s0, 0x14($sp) + /* 320D0 800314D0 00001025 */ or $v0, $zero, $zero + /* 320D4 800314D4 03E00008 */ jr $ra + /* 320D8 800314D8 27BD0070 */ addiu $sp, $sp, 0x70 +.end func_80031130 + +leaf func_800314DC + /* 320DC 800314DC 10800046 */ beqz $a0, .L800315F8 + /* 320E0 800314E0 00001025 */ or $v0, $zero, $zero + /* 320E4 800314E4 84880000 */ lh $t0, 0x0($a0) + /* 320E8 800314E8 8FAD0010 */ lw $t5, 0x10($sp) + /* 320EC 800314EC 84890004 */ lh $t1, 0x4($a0) + /* 320F0 800314F0 00E8082A */ slt $at, $a3, $t0 + /* 320F4 800314F4 848A0006 */ lh $t2, 0x6($a0) + /* 320F8 800314F8 10200002 */ beqz $at, .L80031504 + /* 320FC 800314FC 848B000A */ lh $t3, 0xA($a0) + /* 32100 80031500 01003825 */ or $a3, $t0, $zero + .L80031504: + /* 32104 80031504 00A8082A */ slt $at, $a1, $t0 + /* 32108 80031508 50200003 */ beql $at, $zero, .L80031518 + /* 3210C 8003150C 01A9082A */ slt $at, $t5, $t1 + /* 32110 80031510 01002825 */ or $a1, $t0, $zero + /* 32114 80031514 01A9082A */ slt $at, $t5, $t1 + .L80031518: + /* 32118 80031518 50200003 */ beql $at, $zero, .L80031528 + /* 3211C 8003151C 00C9082A */ slt $at, $a2, $t1 + /* 32120 80031520 01206825 */ or $t5, $t1, $zero + /* 32124 80031524 00C9082A */ slt $at, $a2, $t1 + .L80031528: + /* 32128 80031528 50200003 */ beql $at, $zero, .L80031538 + /* 3212C 8003152C 0147082A */ slt $at, $t2, $a3 + /* 32130 80031530 01203025 */ or $a2, $t1, $zero + /* 32134 80031534 0147082A */ slt $at, $t2, $a3 + .L80031538: + /* 32138 80031538 50200003 */ beql $at, $zero, .L80031548 + /* 3213C 8003153C 0145082A */ slt $at, $t2, $a1 + /* 32140 80031540 01403825 */ or $a3, $t2, $zero + /* 32144 80031544 0145082A */ slt $at, $t2, $a1 + .L80031548: + /* 32148 80031548 50200003 */ beql $at, $zero, .L80031558 + /* 3214C 8003154C 016D082A */ slt $at, $t3, $t5 + /* 32150 80031550 01402825 */ or $a1, $t2, $zero + /* 32154 80031554 016D082A */ slt $at, $t3, $t5 + .L80031558: + /* 32158 80031558 50200003 */ beql $at, $zero, .L80031568 + /* 3215C 8003155C 0166082A */ slt $at, $t3, $a2 + /* 32160 80031560 01606825 */ or $t5, $t3, $zero + /* 32164 80031564 0166082A */ slt $at, $t3, $a2 + .L80031568: + /* 32168 80031568 50200003 */ beql $at, $zero, .L80031578 + /* 3216C 8003156C 01485022 */ sub $t2, $t2, $t0 /* handwritten instruction */ + /* 32170 80031570 01603025 */ or $a2, $t3, $zero + /* 32174 80031574 01485022 */ sub $t2, $t2, $t0 /* handwritten instruction */ + .L80031578: + /* 32178 80031578 000A50C3 */ sra $t2, $t2, 3 + /* 3217C 8003157C 254A0001 */ addiu $t2, $t2, 0x1 + /* 32180 80031580 24030001 */ addiu $v1, $zero, 0x1 + /* 32184 80031584 01486020 */ add $t4, $t2, $t0 /* handwritten instruction */ + .L80031588: + /* 32188 80031588 0185082A */ slt $at, $t4, $a1 + /* 3218C 8003158C 14200004 */ bnez $at, .L800315A0 + /* 32190 80031590 00E8082A */ slt $at, $a3, $t0 + /* 32194 80031594 54200003 */ bnel $at, $zero, .L800315A4 + /* 32198 80031598 00031840 */ sll $v1, $v1, 1 + /* 3219C 8003159C 00431025 */ or $v0, $v0, $v1 + .L800315A0: + /* 321A0 800315A0 00031840 */ sll $v1, $v1, 1 + .L800315A4: + /* 321A4 800315A4 28610100 */ slti $at, $v1, 0x100 + /* 321A8 800315A8 018A6020 */ add $t4, $t4, $t2 /* handwritten instruction */ + /* 321AC 800315AC 1420FFF6 */ bnez $at, .L80031588 + /* 321B0 800315B0 010A4020 */ add $t0, $t0, $t2 /* handwritten instruction */ + /* 321B4 800315B4 01695022 */ sub $t2, $t3, $t1 /* handwritten instruction */ + /* 321B8 800315B8 000A50C3 */ sra $t2, $t2, 3 + /* 321BC 800315BC 254A0001 */ addiu $t2, $t2, 0x1 + /* 321C0 800315C0 01496020 */ add $t4, $t2, $t1 /* handwritten instruction */ + /* 321C4 800315C4 01204025 */ or $t0, $t1, $zero + .L800315C8: + /* 321C8 800315C8 0186082A */ slt $at, $t4, $a2 + /* 321CC 800315CC 14200004 */ bnez $at, .L800315E0 + /* 321D0 800315D0 01A8082A */ slt $at, $t5, $t0 + /* 321D4 800315D4 54200003 */ bnel $at, $zero, .L800315E4 + /* 321D8 800315D8 00031840 */ sll $v1, $v1, 1 + /* 321DC 800315DC 00431025 */ or $v0, $v0, $v1 + .L800315E0: + /* 321E0 800315E0 00031840 */ sll $v1, $v1, 1 + .L800315E4: + /* 321E4 800315E4 3C010001 */ lui $at, (0x10000 >> 16) + /* 321E8 800315E8 0061082A */ slt $at, $v1, $at + /* 321EC 800315EC 018A6020 */ add $t4, $t4, $t2 /* handwritten instruction */ + /* 321F0 800315F0 1420FFF5 */ bnez $at, .L800315C8 + /* 321F4 800315F4 010A4020 */ add $t0, $t0, $t2 /* handwritten instruction */ + .L800315F8: + /* 321F8 800315F8 03E00008 */ jr $ra + /* 321FC 800315FC 00000000 */ nop +.end func_800314DC + +leaf func_80031600 + /* 32200 80031600 24080001 */ addiu $t0, $zero, 0x1 + /* 32204 80031604 A3A80001 */ sb $t0, 0x1($sp) + /* 32208 80031608 3C088012 */ lui $t0, %hi(D_8011D378) + /* 3220C 8003160C 8D08D378 */ lw $t0, %lo(D_8011D378)($t0) + /* 32210 80031610 3C018012 */ lui $at, %hi(D_8011B0F0) + /* 32214 80031614 A3A00000 */ sb $zero, 0x0($sp) + /* 32218 80031618 1100014C */ beqz $t0, .L80031B4C + /* 3221C 8003161C AC20B0F0 */ sw $zero, %lo(D_8011B0F0)($at) + .L80031620: + /* 32220 80031620 00007025 */ or $t6, $zero, $zero + .L80031624: + /* 32224 80031624 3C0D8012 */ lui $t5, %hi(D_8011D374) + /* 32228 80031628 3C098012 */ lui $t1, %hi(D_8011D370) + /* 3222C 8003162C 3C088012 */ lui $t0, %hi(D_8011D378) + /* 32230 80031630 00007825 */ or $t7, $zero, $zero + /* 32234 80031634 8DADD374 */ lw $t5, %lo(D_8011D374)($t5) + /* 32238 80031638 8D29D370 */ lw $t1, %lo(D_8011D370)($t1) + /* 3223C 8003163C 8D08D378 */ lw $t0, %lo(D_8011D378)($t0) + .L80031640: + /* 32240 80031640 8D2A0000 */ lw $t2, 0x0($t1) + /* 32244 80031644 59400006 */ blezl $t2, .L80031660 + /* 32248 80031648 95420000 */ lhu $v0, 0x0($t2) + /* 3224C 8003164C 3C0B8000 */ lui $t3, 0x8000 + /* 32250 80031650 016A5825 */ or $t3, $t3, $t2 + /* 32254 80031654 0800C651 */ j .L80031944 + /* 32258 80031658 8D6B0018 */ lw $t3, 0x18($t3) + /* 3225C 8003165C 95420000 */ lhu $v0, 0x0($t2) + .L80031660: + /* 32260 80031660 C4A80000 */ lwc1 $f8, 0x0($a1) + /* 32264 80031664 C4AA0004 */ lwc1 $f10, 0x4($a1) + /* 32268 80031668 00021100 */ sll $v0, $v0, 4 + /* 3226C 8003166C 004B1021 */ addu $v0, $v0, $t3 + /* 32270 80031670 C4400000 */ lwc1 $f0, 0($v0) + /* 32274 80031674 C4420004 */ lwc1 $f2, 4($v0) + /* 32278 80031678 C4440008 */ lwc1 $f4, 8($v0) + /* 3227C 8003167C 46004202 */ mul.s $f8, $f8, $f0 + /* 32280 80031680 C4B00008 */ lwc1 $f16, 0x8($a1) + /* 32284 80031684 C446000C */ lwc1 $f6, 0xC($v0) + /* 32288 80031688 46025282 */ mul.s $f10, $f10, $f2 + /* 3228C 8003168C 3C01800E */ lui $at, %hi(D_800E5F60) + /* 32290 80031690 46048402 */ mul.s $f16, $f16, $f4 + /* 32294 80031694 460A4200 */ add.s $f8, $f8, $f10 + /* 32298 80031698 46104200 */ add.s $f8, $f8, $f16 + /* 3229C 8003169C 46064480 */ add.s $f18, $f8, $f6 + /* 322A0 800316A0 C4C80000 */ lwc1 $f8, 0x0($a2) + /* 322A4 800316A4 46089481 */ sub.s $f18, $f18, $f8 + /* 322A8 800316A8 C4285F60 */ lwc1 $f8, %lo(D_800E5F60)($at) + /* 322AC 800316AC 46089034 */ c.olt.s $f18, $f8 + /* 322B0 800316B0 450200A5 */ bc1fl .L80031948 + /* 322B4 800316B4 2508FFFF */ addiu $t0, $t0, -0x1 + /* 322B8 800316B8 C4880000 */ lwc1 $f8, 0x0($a0) + /* 322BC 800316BC C48A0004 */ lwc1 $f10, 0x4($a0) + /* 322C0 800316C0 C4900008 */ lwc1 $f16, 0x8($a0) + /* 322C4 800316C4 46004202 */ mul.s $f8, $f8, $f0 + /* 322C8 800316C8 3C01800E */ lui $at, %hi(D_800E5F64) + /* 322CC 800316CC 46025282 */ mul.s $f10, $f10, $f2 + /* 322D0 800316D0 460A4200 */ add.s $f8, $f8, $f10 + /* 322D4 800316D4 46048402 */ mul.s $f16, $f16, $f4 + /* 322D8 800316D8 46104200 */ add.s $f8, $f8, $f16 + /* 322DC 800316DC 46064400 */ add.s $f16, $f8, $f6 + /* 322E0 800316E0 C4C80000 */ lwc1 $f8, 0x0($a2) + /* 322E4 800316E4 46088401 */ sub.s $f16, $f16, $f8 + /* 322E8 800316E8 C4285F64 */ lwc1 $f8, %lo(D_800E5F64)($at) + /* 322EC 800316EC 46088034 */ c.olt.s $f16, $f8 + /* 322F0 800316F0 45030095 */ bc1tl .L80031948 + /* 322F4 800316F4 2508FFFF */ addiu $t0, $t0, -0x1 + /* 322F8 800316F8 C4880000 */ lwc1 $f8, 0x0($a0) + /* 322FC 800316FC C4AA0000 */ lwc1 $f10, 0x0($a1) + /* 32300 80031700 46085001 */ sub.s $f0, $f10, $f8 + /* 32304 80031704 C4880004 */ lwc1 $f8, 0x4($a0) + /* 32308 80031708 C4AA0004 */ lwc1 $f10, 0x4($a1) + /* 3230C 8003170C 46085081 */ sub.s $f2, $f10, $f8 + /* 32310 80031710 C4880008 */ lwc1 $f8, 0x8($a0) + /* 32314 80031714 C4AA0008 */ lwc1 $f10, 0x8($a1) + /* 32318 80031718 46085101 */ sub.s $f4, $f10, $f8 + /* 3231C 8003171C 44805000 */ mtc1 $zero, $f10 + /* 32320 80031720 46128201 */ sub.s $f8, $f16, $f18 + /* 32324 80031724 460A4033 */ c.ueq.s $f8, $f10 + /* 32328 80031728 45010002 */ bc1t .L80031734 + /* 3232C 8003172C 00000000 */ nop + /* 32330 80031730 46088283 */ div.s $f10, $f16, $f8 + .L80031734: + /* 32334 80031734 460A0002 */ mul.s $f0, $f0, $f10 + /* 32338 80031738 C4860000 */ lwc1 $f6, 0x0($a0) + /* 3233C 8003173C 3C014080 */ lui $at, (0x40800000 >> 16) + /* 32340 80031740 460A1082 */ mul.s $f2, $f2, $f10 + /* 32344 80031744 240C0003 */ addiu $t4, $zero, 0x3 + /* 32348 80031748 460A2102 */ mul.s $f4, $f4, $f10 + /* 3234C 8003174C 44815000 */ mtc1 $at, $f10 + /* 32350 80031750 46003000 */ add.s $f0, $f6, $f0 + /* 32354 80031754 C4860004 */ lwc1 $f6, 0x4($a0) + /* 32358 80031758 46023080 */ add.s $f2, $f6, $f2 + /* 3235C 8003175C C4860008 */ lwc1 $f6, 0x8($a0) + /* 32360 80031760 46043100 */ add.s $f4, $f6, $f4 + .L80031764: + /* 32364 80031764 95430002 */ lhu $v1, 0x2($t2) + /* 32368 80031768 0000C025 */ or $t8, $zero, $zero + /* 3236C 8003176C 30798000 */ andi $t9, $v1, 0x8000 + /* 32370 80031770 53200004 */ beql $t9, $zero, .L80031784 + /* 32374 80031774 00031900 */ sll $v1, $v1, 4 + /* 32378 80031778 30637FFF */ andi $v1, $v1, 0x7FFF + /* 3237C 8003177C 24180001 */ addiu $t8, $zero, 0x1 + /* 32380 80031780 00031900 */ sll $v1, $v1, 4 + .L80031784: + /* 32384 80031784 006B1821 */ addu $v1, $v1, $t3 + /* 32388 80031788 C4660000 */ lwc1 $f6, 0($v1) + /* 3238C 8003178C C4680004 */ lwc1 $f8, 4($v1) + /* 32390 80031790 46060182 */ mul.s $f6, $f0, $f6 + /* 32394 80031794 00000000 */ nop + /* 32398 80031798 46081202 */ mul.s $f8, $f2, $f8 + /* 3239C 8003179C 46083180 */ add.s $f6, $f6, $f8 + /* 323A0 800317A0 C4680008 */ lwc1 $f8, 0x8($v1) + /* 323A4 800317A4 46082202 */ mul.s $f8, $f4, $f8 + /* 323A8 800317A8 46083180 */ add.s $f6, $f6, $f8 + /* 323AC 800317AC C468000C */ lwc1 $f8, 0xC($v1) + /* 323B0 800317B0 13000002 */ beqz $t8, .L800317BC + /* 323B4 800317B4 46083180 */ add.s $f6, $f6, $f8 + /* 323B8 800317B8 46003187 */ neg.s $f6, $f6 + .L800317BC: + /* 323BC 800317BC 460A3036 */ c.ole.s $f6, $f10 + /* 323C0 800317C0 45020061 */ bc1fl .L80031948 + /* 323C4 800317C4 2508FFFF */ addiu $t0, $t0, -0x1 + /* 323C8 800317C8 258CFFFF */ addiu $t4, $t4, -0x1 + /* 323CC 800317CC 1580FFE5 */ bnez $t4, .L80031764 + /* 323D0 800317D0 254A0002 */ addiu $t2, $t2, 0x2 + /* 323D4 800317D4 3C01800E */ lui $at, %hi(D_800E5F68) + /* 323D8 800317D8 C4205F68 */ lwc1 $f0, %lo(D_800E5F68)($at) + /* 323DC 800317DC C4420004 */ lwc1 $f2, 0x4($v0) + /* 323E0 800317E0 C4440008 */ lwc1 $f4, 0x8($v0) + /* 323E4 800317E4 46001035 */ c.ult.s $f2, $f0 + /* 323E8 800317E8 C4400000 */ lwc1 $f0, 0x0($v0) + /* 323EC 800317EC 45010016 */ bc1t .L80031848 + /* 323F0 800317F0 00000000 */ nop + /* 323F4 800317F4 81A30000 */ lb $v1, 0x0($t5) + /* 323F8 800317F8 24010004 */ addiu $at, $zero, 0x4 + /* 323FC 800317FC 10610012 */ beq $v1, $at, .L80031848 + /* 32400 80031800 00000000 */ nop + /* 32404 80031804 3C038012 */ lui $v1, %hi(D_8011B0F4) + /* 32408 80031808 8C63B0F4 */ lw $v1, %lo(D_8011B0F4)($v1) + /* 3240C 8003180C 1460000E */ bnez $v1, .L80031848 + /* 32410 80031810 00000000 */ nop + /* 32414 80031814 C4A60000 */ lwc1 $f6, 0x0($a1) + /* 32418 80031818 46003002 */ mul.s $f0, $f6, $f0 + /* 3241C 8003181C C4A60008 */ lwc1 $f6, 0x8($a1) + /* 32420 80031820 46043102 */ mul.s $f4, $f6, $f4 + /* 32424 80031824 C446000C */ lwc1 $f6, 0xC($v0) + /* 32428 80031828 46040000 */ add.s $f0, $f0, $f4 + /* 3242C 8003182C C4A40008 */ lwc1 $f4, 0x8($a1) + /* 32430 80031830 46060000 */ add.s $f0, $f0, $f6 + /* 32434 80031834 C4C60000 */ lwc1 $f6, 0x0($a2) + /* 32438 80031838 46003001 */ sub.s $f0, $f6, $f0 + /* 3243C 8003183C 46020083 */ div.s $f2, $f0, $f2 + /* 32440 80031840 0800C632 */ j .L800318C8 + /* 32444 80031844 C4A00000 */ lwc1 $f0, 0x0($a1) + .L80031848: + /* 32448 80031848 3C01800E */ lui $at, %hi(D_800E5F6C) + /* 3244C 8003184C C42A5F6C */ lwc1 $f10, %lo(D_800E5F6C)($at) + /* 32450 80031850 460A1034 */ c.olt.s $f2, $f10 + /* 32454 80031854 45000012 */ bc1f .L800318A0 + /* 32458 80031858 00000000 */ nop + /* 3245C 8003185C 3C038012 */ lui $v1, %hi(D_8011B0F4) + /* 32460 80031860 8C63B0F4 */ lw $v1, %lo(D_8011B0F4)($v1) + /* 32464 80031864 24010002 */ addiu $at, $zero, 0x2 + /* 32468 80031868 1061000D */ beq $v1, $at, .L800318A0 + /* 3246C 8003186C 00000000 */ nop + /* 32470 80031870 24030001 */ addiu $v1, $zero, 0x1 + /* 32474 80031874 3C018012 */ lui $at, %hi(D_8011B0F0) + /* 32478 80031878 AC23B0F0 */ sw $v1, %lo(D_8011B0F0)($at) + /* 3247C 8003187C C4460000 */ lwc1 $f6, 0x0($v0) + /* 32480 80031880 3C018012 */ lui $at, %hi(D_8011B0E4) + /* 32484 80031884 E426B0E4 */ swc1 $f6, %lo(D_8011B0E4)($at) + /* 32488 80031888 C4460004 */ lwc1 $f6, 0x4($v0) + /* 3248C 8003188C 3C018012 */ lui $at, %hi(D_8011B0E8) + /* 32490 80031890 E426B0E8 */ swc1 $f6, %lo(D_8011B0E8)($at) + /* 32494 80031894 C4460008 */ lwc1 $f6, 0x8($v0) + /* 32498 80031898 3C018012 */ lui $at, %hi(D_8011B0EC) + /* 3249C 8003189C E426B0EC */ swc1 $f6, %lo(D_8011B0EC)($at) + .L800318A0: + /* 324A0 800318A0 46120002 */ mul.s $f0, $f0, $f18 + /* 324A4 800318A4 C4A60000 */ lwc1 $f6, 0x0($a1) + /* 324A8 800318A8 46121082 */ mul.s $f2, $f2, $f18 + /* 324AC 800318AC 00000000 */ nop + /* 324B0 800318B0 46122102 */ mul.s $f4, $f4, $f18 + /* 324B4 800318B4 46003001 */ sub.s $f0, $f6, $f0 + /* 324B8 800318B8 C4A60004 */ lwc1 $f6, 0x4($a1) + /* 324BC 800318BC 46023081 */ sub.s $f2, $f6, $f2 + /* 324C0 800318C0 C4A60008 */ lwc1 $f6, 0x8($a1) + /* 324C4 800318C4 46043101 */ sub.s $f4, $f6, $f4 + .L800318C8: + /* 324C8 800318C8 3C038012 */ lui $v1, %hi(D_8011B0F0) + /* 324CC 800318CC 8C63B0F0 */ lw $v1, %lo(D_8011B0F0)($v1) + /* 324D0 800318D0 5460000B */ bnel $v1, $zero, .L80031900 + /* 324D4 800318D4 81AC0000 */ lb $t4, 0x0($t5) + /* 324D8 800318D8 C4460000 */ lwc1 $f6, 0x0($v0) + /* 324DC 800318DC 3C018012 */ lui $at, %hi(D_8011B0E4) + /* 324E0 800318E0 E426B0E4 */ swc1 $f6, %lo(D_8011B0E4)($at) + /* 324E4 800318E4 C4460004 */ lwc1 $f6, 0x4($v0) + /* 324E8 800318E8 3C018012 */ lui $at, %hi(D_8011B0E8) + /* 324EC 800318EC E426B0E8 */ swc1 $f6, %lo(D_8011B0E8)($at) + /* 324F0 800318F0 C4460008 */ lwc1 $f6, 0x8($v0) + /* 324F4 800318F4 3C018012 */ lui $at, %hi(D_8011B0EC) + /* 324F8 800318F8 E426B0EC */ swc1 $f6, %lo(D_8011B0EC)($at) + /* 324FC 800318FC 81AC0000 */ lb $t4, 0x0($t5) + .L80031900: + /* 32500 80031900 80E20000 */ lb $v0, 0x0($a3) + /* 32504 80031904 004C082A */ slt $at, $v0, $t4 + /* 32508 80031908 50200003 */ beql $at, $zero, .L80031918 + /* 3250C 8003190C 25CE0001 */ addiu $t6, $t6, 0x1 + /* 32510 80031910 A0EC0000 */ sb $t4, 0x0($a3) + /* 32514 80031914 25CE0001 */ addiu $t6, $t6, 0x1 + .L80031918: + /* 32518 80031918 29C1000B */ slti $at, $t6, 0xB + /* 3251C 8003191C 14200005 */ bnez $at, .L80031934 + /* 32520 80031920 240F0001 */ addiu $t7, $zero, 0x1 + /* 32524 80031924 00007825 */ or $t7, $zero, $zero + /* 32528 80031928 C4800000 */ lwc1 $f0, 0x0($a0) + /* 3252C 8003192C C4820004 */ lwc1 $f2, 0x4($a0) + /* 32530 80031930 C4840008 */ lwc1 $f4, 0x8($a0) + .L80031934: + /* 32534 80031934 E4A00000 */ swc1 $f0, 0x0($a1) + /* 32538 80031938 E4A20004 */ swc1 $f2, 0x4($a1) + /* 3253C 8003193C 0800C655 */ j .L80031954 + /* 32540 80031940 E4A40008 */ swc1 $f4, 0x8($a1) + .L80031944: + /* 32544 80031944 2508FFFF */ addiu $t0, $t0, -0x1 + .L80031948: + /* 32548 80031948 25AD0001 */ addiu $t5, $t5, 0x1 + /* 3254C 8003194C 1500FF3C */ bnez $t0, .L80031640 + /* 32550 80031950 25290004 */ addiu $t1, $t1, 0x4 + .L80031954: + /* 32554 80031954 15E0FF33 */ bnez $t7, .L80031624 + /* 32558 80031958 00000000 */ nop + /* 3255C 8003195C 11C00008 */ beqz $t6, .L80031980 + /* 32560 80031960 93AA0001 */ lbu $t2, 0x1($sp) + /* 32564 80031964 8FA90014 */ lw $t1, 0x14($sp) + /* 32568 80031968 8D280000 */ lw $t0, 0x0($t1) + /* 3256C 8003196C 25080001 */ addiu $t0, $t0, 0x1 + /* 32570 80031970 AD280000 */ sw $t0, 0x0($t1) + /* 32574 80031974 93A80000 */ lbu $t0, 0x0($sp) + /* 32578 80031978 010A4025 */ or $t0, $t0, $t2 + /* 3257C 8003197C A3A80000 */ sb $t0, 0x0($sp) + .L80031980: + /* 32580 80031980 000A5040 */ sll $t2, $t2, 1 + /* 32584 80031984 A3AA0001 */ sb $t2, 0x1($sp) + /* 32588 80031988 00007025 */ or $t6, $zero, $zero + .L8003198C: + /* 3258C 8003198C 3C098012 */ lui $t1, %hi(D_8011D370) + /* 32590 80031990 3C088012 */ lui $t0, %hi(D_8011D378) + /* 32594 80031994 00007825 */ or $t7, $zero, $zero + /* 32598 80031998 8D29D370 */ lw $t1, %lo(D_8011D370)($t1) + /* 3259C 8003199C 8D08D378 */ lw $t0, %lo(D_8011D378)($t0) + .L800319A0: + /* 325A0 800319A0 8D2A0000 */ lw $t2, 0x0($t1) + /* 325A4 800319A4 59400006 */ blezl $t2, .L800319C0 + /* 325A8 800319A8 95420000 */ lhu $v0, 0x0($t2) + /* 325AC 800319AC 3C0B8000 */ lui $t3, 0x8000 + /* 325B0 800319B0 016A5825 */ or $t3, $t3, $t2 + /* 325B4 800319B4 0800C6C6 */ j .L80031B18 + /* 325B8 800319B8 8D6B0018 */ lw $t3, 0x18($t3) + /* 325BC 800319BC 95420000 */ lhu $v0, 0x0($t2) + .L800319C0: + /* 325C0 800319C0 C4A80000 */ lwc1 $f8, 0x0($a1) + /* 325C4 800319C4 C4AA0004 */ lwc1 $f10, 0x4($a1) + /* 325C8 800319C8 00021100 */ sll $v0, $v0, 4 + /* 325CC 800319CC 004B1021 */ addu $v0, $v0, $t3 + /* 325D0 800319D0 C4400000 */ lwc1 $f0, 0x0($v0) + /* 325D4 800319D4 C4420004 */ lwc1 $f2, 0x4($v0) + /* 325D8 800319D8 C4440008 */ lwc1 $f4, 0x8($v0) + /* 325DC 800319DC 46004202 */ mul.s $f8, $f8, $f0 + /* 325E0 800319E0 C4B00008 */ lwc1 $f16, 0x8($a1) + /* 325E4 800319E4 C446000C */ lwc1 $f6, 0xC($v0) + /* 325E8 800319E8 46025282 */ mul.s $f10, $f10, $f2 + /* 325EC 800319EC 3C01800E */ lui $at, %hi(D_800E5F70) + /* 325F0 800319F0 46048402 */ mul.s $f16, $f16, $f4 + /* 325F4 800319F4 460A4200 */ add.s $f8, $f8, $f10 + /* 325F8 800319F8 46104200 */ add.s $f8, $f8, $f16 + /* 325FC 800319FC 46064480 */ add.s $f18, $f8, $f6 + /* 32600 80031A00 C4C80000 */ lwc1 $f8, 0x0($a2) + /* 32604 80031A04 46089481 */ sub.s $f18, $f18, $f8 + /* 32608 80031A08 C4285F70 */ lwc1 $f8, %lo(D_800E5F70)($at) + /* 3260C 80031A0C 46089034 */ c.olt.s $f18, $f8 + /* 32610 80031A10 45000041 */ bc1f .L80031B18 + /* 32614 80031A14 3C014040 */ lui $at, (0x40400000 >> 16) + /* 32618 80031A18 44815000 */ mtc1 $at, $f10 + /* 3261C 80031A1C C4C80000 */ lwc1 $f8, 0x0($a2) + /* 32620 80031A20 460A4200 */ add.s $f8, $f8, $f10 + /* 32624 80031A24 46004207 */ neg.s $f8, $f8 + /* 32628 80031A28 46089036 */ c.ole.s $f18, $f8 + /* 3262C 80031A2C 4501003A */ bc1t .L80031B18 + /* 32630 80031A30 3C014080 */ lui $at, (0x40800000 >> 16) + /* 32634 80031A34 44815000 */ mtc1 $at, $f10 + /* 32638 80031A38 C4A00000 */ lwc1 $f0, 0x0($a1) + /* 3263C 80031A3C C4A20004 */ lwc1 $f2, 0x4($a1) + /* 32640 80031A40 C4A40008 */ lwc1 $f4, 0x8($a1) + /* 32644 80031A44 240C0003 */ addiu $t4, $zero, 0x3 + .L80031A48: + /* 32648 80031A48 95430002 */ lhu $v1, 0x2($t2) + /* 3264C 80031A4C 0000C025 */ or $t8, $zero, $zero + /* 32650 80031A50 30798000 */ andi $t9, $v1, 0x8000 + /* 32654 80031A54 53200004 */ beql $t9, $zero, .L80031A68 + /* 32658 80031A58 00031900 */ sll $v1, $v1, 4 + /* 3265C 80031A5C 30637FFF */ andi $v1, $v1, 0x7FFF + /* 32660 80031A60 24180001 */ addiu $t8, $zero, 0x1 + /* 32664 80031A64 00031900 */ sll $v1, $v1, 4 + .L80031A68: + /* 32668 80031A68 006B1821 */ addu $v1, $v1, $t3 + /* 3266C 80031A6C C4660000 */ lwc1 $f6, 0x0($v1) + /* 32670 80031A70 C4680004 */ lwc1 $f8, 0x4($v1) + /* 32674 80031A74 46060182 */ mul.s $f6, $f0, $f6 + /* 32678 80031A78 00000000 */ nop + /* 3267C 80031A7C 46081202 */ mul.s $f8, $f2, $f8 + /* 32680 80031A80 46083180 */ add.s $f6, $f6, $f8 + /* 32684 80031A84 C4680008 */ lwc1 $f8, 0x8($v1) + /* 32688 80031A88 46082202 */ mul.s $f8, $f4, $f8 + /* 3268C 80031A8C 46083180 */ add.s $f6, $f6, $f8 + /* 32690 80031A90 C468000C */ lwc1 $f8, 0xC($v1) + /* 32694 80031A94 13000002 */ beqz $t8, .L80031AA0 + /* 32698 80031A98 46083180 */ add.s $f6, $f6, $f8 + /* 3269C 80031A9C 46003187 */ neg.s $f6, $f6 + .L80031AA0: + /* 326A0 80031AA0 460A3036 */ c.ole.s $f6, $f10 + /* 326A4 80031AA4 4502001D */ bc1fl .L80031B1C + /* 326A8 80031AA8 2508FFFF */ addiu $t0, $t0, -0x1 + /* 326AC 80031AAC 258CFFFF */ addiu $t4, $t4, -0x1 + /* 326B0 80031AB0 1580FFE5 */ bnez $t4, .L80031A48 + /* 326B4 80031AB4 254A0002 */ addiu $t2, $t2, 0x2 + /* 326B8 80031AB8 C4400000 */ lwc1 $f0, 0x0($v0) + /* 326BC 80031ABC C4420004 */ lwc1 $f2, 0x4($v0) + /* 326C0 80031AC0 C4A60000 */ lwc1 $f6, 0x0($a1) + /* 326C4 80031AC4 46120002 */ mul.s $f0, $f0, $f18 + /* 326C8 80031AC8 C4440008 */ lwc1 $f4, 0x8($v0) + /* 326CC 80031ACC 25CE0001 */ addiu $t6, $t6, 0x1 + /* 326D0 80031AD0 46121082 */ mul.s $f2, $f2, $f18 + /* 326D4 80031AD4 29C1000B */ slti $at, $t6, 0xB + /* 326D8 80031AD8 240F0001 */ addiu $t7, $zero, 0x1 + /* 326DC 80031ADC 46122102 */ mul.s $f4, $f4, $f18 + /* 326E0 80031AE0 46003001 */ sub.s $f0, $f6, $f0 + /* 326E4 80031AE4 C4A60004 */ lwc1 $f6, 0x4($a1) + /* 326E8 80031AE8 46023081 */ sub.s $f2, $f6, $f2 + /* 326EC 80031AEC C4A60008 */ lwc1 $f6, 0x8($a1) + /* 326F0 80031AF0 14200005 */ bnez $at, .L80031B08 + /* 326F4 80031AF4 46043101 */ sub.s $f4, $f6, $f4 + /* 326F8 80031AF8 00007825 */ or $t7, $zero, $zero + /* 326FC 80031AFC C4800000 */ lwc1 $f0, 0x0($a0) + /* 32700 80031B00 C4820004 */ lwc1 $f2, 0x4($a0) + /* 32704 80031B04 C4840008 */ lwc1 $f4, 0x8($a0) + .L80031B08: + /* 32708 80031B08 E4A00000 */ swc1 $f0, 0x0($a1) + /* 3270C 80031B0C E4A20004 */ swc1 $f2, 0x4($a1) + /* 32710 80031B10 0800C6C9 */ j .L80031B24 + /* 32714 80031B14 E4A40008 */ swc1 $f4, 0x8($a1) + .L80031B18: + /* 32718 80031B18 2508FFFF */ addiu $t0, $t0, -0x1 + .L80031B1C: + /* 3271C 80031B1C 1500FFA0 */ bnez $t0, .L800319A0 + /* 32720 80031B20 25290004 */ addiu $t1, $t1, 0x4 + .L80031B24: + /* 32724 80031B24 15E0FF99 */ bnez $t7, .L8003198C + /* 32728 80031B28 00000000 */ nop + /* 3272C 80031B2C 8FA80010 */ lw $t0, 0x10($sp) + /* 32730 80031B30 2484000C */ addiu $a0, $a0, 0xC + /* 32734 80031B34 24A5000C */ addiu $a1, $a1, 0xC + /* 32738 80031B38 2508FFFF */ addiu $t0, $t0, -0x1 + /* 3273C 80031B3C 24C60004 */ addiu $a2, $a2, 0x4 + /* 32740 80031B40 24E70001 */ addiu $a3, $a3, 0x1 + /* 32744 80031B44 1500FEB6 */ bnez $t0, .L80031620 + /* 32748 80031B48 AFA80010 */ sw $t0, 0x10($sp) + .L80031B4C: + /* 3274C 80031B4C 03E00008 */ jr $ra + /* 32750 80031B50 83A20000 */ lb $v0, 0x0($sp) +.end func_80031600 diff --git a/src/hasm/entrypoint.s b/src/hasm/entrypoint.s new file mode 100644 index 00000000..9e4281ea --- /dev/null +++ b/src/hasm/entrypoint.s @@ -0,0 +1,38 @@ +.include "macro.inc" + +/* assembler directives */ +.set noat /* allow manual use of $at */ +.set noreorder /* don't insert nops after branches */ +.set gp=64 /* allow use of 64-bit general purpose registers */ + +.section .bss + +glabel entrypointThreadStack +.space 0x1000 +glabel entrypointThreadStackEnd + +.section .text, "ax" + +leaf entrypoint +lui $t0, %hi(__BSS_SECTION_START) +lui $t1, %hi(__BSS_SECTION_SIZE) +addiu $t0, $t0, %lo(__BSS_SECTION_START) +ori $t1, $t1, %lo(__BSS_SECTION_SIZE) +.clear_bytes: +addi $t1, $t1, -0x8 +sw $zero, 0x0($t0) +sw $zero, 0x4($t0) +bnez $t1, .clear_bytes + addi $t0, $t0, 0x8 +lui $t2, %hi(mainproc) +lui $sp, %hi(entrypointThreadStackEnd) +addiu $t2, $t2, %lo(mainproc) +jr $t2 + addiu $sp, $sp, %lo(entrypointThreadStackEnd) +nop +nop +nop +nop +nop +nop +.end entrypoint diff --git a/lib/asm/exceptasm.bss.s b/src/hasm/get_stack_pointer.s similarity index 58% rename from lib/asm/exceptasm.bss.s rename to src/hasm/get_stack_pointer.s index 7c38fc74..73663d65 100644 --- a/lib/asm/exceptasm.bss.s +++ b/src/hasm/get_stack_pointer.s @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8012D240 */ - .include "macro.inc" /* assembler directives */ @@ -8,7 +5,11 @@ .set noreorder /* don't insert nops after branches */ .set gp=64 /* allow use of 64-bit general purpose registers */ -.section .bss +.section .text, "ax" -glabel __osThreadSave -.space 0x1B0 \ No newline at end of file +/* Generated by spimdisasm 1.30.0 */ + +leaf stack_pointer +jr $ra +or $v0, $sp, $zero +.end stack_pointer diff --git a/src/hasm/gzip_asm.s b/src/hasm/gzip_asm.s new file mode 100644 index 00000000..f08dee5c --- /dev/null +++ b/src/hasm/gzip_asm.s @@ -0,0 +1,781 @@ +.include "macro.inc" + +/* assembler directives */ +.set noat /* allow manual use of $at */ +.set noreorder /* don't insert nops after branches */ +.set gp=64 /* allow use of 64-bit general purpose registers */ + +.section .rodata + +glabel gzip_border +.byte 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 + +glabel gzip_cplens +.half 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 + +glabel gzip_cplext +.byte 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 99, 99 + +glabel gzip_cpdist +.half 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 + +glabel gzip_cpdext +.byte 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13 + +glabel gzip_mask_bits +.half 0x0000, 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff, 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff + +.section .text, "ax" + +/* Generated by spimdisasm 1.30.0 */ + +leaf gzip_inflate_block +/* C74C0 800C68C0 3C0B8013 */ lui $t3, %hi(gzip_num_bits) +/* C74C4 800C68C4 8D6BAAD4 */ lw $t3, %lo(gzip_num_bits)($t3) +/* C74C8 800C68C8 3C018013 */ lui $at, %hi(gHuftTablePos) +/* C74CC 800C68CC AC20AAD8 */ sw $zero, %lo(gHuftTablePos)($at) +/* C74D0 800C68D0 24080001 */ addiu $t0, $zero, 0x1 +/* C74D4 800C68D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C74D8 800C68D8 3C0C800E */ lui $t4, %hi(gzip_inflate_input) +/* C74DC 800C68DC 3C0A8013 */ lui $t2, %hi(gzip_bit_buffer) +/* C74E0 800C68E0 0168082B */ sltu $at, $t3, $t0 +/* C74E4 800C68E4 AFBF001C */ sw $ra, 0x1C($sp) +/* C74E8 800C68E8 AFB00018 */ sw $s0, 0x18($sp) +/* C74EC 800C68EC 8D8C3768 */ lw $t4, %lo(gzip_inflate_input)($t4) +/* C74F0 800C68F0 10200008 */ beqz $at, .L800C6914 +/* C74F4 800C68F4 8D4AAAD0 */ lw $t2, %lo(gzip_bit_buffer)($t2) +.L800C68F8: +/* C74F8 800C68F8 91820000 */ lbu $v0, 0x0($t4) +/* C74FC 800C68FC 258C0001 */ addiu $t4, $t4, 0x1 +/* C7500 800C6900 01621004 */ sllv $v0, $v0, $t3 +/* C7504 800C6904 256B0008 */ addiu $t3, $t3, 0x8 +/* C7508 800C6908 0168082A */ slt $at, $t3, $t0 +/* C750C 800C690C 1420FFFA */ bnez $at, .L800C68F8 +/* C7510 800C6910 01425025 */ or $t2, $t2, $v0 +.L800C6914: +/* C7514 800C6914 31500001 */ andi $s0, $t2, 0x1 +/* C7518 800C6918 010A5006 */ srlv $t2, $t2, $t0 +/* C751C 800C691C 01685822 */ sub $t3, $t3, $t0 /* handwritten instruction */ +/* C7520 800C6920 24080002 */ addiu $t0, $zero, 0x2 +/* C7524 800C6924 0168082B */ sltu $at, $t3, $t0 +/* C7528 800C6928 10200008 */ beqz $at, .L800C694C +/* C752C 800C692C 00000000 */ nop +.L800C6930: +/* C7530 800C6930 91820000 */ lbu $v0, 0x0($t4) +/* C7534 800C6934 258C0001 */ addiu $t4, $t4, 0x1 +/* C7538 800C6938 01621004 */ sllv $v0, $v0, $t3 +/* C753C 800C693C 256B0008 */ addiu $t3, $t3, 0x8 +/* C7540 800C6940 0168082A */ slt $at, $t3, $t0 +/* C7544 800C6944 1420FFFA */ bnez $at, .L800C6930 +/* C7548 800C6948 01425025 */ or $t2, $t2, $v0 +.L800C694C: +/* C754C 800C694C 3C01800E */ lui $at, %hi(gzip_inflate_input) +/* C7550 800C6950 31490003 */ andi $t1, $t2, 0x3 +/* C7554 800C6954 AC2C3768 */ sw $t4, %lo(gzip_inflate_input)($at) +/* C7558 800C6958 010A5006 */ srlv $t2, $t2, $t0 +/* C755C 800C695C 3C018013 */ lui $at, %hi(gzip_bit_buffer) +/* C7560 800C6960 AC2AAAD0 */ sw $t2, %lo(gzip_bit_buffer)($at) +/* C7564 800C6964 01685822 */ sub $t3, $t3, $t0 /* handwritten instruction */ +/* C7568 800C6968 3C018013 */ lui $at, %hi(gzip_num_bits) +/* C756C 800C696C AC2BAAD4 */ sw $t3, %lo(gzip_num_bits)($at) +/* C7570 800C6970 24010002 */ addiu $at, $zero, 0x2 +/* C7574 800C6974 1121000B */ beq $t1, $at, .L800C69A4 +/* C7578 800C6978 24010001 */ addiu $at, $zero, 0x1 +/* C757C 800C697C 11210005 */ beq $t1, $at, .L800C6994 +/* C7580 800C6980 00000000 */ nop +/* C7584 800C6984 0C031BCD */ jal gzip_inflate_stored +/* C7588 800C6988 00000000 */ nop +/* C758C 800C698C 08031A6B */ j .L800C69AC +/* C7590 800C6990 00000000 */ nop +.L800C6994: +/* C7594 800C6994 0C031B77 */ jal gzip_inflate_fixed +/* C7598 800C6998 00000000 */ nop +/* C759C 800C699C 08031A6B */ j .L800C69AC +/* C75A0 800C69A0 00000000 */ nop +.L800C69A4: +/* C75A4 800C69A4 0C031A71 */ jal gzip_inflate_dynamic +/* C75A8 800C69A8 00000000 */ nop +.L800C69AC: +/* C75AC 800C69AC 8FBF001C */ lw $ra, 0x1C($sp) +/* C75B0 800C69B0 24020001 */ addiu $v0, $zero, 0x1 +/* C75B4 800C69B4 00501022 */ sub $v0, $v0, $s0 /* handwritten instruction */ +/* C75B8 800C69B8 8FB00018 */ lw $s0, 0x18($sp) +/* C75BC 800C69BC 03E00008 */ jr $ra +/* C75C0 800C69C0 27BD0020 */ addiu $sp, $sp, 0x20 +.end gzip_inflate_block + +leaf gzip_inflate_dynamic +/* C75C4 800C69C4 27BDFAC0 */ addiu $sp, $sp, -0x540 +/* C75C8 800C69C8 AFB30028 */ sw $s3, 0x28($sp) +/* C75CC 800C69CC 3C138013 */ lui $s3, %hi(gzip_num_bits) +/* C75D0 800C69D0 8E73AAD4 */ lw $s3, %lo(gzip_num_bits)($s3) +/* C75D4 800C69D4 AFB4002C */ sw $s4, 0x2C($sp) +/* C75D8 800C69D8 AFB20024 */ sw $s2, 0x24($sp) +/* C75DC 800C69DC 24080005 */ addiu $t0, $zero, 0x5 +/* C75E0 800C69E0 3C14800E */ lui $s4, %hi(gzip_inflate_input) +/* C75E4 800C69E4 3C128013 */ lui $s2, %hi(gzip_bit_buffer) +/* C75E8 800C69E8 0268082B */ sltu $at, $s3, $t0 +/* C75EC 800C69EC AFBF0030 */ sw $ra, 0x30($sp) +/* C75F0 800C69F0 AFB10020 */ sw $s1, 0x20($sp) +/* C75F4 800C69F4 AFB0001C */ sw $s0, 0x1C($sp) +/* C75F8 800C69F8 8E943768 */ lw $s4, %lo(gzip_inflate_input)($s4) +/* C75FC 800C69FC 10200008 */ beqz $at, .L800C6A20 +/* C7600 800C6A00 8E52AAD0 */ lw $s2, %lo(gzip_bit_buffer)($s2) +.L800C6A04: +/* C7604 800C6A04 92820000 */ lbu $v0, 0x0($s4) +/* C7608 800C6A08 26940001 */ addiu $s4, $s4, 0x1 +/* C760C 800C6A0C 02621004 */ sllv $v0, $v0, $s3 +/* C7610 800C6A10 26730008 */ addiu $s3, $s3, 0x8 +/* C7614 800C6A14 0268082A */ slt $at, $s3, $t0 +/* C7618 800C6A18 1420FFFA */ bnez $at, .L800C6A04 +/* C761C 800C6A1C 02429025 */ or $s2, $s2, $v0 +.L800C6A20: +/* C7620 800C6A20 02689822 */ sub $s3, $s3, $t0 /* handwritten instruction */ +/* C7624 800C6A24 3251001F */ andi $s1, $s2, 0x1F +/* C7628 800C6A28 0268082B */ sltu $at, $s3, $t0 +/* C762C 800C6A2C 26310101 */ addiu $s1, $s1, 0x101 +/* C7630 800C6A30 10200008 */ beqz $at, .L800C6A54 +/* C7634 800C6A34 01129006 */ srlv $s2, $s2, $t0 +.L800C6A38: +/* C7638 800C6A38 92820000 */ lbu $v0, 0x0($s4) +/* C763C 800C6A3C 26940001 */ addiu $s4, $s4, 0x1 +/* C7640 800C6A40 02621004 */ sllv $v0, $v0, $s3 +/* C7644 800C6A44 26730008 */ addiu $s3, $s3, 0x8 +/* C7648 800C6A48 0268082A */ slt $at, $s3, $t0 +/* C764C 800C6A4C 1420FFFA */ bnez $at, .L800C6A38 +/* C7650 800C6A50 02429025 */ or $s2, $s2, $v0 +.L800C6A54: +/* C7654 800C6A54 3250001F */ andi $s0, $s2, 0x1F +/* C7658 800C6A58 01129006 */ srlv $s2, $s2, $t0 +/* C765C 800C6A5C 02689822 */ sub $s3, $s3, $t0 /* handwritten instruction */ +/* C7660 800C6A60 24080004 */ addiu $t0, $zero, 0x4 +/* C7664 800C6A64 0268082B */ sltu $at, $s3, $t0 +/* C7668 800C6A68 10200008 */ beqz $at, .L800C6A8C +/* C766C 800C6A6C 26100001 */ addiu $s0, $s0, 0x1 +.L800C6A70: +/* C7670 800C6A70 92820000 */ lbu $v0, 0x0($s4) +/* C7674 800C6A74 26940001 */ addiu $s4, $s4, 0x1 +/* C7678 800C6A78 02621004 */ sllv $v0, $v0, $s3 +/* C767C 800C6A7C 26730008 */ addiu $s3, $s3, 0x8 +/* C7680 800C6A80 0268082A */ slt $at, $s3, $t0 +/* C7684 800C6A84 1420FFFA */ bnez $at, .L800C6A70 +/* C7688 800C6A88 02429025 */ or $s2, $s2, $v0 +.L800C6A8C: +/* C768C 800C6A8C 324A000F */ andi $t2, $s2, 0xF +/* C7690 800C6A90 254A0004 */ addiu $t2, $t2, 0x4 +/* C7694 800C6A94 3C19800F */ lui $t9, %hi(gzip_border) +/* C7698 800C6A98 01129006 */ srlv $s2, $s2, $t0 +/* C769C 800C6A9C 02689822 */ sub $s3, $s3, $t0 /* handwritten instruction */ +/* C76A0 800C6AA0 000A4825 */ or $t1, $zero, $t2 +/* C76A4 800C6AA4 273993C0 */ addiu $t9, $t9, %lo(gzip_border) +/* C76A8 800C6AA8 11400019 */ beqz $t2, .L800C6B10 +/* C76AC 800C6AAC 23AF0044 */ addi $t7, $sp, 0x44 /* handwritten instruction */ +.L800C6AB0: +/* C76B0 800C6AB0 24080003 */ addiu $t0, $zero, 0x3 +/* C76B4 800C6AB4 0268082B */ sltu $at, $s3, $t0 +/* C76B8 800C6AB8 50200009 */ beql $at, $zero, .L800C6AE0 +/* C76BC 800C6ABC 93230000 */ lbu $v1, 0x0($t9) +.L800C6AC0: +/* C76C0 800C6AC0 92820000 */ lbu $v0, 0x0($s4) +/* C76C4 800C6AC4 26940001 */ addiu $s4, $s4, 0x1 +/* C76C8 800C6AC8 02621004 */ sllv $v0, $v0, $s3 +/* C76CC 800C6ACC 26730008 */ addiu $s3, $s3, 0x8 +/* C76D0 800C6AD0 0268082A */ slt $at, $s3, $t0 +/* C76D4 800C6AD4 1420FFFA */ bnez $at, .L800C6AC0 +/* C76D8 800C6AD8 02429025 */ or $s2, $s2, $v0 +/* C76DC 800C6ADC 93230000 */ lbu $v1, 0x0($t9) +.L800C6AE0: +/* C76E0 800C6AE0 32420007 */ andi $v0, $s2, 0x7 +/* C76E4 800C6AE4 254AFFFF */ addiu $t2, $t2, -0x1 +/* C76E8 800C6AE8 00031880 */ sll $v1, $v1, 2 +/* C76EC 800C6AEC 006F1821 */ addu $v1, $v1, $t7 +/* C76F0 800C6AF0 AC620000 */ sw $v0, 0x0($v1) +/* C76F4 800C6AF4 01129006 */ srlv $s2, $s2, $t0 +/* C76F8 800C6AF8 02689822 */ sub $s3, $s3, $t0 /* handwritten instruction */ +/* C76FC 800C6AFC 1540FFEC */ bnez $t2, .L800C6AB0 +/* C7700 800C6B00 27390001 */ addiu $t9, $t9, 0x1 +/* C7704 800C6B04 2D210013 */ sltiu $at, $t1, 0x13 +/* C7708 800C6B08 5020000A */ beql $at, $zero, .L800C6B34 +/* C770C 800C6B0C 240D0007 */ addiu $t5, $zero, 0x7 +.L800C6B10: +/* C7710 800C6B10 93230000 */ lbu $v1, 0x0($t9) +/* C7714 800C6B14 25290001 */ addiu $t1, $t1, 0x1 +/* C7718 800C6B18 29210013 */ slti $at, $t1, 0x13 +/* C771C 800C6B1C 00031880 */ sll $v1, $v1, 2 +/* C7720 800C6B20 006F1821 */ addu $v1, $v1, $t7 +/* C7724 800C6B24 AC600000 */ sw $zero, 0x0($v1) +/* C7728 800C6B28 1420FFF9 */ bnez $at, .L800C6B10 +/* C772C 800C6B2C 27390001 */ addiu $t9, $t9, 0x1 +/* C7730 800C6B30 240D0007 */ addiu $t5, $zero, 0x7 +.L800C6B34: +/* C7734 800C6B34 23A80034 */ addi $t0, $sp, 0x34 /* handwritten instruction */ +/* C7738 800C6B38 23A90038 */ addi $t1, $sp, 0x38 /* handwritten instruction */ +/* C773C 800C6B3C AFAD0038 */ sw $t5, 0x38($sp) +/* C7740 800C6B40 23A40044 */ addi $a0, $sp, 0x44 /* handwritten instruction */ +/* C7744 800C6B44 24050013 */ addiu $a1, $zero, 0x13 +/* C7748 800C6B48 24060013 */ addiu $a2, $zero, 0x13 +/* C774C 800C6B4C 24070000 */ addiu $a3, $zero, 0x0 +/* C7750 800C6B50 AFA00010 */ sw $zero, 0x10($sp) +/* C7754 800C6B54 AFA80014 */ sw $t0, 0x14($sp) +/* C7758 800C6B58 0C03189D */ jal gzip_huft_build +/* C775C 800C6B5C AFA90018 */ sw $t1, 0x18($sp) +/* C7760 800C6B60 23A90038 */ addi $t1, $sp, 0x38 /* handwritten instruction */ +/* C7764 800C6B64 8D2D0000 */ lw $t5, 0x0($t1) +/* C7768 800C6B68 3C02800F */ lui $v0, %hi(gzip_mask_bits) +/* C776C 800C6B6C 2442948C */ addiu $v0, $v0, %lo(gzip_mask_bits) +/* C7770 800C6B70 000D1840 */ sll $v1, $t5, 1 +/* C7774 800C6B74 23A80034 */ addi $t0, $sp, 0x34 /* handwritten instruction */ +/* C7778 800C6B78 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* C777C 800C6B7C 8D0E0000 */ lw $t6, 0x0($t0) +/* C7780 800C6B80 0230C820 */ add $t9, $s1, $s0 /* handwritten instruction */ +/* C7784 800C6B84 84580000 */ lh $t8, 0x0($v0) +/* C7788 800C6B88 23AF0044 */ addi $t7, $sp, 0x44 /* handwritten instruction */ +/* C778C 800C6B8C 240A0000 */ addiu $t2, $zero, 0x0 +.L800C6B90: +/* C7790 800C6B90 1320005F */ beqz $t9, .L800C6D10 +/* C7794 800C6B94 026D082B */ sltu $at, $s3, $t5 +/* C7798 800C6B98 50200009 */ beql $at, $zero, .L800C6BC0 +/* C779C 800C6B9C 02581024 */ and $v0, $s2, $t8 +.L800C6BA0: +/* C77A0 800C6BA0 92820000 */ lbu $v0, 0x0($s4) +/* C77A4 800C6BA4 26940001 */ addiu $s4, $s4, 0x1 +/* C77A8 800C6BA8 02621004 */ sllv $v0, $v0, $s3 +/* C77AC 800C6BAC 26730008 */ addiu $s3, $s3, 0x8 +/* C77B0 800C6BB0 026D082A */ slt $at, $s3, $t5 +/* C77B4 800C6BB4 1420FFFA */ bnez $at, .L800C6BA0 +/* C77B8 800C6BB8 02429025 */ or $s2, $s2, $v0 +/* C77BC 800C6BBC 02581024 */ and $v0, $s2, $t8 +.L800C6BC0: +/* C77C0 800C6BC0 000210C0 */ sll $v0, $v0, 3 +/* C77C4 800C6BC4 01C24821 */ addu $t1, $t6, $v0 +/* C77C8 800C6BC8 95280004 */ lhu $t0, 0x4($t1) +/* C77CC 800C6BCC 91220001 */ lbu $v0, 0x1($t1) +/* C77D0 800C6BD0 29010010 */ slti $at, $t0, 0x10 +/* C77D4 800C6BD4 00529006 */ srlv $s2, $s2, $v0 +/* C77D8 800C6BD8 1420001C */ bnez $at, .L800C6C4C +/* C77DC 800C6BDC 02629822 */ sub $s3, $s3, $v0 /* handwritten instruction */ +/* C77E0 800C6BE0 24010010 */ addiu $at, $zero, 0x10 +/* C77E4 800C6BE4 1101001E */ beq $t0, $at, .L800C6C60 +/* C77E8 800C6BE8 24010011 */ addiu $at, $zero, 0x11 +/* C77EC 800C6BEC 51010033 */ beql $t0, $at, .L800C6CBC +/* C77F0 800C6BF0 24080003 */ addiu $t0, $zero, 0x3 +/* C77F4 800C6BF4 24080007 */ addiu $t0, $zero, 0x7 +/* C77F8 800C6BF8 0268082B */ sltu $at, $s3, $t0 +/* C77FC 800C6BFC 50200009 */ beql $at, $zero, .L800C6C24 +/* C7800 800C6C00 3249007F */ andi $t1, $s2, 0x7F +.L800C6C04: +/* C7804 800C6C04 92820000 */ lbu $v0, 0x0($s4) +/* C7808 800C6C08 26940001 */ addiu $s4, $s4, 0x1 +/* C780C 800C6C0C 02621004 */ sllv $v0, $v0, $s3 +/* C7810 800C6C10 26730008 */ addiu $s3, $s3, 0x8 +/* C7814 800C6C14 0268082A */ slt $at, $s3, $t0 +/* C7818 800C6C18 1420FFFA */ bnez $at, .L800C6C04 +/* C781C 800C6C1C 02429025 */ or $s2, $s2, $v0 +/* C7820 800C6C20 3249007F */ andi $t1, $s2, 0x7F +.L800C6C24: +/* C7824 800C6C24 2529000B */ addiu $t1, $t1, 0xB +/* C7828 800C6C28 01129006 */ srlv $s2, $s2, $t0 +/* C782C 800C6C2C 02689822 */ sub $s3, $s3, $t0 /* handwritten instruction */ +/* C7830 800C6C30 0329C823 */ subu $t9, $t9, $t1 +.L800C6C34: +/* C7834 800C6C34 2529FFFF */ addiu $t1, $t1, -0x1 +/* C7838 800C6C38 ADE00000 */ sw $zero, 0x0($t7) +/* C783C 800C6C3C 1520FFFD */ bnez $t1, .L800C6C34 +/* C7840 800C6C40 25EF0004 */ addiu $t7, $t7, 0x4 +/* C7844 800C6C44 08031AE4 */ j .L800C6B90 +/* C7848 800C6C48 240A0000 */ addiu $t2, $zero, 0x0 +.L800C6C4C: +/* C784C 800C6C4C ADE80000 */ sw $t0, 0x0($t7) +/* C7850 800C6C50 25EF0004 */ addiu $t7, $t7, 0x4 +/* C7854 800C6C54 2739FFFF */ addiu $t9, $t9, -0x1 +/* C7858 800C6C58 08031AE4 */ j .L800C6B90 +/* C785C 800C6C5C 00085025 */ or $t2, $zero, $t0 +.L800C6C60: +/* C7860 800C6C60 24080002 */ addiu $t0, $zero, 0x2 +/* C7864 800C6C64 0268082B */ sltu $at, $s3, $t0 +/* C7868 800C6C68 50200009 */ beql $at, $zero, .L800C6C90 +/* C786C 800C6C6C 32490003 */ andi $t1, $s2, 0x3 +.L800C6C70: +/* C7870 800C6C70 92820000 */ lbu $v0, 0x0($s4) +/* C7874 800C6C74 26940001 */ addiu $s4, $s4, 0x1 +/* C7878 800C6C78 02621004 */ sllv $v0, $v0, $s3 +/* C787C 800C6C7C 26730008 */ addiu $s3, $s3, 0x8 +/* C7880 800C6C80 0268082A */ slt $at, $s3, $t0 +/* C7884 800C6C84 1420FFFA */ bnez $at, .L800C6C70 +/* C7888 800C6C88 02429025 */ or $s2, $s2, $v0 +/* C788C 800C6C8C 32490003 */ andi $t1, $s2, 0x3 +.L800C6C90: +/* C7890 800C6C90 21290003 */ addi $t1, $t1, 0x3 /* handwritten instruction */ +/* C7894 800C6C94 01129006 */ srlv $s2, $s2, $t0 +/* C7898 800C6C98 02689822 */ sub $s3, $s3, $t0 /* handwritten instruction */ +/* C789C 800C6C9C 0329C823 */ subu $t9, $t9, $t1 +.L800C6CA0: +/* C78A0 800C6CA0 2529FFFF */ addiu $t1, $t1, -0x1 +/* C78A4 800C6CA4 ADEA0000 */ sw $t2, 0x0($t7) +/* C78A8 800C6CA8 1520FFFD */ bnez $t1, .L800C6CA0 +/* C78AC 800C6CAC 25EF0004 */ addiu $t7, $t7, 0x4 +/* C78B0 800C6CB0 08031AE4 */ j .L800C6B90 +/* C78B4 800C6CB4 00000000 */ nop +/* C78B8 800C6CB8 24080003 */ addiu $t0, $zero, 0x3 +.L800C6CBC: +/* C78BC 800C6CBC 0268082B */ sltu $at, $s3, $t0 +/* C78C0 800C6CC0 50200009 */ beql $at, $zero, .L800C6CE8 +/* C78C4 800C6CC4 32490007 */ andi $t1, $s2, 0x7 +.L800C6CC8: +/* C78C8 800C6CC8 92820000 */ lbu $v0, 0x0($s4) +/* C78CC 800C6CCC 26940001 */ addiu $s4, $s4, 0x1 +/* C78D0 800C6CD0 02621004 */ sllv $v0, $v0, $s3 +/* C78D4 800C6CD4 26730008 */ addiu $s3, $s3, 0x8 +/* C78D8 800C6CD8 0268082A */ slt $at, $s3, $t0 +/* C78DC 800C6CDC 1420FFFA */ bnez $at, .L800C6CC8 +/* C78E0 800C6CE0 02429025 */ or $s2, $s2, $v0 +/* C78E4 800C6CE4 32490007 */ andi $t1, $s2, 0x7 +.L800C6CE8: +/* C78E8 800C6CE8 21290003 */ addi $t1, $t1, 0x3 /* handwritten instruction */ +/* C78EC 800C6CEC 01129006 */ srlv $s2, $s2, $t0 +/* C78F0 800C6CF0 02689822 */ sub $s3, $s3, $t0 /* handwritten instruction */ +/* C78F4 800C6CF4 0329C823 */ subu $t9, $t9, $t1 +.L800C6CF8: +/* C78F8 800C6CF8 2529FFFF */ addiu $t1, $t1, -0x1 +/* C78FC 800C6CFC ADE00000 */ sw $zero, 0x0($t7) +/* C7900 800C6D00 1520FFFD */ bnez $t1, .L800C6CF8 +/* C7904 800C6D04 25EF0004 */ addiu $t7, $t7, 0x4 +/* C7908 800C6D08 08031AE4 */ j .L800C6B90 +/* C790C 800C6D0C 240A0000 */ addiu $t2, $zero, 0x0 +.L800C6D10: +/* C7910 800C6D10 3C01800E */ lui $at, %hi(gzip_inflate_input) +/* C7914 800C6D14 AC343768 */ sw $s4, %lo(gzip_inflate_input)($at) +/* C7918 800C6D18 3C018013 */ lui $at, %hi(gzip_bit_buffer) +/* C791C 800C6D1C 24080009 */ addiu $t0, $zero, 0x9 +/* C7920 800C6D20 AC32AAD0 */ sw $s2, %lo(gzip_bit_buffer)($at) +/* C7924 800C6D24 AFA80038 */ sw $t0, 0x38($sp) +/* C7928 800C6D28 3C02800F */ lui $v0, %hi(gzip_cplext) +/* C792C 800C6D2C 3C018013 */ lui $at, %hi(gzip_num_bits) +/* C7930 800C6D30 3C07800F */ lui $a3, %hi(gzip_cplens) +/* C7934 800C6D34 24429412 */ addiu $v0, $v0, %lo(gzip_cplext) +/* C7938 800C6D38 23A30034 */ addi $v1, $sp, 0x34 /* handwritten instruction */ +/* C793C 800C6D3C 23A80038 */ addi $t0, $sp, 0x38 /* handwritten instruction */ +/* C7940 800C6D40 AC33AAD4 */ sw $s3, %lo(gzip_num_bits)($at) +/* C7944 800C6D44 23A40044 */ addi $a0, $sp, 0x44 /* handwritten instruction */ +/* C7948 800C6D48 00112825 */ or $a1, $zero, $s1 +/* C794C 800C6D4C 24060101 */ addiu $a2, $zero, 0x101 +/* C7950 800C6D50 24E793D4 */ addiu $a3, $a3, %lo(gzip_cplens) +/* C7954 800C6D54 AFA20010 */ sw $v0, 0x10($sp) +/* C7958 800C6D58 AFA30014 */ sw $v1, 0x14($sp) +/* C795C 800C6D5C 0C03189D */ jal gzip_huft_build +/* C7960 800C6D60 AFA80018 */ sw $t0, 0x18($sp) +/* C7964 800C6D64 23A40044 */ addi $a0, $sp, 0x44 /* handwritten instruction */ +/* C7968 800C6D68 00111080 */ sll $v0, $s1, 2 +/* C796C 800C6D6C 24080006 */ addiu $t0, $zero, 0x6 +/* C7970 800C6D70 00822021 */ addu $a0, $a0, $v0 +/* C7974 800C6D74 AFA80040 */ sw $t0, 0x40($sp) +/* C7978 800C6D78 3C02800F */ lui $v0, %hi(gzip_cpdext) +/* C797C 800C6D7C 3C07800F */ lui $a3, %hi(gzip_cpdist) +/* C7980 800C6D80 2442946E */ addiu $v0, $v0, %lo(gzip_cpdext) +/* C7984 800C6D84 23A3003C */ addi $v1, $sp, 0x3C /* handwritten instruction */ +/* C7988 800C6D88 23A80040 */ addi $t0, $sp, 0x40 /* handwritten instruction */ +/* C798C 800C6D8C 00102825 */ or $a1, $zero, $s0 +/* C7990 800C6D90 24060000 */ addiu $a2, $zero, 0x0 +/* C7994 800C6D94 24E79432 */ addiu $a3, $a3, %lo(gzip_cpdist) +/* C7998 800C6D98 AFA20010 */ sw $v0, 0x10($sp) +/* C799C 800C6D9C AFA30014 */ sw $v1, 0x14($sp) +/* C79A0 800C6DA0 0C03189D */ jal gzip_huft_build +/* C79A4 800C6DA4 AFA80018 */ sw $t0, 0x18($sp) +/* C79A8 800C6DA8 8FA40034 */ lw $a0, 0x34($sp) +/* C79AC 800C6DAC 8FA5003C */ lw $a1, 0x3C($sp) +/* C79B0 800C6DB0 8FA60038 */ lw $a2, 0x38($sp) +/* C79B4 800C6DB4 0C031C10 */ jal gzip_inflate_codes +/* C79B8 800C6DB8 8FA70040 */ lw $a3, 0x40($sp) +/* C79BC 800C6DBC 8FBF0030 */ lw $ra, 0x30($sp) +/* C79C0 800C6DC0 8FB4002C */ lw $s4, 0x2C($sp) +/* C79C4 800C6DC4 8FB30028 */ lw $s3, 0x28($sp) +/* C79C8 800C6DC8 8FB20024 */ lw $s2, 0x24($sp) +/* C79CC 800C6DCC 8FB10020 */ lw $s1, 0x20($sp) +/* C79D0 800C6DD0 8FB0001C */ lw $s0, 0x1C($sp) +/* C79D4 800C6DD4 03E00008 */ jr $ra +/* C79D8 800C6DD8 27BD0540 */ addiu $sp, $sp, 0x540 +.end gzip_inflate_dynamic + +leaf gzip_inflate_fixed +/* C79DC 800C6DDC 27BDFAD0 */ addiu $sp, $sp, -0x530 +/* C79E0 800C6DE0 AFBF001C */ sw $ra, 0x1C($sp) +/* C79E4 800C6DE4 23AB0044 */ addi $t3, $sp, 0x44 /* handwritten instruction */ +/* C79E8 800C6DE8 24080024 */ addiu $t0, $zero, 0x24 +/* C79EC 800C6DEC 24090008 */ addiu $t1, $zero, 0x8 +.L800C6DF0: +/* C79F0 800C6DF0 2508FFFF */ addiu $t0, $t0, -0x1 +/* C79F4 800C6DF4 AD690000 */ sw $t1, 0x0($t3) +/* C79F8 800C6DF8 AD690004 */ sw $t1, 0x4($t3) +/* C79FC 800C6DFC AD690008 */ sw $t1, 0x8($t3) +/* C7A00 800C6E00 AD69000C */ sw $t1, 0xC($t3) +/* C7A04 800C6E04 1500FFFA */ bnez $t0, .L800C6DF0 +/* C7A08 800C6E08 256B0010 */ addiu $t3, $t3, 0x10 +/* C7A0C 800C6E0C 2408001C */ addiu $t0, $zero, 0x1C +/* C7A10 800C6E10 24090009 */ addiu $t1, $zero, 0x9 +.L800C6E14: +/* C7A14 800C6E14 2508FFFF */ addiu $t0, $t0, -0x1 +/* C7A18 800C6E18 AD690000 */ sw $t1, 0x0($t3) +/* C7A1C 800C6E1C AD690004 */ sw $t1, 0x4($t3) +/* C7A20 800C6E20 AD690008 */ sw $t1, 0x8($t3) +/* C7A24 800C6E24 AD69000C */ sw $t1, 0xC($t3) +/* C7A28 800C6E28 1500FFFA */ bnez $t0, .L800C6E14 +/* C7A2C 800C6E2C 256B0010 */ addiu $t3, $t3, 0x10 +/* C7A30 800C6E30 24080006 */ addiu $t0, $zero, 0x6 +/* C7A34 800C6E34 24090007 */ addiu $t1, $zero, 0x7 +.L800C6E38: +/* C7A38 800C6E38 2508FFFF */ addiu $t0, $t0, -0x1 +/* C7A3C 800C6E3C AD690000 */ sw $t1, 0x0($t3) +/* C7A40 800C6E40 AD690004 */ sw $t1, 0x4($t3) +/* C7A44 800C6E44 AD690008 */ sw $t1, 0x8($t3) +/* C7A48 800C6E48 AD69000C */ sw $t1, 0xC($t3) +/* C7A4C 800C6E4C 1500FFFA */ bnez $t0, .L800C6E38 +/* C7A50 800C6E50 256B0010 */ addiu $t3, $t3, 0x10 +/* C7A54 800C6E54 24090008 */ addiu $t1, $zero, 0x8 +/* C7A58 800C6E58 AD690000 */ sw $t1, 0x0($t3) +/* C7A5C 800C6E5C AD690004 */ sw $t1, 0x4($t3) +/* C7A60 800C6E60 AD690008 */ sw $t1, 0x8($t3) +/* C7A64 800C6E64 AD69000C */ sw $t1, 0xC($t3) +/* C7A68 800C6E68 AD690010 */ sw $t1, 0x10($t3) +/* C7A6C 800C6E6C AD690014 */ sw $t1, 0x14($t3) +/* C7A70 800C6E70 AD690018 */ sw $t1, 0x18($t3) +/* C7A74 800C6E74 AD69001C */ sw $t1, 0x1C($t3) +/* C7A78 800C6E78 24080007 */ addiu $t0, $zero, 0x7 +/* C7A7C 800C6E7C AFA80038 */ sw $t0, 0x38($sp) +/* C7A80 800C6E80 3C02800F */ lui $v0, %hi(gzip_cplext) +/* C7A84 800C6E84 3C07800F */ lui $a3, %hi(gzip_cplens) +/* C7A88 800C6E88 24429412 */ addiu $v0, $v0, %lo(gzip_cplext) +/* C7A8C 800C6E8C 23A30020 */ addi $v1, $sp, 0x20 /* handwritten instruction */ +/* C7A90 800C6E90 23A80024 */ addi $t0, $sp, 0x24 /* handwritten instruction */ +/* C7A94 800C6E94 23A40044 */ addi $a0, $sp, 0x44 /* handwritten instruction */ +/* C7A98 800C6E98 24050120 */ addiu $a1, $zero, 0x120 +/* C7A9C 800C6E9C 24060101 */ addiu $a2, $zero, 0x101 +/* C7AA0 800C6EA0 24E793D4 */ addiu $a3, $a3, %lo(gzip_cplens) +/* C7AA4 800C6EA4 AFA20010 */ sw $v0, 0x10($sp) +/* C7AA8 800C6EA8 AFA30014 */ sw $v1, 0x14($sp) +/* C7AAC 800C6EAC 0C03189D */ jal gzip_huft_build +/* C7AB0 800C6EB0 AFA80018 */ sw $t0, 0x18($sp) +/* C7AB4 800C6EB4 23AB0044 */ addi $t3, $sp, 0x44 /* handwritten instruction */ +/* C7AB8 800C6EB8 2408000A */ addiu $t0, $zero, 0xA +/* C7ABC 800C6EBC 24090005 */ addiu $t1, $zero, 0x5 +.L800C6EC0: +/* C7AC0 800C6EC0 2508FFFF */ addiu $t0, $t0, -0x1 +/* C7AC4 800C6EC4 AD690000 */ sw $t1, 0x0($t3) +/* C7AC8 800C6EC8 AD690004 */ sw $t1, 0x4($t3) +/* C7ACC 800C6ECC AD690008 */ sw $t1, 0x8($t3) +/* C7AD0 800C6ED0 1500FFFB */ bnez $t0, .L800C6EC0 +/* C7AD4 800C6ED4 256B000C */ addiu $t3, $t3, 0xC +/* C7AD8 800C6ED8 3C02800F */ lui $v0, %hi(gzip_cpdext) +/* C7ADC 800C6EDC 3C07800F */ lui $a3, %hi(gzip_cpdist) +/* C7AE0 800C6EE0 2442946E */ addiu $v0, $v0, %lo(gzip_cpdext) +/* C7AE4 800C6EE4 23A30028 */ addi $v1, $sp, 0x28 /* handwritten instruction */ +/* C7AE8 800C6EE8 23A8002C */ addi $t0, $sp, 0x2C /* handwritten instruction */ +/* C7AEC 800C6EEC AFA90040 */ sw $t1, 0x40($sp) +/* C7AF0 800C6EF0 23A40044 */ addi $a0, $sp, 0x44 /* handwritten instruction */ +/* C7AF4 800C6EF4 2405001E */ addiu $a1, $zero, 0x1E +/* C7AF8 800C6EF8 24060000 */ addiu $a2, $zero, 0x0 +/* C7AFC 800C6EFC 24E79432 */ addiu $a3, $a3, %lo(gzip_cpdist) +/* C7B00 800C6F00 AFA20010 */ sw $v0, 0x10($sp) +/* C7B04 800C6F04 AFA30014 */ sw $v1, 0x14($sp) +/* C7B08 800C6F08 0C03189D */ jal gzip_huft_build +/* C7B0C 800C6F0C AFA80018 */ sw $t0, 0x18($sp) +/* C7B10 800C6F10 8FA40020 */ lw $a0, 0x20($sp) +/* C7B14 800C6F14 8FA50028 */ lw $a1, 0x28($sp) +/* C7B18 800C6F18 8FA60024 */ lw $a2, 0x24($sp) +/* C7B1C 800C6F1C 0C031C10 */ jal gzip_inflate_codes +/* C7B20 800C6F20 8FA7002C */ lw $a3, 0x2C($sp) +/* C7B24 800C6F24 8FBF001C */ lw $ra, 0x1C($sp) +/* C7B28 800C6F28 27BD0530 */ addiu $sp, $sp, 0x530 +/* C7B2C 800C6F2C 03E00008 */ jr $ra +/* C7B30 800C6F30 00000000 */ nop +.end gzip_inflate_fixed + +leaf gzip_inflate_stored +/* C7B34 800C6F34 3C0D8013 */ lui $t5, %hi(gzip_num_bits) +/* C7B38 800C6F38 8DADAAD4 */ lw $t5, %lo(gzip_num_bits)($t5) +/* C7B3C 800C6F3C 3C0C8013 */ lui $t4, %hi(gzip_bit_buffer) +/* C7B40 800C6F40 8D8CAAD0 */ lw $t4, %lo(gzip_bit_buffer)($t4) +/* C7B44 800C6F44 31A80007 */ andi $t0, $t5, 0x7 +/* C7B48 800C6F48 01A86822 */ sub $t5, $t5, $t0 /* handwritten instruction */ +/* C7B4C 800C6F4C 010C6006 */ srlv $t4, $t4, $t0 +/* C7B50 800C6F50 24080010 */ addiu $t0, $zero, 0x10 +/* C7B54 800C6F54 3C0F800E */ lui $t7, %hi(gzip_inflate_input) +/* C7B58 800C6F58 3C0E800E */ lui $t6, %hi(gzip_inflate_output) +/* C7B5C 800C6F5C 01A8082B */ sltu $at, $t5, $t0 +/* C7B60 800C6F60 8DEF3768 */ lw $t7, %lo(gzip_inflate_input)($t7) +/* C7B64 800C6F64 10200008 */ beqz $at, .L800C6F88 +/* C7B68 800C6F68 8DCE376C */ lw $t6, %lo(gzip_inflate_output)($t6) +.L800C6F6C: +/* C7B6C 800C6F6C 91E20000 */ lbu $v0, 0x0($t7) +/* C7B70 800C6F70 25EF0001 */ addiu $t7, $t7, 0x1 +/* C7B74 800C6F74 01A21004 */ sllv $v0, $v0, $t5 +/* C7B78 800C6F78 25AD0008 */ addiu $t5, $t5, 0x8 +/* C7B7C 800C6F7C 01A8082A */ slt $at, $t5, $t0 +/* C7B80 800C6F80 1420FFFA */ bnez $at, .L800C6F6C +/* C7B84 800C6F84 01826025 */ or $t4, $t4, $v0 +.L800C6F88: +/* C7B88 800C6F88 01A86822 */ sub $t5, $t5, $t0 /* handwritten instruction */ +/* C7B8C 800C6F8C 3189FFFF */ andi $t1, $t4, 0xFFFF +/* C7B90 800C6F90 01A8082B */ sltu $at, $t5, $t0 +/* C7B94 800C6F94 10200008 */ beqz $at, .L800C6FB8 +/* C7B98 800C6F98 010C6006 */ srlv $t4, $t4, $t0 +.L800C6F9C: +/* C7B9C 800C6F9C 91E20000 */ lbu $v0, 0x0($t7) +/* C7BA0 800C6FA0 25EF0001 */ addiu $t7, $t7, 0x1 +/* C7BA4 800C6FA4 01A21004 */ sllv $v0, $v0, $t5 +/* C7BA8 800C6FA8 25AD0008 */ addiu $t5, $t5, 0x8 +/* C7BAC 800C6FAC 01A8082A */ slt $at, $t5, $t0 +/* C7BB0 800C6FB0 1420FFFA */ bnez $at, .L800C6F9C +/* C7BB4 800C6FB4 01826025 */ or $t4, $t4, $v0 +.L800C6FB8: +/* C7BB8 800C6FB8 31220003 */ andi $v0, $t1, 0x3 +/* C7BBC 800C6FBC 010C6006 */ srlv $t4, $t4, $t0 +/* C7BC0 800C6FC0 1040000A */ beqz $v0, .L800C6FEC +/* C7BC4 800C6FC4 01A86822 */ sub $t5, $t5, $t0 /* handwritten instruction */ +/* C7BC8 800C6FC8 01224822 */ sub $t1, $t1, $v0 /* handwritten instruction */ +.L800C6FCC: +/* C7BCC 800C6FCC 91EA0000 */ lbu $t2, 0x0($t7) +/* C7BD0 800C6FD0 2042FFFF */ addi $v0, $v0, -0x1 /* handwritten instruction */ +/* C7BD4 800C6FD4 21EF0001 */ addi $t7, $t7, 0x1 /* handwritten instruction */ +/* C7BD8 800C6FD8 21CE0001 */ addi $t6, $t6, 0x1 /* handwritten instruction */ +/* C7BDC 800C6FDC 1440FFFB */ bnez $v0, .L800C6FCC +/* C7BE0 800C6FE0 A1CAFFFF */ sb $t2, -0x1($t6) +/* C7BE4 800C6FE4 1120000D */ beqz $t1, .L800C701C +/* C7BE8 800C6FE8 00000000 */ nop +.L800C6FEC: +/* C7BEC 800C6FEC 91E20000 */ lbu $v0, 0x0($t7) +/* C7BF0 800C6FF0 2529FFFC */ addiu $t1, $t1, -0x4 +/* C7BF4 800C6FF4 25EF0004 */ addiu $t7, $t7, 0x4 +/* C7BF8 800C6FF8 A1C20000 */ sb $v0, 0x0($t6) +/* C7BFC 800C6FFC 91E3FFFD */ lbu $v1, -0x3($t7) +/* C7C00 800C7000 25CE0004 */ addiu $t6, $t6, 0x4 +/* C7C04 800C7004 A1C3FFFD */ sb $v1, -0x3($t6) +/* C7C08 800C7008 91EAFFFE */ lbu $t2, -0x2($t7) +/* C7C0C 800C700C A1CAFFFE */ sb $t2, -0x2($t6) +/* C7C10 800C7010 91EBFFFF */ lbu $t3, -0x1($t7) +/* C7C14 800C7014 1520FFF5 */ bnez $t1, .L800C6FEC +/* C7C18 800C7018 A1CBFFFF */ sb $t3, -0x1($t6) +.L800C701C: +/* C7C1C 800C701C 3C01800E */ lui $at, %hi(gzip_inflate_input) +/* C7C20 800C7020 AC2F3768 */ sw $t7, %lo(gzip_inflate_input)($at) +/* C7C24 800C7024 3C01800E */ lui $at, %hi(gzip_inflate_output) +/* C7C28 800C7028 AC2E376C */ sw $t6, %lo(gzip_inflate_output)($at) +/* C7C2C 800C702C 3C018013 */ lui $at, %hi(gzip_bit_buffer) +/* C7C30 800C7030 AC2CAAD0 */ sw $t4, %lo(gzip_bit_buffer)($at) +/* C7C34 800C7034 3C018013 */ lui $at, %hi(gzip_num_bits) +/* C7C38 800C7038 03E00008 */ jr $ra +/* C7C3C 800C703C AC2DAAD4 */ sw $t5, %lo(gzip_num_bits)($at) +.end gzip_inflate_stored + +leaf gzip_inflate_codes +/* C7C40 800C7040 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* C7C44 800C7044 3C0B800F */ lui $t3, %hi(gzip_mask_bits) +/* C7C48 800C7048 AFB20008 */ sw $s2, 0x8($sp) +/* C7C4C 800C704C AFB10004 */ sw $s1, 0x4($sp) +/* C7C50 800C7050 AFB00000 */ sw $s0, 0x0($sp) +/* C7C54 800C7054 256B948C */ addiu $t3, $t3, %lo(gzip_mask_bits) +/* C7C58 800C7058 00061040 */ sll $v0, $a2, 1 +/* C7C5C 800C705C 00074040 */ sll $t0, $a3, 1 +/* C7C60 800C7060 3C12800E */ lui $s2, %hi(gzip_inflate_input) +/* C7C64 800C7064 3C11800E */ lui $s1, %hi(gzip_inflate_output) +/* C7C68 800C7068 3C198013 */ lui $t9, %hi(gzip_bit_buffer) +/* C7C6C 800C706C 3C108013 */ lui $s0, %hi(gzip_num_bits) +/* C7C70 800C7070 01621821 */ addu $v1, $t3, $v0 +/* C7C74 800C7074 01684821 */ addu $t1, $t3, $t0 +/* C7C78 800C7078 8E523768 */ lw $s2, %lo(gzip_inflate_input)($s2) +/* C7C7C 800C707C 8E31376C */ lw $s1, %lo(gzip_inflate_output)($s1) +/* C7C80 800C7080 8F39AAD0 */ lw $t9, %lo(gzip_bit_buffer)($t9) +/* C7C84 800C7084 8E10AAD4 */ lw $s0, %lo(gzip_num_bits)($s0) +/* C7C88 800C7088 946D0000 */ lhu $t5, 0x0($v1) +/* C7C8C 800C708C 952C0000 */ lhu $t4, 0x0($t1) +.L800C7090: +/* C7C90 800C7090 0206082B */ sltu $at, $s0, $a2 +.L800C7094: +/* C7C94 800C7094 50200009 */ beql $at, $zero, .L800C70BC +/* C7C98 800C7098 032D1024 */ and $v0, $t9, $t5 +.L800C709C: +/* C7C9C 800C709C 92420000 */ lbu $v0, 0x0($s2) +/* C7CA0 800C70A0 26520001 */ addiu $s2, $s2, 0x1 +/* C7CA4 800C70A4 02021004 */ sllv $v0, $v0, $s0 +/* C7CA8 800C70A8 26100008 */ addiu $s0, $s0, 0x8 +/* C7CAC 800C70AC 0206082A */ slt $at, $s0, $a2 +/* C7CB0 800C70B0 1420FFFA */ bnez $at, .L800C709C +/* C7CB4 800C70B4 0322C825 */ or $t9, $t9, $v0 +/* C7CB8 800C70B8 032D1024 */ and $v0, $t9, $t5 +.L800C70BC: +/* C7CBC 800C70BC 000210C0 */ sll $v0, $v0, 3 +/* C7CC0 800C70C0 00827821 */ addu $t7, $a0, $v0 +/* C7CC4 800C70C4 91F80000 */ lbu $t8, 0x0($t7) +/* C7CC8 800C70C8 2B010011 */ slti $at, $t8, 0x11 +/* C7CCC 800C70CC 5420001A */ bnel $at, $zero, .L800C7138 +/* C7CD0 800C70D0 91E20001 */ lbu $v0, 0x1($t7) +/* C7CD4 800C70D4 81E30001 */ lb $v1, 0x1($t7) +.L800C70D8: +/* C7CD8 800C70D8 2318FFF0 */ addi $t8, $t8, -0x10 /* handwritten instruction */ +/* C7CDC 800C70DC 02038022 */ sub $s0, $s0, $v1 /* handwritten instruction */ +/* C7CE0 800C70E0 0218082B */ sltu $at, $s0, $t8 +/* C7CE4 800C70E4 10200008 */ beqz $at, .L800C7108 +/* C7CE8 800C70E8 0079C806 */ srlv $t9, $t9, $v1 +.L800C70EC: +/* C7CEC 800C70EC 92420000 */ lbu $v0, 0x0($s2) +/* C7CF0 800C70F0 26520001 */ addiu $s2, $s2, 0x1 +/* C7CF4 800C70F4 02021004 */ sllv $v0, $v0, $s0 +/* C7CF8 800C70F8 26100008 */ addiu $s0, $s0, 0x8 +/* C7CFC 800C70FC 0218082A */ slt $at, $s0, $t8 +/* C7D00 800C7100 1420FFFA */ bnez $at, .L800C70EC +/* C7D04 800C7104 0322C825 */ or $t9, $t9, $v0 +.L800C7108: +/* C7D08 800C7108 00181040 */ sll $v0, $t8, 1 +/* C7D0C 800C710C 004B1021 */ addu $v0, $v0, $t3 +/* C7D10 800C7110 94490000 */ lhu $t1, 0x0($v0) +/* C7D14 800C7114 8DE80004 */ lw $t0, 0x4($t7) +/* C7D18 800C7118 01394824 */ and $t1, $t1, $t9 +/* C7D1C 800C711C 000948C0 */ sll $t1, $t1, 3 +/* C7D20 800C7120 01097820 */ add $t7, $t0, $t1 /* handwritten instruction */ +/* C7D24 800C7124 91F80000 */ lbu $t8, 0x0($t7) +/* C7D28 800C7128 2F010011 */ sltiu $at, $t8, 0x11 +/* C7D2C 800C712C 5020FFEA */ beql $at, $zero, .L800C70D8 +/* C7D30 800C7130 81E30001 */ lb $v1, 0x1($t7) +/* C7D34 800C7134 91E20001 */ lbu $v0, 0x1($t7) +.L800C7138: +/* C7D38 800C7138 24010010 */ addiu $at, $zero, 0x10 +/* C7D3C 800C713C 0059C806 */ srlv $t9, $t9, $v0 +/* C7D40 800C7140 17010005 */ bne $t8, $at, .L800C7158 +/* C7D44 800C7144 02028022 */ sub $s0, $s0, $v0 /* handwritten instruction */ +/* C7D48 800C7148 95E20004 */ lhu $v0, 0x4($t7) +/* C7D4C 800C714C 26310001 */ addiu $s1, $s1, 0x1 +/* C7D50 800C7150 08031C24 */ j .L800C7090 +/* C7D54 800C7154 A222FFFF */ sb $v0, -0x1($s1) +.L800C7158: +/* C7D58 800C7158 2401000F */ addiu $at, $zero, 0xF +/* C7D5C 800C715C 13010068 */ beq $t8, $at, .L800C7300 +/* C7D60 800C7160 0218082B */ sltu $at, $s0, $t8 +/* C7D64 800C7164 50200009 */ beql $at, $zero, .L800C718C +/* C7D68 800C7168 00181040 */ sll $v0, $t8, 1 +.L800C716C: +/* C7D6C 800C716C 92420000 */ lbu $v0, 0x0($s2) +/* C7D70 800C7170 26520001 */ addiu $s2, $s2, 0x1 +/* C7D74 800C7174 02021004 */ sllv $v0, $v0, $s0 +/* C7D78 800C7178 26100008 */ addiu $s0, $s0, 0x8 +/* C7D7C 800C717C 0218082A */ slt $at, $s0, $t8 +/* C7D80 800C7180 1420FFFA */ bnez $at, .L800C716C +/* C7D84 800C7184 0322C825 */ or $t9, $t9, $v0 +/* C7D88 800C7188 00181040 */ sll $v0, $t8, 1 +.L800C718C: +/* C7D8C 800C718C 004B1021 */ addu $v0, $v0, $t3 +/* C7D90 800C7190 94490000 */ lhu $t1, 0x0($v0) +/* C7D94 800C7194 95E80004 */ lhu $t0, 0x4($t7) +/* C7D98 800C7198 02188022 */ sub $s0, $s0, $t8 /* handwritten instruction */ +/* C7D9C 800C719C 0207082B */ sltu $at, $s0, $a3 +/* C7DA0 800C71A0 01394824 */ and $t1, $t1, $t9 +/* C7DA4 800C71A4 0319C806 */ srlv $t9, $t9, $t8 +/* C7DA8 800C71A8 10200008 */ beqz $at, .L800C71CC +/* C7DAC 800C71AC 01097021 */ addu $t6, $t0, $t1 +.L800C71B0: +/* C7DB0 800C71B0 92420000 */ lbu $v0, 0x0($s2) +/* C7DB4 800C71B4 26520001 */ addiu $s2, $s2, 0x1 +/* C7DB8 800C71B8 02021004 */ sllv $v0, $v0, $s0 +/* C7DBC 800C71BC 26100008 */ addiu $s0, $s0, 0x8 +/* C7DC0 800C71C0 0207082A */ slt $at, $s0, $a3 +/* C7DC4 800C71C4 1420FFFA */ bnez $at, .L800C71B0 +/* C7DC8 800C71C8 0322C825 */ or $t9, $t9, $v0 +.L800C71CC: +/* C7DCC 800C71CC 01991024 */ and $v0, $t4, $t9 +/* C7DD0 800C71D0 000210C0 */ sll $v0, $v0, 3 +/* C7DD4 800C71D4 00A27821 */ addu $t7, $a1, $v0 +/* C7DD8 800C71D8 91F80000 */ lbu $t8, 0x0($t7) +/* C7DDC 800C71DC 2B010011 */ slti $at, $t8, 0x11 +/* C7DE0 800C71E0 5420001A */ bnel $at, $zero, .L800C724C +/* C7DE4 800C71E4 91E20001 */ lbu $v0, 0x1($t7) +/* C7DE8 800C71E8 91E80001 */ lbu $t0, 0x1($t7) +.L800C71EC: +/* C7DEC 800C71EC 2318FFF0 */ addi $t8, $t8, -0x10 /* handwritten instruction */ +/* C7DF0 800C71F0 02088022 */ sub $s0, $s0, $t0 /* handwritten instruction */ +/* C7DF4 800C71F4 0218082B */ sltu $at, $s0, $t8 +/* C7DF8 800C71F8 10200008 */ beqz $at, .L800C721C +/* C7DFC 800C71FC 0119C806 */ srlv $t9, $t9, $t0 +.L800C7200: +/* C7E00 800C7200 92420000 */ lbu $v0, 0x0($s2) +/* C7E04 800C7204 26520001 */ addiu $s2, $s2, 0x1 +/* C7E08 800C7208 02021004 */ sllv $v0, $v0, $s0 +/* C7E0C 800C720C 26100008 */ addiu $s0, $s0, 0x8 +/* C7E10 800C7210 0218082A */ slt $at, $s0, $t8 +/* C7E14 800C7214 1420FFFA */ bnez $at, .L800C7200 +/* C7E18 800C7218 0322C825 */ or $t9, $t9, $v0 +.L800C721C: +/* C7E1C 800C721C 00181040 */ sll $v0, $t8, 1 +/* C7E20 800C7220 004B1021 */ addu $v0, $v0, $t3 +/* C7E24 800C7224 94490000 */ lhu $t1, 0x0($v0) +/* C7E28 800C7228 8DE80004 */ lw $t0, 0x4($t7) +/* C7E2C 800C722C 01394824 */ and $t1, $t1, $t9 +/* C7E30 800C7230 000948C0 */ sll $t1, $t1, 3 +/* C7E34 800C7234 01097821 */ addu $t7, $t0, $t1 +/* C7E38 800C7238 91F80000 */ lbu $t8, 0x0($t7) +/* C7E3C 800C723C 2F010011 */ sltiu $at, $t8, 0x11 +/* C7E40 800C7240 5020FFEA */ beql $at, $zero, .L800C71EC +/* C7E44 800C7244 91E80001 */ lbu $t0, 0x1($t7) +/* C7E48 800C7248 91E20001 */ lbu $v0, 0x1($t7) +.L800C724C: +/* C7E4C 800C724C 02028022 */ sub $s0, $s0, $v0 /* handwritten instruction */ +/* C7E50 800C7250 0218082B */ sltu $at, $s0, $t8 +/* C7E54 800C7254 10200008 */ beqz $at, .L800C7278 +/* C7E58 800C7258 0059C806 */ srlv $t9, $t9, $v0 +.L800C725C: +/* C7E5C 800C725C 92420000 */ lbu $v0, 0x0($s2) +/* C7E60 800C7260 26520001 */ addiu $s2, $s2, 0x1 +/* C7E64 800C7264 02021004 */ sllv $v0, $v0, $s0 +/* C7E68 800C7268 26100008 */ addiu $s0, $s0, 0x8 +/* C7E6C 800C726C 0218082A */ slt $at, $s0, $t8 +/* C7E70 800C7270 1420FFFA */ bnez $at, .L800C725C +/* C7E74 800C7274 0322C825 */ or $t9, $t9, $v0 +.L800C7278: +/* C7E78 800C7278 00181040 */ sll $v0, $t8, 1 +/* C7E7C 800C727C 004B1021 */ addu $v0, $v0, $t3 +/* C7E80 800C7280 94490000 */ lhu $t1, 0x0($v0) +/* C7E84 800C7284 95E30004 */ lhu $v1, 0x4($t7) +/* C7E88 800C7288 31C20003 */ andi $v0, $t6, 0x3 +/* C7E8C 800C728C 01394824 */ and $t1, $t1, $t9 +/* C7E90 800C7290 02234022 */ sub $t0, $s1, $v1 /* handwritten instruction */ +/* C7E94 800C7294 01094022 */ sub $t0, $t0, $t1 /* handwritten instruction */ +/* C7E98 800C7298 0319C806 */ srlv $t9, $t9, $t8 +/* C7E9C 800C729C 1040000A */ beqz $v0, .L800C72C8 +/* C7EA0 800C72A0 02188022 */ sub $s0, $s0, $t8 /* handwritten instruction */ +/* C7EA4 800C72A4 01C27022 */ sub $t6, $t6, $v0 /* handwritten instruction */ +.L800C72A8: +/* C7EA8 800C72A8 910A0000 */ lbu $t2, 0x0($t0) +/* C7EAC 800C72AC 2042FFFF */ addi $v0, $v0, -0x1 /* handwritten instruction */ +/* C7EB0 800C72B0 21080001 */ addi $t0, $t0, 0x1 /* handwritten instruction */ +/* C7EB4 800C72B4 22310001 */ addi $s1, $s1, 0x1 /* handwritten instruction */ +/* C7EB8 800C72B8 1440FFFB */ bnez $v0, .L800C72A8 +/* C7EBC 800C72BC A22AFFFF */ sb $t2, -0x1($s1) +/* C7EC0 800C72C0 51C0FF74 */ beql $t6, $zero, .L800C7094 +/* C7EC4 800C72C4 0206082B */ sltu $at, $s0, $a2 +.L800C72C8: +/* C7EC8 800C72C8 91020000 */ lbu $v0, 0x0($t0) +/* C7ECC 800C72CC 25CEFFFC */ addiu $t6, $t6, -0x4 +/* C7ED0 800C72D0 25080004 */ addiu $t0, $t0, 0x4 +/* C7ED4 800C72D4 A2220000 */ sb $v0, 0x0($s1) +/* C7ED8 800C72D8 9103FFFD */ lbu $v1, -0x3($t0) +/* C7EDC 800C72DC 26310004 */ addiu $s1, $s1, 0x4 +/* C7EE0 800C72E0 A223FFFD */ sb $v1, -0x3($s1) +/* C7EE4 800C72E4 9109FFFE */ lbu $t1, -0x2($t0) +/* C7EE8 800C72E8 A229FFFE */ sb $t1, -0x2($s1) +/* C7EEC 800C72EC 910AFFFF */ lbu $t2, -0x1($t0) +/* C7EF0 800C72F0 15C0FFF5 */ bnez $t6, .L800C72C8 +/* C7EF4 800C72F4 A22AFFFF */ sb $t2, -0x1($s1) +/* C7EF8 800C72F8 08031C24 */ j .L800C7090 +/* C7EFC 800C72FC 00000000 */ nop +.L800C7300: +/* C7F00 800C7300 3C01800E */ lui $at, %hi(gzip_inflate_input) +/* C7F04 800C7304 AC323768 */ sw $s2, %lo(gzip_inflate_input)($at) +/* C7F08 800C7308 3C01800E */ lui $at, %hi(gzip_inflate_output) +/* C7F0C 800C730C AC31376C */ sw $s1, %lo(gzip_inflate_output)($at) +/* C7F10 800C7310 3C018013 */ lui $at, %hi(gzip_bit_buffer) +/* C7F14 800C7314 AC39AAD0 */ sw $t9, %lo(gzip_bit_buffer)($at) +/* C7F18 800C7318 3C018013 */ lui $at, %hi(gzip_num_bits) +/* C7F1C 800C731C AC30AAD4 */ sw $s0, %lo(gzip_num_bits)($at) +/* C7F20 800C7320 8FB20008 */ lw $s2, 0x8($sp) +/* C7F24 800C7324 8FB10004 */ lw $s1, 0x4($sp) +/* C7F28 800C7328 8FB00000 */ lw $s0, 0x0($sp) +/* C7F2C 800C732C 03E00008 */ jr $ra +/* C7F30 800C7330 27BD0010 */ addiu $sp, $sp, 0x10 +.end gzip_inflate_codes diff --git a/src/hasm/header.s b/src/hasm/header.s new file mode 100644 index 00000000..f3a344f8 --- /dev/null +++ b/src/hasm/header.s @@ -0,0 +1,59 @@ +.section .data + +.word 0x80371240 /* PI BSB Domain 1 register */ +.word 0x0000000F /* Clockrate setting */ +.ifdef BOOT_6102 +.word 0x80000400 /* Entrypoint address */ +.else +.word 0x80100400 /* Entrypoint address */ +.endif +.word 0x00001447 /* Revision */ + +.ifdef VERSION_us_v77 +.word 0x53D440E7 /* Checksum 1 */ +.word 0x7519B011 /* Checksum 2 */ +.endif +.ifdef VERSION_pal_v77 +.word 0xFD73F775 /* Checksum 1 */ +.word 0x9724755A /* Checksum 2 */ +.endif +.ifdef VERSION_jpn_v79 +.word 0x7435C9BB /* Checksum 1 */ +.word 0x39763CF4 /* Checksum 2 */ +.endif +.ifdef VERSION_us_v80 +.word 0xE402430D /* Checksum 1 */ +.word 0xD2FCFC9D /* Checksum 2 */ +.endif +.ifdef VERSION_pal_v80 +.word 0x596E145B /* Checksum 1 */ +.word 0xF7D9879F /* Checksum 2 */ +.endif + +.word 0x00000000 /* Unknown 1 */ +.word 0x00000000 /* Unknown 2 */ +.ascii "Diddy Kong Racing " /* Internal name */ +.word 0x00000000 /* Unknown 3 */ +.word 0x0000004E /* Cartridge */ +.ascii "DY" /* Cartridge ID */ + +.ifdef VERSION_us_v77 +.ascii "E" /* Country code */ +.byte 0x00 /* Version */ +.endif +.ifdef VERSION_pal_v77 +.ascii "P" /* Country code */ +.byte 0x00 /* Version */ +.endif +.ifdef VERSION_jpn_v79 +.ascii "J" /* Country code */ +.byte 0x00 /* Version */ +.endif +.ifdef VERSION_us_v80 +.ascii "E" /* Country code */ +.byte 0x01 /* Version */ +.endif +.ifdef VERSION_pal_v80 +.ascii "P" /* Country code */ +.byte 0x01 /* Version */ +.endif diff --git a/asm/llmuldiv_gcc.s b/src/hasm/llmuldiv_gcc.s similarity index 93% rename from asm/llmuldiv_gcc.s rename to src/hasm/llmuldiv_gcc.s index 7662aa0e..00be7317 100644 --- a/asm/llmuldiv_gcc.s +++ b/src/hasm/llmuldiv_gcc.s @@ -1,14 +1,11 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C68C0 */ - .ifdef NON_MATCHING -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 +.include "macro.inc" -.include "macros.inc" +/* assembler directives */ +.set noat /* allow manual use of $at */ +.set noreorder /* don't insert nops after branches */ +.set gp=64 /* allow use of 64-bit general purpose registers */ .section .rodata glabel D_800E9550 @@ -28,7 +25,7 @@ glabel D_800E9558 /* TODO: Is there a non-insane way to fix this hack that doesn't involve the user compiling */ /* a library themselves? */ -glabel __umoddi3 +leaf __umoddi3 sw $a0, ($sp) sw $a1, 4($sp) sw $a2, 8($sp) @@ -45,8 +42,9 @@ glabel __umoddi3 dsra32 $v1, $v1, 0 jr $ra dsra32 $v0, $v0, 0 +.end __umoddi3 -glabel __udivdi3 +leaf __udivdi3 sw $a0, ($sp) sw $a1, 4($sp) sw $a2, 8($sp) @@ -63,8 +61,9 @@ glabel __udivdi3 dsra32 $v1, $v1, 0 jr $ra dsra32 $v0, $v0, 0 +.end __udivdi3 -glabel __moddi3 +leaf __moddi3 sw $a0, ($sp) sw $a1, 4($sp) sw $a2, 8($sp) @@ -81,8 +80,9 @@ glabel __moddi3 dsra32 $v1, $v1, 0 jr $ra dsra32 $v0, $v0, 0 +.end __moddi3 -glabel __divdi3 +leaf __divdi3 sw $a0, ($sp) sw $a1, 4($sp) sw $a2, 8($sp) @@ -108,8 +108,9 @@ glabel __divdi3 dsra32 $v1, $v1, 0 jr $ra dsra32 $v0, $v0, 0 +.end __divdi3 -glabel __d_to_ll +leaf __d_to_ll /* 0CA730 800C9B30 46206109 */ trunc.l.d $f4, $f12 /* 0CA734 800C9B34 44222000 */ dmfc1 $v0, $f4 /* 0CA738 800C9B38 00000000 */ nop @@ -117,7 +118,9 @@ glabel __d_to_ll /* 0CA740 800C9B40 0003183F */ dsra32 $v1, $v1, 0 /* 0CA744 800C9B44 03E00008 */ jr $ra /* 0CA748 800C9B48 0002103F */ dsra32 $v0, $v0, 0 -glabel __f_to_ll +.end __d_to_ll + +leaf __f_to_ll /* 0CA74C 800C9B4C 46006109 */ trunc.l.s $f4, $f12 /* 0CA750 800C9B50 44222000 */ dmfc1 $v0, $f4 /* 0CA754 800C9B54 00000000 */ nop @@ -125,8 +128,9 @@ glabel __f_to_ll /* 0CA75C 800C9B5C 0003183F */ dsra32 $v1, $v1, 0 /* 0CA760 800C9B60 03E00008 */ jr $ra /* 0CA764 800C9B64 0002103F */ dsra32 $v0, $v0, 0 +.end __f_to_ll -glabel __d_to_ull +leaf __d_to_ull /* 0CA768 800C9B68 444EF800 */ cfc1 $t6, $31 /* 0CA76C 800C9B6C 24020001 */ li $v0, 1 /* 0CA770 800C9B70 44C2F800 */ ctc1 $v0, $31 @@ -170,8 +174,9 @@ glabel __d_to_ull /* 0CA7FC 800C9BFC 0003183F */ dsra32 $v1, $v1, 0 /* 0CA800 800C9C00 03E00008 */ jr $ra /* 0CA804 800C9C04 0002103F */ dsra32 $v0, $v0, 0 +.end __d_to_ull -glabel __f_to_ull +leaf __f_to_ull /* 0CA808 800C9C08 444EF800 */ cfc1 $t6, $31 /* 0CA80C 800C9C0C 24020001 */ li $v0, 1 /* 0CA810 800C9C10 44C2F800 */ ctc1 $v0, $31 @@ -214,24 +219,27 @@ glabel __f_to_ull /* 0CA898 800C9C98 0003183F */ dsra32 $v1, $v1, 0 /* 0CA89C 800C9C9C 03E00008 */ jr $ra /* 0CA8A0 800C9CA0 0002103F */ dsra32 $v0, $v0, 0 +.end __f_to_ull -glabel __ll_to_d +leaf __ll_to_d /* 0CA8A4 800C9CA4 AFA40000 */ sw $a0, ($sp) /* 0CA8A8 800C9CA8 AFA50004 */ sw $a1, 4($sp) /* 0CA8AC 800C9CAC DFAE0000 */ ld $t6, ($sp) /* 0CA8B0 800C9CB0 44AE2000 */ dmtc1 $t6, $f4 /* 0CA8B4 800C9CB4 03E00008 */ jr $ra /* 0CA8B8 800C9CB8 46A02021 */ cvt.d.l $f0, $f4 +.end __ll_to_d -glabel __ll_to_f +leaf __ll_to_f /* 0CA8BC 800C9CBC AFA40000 */ sw $a0, ($sp) /* 0CA8C0 800C9CC0 AFA50004 */ sw $a1, 4($sp) /* 0CA8C4 800C9CC4 DFAE0000 */ ld $t6, ($sp) /* 0CA8C8 800C9CC8 44AE2000 */ dmtc1 $t6, $f4 /* 0CA8CC 800C9CCC 03E00008 */ jr $ra /* 0CA8D0 800C9CD0 46A02020 */ cvt.s.l $f0, $f4 +.end __ll_to_f -glabel __ull_to_d +leaf __ull_to_d /* 0CA8D4 800C9CD4 AFA40000 */ sw $a0, ($sp) /* 0CA8D8 800C9CD8 AFA50004 */ sw $a1, 4($sp) /* 0CA8DC 800C9CDC DFAE0000 */ ld $t6, ($sp) @@ -246,8 +254,9 @@ glabel __ull_to_d .L800C9D00: /* 0CA900 800C9D00 03E00008 */ jr $ra /* 0CA904 800C9D04 00000000 */ nop +.end __ull_to_d -glabel __ull_to_f +leaf __ull_to_f /* 0CA908 800C9D08 AFA40000 */ sw $a0, ($sp) /* 0CA90C 800C9D0C AFA50004 */ sw $a1, 4($sp) /* 0CA910 800C9D10 DFAE0000 */ ld $t6, ($sp) @@ -261,7 +270,6 @@ glabel __ull_to_f .L800C9D30: /* 0CA930 800C9D30 03E00008 */ jr $ra /* 0CA934 800C9D34 00000000 */ nop +.end __ull_to_f -/* 0CA938 800C9D38 00000000 */ nop -/* 0CA93C 800C9D3C 00000000 */ nop .endif diff --git a/src/math_util.c b/src/hasm/math_util.c similarity index 99% rename from src/math_util.c rename to src/hasm/math_util.c index 632ccf5a..b8fb3734 100644 --- a/src/math_util.c +++ b/src/hasm/math_util.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8006F510 */ - #include "math_util.h" #include diff --git a/src/hasm/math_util.s b/src/hasm/math_util.s new file mode 100644 index 00000000..fa3077d3 --- /dev/null +++ b/src/hasm/math_util.s @@ -0,0 +1,1612 @@ +.include "macro.inc" + +/* assembler directives */ +.set noat /* allow manual use of $at */ +.set noreorder /* don't insert nops after branches */ +.set gp=64 /* allow use of 64-bit general purpose registers */ + +.section .data + +glabel gIntDisFlag +.word 0x00000000 + +glabel gCurrentRNGSeed +.word 0x5141564D # Some magic number related to RNG? + +glabel gPrevRNGSeed +.word 0x5141564D + +glabel gSineTable +.half 0x0000, 0x0032, 0x0065, 0x0097, 0x00C9, 0x00FB, 0x012E, 0x0160, 0x0192, 0x01C4, 0x01F7, 0x0229, 0x025B, 0x028D, 0x02C0, 0x02F2, 0x0324, 0x0356, 0x0389, 0x03BB, 0x03ED, 0x041F, 0x0452, 0x0484, 0x04B6, 0x04E8, 0x051B, 0x054D, 0x057F, 0x05B1, 0x05E3, 0x0616, 0x0648, 0x067A, 0x06AC, 0x06DE, 0x0711, 0x0743, 0x0775, 0x07A7, 0x07D9, 0x080C, 0x083E, 0x0870, 0x08A2, 0x08D4, 0x0906, 0x0938, 0x096B, 0x099D, 0x09CF, 0x0A01, 0x0A33, 0x0A65, 0x0A97, 0x0AC9, 0x0AFB, 0x0B2D, 0x0B60, 0x0B92, 0x0BC4, 0x0BF6, 0x0C28, 0x0C5A, 0x0C8C, 0x0CBE, 0x0CF0, 0x0D22, 0x0D54, 0x0D86, 0x0DB8, 0x0DEA, 0x0E1C, 0x0E4E, 0x0E80, 0x0EB2, 0x0EE4, 0x0F15, 0x0F47, 0x0F79, 0x0FAB, 0x0FDD, 0x100F, 0x1041, 0x1073, 0x10A4, 0x10D6, 0x1108, 0x113A, 0x116C, 0x119E, 0x11CF, 0x1201, 0x1233, 0x1265, 0x1296, 0x12C8, 0x12FA, 0x132B, 0x135D, 0x138F, 0x13C1, 0x13F2, 0x1424, 0x1455, 0x1487, 0x14B9, 0x14EA, 0x151C, 0x154D, 0x157F, 0x15B1, 0x15E2, 0x1614, 0x1645, 0x1677, 0x16A8, 0x16DA, 0x170B, 0x173C, 0x176E, 0x179F, 0x17D1, 0x1802, 0x1833, 0x1865, 0x1896, 0x18C7, 0x18F9, 0x192A, 0x195B, 0x198D, 0x19BE, 0x19EF, 0x1A20, 0x1A51, 0x1A83, 0x1AB4, 0x1AE5, 0x1B16, 0x1B47, 0x1B78, 0x1BA9, 0x1BDA, 0x1C0C, 0x1C3D, 0x1C6E, 0x1C9F, 0x1CD0, 0x1D01, 0x1D31, 0x1D62, 0x1D93, 0x1DC4, 0x1DF5, 0x1E26, 0x1E57, 0x1E88, 0x1EB8, 0x1EE9, 0x1F1A, 0x1F4B, 0x1F7B, 0x1FAC, 0x1FDD, 0x200E, 0x203E, 0x206F, 0x209F, 0x20D0, 0x2101, 0x2131, 0x2162, 0x2192, 0x21C3, 0x21F3, 0x2224, 0x2254, 0x2284, 0x22B5, 0x22E5, 0x2316, 0x2346, 0x2376, 0x23A7, 0x23D7, 0x2407, 0x2437, 0x2467, 0x2498, 0x24C8, 0x24F8, 0x2528, 0x2558, 0x2588, 0x25B8, 0x25E8, 0x2618, 0x2648, 0x2678, 0x26A8, 0x26D8, 0x2708, 0x2738, 0x2768, 0x2797, 0x27C7, 0x27F7, 0x2827, 0x2856, 0x2886, 0x28B6, 0x28E5, 0x2915, 0x2945, 0x2974, 0x29A4, 0x29D3, 0x2A03, 0x2A32, 0x2A62, 0x2A91, 0x2AC1, 0x2AF0, 0x2B1F, 0x2B4F, 0x2B7E, 0x2BAD, 0x2BDC, 0x2C0C, 0x2C3B, 0x2C6A, 0x2C99, 0x2CC8, 0x2CF7, 0x2D26, 0x2D55, 0x2D84, 0x2DB3, 0x2DE2, 0x2E11, 0x2E40, 0x2E6F, 0x2E9E, 0x2ECC, 0x2EFB, 0x2F2A, 0x2F59, 0x2F87, 0x2FB6, 0x2FE5, 0x3013, 0x3042, 0x3070, 0x309F, 0x30CD, 0x30FC, 0x312A, 0x3159, 0x3187, 0x31B5, 0x31E4, 0x3212, 0x3240, 0x326E, 0x329D, 0x32CB, 0x32F9, 0x3327, 0x3355, 0x3383, 0x33B1, 0x33DF, 0x340D, 0x343B, 0x3469, 0x3497, 0x34C4, 0x34F2, 0x3520, 0x354E, 0x357B, 0x35A9, 0x35D7, 0x3604, 0x3632, 0x365F, 0x368D, 0x36BA, 0x36E8, 0x3715, 0x3742, 0x3770, 0x379D, 0x37CA, 0x37F7, 0x3825, 0x3852, 0x387F, 0x38AC, 0x38D9, 0x3906, 0x3933, 0x3960, 0x398D, 0x39BA, 0x39E7, 0x3A13, 0x3A40, 0x3A6D, 0x3A9A, 0x3AC6, 0x3AF3, 0x3B20, 0x3B4C, 0x3B79, 0x3BA5, 0x3BD2, 0x3BFE, 0x3C2A, 0x3C57, 0x3C83, 0x3CAF, 0x3CDC, 0x3D08, 0x3D34, 0x3D60, 0x3D8C, 0x3DB8, 0x3DE4, 0x3E10, 0x3E3C, 0x3E68, 0x3E94, 0x3EC0, 0x3EEC, 0x3F17, 0x3F43, 0x3F6F, 0x3F9A, 0x3FC6, 0x3FF1, 0x401D, 0x4048, 0x4074, 0x409F, 0x40CB, 0x40F6, 0x4121, 0x414D, 0x4178, 0x41A3, 0x41CE, 0x41F9, 0x4224, 0x424F, 0x427A, 0x42A5, 0x42D0, 0x42FB, 0x4326, 0x4351, 0x437B, 0x43A6, 0x43D1, 0x43FB, 0x4426, 0x4450, 0x447B, 0x44A5, 0x44D0, 0x44FA, 0x4524, 0x454F, 0x4579, 0x45A3, 0x45CD, 0x45F7, 0x4621, 0x464B, 0x4675, 0x469F, 0x46C9, 0x46F3, 0x471D, 0x4747, 0x4770, 0x479A, 0x47C4, 0x47ED, 0x4817, 0x4840, 0x486A, 0x4893, 0x48BD, 0x48E6, 0x490F, 0x4939, 0x4962, 0x498B, 0x49B4, 0x49DD, 0x4A06, 0x4A2F, 0x4A58, 0x4A81, 0x4AAA, 0x4AD3, 0x4AFB, 0x4B24, 0x4B4D, 0x4B75, 0x4B9E, 0x4BC7, 0x4BEF, 0x4C17, 0x4C40, 0x4C68, 0x4C91, 0x4CB9, 0x4CE1, 0x4D09, 0x4D31, 0x4D59, 0x4D81, 0x4DA9, 0x4DD1, 0x4DF9, 0x4E21, 0x4E49, 0x4E71, 0x4E98, 0x4EC0, 0x4EE8, 0x4F0F, 0x4F37, 0x4F5E, 0x4F85, 0x4FAD, 0x4FD4, 0x4FFB, 0x5023, 0x504A, 0x5071, 0x5098, 0x50BF, 0x50E6, 0x510D, 0x5134, 0x515B, 0x5181, 0x51A8, 0x51CF, 0x51F5, 0x521C, 0x5243, 0x5269, 0x5290, 0x52B6, 0x52DC, 0x5303, 0x5329, 0x534F, 0x5375, 0x539B, 0x53C1, 0x53E7, 0x540D, 0x5433, 0x5459, 0x547F, 0x54A4, 0x54CA, 0x54F0, 0x5515, 0x553B, 0x5560, 0x5586, 0x55AB, 0x55D0, 0x55F6, 0x561B, 0x5640, 0x5665, 0x568A, 0x56AF, 0x56D4, 0x56F9, 0x571E, 0x5743, 0x5767, 0x578C, 0x57B1, 0x57D5, 0x57FA, 0x581E, 0x5843, 0x5867, 0x588C, 0x58B0, 0x58D4, 0x58F8, 0x591C, 0x5940, 0x5964, 0x5988, 0x59AC, 0x59D0, 0x59F4, 0x5A18, 0x5A3B, 0x5A5F, 0x5A82, 0x5AA6, 0x5AC9, 0x5AED, 0x5B10, 0x5B34, 0x5B57, 0x5B7A, 0x5B9D, 0x5BC0, 0x5BE3, 0x5C06, 0x5C29, 0x5C4C, 0x5C6F, 0x5C91, 0x5CB4, 0x5CD7, 0x5CF9, 0x5D1C, 0x5D3E, 0x5D61, 0x5D83, 0x5DA5, 0x5DC8, 0x5DEA, 0x5E0C, 0x5E2E, 0x5E50, 0x5E72, 0x5E94, 0x5EB6, 0x5ED7, 0x5EF9, 0x5F1B, 0x5F3C, 0x5F5E, 0x5F80, 0x5FA1, 0x5FC2, 0x5FE4, 0x6005, 0x6026, 0x6047, 0x6068, 0x6089, 0x60AA, 0x60CB, 0x60EC, 0x610D, 0x612E, 0x614E, 0x616F, 0x6190, 0x61B0, 0x61D1, 0x61F1, 0x6211, 0x6232, 0x6252, 0x6272, 0x6292, 0x62B2, 0x62D2, 0x62F2, 0x6312, 0x6332, 0x6351, 0x6371, 0x6391, 0x63B0, 0x63D0, 0x63EF, 0x640F, 0x642E, 0x644D, 0x646C, 0x648B, 0x64AB, 0x64CA, 0x64E9, 0x6507, 0x6526, 0x6545, 0x6564, 0x6582, 0x65A1, 0x65C0, 0x65DE, 0x65FC, 0x661B, 0x6639, 0x6657, 0x6675, 0x6693, 0x66B2, 0x66D0, 0x66ED, 0x670B, 0x6729, 0x6747, 0x6764, 0x6782, 0x67A0, 0x67BD, 0x67DA, 0x67F8, 0x6815, 0x6832, 0x6850, 0x686D, 0x688A, 0x68A7, 0x68C4, 0x68E0, 0x68FD, 0x691A, 0x6937, 0x6953, 0x6970, 0x698C, 0x69A9, 0x69C5, 0x69E1, 0x69FD, 0x6A1A, 0x6A36, 0x6A52, 0x6A6E, 0x6A89, 0x6AA5, 0x6AC1, 0x6ADD, 0x6AF8, 0x6B14, 0x6B30, 0x6B4B, 0x6B66, 0x6B82, 0x6B9D, 0x6BB8, 0x6BD3, 0x6BEE, 0x6C09, 0x6C24, 0x6C3F, 0x6C5A, 0x6C75, 0x6C8F, 0x6CAA, 0x6CC4, 0x6CDF, 0x6CF9, 0x6D14, 0x6D2E, 0x6D48, 0x6D62, 0x6D7C, 0x6D96, 0x6DB0, 0x6DCA, 0x6DE4, 0x6DFE, 0x6E17, 0x6E31, 0x6E4A, 0x6E64, 0x6E7D, 0x6E97, 0x6EB0, 0x6EC9, 0x6EE2, 0x6EFB, 0x6F14, 0x6F2D, 0x6F46, 0x6F5F, 0x6F78, 0x6F90, 0x6FA9, 0x6FC2, 0x6FDA, 0x6FF2, 0x700B, 0x7023, 0x703B, 0x7053, 0x706B, 0x7083, 0x709B, 0x70B3, 0x70CB, 0x70E3, 0x70FA, 0x7112, 0x712A, 0x7141, 0x7158, 0x7170, 0x7187, 0x719E, 0x71B5, 0x71CC, 0x71E3, 0x71FA, 0x7211, 0x7228, 0x723F, 0x7255, 0x726C, 0x7282, 0x7299, 0x72AF, 0x72C5, 0x72DC, 0x72F2, 0x7308, 0x731E, 0x7334, 0x734A, 0x735F, 0x7375, 0x738B, 0x73A0, 0x73B6, 0x73CB, 0x73E1, 0x73F6, 0x740B, 0x7421, 0x7436, 0x744B, 0x7460, 0x7475, 0x7489, 0x749E, 0x74B3, 0x74C7, 0x74DC, 0x74F0, 0x7505, 0x7519, 0x752D, 0x7542, 0x7556, 0x756A, 0x757E, 0x7592, 0x75A6, 0x75B9, 0x75CD, 0x75E1, 0x75F4, 0x7608, 0x761B, 0x762E, 0x7642, 0x7655, 0x7668, 0x767B, 0x768E, 0x76A1, 0x76B4, 0x76C7, 0x76D9, 0x76EC, 0x76FE, 0x7711, 0x7723, 0x7736, 0x7748, 0x775A, 0x776C, 0x777E, 0x7790, 0x77A2, 0x77B4, 0x77C6, 0x77D8, 0x77E9, 0x77FB, 0x780C, 0x781E, 0x782F, 0x7840, 0x7851, 0x7863, 0x7874, 0x7885, 0x7895, 0x78A6, 0x78B7, 0x78C8, 0x78D8, 0x78E9, 0x78F9, 0x790A, 0x791A, 0x792A, 0x793A, 0x794A, 0x795B, 0x796A, 0x797A, 0x798A, 0x799A, 0x79AA, 0x79B9, 0x79C9, 0x79D8, 0x79E7, 0x79F7, 0x7A06, 0x7A15, 0x7A24, 0x7A33, 0x7A42, 0x7A51, 0x7A60, 0x7A6E, 0x7A7D, 0x7A8C, 0x7A9A, 0x7AA8, 0x7AB7, 0x7AC5, 0x7AD3, 0x7AE1, 0x7AEF, 0x7AFD, 0x7B0B, 0x7B19, 0x7B27, 0x7B34, 0x7B42, 0x7B50, 0x7B5D, 0x7B6A, 0x7B78, 0x7B85, 0x7B92, 0x7B9F, 0x7BAC, 0x7BB9, 0x7BC6, 0x7BD3, 0x7BDF, 0x7BEC, 0x7BF9, 0x7C05, 0x7C11, 0x7C1E, 0x7C2A, 0x7C36, 0x7C42, 0x7C4E, 0x7C5A, 0x7C66, 0x7C72, 0x7C7E, 0x7C89, 0x7C95, 0x7CA0, 0x7CAC, 0x7CB7, 0x7CC2, 0x7CCE, 0x7CD9, 0x7CE4, 0x7CEF, 0x7CFA, 0x7D05, 0x7D0F, 0x7D1A, 0x7D25, 0x7D2F, 0x7D3A, 0x7D44, 0x7D4E, 0x7D58, 0x7D63, 0x7D6D, 0x7D77, 0x7D81, 0x7D8A, 0x7D94, 0x7D9E, 0x7DA7, 0x7DB1, 0x7DBA, 0x7DC4, 0x7DCD, 0x7DD6, 0x7DE0, 0x7DE9, 0x7DF2, 0x7DFB, 0x7E03, 0x7E0C, 0x7E15, 0x7E1E, 0x7E26, 0x7E2F, 0x7E37, 0x7E3F, 0x7E48, 0x7E50, 0x7E58, 0x7E60, 0x7E68, 0x7E70, 0x7E78, 0x7E7F, 0x7E87, 0x7E8E, 0x7E96, 0x7E9D, 0x7EA5, 0x7EAC, 0x7EB3, 0x7EBA, 0x7EC1, 0x7EC8, 0x7ECF, 0x7ED6, 0x7EDD, 0x7EE3, 0x7EEA, 0x7EF0, 0x7EF7, 0x7EFD, 0x7F03, 0x7F0A, 0x7F10, 0x7F16, 0x7F1C, 0x7F22, 0x7F27, 0x7F2D, 0x7F33, 0x7F38, 0x7F3E, 0x7F43, 0x7F49, 0x7F4E, 0x7F53, 0x7F58, 0x7F5D, 0x7F62, 0x7F67, 0x7F6C, 0x7F71, 0x7F75, 0x7F7A, 0x7F7E, 0x7F83, 0x7F87, 0x7F8B, 0x7F90, 0x7F94, 0x7F98, 0x7F9C, 0x7FA0, 0x7FA3, 0x7FA7, 0x7FAB, 0x7FAE, 0x7FB2, 0x7FB5, 0x7FB9, 0x7FBC, 0x7FBF, 0x7FC2, 0x7FC5, 0x7FC8, 0x7FCB, 0x7FCE, 0x7FD1, 0x7FD3, 0x7FD6, 0x7FD9, 0x7FDB, 0x7FDD, 0x7FE0, 0x7FE2, 0x7FE4, 0x7FE6, 0x7FE8, 0x7FEA, 0x7FEC, 0x7FED, 0x7FEF, 0x7FF1, 0x7FF2, 0x7FF4, 0x7FF5, 0x7FF6, 0x7FF7, 0x7FF8, 0x7FF9, 0x7FFA, 0x7FFB, 0x7FFC, 0x7FFD, 0x7FFE, 0x7FFE, 0x7FFF, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0x8000, 0x8000 + +glabel gArcTanTable +.half 0x0000, 0x000A, 0x0014, 0x001F, 0x0029, 0x0033, 0x003D, 0x0047, 0x0051, 0x005C, 0x0066, 0x0070, 0x007A, 0x0084, 0x008F, 0x0099, 0x00A3, 0x00AD, 0x00B7, 0x00C2, 0x00CC, 0x00D6, 0x00E0, 0x00EA, 0x00F4, 0x00FF, 0x0109, 0x0113, 0x011D, 0x0127, 0x0131, 0x013C, 0x0146, 0x0150, 0x015A, 0x0164, 0x016F, 0x0179, 0x0183, 0x018D, 0x0197, 0x01A1, 0x01AC, 0x01B6, 0x01C0, 0x01CA, 0x01D4, 0x01DE, 0x01E9, 0x01F3, 0x01FD, 0x0207, 0x0211, 0x021B, 0x0226, 0x0230, 0x023A, 0x0244, 0x024E, 0x0258, 0x0262, 0x026D, 0x0277, 0x0281, 0x028B, 0x0295, 0x029F, 0x02A9, 0x02B4, 0x02BE, 0x02C8, 0x02D2, 0x02DC, 0x02E6, 0x02F0, 0x02FB, 0x0305, 0x030F, 0x0319, 0x0323, 0x032D, 0x0337, 0x0341, 0x034C, 0x0356, 0x0360, 0x036A, 0x0374, 0x037E, 0x0388, 0x0392, 0x039C, 0x03A7, 0x03B1, 0x03BB, 0x03C5, 0x03CF, 0x03D9, 0x03E3, 0x03ED, 0x03F7, 0x0401, 0x040C, 0x0416, 0x0420, 0x042A, 0x0434, 0x043E, 0x0448, 0x0452, 0x045C, 0x0466, 0x0470, 0x047A, 0x0484, 0x048E, 0x0499, 0x04A3, 0x04AD, 0x04B7, 0x04C1, 0x04CB, 0x04D5, 0x04DF, 0x04E9, 0x04F3, 0x04FD, 0x0507, 0x0511, 0x051B, 0x0525, 0x052F, 0x0539, 0x0543, 0x054D, 0x0557, 0x0561, 0x056B, 0x0575, 0x057F, 0x0589, 0x0593, 0x059D, 0x05A7, 0x05B1, 0x05BB, 0x05C5, 0x05CF, 0x05D9, 0x05E3, 0x05ED, 0x05F7, 0x0601, 0x060B, 0x0615, 0x061F, 0x0629, 0x0633, 0x063D, 0x0647, 0x0651, 0x065B, 0x0665, 0x066E, 0x0678, 0x0682, 0x068C, 0x0696, 0x06A0, 0x06AA, 0x06B4, 0x06BE, 0x06C8, 0x06D2, 0x06DC, 0x06E5, 0x06EF, 0x06F9, 0x0703, 0x070D, 0x0717, 0x0721, 0x072B, 0x0735, 0x073E, 0x0748, 0x0752, 0x075C, 0x0766, 0x0770, 0x077A, 0x0783, 0x078D, 0x0797, 0x07A1, 0x07AB, 0x07B5, 0x07BE, 0x07C8, 0x07D2, 0x07DC, 0x07E6, 0x07EF, 0x07F9, 0x0803, 0x080D, 0x0817, 0x0820, 0x082A, 0x0834, 0x083E, 0x0848, 0x0851, 0x085B, 0x0865, 0x086F, 0x0878, 0x0882, 0x088C, 0x0896, 0x089F, 0x08A9, 0x08B3, 0x08BD, 0x08C6, 0x08D0, 0x08DA, 0x08E3, 0x08ED, 0x08F7, 0x0901, 0x090A, 0x0914, 0x091E, 0x0927, 0x0931, 0x093B, 0x0944, 0x094E, 0x0958, 0x0961, 0x096B, 0x0975, 0x097E, 0x0988, 0x0992, 0x099B, 0x09A5, 0x09AE, 0x09B8, 0x09C2, 0x09CB, 0x09D5, 0x09DE, 0x09E8, 0x09F2, 0x09FB, 0x0A05, 0x0A0E, 0x0A18, 0x0A22, 0x0A2B, 0x0A35, 0x0A3E, 0x0A48, 0x0A51, 0x0A5B, 0x0A64, 0x0A6E, 0x0A77, 0x0A81, 0x0A8B, 0x0A94, 0x0A9E, 0x0AA7, 0x0AB1, 0x0ABA, 0x0AC4, 0x0ACD, 0x0AD7, 0x0AE0, 0x0AE9, 0x0AF3, 0x0AFC, 0x0B06, 0x0B0F, 0x0B19, 0x0B22, 0x0B2C, 0x0B35, 0x0B3F, 0x0B48, 0x0B51, 0x0B5B, 0x0B64, 0x0B6E, 0x0B77, 0x0B80, 0x0B8A, 0x0B93, 0x0B9D, 0x0BA6, 0x0BAF, 0x0BB9, 0x0BC2, 0x0BCB, 0x0BD5, 0x0BDE, 0x0BE7, 0x0BF1, 0x0BFA, 0x0C03, 0x0C0D, 0x0C16, 0x0C1F, 0x0C29, 0x0C32, 0x0C3B, 0x0C45, 0x0C4E, 0x0C57, 0x0C60, 0x0C6A, 0x0C73, 0x0C7C, 0x0C86, 0x0C8F, 0x0C98, 0x0CA1, 0x0CAB, 0x0CB4, 0x0CBD, 0x0CC6, 0x0CCF, 0x0CD9, 0x0CE2, 0x0CEB, 0x0CF4, 0x0CFD, 0x0D07, 0x0D10, 0x0D19, 0x0D22, 0x0D2B, 0x0D34, 0x0D3E, 0x0D47, 0x0D50, 0x0D59, 0x0D62, 0x0D6B, 0x0D74, 0x0D7D, 0x0D87, 0x0D90, 0x0D99, 0x0DA2, 0x0DAB, 0x0DB4, 0x0DBD, 0x0DC6, 0x0DCF, 0x0DD8, 0x0DE1, 0x0DEA, 0x0DF3, 0x0DFC, 0x0E05, 0x0E0F, 0x0E18, 0x0E21, 0x0E2A, 0x0E33, 0x0E3C, 0x0E45, 0x0E4E, 0x0E56, 0x0E5F, 0x0E68, 0x0E71, 0x0E7A, 0x0E83, 0x0E8C, 0x0E95, 0x0E9E, 0x0EA7, 0x0EB0, 0x0EB9, 0x0EC2, 0x0ECB, 0x0ED4, 0x0EDC, 0x0EE5, 0x0EEE, 0x0EF7, 0x0F00, 0x0F09, 0x0F12, 0x0F1B, 0x0F23, 0x0F2C, 0x0F35, 0x0F3E, 0x0F47, 0x0F50, 0x0F58, 0x0F61, 0x0F6A, 0x0F73, 0x0F7C, 0x0F84, 0x0F8D, 0x0F96, 0x0F9F, 0x0FA7, 0x0FB0, 0x0FB9, 0x0FC2, 0x0FCA, 0x0FD3, 0x0FDC, 0x0FE5, 0x0FED, 0x0FF6, 0x0FFF, 0x1007, 0x1010, 0x1019, 0x1021, 0x102A, 0x1033, 0x103B, 0x1044, 0x104D, 0x1055, 0x105E, 0x1067, 0x106F, 0x1078, 0x1080, 0x1089, 0x1092, 0x109A, 0x10A3, 0x10AB, 0x10B4, 0x10BC, 0x10C5, 0x10CE, 0x10D6, 0x10DF, 0x10E7, 0x10F0, 0x10F8, 0x1101, 0x1109, 0x1112, 0x111A, 0x1123, 0x112B, 0x1134, 0x113C, 0x1145, 0x114D, 0x1156, 0x115E, 0x1166, 0x116F, 0x1177, 0x1180, 0x1188, 0x1191, 0x1199, 0x11A1, 0x11AA, 0x11B2, 0x11BB, 0x11C3, 0x11CB, 0x11D4, 0x11DC, 0x11E4, 0x11ED, 0x11F5, 0x11FD, 0x1206, 0x120E, 0x1216, 0x121F, 0x1227, 0x122F, 0x1237, 0x1240, 0x1248, 0x1250, 0x1259, 0x1261, 0x1269, 0x1271, 0x127A, 0x1282, 0x128A, 0x1292, 0x129A, 0x12A3, 0x12AB, 0x12B3, 0x12BB, 0x12C3, 0x12CC, 0x12D4, 0x12DC, 0x12E4, 0x12EC, 0x12F4, 0x12FC, 0x1305, 0x130D, 0x1315, 0x131D, 0x1325, 0x132D, 0x1335, 0x133D, 0x1345, 0x134D, 0x1355, 0x135E, 0x1366, 0x136E, 0x1376, 0x137E, 0x1386, 0x138E, 0x1396, 0x139E, 0x13A6, 0x13AE, 0x13B6, 0x13BE, 0x13C6, 0x13CE, 0x13D6, 0x13DE, 0x13E6, 0x13ED, 0x13F5, 0x13FD, 0x1405, 0x140D, 0x1415, 0x141D, 0x1425, 0x142D, 0x1435, 0x143D, 0x1444, 0x144C, 0x1454, 0x145C, 0x1464, 0x146C, 0x1473, 0x147B, 0x1483, 0x148B, 0x1493, 0x149B, 0x14A2, 0x14AA, 0x14B2, 0x14BA, 0x14C1, 0x14C9, 0x14D1, 0x14D9, 0x14E0, 0x14E8, 0x14F0, 0x14F8, 0x14FF, 0x1507, 0x150F, 0x1516, 0x151E, 0x1526, 0x152D, 0x1535, 0x153D, 0x1544, 0x154C, 0x1554, 0x155B, 0x1563, 0x156B, 0x1572, 0x157A, 0x1581, 0x1589, 0x1591, 0x1598, 0x15A0, 0x15A7, 0x15AF, 0x15B7, 0x15BE, 0x15C6, 0x15CD, 0x15D5, 0x15DC, 0x15E4, 0x15EB, 0x15F3, 0x15FA, 0x1602, 0x1609, 0x1611, 0x1618, 0x1620, 0x1627, 0x162F, 0x1636, 0x163E, 0x1645, 0x164C, 0x1654, 0x165B, 0x1663, 0x166A, 0x1671, 0x1679, 0x1680, 0x1688, 0x168F, 0x1696, 0x169E, 0x16A5, 0x16AC, 0x16B4, 0x16BB, 0x16C2, 0x16CA, 0x16D1, 0x16D8, 0x16E0, 0x16E7, 0x16EE, 0x16F6, 0x16FD, 0x1704, 0x170B, 0x1713, 0x171A, 0x1721, 0x1728, 0x1730, 0x1737, 0x173E, 0x1745, 0x174C, 0x1754, 0x175B, 0x1762, 0x1769, 0x1770, 0x1778, 0x177F, 0x1786, 0x178D, 0x1794, 0x179B, 0x17A2, 0x17AA, 0x17B1, 0x17B8, 0x17BF, 0x17C6, 0x17CD, 0x17D4, 0x17DB, 0x17E2, 0x17E9, 0x17F0, 0x17F7, 0x17FE, 0x1806, 0x180D, 0x1814, 0x181B, 0x1822, 0x1829, 0x1830, 0x1837, 0x183E, 0x1845, 0x184C, 0x1853, 0x185A, 0x1860, 0x1867, 0x186E, 0x1875, 0x187C, 0x1883, 0x188A, 0x1891, 0x1898, 0x189F, 0x18A6, 0x18AD, 0x18B3, 0x18BA, 0x18C1, 0x18C8, 0x18CF, 0x18D6, 0x18DD, 0x18E3, 0x18EA, 0x18F1, 0x18F8, 0x18FF, 0x1906, 0x190C, 0x1913, 0x191A, 0x1921, 0x1928, 0x192E, 0x1935, 0x193C, 0x1943, 0x1949, 0x1950, 0x1957, 0x195D, 0x1964, 0x196B, 0x1972, 0x1978, 0x197F, 0x1986, 0x198C, 0x1993, 0x199A, 0x19A0, 0x19A7, 0x19AE, 0x19B4, 0x19BB, 0x19C2, 0x19C8, 0x19CF, 0x19D5, 0x19DC, 0x19E3, 0x19E9, 0x19F0, 0x19F6, 0x19FD, 0x1A04, 0x1A0A, 0x1A11, 0x1A17, 0x1A1E, 0x1A24, 0x1A2B, 0x1A31, 0x1A38, 0x1A3E, 0x1A45, 0x1A4B, 0x1A52, 0x1A58, 0x1A5F, 0x1A65, 0x1A6C, 0x1A72, 0x1A79, 0x1A7F, 0x1A86, 0x1A8C, 0x1A93, 0x1A99, 0x1A9F, 0x1AA6, 0x1AAC, 0x1AB3, 0x1AB9, 0x1AC0, 0x1AC6, 0x1ACC, 0x1AD3, 0x1AD9, 0x1ADF, 0x1AE6, 0x1AEC, 0x1AF2, 0x1AF9, 0x1AFF, 0x1B05, 0x1B0C, 0x1B12, 0x1B18, 0x1B1F, 0x1B25, 0x1B2B, 0x1B32, 0x1B38, 0x1B3E, 0x1B44, 0x1B4B, 0x1B51, 0x1B57, 0x1B5D, 0x1B64, 0x1B6A, 0x1B70, 0x1B76, 0x1B7D, 0x1B83, 0x1B89, 0x1B8F, 0x1B95, 0x1B9C, 0x1BA2, 0x1BA8, 0x1BAE, 0x1BB4, 0x1BBA, 0x1BC1, 0x1BC7, 0x1BCD, 0x1BD3, 0x1BD9, 0x1BDF, 0x1BE5, 0x1BEB, 0x1BF2, 0x1BF8, 0x1BFE, 0x1C04, 0x1C0A, 0x1C10, 0x1C16, 0x1C1C, 0x1C22, 0x1C28, 0x1C2E, 0x1C34, 0x1C3A, 0x1C40, 0x1C46, 0x1C4C, 0x1C52, 0x1C58, 0x1C5E, 0x1C64, 0x1C6A, 0x1C70, 0x1C76, 0x1C7C, 0x1C82, 0x1C88, 0x1C8E, 0x1C94, 0x1C9A, 0x1CA0, 0x1CA6, 0x1CAC, 0x1CB2, 0x1CB8, 0x1CBE, 0x1CC3, 0x1CC9, 0x1CCF, 0x1CD5, 0x1CDB, 0x1CE1, 0x1CE7, 0x1CED, 0x1CF3, 0x1CF8, 0x1CFE, 0x1D04, 0x1D0A, 0x1D10, 0x1D16, 0x1D1B, 0x1D21, 0x1D27, 0x1D2D, 0x1D33, 0x1D38, 0x1D3E, 0x1D44, 0x1D4A, 0x1D4F, 0x1D55, 0x1D5B, 0x1D61, 0x1D66, 0x1D6C, 0x1D72, 0x1D78, 0x1D7D, 0x1D83, 0x1D89, 0x1D8E, 0x1D94, 0x1D9A, 0x1DA0, 0x1DA5, 0x1DAB, 0x1DB1, 0x1DB6, 0x1DBC, 0x1DC2, 0x1DC7, 0x1DCD, 0x1DD3, 0x1DD8, 0x1DDE, 0x1DE3, 0x1DE9, 0x1DEF, 0x1DF4, 0x1DFA, 0x1DFF, 0x1E05, 0x1E0B, 0x1E10, 0x1E16, 0x1E1B, 0x1E21, 0x1E26, 0x1E2C, 0x1E32, 0x1E37, 0x1E3D, 0x1E42, 0x1E48, 0x1E4D, 0x1E53, 0x1E58, 0x1E5E, 0x1E63, 0x1E69, 0x1E6E, 0x1E74, 0x1E79, 0x1E7F, 0x1E84, 0x1E8A, 0x1E8F, 0x1E94, 0x1E9A, 0x1E9F, 0x1EA5, 0x1EAA, 0x1EB0, 0x1EB5, 0x1EBA, 0x1EC0, 0x1EC5, 0x1ECB, 0x1ED0, 0x1ED5, 0x1EDB, 0x1EE0, 0x1EE6, 0x1EEB, 0x1EF0, 0x1EF6, 0x1EFB, 0x1F00, 0x1F06, 0x1F0B, 0x1F10, 0x1F16, 0x1F1B, 0x1F20, 0x1F26, 0x1F2B, 0x1F30, 0x1F36, 0x1F3B, 0x1F40, 0x1F45, 0x1F4B, 0x1F50, 0x1F55, 0x1F5A, 0x1F60, 0x1F65, 0x1F6A, 0x1F6F, 0x1F75, 0x1F7A, 0x1F7F, 0x1F84, 0x1F8A, 0x1F8F, 0x1F94, 0x1F99, 0x1F9E, 0x1FA4, 0x1FA9, 0x1FAE, 0x1FB3, 0x1FB8, 0x1FBD, 0x1FC3, 0x1FC8, 0x1FCD, 0x1FD2, 0x1FD7, 0x1FDC, 0x1FE1, 0x1FE6, 0x1FEC, 0x1FF1, 0x1FF6, 0x1FFB, 0x2000 + + +.section .text, "ax" + +/* Generated by spimdisasm 1.30.0 */ + +leaf interrupts_disable +/* 70110 8006F510 3C08800E */ lui $t0, %hi(gIntDisFlag) +/* 70114 8006F514 8108D430 */ lb $t0, %lo(gIntDisFlag)($t0) +/* 70118 8006F518 11000006 */ beqz $t0, .L8006F534 +/* 7011C 8006F51C 40086000 */ mfc0 $t0, $12 /* handwritten instruction */ +/* 70120 8006F520 2401FFFE */ addiu $at, $zero, -0x2 +/* 70124 8006F524 01014824 */ and $t1, $t0, $at +/* 70128 8006F528 40896000 */ mtc0 $t1, $12 /* handwritten instruction */ +/* 7012C 8006F52C 31020001 */ andi $v0, $t0, 0x1 +/* 70130 8006F530 00000000 */ nop +.L8006F534: +/* 70134 8006F534 03E00008 */ jr $ra +/* 70138 8006F538 00000000 */ nop +.end interrupts_disable + +leaf interrupts_enable +/* 7013C 8006F53C 3C08800E */ lui $t0, %hi(gIntDisFlag) +/* 70140 8006F540 8108D430 */ lb $t0, %lo(gIntDisFlag)($t0) +/* 70144 8006F544 11000005 */ beqz $t0, .L8006F55C +/* 70148 8006F548 40086000 */ mfc0 $t0, $12 /* handwritten instruction */ +/* 7014C 8006F54C 01044025 */ or $t0, $t0, $a0 +/* 70150 8006F550 40886000 */ mtc0 $t0, $12 /* handwritten instruction */ +/* 70154 8006F554 00000000 */ nop +/* 70158 8006F558 00000000 */ nop +.L8006F55C: +/* 7015C 8006F55C 03E00008 */ jr $ra +/* 70160 8006F560 00000000 */ nop +.end interrupts_enable + +leaf set_gIntDisFlag +/* 70164 8006F564 3C01800E */ lui $at, %hi(gIntDisFlag) +/* 70168 8006F568 03E00008 */ jr $ra +/* 7016C 8006F56C A024D430 */ sb $a0, %lo(gIntDisFlag)($at) +.end set_gIntDisFlag + +leaf get_gIntDisFlag +/* 70170 8006F570 3C02800E */ lui $v0, %hi(gIntDisFlag) +/* 70174 8006F574 03E00008 */ jr $ra +/* 70178 8006F578 9042D430 */ lbu $v0, %lo(gIntDisFlag)($v0) +.end get_gIntDisFlag + +leaf s32_matrix_to_s16_matrix +/* 7017C 8006F57C 34080004 */ ori $t0, $zero, 0x4 +/* 70180 8006F580 3C0FFFFF */ lui $t7, (0xFFFF0000 >> 16) +.L8006F584: +/* 70184 8006F584 8C890000 */ lw $t1, 0x0($a0) +/* 70188 8006F588 8C8A0020 */ lw $t2, 0x20($a0) +/* 7018C 8006F58C 8C8B0004 */ lw $t3, 0x4($a0) +/* 70190 8006F590 8C8C0024 */ lw $t4, 0x24($a0) +/* 70194 8006F594 A4A90004 */ sh $t1, 0x4($a1) +/* 70198 8006F598 A4AA0006 */ sh $t2, 0x6($a1) +/* 7019C 8006F59C A4AB000C */ sh $t3, 0xC($a1) +/* 701A0 8006F5A0 A4AC000E */ sh $t4, 0xE($a1) +/* 701A4 8006F5A4 00094C02 */ srl $t1, $t1, 16 +/* 701A8 8006F5A8 000A5402 */ srl $t2, $t2, 16 +/* 701AC 8006F5AC 000B5C02 */ srl $t3, $t3, 16 +/* 701B0 8006F5B0 000C6402 */ srl $t4, $t4, 16 +/* 701B4 8006F5B4 24840008 */ addiu $a0, $a0, 0x8 +/* 701B8 8006F5B8 A4A90000 */ sh $t1, 0x0($a1) +/* 701BC 8006F5BC A4AA0002 */ sh $t2, 0x2($a1) +/* 701C0 8006F5C0 A4AB0008 */ sh $t3, 0x8($a1) +/* 701C4 8006F5C4 A4AC000A */ sh $t4, 0xA($a1) +/* 701C8 8006F5C8 20A50010 */ addi $a1, $a1, 0x10 /* handwritten instruction */ +/* 701CC 8006F5CC 2508FFFF */ addiu $t0, $t0, -0x1 +/* 701D0 8006F5D0 5500FFEC */ bnel $t0, $zero, .L8006F584 +/* 701D4 8006F5D4 00000000 */ nop +/* 701D8 8006F5D8 03E00008 */ jr $ra +/* 701DC 8006F5DC 00000000 */ nop +.end s32_matrix_to_s16_matrix + +leaf f32_matrix_to_s32_matrix +/* 701E0 8006F5E0 3C014780 */ lui $at, (0x47800000 >> 16) +/* 701E4 8006F5E4 44816000 */ mtc1 $at, $f12 +/* 701E8 8006F5E8 34080004 */ ori $t0, $zero, 0x4 +.L8006F5EC: +/* 701EC 8006F5EC C4840000 */ lwc1 $f4, 0x0($a0) +/* 701F0 8006F5F0 C4860004 */ lwc1 $f6, 0x4($a0) +/* 701F4 8006F5F4 C4880008 */ lwc1 $f8, 0x8($a0) +/* 701F8 8006F5F8 460C2102 */ mul.s $f4, $f4, $f12 +/* 701FC 8006F5FC C48A000C */ lwc1 $f10, 0xC($a0) +/* 70200 8006F600 24840010 */ addiu $a0, $a0, 0x10 +/* 70204 8006F604 460C3182 */ mul.s $f6, $f6, $f12 +/* 70208 8006F608 2508FFFF */ addiu $t0, $t0, -0x1 +/* 7020C 8006F60C 24A50010 */ addiu $a1, $a1, 0x10 +/* 70210 8006F610 460C4202 */ mul.s $f8, $f8, $f12 +/* 70214 8006F614 00000000 */ nop +/* 70218 8006F618 460C5282 */ mul.s $f10, $f10, $f12 +/* 7021C 8006F61C 4600210D */ trunc.w.s $f4, $f4 +/* 70220 8006F620 4600318D */ trunc.w.s $f6, $f6 +/* 70224 8006F624 E4A4FFF0 */ swc1 $f4, -0x10($a1) +/* 70228 8006F628 4600420D */ trunc.w.s $f8, $f8 +/* 7022C 8006F62C E4A6FFF4 */ swc1 $f6, -0xC($a1) +/* 70230 8006F630 4600528D */ trunc.w.s $f10, $f10 +/* 70234 8006F634 E4A8FFF8 */ swc1 $f8, -0x8($a1) +/* 70238 8006F638 E4AAFFFC */ swc1 $f10, -0x4($a1) +/* 7023C 8006F63C 5500FFEB */ bnel $t0, $zero, .L8006F5EC +/* 70240 8006F640 00000000 */ nop +/* 70244 8006F644 03E00008 */ jr $ra +/* 70248 8006F648 00000000 */ nop +.end f32_matrix_to_s32_matrix + +leaf guMtxXFMF +/* 7024C 8006F64C 44856000 */ mtc1 $a1, $f12 +/* 70250 8006F650 C4840000 */ lwc1 $f4, 0x0($a0) +/* 70254 8006F654 44867000 */ mtc1 $a2, $f14 +/* 70258 8006F658 C4880010 */ lwc1 $f8, 0x10($a0) +/* 7025C 8006F65C 460C2182 */ mul.s $f6, $f4, $f12 +/* 70260 8006F660 44878000 */ mtc1 $a3, $f16 +/* 70264 8006F664 C4840020 */ lwc1 $f4, 0x20($a0) +/* 70268 8006F668 460E4282 */ mul.s $f10, $f8, $f14 +/* 7026C 8006F66C 8FAE0010 */ lw $t6, 0x10($sp) +/* 70270 8006F670 46102202 */ mul.s $f8, $f4, $f16 +/* 70274 8006F674 460A3480 */ add.s $f18, $f6, $f10 +/* 70278 8006F678 C48A0030 */ lwc1 $f10, 0x30($a0) +/* 7027C 8006F67C 46089180 */ add.s $f6, $f18, $f8 +/* 70280 8006F680 46065100 */ add.s $f4, $f10, $f6 +/* 70284 8006F684 E5C40000 */ swc1 $f4, 0x0($t6) +/* 70288 8006F688 C4920004 */ lwc1 $f18, 0x4($a0) +/* 7028C 8006F68C C48A0014 */ lwc1 $f10, 0x14($a0) +/* 70290 8006F690 8FAF0014 */ lw $t7, 0x14($sp) +/* 70294 8006F694 460C9202 */ mul.s $f8, $f18, $f12 +/* 70298 8006F698 C4920024 */ lwc1 $f18, 0x24($a0) +/* 7029C 8006F69C 460E5182 */ mul.s $f6, $f10, $f14 +/* 702A0 8006F6A0 46064100 */ add.s $f4, $f8, $f6 +/* 702A4 8006F6A4 46109282 */ mul.s $f10, $f18, $f16 +/* 702A8 8006F6A8 C4860034 */ lwc1 $f6, 0x34($a0) +/* 702AC 8006F6AC 460A2200 */ add.s $f8, $f4, $f10 +/* 702B0 8006F6B0 46083480 */ add.s $f18, $f6, $f8 +/* 702B4 8006F6B4 E5F20000 */ swc1 $f18, 0x0($t7) +/* 702B8 8006F6B8 C4840008 */ lwc1 $f4, 0x8($a0) +/* 702BC 8006F6BC C4860018 */ lwc1 $f6, 0x18($a0) +/* 702C0 8006F6C0 8FB80018 */ lw $t8, 0x18($sp) +/* 702C4 8006F6C4 460C2282 */ mul.s $f10, $f4, $f12 +/* 702C8 8006F6C8 C4840028 */ lwc1 $f4, 0x28($a0) +/* 702CC 8006F6CC 460E3202 */ mul.s $f8, $f6, $f14 +/* 702D0 8006F6D0 46085480 */ add.s $f18, $f10, $f8 +/* 702D4 8006F6D4 46102182 */ mul.s $f6, $f4, $f16 +/* 702D8 8006F6D8 C4880038 */ lwc1 $f8, 0x38($a0) +/* 702DC 8006F6DC 46069280 */ add.s $f10, $f18, $f6 +/* 702E0 8006F6E0 460A4100 */ add.s $f4, $f8, $f10 +/* 702E4 8006F6E4 03E00008 */ jr $ra +/* 702E8 8006F6E8 E7040000 */ swc1 $f4, 0x0($t8) +.end guMtxXFMF + +leaf f32_matrix_dot +/* 702EC 8006F6EC C4A40000 */ lwc1 $f4, 0x0($a1) +/* 702F0 8006F6F0 C48A0000 */ lwc1 $f10, 0x0($a0) +/* 702F4 8006F6F4 C4A60004 */ lwc1 $f6, 0x4($a1) +/* 702F8 8006F6F8 C48C0010 */ lwc1 $f12, 0x10($a0) +/* 702FC 8006F6FC 460A2282 */ mul.s $f10, $f4, $f10 +/* 70300 8006F700 C4A80008 */ lwc1 $f8, 0x8($a1) +/* 70304 8006F704 C48E0020 */ lwc1 $f14, 0x20($a0) +/* 70308 8006F708 460C3302 */ mul.s $f12, $f6, $f12 +/* 7030C 8006F70C 460C5300 */ add.s $f12, $f10, $f12 +/* 70310 8006F710 460E4382 */ mul.s $f14, $f8, $f14 +/* 70314 8006F714 C48A0004 */ lwc1 $f10, 0x4($a0) +/* 70318 8006F718 460A2282 */ mul.s $f10, $f4, $f10 +/* 7031C 8006F71C 460E6400 */ add.s $f16, $f12, $f14 +/* 70320 8006F720 C48C0014 */ lwc1 $f12, 0x14($a0) +/* 70324 8006F724 C48E0024 */ lwc1 $f14, 0x24($a0) +/* 70328 8006F728 460C3302 */ mul.s $f12, $f6, $f12 +/* 7032C 8006F72C E4D00000 */ swc1 $f16, 0x0($a2) +/* 70330 8006F730 460E4382 */ mul.s $f14, $f8, $f14 +/* 70334 8006F734 460C5300 */ add.s $f12, $f10, $f12 +/* 70338 8006F738 C48A0008 */ lwc1 $f10, 0x8($a0) +/* 7033C 8006F73C 460E6400 */ add.s $f16, $f12, $f14 +/* 70340 8006F740 460A2282 */ mul.s $f10, $f4, $f10 +/* 70344 8006F744 C48C0018 */ lwc1 $f12, 0x18($a0) +/* 70348 8006F748 C48E0028 */ lwc1 $f14, 0x28($a0) +/* 7034C 8006F74C E4D00004 */ swc1 $f16, 0x4($a2) +/* 70350 8006F750 460C3302 */ mul.s $f12, $f6, $f12 +/* 70354 8006F754 460C5300 */ add.s $f12, $f10, $f12 +/* 70358 8006F758 460E4382 */ mul.s $f14, $f8, $f14 +/* 7035C 8006F75C 460E6380 */ add.s $f14, $f12, $f14 +/* 70360 8006F760 03E00008 */ jr $ra +/* 70364 8006F764 E4CE0008 */ swc1 $f14, 0x8($a2) +.end f32_matrix_dot + +leaf f32_matrix_mult +/* 70368 8006F768 27BDFFF8 */ addiu $sp, $sp, -0x8 +/* 7036C 8006F76C F7A20000 */ sdc1 $f2, 0x0($sp) +/* 70370 8006F770 34080004 */ ori $t0, $zero, 0x4 +.L8006F774: +/* 70374 8006F774 C4820000 */ lwc1 $f2, 0x0($a0) +/* 70378 8006F778 C4AA0000 */ lwc1 $f10, 0x0($a1) +/* 7037C 8006F77C C4840004 */ lwc1 $f4, 0x4($a0) +/* 70380 8006F780 C4AC0010 */ lwc1 $f12, 0x10($a1) +/* 70384 8006F784 460A1282 */ mul.s $f10, $f2, $f10 +/* 70388 8006F788 C4860008 */ lwc1 $f6, 0x8($a0) +/* 7038C 8006F78C C4AE0020 */ lwc1 $f14, 0x20($a1) +/* 70390 8006F790 460C2302 */ mul.s $f12, $f4, $f12 +/* 70394 8006F794 C488000C */ lwc1 $f8, 0xC($a0) +/* 70398 8006F798 C4B00030 */ lwc1 $f16, 0x30($a1) +/* 7039C 8006F79C 460E3382 */ mul.s $f14, $f6, $f14 +/* 703A0 8006F7A0 24840010 */ addiu $a0, $a0, 0x10 +/* 703A4 8006F7A4 24C60010 */ addiu $a2, $a2, 0x10 +/* 703A8 8006F7A8 46104402 */ mul.s $f16, $f8, $f16 +/* 703AC 8006F7AC 2508FFFF */ addiu $t0, $t0, -0x1 +/* 703B0 8006F7B0 460E6380 */ add.s $f14, $f12, $f14 +/* 703B4 8006F7B4 C4AC0014 */ lwc1 $f12, 0x14($a1) +/* 703B8 8006F7B8 46105400 */ add.s $f16, $f10, $f16 +/* 703BC 8006F7BC C4AA0004 */ lwc1 $f10, 0x4($a1) +/* 703C0 8006F7C0 460A1282 */ mul.s $f10, $f2, $f10 +/* 703C4 8006F7C4 46107480 */ add.s $f18, $f14, $f16 +/* 703C8 8006F7C8 C4AE0024 */ lwc1 $f14, 0x24($a1) +/* 703CC 8006F7CC 460C2302 */ mul.s $f12, $f4, $f12 +/* 703D0 8006F7D0 C4B00034 */ lwc1 $f16, 0x34($a1) +/* 703D4 8006F7D4 E4D2FFF0 */ swc1 $f18, -0x10($a2) +/* 703D8 8006F7D8 460E3382 */ mul.s $f14, $f6, $f14 +/* 703DC 8006F7DC 00000000 */ nop +/* 703E0 8006F7E0 46104402 */ mul.s $f16, $f8, $f16 +/* 703E4 8006F7E4 460E6380 */ add.s $f14, $f12, $f14 +/* 703E8 8006F7E8 C4AC0018 */ lwc1 $f12, 0x18($a1) +/* 703EC 8006F7EC 46105400 */ add.s $f16, $f10, $f16 +/* 703F0 8006F7F0 C4AA0008 */ lwc1 $f10, 0x8($a1) +/* 703F4 8006F7F4 460A1282 */ mul.s $f10, $f2, $f10 +/* 703F8 8006F7F8 46107480 */ add.s $f18, $f14, $f16 +/* 703FC 8006F7FC C4AE0028 */ lwc1 $f14, 0x28($a1) +/* 70400 8006F800 460C2302 */ mul.s $f12, $f4, $f12 +/* 70404 8006F804 C4B00038 */ lwc1 $f16, 0x38($a1) +/* 70408 8006F808 E4D2FFF4 */ swc1 $f18, -0xC($a2) +/* 7040C 8006F80C 460E3382 */ mul.s $f14, $f6, $f14 +/* 70410 8006F810 00000000 */ nop +/* 70414 8006F814 46104402 */ mul.s $f16, $f8, $f16 +/* 70418 8006F818 460E6380 */ add.s $f14, $f12, $f14 +/* 7041C 8006F81C C4AC001C */ lwc1 $f12, 0x1C($a1) +/* 70420 8006F820 46105400 */ add.s $f16, $f10, $f16 +/* 70424 8006F824 C4AA000C */ lwc1 $f10, 0xC($a1) +/* 70428 8006F828 460A1282 */ mul.s $f10, $f2, $f10 +/* 7042C 8006F82C 46107480 */ add.s $f18, $f14, $f16 +/* 70430 8006F830 C4AE002C */ lwc1 $f14, 0x2C($a1) +/* 70434 8006F834 460C2302 */ mul.s $f12, $f4, $f12 +/* 70438 8006F838 C4B0003C */ lwc1 $f16, 0x3C($a1) +/* 7043C 8006F83C E4D2FFF8 */ swc1 $f18, -0x8($a2) +/* 70440 8006F840 460E3382 */ mul.s $f14, $f6, $f14 +/* 70444 8006F844 00000000 */ nop +/* 70448 8006F848 46104402 */ mul.s $f16, $f8, $f16 +/* 7044C 8006F84C 460E6380 */ add.s $f14, $f12, $f14 +/* 70450 8006F850 46105400 */ add.s $f16, $f10, $f16 +/* 70454 8006F854 46107480 */ add.s $f18, $f14, $f16 +/* 70458 8006F858 E4D2FFFC */ swc1 $f18, -0x4($a2) +/* 7045C 8006F85C 5500FFC5 */ bnel $t0, $zero, .L8006F774 +/* 70460 8006F860 00000000 */ nop +/* 70464 8006F864 D7A20000 */ ldc1 $f2, 0x0($sp) +/* 70468 8006F868 03E00008 */ jr $ra +/* 7046C 8006F86C 27BD0008 */ addiu $sp, $sp, 0x8 +.end f32_matrix_mult + +leaf f32_matrix_to_s16_matrix +/* 70470 8006F870 3C014780 */ lui $at, (0x47800000 >> 16) +/* 70474 8006F874 44816000 */ mtc1 $at, $f12 +/* 70478 8006F878 34080004 */ ori $t0, $zero, 0x4 +.L8006F87C: +/* 7047C 8006F87C C4840000 */ lwc1 $f4, 0x0($a0) +/* 70480 8006F880 C4860004 */ lwc1 $f6, 0x4($a0) +/* 70484 8006F884 C4880008 */ lwc1 $f8, 0x8($a0) +/* 70488 8006F888 460C2102 */ mul.s $f4, $f4, $f12 +/* 7048C 8006F88C C48A000C */ lwc1 $f10, 0xC($a0) +/* 70490 8006F890 24840010 */ addiu $a0, $a0, 0x10 +/* 70494 8006F894 460C3182 */ mul.s $f6, $f6, $f12 +/* 70498 8006F898 24A50008 */ addiu $a1, $a1, 0x8 +/* 7049C 8006F89C 2508FFFF */ addiu $t0, $t0, -0x1 +/* 704A0 8006F8A0 460C4202 */ mul.s $f8, $f8, $f12 +/* 704A4 8006F8A4 00000000 */ nop +/* 704A8 8006F8A8 460C5282 */ mul.s $f10, $f10, $f12 +/* 704AC 8006F8AC 46002124 */ cvt.w.s $f4, $f4 +/* 704B0 8006F8B0 460031A4 */ cvt.w.s $f6, $f6 +/* 704B4 8006F8B4 44092000 */ mfc1 $t1, $f4 +/* 704B8 8006F8B8 46004224 */ cvt.w.s $f8, $f8 +/* 704BC 8006F8BC 440A3000 */ mfc1 $t2, $f6 +/* 704C0 8006F8C0 A4A90018 */ sh $t1, 0x18($a1) +/* 704C4 8006F8C4 460052A4 */ cvt.w.s $f10, $f10 +/* 704C8 8006F8C8 440B4000 */ mfc1 $t3, $f8 +/* 704CC 8006F8CC A4AA001A */ sh $t2, 0x1A($a1) +/* 704D0 8006F8D0 00094C02 */ srl $t1, $t1, 16 +/* 704D4 8006F8D4 440C5000 */ mfc1 $t4, $f10 +/* 704D8 8006F8D8 A4AB001C */ sh $t3, 0x1C($a1) +/* 704DC 8006F8DC 000A5402 */ srl $t2, $t2, 16 +/* 704E0 8006F8E0 A4AC001E */ sh $t4, 0x1E($a1) +/* 704E4 8006F8E4 000B5C02 */ srl $t3, $t3, 16 +/* 704E8 8006F8E8 000C6402 */ srl $t4, $t4, 16 +/* 704EC 8006F8EC A4A9FFF8 */ sh $t1, -0x8($a1) +/* 704F0 8006F8F0 A4AAFFFA */ sh $t2, -0x6($a1) +/* 704F4 8006F8F4 A4ABFFFC */ sh $t3, -0x4($a1) +/* 704F8 8006F8F8 A4ACFFFE */ sh $t4, -0x2($a1) +/* 704FC 8006F8FC 5500FFDF */ bnel $t0, $zero, .L8006F87C +/* 70500 8006F900 00000000 */ nop +/* 70504 8006F904 03E00008 */ jr $ra +/* 70508 8006F908 00000000 */ nop +.end f32_matrix_to_s16_matrix + +leaf set_rng_seed +/* 7050C 8006F90C 3C01800E */ lui $at, %hi(gCurrentRNGSeed) +/* 70510 8006F910 03E00008 */ jr $ra +/* 70514 8006F914 AC24D434 */ sw $a0, %lo(gCurrentRNGSeed)($at) +.end set_rng_seed + +leaf save_rng_seed +/* 70518 8006F918 3C04800E */ lui $a0, %hi(gCurrentRNGSeed) +/* 7051C 8006F91C 8C84D434 */ lw $a0, %lo(gCurrentRNGSeed)($a0) +/* 70520 8006F920 3C01800E */ lui $at, %hi(gPrevRNGSeed) +/* 70524 8006F924 03E00008 */ jr $ra +/* 70528 8006F928 AC24D438 */ sw $a0, %lo(gPrevRNGSeed)($at) +.end save_rng_seed + +leaf load_rng_seed +/* 7052C 8006F92C 3C04800E */ lui $a0, %hi(gPrevRNGSeed) +/* 70530 8006F930 8C84D438 */ lw $a0, %lo(gPrevRNGSeed)($a0) +/* 70534 8006F934 3C01800E */ lui $at, %hi(gCurrentRNGSeed) +/* 70538 8006F938 03E00008 */ jr $ra +/* 7053C 8006F93C AC24D434 */ sw $a0, %lo(gCurrentRNGSeed)($at) +.end load_rng_seed + +leaf get_rng_seed +/* 70540 8006F940 3C02800E */ lui $v0, %hi(gCurrentRNGSeed) +/* 70544 8006F944 03E00008 */ jr $ra +/* 70548 8006F948 8C42D434 */ lw $v0, %lo(gCurrentRNGSeed)($v0) +.end get_rng_seed + +leaf get_random_number_from_range +/* 7054C 8006F94C 3C08800E */ lui $t0, %hi(gCurrentRNGSeed) +/* 70550 8006F950 8D08D434 */ lw $t0, %lo(gCurrentRNGSeed)($t0) +/* 70554 8006F954 3C01800E */ lui $at, %hi(gCurrentRNGSeed) +/* 70558 8006F958 00A42822 */ sub $a1, $a1, $a0 /* handwritten instruction */ +/* 7055C 8006F95C 00084FFC */ dsll32 $t1, $t0, 31 +/* 70560 8006F960 000857F8 */ dsll $t2, $t0, 31 +/* 70564 8006F964 00094FFA */ dsrl $t1, $t1, 31 +/* 70568 8006F968 000A503E */ dsrl32 $t2, $t2, 0 +/* 7056C 8006F96C 00085B3C */ dsll32 $t3, $t0, 12 +/* 70570 8006F970 012A4825 */ or $t1, $t1, $t2 +/* 70574 8006F974 000B583E */ dsrl32 $t3, $t3, 0 +/* 70578 8006F978 012B4826 */ xor $t1, $t1, $t3 +/* 7057C 8006F97C 00095D3A */ dsrl $t3, $t1, 20 +/* 70580 8006F980 316B0FFF */ andi $t3, $t3, 0xFFF +/* 70584 8006F984 01694026 */ xor $t0, $t3, $t1 +/* 70588 8006F988 AC28D434 */ sw $t0, %lo(gCurrentRNGSeed)($at) +/* 7058C 8006F98C 20A50001 */ addi $a1, $a1, 0x1 /* handwritten instruction */ +/* 70590 8006F990 01044023 */ subu $t0, $t0, $a0 +/* 70594 8006F994 0105001B */ divu $zero, $t0, $a1 +/* 70598 8006F998 00004012 */ mflo $t0 +/* 7059C 8006F99C 00001010 */ mfhi $v0 +/* 705A0 8006F9A0 00441020 */ add $v0, $v0, $a0 /* handwritten instruction */ +/* 705A4 8006F9A4 14A00002 */ bnez $a1, .L8006F9B0 +/* 705A8 8006F9A8 00000000 */ nop +/* 705AC 8006F9AC 0007000D */ break 7 +.L8006F9B0: +/* 705B0 8006F9B0 03E00008 */ jr $ra +/* 705B4 8006F9B4 00000000 */ nop +.end get_random_number_from_range + +leaf s16_matrix_rotate +/* 705B8 8006F9B8 84880000 */ lh $t0, 0x0($a0) +/* 705BC 8006F9BC 84AB0000 */ lh $t3, 0x0($a1) +/* 705C0 8006F9C0 84890002 */ lh $t1, 0x2($a0) +/* 705C4 8006F9C4 84AC0002 */ lh $t4, 0x2($a1) +/* 705C8 8006F9C8 010B0018 */ mult $t0, $t3 +/* 705CC 8006F9CC 848A0004 */ lh $t2, 0x4($a0) +/* 705D0 8006F9D0 84AD0004 */ lh $t5, 0x4($a1) +/* 705D4 8006F9D4 00007012 */ mflo $t6 +/* 705D8 8006F9D8 00000000 */ nop +/* 705DC 8006F9DC 00000000 */ nop +/* 705E0 8006F9E0 012C0018 */ mult $t1, $t4 +/* 705E4 8006F9E4 00007812 */ mflo $t7 +/* 705E8 8006F9E8 01CF7020 */ add $t6, $t6, $t7 /* handwritten instruction */ +/* 705EC 8006F9EC 00000000 */ nop +/* 705F0 8006F9F0 014D0018 */ mult $t2, $t5 +/* 705F4 8006F9F4 0000C012 */ mflo $t8 +/* 705F8 8006F9F8 01D87020 */ add $t6, $t6, $t8 /* handwritten instruction */ +/* 705FC 8006F9FC 000E7303 */ sra $t6, $t6, 12 +/* 70600 8006FA00 01CB0018 */ mult $t6, $t3 +/* 70604 8006FA04 00005812 */ mflo $t3 +/* 70608 8006FA08 000B5B43 */ sra $t3, $t3, 13 +/* 7060C 8006FA0C 01685822 */ sub $t3, $t3, $t0 /* handwritten instruction */ +/* 70610 8006FA10 01CC0018 */ mult $t6, $t4 +/* 70614 8006FA14 A48B0006 */ sh $t3, 0x6($a0) +/* 70618 8006FA18 00006012 */ mflo $t4 +/* 7061C 8006FA1C 000C6343 */ sra $t4, $t4, 13 +/* 70620 8006FA20 01896022 */ sub $t4, $t4, $t1 /* handwritten instruction */ +/* 70624 8006FA24 01CD0018 */ mult $t6, $t5 +/* 70628 8006FA28 A48C0008 */ sh $t4, 0x8($a0) +/* 7062C 8006FA2C 00006812 */ mflo $t5 +/* 70630 8006FA30 000D6B43 */ sra $t5, $t5, 13 +/* 70634 8006FA34 01A86822 */ sub $t5, $t5, $t0 /* handwritten instruction */ +/* 70638 8006FA38 03E00008 */ jr $ra +/* 7063C 8006FA3C A48D000A */ sh $t5, 0xA($a0) +.end s16_matrix_rotate + +leaf s16_matrix_to_s32_matrix +/* 70640 8006FA40 340A0010 */ ori $t2, $zero, 0x10 +/* 70644 8006FA44 016B5826 */ xor $t3, $t3, $t3 +.L8006FA48: +/* 70648 8006FA48 84880000 */ lh $t0, 0x0($a0) +/* 7064C 8006FA4C 94890020 */ lhu $t1, 0x20($a0) +/* 70650 8006FA50 20840002 */ addi $a0, $a0, 0x2 /* handwritten instruction */ +/* 70654 8006FA54 00084400 */ sll $t0, $t0, 16 +/* 70658 8006FA58 01094025 */ or $t0, $t0, $t1 +/* 7065C 8006FA5C ACA80000 */ sw $t0, 0x0($a1) +/* 70660 8006FA60 20A50004 */ addi $a1, $a1, 0x4 /* handwritten instruction */ +/* 70664 8006FA64 256B0001 */ addiu $t3, $t3, 0x1 +/* 70668 8006FA68 556AFFF7 */ bnel $t3, $t2, .L8006FA48 +/* 7066C 8006FA6C 00000000 */ nop +/* 70670 8006FA70 03E00008 */ jr $ra +/* 70674 8006FA74 00000000 */ nop +.end s16_matrix_to_s32_matrix + +leaf s16_vec3_mult_by_s32_matrix_full +/* 70678 8006FA78 84A80000 */ lh $t0, 0x0($a1) +/* 7067C 8006FA7C 8C8B0000 */ lw $t3, 0x0($a0) +/* 70680 8006FA80 84A90002 */ lh $t1, 0x2($a1) +/* 70684 8006FA84 84AA0004 */ lh $t2, 0x4($a1) +/* 70688 8006FA88 010B0018 */ mult $t0, $t3 +/* 7068C 8006FA8C 8C8B0010 */ lw $t3, 0x10($a0) +/* 70690 8006FA90 00006012 */ mflo $t4 +/* 70694 8006FA94 00000000 */ nop +/* 70698 8006FA98 00000000 */ nop +/* 7069C 8006FA9C 012B0018 */ mult $t1, $t3 +/* 706A0 8006FAA0 8C8B0020 */ lw $t3, 0x20($a0) +/* 706A4 8006FAA4 00006812 */ mflo $t5 +/* 706A8 8006FAA8 018D6020 */ add $t4, $t4, $t5 /* handwritten instruction */ +/* 706AC 8006FAAC 00000000 */ nop +/* 706B0 8006FAB0 014B0018 */ mult $t2, $t3 +/* 706B4 8006FAB4 8C8B0030 */ lw $t3, 0x30($a0) +/* 706B8 8006FAB8 00007012 */ mflo $t6 +/* 706BC 8006FABC 018E6020 */ add $t4, $t4, $t6 /* handwritten instruction */ +/* 706C0 8006FAC0 018B6020 */ add $t4, $t4, $t3 /* handwritten instruction */ +/* 706C4 8006FAC4 000C6403 */ sra $t4, $t4, 16 +/* 706C8 8006FAC8 A4AC0000 */ sh $t4, 0x0($a1) +/* 706CC 8006FACC 8C8B0004 */ lw $t3, 0x4($a0) +/* 706D0 8006FAD0 010B0018 */ mult $t0, $t3 +/* 706D4 8006FAD4 8C8B0014 */ lw $t3, 0x14($a0) +/* 706D8 8006FAD8 00006012 */ mflo $t4 +/* 706DC 8006FADC 00000000 */ nop +/* 706E0 8006FAE0 00000000 */ nop +/* 706E4 8006FAE4 012B0018 */ mult $t1, $t3 +/* 706E8 8006FAE8 8C8B0024 */ lw $t3, 0x24($a0) +/* 706EC 8006FAEC 00006812 */ mflo $t5 +/* 706F0 8006FAF0 018D6020 */ add $t4, $t4, $t5 /* handwritten instruction */ +/* 706F4 8006FAF4 00000000 */ nop +/* 706F8 8006FAF8 014B0018 */ mult $t2, $t3 +/* 706FC 8006FAFC 8C8B0034 */ lw $t3, 0x34($a0) +/* 70700 8006FB00 00007012 */ mflo $t6 +/* 70704 8006FB04 018E6020 */ add $t4, $t4, $t6 /* handwritten instruction */ +/* 70708 8006FB08 018B6020 */ add $t4, $t4, $t3 /* handwritten instruction */ +/* 7070C 8006FB0C 000C6403 */ sra $t4, $t4, 16 +/* 70710 8006FB10 A4AC0002 */ sh $t4, 0x2($a1) +/* 70714 8006FB14 8C8B0008 */ lw $t3, 0x8($a0) +/* 70718 8006FB18 010B0018 */ mult $t0, $t3 +/* 7071C 8006FB1C 8C8B0018 */ lw $t3, 0x18($a0) +/* 70720 8006FB20 00006012 */ mflo $t4 +/* 70724 8006FB24 00000000 */ nop +/* 70728 8006FB28 00000000 */ nop +/* 7072C 8006FB2C 012B0018 */ mult $t1, $t3 +/* 70730 8006FB30 8C8B0028 */ lw $t3, 0x28($a0) +/* 70734 8006FB34 00006812 */ mflo $t5 +/* 70738 8006FB38 018D6020 */ add $t4, $t4, $t5 /* handwritten instruction */ +/* 7073C 8006FB3C 00000000 */ nop +/* 70740 8006FB40 014B0018 */ mult $t2, $t3 +/* 70744 8006FB44 8C8B0038 */ lw $t3, 0x38($a0) +/* 70748 8006FB48 00007012 */ mflo $t6 +/* 7074C 8006FB4C 018E6020 */ add $t4, $t4, $t6 /* handwritten instruction */ +/* 70750 8006FB50 018B6020 */ add $t4, $t4, $t3 /* handwritten instruction */ +/* 70754 8006FB54 000C6403 */ sra $t4, $t4, 16 +/* 70758 8006FB58 03E00008 */ jr $ra +/* 7075C 8006FB5C A4AC0004 */ sh $t4, 0x4($a1) +.end s16_vec3_mult_by_s32_matrix_full + +leaf s16_vec3_mult_by_s32_matrix +/* 70760 8006FB60 8C8B0000 */ lw $t3, 0x0($a0) +/* 70764 8006FB64 84A80000 */ lh $t0, 0x0($a1) +/* 70768 8006FB68 84A90002 */ lh $t1, 0x2($a1) +/* 7076C 8006FB6C 84AA0004 */ lh $t2, 0x4($a1) +/* 70770 8006FB70 010B0018 */ mult $t0, $t3 +/* 70774 8006FB74 8C8B0010 */ lw $t3, 0x10($a0) +/* 70778 8006FB78 00006012 */ mflo $t4 +/* 7077C 8006FB7C 00000000 */ nop +/* 70780 8006FB80 00000000 */ nop +/* 70784 8006FB84 012B0018 */ mult $t1, $t3 +/* 70788 8006FB88 8C8B0020 */ lw $t3, 0x20($a0) +/* 7078C 8006FB8C 00006812 */ mflo $t5 +/* 70790 8006FB90 018D6020 */ add $t4, $t4, $t5 /* handwritten instruction */ +/* 70794 8006FB94 00000000 */ nop +/* 70798 8006FB98 014B0018 */ mult $t2, $t3 +/* 7079C 8006FB9C 8C8B0004 */ lw $t3, 0x4($a0) +/* 707A0 8006FBA0 00007012 */ mflo $t6 +/* 707A4 8006FBA4 018E6020 */ add $t4, $t4, $t6 /* handwritten instruction */ +/* 707A8 8006FBA8 000C6403 */ sra $t4, $t4, 16 +/* 707AC 8006FBAC 010B0018 */ mult $t0, $t3 +/* 707B0 8006FBB0 A4AC0000 */ sh $t4, 0x0($a1) +/* 707B4 8006FBB4 8C8B0014 */ lw $t3, 0x14($a0) +/* 707B8 8006FBB8 00006012 */ mflo $t4 +/* 707BC 8006FBBC 00000000 */ nop +/* 707C0 8006FBC0 00000000 */ nop +/* 707C4 8006FBC4 012B0018 */ mult $t1, $t3 +/* 707C8 8006FBC8 8C8B0024 */ lw $t3, 0x24($a0) +/* 707CC 8006FBCC 00006812 */ mflo $t5 +/* 707D0 8006FBD0 018D6020 */ add $t4, $t4, $t5 /* handwritten instruction */ +/* 707D4 8006FBD4 00000000 */ nop +/* 707D8 8006FBD8 014B0018 */ mult $t2, $t3 +/* 707DC 8006FBDC 8C8B0008 */ lw $t3, 0x8($a0) +/* 707E0 8006FBE0 00007012 */ mflo $t6 +/* 707E4 8006FBE4 018E6020 */ add $t4, $t4, $t6 /* handwritten instruction */ +/* 707E8 8006FBE8 000C6403 */ sra $t4, $t4, 16 +/* 707EC 8006FBEC 010B0018 */ mult $t0, $t3 +/* 707F0 8006FBF0 A4AC0002 */ sh $t4, 0x2($a1) +/* 707F4 8006FBF4 8C8B0018 */ lw $t3, 0x18($a0) +/* 707F8 8006FBF8 00006012 */ mflo $t4 +/* 707FC 8006FBFC 00000000 */ nop +/* 70800 8006FC00 00000000 */ nop +/* 70804 8006FC04 012B0018 */ mult $t1, $t3 +/* 70808 8006FC08 8C8B0028 */ lw $t3, 0x28($a0) +/* 7080C 8006FC0C 00006812 */ mflo $t5 +/* 70810 8006FC10 018D6020 */ add $t4, $t4, $t5 /* handwritten instruction */ +/* 70814 8006FC14 00000000 */ nop +/* 70818 8006FC18 014B0018 */ mult $t2, $t3 +/* 7081C 8006FC1C 00007012 */ mflo $t6 +/* 70820 8006FC20 018E6020 */ add $t4, $t4, $t6 /* handwritten instruction */ +/* 70824 8006FC24 000C6403 */ sra $t4, $t4, 16 +/* 70828 8006FC28 03E00008 */ jr $ra +/* 7082C 8006FC2C A4AC0004 */ sh $t4, 0x4($a1) +.end s16_vec3_mult_by_s32_matrix + +leaf object_transform_to_matrix +/* 70830 8006FC30 27BDFFF8 */ addiu $sp, $sp, -0x8 +/* 70834 8006FC34 3C013780 */ lui $at, (0x37800000 >> 16) +/* 70838 8006FC38 FFBF0000 */ sd $ra, 0x0($sp) +/* 7083C 8006FC3C 00803825 */ or $a3, $a0, $zero +/* 70840 8006FC40 44819000 */ mtc1 $at, $f18 +/* 70844 8006FC44 0C01C20C */ jal sins_s16 +/* 70848 8006FC48 84A40000 */ lh $a0, 0x0($a1) +/* 7084C 8006FC4C 44820000 */ mtc1 $v0, $f0 +/* 70850 8006FC50 84A40000 */ lh $a0, 0x0($a1) +/* 70854 8006FC54 46800020 */ cvt.s.w $f0, $f0 +/* 70858 8006FC58 46120002 */ mul.s $f0, $f0, $f18 +/* 7085C 8006FC5C 0C01C20B */ jal coss_s16 +/* 70860 8006FC60 00000000 */ nop +/* 70864 8006FC64 44821000 */ mtc1 $v0, $f2 +/* 70868 8006FC68 84A40002 */ lh $a0, 0x2($a1) +/* 7086C 8006FC6C 468010A0 */ cvt.s.w $f2, $f2 +/* 70870 8006FC70 46121082 */ mul.s $f2, $f2, $f18 +/* 70874 8006FC74 0C01C20C */ jal sins_s16 +/* 70878 8006FC78 00000000 */ nop +/* 7087C 8006FC7C 44822000 */ mtc1 $v0, $f4 +/* 70880 8006FC80 84A40002 */ lh $a0, 0x2($a1) +/* 70884 8006FC84 46802120 */ cvt.s.w $f4, $f4 +/* 70888 8006FC88 46122102 */ mul.s $f4, $f4, $f18 +/* 7088C 8006FC8C 0C01C20B */ jal coss_s16 +/* 70890 8006FC90 00000000 */ nop +/* 70894 8006FC94 44823000 */ mtc1 $v0, $f6 +/* 70898 8006FC98 84A40004 */ lh $a0, 0x4($a1) +/* 7089C 8006FC9C 468031A0 */ cvt.s.w $f6, $f6 +/* 708A0 8006FCA0 46123182 */ mul.s $f6, $f6, $f18 +/* 708A4 8006FCA4 0C01C20C */ jal sins_s16 +/* 708A8 8006FCA8 00000000 */ nop +/* 708AC 8006FCAC 44824000 */ mtc1 $v0, $f8 +/* 708B0 8006FCB0 84A40004 */ lh $a0, 0x4($a1) +/* 708B4 8006FCB4 46804220 */ cvt.s.w $f8, $f8 +/* 708B8 8006FCB8 46124202 */ mul.s $f8, $f8, $f18 +/* 708BC 8006FCBC 0C01C20B */ jal coss_s16 +/* 708C0 8006FCC0 00000000 */ nop +/* 708C4 8006FCC4 44825000 */ mtc1 $v0, $f10 +/* 708C8 8006FCC8 8CAA0008 */ lw $t2, 0x8($a1) +/* 708CC 8006FCCC ACE0000C */ sw $zero, 0xC($a3) +/* 708D0 8006FCD0 468052A0 */ cvt.s.w $f10, $f10 +/* 708D4 8006FCD4 ACE0001C */ sw $zero, 0x1C($a3) +/* 708D8 8006FCD8 ACE0002C */ sw $zero, 0x2C($a3) +/* 708DC 8006FCDC 3C013F80 */ lui $at, (0x3F800000 >> 16) +/* 708E0 8006FCE0 46125282 */ mul.s $f10, $f10, $f18 +/* 708E4 8006FCE4 00000000 */ nop +/* 708E8 8006FCE8 46002402 */ mul.s $f16, $f4, $f0 +/* 708EC 8006FCEC 00000000 */ nop +/* 708F0 8006FCF0 46088402 */ mul.s $f16, $f16, $f8 +/* 708F4 8006FCF4 00000000 */ nop +/* 708F8 8006FCF8 46025482 */ mul.s $f18, $f10, $f2 +/* 708FC 8006FCFC 46128400 */ add.s $f16, $f16, $f18 +/* 70900 8006FD00 448A9000 */ mtc1 $t2, $f18 +/* 70904 8006FD04 00000000 */ nop +/* 70908 8006FD08 46128402 */ mul.s $f16, $f16, $f18 +/* 7090C 8006FD0C E4F00000 */ swc1 $f16, 0x0($a3) +/* 70910 8006FD10 46064402 */ mul.s $f16, $f8, $f6 +/* 70914 8006FD14 00000000 */ nop +/* 70918 8006FD18 46128402 */ mul.s $f16, $f16, $f18 +/* 7091C 8006FD1C E4F00004 */ swc1 $f16, 0x4($a3) +/* 70920 8006FD20 46022402 */ mul.s $f16, $f4, $f2 +/* 70924 8006FD24 00000000 */ nop +/* 70928 8006FD28 46088402 */ mul.s $f16, $f16, $f8 +/* 7092C 8006FD2C 00000000 */ nop +/* 70930 8006FD30 46005482 */ mul.s $f18, $f10, $f0 +/* 70934 8006FD34 46128401 */ sub.s $f16, $f16, $f18 +/* 70938 8006FD38 448A9000 */ mtc1 $t2, $f18 +/* 7093C 8006FD3C 00000000 */ nop +/* 70940 8006FD40 46128402 */ mul.s $f16, $f16, $f18 +/* 70944 8006FD44 E4F00008 */ swc1 $f16, 0x8($a3) +/* 70948 8006FD48 46002402 */ mul.s $f16, $f4, $f0 +/* 7094C 8006FD4C 00000000 */ nop +/* 70950 8006FD50 460A8402 */ mul.s $f16, $f16, $f10 +/* 70954 8006FD54 00000000 */ nop +/* 70958 8006FD58 46024482 */ mul.s $f18, $f8, $f2 +/* 7095C 8006FD5C 46128401 */ sub.s $f16, $f16, $f18 +/* 70960 8006FD60 448A9000 */ mtc1 $t2, $f18 +/* 70964 8006FD64 00000000 */ nop +/* 70968 8006FD68 46128402 */ mul.s $f16, $f16, $f18 +/* 7096C 8006FD6C E4F00010 */ swc1 $f16, 0x10($a3) +/* 70970 8006FD70 46065402 */ mul.s $f16, $f10, $f6 +/* 70974 8006FD74 00000000 */ nop +/* 70978 8006FD78 46128402 */ mul.s $f16, $f16, $f18 +/* 7097C 8006FD7C E4F00014 */ swc1 $f16, 0x14($a3) +/* 70980 8006FD80 46022402 */ mul.s $f16, $f4, $f2 +/* 70984 8006FD84 00000000 */ nop +/* 70988 8006FD88 460A8402 */ mul.s $f16, $f16, $f10 +/* 7098C 8006FD8C 00000000 */ nop +/* 70990 8006FD90 46004482 */ mul.s $f18, $f8, $f0 +/* 70994 8006FD94 46128400 */ add.s $f16, $f16, $f18 +/* 70998 8006FD98 448A9000 */ mtc1 $t2, $f18 +/* 7099C 8006FD9C 00000000 */ nop +/* 709A0 8006FDA0 46128402 */ mul.s $f16, $f16, $f18 +/* 709A4 8006FDA4 E4F00018 */ swc1 $f16, 0x18($a3) +/* 709A8 8006FDA8 46003402 */ mul.s $f16, $f6, $f0 +/* 709AC 8006FDAC 00000000 */ nop +/* 709B0 8006FDB0 46128402 */ mul.s $f16, $f16, $f18 +/* 709B4 8006FDB4 E4F00020 */ swc1 $f16, 0x20($a3) +/* 709B8 8006FDB8 46122402 */ mul.s $f16, $f4, $f18 +/* 709BC 8006FDBC 46008407 */ neg.s $f16, $f16 +/* 709C0 8006FDC0 E4F00024 */ swc1 $f16, 0x24($a3) +/* 709C4 8006FDC4 46023402 */ mul.s $f16, $f6, $f2 +/* 709C8 8006FDC8 00000000 */ nop +/* 709CC 8006FDCC 46128402 */ mul.s $f16, $f16, $f18 +/* 709D0 8006FDD0 44819000 */ mtc1 $at, $f18 +/* 709D4 8006FDD4 E4F00028 */ swc1 $f16, 0x28($a3) +/* 709D8 8006FDD8 8CA8000C */ lw $t0, 0xC($a1) +/* 709DC 8006FDDC ACE80030 */ sw $t0, 0x30($a3) +/* 709E0 8006FDE0 8CA80010 */ lw $t0, 0x10($a1) +/* 709E4 8006FDE4 ACE80034 */ sw $t0, 0x34($a3) +/* 709E8 8006FDE8 8CA80014 */ lw $t0, 0x14($a1) +/* 709EC 8006FDEC E4F2003C */ swc1 $f18, 0x3C($a3) +/* 709F0 8006FDF0 ACE80038 */ sw $t0, 0x38($a3) +/* 709F4 8006FDF4 DFBF0000 */ ld $ra, 0x0($sp) +/* 709F8 8006FDF8 27BD0008 */ addiu $sp, $sp, 0x8 +/* 709FC 8006FDFC 03E00008 */ jr $ra +/* 70A00 8006FE00 00000000 */ nop +.end object_transform_to_matrix + +leaf f32_matrix_scale +/* 70A04 8006FE04 44859000 */ mtc1 $a1, $f18 +/* 70A08 8006FE08 C4900010 */ lwc1 $f16, 0x10($a0) +/* 70A0C 8006FE0C 46128402 */ mul.s $f16, $f16, $f18 +/* 70A10 8006FE10 E4900010 */ swc1 $f16, 0x10($a0) +/* 70A14 8006FE14 C4F00014 */ lwc1 $f16, 0x14($a3) +/* 70A18 8006FE18 46128402 */ mul.s $f16, $f16, $f18 +/* 70A1C 8006FE1C E4900014 */ swc1 $f16, 0x14($a0) +/* 70A20 8006FE20 C4900018 */ lwc1 $f16, 0x18($a0) +/* 70A24 8006FE24 46128402 */ mul.s $f16, $f16, $f18 +/* 70A28 8006FE28 03E00008 */ jr $ra +/* 70A2C 8006FE2C E4900018 */ swc1 $f16, 0x18($a0) +.end f32_matrix_scale + +leaf f32_matrix_y_scale +/* 70A30 8006FE30 44858000 */ mtc1 $a1, $f16 +/* 70A34 8006FE34 C4800010 */ lwc1 $f0, 0x10($a0) +/* 70A38 8006FE38 C4840014 */ lwc1 $f4, 0x14($a0) +/* 70A3C 8006FE3C C4880018 */ lwc1 $f8, 0x18($a0) +/* 70A40 8006FE40 46100002 */ mul.s $f0, $f0, $f16 +/* 70A44 8006FE44 C4820030 */ lwc1 $f2, 0x30($a0) +/* 70A48 8006FE48 C4860034 */ lwc1 $f6, 0x34($a0) +/* 70A4C 8006FE4C 46102102 */ mul.s $f4, $f4, $f16 +/* 70A50 8006FE50 C48A0038 */ lwc1 $f10, 0x38($a0) +/* 70A54 8006FE54 46104202 */ mul.s $f8, $f8, $f16 +/* 70A58 8006FE58 46020000 */ add.s $f0, $f0, $f2 +/* 70A5C 8006FE5C 46062100 */ add.s $f4, $f4, $f6 +/* 70A60 8006FE60 E4800030 */ swc1 $f0, 0x30($a0) +/* 70A64 8006FE64 460A4200 */ add.s $f8, $f8, $f10 +/* 70A68 8006FE68 E4840034 */ swc1 $f4, 0x34($a0) +/* 70A6C 8006FE6C 03E00008 */ jr $ra +/* 70A70 8006FE70 E4880038 */ swc1 $f8, 0x38($a0) +.end f32_matrix_y_scale + +leaf object_transform_to_matrix_2 +/* 70A74 8006FE74 27BDFFF8 */ addiu $sp, $sp, -0x8 +/* 70A78 8006FE78 3C013780 */ lui $at, (0x37800000 >> 16) +/* 70A7C 8006FE7C FFBF0000 */ sd $ra, 0x0($sp) +/* 70A80 8006FE80 00803825 */ or $a3, $a0, $zero +/* 70A84 8006FE84 44819000 */ mtc1 $at, $f18 +/* 70A88 8006FE88 0C01C20C */ jal sins_s16 +/* 70A8C 8006FE8C 84A40000 */ lh $a0, 0x0($a1) +/* 70A90 8006FE90 44820000 */ mtc1 $v0, $f0 +/* 70A94 8006FE94 84A40000 */ lh $a0, 0x0($a1) +/* 70A98 8006FE98 46800020 */ cvt.s.w $f0, $f0 +/* 70A9C 8006FE9C 46120002 */ mul.s $f0, $f0, $f18 +/* 70AA0 8006FEA0 0C01C20B */ jal coss_s16 +/* 70AA4 8006FEA4 00000000 */ nop +/* 70AA8 8006FEA8 44821000 */ mtc1 $v0, $f2 +/* 70AAC 8006FEAC 84A40002 */ lh $a0, 0x2($a1) +/* 70AB0 8006FEB0 468010A0 */ cvt.s.w $f2, $f2 +/* 70AB4 8006FEB4 46121082 */ mul.s $f2, $f2, $f18 +/* 70AB8 8006FEB8 0C01C20C */ jal sins_s16 +/* 70ABC 8006FEBC 00000000 */ nop +/* 70AC0 8006FEC0 44822000 */ mtc1 $v0, $f4 +/* 70AC4 8006FEC4 84A40002 */ lh $a0, 0x2($a1) +/* 70AC8 8006FEC8 46802120 */ cvt.s.w $f4, $f4 +/* 70ACC 8006FECC 46122102 */ mul.s $f4, $f4, $f18 +/* 70AD0 8006FED0 0C01C20B */ jal coss_s16 +/* 70AD4 8006FED4 00000000 */ nop +/* 70AD8 8006FED8 44823000 */ mtc1 $v0, $f6 +/* 70ADC 8006FEDC 84A40004 */ lh $a0, 0x4($a1) +/* 70AE0 8006FEE0 468031A0 */ cvt.s.w $f6, $f6 +/* 70AE4 8006FEE4 46123182 */ mul.s $f6, $f6, $f18 +/* 70AE8 8006FEE8 0C01C20C */ jal sins_s16 +/* 70AEC 8006FEEC 00000000 */ nop +/* 70AF0 8006FEF0 44824000 */ mtc1 $v0, $f8 +/* 70AF4 8006FEF4 84A40004 */ lh $a0, 0x4($a1) +/* 70AF8 8006FEF8 46804220 */ cvt.s.w $f8, $f8 +/* 70AFC 8006FEFC 46124202 */ mul.s $f8, $f8, $f18 +/* 70B00 8006FF00 0C01C20B */ jal coss_s16 +/* 70B04 8006FF04 00000000 */ nop +/* 70B08 8006FF08 44825000 */ mtc1 $v0, $f10 +/* 70B0C 8006FF0C ACE0000C */ sw $zero, 0xC($a3) +/* 70B10 8006FF10 E4E40018 */ swc1 $f4, 0x18($a3) +/* 70B14 8006FF14 468052A0 */ cvt.s.w $f10, $f10 +/* 70B18 8006FF18 ACE0001C */ sw $zero, 0x1C($a3) +/* 70B1C 8006FF1C ACE0002C */ sw $zero, 0x2C($a3) +/* 70B20 8006FF20 3C013F80 */ lui $at, (0x3F800000 >> 16) +/* 70B24 8006FF24 46125282 */ mul.s $f10, $f10, $f18 +/* 70B28 8006FF28 00000000 */ nop +/* 70B2C 8006FF2C 46082402 */ mul.s $f16, $f4, $f8 +/* 70B30 8006FF30 00000000 */ nop +/* 70B34 8006FF34 46008402 */ mul.s $f16, $f16, $f0 +/* 70B38 8006FF38 00000000 */ nop +/* 70B3C 8006FF3C 460A1482 */ mul.s $f18, $f2, $f10 +/* 70B40 8006FF40 46109401 */ sub.s $f16, $f18, $f16 +/* 70B44 8006FF44 E4F00000 */ swc1 $f16, 0x0($a3) +/* 70B48 8006FF48 460A2402 */ mul.s $f16, $f4, $f10 +/* 70B4C 8006FF4C 00000000 */ nop +/* 70B50 8006FF50 46008402 */ mul.s $f16, $f16, $f0 +/* 70B54 8006FF54 00000000 */ nop +/* 70B58 8006FF58 46081482 */ mul.s $f18, $f2, $f8 +/* 70B5C 8006FF5C 46128400 */ add.s $f16, $f16, $f18 +/* 70B60 8006FF60 E4F00004 */ swc1 $f16, 0x4($a3) +/* 70B64 8006FF64 46060402 */ mul.s $f16, $f0, $f6 +/* 70B68 8006FF68 46008407 */ neg.s $f16, $f16 +/* 70B6C 8006FF6C E4F00008 */ swc1 $f16, 0x8($a3) +/* 70B70 8006FF70 46083402 */ mul.s $f16, $f6, $f8 +/* 70B74 8006FF74 46008407 */ neg.s $f16, $f16 +/* 70B78 8006FF78 E4F00010 */ swc1 $f16, 0x10($a3) +/* 70B7C 8006FF7C 460A3402 */ mul.s $f16, $f6, $f10 +/* 70B80 8006FF80 E4F00014 */ swc1 $f16, 0x14($a3) +/* 70B84 8006FF84 46082402 */ mul.s $f16, $f4, $f8 +/* 70B88 8006FF88 00000000 */ nop +/* 70B8C 8006FF8C 46028402 */ mul.s $f16, $f16, $f2 +/* 70B90 8006FF90 00000000 */ nop +/* 70B94 8006FF94 460A0482 */ mul.s $f18, $f0, $f10 +/* 70B98 8006FF98 46128400 */ add.s $f16, $f16, $f18 +/* 70B9C 8006FF9C E4F00020 */ swc1 $f16, 0x20($a3) +/* 70BA0 8006FFA0 460A2402 */ mul.s $f16, $f4, $f10 +/* 70BA4 8006FFA4 00000000 */ nop +/* 70BA8 8006FFA8 46028402 */ mul.s $f16, $f16, $f2 +/* 70BAC 8006FFAC 00000000 */ nop +/* 70BB0 8006FFB0 46080482 */ mul.s $f18, $f0, $f8 +/* 70BB4 8006FFB4 46109401 */ sub.s $f16, $f18, $f16 +/* 70BB8 8006FFB8 C4F20000 */ lwc1 $f18, 0x0($a3) +/* 70BBC 8006FFBC E4F00024 */ swc1 $f16, 0x24($a3) +/* 70BC0 8006FFC0 46061402 */ mul.s $f16, $f2, $f6 +/* 70BC4 8006FFC4 E4F00028 */ swc1 $f16, 0x28($a3) +/* 70BC8 8006FFC8 C4A0000C */ lwc1 $f0, 0xC($a1) +/* 70BCC 8006FFCC C4A20010 */ lwc1 $f2, 0x10($a1) +/* 70BD0 8006FFD0 C4F00010 */ lwc1 $f16, 0x10($a3) +/* 70BD4 8006FFD4 46009482 */ mul.s $f18, $f18, $f0 +/* 70BD8 8006FFD8 C4A40014 */ lwc1 $f4, 0x14($a1) +/* 70BDC 8006FFDC 46028402 */ mul.s $f16, $f16, $f2 +/* 70BE0 8006FFE0 46128400 */ add.s $f16, $f16, $f18 +/* 70BE4 8006FFE4 C4F20020 */ lwc1 $f18, 0x20($a3) +/* 70BE8 8006FFE8 46049482 */ mul.s $f18, $f18, $f4 +/* 70BEC 8006FFEC 46128400 */ add.s $f16, $f16, $f18 +/* 70BF0 8006FFF0 C4F20004 */ lwc1 $f18, 0x4($a3) +/* 70BF4 8006FFF4 E4F00030 */ swc1 $f16, 0x30($a3) +/* 70BF8 8006FFF8 46009482 */ mul.s $f18, $f18, $f0 +/* 70BFC 8006FFFC C4F00014 */ lwc1 $f16, 0x14($a3) +/* 70C00 80070000 46028402 */ mul.s $f16, $f16, $f2 +/* 70C04 80070004 46128400 */ add.s $f16, $f16, $f18 +/* 70C08 80070008 C4F20024 */ lwc1 $f18, 0x24($a3) +/* 70C0C 8007000C 46049482 */ mul.s $f18, $f18, $f4 +/* 70C10 80070010 46128400 */ add.s $f16, $f16, $f18 +/* 70C14 80070014 C4F20008 */ lwc1 $f18, 0x8($a3) +/* 70C18 80070018 E4F00034 */ swc1 $f16, 0x34($a3) +/* 70C1C 8007001C 46009482 */ mul.s $f18, $f18, $f0 +/* 70C20 80070020 C4F00018 */ lwc1 $f16, 0x18($a3) +/* 70C24 80070024 46028402 */ mul.s $f16, $f16, $f2 +/* 70C28 80070028 46128400 */ add.s $f16, $f16, $f18 +/* 70C2C 8007002C C4F20028 */ lwc1 $f18, 0x28($a3) +/* 70C30 80070030 46049482 */ mul.s $f18, $f18, $f4 +/* 70C34 80070034 46128400 */ add.s $f16, $f16, $f18 +/* 70C38 80070038 E4F00038 */ swc1 $f16, 0x38($a3) +/* 70C3C 8007003C 44818000 */ mtc1 $at, $f16 +/* 70C40 80070040 00000000 */ nop +/* 70C44 80070044 E4F0003C */ swc1 $f16, 0x3C($a3) +/* 70C48 80070048 DFBF0000 */ ld $ra, 0x0($sp) +/* 70C4C 8007004C 27BD0008 */ addiu $sp, $sp, 0x8 +/* 70C50 80070050 03E00008 */ jr $ra +/* 70C54 80070054 00000000 */ nop +.end object_transform_to_matrix_2 + +leaf func_80070058 +/* 70C58 80070058 27BDFFF8 */ addiu $sp, $sp, -0x8 +/* 70C5C 8007005C 3C013780 */ lui $at, (0x37800000 >> 16) +/* 70C60 80070060 FFBF0000 */ sd $ra, 0x0($sp) +/* 70C64 80070064 00803825 */ or $a3, $a0, $zero +/* 70C68 80070068 44819000 */ mtc1 $at, $f18 +/* 70C6C 8007006C 0C01C20C */ jal sins_s16 +/* 70C70 80070070 84A40000 */ lh $a0, 0x0($a1) +/* 70C74 80070074 44820000 */ mtc1 $v0, $f0 +/* 70C78 80070078 84A40000 */ lh $a0, 0x0($a1) +/* 70C7C 8007007C 46800020 */ cvt.s.w $f0, $f0 +/* 70C80 80070080 46120002 */ mul.s $f0, $f0, $f18 +/* 70C84 80070084 0C01C20B */ jal coss_s16 +/* 70C88 80070088 00000000 */ nop +/* 70C8C 8007008C 44821000 */ mtc1 $v0, $f2 +/* 70C90 80070090 84A40002 */ lh $a0, 0x2($a1) +/* 70C94 80070094 468010A0 */ cvt.s.w $f2, $f2 +/* 70C98 80070098 46121082 */ mul.s $f2, $f2, $f18 +/* 70C9C 8007009C 0C01C20C */ jal sins_s16 +/* 70CA0 800700A0 00000000 */ nop +/* 70CA4 800700A4 44822000 */ mtc1 $v0, $f4 +/* 70CA8 800700A8 84A40002 */ lh $a0, 0x2($a1) +/* 70CAC 800700AC 46802120 */ cvt.s.w $f4, $f4 +/* 70CB0 800700B0 46122102 */ mul.s $f4, $f4, $f18 +/* 70CB4 800700B4 0C01C20B */ jal coss_s16 +/* 70CB8 800700B8 00000000 */ nop +/* 70CBC 800700BC 44823000 */ mtc1 $v0, $f6 +/* 70CC0 800700C0 84A40004 */ lh $a0, 0x4($a1) +/* 70CC4 800700C4 468031A0 */ cvt.s.w $f6, $f6 +/* 70CC8 800700C8 46123182 */ mul.s $f6, $f6, $f18 +/* 70CCC 800700CC 0C01C20C */ jal sins_s16 +/* 70CD0 800700D0 00000000 */ nop +/* 70CD4 800700D4 44824000 */ mtc1 $v0, $f8 +/* 70CD8 800700D8 84A40004 */ lh $a0, 0x4($a1) +/* 70CDC 800700DC 46804220 */ cvt.s.w $f8, $f8 +/* 70CE0 800700E0 46124202 */ mul.s $f8, $f8, $f18 +/* 70CE4 800700E4 0C01C20B */ jal coss_s16 +/* 70CE8 800700E8 00000000 */ nop +/* 70CEC 800700EC 44825000 */ mtc1 $v0, $f10 +/* 70CF0 800700F0 3C013F80 */ lui $at, (0x3F800000 >> 16) +/* 70CF4 800700F4 ACE0000C */ sw $zero, 0xC($a3) +/* 70CF8 800700F8 468052A0 */ cvt.s.w $f10, $f10 +/* 70CFC 800700FC ACE0001C */ sw $zero, 0x1C($a3) +/* 70D00 80070100 ACE0002C */ sw $zero, 0x2C($a3) +/* 70D04 80070104 46125282 */ mul.s $f10, $f10, $f18 +/* 70D08 80070108 44819000 */ mtc1 $at, $f18 +/* 70D0C 8007010C 46060302 */ mul.s $f12, $f0, $f6 +/* 70D10 80070110 E4F2003C */ swc1 $f18, 0x3C($a3) +/* 70D14 80070114 DFBF0000 */ ld $ra, 0x0($sp) +/* 70D18 80070118 27BD0008 */ addiu $sp, $sp, 0x8 +/* 70D1C 8007011C 460A1382 */ mul.s $f14, $f2, $f10 +/* 70D20 80070120 00000000 */ nop +/* 70D24 80070124 46080402 */ mul.s $f16, $f0, $f8 +/* 70D28 80070128 03E00008 */ jr $ra +/* 70D2C 8007012C 00000000 */ nop +.end func_80070058 + +leaf f32_matrix_from_rotation_and_scale +/* 70D30 80070130 27BDFFF8 */ addiu $sp, $sp, -0x8 +/* 70D34 80070134 00E0C825 */ or $t9, $a3, $zero +/* 70D38 80070138 3C013780 */ lui $at, (0x37800000 >> 16) +/* 70D3C 8007013C FFBF0000 */ sd $ra, 0x0($sp) +/* 70D40 80070140 00803825 */ or $a3, $a0, $zero +/* 70D44 80070144 44819000 */ mtc1 $at, $f18 +/* 70D48 80070148 0C01C20C */ jal sins_s16 +/* 70D4C 8007014C 00A02025 */ or $a0, $a1, $zero +/* 70D50 80070150 44824000 */ mtc1 $v0, $f8 +/* 70D54 80070154 00A02025 */ or $a0, $a1, $zero +/* 70D58 80070158 46804220 */ cvt.s.w $f8, $f8 +/* 70D5C 8007015C 46124202 */ mul.s $f8, $f8, $f18 +/* 70D60 80070160 0C01C20B */ jal coss_s16 +/* 70D64 80070164 00000000 */ nop +/* 70D68 80070168 44825000 */ mtc1 $v0, $f10 +/* 70D6C 8007016C 44868000 */ mtc1 $a2, $f16 +/* 70D70 80070170 3C013F80 */ lui $at, (0x3F800000 >> 16) +/* 70D74 80070174 468052A0 */ cvt.s.w $f10, $f10 +/* 70D78 80070178 E4F00028 */ swc1 $f16, 0x28($a3) +/* 70D7C 8007017C ACE00008 */ sw $zero, 0x8($a3) +/* 70D80 80070180 ACE0000C */ sw $zero, 0xC($a3) +/* 70D84 80070184 ACE00018 */ sw $zero, 0x18($a3) +/* 70D88 80070188 ACE0001C */ sw $zero, 0x1C($a3) +/* 70D8C 8007018C 46125282 */ mul.s $f10, $f10, $f18 +/* 70D90 80070190 44999000 */ mtc1 $t9, $f18 +/* 70D94 80070194 ACE00020 */ sw $zero, 0x20($a3) +/* 70D98 80070198 ACE00024 */ sw $zero, 0x24($a3) +/* 70D9C 8007019C ACE0002C */ sw $zero, 0x2C($a3) +/* 70DA0 800701A0 ACE00030 */ sw $zero, 0x30($a3) +/* 70DA4 800701A4 ACE00034 */ sw $zero, 0x34($a3) +/* 70DA8 800701A8 46105282 */ mul.s $f10, $f10, $f16 +/* 70DAC 800701AC ACE00038 */ sw $zero, 0x38($a3) +/* 70DB0 800701B0 46104202 */ mul.s $f8, $f8, $f16 +/* 70DB4 800701B4 44818000 */ mtc1 $at, $f16 +/* 70DB8 800701B8 E4EA0000 */ swc1 $f10, 0x0($a3) +/* 70DBC 800701BC 46125282 */ mul.s $f10, $f10, $f18 +/* 70DC0 800701C0 E4F0003C */ swc1 $f16, 0x3C($a3) +/* 70DC4 800701C4 E4E80004 */ swc1 $f8, 0x4($a3) +/* 70DC8 800701C8 46004207 */ neg.s $f8, $f8 +/* 70DCC 800701CC E4E80010 */ swc1 $f8, 0x10($a3) +/* 70DD0 800701D0 E4EA0014 */ swc1 $f10, 0x14($a3) +/* 70DD4 800701D4 DFBF0000 */ ld $ra, 0x0($sp) +/* 70DD8 800701D8 27BD0008 */ addiu $sp, $sp, 0x8 +/* 70DDC 800701DC 03E00008 */ jr $ra +/* 70DE0 800701E0 00000000 */ nop +.end f32_matrix_from_rotation_and_scale + +leaf s16_vec3_apply_object_rotation +/* 70DE4 800701E4 27BDFFF8 */ addiu $sp, $sp, -0x8 +/* 70DE8 800701E8 FFBF0000 */ sd $ra, 0x0($sp) +/* 70DEC 800701EC 00803025 */ or $a2, $a0, $zero +/* 70DF0 800701F0 84AB0000 */ lh $t3, 0x0($a1) +/* 70DF4 800701F4 84AC0002 */ lh $t4, 0x2($a1) +/* 70DF8 800701F8 84AD0004 */ lh $t5, 0x4($a1) +/* 70DFC 800701FC 0C01C20C */ jal sins_s16 +/* 70E00 80070200 84C40000 */ lh $a0, 0x0($a2) +/* 70E04 80070204 00407025 */ or $t6, $v0, $zero +/* 70E08 80070208 0C01C20B */ jal coss_s16 +/* 70E0C 8007020C 84C40000 */ lh $a0, 0x0($a2) +/* 70E10 80070210 016E0018 */ mult $t3, $t6 +/* 70E14 80070214 00407825 */ or $t7, $v0, $zero +/* 70E18 80070218 84C40002 */ lh $a0, 0x2($a2) +/* 70E1C 8007021C 00004012 */ mflo $t0 +/* 70E20 80070220 00000000 */ nop +/* 70E24 80070224 00000000 */ nop +/* 70E28 80070228 018E0018 */ mult $t4, $t6 +/* 70E2C 8007022C 00004812 */ mflo $t1 +/* 70E30 80070230 00000000 */ nop +/* 70E34 80070234 00000000 */ nop +/* 70E38 80070238 016F0018 */ mult $t3, $t7 +/* 70E3C 8007023C 00005812 */ mflo $t3 +/* 70E40 80070240 01695822 */ sub $t3, $t3, $t1 /* handwritten instruction */ +/* 70E44 80070244 000B5C03 */ sra $t3, $t3, 16 +/* 70E48 80070248 018F0018 */ mult $t4, $t7 +/* 70E4C 8007024C 00006012 */ mflo $t4 +/* 70E50 80070250 01886020 */ add $t4, $t4, $t0 /* handwritten instruction */ +/* 70E54 80070254 0C01C20C */ jal sins_s16 +/* 70E58 80070258 000C6403 */ sra $t4, $t4, 16 +/* 70E5C 8007025C 00407025 */ or $t6, $v0, $zero +/* 70E60 80070260 0C01C20B */ jal coss_s16 +/* 70E64 80070264 84C40002 */ lh $a0, 0x2($a2) +/* 70E68 80070268 018E0018 */ mult $t4, $t6 +/* 70E6C 8007026C 00407825 */ or $t7, $v0, $zero +/* 70E70 80070270 84C40004 */ lh $a0, 0x4($a2) +/* 70E74 80070274 00004012 */ mflo $t0 +/* 70E78 80070278 00000000 */ nop +/* 70E7C 8007027C 00000000 */ nop +/* 70E80 80070280 01AE0018 */ mult $t5, $t6 +/* 70E84 80070284 00004812 */ mflo $t1 +/* 70E88 80070288 00000000 */ nop +/* 70E8C 8007028C 00000000 */ nop +/* 70E90 80070290 018F0018 */ mult $t4, $t7 +/* 70E94 80070294 00006012 */ mflo $t4 +/* 70E98 80070298 01896022 */ sub $t4, $t4, $t1 /* handwritten instruction */ +/* 70E9C 8007029C 000C6403 */ sra $t4, $t4, 16 +/* 70EA0 800702A0 01AF0018 */ mult $t5, $t7 +/* 70EA4 800702A4 00006812 */ mflo $t5 +/* 70EA8 800702A8 01A86820 */ add $t5, $t5, $t0 /* handwritten instruction */ +/* 70EAC 800702AC 0C01C20C */ jal sins_s16 +/* 70EB0 800702B0 000D6C03 */ sra $t5, $t5, 16 +/* 70EB4 800702B4 00407025 */ or $t6, $v0, $zero +/* 70EB8 800702B8 0C01C20B */ jal coss_s16 +/* 70EBC 800702BC 84C40004 */ lh $a0, 0x4($a2) +/* 70EC0 800702C0 016E0018 */ mult $t3, $t6 +/* 70EC4 800702C4 00407825 */ or $t7, $v0, $zero +/* 70EC8 800702C8 A4AC0002 */ sh $t4, 0x2($a1) +/* 70ECC 800702CC 00004012 */ mflo $t0 +/* 70ED0 800702D0 00000000 */ nop +/* 70ED4 800702D4 00000000 */ nop +/* 70ED8 800702D8 01AE0018 */ mult $t5, $t6 +/* 70EDC 800702DC 00004812 */ mflo $t1 +/* 70EE0 800702E0 00000000 */ nop +/* 70EE4 800702E4 00000000 */ nop +/* 70EE8 800702E8 016F0018 */ mult $t3, $t7 +/* 70EEC 800702EC 00005812 */ mflo $t3 +/* 70EF0 800702F0 01695820 */ add $t3, $t3, $t1 /* handwritten instruction */ +/* 70EF4 800702F4 000B5C03 */ sra $t3, $t3, 16 +/* 70EF8 800702F8 01AF0018 */ mult $t5, $t7 +/* 70EFC 800702FC A4AB0000 */ sh $t3, 0x0($a1) +/* 70F00 80070300 00006812 */ mflo $t5 +/* 70F04 80070304 01A86822 */ sub $t5, $t5, $t0 /* handwritten instruction */ +/* 70F08 80070308 000D6C03 */ sra $t5, $t5, 16 +/* 70F0C 8007030C A4AD0004 */ sh $t5, 0x4($a1) +/* 70F10 80070310 DFBF0000 */ ld $ra, 0x0($sp) +/* 70F14 80070314 27BD0008 */ addiu $sp, $sp, 0x8 +/* 70F18 80070318 03E00008 */ jr $ra +/* 70F1C 8007031C 00000000 */ nop +.end s16_vec3_apply_object_rotation + +leaf f32_vec3_apply_object_rotation +/* 70F20 80070320 27BDFFF8 */ addiu $sp, $sp, -0x8 +/* 70F24 80070324 FFBF0000 */ sd $ra, 0x0($sp) +/* 70F28 80070328 00803025 */ or $a2, $a0, $zero +/* 70F2C 8007032C C4A40000 */ lwc1 $f4, 0x0($a1) +/* 70F30 80070330 C4A60004 */ lwc1 $f6, 0x4($a1) +/* 70F34 80070334 C4A80008 */ lwc1 $f8, 0x8($a1) +/* 70F38 80070338 0C01C1F1 */ jal sins_f +/* 70F3C 8007033C 84C40004 */ lh $a0, 0x4($a2) +/* 70F40 80070340 46002282 */ mul.s $f10, $f4, $f0 +/* 70F44 80070344 84C40004 */ lh $a0, 0x4($a2) +/* 70F48 80070348 46003302 */ mul.s $f12, $f6, $f0 +/* 70F4C 8007034C 0C01C1FE */ jal coss_f +/* 70F50 80070350 00000000 */ nop +/* 70F54 80070354 46002102 */ mul.s $f4, $f4, $f0 +/* 70F58 80070358 84C40002 */ lh $a0, 0x2($a2) +/* 70F5C 8007035C 46003182 */ mul.s $f6, $f6, $f0 +/* 70F60 80070360 460C2101 */ sub.s $f4, $f4, $f12 +/* 70F64 80070364 0C01C1F1 */ jal sins_f +/* 70F68 80070368 460A3180 */ add.s $f6, $f6, $f10 +/* 70F6C 8007036C 46003282 */ mul.s $f10, $f6, $f0 +/* 70F70 80070370 84C40002 */ lh $a0, 0x2($a2) +/* 70F74 80070374 46004302 */ mul.s $f12, $f8, $f0 +/* 70F78 80070378 0C01C1FE */ jal coss_f +/* 70F7C 8007037C 00000000 */ nop +/* 70F80 80070380 46003182 */ mul.s $f6, $f6, $f0 +/* 70F84 80070384 84C40000 */ lh $a0, 0x0($a2) +/* 70F88 80070388 46004202 */ mul.s $f8, $f8, $f0 +/* 70F8C 8007038C 460C3181 */ sub.s $f6, $f6, $f12 +/* 70F90 80070390 0C01C1F1 */ jal sins_f +/* 70F94 80070394 460A4200 */ add.s $f8, $f8, $f10 +/* 70F98 80070398 46002282 */ mul.s $f10, $f4, $f0 +/* 70F9C 8007039C 84C40000 */ lh $a0, 0x0($a2) +/* 70FA0 800703A0 46004302 */ mul.s $f12, $f8, $f0 +/* 70FA4 800703A4 0C01C1FE */ jal coss_f +/* 70FA8 800703A8 00000000 */ nop +/* 70FAC 800703AC 46002102 */ mul.s $f4, $f4, $f0 +/* 70FB0 800703B0 E4A60004 */ swc1 $f6, 0x4($a1) +/* 70FB4 800703B4 46004202 */ mul.s $f8, $f8, $f0 +/* 70FB8 800703B8 460C2100 */ add.s $f4, $f4, $f12 +/* 70FBC 800703BC 460A4201 */ sub.s $f8, $f8, $f10 +/* 70FC0 800703C0 E4A40000 */ swc1 $f4, 0x0($a1) +/* 70FC4 800703C4 E4A80008 */ swc1 $f8, 0x8($a1) +/* 70FC8 800703C8 DFBF0000 */ ld $ra, 0x0($sp) +/* 70FCC 800703CC 27BD0008 */ addiu $sp, $sp, 0x8 +/* 70FD0 800703D0 03E00008 */ jr $ra +/* 70FD4 800703D4 00000000 */ nop +.end f32_vec3_apply_object_rotation + +leaf f32_vec3_apply_object_rotation2 +/* 70FD8 800703D8 27BDFFF8 */ addiu $sp, $sp, -0x8 +/* 70FDC 800703DC FFBF0000 */ sd $ra, 0x0($sp) +/* 70FE0 800703E0 00803025 */ or $a2, $a0, $zero +/* 70FE4 800703E4 C4A40000 */ lwc1 $f4, 0x0($a1) +/* 70FE8 800703E8 C4A60004 */ lwc1 $f6, 0x4($a1) +/* 70FEC 800703EC C4A80008 */ lwc1 $f8, 0x8($a1) +/* 70FF0 800703F0 0C01C1F1 */ jal sins_f +/* 70FF4 800703F4 84C40000 */ lh $a0, 0x0($a2) +/* 70FF8 800703F8 46002282 */ mul.s $f10, $f4, $f0 +/* 70FFC 800703FC 84C40000 */ lh $a0, 0x0($a2) +/* 71000 80070400 46004302 */ mul.s $f12, $f8, $f0 +/* 71004 80070404 0C01C1FE */ jal coss_f +/* 71008 80070408 00000000 */ nop +/* 7100C 8007040C 46002102 */ mul.s $f4, $f4, $f0 +/* 71010 80070410 84C40002 */ lh $a0, 0x2($a2) +/* 71014 80070414 46004202 */ mul.s $f8, $f8, $f0 +/* 71018 80070418 460C2100 */ add.s $f4, $f4, $f12 +/* 7101C 8007041C 0C01C1F1 */ jal sins_f +/* 71020 80070420 460A4201 */ sub.s $f8, $f8, $f10 +/* 71024 80070424 46003282 */ mul.s $f10, $f6, $f0 +/* 71028 80070428 84C40002 */ lh $a0, 0x2($a2) +/* 7102C 8007042C 46004302 */ mul.s $f12, $f8, $f0 +/* 71030 80070430 0C01C1FE */ jal coss_f +/* 71034 80070434 00000000 */ nop +/* 71038 80070438 46003182 */ mul.s $f6, $f6, $f0 +/* 7103C 8007043C 84C40004 */ lh $a0, 0x4($a2) +/* 71040 80070440 46004202 */ mul.s $f8, $f8, $f0 +/* 71044 80070444 460C3181 */ sub.s $f6, $f6, $f12 +/* 71048 80070448 0C01C1F1 */ jal sins_f +/* 7104C 8007044C 460A4200 */ add.s $f8, $f8, $f10 +/* 71050 80070450 46002282 */ mul.s $f10, $f4, $f0 +/* 71054 80070454 84C40004 */ lh $a0, 0x4($a2) +/* 71058 80070458 46003302 */ mul.s $f12, $f6, $f0 +/* 7105C 8007045C 0C01C1FE */ jal coss_f +/* 71060 80070460 00000000 */ nop +/* 71064 80070464 46002102 */ mul.s $f4, $f4, $f0 +/* 71068 80070468 E4A80008 */ swc1 $f8, 0x8($a1) +/* 7106C 8007046C 46003182 */ mul.s $f6, $f6, $f0 +/* 71070 80070470 460C2101 */ sub.s $f4, $f4, $f12 +/* 71074 80070474 460A3180 */ add.s $f6, $f6, $f10 +/* 71078 80070478 E4A40000 */ swc1 $f4, 0x0($a1) +/* 7107C 8007047C E4A60004 */ swc1 $f6, 0x4($a1) +/* 71080 80070480 DFBF0000 */ ld $ra, 0x0($sp) +/* 71084 80070484 27BD0008 */ addiu $sp, $sp, 0x8 +/* 71088 80070488 03E00008 */ jr $ra +/* 7108C 8007048C 00000000 */ nop +.end f32_vec3_apply_object_rotation2 + +leaf f32_vec3_apply_object_rotation3 +/* 71090 80070490 27BDFFF8 */ addiu $sp, $sp, -0x8 +/* 71094 80070494 FFBF0000 */ sd $ra, 0x0($sp) +/* 71098 80070498 00803025 */ or $a2, $a0, $zero +/* 7109C 8007049C C4A80008 */ lwc1 $f8, 0x8($a1) +/* 710A0 800704A0 0C01C1F1 */ jal sins_f +/* 710A4 800704A4 84C40002 */ lh $a0, 0x2($a2) +/* 710A8 800704A8 46004182 */ mul.s $f6, $f8, $f0 +/* 710AC 800704AC 0C01C1FE */ jal coss_f +/* 710B0 800704B0 84C40002 */ lh $a0, 0x2($a2) +/* 710B4 800704B4 46004202 */ mul.s $f8, $f8, $f0 +/* 710B8 800704B8 46003187 */ neg.s $f6, $f6 +/* 710BC 800704BC 0C01C1F1 */ jal sins_f +/* 710C0 800704C0 84C40000 */ lh $a0, 0x0($a2) +/* 710C4 800704C4 46004102 */ mul.s $f4, $f8, $f0 +/* 710C8 800704C8 0C01C1FE */ jal coss_f +/* 710CC 800704CC 84C40000 */ lh $a0, 0x0($a2) +/* 710D0 800704D0 46004202 */ mul.s $f8, $f8, $f0 +/* 710D4 800704D4 E4A40000 */ swc1 $f4, 0x0($a1) +/* 710D8 800704D8 E4A60004 */ swc1 $f6, 0x4($a1) +/* 710DC 800704DC E4A80008 */ swc1 $f8, 0x8($a1) +/* 710E0 800704E0 DFBF0000 */ ld $ra, 0x0($sp) +/* 710E4 800704E4 27BD0008 */ addiu $sp, $sp, 0x8 +/* 710E8 800704E8 03E00008 */ jr $ra +/* 710EC 800704EC 00000000 */ nop +.end f32_vec3_apply_object_rotation3 + +leaf point_triangle_2d_xz_intersection +/* 710F0 800704F0 8FAE0010 */ lw $t6, 0x10($sp) +/* 710F4 800704F4 84C80000 */ lh $t0, 0x0($a2) +/* 710F8 800704F8 84C90004 */ lh $t1, 0x4($a2) +/* 710FC 800704FC 84EB0004 */ lh $t3, 0x4($a3) +/* 71100 80070500 85CC0000 */ lh $t4, 0x0($t6) +/* 71104 80070504 85CD0004 */ lh $t5, 0x4($t6) +/* 71108 80070508 00887022 */ sub $t6, $a0, $t0 /* handwritten instruction */ +/* 7110C 8007050C 01697822 */ sub $t7, $t3, $t1 /* handwritten instruction */ +/* 71110 80070510 01CF0019 */ multu $t6, $t7 +/* 71114 80070514 84EA0000 */ lh $t2, 0x0($a3) +/* 71118 80070518 00A9C822 */ sub $t9, $a1, $t1 /* handwritten instruction */ +/* 7111C 8007051C 24020000 */ addiu $v0, $zero, 0x0 +/* 71120 80070520 0148C022 */ sub $t8, $t2, $t0 /* handwritten instruction */ +/* 71124 80070524 34070001 */ ori $a3, $zero, 0x1 +/* 71128 80070528 00007012 */ mflo $t6 +/* 7112C 8007052C 00007012 */ mflo $t6 +/* 71130 80070530 00000000 */ nop +/* 71134 80070534 00000000 */ nop +/* 71138 80070538 03190019 */ multu $t8, $t9 +/* 7113C 8007053C 00007812 */ mflo $t7 +/* 71140 80070540 0000C012 */ mflo $t8 +/* 71144 80070544 01CF7022 */ sub $t6, $t6, $t7 /* handwritten instruction */ +/* 71148 80070548 05C30003 */ bgezl $t6, .L80070558 +/* 7114C 8007054C 008A7022 */ sub $t6, $a0, $t2 /* handwritten instruction */ +/* 71150 80070550 00E73826 */ xor $a3, $a3, $a3 +/* 71154 80070554 008A7022 */ sub $t6, $a0, $t2 /* handwritten instruction */ +.L80070558: +/* 71158 80070558 01AB7822 */ sub $t7, $t5, $t3 /* handwritten instruction */ +/* 7115C 8007055C 01CF0019 */ multu $t6, $t7 +/* 71160 80070560 018AC022 */ sub $t8, $t4, $t2 /* handwritten instruction */ +/* 71164 80070564 00ABC822 */ sub $t9, $a1, $t3 /* handwritten instruction */ +/* 71168 80070568 34060001 */ ori $a2, $zero, 0x1 +/* 7116C 8007056C 00007012 */ mflo $t6 +/* 71170 80070570 00007012 */ mflo $t6 +/* 71174 80070574 00000000 */ nop +/* 71178 80070578 00000000 */ nop +/* 7117C 8007057C 03190019 */ multu $t8, $t9 +/* 71180 80070580 00007812 */ mflo $t7 +/* 71184 80070584 0000C012 */ mflo $t8 +/* 71188 80070588 01CF7022 */ sub $t6, $t6, $t7 /* handwritten instruction */ +/* 7118C 8007058C 05C10002 */ bgez $t6, .L80070598 +/* 71190 80070590 00000000 */ nop +/* 71194 80070594 00C63026 */ xor $a2, $a2, $a2 +.L80070598: +/* 71198 80070598 14E60015 */ bne $a3, $a2, .L800705F0 +/* 7119C 8007059C 00000000 */ nop +/* 711A0 800705A0 008C7022 */ sub $t6, $a0, $t4 /* handwritten instruction */ +/* 711A4 800705A4 012D7822 */ sub $t7, $t1, $t5 /* handwritten instruction */ +/* 711A8 800705A8 01CF0019 */ multu $t6, $t7 +/* 711AC 800705AC 010CC022 */ sub $t8, $t0, $t4 /* handwritten instruction */ +/* 711B0 800705B0 00ADC822 */ sub $t9, $a1, $t5 /* handwritten instruction */ +/* 711B4 800705B4 34050001 */ ori $a1, $zero, 0x1 +/* 711B8 800705B8 00007012 */ mflo $t6 +/* 711BC 800705BC 00007012 */ mflo $t6 +/* 711C0 800705C0 00000000 */ nop +/* 711C4 800705C4 00000000 */ nop +/* 711C8 800705C8 03190019 */ multu $t8, $t9 +/* 711CC 800705CC 00007812 */ mflo $t7 +/* 711D0 800705D0 0000C012 */ mflo $t8 +/* 711D4 800705D4 01CF7022 */ sub $t6, $t6, $t7 /* handwritten instruction */ +/* 711D8 800705D8 05C10002 */ bgez $t6, .L800705E4 +/* 711DC 800705DC 00000000 */ nop +/* 711E0 800705E0 00A52826 */ xor $a1, $a1, $a1 +.L800705E4: +/* 711E4 800705E4 14A60002 */ bne $a1, $a2, .L800705F0 +/* 711E8 800705E8 00000000 */ nop +/* 711EC 800705EC 34020001 */ ori $v0, $zero, 0x1 +.L800705F0: +/* 711F0 800705F0 03E00008 */ jr $ra +/* 711F4 800705F4 00000000 */ nop +.end point_triangle_2d_xz_intersection + +leaf f32_matrix_from_position +/* 711F8 800705F8 00804025 */ or $t0, $a0, $zero +/* 711FC 800705FC 25090040 */ addiu $t1, $t0, 0x40 +.L80070600: +/* 71200 80070600 25080004 */ addiu $t0, $t0, 0x4 +/* 71204 80070604 1528FFFE */ bne $t1, $t0, .L80070600 +/* 71208 80070608 AD00FFFC */ sw $zero, -0x4($t0) +/* 7120C 8007060C 3C013F80 */ lui $at, (0x3F800000 >> 16) +/* 71210 80070610 44819000 */ mtc1 $at, $f18 +/* 71214 80070614 00000000 */ nop +/* 71218 80070618 E4920000 */ swc1 $f18, 0x0($a0) +/* 7121C 8007061C E4920014 */ swc1 $f18, 0x14($a0) +/* 71220 80070620 E4920028 */ swc1 $f18, 0x28($a0) +/* 71224 80070624 E492003C */ swc1 $f18, 0x3C($a0) +/* 71228 80070628 AC850030 */ sw $a1, 0x30($a0) +/* 7122C 8007062C AC860034 */ sw $a2, 0x34($a0) +/* 71230 80070630 03E00008 */ jr $ra +/* 71234 80070634 AC870038 */ sw $a3, 0x38($a0) +.end f32_matrix_from_position + +leaf f32_matrix_from_scale +/* 71238 80070638 00804025 */ or $t0, $a0, $zero +/* 7123C 8007063C 25090040 */ addiu $t1, $t0, 0x40 +.L80070640: +/* 71240 80070640 25080004 */ addiu $t0, $t0, 0x4 +/* 71244 80070644 1528FFFE */ bne $t1, $t0, .L80070640 +/* 71248 80070648 AD00FFFC */ sw $zero, -0x4($t0) +/* 7124C 8007064C 3C013F80 */ lui $at, (0x3F800000 >> 16) +/* 71250 80070650 44819000 */ mtc1 $at, $f18 +/* 71254 80070654 00000000 */ nop +/* 71258 80070658 E492003C */ swc1 $f18, 0x3C($a0) +/* 7125C 8007065C AC850000 */ sw $a1, 0x0($a0) +/* 71260 80070660 AC860014 */ sw $a2, 0x14($a0) +/* 71264 80070664 03E00008 */ jr $ra +/* 71268 80070668 AC870028 */ sw $a3, 0x28($a0) +.end f32_matrix_from_scale + +leaf atan2s +/* 7126C 8007066C 00854025 */ or $t0, $a0, $a1 +/* 71270 80070670 14080003 */ bne $zero, $t0, .L80070680 +/* 71274 80070674 00000000 */ nop +/* 71278 80070678 03E00008 */ jr $ra +/* 7127C 8007067C 24020000 */ addiu $v0, $zero, 0x0 +.L80070680: +/* 71280 80070680 04800005 */ bltz $a0, .L80070698 +/* 71284 80070684 00000000 */ nop +/* 71288 80070688 04A2000B */ bltzl $a1, .L800706B8 +/* 7128C 8007068C 00052823 */ negu $a1, $a1 +/* 71290 80070690 0801C1B2 */ j .L800706C8 +/* 71294 80070694 24020000 */ addiu $v0, $zero, 0x0 +.L80070698: +/* 71298 80070698 04A00003 */ bltz $a1, .L800706A8 +/* 7129C 8007069C 00042023 */ negu $a0, $a0 +/* 712A0 800706A0 0801C1AF */ j .L800706BC +/* 712A4 800706A4 3402C000 */ ori $v0, $zero, 0xC000 +.L800706A8: +/* 712A8 800706A8 00052823 */ negu $a1, $a1 +/* 712AC 800706AC 0801C1B2 */ j .L800706C8 +/* 712B0 800706B0 34028000 */ ori $v0, $zero, 0x8000 +/* 712B4 800706B4 00052823 */ negu $a1, $a1 +.L800706B8: +/* 712B8 800706B8 24024000 */ addiu $v0, $zero, 0x4000 +.L800706BC: +/* 712BC 800706BC 00852026 */ xor $a0, $a0, $a1 +/* 712C0 800706C0 00852826 */ xor $a1, $a0, $a1 +/* 712C4 800706C4 00852026 */ xor $a0, $a0, $a1 +.L800706C8: +/* 712C8 800706C8 00854023 */ subu $t0, $a0, $a1 +/* 712CC 800706CC 05020012 */ bltzl $t0, .L80070718 +/* 712D0 800706D0 000442F8 */ dsll $t0, $a0, 11 +/* 712D4 800706D4 000542F8 */ dsll $t0, $a1, 11 +/* 712D8 800706D8 0104001F */ ddivu $zero, $t0, $a0 +/* 712DC 800706DC 3C09800E */ lui $t1, %hi(gArcTanTable) +/* 712E0 800706E0 2529DC3E */ addiu $t1, $t1, %lo(gArcTanTable) +/* 712E4 800706E4 24424000 */ addiu $v0, $v0, 0x4000 +/* 712E8 800706E8 14800002 */ bnez $a0, .L800706F4 +/* 712EC 800706EC 00000000 */ nop +/* 712F0 800706F0 0007000D */ break 7 +.L800706F4: +/* 712F4 800706F4 00004012 */ mflo $t0 +/* 712F8 800706F8 00004012 */ mflo $t0 +/* 712FC 800706FC 31080FFE */ andi $t0, $t0, 0xFFE +/* 71300 80070700 01284821 */ addu $t1, $t1, $t0 +/* 71304 80070704 85280000 */ lh $t0, 0x0($t1) +/* 71308 80070708 00481023 */ subu $v0, $v0, $t0 +/* 7130C 8007070C 03E00008 */ jr $ra +/* 71310 80070710 3042FFFF */ andi $v0, $v0, 0xFFFF +/* 71314 80070714 000442F8 */ dsll $t0, $a0, 11 +.L80070718: +/* 71318 80070718 0105001F */ ddivu $zero, $t0, $a1 +/* 7131C 8007071C 3C09800E */ lui $t1, %hi(gArcTanTable) +/* 71320 80070720 2529DC3E */ addiu $t1, $t1, %lo(gArcTanTable) +/* 71324 80070724 14A00002 */ bnez $a1, .L80070730 +/* 71328 80070728 00000000 */ nop +/* 7132C 8007072C 0007000D */ break 7 +.L80070730: +/* 71330 80070730 00004012 */ mflo $t0 +/* 71334 80070734 00004012 */ mflo $t0 +/* 71338 80070738 31080FFE */ andi $t0, $t0, 0xFFE +/* 7133C 8007073C 01284821 */ addu $t1, $t1, $t0 +/* 71340 80070740 85280000 */ lh $t0, 0x0($t1) +/* 71344 80070744 00481021 */ addu $v0, $v0, $t0 +/* 71348 80070748 03E00008 */ jr $ra +/* 7134C 8007074C 3042FFFF */ andi $v0, $v0, 0xFFFF +.end atan2s + +leaf arctan2_f +/* 71350 80070750 3C01437F */ lui $at, (0x437F0000 >> 16) +/* 71354 80070754 44810000 */ mtc1 $at, $f0 +/* 71358 80070758 00000000 */ nop +/* 7135C 8007075C 46006302 */ mul.s $f12, $f12, $f0 +/* 71360 80070760 00000000 */ nop +/* 71364 80070764 46007382 */ mul.s $f14, $f14, $f0 +/* 71368 80070768 46006324 */ cvt.w.s $f12, $f12 +/* 7136C 8007076C 460073A4 */ cvt.w.s $f14, $f14 +/* 71370 80070770 44046000 */ mfc1 $a0, $f12 +/* 71374 80070774 44057000 */ mfc1 $a1, $f14 +/* 71378 80070778 0801C19B */ j atan2s +/* 7137C 8007077C 00000000 */ nop +.end arctan2_f + +leaf s32_matrix_cell_sqrt +/* 71380 80070780 44840000 */ mtc1 $a0, $f0 +/* 71384 80070784 3C014780 */ lui $at, (0x47800000 >> 16) +/* 71388 80070788 44811000 */ mtc1 $at, $f2 +/* 7138C 8007078C 46800020 */ cvt.s.w $f0, $f0 +/* 71390 80070790 46020003 */ div.s $f0, $f0, $f2 +/* 71394 80070794 46000004 */ sqrt.s $f0, $f0 +/* 71398 80070798 46020002 */ mul.s $f0, $f0, $f2 +/* 7139C 8007079C 46000024 */ cvt.w.s $f0, $f0 +/* 713A0 800707A0 44020000 */ mfc1 $v0, $f0 +/* 713A4 800707A4 03E00008 */ jr $ra +/* 713A8 800707A8 00000000 */ nop +.end s32_matrix_cell_sqrt + +leaf bad_int_sqrt +/* 713AC 800707AC 44840000 */ mtc1 $a0, $f0 +/* 713B0 800707B0 00000000 */ nop +/* 713B4 800707B4 46000004 */ sqrt.s $f0, $f0 +/* 713B8 800707B8 44020000 */ mfc1 $v0, $f0 +/* 713BC 800707BC 03E00008 */ jr $ra +/* 713C0 800707C0 00000000 */ nop +.end bad_int_sqrt + +leaf sins_f +/* 713C4 800707C4 27BDFFF8 */ addiu $sp, $sp, -0x8 +/* 713C8 800707C8 FFBF0000 */ sd $ra, 0x0($sp) +/* 713CC 800707CC 0C01C20C */ jal sins_s16 +/* 713D0 800707D0 00000000 */ nop +/* 713D4 800707D4 44820000 */ mtc1 $v0, $f0 +/* 713D8 800707D8 3C013780 */ lui $at, (0x37800000 >> 16) +/* 713DC 800707DC 44811000 */ mtc1 $at, $f2 +/* 713E0 800707E0 46800020 */ cvt.s.w $f0, $f0 +/* 713E4 800707E4 DFBF0000 */ ld $ra, 0x0($sp) +/* 713E8 800707E8 27BD0008 */ addiu $sp, $sp, 0x8 +/* 713EC 800707EC 46020002 */ mul.s $f0, $f0, $f2 +/* 713F0 800707F0 03E00008 */ jr $ra +/* 713F4 800707F4 00000000 */ nop +.end sins_f + +leaf coss_f +/* 713F8 800707F8 27BDFFF8 */ addiu $sp, $sp, -0x8 +/* 713FC 800707FC FFBF0000 */ sd $ra, 0x0($sp) +/* 71400 80070800 0C01C20B */ jal coss_s16 +/* 71404 80070804 00000000 */ nop +/* 71408 80070808 44820000 */ mtc1 $v0, $f0 +/* 7140C 8007080C 3C013780 */ lui $at, (0x37800000 >> 16) +/* 71410 80070810 44811000 */ mtc1 $at, $f2 +/* 71414 80070814 46800020 */ cvt.s.w $f0, $f0 +/* 71418 80070818 DFBF0000 */ ld $ra, 0x0($sp) +/* 7141C 8007081C 27BD0008 */ addiu $sp, $sp, 0x8 +/* 71420 80070820 46020002 */ mul.s $f0, $f0, $f2 +/* 71424 80070824 03E00008 */ jr $ra +/* 71428 80070828 00000000 */ nop +.end coss_f + +leaf coss_s16 +/* 7142C 8007082C 24844000 */ addiu $a0, $a0, 0x4000 +glabel sins_s16 +/* 71430 80070830 00041440 */ sll $v0, $a0, 17 +/* 71434 80070834 04430003 */ bgezl $v0, .L80070844 +/* 71438 80070838 000450C2 */ srl $t2, $a0, 3 +/* 7143C 8007083C 38847FFF */ xori $a0, $a0, 0x7FFF +/* 71440 80070840 000450C2 */ srl $t2, $a0, 3 +.L80070844: +/* 71444 80070844 3C02800E */ lui $v0, %hi(gSineTable) +/* 71448 80070848 314A07FE */ andi $t2, $t2, 0x7FE +/* 7144C 8007084C 2442D43C */ addiu $v0, $v0, %lo(gSineTable) +/* 71450 80070850 004A1021 */ addu $v0, $v0, $t2 +/* 71454 80070854 944A0002 */ lhu $t2, 0x2($v0) +/* 71458 80070858 94420000 */ lhu $v0, 0x0($v0) +/* 7145C 8007085C 3089000F */ andi $t1, $a0, 0xF +/* 71460 80070860 00042400 */ sll $a0, $a0, 16 +/* 71464 80070864 01425023 */ subu $t2, $t2, $v0 +/* 71468 80070868 01490019 */ multu $t2, $t1 +/* 7146C 8007086C 00021040 */ sll $v0, $v0, 1 +/* 71470 80070870 00005012 */ mflo $t2 +/* 71474 80070874 000A50C2 */ srl $t2, $t2, 3 +/* 71478 80070878 04810002 */ bgez $a0, .L80070884 +/* 7147C 8007087C 004A1021 */ addu $v0, $v0, $t2 +/* 71480 80070880 00021023 */ negu $v0, $v0 +.L80070884: +/* 71484 80070884 03E00008 */ jr $ra +/* 71488 80070888 00000000 */ nop +.end coss_s16 + +leaf coss_2 +/* 7148C 8007088C 24844000 */ addiu $a0, $a0, 0x4000 +glabel sins_2 +/* 71490 80070890 00041440 */ sll $v0, $a0, 17 +/* 71494 80070894 04430003 */ bgezl $v0, .L800708A4 +/* 71498 80070898 000450C2 */ srl $t2, $a0, 3 +/* 7149C 8007089C 38847FFF */ xori $a0, $a0, 0x7FFF +/* 714A0 800708A0 000450C2 */ srl $t2, $a0, 3 +.L800708A4: +/* 714A4 800708A4 3C02800E */ lui $v0, %hi(gSineTable) +/* 714A8 800708A8 314A07FE */ andi $t2, $t2, 0x7FE +/* 714AC 800708AC 2442D43C */ addiu $v0, $v0, %lo(gSineTable) +/* 714B0 800708B0 004A1021 */ addu $v0, $v0, $t2 +/* 714B4 800708B4 94420000 */ lhu $v0, 0x0($v0) +/* 714B8 800708B8 00042400 */ sll $a0, $a0, 16 +/* 714BC 800708BC 04810002 */ bgez $a0, .L800708C8 +/* 714C0 800708C0 00021040 */ sll $v0, $v0, 1 +/* 714C4 800708C4 00021023 */ negu $v0, $v0 +.L800708C8: +/* 714C8 800708C8 03E00008 */ jr $ra +/* 714CC 800708CC 00000000 */ nop +.end coss_2 + +leaf calc_dyn_lighting_for_level_segment +/* 714D0 800708D0 8CA90000 */ lw $t1, 0x0($a1) +/* 714D4 800708D4 8CAA0004 */ lw $t2, 0x4($a1) +/* 714D8 800708D8 8CAB0008 */ lw $t3, 0x8($a1) +/* 714DC 800708DC 94880020 */ lhu $t0, 0x20($a0) +/* 714E0 800708E0 8C86000C */ lw $a2, 0xC($a0) +/* 714E4 800708E4 8C85002C */ lw $a1, 0x2C($a0) +/* 714E8 800708E8 8C840000 */ lw $a0, 0x0($a0) +/* 714EC 800708EC 00421026 */ xor $v0, $v0, $v0 +.L800708F0: +/* 714F0 800708F0 90CC0006 */ lbu $t4, 0x6($a2) +/* 714F4 800708F4 258CFF01 */ addiu $t4, $t4, -0xFF +/* 714F8 800708F8 51800043 */ beql $t4, $zero, .L80070A08 +/* 714FC 800708FC 94CC0002 */ lhu $t4, 0x2($a2) +/* 71500 80070900 5040000C */ beql $v0, $zero, .L80070934 +/* 71504 80070904 00000000 */ nop +/* 71508 80070908 340C000A */ ori $t4, $zero, 0xA +/* 7150C 8007090C 004C0019 */ multu $v0, $t4 +/* 71510 80070910 340D000A */ ori $t5, $zero, 0xA +/* 71514 80070914 00006012 */ mflo $t4 +/* 71518 80070918 008C2021 */ addu $a0, $a0, $t4 +/* 7151C 8007091C 00000000 */ nop +/* 71520 80070920 004D0019 */ multu $v0, $t5 +/* 71524 80070924 00421026 */ xor $v0, $v0, $v0 +/* 71528 80070928 00006812 */ mflo $t5 +/* 7152C 8007092C 00AD2821 */ addu $a1, $a1, $t5 +/* 71530 80070930 00000000 */ nop +.L80070934: +/* 71534 80070934 94CD0002 */ lhu $t5, 0x2($a2) +/* 71538 80070938 94CC000E */ lhu $t4, 0xE($a2) +/* 7153C 8007093C 24C6000C */ addiu $a2, $a2, 0xC +/* 71540 80070940 018D6023 */ subu $t4, $t4, $t5 +.L80070944: +/* 71544 80070944 84AD0000 */ lh $t5, 0x0($a1) +/* 71548 80070948 84AE0002 */ lh $t6, 0x2($a1) +/* 7154C 8007094C 84AF0004 */ lh $t7, 0x4($a1) +/* 71550 80070950 01A90018 */ mult $t5, $t1 +/* 71554 80070954 90B80007 */ lbu $t8, 0x7($a1) +/* 71558 80070958 90A70006 */ lbu $a3, 0x6($a1) +/* 7155C 8007095C 90B90008 */ lbu $t9, 0x8($a1) +/* 71560 80070960 0018C400 */ sll $t8, $t8, 16 +/* 71564 80070964 90A30009 */ lbu $v1, 0x9($a1) +/* 71568 80070968 00F8C025 */ or $t8, $a3, $t8 +/* 7156C 8007096C 00006812 */ mflo $t5 +/* 71570 80070970 00000000 */ nop +/* 71574 80070974 00000000 */ nop +/* 71578 80070978 01CA0018 */ mult $t6, $t2 +/* 7157C 8007097C 00007012 */ mflo $t6 +/* 71580 80070980 01AE6820 */ add $t5, $t5, $t6 /* handwritten instruction */ +/* 71584 80070984 00000000 */ nop +/* 71588 80070988 01EB0018 */ mult $t7, $t3 +/* 7158C 8007098C 00007812 */ mflo $t7 +/* 71590 80070990 01AF6820 */ add $t5, $t5, $t7 /* handwritten instruction */ +/* 71594 80070994 19A00007 */ blez $t5, .L800709B4 +/* 71598 80070998 00000000 */ nop +/* 7159C 8007099C 000D6D82 */ srl $t5, $t5, 22 +/* 715A0 800709A0 006D1821 */ addu $v1, $v1, $t5 +/* 715A4 800709A4 2C6D0081 */ sltiu $t5, $v1, 0x81 +/* 715A8 800709A8 15A00002 */ bnez $t5, .L800709B4 +/* 715AC 800709AC 00000000 */ nop +/* 715B0 800709B0 34030080 */ ori $v1, $zero, 0x80 +.L800709B4: +/* 715B4 800709B4 00780019 */ multu $v1, $t8 +/* 715B8 800709B8 24A5000A */ addiu $a1, $a1, 0xA +/* 715BC 800709BC 258CFFFF */ addiu $t4, $t4, -0x1 +/* 715C0 800709C0 2484000A */ addiu $a0, $a0, 0xA +/* 715C4 800709C4 0000C012 */ mflo $t8 +/* 715C8 800709C8 0018C1C2 */ srl $t8, $t8, 7 +/* 715CC 800709CC A098FFFC */ sb $t8, -0x4($a0) +/* 715D0 800709D0 00790019 */ multu $v1, $t9 +/* 715D4 800709D4 0018C402 */ srl $t8, $t8, 16 +/* 715D8 800709D8 A098FFFD */ sb $t8, -0x3($a0) +/* 715DC 800709DC 0000C812 */ mflo $t9 +/* 715E0 800709E0 0019C9C2 */ srl $t9, $t9, 7 +/* 715E4 800709E4 A099FFFE */ sb $t9, -0x2($a0) +/* 715E8 800709E8 5580FFD6 */ bnel $t4, $zero, .L80070944 +/* 715EC 800709EC 00000000 */ nop +/* 715F0 800709F0 2508FFFF */ addiu $t0, $t0, -0x1 +/* 715F4 800709F4 5500FFBE */ bnel $t0, $zero, .L800708F0 +/* 715F8 800709F8 00000000 */ nop +/* 715FC 800709FC 03E00008 */ jr $ra +/* 71600 80070A00 00000000 */ nop +.end calc_dyn_lighting_for_level_segment + +leaf func_80070A04 +/* 71604 80070A04 94CC0002 */ lhu $t4, 0x2($a2) +.L80070A08: +/* 71608 80070A08 94CD000E */ lhu $t5, 0xE($a2) +/* 7160C 80070A0C 24C6000C */ addiu $a2, $a2, 0xC +/* 71610 80070A10 2508FFFF */ addiu $t0, $t0, -0x1 +/* 71614 80070A14 01AC6023 */ subu $t4, $t5, $t4 +/* 71618 80070A18 004C1021 */ addu $v0, $v0, $t4 +/* 7161C 80070A1C 5500FFB4 */ bnel $t0, $zero, .L800708F0 +/* 71620 80070A20 00000000 */ nop +/* 71624 80070A24 03E00008 */ jr $ra +/* 71628 80070A28 00000000 */ nop +.end func_80070A04 + +leaf area_triangle_2d +/* 7162C 80070A2C 44862000 */ mtc1 $a2, $f4 +/* 71630 80070A30 46006006 */ mov.s $f0, $f12 +/* 71634 80070A34 44873000 */ mtc1 $a3, $f6 +/* 71638 80070A38 46002301 */ sub.s $f12, $f4, $f0 +/* 7163C 80070A3C 46007086 */ mov.s $f2, $f14 +/* 71640 80070A40 C7A80010 */ lwc1 $f8, 0x10($sp) +/* 71644 80070A44 46023381 */ sub.s $f14, $f6, $f2 +/* 71648 80070A48 460C6302 */ mul.s $f12, $f12, $f12 +/* 7164C 80070A4C C7AA0014 */ lwc1 $f10, 0x14($sp) +/* 71650 80070A50 46044401 */ sub.s $f16, $f8, $f4 +/* 71654 80070A54 460E7382 */ mul.s $f14, $f14, $f14 +/* 71658 80070A58 3C013F00 */ lui $at, (0x3F000000 >> 16) +/* 7165C 80070A5C 46065481 */ sub.s $f18, $f10, $f6 +/* 71660 80070A60 46108402 */ mul.s $f16, $f16, $f16 +/* 71664 80070A64 46080001 */ sub.s $f0, $f0, $f8 +/* 71668 80070A68 46129482 */ mul.s $f18, $f18, $f18 +/* 7166C 80070A6C 460A1081 */ sub.s $f2, $f2, $f10 +/* 71670 80070A70 46000002 */ mul.s $f0, $f0, $f0 +/* 71674 80070A74 44815000 */ mtc1 $at, $f10 +/* 71678 80070A78 460E6300 */ add.s $f12, $f12, $f14 +/* 7167C 80070A7C 46021082 */ mul.s $f2, $f2, $f2 +/* 71680 80070A80 46128400 */ add.s $f16, $f16, $f18 +/* 71684 80070A84 46006304 */ sqrt.s $f12, $f12 +/* 71688 80070A88 46008404 */ sqrt.s $f16, $f16 +/* 7168C 80070A8C 46020000 */ add.s $f0, $f0, $f2 +/* 71690 80070A90 44801000 */ mtc1 $zero, $f2 +/* 71694 80070A94 46106480 */ add.s $f18, $f12, $f16 +/* 71698 80070A98 46000004 */ sqrt.s $f0, $f0 +/* 7169C 80070A9C 46009480 */ add.s $f18, $f18, $f0 +/* 716A0 80070AA0 46125482 */ mul.s $f18, $f10, $f18 +/* 716A4 80070AA4 460C9101 */ sub.s $f4, $f18, $f12 +/* 716A8 80070AA8 46009201 */ sub.s $f8, $f18, $f0 +/* 716AC 80070AAC 46122002 */ mul.s $f0, $f4, $f18 +/* 716B0 80070AB0 46109181 */ sub.s $f6, $f18, $f16 +/* 716B4 80070AB4 46083182 */ mul.s $f6, $f6, $f8 +/* 716B8 80070AB8 00000000 */ nop +/* 716BC 80070ABC 46060002 */ mul.s $f0, $f0, $f6 +/* 716C0 80070AC0 4602003C */ c.lt.s $f0, $f2 +/* 716C4 80070AC4 45020002 */ bc1fl .L80070AD0 +/* 716C8 80070AC8 00000000 */ nop +/* 716CC 80070ACC 46001006 */ mov.s $f0, $f2 +.L80070AD0: +/* 716D0 80070AD0 03E00008 */ jr $ra +/* 716D4 80070AD4 46000004 */ sqrt.s $f0, $f0 +.end area_triangle_2d + +leaf set_breakpoint +/* 716D8 80070AD8 34840001 */ ori $a0, $a0, 0x1 +/* 716DC 80070ADC 40849000 */ mtc0 $a0, $18 /* handwritten instruction */ +/* 716E0 80070AE0 2408000F */ addiu $t0, $zero, 0xF +/* 716E4 80070AE4 40889800 */ mtc0 $t0, $19 /* handwritten instruction */ +/* 716E8 80070AE8 00000000 */ nop +/* 716EC 80070AEC 00000000 */ nop +/* 716F0 80070AF0 00000000 */ nop +/* 716F4 80070AF4 00000000 */ nop +/* 716F8 80070AF8 00000000 */ nop +/* 716FC 80070AFC 03E00008 */ jr $ra +/* 71700 80070B00 00000000 */ nop +.end set_breakpoint + +leaf dmacopy_doubleword +/* 71704 80070B04 DC880000 */ ld $t0, 0x0($a0) +/* 71708 80070B08 DC890008 */ ld $t1, 0x8($a0) +/* 7170C 80070B0C 20A50010 */ addi $a1, $a1, 0x10 /* handwritten instruction */ +/* 71710 80070B10 20840010 */ addi $a0, $a0, 0x10 /* handwritten instruction */ +/* 71714 80070B14 FCA8FFF0 */ sd $t0, -0x10($a1) +/* 71718 80070B18 14A6FFFA */ bne $a1, $a2, dmacopy_doubleword +/* 7171C 80070B1C FCA9FFF8 */ sd $t1, -0x8($a1) +/* 71720 80070B20 03E00008 */ jr $ra +/* 71724 80070B24 00000000 */ nop +.end dmacopy_doubleword diff --git a/src/hasm/object_animate.s b/src/hasm/object_animate.s new file mode 100644 index 00000000..04d8846c --- /dev/null +++ b/src/hasm/object_animate.s @@ -0,0 +1,383 @@ +.include "macro.inc" + +/* assembler directives */ +.set noat /* allow manual use of $at */ +.set noreorder /* don't insert nops after branches */ +.set gp=64 /* allow use of 64-bit general purpose registers */ + +.section .text, "ax" + +/* Generated by spimdisasm 1.30.0 */ + +leaf object_animate +/* 62930 80061D30 27BDFFF8 */ addiu $sp, $sp, -0x8 +/* 62934 80061D34 AFB10004 */ sw $s1, 0x4($sp) +/* 62938 80061D38 AFB00000 */ sw $s0, 0x0($sp) +/* 6293C 80061D3C 8088003A */ lb $t0, 0x3A($a0) +/* 62940 80061D40 05030003 */ bgezl $t0, .L80061D50 +/* 62944 80061D44 8C890040 */ lw $t1, 0x40($a0) +/* 62948 80061D48 00004025 */ or $t0, $zero, $zero +/* 6294C 80061D4C 8C890040 */ lw $t1, 0x40($a0) +.L80061D50: +/* 62950 80061D50 812A0055 */ lb $t2, 0x55($t1) +/* 62954 80061D54 010A082A */ slt $at, $t0, $t2 +/* 62958 80061D58 54200003 */ bnel $at, $zero, .L80061D68 +/* 6295C 80061D5C 8C890068 */ lw $t1, 0x68($a0) +/* 62960 80061D60 01404025 */ or $t0, $t2, $zero +/* 62964 80061D64 8C890068 */ lw $t1, 0x68($a0) +.L80061D68: +/* 62968 80061D68 00084080 */ sll $t0, $t0, 2 +/* 6296C 80061D6C 01284820 */ add $t1, $t1, $t0 /* handwritten instruction */ +/* 62970 80061D70 8D250000 */ lw $a1, 0x0($t1) +/* 62974 80061D74 8CA60000 */ lw $a2, 0x0($a1) +/* 62978 80061D78 8CC80044 */ lw $t0, 0x44($a2) +/* 6297C 80061D7C 55000004 */ bnel $t0, $zero, .L80061D90 +/* 62980 80061D80 84990018 */ lh $t9, 0x18($a0) +/* 62984 80061D84 1000013D */ b .L8006227C +/* 62988 80061D88 00001025 */ or $v0, $zero, $zero +/* 6298C 80061D8C 84990018 */ lh $t9, 0x18($a0) +.L80061D90: +/* 62990 80061D90 84A80014 */ lh $t0, 0x14($a1) +/* 62994 80061D94 8087003B */ lb $a3, 0x3B($a0) +/* 62998 80061D98 17280006 */ bne $t9, $t0, .L80061DB4 +/* 6299C 80061D9C 00000000 */ nop +/* 629A0 80061DA0 84A80010 */ lh $t0, 0x10($a1) +/* 629A4 80061DA4 14E80003 */ bne $a3, $t0, .L80061DB4 +/* 629A8 80061DA8 00000000 */ nop +/* 629AC 80061DAC 10000133 */ b .L8006227C +/* 629B0 80061DB0 00001025 */ or $v0, $zero, $zero +.L80061DB4: +/* 629B4 80061DB4 04E30003 */ bgezl $a3, .L80061DC4 +/* 629B8 80061DB8 84C80048 */ lh $t0, 0x48($a2) +/* 629BC 80061DBC 00003825 */ or $a3, $zero, $zero +/* 629C0 80061DC0 84C80048 */ lh $t0, 0x48($a2) +.L80061DC4: +/* 629C4 80061DC4 00E8082A */ slt $at, $a3, $t0 +/* 629C8 80061DC8 14200002 */ bnez $at, .L80061DD4 +/* 629CC 80061DCC 00000000 */ nop +/* 629D0 80061DD0 2507FFFF */ addiu $a3, $t0, -0x1 +.L80061DD4: +/* 629D4 80061DD4 19000006 */ blez $t0, .L80061DF0 +/* 629D8 80061DD8 00005025 */ or $t2, $zero, $zero +/* 629DC 80061DDC 8CC90044 */ lw $t1, 0x44($a2) +/* 629E0 80061DE0 000710C0 */ sll $v0, $a3, 3 +/* 629E4 80061DE4 01224820 */ add $t1, $t1, $v0 /* handwritten instruction */ +/* 629E8 80061DE8 8D2A0004 */ lw $t2, 0x4($t1) +/* 629EC 80061DEC 214AFFFE */ addi $t2, $t2, -0x2 /* handwritten instruction */ +.L80061DF0: +/* 629F0 80061DF0 00192102 */ srl $a0, $t9, 4 +/* 629F4 80061DF4 04830004 */ bgezl $a0, .L80061E08 +/* 629F8 80061DF8 0144082A */ slt $at, $t2, $a0 +/* 629FC 80061DFC 0140C825 */ or $t9, $t2, $zero +/* 62A00 80061E00 000A2102 */ srl $a0, $t2, 4 +/* 62A04 80061E04 0144082A */ slt $at, $t2, $a0 +.L80061E08: +/* 62A08 80061E08 50200006 */ beql $at, $zero, .L80061E24 +/* 62A0C 80061E0C 84A80010 */ lh $t0, 0x10($a1) +/* 62A10 80061E10 2408FFFF */ addiu $t0, $zero, -0x1 +/* 62A14 80061E14 0000C825 */ or $t9, $zero, $zero +/* 62A18 80061E18 00002025 */ or $a0, $zero, $zero +/* 62A1C 80061E1C A4A80010 */ sh $t0, 0x10($a1) +/* 62A20 80061E20 84A80010 */ lh $t0, 0x10($a1) +.L80061E24: +/* 62A24 80061E24 8CB1000C */ lw $s1, 0xC($a1) +/* 62A28 80061E28 50E80004 */ beql $a3, $t0, .L80061E3C +/* 62A2C 80061E2C 84B00012 */ lh $s0, 0x12($a1) +/* 62A30 80061E30 10000002 */ b .L80061E3C +/* 62A34 80061E34 2410FFFF */ addiu $s0, $zero, -0x1 +/* 62A38 80061E38 84B00012 */ lh $s0, 0x12($a1) +.L80061E3C: +/* 62A3C 80061E3C A4A70010 */ sh $a3, 0x10($a1) +/* 62A40 80061E40 A4B90014 */ sh $t9, 0x14($a1) +/* 62A44 80061E44 A4A40012 */ sh $a0, 0x12($a1) +/* 62A48 80061E48 10800006 */ beqz $a0, .L80061E64 +/* 62A4C 80061E4C 3338000F */ andi $t8, $t9, 0xF +/* 62A50 80061E50 2401FFFF */ addiu $at, $zero, -0x1 +/* 62A54 80061E54 52010004 */ beql $s0, $at, .L80061E68 +/* 62A58 80061E58 8CC20044 */ lw $v0, 0x44($a2) +/* 62A5C 80061E5C 10000026 */ b .L80061EF8 +/* 62A60 80061E60 84C3004A */ lh $v1, 0x4A($a2) +.L80061E64: +/* 62A64 80061E64 8CC20044 */ lw $v0, 0x44($a2) +.L80061E68: +/* 62A68 80061E68 000718C0 */ sll $v1, $a3, 3 +/* 62A6C 80061E6C 8CCD004C */ lw $t5, 0x4C($a2) +/* 62A70 80061E70 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* 62A74 80061E74 8C4E0000 */ lw $t6, 0x0($v0) +/* 62A78 80061E78 84C20024 */ lh $v0, 0x24($a2) +/* 62A7C 80061E7C 8CCF0004 */ lw $t7, 0x4($a2) +/* 62A80 80061E80 25CE000C */ addiu $t6, $t6, 0xC +/* 62A84 80061E84 00021040 */ sll $v0, $v0, 1 +/* 62A88 80061E88 01A25820 */ add $t3, $t5, $v0 /* handwritten instruction */ +.L80061E8C: +/* 62A8C 80061E8C 85A20000 */ lh $v0, 0x0($t5) +/* 62A90 80061E90 2401FFFF */ addiu $at, $zero, -0x1 +/* 62A94 80061E94 50410013 */ beql $v0, $at, .L80061EE4 +/* 62A98 80061E98 25AD0002 */ addiu $t5, $t5, 0x2 +/* 62A9C 80061E9C 00021880 */ sll $v1, $v0, 2 +/* 62AA0 80061EA0 00021040 */ sll $v0, $v0, 1 +/* 62AA4 80061EA4 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* 62AA8 80061EA8 02221820 */ add $v1, $s1, $v0 /* handwritten instruction */ +/* 62AAC 80061EAC 01C21020 */ add $v0, $t6, $v0 /* handwritten instruction */ +/* 62AB0 80061EB0 85E80000 */ lh $t0, 0x0($t7) +/* 62AB4 80061EB4 84490000 */ lh $t1, 0x0($v0) +/* 62AB8 80061EB8 01095020 */ add $t2, $t0, $t1 /* handwritten instruction */ +/* 62ABC 80061EBC A46A0000 */ sh $t2, 0x0($v1) +/* 62AC0 80061EC0 85E80002 */ lh $t0, 0x2($t7) +/* 62AC4 80061EC4 84490002 */ lh $t1, 0x2($v0) +/* 62AC8 80061EC8 01095020 */ add $t2, $t0, $t1 /* handwritten instruction */ +/* 62ACC 80061ECC A46A0002 */ sh $t2, 0x2($v1) +/* 62AD0 80061ED0 85E80004 */ lh $t0, 0x4($t7) +/* 62AD4 80061ED4 84490004 */ lh $t1, 0x4($v0) +/* 62AD8 80061ED8 01095020 */ add $t2, $t0, $t1 /* handwritten instruction */ +/* 62ADC 80061EDC A46A0004 */ sh $t2, 0x4($v1) +/* 62AE0 80061EE0 25AD0002 */ addiu $t5, $t5, 0x2 +.L80061EE4: +/* 62AE4 80061EE4 01AB082A */ slt $at, $t5, $t3 +/* 62AE8 80061EE8 1420FFE8 */ bnez $at, .L80061E8C +/* 62AEC 80061EEC 25EF000A */ addiu $t7, $t7, 0xA +/* 62AF0 80061EF0 00008025 */ or $s0, $zero, $zero +/* 62AF4 80061EF4 84C3004A */ lh $v1, 0x4A($a2) +.L80061EF8: +/* 62AF8 80061EF8 0204082A */ slt $at, $s0, $a0 +/* 62AFC 80061EFC 00631020 */ add $v0, $v1, $v1 /* handwritten instruction */ +/* 62B00 80061F00 00436020 */ add $t4, $v0, $v1 /* handwritten instruction */ +/* 62B04 80061F04 10200026 */ beqz $at, .L80061FA0 +/* 62B08 80061F08 258C000C */ addiu $t4, $t4, 0xC +/* 62B0C 80061F0C 8CC20044 */ lw $v0, 0x44($a2) +/* 62B10 80061F10 000718C0 */ sll $v1, $a3, 3 +/* 62B14 80061F14 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* 62B18 80061F18 26030002 */ addiu $v1, $s0, 0x2 +/* 62B1C 80061F1C 01830019 */ multu $t4, $v1 +/* 62B20 80061F20 8C4A0000 */ lw $t2, 0x0($v0) +/* 62B24 80061F24 00001812 */ mflo $v1 +/* 62B28 80061F28 01435020 */ add $t2, $t2, $v1 /* handwritten instruction */ +/* 62B2C 80061F2C 00000000 */ nop +/* 62B30 80061F30 84C2004A */ lh $v0, 0x4A($a2) +.L80061F34: +/* 62B34 80061F34 01407025 */ or $t6, $t2, $zero +/* 62B38 80061F38 02206825 */ or $t5, $s1, $zero +/* 62B3C 80061F3C 00021880 */ sll $v1, $v0, 2 +/* 62B40 80061F40 00021040 */ sll $v0, $v0, 1 +/* 62B44 80061F44 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* 62B48 80061F48 014C5020 */ add $t2, $t2, $t4 /* handwritten instruction */ +/* 62B4C 80061F4C 01A25820 */ add $t3, $t5, $v0 /* handwritten instruction */ +.L80061F50: +/* 62B50 80061F50 85A80000 */ lh $t0, 0x0($t5) +/* 62B54 80061F54 81C90000 */ lb $t1, 0x0($t6) +/* 62B58 80061F58 25AD0006 */ addiu $t5, $t5, 0x6 +/* 62B5C 80061F5C 01AB082A */ slt $at, $t5, $t3 +/* 62B60 80061F60 01094020 */ add $t0, $t0, $t1 /* handwritten instruction */ +/* 62B64 80061F64 A5A8FFFA */ sh $t0, -0x6($t5) +/* 62B68 80061F68 85A8FFFC */ lh $t0, -0x4($t5) +/* 62B6C 80061F6C 81C90001 */ lb $t1, 0x1($t6) +/* 62B70 80061F70 25CE0003 */ addiu $t6, $t6, 0x3 +/* 62B74 80061F74 01094020 */ add $t0, $t0, $t1 /* handwritten instruction */ +/* 62B78 80061F78 A5A8FFFC */ sh $t0, -0x4($t5) +/* 62B7C 80061F7C 85A8FFFE */ lh $t0, -0x2($t5) +/* 62B80 80061F80 81C9FFFF */ lb $t1, -0x1($t6) +/* 62B84 80061F84 01094020 */ add $t0, $t0, $t1 /* handwritten instruction */ +/* 62B88 80061F88 1420FFF1 */ bnez $at, .L80061F50 +/* 62B8C 80061F8C A5A8FFFE */ sh $t0, -0x2($t5) +/* 62B90 80061F90 26100001 */ addiu $s0, $s0, 0x1 +/* 62B94 80061F94 0204082A */ slt $at, $s0, $a0 +/* 62B98 80061F98 5420FFE6 */ bnel $at, $zero, .L80061F34 +/* 62B9C 80061F9C 84C2004A */ lh $v0, 0x4A($a2) +.L80061FA0: +/* 62BA0 80061FA0 0090082A */ slt $at, $a0, $s0 +/* 62BA4 80061FA4 50200027 */ beql $at, $zero, .L80062044 +/* 62BA8 80061FA8 8CC20044 */ lw $v0, 0x44($a2) +/* 62BAC 80061FAC 8CC20044 */ lw $v0, 0x44($a2) +/* 62BB0 80061FB0 000718C0 */ sll $v1, $a3, 3 +/* 62BB4 80061FB4 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* 62BB8 80061FB8 26030002 */ addiu $v1, $s0, 0x2 +/* 62BBC 80061FBC 01830019 */ multu $t4, $v1 +/* 62BC0 80061FC0 8C4A0000 */ lw $t2, 0x0($v0) +/* 62BC4 80061FC4 00001812 */ mflo $v1 +/* 62BC8 80061FC8 01435020 */ add $t2, $t2, $v1 /* handwritten instruction */ +/* 62BCC 80061FCC 00000000 */ nop +/* 62BD0 80061FD0 84C2004A */ lh $v0, 0x4A($a2) +.L80061FD4: +/* 62BD4 80061FD4 014C5022 */ sub $t2, $t2, $t4 /* handwritten instruction */ +/* 62BD8 80061FD8 02206825 */ or $t5, $s1, $zero +/* 62BDC 80061FDC 00021880 */ sll $v1, $v0, 2 +/* 62BE0 80061FE0 00021040 */ sll $v0, $v0, 1 +/* 62BE4 80061FE4 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* 62BE8 80061FE8 2610FFFF */ addiu $s0, $s0, -0x1 +/* 62BEC 80061FEC 01407025 */ or $t6, $t2, $zero +/* 62BF0 80061FF0 01A25820 */ add $t3, $t5, $v0 /* handwritten instruction */ +.L80061FF4: +/* 62BF4 80061FF4 85A80000 */ lh $t0, 0x0($t5) +/* 62BF8 80061FF8 81C90000 */ lb $t1, 0x0($t6) +/* 62BFC 80061FFC 25AD0006 */ addiu $t5, $t5, 0x6 +/* 62C00 80062000 01AB082A */ slt $at, $t5, $t3 +/* 62C04 80062004 01094022 */ sub $t0, $t0, $t1 /* handwritten instruction */ +/* 62C08 80062008 A5A8FFFA */ sh $t0, -0x6($t5) +/* 62C0C 8006200C 85A8FFFC */ lh $t0, -0x4($t5) +/* 62C10 80062010 81C90001 */ lb $t1, 0x1($t6) +/* 62C14 80062014 25CE0003 */ addiu $t6, $t6, 0x3 +/* 62C18 80062018 01094022 */ sub $t0, $t0, $t1 /* handwritten instruction */ +/* 62C1C 8006201C A5A8FFFC */ sh $t0, -0x4($t5) +/* 62C20 80062020 85A8FFFE */ lh $t0, -0x2($t5) +/* 62C24 80062024 81C9FFFF */ lb $t1, -0x1($t6) +/* 62C28 80062028 01094022 */ sub $t0, $t0, $t1 /* handwritten instruction */ +/* 62C2C 8006202C 1420FFF1 */ bnez $at, .L80061FF4 +/* 62C30 80062030 A5A8FFFE */ sh $t0, -0x2($t5) +/* 62C34 80062034 0090082A */ slt $at, $a0, $s0 +/* 62C38 80062038 5420FFE6 */ bnel $at, $zero, .L80061FD4 +/* 62C3C 8006203C 84C2004A */ lh $v0, 0x4A($a2) +/* 62C40 80062040 8CC20044 */ lw $v0, 0x44($a2) +.L80062044: +/* 62C44 80062044 000718C0 */ sll $v1, $a3, 3 +/* 62C48 80062048 3C0D8012 */ lui $t5, %hi(D_8011D644) +/* 62C4C 8006204C 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* 62C50 80062050 8C4E0000 */ lw $t6, 0x0($v0) +/* 62C54 80062054 26020002 */ addiu $v0, $s0, 0x2 +/* 62C58 80062058 01820019 */ multu $t4, $v0 +/* 62C5C 8006205C 84C2004A */ lh $v0, 0x4A($a2) +/* 62C60 80062060 8DADD644 */ lw $t5, %lo(D_8011D644)($t5) +/* 62C64 80062064 00001812 */ mflo $v1 +/* 62C68 80062068 01C37020 */ add $t6, $t6, $v1 /* handwritten instruction */ +/* 62C6C 8006206C 00021880 */ sll $v1, $v0, 2 +/* 62C70 80062070 00021040 */ sll $v0, $v0, 1 +/* 62C74 80062074 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* 62C78 80062078 01A25820 */ add $t3, $t5, $v0 /* handwritten instruction */ +.L8006207C: +/* 62C7C 8006207C 81C80000 */ lb $t0, 0x0($t6) +/* 62C80 80062080 25AD0006 */ addiu $t5, $t5, 0x6 +/* 62C84 80062084 01AB082A */ slt $at, $t5, $t3 +/* 62C88 80062088 01180019 */ multu $t0, $t8 +/* 62C8C 8006208C 25CE0003 */ addiu $t6, $t6, 0x3 +/* 62C90 80062090 00004012 */ mflo $t0 +/* 62C94 80062094 00084102 */ srl $t0, $t0, 4 +/* 62C98 80062098 A5A8FFFA */ sh $t0, -0x6($t5) +/* 62C9C 8006209C 81C9FFFE */ lb $t1, -0x2($t6) +/* 62CA0 800620A0 01380019 */ multu $t1, $t8 +/* 62CA4 800620A4 00004812 */ mflo $t1 +/* 62CA8 800620A8 00094902 */ srl $t1, $t1, 4 +/* 62CAC 800620AC A5A9FFFC */ sh $t1, -0x4($t5) +/* 62CB0 800620B0 81CAFFFF */ lb $t2, -0x1($t6) +/* 62CB4 800620B4 01580019 */ multu $t2, $t8 +/* 62CB8 800620B8 00005012 */ mflo $t2 +/* 62CBC 800620BC 000A5102 */ srl $t2, $t2, 4 +/* 62CC0 800620C0 1420FFEE */ bnez $at, .L8006207C +/* 62CC4 800620C4 A5AAFFFE */ sh $t2, -0x2($t5) +/* 62CC8 800620C8 8CC20044 */ lw $v0, 0x44($a2) +/* 62CCC 800620CC 000718C0 */ sll $v1, $a3, 3 +/* 62CD0 800620D0 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* 62CD4 800620D4 10800006 */ beqz $a0, .L800620F0 +/* 62CD8 800620D8 8C4E0000 */ lw $t6, 0x0($v0) +/* 62CDC 800620DC 24820001 */ addiu $v0, $a0, 0x1 +/* 62CE0 800620E0 01820019 */ multu $t4, $v0 +/* 62CE4 800620E4 00001812 */ mflo $v1 +/* 62CE8 800620E8 01C37020 */ add $t6, $t6, $v1 /* handwritten instruction */ +/* 62CEC 800620EC 25CEFFF4 */ addiu $t6, $t6, -0xC +.L800620F0: +/* 62CF0 800620F0 81C20000 */ lb $v0, 0x0($t6) +/* 62CF4 800620F4 91C30001 */ lbu $v1, 0x1($t6) +/* 62CF8 800620F8 00021200 */ sll $v0, $v0, 8 +/* 62CFC 800620FC 00434025 */ or $t0, $v0, $v1 +/* 62D00 80062100 81C20002 */ lb $v0, 0x2($t6) +/* 62D04 80062104 91C30003 */ lbu $v1, 0x3($t6) +/* 62D08 80062108 00021200 */ sll $v0, $v0, 8 +/* 62D0C 8006210C 00434825 */ or $t1, $v0, $v1 +/* 62D10 80062110 81C20004 */ lb $v0, 0x4($t6) +/* 62D14 80062114 91C30005 */ lbu $v1, 0x5($t6) +/* 62D18 80062118 00021200 */ sll $v0, $v0, 8 +/* 62D1C 8006211C 00435025 */ or $t2, $v0, $v1 +/* 62D20 80062120 81C2000A */ lb $v0, 0xA($t6) +/* 62D24 80062124 91C3000B */ lbu $v1, 0xB($t6) +/* 62D28 80062128 01CC7020 */ add $t6, $t6, $t4 /* handwritten instruction */ +/* 62D2C 8006212C 00021200 */ sll $v0, $v0, 8 +/* 62D30 80062130 14800003 */ bnez $a0, .L80062140 +/* 62D34 80062134 00435825 */ or $t3, $v0, $v1 +/* 62D38 80062138 01CC7020 */ add $t6, $t6, $t4 /* handwritten instruction */ +/* 62D3C 8006213C 25CEFFF4 */ addiu $t6, $t6, -0xC +.L80062140: +/* 62D40 80062140 81C20000 */ lb $v0, 0x0($t6) +/* 62D44 80062144 91C30001 */ lbu $v1, 0x1($t6) +/* 62D48 80062148 3C198012 */ lui $t9, %hi(D_8011D644) +/* 62D4C 8006214C 00021200 */ sll $v0, $v0, 8 +/* 62D50 80062150 00431025 */ or $v0, $v0, $v1 +/* 62D54 80062154 00481022 */ sub $v0, $v0, $t0 /* handwritten instruction */ +/* 62D58 80062158 00580019 */ multu $v0, $t8 +/* 62D5C 8006215C 00001012 */ mflo $v0 +/* 62D60 80062160 00021102 */ srl $v0, $v0, 4 +/* 62D64 80062164 01024020 */ add $t0, $t0, $v0 /* handwritten instruction */ +/* 62D68 80062168 A4A80016 */ sh $t0, 0x16($a1) +/* 62D6C 8006216C 81C20002 */ lb $v0, 0x2($t6) +/* 62D70 80062170 91C30003 */ lbu $v1, 0x3($t6) +/* 62D74 80062174 00021200 */ sll $v0, $v0, 8 +/* 62D78 80062178 00431025 */ or $v0, $v0, $v1 +/* 62D7C 8006217C 00491022 */ sub $v0, $v0, $t1 /* handwritten instruction */ +/* 62D80 80062180 00580019 */ multu $v0, $t8 +/* 62D84 80062184 00001012 */ mflo $v0 +/* 62D88 80062188 00021102 */ srl $v0, $v0, 4 +/* 62D8C 8006218C 01224820 */ add $t1, $t1, $v0 /* handwritten instruction */ +/* 62D90 80062190 A4A90018 */ sh $t1, 0x18($a1) +/* 62D94 80062194 81C20004 */ lb $v0, 0x4($t6) +/* 62D98 80062198 91C30005 */ lbu $v1, 0x5($t6) +/* 62D9C 8006219C 00021200 */ sll $v0, $v0, 8 +/* 62DA0 800621A0 00431025 */ or $v0, $v0, $v1 +/* 62DA4 800621A4 004A1022 */ sub $v0, $v0, $t2 /* handwritten instruction */ +/* 62DA8 800621A8 00580019 */ multu $v0, $t8 +/* 62DAC 800621AC 00001012 */ mflo $v0 +/* 62DB0 800621B0 00021102 */ srl $v0, $v0, 4 +/* 62DB4 800621B4 01425020 */ add $t2, $t2, $v0 /* handwritten instruction */ +/* 62DB8 800621B8 A4AA001A */ sh $t2, 0x1A($a1) +/* 62DBC 800621BC 81C2000A */ lb $v0, 0xA($t6) +/* 62DC0 800621C0 91C3000B */ lbu $v1, 0xB($t6) +/* 62DC4 800621C4 00021200 */ sll $v0, $v0, 8 +/* 62DC8 800621C8 00431025 */ or $v0, $v0, $v1 +/* 62DCC 800621CC 004B1022 */ sub $v0, $v0, $t3 /* handwritten instruction */ +/* 62DD0 800621D0 00580019 */ multu $v0, $t8 +/* 62DD4 800621D4 24A30004 */ addiu $v1, $a1, 0x4 +/* 62DD8 800621D8 00001012 */ mflo $v0 +/* 62DDC 800621DC 00021102 */ srl $v0, $v0, 4 +/* 62DE0 800621E0 01625820 */ add $t3, $t3, $v0 /* handwritten instruction */ +/* 62DE4 800621E4 80A2001F */ lb $v0, 0x1F($a1) +/* 62DE8 800621E8 A4AB001C */ sh $t3, 0x1C($a1) +/* 62DEC 800621EC 38420001 */ xori $v0, $v0, 0x1 +/* 62DF0 800621F0 A0A2001F */ sb $v0, 0x1F($a1) +/* 62DF4 800621F4 00021080 */ sll $v0, $v0, 2 +/* 62DF8 800621F8 00621820 */ add $v1, $v1, $v0 /* handwritten instruction */ +/* 62DFC 800621FC 84C20024 */ lh $v0, 0x24($a2) +/* 62E00 80062200 8CCD004C */ lw $t5, 0x4C($a2) +/* 62E04 80062204 8C6E0000 */ lw $t6, 0x0($v1) +/* 62E08 80062208 00021040 */ sll $v0, $v0, 1 +/* 62E0C 8006220C 8F39D644 */ lw $t9, %lo(D_8011D644)($t9) +/* 62E10 80062210 01A25820 */ add $t3, $t5, $v0 /* handwritten instruction */ +.L80062214: +/* 62E14 80062214 85A20000 */ lh $v0, 0x0($t5) +/* 62E18 80062218 2401FFFF */ addiu $at, $zero, -0x1 +/* 62E1C 8006221C 21AD0002 */ addi $t5, $t5, 0x2 /* handwritten instruction */ +/* 62E20 80062220 50410013 */ beql $v0, $at, .L80062270 +/* 62E24 80062224 01AB082A */ slt $at, $t5, $t3 +/* 62E28 80062228 00021880 */ sll $v1, $v0, 2 +/* 62E2C 8006222C 00021040 */ sll $v0, $v0, 1 +/* 62E30 80062230 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* 62E34 80062234 03224820 */ add $t1, $t9, $v0 /* handwritten instruction */ +/* 62E38 80062238 02224020 */ add $t0, $s1, $v0 /* handwritten instruction */ +/* 62E3C 8006223C 85020000 */ lh $v0, 0x0($t0) +/* 62E40 80062240 85230000 */ lh $v1, 0x0($t1) +/* 62E44 80062244 00435020 */ add $t2, $v0, $v1 /* handwritten instruction */ +/* 62E48 80062248 A5CA0000 */ sh $t2, 0x0($t6) +/* 62E4C 8006224C 85020002 */ lh $v0, 0x2($t0) +/* 62E50 80062250 85230002 */ lh $v1, 0x2($t1) +/* 62E54 80062254 00435020 */ add $t2, $v0, $v1 /* handwritten instruction */ +/* 62E58 80062258 A5CA0002 */ sh $t2, 0x2($t6) +/* 62E5C 8006225C 85020004 */ lh $v0, 0x4($t0) +/* 62E60 80062260 85230004 */ lh $v1, 0x4($t1) +/* 62E64 80062264 00435020 */ add $t2, $v0, $v1 /* handwritten instruction */ +/* 62E68 80062268 A5CA0004 */ sh $t2, 0x4($t6) +/* 62E6C 8006226C 01AB082A */ slt $at, $t5, $t3 +.L80062270: +/* 62E70 80062270 1420FFE8 */ bnez $at, .L80062214 +/* 62E74 80062274 21CE000A */ addi $t6, $t6, 0xA /* handwritten instruction */ +/* 62E78 80062278 24020001 */ addiu $v0, $zero, 0x1 +.L8006227C: +/* 62E7C 8006227C 8FB00000 */ lw $s0, 0x0($sp) +/* 62E80 80062280 8FB10004 */ lw $s1, 0x4($sp) +/* 62E84 80062284 03E00008 */ jr $ra +/* 62E88 80062288 27BD0008 */ addiu $sp, $sp, 0x8 +.end object_animate diff --git a/src/hasm/unknown_0251F0.s b/src/hasm/unknown_0251F0.s new file mode 100644 index 00000000..bbf319f7 --- /dev/null +++ b/src/hasm/unknown_0251F0.s @@ -0,0 +1,282 @@ +.include "macro.inc" + +/* assembler directives */ +.set noat /* allow manual use of $at */ +.set noreorder /* don't insert nops after branches */ +.set gp=64 /* allow use of 64-bit general purpose registers */ + +.section .text, "ax" + +/* Generated by spimdisasm 1.30.0 */ + +leaf func_800245F0 +/* 251F0 800245F0 8CA70054 */ lw $a3, 0x54($a1) +/* 251F4 800245F4 10E00051 */ beqz $a3, .L8002473C +/* 251F8 800245F8 00000000 */ nop +/* 251FC 800245FC 8CE20000 */ lw $v0, 0x0($a3) +/* 25200 80024600 44863000 */ mtc1 $a2, $f6 +/* 25204 80024604 3C014320 */ lui $at, (0x43200000 >> 16) +/* 25208 80024608 44822000 */ mtc1 $v0, $f4 +/* 2520C 8002460C 44814000 */ mtc1 $at, $f8 +/* 25210 80024610 84880028 */ lh $t0, 0x28($a0) +/* 25214 80024614 46062102 */ mul.s $f4, $f4, $f6 +/* 25218 80024618 8C8D0038 */ lw $t5, 0x38($a0) +/* 2521C 8002461C 84F8001C */ lh $t8, 0x1C($a3) +/* 25220 80024620 84EF001E */ lh $t7, 0x1E($a3) +/* 25224 80024624 84EE0020 */ lh $t6, 0x20($a3) +/* 25228 80024628 8C870040 */ lw $a3, 0x40($a0) +/* 2522C 8002462C 8CA50044 */ lw $a1, 0x44($a1) +/* 25230 80024630 46082102 */ mul.s $f4, $f4, $f8 +/* 25234 80024634 4442F800 */ cfc1 $v0, $31 +/* 25238 80024638 00000000 */ nop +/* 2523C 8002463C 34430003 */ ori $v1, $v0, 0x3 +/* 25240 80024640 38630002 */ xori $v1, $v1, 0x2 +/* 25244 80024644 44C3F800 */ ctc1 $v1, $31 +/* 25248 80024648 00081880 */ sll $v1, $t0, 2 +/* 2524C 8002464C 46002124 */ cvt.w.s $f4, $f4 +/* 25250 80024650 44C2F800 */ ctc1 $v0, $31 +/* 25254 80024654 000810C0 */ sll $v0, $t0, 3 +/* 25258 80024658 00432020 */ add $a0, $v0, $v1 /* handwritten instruction */ +/* 2525C 8002465C 44062000 */ mfc1 $a2, $f4 +/* 25260 80024660 008D2020 */ add $a0, $a0, $t5 /* handwritten instruction */ +/* 25264 80024664 91A80006 */ lbu $t0, 0x6($t5) +.L80024668: +/* 25268 80024668 85A20002 */ lh $v0, 0x2($t5) +/* 2526C 8002466C 85A3000E */ lh $v1, 0xE($t5) +/* 25270 80024670 240100FF */ addiu $at, $zero, 0xFF +/* 25274 80024674 1501000C */ bne $t0, $at, .L800246A8 +/* 25278 80024678 00626022 */ sub $t4, $v1, $v0 /* handwritten instruction */ +/* 2527C 8002467C 8DA90008 */ lw $t1, 0x8($t5) +/* 25280 80024680 000C10C0 */ sll $v0, $t4, 3 +/* 25284 80024684 000C1840 */ sll $v1, $t4, 1 +/* 25288 80024688 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* 2528C 8002468C 31298000 */ andi $t1, $t1, 0x8000 +/* 25290 80024690 11200026 */ beqz $t1, .L8002472C +/* 25294 80024694 00A22820 */ add $a1, $a1, $v0 /* handwritten instruction */ +/* 25298 80024698 000C1080 */ sll $v0, $t4, 2 +/* 2529C 8002469C 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* 252A0 800246A0 10000022 */ b .L8002472C +/* 252A4 800246A4 00E23820 */ add $a3, $a3, $v0 /* handwritten instruction */ +.L800246A8: +/* 252A8 800246A8 84E80000 */ lh $t0, 0x0($a3) +/* 252AC 800246AC 01180018 */ mult $t0, $t8 +/* 252B0 800246B0 0000C812 */ mflo $t9 +/* 252B4 800246B4 84E90002 */ lh $t1, 0x2($a3) +/* 252B8 800246B8 258CFFFF */ addiu $t4, $t4, -0x1 +/* 252BC 800246BC 012F0018 */ mult $t1, $t7 +/* 252C0 800246C0 00001012 */ mflo $v0 +/* 252C4 800246C4 84EA0004 */ lh $t2, 0x4($a3) +/* 252C8 800246C8 0322C820 */ add $t9, $t9, $v0 /* handwritten instruction */ +/* 252CC 800246CC 014E0018 */ mult $t2, $t6 +/* 252D0 800246D0 00001012 */ mflo $v0 +/* 252D4 800246D4 24E70006 */ addiu $a3, $a3, 0x6 +/* 252D8 800246D8 0322C820 */ add $t9, $t9, $v0 /* handwritten instruction */ +/* 252DC 800246DC 0019CAC3 */ sra $t9, $t9, 11 +/* 252E0 800246E0 1F200003 */ bgtz $t9, .L800246F0 +/* 252E4 800246E4 00000000 */ nop +/* 252E8 800246E8 10000009 */ b .L80024710 +/* 252EC 800246EC 00C0C825 */ or $t9, $a2, $zero +.L800246F0: +/* 252F0 800246F0 03260018 */ mult $t9, $a2 +/* 252F4 800246F4 0000C812 */ mflo $t9 +/* 252F8 800246F8 0019CC02 */ srl $t9, $t9, 16 +/* 252FC 800246FC 0326C820 */ add $t9, $t9, $a2 /* handwritten instruction */ +/* 25300 80024700 2B210100 */ slti $at, $t9, 0x100 +/* 25304 80024704 54200003 */ bnel $at, $zero, .L80024714 +/* 25308 80024708 00191200 */ sll $v0, $t9, 8 +/* 2530C 8002470C 241900FF */ addiu $t9, $zero, 0xFF +.L80024710: +/* 25310 80024710 00191200 */ sll $v0, $t9, 8 +.L80024714: +/* 25314 80024714 0322C825 */ or $t9, $t9, $v0 +/* 25318 80024718 A4B90006 */ sh $t9, 0x6($a1) +/* 2531C 8002471C 373900FF */ ori $t9, $t9, 0xFF +/* 25320 80024720 A4B90008 */ sh $t9, 0x8($a1) +/* 25324 80024724 1580FFE0 */ bnez $t4, .L800246A8 +/* 25328 80024728 24A5000A */ addiu $a1, $a1, 0xA +.L8002472C: +/* 2532C 8002472C 25AD000C */ addiu $t5, $t5, 0xC +/* 25330 80024730 01A4082A */ slt $at, $t5, $a0 +/* 25334 80024734 5420FFCC */ bnel $at, $zero, .L80024668 +/* 25338 80024738 91A80006 */ lbu $t0, 0x6($t5) +.L8002473C: +/* 2533C 8002473C 03E00008 */ jr $ra +/* 25340 80024740 00000000 */ nop +.end func_800245F0 + +leaf calc_dynamic_lighting_for_object_2 +/* 25344 80024744 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 25348 80024748 AFB00080 */ sw $s0, 0x80($sp) +/* 2534C 8002474C AFBF0078 */ sw $ra, 0x78($sp) +/* 25350 80024750 AFB10084 */ sw $s1, 0x84($sp) +/* 25354 80024754 AFB20088 */ sw $s2, 0x88($sp) +/* 25358 80024758 AFB3008C */ sw $s3, 0x8C($sp) +/* 2535C 8002475C 00808025 */ or $s0, $a0, $zero +/* 25360 80024760 8E190054 */ lw $t9, 0x54($s0) +/* 25364 80024764 00A08825 */ or $s1, $a1, $zero +/* 25368 80024768 00C09025 */ or $s2, $a2, $zero +/* 2536C 8002476C 13200093 */ beqz $t9, .L800249BC +/* 25370 80024770 00E09825 */ or $s3, $a3, $zero +/* 25374 80024774 8728001C */ lh $t0, 0x1C($t9) +/* 25378 80024778 8729001E */ lh $t1, 0x1E($t9) +/* 2537C 8002477C 872A0020 */ lh $t2, 0x20($t9) +/* 25380 80024780 00084080 */ sll $t0, $t0, 2 +/* 25384 80024784 00094880 */ sll $t1, $t1, 2 +/* 25388 80024788 000A5080 */ sll $t2, $t2, 2 +/* 2538C 8002478C 44882000 */ mtc1 $t0, $f4 +/* 25390 80024790 44893000 */ mtc1 $t1, $f6 +/* 25394 80024794 448A4000 */ mtc1 $t2, $f8 +/* 25398 80024798 46802120 */ cvt.s.w $f4, $f4 +/* 2539C 8002479C 27B80010 */ addiu $t8, $sp, 0x10 +/* 253A0 800247A0 468031A0 */ cvt.s.w $f6, $f6 +/* 253A4 800247A4 E7040000 */ swc1 $f4, 0x0($t8) +/* 253A8 800247A8 46804220 */ cvt.s.w $f8, $f8 +/* 253AC 800247AC E7060004 */ swc1 $f6, 0x4($t8) +/* 253B0 800247B0 10C00007 */ beqz $a2, .L800247D0 +/* 253B4 800247B4 E7080008 */ swc1 $f8, 0x8($t8) +/* 253B8 800247B8 0C01A769 */ jal get_projection_matrix_f32 +/* 253BC 800247BC 00000000 */ nop +/* 253C0 800247C0 27A50010 */ addiu $a1, $sp, 0x10 +/* 253C4 800247C4 00402025 */ or $a0, $v0, $zero +/* 253C8 800247C8 0C01BDBB */ jal f32_matrix_dot +/* 253CC 800247CC 00A03025 */ or $a2, $a1, $zero +.L800247D0: +/* 253D0 800247D0 86080000 */ lh $t0, 0x0($s0) +/* 253D4 800247D4 27B8001C */ addiu $t8, $sp, 0x1C +/* 253D8 800247D8 24030000 */ addiu $v1, $zero, 0x0 +/* 253DC 800247DC 00084022 */ neg $t0, $t0 /* handwritten instruction */ +/* 253E0 800247E0 A7080000 */ sh $t0, 0x0($t8) +/* 253E4 800247E4 86090002 */ lh $t1, 0x2($s0) +/* 253E8 800247E8 3C023F80 */ lui $v0, (0x3F800000 >> 16) +/* 253EC 800247EC 27A40034 */ addiu $a0, $sp, 0x34 +/* 253F0 800247F0 00094822 */ neg $t1, $t1 /* handwritten instruction */ +/* 253F4 800247F4 A7090002 */ sh $t1, 0x2($t8) +/* 253F8 800247F8 860A0004 */ lh $t2, 0x4($s0) +/* 253FC 800247FC AF020008 */ sw $v0, 0x8($t8) +/* 25400 80024800 AF03000C */ sw $v1, 0xC($t8) +/* 25404 80024804 000A5022 */ neg $t2, $t2 /* handwritten instruction */ +/* 25408 80024808 A70A0004 */ sh $t2, 0x4($t8) +/* 2540C 8002480C AF030010 */ sw $v1, 0x10($t8) +/* 25410 80024810 AF030014 */ sw $v1, 0x14($t8) +/* 25414 80024814 0C01BF9D */ jal object_transform_to_matrix_2 +/* 25418 80024818 03002825 */ or $a1, $t8, $zero +/* 2541C 8002481C 27A50010 */ addiu $a1, $sp, 0x10 +/* 25420 80024820 27A40034 */ addiu $a0, $sp, 0x34 +/* 25424 80024824 0C01BDBB */ jal f32_matrix_dot +/* 25428 80024828 00A03025 */ or $a2, $a1, $zero +/* 2542C 8002482C 8E190054 */ lw $t9, 0x54($s0) +/* 25430 80024830 44933000 */ mtc1 $s3, $f6 +/* 25434 80024834 3C01437F */ lui $at, (0x437F0000 >> 16) +/* 25438 80024838 8F220000 */ lw $v0, 0x0($t9) +/* 2543C 8002483C 44814000 */ mtc1 $at, $f8 +/* 25440 80024840 8F23002C */ lw $v1, 0x2C($t9) +/* 25444 80024844 44822000 */ mtc1 $v0, $f4 +/* 25448 80024848 8F220028 */ lw $v0, 0x28($t9) +/* 2544C 8002484C 27A80010 */ addiu $t0, $sp, 0x10 +/* 25450 80024850 46062102 */ mul.s $f4, $f4, $f6 +/* 25454 80024854 44823000 */ mtc1 $v0, $f6 +/* 25458 80024858 8D060000 */ lw $a2, 0x0($t0) +/* 2545C 8002485C 8D070004 */ lw $a3, 0x4($t0) +/* 25460 80024860 8D0E0008 */ lw $t6, 0x8($t0) +/* 25464 80024864 86280028 */ lh $t0, 0x28($s1) +/* 25468 80024868 8E2D0038 */ lw $t5, 0x38($s1) +/* 2546C 8002486C 46082102 */ mul.s $f4, $f4, $f8 +/* 25470 80024870 44834000 */ mtc1 $v1, $f8 +/* 25474 80024874 8E130044 */ lw $s3, 0x44($s0) +/* 25478 80024878 8E240040 */ lw $a0, 0x40($s1) +/* 2547C 8002487C 46043182 */ mul.s $f6, $f6, $f4 +/* 25480 80024880 00000000 */ nop +/* 25484 80024884 46044202 */ mul.s $f8, $f8, $f4 +/* 25488 80024888 44862000 */ mtc1 $a2, $f4 +/* 2548C 8002488C 4442F800 */ cfc1 $v0, $31 +/* 25490 80024890 00000000 */ nop +/* 25494 80024894 34430003 */ ori $v1, $v0, 0x3 +/* 25498 80024898 38630002 */ xori $v1, $v1, 0x2 +/* 2549C 8002489C 44C3F800 */ ctc1 $v1, $31 +/* 254A0 800248A0 00081880 */ sll $v1, $t0, 2 +/* 254A4 800248A4 460031A4 */ cvt.w.s $f6, $f6 +/* 254A8 800248A8 46004224 */ cvt.w.s $f8, $f8 +/* 254AC 800248AC 44183000 */ mfc1 $t8, $f6 +/* 254B0 800248B0 44873000 */ mtc1 $a3, $f6 +/* 254B4 800248B4 46002124 */ cvt.w.s $f4, $f4 +/* 254B8 800248B8 440F4000 */ mfc1 $t7, $f8 +/* 254BC 800248BC 448E4000 */ mtc1 $t6, $f8 +/* 254C0 800248C0 460031A4 */ cvt.w.s $f6, $f6 +/* 254C4 800248C4 44062000 */ mfc1 $a2, $f4 +/* 254C8 800248C8 46004224 */ cvt.w.s $f8, $f8 +/* 254CC 800248CC 44073000 */ mfc1 $a3, $f6 +/* 254D0 800248D0 44C2F800 */ ctc1 $v0, $31 +/* 254D4 800248D4 000810C0 */ sll $v0, $t0, 3 +/* 254D8 800248D8 00439020 */ add $s2, $v0, $v1 /* handwritten instruction */ +/* 254DC 800248DC 440E4000 */ mfc1 $t6, $f8 +/* 254E0 800248E0 024D9020 */ add $s2, $s2, $t5 /* handwritten instruction */ +/* 254E4 800248E4 91A80006 */ lbu $t0, 0x6($t5) +.L800248E8: +/* 254E8 800248E8 85A20002 */ lh $v0, 0x2($t5) +/* 254EC 800248EC 85A3000E */ lh $v1, 0xE($t5) +/* 254F0 800248F0 240100FF */ addiu $at, $zero, 0xFF +/* 254F4 800248F4 1501000C */ bne $t0, $at, .L80024928 +/* 254F8 800248F8 00626022 */ sub $t4, $v1, $v0 /* handwritten instruction */ +/* 254FC 800248FC 8DA90008 */ lw $t1, 0x8($t5) +/* 25500 80024900 000C10C0 */ sll $v0, $t4, 3 +/* 25504 80024904 000C1840 */ sll $v1, $t4, 1 +/* 25508 80024908 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* 2550C 8002490C 31298000 */ andi $t1, $t1, 0x8000 +/* 25510 80024910 11200026 */ beqz $t1, .L800249AC +/* 25514 80024914 02629820 */ add $s3, $s3, $v0 /* handwritten instruction */ +/* 25518 80024918 000C1080 */ sll $v0, $t4, 2 +/* 2551C 8002491C 00431020 */ add $v0, $v0, $v1 /* handwritten instruction */ +/* 25520 80024920 10000022 */ b .L800249AC +/* 25524 80024924 00822020 */ add $a0, $a0, $v0 /* handwritten instruction */ +.L80024928: +/* 25528 80024928 84880000 */ lh $t0, 0x0($a0) +/* 2552C 8002492C 01060018 */ mult $t0, $a2 +/* 25530 80024930 00002812 */ mflo $a1 +/* 25534 80024934 84890002 */ lh $t1, 0x2($a0) +/* 25538 80024938 258CFFFF */ addiu $t4, $t4, -0x1 +/* 2553C 8002493C 01270018 */ mult $t1, $a3 +/* 25540 80024940 00001012 */ mflo $v0 +/* 25544 80024944 848A0004 */ lh $t2, 0x4($a0) +/* 25548 80024948 00A22820 */ add $a1, $a1, $v0 /* handwritten instruction */ +/* 2554C 8002494C 014E0018 */ mult $t2, $t6 +/* 25550 80024950 00001012 */ mflo $v0 +/* 25554 80024954 24840006 */ addiu $a0, $a0, 0x6 +/* 25558 80024958 00A22820 */ add $a1, $a1, $v0 /* handwritten instruction */ +/* 2555C 8002495C 000529C3 */ sra $a1, $a1, 7 +/* 25560 80024960 1CA00003 */ bgtz $a1, .L80024970 +/* 25564 80024964 00000000 */ nop +/* 25568 80024968 10000009 */ b .L80024990 +/* 2556C 8002496C 03002825 */ or $a1, $t8, $zero +.L80024970: +/* 25570 80024970 00AF0018 */ mult $a1, $t7 +/* 25574 80024974 00002812 */ mflo $a1 +/* 25578 80024978 00052D42 */ srl $a1, $a1, 21 +/* 2557C 8002497C 00B82820 */ add $a1, $a1, $t8 /* handwritten instruction */ +/* 25580 80024980 28A10100 */ slti $at, $a1, 0x100 +/* 25584 80024984 54200003 */ bnel $at, $zero, .L80024994 +/* 25588 80024988 00051200 */ sll $v0, $a1, 8 +/* 2558C 8002498C 240500FF */ addiu $a1, $zero, 0xFF +.L80024990: +/* 25590 80024990 00051200 */ sll $v0, $a1, 8 +.L80024994: +/* 25594 80024994 00A22825 */ or $a1, $a1, $v0 +/* 25598 80024998 A6650006 */ sh $a1, 0x6($s3) +/* 2559C 8002499C 34A500FF */ ori $a1, $a1, 0xFF +/* 255A0 800249A0 A6650008 */ sh $a1, 0x8($s3) +/* 255A4 800249A4 1580FFE0 */ bnez $t4, .L80024928 +/* 255A8 800249A8 2673000A */ addiu $s3, $s3, 0xA +.L800249AC: +/* 255AC 800249AC 25AD000C */ addiu $t5, $t5, 0xC +/* 255B0 800249B0 01B2082A */ slt $at, $t5, $s2 +/* 255B4 800249B4 5420FFCC */ bnel $at, $zero, .L800248E8 +/* 255B8 800249B8 91A80006 */ lbu $t0, 0x6($t5) +.L800249BC: +/* 255BC 800249BC 8FBF0078 */ lw $ra, 0x78($sp) +/* 255C0 800249C0 8FB00080 */ lw $s0, 0x80($sp) +/* 255C4 800249C4 8FB10084 */ lw $s1, 0x84($sp) +/* 255C8 800249C8 8FB20088 */ lw $s2, 0x88($sp) +/* 255CC 800249CC 8FB3008C */ lw $s3, 0x8C($sp) +/* 255D0 800249D0 03E00008 */ jr $ra +/* 255D4 800249D4 27BD0080 */ addiu $sp, $sp, 0x80 +/* 255D8 800249D8 00000000 */ nop +.end calc_dynamic_lighting_for_object_2 diff --git a/src/joypad.c b/src/joypad.c index 57fb5d52..4e10d59f 100644 --- a/src/joypad.c +++ b/src/joypad.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8006A100 */ - #include "joypad.h" #include "game.h" diff --git a/src/lights.c b/src/lights.c index a66bb4e5..d306af4e 100644 --- a/src/lights.c +++ b/src/lights.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80031B60 */ - #include "lights.h" #include "memory.h" @@ -144,7 +141,7 @@ ObjectLight *func_80031CAC(Object *light, LevelObjectEntry_RgbaLight *lightEntry return newLight; } #else -GLOBAL_ASM("asm/non_matchings/lights/func_80031CAC.s") +#pragma GLOBAL_ASM("asm/nonmatchings/lights/func_80031CAC.s") #endif /** @@ -594,7 +591,7 @@ void func_80032C7C(Object *object) { } } #else -GLOBAL_ASM("asm/non_matchings/lights/func_80032C7C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/lights/func_80032C7C.s") #endif void func_800337E4(void) { diff --git a/src/main.c b/src/main.c index 09941a29..cc374668 100644 --- a/src/main.c +++ b/src/main.c @@ -1,10 +1,7 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80065D40 */ - #include "main.h" #include "thread0_epc.h" #include "game.h" -#include "lib/src/libc/rmonPrintf.h" +#include "libultra/src/libc/rmonPrintf.h" /************ .bss ************/ @@ -12,7 +9,6 @@ u64 gThread1Stack[0x21]; u64 gThread3Stack[0x401]; OSThread gThread1; // OSThread for thread 1 OSThread gThread3; // OSThread for thread 3 -UNUSED u64 gUnusedThreadStack[0x200]; /******************************/ diff --git a/src/memory.c b/src/memory.c index e7314904..aaaf8ab6 100644 --- a/src/memory.c +++ b/src/memory.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80070B30 */ - #include "memory.h" #include "printf.h" #include "thread0_epc.h" @@ -20,8 +17,6 @@ FreeQueueSlot gFreeQueue[FREE_QUEUE_SIZE]; s32 gFreeQueueCount; s32 gFreeQueueTimer; // Official Name: mmDelay -extern MemoryPoolSlot gMainMemoryPool; - /******************************/ /** diff --git a/src/memory_pool.c b/src/memory_pool.c deleted file mode 100644 index 1309ffd0..00000000 --- a/src/memory_pool.c +++ /dev/null @@ -1,6 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8012D3F0 */ - -// This is the end of BSS -#include "src/memory.h" -MemoryPoolSlot gMainMemoryPool; diff --git a/src/menu.c b/src/menu.c index 2dac418a..fa7079f7 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8007F900 */ - #include "common.h" #include "menu.h" #include "memory.h" @@ -28,7 +25,7 @@ #include "audiosfx.h" #include "racer.h" #include "tracks.h" -#include "lib/src/audio/synstartvoiceparam.h" +#include "libultra/src/audio/synstartvoiceparam.h" #include "joypad.h" #include "math_util.h" #include "PRinternal/viint.h" @@ -42,13 +39,246 @@ // The bss section needs to stay above the data section! // Otherwise the bss variables will get reordered, which is bad. +// A huge unfortunate issue has occurred which seems to have reordered the BSS for JP... Not sure why. +#if REGION == REGION_JP +// START OF JPN BSS ORDER + +char gCourseInitials[4]; // course initials +char gFLapInitials[4]; // flap initials +s32 gNumberOfCheats; +s32 gNameEntryStickX; +Gfx *sMenuCurrDisplayList; +s16 gCheatInputCurrentRow; +MatrixS *sMenuCurrHudMat; +s16 gCheatInputCurrentColumn; +Vertex *sMenuCurrHudVerts; +s16 gCheatInputStringLength; +TriangleList *sMenuCurrHudTris; +s16 gOptionsMenuItemIndex; +s32 gNameSelectionDone; +s16 gNewCheatID; +f32 gNameEntryOffsetX; +UNUSED s32 D_80127E5F_128A5F; +char gCheatInput[20]; +s32 *gNameEntryTargetX; +s32 gNumOnscreenMagicCodes; +char *gNameEntryString; +s32 gNameEntryAllowedLength; +unk80126C54 gPostRace; +s16 gUnlockedCheatIDs[32]; +s32 gFileNew; +s32 gOptionBlinkTimer; +s32 gIgnorePlayerInputTime; // A set amount of time to ignore player input. +s32 gAdventureSaveGhost; +s32 gPreviousMenuID; +char **gTTSaveGhostPakErrorText; +UNUSED s32 sUnused_801263C8; // Set to 0 in menu_init, and never again. +s32 gTrackmenuLoadedLevel; // Compared for equality to gTrackIdForPreview +s32 gOpacityDecayTimer; +s32 gMenuStage; +unk801263C0 gMenuSelectedCharacter; +unk801263C0 D_801263B8; +unk801263C0 gMenuCurrentCharacter; + +// Eeeprom save data bits stored at address 0xF +// bit 0 = Adventure Two is Unlocked +// bit 1 = Used to set the CHEAT_CONTROL_DRUMSTICK magic code flag. Drumstick is unlocked flag? +// bits 2-3 = Current language value +// bits 4-23 = Used to set the CHEAT_CONTROL_TT magic code flag. Could be tracks where TT has been beat? +// bit 24 = Unknown, but it's set as a default high bit. +// bit 25 = Seems to be a flag for whether subtitles are enabled or not. +// bits 26-55 = Unknown, but it could be a set of flags for unlocked tracks +// bits 56-63 = Checksum bits. These are calculated from the previous bits, +// and validated using calculate_eeprom_settings_checksum. +// If the checksum fails, the settings are reset to just +// bits 24/25 being high. +u64 sEepromSettings; +f32 sBootScreenTimer; +CharacterSelectData (*gCurrCharacterSelectData)[10]; +s8 gActivePlayersArray[MAXCONTROLLERS]; // Boolean value for each controller if it's active with a player. +s8 gCharselectStatus[MAXCONTROLLERS]; +s8 gPlayersCharacterArray[8]; // -1 = Non active player, or character id if >= 0 +s8 gCharacterIdSlots[8]; +s32 gRankingsPoints[8]; +u8 gResultsPlayers[8]; +u8 gRankingsPlayers[8]; +u8 gResultsPlayerIDs[8]; +u8 gRankingsPlayerIDs[8]; // Contains the order of racer indices that tell you what place they are in. +s8 gControllersXAxisDelay[4]; +UNUSED s32 D_80127F6C_EE71C; +s8 gRankingsPortraitIDs[12]; +s8 gControllersYAxisDelay[4]; +s8 gControllersXAxisDirection[4]; // X axis (-1 = left, 1 = right) for controller +s8 gControllersYAxisDirection[4]; // Y axis (-1 = down, 1 = up) for controller +s8 gControllersXAxis[4]; +s8 gControllersYAxis[4]; +s32 sUnused_80126470; // Set to 0 in the magic codes menu and 0xD000 elsewhere, otherwise unused. +s32 gTrackSelectViewPortHalfX; +s32 gTrackSelectViewPortHalfY; +s32 gTrackSelectViewPortX; +s32 gTrackSelectViewportY; +MenuElement *gGameSelectElements; +s8 gDialogueSubmenu; +s8 sCurrentMenuID; +s32 gFileCopy; +s32 gFileErase; +s8 sDialogueOptionMax; +s32 gSaveFileIndex3; +s8 gDialogueOptionYOffset; +s32 gSaveFileIndex2; +s8 gDialogueItemSelection; +s32 gFileConfirm; +Settings *gSavefileData[4]; +s32 gGhostMenuOption; +UNUSED s32 D_80127FE4_EE794; +SavefileInfo gSavefileInfo[4]; +s32 gCpakGhostData; +s32 gGhostMenuTotal; +u8 gGhostLevelIDsPak[4]; +UNUSED s32 D_80128024_EE7D4; +u8 gGhostCharacterIDsPak[4]; +void *gMenuAssets[128]; // lookup table? Contains Textures, Objects, and Sprites. Need to change name and type. +u8 gGhostVehicleIDsPak[4]; +u8 gMenuAssetActive[128]; +u16 gGhostChecksumIDsPak[6]; +u8 gGhostLevelIDsMenu[6]; +u8 gGhostCharacterIDsMenu[6]; +UNUSED s32 D_801282D2_EEA82; +SoundMask *gMenuSoundMasks[MAXCONTROLLERS]; // Soundmask values +u8 gGhostVehicleIDsMenu[6]; +UNUSED s8 sUnused_80126828; // Set to 0 in menu_init, and never used again. +u16 gGhostChecksumIDsMenu[6]; +u8 gGhostWorldIDs[6]; +s32 gMultiplayerSelectedNumberOfRacersCopy; // Saved version gMultiplayerSelectedNumberOfRacers? +s32 gTrackmenuType; +s32 *D_80126850; // Never set, but it's read? Is it part of a larger struct being set? +s32 gMenuButtons[5]; // Buttons pressed per player plus an an extra containing each collective input. +s8 *gCinematicParams; +s32 gMenuElementScaleTimer; +s32 buttonsPressed[5]; +s8 *gCinematicPortraits; +s32 gPostraceScaleIn; +s16 gMenuStickX[5]; +UNUSED s16 D_8012835A_EEB0A; +s32 gCinematicEnd; +s32 gPostraceScaleMiddle; +s16 gMenuStickY[5]; +s16 D_8012683A; +s32 gCinematicSkipA; +s32 gPostraceScaleOut; +SoundMask *gTrackTTSoundMask; +s32 gCinematicSkipB; +SoundMask *D_80126848; +s32 gCinematicMusicChangeOff; +s32 gTitleDemoIndex; +s32 gTitleRevealTimer; +f32 gTitleAudioCounter; +s8 *sTitleScreenDemoIds; // Misc Asset 66 - title_screen_demo_ids.bin - 12 or 13 values. +s16 gTitleDemoTimer; +unk80126878 D_80126878[8]; +u8 D_80126E78[0x20]; // NEW BSS, or BIGGER D_80126878? +f32 D_801268D8; +UNUSED s32 D_801268DC; // Set to 0 during the title screen, never read. +s32 gOpeningNameID; +s16 gTrackSelectIDs[4][6]; // Track Select values? +s16 gFFLUnlocked; +UNUSED s32 D_80128464; +UNUSED s32 D_80128468; +s32 gTrackSelectVertsFlip; +UNUSED s32 D_80126928; // Set to 64, but never used. +UNUSED s32 D_8012692C; // Set to 32, but never used. +TrackRenderDetails gTrackSelectRenderDetails[9]; +s8 gPlayerSelectVehicle[4]; +s8 gPlayerSelectConfirm[4]; +s32 gTrackSelectCursorX; +s32 gTrackSelectCursorY; +char *gAudioOutputStrings[3]; +f32 gTrackSelectX; +char *gMusicTestString; +f32 gTrackSelectY; +f32 gTrackSelectTargetX; +f32 gTrackSelectTargetY; +char *gTrackMenuHubName; +s32 gSelectedTrackX; +s32 gSelectedTrackY; +SoundMask *gSoundOptionMask; +s32 gSaveMenuOptionCountLower; +SaveFileData *gSaveMenuFilesDest; +s32 gSaveMenuOptionCountUpper; +SaveFileData *gSaveMenuFilesSource; +s32 gSaveMenuRumbleNag; +s32 gSaveMenuRumbleConnected; +s32 gSaveMenuSourceState; +s32 gSaveMenuDestState; +s32 sControllerPakNotesFree[MAXCONTROLLERS]; // Number notes free in each controller memory pak +u8 sControllerPakIssueNotFound[MAXCONTROLLERS]; // Bool to see if there's no known issues for the given controller pak +u8 sControllerPakFatalErrorFound[MAXCONTROLLERS]; // Bool to see if there's a fatal error for the given controller pak +u8 sControllerPakNoFreeSpace[MAXCONTROLLERS]; // Bool to see if there's no free space for the given controller pak +u8 sControllerPakBadData[MAXCONTROLLERS]; // Bool to see if there's bad data for the given controller pak +char *gMenuOptionText[8]; // Menu Text +u8 sControllerPakDataPresent[MAXCONTROLLERS]; // Bool to see if there's data present for the given controller pak +char *D_80126A64; +s32 gMenuOption; +s32 gSaveMenuRumbleNagSet; +char **gDeviceStatusStrings; +s32 gSaveMenuMessageLines; +s32 gSaveMenuMessageOption; +unk80126A80 *gSaveMenuText[4]; +s32 gPostRace1Player; +s32 gPostRaceTimer; +s32 gTracksSaveGhost; +char *gBootPakData[MAX_CPAK_FILES]; // Text to render +char *sCurrentControllerPakAllFileNames[MAX_CPAK_FILES]; // Every file name on the controller pak +char *sCurrentControllerPakAllFileExtensions[MAX_CPAK_FILES]; // Every file extension on the controller pak +u8 sCurrentControllerPakAllFileTypes[MAX_CPAK_FILES]; // File type of all files on controller pak +u32 sCurrentControllerPakNumberOfPages[MAX_CPAK_FILES]; // Number of pages for each file on controller pak +u32 sCurrentControllerPakFreePages; // Pages available in current controller pak +s32 sControllerPakMenuNumberOfRows; // 8 if PAL, 7 if not +TextureHeader *gMenuMosaic1; +TextureHeader *gMenuMosaic2; +s32 gMenuMosaicShift; +s32 gCreditsControlDataIndex; +PakError sControllerPakError; // 0 = no error, 1 = fatal error, 2 = no free space, 3 = bad data +s32 D_80126BCC; +UNUSED s32 D_80126BD0; // Set to zero, never read. +s32 gSaveMenuOptionSource; +s32 D_80126BD8; +f32 gSaveMenuScrollSource; +s32 D_80126BE0; +s32 gSaveMenuOptionDest; +s32 D_80126BE8; +f32 gSaveMenuScrollDest; +char *gResultOptionText[8]; +s32 gCpakWriteTimer; +s32 gResultOptionCount; +s32 gBootMenuTimer; +char **gPostRaceMessage; +s32 gBootMenuPhase; +s32 gPostRaceLineCount; +s8 gPostraceFinishState; +unk80080BC8 *gMenuGeometry; +u16 (*gCheatsAssetData)[30]; // Cheat table. +s32 gNameEntryStickHeld; + +// END OF JPN BSS ORDER +#else +// START OF US/PAL BSS ORDER + char gCourseInitials[4]; // course initials char gFLapInitials[4]; // flap initials s32 gAdventureSaveGhost; +#if VERSION >= VERSION_80 +// For some reason these BSS vars swapped places in different versions +Gfx *sMenuCurrDisplayList; +s32 gPreviousMenuID; +MatrixS *sMenuCurrHudMat; +char **gTTSaveGhostPakErrorText; +#else s32 gPreviousMenuID; Gfx *sMenuCurrDisplayList; char **gTTSaveGhostPakErrorText; MatrixS *sMenuCurrHudMat; +#endif Vertex *sMenuCurrHudVerts; TriangleList *sMenuCurrHudTris; unk801263C0 gMenuSelectedCharacter; @@ -119,9 +349,9 @@ UNUSED s8 D_801264E0; UNUSED s8 D_801264E1; s8 sCurrentMenuID; u8 gGhostCharacterIDsPak[4]; -s32 D_801264E8; +UNUSED s32 D_801264E8; u8 gGhostVehicleIDsPak[4]; -s32 D_801264F0[2]; +UNUSED s32 D_801264F0[2]; u16 gGhostChecksumIDsPak[6]; s8 sDialogueOptionMax; u8 gGhostLevelIDsMenu[6]; @@ -164,6 +394,9 @@ s32 gTitleRevealTimer; f32 gTitleAudioCounter; s8 *sTitleScreenDemoIds; // Misc Asset 66 - title_screen_demo_ids.bin - 12 or 13 values. unk80126878 D_80126878[8]; +#if VERSION >= VERSION_79 +u8 D_80126E78[0x20]; // NEW BSS, or BIGGER D_80126878? +#endif f32 D_801268D8; UNUSED s32 D_801268DC; // Set to 0 during the title screen, never read. s32 gOpeningNameID; @@ -258,16 +491,27 @@ s16 gOptionsMenuItemIndex; s32 gNameSelectionDone; s16 gNewCheatID; f32 gNameEntryOffsetX; +#if VERSION >= VERSION_79 +// Created a replacement for this var in v2? +unk80126C54 gPostRaceOld; +#else unk80126C54 gPostRace; +#endif char gCheatInput[20]; s32 *gNameEntryTargetX; +#if VERSION >= VERSION_79 +// Created a replacement for this var in v2? +unk80126C54 gPostRace; +#endif s32 gNumOnscreenMagicCodes; char *gNameEntryString; s32 gNameEntryAllowedLength; -UNUSED s32 D_80126C7C; s16 gUnlockedCheatIDs[32]; s32 gFileNew; +// END OF US/PAL BSS ORDER +#endif + /******************************/ /************ .data ************/ @@ -353,8 +597,13 @@ MenuAsset sMenuImageProperties[18] = { { 0, 0, 0, 0x06, 0.215f, 0.0f, 0.0f, -500.0f, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0x07, 0.215f, 0.0f, 0.0f, -500.0f, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0x04, 0.125f, 0.0f, -40.0f, -500.0f, 0, 0, 0, 0, 0, 0, 0 }, +#if VERSION >= VERSION_79 + { 0, 0, 0, 0x66, 0.75f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0x67, 0.75f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }, +#else { 0, 0, 0, 0x5B, 0.75f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0x5C, 0.75f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }, +#endif { 0, 0, 0, 0x42, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0x40, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0x41, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }, @@ -362,7 +611,11 @@ MenuAsset sMenuImageProperties[18] = { { 0, 0, 0, 0x4D, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0x4E, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0x4F, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }, +#if VERSION >= VERSION_79 + { 0, 0, 0, 0x68, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }, +#else { 0, 0, 0, 0x5D, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }, +#endif }; s16 *gAssetsMenuElementIds[1] = { NULL }; @@ -393,10 +646,16 @@ char *gTitleMenuStrings[3] = { 0, 0, 0 }; char gVersionDisplayText[20] = "VERSION XXXXXXXX"; // "Diddy Kong Racing" logo texture indices +#if REGION == REGION_JP +s16 sGameTitleTileTextures[12] = { TEXTURE_UNK_5B, TEXTURE_UNK_5C, TEXTURE_UNK_5D, TEXTURE_ICON_TT_HEAD, + TEXTURE_UNK_5F, TEXTURE_UNK_60, TEXTURE_UNK_61, TEXTURE_UNK_62, + TEXTURE_UNK_63, TEXTURE_UNK_64, TEXTURE_UNK_65, -1 }; +#else s16 sGameTitleTileTextures[12] = { TEXTURE_TITLE_SEGMENT_01, TEXTURE_TITLE_SEGMENT_02, TEXTURE_TITLE_SEGMENT_03, TEXTURE_TITLE_SEGMENT_04, TEXTURE_TITLE_SEGMENT_05, TEXTURE_TITLE_SEGMENT_06, TEXTURE_TITLE_SEGMENT_07, TEXTURE_TITLE_SEGMENT_08, TEXTURE_TITLE_SEGMENT_09, TEXTURE_TITLE_SEGMENT_10, TEXTURE_TITLE_SEGMENT_11, -1 }; +#endif DrawTexture sGameTitleTileOffsets[12] = { { NULL, -75, -32 }, { NULL, -60, -32 }, { NULL, -45, -32 }, { NULL, -30, -32 }, { NULL, -15, -32 }, { NULL, 0, -32 }, @@ -427,6 +686,30 @@ unk800DF83C gTitleCinematicText[10] = { SCREEN_HEIGHT_FLOAT - 32.0f, SCREEN_WIDTH_FLOAT + 80.0f, SCREEN_HEIGHT_FLOAT - 32.0f } }; +#if REGION == REGION_JP +char D_800E13A4_E1FA4[] = { 0x80, 0x62, 0x80, 0x46, 0x80, 0x4F, 0x80, 0x8B, 0x80, 0x3B, 0x00, 0x00 }; + +char D_800E13B0_E1FB0[] = { 0x80, 0x8B, 0x80, 0x4F, 0x80, 0x90, 0x80, 0x3B, 0x00, 0x00, 0x00, 0x00 }; +char D_800E13BC_E1FBC[] = { 0x80, 0x59, 0x80, 0x4F, 0x80, 0x55, 0x80, 0x3B, 0x00, 0x00, 0x00, 0x00 }; + +char D_800E13C8_E1FC8[] = { 0x80, 0x62, 0x80, 0x46, 0x80, 0x4A, 0x80, 0x92, + 0x80, 0x5F, 0x80, 0x4A, 0x80, 0x92, 0x00, 0x00 }; +char D_800E13D8_E1FD8[] = { 0x80, 0x8A, 0x80, 0x76, 0x80, 0x70, 0x80, 0x5C, 0x80, 0x62, + 0x80, 0x46, 0x80, 0x4A, 0x80, 0x57, 0x00, 0x00, 0x00, 0x00 }; + +char D_800E13EC_E1FEC[] = { 0x80, 0x91, 0x80, 0x92, 0x80, 0x5B, 0x80, 0x3B, 0x00, 0x00, 0x00, 0x00 }; +char D_800E13F8_E1FF8[] = { 0x80, 0x8B, 0x80, 0x4F, 0x80, 0x82, 0x80, 0x4D, 0x80, 0x3B, 0x00, 0x00 }; + +char D_800E1404_E2004[] = { 0x80, 0x57, 0x80, 0x76, 0x80, 0x4F, 0x80, 0x60, 0x00, 0x00, 0x00, 0x00 }; +char D_800E1410_E2010[] = { 0x80, 0x52, 0x80, 0x46, 0x80, 0x83, 0x80, 0x91, + 0x80, 0x4A, 0x80, 0x7E, 0x00, 0x00, 0x00, 0x00 }; + +char D_800E1420_E2020[] = { 0x80, 0x89, 0x80, 0x46, 0x80, 0x89, 0x80, 0x46, 0x80, 0x3B, 0x00, 0x00 }; + +char *D_800E142C_E202C[] = { D_800E13A4_E1FA4, D_800E13B0_E1FB0, D_800E13BC_E1FBC, D_800E13C8_E1FC8, D_800E13D8_E1FD8, + D_800E13EC_E1FEC, D_800E13F8_E1FF8, D_800E1404_E2004, D_800E1410_E2010, D_800E1420_E2020 }; +#endif + // Number of active colours used in the title screen cinematic. s32 gTitleCinematicTextColourCount = 0; @@ -438,7 +721,7 @@ MenuColour gTitleCinematicTextColours[] = { { 0, 0, 255, 255, 51 } // Blue }; -UNUSED u8 unused_800DFA10[] = { 0, 0, 15, 120 }; +UNUSED u8 unused_800DFA0C[] = { 0, 0, 15, 120 }; char *gOptionMenuStrings[] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL }; @@ -677,6 +960,19 @@ UNUSED s32 unused_800DFFD4 = -1; MenuElement gCautionMenuTextElements[14] = { { SCREEN_WIDTH_HALF + 1, 35, SCREEN_WIDTH_HALF + 1, 35, SCREEN_WIDTH_HALF + 1, 35, 0, 0, 0, 255, 128, ASSET_FONTS_BIGFONT, 12,0, { NULL }, { { 0, 0, 0, 0 } } }, { SCREEN_WIDTH_HALF, 32, SCREEN_WIDTH_HALF, 32, SCREEN_WIDTH_HALF, 32, 255, 255, 255, 0, 255, ASSET_FONTS_BIGFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, +#if REGION == REGION_JP + { SCREEN_WIDTH_HALF, 72, SCREEN_WIDTH_HALF, 68, SCREEN_WIDTH_HALF, 72, 160, 16, 128, 255, 255, ASSET_FONTS_SMALLFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, + { SCREEN_WIDTH_HALF, 86, SCREEN_WIDTH_HALF, 82, SCREEN_WIDTH_HALF, 86, 160, 16, 132, 255, 255, ASSET_FONTS_SMALLFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, + { SCREEN_WIDTH_HALF, 100, SCREEN_WIDTH_HALF, 96, SCREEN_WIDTH_HALF, 100, 160, 16, 136, 255, 255, ASSET_FONTS_SMALLFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, + { SCREEN_WIDTH_HALF, 114, SCREEN_WIDTH_HALF, 110, SCREEN_WIDTH_HALF, 114, 160, 16, 140, 255, 255, ASSET_FONTS_SMALLFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, + { SCREEN_WIDTH_HALF, 128, SCREEN_WIDTH_HALF, 124, SCREEN_WIDTH_HALF, 128, 160, 16, 144, 255, 255, ASSET_FONTS_SMALLFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, + { SCREEN_WIDTH_HALF, 142, SCREEN_WIDTH_HALF, 138, SCREEN_WIDTH_HALF, 142, 160, 16, 148, 255, 255, ASSET_FONTS_SMALLFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, + { SCREEN_WIDTH_HALF, 156, SCREEN_WIDTH_HALF, 152, SCREEN_WIDTH_HALF, 156, 160, 16, 152, 255, 255, ASSET_FONTS_SMALLFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, + { SCREEN_WIDTH_HALF, 156, SCREEN_WIDTH_HALF, 166, SCREEN_WIDTH_HALF, 156, 160, 16, 156, 255, 255, ASSET_FONTS_SMALLFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, + { SCREEN_WIDTH_HALF, 186, SCREEN_WIDTH_HALF, 180, SCREEN_WIDTH_HALF, 186, 160, 16, 160, 255, 255, ASSET_FONTS_SMALLFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, + { SCREEN_WIDTH_HALF, 200, SCREEN_WIDTH_HALF, 194, SCREEN_WIDTH_HALF, 200, 160, 16, 164, 255, 255, ASSET_FONTS_SMALLFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, + { SCREEN_WIDTH_HALF, 200, SCREEN_WIDTH_HALF, 208, SCREEN_WIDTH_HALF, 200, 160, 16, 168, 255, 255, ASSET_FONTS_SMALLFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, +#else { SCREEN_WIDTH_HALF, 72, SCREEN_WIDTH_HALF, 68, SCREEN_WIDTH_HALF, 72, 255, 255, 255, 0, 255, ASSET_FONTS_FUNFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, { SCREEN_WIDTH_HALF, 86, SCREEN_WIDTH_HALF, 82, SCREEN_WIDTH_HALF, 86, 255, 255, 255, 0, 255, ASSET_FONTS_FUNFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, { SCREEN_WIDTH_HALF, 100, SCREEN_WIDTH_HALF, 96, SCREEN_WIDTH_HALF, 100, 255, 255, 255, 0, 255, ASSET_FONTS_FUNFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, @@ -688,6 +984,7 @@ MenuElement gCautionMenuTextElements[14] = { { SCREEN_WIDTH_HALF, 186, SCREEN_WIDTH_HALF, 180, SCREEN_WIDTH_HALF, 186, 255, 255, 255, 0, 255, ASSET_FONTS_FUNFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, { SCREEN_WIDTH_HALF, 200, SCREEN_WIDTH_HALF, 194, SCREEN_WIDTH_HALF, 200, 255, 255, 255, 0, 255, ASSET_FONTS_FUNFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, { SCREEN_WIDTH_HALF, 200, SCREEN_WIDTH_HALF, 208, SCREEN_WIDTH_HALF, 200, 255, 255, 255, 0, 255, ASSET_FONTS_FUNFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, +#endif {NULL}, }; @@ -913,10 +1210,15 @@ s16 gTrackSelectObjectIndices[14] = { s16 gTrackSelectImageIndices[4] = { 0x04, 0x05, 0x06, -1 }; + s16 gTrackSelectPreviewObjectIndices[36] = { 0x0004, 0x0000, 0x0001, 0x0002, 0x0003, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x001E, 0x001F, 0x0020, 0x0021, 0x0022, 0x0023, 0x002C, 0x002D, +#if VERSION >= VERSION_79 + 0x002E, 0x002F, 0x0030, 0x0031, 0x0040, 0x0041, 0x0043, 0x0069, 0xFFFF }; +#else 0x002E, 0x002F, 0x0030, 0x0031, 0x0040, 0x0041, 0x0043, 0x005E, 0xFFFF }; +#endif s16 gTrackSelectPreviewImageIndices[8] = { 0x07, 0x00, 0x01, 0x02, 0x03, 0x0B, 0x0C, -1 }; @@ -1024,6 +1326,16 @@ s16 unused_800E0B18[74] = { 0x0140, 0x017C, 0x01B8, 0x01F4, 0x0230, 0x026C, 0x02 0x0006, 0xFFE4, 0x0018, 0x0050, 0x0008, 0x0000, 0x0078, 0x0000, 0x003C, 0x0000, 0x001E, 0x0000, 0x0384, 0x0000, 0x001E, 0x0000, 0x001E, 0x0000, 0x0384 }; +#if REGION == REGION_JP +char gFirstPlace[4] = "1st"; +char gSecondPlace[4] = "2nd"; +char gThirdPlace[4] = "3rd"; +char gFourthPlace[4] = "4th"; +char gFifthPlace[4] = "5th"; +char gSixthPlace[4] = "6th"; +char gSeventhPlace[4] = "7th"; +char gEighthPlace[4] = "8th"; +#else char gFirstPlace[4] = "1ST"; char gSecondPlace[4] = "2ND"; char gThirdPlace[4] = "3RD"; @@ -1032,6 +1344,7 @@ char gFifthPlace[4] = "5TH"; char gSixthPlace[4] = "6TH"; char gSeventhPlace[4] = "7TH"; char gEighthPlace[4] = "8TH"; +#endif char *gRacePlacementsArray[8] = { gFirstPlace, gSecondPlace, gThirdPlace, gFourthPlace, gFifthPlace, gSixthPlace, gSeventhPlace, gEighthPlace }; @@ -1066,10 +1379,18 @@ MenuElement gRecordTimesMenuElements[9] = { { 481, 174, 161, 174, -159, 174, 0, 0, 0, 255, 128, ASSET_FONTS_FUNFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, { 479, 172, 159, 172, -161, 172, 255, 255, 255, 0, 255, ASSET_FONTS_FUNFONT, 12, 0, { NULL }, { { 0, 0, 0, 0 } } }, { 368, 192, 48, 192, -272, 192, 255, 64, 64, 96, 255, ASSET_FONTS_FUNFONT, 8, 0, { NULL }, { { 0, 0, 0, 0 } } }, +#if REGION == REGION_JP + { 506, 189, 186, 189, -134, 189, 255, 192, 255, 0, 255, ASSET_FONTS_FUNFONT, 0, 1, { NULL }, { { 0, 0, 0, 0 } } }, +#else { 506, 187, 186, 187, -134, 187, 255, 192, 255, 0, 255, ASSET_FONTS_FUNFONT, 0, 1, { NULL }, { { 0, 0, 0, 0 } } }, +#endif { 578, 192, 258, 192, -62, 192, 255, 128, 255, 96, 255, ASSET_FONTS_FUNFONT, 12, 0, { &gCourseInitials }, { { 0, 0, 0, 0 } } }, { 368, 212, 48, 212, -272, 212, 255, 64, 64, 96, 255, ASSET_FONTS_FUNFONT, 8, 0, { NULL }, { { 0, 0, 0, 0 } } }, +#if REGION == REGION_JP + { 506, 209, 186, 209, -134, 209, 128, 255, 255, 0, 255, ASSET_FONTS_FUNFONT, 0, 1, { NULL }, { { 0, 0, 0, 0 } } }, +#else { 506, 207, 186, 207, -134, 207, 128, 255, 255, 0, 255, ASSET_FONTS_FUNFONT, 0, 1, { NULL }, { { 0, 0, 0, 0 } } }, +#endif { 578, 212, 258, 212, -62, 212, 255, 128, 255, 96, 255, ASSET_FONTS_FUNFONT, 12, 0, { &gFLapInitials }, { { 0, 0, 0, 0 } } }, {NULL} }; @@ -1089,7 +1410,11 @@ s32 D_800E0FAC = 0; s32 gIndexOfCurInputCharacter = 0; s16 gAdvTrackInitObjectIndices[18] = { 0x0004, 0x0000, 0x0001, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, +#if VERSION >= VERSION_79 + 0x001E, 0x001F, 0x0020, 0x0021, 0x0022, 0x0023, 0x0030, 0x0069, -1 }; +#else 0x001E, 0x001F, 0x0020, 0x0021, 0x0022, 0x0023, 0x0030, 0x005E, -1 }; +#endif s16 gAdvTrackInitImageIndices[6] = { 7, 0, 1, 2, 3, -1 }; @@ -1139,7 +1464,22 @@ MenuElement gTrophyRankingsRacers[] = { { 286, 434, 286, 194, 286, -46, 255, 64, 255, 0, 255, ASSET_FONTS_FUNFONT, 4, 2, { &gTrophyRacePointsArray[7] }, { { 0, 0, 0, 0 } } }, {NULL} }; -s16 gTrophyRankingsRawIconPositions[138] = { + +#if REGION == REGION_JP +s16 gTrophyRankingsRawIconPositions[] = { + 0x0048, 0x0020, 0x008A, 0x0048, 0x0020, 0x008A, 0x0048, 0x0020, 0x008A, 0x0048, 0x0020, 0x008A, 0x00DC, 0x00B4, + 0x011E, 0x00DC, 0x00B4, 0x011E, 0x00DC, 0x00B4, 0x011E, 0x00DC, 0x00B4, 0x011E, 0x0030, 0x0030, 0x0044, 0x005A, + 0x005A, 0x006E, 0x0084, 0x0084, 0x0098, 0x00AE, 0x00AE, 0x00C2, 0x0030, 0x0030, 0x0044, 0x005A, 0x005A, 0x006E, + 0x0084, 0x0084, 0x0098, 0x00AE, 0x00AE, 0x00C2, 0x0038, 0x0038, 0x0040, 0x006A, 0x006A, 0x0072, 0x009C, 0x009C, + 0x00A4, 0x00CE, 0x00CE, 0x00D6, 0x0038, 0x0038, 0x0040, 0x006A, 0x006A, 0x0072, 0x009C, 0x009C, 0x00A4, 0x00CE, + 0x00CE, 0x00D6, 0x0048, 0x0020, 0x0082, 0x0048, 0x0020, 0x0082, 0x0048, 0x0020, 0x0082, 0x00DC, 0x00B4, 0x011E, + 0x00DC, 0x00B4, 0x011E, 0x00DC, 0x00B4, 0x011E, 0x0034, 0x0034, 0x0048, 0x006F, 0x006F, 0x0083, 0x00AA, 0x00AA, + 0x00BE, 0x0034, 0x0034, 0x0048, 0x006F, 0x006F, 0x0083, 0x00AA, 0x00AA, 0x00BE, 0x004C, 0x004C, 0x0054, 0x007E, + 0x007E, 0x0086, 0x00B0, 0x00B0, 0x00B8, 0x004C, 0x004C, 0x0054, 0x007E, 0x007E, 0x0086, 0x00B0, 0x00B0, 0x00B8, + 0x0090, 0x0068, 0x00D2, 0x0090, 0x0068, 0x00D2, 0x0090, 0x0068, 0x00D2, 0x0090, 0x0068, 0x00D2 +}; +#else +s16 gTrophyRankingsRawIconPositions[] = { 0x0040, 0x0020, 0x0082, 0x0040, 0x0020, 0x0082, 0x0040, 0x0020, 0x0082, 0x0040, 0x0020, 0x0082, 0x00DC, 0x00BC, 0x011E, 0x00DC, 0x00BC, 0x011E, 0x00DC, 0x00BC, 0x011E, 0x00DC, 0x00BC, 0x011E, 0x0030, 0x0030, 0x0044, 0x005A, 0x005A, 0x006E, 0x0084, 0x0084, 0x0098, 0x00AE, 0x00AE, 0x00C2, 0x0030, 0x0030, 0x0044, 0x005A, 0x005A, 0x006E, @@ -1151,6 +1491,7 @@ s16 gTrophyRankingsRawIconPositions[138] = { 0x007E, 0x0086, 0x00B0, 0x00B0, 0x00B8, 0x004C, 0x004C, 0x0054, 0x007E, 0x007E, 0x0086, 0x00B0, 0x00B0, 0x00B8, 0x008C, 0x006C, 0x00CE, 0x008C, 0x006C, 0x00CE, 0x008C, 0x006C, 0x00CE, 0x008C, 0x006C, 0x00CE }; +#endif s16 *gTrophyRankingsIconPositions[32] = { NULL, NULL, @@ -1397,7 +1738,13 @@ char *gCreditsArray[87] = { "Additional Design", "M.Wakeley", "Documentation", - "L.Loveday", "Liason", "E.Hochberg", + "L.Loveday", +#if VERSION >= VERSION_79 + "Liaison", +#else + "Liason", +#endif + "E.Hochberg", "Character Voices", "K.Bayliss", "J.Christensen", "E.Fischer", "K.Rabbette", "L.Ray", "L.Schuneman", "C.Seavor", "D.Smith", "J.Stamper", "K.Stamper", "C.Sutherland", @@ -1408,11 +1755,22 @@ char *gCreditsArray[87] = { "M.Fukuda", "K.Lobb", "M.Kelbaugh", "A.Williams", "R.Johnson", "M.Forrest", "P.Sandhop", "H.Sterchi", "T.Hertzog", "D.Bridgham", "G.Richardson", "B.Smith", "NOA Thanks To", - "NOA Tree House", "NOA Tree Branch", +#if REGION == REGION_JP + "Tree House", "Tree Branch", +#else + "NOA Tree House", "NOA Tree Branch", +#endif "NCL Thank You's", - "K.Terasaki", "M.Goto", "H.Yamada", "Mario Club", + "K.Terasaki", "M.Goto", "H.Yamada", +#if REGION == REGION_JP + "Y.Sakai", + "NCL Thank You's", + "Super", "Mario Club", +#else + "Mario Club", "NOE Thank You's", "J.Kraft", "J.Bardakoff", +#endif "Special Thanks To", "J.Hochberg", "H.Lincoln", "M.Arakawa", "Game Director", @@ -1437,13 +1795,29 @@ char *gCreditsBestTimesArray[20] = { /*** Future Fun Land ***/ "2:00:38", "2:05:68", "1:52:96", "1:55:00" }; -// clang-format on - +#if REGION == REGION_JP +char D_800E3544_E4144[] = "THE END?"; +char D_800E3550_E4150[] = { 0x80, 0xD8, 0x80, 0xF0, + 0x80, 0xCB, 0x80, 0xF2, + 0x80, 0xC1, 0x80, 0x75, + 0x00 }; +char D_800E3560_E4160[] = "THE END"; +char D_800E3568_E4168[] = { 0x80, 0x0F }; +char D_800E356C_E416C[] = { 0x80, 0x0F }; +char *gCreditsLastMessageArray[] = { + D_800E3544_E4144, D_800E3550_E4150, // Appears after beating the first wizpig race. + D_800E3560_E4160, // Appears after beating the second wizpig race. + D_800E3568_E4168, D_800E356C_E416C, // Appears if you use the "WHODIDTHIS" cheat. +}; +#else char *gCreditsLastMessageArray[5] = { "THE END?", "TO BE CONTINUED ...", // Appears after beating the first wizpig race. "THE END", // Appears after beating the second wizpig race. "NO CHEAT", "THIS TIME.", // Appears if you use the "WHODIDTHIS" cheat. }; +#endif + +// clang-format on // Cheats that are shown in the credits. s32 gCheatsInCreditsArray[21] = { CHEAT_BIG_CHARACTERS, @@ -1721,10 +2095,18 @@ void load_menu_text(s32 language) { sCorruptDataMenuText[langIndex] = menuText[ASSET_MENU_TEXT_CORRUPTDATA_1]; // "TRY AGAIN!" sInsertControllerPakMenuText[0] = menuText[ASSET_MENU_TEXT_INSERTDEVICE_3]; // "If you wish to use" sInsertControllerPakMenuText[1] = menuText[ASSET_MENU_TEXT_INSERTDEVICE_4]; // "the Controller Pak" +#if VERSION == VERSION_77 sInsertControllerPakMenuText[2] = menuText[ASSET_MENU_TEXT_INSERTDEVICE_6]; // "insert it now!" sInsertRumblePakMenuText[0] = menuText[ASSET_MENU_TEXT_INSERTDEVICE_3]; // "If you wish to use" sInsertRumblePakMenuText[1] = menuText[ASSET_MENU_TEXT_INSERTDEVICE_5]; // "the Rumble Pak" sInsertRumblePakMenuText[2] = menuText[ASSET_MENU_TEXT_INSERTDEVICE_6]; // "insert it now!" +#else + // TODO: Figure out what these text values are for these versions. + sInsertControllerPakMenuText[2] = menuText[161]; + sInsertRumblePakMenuText[0] = menuText[162]; + sInsertRumblePakMenuText[1] = menuText[186]; + sInsertRumblePakMenuText[2] = menuText[187]; +#endif gCautionMenuTextElements[0].t.asciiText = menuText[ASSET_MENU_TEXT_CAUTION]; // "CAUTION" gCautionMenuTextElements[1].t.asciiText = menuText[ASSET_MENU_TEXT_CAUTION]; // "CAUTION" @@ -1816,7 +2198,7 @@ void func_8007FFEC(s32 arg0) { gWoodPanelAllocCount = arg0; } #else -GLOBAL_ASM("asm/non_matchings/menu/func_8007FFEC.s") +#pragma GLOBAL_ASM("asm/nonmatchings/menu/func_8007FFEC.s") #endif /** @@ -2089,7 +2471,11 @@ void init_save_data(void) { gCheatsAssetData = (u16(*)[30]) get_misc_asset(ASSET_MISC_MAGIC_CODES); gNumberOfCheats = (*gCheatsAssetData)[0]; +#if VERSION >= VERSION_79 + gMenuText = mempool_alloc_safe(1280 * sizeof(char *), COLOUR_TAG_WHITE); +#else gMenuText = mempool_alloc_safe(1024 * sizeof(char *), COLOUR_TAG_WHITE); +#endif load_menu_text(LANGUAGE_ENGLISH); // clang-format off @@ -2639,6 +3025,28 @@ void draw_menu_elements(s32 state, MenuElement *elems, f32 scale) { sMenuGuiOpacity = 255; } +#if REGION == REGION_JP +void func_80082BC8_837C8(s32 dialogueBoxID, s32 xPos1, s32 yPos1, s32 xPos2, s32 yPos2, char *text, + AlignmentFlags alignment, s32 textColour, s32 alpha) { + s32 opacity; + opacity = textColour & 0xFF; + + if (dialogueBoxID < 0) { + set_text_colour(0, 0, 0, 255, opacity >> 1); + draw_text(&sMenuCurrDisplayList, xPos1 + xPos2, yPos1 + yPos2, text, alignment); + set_text_colour((textColour >> 24) & 0xFF, (textColour >> 16) & 0xFF, (textColour >> 8) & 0xFF, alpha, opacity); + draw_text(&sMenuCurrDisplayList, xPos1, yPos1, text, alignment); + } else { + set_current_text_colour(dialogueBoxID, 0, 0, 0, 255, opacity >> 1); + draw_dialogue_text_pos_unused(&sMenuCurrDisplayList, dialogueBoxID, xPos1 + xPos2, yPos1 + yPos2, text, + alignment); + set_current_text_colour(dialogueBoxID, (textColour >> 24) & 0xFF, (textColour >> 16) & 0xFF, + (textColour >> 8) & 0xFF, alpha, opacity); + draw_dialogue_text_pos_unused(&sMenuCurrDisplayList, dialogueBoxID, xPos1, yPos1, text, alignment); + } +} +#endif + /** * Set the current save data to use the furthest progress of all save files. */ @@ -2882,7 +3290,7 @@ void func_80083098(f32 updateRateF) { draw_text(&sMenuCurrDisplayList, xPos, yPos, text, ALIGN_MIDDLE_CENTER); } #else -GLOBAL_ASM("asm/non_matchings/menu/func_80083098.s") +#pragma GLOBAL_ASM("asm/nonmatchings/menu/func_80083098.s") #endif /** @@ -2919,7 +3327,9 @@ void menu_title_screen_init(void) { music_voicelimit_set(27); func_800660C0(); set_text_font(ASSET_FONTS_FUNFONT); +#if REGION != REGION_JP load_font(ASSET_FONTS_BIGFONT); +#endif sound_volume_reset(FALSE); set_time_trial_enabled(FALSE); gTitleDemoIndex = 0; @@ -3133,7 +3543,11 @@ s32 menu_title_screen_loop(s32 updateRate) { menu_init(MENU_CHARACTER_SELECT); return MENU_RESULT_CONTINUE; } +#if REGION == REGION_JP + gMenuCurIndex = 1; +#else gMenuCurIndex = 0; +#endif load_level_for_menu(ASSET_LEVEL_OPTIONSBACKGROUND, -1, 0); menu_init(MENU_OPTIONS); return MENU_RESULT_CONTINUE; @@ -3149,7 +3563,9 @@ void titlescreen_free(void) { menu_assetgroup_free(sGameTitleTileTextures); music_voicelimit_set(16); func_800660D0(); +#if REGION != REGION_JP unload_font(ASSET_FONTS_BIGFONT); +#endif sound_volume_reset(TRUE); } @@ -3161,7 +3577,9 @@ void menu_options_init(void) { gOptionBlinkTimer = 0; gMenuDelay = 0; transition_begin(&sMenuTransitionFadeOut); +#if REGION != REGION_JP load_font(ASSET_FONTS_BIGFONT); +#endif set_text_font(ASSET_FONTS_BIGFONT); music_voicelimit_set(24); music_play(SEQUENCE_MAIN_MENU); @@ -3185,8 +3603,13 @@ void optionscreen_render(UNUSED s32 updateRate) { draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 32, gMenuText[ASSET_MENU_TEXT_OPTIONS], ALIGN_MIDDLE_CENTER); // OPTIONS +#if REGION == REGION_JP + optionMenuTextIndex = 1; + yPos = 88; +#else optionMenuTextIndex = 0; yPos = 76; +#endif set_text_font(ASSET_FONTS_FUNFONT); @@ -3217,7 +3640,10 @@ s32 menu_options_loop(s32 updateRate) { UNUSED s32 pad0; s32 analogueX; s32 analogueY; - UNUSED s32 pad1[4]; + UNUSED s32 pad1; +#if REGION == REGION_JP + UNUSED s32 langVal; +#endif gOptionBlinkTimer = (gOptionBlinkTimer + updateRate) & 0x3F; if (gMenuDelay != 0) { @@ -3235,13 +3661,10 @@ s32 menu_options_loop(s32 updateRate) { analogueX = 0; analogueY = 0; if (gIgnorePlayerInputTime == 0 && gMenuDelay == 0) { - s8 *xAxisPtr; - s8 *yAxisPtr; - for (i = 0, xAxisPtr = gControllersXAxisDirection, yAxisPtr = gControllersYAxisDirection; i < MAXCONTROLLERS; - i++) { + for (i = 0; i < MAXCONTROLLERS; i++) { buttonsPressed |= get_buttons_pressed_from_player(i); - analogueX += *(xAxisPtr++); - analogueY += *(yAxisPtr++); + analogueX += gControllersXAxisDirection[i]; + analogueY += gControllersYAxisDirection[i]; } } if ((buttonsPressed & B_BUTTON) || ((buttonsPressed & (A_BUTTON | START_BUTTON)) && gMenuCurIndex == 5)) { @@ -3254,9 +3677,29 @@ s32 menu_options_loop(s32 updateRate) { // Go to a sub-menu gMenuDelay = 31; sound_play(SOUND_SELECT2, NULL); - +#if REGION != REGION_JP } else if (gMenuCurIndex == 0 && analogueX != 0) { - switch ((u64) get_language()) { + s32 langVal = get_language(); +#if REGION == REGION_PAL + if (analogueX < 0) { + if ((u64) langVal == LANGUAGE_ENGLISH) { + set_language(LANGUAGE_GERMAN); + } else if ((u64) langVal == LANGUAGE_FRENCH) { + set_language(LANGUAGE_ENGLISH); + } else { + set_language(LANGUAGE_FRENCH); + } + } else { + if ((u64) langVal == LANGUAGE_ENGLISH) { + set_language(LANGUAGE_FRENCH); + } else if ((u64) langVal == LANGUAGE_FRENCH) { + set_language(LANGUAGE_GERMAN); + } else { + set_language(LANGUAGE_ENGLISH); + } + } +#else + switch ((u64) langVal) { case LANGUAGE_ENGLISH: set_language(LANGUAGE_FRENCH); break; @@ -3264,7 +3707,9 @@ s32 menu_options_loop(s32 updateRate) { set_language(LANGUAGE_ENGLISH); break; } +#endif sound_play(SOUND_MENU_PICK2, NULL); +#endif } else if (gMenuCurIndex == 1 && analogueX != 0) { if (sEepromSettings & 0x2000000) { // 0x2000000 SUBTITLES ENABLED? @@ -3288,9 +3733,15 @@ s32 menu_options_loop(s32 updateRate) { } if (analogueY > 0) { gMenuCurIndex--; +#if REGION == REGION_JP + if (gMenuCurIndex <= 0) { + gMenuCurIndex = 1; + } +#else if (gMenuCurIndex < 0) { gMenuCurIndex = 0; } +#endif } if (prevOption != gMenuCurIndex) { sound_play(SOUND_MENU_PICK2, NULL); @@ -3327,7 +3778,9 @@ s32 menu_options_loop(s32 updateRate) { * Unloads all assets associated with the options menu. */ void optionscreen_free(void) { +#if REGION != REGION_JP unload_font(ASSET_FONTS_BIGFONT); +#endif } /** @@ -3358,7 +3811,9 @@ void menu_audio_options_init(void) { gAudioMenuStrings[3].y = 192; gMenuStage = 4; } +#if REGION != REGION_JP load_font(ASSET_FONTS_BIGFONT); +#endif } // Probably soundoption_render @@ -3370,6 +3825,7 @@ void func_80084854(UNUSED s32 updateRate) { temp = gMusicTestSongIndex; +#if REGION != REGION_JP for (i = 0; (gMusicTestString[i] < '0') || (gMusicTestString[i] > '9'); i++) {} j = temp / 10; @@ -3377,6 +3833,14 @@ void func_80084854(UNUSED s32 updateRate) { temp -= (j * 10); i++; gMusicTestString[i] = '0' + temp; +#else + for (i = 1; (gMusicTestString[i] < 0x10) || (gMusicTestString[i] > 0x19); i++) {} + + j = temp / 10; + gMusicTestString[i] = 0x10 + j; + temp -= (j * 10); + gMusicTestString[i + 2] = 0x10 + temp; +#endif temp = gOptionBlinkTimer * 8; if (temp >= 256) { @@ -3596,7 +4060,9 @@ void soundoptions_free(void) { music_change_off(); } menu_assetgroup_free(gOptionMenuTextures); +#if REGION != REGION_JP unload_font(ASSET_FONTS_BIGFONT); +#endif } /** @@ -3625,7 +4091,9 @@ void menu_save_options_init(void) { menu_assetgroup_load(gSaveMenuObjectIndices); menu_imagegroup_load(gSaveMenuImageIndices); func_8007FFEC(10); +#if REGION != REGION_JP load_font(ASSET_FONTS_BIGFONT); +#endif gDrawTexN64Icon[0].texture = gMenuAssets[TEXTURE_ICON_SAVE_N64]; gDrawTexTTIcon[0].texture = gMenuAssets[TEXTURE_ICON_SAVE_TT]; gDrawTexGhostIcon[0].texture = gMenuAssets[TEXTURE_ICON_SAVE_GHOSTS]; @@ -3635,6 +4103,12 @@ void menu_save_options_init(void) { menu_init_arrow_textures(); mark_read_all_save_files(); transition_begin(&sMenuTransitionFadeOut); +#if REGION == REGION_JP + func_800C663C_C723C(); +#endif +#if VERSION >= VERSION_79 + rumble_enable(FALSE); +#endif } /** @@ -3642,6 +4116,7 @@ void menu_save_options_init(void) { * This has the file name, and then a background and icon based on kind of file it is. * DKR save files will display the balloon count and adventure type. */ +#if REGION != REGION_JP void savemenu_render_element(SaveFileData *file, s32 x, s32 y) { s32 i; s32 firstDigit; @@ -3704,11 +4179,33 @@ void savemenu_render_element(SaveFileData *file, s32 x, s32 y) { } break; case SAVE_FILE_TYPE_CPAK_TIMES: +#if REGION == REGION_JP + drawTexture = gDrawTexTTIcon; + text2 = gMenuText[ASSET_MENU_TEXT_TIMES]; + texture = gMenuAssets[TEXTURE_UNK_44]; + colour = gContPakSaveBgColours[file->controllerIndex]; + for (i = 0; (text2[i] & 0xFF) != 0; i++) { + firstDigit = text2[ASSET_MENU_TEXT_TIMES + i]; + buffer[i] = firstDigit; + } + for (i = 0; file->saveFileExt[i] != 0 && file->saveFileExt[i] != 0x2E; i++) {} + buffer[i] = '.'; + if (file->saveFileExt[i] != '\n') { + buffer[i - 1] = file->saveFileExt[i + 1]; + } else { + buffer[i] = 'A'; + } + buffer[i + 1] = '\n'; + text2 = buffer; + text = gMenuText[ASSET_MENU_TEXT_CONTPAK1 + file->controllerIndex]; + firstDigit = i; +#else drawTexture = gDrawTexTTIcon; texture = gMenuAssets[TEXTURE_UNK_44]; colour = gContPakSaveBgColours[file->controllerIndex]; text2 = file->saveFileExt; text = gMenuText[ASSET_MENU_TEXT_CONTPAK1 + file->controllerIndex]; +#endif break; case SAVE_FILE_TYPE_CPAK_GHOST: drawTexture = gDrawTexGhostIcon; @@ -3753,7 +4250,26 @@ void savemenu_render_element(SaveFileData *file, s32 x, s32 y) { text = NULL; break; } - func_80080580(&sMenuCurrDisplayList, x - 160, 120 - y, 160, 64, 4, 4, colour, texture); +#if VERSION == VERSION_79 +#define SAVE_MENU_TEXT_FONT ASSET_FONTS_SUBTITLEFONT +#define SAVE_MENU_TEXT_WIDTH 208 +#define SAVE_MENU_SPRITE_OFFSET 8 +#define SAVE_MENU_TEXT_OFFSET_1 24 +#define SAVE_MENU_TEXT_OFFSET_2 25 +#elif VERSION == VERSION_80 +#define SAVE_MENU_TEXT_FONT ASSET_FONTS_SMALLFONT +#define SAVE_MENU_SPRITE_OFFSET 0 +#define SAVE_MENU_TEXT_WIDTH 160 +#define SAVE_MENU_TEXT_OFFSET_1 0 +#define SAVE_MENU_TEXT_OFFSET_2 1 +#else +#define SAVE_MENU_TEXT_FONT ASSET_FONTS_SMALLFONT +#define SAVE_MENU_SPRITE_OFFSET 0 +#define SAVE_MENU_TEXT_WIDTH 160 +#define SAVE_MENU_TEXT_OFFSET_1 0 +#define SAVE_MENU_TEXT_OFFSET_2 0 +#endif + func_80080580(&sMenuCurrDisplayList, x - 160, 120 - y, SAVE_MENU_TEXT_WIDTH, 64, 4, 4, colour, texture); if (osTvType == OS_TV_TYPE_PAL) { y += 12; } @@ -3769,35 +4285,39 @@ void savemenu_render_element(SaveFileData *file, s32 x, s32 y) { gMenuImages[2].y = offsetY - 49; gMenuImages[spriteID].y = offsetY - 24; sprite_opaque(0); - gMenuImages[2].x = x - 133; + gMenuImages[2].x = x - (133 - SAVE_MENU_SPRITE_OFFSET); gMenuImages[2].spriteOffset = firstDigit; menu_element_render(2); - gMenuImages[2].x = x - 125; + gMenuImages[2].x = x - (125 - SAVE_MENU_SPRITE_OFFSET); gMenuImages[2].spriteOffset = secondDigit; menu_element_render(2); sprite_opaque(1); - gMenuImages[spriteID].x = x - 128; + gMenuImages[spriteID].x = x - (128 - SAVE_MENU_SPRITE_OFFSET); menu_element_render(spriteID); sprite_anim_off(FALSE); } if (drawTexture != NULL) { - texrect_draw(&sMenuCurrDisplayList, drawTexture, x + 60, y + 6, 255, 255, 255, 255); + texrect_draw(&sMenuCurrDisplayList, drawTexture, x + (60 + SAVE_MENU_TEXT_OFFSET_1), y + 6, 255, 255, 255, 255); } if (text != NULL) { - set_text_font(0); + set_text_font(ASSET_FONTS_FUNFONT); set_text_colour(0, 0, 0, 255, 128); - draw_text(&sMenuCurrDisplayList, x + 81, y + 1, text, ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, x + (81 + SAVE_MENU_TEXT_OFFSET_1), y + 1, text, ALIGN_MIDDLE_CENTER); set_text_colour(255, 64, 255, 64, 255); - draw_text(&sMenuCurrDisplayList, x + 79, y - 1, text, ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, x + (79 + SAVE_MENU_TEXT_OFFSET_1), y - 1, text, ALIGN_MIDDLE_CENTER); } if (text2 != NULL) { - set_text_font(1); + set_text_font(SAVE_MENU_TEXT_FONT); set_text_colour(0, 0, 0, 255, 160); - draw_text(&sMenuCurrDisplayList, x + 80, y + 48, text2, ALIGN_TOP_CENTER); + draw_text(&sMenuCurrDisplayList, x + (80 + SAVE_MENU_TEXT_OFFSET_2), y + 48, text2, ALIGN_TOP_CENTER); set_text_colour(255, 255, 255, 255, 255); - draw_text(&sMenuCurrDisplayList, x + 79, y + 47, text2, ALIGN_TOP_CENTER); + draw_text(&sMenuCurrDisplayList, x + (79 + SAVE_MENU_TEXT_OFFSET_2), y + 47, text2, ALIGN_TOP_CENTER); } } +#else +// No match JPN savemenu_render_element +#pragma GLOBAL_ASM("asm/nonmatchings/menu/savemenu_render_element.s") +#endif /** * Render all of the save option elements onscreen. @@ -3854,7 +4374,7 @@ void savemenu_render(UNUSED s32 updateRate) { } set_ortho_matrix_view(&sMenuCurrDisplayList, &sMenuCurrHudMat); set_text_background_colour(0, 0, 0, 0); - set_text_font(2); + set_text_font(ASSET_FONTS_BIGFONT); set_text_colour(0, 0, 0, 255, 128); draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 35, gMenuText[ASSET_MENU_TEXT_SAVEOPTIONS], ALIGN_MIDDLE_CENTER); @@ -3871,21 +4391,31 @@ void savemenu_render(UNUSED s32 updateRate) { } } +#if REGION == REGION_JP +#define SAVEMENU_ELEMENT_SIZE 212 +#define SAVEMENU_OFFSET_X 56 +#define SAVEMENU_OFFSET_SCROLL 212.0f +#else +#define SAVEMENU_ELEMENT_SIZE 164 +#define SAVEMENU_OFFSET_X 80 +#define SAVEMENU_OFFSET_SCROLL 164.0f +#endif + if (drawUpperElements) { scroll = (s32) gSaveMenuScrollSource; temp = scroll; - offsetX = 80 - (s32) ((gSaveMenuScrollSource - scroll) * 164.0f); + offsetX = SAVEMENU_OFFSET_X - (s32) ((gSaveMenuScrollSource - scroll) * SAVEMENU_OFFSET_SCROLL); x = offsetX; while (x < videoWidth && temp < gSaveMenuOptionCountUpper) { savemenu_render_element(&gSaveMenuFilesSource[temp], x, 64); - x += 164; + x += SAVEMENU_ELEMENT_SIZE; temp++; } temp = scroll; x = offsetX; while ((x > 0) && (temp > 0)) { temp--; - x -= 164; + x -= SAVEMENU_ELEMENT_SIZE; savemenu_render_element(&gSaveMenuFilesSource[temp], x, 64); } } @@ -3893,23 +4423,23 @@ void savemenu_render(UNUSED s32 updateRate) { if (drawLowerElements) { scroll = (s32) gSaveMenuScrollDest; temp = scroll; - offsetX = 80 - (s32) ((gSaveMenuScrollDest - (f32) scroll) * 164.0f); + offsetX = SAVEMENU_OFFSET_X - (s32) ((gSaveMenuScrollDest - (f32) scroll) * SAVEMENU_OFFSET_SCROLL); x = offsetX; while (x < videoWidth && temp < gSaveMenuOptionCountLower) { savemenu_render_element(&gSaveMenuFilesDest[temp], x, 144); - x += 164; + x += SAVEMENU_ELEMENT_SIZE; temp++; } temp = scroll; x = offsetX; while (x > 0 && temp > 0) { temp--; - x -= 164; + x -= SAVEMENU_ELEMENT_SIZE; savemenu_render_element(&gSaveMenuFilesDest[temp], x, 144); } } - set_text_font(2); + set_text_font(ASSET_FONTS_BIGFONT); set_text_colour(255, 255, 255, 0, 255); if (drawOk) { draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 128, "OK?", ALIGN_MIDDLE_CENTER); @@ -4211,6 +4741,10 @@ SIDeviceStatus savemenu_write(void) { mark_to_write_flap_and_course_times(); unset_eeprom_settings_value( 0xFFFFF0); // Reset most eeprom save data, but keep Adventure 2, and Drumstick. +#if VERSION >= VERSION_79 + gActiveMagicCodes &= ~CHEAT_CONTROL_TT; + gUnlockedMagicCodes &= ~CHEAT_CONTROL_TT; +#endif } break; case SAVE_FILE_TYPE_CPAK_SAVE: @@ -4260,6 +4794,9 @@ SIDeviceStatus savemenu_write(void) { case SAVE_FILE_TYPE_CART_TIMES: ret = read_time_data_from_controller_pak( gSaveMenuFilesSource[gSaveMenuOptionSource].controllerIndex, fileExt, settings); +#if VERSION >= VERSION_79 + mark_to_write_flap_and_course_times(); +#endif break; case SAVE_FILE_TYPE_CPAK_EMPTY: ret = read_time_data_from_controller_pak( @@ -4338,8 +4875,13 @@ void savemenu_render_error(SIDeviceStatus deviceStatus) { gSaveMenuMessageOption = gSaveMenuMessageLines - 1; dialogue_clear(7); +#if REGION == REGION_JP + set_current_dialogue_box_coords(7, 28, SCREEN_HEIGHT_HALF - (((k * 16) + 44) >> 1), 292, + (((k * 16) + 44) >> 1) + SCREEN_HEIGHT_HALF + 3); +#else set_current_dialogue_box_coords(7, 40, SCREEN_HEIGHT_HALF - (((k * 16) + 44) >> 1), 280, (((k * 16) + 44) >> 1) + SCREEN_HEIGHT_HALF); +#endif set_current_dialogue_background_colour(7, 0, 0, 0, 160); set_current_text_background_colour(7, 0, 0, 0, 0); set_dialogue_font(7, 2); @@ -4680,12 +5222,20 @@ s32 menu_save_options_loop(s32 updateRate) { * Free the assets associated with the save options menu. */ void savemenu_free(void) { +#if REGION != REGION_JP unload_font(ASSET_FONTS_BIGFONT); +#endif menu_button_free(); menu_assetgroup_free(gSaveMenuObjectIndices); dialogue_clear(7); mempool_free((void *) gSaveMenuFilesSource); mempool_free((void *) D_80126A64); +#if REGION == REGION_JP + func_800C67F4_C73F4(); +#endif +#if VERSION >= VERSION_79 + rumble_enable(TRUE); +#endif } SIDeviceStatus func_80087F14(s32 *controllerIndex, s32 xAxisDirection) { @@ -4963,7 +5513,7 @@ void bootscreen_init_cpak(void) { s32 i; // Starting point - gBootPakData[0] = mempool_alloc_safe(SAVE_SIZE, COLOUR_TAG_WHITE); + gBootPakData[0] = mempool_alloc_safe(SAVE_SIZE_MENU, COLOUR_TAG_WHITE); // Fills in the table. for (i = 1; i < ARRAY_COUNT(gBootPakData); i++) { @@ -4997,7 +5547,14 @@ void bootscreen_init_cpak(void) { } else { sControllerPakMenuNumberOfRows = 7; } +#if REGION == REGION_JP + func_800C663C_C723C(); +#else load_font(ASSET_FONTS_BIGFONT); +#endif +#if VERSION >= VERSION_79 + rumble_enable(FALSE); +#endif } /** @@ -5006,6 +5563,7 @@ void bootscreen_init_cpak(void) { * Also draws the confirmation box. * Visual Aid : https://i.imgur.com/7T2Scdr.png */ +#if REGION != REGION_JP void pakmenu_render(UNUSED s32 updateRate) { s32 highlight; s32 i; @@ -5082,8 +5640,14 @@ void pakmenu_render(UNUSED s32 updateRate) { render_dialogue_text(6, 26, 2, noteText, gOpacityDecayTimer + i + 1, HORZ_ALIGN_CENTER); render_dialogue_text(6, 56, 2, fileNameText, 1, HORZ_ALIGN_LEFT); render_dialogue_text(6, 240, 2, pagesText, numberOfPages, HORZ_ALIGN_CENTER); +#if VERSION >= VERSION_79 + set_kerning(TRUE); +#endif render_dialogue_box(&sMenuCurrDisplayList, NULL, NULL, 6); yPos += 16; +#if VERSION >= VERSION_79 + set_kerning(FALSE); +#endif } if (gOpacityDecayTimer < (16 - sControllerPakMenuNumberOfRows)) { if ((gOptionBlinkTimer & 8) != 0) { @@ -5146,6 +5710,10 @@ void pakmenu_render(UNUSED s32 updateRate) { } } } +#else +// No match JPN pakmenu_render +#pragma GLOBAL_ASM("asm/nonmatchings/menu/pakmenu_render.s") +#endif /** * Handles the controller pak menu accessed from the boot screen. @@ -5318,9 +5886,16 @@ s32 menu_controller_pak_loop(s32 updateRate) { * Free all assets associated with the boot sequence controller pak menu. */ void pakmenu_free(void) { - menu_asset_free(63); + menu_asset_free(TEXTURE_ICON_ARROW_DOWN); mempool_free(gBootPakData[0]); +#if REGION == REGION_JP + func_800C67F4_C73F4(); +#else unload_font(ASSET_FONTS_BIGFONT); +#endif +#if VERSION >= VERSION_79 + rumble_enable(TRUE); +#endif } /** @@ -5339,10 +5914,18 @@ void menu_magic_codes_init(void) { gOpacityDecayTimer = 0; gMenuStage = CHEATMENU_CHOOSE; transition_begin(&sMenuTransitionFadeOut); +#if REGION == REGION_JP + set_current_dialogue_box_coords(7, 50, 50, 270, 134); +#else set_current_dialogue_box_coords(7, 50, 50, 270, 132); +#endif set_current_dialogue_background_colour(7, 0, 0, 0, 128); dialogue_clear(7); +#if REGION == REGION_JP + func_800C663C_C723C(); +#else load_font(ASSET_FONTS_BIGFONT); +#endif } /** @@ -5356,8 +5939,8 @@ void cheatmenu_render(UNUSED s32 updateRate) { s32 xPos, yPos; char displayChar[2]; s32 chr; - UNUSED s32 offsetY; UNUSED s32 pad1; + s32 offsetY; set_text_background_colour(0, 0, 0, 0); render_dialogue_box(&sMenuCurrDisplayList, NULL, NULL, 7); @@ -5369,11 +5952,19 @@ void cheatmenu_render(UNUSED s32 updateRate) { draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 32, gMenuText[ASSET_MENU_TEXT_MAGICCODES], ALIGN_MIDDLE_CENTER); // "MAGIC CODES" chr = 'A'; +#if REGION == REGION_JP + set_text_font(ASSET_FONTS_SMALLFONT); +#else set_text_font(ASSET_FONTS_FUNFONT); set_text_colour(255, 255, 255, 0, 255); +#endif // Draw the input table for (i = 0, yPos = 60; i < 4; i++, yPos += 22) { for (j = 0, xPos = 64; j < 7; j++, xPos += 32) { +#if REGION == REGION_JP + s32 addColourVal = 63; + set_text_colour((j << 5) + addColourVal, 255, (i << 6) + addColourVal, 255, 255); +#endif if (gOptionsMenuItemIndex == 5 && j == gCheatInputCurrentColumn && i == gCheatInputCurrentRow) { highlight = gOptionBlinkTimer * 8; if (highlight >= 256) { @@ -5381,14 +5972,22 @@ void cheatmenu_render(UNUSED s32 updateRate) { } highlight >>= 1; highlight += 128; +#if REGION == REGION_JP + set_text_colour(255, addColourVal, addColourVal, highlight, 255); +#else set_text_colour(128, 255, 192, highlight, 255); +#endif } if (chr <= 'Z') { displayChar[0] = chr; displayChar[1] = '\0'; draw_text(&sMenuCurrDisplayList, xPos, yPos, displayChar, ALIGN_MIDDLE_CENTER); // Draw the character } else if (j == 5) { +#if REGION == REGION_JP + draw_text(&sMenuCurrDisplayList, xPos, yPos, "BS", ALIGN_MIDDLE_CENTER); +#else draw_text(&sMenuCurrDisplayList, xPos, yPos, "DEL", ALIGN_MIDDLE_CENTER); +#endif } else { draw_text(&sMenuCurrDisplayList, xPos, yPos, "OK", ALIGN_MIDDLE_CENTER); } @@ -5432,8 +6031,13 @@ void cheatmenu_render(UNUSED s32 updateRate) { } else { // Draw cheat code name. cheatData = (*gCheatsAssetData) + 1; +#if REGION == REGION_JP + draw_text(&sMenuCurrDisplayList, POS_CENTRED, 144, + &((char *) (*gCheatsAssetData))[cheatData[gNewCheatID + 2]], ALIGN_MIDDLE_CENTER); +#else draw_text(&sMenuCurrDisplayList, POS_CENTRED, 144, &((char *) (*gCheatsAssetData))[cheatData[gNewCheatID + 1]], ALIGN_MIDDLE_CENTER); +#endif } } else if (5 == gOptionsMenuItemIndex) { draw_text(&sMenuCurrDisplayList, POS_CENTRED, 144, gCheatInput, ALIGN_MIDDLE_CENTER); @@ -5449,7 +6053,11 @@ void cheatmenu_render(UNUSED s32 updateRate) { } dialogue_clear(6); set_dialogue_font(6, ASSET_FONTS_FUNFONT); +#if REGION == REGION_JP + set_current_dialogue_box_coords(6, 44, offsetY - 28, 276, offsetY + 28); +#else set_current_dialogue_box_coords(6, 76, offsetY - 28, 244, offsetY + 28); +#endif set_current_dialogue_background_colour(6, 0, 0, 0, 160); offsetY = 4; for (i = 0; i < 3; i++) { @@ -5605,9 +6213,15 @@ s32 menu_magic_codes_loop(s32 updateRate) { } else { cheatDataEntries = &(*gCheatsAssetData)[1]; gNewCheatID = 0; // Index into the gCheatsAssetData cheatsTable +#if VERSION >= VERSION_79 + while (gNewCheatID < gNumberOfCheats && foundCheat == FALSE) { + foundCheat = TRUE; + cheatCodeText = ((char *) (*gCheatsAssetData)) + cheatDataEntries[gNewCheatID * 3]; +#else while (gNewCheatID < gNumberOfCheats * 2 && foundCheat == FALSE) { foundCheat = TRUE; cheatCodeText = ((char *) (*gCheatsAssetData)) + cheatDataEntries[gNewCheatID]; +#endif // gCheatInput = char *gPlayerEnteredCode; (Or something like that) i = -1; do { @@ -5616,21 +6230,33 @@ s32 menu_magic_codes_loop(s32 updateRate) { foundCheat = FALSE; } if (foundCheat == FALSE) { +#if VERSION == VERSION_77 do { - } while (0); // Fakematch + } while (0); // Fakematch only for v1 +#endif break; } } while (cheatCodeText[i] != '\0' && gCheatInput[i] != '\0'); if (foundCheat) { continue; } +#if VERSION >= VERSION_79 + gNewCheatID += 1; +#else gNewCheatID += 2; +#endif } if (foundCheat == FALSE) { gNewCheatID = -1; } else { +#if VERSION >= VERSION_79 + gUnlockedMagicCodes |= 1 << gNewCheatID; + gActiveMagicCodes |= 1 << gNewCheatID; + gNewCheatID *= 3; +#else gUnlockedMagicCodes |= 1 << (gNewCheatID >> 1); gActiveMagicCodes |= 1 << (gNewCheatID >> 1); +#endif } gOptionsMenuItemIndex = 4; gOpacityDecayTimer = 240; @@ -5737,7 +6363,11 @@ s32 menu_magic_codes_loop(s32 updateRate) { * Free all assets associated with the cheat code menu. */ void cheatmenu_free(void) { +#if REGION == REGION_JP + func_800C67F4_C73F4(); +#else unload_font(ASSET_FONTS_BIGFONT); +#endif } /** @@ -5749,7 +6379,11 @@ void menu_magic_codes_list_init(void) { gMenuDelay = 0; gMenuStage = 0; gOptionsMenuItemIndex = 0; +#if REGION == REGION_JP + func_800C663C_C723C(); +#else load_font(ASSET_FONTS_BIGFONT); +#endif menu_asset_load(63); menu_init_arrow_textures(); transition_begin(&sMenuTransitionFadeOut); @@ -5800,7 +6434,13 @@ void cheatlist_render(UNUSED s32 updateRate) { set_text_colour(255, 255, 255, alpha, 255); } draw_text(&sMenuCurrDisplayList, 48, yPos, - (char *) (*gCheatsAssetData) + cheatData[(gUnlockedCheatIDs[i] << 1) + 1], ALIGN_TOP_LEFT); +#if VERSION == VERSION_79 + (char *) (*gCheatsAssetData) + cheatData[(gUnlockedCheatIDs[i] * 3) + 2], ALIGN_TOP_LEFT); +#elif VERSION == VERSION_80 + (char *) (*gCheatsAssetData) + cheatData[(gUnlockedCheatIDs[i] * 3) + 1], ALIGN_TOP_LEFT); +#else + (char *) (*gCheatsAssetData) + cheatData[(gUnlockedCheatIDs[i] * 2) + 1], ALIGN_TOP_LEFT); +#endif if ((1 << gUnlockedCheatIDs[i]) & gActiveMagicCodes) { draw_text(&sMenuCurrDisplayList, 256, yPos, gMenuText[ASSET_MENU_TEXT_ON], ALIGN_TOP_LEFT); // ON } else { @@ -5963,8 +6603,12 @@ s32 menu_magic_codes_list_loop(s32 updateRate) { * Free the assets associated with the cheat code list. */ void cheatlist_free(void) { - menu_asset_free(63); + menu_asset_free(TEXTURE_ICON_ARROW_DOWN); +#if REGION == REGION_JP + func_800C67F4_C73F4(); +#else unload_font(ASSET_FONTS_BIGFONT); +#endif } /** @@ -6021,7 +6665,11 @@ s8 D_800E1E20[8] = { 0, -1, 1, 0, 0, 1, -1, 0 }; s8 gGameStatusVisible = FALSE; // TT Game Status textures, think these are potentially multi-part images. +#if VERSION >= VERSION_79 +s16 D_800E1E2C[10] = { 0x4C, 0x4D, 0x4E, 0x4F, 0x66, 0x67, 0x00, 0x42, -1, 0 }; +#else s16 D_800E1E2C[10] = { 0x4C, 0x4D, 0x4E, 0x4F, 0x5B, 0x5C, 0x00, 0x42, -1, 0 }; +#endif // TT game status textures. And these maybe just standalone ones. s16 D_800E1E40[10] = { 0x0D, 0x0E, 0x0F, 0x10, 0x08, 0x09, 0x00, 0x0A, -1, 0 }; @@ -6120,7 +6768,9 @@ void menu_character_select_init(void) { menu_assetgroup_load(gCharSelectObjectIndices); menu_imagegroup_load(gCharSelectImageIndices); transition_begin(&sMenuTransitionFadeOut); +#if REGION != REGION_JP load_font(ASSET_FONTS_BIGFONT); +#endif } /** @@ -6144,7 +6794,12 @@ void charselect_render_text(UNUSED s32 updateRate) { if (osTvType == OS_TV_TYPE_PAL) { yPos = 234; } +#if REGION == REGION_JP + func_80082BC8_837C8(-1, SCREEN_WIDTH_HALF, yPos, 1, 3, "OK?", ALIGN_MIDDLE_CENTER, + COLOUR_RGBA32(255, 255, 255, 255), 0); +#else draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, yPos, "OK?", ALIGN_MIDDLE_CENTER); +#endif } reset_render_settings(&sMenuCurrDisplayList); update_camera_fov(40.0f); @@ -6499,7 +7154,9 @@ void charselect_move(s32 playerID, s8 *direction, s32 bounds, u16 menuPickSoundI void charselect_free(void) { menu_assetgroup_free(gCharSelectObjectIndices); mempool_free_timer(0); +#if REGION != REGION_JP unload_font(ASSET_FONTS_BIGFONT); +#endif mempool_free_timer(2); gEnteredCharSelectFrom = 0; } @@ -6560,9 +7217,14 @@ void charselect_music_channels(s32 updateRate) { void menu_caution_init(void) { gIgnorePlayerInputTime = 60; gMenuDelay = 0; +#if REGION != REGION_JP load_font(ASSET_FONTS_BIGFONT); +#endif transition_begin(&sMenuTransitionFadeOut); gPlayerHasSeenCautionMenu = 1; +#if REGION == REGION_JP + func_800C663C_C723C(); +#endif } /** @@ -6595,7 +7257,11 @@ s32 menu_caution_loop(s32 updateRate) { * Unloads all assets associated with the caution screen. */ void caution_free(void) { +#if REGION == REGION_JP + func_800C67F4_C73F4(); +#else unload_font(ASSET_FONTS_BIGFONT); +#endif } /** @@ -6615,7 +7281,9 @@ void menu_game_select_init(void) { gOpacityDecayTimer = 1; menu_asset_load(67); func_8007FFEC(3); +#if REGION != REGION_JP load_font(ASSET_FONTS_BIGFONT); +#endif music_play(SEQUENCE_CHOOSE_YOUR_RACER); for (i = 0; i < NUM_CHARACTERS; i++) { @@ -6639,6 +7307,9 @@ void menu_game_select_init(void) { // Fakematch? What's the (i ^ 0)? gGameSelectElements[((i ^ 0) * 2) + 2].t.texture = gMenuAssets[TEXTURE_SURFACE_BUTTON_WOOD]; } +#if REGION == REGION_JP + func_800C663C_C723C(); +#endif } /** @@ -6779,9 +7450,14 @@ s32 menu_game_select_loop(s32 updateRate) { * Free the assets associated with the game select menu. */ void gameselect_free(void) { +#if REGION != REGION_JP unload_font(ASSET_FONTS_BIGFONT); +#endif menu_button_free(); - menu_asset_free(67); + menu_asset_free(TEXTURE_SURFACE_BUTTON_WOOD); +#if REGION == REGION_JP + func_800C67F4_C73F4(); +#endif } /** @@ -6807,7 +7483,9 @@ void menu_file_select_init(void) { gFileErase = FALSE; gFileNew = FALSE; transition_begin(&sMenuTransitionFadeOut); +#if REGION != REGION_JP load_font(ASSET_FONTS_BIGFONT); +#endif music_play(SEQUENCE_CHOOSE_YOUR_RACER); for (i = 0; i < NUM_CHARACTERS; i++) { if (i != gMenuSelectedCharacter.channelIndex) { @@ -6817,6 +7495,9 @@ void menu_file_select_init(void) { } music_channel_off(6); music_change_off(); +#if REGION == REGION_JP + func_800C663C_C723C(); +#endif } /** @@ -6955,10 +7636,22 @@ void fileselect_render(UNUSED s32 updateRate) { } set_text_font(ASSET_FONTS_BIGFONT); set_text_colour(0, 0, 0, 255, 128); +#if VERSION >= VERSION_79 + // Did the enum for ASSET_MENU_TEXT_GAMESELECT change? + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 19, gMenuText[ASSET_MENU_TEXT_GAMESELECT + 112], + ALIGN_TOP_CENTER); +#else draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 19, gMenuText[ASSET_MENU_TEXT_GAMESELECT], ALIGN_TOP_CENTER); +#endif set_text_colour(255, 255, 255, 0, 255); +#if VERSION >= VERSION_79 + // Did the enum for ASSET_MENU_TEXT_GAMESELECT change? + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 16, gMenuText[ASSET_MENU_TEXT_GAMESELECT + 112], + ALIGN_TOP_CENTER); +#else draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 16, gMenuText[ASSET_MENU_TEXT_GAMESELECT], ALIGN_TOP_CENTER); +#endif set_text_colour(255, 255, 255, 0, 255); yPos += 187; if (gFileCopy) { @@ -7408,7 +8101,11 @@ s32 menu_file_select_loop(s32 updateRate) { void fileselect_free(void) { menu_assetgroup_free(gFileSelectObjectIndices); menu_button_free(); +#if REGION == REGION_JP + func_800C67F4_C73F4(); +#else unload_font(ASSET_FONTS_BIGFONT); +#endif } /** @@ -7488,7 +8185,9 @@ void menu_track_select_init(void) { Settings *settings; s8 *trackIds; +#if REGION != REGION_JP load_font(ASSET_FONTS_BIGFONT); +#endif settings = get_settings(); get_number_of_levels_and_worlds(&levelCount, &worldCount); trackIds = (s8 *) get_misc_asset(ASSET_MISC_TRACKS_MENU_IDS); @@ -7639,6 +8338,9 @@ void menu_track_select_init(void) { set_gIntDisFlag(TRUE); gIsInAdventureTwo = gTracksMenuAdventureHighlightIndex; gMultiplayerSelectedNumberOfRacersCopy = gMultiplayerSelectedNumberOfRacers; +#if REGION == REGION_JP + func_800C663C_C723C(); +#endif } /** @@ -7698,7 +8400,12 @@ void trackmenu_assets(s32 type) { gRaceSelectionPlayer4Texture[0].texture = gMenuAssets[TEXTURE_ICON_PLAYER_4]; gRaceSelectionVehicleTitleTexture[0].texture = gMenuAssets[TEXTURE_ICON_VEHICLE_TITLE]; gRaceSelectionTTTitleTexture[0].texture = gMenuAssets[TEXTURE_ICON_TT_TITLE]; +#if VERSION >= VERSION_79 + // Did the TEXTURE_ICON_TT_HEAD enum value change? + gRaceSelectionTTTexture[0].texture = gMenuAssets[TEXTURE_UNK_69]; +#else gRaceSelectionTTTexture[0].texture = gMenuAssets[TEXTURE_ICON_TT_HEAD]; +#endif break; } } @@ -7810,12 +8517,17 @@ void menu_track_select_unload(void) { menu_asset_free(gTracksMenuBgTextureIndices[i + 1]); } } +#if REGION != REGION_JP unload_font(ASSET_FONTS_BIGFONT); +#endif menu_button_free(); music_change_on(); music_voicelimit_change_on(); music_stop(); set_gIntDisFlag(FALSE); +#if REGION == REGION_JP + func_800C67F4_C73F4(); +#endif } #ifdef NON_EQUIVALENT @@ -7923,7 +8635,7 @@ s32 func_8008F618(Gfx **dList, MatrixS **mtx) { return 0; } #else -GLOBAL_ASM("asm/non_matchings/menu/func_8008F618.s") +#pragma GLOBAL_ASM("asm/nonmatchings/menu/func_8008F618.s") #endif /** @@ -7975,6 +8687,10 @@ void trackmenu_render_2D(s32 x, s32 y, char *hubName, char *trackName, s32 rectO gTrackMenuHubName = hubName; set_kerning(0); } +#if REGION == REGION_JP + set_text_colour(0, 0, 0, 255, opacity / 2); + draw_text(&sMenuCurrDisplayList, xTemp + 1, sp6C + yTemp + 91, trackName, ALIGN_MIDDLE_CENTER); +#endif set_text_colour(255, 255, 255, 0, opacity); draw_text(&sMenuCurrDisplayList, xTemp, sp6C + yTemp + 88, trackName, ALIGN_MIDDLE_CENTER); if (rectOpacity > 0) { @@ -8153,7 +8869,7 @@ void func_8008FF1C(UNUSED s32 updateRate) { } } #else -GLOBAL_ASM("asm/non_matchings/menu/func_8008FF1C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/menu/func_8008FF1C.s") #endif /** @@ -8385,6 +9101,16 @@ void trackmenu_setup_render(UNUSED s32 updateRate) { sMenuGuiOpacity = 0; } availableVehicleFlags = get_map_available_vehicles(gTrackIdForPreview); +#if VERSION >= VERSION_79 + if (gNumberOfActivePlayers >= 2) { + if (gTrackIdForPreview == ASSET_LEVEL_SPACEPORTALPHA) { + availableVehicleFlags &= ~(1 << VEHICLE_HOVERCRAFT); + } + if (gTrackIdForPreview == ASSET_LEVEL_FROSTYVILLAGE) { + availableVehicleFlags &= ~(1 << VEHICLE_PLANE); + } + } +#endif i = (s32) get_level_name(gTrackIdForPreview); set_text_font(ASSET_FONTS_BIGFONT); set_text_colour(192, 192, 255, 0, sMenuGuiOpacity); @@ -8414,7 +9140,11 @@ void trackmenu_setup_render(UNUSED s32 updateRate) { menu_geometry_end(); set_text_font(ASSET_FONTS_FUNFONT); for (temp = 0, temp2 = 0, +#if REGION == REGION_JP + y = gTracksMenuAdventureButton.colourMax + gTracksMenuAdventureButton.y + regionOffset - 1; +#else y = gTracksMenuAdventureButton.colourMax + gTracksMenuAdventureButton.y + regionOffset + 1; +#endif temp2 < 2; temp2++, temp++, y += 16) { for (j = 0, i = y; j < 4; j += 2, i -= 2) { if (j == 0) { @@ -8435,17 +9165,32 @@ void trackmenu_setup_render(UNUSED s32 updateRate) { if (gTrackSelectCursorX < 4) { set_text_font(ASSET_FONTS_FUNFONT); set_text_colour(255, 64, 64, 96, sMenuGuiOpacity); +#if REGION == REGION_JP + draw_text(&sMenuCurrDisplayList, 51, 69 + regionOffset, gMenuText[ASSET_MENU_TEXT_BESTTIME], + ALIGN_MIDDLE_LEFT); // "BEST TIME" + draw_text(&sMenuCurrDisplayList, 51, 89 + regionOffset, gMenuText[ASSET_MENU_TEXT_BESTLAP], + ALIGN_MIDDLE_LEFT); // "BEST LAP" +#else draw_text(&sMenuCurrDisplayList, 56, 72 + regionOffset, gMenuText[ASSET_MENU_TEXT_BESTTIME], ALIGN_MIDDLE_LEFT); // "BEST TIME" draw_text(&sMenuCurrDisplayList, 56, 92 + regionOffset, gMenuText[ASSET_MENU_TEXT_BESTLAP], ALIGN_MIDDLE_LEFT); // "BEST LAP" +#endif set_text_colour(255, 128, 255, 96, sMenuGuiOpacity); filename_decompress(settings->courseInitialsPtr[gPlayerSelectVehicle[0]][gTrackIdForPreview], filename.buffer, 3); +#if REGION == REGION_JP + draw_text(&sMenuCurrDisplayList, 249, regionOffset + 70, filename.buffer, ALIGN_MIDDLE_CENTER); +#else draw_text(&sMenuCurrDisplayList, 250, regionOffset + 72, filename.buffer, ALIGN_MIDDLE_CENTER); +#endif filename_decompress(settings->flapInitialsPtr[gPlayerSelectVehicle[0]][gTrackIdForPreview], filename.buffer, 3); +#if REGION == REGION_JP + draw_text(&sMenuCurrDisplayList, 249, regionOffset + 89, filename.buffer, ALIGN_MIDDLE_CENTER); +#else draw_text(&sMenuCurrDisplayList, 250, regionOffset + 92, filename.buffer, ALIGN_MIDDLE_CENTER); +#endif menu_timestamp_render(settings->courseTimesPtr[gPlayerSelectVehicle[PLAYER_ONE]][gTrackIdForPreview], 22, 53, 128, 255, 255, FONT_COLOURFUL); menu_timestamp_render(settings->flapTimesPtr[gPlayerSelectVehicle[PLAYER_ONE]][gTrackIdForPreview], 22, 33, @@ -8616,11 +9361,19 @@ void trackmenu_setup_render(UNUSED s32 updateRate) { } gMenuImages[k].y = 42.0f; if ((settings->courseFlagsPtr[gTrackIdForPreview] & 2) || (is_adventure_two_unlocked())) { +#if VERSION >= VERSION_79 + gMenuImages[k].x = (f32) ((gIsInAdventureTwo * 2) - 128); +#else gMenuImages[k].x = -128.0f; +#endif menu_element_render(k); } if ((settings->courseFlagsPtr[gTrackIdForPreview] & 4) || (is_adventure_two_unlocked())) { +#if VERSION >= VERSION_79 + gMenuImages[k].x = (f32) ((gIsInAdventureTwo * 2) + 120); +#else gMenuImages[k].x = 120.0f; +#endif menu_element_render(k); } sprite_opaque(TRUE); @@ -8639,7 +9392,12 @@ void trackmenu_setup_render(UNUSED s32 updateRate) { if (gTrackSelectCursorX >= 4) { regionOffset += 24; } +#if REGION == REGION_JP + func_80082BC8_837C8(-1, SCREEN_WIDTH_HALF, regionOffset + 172, 1, 3, "OK?", ALIGN_MIDDLE_CENTER, + COLOUR_RGBA32(255, 255, 255, 255), 0); +#else draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, regionOffset + 172, "OK?", ALIGN_MIDDLE_CENTER); +#endif } } sMenuGuiOpacity = 255; @@ -8712,6 +9470,16 @@ void func_80092188(s32 updateRate) { camEnableUserView(0, TRUE); if (menuDelay == 0) { availableVehicles = get_map_available_vehicles(gTrackIdForPreview); +#if VERSION >= VERSION_79 + if (gNumberOfActivePlayers >= 2) { + if (gTrackIdForPreview == ASSET_LEVEL_SPACEPORTALPHA) { + availableVehicles &= ~(1 << VEHICLE_HOVERCRAFT); + } + if (gTrackIdForPreview == ASSET_LEVEL_FROSTYVILLAGE) { + availableVehicles &= ~(1 << VEHICLE_PLANE); + } + } +#endif menuBackedOut = FALSE; menuSelected = FALSE; menuChanged = FALSE; @@ -8988,13 +9756,22 @@ void menu_adventure_track_init(void) { gRaceSelectionPlaneOptHighlight[0].texture = gMenuAssets[TEXTURE_ICON_VEHICLE_SELECT_PLANE_HIGHLIGHT]; gRaceSelectionPlaneOpt[0].texture = gMenuAssets[TEXTURE_ICON_VEHICLE_SELECT_PLANE]; gRaceSelectionVehicleTitleTexture[0].texture = gMenuAssets[TEXTURE_ICON_VEHICLE_TITLE]; +#if VERSION >= VERSION_79 + // Did the TEXTURE_ICON_TT_HEAD enum value change? + gRaceSelectionTTTexture[0].texture = gMenuAssets[TEXTURE_UNK_69]; +#else gRaceSelectionTTTexture[0].texture = gMenuAssets[TEXTURE_ICON_TT_HEAD]; +#endif transition_begin(&sMenuTransitionFadeOut); gOptionBlinkTimer = 0; gMenuDelay = 0; gTrackNameVoiceDelay = 30; +#if REGION == REGION_JP + func_800C663C_C723C(); +#else load_font(ASSET_FONTS_BIGFONT); +#endif load_level_for_menu(mapId, -1, 1); } dialogue_clear(7); @@ -9047,29 +9824,53 @@ void adventuretrack_render(UNUSED s32 updateRate, s32 arg1, s32 arg2) { texrect_draw(&sMenuCurrDisplayList, gRaceSelectionTTTexture, SCREEN_HEIGHT - 36, yOffset + 122, 255, 255, 255, sMenuGuiOpacity); } - set_text_font(0); + set_text_font(ASSET_FONTS_FUNFONT); set_text_colour(255, 64, 64, 96, 255); - draw_text(&sMenuCurrDisplayList, 88, yOffset + 72, gMenuText[ASSET_MENU_TEXT_BESTTIME], - ALIGN_MIDDLE_CENTER); - draw_text(&sMenuCurrDisplayList, 88, yOffset + 92, gMenuText[ASSET_MENU_TEXT_BESTLAP], - ALIGN_MIDDLE_CENTER); +#if VERSION == VERSION_80 +#define ADVENTURETRACK_XPOS1 56 +#define ADVENTURETRACK_XPOS2 250 +#define ADVENTURETRACK_YPOS1 72 +#define ADVENTURETRACK_YPOS2 92 +#define ADVENTURETRACK_YPOS3 72 +#define ADVENTURETRACK_RED 22 +#define ADVENTURETRACK_ALIGN ALIGN_MIDDLE_LEFT +#define ADVENTURETRACK_MAPID mapID +#elif VERSION == VERSION_79 +#define ADVENTURETRACK_XPOS1 51 +#define ADVENTURETRACK_XPOS2 249 +#define ADVENTURETRACK_YPOS1 69 +#define ADVENTURETRACK_YPOS2 89 +#define ADVENTURETRACK_YPOS3 70 +#define ADVENTURETRACK_RED 22 +#define ADVENTURETRACK_ALIGN ALIGN_MIDDLE_LEFT +#define ADVENTURETRACK_MAPID mapID +#else +#define ADVENTURETRACK_XPOS1 88 +#define ADVENTURETRACK_XPOS2 258 +#define ADVENTURETRACK_YPOS1 72 +#define ADVENTURETRACK_YPOS2 92 +#define ADVENTURETRACK_YPOS3 72 +#define ADVENTURETRACK_RED 26 +#define ADVENTURETRACK_ALIGN ALIGN_MIDDLE_CENTER +#define ADVENTURETRACK_MAPID ((Settings4C *) ((u8 *) settings->unk4C + gTrackIdForPreview))->mapID +#endif + draw_text(&sMenuCurrDisplayList, ADVENTURETRACK_XPOS1, yOffset + ADVENTURETRACK_YPOS1, + gMenuText[ASSET_MENU_TEXT_BESTTIME], ADVENTURETRACK_ALIGN); + draw_text(&sMenuCurrDisplayList, ADVENTURETRACK_XPOS1, yOffset + ADVENTURETRACK_YPOS2, + gMenuText[ASSET_MENU_TEXT_BESTLAP], ADVENTURETRACK_ALIGN); set_text_colour(255, 128, 255, 96, 255); filename_decompress(settings->courseInitialsPtr[gPlayerSelectVehicle[0]][mapID], (char *) &filename, 3); - draw_text(&sMenuCurrDisplayList, 258, yOffset + 72, (char *) &filename, ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, ADVENTURETRACK_XPOS2, yOffset + ADVENTURETRACK_YPOS3, + (char *) &filename, ALIGN_MIDDLE_CENTER); filename_decompress(settings->flapInitialsPtr[gPlayerSelectVehicle[0]][mapID], (char *) &filename, 3); - draw_text(&sMenuCurrDisplayList, 258, yOffset + 92, (char *) &filename, ALIGN_MIDDLE_CENTER); - menu_timestamp_render( - settings - ->courseTimesPtr[gPlayerSelectVehicle[0]] - [((Settings4C *) ((u8 *) settings->unk4C + gTrackIdForPreview))->mapID], - 26, 53, 128, 255, 255, 0); - menu_timestamp_render( - settings - ->flapTimesPtr[gPlayerSelectVehicle[0]] - [((Settings4C *) ((u8 *) settings->unk4C + gTrackIdForPreview))->mapID], - 26, 33, 255, 192, 255, 0); + draw_text(&sMenuCurrDisplayList, ADVENTURETRACK_XPOS2, yOffset + ADVENTURETRACK_YPOS2, + (char *) &filename, ALIGN_MIDDLE_CENTER); + menu_timestamp_render(settings->courseTimesPtr[gPlayerSelectVehicle[0]][ADVENTURETRACK_MAPID], + ADVENTURETRACK_RED, 53, 128, 255, 255, 0); + menu_timestamp_render(settings->flapTimesPtr[gPlayerSelectVehicle[0]][ADVENTURETRACK_MAPID], + ADVENTURETRACK_RED, 33, 255, 192, 255, 0); } greenAmount = gOptionBlinkTimer * 8; if (greenAmount > 255) { @@ -9084,7 +9885,7 @@ void adventuretrack_render(UNUSED s32 updateRate, s32 arg1, s32 arg2) { y = yOffset + 139; savedY = y; - for (i = 0; i < 3; i++) { + for (i = 0; i <= VEHICLE_PLANE; i++) { alpha = (arg1 < 2 && get_map_default_vehicle(mapID) != (Vehicle) i) ? 128 : 255; if ((1 << i) & mask) { if (i == gPlayerSelectVehicle[0]) { @@ -9109,9 +9910,16 @@ void adventuretrack_render(UNUSED s32 updateRate, s32 arg1, s32 arg2) { menu_element_render(7); if (gMenuStage != ADVENTURESETUP_VEHICLE) { set_text_font(FONT_LARGE); +#if VERSION == VERSION_77 set_text_background_colour(0, 0, 0, 0); +#endif set_text_colour(255, 255, 255, 0, 255); +#if REGION == REGION_JP + func_80082BC8_837C8(-1, SCREEN_WIDTH_HALF, yOffset + 172, 1, 3, "OK?", ALIGN_MIDDLE_CENTER, + COLOUR_RGBA32(255, 255, 255, 255), 0); +#else draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, yOffset + 172, "OK?", ALIGN_MIDDLE_CENTER); +#endif } } else { set_text_font(FONT_LARGE); @@ -9119,13 +9927,24 @@ void adventuretrack_render(UNUSED s32 updateRate, s32 arg1, s32 arg2) { set_text_colour(255, 255, 255, 0, 255); y = yOffset + 176; if (get_language() == LANGUAGE_FRENCH) { - draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, y, gMenuText[13], ALIGN_MIDDLE_CENTER); +#if VERSION >= VERSION_79 + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, y, gMenuText[191], ALIGN_MIDDLE_CENTER); +#else + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, y, gMenuText[ASSET_MENU_TEXT_CHALLENGE], + ALIGN_MIDDLE_CENTER); +#endif y += 32; } - draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, y, gMenuText[11], ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, y, gMenuText[ASSET_MENU_TEXT_SILVERCOIN], + ALIGN_MIDDLE_CENTER); y += 32; if (get_language() != LANGUAGE_FRENCH) { - draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, y, gMenuText[13], ALIGN_MIDDLE_CENTER); +#if VERSION >= VERSION_79 + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, y, gMenuText[191], ALIGN_MIDDLE_CENTER); +#else + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, y, gMenuText[ASSET_MENU_TEXT_CHALLENGE], + ALIGN_MIDDLE_CENTER); +#endif } } } @@ -9252,7 +10071,11 @@ s32 menu_adventure_track_loop(s32 updateRate) { */ void adventuretrack_free(void) { menu_assetgroup_free((s16 *) &gAdvTrackInitObjectIndices); +#if REGION == REGION_JP + func_800C67F4_C73F4(); +#else unload_font(ASSET_FONTS_BIGFONT); +#endif music_change_on(); } @@ -9336,6 +10159,11 @@ void pausemenu_render(UNUSED s32 updateRate) { x = textWidth; } } +#if REGION == REGION_JP + if (gMenuSubOption != 0 && gTrophyRaceWorldId != 0 && x < 232) { + x = 232; + } +#endif temp = (gMenuOptionCap * 16) + 28; if (osTvType == OS_TV_TYPE_PAL) { y = SCREEN_HEIGHT_HALF_PAL; @@ -10326,7 +11154,9 @@ void menu_results_init(void) { menu_assetgroup_load(gRaceResultsObjectIndices); menu_imagegroup_load(gRaceResultsImageIndices); menu_racer_portraits(); +#if REGION != REGION_JP load_font(ASSET_FONTS_BIGFONT); +#endif transition_begin(&sMenuTransitionFadeOut); music_voicelimit_set(24); music_play(SEQUENCE_MAIN_MENU); @@ -10337,6 +11167,8 @@ void menu_results_init(void) { * Draw the portraits of the four player onscreen, then draw the scoreboard below. * After, draw the text options at the bottom. */ +#if REGION != REGION_JP +// NON_EQUIVALENT IN JP - Too lazy to fix it right now, there's so many others to worry about. void results_render(UNUSED s32 updateRate, f32 opacity) { s32 x2; s32 y2; @@ -10348,6 +11180,10 @@ void results_render(UNUSED s32 updateRate, f32 opacity) { s32 tens; UNUSED s32 pad; s32 i; +#if VERSION >= VERSION_79 + s32 offsetX2; + s32 timesToLoop; +#endif Settings *settings; settings = get_settings(); @@ -10363,12 +11199,24 @@ void results_render(UNUSED s32 updateRate, f32 opacity) { opacity = 1.0f; } sMenuGuiOpacity = (1 - opacity) * 255; - set_text_font(2); + set_text_font(ASSET_FONTS_BIGFONT); set_text_background_colour(0, 0, 0, 0); set_text_colour(255, 255, 255, 0, sMenuGuiOpacity); draw_text(&sMenuCurrDisplayList, POS_CENTRED, 34, gMenuText[ASSET_MENU_TEXT_RANKINGS], ALIGN_MIDDLE_CENTER); sMenuGuiOpacity = 255; +#if VERSION >= VERSION_79 + offsetX2 = 64; + if (gNumberOfActivePlayers == 4) { +#if REGION == REGION_JP + offsetX2 = 52; +#else + offsetX2 = 56; +#endif + } + offsetX = 160 - ((gNumberOfActivePlayers - 1) * (offsetX2 >> 1)); +#else offsetX = 160 - ((gNumberOfActivePlayers - 1) << 5); +#endif x2 = offsetX; for (i = 0; i < gNumberOfActivePlayers; i++) { @@ -10383,18 +11231,32 @@ void results_render(UNUSED s32 updateRate, f32 opacity) { } texrect_draw(&sMenuCurrDisplayList, gRacerPortraits[settings->racers[i].character], x2 - 20, 54 - (s32) (240 * opacity), spA0, spA0, spA0, 255); +#if VERSION >= VERSION_79 + x2 += offsetX2; +#else x2 += 64; +#endif } offsetX = offsetX + (s32) (320 * opacity); // Cannot use += here? set_text_font(ASSET_FONTS_FUNFONT); y2 = 104; +#if VERSION >= VERSION_79 + timesToLoop = 4; + for (spA0 = 0; spA0 < timesToLoop; spA0++) { +#else for (spA0 = 0; spA0 < 4; spA0++) { +#endif time = offsetX; +#if REGION == REGION_JP + func_80082BC8_837C8(-1, time - 40, y2 + offsetY + 2, 2, 2, gRacePlacementsArray[spA0], ALIGN_MIDDLE_CENTER, + COLOUR_RGBA32(255, 255, 255, 255), 0); +#else set_text_colour(0, 0, 0, 255, 255); draw_text(&sMenuCurrDisplayList, time - 32, y2 + offsetY + 4, gRacePlacementsArray[spA0], ALIGN_MIDDLE_CENTER); set_text_colour(255, 255, 192, 96, 255); draw_text(&sMenuCurrDisplayList, time - 34, y2 + offsetY + 2, gRacePlacementsArray[spA0], ALIGN_MIDDLE_CENTER); +#endif reset_render_settings(&sMenuCurrDisplayList); sprite_anim_off(TRUE); sprite_opaque(FALSE); @@ -10403,7 +11265,11 @@ void results_render(UNUSED s32 updateRate, f32 opacity) { sMenuGuiColourB = 255; sMenuGuiColourBlendFactor = 255; x2 = offsetX; +#if VERSION >= VERSION_79 + for (i = 0; i < gNumberOfActivePlayers; i++, x2 += offsetX2) { +#else for (i = 0; i < gNumberOfActivePlayers; i++, x2 += 64) { +#endif time = settings->racers[i].placements[spA0]; // Is this local var name correct? if (time > 999) { time = 999; @@ -10435,7 +11301,7 @@ void results_render(UNUSED s32 updateRate, f32 opacity) { gMenuImages[0].spriteOffset = time; menu_element_render(0); } - y2 = y2 + 17; + y2 += 17; sprite_anim_off(FALSE); sprite_opaque(TRUE); sMenuGuiColourG = 255; @@ -10486,6 +11352,10 @@ void results_render(UNUSED s32 updateRate, f32 opacity) { open_dialogue_box(7); } } +#else +// No match JPN results_render +#pragma GLOBAL_ASM("asm/nonmatchings/menu/results_render.s") +#endif /** * When someone presses A, decide whether to play the stage again, @@ -10608,7 +11478,9 @@ s32 menu_results_loop(s32 updateRate) { */ void results_free(void) { menu_assetgroup_free(gRaceResultsObjectIndices); +#if REGION != REGION_JP unload_font(ASSET_FONTS_BIGFONT); +#endif } /** @@ -10728,7 +11600,9 @@ void filename_init(s32 titleY, s32 x, s32 y, s32 font, s32 *targetX, char *fileN gNameSelectionDone = FALSE; gNameEntryStickX = 0; gNameEntryStickHeld = 0; +#if REGION != REGION_JP load_font(ASSET_FONTS_BIGFONT); +#endif } /** @@ -10800,7 +11674,11 @@ void filename_render(UNUSED s32 updateRate) { if (charIndex == 28) { draw_text(&sMenuCurrDisplayList, x, y, "SP", ALIGN_MIDDLE_CENTER); } else if (charIndex == 29) { +#if REGION == REGION_JP + draw_text(&sMenuCurrDisplayList, x, y, "BS", ALIGN_MIDDLE_CENTER); +#else draw_text(&sMenuCurrDisplayList, x, y, "DEL", ALIGN_MIDDLE_CENTER); +#endif } else { draw_text(&sMenuCurrDisplayList, x, y, "OK", ALIGN_MIDDLE_CENTER); } @@ -10966,7 +11844,9 @@ s32 filename_enter(s32 updateRate) { * Explicitly says to unload the ASSET_FONTS_BIGFONT type. */ void menu_unload_bigfont(void) { +#if REGION != REGION_JP unload_font(ASSET_FONTS_BIGFONT); +#endif } /** @@ -11020,7 +11900,11 @@ void menu_trophy_race_round_init(void) { gMenuDelay = 0; gTrackNameVoiceDelay = 10; +#if REGION == REGION_JP + func_800C663C_C723C(); +#else load_font(ASSET_FONTS_BIGFONT); +#endif music_voicelimit_set(24); music_play(SEQUENCE_MAIN_MENU); music_fade(256); @@ -11112,7 +11996,11 @@ s32 menu_trophy_race_round_loop(s32 updateRate) { * Free any assets associated with the trophy race intro menu. */ void trophyround_free(void) { +#if REGION == REGION_JP + func_800C67F4_C73F4(); +#else unload_font(ASSET_FONTS_BIGFONT); +#endif } void func_80098774(s32 isRankings) { @@ -11281,7 +12169,9 @@ void menu_trophy_race_rankings_init(void) { gRankingsPlayers[i] = FALSE; } } +#if REGION != REGION_JP load_font(ASSET_FONTS_BIGFONT); +#endif music_voicelimit_set(24); music_play(SEQUENCE_MAIN_MENU); music_fade(256); @@ -11480,7 +12370,9 @@ s32 menu_trophy_race_rankings_loop(s32 updateRate) { */ void rankings_free(void) { menu_assetgroup_free(gTrophyRankingsObjectIndices); +#if REGION != REGION_JP unload_font(ASSET_FONTS_BIGFONT); +#endif } /** @@ -11583,7 +12475,9 @@ void menu_ghost_data_init(void) { } menu_assetgroup_load(gGhostDataObjectIndices); menu_imagegroup_load(gGhostDataImageIndices); +#if REGION != REGION_JP load_font(ASSET_FONTS_BIGFONT); +#endif for (i = 0; i < 5; i++) { gDrawTexDinoDomainGhostBg[i].texture = gMenuAssets[TEXTURE_BACKGROUND_DINO_DOMAIN_TOP]; @@ -11670,12 +12564,19 @@ void ghostmenu_render(UNUSED s32 updateRate) { currentWorldId = 0; } levelName = get_level_name(gGhostLevelIDsMenu[scroll]); +#if REGION == REGION_JP + for (i = 0; levelName[i] != '\0'; i += 2) { + textBuffer[i] = levelName[i]; + textBuffer[i + 1] = levelName[i + 1]; + } +#else for (i = 0; levelName[i] != '\0' && i < 63; i++) { textBuffer[i] = levelName[i]; if (textBuffer[i] >= 'a' && textBuffer[i] <= 'z') { textBuffer[i] ^= 0x20; // Force uppercase. } } +#endif textBuffer[i] = '\0'; // Set NULL terminator texrect_draw_scaled(&sMenuCurrDisplayList, gDrawTexWorldBgs[currentWorldId], x, y, 0.75f, 0.8125f, COLOUR_RGBA32(255, 255, 255, 255), 0); @@ -11683,14 +12584,20 @@ void ghostmenu_render(UNUSED s32 updateRate) { if (scroll == gGhostMenuOption) { func_80080E90(&sMenuCurrDisplayList, 40, y, 240, 52, 4, 4, highlight, highlight, highlight, highlight); } +#if REGION == REGION_JP +#define GHOSTMENU_TEXT_OFFSET 38 +#else +#define GHOSTMENU_TEXT_OFFSET 40 +#endif set_text_colour(0, 0, 0, 255, 255); for (i = 0; i < 4; i++) { - draw_text(&sMenuCurrDisplayList, gGhostDataElementPositions[0] + 40 + D_800E1E20[(i << 1)], + draw_text(&sMenuCurrDisplayList, + gGhostDataElementPositions[0] + GHOSTMENU_TEXT_OFFSET + D_800E1E20[(i << 1)], y + gGhostDataElementPositions[1] + D_800E1E20[(i << 1) + 1], textBuffer, ALIGN_MIDDLE_CENTER); } set_text_colour(200, 228, 80, 255, 255); - draw_text(&sMenuCurrDisplayList, gGhostDataElementPositions[0] + 40, gGhostDataElementPositions[1] + y, - textBuffer, ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, gGhostDataElementPositions[0] + GHOSTMENU_TEXT_OFFSET, + gGhostDataElementPositions[1] + y, textBuffer, ALIGN_MIDDLE_CENTER); texrect_draw(&sMenuCurrDisplayList, gRacerPortraits[gGhostCharacterIDsMenu[scroll]], gGhostDataElementPositions[2] + 40, gGhostDataElementPositions[3] + y, 255, 255, 255, 255); switch (gGhostVehicleIDsMenu[scroll]) { @@ -11728,7 +12635,11 @@ void ghostmenu_render(UNUSED s32 updateRate) { if (gMenuStage > GHOSTMENU_CHOOSE) { clear_dialogue_box_open_flag(7); dialogue_clear(7); +#if VERSION == VERSION_80 + set_current_dialogue_box_coords(7, 92, 102, 228, 138); +#else set_current_dialogue_box_coords(7, 104, 102, 216, 138); +#endif set_current_dialogue_background_colour(7, 0, 0, 0, 192); set_dialogue_font(7, 0); set_current_text_background_colour(7, 0, 0, 0, 0); @@ -11878,7 +12789,9 @@ s32 menu_ghost_data_loop(s32 updateRate) { */ void ghostmenu_free(void) { menu_assetgroup_free(gGhostDataObjectIndices); +#if REGION != REGION_JP unload_font(ASSET_FONTS_BIGFONT); +#endif } /** @@ -12011,7 +12924,11 @@ void menu_credits_init(void) { menu_assetgroup_load(gCreditsObjectIndices); menu_imagegroup_load(gCreditsImageIndices); menu_racer_portraits(); +#if REGION == REGION_JP + func_800C663C_C723C(); +#else load_font(ASSET_FONTS_BIGFONT); +#endif music_voicelimit_set(24); gCreditsControlData[130] = CREDITS_END; // DONT show developer times if (gViewingCreditsFromCheat) { @@ -12041,8 +12958,19 @@ void menu_credits_init(void) { // The first u16 of gCheatsAssetData is the total number of cheats. // After that is the offsets to the cheat strings. cheatOffsets = *gCheatsAssetData + 1; - gCreditsArray[85] = (char *) (*gCheatsAssetData) + (cheatOffsets)[(cheatIndex << 1) + 1]; // Cheat name - gCreditsArray[86] = (char *) (*gCheatsAssetData) + (cheatOffsets)[(cheatIndex << 1)]; // Cheat code +#if VERSION == VERSION_79 +#define CHEATINDEXADD 2 +#define CHEATINDEXMULT 3 +#elif VERSION == VERSION_80 +#define CHEATINDEXADD 1 +#define CHEATINDEXMULT 3 +#else +#define CHEATINDEXADD 1 +#define CHEATINDEXMULT 2 +#endif + gCreditsArray[85] = + (char *) (*gCheatsAssetData) + (cheatOffsets)[(cheatIndex * CHEATINDEXMULT) + CHEATINDEXADD]; // Cheat name + gCreditsArray[86] = (char *) (*gCheatsAssetData) + (cheatOffsets)[(cheatIndex * CHEATINDEXMULT)]; // Cheat code } music_change_off(); enable_new_screen_transitions(); @@ -12070,6 +12998,7 @@ void credits_fade(s32 x1, s32 y1, s32 x2, s32 y2, s32 a) { reset_render_settings(&sMenuCurrDisplayList); } +#if REGION != REGION_JP /** * Handles the credits for the game */ @@ -12366,6 +13295,9 @@ s32 menu_credits_loop(s32 updateRate) { } return 0; } +#else +#pragma GLOBAL_ASM("asm/nonmatchings/menu/menu_credits_loop.s") +#endif /** * Unload associated assets with the credits scene. @@ -12376,7 +13308,11 @@ void credits_free(void) { camDisableUserView(0, FALSE); set_viewport_properties(0, VIEWPORT_AUTO, VIEWPORT_AUTO, VIEWPORT_AUTO, VIEWPORT_AUTO); menu_assetgroup_free(gCreditsObjectIndices); +#if REGION == REGION_JP + func_800C67F4_C73F4(); +#else unload_font(ASSET_FONTS_BIGFONT); +#endif set_gIntDisFlag(FALSE); } @@ -13104,7 +14040,11 @@ s32 taj_menu_loop(void) { sCurrentMenuID = DIALOGUEPAGE_TAJ_ROOT; } if (sCurrentMenuID >= DIALOGUEPAGE_TAJ_ROOT && sCurrentMenuID <= DIALOGUEPAGE_TAJ_CHALLENGES) { +#if REGION == REGION_JP + set_current_dialogue_box_coords(1, 22, 16, 210, 124); +#else set_current_dialogue_box_coords(1, 24, 16, 184, 124); +#endif set_dialogue_font(1, ASSET_FONTS_FUNFONT); } dialogueResult = 0; @@ -13155,8 +14095,14 @@ s32 taj_menu_loop(void) { break; case DIALOGUEPAGE_TAJ_ROOT: gNextTajChallengeMenu = 0; +#if VERSION >= VERSION_79 + // ASSET_MENU_TEXT_OPTIONS must have changed + render_dialogue_text(1, POS_CENTRED, 6, gMenuText[190], 1, + HORZ_ALIGN_CENTER); // OPTIONS +#else render_dialogue_text(1, POS_CENTRED, 6, gMenuText[ASSET_MENU_TEXT_OPTIONS], 1, HORZ_ALIGN_CENTER); // OPTIONS +#endif gDialogueOptionYOffset = 30; render_dialogue_option(gMenuText[ASSET_MENU_TEXT_CHANGEVEHICLE], 20, 0); // CHANGE VEHICLE if (settings->tajFlags & TAJ_FLAGS_UNLOCKED_A_CHALLENGE) { @@ -13326,12 +14272,22 @@ s32 tt_menu_loop(void) { if (!(settings->cutsceneFlags & CUTSCENE_TT_HELP)) { sCurrentMenuID = TT_MENU_INTRODUCTION; } - if ((sCurrentMenuID != TT_MENU_GAME_STATUS) && (sCurrentMenuID != TT_MENU_INTRODUCTION)) { +#if REGION == REGION_JP + if ((sCurrentMenuID == TT_MENU_CONT_PAK_ERROR_1) || (sCurrentMenuID == TT_MENU_INSERT_CONT_PAK) || + (sCurrentMenuID == TT_MENU_INSERT_RUMBLE_PAK)) { + set_current_dialogue_box_coords(1, 22, 16, 218, 136); + } else +#endif + if ((sCurrentMenuID != TT_MENU_GAME_STATUS) && (sCurrentMenuID != TT_MENU_INTRODUCTION)) { currentOption = 120; if (has_ghost_to_save()) { currentOption = 136; } set_current_dialogue_box_coords(1, 24, 16, 192, currentOption); +#if REGION == REGION_JP + } else if (sCurrentMenuID == TT_MENU_INTRODUCTION) { + set_current_dialogue_box_coords(1, 24, 16, 200, 204); +#endif } else { set_current_dialogue_box_coords(1, 24, 16, 184, 220); } @@ -13343,8 +14299,14 @@ s32 tt_menu_loop(void) { switch (sCurrentMenuID) { case TT_MENU_ROOT: case TT_MENU_EXIT: +#if VERSION >= VERSION_79 + // ASSET_MENU_TEXT_OPTIONS must have changed + render_dialogue_text(1, POS_CENTRED, 6, gMenuText[189], 1, + HORZ_ALIGN_CENTER); // OPTIONS +#else render_dialogue_text(1, POS_CENTRED, 6, gMenuText[ASSET_MENU_TEXT_OPTIONS], 1, - HORZ_ALIGN_CENTER); // OPTIONS + HORZ_ALIGN_CENTER); // OPTIONS +#endif render_dialogue_option(gMenuText[ASSET_MENU_TEXT_STATUS], 20, 3); // STATUS if (!is_in_two_player_adventure()) { if (is_time_trial_enabled()) { @@ -13463,8 +14425,14 @@ s32 tt_menu_loop(void) { HORZ_ALIGN_CENTER); // If you wish to use render_dialogue_text(1, POS_CENTRED, 50, gMenuText[ASSET_MENU_TEXT_INSERTDEVICE_4], 1, HORZ_ALIGN_CENTER); // the Controller Pak +#if VERSION >= VERSION_79 + // ASSET_MENU_TEXT_INSERTDEVICE_6 must have changed + render_dialogue_text(1, POS_CENTRED, 66, gMenuText[161], 1, + HORZ_ALIGN_CENTER); // insert it now! +#else render_dialogue_text(1, POS_CENTRED, 66, gMenuText[ASSET_MENU_TEXT_INSERTDEVICE_6], 1, HORZ_ALIGN_CENTER); // insert it now! +#endif if (buttonsPressed & (A_BUTTON | START_BUTTON)) { sound_play(SOUND_SELECT2, NULL); gAdventureSaveGhost = 0; @@ -13476,12 +14444,21 @@ s32 tt_menu_loop(void) { } break; case TT_MENU_INSERT_RUMBLE_PAK: +#if VERSION >= VERSION_79 + render_dialogue_text(1, POS_CENTRED, 34, gMenuText[162], 1, + HORZ_ALIGN_CENTER); // If you wish to use + render_dialogue_text(1, POS_CENTRED, 50, gMenuText[186], 1, + HORZ_ALIGN_CENTER); // the Rumble Pak + render_dialogue_text(1, POS_CENTRED, 66, gMenuText[187], 1, + HORZ_ALIGN_CENTER); // insert it now! +#else render_dialogue_text(1, POS_CENTRED, 34, gMenuText[ASSET_MENU_TEXT_INSERTDEVICE_3], 1, HORZ_ALIGN_CENTER); // If you wish to use render_dialogue_text(1, POS_CENTRED, 50, gMenuText[ASSET_MENU_TEXT_INSERTDEVICE_5], 1, HORZ_ALIGN_CENTER); // the Rumble Pak render_dialogue_text(1, POS_CENTRED, 66, gMenuText[ASSET_MENU_TEXT_INSERTDEVICE_6], 1, HORZ_ALIGN_CENTER); // insert it now! +#endif if (buttonsPressed & (A_BUTTON | B_BUTTON | START_BUTTON)) { sCurrentMenuID = TT_MENU_ROOT; } @@ -13749,6 +14726,9 @@ u64 get_eeprom_settings(void) { * Official Name: frontGetLanguage */ s32 get_language(void) { +#if REGION == REGION_JP + return LANGUAGE_JAPANESE; +#else s32 language = LANGUAGE_ENGLISH; switch (sEepromSettings & 0xC) { case 4: @@ -13762,6 +14742,7 @@ s32 get_language(void) { break; } return language; +#endif } /** @@ -13770,6 +14751,7 @@ s32 get_language(void) { * tried to switch to it, all you would see is the word "Japanese" used everywhere as a placeholder. */ void set_language(s32 language) { +#if REGION != REGION_JP u64 langFlag = 0; // English switch (language) { @@ -13789,6 +14771,7 @@ void set_language(s32 language) { load_menu_text(language); mark_write_eeprom_settings(); +#endif } /** diff --git a/src/object_functions.c b/src/object_functions.c index 29ee548d..90187bcf 100644 --- a/src/object_functions.c +++ b/src/object_functions.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80033CC0 */ - #include "object_functions.h" #include "PR/os_cont.h" @@ -28,7 +25,7 @@ #include "fade_transition.h" #include "audio_vehicle.h" #include "object_models.h" -#include "lib/src/libc/rmonPrintf.h" +#include "libultra/src/libc/rmonPrintf.h" #include "collision.h" #include "joypad.h" #include "printf.h" @@ -6637,9 +6634,15 @@ void obj_loop_levelname(Object *obj, s32 updateRate) { set_current_dialogue_box_coords(4, x1, y1, x2, y2); set_current_dialogue_background_colour(4, 128, 64, 128, (properties->opacity * 160) >> 8); set_current_text_background_colour(4, 0, 0, 0, 0); +#if REGION == REGION_JP + set_dialogue_font(4, FONT_SMALL); + set_current_text_colour(4, 255, 255, 64, 255, (properties->opacity * 255) >> 8); + render_dialogue_text(4, (x2 - x1) >> 1, ((y2 - y1) >> 1), levelName, 1, ALIGN_MIDDLE_CENTER); +#else set_dialogue_font(4, FONT_COLOURFUL); set_current_text_colour(4, 255, 255, 255, 0, (properties->opacity * 255) >> 8); render_dialogue_text(4, (x2 - x1) >> 1, ((y2 - y1) >> 1) + 2, levelName, 1, ALIGN_MIDDLE_CENTER); +#endif open_dialogue_box(4); } } diff --git a/src/object_models.c b/src/object_models.c index 33f0bcc1..35d61ad9 100644 --- a/src/object_models.c +++ b/src/object_models.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8005F850 */ - #include "object_models.h" #include "common.h" #include "macros.h" @@ -91,6 +88,10 @@ Object_68 *object_model_init(s32 modelID, s32 flags) { s32 temp_s0; Object_68 *ret; s8 sp3F; +#if VERSION >= VERSION_79 + s8 var_a2; + s8 var_a3; +#endif u32 compressedData; s32 sp34; @@ -111,11 +112,21 @@ Object_68 *object_model_init(s32 modelID, s32 flags) { } } +#if VERSION >= VERSION_79 + var_a2 = FALSE; + var_a3 = FALSE; +#endif if (D_8011D634 > 0) { D_8011D634--; +#if VERSION >= VERSION_79 + var_a2 = TRUE; +#endif sp50 = D_8011D628[D_8011D634]; } else { sp50 = D_8011D62C; +#if VERSION >= VERSION_79 + var_a3 = TRUE; +#endif D_8011D62C++; } @@ -124,6 +135,14 @@ Object_68 *object_model_init(s32 modelID, s32 flags) { sp34 = get_asset_uncompressed_size(ASSET_OBJECT_MODELS, temp_s0) + 0x80; objMdl = (ObjectModel *) mempool_alloc(sp34, COLOUR_TAG_RED); if (objMdl == NULL) { +#if VERSION >= VERSION_79 + if (var_a2) { + D_8011D634++; + } + if (var_a3) { + D_8011D62C--; + } +#endif return NULL; } compressedData = (u32) ((u8 *) objMdl + sp34) - sp48; @@ -172,6 +191,14 @@ Object_68 *object_model_init(s32 modelID, s32 flags) { } } block_30: +#if VERSION >= VERSION_79 + if (var_a3) { + D_8011D62C--; + } + if (var_a2) { + D_8011D634++; + } +#endif free_model_data((ObjectModel *) objMdl); return NULL; } @@ -340,9 +367,9 @@ void free_model_data(ObjectModel *mdl) { mempool_free(mdl); } -GLOBAL_ASM("asm/non_matchings/object_models/func_8006017C.s") -GLOBAL_ASM("asm/non_matchings/object_models/func_80060910.s") -GLOBAL_ASM("asm/non_matchings/object_models/func_80060AC8.s") +#pragma GLOBAL_ASM("asm/nonmatchings/object_models/func_8006017C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/object_models/func_80060910.s") +#pragma GLOBAL_ASM("asm/nonmatchings/object_models/func_80060AC8.s") s32 func_80060C58(Vertex *vertices, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { Vertex *a; @@ -387,7 +414,7 @@ end: return 0; } -GLOBAL_ASM("asm/non_matchings/object_models/func_80060EA8.s") +#pragma GLOBAL_ASM("asm/nonmatchings/object_models/func_80060EA8.s") void func_800619F4(s32 arg0) { D_8011D640 = arg0; diff --git a/src/objects.c b/src/objects.c index 8543a6af..0e98b22d 100644 --- a/src/objects.c +++ b/src/objects.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8000B020 */ - #include "objects.h" #include "memory.h" @@ -438,8 +435,8 @@ void func_8000B290(void) { gParticlePtrList_flush(); } -GLOBAL_ASM("asm/non_matchings/objects/func_8000B38C.s") -GLOBAL_ASM("asm/non_matchings/objects/func_8000B750.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_8000B38C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_8000B750.s") void func_8000BADC(s32 updateRate) { s32 i; @@ -638,7 +635,7 @@ void decrypt_magic_codes(s32 *data, s32 length) { } } #else -GLOBAL_ASM("asm/non_matchings/objects/decrypt_magic_codes.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/decrypt_magic_codes.s") #endif /** @@ -1357,7 +1354,7 @@ void func_8000CC7C(Vehicle vehicle, u32 arg1, s32 arg2) { mempool_free_timer(2); } #else -GLOBAL_ASM("asm/non_matchings/objects/func_8000CC7C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_8000CC7C.s") #endif /** @@ -1572,8 +1569,8 @@ UNUSED s32 func_8000E558(Object *arg0) { return TRUE; } -GLOBAL_ASM("asm/non_matchings/objects/func_8000E5EC.s") -GLOBAL_ASM("asm/non_matchings/objects/func_8000E79C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_8000E5EC.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_8000E79C.s") UNUSED u8 *func_8000E898(u8 *arg0, s32 arg1) { s32 temp_t6; @@ -1943,7 +1940,7 @@ Object *spawn_object(LevelObjectEntryCommon *entry, s32 arg1) { return newObj; } #else -GLOBAL_ASM("asm/non_matchings/objects/spawn_object.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/spawn_object.s") #endif /** @@ -2260,7 +2257,7 @@ void gParticlePtrList_flush(void) { gFreeListCount = 0; } -GLOBAL_ASM("asm/non_matchings/objects/func_800101AC.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_800101AC.s") #ifdef NON_MATCHING // Minor regalloc diffs @@ -2422,7 +2419,7 @@ void func_80010994(s32 updateRate) { } } #else -GLOBAL_ASM("asm/non_matchings/objects/func_80010994.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_80010994.s") #endif #ifdef NON_EQUIVALENT @@ -2453,7 +2450,7 @@ void func_80011134(Object *arg0, s32 arg1) { } } #else -GLOBAL_ASM("asm/non_matchings/objects/func_80011134.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_80011134.s") #endif #ifdef NON_EQUIVALENT @@ -2489,7 +2486,7 @@ void func_80011264(ObjectModel *model, Object *obj) { } } #else -GLOBAL_ASM("asm/non_matchings/objects/func_80011264.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_80011264.s") #endif /** @@ -3329,7 +3326,7 @@ void func_80012F94(Object *obj) { gCurrentLightIntensity = ret2; } #else -GLOBAL_ASM("asm/non_matchings/objects/func_80012F94.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_80012F94.s") #endif /** @@ -3364,7 +3361,7 @@ void unset_temp_model_transforms(Object *obj) { } } -GLOBAL_ASM("asm/non_matchings/objects/func_800135B8.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_800135B8.s") /** * Render the bubble trap weapon. @@ -3533,7 +3530,7 @@ void render_racer_magnet(Gfx **dList, MatrixS **mtx, Vertex **vtxList, Object *o } } -GLOBAL_ASM("asm/non_matchings/objects/func_80014090.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_80014090.s") void func_800142B8(void) { s32 i = gObjectListStart; @@ -3686,7 +3683,7 @@ s32 func_80014814(s32 *retObjCount) { return curObjCount; } #else -GLOBAL_ASM("asm/non_matchings/objects/func_80014814.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_80014814.s") #endif UNUSED void func_800149C0(unk800149C0 *arg0, UNUSED s32 arg1, s32 arg2, s32 arg3, s32 *arg4, s32 *arg5, s32 arg6) { @@ -3970,7 +3967,7 @@ void process_object_interactions(void) { } } -GLOBAL_ASM("asm/non_matchings/objects/func_800159C8.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_800159C8.s") void func_80016500(Object *obj, Object_Racer *racer) { s32 sp3C; @@ -4254,7 +4251,7 @@ void func_8001709C(Object *obj) { obj5C->unk100 = NULL; } -GLOBAL_ASM("asm/non_matchings/objects/func_80017248.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_80017248.s") unk800179D0 *func_8001790C(u32 *arg0, u32 *arg1) { unk800179D0 *entry; @@ -4297,7 +4294,7 @@ u32 func_800179D0(void) { } } -GLOBAL_ASM("asm/non_matchings/objects/func_80017A18.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_80017A18.s") /** * Sets the active Taj challenge. @@ -4314,8 +4311,8 @@ UNUSED s16 get_taj_challenge_type(void) { return gTajChallengeType; } -GLOBAL_ASM("asm/non_matchings/objects/func_80017E98.s") -GLOBAL_ASM("asm/non_matchings/objects/func_800185E4.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_80017E98.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_800185E4.s") /** * Search and return Taj's overworld object. @@ -4334,7 +4331,7 @@ Object *find_taj_object(void) { return NULL; } -GLOBAL_ASM("asm/non_matchings/objects/func_80018CE0.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_80018CE0.s") // Rocket Path s32 func_8001955C(Object *obj, s32 checkpoint, u8 arg2, s32 arg3, s32 arg4, f32 checkpointDist, f32 *outX, f32 *outY, @@ -4395,7 +4392,7 @@ s32 func_8001955C(Object *obj, s32 checkpoint, u8 arg2, s32 arg3, s32 arg4, f32 return TRUE; } -GLOBAL_ASM("asm/non_matchings/objects/func_80019808.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_80019808.s") /** * Mark the course as finished for the appropriate mode. @@ -5345,7 +5342,7 @@ s32 ainode_find_nearest(f32 diffX, f32 diffY, f32 diffZ, s32 useElevation) { return result; } -GLOBAL_ASM("asm/non_matchings/objects/func_8001C6C4.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_8001C6C4.s") #ifdef NON_MATCHING // ainode_find_next @@ -5389,7 +5386,7 @@ s32 func_8001CC48(s32 nodeCurrent, s32 arg1, s32 direction) { return entry->adjacent[someObj64->directions[test]]; } #else -GLOBAL_ASM("asm/non_matchings/objects/func_8001CC48.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_8001CC48.s") #endif #ifdef NON_MATCHING @@ -5517,7 +5514,7 @@ s16 func_8001CD28(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { return result; } #else -GLOBAL_ASM("asm/non_matchings/objects/func_8001CD28.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_8001CD28.s") #endif /** @@ -5684,8 +5681,8 @@ void calc_dyn_light_and_env_map_for_object(ObjectModel *model, Object *object, s } } -GLOBAL_ASM("asm/non_matchings/objects/calc_dynamic_lighting_for_object_1.s") -GLOBAL_ASM("asm/non_matchings/objects/calc_env_mapping_for_object.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/calc_dynamic_lighting_for_object_1.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/calc_env_mapping_for_object.s") /** * Find the racer object representing the player and directly set position and angle to new values. @@ -5909,7 +5906,7 @@ void func_8001E89C(void) { } } -GLOBAL_ASM("asm/non_matchings/objects/func_8001E93C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_8001E93C.s") void func_8001EE74(void) { LevelObjectEntry_Animation *animation; @@ -6077,7 +6074,7 @@ void func_8001F450(void) { D_8011AD53 = 1; } -GLOBAL_ASM("asm/non_matchings/objects/func_8001F460.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_8001F460.s") s32 func_800210CC(s8 arg0) { if (arg0 >= D_8011AD3D) { @@ -6207,7 +6204,7 @@ s8 func_800214E4(Object *obj, s32 updateRate) { return 0; } -GLOBAL_ASM("asm/non_matchings/objects/func_80021600.s") +#pragma GLOBAL_ASM("asm/nonmatchings/objects/func_80021600.s") f32 catmull_rom_interpolation(f32 *data, s32 index, f32 x) { f32 ret; diff --git a/src/os_yield_data.c b/src/os_yield_data.c new file mode 100644 index 00000000..e48fb355 --- /dev/null +++ b/src/os_yield_data.c @@ -0,0 +1,4 @@ +#include "PR/sptask.h" + +// Not sure why this ended up here, and not in rcp_dkr.c along with the rest of the task data. +u8 gGfxTaskYieldData[OS_YIELD_DATA_SIZE]; diff --git a/src/particles.c b/src/particles.c index 249b5599..20e4392e 100644 --- a/src/particles.c +++ b/src/particles.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800AE270 */ - #include "particles.h" #include "types.h" #include "macros.h" @@ -258,7 +255,7 @@ void init_particle_assets(void) { } } -GLOBAL_ASM("asm/non_matchings/particles/func_800AE728.s") +#pragma GLOBAL_ASM("asm/nonmatchings/particles/func_800AE728.s") /** * Generate a triangle shaped particle mesh. @@ -513,7 +510,7 @@ void func_800AF404(s32 updateRate) { } } #else -GLOBAL_ASM("asm/non_matchings/particles/func_800AF404.s") +#pragma GLOBAL_ASM("asm/nonmatchings/particles/func_800AF404.s") #endif void func_800AF52C(Object *obj, s32 arg1) { diff --git a/src/printf.c b/src/printf.c index 8711d2a9..56942d13 100644 --- a/src/printf.c +++ b/src/printf.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800B4940 */ - #include "printf.h" #include "types.h" #include "macros.h" @@ -207,7 +204,7 @@ UNUSED int sprintf(char *s, const char *format, ...) { } // Official Name: vsprintf -GLOBAL_ASM("asm/non_matchings/printf/vsprintf.s") +#pragma GLOBAL_ASM("asm/nonmatchings/printf/vsprintf.s") /** * Load the font textures for the debug text, then set the buffer to the beginning. @@ -449,7 +446,7 @@ s32 func_800B653C(Gfx **dlist, char *buffer) { return nextBuffer - bufferSave; } #else -GLOBAL_ASM("asm/non_matchings/printf/func_800B653C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/printf/func_800B653C.s") #endif /** diff --git a/src/racer.c b/src/racer.c index 6ee1c87e..b26ad8c8 100644 --- a/src/racer.c +++ b/src/racer.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80042D20 */ - #include "racer.h" #include "memory.h" #include "menu.h" @@ -506,7 +503,7 @@ void func_80042D20(Object *obj, Object_Racer *racer, s32 updateRate) { } } #else -GLOBAL_ASM("asm/non_matchings/racer/func_80042D20.s") +#pragma GLOBAL_ASM("asm/nonmatchings/racer/func_80042D20.s") #endif /** @@ -659,7 +656,7 @@ s32 roll_percent_chance(s32 chance) { return get_random_number_from_range(0, 99) < chance; } -GLOBAL_ASM("asm/non_matchings/racer/func_8004447C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/racer/func_8004447C.s") void func_80045128(Object **racerObjs) { Object_Racer *obj; @@ -677,8 +674,8 @@ void func_80045128(Object **racerObjs) { } } -GLOBAL_ASM("asm/non_matchings/racer/func_800452A0.s") -GLOBAL_ASM("asm/non_matchings/racer/func_80045C48.s") +#pragma GLOBAL_ASM("asm/nonmatchings/racer/func_800452A0.s") +#pragma GLOBAL_ASM("asm/nonmatchings/racer/func_80045C48.s") void func_80046524(s32 updateRate, f32 updateRateF, Object *obj, Object_Racer *racer) { s32 objectMoved; @@ -1642,7 +1639,7 @@ f32 rotate_racer_in_water(Object *obj, Object_Racer *racer, Vec3f *pos, s8 arg3, return velocity; } -GLOBAL_ASM("asm/non_matchings/racer/func_80049794.s") +#pragma GLOBAL_ASM("asm/nonmatchings/racer/func_80049794.s") /** * When turning left and right in a plane, apply the tilting animation to the character. @@ -1941,10 +1938,10 @@ void update_camera_plane(f32 updateRate, Object *obj, Object_Racer *racer) { racer->cameraYaw = gCameraObject->trans.rotation.y_rotation; } #else -GLOBAL_ASM("asm/non_matchings/racer/update_camera_plane.s") +#pragma GLOBAL_ASM("asm/nonmatchings/racer/update_camera_plane.s") #endif -GLOBAL_ASM("asm/non_matchings/racer/func_8004CC20.s") +#pragma GLOBAL_ASM("asm/nonmatchings/racer/func_8004CC20.s") /** * Handles the camera movement when the player is on a loop-the-loop. @@ -6032,7 +6029,7 @@ void update_camera_car(f32 updateRate, Object *obj, Object_Racer *racer) { racer->cameraYaw = gCameraObject->trans.rotation.y_rotation; } #else -GLOBAL_ASM("asm/non_matchings/racer/update_camera_car.s") +#pragma GLOBAL_ASM("asm/nonmatchings/racer/update_camera_car.s") #endif /** @@ -6305,7 +6302,7 @@ void func_80059208(Object *obj, Object_Racer *racer, s32 updateRate) { } } #else -GLOBAL_ASM("asm/non_matchings/racer/func_80059208.s") +#pragma GLOBAL_ASM("asm/nonmatchings/racer/func_80059208.s") #endif /** @@ -6596,7 +6593,7 @@ s32 set_ghost_position_and_rotation(Object *obj) { return TRUE; } #else -GLOBAL_ASM("asm/non_matchings/racer/set_ghost_position_and_rotation.s") +#pragma GLOBAL_ASM("asm/nonmatchings/racer/set_ghost_position_and_rotation.s") #endif /** @@ -7010,7 +7007,7 @@ void func_8005B818(Object *obj, Object_Racer *racer, s32 updateRate, f32 updateR s32 checkpointIdx; s32 checkpointCount; CheckpointNode *checkpoint; - UNUSED f32 pad0; + LevelModel *model; f32 var_f28; f32 checkpointX[4]; s32 j; @@ -7033,6 +7030,9 @@ void func_8005B818(Object *obj, Object_Racer *racer, s32 updateRate, f32 updateR f32 var_f24; s32 i; LevelHeader *levelHeader; +#if VERSION == VERSION_80 + UNUSED f32 pad4; +#endif gCurrentRacerMiscAssetPtr = (f32 *) get_misc_asset(ASSET_MISC_RACERACCELERATION_UNKNOWN0); levelHeader = get_current_level_header(); @@ -7203,10 +7203,42 @@ void func_8005B818(Object *obj, Object_Racer *racer, s32 updateRate, f32 updateR racer->unk1BE = racer->steerVisualRotation; racer->unk1C0 = obj->segment.trans.rotation.x_rotation; if (move_object(obj, var_f24, var_f26, var_f28)) { - obj->segment.trans.x_position += var_f24; if (1) {} +#if VERSION < VERSION_80 + obj->segment.trans.x_position += var_f24; obj->segment.trans.y_position += var_f26; obj->segment.trans.z_position += var_f28; +#else + model = get_current_level_model(); + obj->segment.trans.x_position += var_f24; + obj->segment.trans.y_position += var_f26; + obj->segment.trans.z_position += var_f28; + // Don't get caught up on this using checkpointDistance var when documenting. It just matched that way. + checkpointDistance = model->upperXBounds + 1000.0f; + if (obj->segment.trans.x_position > checkpointDistance) { + obj->segment.trans.x_position = checkpointDistance; + } + checkpointDistance = model->lowerXBounds - 1000.0f; + if (obj->segment.trans.x_position < checkpointDistance) { + obj->segment.trans.x_position = checkpointDistance; + } + checkpointDistance = model->upperYBounds + 3000.0f; + if (obj->segment.trans.y_position > checkpointDistance) { + obj->segment.trans.y_position = checkpointDistance; + } + checkpointDistance = model->lowerYBounds - 500.0f; + if (obj->segment.trans.y_position < checkpointDistance) { + obj->segment.trans.y_position = checkpointDistance; + } + checkpointDistance = model->upperZBounds + 1000.0f; + if (obj->segment.trans.z_position > checkpointDistance) { + obj->segment.trans.z_position = checkpointDistance; + } + checkpointDistance = model->lowerZBounds - 1000.0f; + if (obj->segment.trans.z_position < checkpointDistance) { + obj->segment.trans.z_position = checkpointDistance; + } +#endif } if (checkpointPositionOffset < 20.0) { obj->segment.x_velocity = var_f24 / updateRateF; diff --git a/src/rcp_dkr.c b/src/rcp_dkr.c index be77daa7..fc0840a9 100644 --- a/src/rcp_dkr.c +++ b/src/rcp_dkr.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80077450 */ - #include "rcp_dkr.h" #include "types.h" #include "structs.h" @@ -8,7 +5,6 @@ #include "video.h" #include "camera.h" #include "set_rsp_segment.h" -// #include "lib/src/unknown_0D24D0.h" /************ .data ************/ @@ -620,7 +616,7 @@ void func_80078190(Gfx **dlist) { gDPPipeSync((*dlist)++); } #else -GLOBAL_ASM("asm/non_matchings/rcp/func_80078190.s") +#pragma GLOBAL_ASM("asm/nonmatchings/rcp_dkr/func_80078190.s") #endif /** diff --git a/src/save_data.c b/src/save_data.c index 98a3f8c6..4e8eddba 100644 --- a/src/save_data.c +++ b/src/save_data.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80072250 */ - #include "save_data.h" #include "common.h" #include "memory.h" @@ -26,6 +23,10 @@ u8 sControllerPaksPresent = 0; // Bits 0, 1, 2, and 3 of the bit pattern corresp // 1 if a controller pak is present s32 gRumbleKillTimer = 0; +#if VERSION >= VERSION_79 +s32 gRumbleEnable = TRUE; +#endif + /*******************************/ /************ .bss ************/ @@ -71,6 +72,15 @@ u8 input_get_id(s32 controllerIndex) { return get_player_id(controllerIndex); } +#if VERSION >= VERSION_79 +/** + * Set a global flag that can enable or disable the rumble temporarily. + */ +void rumble_enable(s32 enable) { + gRumbleEnable = enable; +} +#endif + /** * Reset the rumble state for all controllers and set whether or not to allow rumble. */ @@ -201,7 +211,11 @@ void rumble_update(s32 updateRate) { u8 controllerToCheck; u8 pfsBitPattern; - if ((gRumbleIdle != 0 || gRumbleKillTimer != 0)) { + if ( +#if VERSION >= VERSION_79 + (gRumbleEnable) && +#endif + (gRumbleIdle != 0 || gRumbleKillTimer != 0)) { gRumbleDetectionTimer += updateRate; if (gRumbleDetectionTimer > 120) { gRumbleDetectionTimer = 0; @@ -1075,7 +1089,11 @@ s32 read_eeprom_settings(u64 *eepromSettings) { if (sp20 != temp) { // bit 24 = Unknown // bit 25 = Seems to be a flag for whether subtitles are enabled or not. +#if REGION == REGION_JP + *eepromSettings = 0x300000C; +#else *eepromSettings = 0x3000000; // Sets bits 24 and 25 high +#endif *eepromSettings <<= 8; *eepromSettings >>= 8; *eepromSettings |= (u64) calculate_eeprom_settings_checksum(*eepromSettings) << 56; @@ -1712,11 +1730,29 @@ s32 get_controller_pak_file_list(s32 controllerIndex, s32 maxNumOfFilesToGet, ch mempool_free(gPakFileList); } - files_used = maxNumOfFilesOnCpak * 24; +#if REGION == REGION_JP + files_used = maxNumOfFilesOnCpak * 24; // SAVE_FILE_BYTES + files_used *= 2; // Skips a register to bring SAVE_FILE_BYTES to 48. +#else + files_used = maxNumOfFilesOnCpak * SAVE_FILE_BYTES; +#endif + gPakFileList = mempool_alloc_safe(files_used, COLOUR_TAG_BLACK); bzero(gPakFileList, files_used); list = gPakFileList; +#if REGION == REGION_JP + ret = 0; + for (i = 0; i < maxNumOfFilesOnCpak; i++) { + list += ret; // fake + fileNames[i] = (char *) list; + list += 0x24; // Could be doubled because file names bytes are doubled in JP? + fileExtensions[i] = (char *) list; + fileSizes[i] = 0; + fileTypes[i] = SAVE_FILE_TYPE_UNSET; + list += 12; + } +#else for (i = 0; i < maxNumOfFilesOnCpak; i++) { fileNames[i] = (char *) list; list += 0x12; @@ -1725,6 +1761,7 @@ s32 get_controller_pak_file_list(s32 controllerIndex, s32 maxNumOfFilesToGet, ch fileTypes[i] = SAVE_FILE_TYPE_UNSET; list += 6; } +#endif while (i < maxNumOfFilesToGet) { fileExtensions[i] = 0; @@ -2051,9 +2088,13 @@ char *font_codes_to_string(char *inString, char *outString, s32 stringLength) { *outString = gN64FontCodes[index]; outString++; } else { +#if REGION == REGION_JP + *outString++ = 0x80; + *outString++ = *inString; +#else // Replace invalid characters with a hyphen - *outString = '-'; - outString++; + *outString++ = '-'; +#endif } inString++; @@ -2082,6 +2123,19 @@ char *string_to_font_codes(char *inString, char *outString, s32 stringLength) { while (*inString != 0 && stringLength != 0) { *outString = 0; +#if REGION == REGION_JP + if (*inString & 0x80) { + *outString++ = inString[1]; + inString += 2; + } else { + for (i = 0; i < 65; i++) { + if (*inString == gN64FontCodes[i]) { + *outString++ = i; + break; + } + } + } +#else for (i = 0; i < 65; i++) { currentChar = *inString; if (currentChar == gN64FontCodes[i]) { @@ -2089,7 +2143,7 @@ char *string_to_font_codes(char *inString, char *outString, s32 stringLength) { break; } } - +#endif inString++; stringLength--; } diff --git a/src/screen_asset.c b/src/screen_asset.c index 33c69caf..81fb98d6 100644 --- a/src/screen_asset.c +++ b/src/screen_asset.c @@ -1,8 +1,5 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8007F640 */ - #include "screen_asset.h" -#include "lib/src/libc/rmonPrintf.h" +#include "libultra/src/libc/rmonPrintf.h" // Render settings for the screens Gfx gRdpSetModeScreenAsset[] = { diff --git a/src/set_rsp_segment.c b/src/set_rsp_segment.c index ecaf5d60..114345fe 100644 --- a/src/set_rsp_segment.c +++ b/src/set_rsp_segment.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8007A2D0 */ - #include "set_rsp_segment.h" #include "PR/mbi.h" #include "PR/gbi.h" diff --git a/src/stacks.c b/src/stacks.c index 2bb126f5..f4703e9f 100644 --- a/src/stacks.c +++ b/src/stacks.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800B7D1F */ - #include "stacks.h" #include "types.h" @@ -11,7 +8,7 @@ /************ .bss ************/ -UNUSED u8 D_8012A9B0[0x100]; +UNUSED u8 D_80129AB0[0x100]; u16 D_80129BB0[512]; // epcStack? s32 gObjectStackTrace[3]; diff --git a/src/textures_sprites.c b/src/textures_sprites.c index c3a4fda6..f3050d9f 100644 --- a/src/textures_sprites.c +++ b/src/textures_sprites.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8007AC70 */ - #include "textures_sprites.h" #include "gzip.h" #include "asset_loading.h" @@ -528,7 +525,7 @@ TextureHeader *load_texture(s32 arg0) { return tex; } #else -GLOBAL_ASM("asm/non_matchings/textures_sprites/load_texture.s") +#pragma GLOBAL_ASM("asm/nonmatchings/textures_sprites/load_texture.s") #endif /** @@ -868,7 +865,7 @@ void func_8007BF34(Gfx **dlist, s32 flags) { /** * Official Name: texLoadSprite */ -GLOBAL_ASM("asm/non_matchings/textures_sprites/func_8007C12C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/textures_sprites/func_8007C12C.s") Sprite *func_8007C52C(s32 arg0) { if ((arg0 < 0) || (arg0 >= D_80126358)) { @@ -997,7 +994,7 @@ s32 load_sprite_info(s32 spriteIndex, s32 *numOfInstancesOut, s32 *unkOut, s32 * goto textureCouldNotBeLoaded; } -GLOBAL_ASM("asm/non_matchings/textures_sprites/func_8007CA68.s") +#pragma GLOBAL_ASM("asm/nonmatchings/textures_sprites/func_8007CA68.s") /* Official name: texFreeSprite */ void free_sprite(Sprite *sprite) { @@ -1146,7 +1143,7 @@ void func_8007CDC0(Sprite *sprite1, Sprite *sprite2, s32 arg2) { D_80126368 = triangles; } #else -GLOBAL_ASM("asm/non_matchings/textures_sprites/func_8007CDC0.s") +#pragma GLOBAL_ASM("asm/nonmatchings/textures_sprites/func_8007CDC0.s") #endif #ifdef NON_EQUIVALENT @@ -1308,7 +1305,7 @@ void build_tex_display_list(TextureHeader *tex, Gfx *dlist) { } } #else -GLOBAL_ASM("asm/non_matchings/textures_sprites/build_tex_display_list.s") +#pragma GLOBAL_ASM("asm/nonmatchings/textures_sprites/build_tex_display_list.s") #endif s32 func_8007EF64(s16 arg0) { diff --git a/src/thread0_epc.c b/src/thread0_epc.c index b019890b..30ece8ea 100644 --- a/src/thread0_epc.c +++ b/src/thread0_epc.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800B6F50 */ - #include "thread0_epc.h" #include "common.h" #include "types.h" @@ -64,6 +61,7 @@ void thread0_Main(UNUSED void *unused) { while (1) { osRecvMesg(&D_80129790, (OSMesg) &sp34, OS_MESG_BLOCK); +#if VERSION < VERSION_80 if (!(get_filtered_cheats() & CHEAT_EPC_LOCK_UP_DISPLAY)) { continue; } @@ -71,6 +69,7 @@ void thread0_Main(UNUSED void *unused) { if ((s0 & 8) == 0 && (s0 & 2) == 0) { continue; } +#endif s0 &= ~8; stubbed_printf(">fault< "); enable_interupts_on_main(); diff --git a/src/thread30_track_loading.c b/src/thread30_track_loading.c index 911282f3..2552d04b 100644 --- a/src/thread30_track_loading.c +++ b/src/thread30_track_loading.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C7350 */ - #include "thread30_track_loading.h" #include "macros.h" #include diff --git a/src/thread3_main.c b/src/thread3_main.c index c2357178..898ea08a 100644 --- a/src/thread3_main.c +++ b/src/thread3_main.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8006C330 */ - #include "thread3_main.h" #include "common.h" @@ -50,7 +47,11 @@ /************ .rodata ************/ +#if VERSION >= VERSION_79 +UNUSED char *sDebugRomBuildInfo[] = { "1.1634", "17/10/97 11:19", "pmountain" }; +#elif VERSION == VERSION_77 UNUSED char *sDebugRomBuildInfo[] = { "1.1605", "02/10/97 16:03", "pmountain" }; +#endif const char D_800E7134[] = "BBB\n"; // Functionally unused. @@ -58,7 +59,13 @@ const char D_800E7134[] = "BBB\n"; // Functionally unused. /************ .data ************/ +#if VERSION == VERSION_80 +UNUSED char gBuildString[] = "Version 8.0 27/10/97 12.30 L.Schuneman"; +#elif VERSION == VERSION_79 +UNUSED char gBuildString[] = "Version 7.9 14/10/97 19.40 L.Schuneman"; +#elif VERSION == VERSION_77 UNUSED char gBuildString[] = "Version 7.7 29/09/97 15.00 L.Schuneman"; +#endif s8 sAntiPiracyTriggered = 0; UNUSED s32 D_800DD378 = 1; @@ -352,6 +359,9 @@ void main_game_loop(void) { if (tempLogicUpdateRate > tempLogicUpdateRateMax) { sLogicUpdateRate = tempLogicUpdateRateMax; } +#if REGION == REGION_JP + func_800C78E0_C84E0(); +#endif } /** diff --git a/src/tracks.c b/src/tracks.c index 79bd6d48..24a047da 100644 --- a/src/tracks.c +++ b/src/tracks.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800249E0 */ - #include "tracks.h" #include "types.h" @@ -18,7 +15,7 @@ #include "game_ui.h" #include "weather.h" #include "particles.h" -#include "lib/src/libc/rmonPrintf.h" +#include "libultra/src/libc/rmonPrintf.h" #include "objects.h" #include "math_util.h" #include "printf.h" @@ -49,6 +46,10 @@ LevelModel *gCurrentLevelModel = NULL; // Official Name: track LevelHeader *gCurrentLevelHeader2 = NULL; s32 D_800DC920 = -1; +#if REGION == REGION_JP +// T.T.カメラ - T.T. Camera +char gJpnTTCam[] = { 0x80, 0x2D, 0x80, 0x3C, 0x80, 0x2D, 0x80, 0x3C, 0x80, 0x55, 0x80, 0x71, 0x80, 0x76 }; +#endif s32 *D_800DC924 = NULL; s32 D_800DC928 = 0; // Currently unknown, might be a different type. @@ -434,7 +435,11 @@ void render_scene(Gfx **dList, MatrixS **mtx, Vertex **vtx, TriangleList **tris, posX = SCREEN_WIDTH_HALF + 10; posY = SCREEN_HEIGHT_HALF + 5; } +#if REGION == REGION_JP + draw_text(&gSceneCurrDisplayList, posX, posY, gJpnTTCam, ALIGN_TOP_LEFT); +#else draw_text(&gSceneCurrDisplayList, posX, posY, "TT CAM", ALIGN_TOP_LEFT); +#endif } else { set_active_camera(PLAYER_FOUR); func_800278E8(updateRate); @@ -454,7 +459,7 @@ void render_scene(Gfx **dList, MatrixS **mtx, Vertex **vtx, TriangleList **tris, UNUSED const char gTrackClippingErrorString[] = "Solid Clipping x0=x1 Error!!!\n"; UNUSED const char gTrackHeightOverflowString[] = "TrackGetHeight() - Overflow!!!\n"; -GLOBAL_ASM("asm/non_matchings/tracks/func_80025510.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_80025510.s") void func_800257D0(void) { if (D_800DC924 != 0) { @@ -630,7 +635,7 @@ void func_8002581C(u8 *segmentIds, s32 numberOfSegments, s32 viewportIndex) { } } #else -GLOBAL_ASM("asm/non_matchings/tracks/func_8002581C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_8002581C.s") #endif void func_80026070(LevelModelSegmentBoundingBox *arg0, f32 arg1, f32 arg2, f32 arg3) { @@ -711,7 +716,7 @@ void func_80026070(LevelModelSegmentBoundingBox *arg0, f32 arg1, f32 arg2, f32 a } } -GLOBAL_ASM("asm/non_matchings/tracks/func_80026430.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_80026430.s") void func_80026C14(s16 arg0, s16 arg1, s32 arg2) { s16 i; @@ -915,7 +920,7 @@ s32 func_80027184(f32 *arg0, f32 *arg1, f32 arg2, f32 arg3) { return 0; } #else -GLOBAL_ASM("asm/non_matchings/tracks/func_80027184.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_80027184.s") #endif #ifdef NON_EQUIVALENT @@ -1027,7 +1032,7 @@ s32 func_80027568(void) { return ret; } #else -GLOBAL_ASM("asm/non_matchings/tracks/func_80027568.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_80027568.s") #endif void func_800278E8(s32 updateRate) { @@ -1195,7 +1200,7 @@ void set_skydome_visbility(s32 renderSky) { // init_skydome // https://decomp.me/scratch/jmbc1 -GLOBAL_ASM("asm/non_matchings/tracks/func_80028050.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_80028050.s") /** * Instead of drawing the skydome with textures, draw a solid coloured background. @@ -2139,7 +2144,7 @@ s32 get_wave_properties(f32 yPos, f32 *waterHeight, Vec3f *rotation) { return gTrackWaves[index]->type; } -GLOBAL_ASM("asm/non_matchings/tracks/func_8002B0F4.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_8002B0F4.s") s32 func_8002B9BC(Object *obj, f32 *arg1, f32 *arg2, s32 arg3) { LevelModelSegment *seg; @@ -2298,7 +2303,7 @@ s32 func_8002BAB0(s32 levelSegmentIndex, f32 xIn, f32 zIn, f32 *yOut) { return yOutCount; } #else -GLOBAL_ASM("asm/non_matchings/tracks/func_8002BAB0.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_8002BAB0.s") #endif #ifdef NON_MATCHING @@ -2404,7 +2409,7 @@ void func_8002C0C4(s32 modelId) { set_texture_colour_tag(COLOUR_TAG_MAGENTA); } #else -GLOBAL_ASM("asm/non_matchings/tracks/func_8002C0C4.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_8002C0C4.s") #endif void func_8002C71C(LevelModelSegment *segment) { @@ -2547,7 +2552,7 @@ void func_8002C954(LevelModelSegment *segment, LevelModelSegmentBoundingBox *bbo } } -GLOBAL_ASM("asm/non_matchings/tracks/func_8002CC30.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_8002CC30.s") typedef struct unk8002D30C_a0 { u8 pad00[0x04]; @@ -2965,8 +2970,8 @@ void func_8002E234(Object *obj, s32 bool) { } } -GLOBAL_ASM("asm/non_matchings/tracks/func_8002E904.s") -GLOBAL_ASM("asm/non_matchings/tracks/func_8002EEEC.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_8002E904.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_8002EEEC.s") #ifdef NON_EQUIVALENT void func_8002F2AC(void) { @@ -2992,10 +2997,10 @@ void func_8002F2AC(void) { } } #else -GLOBAL_ASM("asm/non_matchings/tracks/func_8002F2AC.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_8002F2AC.s") #endif -GLOBAL_ASM("asm/non_matchings/tracks/func_8002F440.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_8002F440.s") // Transition points between different lighting levels, used by certain objects f32 func_8002FA64(void) { @@ -3084,7 +3089,7 @@ s32 func_8002FD74(f32 x0, f32 z0, f32 x1, f32 x2, s32 count, Vec4f *arg5) { return 0; } -GLOBAL_ASM("asm/non_matchings/tracks/func_8002FF6C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_8002FF6C.s") #ifdef NON_EQUIUVALENT void func_800304C8(Vec4f *arg0) { @@ -3131,7 +3136,7 @@ void func_800304C8(Vec4f *arg0) { } } #else -GLOBAL_ASM("asm/non_matchings/tracks/func_800304C8.s") +#pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_800304C8.s") #endif /** diff --git a/src/unused_string.c b/src/unused_string.c index 95520943..00166fde 100644 --- a/src/unused_string.c +++ b/src/unused_string.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800B4710 */ - #include "types.h" #include "macros.h" diff --git a/src/vehicle_bluey.c b/src/vehicle_bluey.c index d7abc991..8836550f 100644 --- a/src/vehicle_bluey.c +++ b/src/vehicle_bluey.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8005D0D0 */ - #include "vehicle_misc.h" #include "types.h" diff --git a/src/vehicle_bubbler.c b/src/vehicle_bubbler.c index dd6ebf5b..76f31569 100644 --- a/src/vehicle_bubbler.c +++ b/src/vehicle_bubbler.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8005E4C0 */ - #include "vehicle_misc.h" #include "types.h" diff --git a/src/vehicle_rocket.c b/src/vehicle_rocket.c index 45c3cada..5bd30a56 100644 --- a/src/vehicle_rocket.c +++ b/src/vehicle_rocket.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8005F310 */ - #include "vehicle_misc.h" #include "types.h" diff --git a/src/vehicle_smokey.c b/src/vehicle_smokey.c index 8311ff41..799bca11 100644 --- a/src/vehicle_smokey.c +++ b/src/vehicle_smokey.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8005D820 */ - #include "vehicle_misc.h" #include "types.h" diff --git a/src/vehicle_tricky.c b/src/vehicle_tricky.c index 9f7598e4..c83e7a21 100644 --- a/src/vehicle_tricky.c +++ b/src/vehicle_tricky.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8005C2F0 */ - #include "vehicle_misc.h" #include "structs.h" diff --git a/src/vehicle_wizpig.c b/src/vehicle_wizpig.c index 15ce8283..048239de 100644 --- a/src/vehicle_wizpig.c +++ b/src/vehicle_wizpig.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8005EA90 */ - #include "vehicle_misc.h" #include "types.h" diff --git a/src/video.c b/src/video.c index 66bfe526..11e143ec 100644 --- a/src/video.c +++ b/src/video.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8007A310 */ - #include "video.h" #include "PRinternal/viint.h" diff --git a/src/waves.c b/src/waves.c index 633f5c5b..f0aac70c 100644 --- a/src/waves.c +++ b/src/waves.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800B7D20 */ - #include "waves.h" #include "types.h" #include "macros.h" @@ -391,7 +388,7 @@ void func_800B82B4(LevelModel *arg0, LevelHeader *arg1, s32 arg2) { D_8012A018 = 0; } #else -GLOBAL_ASM("asm/non_matchings/waves/func_800B82B4.s") +#pragma GLOBAL_ASM("asm/nonmatchings/waves/func_800B82B4.s") #endif void func_800B8B8C(void) { @@ -409,7 +406,7 @@ void func_800B8B8C(void) { } } -GLOBAL_ASM("asm/non_matchings/waves/func_800B8C04.s") +#pragma GLOBAL_ASM("asm/nonmatchings/waves/func_800B8C04.s") s32 func_800B9228(LevelModelSegment *arg0) { s32 v0 = 0; @@ -424,9 +421,9 @@ s32 func_800B9228(LevelModelSegment *arg0) { return result; } -GLOBAL_ASM("asm/non_matchings/waves/func_800B92F4.s") -GLOBAL_ASM("asm/non_matchings/waves/func_800B97A8.s") -GLOBAL_ASM("asm/non_matchings/waves/func_800B9C18.s") +#pragma GLOBAL_ASM("asm/nonmatchings/waves/func_800B92F4.s") +#pragma GLOBAL_ASM("asm/nonmatchings/waves/func_800B97A8.s") +#pragma GLOBAL_ASM("asm/nonmatchings/waves/func_800B9C18.s") void func_800BA288(s32 arg0, s32 arg1) { s32 i; @@ -472,9 +469,9 @@ void func_800BA288(s32 arg0, s32 arg1) { } // https://decomp.me/scratch/h4uac -GLOBAL_ASM("asm/non_matchings/waves/func_800BA4B8.s") -GLOBAL_ASM("asm/non_matchings/waves/func_800BA8E4.s") -GLOBAL_ASM("asm/non_matchings/waves/func_800BB2F4.s") +#pragma GLOBAL_ASM("asm/nonmatchings/waves/func_800BA4B8.s") +#pragma GLOBAL_ASM("asm/nonmatchings/waves/func_800BA8E4.s") +#pragma GLOBAL_ASM("asm/nonmatchings/waves/func_800BB2F4.s") void func_800BBDDC(LevelModel *level, LevelHeader *header) { func_800BBE08(level, (unk800BBE08_arg1 *) header); @@ -524,12 +521,12 @@ void func_800BBE08(LevelModel *level, unk800BBE08_arg1 *arg1) { } } -GLOBAL_ASM("asm/non_matchings/waves/func_800BBF78.s") -GLOBAL_ASM("asm/non_matchings/waves/func_800BC6C8.s") -GLOBAL_ASM("asm/non_matchings/waves/func_800BCC70.s") -GLOBAL_ASM("asm/non_matchings/waves/func_800BDC80.s") +#pragma GLOBAL_ASM("asm/nonmatchings/waves/func_800BBF78.s") +#pragma GLOBAL_ASM("asm/nonmatchings/waves/func_800BC6C8.s") +#pragma GLOBAL_ASM("asm/nonmatchings/waves/func_800BCC70.s") +#pragma GLOBAL_ASM("asm/nonmatchings/waves/func_800BDC80.s") // https://decomp.me/scratch/2RF3k -GLOBAL_ASM("asm/non_matchings/waves/func_800BE654.s") +#pragma GLOBAL_ASM("asm/nonmatchings/waves/func_800BE654.s") /** * Finds the wave height and returns it for the spinning log object. diff --git a/src/weather.c b/src/weather.c index eb7c30d4..064e0863 100644 --- a/src/weather.c +++ b/src/weather.c @@ -1,6 +1,3 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800AB1F0 */ - #include "weather.h" #include "types.h" #include "macros.h" @@ -1148,5 +1145,5 @@ void render_rain_overlay(RainGfxData *arg0, s32 arg1) { } } #else -GLOBAL_ASM("asm/non_matchings/weather/render_rain_overlay.s") +#pragma GLOBAL_ASM("asm/nonmatchings/weather/render_rain_overlay.s") #endif diff --git a/tools/.gitignore b/tools/.gitignore index dc35de12..f0c6a99e 100755 --- a/tools/.gitignore +++ b/tools/.gitignore @@ -2,4 +2,3 @@ /dkr_assets_tool /dkr_assets_tool_classes/_build /binutils -/ido5.3_recomp diff --git a/tools/Makefile b/tools/Makefile index 2888d02c..50ff67f4 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -9,14 +9,23 @@ CXXFLAGS := -I . -I dkr_assets_tool_src/ -std=c++17 $(OPT) LDFLAGS := -lm PROGRAMS := n64crc dkr_assets_tool -OS := $(shell uname) +UNAME_S := $(shell uname -s) # MacOS has a slightly different name for grep, so check to see if it needs to be used. -ifeq ($(OS), Darwin) +ifeq ($(UNAME_S),Windows_NT) + $(error Native Windows is currently unsupported for building this repository, use WSL instead c:) +else ifeq ($(UNAME_S),Darwin) + DETECTED_OS := macos CXXFLAGS += -I/opt/homebrew/include LDFLAGS += -I/opt/homebrew/lib -lpcre2-8 -else +else ifeq ($(UNAME_S),Linux) + DETECTED_OS := linux CXXFLAGS += -Werror -Wall $(IGNORE_W_ERRORS) -lpcre2-8 + UNAME_P := $(shell uname -p) +# If we detect arm as a platform for linux, but not mac, we'll make this -arm to download that version (Mostly used for raspi) + ifneq ($(filter arm%,$(UNAME_P)),) + DETECTED_OS := linux-arm + endif endif BUILD_DIR := dkr_assets_tool_src/_build @@ -26,6 +35,8 @@ ENUMS_HEADER := ../include/enums.h # From: https://stackoverflow.com/questions/2483182/recursive-wildcards-in-gnu-make/18258352#18258352 rwildcard=$(foreach d,$(wildcard $(1:=/*)),$(call rwildcard,$d,$2) $(filter $(subst *,%,$2),$d)) +RECOMP_DIR := ido-recomp/$(DETECTED_OS) + default: all n64crc_SOURCES := n64crc.c @@ -34,9 +45,9 @@ all: $(PROGRAMS) recomp flips # make clean for flips doesn't work, so just manually delete it on a clean. clean: - rm -Rf $(PROGRAMS) $(BUILD_DIR) - @make -C ido-static-recomp clean VERSION=5.3 - rm -f Flips/flips + $(RM) -Rf $(PROGRAMS) $(BUILD_DIR) + $(RM) -rf $(RECOMP_DIR) + $(RM) -f Flips/flips distclean: clean @@ -60,10 +71,12 @@ $(BUILD_DIR)/%.o: %.cpp dkr_assets_tool: $(dkr_assets_tool_OBJ_FILES) $(CXX) $^ -o $@ $(CXXFLAGS) $(LDFLAGS) -lpthread -#recomp likes to echo some strings on all calls to make, the >/dev/null will silence them. recomp: - @make -C ido-static-recomp VERSION=5.3 RELEASE=1 setup >/dev/null - @make -C ido-static-recomp VERSION=5.3 RELEASE=1 >/dev/null + @echo "Fetching Recomp..." + wget https://github.com/decompals/ido-static-recomp/releases/download/v1.2/ido-5.3-recomp-${DETECTED_OS}.tar.gz + mkdir -p $(RECOMP_DIR) + tar xf ido-5.3-recomp-${DETECTED_OS}.tar.gz -C $(RECOMP_DIR) + $(RM) ido-5.3-recomp-${DETECTED_OS}.tar.gz #Builds the CLI only version of flips. It will complain about it being debug, but this makes it much faster compile. flips: diff --git a/tools/asm-differ b/tools/asm-differ new file mode 160000 index 00000000..150720b8 --- /dev/null +++ b/tools/asm-differ @@ -0,0 +1 @@ +Subproject commit 150720b88350f7c67e1d51ecc04b7a3ebfca037e diff --git a/tools/asm-processor b/tools/asm-processor new file mode 160000 index 00000000..b296bcca --- /dev/null +++ b/tools/asm-processor @@ -0,0 +1 @@ +Subproject commit b296bcca13495af9bbcab85282bbc00fa743526a diff --git a/tools/asm_processor b/tools/asm_processor deleted file mode 160000 index 92b9ec72..00000000 --- a/tools/asm_processor +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 92b9ec72f40fde329bd91a83046b6c74bdc00199 diff --git a/tools/dkr_assets_tool_settings.json b/tools/dkr_assets_tool_settings.json index 54c77f82..0764994a 100644 --- a/tools/dkr_assets_tool_settings.json +++ b/tools/dkr_assets_tool_settings.json @@ -5,9 +5,6 @@ "configs_subpath" : "extract-ver/", "include_subpath" : "include/", "asm_subpath" : "asm/", - "src_subpath" : "src/", - "lib_asm_subpath" : "lib/asm/", - "lib_src_subpath" : "lib/src/", "build_subpath" : "build/", "data_subpath" : "data/", "model_scale": 0.001, diff --git a/tools/dkr_assets_tool_src/builder/buildTypes/buildMisc.cpp b/tools/dkr_assets_tool_src/builder/buildTypes/buildMisc.cpp index 71124290..bf4e357c 100644 --- a/tools/dkr_assets_tool_src/builder/buildTypes/buildMisc.cpp +++ b/tools/dkr_assets_tool_src/builder/buildTypes/buildMisc.cpp @@ -173,7 +173,7 @@ uint8_t *BuildMisc::_build_magic_codes(BuildInfo &info, size_t &outDataSize) { } if(_settings.debugBuildKeepUncompressed) { - fs::path unencryptedCheatsPath = _settings.pathToBuild / _settings.dkrVersion / "debug/cheats" / info.dstPath.filename(); + fs::path unencryptedCheatsPath = _settings.pathToBuild / "debug/cheats" / info.dstPath.filename(); FileHelper::write_binary_file(out, outDataSize, unencryptedCheatsPath, true); } diff --git a/tools/dkr_assets_tool_src/builder/buildTypes/buildObjectMap.cpp b/tools/dkr_assets_tool_src/builder/buildTypes/buildObjectMap.cpp index f518e1dc..1075b293 100644 --- a/tools/dkr_assets_tool_src/builder/buildTypes/buildObjectMap.cpp +++ b/tools/dkr_assets_tool_src/builder/buildTypes/buildObjectMap.cpp @@ -92,7 +92,7 @@ BuildObjectMap::BuildObjectMap(DkrAssetsSettings &settings, BuildInfo &info) : _ if(_settings.debugBuildKeepUncompressed) { // Have the uncompressed binary in a seperate directory in the build folder. - fs::path outUncompressedPath = _settings.pathToBuild / _settings.dkrVersion / "debug/objectMaps" / (_info.dstPath.stem().string() + ".bin"); + fs::path outUncompressedPath = _settings.pathToBuild / "debug/objectMaps" / (_info.dstPath.stem().string() + ".bin"); FileHelper::write_binary_file(out, outUncompressedPath, true); } diff --git a/tools/dkr_assets_tool_src/builder/buildTypes/buildTexture.cpp b/tools/dkr_assets_tool_src/builder/buildTypes/buildTexture.cpp index ee1220a9..3055c3a2 100644 --- a/tools/dkr_assets_tool_src/builder/buildTypes/buildTexture.cpp +++ b/tools/dkr_assets_tool_src/builder/buildTypes/buildTexture.cpp @@ -100,7 +100,7 @@ BuildTexture::BuildTexture(DkrAssetsSettings &settings, BuildInfo &info) : _sett if(_settings.debugBuildKeepUncompressed) { // Have the uncompressed binary in a seperate directory in the build folder. - fs::path outUncompressedPath = _settings.pathToBuild / _settings.dkrVersion / "debug/textures" / (_info.dstPath.stem().string() + ".bin"); + fs::path outUncompressedPath = _settings.pathToBuild / "debug/textures" / (_info.dstPath.stem().string() + ".bin"); FileHelper::write_binary_file(out, outUncompressedPath, true); } diff --git a/tools/dkr_assets_tool_src/helpers/asmHeader.cpp b/tools/dkr_assets_tool_src/helpers/asmHeader.cpp index cceda181..8cfd7490 100644 --- a/tools/dkr_assets_tool_src/helpers/asmHeader.cpp +++ b/tools/dkr_assets_tool_src/helpers/asmHeader.cpp @@ -37,6 +37,10 @@ void WritableAsmInclude::write_include(std::string filepath) { _out << ".include \"" << filepath << "\"" << std::endl; } +void WritableAsmInclude::write_section(std::string section) { + _out << ".section ." << section << std::endl; +} + void WritableAsmInclude::write_binary_include(std::string filepath) { _out << ".incbin \"" << filepath << "\"" << std::endl; } diff --git a/tools/dkr_assets_tool_src/helpers/asmHeader.h b/tools/dkr_assets_tool_src/helpers/asmHeader.h index ff3e90bc..82da9520 100644 --- a/tools/dkr_assets_tool_src/helpers/asmHeader.h +++ b/tools/dkr_assets_tool_src/helpers/asmHeader.h @@ -20,6 +20,7 @@ public: void write_word_with_comment(const std::string &value, const char *comment); void write_include(std::string filepath); + void write_section(std::string section); void write_binary_include(std::string filepath); void write_global_label(const std::string &label, bool align=false); diff --git a/tools/dkr_assets_tool_src/misc/constants.hpp b/tools/dkr_assets_tool_src/misc/constants.hpp index 1571af32..abffb712 100644 --- a/tools/dkr_assets_tool_src/misc/constants.hpp +++ b/tools/dkr_assets_tool_src/misc/constants.hpp @@ -15,9 +15,6 @@ const std::string DEFAULT_ASSETS_SUBPATH = "assets/"; const std::string DEFAULT_CONFIGS_SUBPATH = "extract-ver/"; const std::string DEFAULT_INCLUDE_SUBPATH = "include/"; const std::string DEFAULT_ASM_SUBPATH = "asm/"; -const std::string DEFAULT_SRC_SUBPATH = "src/"; -const std::string DEFAULT_LIB_ASM_SUBPATH = "lib/asm/"; -const std::string DEFAULT_LIB_SRC_SUBPATH = "lib/src/"; const std::string DEFAULT_DATA_SUBPATH = "data/"; const std::string DEFAULT_BUILD_SUBPATH = "build/"; const std::string DEFAULT_CACHE_SUBPATH = ".cache/"; diff --git a/tools/dkr_assets_tool_src/misc/settings.hpp b/tools/dkr_assets_tool_src/misc/settings.hpp index c56f2cff..c83030ee 100644 --- a/tools/dkr_assets_tool_src/misc/settings.hpp +++ b/tools/dkr_assets_tool_src/misc/settings.hpp @@ -12,7 +12,7 @@ // Some paths to find if a directory is considered to be the "root" of the decomp. const std::vector REPO_ROOT_FIND_PATHS = { "src", - "lib", + "libultra", "include", "baseroms", "README.md" @@ -28,9 +28,6 @@ struct DkrAssetsSettings { fs::path pathToConfigs; fs::path pathToInclude; fs::path pathToAsm; - fs::path pathToSrc; - fs::path pathToLibAsm; - fs::path pathToLibSrc; fs::path pathToData; fs::path pathToBuild; fs::path pathToCache; @@ -54,9 +51,6 @@ struct DkrAssetsSettings { "\n Configs Path: ", pathToConfigs, "\n Include Path: ", pathToInclude, "\n ASM Path: ", pathToAsm, - "\n Src Path: ", pathToSrc, - "\n Lib ASM Path: ", pathToLibAsm, - "\n Lib Src Path: ", pathToLibSrc, "\n Data Path: ", pathToData, "\n Build Path: ", pathToBuild, "\n Model Scale: ", modelScale, @@ -126,15 +120,9 @@ struct DkrAssetsSettings { std::string localModAssetsPath; _load_string_from_ptr(localAsmPath, "/asm_subpath", DEFAULT_ASM_SUBPATH); - _load_string_from_ptr(localSrcPath, "/src_subpath", DEFAULT_SRC_SUBPATH); - _load_string_from_ptr(localLibAsmPath, "/lib_asm_subpath", DEFAULT_LIB_ASM_SUBPATH); - _load_string_from_ptr(localLibSrcPath, "/lib_src_subpath", DEFAULT_LIB_SRC_SUBPATH); _load_string_from_ptr(localModAssetsPath, "/mod_assets_subpath", DEFAULT_MOD_ASSETS_SUBPATH); _format_subpath(pathToAsm, pathToRepo, localAsmPath); - _format_subpath(pathToSrc, pathToRepo, localSrcPath); - _format_subpath(pathToLibAsm, pathToRepo, localLibAsmPath); - _format_subpath(pathToLibSrc, pathToRepo, localLibSrcPath); _format_subpath(pathToModAssets, pathToMods, localModAssetsPath); // Build subdirectories diff --git a/tools/dkr_assets_tool_src/prebuild/linker/ld.cpp b/tools/dkr_assets_tool_src/prebuild/linker/ld.cpp deleted file mode 100644 index 487762eb..00000000 --- a/tools/dkr_assets_tool_src/prebuild/linker/ld.cpp +++ /dev/null @@ -1,79 +0,0 @@ -#include "ld.h" - -#include "helpers/fileHelper.h" - -const size_t INDENT_AMOUNT = 4; // Indent by 4 spaces - -WritableLD::WritableLD(DkrAssetsSettings &settings) : _settings(settings) { -} - -WritableLD::~WritableLD() { -} - -void WritableLD::write_comment(const char *text) { - _out << _indent << "/* " << text << " */" << std::endl; -} - -void WritableLD::write_include(const char *text) { - _out << _indent << "#include \"" << text << "\"" << std::endl; -} - -void WritableLD::write_arch(const char *archName) { - _out << _indent << "OUTPUT_ARCH (" << archName << ")" << std::endl; -} - -void WritableLD::write_rom_pos_at(const char *value) { - _out << _indent << "romPos = " << value << ";" << std::endl; -} - -void WritableLD::write_add_to_rom_pos(const char *value) { - _out << _indent << "romPos += " << value << ";" << std::endl; -} - -void WritableLD::write_assignment(const char *var, const char *value) { - _out << _indent << var << " = " << value << ";" << std::endl; -} - -void WritableLD::write_section_header(const char *name, const char *ramPos, const char *romPos, const LD_SUBALIGN subalign) { - _out << _indent << "." << name << " " << ramPos << " : AT(" << romPos << ")"; - if(subalign != LD_SUBALIGN::NONE) { - _out << " SUBALIGN(" << subalign << ")"; - } - _out << std::endl; -} - -void WritableLD::write_raw(const char *text) { - _out << _indent << text; -} - -void WritableLD::write_raw_line(const char *text) { - _out << _indent << text << std::endl; -} - -void WritableLD::write_raw_line(const std::string text) { - write_raw_line(text.c_str()); -} - -void WritableLD::write_open_brace() { - _out << _indent << "{" << std::endl; - _indent.append(INDENT_AMOUNT, ' '); // Add 4 spaces to the indent -} - -void WritableLD::write_close_brace() { - if (_indent.size() > INDENT_AMOUNT) { - _indent.resize(_indent.size() - INDENT_AMOUNT); // Remove 4 spaces from the indent - } else { - _indent.clear(); - } - _out << _indent << "}" << std::endl; -} - -void WritableLD::write_newline() { - _out << std::endl; -} - -void WritableLD::save(const std::string &filepath) { - std::string ldText = _out.str(); - FileHelper::write_text_file_if_changed(ldText, filepath, true); -} - diff --git a/tools/dkr_assets_tool_src/prebuild/linker/ld.h b/tools/dkr_assets_tool_src/prebuild/linker/ld.h deleted file mode 100644 index ddbc17d0..00000000 --- a/tools/dkr_assets_tool_src/prebuild/linker/ld.h +++ /dev/null @@ -1,46 +0,0 @@ -#pragma once - -#include -#include - -#include "misc/settings.hpp" - -enum LD_SUBALIGN { - NONE = 0, - ALIGN4 = 4, - ALIGN8 = 8, - ALIGN16 = 16 -}; - -// Creates a read-only linker -class WritableLD { -public: - WritableLD(DkrAssetsSettings &settings); - ~WritableLD(); - - void write_comment(const char *text); - void write_include(const char *text); - void write_arch(const char *archName); - void write_raw(const char *text); - void write_raw_line(const char *text); - void write_raw_line(const std::string text); - - void write_assignment(const char *var, const char *value); - - void write_rom_pos_at(const char *value); - void write_add_to_rom_pos(const char *value); - - void write_section_header(const char *name, const char *ramPos, const char *romPos, const LD_SUBALIGN subalign); - - void write_open_brace(); - void write_close_brace(); - void write_newline(); - - - void save(const std::string &filepath); -private: - DkrAssetsSettings &_settings; - - std::string _indent; - std::stringstream _out; -}; \ No newline at end of file diff --git a/tools/dkr_assets_tool_src/prebuild/makeIncludes/assetsAsm.cpp b/tools/dkr_assets_tool_src/prebuild/makeIncludes/assetsAsm.cpp index 533759c9..89025bd6 100644 --- a/tools/dkr_assets_tool_src/prebuild/makeIncludes/assetsAsm.cpp +++ b/tools/dkr_assets_tool_src/prebuild/makeIncludes/assetsAsm.cpp @@ -21,7 +21,7 @@ AssetsAsm::AssetsAsm(DkrAssetsSettings &settings) : _settings(settings) { _outFilepath = _settings.pathToAsm / "assets/assets.s"; - _outPrefix = _settings.pathToBuild / _settings.dkrVersion / "assets/"; + _outPrefix = _settings.pathToBuild / "assets/"; _write(); } @@ -35,7 +35,9 @@ void AssetsAsm::_write() { // Includes _asm.write_newline(); - _asm.write_include("macros.inc"); + _asm.write_include("macro.inc"); + _asm.write_newline(); + _asm.write_section("data"); _asm.write_newline(); _write_asset_sections(); diff --git a/tools/dkr_assets_tool_src/prebuild/prebuild.cpp b/tools/dkr_assets_tool_src/prebuild/prebuild.cpp index 0bf2f631..3152c05c 100644 --- a/tools/dkr_assets_tool_src/prebuild/prebuild.cpp +++ b/tools/dkr_assets_tool_src/prebuild/prebuild.cpp @@ -17,358 +17,18 @@ const std::string SECTION_RODATA = "rodata"; const std::string SECTION_BSS = "bss"; PreBuild::PreBuild(DkrAssetsSettings &settings) : _settings(settings) { - _buildFolder = _settings.pathToBuild / _settings.dkrVersion; + _buildFolder = _settings.pathToBuild; // Gets rid of the starting "./" from the path. _buildFolder = fs::relative(_buildFolder); - _buildAsm = _buildFolder / "asm"; - _buildSrc = _buildFolder / "src"; - _buildLibAsm = _buildFolder / "lib/asm"; - _buildLibSrc = _buildFolder / "lib/src"; - CompileAssets compileAssets(_settings); _settings.pathToAssets /= _settings.dkrVersion; AssetsAsm assetsAsm(_settings); // Generate asm/assets/assets.s AssetEnums assetEnums(_settings); // Generate include/asset_enums.h - - _generate_ld(); - _generate_ucode_files(); } PreBuild::~PreBuild() { } - -void PreBuild::_append_files(const std::string inPath, const std::string extension, const std::string outPath) { - std::vector files = FileHelper::get_files_from_directory_with_extension(fs::path(inPath), extension); - for(auto &p : files) { - DebugHelper::info(p); - } -} - -const std::string _RAM_POS_REGEX = R"([\/][*]+[ \t]*RAM_POS:[ \t]*((?:0x)[0-9a-fA-F]+|(?:[Aa][Uu][Tt][Oo]))[ \t]*(?:if[ \t]*([^*]*))?[*][\/])"; - -void PreBuild::_check_file_for_ram_pos(fs::path &filepath) { - // Only load the first 256 bytes of the file for speed reasons. - - std::string file = FileHelper::read_text_file(filepath, 256); - RegexMatch *match = RegexHelper::get_first_match(file, _RAM_POS_REGEX); - if(match == nullptr) { - return; - } - - std::string ramPos = match->get_group(1).get_text(); - std::string condition = match->get_group(2).get_text(); - - StringHelper::make_lowercase(ramPos); - - if(ramPos == "auto") { - ramPos = "0x800FFFF0"; - } - - if(!StringHelper::starts_with(ramPos, "0x")) { - ramPos.insert(0, "0x"); - } - - uint32_t address = static_cast(std::stoul(ramPos, nullptr, 0)); - - fs::path outFilepath = filepath.lexically_relative(_settings.pathToRepo); - outFilepath.replace_extension(".o"); - - outFilepath = _buildFolder / outFilepath; - - _codeFilesMutex.lock(); - while(_codeFiles.find(address) != _codeFiles.end()) { - address++; // Make sure each address is unique. - } - _codeFiles[address] = { - outFilepath, - condition - }; - _codeFilesMutex.unlock(); -} - -void PreBuild::_get_code_files() { - std::vector allFiles; - - FileHelper::append_files_from_directory_with_extension(_settings.pathToAsm, ".s", allFiles); - FileHelper::append_files_from_directory_with_extension(_settings.pathToSrc, ".c", allFiles); - FileHelper::append_files_from_directory_with_extension(_settings.pathToLibAsm, ".s", allFiles); - FileHelper::append_files_from_directory_with_extension(_settings.pathToLibSrc, ".c", allFiles); - - { - ThreadPool pool(_settings.threadCount); - for(fs::path &filepath : allFiles) { - pool.enqueue([this, &filepath = filepath] { - _check_file_for_ram_pos(filepath); - }); - } - } -} - -void PreBuild::_populate_filepaths() { - _lateDataFiles = { - }; - _bssLibOrderFiles = { - }; -} - -void PreBuild::_write_files_to_section(WritableLD &ld, const std::string §ionName) { - bool isDataSection = (sectionName == "data") || (sectionName == "rodata"); - bool isBssSection = (sectionName == "bss"); - - for (auto &file : _codeFiles) { - std::string &path = file.second.path; - - if(isDataSection && DataHelper::vector_has(_lateDataFiles, path)) { - continue; - } else if(isBssSection && DataHelper::vector_has(_bssLibOrderFiles, path)) { - continue; - } - - std::string &condition = file.second.condition; - if(!condition.empty()) { - ld.write_raw_line("#if " + condition); - } - ld.write_raw_line(path + "(." + sectionName + ");"); - if(!condition.empty()) { - ld.write_raw_line("#endif"); - } - } - if(isDataSection) { - for(fs::path &path : _lateDataFiles) { - ld.write_raw_line(std::string(path) + "(." + sectionName + ");"); - } - } else if(isBssSection) { - for(fs::path &path : _bssLibOrderFiles) { - ld.write_raw_line(std::string(path) + "(." + sectionName + ");"); - } - } -} - -void PreBuild::_write_ld_boot_section(WritableLD &ld) { - ld.write_section_header("boot", "0", "romPos", LD_SUBALIGN::NONE); - ld.write_open_brace(); // Open .boot - - // TODO: Refactor to remove hardcoding. - ld.write_raw_line(_buildFolder / "asm/boot/rom_header.o(.text);"); - ld.write_raw_line(_buildFolder / "asm/boot/rom_boot.o(.text);"); - - ld.write_close_brace(); // Close .boot - ld.write_add_to_rom_pos("SIZEOF(.boot)"); - ld.write_newline(); -} - -void PreBuild::_write_main_section(WritableLD &ld) { - ld.write_section_header("main", "__FUNC_RAM_START", "romPos", LD_SUBALIGN::ALIGN16); - ld.write_open_brace(); // Open .main - - _write_files_to_section(ld, SECTION_TEXT); - - ld.write_close_brace(); // Close .main - ld.write_add_to_rom_pos("SIZEOF(.main)"); - ld.write_newline(); -} - -void PreBuild::_write_ucode_text_section(WritableLD &ld) { - ld.write_section_header("ucodeText", ".", "romPos", LD_SUBALIGN::NONE); - ld.write_open_brace(); // Open .ucodeText - - // TODO: Refactor to remove hardcoding. - ld.write_raw_line(_buildFolder / "asm/assets/ucode_text.o(.text);"); - - ld.write_close_brace(); // Close .ucodeText - ld.write_add_to_rom_pos("SIZEOF(.ucodeText)"); - ld.write_newline(); -} - -void PreBuild::_write_data_section(WritableLD &ld) { - ld.write_section_header("data", ".", "romPos", LD_SUBALIGN::ALIGN16); - ld.write_open_brace(); // Open .data - - _write_files_to_section(ld, SECTION_DATA); - - ld.write_close_brace(); // Close .data - ld.write_add_to_rom_pos("SIZEOF(.data)"); - ld.write_newline(); -} - -void PreBuild::_write_rodata_section(WritableLD &ld) { - ld.write_section_header("rodata", ".", "romPos", LD_SUBALIGN::ALIGN16); - ld.write_open_brace(); // Open .rodata - - _write_files_to_section(ld, SECTION_RODATA); - - ld.write_close_brace(); // Close .rodata - ld.write_add_to_rom_pos("SIZEOF(.rodata)"); - ld.write_newline(); -} - -void PreBuild::_write_ucode_data_section(WritableLD &ld) { - ld.write_section_header("ucodeData", ".", "romPos", LD_SUBALIGN::NONE); - ld.write_open_brace(); // Open .ucodeData - - // TODO: Refactor to remove hardcoding. - ld.write_raw_line(_buildFolder / "asm/assets/ucode_data.o(.text);"); - - ld.write_close_brace(); // Close .ucodeData - ld.write_add_to_rom_pos("SIZEOF(.ucodeData)"); - ld.write_newline(); -} - -void PreBuild::_write_bss_section(WritableLD &ld) { - // TODO: add this to ld file - ld.write_raw_line(".bss.noload . (NOLOAD): SUBALIGN(4)"); - ld.write_open_brace(); // Open .bss - - _write_files_to_section(ld, SECTION_BSS); - - ld.write_close_brace(); // Close .bss - ld.write_newline(); -} - -void PreBuild::_write_assets_section(WritableLD &ld) { - ld.write_section_header("assets", "0", "romPos", LD_SUBALIGN::NONE); - ld.write_open_brace(); // Open .assets - - // TODO: Refactor to remove hardcoding. - ld.write_raw_line(_buildFolder / "asm/assets/assets.o(.text);"); - - - ld.write_close_brace(); // Close .assets - ld.write_add_to_rom_pos("SIZEOF(.assets)"); - ld.write_newline(); -} - -void PreBuild::_write_discard_section(WritableLD &ld) { - ld.write_comment("Discard everything not specifically mentioned above."); - - // TODO: add this to ld file - ld.write_raw_line("/DISCARD/ :"); - ld.write_open_brace(); // Open discard - ld.write_raw_line("*(*);"); - ld.write_close_brace(); // Close discard - ld.write_newline(); -} - -void PreBuild::_generate_ld() { - _get_code_files(); - _populate_filepaths(); - - fs::path outputPath = _settings.pathToRepo / "dkr.ld"; - WritableLD ld(_settings); - - ld.write_comment("This file is automatically generated. Any changes you make to this file will get overwritten."); - ld.write_newline(); - - ld.write_include("config.h"); - ld.write_newline(); - - ld.write_arch("mips"); - ld.write_newline(); - - ld.write_raw_line("SECTIONS"); - ld.write_open_brace(); // Open SECTIONS - - ld.write_rom_pos_at("0"); - - // .boot section - _write_ld_boot_section(ld); - - ld.write_assignment("__FUNC_RAM_START", "0x80000400"); - ld.write_assignment("__FUNC_ROM_START", "0x00001000"); - ld.write_assignment("__RAM_TO_ROM", "__FUNC_RAM_START - __FUNC_ROM_START"); - ld.write_newline(); - - // .main section - _write_main_section(ld); - - // .ucodeText section - _write_ucode_text_section(ld); - - // .data section - _write_data_section(ld); - - // .rodata section - _write_rodata_section(ld); - - // .ucodeData section - _write_ucode_data_section(ld); - - ld.write_assignment("__BSS_SECTION_SIZE", "SIZEOF(.bss.noload) - 32"); - ld.write_newline(); - - // .bss.noload section - _write_bss_section(ld); - - ld.write_assignment("__ASSETS_LUT_START", "romPos"); - // TODO: Turn `0xD0` into sizeof main asset table. - ld.write_assignment("__ASSETS_LUT_END", "__ASSETS_LUT_START + 0xD0"); - ld.write_newline(); - - // .assets section - _write_assets_section(ld); - - ld.write_assignment("__ROM_END", "romPos"); - ld.write_newline(); - - _write_discard_section(ld); - - ld.write_close_brace(); // Close SECTIONS - - ld.save(outputPath); -} - -void PreBuild::_write_ucode_file_glabel(WritableAsmInclude &asmInc, std::string label, std::string path) { - asmInc.write_global_label(label); - asmInc.write_binary_include(_buildFolder / path); -} - -void PreBuild::_generate_ucode_text_file() { - fs::path ucodeTextPath = _settings.pathToAsm / "assets/ucode_text.s"; - WritableAsmInclude text; - - text.write_comment("This file is automatically generated. Any changes you make to this file will get overwritten."); - text.write_newline(); - - text.write_include("macros.inc"); - text.write_newline(); - - // TODO: Refactor this! - _write_ucode_file_glabel(text, "aspMainTextStart", "ucode/ucode_audio.bin"); - _write_ucode_file_glabel(text, "rspF3DDKRBootStart", "ucode/ucode_boot.bin"); - _write_ucode_file_glabel(text, "rspF3DDKRDramStart", "ucode/ucode_f3ddkr_dram.bin"); - _write_ucode_file_glabel(text, "rspF3DDKRFifoStart", "ucode/ucode_f3ddkr_fifo.bin"); - _write_ucode_file_glabel(text, "rspF3DDKRXbusStart", "ucode/ucode_f3ddkr_xbus.bin"); - _write_ucode_file_glabel(text, "rspUnknown2Start", "ucode/ucode_unknown_2.bin"); - - text.save(ucodeTextPath); -} - -void PreBuild::_generate_ucode_data_file() { - fs::path ucodeDataPath = _settings.pathToAsm / "assets/ucode_data.s"; - WritableAsmInclude data; - - data.write_comment("This file is automatically generated. Any changes you make to this file will get overwritten."); - data.write_newline(); - - data.write_include("macros.inc"); - data.write_newline(); - - // TODO: Refactor this! - _write_ucode_file_glabel(data, "aspMainDataStart", "ucode/data_audio.bin"); - _write_ucode_file_glabel(data, "rspF3DDKRDataDramStart", "ucode/data_f3ddkr_dram.bin"); - _write_ucode_file_glabel(data, "rspF3DDKRDataFifoStart", "ucode/data_f3ddkr_fifo.bin"); - _write_ucode_file_glabel(data, "rspF3DDKRDataXbusStart", "ucode/data_f3ddkr_xbus.bin"); - _write_ucode_file_glabel(data, "rspUnknown2DataStart", "ucode/data_unknown_2.bin"); - - data.save(ucodeDataPath); -} - -void PreBuild::_generate_ucode_files() { - _generate_ucode_text_file(); - _generate_ucode_data_file(); -} - diff --git a/tools/dkr_assets_tool_src/prebuild/prebuild.h b/tools/dkr_assets_tool_src/prebuild/prebuild.h index 6dea5f9e..e8a787e0 100644 --- a/tools/dkr_assets_tool_src/prebuild/prebuild.h +++ b/tools/dkr_assets_tool_src/prebuild/prebuild.h @@ -5,7 +5,6 @@ #include #include "misc/settings.hpp" -#include "prebuild/linker/ld.h" #include "helpers/fileHelper.h" #include "helpers/asmHeader.h" @@ -22,33 +21,5 @@ public: private: DkrAssetsSettings &_settings; - std::vector _lateDataFiles; - std::vector _bssLibOrderFiles; - std::map _codeFiles; // Sorted by ram address - std::mutex _codeFilesMutex; - - fs::path _buildFolder, _buildAsm, _buildSrc, _buildLibAsm, _buildLibSrc; - - void _write_files_to_section(WritableLD &ld, const std::string §ionName); - - void _write_ld_boot_section(WritableLD &ld); - void _write_main_section(WritableLD &ld); - void _write_ucode_text_section(WritableLD &ld); - void _write_data_section(WritableLD &ld); - void _write_rodata_section(WritableLD &ld); - void _write_ucode_data_section(WritableLD &ld); - void _write_bss_section(WritableLD &ld); - void _write_assets_section(WritableLD &ld); - void _write_discard_section(WritableLD &ld); - - void _append_files(const std::string inPath, const std::string extension, const std::string outPath); - void _check_file_for_ram_pos(fs::path &filepath); - void _get_code_files(); - void _populate_filepaths(); - - void _generate_ld(); - void _write_ucode_file_glabel(WritableAsmInclude &asmInc, std::string label, std::string path); - void _generate_ucode_text_file(); - void _generate_ucode_data_file(); - void _generate_ucode_files(); + fs::path _buildFolder; }; diff --git a/tools/python/first_diff.py b/tools/first_diff.py similarity index 91% rename from tools/python/first_diff.py rename to tools/first_diff.py index 1c6a2b70..09bff509 100644 --- a/tools/python/first_diff.py +++ b/tools/first_diff.py @@ -40,10 +40,10 @@ def firstDiffMain(): args = parser.parse_args() - buildFolder = Path("build") / Path("us_1.0") + buildFolder = Path("build") - BUILTROM = buildFolder / f"dkr.z64" - BUILTMAP = buildFolder / f"dkr.map" + BUILTROM = buildFolder / f"dkr.{args.region}.{args.version}.z64" + BUILTMAP = buildFolder / f"dkr.{args.region}.{args.version}.map" EXPECTEDROM = "expected" / BUILTROM EXPECTEDMAP = "expected" / BUILTMAP diff --git a/tools/format.py b/tools/format.py index 13e68900..cd6d0f09 100755 --- a/tools/format.py +++ b/tools/format.py @@ -29,7 +29,7 @@ APPLY_OPTS = "" # Compiler options used with Clang-Tidy # Normal warnings are disabled with -Wno-everything to focus only on tidying -INCLUDES = "-Iinclude -Isrc -Ibuild -I. -Ilib/src -Iinclude/libc -Iinclude/PR -Iinclude/sys -Ilib/src -Ilib/src/audio -Ilib/src/debug -Ilib/src/gu -Ilib/src/libc -Ilib/src/os" +INCLUDES = "-Iinclude -Isrc -Ibuild -I. -Ilib/src" DEFINES = "-D_LANGUAGE_C -DNON_MATCHING -D_MIPS_SZLONG=32 -DNON_EQUIVALENT" COMPILER_OPTS = f"-fno-builtin -std=gnu90 -m32 -Wno-everything {INCLUDES} {DEFINES}" diff --git a/tools/ido-static-recomp b/tools/ido-static-recomp deleted file mode 160000 index d6dd7fde..00000000 --- a/tools/ido-static-recomp +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d6dd7fdea26cfe89dd01d7545618d4a9ae4f690a diff --git a/tools/m2c b/tools/m2c new file mode 160000 index 00000000..f29e5917 --- /dev/null +++ b/tools/m2c @@ -0,0 +1 @@ +Subproject commit f29e59172f4b1ab6a11edbae20d6d7a3bec503f9 diff --git a/tools/m2ctx.py b/tools/m2ctx.py new file mode 100644 index 00000000..fe87572d --- /dev/null +++ b/tools/m2ctx.py @@ -0,0 +1,102 @@ +#!/usr/bin/env python3 + +import argparse +import os +import sys +import subprocess +import tempfile + +script_dir = os.path.dirname(os.path.realpath(__file__)) +root_dir = os.path.abspath(os.path.join(script_dir, "..")) +src_dir = root_dir + "src/" + +# Project-specific +CPP_FLAGS = [ + "-Iinclude", + "-Iinclude/libc", + "-Iinclude/PR", + "-Iinclude/sys", + "-Iassets", + "-Isrc", + "-Ilibultra", + "-Ilibultra/src/gu", + "-Ilibultra/src/libc", + "-Ilibultra/src/io", + "-Ilibultra/src/sc", + "-Ilibultra/src/audio", + "-Ilibultra/src/os", + "-D_LANGUAGE_C", + "-DF3DDKR_GBI", + "-D_MIPS_SZLONG=32", + "-DBUILD_VERSION=4", + "-DTARGET_N64", + "-D_FINALROM", + "-DNDEBUG", + "-DVERSION_us_v1", + "-DANTI_TAMPER", + "-D BUILD_VERSION_STRING=\"2.0G\"", + "-DM2CTX", + "-D__sgi", + "-U__GNUC__", +] + +def import_c_file(in_file) -> str: + in_file = os.path.relpath(in_file, root_dir) + + cpp_command = ["gcc", "-E", "-P", "-dD", *CPP_FLAGS, in_file] + + with tempfile.NamedTemporaryFile(suffix=".c") as tmp: + stock_macros = subprocess.check_output(["gcc", "-E", "-P", "-dM", tmp.name], cwd=root_dir, encoding="utf-8") + + try: + out_text = subprocess.check_output(cpp_command, cwd=root_dir, encoding="utf-8") + except subprocess.CalledProcessError: + print( + "Failed to preprocess input file, when running command:\n" + + " ".join(cpp_command), + file=sys.stderr, + ) + sys.exit(1) + + if not out_text: + print("Output is empty - aborting") + sys.exit(1) + + defines = {} + source_lines = [] + for line in out_text.splitlines(keepends=True): + if line.startswith("#define"): + sym = line.split()[1].split("(")[0] + defines[sym] = line + elif line.startswith("#undef"): + sym = line.split()[1] + if sym in defines: + del defines[sym] + else: + source_lines.append(line) + + for line in stock_macros.strip().splitlines(): + sym = line.split()[1].split("(")[0] + if sym in defines: + del defines[sym] + + return "".join(defines.values()) + "".join(source_lines) + +def main(): + parser = argparse.ArgumentParser( + description="""Create a context file which can be used for m2c / decomp.me""" + ) + parser.add_argument( + "c_file", + help="""File from which to create context""", + ) + args = parser.parse_args() + + output = import_c_file(args.c_file) + + with open(os.path.join(root_dir, "ctx.c"), "w", encoding="UTF-8") as f: + f.write(output) + + +if __name__ == "__main__": + main() diff --git a/tools/n64crc.c b/tools/n64crc.c index 630ad55a..84628f88 100644 --- a/tools/n64crc.c +++ b/tools/n64crc.c @@ -25,13 +25,15 @@ #include #include +#include -#define NO_COL "\x1B[0m" -#define RED "\x1B[31m" -#define GREEN "\x1B[32m" -#define BLUE "\x1B[34m" -#define YELLOW "\x1B[33m" +#define COLORIZE(color) ((colorize) ? color : "") +#define NO_COL COLORIZE("\x1B[0m") +#define RED COLORIZE("\x1B[31m") +#define GREEN COLORIZE("\x1B[32m") +#define BLUE COLORIZE("\x1B[34m") +#define YELLOW COLORIZE("\x1B[33m") #define ROL(i, b) (((i) << (b)) | ((i) >> (32 - (b)))) #define BYTES2LONG(b) ( (b)[0] << 24 | \ @@ -96,7 +98,7 @@ int N64GetCIC(unsigned char *data) { case 0xACC8580A: return 6106; } - return 6105; + return 0; } int N64CalcCRC(unsigned int *crc, unsigned char *data) { @@ -165,13 +167,16 @@ int main(int argc, char **argv) { int cic; unsigned int crc[2]; unsigned char *buffer; + char colorize_arg[20]; + unsigned char colorize = 0; //Init CRC algorithm gen_table(); //Check args - if (argc != 2) { - printf("Usage: n64sums \n"); + if (argc != 2 && argc != 3) { + printf("argc: %d\n", argc); + printf("Usage: n64crc <-c>\n"); return 1; } @@ -181,6 +186,20 @@ int main(int argc, char **argv) { return 1; } + //Check for colorize flag + if (argc == 3) { + if (strlen(argv[2]) > 2) { + printf("colorize flag: %s is too long!\n", argv[2]); + return 1; + } + else { + strcpy(colorize_arg, argv[2]); + if (strcmp(colorize_arg, "-c") == 0) { + colorize = 1; + } + } + } + //Allocate memory if (!(buffer = (unsigned char*)malloc((CHECKSUM_START + CHECKSUM_LENGTH)))) { printf("Unable to allocate %d bytes of memory\n", (CHECKSUM_START + CHECKSUM_LENGTH)); diff --git a/tools/permuter_settings.toml b/tools/permuter_settings.toml index 9f238908..9b0d7080 100644 --- a/tools/permuter_settings.toml +++ b/tools/permuter_settings.toml @@ -6,6 +6,7 @@ compiler_type = "ido" "gs[DS]P.*" = "void" "gDma.*" = "void" "gDkr.*" = "void" +"numberOfGfxCommands" = "unsigned int" "fast3d_cmd" = "void" "OS_PHYSICAL_TO_K0" = "void *" "_SHIFTL" = "unsigned int" @@ -26,4 +27,4 @@ compiler_type = "ido" "COLOUR_TAG_.*" = "unsigned int" [decompme.compilers] -"tools/ido-static-recomp/build/5.3/out/cc" = "ido5.3" +"tools/ido-recomp/linux/cc" = "ido5.3" diff --git a/tools/python/CopyRom.py b/tools/python/CopyRom.py new file mode 100755 index 00000000..eb0bcca9 --- /dev/null +++ b/tools/python/CopyRom.py @@ -0,0 +1,44 @@ +#!/usr/bin/python3 + +import sys + +NBYTES = 0x120000 + +def get_files(rom_file, mask_file): + total = 0 + value = 0 + while True: + # Read a block of bytes instead of a single byte + total = rom_file.read(4096) + if not total: + break + value += len(total) + mask_file.write(total) + return value + +def write_dummy(out_file, n): + + # Write in blocks of 4096 bytes instead of 1 byte + for _ in range(n//4096): + out_file.write(b'\xff' * 4096) + + # write remaining bytes + out_file.write(b'\xff' * (n % 4096)) + +def main(): + if len(sys.argv) != 3: + print("CopyRom ROM_file MASK_file", file=sys.stderr) + sys.exit(1) + try: + with open(sys.argv[1], 'rb') as rom_file, open(sys.argv[2], 'wb') as mask_file: + total = get_files(rom_file, mask_file) + if total < NBYTES: + write_dummy(mask_file, NBYTES - total) + sys.exit(1) + except OSError as e: + print(e, file=sys.stderr) + sys.exit(1) + +if __name__ == '__main__': + main() + diff --git a/tools/python/calc_func_checksums.py b/tools/python/calc_func_checksums.py index 4187838c..dd4ce16f 100644 --- a/tools/python/calc_func_checksums.py +++ b/tools/python/calc_func_checksums.py @@ -4,11 +4,11 @@ import sys from file_util import FileUtil -VERSION = sys.argv[1] +REGION = sys.argv[1] +VERSION = sys.argv[2] -BUILD_DIR = 'build/' + VERSION -MAP_FILEPATH = BUILD_DIR + '/dkr.map' -ROM_FILEPATH = BUILD_DIR + '/dkr.z64' +MAP_FILEPATH = f'build/dkr.{REGION}.{VERSION}.map' +ROM_FILEPATH = f'build/dkr.{REGION}.{VERSION}.z64' FUNCTIONS_TO_CALC = [ # function checksum variable func size variable diff --git a/tools/python/check_if_need_to_extract.py b/tools/python/check_if_need_to_extract.py index 17ff53fc..1f746934 100644 --- a/tools/python/check_if_need_to_extract.py +++ b/tools/python/check_if_need_to_extract.py @@ -11,8 +11,7 @@ args = parser.parse_args() version = args.version extractConfigsDirectory = './extract-ver' -assetsDirectory = './assets' -ucodeDirectory = './assets' +assetsDirectory = './assets/.vanilla' extractConfigFilename = extractConfigsDirectory + '/' + version + '.config.json' configChecksumFilename = extractConfigFilename + '.md5' @@ -24,9 +23,7 @@ def do_extraction(reason): print(reason) if not FileUtil.does_file_exist(assetsDirectory): - do_extraction("Extracting because /assets/ directory does not exist.") -elif not FileUtil.does_file_exist(ucodeDirectory): - do_extraction("Extracting because /ucode/ directory does not exist.") + do_extraction("Extracting because /assets/.vanilla/ directory does not exist.") elif not FileUtil.does_file_exist(configChecksumFilename): do_extraction('Extracting because "' + configChecksumFilename + '" does not exist.') else: @@ -44,8 +41,5 @@ def run_until_done(args, hide=False): if needToExtract: md5Calculated = hashlib.md5(FileUtil.get_bytes_from_file(extractConfigFilename)).hexdigest() FileUtil.write_text_to_file(configChecksumFilename, md5Calculated) - run_until_done(['make', 'clean']) - run_until_done(['rm', '-Rf', 'assets']) - run_until_done(['rm', '-Rf', 'ucode']) run_until_done(['./extract.sh', version], True) \ No newline at end of file diff --git a/tools/python/check_undefined_syms.py b/tools/python/check_undefined_syms.py deleted file mode 100644 index a4096be4..00000000 --- a/tools/python/check_undefined_syms.py +++ /dev/null @@ -1,37 +0,0 @@ -import subprocess -import sys - -syms = None - -def main(): - load_syms() - index = 0 - while index < len(syms): - index = test_index(index) - print('Done!') - -def load_syms(): - global syms - with open('undefined_syms.txt', 'r') as inFile: - syms = inFile.read().split('\n') - -def save_syms(): - with open('undefined_syms.txt', 'w') as outFile: - outFile.write('\n'.join(syms)) - -def test_index(index): - val = syms.pop(index) - save_syms() - command = subprocess.run(['make', 'clean'], capture_output=True) - command = subprocess.run(['make', '-j12'], capture_output=True) - out = str(command.stdout)[-5:] - if out.startswith('OK'): - print(val + ' is NOT needed! Removing!') - return index - else: - print(val + ' is needed! Keeping!') - syms.insert(index, val) - save_syms() - return index + 1 - -main() diff --git a/tools/python/diff.py b/tools/python/diff.py deleted file mode 100644 index 33f28c90..00000000 --- a/tools/python/diff.py +++ /dev/null @@ -1,3454 +0,0 @@ -#!/usr/bin/env python3 -# PYTHON_ARGCOMPLETE_OK -import argparse -import enum -import sys -from typing import ( - Any, - Callable, - Dict, - Iterator, - List, - Match, - NoReturn, - Optional, - Pattern, - Set, - Tuple, - Type, - Union, -) - - -def fail(msg: str) -> NoReturn: - print(msg, file=sys.stderr) - sys.exit(1) - - -def static_assert_unreachable(x: NoReturn) -> NoReturn: - raise Exception("Unreachable! " + repr(x)) - - -class DiffMode(enum.Enum): - SINGLE = "single" - SINGLE_BASE = "single_base" - NORMAL = "normal" - THREEWAY_PREV = "3prev" - THREEWAY_BASE = "3base" - - -# ==== COMMAND-LINE ==== - -if __name__ == "__main__": - # Prefer to use diff_settings.py from the current working directory - sys.path.insert(0, ".") - try: - import diff_settings - except ModuleNotFoundError: - fail("Unable to find diff_settings.py in the same directory.") - sys.path.pop(0) - - try: - import argcomplete - except ModuleNotFoundError: - argcomplete = None - - parser = argparse.ArgumentParser( - description="Diff MIPS, PPC, AArch64, or ARM32 assembly." - ) - - start_argument = parser.add_argument( - "start", - help="Function name or address to start diffing from.", - ) - - if argcomplete: - - def complete_symbol( - prefix: str, parsed_args: argparse.Namespace, **kwargs: object - ) -> List[str]: - if not prefix or prefix.startswith("-"): - # skip reading the map file, which would - # result in a lot of useless completions - return [] - config: Dict[str, Any] = {} - diff_settings.apply(config, parsed_args) # type: ignore - mapfile = config.get("mapfile") - if not mapfile: - return [] - completes = [] - with open(mapfile) as f: - data = f.read() - # assume symbols are prefixed by a space character - search = f" {prefix}" - pos = data.find(search) - while pos != -1: - # skip the space character in the search string - pos += 1 - # assume symbols are suffixed by either a space - # character or a (unix-style) line return - spacePos = data.find(" ", pos) - lineReturnPos = data.find("\n", pos) - if lineReturnPos == -1: - endPos = spacePos - elif spacePos == -1: - endPos = lineReturnPos - else: - endPos = min(spacePos, lineReturnPos) - if endPos == -1: - match = data[pos:] - pos = -1 - else: - match = data[pos:endPos] - pos = data.find(search, endPos) - completes.append(match) - return completes - - setattr(start_argument, "completer", complete_symbol) - - parser.add_argument( - "end", - nargs="?", - help="Address to end diff at.", - ) - parser.add_argument( - "-o", - dest="diff_obj", - action="store_true", - help="""Diff .o files rather than a whole binary. This makes it possible to - see symbol names. (Recommended)""", - ) - parser.add_argument( - "-f", - "--objfile", - dest="objfile", - type=str, - help="""File path for an object file being diffed. When used - the map file isn't searched for the function given. Useful for dynamically - linked libraries.""", - ) - parser.add_argument( - "-e", - "--elf", - dest="diff_elf_symbol", - metavar="SYMBOL", - help="""Diff a given function in two ELFs, one being stripped and the other - one non-stripped. Requires objdump from binutils 2.33+.""", - ) - parser.add_argument( - "-c", - "--source", - dest="show_source", - action="store_true", - help="Show source code (if possible). Only works with -o or -e.", - ) - parser.add_argument( - "-C", - "--source-old-binutils", - dest="source_old_binutils", - action="store_true", - help="""Tweak --source handling to make it work with binutils < 2.33. - Implies --source.""", - ) - parser.add_argument( - "-j", - "--section", - dest="diff_section", - default=".text", - metavar="SECTION", - help="Diff restricted to a given output section.", - ) - parser.add_argument( - "-L", - "--line-numbers", - dest="show_line_numbers", - action="store_const", - const=True, - help="""Show source line numbers in output, when available. May be enabled by - default depending on diff_settings.py.""", - ) - parser.add_argument( - "--no-line-numbers", - dest="show_line_numbers", - action="store_const", - const=False, - help="Hide source line numbers in output.", - ) - parser.add_argument( - "--inlines", - dest="inlines", - action="store_true", - help="Show inline function calls (if possible). Only works with -o or -e.", - ) - parser.add_argument( - "--base-asm", - dest="base_asm", - metavar="FILE", - help="Read assembly from given file instead of configured base img.", - ) - parser.add_argument( - "--write-asm", - dest="write_asm", - metavar="FILE", - help="Write the current assembly output to file, e.g. for use with --base-asm.", - ) - parser.add_argument( - "-m", - "--make", - dest="make", - action="store_true", - help="Automatically run 'make' on the .o file or binary before diffing.", - ) - parser.add_argument( - "-l", - "--skip-lines", - dest="skip_lines", - metavar="LINES", - type=int, - default=0, - help="Skip the first LINES lines of output.", - ) - parser.add_argument( - "-s", - "--stop-at-ret", - dest="stop_at_ret", - action="store_true", - help="""Stop disassembling at the first return instruction. - Some functions have multiple return points, so use with care!""", - ) - parser.add_argument( - "-i", - "--ignore-large-imms", - dest="ignore_large_imms", - action="store_true", - help="Pretend all large enough immediates are the same.", - ) - parser.add_argument( - "-I", - "--ignore-addr-diffs", - dest="ignore_addr_diffs", - action="store_true", - help="Ignore address differences. Currently only affects AArch64 and ARM32.", - ) - parser.add_argument( - "-B", - "--no-show-branches", - dest="show_branches", - action="store_false", - help="Don't visualize branches/branch targets.", - ) - parser.add_argument( - "-R", - "--no-show-rodata-refs", - dest="show_rodata_refs", - action="store_false", - help="Don't show .rodata -> .text references (typically from jump tables).", - ) - parser.add_argument( - "-S", - "--base-shift", - dest="base_shift", - metavar="N", - type=str, - default="0", - help="""Diff position N in our img against position N + shift in the base img. - Arithmetic is allowed, so e.g. |-S "0x1234 - 0x4321"| is a reasonable - flag to pass if it is known that position 0x1234 in the base img syncs - up with position 0x4321 in our img. Not supported together with -o.""", - ) - parser.add_argument( - "-w", - "--watch", - dest="watch", - action="store_true", - help="""Automatically update when source/object files change. - Recommended in combination with -m.""", - ) - parser.add_argument( - "-0", - "--diff_mode=single_base", - dest="diff_mode", - action="store_const", - const=DiffMode.SINGLE_BASE, - help="""View the base asm only (not a diff).""", - ) - parser.add_argument( - "-1", - "--diff_mode=single", - dest="diff_mode", - action="store_const", - const=DiffMode.SINGLE, - help="""View the current asm only (not a diff).""", - ) - parser.add_argument( - "-3", - "--threeway=prev", - dest="diff_mode", - action="store_const", - const=DiffMode.THREEWAY_PREV, - help="""Show a three-way diff between target asm, current asm, and asm - prior to -w rebuild. Requires -w.""", - ) - parser.add_argument( - "-b", - "--threeway=base", - dest="diff_mode", - action="store_const", - const=DiffMode.THREEWAY_BASE, - help="""Show a three-way diff between target asm, current asm, and asm - when diff.py was started. Requires -w.""", - ) - parser.add_argument( - "--width", - dest="column_width", - metavar="COLS", - type=int, - default=50, - help="Sets the width of the left and right view column.", - ) - parser.add_argument( - "--algorithm", - dest="algorithm", - default="levenshtein", - choices=["levenshtein", "difflib"], - help="""Diff algorithm to use. Levenshtein gives the minimum diff, while difflib - aims for long sections of equal opcodes. Defaults to %(default)s.""", - ) - parser.add_argument( - "--max-size", - "--max-lines", - metavar="LINES", - dest="max_lines", - type=int, - default=1024, - help="The maximum length of the diff, in lines.", - ) - parser.add_argument( - "--no-pager", - dest="no_pager", - action="store_true", - help="""Disable the pager; write output directly to stdout, then exit. - Incompatible with --watch.""", - ) - parser.add_argument( - "--format", - choices=("color", "plain", "html", "json"), - default="color", - help="Output format, default is color. --format=html or json implies --no-pager.", - ) - parser.add_argument( - "-U", - "--compress-matching", - metavar="N", - dest="compress_matching", - type=int, - help="""Compress streaks of matching lines, leaving N lines of context - around non-matching parts.""", - ) - parser.add_argument( - "-V", - "--compress-sameinstr", - metavar="N", - dest="compress_sameinstr", - type=int, - help="""Compress streaks of lines with same instructions (but possibly - different regalloc), leaving N lines of context around other parts.""", - ) - - # Project-specific flags, e.g. different versions/make arguments. - add_custom_arguments_fn = getattr(diff_settings, "add_custom_arguments", None) - if add_custom_arguments_fn: - add_custom_arguments_fn(parser) - - if argcomplete: - argcomplete.autocomplete(parser) - -# ==== IMPORTS ==== - -# (We do imports late to optimize auto-complete performance.) - -import abc -import ast -from collections import Counter, defaultdict -from dataclasses import asdict, dataclass, field, replace -import difflib -import html -import itertools -import json -import os -import queue -import re -import string -import struct -import subprocess -import threading -import time -import traceback - - -MISSING_PREREQUISITES = ( - "Missing prerequisite python module {}. " - "Run `python3 -m pip install --user colorama watchdog levenshtein cxxfilt` to install prerequisites (cxxfilt only needed with --source)." -) - -try: - from colorama import Back, Fore, Style - import watchdog -except ModuleNotFoundError as e: - fail(MISSING_PREREQUISITES.format(e.name)) - -# ==== CONFIG ==== - - -@dataclass -class ProjectSettings: - arch_str: str - objdump_executable: str - objdump_flags: List[str] - build_command: List[str] - map_format: str - build_dir: str - ms_map_address_offset: int - baseimg: Optional[str] - myimg: Optional[str] - mapfile: Optional[str] - source_directories: Optional[List[str]] - source_extensions: List[str] - show_line_numbers_default: bool - disassemble_all: bool - reg_categories: Dict[str, int] - expected_dir: str - - -@dataclass -class Compress: - context: int - same_instr: bool - - -@dataclass -class Config: - arch: "ArchSettings" - - # Build/objdump options - diff_obj: bool - objfile: Optional[str] - make: bool - source_old_binutils: bool - diff_section: str - inlines: bool - max_function_size_lines: int - max_function_size_bytes: int - - # Display options - formatter: "Formatter" - diff_mode: DiffMode - base_shift: int - skip_lines: int - compress: Optional[Compress] - show_rodata_refs: bool - show_branches: bool - show_line_numbers: bool - show_source: bool - stop_at_ret: bool - ignore_large_imms: bool - ignore_addr_diffs: bool - algorithm: str - reg_categories: Dict[str, int] - - # Score options - score_stack_differences = True - penalty_stackdiff = 1 - penalty_regalloc = 5 - penalty_reordering = 60 - penalty_insertion = 100 - penalty_deletion = 100 - - -def create_project_settings(settings: Dict[str, Any]) -> ProjectSettings: - return ProjectSettings( - arch_str=settings.get("arch", "mips"), - baseimg=settings.get("baseimg"), - myimg=settings.get("myimg"), - mapfile=settings.get("mapfile"), - build_command=settings.get( - "make_command", ["make", *settings.get("makeflags", [])] - ), - source_directories=settings.get("source_directories"), - source_extensions=settings.get( - "source_extensions", [".c", ".h", ".cpp", ".hpp", ".s"] - ), - objdump_executable=get_objdump_executable(settings.get("objdump_executable")), - objdump_flags=settings.get("objdump_flags", []), - expected_dir=settings.get("expected_dir", "expected/"), - map_format=settings.get("map_format", "gnu"), - ms_map_address_offset=settings.get("ms_map_address_offset", 0), - build_dir=settings.get("build_dir", settings.get("mw_build_dir", "build/")), - show_line_numbers_default=settings.get("show_line_numbers_default", True), - disassemble_all=settings.get("disassemble_all", False), - reg_categories=settings.get("reg_categories", {}), - ) - - -def create_config(args: argparse.Namespace, project: ProjectSettings) -> Config: - arch = get_arch(project.arch_str) - - formatter: Formatter - if args.format == "plain": - formatter = PlainFormatter(column_width=args.column_width) - elif args.format == "color": - formatter = AnsiFormatter(column_width=args.column_width) - elif args.format == "html": - formatter = HtmlFormatter() - elif args.format == "json": - formatter = JsonFormatter(arch_str=arch.name) - else: - raise ValueError(f"Unsupported --format: {args.format}") - - compress = None - if args.compress_matching is not None: - compress = Compress(args.compress_matching, False) - if args.compress_sameinstr is not None: - if compress is not None: - raise ValueError( - "Cannot pass both --compress-matching and --compress-sameinstr" - ) - compress = Compress(args.compress_sameinstr, True) - - show_line_numbers = args.show_line_numbers - if show_line_numbers is None: - show_line_numbers = project.show_line_numbers_default - - return Config( - arch=arch, - # Build/objdump options - diff_obj=args.diff_obj, - objfile=args.objfile, - make=args.make, - source_old_binutils=args.source_old_binutils, - diff_section=args.diff_section, - inlines=args.inlines, - max_function_size_lines=args.max_lines, - max_function_size_bytes=args.max_lines * 4, - # Display options - formatter=formatter, - diff_mode=args.diff_mode or DiffMode.NORMAL, - base_shift=eval_int( - args.base_shift, "Failed to parse --base-shift (-S) argument as an integer." - ), - skip_lines=args.skip_lines, - compress=compress, - show_rodata_refs=args.show_rodata_refs, - show_branches=args.show_branches, - show_line_numbers=show_line_numbers, - show_source=args.show_source or args.source_old_binutils, - stop_at_ret=args.stop_at_ret, - ignore_large_imms=args.ignore_large_imms, - ignore_addr_diffs=args.ignore_addr_diffs, - algorithm=args.algorithm, - reg_categories=project.reg_categories, - ) - - -def get_objdump_executable(objdump_executable: Optional[str]) -> str: - if objdump_executable is not None: - return objdump_executable - - objdump_candidates = [ - "mips-linux-gnu-objdump", - "mips64-elf-objdump", - "mips-elf-objdump", - ] - for objdump_cand in objdump_candidates: - try: - subprocess.check_call( - [objdump_cand, "--version"], - stdout=subprocess.DEVNULL, - stderr=subprocess.DEVNULL, - ) - return objdump_cand - except subprocess.CalledProcessError: - pass - except FileNotFoundError: - pass - - return fail( - f"Missing binutils; please ensure {' or '.join(objdump_candidates)} exists, or configure objdump_executable." - ) - - -def get_arch(arch_str: str) -> "ArchSettings": - for settings in ARCH_SETTINGS: - if arch_str == settings.name: - return settings - raise ValueError(f"Unknown architecture: {arch_str}") - - -BUFFER_CMD: List[str] = ["tail", "-c", str(10**9)] - -# -S truncates long lines instead of wrapping them -# -R interprets color escape sequences -# -i ignores case when searching -# -c something about how the screen gets redrawn; I don't remember the purpose -# -#6 makes left/right arrow keys scroll by 6 characters -LESS_CMD: List[str] = ["less", "-SRic", "-#6"] - -DEBOUNCE_DELAY: float = 0.1 - -# ==== FORMATTING ==== - - -@enum.unique -class BasicFormat(enum.Enum): - NONE = enum.auto() - IMMEDIATE = enum.auto() - STACK = enum.auto() - REGISTER = enum.auto() - REGISTER_CATEGORY = enum.auto() - DELAY_SLOT = enum.auto() - DIFF_CHANGE = enum.auto() - DIFF_ADD = enum.auto() - DIFF_REMOVE = enum.auto() - SOURCE_FILENAME = enum.auto() - SOURCE_FUNCTION = enum.auto() - SOURCE_LINE_NUM = enum.auto() - SOURCE_OTHER = enum.auto() - - -@dataclass(frozen=True) -class RotationFormat: - group: str - index: int - key: str - - -Format = Union[BasicFormat, RotationFormat] -FormatFunction = Callable[[str], Format] - - -class Text: - segments: List[Tuple[str, Format]] - - def __init__(self, line: str = "", f: Format = BasicFormat.NONE) -> None: - self.segments = [(line, f)] if line else [] - - def reformat(self, f: Format) -> "Text": - return Text(self.plain(), f) - - def plain(self) -> str: - return "".join(s for s, f in self.segments) - - def __repr__(self) -> str: - return f"" - - def __bool__(self) -> bool: - return any(s for s, f in self.segments) - - def __str__(self) -> str: - # Use Formatter.apply(...) instead - return NotImplemented - - def __eq__(self, other: object) -> bool: - return NotImplemented - - def __add__(self, other: Union["Text", str]) -> "Text": - if isinstance(other, str): - other = Text(other) - result = Text() - # If two adjacent segments have the same format, merge their lines - if ( - self.segments - and other.segments - and self.segments[-1][1] == other.segments[0][1] - ): - result.segments = ( - self.segments[:-1] - + [(self.segments[-1][0] + other.segments[0][0], self.segments[-1][1])] - + other.segments[1:] - ) - else: - result.segments = self.segments + other.segments - return result - - def __radd__(self, other: Union["Text", str]) -> "Text": - if isinstance(other, str): - other = Text(other) - return other + self - - def finditer(self, pat: Pattern[str]) -> Iterator[Match[str]]: - """Replacement for `pat.finditer(text)` that operates on the inner text, - and returns the exact same matches as `Text.sub(pat, ...)`.""" - for chunk, f in self.segments: - for match in pat.finditer(chunk): - yield match - - def sub(self, pat: Pattern[str], sub_fn: Callable[[Match[str]], "Text"]) -> "Text": - result = Text() - for chunk, f in self.segments: - i = 0 - for match in pat.finditer(chunk): - start, end = match.start(), match.end() - assert i <= start <= end <= len(chunk) - sub = sub_fn(match) - if i != start: - result.segments.append((chunk[i:start], f)) - result.segments.extend(sub.segments) - i = end - if chunk[i:]: - result.segments.append((chunk[i:], f)) - return result - - def ljust(self, column_width: int) -> "Text": - length = sum(len(x) for x, _ in self.segments) - return self + " " * max(column_width - length, 0) - - -@dataclass -class TableLine: - key: Optional[str] - is_data_ref: bool - cells: Tuple[Tuple[Text, Optional["Line"]], ...] - - -@dataclass -class TableData: - headers: Tuple[Text, ...] - current_score: int - max_score: int - previous_score: Optional[int] - lines: List[TableLine] - - -class Formatter(abc.ABC): - @abc.abstractmethod - def apply_format(self, chunk: str, f: Format) -> str: - """Apply the formatting `f` to `chunk` and escape the contents.""" - ... - - @abc.abstractmethod - def table(self, data: TableData) -> str: - """Format a multi-column table with metadata""" - ... - - def apply(self, text: Text) -> str: - return "".join(self.apply_format(chunk, f) for chunk, f in text.segments) - - @staticmethod - def outputline_texts(line: TableLine) -> Tuple[Text, ...]: - return tuple(cell[0] for cell in line.cells) - - -@dataclass -class PlainFormatter(Formatter): - column_width: int - - def apply_format(self, chunk: str, f: Format) -> str: - return chunk - - def table(self, data: TableData) -> str: - rows = [data.headers] + [self.outputline_texts(line) for line in data.lines] - return "\n".join( - "".join(self.apply(x.ljust(self.column_width)) for x in row) for row in rows - ) - - -@dataclass -class AnsiFormatter(Formatter): - # Additional ansi escape codes not in colorama. See: - # https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters - STYLE_UNDERLINE = "\x1b[4m" - STYLE_NO_UNDERLINE = "\x1b[24m" - STYLE_INVERT = "\x1b[7m" - STYLE_RESET = "\x1b[0m" - - BASIC_ANSI_CODES = { - BasicFormat.NONE: "", - BasicFormat.IMMEDIATE: Fore.LIGHTBLUE_EX, - BasicFormat.STACK: Fore.YELLOW, - BasicFormat.REGISTER: Fore.YELLOW, - BasicFormat.REGISTER_CATEGORY: Fore.LIGHTYELLOW_EX, - BasicFormat.DELAY_SLOT: Fore.LIGHTBLACK_EX, - BasicFormat.DIFF_CHANGE: Fore.LIGHTBLUE_EX, - BasicFormat.DIFF_ADD: Fore.GREEN, - BasicFormat.DIFF_REMOVE: Fore.RED, - BasicFormat.SOURCE_FILENAME: Style.DIM + Style.BRIGHT, - BasicFormat.SOURCE_FUNCTION: Style.DIM + Style.BRIGHT + STYLE_UNDERLINE, - BasicFormat.SOURCE_LINE_NUM: Fore.LIGHTBLACK_EX, - BasicFormat.SOURCE_OTHER: Style.DIM, - } - - BASIC_ANSI_CODES_UNDO = { - BasicFormat.NONE: "", - BasicFormat.SOURCE_FILENAME: Style.NORMAL, - BasicFormat.SOURCE_FUNCTION: Style.NORMAL + STYLE_NO_UNDERLINE, - BasicFormat.SOURCE_OTHER: Style.NORMAL, - } - - ROTATION_ANSI_COLORS = [ - Fore.MAGENTA, - Fore.CYAN, - Fore.GREEN, - Fore.RED, - Fore.LIGHTYELLOW_EX, - Fore.LIGHTMAGENTA_EX, - Fore.LIGHTCYAN_EX, - Fore.LIGHTGREEN_EX, - Fore.LIGHTBLACK_EX, - ] - - column_width: int - - def apply_format(self, chunk: str, f: Format) -> str: - if f == BasicFormat.NONE: - return chunk - undo_ansi_code = Fore.RESET - if isinstance(f, BasicFormat): - ansi_code = self.BASIC_ANSI_CODES[f] - undo_ansi_code = self.BASIC_ANSI_CODES_UNDO.get(f, undo_ansi_code) - elif isinstance(f, RotationFormat): - ansi_code = self.ROTATION_ANSI_COLORS[ - f.index % len(self.ROTATION_ANSI_COLORS) - ] - else: - static_assert_unreachable(f) - return f"{ansi_code}{chunk}{undo_ansi_code}" - - def table(self, data: TableData) -> str: - rows = [(data.headers, False)] + [ - ( - self.outputline_texts(line), - line.is_data_ref, - ) - for line in data.lines - ] - return "\n".join( - "".join( - (self.STYLE_INVERT if is_data_ref else "") - + self.apply(x.ljust(self.column_width)) - + (self.STYLE_RESET if is_data_ref else "") - for x in row - ) - for (row, is_data_ref) in rows - ) - - -@dataclass -class HtmlFormatter(Formatter): - rotation_formats: int = 9 - - def apply_format(self, chunk: str, f: Format) -> str: - chunk = html.escape(chunk) - if f == BasicFormat.NONE: - return chunk - if isinstance(f, BasicFormat): - class_name = f.name.lower().replace("_", "-") - data_attr = "" - elif isinstance(f, RotationFormat): - class_name = f"rotation-{f.index % self.rotation_formats}" - rotation_key = html.escape(f"{f.group};{f.key}", quote=True) - data_attr = f'data-rotation="{rotation_key}"' - else: - static_assert_unreachable(f) - return f"{chunk}" - - def table(self, data: TableData) -> str: - def table_row(line: Tuple[Text, ...], is_data_ref: bool, cell_el: str) -> str: - tr_attrs = " class='data-ref'" if is_data_ref else "" - output_row = f" " - for cell in line: - cell_html = self.apply(cell) - output_row += f"<{cell_el}>{cell_html}" - output_row += "\n" - return output_row - - output = "\n" - output += " \n" - output += table_row(data.headers, False, "th") - output += " \n" - output += " \n" - output += "".join( - table_row(self.outputline_texts(line), line.is_data_ref, "td") - for line in data.lines - ) - output += " \n" - output += "
\n" - return output - - -@dataclass -class JsonFormatter(Formatter): - arch_str: str - - def apply_format(self, chunk: str, f: Format) -> str: - # This method is unused by this formatter - return NotImplemented - - def table(self, data: TableData) -> str: - def serialize_format(s: str, f: Format) -> Dict[str, Any]: - if f == BasicFormat.NONE: - return {"text": s} - elif isinstance(f, BasicFormat): - return {"text": s, "format": f.name.lower()} - elif isinstance(f, RotationFormat): - attrs = asdict(f) - attrs.update({"text": s, "format": "rotation"}) - return attrs - else: - static_assert_unreachable(f) - - def serialize(text: Optional[Text]) -> List[Dict[str, Any]]: - if text is None: - return [] - return [serialize_format(s, f) for s, f in text.segments] - - output: Dict[str, Any] = {} - output["arch_str"] = self.arch_str - output["header"] = { - name: serialize(h) - for h, name in zip(data.headers, ("base", "current", "previous")) - } - output["current_score"] = data.current_score - output["max_score"] = data.max_score - if data.previous_score is not None: - output["previous_score"] = data.previous_score - output_rows: List[Dict[str, Any]] = [] - for row in data.lines: - output_row: Dict[str, Any] = {} - output_row["key"] = row.key - output_row["is_data_ref"] = row.is_data_ref - iters: List[Tuple[str, Text, Optional[Line]]] = [ - (label, *cell) - for label, cell in zip(("base", "current", "previous"), row.cells) - ] - if all(line is None for _, _, line in iters): - # Skip rows that were only for displaying source code - continue - for column_name, text, line in iters: - column: Dict[str, Any] = {} - column["text"] = serialize(text) - if line: - if line.line_num is not None: - column["line"] = line.line_num - if line.branch_target is not None: - column["branch"] = line.branch_target - if line.source_lines: - column["src"] = line.source_lines - if line.comment is not None: - column["src_comment"] = line.comment - if line.source_line_num is not None: - column["src_line"] = line.source_line_num - if line or column["text"]: - output_row[column_name] = column - output_rows.append(output_row) - output["rows"] = output_rows - return json.dumps(output) - - -def format_fields( - pat: Pattern[str], - out1: Text, - out2: Text, - color1: FormatFunction, - color2: Optional[FormatFunction] = None, -) -> Tuple[Text, Text]: - diffs = [ - of.group() != nf.group() - for (of, nf) in zip(out1.finditer(pat), out2.finditer(pat)) - ] - - it = iter(diffs) - - def maybe_color(color: FormatFunction, s: str) -> Text: - return Text(s, color(s)) if next(it, False) else Text(s) - - out1 = out1.sub(pat, lambda m: maybe_color(color1, m.group())) - it = iter(diffs) - out2 = out2.sub(pat, lambda m: maybe_color(color2 or color1, m.group())) - - return out1, out2 - - -def symbol_formatter(group: str, base_index: int) -> FormatFunction: - symbol_formats: Dict[str, Format] = {} - - def symbol_format(s: str) -> Format: - # TODO: it would be nice to use a unique Format for each symbol, so we could - # add extra UI elements in the HTML version - f = symbol_formats.get(s) - if f is None: - index = len(symbol_formats) + base_index - f = RotationFormat(key=s, index=index, group=group) - symbol_formats[s] = f - return f - - return symbol_format - - -# ==== LOGIC ==== - -ObjdumpCommand = Tuple[List[str], str, Optional[str]] - - -def maybe_eval_int(expr: str) -> Optional[int]: - try: - ret = ast.literal_eval(expr) - if not isinstance(ret, int): - raise Exception("not an integer") - return ret - except Exception: - return None - - -def eval_int(expr: str, emsg: str) -> int: - ret = maybe_eval_int(expr) - if ret is None: - fail(emsg) - return ret - - -def eval_line_num(expr: str) -> Optional[int]: - expr = expr.strip().replace(":", "") - if expr == "": - return None - return int(expr, 16) - - -def run_make(target: str, project: ProjectSettings) -> None: - subprocess.check_call(project.build_command + [target]) - - -def run_make_capture_output( - target: str, project: ProjectSettings -) -> "subprocess.CompletedProcess[bytes]": - return subprocess.run( - project.build_command + [target], - stderr=subprocess.PIPE, - stdout=subprocess.PIPE, - ) - - -def restrict_to_function(dump: str, fn_name: str) -> str: - try: - ind = dump.index("\n", dump.index(f"<{fn_name}>:")) - return dump[ind + 1 :] - except ValueError: - return "" - - -def serialize_rodata_references(references: List[Tuple[int, int, str]]) -> str: - return "".join( - f"DATAREF {text_offset} {from_offset} {from_section}\n" - for (text_offset, from_offset, from_section) in references - ) - - -def maybe_get_objdump_source_flags(config: Config) -> List[str]: - flags = [] - - if config.show_line_numbers or config.show_source: - flags.append("--line-numbers") - - if config.show_source: - flags.append("--source") - - if not config.source_old_binutils: - flags.append("--source-comment=│ ") - - if config.inlines: - flags.append("--inlines") - - return flags - - -def run_objdump(cmd: ObjdumpCommand, config: Config, project: ProjectSettings) -> str: - flags, target, restrict = cmd - try: - out = subprocess.run( - [project.objdump_executable] - + config.arch.arch_flags - + project.objdump_flags - + flags - + [target], - check=True, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - universal_newlines=True, - ).stdout - except subprocess.CalledProcessError as e: - print(e.stdout) - print(e.stderr) - if "unrecognized option '--source-comment" in e.stderr: - fail("** Try using --source-old-binutils instead of --source **") - raise e - - obj_data: Optional[bytes] = None - if config.diff_obj: - with open(target, "rb") as f: - obj_data = f.read() - - return preprocess_objdump_out(restrict, obj_data, out, config) - - -def preprocess_objdump_out( - restrict: Optional[str], obj_data: Optional[bytes], objdump_out: str, config: Config -) -> str: - """ - Preprocess the output of objdump into a format that `process()` expects. - This format is suitable for saving to disk with `--write-asm`. - - - Optionally filter the output to a single function (`restrict`) - - Otherwise, strip objdump header (7 lines) - - Prepend .data references ("DATAREF" lines) when working with object files - """ - out = objdump_out - - if restrict is not None: - out = restrict_to_function(out, restrict) - else: - for i in range(7): - out = out[out.find("\n") + 1 :] - out = out.rstrip("\n") - - if obj_data and config.show_rodata_refs: - out = ( - serialize_rodata_references(parse_elf_rodata_references(obj_data, config)) - + out - ) - - return out - - -def search_build_objects(objname: str, project: ProjectSettings) -> Optional[str]: - objfiles = [ - os.path.join(dirpath, f) - for dirpath, _, filenames in os.walk(project.build_dir) - for f in filenames - if f == objname - ] - if len(objfiles) > 1: - all_objects = "\n".join(objfiles) - fail( - f"Found multiple objects of the same name {objname} in {project.build_dir}, " - f"cannot determine which to diff against: \n{all_objects}" - ) - if len(objfiles) == 1: - return objfiles[0] - - return None - - -def search_map_file( - fn_name: str, project: ProjectSettings, config: Config, *, for_binary: bool -) -> Tuple[Optional[str], Optional[int]]: - if not project.mapfile: - fail(f"No map file configured; cannot find function {fn_name}.") - - try: - with open(project.mapfile) as f: - contents = f.read() - except Exception: - fail(f"Failed to open map file {project.mapfile} for reading.") - - if project.map_format == "gnu": - if for_binary and "load address" not in contents: - fail( - 'Failed to find "load address" in map file. Maybe you need to add\n' - '"export LANG := C" to your Makefile to avoid localized output?' - ) - - lines = contents.split("\n") - - try: - cur_objfile = None - ram_to_rom = None - cands = [] - last_line = "" - for line in lines: - if line.startswith(" " + config.diff_section): - cur_objfile = line.split()[3] - if "load address" in line: - tokens = last_line.split() + line.split() - ram = int(tokens[1], 0) - rom = int(tokens[5], 0) - ram_to_rom = rom - ram - if line.endswith(" " + fn_name) or f" {fn_name} = 0x" in line: - ram = int(line.split()[0], 0) - if (for_binary and ram_to_rom is not None) or ( - not for_binary and cur_objfile is not None - ): - cands.append((cur_objfile, ram + (ram_to_rom or 0))) - last_line = line - except Exception as e: - traceback.print_exc() - fail(f"Internal error while parsing map file") - - if len(cands) > 1: - fail(f"Found multiple occurrences of function {fn_name} in map file.") - if len(cands) == 1: - return cands[0] - elif project.map_format == "mw": - find = re.findall( - # ram elf rom alignment - r" \S+ \S+ (\S+) (\S+) +\S+ " - + re.escape(fn_name) - + r"(?: \(entry of " - + re.escape(config.diff_section) - + r"\))? \t" - # object name - + "(\S+)", - contents, - ) - if len(find) > 1: - fail(f"Found multiple occurrences of function {fn_name} in map file.") - if len(find) == 1: - rom = int(find[0][1], 16) - objname = find[0][2] - objfile = search_build_objects(objname, project) - - # TODO Currently the ram-rom conversion only works for diffing ELF - # executables, but it would likely be more convenient to diff DOLs. - # At this time it is recommended to always use -o when running the diff - # script as this mode does not make use of the ram-rom conversion. - if objfile is not None: - return objfile, rom - elif project.map_format == "ms": - load_address_find = re.search( - r"Preferred load address is ([0-9a-f]+)", - contents, - ) - if not load_address_find: - fail(f"Couldn't find module load address in map file.") - load_address = int(load_address_find.group(1), 16) - - diff_segment_find = re.search( - r"([0-9a-f]+):[0-9a-f]+ [0-9a-f]+H " + re.escape(config.diff_section), - contents, - ) - if not diff_segment_find: - fail(f"Couldn't find segment for section in map file.") - diff_segment = diff_segment_find.group(1) - - find = re.findall( - r" (?:" - + re.escape(diff_segment) - + r")\S+\s+(?:" - + re.escape(fn_name) - + r")\s+\S+ ... \S+", - contents, - ) - if len(find) > 1: - fail(f"Found multiple occurrences of function {fn_name} in map file.") - if len(find) == 1: - names_find = re.search(r"(\S+) ... (\S+)", find[0]) - assert names_find is not None - fileofs = ( - int(names_find.group(1), 16) - - load_address - + project.ms_map_address_offset - ) - if for_binary: - return None, fileofs - - objname = names_find.group(2) - objfile = search_build_objects(objname, project) - if objfile is not None: - return objfile, fileofs - else: - fail(f"Linker map format {project.map_format} unrecognised.") - return None, None - - -def parse_elf_rodata_references( - data: bytes, config: Config -) -> List[Tuple[int, int, str]]: - e_ident = data[:16] - if e_ident[:4] != b"\x7FELF": - return [] - - SHT_SYMTAB = 2 - SHT_REL = 9 - SHT_RELA = 4 - R_MIPS_32 = 2 - R_MIPS_GPREL32 = 12 - - is_32bit = e_ident[4] == 1 - is_little_endian = e_ident[5] == 1 - str_end = "<" if is_little_endian else ">" - str_off = "I" if is_32bit else "Q" - - def read(spec: str, offset: int) -> Tuple[int, ...]: - spec = spec.replace("P", str_off) - size = struct.calcsize(spec) - return struct.unpack(str_end + spec, data[offset : offset + size]) - - ( - e_type, - e_machine, - e_version, - e_entry, - e_phoff, - e_shoff, - e_flags, - e_ehsize, - e_phentsize, - e_phnum, - e_shentsize, - e_shnum, - e_shstrndx, - ) = read("HHIPPPIHHHHHH", 16) - if e_type != 1: # relocatable - return [] - assert e_shoff != 0 - assert e_shnum != 0 # don't support > 0xFF00 sections - assert e_shstrndx != 0 - - @dataclass - class Section: - sh_name: int - sh_type: int - sh_flags: int - sh_addr: int - sh_offset: int - sh_size: int - sh_link: int - sh_info: int - sh_addralign: int - sh_entsize: int - - sections = [ - Section(*read("IIPPPPIIPP", e_shoff + i * e_shentsize)) for i in range(e_shnum) - ] - shstr = sections[e_shstrndx] - sec_name_offs = [shstr.sh_offset + s.sh_name for s in sections] - sec_names = [data[offset : data.index(b"\0", offset)] for offset in sec_name_offs] - - symtab_sections = [i for i in range(e_shnum) if sections[i].sh_type == SHT_SYMTAB] - assert len(symtab_sections) == 1 - symtab = sections[symtab_sections[0]] - - section_name = config.diff_section.encode("utf-8") - text_sections = [ - i - for i in range(e_shnum) - if sec_names[i] == section_name and sections[i].sh_size != 0 - ] - if len(text_sections) != 1: - return [] - text_section = text_sections[0] - - ret: List[Tuple[int, int, str]] = [] - for s in sections: - if s.sh_type == SHT_REL or s.sh_type == SHT_RELA: - if s.sh_info == text_section: - # Skip section_name -> section_name references - continue - sec_name = sec_names[s.sh_info].decode("latin1") - if sec_name not in (".rodata", ".late_rodata"): - continue - sec_base = sections[s.sh_info].sh_offset - for i in range(0, s.sh_size, s.sh_entsize): - if s.sh_type == SHT_REL: - r_offset, r_info = read("PP", s.sh_offset + i) - else: - r_offset, r_info, r_addend = read("PPP", s.sh_offset + i) - - if is_32bit: - r_sym = r_info >> 8 - r_type = r_info & 0xFF - sym_offset = symtab.sh_offset + symtab.sh_entsize * r_sym - st_name, st_value, st_size, st_info, st_other, st_shndx = read( - "IIIBBH", sym_offset - ) - else: - r_sym = r_info >> 32 - r_type = r_info & 0xFFFFFFFF - sym_offset = symtab.sh_offset + symtab.sh_entsize * r_sym - st_name, st_info, st_other, st_shndx, st_value, st_size = read( - "IBBHQQ", sym_offset - ) - if st_shndx == text_section: - if s.sh_type == SHT_REL: - if e_machine == 8 and r_type in (R_MIPS_32, R_MIPS_GPREL32): - (r_addend,) = read("I", sec_base + r_offset) - else: - continue - text_offset = (st_value + r_addend) & 0xFFFFFFFF - ret.append((text_offset, r_offset, sec_name)) - return ret - - -def dump_elf( - start: str, - end: Optional[str], - diff_elf_symbol: str, - config: Config, - project: ProjectSettings, -) -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: - if not project.baseimg or not project.myimg: - fail("Missing myimg/baseimg in config.") - if config.base_shift: - fail("--base-shift not compatible with -e") - - start_addr = eval_int(start, "Start address must be an integer expression.") - - if end is not None: - end_addr = eval_int(end, "End address must be an integer expression.") - else: - end_addr = start_addr + config.max_function_size_bytes - - flags1 = [ - f"--start-address={start_addr}", - f"--stop-address={end_addr}", - ] - - if project.disassemble_all: - disassemble_flag = "-D" - else: - disassemble_flag = "-d" - - flags2 = [ - f"--disassemble={diff_elf_symbol}", - ] - - objdump_flags = [disassemble_flag, "-rz", "-j", config.diff_section] - return ( - project.myimg, - (objdump_flags + flags1, project.baseimg, None), - ( - objdump_flags + flags2 + maybe_get_objdump_source_flags(config), - project.myimg, - None, - ), - ) - - -def dump_objfile( - start: str, end: Optional[str], config: Config, project: ProjectSettings -) -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: - if config.base_shift: - fail("--base-shift not compatible with -o") - if end is not None: - fail("end address not supported together with -o") - if start.startswith("0"): - fail("numerical start address not supported with -o; pass a function name") - - objfile = config.objfile - if not objfile: - objfile, _ = search_map_file(start, project, config, for_binary=False) - - if not objfile: - fail("Not able to find .o file for function.") - - if config.make: - run_make(objfile, project) - - if not os.path.isfile(objfile): - fail(f"Not able to find .o file for function: {objfile} is not a file.") - - refobjfile = os.path.join(project.expected_dir, objfile) - if config.diff_mode != DiffMode.SINGLE and not os.path.isfile(refobjfile): - fail(f'Please ensure an OK .o file exists at "{refobjfile}".') - - if project.disassemble_all: - disassemble_flag = "-D" - else: - disassemble_flag = "-d" - - objdump_flags = [disassemble_flag, "-rz", "-j", config.diff_section] - return ( - objfile, - (objdump_flags, refobjfile, start), - (objdump_flags + maybe_get_objdump_source_flags(config), objfile, start), - ) - - -def dump_binary( - start: str, end: Optional[str], config: Config, project: ProjectSettings -) -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: - if not project.baseimg or not project.myimg: - fail("Missing myimg/baseimg in config.") - if config.make: - run_make(project.myimg, project) - start_addr = maybe_eval_int(start) - if start_addr is None: - _, start_addr = search_map_file(start, project, config, for_binary=True) - if start_addr is None: - fail("Not able to find function in map file.") - if end is not None: - end_addr = eval_int(end, "End address must be an integer expression.") - else: - end_addr = start_addr + config.max_function_size_bytes - objdump_flags = ["-Dz", "-bbinary"] + ["-EB" if config.arch.big_endian else "-EL"] - flags1 = [ - f"--start-address={start_addr + config.base_shift}", - f"--stop-address={end_addr + config.base_shift}", - ] - flags2 = [f"--start-address={start_addr}", f"--stop-address={end_addr}"] - return ( - project.myimg, - (objdump_flags + flags1, project.baseimg, None), - (objdump_flags + flags2, project.myimg, None), - ) - - -# Example: "ldr r4, [pc, #56] ; (4c )" -ARM32_LOAD_POOL_PATTERN = r"(ldr\s+r([0-9]|1[0-3]),\s+\[pc,.*;\s*)(\([a-fA-F0-9]+.*\))" - - -# The base class is a no-op. -class AsmProcessor: - def __init__(self, config: Config) -> None: - self.config = config - - def pre_process( - self, mnemonic: str, args: str, next_row: Optional[str] - ) -> Tuple[str, str]: - return mnemonic, args - - def process_reloc(self, row: str, prev: str) -> Tuple[str, Optional[str]]: - return prev, None - - def normalize(self, mnemonic: str, row: str) -> str: - """This should be called exactly once for each line.""" - arch = self.config.arch - row = self._normalize_arch_specific(mnemonic, row) - if self.config.ignore_large_imms and mnemonic not in arch.branch_instructions: - row = re.sub(self.config.arch.re_large_imm, "", row) - return row - - def _normalize_arch_specific(self, mnemonic: str, row: str) -> str: - return row - - def post_process(self, lines: List["Line"]) -> None: - return - - def is_end_of_function(self, mnemonic: str, args: str) -> bool: - return False - - -class AsmProcessorMIPS(AsmProcessor): - def __init__(self, config: Config) -> None: - super().__init__(config) - self.seen_jr_ra = False - - def process_reloc(self, row: str, prev: str) -> Tuple[str, Optional[str]]: - arch = self.config.arch - if "R_MIPS_NONE" in row or "R_MIPS_JALR" in row: - # GNU as emits no-op relocations immediately after real ones when - # assembling with -mabi=64. Return without trying to parse 'imm' as an - # integer. - return prev, None - before, imm, after = parse_relocated_line(prev) - repl = row.split()[-1] + reloc_addend_from_imm(imm, before, self.config.arch) - if "R_MIPS_LO16" in row: - repl = f"%lo({repl})" - elif "R_MIPS_HI16" in row: - # Ideally we'd pair up R_MIPS_LO16 and R_MIPS_HI16 to generate a - # correct addend for each, but objdump doesn't give us the order of - # the relocations, so we can't find the right LO16. :( - repl = f"%hi({repl})" - elif "R_MIPS_26" in row: - # Function calls - pass - elif "R_MIPS_PC16" in row: - # Branch to glabel. This gives confusing output, but there's not much - # we can do here. - pass - elif "R_MIPS_GPREL16" in row: - repl = f"%gp_rel({repl})" - elif "R_MIPS_GOT16" in row: - repl = f"%got({repl})" - elif "R_MIPS_CALL16" in row: - repl = f"%call16({repl})" - else: - assert False, f"unknown relocation type '{row}' for line '{prev}'" - return before + repl + after, repl - - def is_end_of_function(self, mnemonic: str, args: str) -> bool: - if self.seen_jr_ra: - return True - if mnemonic == "jr" and args == "ra": - self.seen_jr_ra = True - return False - - -class AsmProcessorPPC(AsmProcessor): - def pre_process( - self, mnemonic: str, args: str, next_row: Optional[str] - ) -> Tuple[str, str]: - - if next_row and "R_PPC_EMB_SDA21" in next_row: - # With sda21 relocs, the linker transforms `r0` into `r2`/`r13`, and - # we may encounter this in either pre-transformed or post-transformed - # versions depending on if the .o file comes from compiler output or - # from disassembly. Normalize, to make sure both forms are treated as - # equivalent. - - args = args.replace("(r2)", "(0)") - args = args.replace("(r13)", "(0)") - args = args.replace(",r2,", ",0,") - args = args.replace(",r13,", ",0,") - - # We want to convert li and lis with an sda21 reloc, - # because the r0 to r2/r13 transformation results in - # turning an li/lis into an addi/addis with r2/r13 arg - # our preprocessing normalizes all versions to addi with a 0 arg - if mnemonic in {"li", "lis"}: - mnemonic = mnemonic.replace("li", "addi") - args_parts = args.split(",") - args = args_parts[0] + ",0," + args_parts[1] - - return mnemonic, args - - def process_reloc(self, row: str, prev: str) -> Tuple[str, Optional[str]]: - arch = self.config.arch - assert any( - r in row - for r in ["R_PPC_REL24", "R_PPC_ADDR16", "R_PPC_EMB_SDA21", "R_PPC_REL14"] - ), f"unknown relocation type '{row}' for line '{prev}'" - before, imm, after = parse_relocated_line(prev) - repl = row.split()[-1] - if "R_PPC_REL24" in row: - # function calls - pass - if "R_PPC_REL14" in row: - pass - elif "R_PPC_ADDR16_HI" in row: - # absolute hi of addr - repl = f"{repl}@h" - elif "R_PPC_ADDR16_HA" in row: - # adjusted hi of addr - repl = f"{repl}@ha" - elif "R_PPC_ADDR16_LO" in row: - # lo of addr - repl = f"{repl}@l" - elif "R_PPC_ADDR16" in row: - # 16-bit absolute addr - if "+0x7" in repl: - # remove the very large addends as they are an artifact of (label-_SDA(2)_BASE_) - # computations and are unimportant in a diff setting. - if int(repl.split("+")[1], 16) > 0x70000000: - repl = repl.split("+")[0] - elif "R_PPC_EMB_SDA21" in row: - # sda21 relocations; r2/r13 --> 0 swaps are performed in pre_process - repl = f"{repl}@sda21" - - return before + repl + after, repl - - def is_end_of_function(self, mnemonic: str, args: str) -> bool: - return mnemonic == "blr" - - -class AsmProcessorARM32(AsmProcessor): - def process_reloc(self, row: str, prev: str) -> Tuple[str, Optional[str]]: - arch = self.config.arch - if "R_ARM_V4BX" in row: - # R_ARM_V4BX converts "bx " to "mov pc," for some targets. - # Ignore for now. - return prev, None - if "R_ARM_ABS32" in row and not prev.startswith(".word"): - # Don't crash on R_ARM_ABS32 relocations incorrectly applied to code. - # (We may want to do something more fancy here that actually shows the - # related symbol, but this serves as a stop-gap.) - return prev, None - before, imm, after = parse_relocated_line(prev) - repl = row.split()[-1] + reloc_addend_from_imm(imm, before, self.config.arch) - return before + repl + after, repl - - def _normalize_arch_specific(self, mnemonic: str, row: str) -> str: - if self.config.ignore_addr_diffs: - row = self._normalize_bl(mnemonic, row) - row = self._normalize_data_pool(row) - return row - - def _normalize_bl(self, mnemonic: str, row: str) -> str: - if mnemonic != "bl": - return row - - row, _ = split_off_address(row) - return row + "" - - def _normalize_data_pool(self, row: str) -> str: - pool_match = re.search(ARM32_LOAD_POOL_PATTERN, row) - return pool_match.group(1) if pool_match else row - - def post_process(self, lines: List["Line"]) -> None: - lines_by_line_number = {} - for line in lines: - lines_by_line_number[line.line_num] = line - for line in lines: - if line.data_pool_addr is None: - continue - - # Add data symbol and its address to the line. - line_original = lines_by_line_number[line.data_pool_addr].original - value = line_original.split()[1] - addr = "{:x}".format(line.data_pool_addr) - line.original = line.normalized_original + f"={value} ({addr})" - - -class AsmProcessorAArch64(AsmProcessor): - def __init__(self, config: Config) -> None: - super().__init__(config) - self._adrp_pair_registers: Set[str] = set() - - def _normalize_arch_specific(self, mnemonic: str, row: str) -> str: - if self.config.ignore_addr_diffs: - row = self._normalize_adrp_differences(mnemonic, row) - row = self._normalize_bl(mnemonic, row) - return row - - def _normalize_bl(self, mnemonic: str, row: str) -> str: - if mnemonic != "bl": - return row - - row, _ = split_off_address(row) - return row + "" - - def _normalize_adrp_differences(self, mnemonic: str, row: str) -> str: - """Identifies ADRP + LDR/ADD pairs that are used to access the GOT and - suppresses any immediate differences. - - Whenever an ADRP is seen, the destination register is added to the set of registers - that are part of an ADRP + LDR/ADD pair. Registers are removed from the set as soon - as they are used for an LDR or ADD instruction which completes the pair. - - This method is somewhat crude but should manage to detect most such pairs. - """ - row_parts = row.split("\t", 1) - if mnemonic == "adrp": - self._adrp_pair_registers.add(row_parts[1].strip().split(",")[0]) - row, _ = split_off_address(row) - return row + "" - elif mnemonic == "ldr": - for reg in self._adrp_pair_registers: - # ldr xxx, [reg] - # ldr xxx, [reg, ] - if f", [{reg}" in row_parts[1]: - self._adrp_pair_registers.remove(reg) - return normalize_imms(row, AARCH64_SETTINGS) - elif mnemonic == "add": - for reg in self._adrp_pair_registers: - # add reg, reg, - if row_parts[1].startswith(f"{reg}, {reg}, "): - self._adrp_pair_registers.remove(reg) - return normalize_imms(row, AARCH64_SETTINGS) - - return row - - -class AsmProcessorI686(AsmProcessor): - def process_reloc(self, row: str, prev: str) -> Tuple[str, Optional[str]]: - repl = row.split()[-1] - mnemonic, args = prev.split(maxsplit=1) - - addr_imm = re.search(r"(? bool: - return mnemonic == "ret" - - -@dataclass -class ArchSettings: - name: str - re_int: Pattern[str] - re_comment: Pattern[str] - re_reg: Pattern[str] - re_sprel: Pattern[str] - re_large_imm: Pattern[str] - re_imm: Pattern[str] - re_reloc: Pattern[str] - branch_instructions: Set[str] - instructions_with_address_immediates: Set[str] - forbidden: Set[str] = field(default_factory=lambda: set(string.ascii_letters + "_")) - arch_flags: List[str] = field(default_factory=list) - branch_likely_instructions: Set[str] = field(default_factory=set) - proc: Type[AsmProcessor] = AsmProcessor - big_endian: Optional[bool] = True - delay_slot_instructions: Set[str] = field(default_factory=set) - - -MIPS_BRANCH_LIKELY_INSTRUCTIONS = { - "beql", - "bnel", - "beqzl", - "bnezl", - "bgezl", - "bgtzl", - "blezl", - "bltzl", - "bc1tl", - "bc1fl", -} -MIPS_BRANCH_INSTRUCTIONS = MIPS_BRANCH_LIKELY_INSTRUCTIONS.union( - { - "b", - "beq", - "bne", - "beqz", - "bnez", - "bgez", - "bgtz", - "blez", - "bltz", - "bc1t", - "bc1f", - } -) - -ARM32_PREFIXES = {"b", "bl"} -ARM32_CONDS = { - "", - "eq", - "ne", - "cs", - "cc", - "mi", - "pl", - "vs", - "vc", - "hi", - "ls", - "ge", - "lt", - "gt", - "le", - "al", -} -ARM32_SUFFIXES = {"", ".n", ".w"} -ARM32_BRANCH_INSTRUCTIONS = { - f"{prefix}{cond}{suffix}" - for prefix in ARM32_PREFIXES - for cond in ARM32_CONDS - for suffix in ARM32_SUFFIXES -} - -AARCH64_BRANCH_INSTRUCTIONS = { - "b", - "b.eq", - "b.ne", - "b.cs", - "b.hs", - "b.cc", - "b.lo", - "b.mi", - "b.pl", - "b.vs", - "b.vc", - "b.hi", - "b.ls", - "b.ge", - "b.lt", - "b.gt", - "b.le", - "cbz", - "cbnz", - "tbz", - "tbnz", -} - -PPC_BRANCH_INSTRUCTIONS = { - "b", - "beq", - "beq+", - "beq-", - "bne", - "bne+", - "bne-", - "blt", - "blt+", - "blt-", - "ble", - "ble+", - "ble-", - "bdnz", - "bdnz+", - "bdnz-", - "bge", - "bge+", - "bge-", - "bgt", - "bgt+", - "bgt-", -} - -I686_BRANCH_INSTRUCTIONS = { - "call", - "jmp", - "ljmp", - "ja", - "jae", - "jb", - "jbe", - "jc", - "jcxz", - "jecxz", - "jrcxz", - "je", - "jg", - "jge", - "jl", - "jle", - "jna", - "jnae", - "jnb", - "jnbe", - "jnc", - "jne", - "jng", - "jnge", - "jnl", - "jnle", - "jno", - "jnp", - "jns", - "jnz", - "jo", - "jp", - "jpe", - "jpo", - "js", - "jz", - "ja", - "jae", - "jb", - "jbe", - "jc", - "je", - "jz", - "jg", - "jge", - "jl", - "jle", - "jna", - "jnae", - "jnb", - "jnbe", - "jnc", - "jne", - "jng", - "jnge", - "jnl", - "jnle", - "jno", - "jnp", - "jns", - "jnz", - "jo", - "jp", - "jpe", - "jpo", - "js", - "jz", -} - -MIPS_SETTINGS = ArchSettings( - name="mips", - re_int=re.compile(r"[0-9]+"), - re_comment=re.compile(r"<.*>"), - # Includes: - # - General purpose registers v0..1, a0..7, t0..9, s0..8, zero, at, fp, k0..1/kt0..1 - # - Float registers f0..31, or fv0..1, fa0..7, ft0..15, fs0..8 plus odd complements - # (actually used number depends on ABI) - # sp, gp should not be in this list - re_reg=re.compile(r"\$?\b([astv][0-9]|at|f[astv]?[0-9]+f?|kt?[01]|fp|ra|zero)\b"), - re_sprel=re.compile(r"(?<=,)([0-9]+|0x[0-9a-f]+)\(sp\)"), - re_large_imm=re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}"), - re_imm=re.compile( - r"(\b|-)([0-9]+|0x[0-9a-fA-F]+)\b(?!\(sp)|%(lo|hi|got|gp_rel|call16)\([^)]*\)" - ), - re_reloc=re.compile(r"R_MIPS_"), - arch_flags=["-m", "mips:4300"], - branch_likely_instructions=MIPS_BRANCH_LIKELY_INSTRUCTIONS, - branch_instructions=MIPS_BRANCH_INSTRUCTIONS, - instructions_with_address_immediates=MIPS_BRANCH_INSTRUCTIONS.union({"j", "jal"}), - delay_slot_instructions=MIPS_BRANCH_INSTRUCTIONS.union({"j", "jal", "jr", "jalr"}), - proc=AsmProcessorMIPS, -) - -MIPSEL_SETTINGS = replace(MIPS_SETTINGS, name="mipsel", big_endian=False) - -MIPSEE_SETTINGS = replace( - MIPSEL_SETTINGS, name="mipsee", arch_flags=["-m", "mips:5900"] -) - -MIPS_ARCH_NAMES = {"mips", "mipsel", "mipsee"} - -ARM32_SETTINGS = ArchSettings( - name="arm32", - re_int=re.compile(r"[0-9]+"), - re_comment=re.compile(r"(<.*>|//.*$)"), - # Includes: - # - General purpose registers: r0..13 - # - Frame pointer registers: lr (r14), pc (r15) - # - VFP/NEON registers: s0..31, d0..31, q0..15, fpscr, fpexc, fpsid - # SP should not be in this list. - re_reg=re.compile( - r"\$?\b([rq][0-9]|[rq]1[0-5]|pc|lr|[ds][12]?[0-9]|[ds]3[01]|fp(scr|exc|sid))\b" - ), - re_sprel=re.compile(r"sp, #-?(0x[0-9a-fA-F]+|[0-9]+)\b"), - re_large_imm=re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}"), - re_imm=re.compile(r"(?|//.*$)"), - # GPRs and FP registers: X0-X30, W0-W30, [BHSDVQ]0..31 - # (FP registers may be followed by data width and number of elements, e.g. V0.4S) - # The zero registers and SP should not be in this list. - re_reg=re.compile( - r"\$?\b([bhsdvq]([12]?[0-9]|3[01])(\.\d\d?[bhsdvq])?|[xw][12]?[0-9]|[xw]30)\b" - ), - re_sprel=re.compile(r"sp, #-?(0x[0-9a-fA-F]+|[0-9]+)\b"), - re_large_imm=re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}"), - re_imm=re.compile(r"(?|//.*$)"), - # r1 not included - re_reg=re.compile(r"\$?\b([rf](?:[02-9]|[1-9][0-9]+)|f1)\b"), - re_sprel=re.compile(r"(?<=,)(-?[0-9]+|-?0x[0-9a-f]+)\(r1\)"), - re_large_imm=re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}"), - re_imm=re.compile( - r"(\b|-)([0-9]+|0x[0-9a-fA-F]+)\b(?!\(r1)|[^ \t,]+@(l|ha|h|sda21)" - ), - re_reloc=re.compile(r"R_PPC_"), - arch_flags=["-m", "powerpc", "-M", "broadway"], - branch_instructions=PPC_BRANCH_INSTRUCTIONS, - instructions_with_address_immediates=PPC_BRANCH_INSTRUCTIONS.union({"bl"}), - proc=AsmProcessorPPC, -) - -I686_SETTINGS = ArchSettings( - name="i686", - re_int=re.compile(r"[0-9]+"), - re_comment=re.compile(r"<.*>"), - # Includes: - # - (e)a-d(x,l,h) - # - (e)s,d,b(i,p)(l) - # - cr0-7 - # - x87 st - # - MMX, SSE vector registers - # - cursed registers: eal ebl ebh edl edh... - re_reg=re.compile( - r"\%?\b(e?(([sd]i|[sb]p)l?|[abcd][xhl])|[cdesfg]s|cr[0-7]|x?mm[0-7]|st)\b" - ), - re_large_imm=re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}"), - re_sprel=re.compile(r"-?(0x[0-9a-f]+|[0-9]+)(?=\((%ebp|%esi)\))"), - re_imm=re.compile(r"-?(0x[0-9a-f]+|[0-9]+)"), - re_reloc=re.compile(r"R_386_"), - # The x86 architecture has a variable instruction length. The raw bytes of - # an instruction as displayed by objdump can line wrap if it's long enough. - # This destroys the objdump output processor logic, so we avoid this. - arch_flags=["-m", "i386", "--no-show-raw-insn"], - branch_instructions=I686_BRANCH_INSTRUCTIONS, - instructions_with_address_immediates=I686_BRANCH_INSTRUCTIONS.union({"mov"}), - proc=AsmProcessorI686, -) - -ARCH_SETTINGS = [ - MIPS_SETTINGS, - MIPSEL_SETTINGS, - MIPSEE_SETTINGS, - ARM32_SETTINGS, - ARMEL_SETTINGS, - AARCH64_SETTINGS, - PPC_SETTINGS, - I686_SETTINGS, -] - - -def hexify_int(row: str, pat: Match[str], arch: ArchSettings) -> str: - full = pat.group(0) - if len(full) <= 1: - # leave one-digit ints alone - return full - start, end = pat.span() - if start and row[start - 1] in arch.forbidden: - return full - if end < len(row) and row[end] in arch.forbidden: - return full - return hex(int(full)) - - -def parse_relocated_line(line: str) -> Tuple[str, str, str]: - # Pick out the last argument - for c in ",\t ": - if c in line: - ind2 = line.rindex(c) - break - else: - raise Exception(f"failed to parse relocated line: {line}") - before = line[: ind2 + 1] - after = line[ind2 + 1 :] - # Move an optional ($reg) part of it to 'after' - ind2 = after.find("(") - if ind2 == -1: - imm, after = after, "" - else: - imm, after = after[:ind2], after[ind2:] - return before, imm, after - - -def reloc_addend_from_imm(imm: str, before: str, arch: ArchSettings) -> str: - """For architectures like MIPS where relocations have addends embedded in - the code as immediates, convert such an immediate into an addition/ - subtraction that can occur just after the symbol.""" - # TODO this is incorrect for MIPS %lo/%hi which need to be paired up - # and combined. In practice, this means we only get symbol offsets within - # %lo, while %hi just shows the symbol. Unfortunately, objdump's output - # loses relocation order, so we cannot do this without parsing ELF relocs - # ourselves... - mnemonic = before.split()[0] - if mnemonic in arch.instructions_with_address_immediates: - addend = int(imm, 16) - else: - addend = int(imm, 0) - if addend == 0: - return "" - elif addend < 0: - return hex(addend) - else: - return "+" + hex(addend) - - -def pad_mnemonic(line: str) -> str: - if "\t" not in line: - return line - mn, args = line.split("\t", 1) - return f"{mn:<7s} {args}" - - -@dataclass -class Line: - mnemonic: str - diff_row: str - original: str - normalized_original: str - scorable_line: str - symbol: Optional[str] = None - line_num: Optional[int] = None - branch_target: Optional[int] = None - data_pool_addr: Optional[int] = None - source_filename: Optional[str] = None - source_line_num: Optional[int] = None - source_lines: List[str] = field(default_factory=list) - comment: Optional[str] = None - - -def process(dump: str, config: Config) -> List[Line]: - arch = config.arch - processor = arch.proc(config) - skip_next = False - source_lines = [] - source_filename = None - source_line_num = None - - i = 0 - num_instr = 0 - data_refs: Dict[int, Dict[str, List[int]]] = defaultdict(lambda: defaultdict(list)) - output: List[Line] = [] - stop_after_delay_slot = False - lines = dump.split("\n") - while i < len(lines): - row = lines[i] - i += 1 - - if not row: - continue - - if re.match(r"^[0-9a-f]+ <.*>:$", row): - continue - - if row.startswith("DATAREF"): - parts = row.split(" ", 3) - text_offset = int(parts[1]) - from_offset = int(parts[2]) - from_section = parts[3] - data_refs[text_offset][from_section].append(from_offset) - continue - - if config.diff_obj and num_instr >= config.max_function_size_lines: - output.append( - Line( - mnemonic="...", - diff_row="...", - original="...", - normalized_original="...", - scorable_line="...", - ) - ) - break - - if not re.match(r"^\s+[0-9a-f]+:\s+", row): - # This regex is conservative, and assumes the file path does not contain "weird" - # characters like tabs or angle brackets. - if re.match(r"^[^ \t<>][^\t<>]*:[0-9]+( \(discriminator [0-9]+\))?$", row): - source_filename, _, tail = row.rpartition(":") - source_line_num = int(tail.partition(" ")[0]) - source_lines.append(row) - continue - - # If the instructions loads a data pool symbol, extract the address of - # the symbol. - data_pool_addr = None - pool_match = re.search(ARM32_LOAD_POOL_PATTERN, row) - if pool_match: - offset = pool_match.group(3).split(" ")[0][1:] - data_pool_addr = int(offset, 16) - - m_comment = re.search(arch.re_comment, row) - comment = m_comment[0] if m_comment else None - row = re.sub(arch.re_comment, "", row) - line_num_str = row.split(":")[0] - row = row.rstrip() - tabs = row.split("\t") - line_num = eval_line_num(line_num_str.strip()) - - # TODO: use --no-show-raw-insn for all arches - if arch.name == "i686": - row = "\t".join(tabs[1:]) - else: - row = "\t".join(tabs[2:]) - - if line_num in data_refs: - refs = data_refs[line_num] - ref_str = "; ".join( - section_name + "+" + ",".join(hex(off) for off in offs) - for section_name, offs in refs.items() - ) - output.append( - Line( - mnemonic="", - diff_row="", - original=ref_str, - normalized_original=ref_str, - scorable_line="", - ) - ) - - if "\t" in row: - row_parts = row.split("\t", 1) - else: - # powerpc-eabi-objdump doesn't use tabs - row_parts = [part.lstrip() for part in row.split(" ", 1)] - - mnemonic = row_parts[0].strip() - args = row_parts[1].strip() if len(row_parts) >= 2 else "" - - next_line = lines[i] if i < len(lines) else None - mnemonic, args = processor.pre_process(mnemonic, args, next_line) - row = mnemonic + "\t" + args.replace("\t", " ") - - addr = "" - if mnemonic in arch.instructions_with_address_immediates: - row, addr = split_off_address(row) - # objdump prefixes addresses with 0x/-0x if they don't resolve to some - # symbol + offset. Strip that. - addr = addr.replace("0x", "") - - row = re.sub(arch.re_int, lambda m: hexify_int(row, m, arch), row) - row += addr - - # Let 'original' be 'row' with relocations applied, while we continue - # transforming 'row' into a coarser version that ignores registers and - # immediates. - original = row - - symbol = None - while i < len(lines): - reloc_row = lines[i] - if re.search(arch.re_reloc, reloc_row): - original, reloc_symbol = processor.process_reloc(reloc_row, original) - if reloc_symbol is not None: - symbol = reloc_symbol - else: - break - i += 1 - - is_text_relative_j = False - if ( - arch.name in MIPS_ARCH_NAMES - and mnemonic == "j" - and symbol is not None - and symbol.startswith(".text") - ): - symbol = None - original = row - is_text_relative_j = True - - normalized_original = processor.normalize(mnemonic, original) - - scorable_line = normalized_original - if not config.score_stack_differences: - scorable_line = re.sub(arch.re_sprel, "addr(sp)", scorable_line) - - if skip_next: - skip_next = False - row = "" - mnemonic = "" - scorable_line = "" - if mnemonic in arch.branch_likely_instructions: - skip_next = True - - row = re.sub(arch.re_reg, "", row) - row = re.sub(arch.re_sprel, "addr(sp)", row) - row_with_imm = row - if mnemonic in arch.instructions_with_address_immediates: - row = row.strip() - row, _ = split_off_address(row) - row += "" - else: - row = normalize_imms(row, arch) - - branch_target = None - if ( - mnemonic in arch.branch_instructions or is_text_relative_j - ) and symbol is None: - x86_longjmp = re.search(r"\*(.*)\(", args) - if x86_longjmp: - capture = x86_longjmp.group(1) - if capture != "": - branch_target = int(capture, 16) - else: - branch_target = int(args.split(",")[-1], 16) - - output.append( - Line( - mnemonic=mnemonic, - diff_row=row, - original=original, - normalized_original=normalized_original, - scorable_line=scorable_line, - symbol=symbol, - line_num=line_num, - branch_target=branch_target, - data_pool_addr=data_pool_addr, - source_filename=source_filename, - source_line_num=source_line_num, - source_lines=source_lines, - comment=comment, - ) - ) - num_instr += 1 - source_lines = [] - - if config.stop_at_ret and processor.is_end_of_function(mnemonic, args): - break - - processor.post_process(output) - return output - - -def normalize_imms(row: str, arch: ArchSettings) -> str: - return re.sub(arch.re_imm, "", row) - - -def normalize_stack(row: str, arch: ArchSettings) -> str: - return re.sub(arch.re_sprel, "addr(sp)", row) - - -def check_for_symbol_mismatch( - old_line: Line, new_line: Line, symbol_map: Dict[str, str] -) -> bool: - - assert old_line.symbol is not None - assert new_line.symbol is not None - - if new_line.symbol.startswith("%hi"): - return False - - if old_line.symbol not in symbol_map: - symbol_map[old_line.symbol] = new_line.symbol - return False - elif symbol_map[old_line.symbol] == new_line.symbol: - return False - - return True - - -def field_matches_any_symbol(field: str, arch: ArchSettings) -> bool: - if arch.name == "ppc": - if "..." in field: - return True - - parts = field.rsplit("@", 1) - if len(parts) == 2 and parts[1] in {"l", "h", "ha", "sda21"}: - field = parts[0] - - return re.fullmatch((r"^@\d+$"), field) is not None - - if arch.name in MIPS_ARCH_NAMES: - return "." in field - - # Example: ".text+0x34" - if arch.name == "arm32": - return "." in field - - return False - - -def split_off_address(line: str) -> Tuple[str, str]: - """Split e.g. 'beqz $r0,1f0' into 'beqz $r0,' and '1f0'.""" - parts = line.split(",") - if len(parts) < 2: - parts = line.split(None, 1) - if len(parts) < 2: - parts.append("") - off = len(line) - len(parts[-1].strip()) - return line[:off], line[off:] - - -def diff_sequences_difflib( - seq1: List[str], seq2: List[str] -) -> List[Tuple[str, int, int, int, int]]: - differ = difflib.SequenceMatcher(a=seq1, b=seq2, autojunk=False) - return differ.get_opcodes() - - -def diff_sequences( - seq1: List[str], seq2: List[str], algorithm: str -) -> List[Tuple[str, int, int, int, int]]: - if algorithm != "levenshtein": - return diff_sequences_difflib(seq1, seq2) - - # The Levenshtein library assumes that we compare strings, not lists. Convert. - remapping: Dict[str, str] = {} - - def remap(seq: List[str]) -> str: - seq = seq[:] - for i in range(len(seq)): - val = remapping.get(seq[i]) - if val is None: - val = chr(len(remapping)) - remapping[seq[i]] = val - seq[i] = val - return "".join(seq) - - try: - rem1 = remap(seq1) - rem2 = remap(seq2) - except ValueError as e: - if len(seq1) + len(seq2) < 0x110000: - raise - # If there are too many unique elements, chr() doesn't work. - # Assume this is the case and fall back to difflib. - return diff_sequences_difflib(seq1, seq2) - - import Levenshtein - - ret: List[Tuple[str, int, int, int, int]] = Levenshtein.opcodes(rem1, rem2) - return ret - - -def diff_lines( - lines1: List[Line], - lines2: List[Line], - algorithm: str, -) -> List[Tuple[Optional[Line], Optional[Line]]]: - ret = [] - for (tag, i1, i2, j1, j2) in diff_sequences( - [line.mnemonic for line in lines1], - [line.mnemonic for line in lines2], - algorithm, - ): - for line1, line2 in itertools.zip_longest(lines1[i1:i2], lines2[j1:j2]): - if tag == "replace": - if line1 is None: - tag = "insert" - elif line2 is None: - tag = "delete" - elif tag == "insert": - assert line1 is None - elif tag == "delete": - assert line2 is None - ret.append((line1, line2)) - - return ret - - -def diff_sameline( - old_line: Line, new_line: Line, config: Config, symbol_map: Dict[str, str] -) -> Tuple[int, int, bool]: - - old = old_line.scorable_line - new = new_line.scorable_line - if old == new: - return (0, 0, False) - - num_stack_penalties = 0 - num_regalloc_penalties = 0 - has_symbol_mismatch = False - - ignore_last_field = False - if config.score_stack_differences: - oldsp = re.search(config.arch.re_sprel, old) - newsp = re.search(config.arch.re_sprel, new) - if oldsp and newsp: - oldrel = int(oldsp.group(1) or "0", 0) - newrel = int(newsp.group(1) or "0", 0) - num_stack_penalties += abs(oldrel - newrel) - ignore_last_field = True - - # Probably regalloc difference, or signed vs unsigned - - # Compare each field in order - new_parts, old_parts = new.split(None, 1), old.split(None, 1) - newfields, oldfields = new_parts[1].split(","), old_parts[1].split(",") - if ignore_last_field: - newfields = newfields[:-1] - oldfields = oldfields[:-1] - else: - # If the last field has a parenthesis suffix, e.g. "0x38(r7)" - # we split that part out to make it a separate field - # however, we don't split if it has a proceeding % macro, e.g. "%lo(.data)" - re_paren = re.compile(r"(? int: - # This logic is copied from `scorer.py` from the decomp permuter project - # https://github.com/simonlindholm/decomp-permuter/blob/main/src/scorer.py - num_stack_penalties = 0 - num_regalloc_penalties = 0 - num_reordering_penalties = 0 - num_insertion_penalties = 0 - num_deletion_penalties = 0 - deletions = [] - insertions = [] - - def diff_insert(line: str) -> None: - # Reordering or totally different codegen. - # Defer this until later when we can tell. - insertions.append(line) - - def diff_delete(line: str) -> None: - deletions.append(line) - - # Find the end of the last long streak of matching mnemonics, if it looks - # like the objdump output was truncated. This is used to skip scoring - # misaligned lines at the end of the diff. - last_mismatch = -1 - max_index = None - lines_were_truncated = False - for index, (line1, line2) in enumerate(lines): - if (line1 and line1.original == "...") or (line2 and line2.original == "..."): - lines_were_truncated = True - if line1 and line2 and line1.mnemonic == line2.mnemonic: - if index - last_mismatch >= 50: - max_index = index - else: - last_mismatch = index - if not lines_were_truncated: - max_index = None - - for index, (line1, line2) in enumerate(lines): - if max_index is not None and index > max_index: - break - if line1 and line2 and line1.mnemonic == line2.mnemonic: - sp, rp, _ = diff_sameline(line1, line2, config, symbol_map) - num_stack_penalties += sp - num_regalloc_penalties += rp - else: - if line1: - diff_delete(line1.scorable_line) - if line2: - diff_insert(line2.scorable_line) - - insertions_co = Counter(insertions) - deletions_co = Counter(deletions) - for item in insertions_co + deletions_co: - ins = insertions_co[item] - dels = deletions_co[item] - common = min(ins, dels) - num_insertion_penalties += ins - common - num_deletion_penalties += dels - common - num_reordering_penalties += common - - return ( - num_stack_penalties * config.penalty_stackdiff - + num_regalloc_penalties * config.penalty_regalloc - + num_reordering_penalties * config.penalty_reordering - + num_insertion_penalties * config.penalty_insertion - + num_deletion_penalties * config.penalty_deletion - ) - - -@dataclass(frozen=True) -class OutputLine: - base: Optional[Text] = field(compare=False) - fmt2: Text = field(compare=False) - key2: Optional[str] - boring: bool = field(compare=False) - is_data_ref: bool = field(compare=False) - line1: Optional[Line] = field(compare=False) - line2: Optional[Line] = field(compare=False) - - -@dataclass(frozen=True) -class Diff: - lines: List[OutputLine] - score: int - max_score: int - - -def trim_nops(lines: List[Line], arch: ArchSettings) -> List[Line]: - lines = lines[:] - while ( - lines - and lines[-1].mnemonic == "nop" - and (len(lines) == 1 or lines[-2].mnemonic not in arch.delay_slot_instructions) - ): - lines.pop() - return lines - - -def do_diff(lines1: List[Line], lines2: List[Line], config: Config) -> Diff: - if config.show_source: - import cxxfilt - arch = config.arch - fmt = config.formatter - output: List[OutputLine] = [] - symbol_map: Dict[str, str] = {} - - sc1 = symbol_formatter("base-reg", 0) - sc2 = symbol_formatter("my-reg", 0) - sc3 = symbol_formatter("base-stack", 4) - sc4 = symbol_formatter("my-stack", 4) - sc5 = symbol_formatter("base-branch", 0) - sc6 = symbol_formatter("my-branch", 0) - bts1: Set[int] = set() - bts2: Set[int] = set() - - if config.show_branches: - for (lines, btset, sc) in [ - (lines1, bts1, sc5), - (lines2, bts2, sc6), - ]: - for line in lines: - bt = line.branch_target - if bt is not None: - btset.add(bt) - sc(str(bt)) - - lines1 = trim_nops(lines1, arch) - lines2 = trim_nops(lines2, arch) - - diffed_lines = diff_lines(lines1, lines2, config.algorithm) - - line_num_base = -1 - line_num_offset = 0 - line_num_2to1 = {} - for (line1, line2) in diffed_lines: - if line1 is not None and line1.line_num is not None: - line_num_base = line1.line_num - line_num_offset = 0 - else: - line_num_offset += 1 - if line2 is not None and line2.line_num is not None: - line_num_2to1[line2.line_num] = (line_num_base, line_num_offset) - - for (line1, line2) in diffed_lines: - line_color1 = line_color2 = sym_color = BasicFormat.NONE - line_prefix = " " - is_data_ref = False - out1 = Text() if not line1 else Text(pad_mnemonic(line1.original)) - out2 = Text() if not line2 else Text(pad_mnemonic(line2.original)) - if line1 and line2 and line1.diff_row == line2.diff_row: - if line1.diff_row == "": - if line1.normalized_original != line2.normalized_original: - line_prefix = "i" - sym_color = BasicFormat.DIFF_CHANGE - out1 = out1.reformat(sym_color) - out2 = out2.reformat(sym_color) - is_data_ref = True - elif ( - line1.normalized_original == line2.normalized_original - and line2.branch_target is None - ): - # Fast path: no coloring needed. We don't include branch instructions - # in this case because we need to check that their targets line up in - # the diff, and don't just happen to have the are the same address - # by accident. - pass - elif line1.diff_row == "": - # Don't draw attention to differing branch-likely delay slots: they - # typically mirror the branch destination - 1 so the real difference - # is elsewhere. Still, do mark them as different to avoid confusion. - # No need to consider branches because delay slots can't branch. - out1 = out1.reformat(BasicFormat.DELAY_SLOT) - out2 = out2.reformat(BasicFormat.DELAY_SLOT) - else: - mnemonic = line1.original.split()[0] - branchless1, address1 = out1.plain(), "" - branchless2, address2 = out2.plain(), "" - if mnemonic in arch.instructions_with_address_immediates: - branchless1, address1 = split_off_address(branchless1) - branchless2, address2 = split_off_address(branchless2) - - out1 = Text(branchless1) - out2 = Text(branchless2) - out1, out2 = format_fields( - arch.re_imm, out1, out2, lambda _: BasicFormat.IMMEDIATE - ) - - if line2.branch_target is not None: - target = line2.branch_target - line2_target = line_num_2to1.get(line2.branch_target) - if line2_target is None: - # If the target is outside the disassembly, extrapolate. - # This only matters near the bottom. - assert line2.line_num is not None - line2_line = line_num_2to1[line2.line_num] - line2_target = (line2_line[0] + (target - line2.line_num), 0) - - # Adjust the branch target for scoring and three-way diffing. - norm2, norm_branch2 = split_off_address(line2.normalized_original) - if norm_branch2 != "": - retargetted = hex(line2_target[0]).replace("0x", "") - if line2_target[1] != 0: - retargetted += f"+{line2_target[1]}" - line2.normalized_original = norm2 + retargetted - sc_base, _ = split_off_address(line2.scorable_line) - line2.scorable_line = sc_base + retargetted - same_target = line2_target == (line1.branch_target, 0) - else: - # Do a naive comparison for non-branches (e.g. function calls). - same_target = address1 == address2 - - if normalize_imms(branchless1, arch) == normalize_imms( - branchless2, arch - ): - ( - stack_penalties, - regalloc_penalties, - has_symbol_mismatch, - ) = diff_sameline(line1, line2, config, symbol_map) - - if ( - regalloc_penalties == 0 - and stack_penalties == 0 - and not has_symbol_mismatch - ): - # ignore differences due to %lo(.rodata + ...) vs symbol - out1 = out1.reformat(BasicFormat.NONE) - out2 = out2.reformat(BasicFormat.NONE) - elif line2.branch_target is not None and same_target: - # same-target branch, don't color - pass - else: - # must have an imm difference (or else we would have hit the - # fast path) - sym_color = BasicFormat.IMMEDIATE - line_prefix = "i" - else: - out1, out2 = format_fields(arch.re_sprel, out1, out2, sc3, sc4) - if normalize_stack(branchless1, arch) == normalize_stack( - branchless2, arch - ): - # only stack differences (luckily stack and imm - # differences can't be combined in MIPS, so we - # don't have to think about that case) - sym_color = BasicFormat.STACK - line_prefix = "s" - else: - # reg differences and maybe imm as well - out1, out2 = format_fields(arch.re_reg, out1, out2, sc1, sc2) - cats = config.reg_categories - if cats and any( - cats.get(of.group()) != cats.get(nf.group()) - for (of, nf) in zip( - out1.finditer(arch.re_reg), out2.finditer(arch.re_reg) - ) - ): - sym_color = BasicFormat.REGISTER_CATEGORY - line_prefix = "R" - else: - sym_color = BasicFormat.REGISTER - line_prefix = "r" - line_color1 = line_color2 = sym_color - - if same_target: - address_imm_fmt = BasicFormat.NONE - else: - address_imm_fmt = BasicFormat.IMMEDIATE - out1 += Text(address1, address_imm_fmt) - out2 += Text(address2, address_imm_fmt) - elif line1 and line2: - line_prefix = "|" - line_color1 = line_color2 = sym_color = BasicFormat.DIFF_CHANGE - out1 = out1.reformat(line_color1) - out2 = out2.reformat(line_color2) - elif line1: - line_prefix = "<" - line_color1 = sym_color = BasicFormat.DIFF_REMOVE - out1 = out1.reformat(line_color1) - out2 = Text() - elif line2: - line_prefix = ">" - line_color2 = sym_color = BasicFormat.DIFF_ADD - out1 = Text() - out2 = out2.reformat(line_color2) - - if config.show_source and line2 and line2.comment: - out2 += f" {line2.comment}" - - def format_part( - out: Text, - line: Optional[Line], - line_color: Format, - btset: Set[int], - sc: FormatFunction, - ) -> Optional[Text]: - if line is None: - return None - if line.line_num is None: - return out - in_arrow = Text(" ") - out_arrow = Text() - if config.show_branches: - if line.line_num in btset: - in_arrow = Text("~>", sc(str(line.line_num))) - if line.branch_target is not None: - out_arrow = " " + Text("~>", sc(str(line.branch_target))) - formatted_line_num = Text(hex(line.line_num)[2:] + ":", line_color) - return formatted_line_num + " " + in_arrow + " " + out + out_arrow - - part1 = format_part(out1, line1, line_color1, bts1, sc5) - part2 = format_part(out2, line2, line_color2, bts2, sc6) - - if config.show_source and line2: - for source_line in line2.source_lines: - line_format = BasicFormat.SOURCE_OTHER - if config.source_old_binutils: - if source_line and re.fullmatch(".*\.c(?:pp)?:\d+", source_line): - line_format = BasicFormat.SOURCE_FILENAME - elif source_line and source_line.endswith("():"): - line_format = BasicFormat.SOURCE_FUNCTION - try: - source_line = cxxfilt.demangle( - source_line[:-3], external_only=False - ) - except: - pass - else: - # File names and function names - if source_line and source_line[0] != "│": - line_format = BasicFormat.SOURCE_FILENAME - # Function names - if source_line.endswith("():"): - line_format = BasicFormat.SOURCE_FUNCTION - try: - source_line = cxxfilt.demangle( - source_line[:-3], external_only=False - ) - except: - pass - padding = " " * 7 if config.show_line_numbers else " " * 2 - output.append( - OutputLine( - base=None, - fmt2=padding + Text(source_line, line_format), - key2=source_line, - boring=True, - is_data_ref=False, - line1=None, - line2=None, - ) - ) - - key2 = line2.normalized_original if line2 else None - boring = False - if line_prefix == " ": - boring = True - elif config.compress and config.compress.same_instr and line_prefix in "irs": - boring = True - - if config.show_line_numbers: - if line2 and line2.source_line_num is not None: - num_color = ( - BasicFormat.SOURCE_LINE_NUM - if sym_color == BasicFormat.NONE - else sym_color - ) - num2 = Text(f"{line2.source_line_num:5}", num_color) - else: - num2 = Text(" " * 5) - else: - num2 = Text() - - fmt2 = Text(line_prefix, sym_color) + num2 + " " + (part2 or Text()) - - output.append( - OutputLine( - base=part1, - fmt2=fmt2, - key2=key2, - boring=boring, - is_data_ref=is_data_ref, - line1=line1, - line2=line2, - ) - ) - - output = output[config.skip_lines :] - - score = score_diff_lines(diffed_lines, config, symbol_map) - max_score = len(lines1) * config.penalty_deletion - return Diff(lines=output, score=score, max_score=max_score) - - -def chunk_diff_lines( - diff: List[OutputLine], -) -> List[Union[List[OutputLine], OutputLine]]: - """Chunk a diff into an alternating list like A B A B ... A, where: - * A is a List[OutputLine] of insertions, - * B is a single non-insertion OutputLine, with .base != None.""" - cur_right: List[OutputLine] = [] - chunks: List[Union[List[OutputLine], OutputLine]] = [] - for output_line in diff: - if output_line.base is not None: - chunks.append(cur_right) - chunks.append(output_line) - cur_right = [] - else: - cur_right.append(output_line) - chunks.append(cur_right) - return chunks - - -def compress_matching( - li: List[Tuple[OutputLine, ...]], context: int -) -> List[Tuple[OutputLine, ...]]: - ret: List[Tuple[OutputLine, ...]] = [] - matching_streak: List[Tuple[OutputLine, ...]] = [] - context = max(context, 0) - - def flush_matching() -> None: - if len(matching_streak) <= 2 * context + 1: - ret.extend(matching_streak) - else: - ret.extend(matching_streak[:context]) - skipped = len(matching_streak) - 2 * context - filler = OutputLine( - base=Text(f"<{skipped} lines>", BasicFormat.SOURCE_OTHER), - fmt2=Text(), - key2=None, - boring=False, - is_data_ref=False, - line1=None, - line2=None, - ) - columns = len(matching_streak[0]) - ret.append(tuple([filler] * columns)) - if context > 0: - ret.extend(matching_streak[-context:]) - matching_streak.clear() - - for line in li: - if line[0].boring: - matching_streak.append(line) - else: - flush_matching() - ret.append(line) - - flush_matching() - return ret - - -def align_diffs(old_diff: Diff, new_diff: Diff, config: Config) -> TableData: - headers: Tuple[Text, ...] - diff_lines: List[Tuple[OutputLine, ...]] - padding = " " * 7 if config.show_line_numbers else " " * 2 - - if config.diff_mode in (DiffMode.THREEWAY_PREV, DiffMode.THREEWAY_BASE): - old_chunks = chunk_diff_lines(old_diff.lines) - new_chunks = chunk_diff_lines(new_diff.lines) - diff_lines = [] - empty = OutputLine(Text(), Text(), None, True, False, None, None) - assert len(old_chunks) == len(new_chunks), "same target" - for old_chunk, new_chunk in zip(old_chunks, new_chunks): - if isinstance(old_chunk, list): - assert isinstance(new_chunk, list) - if not old_chunk and not new_chunk: - # Most of the time lines sync up without insertions/deletions, - # and there's no interdiffing to be done. - continue - differ = difflib.SequenceMatcher( - a=old_chunk, b=new_chunk, autojunk=False - ) - for (tag, i1, i2, j1, j2) in differ.get_opcodes(): - if tag in ["equal", "replace"]: - for i, j in zip(range(i1, i2), range(j1, j2)): - diff_lines.append((empty, new_chunk[j], old_chunk[i])) - if tag in ["insert", "replace"]: - for j in range(j1 + i2 - i1, j2): - diff_lines.append((empty, new_chunk[j], empty)) - if tag in ["delete", "replace"]: - for i in range(i1 + j2 - j1, i2): - diff_lines.append((empty, empty, old_chunk[i])) - else: - assert isinstance(new_chunk, OutputLine) - # old_chunk.base and new_chunk.base have the same text since - # both diffs are based on the same target, but they might - # differ in color. Use the new version. - diff_lines.append((new_chunk, new_chunk, old_chunk)) - diff_lines = [ - (base, new, old if old != new else empty) for base, new, old in diff_lines - ] - headers = ( - Text("TARGET"), - Text(f"{padding}CURRENT ({new_diff.score})"), - Text(f"{padding}PREVIOUS ({old_diff.score})"), - ) - current_score = new_diff.score - max_score = new_diff.max_score - previous_score = old_diff.score - elif config.diff_mode in (DiffMode.SINGLE, DiffMode.SINGLE_BASE): - header = Text("BASE" if config.diff_mode == DiffMode.SINGLE_BASE else "CURRENT") - diff_lines = [(line,) for line in new_diff.lines] - headers = (header,) - # Scoring is disabled for view mode - current_score = 0 - max_score = 0 - previous_score = None - else: - diff_lines = [(line, line) for line in new_diff.lines] - headers = ( - Text("TARGET"), - Text(f"{padding}CURRENT ({new_diff.score})"), - ) - current_score = new_diff.score - max_score = new_diff.max_score - previous_score = None - if config.compress: - diff_lines = compress_matching(diff_lines, config.compress.context) - - def diff_line_to_table_line(line: Tuple[OutputLine, ...]) -> TableLine: - cells = [ - (line[0].base or Text(), line[0].line1) - ] - for ol in line[1:]: - cells.append((ol.fmt2, ol.line2)) - - return TableLine( - key=line[0].key2, - is_data_ref=line[0].is_data_ref, - cells=tuple(cells), - ) - - return TableData( - headers=headers, - current_score=current_score, - max_score=max_score, - previous_score=previous_score, - lines=[diff_line_to_table_line(line) for line in diff_lines], - ) - - -def debounced_fs_watch( - targets: List[str], - outq: "queue.Queue[Optional[float]]", - config: Config, - project: ProjectSettings, -) -> None: - import watchdog.events - import watchdog.observers - - class WatchEventHandler(watchdog.events.FileSystemEventHandler): - def __init__( - self, queue: "queue.Queue[float]", file_targets: List[str] - ) -> None: - self.queue = queue - self.file_targets = file_targets - - def on_modified(self, ev: object) -> None: - if isinstance(ev, watchdog.events.FileModifiedEvent): - self.changed(ev.src_path) - - def on_moved(self, ev: object) -> None: - if isinstance(ev, watchdog.events.FileMovedEvent): - self.changed(ev.dest_path) - - def should_notify(self, path: str) -> bool: - for target in self.file_targets: - if os.path.normpath(path) == target: - return True - if config.make and any( - path.endswith(suffix) for suffix in project.source_extensions - ): - return True - return False - - def changed(self, path: str) -> None: - if self.should_notify(path): - self.queue.put(time.time()) - - def debounce_thread() -> NoReturn: - listenq: "queue.Queue[float]" = queue.Queue() - file_targets: List[str] = [] - event_handler = WatchEventHandler(listenq, file_targets) - observer = watchdog.observers.Observer() - observed = set() - for target in targets: - if os.path.isdir(target): - observer.schedule(event_handler, target, recursive=True) - else: - file_targets.append(os.path.normpath(target)) - target = os.path.dirname(target) or "." - if target not in observed: - observed.add(target) - observer.schedule(event_handler, target) - observer.start() - while True: - t = listenq.get() - more = True - while more: - delay = t + DEBOUNCE_DELAY - time.time() - if delay > 0: - time.sleep(delay) - # consume entire queue - more = False - try: - while True: - t = listenq.get(block=False) - more = True - except queue.Empty: - pass - outq.put(t) - - th = threading.Thread(target=debounce_thread, daemon=True) - th.start() - - -class Display: - basedump: str - mydump: str - last_refresh_key: object - config: Config - emsg: Optional[str] - last_diff_output: Optional[Diff] - pending_update: Optional[str] - ready_queue: "queue.Queue[None]" - watch_queue: "queue.Queue[Optional[float]]" - less_proc: "Optional[subprocess.Popen[bytes]]" - - def __init__(self, basedump: str, mydump: str, config: Config) -> None: - self.config = config - self.base_lines = process(basedump, config) - self.mydump = mydump - self.emsg = None - self.last_refresh_key = None - self.last_diff_output = None - - def run_diff(self) -> Tuple[str, object]: - if self.emsg is not None: - return (self.emsg, self.emsg) - - my_lines = process(self.mydump, self.config) - - if self.config.diff_mode == DiffMode.SINGLE_BASE: - diff_output = do_diff(self.base_lines, self.base_lines, self.config) - elif self.config.diff_mode == DiffMode.SINGLE: - diff_output = do_diff(my_lines, my_lines, self.config) - else: - diff_output = do_diff(self.base_lines, my_lines, self.config) - - last_diff_output = self.last_diff_output or diff_output - if self.config.diff_mode != DiffMode.THREEWAY_BASE or not self.last_diff_output: - self.last_diff_output = diff_output - - data = align_diffs(last_diff_output, diff_output, self.config) - output = self.config.formatter.table(data) - - refresh_key = ( - [line.key2 for line in diff_output.lines], - diff_output.score, - ) - - return (output, refresh_key) - - def run_less( - self, output: str - ) -> "Tuple[subprocess.Popen[bytes], subprocess.Popen[bytes]]": - # Pipe the output through 'tail' and only then to less, to ensure the - # write call doesn't block. ('tail' has to buffer all its input before - # it starts writing.) This also means we don't have to deal with pipe - # closure errors. - buffer_proc = subprocess.Popen( - BUFFER_CMD, stdin=subprocess.PIPE, stdout=subprocess.PIPE - ) - less_proc = subprocess.Popen(LESS_CMD, stdin=buffer_proc.stdout) - assert buffer_proc.stdin - assert buffer_proc.stdout - buffer_proc.stdin.write(output.encode()) - buffer_proc.stdin.close() - buffer_proc.stdout.close() - return (buffer_proc, less_proc) - - def run_sync(self) -> None: - output, _ = self.run_diff() - proca, procb = self.run_less(output) - procb.wait() - proca.wait() - - def run_async(self, watch_queue: "queue.Queue[Optional[float]]") -> None: - self.watch_queue = watch_queue - self.ready_queue = queue.Queue() - self.pending_update = None - output, refresh_key = self.run_diff() - self.last_refresh_key = refresh_key - dthread = threading.Thread(target=self.display_thread, args=(output,)) - dthread.start() - self.ready_queue.get() - - def display_thread(self, initial_output: str) -> None: - proca, procb = self.run_less(initial_output) - self.less_proc = procb - self.ready_queue.put(None) - while True: - ret = procb.wait() - proca.wait() - self.less_proc = None - if ret != 0: - # fix the terminal - os.system("tput reset") - if ret != 0 and self.pending_update is not None: - # killed by program with the intent to refresh - output = self.pending_update - self.pending_update = None - proca, procb = self.run_less(output) - self.less_proc = procb - self.ready_queue.put(None) - else: - # terminated by user, or killed - self.watch_queue.put(None) - self.ready_queue.put(None) - break - - def progress(self, msg: str) -> None: - # Write message to top-left corner - sys.stdout.write("\x1b7\x1b[1;1f{}\x1b8".format(msg + " ")) - sys.stdout.flush() - - def update(self, text: str, error: bool) -> None: - if not error and not self.emsg and text == self.mydump: - self.progress("Unchanged. ") - return - if not error: - self.mydump = text - self.emsg = None - else: - self.emsg = text - output, refresh_key = self.run_diff() - if refresh_key == self.last_refresh_key: - self.progress("Unchanged. ") - return - self.last_refresh_key = refresh_key - self.pending_update = output - if not self.less_proc: - return - self.less_proc.kill() - self.ready_queue.get() - - def terminate(self) -> None: - if not self.less_proc: - return - self.less_proc.kill() - self.ready_queue.get() - - -def main() -> None: - args = parser.parse_args() - - # Apply project-specific configuration. - settings: Dict[str, Any] = {} - diff_settings.apply(settings, args) # type: ignore - project = create_project_settings(settings) - - try: - config = create_config(args, project) - except ValueError as e: - fail(str(e)) - - if config.algorithm == "levenshtein": - try: - import Levenshtein - except ModuleNotFoundError as e: - fail(MISSING_PREREQUISITES.format(e.name)) - - if config.show_source: - try: - import cxxfilt - except ModuleNotFoundError as e: - fail(MISSING_PREREQUISITES.format(e.name)) - - if ( - config.diff_mode in (DiffMode.THREEWAY_BASE, DiffMode.THREEWAY_PREV) - and not args.watch - ): - fail("Threeway diffing requires -w.") - - if args.diff_elf_symbol: - make_target, basecmd, mycmd = dump_elf( - args.start, args.end, args.diff_elf_symbol, config, project - ) - elif config.diff_obj: - make_target, basecmd, mycmd = dump_objfile( - args.start, args.end, config, project - ) - else: - make_target, basecmd, mycmd = dump_binary(args.start, args.end, config, project) - - map_build_target_fn = getattr(diff_settings, "map_build_target", None) - if map_build_target_fn: - make_target = map_build_target_fn(make_target=make_target) - - if args.write_asm is not None: - mydump = run_objdump(mycmd, config, project) - with open(args.write_asm, "w") as f: - f.write(mydump) - print(f"Wrote assembly to {args.write_asm}.") - sys.exit(0) - - if args.base_asm is not None: - with open(args.base_asm) as f: - basedump = f.read() - elif config.diff_mode != DiffMode.SINGLE: - basedump = run_objdump(basecmd, config, project) - else: - basedump = "" - - mydump = run_objdump(mycmd, config, project) - - display = Display(basedump, mydump, config) - - if args.no_pager or args.format in ("html", "json"): - print(display.run_diff()[0]) - elif not args.watch: - display.run_sync() - else: - if not args.make: - yn = input( - "Warning: watch-mode (-w) enabled without auto-make (-m). " - "You will have to run make manually. Ok? (Y/n) " - ) - if yn.lower() == "n": - return - if args.make: - watch_sources = None - watch_sources_for_target_fn = getattr( - diff_settings, "watch_sources_for_target", None - ) - if watch_sources_for_target_fn: - watch_sources = watch_sources_for_target_fn(make_target) - watch_sources = watch_sources or project.source_directories - if not watch_sources: - fail("Missing source_directories config, don't know what to watch.") - else: - watch_sources = [make_target] - q: "queue.Queue[Optional[float]]" = queue.Queue() - debounced_fs_watch(watch_sources, q, config, project) - display.run_async(q) - last_build = 0.0 - try: - while True: - t = q.get() - if t is None: - break - if t < last_build: - continue - last_build = time.time() - if args.make: - display.progress("Building...") - ret = run_make_capture_output(make_target, project) - if ret.returncode != 0: - display.update( - ret.stderr.decode("utf-8-sig", "replace") - or ret.stdout.decode("utf-8-sig", "replace"), - error=True, - ) - continue - mydump = run_objdump(mycmd, config, project) - display.update(mydump, error=False) - except KeyboardInterrupt: - display.terminate() - - -if __name__ == "__main__": - main() diff --git a/tools/python/diff_settings.py b/tools/python/diff_settings.py deleted file mode 100644 index 689e3644..00000000 --- a/tools/python/diff_settings.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env python3 - -def add_custom_arguments(parser): - group = parser.add_mutually_exclusive_group(required=False) - group.add_argument('-jp', dest='version', action='store_const', const='jp', - help="Set version to JP.") - group.add_argument('-us', dest='version', action='store_const', const='us', - help="Set version to US.") - group.add_argument('-eu', dest='version', action='store_const', const='eu', - help="Set version to EU.") - -def apply(config, args): - version = 'us_1.0' # Right now only us_1.0 is supported - config['mapfile'] = f'build/' + version + '/dkr.map' - config['myimg'] = f'build/' + version + '/dkr.z64' - config['baseimg'] = find_baserom(version) - config['source_directories'] = ['src'] - -######################################################################################## - -from os import listdir -from os.path import isfile, join - -CRCS = { - 'us_1.0': (0x53D440E7, 0x7519B011) -} - -def get_filenames_from_directory(directory, extensions=None): - if extensions is None: - return [f for f in listdir(directory) if isfile(join(directory, f))] - else: - return [f for f in listdir(directory) if isfile(join(directory, f)) and f.endswith(extensions)] - -def get_rom_crcs(romPath): - with open(romPath, 'rb') as inFile: - rom = inFile.read() - crc1 = int.from_bytes(rom[0x10:0x14], "big") - crc2 = int.from_bytes(rom[0x14:0x18], "big") - return (crc1, crc2) - -def find_baserom(version): - romFiles = get_filenames_from_directory('baseroms/', ('.z64',)) - for romFilename in romFiles: - romFilepath = 'baseroms/' + romFilename - if get_rom_crcs(romFilepath) == CRCS[version]: - return romFilepath - raise Exception('Could not find a rom file for the version: "' + version + '"') - -######################################################################################## diff --git a/tools/python/extract_config.py b/tools/python/extract_config.py deleted file mode 100644 index e1a84554..00000000 --- a/tools/python/extract_config.py +++ /dev/null @@ -1,89 +0,0 @@ -import re - -class ConfigRange: - def __init__(self, size, type, properties): - self.size = size - self.type = type.lower() - self.properties = properties - self.start = -1 - - def get_range_string(self): - return "{:06x}".format(self.start) + '-' + "{:06x}".format(self.start + self.size) - - def __repr__(self): - return "{:06x}".format(self.size) + ', ' + self.type + ', ' + str(self.properties) - -class Config: - def __init__(self, directory, filename): - with open(directory + '/' + filename, 'r') as configFile: - self.text = configFile.read() - self.directory = directory - self.ranges = [] - self.name = '' - self.md5 = '' - self.subfolder = '' - self.notSupported = False - if not self._parse(self.text): - raise Exception('Error: ' + self.parseError) - #print(self.name) - #print(self.md5) - #print(str(self.ranges)) - - def _parse(self, text): - regex_property = r'^\s*([0-9a-zA-Z\-]+)\s*:\s*["]([^"]*)["]\s*$' - regex_range = r'^\s*\[\s*(0x[0-9a-fA-F]+)\s*\]\s*:\s*(.*)$' - for line in text.split('\n'): - line = line.strip() # remove leading and trailing whitespace - line = line.partition('#')[0] # remove comments - if len(line) > 0: - matches = self._parse_test_re(regex_property, line) - if matches is not None: - self._parse_property(matches) - continue - matches = self._parse_test_re(regex_range, line) - if matches is not None: - #print(matches) - self._parse_range(matches) - continue - self.parseError = 'Invalid line "' + line + '"' - return False - return True - - def _parse_property(self, matches): - propertyName = matches[0] - propertyValue = matches[1] - if propertyName == 'config-name': - self.name = propertyValue - elif propertyName == 'subfolder': - self.subfolder = propertyValue - elif propertyName == 'checksum-md5': - self.md5 = propertyValue - elif propertyName == 'not-supported': - self.notSupported = (propertyValue.lower() == 'true') - elif propertyName == 'include': - with open(self.directory + '/' + propertyValue, 'r') as includeFile: - self._parse(includeFile.read()) - else: - print('Unknown property "' + propertyName + '" with value "' + propertyValue + '"') - - def _parse_range(self, matches): - rangeSize = int(matches[0], 0) - rangeProperties = matches[1].split(',') - - for i in range(0, len(rangeProperties)): - rangeProperties[i] = rangeProperties[i].strip() # remove leading and trailing whitespace - rangeProperties[i] = self._parse_range_property(rangeProperties[i]) - - self.ranges.append(ConfigRange(rangeSize, rangeProperties[0], rangeProperties[1:])) - - def _parse_range_property(self, property): - if property.startswith('"'): # string - return property[1:-1] - else: - return int(property, 0) - - def _parse_test_re(self, regex, line): - matches = re.match(regex, line) - if matches is not None: - return matches.groups() - return None diff --git a/tools/python/extract_custom_boot.py b/tools/python/extract_custom_boot.py new file mode 100644 index 00000000..d0df78c9 --- /dev/null +++ b/tools/python/extract_custom_boot.py @@ -0,0 +1,56 @@ +#!/usr/bin/python3 + +import sys +import os +import zlib + +def crc32(data: bytes) -> int: + return zlib.crc32(data) & 0xFFFFFFFF + +def N64GetCIC(data: bytes) -> int: + crc = crc32(data) + return { + 0x6170A4A1: 6101, + 0x90BB6CB5: 6102, + 0x0B050EE0: 6103, + 0x98BC2C86: 6105, + 0xACC8580A: 6106, + }.get(crc, 0) + +def boot_extract(input_file, output_file="boot_custom.bin"): + mods_missing = True + cictype = 6103 + if not (input_file.endswith(".z64")): + print("ROM file must be .z64. Use https://hack64.net/tools/swapper.php to convert.") + return + + with open(input_file, "rb") as f: + f.seek(0x40) + data = f.read(0xFC0) + + if os.path.isdir('mods'): + print("Mods folder detected, outputting there.") + output_file = "./mods/boot_custom.bin" + mods_missing = False + cictype = N64GetCIC(data) + if os.path.isfile("makefile"): + print("Makefile detected, modifying CIC type.") + with open("makefile", 'r') as f: + lines = f.readlines() + with open("makefile", 'w') as f: + for line in lines: + if line.startswith("BOOT_CIC ?="): + f.write("BOOT_CIC ?= " + str(cictype) + "\n") + else: + f.write(line) + + + with open(output_file, "wb") as f: + f.write(data) + + if (mods_missing == True): + print("Finished! Copy boot_custom.bin to the mods folder and change BOOT_CIC in the makefile") + else: + print("Finished!") + +boot_extract(sys.argv[1]) diff --git a/tools/python/gcc_generate.py b/tools/python/gcc_generate.py index bc313426..c4505772 100644 --- a/tools/python/gcc_generate.py +++ b/tools/python/gcc_generate.py @@ -38,7 +38,7 @@ def holecount_all(src): print(filename, holes, nonmatches) return 1 -paths = ('src', 'lib') +paths = ('src', 'libultra') # get file encoding type def get_encoding_type(file): @@ -68,6 +68,6 @@ for directory in chain.from_iterable(os.walk(path) for path in paths): if (nonm_count + noneq_count + global_asm_count) == 0 : outfile.write(" $(BUILD_DIR)/") outfile.write(os.path.splitext(filename)[0]) - outfile.write(".o \\\n") + outfile.write(".c.o \\\n") infile.close() outfile.close() \ No newline at end of file diff --git a/tools/python/generate_assets.py b/tools/python/generate_assets.py deleted file mode 100644 index 3711b306..00000000 --- a/tools/python/generate_assets.py +++ /dev/null @@ -1,69 +0,0 @@ -import sys -import json -import re -import os -import hashlib -import time -import subprocess - -from file_util import FileUtil - -INCLUDE_DIRECTORY = './include' -ASSETS_INCLUDE = INCLUDE_DIRECTORY + '/asset_sections.h' - -ASSETS_JSON_FILENAME = 'assets.meta.json' - -class GenerateAssets: - def __init__(self, rootDir, version): - self.ASSETS_ASM_DIR = rootDir + '/asm/assets' - self.ASSETS_FILENAME = self.ASSETS_ASM_DIR + '/assets.s' - self.ASSETS_DIR = rootDir + '/assets' - self.UCODE_DIR = rootDir + '/ucode/' + version - self.UCODE_TEXT_FILENAME = self.ASSETS_ASM_DIR + '/ucode_text.s' - self.UCODE_DATA_FILENAME = self.ASSETS_ASM_DIR + '/ucode_data.s' - self.BUILD_DIR = rootDir + '/build' - self.VERSION = version - - self.generate_assets_file() - self.generate_ucode_files() - - def generate_assets_file(self): - with open(self.ASSETS_DIR + "/" + self.VERSION + '/ignoreMe.txt', 'w') as a_file: - a_file.write("This file is automatically generated by generate_assets.py, and is used to check if the assets have been updated.") - args = ["tools/dkr_assets_tool", "-i", self.VERSION, self.ASSETS_DIR, INCLUDE_DIRECTORY, self.BUILD_DIR, self.ASSETS_ASM_DIR] - createAssets = subprocess.Popen(args, stdout=subprocess.PIPE) - createAssets.wait() - streamdata = createAssets.communicate()[0] - if createAssets.returncode != 0: - raise SystemExit("An error occured while generating /asm/assets files. Error code " + str(createAssets.returncode) + ". Aborting!") - with open(self.ASSETS_DIR + '/' + self.VERSION + '/' + ASSETS_JSON_FILENAME) as jsonFile: - assetsJSON = json.load(jsonFile) - self.numAssets = len(assetsJSON['assets']['order']) - - # Note: I am assuming that the order of microcodes did not change between versions. - # TODO: Will probably need to refactor this later. - def generate_ucode_files(self): - assetsUCodeText = '# This file was generated by generate_ld.py\n\n' - assetsUCodeText += '.include "macros.inc"\n\n' - assetsUCodeText += self.generate_ucode_file('aspMainTextStart', 'ucode/ucode_audio.bin') - assetsUCodeText += self.generate_ucode_file('rspF3DDKRBootStart', 'ucode/ucode_boot.bin') - assetsUCodeText += self.generate_ucode_file('rspF3DDKRDramStart', 'ucode/ucode_f3ddkr_dram.bin') - assetsUCodeText += self.generate_ucode_file('rspF3DDKRFifoStart', 'ucode/ucode_f3ddkr_fifo.bin') - assetsUCodeText += self.generate_ucode_file('rspF3DDKRXbusStart', 'ucode/ucode_f3ddkr_xbus.bin') - assetsUCodeText += self.generate_ucode_file('rspUnknown2Start', 'ucode/ucode_unknown_2.bin') - with open(self.UCODE_TEXT_FILENAME, "w") as assetsFile: - assetsFile.write(assetsUCodeText) - - assetsUCodeData = '# This file was generated by generate_ld.py\n\n' - assetsUCodeData += '.include "macros.inc"\n\n' - assetsUCodeData += self.generate_ucode_file('aspMainDataStart', 'ucode/data_audio.bin') - assetsUCodeData += self.generate_ucode_file('rspF3DDKRDataDramStart', 'ucode/data_f3ddkr_dram.bin') - assetsUCodeData += self.generate_ucode_file('rspF3DDKRDataFifoStart', 'ucode/data_f3ddkr_fifo.bin') - assetsUCodeData += self.generate_ucode_file('rspF3DDKRDataXbusStart', 'ucode/data_f3ddkr_xbus.bin') - assetsUCodeData += self.generate_ucode_file('rspUnknown2DataStart', 'ucode/data_unknown_2.bin') - - with open(self.UCODE_DATA_FILENAME, "w") as assetsFile: - assetsFile.write(assetsUCodeData) - - def generate_ucode_file(self, label, path): - return 'glabel ' + label + '\n.incbin "' + self.BUILD_DIR + '/' + self.VERSION + '/' + path + '"\n' diff --git a/tools/python/progress.py b/tools/python/progress.py index a8ed3938..9761bdc8 100644 --- a/tools/python/progress.py +++ b/tools/python/progress.py @@ -1,37 +1,36 @@ #!/usr/bin/env python3 import argparse -import git import os import subprocess import sys -from colour import Color script_dir = os.path.dirname(os.path.realpath(__file__)) root_dir = os.path.join(script_dir, "..", "..") -asm_dir = os.path.join(root_dir, "asm", "non_matchings") -asm_lib_dir = os.path.join(root_dir, "lib", "asm", "non_matchings") -build_dir = os.path.join(root_dir, "build", "us_1.0") -elf_path = os.path.join(build_dir, "dkr.elf") +asm_dir = os.path.join(root_dir, "asm") +build_dir = os.path.join(root_dir, "build") +elf_path = os.path.join(build_dir, "dkr.us.v77.elf") def get_func_sizes(): try: - result = subprocess.run(['objdump', '-x', elf_path], stdout=subprocess.PIPE) + result = subprocess.run(["objdump", "-x", elf_path], stdout=subprocess.PIPE) nm_lines = result.stdout.decode().split("\n") except: - print(f"Error: Could not run objdump on {elf_path} - make sure that the project is built") + print( + f"Error: Could not run objdump on {elf_path} - make sure that the project is built" + ) sys.exit(1) sizes = {} total = 0 for line in nm_lines: - if " F " in line: + #This will filter out "weak" functions like fcos. + if "g F" in line or "l F" in line: components = line.split() size = int(components[4], 16) name = components[5] - #Labels are coming through here as functions, and this finds and ignores them - if name[0:4] != "L800": + if not name.startswith(".L") or not name.startswith("D_"): total += size sizes[name] = size @@ -42,12 +41,7 @@ def get_nonmatching_funcs(): for root, dirs, files in os.walk(asm_dir): for f in files: - if f.endswith(".s"): - funcs.add(f[:-2]) - - for root, dirs, files in os.walk(asm_lib_dir): - for f in files: - if f.endswith(".s"): + if f.endswith(".s") and not f.startswith(".L"): funcs.add(f[:-2]) return funcs @@ -65,7 +59,6 @@ def get_funcs_sizes(sizes, matchings, nonmatchings): # print(func) else: nmsize += sizes[func] - #print("% s,%i" % (func, sizes[func])) return msize, nmsize @@ -79,7 +72,9 @@ def main(args): nonmatching_funcs = get_nonmatching_funcs() matching_funcs = all_funcs - nonmatching_funcs - matching_size, nonmatching_size = get_funcs_sizes(func_sizes, matching_funcs, nonmatching_funcs) + matching_size, nonmatching_size = get_funcs_sizes( + func_sizes, matching_funcs, nonmatching_funcs + ) if len(all_funcs) == 0: funcs_matching_ratio = 0.0 @@ -88,16 +83,9 @@ def main(args): funcs_matching_ratio = (len(matching_funcs) / len(all_funcs)) * 100 matching_ratio = (matching_size / total_size) * 100 - if args.csv: - version = 1 - git_object = git.Repo().head.object - timestamp = str(git_object.committed_date) - git_hash = git_object.hexsha - csv_list = [str(version), timestamp, git_hash, str(len(all_funcs)), str(len(nonmatching_funcs)), - str(len(matching_funcs)), str(total_size), str(nonmatching_size), str(matching_size)] - print(",".join(csv_list)) - elif args.shield_json: + if args.shield_json: import json + from colour import Color # https://shields.io/endpoint color = Color("#50ca22", hue=lerp(0, 105/255, matching_ratio / 100)) @@ -110,13 +98,18 @@ def main(args): else: if matching_size + nonmatching_size != total_size: print("Warning: category/total size mismatch!\n") - print(f"{len(matching_funcs)} matched functions / {len(all_funcs)} total ({funcs_matching_ratio:.2f}%)") - print(f"{matching_size} matching bytes / {total_size} total ({matching_ratio:.2f}%)") + print( + f"{len(matching_funcs)} matched functions / {len(all_funcs)} total ({funcs_matching_ratio:.2f}%)" + ) + print( + f"{matching_size} matching bytes / {total_size} total ({matching_ratio:.2f}%)" + ) if __name__ == "__main__": - parser = argparse.ArgumentParser(description="Reports progress for the project") - parser.add_argument("--csv", action="store_true") + parser = argparse.ArgumentParser( + description="Calculate the progress of the project" + ) parser.add_argument("--shield-json", action="store_true") args = parser.parse_args() diff --git a/tools/python/rodata_move.py b/tools/python/rodata_move.py deleted file mode 100755 index 374d6006..00000000 --- a/tools/python/rodata_move.py +++ /dev/null @@ -1,252 +0,0 @@ -import os -import re -import argparse -from file_util import FileUtil - -C_RODATA_REGEX = r"/[*]+[ ]*[.]rodata[ ]*[*]+/(?:.*\n)+/[*]{33}/" -C_STRING_REGEX = r"const[ ]+char[ ]+(D_[0-9A-Fa-f]{8})[[][^]]*[]][ ]*=[ ]*(\"[^\"]*\")[ ]*;" -C_FLOAT_REGEX = r".*(D_[0-9A-Fa-f]{8})[ ]*=[ ]*{[ ]*([-]?[0-9]+.[0-9]+)[f]?[ ]*}.*" -C_JMPTABLE_REGEX = r"(?:(?:D_)|0x)[0-9A-Fa-f]{8}" - -# Debugging variables -NO_OUTPUT = False # If True, then no files will be changed. -ONLY_THE_FIRST_ASM_FILE = False # If True, then only one asm file will be changed. - -ASM_DIRECTORY = 'asm/non_matchings/' -#ASM_DIRECTORY = 'lib/asm/non_matchings/' - -def getMatches(string, regex): - out = [] - matches = re.finditer(regex, string, re.MULTILINE) - for matchNum, match in enumerate(matches, start=1): - start = match.start() - end = match.end() - out.append((string[start:end], match.groups(), (start, end))) - return out - -def getLineType(line): - if line.lower().startswith('const char '): - return 1 # Literal string - elif line.lower().startswith('const floatliteral '): - return 2 # Literal float - elif line.lower().startswith('const doubleliteral '): - return 3 # Literal double - elif line.lower().startswith('};'): - return 4 # Jump Table bottom - elif line.lower().startswith('const u32 '): - return 5 # Jump Table top - else: - return 0 - -def getAsmFileReferenceForLabel(filename, label): - possibleFiles = [] - search = os.popen('fgrep -r "' + label + '"').read().split('\n') - for line in search: - if ASM_DIRECTORY in line: - asmfilePath = line.split(':')[0] - if asmfilePath not in possibleFiles: - possibleFiles.append(asmfilePath) - if len(possibleFiles) > 1: - raise Exception('Cannot determine asm file for label: ' + label) - elif len(possibleFiles) == 0: - raise Exception(label + ' has no asm files associated with it!') - return possibleFiles[0] - -def adjustAsmFile(asmFilepath, refs): - with open(asmFilepath, 'r') as inFile: - asmFile = inFile.read() - if '.late_rodata' in asmFile: - raise Exception('Cannot add to file "' + asmFilepath + '" since it already has .late_rodata in it!') - asmLines = asmFile.split('\n') - replaces = [] - - rodata = '' - lateRodata = '' - - for index, ref in enumerate(refs): - if ref[0] == 'asciz': - rodata += 'glabel ' + ref[1] + '\n' - rodata += '.' + ref[0] + ' ' + ref[2] + '\n' - strEnd = int(ref[1][-1:], 16) + len(ref[2].replace('\\', '')) - 2 + 1 - if strEnd % 4 != 0: - rodata += '.ascii "' + ('\\0' * (4 - (strEnd % 4))) + '" # padding\n' - elif ref[0] == 'double' or ref[0] == 'float': - lateRodata += 'glabel ' + ref[1] + '\n' - lateRodata += '.' + ref[0] + ' ' + ref[2] + '\n' - elif ref[0] == 'table': - replaces.append((ref[1], 'jpt' + ref[1][1:])) - tblWords = '.word L' + ref[2][0] - for word in ref[2][1:]: - tblWords += ', L' + word - doneWords = [] - for word in ref[2]: - if word in doneWords: - continue - for i in range(0, len(asmLines)): - line = asmLines[i] - if line.startswith('/* '): - lineParts = line.split(' ') - if lineParts[2] == word: - asmLines.insert(i, 'glabel L' + word) - break - doneWords.append(word) - lateRodata += 'glabel ' + ref[1] + '\n' - lateRodata += tblWords + '\n' - if index < len(refs) - 1 and ref[0] != 'double' and refs[index + 1][0] == 'double': - addPadding = False - if ref[0] == 'float': - addPadding = ref[1].endswith('0') or ref[1].endswith('8') - elif ref[0] == 'table': - tableSizeAlignment = len(ref[2]) % 4 - if ref[1].endswith('0') or ref[1].endswith('8'): - addPadding = tableSizeAlignment == 1 or tableSizeAlignment == 3 - else: - addPadding = tableSizeAlignment == 0 or tableSizeAlignment == 2 - if addPadding: - lateRodata += '.word 0 # Padding\n' # Insert padding before the next double. - outData = '' - if len(rodata) > 0: - outData += '.rdata\n' + rodata + '\n' - if len(lateRodata) > 0: - outData += '.late_rodata\n' + lateRodata + '\n' - asmLines.insert(0, outData + '.text'); - asmOut = '\n'.join(asmLines) - for rep in replaces: - asmOut = asmOut.replace(rep[0], rep[1]) - # print(asmOut) - if not NO_OUTPUT: - with open(asmFilepath, 'w') as outFile: - outFile.write(asmOut) - #print(asmFilepath) - #print(refs) - -def convertFile(cFilepath): - filename = cFilepath[cFilepath.rindex('/') + 1:-2] - print(filename) - with open(cFilepath, 'r') as inFile: - cFile = inFile.read() - match = getMatches(cFile, C_RODATA_REGEX) - if len(match) == 0: - print('No .rodata in file "' + cFilepath + '"') - return - rodataPart = match[0][0] - rodataSection = match[0][2] - rodataLines = rodataPart.split('\n') - tableBottom = -1 - hasProcessed = False - stoppedPremature = False - curLine = len(rodataLines) - 1 - bottomLine = curLine - asmData = [] - for line in reversed(rodataLines): - lineType = getLineType(line) - if lineType == 0: - pass - elif lineType == 1: # Literal string - try: - strMatch = getMatches(line, C_STRING_REGEX)[0] - strLabel = strMatch[1][0] - strValue = strMatch[1][1] - # Check if the string has a reference somewhere - getAsmFileReferenceForLabel(filename, strLabel) - hasProcessed = True - bottomLine = curLine - asmData.insert(0, ('asciz', strLabel, strValue, bottomLine)) - except: - print('Currently cannot process literal string: ') - print(line) - stoppedPremature = True - break - elif lineType == 2: # Literal float - floatMatch = getMatches(line, C_FLOAT_REGEX)[0] - floatLabel = floatMatch[1][0] - floatValue = floatMatch[1][1] - if floatValue == '0.0': - print('File boundary hit!') - stoppedPremature = True - break - hasProcessed = True - bottomLine = curLine - asmData.insert(0, ('float', floatLabel, floatValue, bottomLine)) - elif lineType == 3: # Literal double - floatMatch = getMatches(line, C_FLOAT_REGEX)[0] - floatLabel = floatMatch[1][0] - floatValue = floatMatch[1][1] - if floatValue == '0.0': - print('File boundary hit!') - stoppedPremature = True - break - hasProcessed = True - bottomLine = curLine - asmData.insert(0, ('double', floatLabel, floatValue, bottomLine)) - elif lineType == 4: # Jump table bottom - tableBottom = curLine - elif lineType == 5: # Jump table top - tblMatch = getMatches('\n'.join(rodataLines[curLine:tableBottom+1]), C_JMPTABLE_REGEX) - tblLabel = tblMatch[0][0] - tblValues = [] - for val in range(1, len(tblMatch)): - tblValues.append(tblMatch[val][0][2:]) - hasProcessed = True - bottomLine = curLine - asmData.insert(0, ('table', tblLabel, tblValues, bottomLine)) - tableBottom = -1 - else: - print(line) - curLine -= 1 - asmRefs = {} - asmBottomLine = 999999 - for i in reversed(range(0, len(asmData))): - data = asmData[i] - try: - ref = getAsmFileReferenceForLabel(filename, data[1]) - if ref not in asmRefs: - asmRefs[ref] = [] - asmRefs[ref].append(data) - asmBottomLine = min(asmBottomLine, data[3]) - except Exception as e: - # raise e - print(e) - if asmBottomLine != 999999: - print(bottomLine, asmBottomLine) - bottomLine = asmBottomLine - stoppedPremature = True - break - for asmFilepath in asmRefs: - print('Processing: ' + asmFilepath) - asmRefs[asmFilepath].reverse() - asmBottomLine = 999999 - adjustAsmFile(asmFilepath, asmRefs[asmFilepath]) - for ref in asmRefs[asmFilepath]: - asmBottomLine = min(asmBottomLine, ref[3]) - if ONLY_THE_FIRST_ASM_FILE: - print(bottomLine, asmBottomLine) - bottomLine = asmBottomLine - stoppedPremature = True - break - # print(asmRefs) - if hasProcessed and not NO_OUTPUT: - newRodata = '\n'.join(rodataLines[0:bottomLine] + rodataLines[-2:]) - newFileText = cFile[:rodataSection[0]] + (newRodata if stoppedPremature else '') + cFile[rodataSection[1]:] - with open(cFilepath, 'w') as outFile: - outFile.write(newFileText) - print('Changes were made to ' + cFilepath) - else: - print('No changes were made to ' + cFilepath) - - -parser = argparse.ArgumentParser(description="") -parser.add_argument("file", help=".c file that contains rodata to move.") -parser.add_argument("-s", "--single", help="Only do one ASM function in the file", action='store_true') -args = parser.parse_args() - -if args.single is not None and args.single: - ONLY_THE_FIRST_ASM_FILE = True - -if args.file.endswith('.c'): - convertFile(args.file) -else: - raise Exception('The file must be a .c file.') - -# files = FileUtil.get_filenames_from_directory('src', ('.c',)) -# \ No newline at end of file diff --git a/tools/python/rom.py b/tools/python/rom.py deleted file mode 100644 index cea57cac..00000000 --- a/tools/python/rom.py +++ /dev/null @@ -1,58 +0,0 @@ -import hashlib - -from file_util import FileUtil - -class ROM: - def __init__(self, filename): - with open(filename, 'rb') as romFile: - self.fixedRomEndianess = False - self.bytearray = romFile.read() - self.bytes = list(self.bytearray) - self.size = len(self.bytes) - self._test_endianness() - self.md5 = hashlib.md5(self.bytearray).hexdigest() - if self.fixedRomEndianess: - FileUtil.delete_file(filename) - # Save the ROM as big-endian - with open(filename[:-4] + '.z64', 'wb') as romFile: - romFile.write(self.bytearray) - - def get_bytes_from_range(self, start, end): - return self.bytes[start:end] - - # Check and correct mixed/little endian ROMs - def _test_endianness(self): - if self.bytes[0] == 0x80 and self.bytes[1] == 0x37: - self.endianness = 'big' - elif self.bytes[0] == 0x37 and self.bytes[1] == 0x80: - self.endianness = 'mixed' - elif self.bytes[0] == 0x40 and self.bytes[1] == 0x12: - self.endianness = 'little' - - # Convert mixed/little endian to big endian. - # This is kinda slow, and should be avoided if possible. - if self.endianness == 'mixed': - print('Converting mixed-endian (byte-swapped) to big-endian...') - for i in range(0, len(self.bytes), 2): - temp = self.bytes[i] - self.bytes[i] = self.bytes[i + 1] - self.bytes[i + 1] = temp - self.bytearray = bytearray(self.bytes) - self.endianness = 'big' - self.fixedRomEndianess = True - pass - elif self.endianness == 'little': - print('Converting little-endian to big-endian...') - temp = [0, 0, 0, 0] - for i in range(0, len(self.bytes), 4): - temp[0] = self.bytes[i] - temp[1] = self.bytes[i + 1] - temp[2] = self.bytes[i + 2] - temp[3] = self.bytes[i + 3] - self.bytes[i] = temp[3] - self.bytes[i + 1] = temp[2] - self.bytes[i + 2] = temp[1] - self.bytes[i + 3] = temp[0] - self.bytearray = bytearray(self.bytes) - self.endianness = 'big' - self.fixedRomEndianess = True diff --git a/tools/python/score.py b/tools/python/score.py index 1bd0ae4f..05e5a58e 100644 --- a/tools/python/score.py +++ b/tools/python/score.py @@ -8,13 +8,20 @@ from score_display import ScoreDisplay ASM_FOLDERS = [ './asm', - './lib/asm', + './src/hasm', + './libultra/src/gu', + './libultra/src/libc', + './libultra/src/os', ] BLACKLIST = [ - '/non_matchings/', + '/nonmatchings/', '/assets/', - '/boot/' + '/boot/', + '/data/', + '/header.s', + '/llmuldiv_gcc.s', + '/libm_vals.s' ] BLACKLIST_C = [ @@ -38,7 +45,7 @@ for asmDir in ASM_FOLDERS: # These will automatically be added to the adventure one percentage. ASM_LABELS = [] -GLABEL_REGEX = r'glabel ([0-9A-Za-z_]+)' +GLABEL_REGEX = r'glabel|leaf ([0-9A-Za-z_]+)' for filename in filelist: with open(filename, 'r') as asmFile: text = asmFile.read() @@ -48,12 +55,12 @@ for filename in filelist: if not glabel in ASM_LABELS: ASM_LABELS.append(glabel) -BUILD_DIRECTORY = './build/us_1.0' +BUILD_DIRECTORY = './build' SRC_DIRECTORY = './src' -LIB_SRC_DIRECTORY = './lib/src' -FUNCTION_REGEX = r'^(?= CODE_START and address < CODE_END: symbol = line[line.rfind(' ')+1:] if (not symbol.startswith(".L") and not symbol.startswith("L800") @@ -89,14 +101,18 @@ class DkrMapFile: def contains_forbidden_func(self, string): - for forbidden in ['__FUNC_RAM_START', 'cosf', 'sinf']: + for forbidden in ['__FUNC_RAM_START', 'cosf', 'sinf', 'main_VRAM', 'main_TEXT_START', '.']: if forbidden in string: return True return False MAP_FILE = DkrMapFile() -NOT_FUNCTION_NAMES = ['if', 'else', 'switch', 'while', 'for'] +# Adding regional and other version functions here to ignore since we're only scoring US_1.0 for now. +NOT_FUNCTION_NAMES = ['if', 'else', 'switch', 'while', 'for', 'dmacopy_internal', 'func_80082BC8_837C8', 'rumble_enable', + 'func_800C6464_C7064', 'func_800C663C_C723C', 'func_800C67F4_C73F4', 'func_800C6870_C7470', + 'func_800C68CC_C74CC', 'func_800C6DD4_C79D4', 'func_800C7744_C8344', 'func_800C7804_C8404', + 'func_800C7864_C8464', 'func_800C78E0_C84E0'] class ScoreFileMatch: def __init__(self, comment, functionName): diff --git a/tools/python/split_data_regions.py b/tools/python/split_data_regions.py deleted file mode 100644 index 96d6e935..00000000 --- a/tools/python/split_data_regions.py +++ /dev/null @@ -1,141 +0,0 @@ -import os -import re -from bisect import bisect -from collections import OrderedDict - -from file_util import FileUtil - -DATA_FILE_PATH = 'data/dkr.data.s' -GLABEL_REGEX = r'D_[0-9A-F]{8}' -GLABEL_DEF_REGEX = r'glabel (%s)' % GLABEL_REGEX -RODATA_START = 'D_800E49DC' # i.e. the end of .data -BSS_START = 'D_800E98D0' # i.e. the end of .rodata -# List of labels that are not used in the file they are defined in. -# This throws off the splitter algorithm, so the troublesome ones -# must be individually blacklisted for now. -IGNORE_GLABELS = ['D_800E0001', 'D_800E63E0', 'D_800E94D0'] - -def _rom_offset(vaddr): - """ - Returns the ROM offset of the corresponding virtual address given. - Parameters: - vaddr: can be a string or integer. If string, it is assumed to be in - hex. - """ - if type(vaddr) == str: - vaddr = int(vaddr, 16) - return vaddr - 0x7FFFF400 - -def _get_glabels(): - """ - Returns all the glabel definitions in the data file, split into .data, - .rodata, and .bss. - """ - data_file = FileUtil.get_text_from_file(DATA_FILE_PATH) - glabels = re.findall(GLABEL_DEF_REGEX, data_file) - glabels = [glabel for glabel in glabels if glabel not in IGNORE_GLABELS] - rodata_idx = glabels.index(RODATA_START) - bss_idx = glabels.index(BSS_START) - return glabels[:rodata_idx], glabels[rodata_idx:bss_idx], glabels[bss_idx:] - -def _get_file_offset(file, contents): - """ - Returns the ROM offset of the given file. Throws exception upon error. - Parameters: - file: filename. Must be a .c or .s file. - contents: the contents of file. - """ - if file.endswith('.c'): - return _rom_offset(re.search('/\* RAM_POS: 0x([0-9A-F]{8}) \*/', contents)[1]) - elif file.endswith('.s'): - return int(re.search('/\* ([0-9A-F]{6}) [0-9A-F]{8} [0-9A-F]{8} \*/', contents)[1], 16) - else: - raise exception('cannot find offset for file ' + file) - -def _log_glabel_usage(glabels): - """ - Returns: - usage: A sorted map from glabel names to a sorted list of all the ROM - addresses it is accessed from. - c_file_offsets: A list of (filename, ROM offset) tuples from all the c - files used. - Parameters: - glabels: output from _get_glabels. - """ - usage = OrderedDict([(glabel, set()) for glabel in glabels]) - files = FileUtil.get_filenames_from_directory_recursive('.', ('.c', '.s')) - c_file_offsets = [] - for file in files: - contents = FileUtil.get_text_from_file(file) - try: - offset = _get_file_offset(file, contents) - if file.endswith('.c'): - c_file_offsets.append((file, offset)) - matches = re.findall(GLABEL_REGEX, contents) - for glabel in matches: - if glabel in usage: - usage[glabel].add(offset) - except: - pass - for glabel in usage: - usage[glabel] = sorted(list(usage[glabel])) - c_file_offsets.sort(key=lambda f: f[1]) - return usage, c_file_offsets - -def _filter_glabel_usage(glabel_usage): - """ - Returns a sorted (by ROM offset) list of (glabel name, ROM offset), where - the ROM offset is the estimated location the glabel is defined at. Note - that this is an estimate; the algorithm used is greedy and may - overpredict. - Parameters: - glabel_usage: output from _log_glabel_usage. - """ - filtered_usage = [] - cur_offset = min(glabel_usage[next(iter(glabel_usage))]) - for glabel in glabel_usage: - usage = glabel_usage[glabel] - valid_offsets = usage[bisect(usage, cur_offset):] - if len(valid_offsets) > 0: - cur_offset = valid_offsets[0] - filtered_usage.append((glabel, cur_offset)) - return filtered_usage - -def _split_glabel_files(glabel_usage, c_file_offsets): - """ - Returns a sorted (by file offset) list of (file name, file offset, glabel name) - for every file, where glabel name is the name of the first glabel that - lives within the ROM address domain of the corresponding file. - Parameters: - glabel_usage: output from _filter_glabel_usage. - c_file_offsets: output from _log_glabel_usage. - """ - file_splits = [] - glabel_idx = 0 - for i in range(len(c_file_offsets)): - file = c_file_offsets[i] - while glabel_idx < len(glabel_usage) and glabel_usage[glabel_idx][1] < file[1]: - glabel_idx += 1 - if glabel_idx < len(glabel_usage) and i < len(c_file_offsets) - 1: - glabel = glabel_usage[glabel_idx] - glabel_name = glabel[0] if glabel[1] < c_file_offsets[i + 1][1] else None - else: - glabel_name = None - file_splits.append((file[0], file[1], glabel_name)) - return file_splits - -def main(): - FileUtil.set_working_dir_to_project_base() - data_glabels, rodata_glabels, bss_glabels = _get_glabels() - for section in [('.data', data_glabels), ('.rodata', rodata_glabels), ('.bss', bss_glabels)]: - glabels = section[1] - usage, c_file_offsets = _log_glabel_usage(glabels) - filtered_usage = _filter_glabel_usage(usage) - file_splits = _split_glabel_files(filtered_usage, c_file_offsets) - print('File splits for %s:' % section[0]) - for split in file_splits: - print('%s (%06X): %s' % split) - print() - -if __name__ == '__main__': - main() diff --git a/tools/python/undefined_sym_fix.py b/tools/python/undefined_sym_fix.py deleted file mode 100644 index a7b4047b..00000000 --- a/tools/python/undefined_sym_fix.py +++ /dev/null @@ -1,110 +0,0 @@ -import subprocess -import sys -import re -import subprocess -import argparse - -def fixBadLabel(): - parser = argparse.ArgumentParser(description="") - parser.add_argument("baseLabel", help="Base label") - parser.add_argument("badLabel", help="Bad label") - args = parser.parse_args() - - baseAddress = int(args.baseLabel[-8:], 16) - badAddress = int(args.badLabel[-8:], 16) - - if baseAddress >= badAddress: - raise Exception('baseLabel should be smaller! base = ' + hex(baseAddress) + ', bad = ' + hex(badAddress)) - - newLabel = args.baseLabel + '+' + str(badAddress-baseAddress) - - subprocess.run(['./rename_sym.sh', args.badLabel, newLabel]) - -def load_syms(): - with open('undefined_syms.txt', 'r') as inFile: - return inFile.read().split('\n') - -def save_syms(syms): - with open('undefined_syms.txt', 'w') as outFile: - outFile.write('\n'.join(syms)) - -def check_is_double(symbol, address): - command = subprocess.run(['fgrep', '-ri', symbol], capture_output=True) - outLines = command.stdout.decode("utf-8").split('\n') - for outLine in outLines: - if 'lwc1' in outLine: - newSym = 'D_' + hex(address - 4)[2:].upper() + ' + 4' - subprocess.run(['./rename_sym.sh', symbol, newSym]) - return True - return False - -def fixDoubleLoads(): - syms = load_syms() - target = len(syms) - i = 0 - while i < target: - sym = syms[i] - if sym.startswith('D_'): - symSplit = sym.split(' = ') - symbol = symSplit[0] - address = int(symSplit[1][2:-1], 16) - if address >= 0x800E4BFC and address < 0x800E9BA0 and ((address & 4) != 0): - if check_is_double(symbol, address): - syms.pop(i) - target -= 1 - continue - i += 1 - save_syms(syms) - -def getMatches(string, regex): - out = [] - matches = re.finditer(regex, string, re.MULTILINE) - for matchNum, match in enumerate(matches, start=1): - start = match.start() - end = match.end() - out.append((string[start:end], match.groups(), (start, end))) - return out - -FILE_REGEX = r"(?:lib/)?(?:(?:src/)|(?:asm/non_matchings/))([^/.]*)" -def getFiles(symbol): - command = subprocess.run(['fgrep', '-ri', symbol], capture_output=True) - outLines = command.stdout.decode("utf-8").split('\n') - fileNames = [] - for outLine in outLines: - if 'src' in outLine or 'asm' in outLine: - match = getMatches(outLine, FILE_REGEX)[0][1][0] - if match not in fileNames: - fileNames.append(match) - return fileNames - -def getBss(): - currentFile = '' - out = [] - syms = load_syms() - for sym in syms: - if ' = ' in sym: - symSplit = sym.split(' = ') - symbol = symSplit[0] - address = int(symSplit[1][2:-1], 16) - if address >= 0x80115CE8 and address <= 0x8012D3F0: - try: - files = getFiles(symbol) - if currentFile not in files: - if len(files) == 1: - if currentFile != '': - out.append('\n') - currentFile = files[0] - out.append(currentFile) - else: - print(symbol, files, 'Cannot tell which file to use!') - except IndexError: - print('Error with symbol: ' + symbol) - out.append(sym) - with open('bss.txt', 'w') as outFile: - outFile.write('\n'.join(out)) - - -fixBadLabel() -#fixDoubleLoads() -#getBss() - diff --git a/undefined_syms.txt b/undefined_syms.txt deleted file mode 100755 index e019268a..00000000 --- a/undefined_syms.txt +++ /dev/null @@ -1,65 +0,0 @@ -D_B0000574 = 0xB0000574; -D_B0000578 = 0xB0000578; -D_801299B0 = 0x801299B0; -gEpcInfo = 0x80129800; - -/* Just libultra stuff below */ - -osTvType = 0x80000300; -osRomType = 0x80000304; -osRomBase = 0x80000308; -osResetType = 0x8000030C; -osCicId = 0x80000310; -osVersion = 0x80000314; -osMemSize = 0x80000318; -osAppNMIBuffer = 0x8000031C; -entrypoint = 0x80000400; - -SP_MEM_ADDR_REG = 0xA4040000; -SP_DRAM_ADDR_REG = 0xA4040004; -SP_RD_LEN_REG = 0xA4040008; -SP_WR_LEN_REG = 0xA404000C; -SP_STATUS_REG = 0xA4040010; -DPC_START_REG = 0xA4100000; -DPC_END_REG = 0xA4100004; -DPC_STATUS_REG = 0xA410000C; -MI_MODE_REG = 0xA4300000; -MI_INTR_REG = 0xA4300008; -MI_INTR_MASK_REG = 0xA430000C; -VI_STATUS_REG = 0xA4400000; -VI_DRAM_ADDR_REG = 0xA4400004; -VI_H_WIDTH_REG = 0xA4400008; -VI_V_INTR_REG = 0xA440000C; -VI_V_CURRENT_LINE_REG = 0xA4400010; -VI_TIMING_REG = 0xA4400014; -VI_V_SYNC_REG = 0xA4400018; -VI_H_SYNC_REG = 0xA440001C; -VI_H_SYNC_LEAP_REG = 0xA4400020; -VI_H_VIDEO_REG = 0xA4400024; -VI_V_VIDEO_REG = 0xA4400028; -VI_V_BURST_REG = 0xA440002C; -VI_X_SCALE_REG = 0xA4400030; -VI_Y_SCALE_REG = 0xA4400034; -AI_DRAM_ADDR_REG = 0xA4500000; -AI_LEN_REG = 0xA4500004; -AI_CONTROL_REG = 0xA4500008; -AI_STATUS_REG = 0xA450000C; -AI_DACRATE_REG = 0xA4500010; -AI_BITRATE_REG = 0xA4500014; -PI_DRAM_ADDR_REG = 0xA4600000; -PI_CART_ADDR_REG = 0xA4600004; -PI_RD_LEN_REG = 0xA4600008; -PI_WR_LEN_REG = 0xA460000C; -PI_STATUS_REG = 0xA4600010; -PI_BSD_DOM1_LAT_REG = 0xA4600014; -PI_BSD_DOM1_PWD_REG = 0xA4600018; -PI_BSD_DOM1_PGS_REG = 0xA460001C; -PI_BSD_DOM1_RLS_REG = 0xA4600020; -PI_BSD_DOM2_LAT_REG = 0xA4600024; -PI_BSD_DOM2_PWD_REG = 0xA4600028; -PI_BSD_DOM2_PGS_REG = 0xA460002C; -PI_BSD_DOM2_RLS_REG = 0xA4600030; -SI_DRAM_ADDR_REG = 0xA4800000; -SI_PIF_ADDR_RD64B_REG = 0xA4800004; -SI_PIF_ADDR_WR64B_REG = 0xA4800010; -SI_STATUS_REG = 0xA4800018; \ No newline at end of file diff --git a/ver/splat/dkr.jpn.v79.yaml b/ver/splat/dkr.jpn.v79.yaml new file mode 100644 index 00000000..01f0a40a --- /dev/null +++ b/ver/splat/dkr.jpn.v79.yaml @@ -0,0 +1,446 @@ +name: Diddy Kong Racing (Japanese) +sha1: 23ba3d302025153d111416e751027cef11213a19 +options: + basename: dkr.jpn.v79 + target_path: baseroms/baserom.jpn.v79.z64 + base_path: ../../ + compiler: IDO + find_file_boundaries: True + header_encoding: ASCII + platform: n64 + undefined_funcs_auto_path: ver/symbols/undefined_funcs_auto.jpn.v79.txt + undefined_syms_auto_path: ver/symbols/undefined_syms_auto.jpn.v79.txt + symbol_addrs_path: ver/symbols/symbol_addrs.jpn.v79.txt + symbol_name_format: $VRAM_$ROM + ld_script_path: ver/dkr.jpn.v79.ld + asm_path: asm + src_path: src + build_path: build + asset_path: assets + section_order: [".text", ".data", ".rodata", ".bss"] + migrate_rodata_to_functions: True + hasm_in_src_path: True +segments: + - name: header + type: header + start: 0x0 + + - name: boot + type: bin + start: 0x40 + + - name: main + type: code + start: 0x1000 + vram: 0x80000400 + bss_size: 0x41500 + subsegments: + - [0x1000, hasm, hasm/entrypoint] + - [0x1050, c, audio] + - [0x3260, c, audiomgr] + - [0x3D60, c, audiosfx] + - [0x5740, c, audio_vehicle] + - [0x8C40, c, audio_spatial] + - [0xB310, c, ../libultra/src/audio/mips1/seqplayer] + - [0xBC20, c, objects] + - [0x251F0, hasm, hasm/unknown_0251F0] + - [0x255E0, c, tracks] + - [0x31D30, hasm, hasm/collision] + - [0x32760, c, lights] + - [0x348C0, c, object_functions] + - [0x43920, c, racer] + - [0x5CF20, c, vehicle_tricky] + - [0x5DD00, c, vehicle_bluey] + - [0x5E450, c, vehicle_smokey] + - [0x5F0F0, c, vehicle_bubbler] + - [0x5F6C0, c, vehicle_wizpig] + - [0x5FF40, c, vehicle_rocket] + - [0x60480, c, object_models] + - [0x62A00, hasm, hasm/object_animate] + - [0x62F60, c, ../libultra/src/audio/mips1/csplayer] + - [0x64760, c, ../libultra/src/audio/mips1/unknown_064690] + - [0x647C0, c, ../libultra/src/audio/mips1/seqchannel] + - [0x64870, c, ../libultra/src/audio/mips1/cspsetfadein] + - [0x648D0, c, ../libultra/src/audio/mips1/cspgetfadein] + - [0x64900, c, ../libultra/src/audio/mips1/reverb] + - [0x65620, c, ../libultra/src/audio/mips1/drvrnew] + - [0x65E00, c, ../libultra/src/audio/mips1/synthesizer] + - [0x66530, c, ../libultra/src/audio/mips1/synallocfx] + - [0x665D0, c, ../libultra/src/audio/mips1/auxbus] + - [0x667F0, c, ../libultra/src/audio/mips1/synsetpan] + - [0x668A0, c, ../libultra/src/audio/mips1/synstartvoiceparam] + - [0x66A10, c, main] + - [0x66B70, c, camera] + - [0x6ADD0, c, joypad] + - [0x6B380, c, game] + - [0x6D000, c, thread3_main] + - [0x701F0, hasm, hasm/math_util] + - [0x71810, c, memory] + - [0x72A10, c, ../libultra/src/io/motor] + - [0x72F30, c, save_data] + - [0x778C0, c, asset_loading] + - [0x77F60, c, borders] + - [0x78360, c, rcp_dkr] + - [0x7A260, c, ../libultra/src/sc/sched] + - [0x7B1E0, c, set_rsp_segment] + - [0x7B220, c, video] + - [0x7BB80, c, textures_sprites] + - [0x80550, c, screen_asset] + - [0x80810, c, menu] + - [0x9FEB0, c, game_ui] + - [auto, c, os_yield_data] #bss only file + - [0xAC3F0, c, weather] + - [0xAF470, c, particles] + - [0xB5910, c, unused_string] + - [0xB5B40, c, printf] + - [0xB8140, c, ../libultra/src/debug/assert] + - [0xB8150, c, thread0_epc] + - [0xB8F10, hasm, hasm/get_stack_pointer] + - [0xB8F20, c, waves] + - [0xC1370, c, fade_transition] + - [0xC3BF0, c, game_text] + - [0xC4E30, c, font] + - [0xC8590, c, ../libultra/src/io/pimgr] + - [0xC8700, c, gzip] + - [0xC8E50, hasm, hasm/gzip_asm] + - [0xC98D0, c, ../libultra/src/io/leointerrupt] + - [0xC98E0, c, thread30_track_loading] + - [0xC9AF0, c, ../libultra/src/audio/heapinit] + - [0xC9B30, c, ../libultra/src/audio/bnkf] + - [0xC9D80, c, ../libultra/src/audio/heapalloc] + - [0xC9DE0, c, ../libultra/src/audio/cspsetvol] + - [0xC9E20, c, ../libultra/src/audio/cspgettempo] + - [0xC9E60, hasm, ../libultra/src/os/getcount] + - [0xC9E70, c, ../libultra/src/audio/cspsetpan] + - [0xC9ED0, c, ../libultra/src/audio/cspsetchlvol] + - [0xC9F30, c, ../libultra/src/audio/cspgetchlvol] + - [0xC9F50, c, ../libultra/src/audio/seqpgetfxmix] + - [0xC9F70, c, ../libultra/src/audio/cspsettempo] + - [0xC9FE0, c, ../libultra/src/audio/cspgetstate] + - [0xC9FF0, c, ../libultra/src/audio/cspsetbank] + - [0xCA030, c, ../libultra/src/audio/cseq] + - [0xCAAF0, c, ../libultra/src/audio/cspsetseq] + - [0xCAB30, c, ../libultra/src/audio/cspplay] + - [0xCAB60, c, ../libultra/src/audio/cspstop] + - [0xCAB90, c, ../libultra/src/io/aisetfreq] + - [0xCACF0, c, ../libultra/src/audio/sl] + - [0xCADB0, c, ../libultra/src/os/createmesgqueue] + - [0xCADE0, c, ../libultra/src/os/createthread] + - [0xCAF30, c, ../libultra/src/os/startthread] + - [0xCB080, c, ../libultra/src/os/stopthread] + - [0xCB140, c, ../libultra/src/os/recvmesg] + - [0xCB280, c, ../libultra/src/os/virtualtophysical] + - [0xCB300, c, ../libultra/src/io/aisetnextbuf] + - [0xCB3B0, c, ../libultra/src/io/aigetlen] + - [0xCB3C0, c, ../libultra/src/os/sendmesg] + - [0xCB510, c, ../libultra/src/io/pidma] + - [0xCB620, c, ../libultra/src/audio/event] + - [0xCB960, c, ../libultra/src/audio/synaddplayer] + - [0xCB9B0, c, ../libultra/src/audio/synallocvoice] + - [0xCBBE0, c, ../libultra/src/audio/synsetvol] + - [0xCBC80, c, ../libultra/src/audio/synstartvoice] + - [0xCBD10, c, ../libultra/src/audio/synsetpitch] + - [0xCBDA0, c, ../libultra/src/audio/synsetfxmix] + - [0xCBE40, c, ../libultra/src/audio/synstopvoice] + - [0xCBEC0, c, ../libultra/src/audio/synfreevoice] + - [0xCBF70, c, ../libultra/src/audio/cents2ratio] + - [0xCBFC0, hasm, ../libultra/src/os/setintmask] + - [0xCC060, hasm, ../libultra/src/gu/sqrtf] + - [0xCC070, c, ../libultra/src/audio/synsetpriority] + - [0xCC080, pad] #0x40 bytes of zeroes, could be parameters.s from libultra, but that's 0x60 bytes. + - [0xCC0C0, c, ../libultra/src/libc/llcvt] + - [0xCC2D0, c, ../libultra/src/libc/rmonPrintf] + - [0xCC330, hasm, ../libultra/src/libc/bcopy] + - [0xCC640, c, ../libultra/src/audio/filter] + - [0xCC660, c, ../libultra/src/audio/env] + - [0xCDAD0, c, ../libultra/src/audio/load] + - [0xCE620, c, ../libultra/src/audio/resample] + - [0xCE920, c, ../libultra/src/audio/mainbus] + - [0xCEA70, c, ../libultra/src/audio/save] + - [0xCEB30, c, ../libultra/src/os/initialize] + - [0xCEDD0, c, ../libultra/src/os/setthreadpri] + - [0xCEEB0, c, ../libultra/src/gu/perspective] + - [0xCF140, c, ../libultra/src/os/seteventmesg] + - [0xCF1B0, c, ../libultra/src/io/controller] + - [0xCF570, c, ../libultra/src/io/contreaddata] + - [0xCF7D0, c, ../libultra/src/io/spsetstat] + - [0xCF7E0, c, ../libultra/src/io/dpsetstat] + - [0xCF7F0, c, ../libultra/src/os/settime] + - [0xCF820, c, ../libultra/src/io/pfsisplug] + - [0xCFB90, c, ../libultra/src/io/siacs] + - [0xCFC50, c, ../libultra/src/io/sirawdma] + - [0xCFD00, c, ../libultra/src/io/crc] + - [0xCFE80, c, ../libultra/src/io/contramwrite] + - [0xD0230, c, ../libultra/src/io/contramread] + - [0xD05E0, hasm, ../libultra/src/libc/bcmp] + - [0xD0700, c, ../libultra/src/libc/string] + - [0xD07A0, c, ../libultra/src/io/conteepprobe] + - [0xD0810, c, ../libultra/src/io/conteepread] + - [0xD0B10, c, ../libultra/src/io/conteepwrite] + - [0xD0FF0, c, ../libultra/src/libc/ll] + - [0xD12B0, c, ../libultra/src/io/pfsinit] + - [0xD1470, c, ../libultra/src/io/pfsreadwritefile] + - [0xD1970, c, ../libultra/src/io/pfsfreeblocks] + - [0xD1AC0, c, ../libultra/src/io/pfschecker] + - [0xD2520, c, ../libultra/src/io/pfsreformat] + - [0xD2920, c, ../libultra/src/io/pfsnumfiles] + - [0xD2A70, hasm, ../libultra/src/libc/bzero] + - [0xD2B10, c, ../libultra/src/io/pfsfilestate] + - [0xD2E00, c, ../libultra/src/io/pfsdeletefile] + - [0xD3410, c, ../libultra/src/io/pfssearchfile] + - [0xD35D0, c, ../libultra/src/io/pfsallocatefile] + - [0xD3D80, hasm, ../libultra/src/os/invaldcache] + - [0xD3E30, hasm, ../libultra/src/os/writebackdcacheall] + - [0xD3E60, c, ../libultra/src/io/dpgetstat] + - [0xD3E70, c, ../libultra/src/io/dpsetnextbuf] + - [0xD3F20, c, ../libultra/src/io/vimgr] + - [0xD4230, c, ../libultra/src/io/visetmode] + - [0xD42A0, c, ../libultra/src/io/viblack] + - [0xD4310, c, ../libultra/src/io/visetevent] + - [0xD4380, c, ../libultra/src/io/sptaskyielded] + - [0xD4400, c, ../libultra/src/io/vigetcurrframebuf] + - [0xD4440, c, ../libultra/src/io/vigetnextframebuf] + - [0xD4480, c, ../libultra/src/io/sptask] + - [0xD4740, c, ../libultra/src/os/gettime] + - [0xD47D0, c, ../libultra/src/io/sptaskyield] + - [0xD47F0, c, ../libultra/src/io/visetspecial] + - [0xD49B0, c, ../libultra/src/io/viswapbuf] + - [0xD4A00, c, ../libultra/src/os/getactivequeue] + - [0xD4A10, c, ../libultra/src/io/piacs] + - [0xD4AD0, c, ../libultra/src/os/getthreadpri] + - [0xD4AF0, hasm, ../libultra/src/os/interrupt] + - [0xD4B30, c, ../libultra/src/io/pirawdma] + - [0xD4C10, c, ../libultra/src/io/epirawdma] + - [0xD4CF0, c, ../libultra/src/io/devmgr] + - [0xD50A0, c, ../libultra/src/io/vi] + - [0xD51F0, c, ../libultra/src/audio/syndelete] + - [0xD5200, c, ../libultra/src/os/thread] + - [0xD5240, hasm, ../libultra/src/os/exceptasm] + - [0xD5B40, hasm, ../libultra/src/os/probetlb] + - [0xD5C00, c, ../libultra/src/io/ai] + - [0xD5C30, c, ../libultra/src/os/jammesg] + - [0xD5D80, c, ../libultra/src/io/pigetcmdq] + - [0xD5DB0, c, ../libultra/src/audio/copy] + - [0xD5E30, c, ../libultra/src/libc/xprintf] + - [0xD6AF0, hasm, ../libultra/src/os/setsr] + - [0xD6B00, hasm, ../libultra/src/os/getsr] + - [0xD6B10, hasm, ../libultra/src/os/setfpccsr] + - [0xD6B20, c, ../libultra/src/io/sirawread] + - [0xD6B70, c, ../libultra/src/io/sirawwrite] + - [0xD6BC0, hasm, ../libultra/src/os/writebackdcache] + - [0xD6C40, hasm, ../libultra/src/os/invalicache] + - [0xD6CC0, hasm, ../libultra/src/os/maptlbrdb] + - [0xD6D20, c, ../libultra/src/io/pirawread] + - [0xD6D80, c, ../libultra/src/os/sethwinterrupt] + - [0xD6DD0, c, ../libultra/src/gu/mtxutil] + - [0xD7040, c, ../libultra/src/gu/cosf] + - [0xD71B0, c, ../libultra/src/gu/sinf] + - [0xD7370, c, ../libultra/src/os/settimer] + - [0xD7450, c, ../libultra/src/os/timerintr] + - [0xD7850, c, ../libultra/src/io/si] + - [0xD7880, c, ../libultra/src/io/contpfs] + - [0xD85E0, c, ../libultra/src/io/dp] + - [0xD8610, c, ../libultra/src/io/vigetcurrcontext] + - [0xD8620, c, ../libultra/src/io/viswapcontext] + - [0xD8980, c, ../libultra/src/io/spgetstat] + - [0xD8990, c, ../libultra/src/io/spsetpc] + - [0xD89D0, c, ../libultra/src/io/sprawdma] + - [0xD8A60, c, ../libultra/src/io/sp] + - [0xD8A90, c, ../libultra/src/os/resetglobalintmask] + - [0xD8AF0, c, ../libultra/src/io/epirawwrite] + - [0xD8B40, c, ../libultra/src/os/yieldthread] + - [0xD8B90, c, ../libultra/src/os/destroythread] + - [0xD8C90, c, ../libultra/src/libc/xlitob] + - [0xD8F30, c, ../libultra/src/libc/xldtob] + - [0xD99F0, hasm, ../libultra/src/os/setcompare] + - [0xD9A00, c, ../libultra/src/libc/ldiv] + - [0xD9B90, textbin, ucode_audio] + - [0xDAA50, textbin, ucode_boot] + - [0xDAB20, textbin, ucode_f3ddkr_dram] + - [0xDBD20, textbin, ucode_f3ddkr_fifo] + - [0xDCF00, textbin, ucode_f3ddkr_xbus] + - [0xDE100, textbin, ucode_unknown_2] + - [0xDEBC0, .data, audio] + - [0xDEC10, .data, audiomgr] + - [0xDEC40, .data, audiosfx] + - [0xDEC60, .data, audio_vehicle] + - [0xDEC70, .data, audio_spatial] + - [0xDEC80, .data, objects] + - [0xDEE00, .data, tracks] + - [0xDEEF0, .data, lights] + - [0xDEF10, .data, object_functions] + - [0xDF0F0, .data, racer] + - [0xDF380, .data, vehicle_tricky] + - [0xDF3A0, .data, vehicle_bluey] + - [0xDF3C0, .data, vehicle_smokey] + - [0xDF3E0, .data, vehicle_bubbler] + - [0xDF400, .data, vehicle_wizpig] + - [0xDF420, .data, vehicle_rocket] + - [0xDF440, .data, object_models] + - [0xDF450, .data, ../libultra/src/audio/mips1/reverb] + - [0xDF460, .data, ../libultra/src/audio/mips1/drvrnew] + - [0xDF5F0, .data, ../libultra/src/audio/mips1/synstartvoiceparam] + - [0xDF600, .data, camera] + - [0xDF8A0, .data, joypad] + - [0xDF8B0, .data, game] + - [0xDF8E0, .data, thread3_main] + - [0xDF9D0, .data, hasm/math_util] + - [0xE09E0, .data, save_data] + - [0xE0A40, .data, rcp_dkr] + - [0xE0CE0, .data, ../libultra/src/sc/sched] + - [0xE0D20, .data, video] + - [0xE0D70, .data, textures_sprites] + - [0xE19F0, .data, screen_asset] + - [0xE1A00, .data, menu] + - [0xE44F0, .data, game_ui] + - [0xE4F40, .data, weather] + - [0xE5390, .data, particles] + - [0xE55E0, .data, printf] + - [0xE5710, .data, thread0_epc] + - [0xE5730, .data, waves] + - [0xE5890, .data, fade_transition] + - [0xE5D60, .data, game_text] + - [0xE5D80, .data, font] + - [0xE5EA0, .data, ../libultra/src/io/pimgr] + - [0xE5EC0, .data, gzip] + - [0xE5ED0, .data, thread30_track_loading] + - [0xE5EE0, .data, ../libultra/src/audio/sl] + - [0xE5EF0, .data, ../libultra/src/io/aisetnextbuf] + - [0xE5F00, .data, ../libultra/src/audio/env] + - [0xE6000, .data, ../libultra/src/os/initialize] + - [0xE6020, .data, ../libultra/src/io/controller] + - [0xE6030, .data, ../libultra/src/io/siacs] + - [0xE6040, .data, ../libultra/src/io/vimgr] + - [0xE6060, .data, ../libultra/src/io/vitbl] + - [0xE6F60, .data, ../libultra/src/io/piacs] + - [0xE6F70, .data, ../libultra/src/io/vi] + - [0xE6FE0, .data, ../libultra/src/os/thread] + - [0xE7000, .data, ../libultra/src/os/exceptasm] + - [0xE7020, .data, ../libultra/src/libc/xprintf] + - [0xE7070, .data, ../libultra/src/os/timerintr] + - [0xE7080, .data, ../libultra/src/libc/xlitob] + - [0xE70B0, .rodata, audio] + - [0xE7150, .rodata, audiomgr] + - [0xE7210, .rodata, audiosfx] + - [0xE7350, .rodata, audio_vehicle] + - [0xE7460, .rodata, audio_spatial] + - [0xE7690, .rodata, ../libultra/src/audio/mips1/seqplayer] + - [0xE76C0, .rodata, objects] + - [0xE8550, .rodata, tracks] + - [0xE86C0, .rodata, hasm/collision] + - [0xE86E0, .rodata, lights] + - [0xE8780, .rodata, object_functions] + - [0xE89E0, .rodata, racer] + - [0xE9170, .rodata, vehicle_tricky] + - [0xE9190, .rodata, vehicle_bluey] + - [0xE91B0, .rodata, vehicle_smokey] + - [0xE91D0, .rodata, vehicle_bubbler] + - [0xE9210, .rodata, vehicle_wizpig] + - [0xE9260, .rodata, vehicle_rocket] + - [0xE9280, .rodata, object_models] + - [0xE9380, .rodata, ../libultra/src/audio/mips1/csplayer] + - [0xE95D0, .rodata, ../libultra/src/audio/mips1/reverb] + - [0xE9600, .rodata, ../libultra/src/audio/mips1/drvrnew] + - [0xE9620, .rodata, ../libultra/src/audio/mips1/synthesizer] + - [0xE9630, .rodata, main] + - [0xE9660, .rodata, camera] + - [0xE9870, .rodata, thread3_main] + - [0xE9970, .rodata, memory] + - [0xE9D90, .rodata, save_data] + - [0xE9F60, .rodata, ../libultra/src/sc/sched] + - [0xEA0F0, .rodata, video] + - [0xEA290, .rodata, textures_sprites] + - [0xEA3F0, .rodata, screen_asset] + - [0xEA410, .rodata, menu] + - [0xEAD50, .rodata, game_ui] + - [0xEAEA0, .rodata, weather] + - [0xEAEF0, .rodata, particles] + - [0xEB2B0, .rodata, printf] + - [0xEB520, .rodata, thread0_epc] + - [0xEB810, .rodata, waves] + - [0xEB980, .rodata, fade_transition] + - [0xEB9E0, .rodata, game_text] + - [0xEBA10, .rodata, font] + - [0xEBA30, .rodata, hasm/gzip_asm] + - [0xEBB20, .rodata, ../libultra/src/audio/cseq] + - [0xEBB30, .rodata, ../libultra/src/audio/cents2ratio] + - [0xEBB40, .rodata, ../libultra/src/os/setintmask] + - [0xEBBC0, .rodata, ../libultra/src/libc/llcvt] + - [0xEBBD0, .rodata, ../libultra/src/audio/env] + - [0xEBCA0, .rodata, ../libultra/src/audio/resample] + - [0xEBCB0, .rodata, ../libultra/src/gu/perspective] + - [0xEBCC0, .rodata, ../libultra/src/io/devmgr] + - [0xEBCE0, .rodata, ../libultra/src/os/exceptasm] + - [0xEBD30, .rodata, ../libultra/src/libc/xprintf] + - [0xEBE30, .rodata, ../libultra/src/gu/cosf] + - [0xEBE80, .rodata, ../libultra/src/gu/sinf] + - [0xEBED0, .rodata, ../libultra/src/libc/xldtob] + - [0xEBF30, hasm, ../libultra/src/gu/libm_vals] + - { start: 0xEBF40, type: databin, name: data_audio, linker_section_order: .rodata } + - { start: 0xEC210, type: databin, name: data_f3ddkr_dram, linker_section_order: .rodata } + - { start: 0xECA10, type: databin, name: data_f3ddkr_fifo, linker_section_order: .rodata } + - { start: 0xED210, type: databin, name: data_f3ddkr_xbus, linker_section_order: .rodata } + - { start: 0xEDA10, type: databin, name: data_unknown_2, linker_section_order: .rodata } + - { start: auto, type: .bss, vram: 0x800ED9D0, name: audio } + - { start: auto, type: .bss, vram: 0x80117A00, name: audiomgr } + - { start: auto, type: .bss, vram: 0x8011B640, name: audiosfx } + - { start: auto, type: .bss, vram: 0x8011B6A0, name: audio_vehicle } + - { start: auto, type: .bss, vram: 0x8011C690, name: objects } + - { start: auto, type: .bss, vram: 0x8011CB10, name: tracks } + - { start: auto, type: .bss, vram: 0x8011EF30, name: lights } + - { start: auto, type: .bss, vram: 0x8011EF40, name: object_functions } + - { start: auto, type: .bss, vram: 0x8011EF60, name: racer } + - { start: auto, type: .bss, vram: 0x8011F030, name: vehicle_tricky } + - { start: auto, type: .bss, vram: 0x8011F040, name: vehicle_bluey } + - { start: auto, type: .bss, vram: 0x8011F050, name: vehicle_smokey } + - { start: auto, type: .bss, vram: 0x8011F060, name: vehicle_bubbler } + - { start: auto, type: .bss, vram: 0x8011F070, name: vehicle_wizpig } + - { start: auto, type: .bss, vram: 0x8011F080, name: vehicle_rocket } + - { start: auto, type: .bss, vram: 0x8011F090, name: object_models } + - { start: auto, type: .bss, vram: 0x8011F0C0, name: main } + - { start: auto, type: .bss, vram: 0x80121530, name: hasm/entrypoint } + - { start: auto, type: .bss, vram: 0x80122530, name: camera } + - { start: auto, type: .bss, vram: 0x80122B50, name: joypad } + - { start: auto, type: .bss, vram: 0x80122BD0, name: game } + - { start: auto, type: .bss, vram: 0x80122C60, name: thread3_main } + - { start: auto, type: .bss, vram: 0x80124FF0, name: memory } + - { start: auto, type: .bss, vram: 0x80125840, name: ../libultra/src/io/motor } + - { start: auto, type: .bss, vram: 0x80125A80, name: save_data } + - { start: auto, type: .bss, vram: 0x80125C70, name: asset_loading } + - { start: auto, type: .bss, vram: 0x80125D30, name: rcp_dkr } + - { start: auto, type: .bss, vram: 0x80127BA0, name: ../libultra/src/sc/sched } + - { start: auto, type: .bss, vram: 0x80127C00, name: video } + - { start: auto, type: .bss, vram: 0x80127DB0, name: textures_sprites } + - { start: auto, type: .bss, vram: 0x80127E20, name: menu } + - { start: auto, type: .bss, vram: 0x80128780, name: game_ui } + - { start: auto, type: .bss, vram: 0x80128C60, name: os_yield_data } + - { start: auto, type: .bss, vram: 0x80129660, name: weather } + - { start: auto, type: .bss, vram: 0x80129730, name: particles } + - { start: auto, type: .bss, vram: 0x80129750, name: printf } + - { start: auto, type: .bss, vram: 0x8012A090, name: thread0_epc } + - { start: auto, type: .bss, vram: 0x8012B560, name: stacks } + - { start: auto, type: .bss, vram: 0x8012BA70, name: waves } + - { start: auto, type: .bss, vram: 0x8012C1E0, name: fade_transition } + - { start: auto, type: .bss, vram: 0x8012C230, name: game_text } + - { start: auto, type: .bss, vram: 0x8012C290, name: font } + - { start: auto, type: .bss, vram: 0x8012C2E0, name: ../libultra/src/io/pimgr } + - { start: auto, type: .bss, vram: 0x8012C5B0, name: gzip } + - { start: auto, type: .bss, vram: 0x8012C5C0, name: ../libultra/src/io/leointerrupt } + - { start: auto, type: .bss, vram: 0x8012C5D0, name: thread30_track_loading } + - { start: auto, type: .bss, vram: 0x8012E7A0, name: ../libultra/src/os/initialize } + - { start: auto, type: .bss, vram: 0x8012E7B0, name: ../libultra/src/os/seteventmesg } + - { start: auto, type: .bss, vram: 0x8012E830, name: ../libultra/src/io/controller } + - { start: auto, type: .bss, vram: 0x8012E8C0, name: ../libultra/src/io/pfsisplug } + - { start: auto, type: .bss, vram: 0x8012E900, name: ../libultra/src/io/siacs } + - { start: auto, type: .bss, vram: 0x8012E920, name: ../libultra/src/io/conteepread } + - { start: auto, type: .bss, vram: 0x8012E960, name: ../libultra/src/io/vimgr } + - { start: auto, type: .bss, vram: 0x8012EC80, name: ../libultra/src/io/sptask } + - { start: auto, type: .bss, vram: 0x8012ECC0, name: ../libultra/src/io/piacs } + - { start: auto, type: .bss, vram: 0x8012ECE0, name: ../libultra/src/os/timerintr } + - { start: auto, type: .bss, vram: 0x8012ED20, name: ../libultra/src/os/exceptasm } + + - name: assets + type: bin + start: 0xEE5D0 + follows_vram: main + - [0xB8E4E0] diff --git a/ver/splat/dkr.pal.v77.yaml b/ver/splat/dkr.pal.v77.yaml new file mode 100644 index 00000000..ddb5200d --- /dev/null +++ b/ver/splat/dkr.pal.v77.yaml @@ -0,0 +1,446 @@ +name: Diddy Kong Racing (European (basic spec.)) +sha1: dd5d64dd140cb7aa28404fa35abdcaba33c29260 +options: + basename: dkr.pal.v77 + target_path: baseroms/baserom.pal.v77.z64 + base_path: ../../ + compiler: IDO + find_file_boundaries: True + header_encoding: ASCII + platform: n64 + undefined_funcs_auto_path: ver/symbols/undefined_funcs_auto.pal.v77.txt + undefined_syms_auto_path: ver/symbols/undefined_syms_auto.pal.v77.txt + symbol_addrs_path: ver/symbols/symbol_addrs.pal.v77.txt + symbol_name_format: $VRAM_$ROM + ld_script_path: ver/dkr.pal.v77.ld + asm_path: asm + src_path: src + build_path: build + asset_path: assets + section_order: [".text", ".data", ".rodata", ".bss"] + migrate_rodata_to_functions: True + hasm_in_src_path: True +segments: + - name: header + type: header + start: 0x0 + + - name: boot + type: bin + start: 0x40 + + - name: main + type: code + start: 0x1000 + vram: 0x80000400 + bss_size: 0x41490 + subsegments: + - [0x1000, hasm, hasm/entrypoint] + - [0x1050, c, audio] + - [0x3260, c, audiomgr] + - [0x3D60, c, audiosfx] + - [0x5740, c, audio_vehicle] + - [0x8C40, c, audio_spatial] + - [0xB310, c, ../libultra/src/audio/mips1/seqplayer] + - [0xBC20, c, objects] + - [0x251F0, hasm, hasm/unknown_0251F0] + - [0x255E0, c, tracks] + - [0x31D30, hasm, hasm/collision] + - [0x32760, c, lights] + - [0x348C0, c, object_functions] + - [0x43920, c, racer] + - [0x5CEF0, c, vehicle_tricky] + - [0x5DCD0, c, vehicle_bluey] + - [0x5E420, c, vehicle_smokey] + - [0x5F0C0, c, vehicle_bubbler] + - [0x5F690, c, vehicle_wizpig] + - [0x5FF10, c, vehicle_rocket] + - [0x60450, c, object_models] + - [0x62930, hasm, hasm/object_animate] + - [0x62E90, c, ../libultra/src/audio/mips1/csplayer] + - [0x64690, c, ../libultra/src/audio/mips1/unknown_064690] + - [0x646F0, c, ../libultra/src/audio/mips1/seqchannel] + - [0x647A0, c, ../libultra/src/audio/mips1/cspsetfadein] + - [0x64800, c, ../libultra/src/audio/mips1/cspgetfadein] + - [0x64830, c, ../libultra/src/audio/mips1/reverb] + - [0x65550, c, ../libultra/src/audio/mips1/drvrnew] + - [0x65D30, c, ../libultra/src/audio/mips1/synthesizer] + - [0x66460, c, ../libultra/src/audio/mips1/synallocfx] + - [0x66500, c, ../libultra/src/audio/mips1/auxbus] + - [0x66720, c, ../libultra/src/audio/mips1/synsetpan] + - [0x667D0, c, ../libultra/src/audio/mips1/synstartvoiceparam] + - [0x66940, c, main] + - [0x66AA0, c, camera] + - [0x6AD00, c, joypad] + - [0x6B2B0, c, game] + - [0x6CF30, c, thread3_main] + - [0x70110, hasm, hasm/math_util] + - [0x71730, c, memory] + - [0x72930, c, ../libultra/src/io/motor] + - [0x72E50, c, save_data] + - [0x777A0, c, asset_loading] + - [0x77C50, c, borders] + - [0x78050, c, rcp_dkr] + - [0x79F50, c, ../libultra/src/sc/sched] + - [0x7AED0, c, set_rsp_segment] + - [0x7AF10, c, video] + - [0x7B870, c, textures_sprites] + - [0x80240, c, screen_asset] + - [0x80500, c, menu] + - [0x9F980, c, game_ui] + - [auto, c, os_yield_data] #bss only file + - [0xABE80, c, weather] + - [0xAEF00, c, particles] + - [0xB53A0, c, unused_string] + - [0xB55D0, c, printf] + - [0xB7BD0, c, ../libultra/src/debug/assert] + - [0xB7BE0, c, thread0_epc] + - [0xB89A0, hasm, hasm/get_stack_pointer] + - [0xB89B0, c, waves] + - [0xC0E00, c, fade_transition] + - [0xC3680, c, game_text] + - [0xC4890, c, font] + - [0xC6C90, c, ../libultra/src/io/pimgr] + - [0xC6E00, c, gzip] + - [0xC7550, hasm, hasm/gzip_asm] + - [0xC7FD0, c, ../libultra/src/io/leointerrupt] + - [0xC7FE0, c, thread30_track_loading] + - [0xC81F0, c, ../libultra/src/audio/heapinit] + - [0xC8230, c, ../libultra/src/audio/bnkf] + - [0xC8480, c, ../libultra/src/audio/heapalloc] + - [0xC84E0, c, ../libultra/src/audio/cspsetvol] + - [0xC8520, c, ../libultra/src/audio/cspgettempo] + - [0xC8560, hasm, ../libultra/src/os/getcount] + - [0xC8570, c, ../libultra/src/audio/cspsetpan] + - [0xC85D0, c, ../libultra/src/audio/cspsetchlvol] + - [0xC8630, c, ../libultra/src/audio/cspgetchlvol] + - [0xC8650, c, ../libultra/src/audio/seqpgetfxmix] + - [0xC8670, c, ../libultra/src/audio/cspsettempo] + - [0xC86E0, c, ../libultra/src/audio/cspgetstate] + - [0xC86F0, c, ../libultra/src/audio/cspsetbank] + - [0xC8730, c, ../libultra/src/audio/cseq] + - [0xC91F0, c, ../libultra/src/audio/cspsetseq] + - [0xC9230, c, ../libultra/src/audio/cspplay] + - [0xC9260, c, ../libultra/src/audio/cspstop] + - [0xC9290, c, ../libultra/src/io/aisetfreq] + - [0xC93F0, c, ../libultra/src/audio/sl] + - [0xC94B0, c, ../libultra/src/os/createmesgqueue] + - [0xC94E0, c, ../libultra/src/os/createthread] + - [0xC9630, c, ../libultra/src/os/startthread] + - [0xC9780, c, ../libultra/src/os/stopthread] + - [0xC9840, c, ../libultra/src/os/recvmesg] + - [0xC9980, c, ../libultra/src/os/virtualtophysical] + - [0xC9A00, c, ../libultra/src/io/aisetnextbuf] + - [0xC9AB0, c, ../libultra/src/io/aigetlen] + - [0xC9AC0, c, ../libultra/src/os/sendmesg] + - [0xC9C10, c, ../libultra/src/io/pidma] + - [0xC9D20, c, ../libultra/src/audio/event] + - [0xCA060, c, ../libultra/src/audio/synaddplayer] + - [0xCA0B0, c, ../libultra/src/audio/synallocvoice] + - [0xCA2E0, c, ../libultra/src/audio/synsetvol] + - [0xCA380, c, ../libultra/src/audio/synstartvoice] + - [0xCA410, c, ../libultra/src/audio/synsetpitch] + - [0xCA4A0, c, ../libultra/src/audio/synsetfxmix] + - [0xCA540, c, ../libultra/src/audio/synstopvoice] + - [0xCA5C0, c, ../libultra/src/audio/synfreevoice] + - [0xCA670, c, ../libultra/src/audio/cents2ratio] + - [0xCA6C0, hasm, ../libultra/src/os/setintmask] + - [0xCA760, hasm, ../libultra/src/gu/sqrtf] + - [0xCA770, c, ../libultra/src/audio/synsetpriority] + - [0xCA780, pad] #0x40 bytes of zeroes, could be parameters.s from libultra, but that's 0x60 bytes. + - [0xCA7C0, c, ../libultra/src/libc/llcvt] + - [0xCA9D0, c, ../libultra/src/libc/rmonPrintf] + - [0xCAA30, hasm, ../libultra/src/libc/bcopy] + - [0xCAD40, c, ../libultra/src/audio/filter] + - [0xCAD60, c, ../libultra/src/audio/env] + - [0xCC1D0, c, ../libultra/src/audio/load] + - [0xCCD20, c, ../libultra/src/audio/resample] + - [0xCD020, c, ../libultra/src/audio/mainbus] + - [0xCD170, c, ../libultra/src/audio/save] + - [0xCD230, c, ../libultra/src/os/initialize] + - [0xCD4D0, c, ../libultra/src/os/setthreadpri] + - [0xCD5B0, c, ../libultra/src/gu/perspective] + - [0xCD840, c, ../libultra/src/os/seteventmesg] + - [0xCD8B0, c, ../libultra/src/io/controller] + - [0xCDC70, c, ../libultra/src/io/contreaddata] + - [0xCDED0, c, ../libultra/src/io/spsetstat] + - [0xCDEE0, c, ../libultra/src/io/dpsetstat] + - [0xCDEF0, c, ../libultra/src/os/settime] + - [0xCDF20, c, ../libultra/src/io/pfsisplug] + - [0xCE290, c, ../libultra/src/io/siacs] + - [0xCE350, c, ../libultra/src/io/sirawdma] + - [0xCE400, c, ../libultra/src/io/crc] + - [0xCE580, c, ../libultra/src/io/contramwrite] + - [0xCE930, c, ../libultra/src/io/contramread] + - [0xCECE0, hasm, ../libultra/src/libc/bcmp] + - [0xCEE00, c, ../libultra/src/libc/string] + - [0xCEEA0, c, ../libultra/src/io/conteepprobe] + - [0xCEF10, c, ../libultra/src/io/conteepread] + - [0xCF210, c, ../libultra/src/io/conteepwrite] + - [0xCF6F0, c, ../libultra/src/libc/ll] + - [0xCF9B0, c, ../libultra/src/io/pfsinit] + - [0xCFB70, c, ../libultra/src/io/pfsreadwritefile] + - [0xD0070, c, ../libultra/src/io/pfsfreeblocks] + - [0xD01C0, c, ../libultra/src/io/pfschecker] + - [0xD0C20, c, ../libultra/src/io/pfsreformat] + - [0xD1020, c, ../libultra/src/io/pfsnumfiles] + - [0xD1170, hasm, ../libultra/src/libc/bzero] + - [0xD1210, c, ../libultra/src/io/pfsfilestate] + - [0xD1500, c, ../libultra/src/io/pfsdeletefile] + - [0xD1B10, c, ../libultra/src/io/pfssearchfile] + - [0xD1CD0, c, ../libultra/src/io/pfsallocatefile] + - [0xD2480, hasm, ../libultra/src/os/invaldcache] + - [0xD2530, hasm, ../libultra/src/os/writebackdcacheall] + - [0xD2560, c, ../libultra/src/io/dpgetstat] + - [0xD2570, c, ../libultra/src/io/dpsetnextbuf] + - [0xD2620, c, ../libultra/src/io/vimgr] + - [0xD2930, c, ../libultra/src/io/visetmode] + - [0xD29A0, c, ../libultra/src/io/viblack] + - [0xD2A10, c, ../libultra/src/io/visetevent] + - [0xD2A80, c, ../libultra/src/io/sptaskyielded] + - [0xD2B00, c, ../libultra/src/io/vigetcurrframebuf] + - [0xD2B40, c, ../libultra/src/io/vigetnextframebuf] + - [0xD2B80, c, ../libultra/src/io/sptask] + - [0xD2E40, c, ../libultra/src/os/gettime] + - [0xD2ED0, c, ../libultra/src/io/sptaskyield] + - [0xD2EF0, c, ../libultra/src/io/visetspecial] + - [0xD30B0, c, ../libultra/src/io/viswapbuf] + - [0xD3100, c, ../libultra/src/os/getactivequeue] + - [0xD3110, c, ../libultra/src/io/piacs] + - [0xD31D0, c, ../libultra/src/os/getthreadpri] + - [0xD31F0, hasm, ../libultra/src/os/interrupt] + - [0xD3230, c, ../libultra/src/io/pirawdma] + - [0xD3310, c, ../libultra/src/io/epirawdma] + - [0xD33F0, c, ../libultra/src/io/devmgr] + - [0xD37A0, c, ../libultra/src/io/vi] + - [0xD38F0, c, ../libultra/src/audio/syndelete] + - [0xD3900, c, ../libultra/src/os/thread] + - [0xD3940, hasm, ../libultra/src/os/exceptasm] + - [0xD4240, hasm, ../libultra/src/os/probetlb] + - [0xD4300, c, ../libultra/src/io/ai] + - [0xD4330, c, ../libultra/src/os/jammesg] + - [0xD4480, c, ../libultra/src/io/pigetcmdq] + - [0xD44B0, c, ../libultra/src/audio/copy] + - [0xD4530, c, ../libultra/src/libc/xprintf] + - [0xD51F0, hasm, ../libultra/src/os/setsr] + - [0xD5200, hasm, ../libultra/src/os/getsr] + - [0xD5210, hasm, ../libultra/src/os/setfpccsr] + - [0xD5220, c, ../libultra/src/io/sirawread] + - [0xD5270, c, ../libultra/src/io/sirawwrite] + - [0xD52C0, hasm, ../libultra/src/os/writebackdcache] + - [0xD5340, hasm, ../libultra/src/os/invalicache] + - [0xD53C0, hasm, ../libultra/src/os/maptlbrdb] + - [0xD5420, c, ../libultra/src/io/pirawread] + - [0xD5480, c, ../libultra/src/os/sethwinterrupt] + - [0xD54D0, c, ../libultra/src/gu/mtxutil] + - [0xD5740, c, ../libultra/src/gu/cosf] + - [0xD58B0, c, ../libultra/src/gu/sinf] + - [0xD5A70, c, ../libultra/src/os/settimer] + - [0xD5B50, c, ../libultra/src/os/timerintr] + - [0xD5F50, c, ../libultra/src/io/si] + - [0xD5F80, c, ../libultra/src/io/contpfs] + - [0xD6CE0, c, ../libultra/src/io/dp] + - [0xD6D10, c, ../libultra/src/io/vigetcurrcontext] + - [0xD6D20, c, ../libultra/src/io/viswapcontext] + - [0xD7080, c, ../libultra/src/io/spgetstat] + - [0xD7090, c, ../libultra/src/io/spsetpc] + - [0xD70D0, c, ../libultra/src/io/sprawdma] + - [0xD7160, c, ../libultra/src/io/sp] + - [0xD7190, c, ../libultra/src/os/resetglobalintmask] + - [0xD71F0, c, ../libultra/src/io/epirawwrite] + - [0xD7240, c, ../libultra/src/os/yieldthread] + - [0xD7290, c, ../libultra/src/os/destroythread] + - [0xD7390, c, ../libultra/src/libc/xlitob] + - [0xD7630, c, ../libultra/src/libc/xldtob] + - [0xD80F0, hasm, ../libultra/src/os/setcompare] + - [0xD8100, c, ../libultra/src/libc/ldiv] + - [0xD8290, textbin, ucode_audio] + - [0xD9150, textbin, ucode_boot] + - [0xD9220, textbin, ucode_f3ddkr_dram] + - [0xDA420, textbin, ucode_f3ddkr_fifo] + - [0xDB600, textbin, ucode_f3ddkr_xbus] + - [0xDC800, textbin, ucode_unknown_2] + - [0xDD2C0, .data, audio] + - [0xDD310, .data, audiomgr] + - [0xDD340, .data, audiosfx] + - [0xDD360, .data, audio_vehicle] + - [0xDD370, .data, audio_spatial] + - [0xDD380, .data, objects] + - [0xDD500, .data, tracks] + - [0xDD5E0, .data, lights] + - [0xDD600, .data, object_functions] + - [0xDD7E0, .data, racer] + - [0xDDA70, .data, vehicle_tricky] + - [0xDDA90, .data, vehicle_bluey] + - [0xDDAC0, .data, vehicle_smokey] + - [0xDDAD0, .data, vehicle_bubbler] + - [0xDDAF0, .data, vehicle_wizpig] + - [0xDDB10, .data, vehicle_rocket] + - [0xDDB30, .data, object_models] + - [0xDDB40, .data, ../libultra/src/audio/mips1/reverb] + - [0xDDB50, .data, ../libultra/src/audio/mips1/drvrnew] + - [0xDDCE0, .data, ../libultra/src/audio/mips1/synstartvoiceparam] + - [0xDDCF0, .data, camera] + - [0xDDF90, .data, joypad] + - [0xDDFA0, .data, game] + - [0xDDFD0, .data, thread3_main] + - [0xDE0C0, .data, hasm/math_util] + - [0xDF0D0, .data, save_data] + - [0xDF120, .data, rcp_dkr] + - [0xDF3C0, .data, ../libultra/src/sc/sched] + - [0xDF400, .data, video] + - [0xDF450, .data, textures_sprites] + - [0xE00D0, .data, screen_asset] + - [0xE00E0, .data, menu] + - [0xE2AF0, .data, game_ui] + - [0xE34E0, .data, weather] + - [0xE3930, .data, particles] + - [0xE3B80, .data, printf] + - [0xE3CB0, .data, thread0_epc] + - [0xE3CD0, .data, waves] + - [0xE3E30, .data, fade_transition] + - [0xE4300, .data, game_text] + - [0xE4320, .data, font] + - [0xE43D0, .data, ../libultra/src/io/pimgr] + - [0xE43F0, .data, gzip] + - [0xE4400, .data, thread30_track_loading] + - [0xE4410, .data, ../libultra/src/audio/sl] + - [0xE4420, .data, ../libultra/src/io/aisetnextbuf] + - [0xE4430, .data, ../libultra/src/audio/env] + - [0xE4530, .data, ../libultra/src/os/initialize] + - [0xE4550, .data, ../libultra/src/io/controller] + - [0xE4560, .data, ../libultra/src/io/siacs] + - [0xE4570, .data, ../libultra/src/io/vimgr] + - [0xE4590, .data, ../libultra/src/io/vitbl] + - [0xE5490, .data, ../libultra/src/io/piacs] + - [0xE54A0, .data, ../libultra/src/io/vi] + - [0xE5510, .data, ../libultra/src/os/thread] + - [0xE5530, .data, ../libultra/src/os/exceptasm] + - [0xE5550, .data, ../libultra/src/libc/xprintf] + - [0xE55A0, .data, ../libultra/src/os/timerintr] + - [0xE55B0, .data, ../libultra/src/libc/xlitob] + - [0xE55E0, .rodata, audio] + - [0xE5680, .rodata, audiomgr] + - [0xE5740, .rodata, audiosfx] + - [0xE5880, .rodata, audio_vehicle] + - [0xE5990, .rodata, audio_spatial] + - [0xE5BC0, .rodata, ../libultra/src/audio/mips1/seqplayer] + - [0xE5BF0, .rodata, objects] + - [0xE6A80, .rodata, tracks] + - [0xE6BF0, .rodata, hasm/collision] + - [0xE6C10, .rodata, lights] + - [0xE6C30, .rodata, object_functions] + - [0xE6F10, .rodata, racer] + - [0xE76A0, .rodata, vehicle_tricky] + - [0xE76C0, .rodata, vehicle_bluey] + - [0xE76E0, .rodata, vehicle_smokey] + - [0xE7730, .rodata, vehicle_bubbler] + - [0xE7740, .rodata, vehicle_wizpig] + - [0xE7790, .rodata, vehicle_rocket] + - [0xE77B0, .rodata, object_models] + - [0xE78B0, .rodata, ../libultra/src/audio/mips1/csplayer] + - [0xE7B00, .rodata, ../libultra/src/audio/mips1/reverb] + - [0xE7B30, .rodata, ../libultra/src/audio/mips1/drvrnew] + - [0xE7B50, .rodata, ../libultra/src/audio/mips1/synthesizer] + - [0xE7B60, .rodata, main] + - [0xE7B90, .rodata, camera] + - [0xE7D40, .rodata, thread3_main] + - [0xE7EA0, .rodata, memory] + - [0xE8220, .rodata, save_data] + - [0xE8490, .rodata, ../libultra/src/sc/sched] + - [0xE8620, .rodata, video] + - [0xE87C0, .rodata, textures_sprites] + - [0xE8920, .rodata, screen_asset] + - [0xE8940, .rodata, menu] + - [0xE92D0, .rodata, game_ui] + - [0xE9480, .rodata, weather] + - [0xE94D0, .rodata, particles] + - [0xE9890, .rodata, printf] + - [0xE9B00, .rodata, thread0_epc] + - [0xE9DF0, .rodata, waves] + - [0xE9F60, .rodata, fade_transition] + - [0xE9FC0, .rodata, game_text] + - [0xE9FF0, .rodata, font] + - [0xEA050, .rodata, hasm/gzip_asm] + - [0xEA140, .rodata, ../libultra/src/audio/cseq] + - [0xEA150, .rodata, ../libultra/src/audio/cents2ratio] + - [0xEA160, .rodata, ../libultra/src/os/setintmask] + - [0xEA1E0, .rodata, ../libultra/src/libc/llcvt] + - [0xEA1F0, .rodata, ../libultra/src/audio/env] + - [0xEA290, .rodata, ../libultra/src/audio/resample] + - [0xEA2D0, .rodata, ../libultra/src/gu/perspective] + - [0xEA2E0, .rodata, ../libultra/src/io/devmgr] + - [0xEA300, .rodata, ../libultra/src/os/exceptasm] + - [0xEA350, .rodata, ../libultra/src/libc/xprintf] + - [0xEA450, .rodata, ../libultra/src/gu/cosf] + - [0xEA4A0, .rodata, ../libultra/src/gu/sinf] + - [0xEA4F0, .rodata, ../libultra/src/libc/xldtob] + - [0xEA550, hasm, ../libultra/src/gu/libm_vals] + - { start: 0xEA560, type: databin, name: data_audio, linker_section_order: .rodata } + - { start: 0xEA830, type: databin, name: data_f3ddkr_dram, linker_section_order: .rodata } + - { start: 0xEB030, type: databin, name: data_f3ddkr_fifo, linker_section_order: .rodata } + - { start: 0xEB830, type: databin, name: data_f3ddkr_xbus, linker_section_order: .rodata } + - { start: 0xEC030, type: databin, name: data_unknown_2, linker_section_order: .rodata } + - { start: auto, type: .bss, vram: 0x800EBFF0, name: audio } + - { start: auto, type: .bss, vram: 0x80116020, name: audiomgr } + - { start: auto, type: .bss, vram: 0x80119C60, name: audiosfx } + - { start: auto, type: .bss, vram: 0x80119CC0, name: audio_vehicle } + - { start: auto, type: .bss, vram: 0x8011ACB0, name: objects } + - { start: auto, type: .bss, vram: 0x8011B130, name: tracks } + - { start: auto, type: .bss, vram: 0x8011D550, name: lights } + - { start: auto, type: .bss, vram: 0x8011D560, name: object_functions } + - { start: auto, type: .bss, vram: 0x8011D580, name: racer } + - { start: auto, type: .bss, vram: 0x8011D650, name: vehicle_tricky } + - { start: auto, type: .bss, vram: 0x8011D660, name: vehicle_bluey } + - { start: auto, type: .bss, vram: 0x8011D670, name: vehicle_smokey } + - { start: auto, type: .bss, vram: 0x8011D680, name: vehicle_bubbler } + - { start: auto, type: .bss, vram: 0x8011D690, name: vehicle_wizpig } + - { start: auto, type: .bss, vram: 0x8011D6A0, name: vehicle_rocket } + - { start: auto, type: .bss, vram: 0x8011D6B0, name: object_models } + - { start: auto, type: .bss, vram: 0x8011D7E0, name: main } + - { start: auto, type: .bss, vram: 0x8011FB50, name: hasm/entrypoint } + - { start: auto, type: .bss, vram: 0x80120B50, name: camera } + - { start: auto, type: .bss, vram: 0x80121170, name: joypad } + - { start: auto, type: .bss, vram: 0x801211F0, name: game } + - { start: auto, type: .bss, vram: 0x80121280, name: thread3_main } + - { start: auto, type: .bss, vram: 0x80123610, name: memory } + - { start: auto, type: .bss, vram: 0x80123E60, name: ../libultra/src/io/motor } + - { start: auto, type: .bss, vram: 0x801240A0, name: save_data } + - { start: auto, type: .bss, vram: 0x80124290, name: asset_loading } + - { start: auto, type: .bss, vram: 0x80124330, name: rcp_dkr } + - { start: auto, type: .bss, vram: 0x801261A0, name: ../libultra/src/sc/sched } + - { start: auto, type: .bss, vram: 0x80126200, name: video } + - { start: auto, type: .bss, vram: 0x801263B0, name: textures_sprites } + - { start: auto, type: .bss, vram: 0x80126420, name: menu } + - { start: auto, type: .bss, vram: 0x80126D60, name: game_ui } + - { start: auto, type: .bss, vram: 0x80127240, name: os_yield_data } + - { start: auto, type: .bss, vram: 0x80127C40, name: weather } + - { start: auto, type: .bss, vram: 0x80127D10, name: particles } + - { start: auto, type: .bss, vram: 0x80127D30, name: printf } + - { start: auto, type: .bss, vram: 0x80128670, name: thread0_epc } + - { start: auto, type: .bss, vram: 0x80129B40, name: stacks } + - { start: auto, type: .bss, vram: 0x8012A050, name: waves } + - { start: auto, type: .bss, vram: 0x8012A7C0, name: fade_transition } + - { start: auto, type: .bss, vram: 0x8012A810, name: game_text } + - { start: auto, type: .bss, vram: 0x8012A870, name: font } + - { start: auto, type: .bss, vram: 0x8012A890, name: ../libultra/src/io/pimgr } + - { start: auto, type: .bss, vram: 0x8012AB60, name: gzip } + - { start: auto, type: .bss, vram: 0x8012AB70, name: ../libultra/src/io/leointerrupt } + - { start: auto, type: .bss, vram: 0x8012AB80, name: thread30_track_loading } + - { start: auto, type: .bss, vram: 0x8012CD50, name: ../libultra/src/os/initialize } + - { start: auto, type: .bss, vram: 0x8012CD60, name: ../libultra/src/os/seteventmesg } + - { start: auto, type: .bss, vram: 0x8012CDE0, name: ../libultra/src/io/controller } + - { start: auto, type: .bss, vram: 0x8012CE70, name: ../libultra/src/io/pfsisplug } + - { start: auto, type: .bss, vram: 0x8012CEB0, name: ../libultra/src/io/siacs } + - { start: auto, type: .bss, vram: 0x8012CED0, name: ../libultra/src/io/conteepread } + - { start: auto, type: .bss, vram: 0x8012CF10, name: ../libultra/src/io/vimgr } + - { start: auto, type: .bss, vram: 0x8012D230, name: ../libultra/src/io/sptask } + - { start: auto, type: .bss, vram: 0x8012D270, name: ../libultra/src/io/piacs } + - { start: auto, type: .bss, vram: 0x8012D290, name: ../libultra/src/os/timerintr } + - { start: auto, type: .bss, vram: 0x8012D2D0, name: ../libultra/src/os/exceptasm } + + - name: assets + type: bin + start: 0xECBF0 + follows_vram: main + - [0xAC96C0] diff --git a/ver/splat/dkr.pal.v80.yaml b/ver/splat/dkr.pal.v80.yaml new file mode 100644 index 00000000..ccf3fa59 --- /dev/null +++ b/ver/splat/dkr.pal.v80.yaml @@ -0,0 +1,446 @@ +name: Diddy Kong Racing (European (basic spec.)) +sha1: b7f628073237b3d211d40406aa0884ff8fdd70d5 +options: + basename: dkr.pal.v80 + target_path: baseroms/baserom.pal.v80.z64 + base_path: ../../ + compiler: IDO + find_file_boundaries: True + header_encoding: ASCII + platform: n64 + undefined_funcs_auto_path: ver/symbols/undefined_funcs_auto.pal.v80.txt + undefined_syms_auto_path: ver/symbols/undefined_syms_auto.pal.v80.txt + symbol_addrs_path: ver/symbols/symbol_addrs.pal.v80.txt + symbol_name_format: $VRAM_$ROM + ld_script_path: ver/dkr.pal.v80.ld + asm_path: asm + src_path: src + build_path: build + asset_path: assets + section_order: [".text", ".data", ".rodata", ".bss"] + migrate_rodata_to_functions: True + hasm_in_src_path: True +segments: + - name: header + type: header + start: 0x0 + + - name: boot + type: bin + start: 0x40 + + - name: main + type: code + start: 0x1000 + vram: 0x80000400 + bss_size: 0x414D0 + subsegments: + - [0x1000, hasm, hasm/entrypoint] + - [0x1050, c, audio] + - [0x3260, c, audiomgr] + - [0x3D60, c, audiosfx] + - [0x5740, c, audio_vehicle] + - [0x8C40, c, audio_spatial] + - [0xB310, c, ../libultra/src/audio/mips1/seqplayer] + - [0xBC20, c, objects] + - [0x25230, hasm, hasm/unknown_0251F0] + - [0x25620, c, tracks] + - [0x31D70, hasm, hasm/collision] + - [0x327A0, c, lights] + - [0x34900, c, object_functions] + - [0x43960, c, racer] + - [0x5D090, c, vehicle_tricky] + - [0x5DE70, c, vehicle_bluey] + - [0x5E5C0, c, vehicle_smokey] + - [0x5F260, c, vehicle_bubbler] + - [0x5F830, c, vehicle_wizpig] + - [0x600B0, c, vehicle_rocket] + - [0x605F0, c, object_models] + - [0x62B70, hasm, hasm/object_animate] + - [0x630D0, c, ../libultra/src/audio/mips1/csplayer] + - [0x648D0, c, ../libultra/src/audio/mips1/unknown_064690] + - [0x64930, c, ../libultra/src/audio/mips1/seqchannel] + - [0x649E0, c, ../libultra/src/audio/mips1/cspsetfadein] + - [0x64A40, c, ../libultra/src/audio/mips1/cspgetfadein] + - [0x64A70, c, ../libultra/src/audio/mips1/reverb] + - [0x65790, c, ../libultra/src/audio/mips1/drvrnew] + - [0x65F70, c, ../libultra/src/audio/mips1/synthesizer] + - [0x666A0, c, ../libultra/src/audio/mips1/synallocfx] + - [0x66740, c, ../libultra/src/audio/mips1/auxbus] + - [0x66960, c, ../libultra/src/audio/mips1/synsetpan] + - [0x66A10, c, ../libultra/src/audio/mips1/synstartvoiceparam] + - [0x66B80, c, main] + - [0x66CE0, c, camera] + - [0x6AF40, c, joypad] + - [0x6B4F0, c, game] + - [0x6D170, c, thread3_main] + - [0x70350, hasm, hasm/math_util] + - [0x71970, c, memory] + - [0x72B70, c, ../libultra/src/io/motor] + - [0x73090, c, save_data] + - [0x77A00, c, asset_loading] + - [0x780A0, c, borders] + - [0x784A0, c, rcp_dkr] + - [0x7A3A0, c, ../libultra/src/sc/sched] + - [0x7B320, c, set_rsp_segment] + - [0x7B360, c, video] + - [0x7BCC0, c, textures_sprites] + - [0x80690, c, screen_asset] + - [0x80950, c, menu] + - [0x9FEC0, c, game_ui] + - [auto, c, os_yield_data] #bss only file + - [0xAC3E0, c, weather] + - [0xAF460, c, particles] + - [0xB5900, c, unused_string] + - [0xB5B30, c, printf] + - [0xB8130, c, ../libultra/src/debug/assert] + - [0xB8140, c, thread0_epc] + - [0xB8EC0, hasm, hasm/get_stack_pointer] + - [0xB8ED0, c, waves] + - [0xC1320, c, fade_transition] + - [0xC3BA0, c, game_text] + - [0xC4DF0, c, font] + - [0xC71F0, c, ../libultra/src/io/pimgr] + - [0xC7360, c, gzip] + - [0xC7AB0, hasm, hasm/gzip_asm] + - [0xC8530, c, ../libultra/src/io/leointerrupt] + - [0xC8540, c, thread30_track_loading] + - [0xC8750, c, ../libultra/src/audio/heapinit] + - [0xC8790, c, ../libultra/src/audio/bnkf] + - [0xC89E0, c, ../libultra/src/audio/heapalloc] + - [0xC8A40, c, ../libultra/src/audio/cspsetvol] + - [0xC8A80, c, ../libultra/src/audio/cspgettempo] + - [0xC8AC0, hasm, ../libultra/src/os/getcount] + - [0xC8AD0, c, ../libultra/src/audio/cspsetpan] + - [0xC8B30, c, ../libultra/src/audio/cspsetchlvol] + - [0xC8B90, c, ../libultra/src/audio/cspgetchlvol] + - [0xC8BB0, c, ../libultra/src/audio/seqpgetfxmix] + - [0xC8BD0, c, ../libultra/src/audio/cspsettempo] + - [0xC8C40, c, ../libultra/src/audio/cspgetstate] + - [0xC8C50, c, ../libultra/src/audio/cspsetbank] + - [0xC8C90, c, ../libultra/src/audio/cseq] + - [0xC9750, c, ../libultra/src/audio/cspsetseq] + - [0xC9790, c, ../libultra/src/audio/cspplay] + - [0xC97C0, c, ../libultra/src/audio/cspstop] + - [0xC97F0, c, ../libultra/src/io/aisetfreq] + - [0xC9950, c, ../libultra/src/audio/sl] + - [0xC9A10, c, ../libultra/src/os/createmesgqueue] + - [0xC9A40, c, ../libultra/src/os/createthread] + - [0xC9B90, c, ../libultra/src/os/startthread] + - [0xC9CE0, c, ../libultra/src/os/stopthread] + - [0xC9DA0, c, ../libultra/src/os/recvmesg] + - [0xC9EE0, c, ../libultra/src/os/virtualtophysical] + - [0xC9F60, c, ../libultra/src/io/aisetnextbuf] + - [0xCA010, c, ../libultra/src/io/aigetlen] + - [0xCA020, c, ../libultra/src/os/sendmesg] + - [0xCA170, c, ../libultra/src/io/pidma] + - [0xCA280, c, ../libultra/src/audio/event] + - [0xCA5C0, c, ../libultra/src/audio/synaddplayer] + - [0xCA610, c, ../libultra/src/audio/synallocvoice] + - [0xCA840, c, ../libultra/src/audio/synsetvol] + - [0xCA8E0, c, ../libultra/src/audio/synstartvoice] + - [0xCA970, c, ../libultra/src/audio/synsetpitch] + - [0xCAA00, c, ../libultra/src/audio/synsetfxmix] + - [0xCAAA0, c, ../libultra/src/audio/synstopvoice] + - [0xCAB20, c, ../libultra/src/audio/synfreevoice] + - [0xCABD0, c, ../libultra/src/audio/cents2ratio] + - [0xCAC20, hasm, ../libultra/src/os/setintmask] + - [0xCACC0, hasm, ../libultra/src/gu/sqrtf] + - [0xCACD0, c, ../libultra/src/audio/synsetpriority] + - [0xCACE0, pad] #0x40 bytes of zeroes, could be parameters.s from libultra, but that's 0x60 bytes. + - [0xCAD20, c, ../libultra/src/libc/llcvt] + - [0xCAF30, c, ../libultra/src/libc/rmonPrintf] + - [0xCAF90, hasm, ../libultra/src/libc/bcopy] + - [0xCB2A0, c, ../libultra/src/audio/filter] + - [0xCB2C0, c, ../libultra/src/audio/env] + - [0xCC730, c, ../libultra/src/audio/load] + - [0xCD280, c, ../libultra/src/audio/resample] + - [0xCD580, c, ../libultra/src/audio/mainbus] + - [0xCD6D0, c, ../libultra/src/audio/save] + - [0xCD790, c, ../libultra/src/os/initialize] + - [0xCDA30, c, ../libultra/src/os/setthreadpri] + - [0xCDB10, c, ../libultra/src/gu/perspective] + - [0xCDDA0, c, ../libultra/src/os/seteventmesg] + - [0xCDE10, c, ../libultra/src/io/controller] + - [0xCE1D0, c, ../libultra/src/io/contreaddata] + - [0xCE430, c, ../libultra/src/io/spsetstat] + - [0xCE440, c, ../libultra/src/io/dpsetstat] + - [0xCE450, c, ../libultra/src/os/settime] + - [0xCE480, c, ../libultra/src/io/pfsisplug] + - [0xCE7F0, c, ../libultra/src/io/siacs] + - [0xCE8B0, c, ../libultra/src/io/sirawdma] + - [0xCE960, c, ../libultra/src/io/crc] + - [0xCEAE0, c, ../libultra/src/io/contramwrite] + - [0xCEE90, c, ../libultra/src/io/contramread] + - [0xCF240, hasm, ../libultra/src/libc/bcmp] + - [0xCF360, c, ../libultra/src/libc/string] + - [0xCF400, c, ../libultra/src/io/conteepprobe] + - [0xCF470, c, ../libultra/src/io/conteepread] + - [0xCF770, c, ../libultra/src/io/conteepwrite] + - [0xCFC50, c, ../libultra/src/libc/ll] + - [0xCFF10, c, ../libultra/src/io/pfsinit] + - [0xD00D0, c, ../libultra/src/io/pfsreadwritefile] + - [0xD05D0, c, ../libultra/src/io/pfsfreeblocks] + - [0xD0720, c, ../libultra/src/io/pfschecker] + - [0xD1180, c, ../libultra/src/io/pfsreformat] + - [0xD1580, c, ../libultra/src/io/pfsnumfiles] + - [0xD16D0, hasm, ../libultra/src/libc/bzero] + - [0xD1770, c, ../libultra/src/io/pfsfilestate] + - [0xD1A60, c, ../libultra/src/io/pfsdeletefile] + - [0xD2070, c, ../libultra/src/io/pfssearchfile] + - [0xD2230, c, ../libultra/src/io/pfsallocatefile] + - [0xD29E0, hasm, ../libultra/src/os/invaldcache] + - [0xD2A90, hasm, ../libultra/src/os/writebackdcacheall] + - [0xD2AC0, c, ../libultra/src/io/dpgetstat] + - [0xD2AD0, c, ../libultra/src/io/dpsetnextbuf] + - [0xD2B80, c, ../libultra/src/io/vimgr] + - [0xD2E90, c, ../libultra/src/io/visetmode] + - [0xD2F00, c, ../libultra/src/io/viblack] + - [0xD2F70, c, ../libultra/src/io/visetevent] + - [0xD2FE0, c, ../libultra/src/io/sptaskyielded] + - [0xD3060, c, ../libultra/src/io/vigetcurrframebuf] + - [0xD30A0, c, ../libultra/src/io/vigetnextframebuf] + - [0xD30E0, c, ../libultra/src/io/sptask] + - [0xD33A0, c, ../libultra/src/os/gettime] + - [0xD3430, c, ../libultra/src/io/sptaskyield] + - [0xD3450, c, ../libultra/src/io/visetspecial] + - [0xD3610, c, ../libultra/src/io/viswapbuf] + - [0xD3660, c, ../libultra/src/os/getactivequeue] + - [0xD3670, c, ../libultra/src/io/piacs] + - [0xD3730, c, ../libultra/src/os/getthreadpri] + - [0xD3750, hasm, ../libultra/src/os/interrupt] + - [0xD3790, c, ../libultra/src/io/pirawdma] + - [0xD3870, c, ../libultra/src/io/epirawdma] + - [0xD3950, c, ../libultra/src/io/devmgr] + - [0xD3D00, c, ../libultra/src/io/vi] + - [0xD3E50, c, ../libultra/src/audio/syndelete] + - [0xD3E60, c, ../libultra/src/os/thread] + - [0xD3EA0, hasm, ../libultra/src/os/exceptasm] + - [0xD47A0, hasm, ../libultra/src/os/probetlb] + - [0xD4860, c, ../libultra/src/io/ai] + - [0xD4890, c, ../libultra/src/os/jammesg] + - [0xD49E0, c, ../libultra/src/io/pigetcmdq] + - [0xD4A10, c, ../libultra/src/audio/copy] + - [0xD4A90, c, ../libultra/src/libc/xprintf] + - [0xD5750, hasm, ../libultra/src/os/setsr] + - [0xD5760, hasm, ../libultra/src/os/getsr] + - [0xD5770, hasm, ../libultra/src/os/setfpccsr] + - [0xD5780, c, ../libultra/src/io/sirawread] + - [0xD57D0, c, ../libultra/src/io/sirawwrite] + - [0xD5820, hasm, ../libultra/src/os/writebackdcache] + - [0xD58A0, hasm, ../libultra/src/os/invalicache] + - [0xD5920, hasm, ../libultra/src/os/maptlbrdb] + - [0xD5980, c, ../libultra/src/io/pirawread] + - [0xD59E0, c, ../libultra/src/os/sethwinterrupt] + - [0xD5A30, c, ../libultra/src/gu/mtxutil] + - [0xD5CA0, c, ../libultra/src/gu/cosf] + - [0xD5E10, c, ../libultra/src/gu/sinf] + - [0xD5FD0, c, ../libultra/src/os/settimer] + - [0xD60B0, c, ../libultra/src/os/timerintr] + - [0xD64B0, c, ../libultra/src/io/si] + - [0xD64E0, c, ../libultra/src/io/contpfs] + - [0xD7240, c, ../libultra/src/io/dp] + - [0xD7270, c, ../libultra/src/io/vigetcurrcontext] + - [0xD7280, c, ../libultra/src/io/viswapcontext] + - [0xD75E0, c, ../libultra/src/io/spgetstat] + - [0xD75F0, c, ../libultra/src/io/spsetpc] + - [0xD7630, c, ../libultra/src/io/sprawdma] + - [0xD76C0, c, ../libultra/src/io/sp] + - [0xD76F0, c, ../libultra/src/os/resetglobalintmask] + - [0xD7750, c, ../libultra/src/io/epirawwrite] + - [0xD77A0, c, ../libultra/src/os/yieldthread] + - [0xD77F0, c, ../libultra/src/os/destroythread] + - [0xD78F0, c, ../libultra/src/libc/xlitob] + - [0xD7B90, c, ../libultra/src/libc/xldtob] + - [0xD8650, hasm, ../libultra/src/os/setcompare] + - [0xD8660, c, ../libultra/src/libc/ldiv] + - [0xD87F0, textbin, ucode_audio] + - [0xD96B0, textbin, ucode_boot] + - [0xD9780, textbin, ucode_f3ddkr_dram] + - [0xDA980, textbin, ucode_f3ddkr_fifo] + - [0xDBB70, textbin, ucode_f3ddkr_xbus] + - [0xDCD60, textbin, ucode_unknown_2] + - [0xDD830, .data, audio] + - [0xDD880, .data, audiomgr] + - [0xDD8B0, .data, audiosfx] + - [0xDD8D0, .data, audio_vehicle] + - [0xDD8E0, .data, audio_spatial] + - [0xDD8F0, .data, objects] + - [0xDDA70, .data, tracks] + - [0xDDB50, .data, lights] + - [0xDDB70, .data, object_functions] + - [0xDDD50, .data, racer] + - [0xDDFE0, .data, vehicle_tricky] + - [0xDE000, .data, vehicle_bluey] + - [0xDE020, .data, vehicle_smokey] + - [0xDE040, .data, vehicle_bubbler] + - [0xDE060, .data, vehicle_wizpig] + - [0xDE080, .data, vehicle_rocket] + - [0xDE0A0, .data, object_models] + - [0xDE0B0, .data, ../libultra/src/audio/mips1/reverb] + - [0xDE0C0, .data, ../libultra/src/audio/mips1/drvrnew] + - [0xDE250, .data, ../libultra/src/audio/mips1/synstartvoiceparam] + - [0xDE260, .data, camera] + - [0xDE500, .data, joypad] + - [0xDE510, .data, game] + - [0xDE540, .data, thread3_main] + - [0xDE630, .data, hasm/math_util] + - [0xDF640, .data, save_data] + - [0xDF6A0, .data, rcp_dkr] + - [0xDF940, .data, ../libultra/src/sc/sched] + - [0xDF980, .data, video] + - [0xDF9D0, .data, textures_sprites] + - [0xE0650, .data, screen_asset] + - [0xE0660, .data, menu] + - [0xE3070, .data, game_ui] + - [0xE3A70, .data, weather] + - [0xE3EC0, .data, particles] + - [0xE4110, .data, printf] + - [0xE4240, .data, thread0_epc] + - [0xE4260, .data, waves] + - [0xE43C0, .data, fade_transition] + - [0xE4890, .data, game_text] + - [0xE48B0, .data, font] + - [0xE4960, .data, ../libultra/src/io/pimgr] + - [0xE4980, .data, gzip] + - [0xE4990, .data, thread30_track_loading] + - [0xE49A0, .data, ../libultra/src/audio/sl] + - [0xE49B0, .data, ../libultra/src/io/aisetnextbuf] + - [0xE49C0, .data, ../libultra/src/audio/env] + - [0xE4AC0, .data, ../libultra/src/os/initialize] + - [0xE4AE0, .data, ../libultra/src/io/controller] + - [0xE4AF0, .data, ../libultra/src/io/siacs] + - [0xE4B00, .data, ../libultra/src/io/vimgr] + - [0xE4B20, .data, ../libultra/src/io/vitbl] + - [0xE5A20, .data, ../libultra/src/io/piacs] + - [0xE5A30, .data, ../libultra/src/io/vi] + - [0xE5AA0, .data, ../libultra/src/os/thread] + - [0xE5AC0, .data, ../libultra/src/os/exceptasm] + - [0xE5AE0, .data, ../libultra/src/libc/xprintf] + - [0xE5B30, .data, ../libultra/src/os/timerintr] + - [0xE5B40, .data, ../libultra/src/libc/xlitob] + - [0xE5B70, .rodata, audio] + - [0xE5C10, .rodata, audiomgr] + - [0xE5CD0, .rodata, audiosfx] + - [0xE5E10, .rodata, audio_vehicle] + - [0xE5F20, .rodata, audio_spatial] + - [0xE6150, .rodata, ../libultra/src/audio/mips1/seqplayer] + - [0xE6180, .rodata, objects] + - [0xE7010, .rodata, tracks] + - [0xE7180, .rodata, hasm/collision] + - [0xE71A0, .rodata, lights] + - [0xE71C0, .rodata, object_functions] + - [0xE74A0, .rodata, racer] + - [0xE7C30, .rodata, vehicle_tricky] + - [0xE7C50, .rodata, vehicle_bluey] + - [0xE7C70, .rodata, vehicle_smokey] + - [0xE7CC0, .rodata, vehicle_bubbler] + - [0xE7CD0, .rodata, vehicle_wizpig] + - [0xE7D20, .rodata, vehicle_rocket] + - [0xE7D40, .rodata, object_models] + - [0xE7E40, .rodata, ../libultra/src/audio/mips1/csplayer] + - [0xE8090, .rodata, ../libultra/src/audio/mips1/reverb] + - [0xE80C0, .rodata, ../libultra/src/audio/mips1/drvrnew] + - [0xE80E0, .rodata, ../libultra/src/audio/mips1/synthesizer] + - [0xE80F0, .rodata, main] + - [0xE8120, .rodata, camera] + - [0xE82D0, .rodata, thread3_main] + - [0xE8430, .rodata, memory] + - [0xE87B0, .rodata, save_data] + - [0xE8A20, .rodata, ../libultra/src/sc/sched] + - [0xE8BB0, .rodata, video] + - [0xE8D50, .rodata, textures_sprites] + - [0xE8EB0, .rodata, screen_asset] + - [0xE8ED0, .rodata, menu] + - [0xE9860, .rodata, game_ui] + - [0xE9A00, .rodata, weather] + - [0xE9A50, .rodata, particles] + - [0xE9E10, .rodata, printf] + - [0xEA080, .rodata, thread0_epc] + - [0xEA370, .rodata, waves] + - [0xEA4E0, .rodata, fade_transition] + - [0xEA540, .rodata, game_text] + - [0xEA570, .rodata, font] + - [0xEA5D0, .rodata, hasm/gzip_asm] + - [0xEA6C0, .rodata, ../libultra/src/audio/cseq] + - [0xEA6D0, .rodata, ../libultra/src/audio/cents2ratio] + - [0xEA6E0, .rodata, ../libultra/src/os/setintmask] + - [0xEA760, .rodata, ../libultra/src/libc/llcvt] + - [0xEA770, .rodata, ../libultra/src/audio/env] + - [0xEA810, .rodata, ../libultra/src/audio/resample] + - [0xEA850, .rodata, ../libultra/src/gu/perspective] + - [0xEA860, .rodata, ../libultra/src/io/devmgr] + - [0xEA880, .rodata, ../libultra/src/os/exceptasm] + - [0xEA8D0, .rodata, ../libultra/src/libc/xprintf] + - [0xEA9D0, .rodata, ../libultra/src/gu/cosf] + - [0xEAA20, .rodata, ../libultra/src/gu/sinf] + - [0xEAA70, .rodata, ../libultra/src/libc/xldtob] + - [0xEAAD0, hasm, ../libultra/src/gu/libm_vals] + - { start: 0xEAAE0, type: databin, name: data_audio, linker_section_order: .rodata } + - { start: 0xEADB0, type: databin, name: data_f3ddkr_dram, linker_section_order: .rodata } + - { start: 0xEB5B0, type: databin, name: data_f3ddkr_fifo, linker_section_order: .rodata } + - { start: 0xEBDB0, type: databin, name: data_f3ddkr_xbus, linker_section_order: .rodata } + - { start: 0xEC5B0, type: databin, name: data_unknown_2, linker_section_order: .rodata } + - { start: auto, type: .bss, vram: 0x800EC570, name: audio } + - { start: auto, type: .bss, vram: 0x801165A0, name: audiomgr } + - { start: auto, type: .bss, vram: 0x8011A1E0, name: audiosfx } + - { start: auto, type: .bss, vram: 0x8011A240, name: audio_vehicle } + - { start: auto, type: .bss, vram: 0x8011B230, name: objects } + - { start: auto, type: .bss, vram: 0x8011B6B0, name: tracks } + - { start: auto, type: .bss, vram: 0x8011DAD0, name: lights } + - { start: auto, type: .bss, vram: 0x8011DAE0, name: object_functions } + - { start: auto, type: .bss, vram: 0x8011DB00, name: racer } + - { start: auto, type: .bss, vram: 0x8011DBD0, name: vehicle_tricky } + - { start: auto, type: .bss, vram: 0x8011DBE0, name: vehicle_bluey } + - { start: auto, type: .bss, vram: 0x8011DBF0, name: vehicle_smokey } + - { start: auto, type: .bss, vram: 0x8011DC00, name: vehicle_bubbler } + - { start: auto, type: .bss, vram: 0x8011DC10, name: vehicle_wizpig } + - { start: auto, type: .bss, vram: 0x8011DC20, name: vehicle_rocket } + - { start: auto, type: .bss, vram: 0x8011DC30, name: object_models } + - { start: auto, type: .bss, vram: 0x8011DD60, name: main } + - { start: auto, type: .bss, vram: 0x801200D0, name: hasm/entrypoint } + - { start: auto, type: .bss, vram: 0x801210D0, name: camera } + - { start: auto, type: .bss, vram: 0x801216F0, name: joypad } + - { start: auto, type: .bss, vram: 0x80121770, name: game } + - { start: auto, type: .bss, vram: 0x80121800, name: thread3_main } + - { start: auto, type: .bss, vram: 0x80123B90, name: memory } + - { start: auto, type: .bss, vram: 0x801243E0, name: ../libultra/src/io/motor } + - { start: auto, type: .bss, vram: 0x80124620, name: save_data } + - { start: auto, type: .bss, vram: 0x80124810, name: asset_loading } + - { start: auto, type: .bss, vram: 0x801248D0, name: rcp_dkr } + - { start: auto, type: .bss, vram: 0x80126740, name: ../libultra/src/sc/sched } + - { start: auto, type: .bss, vram: 0x801267A0, name: video } + - { start: auto, type: .bss, vram: 0x80126950, name: textures_sprites } + - { start: auto, type: .bss, vram: 0x801269C0, name: menu } + - { start: auto, type: .bss, vram: 0x80127320, name: game_ui } + - { start: auto, type: .bss, vram: 0x80127800, name: os_yield_data } + - { start: auto, type: .bss, vram: 0x80128200, name: weather } + - { start: auto, type: .bss, vram: 0x801282D0, name: particles } + - { start: auto, type: .bss, vram: 0x801282F0, name: printf } + - { start: auto, type: .bss, vram: 0x80128C30, name: thread0_epc } + - { start: auto, type: .bss, vram: 0x8012A100, name: stacks } + - { start: auto, type: .bss, vram: 0x8012A610, name: waves } + - { start: auto, type: .bss, vram: 0x8012AD80, name: fade_transition } + - { start: auto, type: .bss, vram: 0x8012ADD0, name: game_text } + - { start: auto, type: .bss, vram: 0x8012AE30, name: font } + - { start: auto, type: .bss, vram: 0x8012AE50, name: ../libultra/src/io/pimgr } + - { start: auto, type: .bss, vram: 0x8012B120, name: gzip } + - { start: auto, type: .bss, vram: 0x8012B130, name: ../libultra/src/io/leointerrupt } + - { start: auto, type: .bss, vram: 0x8012B140, name: thread30_track_loading } + - { start: auto, type: .bss, vram: 0x8012D310, name: ../libultra/src/os/initialize } + - { start: auto, type: .bss, vram: 0x8012D320, name: ../libultra/src/os/seteventmesg } + - { start: auto, type: .bss, vram: 0x8012D3A0, name: ../libultra/src/io/controller } + - { start: auto, type: .bss, vram: 0x8012D430, name: ../libultra/src/io/pfsisplug } + - { start: auto, type: .bss, vram: 0x8012D470, name: ../libultra/src/io/siacs } + - { start: auto, type: .bss, vram: 0x8012D490, name: ../libultra/src/io/conteepread } + - { start: auto, type: .bss, vram: 0x8012D4D0, name: ../libultra/src/io/vimgr } + - { start: auto, type: .bss, vram: 0x8012D7F0, name: ../libultra/src/io/sptask } + - { start: auto, type: .bss, vram: 0x8012D830, name: ../libultra/src/io/piacs } + - { start: auto, type: .bss, vram: 0x8012D850, name: ../libultra/src/os/timerintr } + - { start: auto, type: .bss, vram: 0x8012D890, name: ../libultra/src/os/exceptasm } + + - name: assets + type: bin + start: 0xED170 + follows_vram: main + - [0xB8D060] diff --git a/ver/splat/dkr.us.v77.yaml b/ver/splat/dkr.us.v77.yaml new file mode 100644 index 00000000..302ece7f --- /dev/null +++ b/ver/splat/dkr.us.v77.yaml @@ -0,0 +1,446 @@ +name: Diddy Kong Racing (North America) +sha1: 0cb115d8716dbbc2922fda38e533b9fe63bb9670 +options: + basename: dkr.us.v77 + target_path: baseroms/baserom.us.v77.z64 + base_path: ../../ + compiler: IDO + find_file_boundaries: True + header_encoding: ASCII + platform: n64 + undefined_funcs_auto_path: ver/symbols/undefined_funcs_auto.us.v77.txt + undefined_syms_auto_path: ver/symbols/undefined_syms_auto.us.v77.txt + symbol_addrs_path: ver/symbols/symbol_addrs.us.v77.txt + symbol_name_format: $VRAM + ld_script_path: ver/dkr.us.v77.ld + asm_path: asm + src_path: src + build_path: build + asset_path: assets + section_order: [".text", ".data", ".rodata", ".bss"] + migrate_rodata_to_functions: True + hasm_in_src_path: True +segments: + - name: header + type: header + start: 0x0 + + - name: boot + type: bin + start: 0x40 + + - name: main + type: code + start: 0x1000 + vram: 0x80000400 + bss_size: 0x41490 + subsegments: + - [0x1000, hasm, hasm/entrypoint] + - [0x1050, c, audio] + - [0x3260, c, audiomgr] + - [0x3D60, c, audiosfx] + - [0x5740, c, audio_vehicle] + - [0x8C40, c, audio_spatial] + - [0xB310, c, ../libultra/src/audio/mips1/seqplayer] + - [0xBC20, c, objects] + - [0x251F0, hasm, hasm/unknown_0251F0] + - [0x255E0, c, tracks] + - [0x31D30, hasm, hasm/collision] + - [0x32760, c, lights] + - [0x348C0, c, object_functions] + - [0x43920, c, racer] + - [0x5CEF0, c, vehicle_tricky] + - [0x5DCD0, c, vehicle_bluey] + - [0x5E420, c, vehicle_smokey] + - [0x5F0C0, c, vehicle_bubbler] + - [0x5F690, c, vehicle_wizpig] + - [0x5FF10, c, vehicle_rocket] + - [0x60450, c, object_models] + - [0x62930, hasm, hasm/object_animate] + - [0x62E90, c, ../libultra/src/audio/mips1/csplayer] + - [0x64690, c, ../libultra/src/audio/mips1/unknown_064690] + - [0x646F0, c, ../libultra/src/audio/mips1/seqchannel] + - [0x647A0, c, ../libultra/src/audio/mips1/cspsetfadein] + - [0x64800, c, ../libultra/src/audio/mips1/cspgetfadein] + - [0x64830, c, ../libultra/src/audio/mips1/reverb] + - [0x65550, c, ../libultra/src/audio/mips1/drvrnew] + - [0x65D30, c, ../libultra/src/audio/mips1/synthesizer] + - [0x66460, c, ../libultra/src/audio/mips1/synallocfx] + - [0x66500, c, ../libultra/src/audio/mips1/auxbus] + - [0x66720, c, ../libultra/src/audio/mips1/synsetpan] + - [0x667D0, c, ../libultra/src/audio/mips1/synstartvoiceparam] + - [0x66940, c, main] + - [0x66AA0, c, camera] + - [0x6AD00, c, joypad] + - [0x6B2B0, c, game] + - [0x6CF30, c, thread3_main] + - [0x70110, hasm, hasm/math_util] + - [0x71730, c, memory] + - [0x72930, c, ../libultra/src/io/motor] + - [0x72E50, c, save_data] + - [0x777A0, c, asset_loading] + - [0x77C50, c, borders] + - [0x78050, c, rcp_dkr] + - [0x79F50, c, ../libultra/src/sc/sched] + - [0x7AED0, c, set_rsp_segment] + - [0x7AF10, c, video] + - [0x7B870, c, textures_sprites] + - [0x80240, c, screen_asset] + - [0x80500, c, menu] + - [0x9F8F0, c, game_ui] + - [auto, c, os_yield_data] #bss only file + - [0xABDF0, c, weather] + - [0xAEE70, c, particles] + - [0xB5310, c, unused_string] + - [0xB5540, c, printf] + - [0xB7B40, c, ../libultra/src/debug/assert] + - [0xB7B50, c, thread0_epc] + - [0xB8910, hasm, hasm/get_stack_pointer] + - [0xB8920, c, waves] + - [0xC0D70, c, fade_transition] + - [0xC35F0, c, game_text] + - [0xC4800, c, font] + - [0xC6C00, c, ../libultra/src/io/pimgr] + - [0xC6D70, c, gzip] + - [0xC74C0, hasm, hasm/gzip_asm] + - [0xC7F40, c, ../libultra/src/io/leointerrupt] + - [0xC7F50, c, thread30_track_loading] + - [0xC8160, c, ../libultra/src/audio/heapinit] + - [0xC81A0, c, ../libultra/src/audio/bnkf] + - [0xC83F0, c, ../libultra/src/audio/heapalloc] + - [0xC8450, c, ../libultra/src/audio/cspsetvol] + - [0xC8490, c, ../libultra/src/audio/cspgettempo] + - [0xC84D0, hasm, ../libultra/src/os/getcount] + - [0xC84E0, c, ../libultra/src/audio/cspsetpan] + - [0xC8540, c, ../libultra/src/audio/cspsetchlvol] + - [0xC85A0, c, ../libultra/src/audio/cspgetchlvol] + - [0xC85C0, c, ../libultra/src/audio/seqpgetfxmix] + - [0xC85E0, c, ../libultra/src/audio/cspsettempo] + - [0xC8650, c, ../libultra/src/audio/cspgetstate] + - [0xC8660, c, ../libultra/src/audio/cspsetbank] + - [0xC86A0, c, ../libultra/src/audio/cseq] + - [0xC9160, c, ../libultra/src/audio/cspsetseq] + - [0xC91A0, c, ../libultra/src/audio/cspplay] + - [0xC91D0, c, ../libultra/src/audio/cspstop] + - [0xC9200, c, ../libultra/src/io/aisetfreq] + - [0xC9360, c, ../libultra/src/audio/sl] + - [0xC9420, c, ../libultra/src/os/createmesgqueue] + - [0xC9450, c, ../libultra/src/os/createthread] + - [0xC95A0, c, ../libultra/src/os/startthread] + - [0xC96F0, c, ../libultra/src/os/stopthread] + - [0xC97B0, c, ../libultra/src/os/recvmesg] + - [0xC98F0, c, ../libultra/src/os/virtualtophysical] + - [0xC9970, c, ../libultra/src/io/aisetnextbuf] + - [0xC9A20, c, ../libultra/src/io/aigetlen] + - [0xC9A30, c, ../libultra/src/os/sendmesg] + - [0xC9B80, c, ../libultra/src/io/pidma] + - [0xC9C90, c, ../libultra/src/audio/event] + - [0xC9FD0, c, ../libultra/src/audio/synaddplayer] + - [0xCA020, c, ../libultra/src/audio/synallocvoice] + - [0xCA250, c, ../libultra/src/audio/synsetvol] + - [0xCA2F0, c, ../libultra/src/audio/synstartvoice] + - [0xCA380, c, ../libultra/src/audio/synsetpitch] + - [0xCA410, c, ../libultra/src/audio/synsetfxmix] + - [0xCA4B0, c, ../libultra/src/audio/synstopvoice] + - [0xCA530, c, ../libultra/src/audio/synfreevoice] + - [0xCA5E0, c, ../libultra/src/audio/cents2ratio] + - [0xCA630, hasm, ../libultra/src/os/setintmask] + - [0xCA6D0, hasm, ../libultra/src/gu/sqrtf] + - [0xCA6E0, c, ../libultra/src/audio/synsetpriority] + - [0xCA6F0, pad] #0x40 bytes of zeroes, could be parameters.s from libultra, but that's 0x60 bytes. + - [0xCA730, c, ../libultra/src/libc/llcvt] + - [0xCA940, c, ../libultra/src/libc/rmonPrintf] + - [0xCA9A0, hasm, ../libultra/src/libc/bcopy] + - [0xCACB0, c, ../libultra/src/audio/filter] + - [0xCACD0, c, ../libultra/src/audio/env] + - [0xCC140, c, ../libultra/src/audio/load] + - [0xCCC90, c, ../libultra/src/audio/resample] + - [0xCCF90, c, ../libultra/src/audio/mainbus] + - [0xCD0E0, c, ../libultra/src/audio/save] + - [0xCD1A0, c, ../libultra/src/os/initialize] + - [0xCD440, c, ../libultra/src/os/setthreadpri] + - [0xCD520, c, ../libultra/src/gu/perspective] + - [0xCD7B0, c, ../libultra/src/os/seteventmesg] + - [0xCD820, c, ../libultra/src/io/controller] + - [0xCDBE0, c, ../libultra/src/io/contreaddata] + - [0xCDE40, c, ../libultra/src/io/spsetstat] + - [0xCDE50, c, ../libultra/src/io/dpsetstat] + - [0xCDE60, c, ../libultra/src/os/settime] + - [0xCDE90, c, ../libultra/src/io/pfsisplug] + - [0xCE200, c, ../libultra/src/io/siacs] + - [0xCE2C0, c, ../libultra/src/io/sirawdma] + - [0xCE370, c, ../libultra/src/io/crc] + - [0xCE4F0, c, ../libultra/src/io/contramwrite] + - [0xCE8A0, c, ../libultra/src/io/contramread] + - [0xCEC50, hasm, ../libultra/src/libc/bcmp] + - [0xCED70, c, ../libultra/src/libc/string] + - [0xCEE10, c, ../libultra/src/io/conteepprobe] + - [0xCEE80, c, ../libultra/src/io/conteepread] + - [0xCF180, c, ../libultra/src/io/conteepwrite] + - [0xCF660, c, ../libultra/src/libc/ll] + - [0xCF920, c, ../libultra/src/io/pfsinit] + - [0xCFAE0, c, ../libultra/src/io/pfsreadwritefile] + - [0xCFFE0, c, ../libultra/src/io/pfsfreeblocks] + - [0xD0130, c, ../libultra/src/io/pfschecker] + - [0xD0B90, c, ../libultra/src/io/pfsreformat] + - [0xD0F90, c, ../libultra/src/io/pfsnumfiles] + - [0xD10E0, hasm, ../libultra/src/libc/bzero] + - [0xD1180, c, ../libultra/src/io/pfsfilestate] + - [0xD1470, c, ../libultra/src/io/pfsdeletefile] + - [0xD1A80, c, ../libultra/src/io/pfssearchfile] + - [0xD1C40, c, ../libultra/src/io/pfsallocatefile] + - [0xD23F0, hasm, ../libultra/src/os/invaldcache] + - [0xD24A0, hasm, ../libultra/src/os/writebackdcacheall] + - [0xD24D0, c, ../libultra/src/io/dpgetstat] + - [0xD24E0, c, ../libultra/src/io/dpsetnextbuf] + - [0xD2590, c, ../libultra/src/io/vimgr] + - [0xD28A0, c, ../libultra/src/io/visetmode] + - [0xD2910, c, ../libultra/src/io/viblack] + - [0xD2980, c, ../libultra/src/io/visetevent] + - [0xD29F0, c, ../libultra/src/io/sptaskyielded] + - [0xD2A70, c, ../libultra/src/io/vigetcurrframebuf] + - [0xD2AB0, c, ../libultra/src/io/vigetnextframebuf] + - [0xD2AF0, c, ../libultra/src/io/sptask] + - [0xD2DB0, c, ../libultra/src/os/gettime] + - [0xD2E40, c, ../libultra/src/io/sptaskyield] + - [0xD2E60, c, ../libultra/src/io/visetspecial] + - [0xD3020, c, ../libultra/src/io/viswapbuf] + - [0xD3070, c, ../libultra/src/os/getactivequeue] + - [0xD3080, c, ../libultra/src/io/piacs] + - [0xD3140, c, ../libultra/src/os/getthreadpri] + - [0xD3160, hasm, ../libultra/src/os/interrupt] + - [0xD31A0, c, ../libultra/src/io/pirawdma] + - [0xD3280, c, ../libultra/src/io/epirawdma] + - [0xD3360, c, ../libultra/src/io/devmgr] + - [0xD3710, c, ../libultra/src/io/vi] + - [0xD3860, c, ../libultra/src/audio/syndelete] + - [0xD3870, c, ../libultra/src/os/thread] + - [0xD38B0, hasm, ../libultra/src/os/exceptasm] + - [0xD41B0, hasm, ../libultra/src/os/probetlb] + - [0xD4270, c, ../libultra/src/io/ai] + - [0xD42A0, c, ../libultra/src/os/jammesg] + - [0xD43F0, c, ../libultra/src/io/pigetcmdq] + - [0xD4420, c, ../libultra/src/audio/copy] + - [0xD44A0, c, ../libultra/src/libc/xprintf] + - [0xD5160, hasm, ../libultra/src/os/setsr] + - [0xD5170, hasm, ../libultra/src/os/getsr] + - [0xD5180, hasm, ../libultra/src/os/setfpccsr] + - [0xD5190, c, ../libultra/src/io/sirawread] + - [0xD51E0, c, ../libultra/src/io/sirawwrite] + - [0xD5230, hasm, ../libultra/src/os/writebackdcache] + - [0xD52B0, hasm, ../libultra/src/os/invalicache] + - [0xD5330, hasm, ../libultra/src/os/maptlbrdb] + - [0xD5390, c, ../libultra/src/io/pirawread] + - [0xD53F0, c, ../libultra/src/os/sethwinterrupt] + - [0xD5440, c, ../libultra/src/gu/mtxutil] + - [0xD56B0, c, ../libultra/src/gu/cosf] + - [0xD5820, c, ../libultra/src/gu/sinf] + - [0xD59E0, c, ../libultra/src/os/settimer] + - [0xD5AC0, c, ../libultra/src/os/timerintr] + - [0xD5EC0, c, ../libultra/src/io/si] + - [0xD5EF0, c, ../libultra/src/io/contpfs] + - [0xD6C50, c, ../libultra/src/io/dp] + - [0xD6C80, c, ../libultra/src/io/vigetcurrcontext] + - [0xD6C90, c, ../libultra/src/io/viswapcontext] + - [0xD6FF0, c, ../libultra/src/io/spgetstat] + - [0xD7000, c, ../libultra/src/io/spsetpc] + - [0xD7040, c, ../libultra/src/io/sprawdma] + - [0xD70D0, c, ../libultra/src/io/sp] + - [0xD7100, c, ../libultra/src/os/resetglobalintmask] + - [0xD7160, c, ../libultra/src/io/epirawwrite] + - [0xD71B0, c, ../libultra/src/os/yieldthread] + - [0xD7200, c, ../libultra/src/os/destroythread] + - [0xD7300, c, ../libultra/src/libc/xlitob] + - [0xD75A0, c, ../libultra/src/libc/xldtob] + - [0xD8060, hasm, ../libultra/src/os/setcompare] + - [0xD8070, c, ../libultra/src/libc/ldiv] + - [0xD8200, textbin, ucode_audio] + - [0xD90C0, textbin, ucode_boot] + - [0xD9190, textbin, ucode_f3ddkr_dram] + - [0xDA390, textbin, ucode_f3ddkr_fifo] + - [0xDB570, textbin, ucode_f3ddkr_xbus] + - [0xDC770, textbin, ucode_unknown_2] + - [0xDD230, .data, audio] + - [0xDD280, .data, audiomgr] + - [0xDD2B0, .data, audiosfx] + - [0xDD2D0, .data, audio_vehicle] + - [0xDD2E0, .data, audio_spatial] + - [0xDD2F0, .data, objects] + - [0xDD470, .data, tracks] + - [0xDD550, .data, lights] + - [0xDD570, .data, object_functions] + - [0xDD750, .data, racer] + - [0xDD9E0, .data, vehicle_tricky] + - [0xDDA00, .data, vehicle_bluey] + - [0xDDA20, .data, vehicle_smokey] + - [0xDDA40, .data, vehicle_bubbler] + - [0xDDA60, .data, vehicle_wizpig] + - [0xDDA80, .data, vehicle_rocket] + - [0xDDAA0, .data, object_models] + - [0xDDAB0, .data, ../libultra/src/audio/mips1/reverb] + - [0xDDAC0, .data, ../libultra/src/audio/mips1/drvrnew] + - [0xDDC50, .data, ../libultra/src/audio/mips1/synstartvoiceparam] + - [0xDDC60, .data, camera] + - [0xDDF00, .data, joypad] + - [0xDDF10, .data, game] + - [0xDDF40, .data, thread3_main] + - [0xDE030, .data, hasm/math_util] + - [0xDF040, .data, save_data] + - [0xDF090, .data, rcp_dkr] + - [0xDF330, .data, ../libultra/src/sc/sched] + - [0xDF370, .data, video] + - [0xDF3C0, .data, textures_sprites] + - [0xE0040, .data, screen_asset] + - [0xE0050, .data, menu] + - [0xE2A60, .data, game_ui] + - [0xE3450, .data, weather] + - [0xE38A0, .data, particles] + - [0xE3AF0, .data, printf] + - [0xE3C20, .data, thread0_epc] + - [0xE3C40, .data, waves] + - [0xE3DA0, .data, fade_transition] + - [0xE4270, .data, game_text] + - [0xE4290, .data, font] + - [0xE4340, .data, ../libultra/src/io/pimgr] + - [0xE4360, .data, gzip] + - [0xE4370, .data, thread30_track_loading] + - [0xE4380, .data, ../libultra/src/audio/sl] + - [0xE4390, .data, ../libultra/src/io/aisetnextbuf] + - [0xE43A0, .data, ../libultra/src/audio/env] + - [0xE44A0, .data, ../libultra/src/os/initialize] + - [0xE44C0, .data, ../libultra/src/io/controller] + - [0xE44D0, .data, ../libultra/src/io/siacs] + - [0xE44E0, .data, ../libultra/src/io/vimgr] + - [0xE4500, .data, ../libultra/src/io/vitbl] + - [0xE5400, .data, ../libultra/src/io/piacs] + - [0xE5410, .data, ../libultra/src/io/vi] + - [0xE5480, .data, ../libultra/src/os/thread] + - [0xE54A0, .data, ../libultra/src/os/exceptasm] + - [0xE54C0, .data, ../libultra/src/libc/xprintf] + - [0xE5510, .data, ../libultra/src/os/timerintr] + - [0xE5520, .data, ../libultra/src/libc/xlitob] + - [0xE5550, .rodata, audio] + - [0xE55F0, .rodata, audiomgr] + - [0xE56B0, .rodata, audiosfx] + - [0xE57F0, .rodata, audio_vehicle] + - [0xE5900, .rodata, audio_spatial] + - [0xE5B30, .rodata, ../libultra/src/audio/mips1/seqplayer] + - [0xE5B60, .rodata, objects] + - [0xE69F0, .rodata, tracks] + - [0xE6B60, .rodata, hasm/collision] + - [0xE6B80, .rodata, lights] + - [0xE6BA0, .rodata, object_functions] + - [0xE6E80, .rodata, racer] + - [0xE7610, .rodata, vehicle_tricky] + - [0xE7630, .rodata, vehicle_bluey] + - [0xE7650, .rodata, vehicle_smokey] + - [0xE76A0, .rodata, vehicle_bubbler] + - [0xE76B0, .rodata, vehicle_wizpig] + - [0xE7700, .rodata, vehicle_rocket] + - [0xE7720, .rodata, object_models] + - [0xE7820, .rodata, ../libultra/src/audio/mips1/csplayer] + - [0xE7A70, .rodata, ../libultra/src/audio/mips1/reverb] + - [0xE7AA0, .rodata, ../libultra/src/audio/mips1/drvrnew] + - [0xE7AC0, .rodata, ../libultra/src/audio/mips1/synthesizer] + - [0xE7AD0, .rodata, main] + - [0xE7B00, .rodata, camera] + - [0xE7CB0, .rodata, thread3_main] + - [0xE7E10, .rodata, memory] + - [0xE8190, .rodata, save_data] + - [0xE8400, .rodata, ../libultra/src/sc/sched] + - [0xE8590, .rodata, video] + - [0xE8730, .rodata, textures_sprites] + - [0xE8890, .rodata, screen_asset] + - [0xE88B0, .rodata, menu] + - [0xE9240, .rodata, game_ui] + - [0xE93F0, .rodata, weather] + - [0xE9440, .rodata, particles] + - [0xE9800, .rodata, printf] + - [0xE9A70, .rodata, thread0_epc] + - [0xE9D60, .rodata, waves] + - [0xE9ED0, .rodata, fade_transition] + - [0xE9F30, .rodata, game_text] + - [0xE9F60, .rodata, font] + - [0xE9FC0, .rodata, hasm/gzip_asm] + - [0xEA0B0, .rodata, ../libultra/src/audio/cseq] + - [0xEA0C0, .rodata, ../libultra/src/audio/cents2ratio] + - [0xEA0D0, .rodata, ../libultra/src/os/setintmask] + - [0xEA150, .rodata, ../libultra/src/libc/llcvt] + - [0xEA160, .rodata, ../libultra/src/audio/env] + - [0xEA200, .rodata, ../libultra/src/audio/resample] + - [0xEA240, .rodata, ../libultra/src/gu/perspective] + - [0xEA250, .rodata, ../libultra/src/io/devmgr] + - [0xEA270, .rodata, ../libultra/src/os/exceptasm] + - [0xEA2C0, .rodata, ../libultra/src/libc/xprintf] + - [0xEA3C0, .rodata, ../libultra/src/gu/cosf] + - [0xEA410, .rodata, ../libultra/src/gu/sinf] + - [0xEA460, .rodata, ../libultra/src/libc/xldtob] + - [0xEA4C0, hasm, ../libultra/src/gu/libm_vals] + - { start: 0xEA4D0, type: databin, name: data_audio, linker_section_order: .rodata } + - { start: 0xEA7A0, type: databin, name: data_f3ddkr_dram, linker_section_order: .rodata } + - { start: 0xEAFA0, type: databin, name: data_f3ddkr_fifo, linker_section_order: .rodata } + - { start: 0xEB7A0, type: databin, name: data_f3ddkr_xbus, linker_section_order: .rodata } + - { start: 0xEBFA0, type: databin, name: data_unknown_2, linker_section_order: .rodata } + - { start: auto, type: .bss, vram: 0x800EBF60, name: audio } + - { start: auto, type: .bss, vram: 0x80115F90, name: audiomgr } + - { start: auto, type: .bss, vram: 0x80119BD0, name: audiosfx } + - { start: auto, type: .bss, vram: 0x80119C30, name: audio_vehicle } + - { start: auto, type: .bss, vram: 0x8011AC20, name: objects } + - { start: auto, type: .bss, vram: 0x8011B0A0, name: tracks } + - { start: auto, type: .bss, vram: 0x8011D4C0, name: lights } + - { start: auto, type: .bss, vram: 0x8011D4D0, name: object_functions } + - { start: auto, type: .bss, vram: 0x8011D4F0, name: racer } + - { start: auto, type: .bss, vram: 0x8011D5C0, name: vehicle_tricky } + - { start: auto, type: .bss, vram: 0x8011D5D0, name: vehicle_bluey } + - { start: auto, type: .bss, vram: 0x8011D5E0, name: vehicle_smokey } + - { start: auto, type: .bss, vram: 0x8011D5F0, name: vehicle_bubbler } + - { start: auto, type: .bss, vram: 0x8011D600, name: vehicle_wizpig } + - { start: auto, type: .bss, vram: 0x8011D610, name: vehicle_rocket } + - { start: auto, type: .bss, vram: 0x8011D620, name: object_models } + - { start: auto, type: .bss, vram: 0x8011D750, name: main } + - { start: auto, type: .bss, vram: 0x8011FAC0, name: hasm/entrypoint } + - { start: auto, type: .bss, vram: 0x80120AC0, name: camera } + - { start: auto, type: .bss, vram: 0x801210E0, name: joypad } + - { start: auto, type: .bss, vram: 0x80121160, name: game } + - { start: auto, type: .bss, vram: 0x801211F0, name: thread3_main } + - { start: auto, type: .bss, vram: 0x80123580, name: memory } + - { start: auto, type: .bss, vram: 0x80123DD0, name: ../libultra/src/io/motor } + - { start: auto, type: .bss, vram: 0x80124010, name: save_data } + - { start: auto, type: .bss, vram: 0x80124200, name: asset_loading } + - { start: auto, type: .bss, vram: 0x801242A0, name: rcp_dkr } + - { start: auto, type: .bss, vram: 0x80126110, name: ../libultra/src/sc/sched } + - { start: auto, type: .bss, vram: 0x80126170, name: video } + - { start: auto, type: .bss, vram: 0x80126320, name: textures_sprites } + - { start: auto, type: .bss, vram: 0x80126390, name: menu } + - { start: auto, type: .bss, vram: 0x80126CD0, name: game_ui } + - { start: auto, type: .bss, vram: 0x801271B0, name: os_yield_data } + - { start: auto, type: .bss, vram: 0x80127BB0, name: weather } + - { start: auto, type: .bss, vram: 0x80127C80, name: particles } + - { start: auto, type: .bss, vram: 0x80127CA0, name: printf } + - { start: auto, type: .bss, vram: 0x801285E0, name: thread0_epc } + - { start: auto, type: .bss, vram: 0x80129AB0, name: stacks } + - { start: auto, type: .bss, vram: 0x80129FC0, name: waves } + - { start: auto, type: .bss, vram: 0x8012A730, name: fade_transition } + - { start: auto, type: .bss, vram: 0x8012A780, name: game_text } + - { start: auto, type: .bss, vram: 0x8012A7E0, name: font } + - { start: auto, type: .bss, vram: 0x8012A800, name: ../libultra/src/io/pimgr } + - { start: auto, type: .bss, vram: 0x8012AAD0, name: gzip } + - { start: auto, type: .bss, vram: 0x8012AAE0, name: ../libultra/src/io/leointerrupt } + - { start: auto, type: .bss, vram: 0x8012AAF0, name: thread30_track_loading } + - { start: auto, type: .bss, vram: 0x8012CCC0, name: ../libultra/src/os/initialize } + - { start: auto, type: .bss, vram: 0x8012CCD0, name: ../libultra/src/os/seteventmesg } + - { start: auto, type: .bss, vram: 0x8012CD50, name: ../libultra/src/io/controller } + - { start: auto, type: .bss, vram: 0x8012CDE0, name: ../libultra/src/io/pfsisplug } + - { start: auto, type: .bss, vram: 0x8012CE20, name: ../libultra/src/io/siacs } + - { start: auto, type: .bss, vram: 0x8012CE40, name: ../libultra/src/io/conteepread } + - { start: auto, type: .bss, vram: 0x8012CE80, name: ../libultra/src/io/vimgr } + - { start: auto, type: .bss, vram: 0x8012D1A0, name: ../libultra/src/io/sptask } + - { start: auto, type: .bss, vram: 0x8012D1E0, name: ../libultra/src/io/piacs } + - { start: auto, type: .bss, vram: 0x8012D200, name: ../libultra/src/os/timerintr } + - { start: auto, type: .bss, vram: 0x8012D240, name: ../libultra/src/os/exceptasm } + + - name: assets + type: bin + start: 0xECB60 + follows_vram: main + - [0xAC9630] diff --git a/ver/splat/dkr.us.v80.yaml b/ver/splat/dkr.us.v80.yaml new file mode 100644 index 00000000..33215419 --- /dev/null +++ b/ver/splat/dkr.us.v80.yaml @@ -0,0 +1,447 @@ +name: Diddy Kong Racing (North America) +sha1: 6d96743d46f8c0cd0edb0ec5600b003c89b93755 +options: + basename: dkr.us.v80 + target_path: baseroms/baserom.us.v80.z64 + base_path: ../../ + compiler: IDO + find_file_boundaries: True + header_encoding: ASCII + platform: n64 + undefined_funcs_auto_path: ver/symbols/undefined_funcs_auto.us.v80.txt + undefined_syms_auto_path: ver/symbols/undefined_syms_auto.us.v80.txt + symbol_addrs_path: ver/symbols/symbol_addrs.us.v80.txt + symbol_name_format: $VRAM_$ROM + ld_script_path: ver/dkr.us.v80.ld + asm_path: asm + src_path: src + build_path: build + asset_path: assets + section_order: [".text", ".data", ".rodata", ".bss"] + migrate_rodata_to_functions: True + hasm_in_src_path: True +segments: + - name: header + type: header + start: 0x0 + + - name: boot + type: bin + start: 0x40 + + - name: main + type: code + start: 0x1000 + vram: 0x80000400 + bss_size: 0x414D0 + subsegments: + - [0x1000, hasm, hasm/entrypoint] + - [0x1050, c, audio] + - [0x3260, c, audiomgr] + - [0x3D60, c, audiosfx] + - [0x5740, c, audio_vehicle] + - [0x8C40, c, audio_spatial] + - [0xB310, c, ../libultra/src/audio/mips1/seqplayer] + - [0xBC20, c, objects] + - [0x25230, hasm, hasm/unknown_0251F0] + - [0x25620, c, tracks] + - [0x31D70, hasm, hasm/collision] + - [0x327A0, c, lights] + - [0x34900, c, object_functions] + - [0x43960, c, racer] + - [0x5D090, c, vehicle_tricky] + - [0x5DE70, c, vehicle_bluey] + - [0x5E5C0, c, vehicle_smokey] + - [0x5F260, c, vehicle_bubbler] + - [0x5F830, c, vehicle_wizpig] + - [0x600B0, c, vehicle_rocket] + - [0x605F0, c, object_models] + - [0x62B70, hasm, hasm/object_animate] + - [0x630D0, c, ../libultra/src/audio/mips1/csplayer] + - [0x648D0, c, ../libultra/src/audio/mips1/unknown_064690] + - [0x64930, c, ../libultra/src/audio/mips1/seqchannel] + - [0x649E0, c, ../libultra/src/audio/mips1/cspsetfadein] + - [0x64A40, c, ../libultra/src/audio/mips1/cspgetfadein] + - [0x64A70, c, ../libultra/src/audio/mips1/reverb] + - [0x65790, c, ../libultra/src/audio/mips1/drvrnew] + - [0x65F70, c, ../libultra/src/audio/mips1/synthesizer] + - [0x666A0, c, ../libultra/src/audio/mips1/synallocfx] + - [0x66740, c, ../libultra/src/audio/mips1/auxbus] + - [0x66960, c, ../libultra/src/audio/mips1/synsetpan] + - [0x66A10, c, ../libultra/src/audio/mips1/synstartvoiceparam] + - [0x66B80, c, main] + - [0x66CE0, c, camera] + - [0x6AF40, c, joypad] + - [0x6B4F0, c, game] + - [0x6D170, c, thread3_main] + - [0x70350, hasm, hasm/math_util] + - [0x71970, c, memory] + - [0x72B70, c, ../libultra/src/io/motor] + - [0x73090, c, save_data] + - [0x77A00, c, asset_loading] + - [0x780A0, c, borders] + - [0x784A0, c, rcp_dkr] + - [0x7A3A0, c, ../libultra/src/sc/sched] + - [0x7B320, c, set_rsp_segment] + - [0x7B360, c, video] + - [0x7BCC0, c, textures_sprites] + - [0x80690, c, screen_asset] + - [0x80950, c, menu] + - [0x9FE30, c, game_ui] + - [auto, c, os_yield_data] #bss only file + - [0xAC350, c, weather] + - [0xAF3D0, c, particles] + - [0xB5870, c, unused_string] + - [0xB5AA0, c, printf] + - [0xB80A0, c, ../libultra/src/debug/assert] + - [0xB80B0, c, thread0_epc] + - [0xB8E30, hasm, hasm/get_stack_pointer] + - [0xB8E40, c, waves] + - [0xC1290, c, fade_transition] + - [0xC3B10, c, game_text] + - [0xC4D60, c, font] + - [0xC7160, c, ../libultra/src/io/pimgr] + - [0xC72D0, c, gzip] + - [0xC7A20, hasm, hasm/gzip_asm] + - [0xC84A0, c, ../libultra/src/io/leointerrupt] + - [0xC84B0, c, thread30_track_loading] + - [0xC86C0, c, ../libultra/src/audio/heapinit] + - [0xC8700, c, ../libultra/src/audio/bnkf] + - [0xC8950, c, ../libultra/src/audio/heapalloc] + - [0xC89B0, c, ../libultra/src/audio/cspsetvol] + - [0xC89F0, c, ../libultra/src/audio/cspgettempo] + - [0xC8A30, hasm, ../libultra/src/os/getcount] + - [0xC8A40, c, ../libultra/src/audio/cspsetpan] + - [0xC8AA0, c, ../libultra/src/audio/cspsetchlvol] + - [0xC8B00, c, ../libultra/src/audio/cspgetchlvol] + - [0xC8B20, c, ../libultra/src/audio/seqpgetfxmix] + - [0xC8B40, c, ../libultra/src/audio/cspsettempo] + - [0xC8BB0, c, ../libultra/src/audio/cspgetstate] + - [0xC8BC0, c, ../libultra/src/audio/cspsetbank] + - [0xC8C00, c, ../libultra/src/audio/cseq] + - [0xC96C0, c, ../libultra/src/audio/cspsetseq] + - [0xC9700, c, ../libultra/src/audio/cspplay] + - [0xC9730, c, ../libultra/src/audio/cspstop] + - [0xC9760, c, ../libultra/src/io/aisetfreq] + - [0xC98C0, c, ../libultra/src/audio/sl] + - [0xC9980, c, ../libultra/src/os/createmesgqueue] + - [0xC99B0, c, ../libultra/src/os/createthread] + - [0xC9B00, c, ../libultra/src/os/startthread] + - [0xC9C50, c, ../libultra/src/os/stopthread] + - [0xC9D10, c, ../libultra/src/os/recvmesg] + - [0xC9E50, c, ../libultra/src/os/virtualtophysical] + - [0xC9ED0, c, ../libultra/src/io/aisetnextbuf] + - [0xC9F80, c, ../libultra/src/io/aigetlen] + - [0xC9F90, c, ../libultra/src/os/sendmesg] + - [0xCA0E0, c, ../libultra/src/io/pidma] + - [0xCA1F0, c, ../libultra/src/audio/event] + - [0xCA530, c, ../libultra/src/audio/synaddplayer] + - [0xCA580, c, ../libultra/src/audio/synallocvoice] + - [0xCA7B0, c, ../libultra/src/audio/synsetvol] + - [0xCA850, c, ../libultra/src/audio/synstartvoice] + - [0xCA8E0, c, ../libultra/src/audio/synsetpitch] + - [0xCA970, c, ../libultra/src/audio/synsetfxmix] + - [0xCAA10, c, ../libultra/src/audio/synstopvoice] + - [0xCAA90, c, ../libultra/src/audio/synfreevoice] + - [0xCAB40, c, ../libultra/src/audio/cents2ratio] + - [0xCAB90, hasm, ../libultra/src/os/setintmask] + - [0xCAC30, hasm, ../libultra/src/gu/sqrtf] + - [0xCAC40, c, ../libultra/src/audio/synsetpriority] + - [0xCAC50, pad] #0x40 bytes of zeroes, could be parameters.s from libultra, but that's 0x60 bytes. + - [0xCAC90, c, ../libultra/src/libc/llcvt] + - [0xCAEA0, c, ../libultra/src/libc/rmonPrintf] + - [0xCAF00, hasm, ../libultra/src/libc/bcopy] + - [0xCB210, c, ../libultra/src/audio/filter] + - [0xCB230, c, ../libultra/src/audio/env] + - [0xCC6A0, c, ../libultra/src/audio/load] + - [0xCD1F0, c, ../libultra/src/audio/resample] + - [0xCD4F0, c, ../libultra/src/audio/mainbus] + - [0xCD640, c, ../libultra/src/audio/save] + - [0xCD700, c, ../libultra/src/os/initialize] + - [0xCD9A0, c, ../libultra/src/os/setthreadpri] + - [0xCDA80, c, ../libultra/src/gu/perspective] + - [0xCDD10, c, ../libultra/src/os/seteventmesg] + - [0xCDD80, c, ../libultra/src/io/controller] + - [0xCE140, c, ../libultra/src/io/contreaddata] + - [0xCE3A0, c, ../libultra/src/io/spsetstat] + - [0xCE3B0, c, ../libultra/src/io/dpsetstat] + - [0xCE3C0, c, ../libultra/src/os/settime] + - [0xCE3F0, c, ../libultra/src/io/pfsisplug] + - [0xCE760, c, ../libultra/src/io/siacs] + - [0xCE820, c, ../libultra/src/io/sirawdma] + - [0xCE8D0, c, ../libultra/src/io/crc] + - [0xCEA50, c, ../libultra/src/io/contramwrite] + - [0xCEE00, c, ../libultra/src/io/contramread] + - [0xCF1B0, hasm, ../libultra/src/libc/bcmp] + - [0xCF2D0, c, ../libultra/src/libc/string] + - [0xCF370, c, ../libultra/src/io/conteepprobe] + - [0xCF3E0, c, ../libultra/src/io/conteepread] + - [0xCF6E0, c, ../libultra/src/io/conteepwrite] + - [0xCFBC0, c, ../libultra/src/libc/ll] + - [0xCFE80, c, ../libultra/src/io/pfsinit] + - [0xD0040, c, ../libultra/src/io/pfsreadwritefile] + - [0xD0540, c, ../libultra/src/io/pfsfreeblocks] + - [0xD0690, c, ../libultra/src/io/pfschecker] + - [0xD10F0, c, ../libultra/src/io/pfsreformat] + - [0xD14F0, c, ../libultra/src/io/pfsnumfiles] + - [0xD1640, hasm, ../libultra/src/libc/bzero] + - [0xD16E0, c, ../libultra/src/io/pfsfilestate] + - [0xD19D0, c, ../libultra/src/io/pfsdeletefile] + - [0xD1FE0, c, ../libultra/src/io/pfssearchfile] + - [0xD21A0, c, ../libultra/src/io/pfsallocatefile] + - [0xD2950, hasm, ../libultra/src/os/invaldcache] + - [0xD2A00, hasm, ../libultra/src/os/writebackdcacheall] + - [0xD2A30, c, ../libultra/src/io/dpgetstat] + - [0xD2A40, c, ../libultra/src/io/dpsetnextbuf] + - [0xD2AF0, c, ../libultra/src/io/vimgr] + - [0xD2E00, c, ../libultra/src/io/visetmode] + - [0xD2E70, c, ../libultra/src/io/viblack] + - [0xD2EE0, c, ../libultra/src/io/visetevent] + - [0xD2F50, c, ../libultra/src/io/sptaskyielded] + - [0xD2FD0, c, ../libultra/src/io/vigetcurrframebuf] + - [0xD3010, c, ../libultra/src/io/vigetnextframebuf] + - [0xD3050, c, ../libultra/src/io/sptask] + - [0xD3310, c, ../libultra/src/os/gettime] + - [0xD33A0, c, ../libultra/src/io/sptaskyield] + - [0xD33C0, c, ../libultra/src/io/visetspecial] + - [0xD3580, c, ../libultra/src/io/viswapbuf] + - [0xD35D0, c, ../libultra/src/os/getactivequeue] + - [0xD35E0, c, ../libultra/src/io/piacs] + - [0xD36A0, c, ../libultra/src/os/getthreadpri] + - [0xD36C0, hasm, ../libultra/src/os/interrupt] + - [0xD3700, c, ../libultra/src/io/pirawdma] + - [0xD37E0, c, ../libultra/src/io/epirawdma] + - [0xD38C0, c, ../libultra/src/io/devmgr] + - [0xD3C70, c, ../libultra/src/io/vi] + - [0xD3DC0, c, ../libultra/src/audio/syndelete] + - [0xD3DD0, c, ../libultra/src/os/thread] + - [0xD3E10, hasm, ../libultra/src/os/exceptasm] + - [0xD4710, hasm, ../libultra/src/os/probetlb] + - [0xD47D0, c, ../libultra/src/io/ai] + - [0xD4800, c, ../libultra/src/os/jammesg] + - [0xD4950, c, ../libultra/src/io/pigetcmdq] + - [0xD4980, c, ../libultra/src/audio/copy] + - [0xD4A00, c, ../libultra/src/libc/xprintf] + - [0xD56C0, hasm, ../libultra/src/os/setsr] + - [0xD56D0, hasm, ../libultra/src/os/getsr] + - [0xD56E0, hasm, ../libultra/src/os/setfpccsr] + - [0xD56F0, c, ../libultra/src/io/sirawread] + - [0xD5740, c, ../libultra/src/io/sirawwrite] + - [0xD5790, hasm, ../libultra/src/os/writebackdcache] + - [0xD5810, hasm, ../libultra/src/os/invalicache] + - [0xD5890, hasm, ../libultra/src/os/maptlbrdb] + - [0xD58F0, c, ../libultra/src/io/pirawread] + - [0xD5950, c, ../libultra/src/os/sethwinterrupt] + - [0xD59A0, c, ../libultra/src/gu/mtxutil] + - [0xD5C10, c, ../libultra/src/gu/cosf] + - [0xD5D80, c, ../libultra/src/gu/sinf] + - [0xD5F40, c, ../libultra/src/os/settimer] + - [0xD6020, c, ../libultra/src/os/timerintr] + - [0xD6420, c, ../libultra/src/io/si] + - [0xD6450, c, ../libultra/src/io/contpfs] + - [0xD71B0, c, ../libultra/src/io/dp] + - [0xD71E0, c, ../libultra/src/io/vigetcurrcontext] + - [0xD71F0, c, ../libultra/src/io/viswapcontext] + - [0xD7550, c, ../libultra/src/io/spgetstat] + - [0xD7560, c, ../libultra/src/io/spsetpc] + - [0xD75A0, c, ../libultra/src/io/sprawdma] + - [0xD7630, c, ../libultra/src/io/sp] + - [0xD7660, c, ../libultra/src/os/resetglobalintmask] + - [0xD76C0, c, ../libultra/src/io/epirawwrite] + - [0xD7710, c, ../libultra/src/os/yieldthread] + - [0xD7760, c, ../libultra/src/os/destroythread] + - [0xD7860, c, ../libultra/src/libc/xlitob] + - [0xD7B00, c, ../libultra/src/libc/xldtob] + - [0xD85C0, hasm, ../libultra/src/os/setcompare] + - [0xD85D0, c, ../libultra/src/libc/ldiv] + - [0xD8760, textbin, ucode_audio] + - [0xD9620, textbin, ucode_boot] + - [0xD96F0, textbin, ucode_f3ddkr_dram] + - [0xDA8F0, textbin, ucode_f3ddkr_fifo] + - [0xDBAE0, textbin, ucode_f3ddkr_xbus] + - [0xDCCD0, textbin, ucode_unknown_2] + - [0xDD7A0, .data, audio] + - [0xDD7F0, .data, audiomgr] + - [0xDD820, .data, audiosfx] + - [0xDD840, .data, audio_vehicle] + - [0xDD850, .data, audio_spatial] + - [0xDD860, .data, objects] + - [0xDD9E0, .data, tracks] + - [0xDDAC0, .data, lights] + - [0xDDAE0, .data, object_functions] + - [0xDDCC0, .data, racer] + - [0xDDF50, .data, vehicle_tricky] + - [0xDDF70, .data, vehicle_bluey] + - [0xDDF90, .data, vehicle_smokey] + - [0xDDFB0, .data, vehicle_bubbler] + - [0xDDFD0, .data, vehicle_wizpig] + - [0xDDFF0, .data, vehicle_rocket] + - [0xDE010, .data, object_models] + - [0xDE020, .data, ../libultra/src/audio/mips1/reverb] + - [0xDE030, .data, ../libultra/src/audio/mips1/drvrnew] + - [0xDE1C0, .data, ../libultra/src/audio/mips1/synstartvoiceparam] + - [0xDE1D0, .data, camera] + - [0xDE470, .data, joypad] + - [0xDE480, .data, game] + - [0xDE4B0, .data, thread3_main] + - [0xDE5A0, .data, hasm/math_util] + - [0xDF5B0, .data, save_data] + - [0xDF610, .data, rcp_dkr] + - [0xDF8B0, .data, ../libultra/src/sc/sched] + - [0xDF8F0, .data, video] + - [0xDF940, .data, textures_sprites] + - [0xE05C0, .data, screen_asset] + - [0xE05D0, .data, menu] + - [0xE2FE0, .data, game_ui] + - [0xE39E0, .data, weather] + - [0xE3E30, .data, particles] + - [0xE4080, .data, printf] + - [0xE41B0, .data, thread0_epc] + - [0xE41D0, .data, waves] + - [0xE4330, .data, fade_transition] + - [0xE4800, .data, game_text] + - [0xE4820, .data, font] + - [0xE48D0, .data, ../libultra/src/io/pimgr] + - [0xE48F0, .data, gzip] + - [0xE4900, .data, thread30_track_loading] + - [0xE4910, .data, ../libultra/src/audio/sl] + - [0xE4920, .data, ../libultra/src/io/aisetnextbuf] + - [0xE4930, .data, ../libultra/src/audio/env] + - [0xE4A30, .data, ../libultra/src/os/initialize] + - [0xE4A50, .data, ../libultra/src/io/controller] + - [0xE4A60, .data, ../libultra/src/io/siacs] + - [0xE4A70, .data, ../libultra/src/io/vimgr] + - [0xE4A90, .data, ../libultra/src/io/vitbl] + - [0xE5990, .data, ../libultra/src/io/piacs] + - [0xE59A0, .data, ../libultra/src/io/vi] + - [0xE5A10, .data, ../libultra/src/os/thread] + - [0xE5A30, .data, ../libultra/src/os/exceptasm] + - [0xE5A50, .data, ../libultra/src/libc/xprintf] + - [0xE5AA0, .data, ../libultra/src/os/timerintr] + - [0xE5AB0, .data, ../libultra/src/libc/xlitob] + - [0xE5AE0, .rodata, audio] + - [0xE5B80, .rodata, audiomgr] + - [0xE5C40, .rodata, audiosfx] + - [0xE5D80, .rodata, audio_vehicle] + - [0xE5E90, .rodata, audio_spatial] + - [0xE60C0, .rodata, ../libultra/src/audio/mips1/seqplayer] + - [0xE60F0, .rodata, objects] + - [0xE6F80, .rodata, tracks] + - [0xE70F0, .rodata, hasm/collision] + - [0xE7110, .rodata, lights] + - [0xE7130, .rodata, object_functions] + - [0xE7410, .rodata, racer] + - [0xE7BA0, .rodata, vehicle_tricky] + - [0xE7BC0, .rodata, vehicle_bluey] + - [0xE7BE0, .rodata, vehicle_smokey] + - [0xE7C30, .rodata, vehicle_bubbler] + - [0xE7C40, .rodata, vehicle_wizpig] + - [0xE7C90, .rodata, vehicle_rocket] + - [0xE7CB0, .rodata, object_models] + - [0xE7DB0, .rodata, ../libultra/src/audio/mips1/csplayer] + - [0xE8000, .rodata, ../libultra/src/audio/mips1/reverb] + - [0xE8030, .rodata, ../libultra/src/audio/mips1/drvrnew] + - [0xE8050, .rodata, ../libultra/src/audio/mips1/synthesizer] + - [0xE8060, .rodata, main] + - [0xE8090, .rodata, camera] + - [0xE8240, .rodata, thread3_main] + - [0xE83A0, .rodata, memory] + - [0xE8720, .rodata, save_data] + - [0xE8990, .rodata, ../libultra/src/sc/sched] + - [0xE8B20, .rodata, video] + - [0xE8CC0, .rodata, textures_sprites] + - [0xE8E20, .rodata, screen_asset] + - [0xE8E40, .rodata, menu] + - [0xE97D0, .rodata, game_ui] + - [0xE9970, .rodata, weather] + - [0xE99C0, .rodata, particles] + - [0xE9D80, .rodata, printf] + - [0xE9FF0, .rodata, thread0_epc] + - [0xEA2E0, .rodata, waves] + - [0xEA450, .rodata, fade_transition] + - [0xEA4B0, .rodata, game_text] + - [0xEA4E0, .rodata, font] + - [0xEA540, .rodata, hasm/gzip_asm] + - [0xEA630, .rodata, ../libultra/src/audio/cseq] + - [0xEA640, .rodata, ../libultra/src/audio/cents2ratio] + - [0xEA650, .rodata, ../libultra/src/os/setintmask] + - [0xEA6D0, .rodata, ../libultra/src/libc/llcvt] + - [0xEA6E0, .rodata, ../libultra/src/audio/env] + - [0xEA780, .rodata, ../libultra/src/audio/resample] + - [0xEA7C0, .rodata, ../libultra/src/gu/perspective] + - [0xEA7D0, .rodata, ../libultra/src/io/devmgr] + - [0xEA7F0, .rodata, ../libultra/src/os/exceptasm] + - [0xEA840, .rodata, ../libultra/src/libc/xprintf] + - [0xEA940, .rodata, ../libultra/src/gu/cosf] + - [0xEA990, .rodata, ../libultra/src/gu/sinf] + - [0xEA9E0, .rodata, ../libultra/src/libc/xldtob] + - [0xEAA40, hasm, ../libultra/src/gu/libm_vals] + - { start: 0xEAA50, type: databin, name: data_audio, linker_section_order: .rodata } + - { start: 0xEAD20, type: databin, name: data_f3ddkr_dram, linker_section_order: .rodata } + - { start: 0xEB520, type: databin, name: data_f3ddkr_fifo, linker_section_order: .rodata } + - { start: 0xEBD20, type: databin, name: data_f3ddkr_xbus, linker_section_order: .rodata } + - { start: 0xEC520, type: databin, name: data_unknown_2, linker_section_order: .rodata } + - { start: auto, type: .bss, vram: 0x800EC4E0, name: audio } + - { start: auto, type: .bss, vram: 0x80116510, name: audiomgr } + - { start: auto, type: .bss, vram: 0x8011A150, name: audiosfx } + - { start: auto, type: .bss, vram: 0x8011A1B0, name: audio_vehicle } + - { start: auto, type: .bss, vram: 0x8011B1A0, name: objects } + - { start: auto, type: .bss, vram: 0x8011B620, name: tracks } + - { start: auto, type: .bss, vram: 0x8011DA40, name: lights } + - { start: auto, type: .bss, vram: 0x8011DA50, name: object_functions } + - { start: auto, type: .bss, vram: 0x8011DA70, name: racer } + - { start: auto, type: .bss, vram: 0x8011DB40, name: vehicle_tricky } + - { start: auto, type: .bss, vram: 0x8011DB50, name: vehicle_bluey } + - { start: auto, type: .bss, vram: 0x8011DB60, name: vehicle_smokey } + - { start: auto, type: .bss, vram: 0x8011DB70, name: vehicle_bubbler } + - { start: auto, type: .bss, vram: 0x8011DB80, name: vehicle_wizpig } + - { start: auto, type: .bss, vram: 0x8011DB90, name: vehicle_rocket } + - { start: auto, type: .bss, vram: 0x8011DBA0, name: object_models } + - { start: auto, type: .bss, vram: 0x8011DCD0, name: main } + - { start: auto, type: .bss, vram: 0x80120040, name: hasm/entrypoint } + - { start: auto, type: .bss, vram: 0x80121040, name: camera } + - { start: auto, type: .bss, vram: 0x80121660, name: joypad } + - { start: auto, type: .bss, vram: 0x801216E0, name: game } + - { start: auto, type: .bss, vram: 0x80121770, name: thread3_main } + - { start: auto, type: .bss, vram: 0x80123B00, name: memory } + - { start: auto, type: .bss, vram: 0x80124350, name: ../libultra/src/io/motor } + - { start: auto, type: .bss, vram: 0x80124590, name: save_data } + - { start: auto, type: .bss, vram: 0x80124780, name: asset_loading } + - { start: auto, type: .bss, vram: 0x80124840, name: rcp_dkr } + - { start: auto, type: .bss, vram: 0x801266B0, name: ../libultra/src/sc/sched } + - { start: auto, type: .bss, vram: 0x80126710, name: video } + - { start: auto, type: .bss, vram: 0x801268C0, name: textures_sprites } + - { start: auto, type: .bss, vram: 0x80126930, name: menu } + - { start: auto, type: .bss, vram: 0x80127290, name: game_ui } + - { start: auto, type: .bss, vram: 0x80127770, name: os_yield_data } + - { start: auto, type: .bss, vram: 0x80128170, name: weather } + - { start: auto, type: .bss, vram: 0x80128240, name: particles } + - { start: auto, type: .bss, vram: 0x80128260, name: printf } + - { start: auto, type: .bss, vram: 0x80128BA0, name: thread0_epc } + - { start: auto, type: .bss, vram: 0x8012A070, name: stacks } + - { start: auto, type: .bss, vram: 0x8012A580, name: waves } + - { start: auto, type: .bss, vram: 0x8012ACF0, name: fade_transition } + - { start: auto, type: .bss, vram: 0x8012AD40, name: game_text } + - { start: auto, type: .bss, vram: 0x8012ADA0, name: font } + - { start: auto, type: .bss, vram: 0x8012ADC0, name: ../libultra/src/io/pimgr } + - { start: auto, type: .bss, vram: 0x8012B090, name: gzip } + - { start: auto, type: .bss, vram: 0x8012B0A0, name: ../libultra/src/io/leointerrupt } + - { start: auto, type: .bss, vram: 0x8012B0B0, name: thread30_track_loading } + - { start: auto, type: .bss, vram: 0x8012D280, name: ../libultra/src/os/initialize } + - { start: auto, type: .bss, vram: 0x8012D290, name: ../libultra/src/os/seteventmesg } + - { start: auto, type: .bss, vram: 0x8012D310, name: ../libultra/src/io/controller } + - { start: auto, type: .bss, vram: 0x8012D3A0, name: ../libultra/src/io/pfsisplug } + - { start: auto, type: .bss, vram: 0x8012D3E0, name: ../libultra/src/io/siacs } + - { start: auto, type: .bss, vram: 0x8012D400, name: ../libultra/src/io/conteepread } + - { start: auto, type: .bss, vram: 0x8012D440, name: ../libultra/src/io/vimgr } + - { start: auto, type: .bss, vram: 0x8012D760, name: ../libultra/src/io/sptask } + - { start: auto, type: .bss, vram: 0x8012D7A0, name: ../libultra/src/io/piacs } + - { start: auto, type: .bss, vram: 0x8012D7C0, name: ../libultra/src/os/timerintr } + - { start: auto, type: .bss, vram: 0x8012D800, name: ../libultra/src/os/exceptasm } + + - name: assets + type: bin + start: 0xED0E0 + follows_vram: main + - [0xB8CFD0] + \ No newline at end of file diff --git a/ver/splat/update_baserom_names.py b/ver/splat/update_baserom_names.py new file mode 100644 index 00000000..21060eab --- /dev/null +++ b/ver/splat/update_baserom_names.py @@ -0,0 +1,64 @@ +# The purpose of this script is to update the `target_path` field of `options` in the YAML config file, +# so that users can use any filename for their roms instead of having to name them `baserom.us.v1.z64` etc. +# The ROM file is detected from it's SHA1 hash. + +import os +import argparse +import yaml +import hashlib + +CURRENT_DIR = os.path.dirname(__file__) + +def get_sha1_hash(directoryPath): + sha1 = hashlib.sha1() + with open(directoryPath, 'rb') as file: + while chunk := file.read(8192): + sha1.update(chunk) + return sha1.hexdigest() + +def get_all_files_from_directory(directoryPath): + return [os.path.join(directoryPath, f) for f in os.listdir(directoryPath) if os.path.isfile(os.path.join(directoryPath, f))] + +def get_files_with_extension(directoryPath, extension): + yaml_files = [] + for root, dirs, files in os.walk(directoryPath): + for file in files: + if file.endswith(extension): + yaml_files.append(os.path.join(root, file)) + return yaml_files + +def get_yaml_files(directoryPath): + return get_files_with_extension(directoryPath, '.yaml') + +def update_yaml_file(yamlFilePath): + yamlData = yaml.safe_load(open(yamlFilePath, 'r')) + yamlOptions = yamlData['options'] + yamlSha1 = yamlData['sha1'] + basepath = os.path.join(CURRENT_DIR, yamlOptions['base_path']) # Not going to override base_path, so this should be fine. + target_path_dir = os.path.dirname(yamlOptions['target_path']) + target_path_basename = os.path.basename(yamlOptions['target_path']) + target_folder = os.path.join(basepath, target_path_dir) + target_path_full = os.path.join(target_folder, target_path_basename) + target_folder_files = get_all_files_from_directory(target_folder) + for file in target_folder_files: + if get_sha1_hash(file) == yamlSha1: + if os.path.basename(file) != target_path_basename: + print(f'Baserom file "{os.path.basename(file)}" renamed to "{target_path_basename}"') + os.rename(file, target_path_full) + return + +def main(): + parser = argparse.ArgumentParser(description='Updates the target_path option for the yaml files.') + parser.add_argument('yamlFile', nargs='?', default='all', help='Optional file argument (default: "all")') + args = parser.parse_args() + + if args.yamlFile == "all": + yamlFilePaths = get_yaml_files(CURRENT_DIR) + else: + yamlFilePaths = [ os.path.join(CURRENT_DIR, args.yamlFile) ] + + for filePath in yamlFilePaths: + update_yaml_file(filePath) + +if __name__ == '__main__': + main() diff --git a/ver/symbols/symbol_addrs.jpn.v79.txt b/ver/symbols/symbol_addrs.jpn.v79.txt new file mode 100644 index 00000000..4bb3c389 --- /dev/null +++ b/ver/symbols/symbol_addrs.jpn.v79.txt @@ -0,0 +1,4686 @@ +osTvType = 0x80000300; +osRomType = 0x80000304; +osRomBase = 0x80000308; +osResetType = 0x8000030C; +osCicId = 0x80000310; +osVersion = 0x80000314; +osMemSize = 0x80000318; +osAppNMIBuffer = 0x8000031C; +entrypoint = 0x80000400; + +// audio.c .text +audio_init = 0x80000450; +sound_volume_reset = 0x80000890; +sound_volume_change = 0x80000968; +music_change_off = 0x80000B18; +music_change_on = 0x80000B28; +music_play = 0x80000B34; +music_voicelimit_set = 0x80000BE0; +music_voicelimit_change_off = 0x80000C1C; +music_voicelimit_change_on = 0x80000C2C; +music_jingle_voicelimit_set = 0x80000C38; +func_80000C68 = 0x80000C68; +music_fade = 0x80000C98; +music_volume_reset = 0x80000CBC; +sound_update_queue = 0x80000D00; +sound_play_delayed = 0x80000FDC; +sound_clear_delayed = 0x80001050; +music_channel_get_mask = 0x8000105C; +music_dynamic_set = 0x80001074; +music_channel_off = 0x80001114; +music_channel_active = 0x8000114C; +music_channel_on = 0x80001170; +music_channel_pan_set = 0x800011A8; +music_channel_volume_set = 0x800011E8; +music_channel_volume = 0x80001228; +music_channel_fade_set = 0x80001268; +music_channel_fade = 0x800012A8; +music_channel_reset_all = 0x800012E8; +func_80001358 = 0x80001358; +func_80001440 = 0x80001440; +music_tempo_set_relative = 0x800014BC; +music_tempo_set = 0x80001534; +music_tempo = 0x800015B8; +music_is_playing = 0x800015C8; +music_animation_fraction = 0x800015F8; +sound_get_properties = 0x80001728; +music_jingle_play_safe = 0x80001784; +sound_jingle_tempo_set = 0x800017D4; +music_stop = 0x80001844; +music_enabled_set = 0x80001878; +music_can_play = 0x800018D0; +music_jingle_stop = 0x800018E0; +music_current_sequence = 0x80001918; +music_next = 0x80001954; +music_jingle_current = 0x80001980; +music_volume_set = 0x80001990; +music_volume_config_set = 0x80001A3C; +music_volume = 0x80001AEC; +music_volume_config = 0x80001AFC; +music_jingle_volume_set = 0x80001B0C; +music_jingle_pan_set = 0x80001B58; +music_jingle_play = 0x80001BC0; +music_jingle_playing = 0x80001C08; +sound_channel_volume_all = 0x80001C5C; +sound_distance = 0x80001CB8; +sound_play = 0x80001D04; +sound_play_spatial = 0x80001EA8; +func_80001F14 = 0x80001F14; +sound_volume_set_relative = 0x80001FB8; +sound_volume_set = 0x8000208C; +sound_pitch_set = 0x800020BC; +sound_count = 0x800020E8; +music_sequence_count = 0x80002110; +sound_table_properties = 0x80002128; +music_table_properties = 0x8000216C; +gSoundBank_GetSoundDecayTime = 0x800021B0; +sound_seqplayer_init = 0x80002224; +music_sequence_start = 0x800022BC; +music_sequence_init = 0x8000232C; +music_sequence_stop = 0x80002570; +sound_reverb_set = 0x80002608; +sound_reverb_enabled = 0x80002630; + +//audiomgr.c .text +amCreateAudioMgr = 0x80002660; +audioStartThread = 0x80002A50; +audioStopThread = 0x80002A74; +__amMain = 0x80002A98; +__amHandleFrameMsg = 0x80002C00; +__amHandleDoneMsg = 0x80002DF8; +__amDMA = 0x80002E38; +__amDmaNew = 0x80003008; +__clearAudioDMA = 0x80003040; + +//audiosfx.c .text +set_sfx_volume_slider = 0x80003160; +get_sfx_volume_slider = 0x8000317C; +set_sound_channel_count = 0x8000318C; +alSndPNew = 0x800031C0; +_sndpVoiceHandler = 0x800033C8; +_handleEvent = 0x80003470; +func_8000410C = 0x8000410C; +func_8000418C = 0x8000418C; +_removeEvents = 0x800041FC; +func_800042CC = 0x800042CC; +func_80004384 = 0x80004384; +func_80004520 = 0x80004520; +func_80004604 = 0x80004604; +func_8000461C = 0x8000461C; +func_80004638 = 0x80004638; +func_80004668 = 0x80004668; +sound_stop = 0x8000488C; +func_800048D8 = 0x800048D8; +func_80004998 = 0x80004998; +func_800049B8 = 0x800049B8; +sound_stop_all = 0x800049D8; +sound_event_update = 0x800049F8; +get_sound_channel_volume = 0x80004A3C; +set_sound_channel_volume = 0x80004A60; + +// audio_vehicle.c .text +func_80004B40 = 0x80004B40; +racer_sound_update = 0x800050D0; +func_80005254 = 0x80005254; +racer_sound_hovercraft = 0x80005D08; +func_800063EC = 0x800063EC; +racer_sound_free = 0x80006AC8; +func_80006BFC = 0x80006BFC; +func_80006FC8 = 0x80006FC8; +sound_vehicle_enable = 0x80007F78; +sound_vehicle_disable = 0x80007F88; +sound_vehicle_check = 0x80007F94; +func_80007FA4 = 0x80007FA4; + +// audio_spatial.c .text +func_80008040 = 0x80008040; +audioline_off = 0x80008140; +audioline_on = 0x80008168; +func_80008174 = 0x80008174; +func_80008438 = 0x80008438; +func_800090C0 = 0x800090C0; +audioline_distance = 0x800092A8; +play_sound_at_position = 0x80009558; +func_800095E8 = 0x800095E8; +update_spatial_audio_position = 0x800096D8; +func_800096F8 = 0x800096F8; +func_8000974C = 0x8000974C; +audioline_ambient_create = 0x800098A4; +func_80009968 = 0x80009968; +func_800099EC = 0x800099EC; +func_80009AB4 = 0x80009AB4; +func_80009B7C = 0x80009B7C; +func_80009D6C = 0x80009D6C; +func_8000A184 = 0x8000A184; +func_8000A2E8 = 0x8000A2E8; +debug_render_line = 0x8000A414; + +// seqplayer.c .text +dummy_8000A710 = 0x8000A710; +__mapVoice = 0x8000A71C; +__unmapVoice = 0x8000A7C4; +__lookupVoice = 0x8000A84C; +__lookupSoundQuick = 0x8000A8D0; +__vsVol = 0x8000A9F8; +__vsDelta = 0x8000AA88; +__vsPan = 0x8000AAAC; +__seqpReleaseVoice = 0x8000AB00; +__voiceNeedsNoteKill = 0x8000AC34; +__initFromBank = 0x8000ACE0; +__setInstChanState = 0x8000AD98; +__resetPerfChanState = 0x8000ADF4; +__initChanState = 0x8000AE90; +__seqpStopOsc = 0x8000AEFC; +set_voice_limit = 0x8000B010; + +// objects.c .text +func_8000B020 = 0x8000B020; +func_8000B290 = 0x8000B290; +func_8000B38C = 0x8000B38C; +func_8000B750 = 0x8000B750; +func_8000BADC = 0x8000BADC; +func_8000BF44 = 0x8000BF44; +allocate_object_pools = 0x8000BF8C; +decrypt_magic_codes = 0x8000C2D8; +clear_object_pointers = 0x8000C460; +free_all_objects = 0x8000C604; +load_object_header = 0x8000C718; +try_free_object_header = 0x8000C844; +normalise_time = 0x8000C8B4; +func_8000C8F8 = 0x8000C8F8; +func_8000CBC0 = 0x8000CBC0; +func_8000CBF0 = 0x8000CBF0; +func_8000CC20 = 0x8000CC20; +func_8000CC7C = 0x8000CC7C; +get_contpak_error = 0x8000E0B0; +instShowBearBar = 0x8000E128; +func_8000E138 = 0x8000E138; +func_8000E148 = 0x8000E148; +func_8000E158 = 0x8000E158; +func_8000E184 = 0x8000E184; +func_8000E194 = 0x8000E194; +fontUseFont = 0x8000E1B8; +find_non_car_racers = 0x8000E1CC; +check_if_silver_coin_race = 0x8000E1DC; +despawn_player_racer = 0x8000E1EC; +transform_player_vehicle = 0x8000E2B4; +set_time_trial_enabled = 0x8000E4BC; +is_time_trial_enabled = 0x8000E4C8; +is_in_time_trial = 0x8000E4D8; +func_8000E4E8 = 0x8000E4E8; +func_8000E558 = 0x8000E558; +func_8000E5EC = 0x8000E5EC; +func_8000E79C = 0x8000E79C; +func_8000E898 = 0x8000E898; +get_object = 0x8000E948; +objGetObjList = 0x8000E988; +get_object_count = 0x8000E9B0; +get_particle_count = 0x8000E9C0; +func_8000E9D0 = 0x8000E9D0; +spawn_object = 0x8000EA54; +objFreeAssets = 0x8000F648; +light_setup_light_sources = 0x8000F758; +init_object_shading = 0x8000F7EC; +func_8000F99C = 0x8000F99C; +obj_init_emitter = 0x8000FAC4; +init_object_shadow = 0x8000FBCC; +init_object_water_effect = 0x8000FC6C; +init_object_interaction_data = 0x8000FD20; +func_8000FD34 = 0x8000FD34; +func_8000FD54 = 0x8000FD54; +free_object = 0x8000FFB8; +obj_table_ids = 0x80010018; +obj_id_valid = 0x80010028; +gParticlePtrList_flush = 0x8001004C; +func_800101AC = 0x800101AC; +func_80010994 = 0x80010994; +func_80011134 = 0x80011134; +func_80011264 = 0x80011264; +do_nothing_func_80011364 = 0x80011364; +path_update_check = 0x8001136C; +path_enable = 0x80011390; +get_race_countdown = 0x8001139C; +get_race_start_timer = 0x800113AC; +func_800113BC = 0x800113BC; +play_footstep_sounds = 0x800113CC; +ignore_bounds_check = 0x80011560; +move_object = 0x80011570; +render_misc_model = 0x80011960; +render_3d_misc = 0x80011AD0; +render_3d_billboard = 0x80011C94; +render_3d_model = 0x800120C8; +func_80012C30 = 0x80012C30; +func_80012C3C = 0x80012C3C; +func_80012C98 = 0x80012C98; +func_80012CE8 = 0x80012CE8; +render_object = 0x80012D5C; +object_do_player_tumble = 0x80012E28; +object_undo_player_tumble = 0x80012F30; +func_80012F94 = 0x80012F94; +render_object_parts = 0x8001348C; +unset_temp_model_transforms = 0x80013548; +func_800135B8 = 0x800135B8; +render_bubble_trap = 0x800138A8; +render_racer_shield = 0x80013A0C; +render_racer_magnet = 0x80013DCC; +func_80014090 = 0x80014090; +func_800142B8 = 0x800142B8; +render_mesh = 0x800143A8; +func_80014814 = 0x80014814; +func_800149C0 = 0x800149C0; +func_80014B50 = 0x80014B50; +sort_objects_by_dist = 0x80015348; +process_object_interactions = 0x800155B8; +func_800159C8 = 0x800159C8; +func_80016500 = 0x80016500; +func_80016748 = 0x80016748; +func_80016BC4 = 0x80016BC4; +obj_butterfly_node = 0x80016C68; +obj_dist_racer = 0x80016DE8; +func_8001709C = 0x8001709C; +func_80017248 = 0x80017248; +func_8001790C = 0x8001790C; +func_80017978 = 0x80017978; +func_800179D0 = 0x800179D0; +func_80017A18 = 0x80017A18; +set_taj_challenge_type = 0x80017E74; +get_taj_challenge_type = 0x80017E88; +func_80017E98 = 0x80017E98; +func_800185E4 = 0x800185E4; +find_taj_object = 0x80018C6C; +func_80018CE0 = 0x80018CE0; +func_8001955C = 0x8001955C; +func_80019808 = 0x80019808; +set_course_finish_flags = 0x8001A7D8; +race_finish_adventure = 0x8001A8D4; +race_transition_adventure = 0x8001A8F4; +race_finish_timer = 0x8001AE44; +get_balloon_cutscene_timer = 0x8001AE54; +race_finish_time_trial = 0x8001AE64; +timetrial_valid_player_ghost = 0x8001B288; +timetrial_player_ghost = 0x8001B2E0; +timetrial_load_staff_ghost = 0x8001B2F0; +timetrial_staff_ghost_check = 0x8001B3AC; +tt_ghost_beaten = 0x8001B3C4; +timetrial_init_staff_ghost = 0x8001B4FC; +timetrial_ghost_staff = 0x8001B640; +timetrial_staff_unbeaten = 0x8001B650; +timetrial_init_player_ghost = 0x8001B668; +timetrial_save_player_ghost = 0x8001B738; +has_ghost_to_save = 0x8001B780; +set_ghost_none = 0x8001B790; +func_8001B7A8 = 0x8001B7A8; +func_8001B834 = 0x8001B834; +func_8001B954 = 0x8001B954; +get_checkpoint_node = 0x8001BA00; +find_next_checkpoint_node = 0x8001BA1C; +get_checkpoint_count = 0x8001BA64; +get_racer_objects = 0x8001BA74; +get_racer_objects_by_port = 0x8001BA90; +get_racer_objects_by_position = 0x8001BAAC; +get_racer_object = 0x8001BAC8; +get_racer_object_by_port = 0x8001BB18; +debug_render_checkpoints = 0x8001BB68; +debug_render_checkpoint_node = 0x8001BC40; +spectate_update = 0x8001BC54; +spectate_object = 0x8001BD94; +spectate_nearest = 0x8001BDD4; +ainode_update = 0x8001BF20; +obj_elevation = 0x8001C418; +ainode_register = 0x8001C48C; +ainode_find_nearest = 0x8001C524; +func_8001C6C4 = 0x8001C6C4; +func_8001CC48 = 0x8001CC48; +func_8001CD28 = 0x8001CD28; +ainode_enable = 0x8001D1AC; +ainode_tail_set = 0x8001D1BC; +ainode_tail = 0x8001D1E4; +ainode_get = 0x8001D214; +func_8001D248 = 0x8001D248; +set_world_shading = 0x8001D258; +add_shading_properties = 0x8001D2A0; +set_shading_properties = 0x8001D4B4; +update_envmap_position = 0x8001D5E0; +calc_dyn_light_and_env_map_for_object = 0x8001D6E4; +calc_dynamic_lighting_for_object_1 = 0x8001D80C; +calc_env_mapping_for_object = 0x8001DD54; +set_racer_position_and_angle = 0x8001E13C; +get_misc_asset = 0x8001E29C; +func_8001E2EC = 0x8001E2EC; +func_8001E344 = 0x8001E344; +obj_bridge_pos = 0x8001E36C; +cutscene_id = 0x8001E440; +cutscene_id_set = 0x8001E450; +func_8001E45C = 0x8001E45C; +get_object_list_index = 0x8001E4B4; +func_8001E4C4 = 0x8001E4C4; +func_8001E6EC = 0x8001E6EC; +func_8001E89C = 0x8001E89C; +func_8001E93C = 0x8001E93C; +func_8001EE74 = 0x8001EE74; +obj_init_animcamera = 0x8001EFA4; +func_8001F23C = 0x8001F23C; +func_8001F3B8 = 0x8001F3B8; +func_8001F3C8 = 0x8001F3C8; +func_8001F3EC = 0x8001F3EC; +func_8001F450 = 0x8001F450; +func_8001F460 = 0x8001F460; +func_800210CC = 0x800210CC; +func_80021104 = 0x80021104; +func_8002125C = 0x8002125C; +func_80021400 = 0x80021400; +func_800214C4 = 0x800214C4; +func_800214E4 = 0x800214E4; +func_80021600 = 0x80021600; +catmull_rom_interpolation = 0x80022540; +cubic_spline_interpolation = 0x8002263C; +func_8002277C = 0x8002277C; +lerp = 0x80022888; +func_800228B0 = 0x800228B0; +func_800228DC = 0x800228DC; +init_racer_for_challenge = 0x800228EC; +mode_init_taj_race = 0x80022948; +obj_taj_create_balloon = 0x80022CFC; +mode_end_taj_race = 0x80022E18; +func_800230D0 = 0x800230D0; +is_taj_challenge = 0x8002341C; +find_furthest_telepoint = 0x8002342C; +func_80023568 = 0x80023568; +obj_door_override = 0x800235C0; +obj_door_open = 0x800235D0; +get_object_property_size = 0x800235DC; +run_object_init_func = 0x800238BC; +obj_init_property_flags = 0x80023E30; +run_object_loop_func = 0x80023F48; +func_8002458C = 0x8002458C; +func_80024594 = 0x80024594; +func_800245B4 = 0x800245B4; + +// unknown_0251F0.c .text +func_800245F0 = 0x800245F0; +calc_dynamic_lighting_for_object_2 = 0x80024744; + +// tracks.c .text +set_scene_viewport_num = 0x800249E0; +init_track = 0x800249F0; +render_scene = 0x80024D54; +func_80025510 = 0x80025510; +func_800257D0 = 0x800257D0; +func_8002581C = 0x8002581C; +func_80026070 = 0x80026070; +func_80026430 = 0x80026430; +func_80026C14 = 0x80026C14; +func_80026E54 = 0x80026E54; +func_80027184 = 0x80027184; +func_80027568 = 0x80027568; +func_800278E8 = 0x800278E8; +animate_level_textures = 0x80027E24; +spawn_skydome = 0x80027FC4; +set_skydome_visbility = 0x80028044; +func_80028050 = 0x80028050; +draw_gradient_background = 0x800289B8; +render_skydome = 0x80028C10; +initialise_player_viewport_vars = 0x80028CD0; +set_anti_aliasing = 0x80028FA0; +render_level_geometry_and_objects = 0x80028FAC; +render_level_segment = 0x80029658; +traverse_segments_bsp_tree = 0x80029AF8; +add_segment_to_order = 0x80029D14; +check_if_inside_segment = 0x80029DE0; +get_level_segment_index_from_position = 0x80029F18; +get_inside_segment_count_xz = 0x8002A05C; +get_inside_segment_count_xyz = 0x8002A134; +get_segment = 0x8002A29C; +get_segment_bounding_box = 0x8002A2DC; +func_8002A31C = 0x8002A31C; +should_segment_be_visible = 0x8002A5F8; +check_if_in_draw_range = 0x8002A900; +func_8002AC00 = 0x8002AC00; +dayGetTrackFade = 0x8002ACA0; +func_8002ACC8 = 0x8002ACC8; +func_8002ACD4 = 0x8002ACD4; +get_wave_properties = 0x8002AD08; +func_8002B0F4 = 0x8002B0F4; +func_8002B9BC = 0x8002B9BC; +func_8002BAB0 = 0x8002BAB0; +func_8002C0C4 = 0x8002C0C4; +func_8002C71C = 0x8002C71C; +get_current_level_model = 0x8002C7C4; +free_track = 0x8002C7D4; +func_8002C954 = 0x8002C954; +func_8002CC30 = 0x8002CC30; +trackMakeAbsolute = 0x8002D30C; +render_object_shadow = 0x8002D384; +render_object_water_effects = 0x8002D670; +update_shadows = 0x8002D8DC; +func_8002DE30 = 0x8002DE30; +func_8002E234 = 0x8002E234; +func_8002E904 = 0x8002E904; +func_8002EEEC = 0x8002EEEC; +func_8002F2AC = 0x8002F2AC; +func_8002F440 = 0x8002F440; +func_8002FA64 = 0x8002FA64; +func_8002FD74 = 0x8002FD74; +func_8002FF6C = 0x8002FF6C; +func_800304C8 = 0x800304C8; +set_fog = 0x80030664; +get_fog_settings = 0x80030750; +reset_fog = 0x800307BC; +update_fog = 0x80030838; +apply_fog = 0x8003093C; +obj_loop_fogchanger = 0x80030A74; +slowly_change_fog = 0x80030DE0; +update_perspective_and_envmap = 0x80030FA0; +compute_scene_camera_transform_matrix = 0x80031018; + +// collision.c .text +func_80031130 = 0x80031130; +func_800314DC = 0x800314DC; +func_80031600 = 0x80031600; + +// lights.c .text +free_lights = 0x80031B60; +setup_lights = 0x80031BB8; +func_80031CAC = 0x80031CAC; +add_object_light = 0x80031F88; +disable_object_light = 0x80032210; +enable_object_light = 0x80032218; +toggle_object_light = 0x80032224; +func_80032248 = 0x80032248; +func_80032344 = 0x80032344; +lightUpdateLights = 0x80032398; +func_80032424 = 0x80032424; +func_80032BAC = 0x80032BAC; +get_light_count = 0x80032C6C; +func_80032C7C = 0x80032C7C; +func_800337E4 = 0x800337E4; +light_distance_calc = 0x80033A14; +light_direction_calc = 0x80033C08; + +// object_functions.c .text +obj_init_scenery = 0x80033CC0; +obj_loop_scenery = 0x80033DD0; +obj_init_fireball_octoweapon = 0x80033F44; +obj_loop_fireball_octoweapon = 0x80033F60; +obj_init_lasergun = 0x80034530; +obj_loop_lasergun = 0x800345A0; +obj_init_laserbolt = 0x80034844; +obj_loop_laserbolt = 0x80034860; +obj_init_torch_mist = 0x80034AF0; +obj_loop_torch_mist = 0x80034B4C; +obj_init_effectbox = 0x80034B68; +obj_loop_effectbox = 0x80034B74; +obj_init_trophycab = 0x80034E70; +obj_loop_trophycab = 0x80034E9C; +obj_init_collectegg = 0x8003522C; +obj_loop_collectegg = 0x80035260; +obj_init_eggcreator = 0x80035640; +obj_loop_eggcreator = 0x8003564C; +obj_init_lighthouse_rocketsignpost = 0x8003572C; +obj_loop_rocketsignpost = 0x800357D4; +obj_init_airzippers_waterzippers = 0x8003588C; +obj_loop_airzippers_waterzippers = 0x8003596C; +obj_init_groundzipper = 0x80035AE8; +obj_loop_groundzipper = 0x80035C50; +obj_init_timetrialghost = 0x80035E20; +obj_loop_timetrialghost = 0x80035E34; +obj_init_characterflag = 0x80035EF8; +obj_loop_characterflag = 0x80035F6C; +try_to_collect_egg = 0x80036040; +obj_init_stopwatchman = 0x80036194; +obj_loop_stopwatchman = 0x800361E0; +play_tt_voice_clip = 0x80036BCC; +obj_init_fish = 0x80036C30; +obj_loop_fish = 0x800370D4; +obj_init_lavaspurt = 0x80037578; +obj_loop_lavaspurt = 0x80037594; +obj_init_posarrow = 0x80037624; +obj_loop_posarrow = 0x8003763C; +obj_init_animator = 0x800376E0; +obj_loop_animator = 0x800377E4; +obj_init_animation = 0x80037A18; +obj_loop_animobject = 0x80037CE8; +obj_loop_dooropener = 0x80037D08; +obj_init_overridepos = 0x80037D54; +obj_loop_overridepos = 0x80037D60; +obj_init_wizpigship = 0x80037D6C; +obj_loop_wizpigship = 0x80037D78; +obj_loop_vehicleanim = 0x800380F8; +obj_init_hittester = 0x8003818C; +obj_loop_hittester = 0x800381C0; +obj_init_dynamic_lighting_object = 0x800381E0; +obj_init_unknown96 = 0x80038214; +obj_init_snowball = 0x80038248; +obj_loop_snowball = 0x8003827C; +obj_init_char_select = 0x80038330; +obj_loop_char_select = 0x8003833C; +obj_loop_animcamera = 0x80038710; +obj_init_animcar = 0x800387C0; +obj_loop_animcar = 0x800387CC; +obj_init_infopoint = 0x80038854; +obj_loop_infopoint = 0x800388D4; +obj_init_smoke = 0x800389AC; +obj_loop_smoke = 0x800389B8; +obj_init_unknown25 = 0x80038A6C; +obj_loop_unknown25 = 0x80038A78; +obj_init_wardensmoke = 0x80038AC8; +obj_loop_wardensmoke = 0x80038AD4; +obj_init_bombexplosion = 0x80038B74; +obj_loop_bombexplosion = 0x80038BF4; +obj_init_teleport = 0x80038D58; +obj_loop_teleport = 0x80038DC4; +obj_init_exit = 0x80038E3C; +obj_loop_exit = 0x80038F58; +obj_init_cameracontrol = 0x80039160; +obj_loop_cameracontrol = 0x80039184; +obj_init_setuppoint = 0x80039190; +obj_loop_setuppoint = 0x800391BC; +obj_init_dino_whale = 0x800391C8; +obj_loop_dino_whale = 0x800391FC; +obj_init_parkwarden = 0x800392B8; +set_taj_voice_line = 0x80039320; +obj_loop_parkwarden = 0x80039330; +play_taj_voice_clip = 0x8003AC3C; +obj_loop_gbparkwarden = 0x8003ACA0; +get_npc_pos_y = 0x8003ACAC; +obj_init_checkpoint = 0x8003ACBC; +obj_loop_checkpoint = 0x8003AD28; +obj_init_modechange = 0x8003AD34; +obj_loop_modechange = 0x8003AE50; +obj_init_bonus = 0x8003B058; +obj_loop_bonus = 0x8003B174; +obj_init_goldenballoon = 0x8003B368; +obj_loop_goldenballoon = 0x8003B4BC; +obj_init_door = 0x8003B7CC; +obj_loop_door = 0x8003B988; +obj_init_ttdoor = 0x8003C1E0; +obj_loop_ttdoor = 0x8003C2E4; +obj_init_trigger = 0x8003C644; +obj_loop_trigger = 0x8003C7A4; +obj_init_bridge_whaleramp = 0x8003C9EC; +obj_loop_bridge_whaleramp = 0x8003CA68; +obj_init_rampswitch = 0x8003CE64; +obj_loop_rampswitch = 0x8003CEA0; +obj_init_seamonster = 0x8003CF00; +obj_loop_seamonster = 0x8003CF0C; +obj_init_fogchanger = 0x8003CF18; +obj_init_skycontrol = 0x8003CF58; +obj_loop_skycontrol = 0x8003CF98; +obj_init_ainode = 0x8003CFE0; +obj_loop_ainode = 0x8003D02C; +obj_init_treasuresucker = 0x8003D038; +obj_loop_treasuresucker = 0x8003D058; +obj_init_flycoin = 0x8003D2AC; +obj_loop_flycoin = 0x8003D2B8; +obj_init_bananacreator = 0x8003D3EC; +obj_loop_bananacreator = 0x8003D3FC; +obj_init_banana = 0x8003D534; +obj_loop_banana = 0x8003D5A0; +obj_init_silvercoin_adv2 = 0x8003DBA0; +obj_init_silvercoin = 0x8003DC5C; +obj_loop_silvercoin = 0x8003DD14; +obj_init_worldkey = 0x8003DE74; +obj_loop_worldkey = 0x8003DF08; +obj_init_weaponballoon = 0x8003DFCC; +obj_loop_weaponballoon = 0x8003E140; +obj_init_wballoonpop = 0x8003E5B0; +obj_loop_wballoonpop = 0x8003E5BC; +obj_init_weapon = 0x8003E5C8; +obj_loop_weapon = 0x8003E630; +weapon_projectile = 0x8003E694; +rocket_prevent_overshoot = 0x8003EC14; +homing_rocket_prevent_overshoot = 0x8003EDD8; +reset_rocket_sound_timer = 0x8003F0D0; +decrease_rocket_sound_timer = 0x8003F0DC; +play_rocket_trailing_sound = 0x8003F0F8; +weapon_trap = 0x8003F2E8; +obj_spawn_effect = 0x8003FC44; +obj_init_audio = 0x8003FD68; +obj_init_audioline = 0x8003FEF4; +obj_init_audioreverb = 0x8004001C; +obj_init_texscroll = 0x800400A4; +obj_loop_texscroll = 0x80040148; +obj_init_rgbalight = 0x800403A8; +obj_init_buoy_pirateship = 0x800403D8; +obj_loop_buoy_pirateship = 0x80040448; +obj_init_log = 0x8004049C; +obj_loop_log = 0x80040570; +obj_init_weather = 0x80040800; +obj_loop_weather = 0x80040820; +obj_init_lensflare = 0x8004092C; +obj_init_lensflareswitch = 0x8004094C; +obj_init_wavegenerator = 0x800409A4; +obj_init_butterfly = 0x800409C8; +obj_loop_butterfly = 0x80040C54; +obj_init_midifade = 0x80041A90; +obj_init_midifadepoint = 0x80041E80; +obj_init_midichset = 0x80042014; +obj_init_bubbler = 0x8004203C; +obj_loop_bubbler = 0x80042090; +obj_init_boost = 0x8004210C; +obj_init_unknown94 = 0x80042150; +obj_loop_unknown94 = 0x80042160; +obj_init_rangetrigger = 0x8004216C; +obj_loop_rangetrigger = 0x80042178; +obj_init_frog = 0x80042210; +obj_loop_frog = 0x800422F0; +obj_loop_pigrocketeer = 0x80042998; +obj_init_levelname = 0x80042A1C; +obj_loop_levelname = 0x80042A90; +obj_loop_wizghosts = 0x80042CD4; + +// racer.c .text +func_80042D20 = 0x80042D20; +increment_ai_behaviour_chances = 0x80043ECC; +racer_AI_pathing_inputs = 0x80044170; +roll_percent_chance = 0x80044450; +func_8004447C = 0x8004447C; +func_80045128 = 0x80045128; +func_800452A0 = 0x800452A0; +func_80045C48 = 0x80045C48; +func_80046524 = 0x80046524; +racer_attack_handler_hovercraft = 0x80048C7C; +update_camera_hovercraft = 0x80048E64; +rotate_racer_in_water = 0x800494E0; +func_80049794 = 0x80049794; +apply_plane_tilt_anim = 0x8004C0A0; +racer_attack_handler_plane = 0x8004C140; +update_camera_plane = 0x8004C2B0; +func_8004CC20 = 0x8004CC20; +update_camera_loop = 0x8004D590; +update_carpet = 0x8004D95C; +obj_init_racer = 0x8004DAB0; +update_player_racer = 0x8004DE38; +set_racer_tail_lights = 0x8004F77C; +func_8004F7F4 = 0x8004F7F4; +racer_approach_object = 0x80050754; +apply_vehicle_rotation_offset = 0x80050850; +func_80050A28 = 0x80050A28; +should_taj_teleport = 0x80052188; +set_taj_status = 0x800521B8; +handle_racer_head_turning = 0x800521C4; +slowly_reset_head_angle = 0x8005234C; +turn_head_towards_object = 0x80052388; +func_8005250C = 0x8005250C; +func_80052988 = 0x80052988; +racer_spinout_car = 0x80052B64; +update_car_velocity_offground = 0x80052D7C; +handle_car_steering = 0x80053478; +func_800535C4 = 0x800535C4; +handle_car_velocity_control = 0x80053664; +func_80053750 = 0x80053750; +racer_attack_handler_car = 0x80053E9C; +update_onscreen_AI_racer = 0x80054110; +update_car_velocity_ground = 0x8005492C; +func_80054FD0 = 0x80054FD0; +onscreen_ai_racer_physics = 0x80055A84; +handle_racer_items = 0x80055EC0; +play_char_horn_sound = 0x80056930; +func_8005698C = 0x8005698C; +racer_activate_magnet = 0x80056E2C; +racer_play_sound = 0x80057048; +racer_play_sound_after_delay = 0x800570A4; +play_random_character_voice = 0x800570B8; +handle_racer_top_speed = 0x80057220; +func_800575EC = 0x800575EC; +drop_bananas = 0x800576E0; +handle_base_steering = 0x800579B0; +update_player_camera = 0x80057A40; +second_racer_camera_update = 0x800580B4; +update_camera_car = 0x800581E8; +update_camera_finish_challenge = 0x80058B84; +update_camera_finish_race = 0x80058D5C; +update_camera_fixed = 0x80058F44; +set_position_goal_from_path = 0x80059080; +func_80059208 = 0x80059208; +get_timestamp_from_frames = 0x800597A0; +allocate_ghost_data = 0x800598E0; +timetrial_reset_player_ghost = 0x80059954; +timetrial_swap_player_ghost = 0x80059994; +timetrial_map_id = 0x800599B8; +timetrial_load_player_ghost = 0x800599C8; +load_tt_ghost = 0x80059A78; +timetrial_free_staff_ghost = 0x80059B5C; +timetrial_write_player_ghost = 0x80059B8C; +timetrial_ghost_write = 0x80059C00; +timetrial_ghost_full = 0x80059E30; +set_ghost_position_and_rotation = 0x80059E50; +disable_racer_input = 0x8005A3DC; +racer_set_dialogue_camera = 0x8005A3EC; +drm_checksum_balloon = 0x8005A3FC; +racer_enter_door = 0x8005A450; +update_AI_racer = 0x8005A71C; +func_8005B818 = 0x8005B844; +drm_vehicle_traction = 0x8005C288; +func_8005C270 = 0x8005C29C; + +//vehicle_tricky.c .text + +racer_special_init = 0x8005C320; +update_tricky = 0x8005C394; +set_boss_voice_clip_offset = 0x8005CAA8; +racer_boss_sound_spatial = 0x8005CAB4; +play_random_boss_sound = 0x8005CB34; +racer_boss_finish = 0x8005CB98; +fade_when_near_camera = 0x8005D078; + +// vehicle_bluey.c .text +update_bluey = 0x8005D100; + +// vehicle_smokey.c .text +update_smokey = 0x8005D850; +spawn_boss_hazard = 0x8005E234; + +// vehicle_bubbler.c .text +update_bubbler = 0x8005E4F0; + +// vehicle_wizpig.c .text +update_wizpig = 0x8005EAC0; + +// vehicle_rocket .c .text +update_rocket = 0x8005F340; + + +// object_models.c .text +allocate_object_model_pools = 0x8005F880; +object_model_init = 0x8005F9CC; +func_8005FCD0 = 0x8005FDA0; +free_3d_model = 0x80060010; +free_model_data = 0x80060128; +func_8006017C = 0x8006024C; +func_80060910 = 0x800609E0; +func_80060AC8 = 0x80060B98; +func_80060C58 = 0x80060D28; +func_80060EA8 = 0x80060F78; +func_800619F4 = 0x80061AC4; +func_80061A00 = 0x80061AD0; +func_80061C0C = 0x80061CDC; + +// object_animate.c .text +object_animate = 0x80061E00; + +// csplayer.c .text +alCSPNew = 0x80062360; +__CSPVoiceHandler = 0x800624D8; +__CSPPostNextSeqEvent = 0x80062A9C; +__CSPHandleNextSeqEvent = 0x80062B0C; +__CSPHandleMIDIMsg = 0x80062BD0; +__CSPHandleMetaMsg = 0x800638BC; +__CSPRepostEvent = 0x80063A54; +__setUsptFromTempo = 0x80063B04; + +// unknown_064690.c .text +func_80063A90 = 0x80063B60; + +// seqchannel.c .text +alSeqChOff = 0x80063BC0; +alSeqChOn = 0x80063C14; + +// alCSPSetFadeIn.c .text +alCSPSetFadeIn = 0x80063C70; +alCSPGetFadeIn = 0x80063CD0; + +// reverb.c .text +alFxPull = 0x80063D00; +alFxParam = 0x80064064; +alFxParamHdl = 0x8006407C; +_loadOutputBuffer = 0x800642F4; +_loadBuffer = 0x80064570; +_saveBuffer = 0x80064708; +_filterBuffer = 0x800648A0; +_doModFunc = 0x80064954; +alFxReverbSet = 0x800649FC; +_alFxEnabled = 0x80064A0C; + +// alFxNew.c .text +init_lpfilter = 0x80064A20; +alFxNew = 0x80064AD8; +alEnvmixerNew = 0x80064F24; +alLoadNew = 0x80064FC8; +alResampleNew = 0x8006506C; +alAuxBusNew = 0x800650F4; +alMainBusNew = 0x80065154; +alSaveNew = 0x800651B4; + +// synthesizer.c .text +alSynNew = 0x80065200; +alAudioFrame = 0x80065564; +__allocParam = 0x80065738; +__freeParam = 0x8006576C; +_collectPVoices = 0x8006578C; +_freePVoice = 0x800657EC; +_timeToSamplesNoRound = 0x80065824; +_timeToSamples = 0x80065894; +__nextSampleTime = 0x800658BC; + +// alSynAllocFX.c .text +alSynAllocFX = 0x80065930; + +// alAuxBusPull.c .text +alAuxBusPull = 0x800659D0; +alAuxBusParam = 0x80065AA4; +func_80065A80 = 0x80065B50; + +// alSynSetPan.c .text +alSynSetPan = 0x80065BF0; + +// alSynStartVoiceParams.c .text +set_stereo_pan_mode = 0x80065CA0; +get_stereo_pan_mode = 0x80065CAC; +modify_panning = 0x80065CBC; +alSynStartVoiceParams = 0x80065D08; + +// main.c .text +mainproc = 0x80065E10; +thread1_main = 0x80065E68; +thread3_verify_stack = 0x80065F00; + +// camera.c .text +camera_init = 0x80065F70; +func_80066060 = 0x80066130; +set_viewport_tv_type = 0x80066168; +func_800660C0 = 0x80066190; +func_800660D0 = 0x800661A0; +get_current_camera_fov = 0x800661AC; +update_camera_fov = 0x800661BC; +calculate_camera_perspective = 0x80066264; +matrix_get_model_s16 = 0x800662D4; +get_viewport_count = 0x800662E0; +get_current_viewport = 0x800662F0; +camera_init_tracks_menu = 0x80066300; +get_distance_to_active_camera = 0x80066418; +camera_reset = 0x800664AC; +write_to_object_render_stack = 0x80066558; +check_if_showing_cutscene_camera = 0x800665E0; +disable_cutscene_camera = 0x800665F0; +set_active_viewports_and_max = 0x800665FC; +set_active_camera = 0x800666B8; +copy_viewports_to_stack = 0x800666E0; +camEnableUserView = 0x800668E8; +camDisableUserView = 0x80066964; +check_viewport_background_flag = 0x800669E0; +viewport_menu_set = 0x80066A10; +set_viewport_properties = 0x80066B78; +copy_viewport_background_size_to_coords = 0x80066C78; +copy_viewport_frame_size_to_coords = 0x80066CFC; +copy_framebuffer_size_to_coords = 0x80066D50; +func_80066CDC = 0x80066DAC; +viewport_scissor = 0x80067B0C; +func_80067D3C = 0x80067E0C; +set_ortho_matrix_height = 0x80067FF0; +set_ortho_matrix_view = 0x80067FFC; +func_8006807C = 0x8006814C; +viewport_rsp_set = 0x80068228; +viewport_reset = 0x8006837C; +matrix_world_origin = 0x800684D8; +sprite_anim_off = 0x800685D8; +render_sprite_billboard = 0x800685E4; +render_ortho_triangle_image = 0x80068CC4; +apply_object_shear_matrix = 0x80069078; +camera_push_model_mtx = 0x80069554; +apply_head_turning_matrix = 0x80069860; +get_modelmatrix_vector = 0x80069AB4; +apply_matrix_from_stack = 0x80069B10; +translate_camera_segment = 0x80069B9C; +transform_camera_segment = 0x80069C40; +rotate_camera_segment = 0x80069D84; +get_active_camera_segment_no_cutscenes = 0x80069DCC; +get_active_camera_segment = 0x80069DF0; +get_cutscene_camera_segment = 0x80069E4C; +get_projection_matrix_f32 = 0x80069E74; +get_projection_matrix_s16 = 0x80069E80; +get_camera_matrix = 0x80069E8C; +get_distance_to_camera = 0x80069E98; +set_camera_shake_by_distance = 0x80069EE4; +set_camera_shake = 0x80069FF8; +debug_print_fixed_matrix_values = 0x8006A034; +debug_print_float_matrix_values = 0x8006A10C; + +// controller.c .text +get_si_mesg_queue = 0x8006A1D0; +init_controllers = 0x8006A1DC; +handle_save_data_and_read_controller = 0x8006A294; +initialise_player_ids = 0x8006A504; +charselect_assign_players = 0x8006A528; +get_player_id = 0x8006A5C8; +swap_player_1_and_2_ids = 0x8006A5DC; +get_buttons_held_from_player = 0x8006A5F8; +get_buttons_pressed_from_player = 0x8006A624; +get_buttons_released_from_player = 0x8006A648; +clamp_joystick_x_axis = 0x8006A66C; +clamp_joystick_y_axis = 0x8006A6B0; +clamp_joystick = 0x8006A6F4; +disable_button_mask = 0x8006A770; + +// game.c .text +init_level_globals = 0x8006A780; +func_8006ABB4 = 0x8006AC84; +search_level_properties_forwards = 0x8006ACD0; +search_level_properties_backwards = 0x8006AEFC; +get_race_type_count = 0x8006B0E8; +get_world_level_count = 0x8006B124; +get_map_default_vehicle = 0x8006B17C; +get_map_available_vehicles = 0x8006B1C8; +get_map_race_type = 0x8006B21C; +get_map_world_id = 0x8006B260; +get_hub_area_id = 0x8006B2A4; +get_number_of_levels_and_worlds = 0x8006B2F4; +check_if_in_race = 0x8006B310; +load_level = 0x8006B320; +start_level_music = 0x8006BDE0; +get_current_map_id = 0x8006BE58; +get_current_level_race_type = 0x8006BE68; +get_current_level_header = 0x8006BE80; +get_total_level_header_count = 0x8006BE90; +get_level_name = 0x8006BEAC; +clear_audio_and_track = 0x8006BFCC; +set_ai_level = 0x8006C098; +free_ai_behaviour_table = 0x8006C234; +get_ai_behaviour_table = 0x8006C25C; +is_two_player_adventure_race = 0x8006C26C; +push_level_property_stack = 0x8006C27C; +pop_level_property_stack = 0x8006C2FC; +clear_level_property_stack = 0x8006C3B4; +get_level_property_stack_pos = 0x8006C3C0; +func_8006C300 = 0x8006C3D0; + +// thread3_main.c .text +thread3_main = 0x8006C400; +init_game = 0x8006C4B0; +main_game_loop = 0x8006C6DC; +load_next_ingame_level = 0x8006CBBC; +load_level_game = 0x8006CC30; +unload_level_game = 0x8006CCEC; +mode_game = 0x8006CDC8; +set_drumstick_unlock_transition = 0x8006D97C; +race_postrace_type = 0x8006D9B8; +func_8006D8F0 = 0x8006D9C8; +func_8006D968 = 0x8006DA40; +get_game_mode = 0x8006DAE4; +set_game_mode = 0x8006DAF4; +load_menu_with_level_background = 0x8006DB00; +set_level_default_vehicle = 0x8006DBEC; +set_vehicle_id_for_menu = 0x8006DBF8; +get_level_default_vehicle = 0x8006DC04; +load_level_menu = 0x8006DC14; +unload_level_menu = 0x8006DCBC; +update_menu_scene = 0x8006DD30; +mode_menu = 0x8006DDD0; +load_level_for_menu = 0x8006E3C0; +calc_and_alloc_heap_for_settings = 0x8006E494; +init_racer_headers = 0x8006E694; +clear_lap_records = 0x8006E848; +clear_game_progress = 0x8006EA6C; +reset_save_data = 0x8006EB30; +get_settings = 0x8006EB68; +is_game_paused = 0x8006EB78; +is_postrace_viewport_active = 0x8006EB88; +is_reset_pressed = 0x8006EB98; +get_ingame_map_id = 0x8006EBEC; +mark_to_read_flap_times = 0x8006EBFC; +mark_to_read_course_times = 0x8006EC18; +mark_to_read_flap_and_course_times = 0x8006EC34; +mark_read_save_file = 0x8006EC50; +mark_read_all_save_files = 0x8006EC80; +mark_to_write_flap_times = 0x8006EC9C; +mark_to_write_course_times = 0x8006ECB8; +mark_to_write_flap_and_course_times = 0x8006ECD4; +force_mark_write_save_file = 0x8006ECF0; +safe_mark_write_save_file = 0x8006ED20; +mark_save_file_to_erase = 0x8006ED84; +mark_read_eeprom_settings = 0x8006ED9C; +mark_write_eeprom_settings = 0x8006EDB8; +alloc_displaylist_heap = 0x8006EDD4; +drm_validate_dmem = 0x8006F090; +default_alloc_displaylist_heap = 0x8006F0B4; +level_transition_begin = 0x8006F218; +func_8006F20C = 0x8006F2E4; +begin_trophy_race_teleport = 0x8006F32C; +begin_lighthouse_rocket_cutscene = 0x8006F374; +begin_level_teleport = 0x8006F410; +set_pause_lockout_timer = 0x8006F460; +swap_lead_player = 0x8006F470; +set_frame_blackout_timer = 0x8006F504; +mode_intro = 0x8006F514; +is_controller_missing = 0x8006F5A0; +drm_validate_imem = 0x8006F5C4; + +// math_util.c .text +interrupts_disable = 0x8006F5F0; +interrupts_enable = 0x8006F61C; +set_gIntDisFlag = 0x8006F644; +get_gIntDisFlag = 0x8006F650; +s32_matrix_to_s16_matrix = 0x8006F65C; +f32_matrix_to_s32_matrix = 0x8006F6C0; +guMtxXFMF = 0x8006F72C; +f32_matrix_dot = 0x8006F7CC; +f32_matrix_mult = 0x8006F848; +f32_matrix_to_s16_matrix = 0x8006F950; +set_rng_seed = 0x8006F9EC; +save_rng_seed = 0x8006F9F8; +load_rng_seed = 0x8006FA0C; +get_rng_seed = 0x8006FA20; +get_random_number_from_range = 0x8006FA2C; +s16_matrix_rotate = 0x8006FA98; +s16_matrix_to_s32_matrix = 0x8006FB20; +s16_vec3_mult_by_s32_matrix_full = 0x8006FB58; +s16_vec3_mult_by_s32_matrix = 0x8006FC40; +object_transform_to_matrix = 0x8006FD10; +f32_matrix_scale = 0x8006FEE4; +f32_matrix_y_scale = 0x8006FF10; +object_transform_to_matrix_2 = 0x8006FF54; +func_80070058 = 0x80070138; +f32_matrix_from_rotation_and_scale = 0x80070210; +s16_vec3_apply_object_rotation = 0x800702C4; +f32_vec3_apply_object_rotation = 0x80070400; +f32_vec3_apply_object_rotation2 = 0x800704B8; +f32_vec3_apply_object_rotation3 = 0x80070570; +point_triangle_2d_xz_intersection = 0x800705D0; +f32_matrix_from_position = 0x800706D8; +f32_matrix_from_scale = 0x80070718; +atan2s = 0x8007074C; +arctan2_f = 0x80070830; +s32_matrix_cell_sqrt = 0x80070860; +bad_int_sqrt = 0x8007088C; +sins_f = 0x800708A4; +coss_f = 0x800708D8; +coss_s16 = 0x8007090C; +sins_s16 = 0x80070910; +coss_2 = 0x8007096C; +sins_2 = 0x80070970; +calc_dyn_lighting_for_level_segment = 0x800709B0; +func_80070A04 = 0x80070AE4; +area_triangle_2d = 0x80070B0C; +set_breakpoint = 0x80070BB8; +dmacopy_doubleword = 0x80070BE4; + +// memory.c .text +mempool_init_main = 0x80070C10; +mempool_new_sub = 0x80070C58; +mempool_init = 0x80070CC4; +mempool_alloc_safe = 0x80070D7C; +mempool_alloc = 0x80070DF0; +mempool_slot_find = 0x80070E1C; +mempool_alloc_pool = 0x80070F70; +mempool_alloc_fixed = 0x80070FD8; +mempool_free_timer = 0x80071190; +mempool_free = 0x80071220; +mempool_free_queue_clear = 0x80071278; +mempool_free_addr = 0x80071358; +func_80071314 = 0x800713F4; +mempool_free_queue = 0x80071520; +mempool_locked_set = 0x80071558; +mempool_locked_unset = 0x80071618; +mempool_get_pool = 0x800716CC; +mempool_slot_clear = 0x8007172C; +get_memory_pool_address = 0x80071854; +mempool_slot_assign = 0x8007186C; +align16 = 0x80071930; +align8 = 0x8007194C; +align4 = 0x80071968; +find_active_pool_slot_colours = 0x80071984; +get_memory_colour_tag_count = 0x80071B04; +mempool_print_tags_usb = 0x80071BB8; +mempool_print_tags_screen = 0x80071C34; +mmSlotPrint = 0x80071D54; +func_80071CE8 = 0x80071DC8; + +// osMotor.c .text +osMotorStop = 0x80071E10; +osMotorStart = 0x80071F38; +osMotorInit = 0x800721BC; + +// save_data.c .text +input_get_id = 0x80072330; +rumble_enable = 0x80072378; +rumble_init = 0x80072384; +rumble_exists = 0x800723D4; +rumble_set = 0x80072434; +rumble_set_fade = 0x80072510; +rumble_start = 0x80072664; +rumble_stop = 0x80072768; +rumble_kill = 0x800727F4; +rumble_update = 0x80072804; +func_80072C54 = 0x80072D4C; +func_80072E28 = 0x80072F20; +populate_settings_from_save_data = 0x80073164; +func_800732E8 = 0x800733E0; +func_80073588 = 0x80073680; +func_800738A4 = 0x8007399C; +get_game_data_file_size = 0x80073D44; +get_time_data_file_size = 0x80073D4C; +get_file_extension = 0x80073D54; +read_game_data_from_controller_pak = 0x80073F14; +write_game_data_to_controller_pak = 0x80074054; +read_time_data_from_controller_pak = 0x80074110; +write_time_data_to_controller_pak = 0x80074240; +read_save_file = 0x800742FC; +erase_save_file = 0x80074414; +write_save_data = 0x800745D4; +read_eeprom_data = 0x800746C8; +write_eeprom_data = 0x800747E8; +calculate_eeprom_settings_checksum = 0x80074904; +read_eeprom_settings = 0x8007496C; +write_eeprom_settings = 0x80074A74; +calculate_ghost_header_checksum = 0x80074B44; +func_80074AA8 = 0x80074BA0; +get_ghost_data_file_size = 0x80074C14; +func_80074B34 = 0x80074C2C; +func_80074EB8 = 0x80074FB0; +func_80075000 = 0x800750F8; +func_800753D8 = 0x800754D0; +func_800756D4 = 0x800757CC; +get_si_device_status = 0x800759D4; +start_reading_controller_data = 0x80075BE4; +init_controller_paks = 0x80075C10; +check_for_rumble_pak = 0x80075DD8; +repair_controller_pak = 0x80075E30; +reformat_controller_pak = 0x80075EBC; +get_controller_pak_file_list = 0x80075F58; +cpak_free_files = 0x8007625C; +get_free_space = 0x8007628C; +delete_file = 0x800763C0; +copy_controller_pak_data = 0x80076480; +get_file_number = 0x800765E0; +read_data_from_controller_pak = 0x80076708; +write_controller_pak_file = 0x800767CC; +get_file_size = 0x80076A1C; +font_codes_to_string = 0x80076A84; +string_to_font_codes = 0x80076B38; +get_file_type = 0x80076C10; + +// asset_loading.c .text +init_PI_mesg_queue = 0x80076CC0; +load_asset_section_from_rom = 0x80076DA4; +load_compressed_asset_from_rom = 0x80076E70; +load_asset_section_from_rom_to_address = 0x80076FA8; +load_asset_to_address = 0x80077050; +get_rom_offset_of_asset = 0x80077100; +get_size_of_asset_section = 0x8007719C; +dmacopy = 0x80077230; +dmacopy_v1 = 0x80077294; + +// borders.c .text +divider_draw = 0x80077360; +divider_clear_coverage = 0x80077578; + +// rcp.c .text +gfxtask_run_xbus = 0x80077760; +gfxtask_run_xbus_2 = 0x800778C0; +gfxtask_run_fifo = 0x80077A44; +gfxtask_run_fifo_2 = 0x80077BD8; +gfxtask_wait = 0x80077D64; +gfxtask_run_rdp = 0x80077DBC; +bgdraw_primcolour = 0x80077E44; +bgdraw_fillcolour = 0x80077E6C; +bgdraw_render = 0x80077EAC; +rdp_init = 0x80078364; +rsp_init = 0x800783EC; +gfxtask_init = 0x80078410; +bgdraw_texture_init = 0x80078480; +func_80078190 = 0x800784A0; +bgdraw_chequer_on = 0x80078A88; +bgdraw_chequer_off = 0x80078B00; +bgdraw_chequer = 0x80078B0C; +bgdraw_set_func = 0x80078DBC; +texrect_draw = 0x80078DC8; +texrect_draw_scaled = 0x80079010; + +// sched.c .text +osCreateScheduler = 0x80079660; +osScAddClient = 0x80079790; +osScRemoveClient = 0x800797F4; +osScGetCmdQ = 0x80079884; +osScGetInterruptQ = 0x8007988C; +scGetAudioTaskTimers = 0x80079894; +func_80079760 = 0x80079A70; +dummy_80079808 = 0x80079B18; +dummy_80079810 = 0x80079B20; +__scHandleRetrace = 0x80079B28; +__scHandleRSP = 0x80079E54; +__scHandleRDP = 0x8007A06C; +__scTaskReady = 0x8007A0F8; +__scTaskComplete = 0x8007A150; +__scAppendList = 0x8007A250; +__scExec = 0x8007A2B8; +__scYield = 0x8007A390; + +// set_rsp_segment.c .text +rsp_segment = 0x8007A5E0; + +// video.c .text +video_init = 0x8007A620; +fb_mode_set = 0x8007A7D0; +fb_mode = 0x8007A7DC; +fb_mode_size = 0x8007A7EC; +fb_size = 0x8007A830; +fb_init_vi = 0x8007A860; +fb_alloc = 0x8007AAF8; +video_delta_reset = 0x8007AC84; +fb_update = 0x8007AC9C; +func_8007AB24 = 0x8007AE34; +vi_refresh_rate = 0x8007AE44; +fb_swap = 0x8007AEAC; +fb_memcpy = 0x8007AF0C; + +// textures_sprites.c .text +tex_init_textures = 0x8007AF80; +tex_disable_modes = 0x8007B11C; +tex_enable_modes = 0x8007B138; +get_loaded_2D_textures = 0x8007B154; +get_loaded_3D_textures = 0x8007B164; +func_8007AE64 = 0x8007B174; +load_texture = 0x8007B184; +free_texture = 0x8007B5CC; +set_texture_colour_tag = 0x8007B684; +func_8007B380 = 0x8007B690; +reset_render_settings = 0x8007B6E0; +enable_primitive_colour = 0x8007B74C; +disable_primitive_colour = 0x8007B764; +set_animated_texture_header = 0x8007B77C; +load_and_set_texture_no_offset = 0x8007B7D8; +load_and_set_texture = 0x8007B7F8; +load_blinking_lights_texture = 0x8007BD6C; +sprite_opaque = 0x8007C22C; +func_8007BF34 = 0x8007C244; +func_8007C12C = 0x8007C43C; +func_8007C52C = 0x8007C83C; +get_texture_size_from_id = 0x8007C88C; +func_8007C660 = 0x8007C970; +func_8007C860 = 0x8007CB70; +func_8007C8A0 = 0x8007CBB0; +load_sprite_info = 0x8007CBF0; +func_8007CA68 = 0x8007CD78; +free_sprite = 0x8007CFC0; +func_8007CDC0 = 0x8007D0D0; +build_tex_display_list = 0x8007D404; +func_8007EF64 = 0x8007F274; +tex_animate_texture = 0x8007F290; +func_8007F1E8 = 0x8007F4F8; +update_colour_cycle = 0x8007F55C; +init_pulsating_light_data = 0x8007F724; +update_pulsating_light_data = 0x8007F770; +func_8007F594 = 0x8007F8A4; + +// screen_asset.c .text +load_screen = 0x8007F950; +render_screen = 0x8007FA24; + +//menu.c .text +load_menu_text = 0x8007FC10; +menu_button_free = 0x80080298; +func_8007FFEC = 0x800802FC; +menu_button_uvs = 0x80080828; +func_80080580 = 0x80080890; +func_80080BC8 = 0x80080ED8; +menu_geometry_end = 0x8008117C; +func_80080E90 = 0x800811A0; +init_save_data = 0x80081528; // has a diff from v1 +reset_title_logo_scale = 0x800816D0; +menu_init = 0x800816E0; +menu_loop = 0x800818B4; +menu_timestamp_render = 0x80081B10; +menu_number_render = 0x80081F14; +postrace_offsets = 0x80082164; +postrace_render = 0x8008225C; +draw_menu_elements = 0x800824FC; +func_80082BC8_837C8 = 0x80082BC8; +trackmenu_set_records = 0x80082D78; +menu_missing_controller = 0x80082EB8; +menu_logos_screen_init = 0x80082F6C; +menu_logo_screen_loop = 0x80083044; +init_title_screen_variables = 0x8008346C; +func_80083098 = 0x80083558; +menu_title_screen_init = 0x80083A60; +render_title_screen = 0x80083C98; +menu_title_screen_loop = 0x80083F00; +titlescreen_free = 0x80084638; +menu_options_init = 0x80084674; +optionscreen_render = 0x800846C8; +menu_options_loop = 0x8008486C; +optionscreen_free = 0x80084BCC; +menu_audio_options_init = 0x80084BD4; +func_80084854 = 0x80084CCC; +menu_audio_options_loop = 0x800850E8; +soundoptions_free = 0x80085670; +menu_save_options_init = 0x800856DC; +savemenu_render_element = 0x80085844; +savemenu_render = 0x800860DC; +savemenu_check_space = 0x800865E8; +savemenu_blank_save_destination = 0x80086708; +savemenu_load_sources = 0x80086804; +savemenu_load_destinations = 0x80086D14; +savemenu_move = 0x80086F88; +savemenu_write = 0x8008703C; +savemenu_render_error = 0x80087748; +savemenu_input_source = 0x80087A40; +savemenu_input_dest = 0x80087B54; +savemenu_input_confirm = 0x80087C3C; +savemenu_input_message = 0x80087CA4; +menu_save_options_loop = 0x800880D0; +savemenu_free = 0x80088428; +func_80087F14 = 0x8008848C; +check_for_controller_pak_errors = 0x800888A4; +menu_boot_init = 0x80088A6C; +menu_boot_loop = 0x80088B84; +bootscreen_free = 0x80088D3C; +bootscreen_init_cpak = 0x80088D60; +pakmenu_render = 0x80088EB8; +menu_controller_pak_loop = 0x80089684; +pakmenu_free = 0x80089B7C; +menu_magic_codes_init = 0x80089BBC; +cheatmenu_render = 0x80089C84; +menu_magic_codes_loop = 0x8008A2C8; +cheatmenu_free = 0x8008AACC; +menu_magic_codes_list_init = 0x8008AAEC; +cheatlist_render = 0x8008AB6C; +cheatlist_exclusive = 0x8008AF00; +menu_magic_codes_list_loop = 0x8008AF30; +cheatlist_free = 0x8008B324; +cheatmenu_checksum = 0x8008B34C; +charselect_prev = 0x8008B4BC; +titlescreen_controller_assign = 0x8008B508; +menu_character_select_init = 0x8008B5D4; +charselect_render_text = 0x8008B80C; +charselect_new_player = 0x8008B970; +charselect_pick = 0x8008BAE0; +charselect_input = 0x8008BD70; +charselect_assign_ai = 0x8008C154; +menu_character_select_loop = 0x8008C33C; +charselect_move = 0x8008C600; +charselect_free = 0x8008C740; +charselect_music_channels = 0x8008C778; +menu_caution_init = 0x8008C9C4; +menu_caution_loop = 0x8008CA0C; +caution_free = 0x8008CAF8; +menu_game_select_init = 0x8008CB18; +gameselect_render = 0x8008CCA8; +menu_game_select_loop = 0x8008CDCC; +gameselect_free = 0x8008D0DC; +menu_file_select_init = 0x8008D10C; +fileselect_render_element = 0x8008D238; +fileselect_render = 0x8008D384; +fileselect_input_root = 0x8008DC08; +fileselect_input_copy = 0x8008DECC; +fileselect_input_erase = 0x8008E28C; +menu_file_select_loop = 0x8008E480; +fileselect_free = 0x8008EA38; +menu_init_vehicle_textures = 0x8008EA6C; +menu_init_arrow_textures = 0x8008EAC0; +menu_input = 0x8008EAFC; +trackmenu_active = 0x8008EDA0; +menu_track_select_init = 0x8008EDB0; +trackmenu_assets = 0x8008F614; +menu_track_select_loop = 0x8008F83C; +menu_track_select_unload = 0x8008FB3C; +func_8008F618 = 0x8008FC20; +trackmenu_render_2D = 0x8009005C; +func_8008FF1C = 0x80090568; +trackmenu_track_view = 0x80090B34; +trackmenu_input = 0x80090F64; +trackmenu_timetrial_sound = 0x80091524; +trackmenu_setup_render = 0x8009157C; +func_80092188 = 0x80092850; +trackmenu_staff_beaten = 0x800932D4; +menu_adventure_track_init = 0x80093378; +adventuretrack_render = 0x80093584; +menu_adventure_track_loop = 0x80093CC8; +adventuretrack_free = 0x800940D4; +menu_pause_init = 0x80094108; +pausemenu_render = 0x80094408; +menu_pause_loop = 0x8009486C; +menu_dialogue_end = 0x80094CAC; +menu_close_dialogue = 0x80094CE0; +menu_racer_portraits = 0x80094D00; +postrace_start = 0x80094D84; +postrace_load = 0x80095158; +postrace_music_fade = 0x80095310; +func_80094D28 = 0x80095424; +postrace_message = 0x80095D20; +menu_postrace = 0x80095E24; +postrace_free = 0x80096E8C; +menu_results_init = 0x80096F44; +results_render = 0x8009706C; +menu_results_loop = 0x80097970; +results_free = 0x80097D94; +filename_decompress = 0x80097DB8; +filename_compress = 0x80097E04; +filename_trim = 0x80097E90; +filename_init = 0x80097F34; +filename_render = 0x80097FC0; +filename_enter = 0x800983B8; +menu_unload_bigfont = 0x80098890; +trophyround_adventure = 0x80098898; +menu_trophy_race_round_init = 0x800988FC; +trophyround_render = 0x80098A4C; +menu_trophy_race_round_loop = 0x80098C28; +trophyround_free = 0x80098DE0; +func_80098774 = 0x80098E00; +menu_trophy_race_rankings_init = 0x800990B0; +rankings_render_order = 0x80099540; +menu_trophy_race_rankings_loop = 0x80099658; +rankings_free = 0x80099C84; +get_trophy_race_world_id = 0x80099CA8; +ghostmenu_generate = 0x80099CB8; +ghostmenu_erase = 0x80099F5C; +menu_ghost_data_init = 0x8009A0D8; +ghostmenu_render = 0x8009A500; +menu_ghost_data_loop = 0x8009AE14; +ghostmenu_free = 0x8009B1EC; +cinematic_start = 0x8009B210; +menu_cinematic_init = 0x8009B2D0; +menu_cinematic_loop = 0x8009B334; +cinematic_free = 0x8009B550; +menu_credits_init = 0x8009B580; +credits_fade = 0x8009B824; +menu_credits_loop = 0x8009B96C; +credits_free = 0x8009C37C; +menu_camera_centre = 0x8009C3E8; +func_8009BE54 = 0x8009C4E0; +reset_controller_sticks = 0x8009C4E8; +update_controller_sticks = 0x8009C5AC; +reset_character_id_slots = 0x8009C7E0; +get_save_file_index = 0x8009C82C; +get_track_id_to_load = 0x8009C83C; +get_character_id_from_slot = 0x8009C8B4; +get_character_id_from_slot_unused = 0x8009C8C8; +get_player_selected_vehicle = 0x8009C8DC; +set_player_selected_vehicle = 0x8009C8F0; +charselect_status = 0x8009C900; +get_player_character = 0x8009C90C; +enable_tracks_mode = 0x8009C950; +is_in_tracks_mode = 0x8009C95C; +set_magic_code_flags = 0x8009C96C; +get_filtered_cheats = 0x8009C998; +get_number_of_active_players = 0x8009CA54; +get_active_player_count = 0x8009CA64; +get_multiplayer_racer_count = 0x8009CACC; +get_all_save_files_ptr = 0x8009CB1C; +menu_title_reset = 0x8009CB28; +menu_assetgroup_free = 0x8009CB34; +menu_asset_free = 0x8009CB94; +menu_assetgroup_load = 0x8009CD00; +menu_asset_load = 0x8009CD60; +menu_imagegroup_load = 0x8009CF30; +menu_image_load = 0x8009CF90; +menu_imagegroup_free = 0x8009D0E4; +menu_element_render = 0x8009D0EC; +render_track_selection_viewport_border = 0x8009D408; +dialogue_npc_finish = 0x8009D5F4; +dialogue_try_close = 0x8009D63C; +npc_dialogue_loop = 0x8009D678; +set_option_text_colour = 0x8009D7A4; +render_dialogue_option = 0x8009D844; +handle_menu_joystick_input = 0x8009D8F8; +func_8009D324 = 0x8009D9B0; +set_next_taj_challenge_menu = 0x8009D9BC; +set_menu_id_if_option_equal = 0x8009D9C8; +taj_menu_loop = 0x8009D9EC; +dialogue_race_defeat = 0x8009E080; +tt_menu_loop = 0x8009E1C8; +dialogue_tt_gamestatus = 0x8009EAC4; +trophy_race_cabinet_menu_loop = 0x8009EEDC; +dialogue_open_stub = 0x8009F094; +dialogue_close_stub = 0x8009F09C; +dialogue_ortho = 0x8009F0A4; +get_eeprom_settings_pointer = 0x8009F160; +set_eeprom_settings_value = 0x8009F16C; +unset_eeprom_settings_value = 0x8009F1B0; +get_eeprom_settings = 0x8009F1FC; +get_language = 0x8009F214; +set_language = 0x8009F21C; +is_adventure_two_unlocked = 0x8009F224; +is_in_adventure_two = 0x8009F234; +is_in_two_player_adventure = 0x8009F244; +is_tt_unlocked = 0x8009F27C; +is_drumstick_unlocked = 0x8009F294; + +// game_ui.c .text +init_hud = 0x8009F2B0; +func_8009F034 = 0x8009F5F4; +free_hud = 0x800A05FC; +race_starting = 0x800A0750; +render_hud = 0x800A0760; +hud_audio_init = 0x800A1134; +hud_audio_update = 0x800A1194; +render_hud_race = 0x800A1380; +render_course_indicator_arrows = 0x800A1474; +render_hud_banana_challenge = 0x800A1808; +render_hud_challenge_eggs = 0x800A19E8; +hud_draw_eggs = 0x800A1AB0; +hud_eggs_portrait = 0x800A1F64; +render_hud_battle = 0x800A21C4; +func_800A1E48 = 0x800A2408; +hud_draw_lives = 0x800A28B4; +render_hud_race_boss = 0x800A2B4C; +render_hud_taj_race = 0x800A2BFC; +render_hud_hubworld = 0x800A2C88; +func_800A277C = 0x800A2D3C; +set_stopwatch_face = 0x800A3C94; +hud_speedometre_reset = 0x800A3E38; +render_speedometer = 0x800A3E4C; +render_race_start = 0x800A42AC; +render_racer_bananas = 0x800A471C; +render_treasure_hud = 0x800A4BB8; +render_silver_coin_counter = 0x800A4D68; +render_race_finish_position = 0x800A4F44; +func_800A4C34 = 0x800A51FC; +render_race_position = 0x800A520C; +render_lap_count = 0x800A5518; +render_wrong_way_text = 0x800A602C; +hud_draw_finish_misc = 0x800A64E0; +func_800A6254 = 0x800A6844; +play_time_trial_end_message = 0x800A73A4; +render_time_trial_finish = 0x800A7434; +render_balloon_count = 0x800A7790; +hud_sound_play = 0x800A7A44; +hud_sound_play_delayed = 0x800A7A88; +hud_sound_stop = 0x800A7AF0; +render_weapon_hud = 0x800A7B24; +render_magnet_reticle = 0x800A8064; +render_race_time = 0x800A816C; +render_timer = 0x800A85C0; +minimap_init = 0x800A89B8; +get_hud_setting = 0x800A8A5C; +render_minimap_and_misc_hud = 0x800A8A78; +minimap_marker_pos = 0x800AA9F0; +func_800AA600 = 0x800AAC04; +hud_draw_model = 0x800AB5D4; +minimap_fade = 0x800AB798; +minimap_opacity_set = 0x800AB7B0; +hud_reset_race_start = 0x800AB7CC; +hud_visibility = 0x800AB7D8; + +// weather.c .text +weather_init = 0x800AB7F0; +weather_clip_planes = 0x800AB908; +weather_free = 0x800AB95C; +weather_reset = 0x800ABAA8; +snow_init = 0x800AC134; +weather_set = 0x800AC25C; +weather_update = 0x800AC468; +snow_update = 0x800AC6C8; +snow_vertices = 0x800AC81C; +snow_render = 0x800ACBA4; +lensflare_off = 0x800ACE50; +lensflare_on = 0x800ACE60; +lensflare_remove = 0x800ACE80; +lensflare_init = 0x800ACEA8; +lensflare_render = 0x800AD020; +lensflare_override_add = 0x800AD560; +lensflare_override_remove = 0x800AD598; +lensflare_override = 0x800AD630; +rain_init = 0x800AD744; +free_rain_memory = 0x800AD820; +rain_set = 0x800AD8C4; +rain_fog = 0x800ADA0C; +rain_opacity_set = 0x800ADAAC; +rain_update = 0x800ADAB8; +rain_render_splashes = 0x800ADC58; +rain_lightning = 0x800AE0B8; +rain_sound = 0x800AE1C8; +render_rain_overlay = 0x800AE2BC; + +// particles.c .text +func_800AE270 = 0x800AE870; +func_800AE2A0 = 0x800AE8A0; +func_800AE2D8 = 0x800AE8D8; +func_800AE374 = 0x800AE974; +func_800AE438 = 0x800AEA38; +func_800AE490 = 0x800AEA90; +init_particle_assets = 0x800AEB30; +func_800AE728 = 0x800AED28; +generate_particle_shape_triangle = 0x800AF414; +generate_particle_shape_quad = 0x800AF4B8; +func_800AEF88 = 0x800AF588; +func_800AF024 = 0x800AF624; +func_800AF0A4 = 0x800AF6A4; +func_800AF0F0 = 0x800AF6F0; +func_800AF134 = 0x800AF734; +partInitTrigger = 0x800AF7E0; +func_800AF29C = 0x800AF89C; +func_800AF404 = 0x800AFA04; +func_800AF52C = 0x800AFB2C; +func_800AF6E4 = 0x800AFCE4; +func_800AF714 = 0x800AFD14; +obj_spawn_particle = 0x800B023C; +func_800AFE5C = 0x800B045C; +func_800B0010 = 0x800B0610; +func_800B03C0 = 0x800B09C0; +func_800B0698 = 0x800B0C98; +func_800B0BAC = 0x800B11AC; +func_800B1130 = 0x800B1730; +func_800B1CB8 = 0x800B22B8; +func_800B2040 = 0x800B2640; +func_800B2260 = 0x800B2860; +handle_particle_movement = 0x800B28FC; +func_800B263C = 0x800B2C3C; +func_800B26E0 = 0x800B2CE0; +set_particle_texture_frame = 0x800B35BC; +move_particle_basic_parent = 0x800B3740; +move_particle_velocity_parent = 0x800B3840; +move_particle_with_velocities = 0x800B3958; +move_particle_basic = 0x800B3AB0; +move_particle_with_velocity = 0x800B3B64; +render_active_particles = 0x800B3C78; +render_particle = 0x800B3D40; +func_800B3E64 = 0x800B4464; +get_particle_asset_table = 0x800B4A88; +get_next_particle_table = 0x800B4AD4; +get_previous_particle_table = 0x800B4B2C; +get_particle_behaviour = 0x800B4B78; +func_800B45C4 = 0x800B4BC4; +func_800B461C = 0x800B4C1C; +func_800B4668 = 0x800B4C68; +func_800B46BC = 0x800B4CBC; + +// unused_string.c .text +strcpy = 0x800B4D10; +strcat = 0x800B4D44; +strcasecmp = 0x800B4D94; +strncasecmp = 0x800B4E48; +memset = 0x800B4F0C; + +// printf.c .text +_itoa = 0x800B4F40; +func_800B4A08 = 0x800B5008; +sprintf = 0x800B5014; +vsprintf = 0x800B5040; +debug_text_init = 0x800B6488; +render_printf = 0x800B64DC; +debug_text_print = 0x800B6578; +debug_text_reset = 0x800B67E0; +set_render_printf_colour = 0x800B680C; +set_render_printf_background_colour = 0x800B68B4; +set_render_printf_position = 0x800B695C; +debug_text_width = 0x800B69F4; +func_800B653C = 0x800B6B3C; +debug_text_background = 0x800B6F5C; +debug_text_character = 0x800B6FFC; +debug_text_bounds = 0x800B7450; +debug_text_origin = 0x800B74E0; +debug_text_newline = 0x800B7504; + +// audio_assert.c .text +func_800B6F30 = 0x800B7530; +__assert = 0x800B7540; + +// thread0_epc.c .text +thread0_create = 0x800B7550; +thread0_Main = 0x800B75C4; +enable_interupts_on_main = 0x800B76D0; +stop_all_threads_except_main = 0x800B7744; +write_epc_data_to_cpak = 0x800B77B0; +dump_memory_to_cpak = 0x800B7A60; +update_object_stack_trace = 0x800B7CB8; +get_lockup_status = 0x800B7CDC; +mode_lockup = 0x800B7DD4; +render_epc_lock_up_display = 0x800B7E10; + + +// stack_pointer.c .text +stack_pointer = 0x800B8310; + +// waves.c .text +free_waves = 0x800B8320; +wave_init = 0x800B84B4; +func_800B8134 = 0x800B8734; +func_800B82B4 = 0x800B88B4; +func_800B8B8C = 0x800B918C; +func_800B8C04 = 0x800B9204; +func_800B9228 = 0x800B9828; +func_800B92F4 = 0x800B98F4; +func_800B97A8 = 0x800B9DA8; +func_800B9C18 = 0x800BA218; +func_800BA288 = 0x800BA888; +func_800BA4B8 = 0x800BAAB8; +func_800BA8E4 = 0x800BAEE4; +func_800BB2F4 = 0x800BB8F4; +func_800BBDDC = 0x800BC3DC; +func_800BBE08 = 0x800BC408; +func_800BBF78 = 0x800BC578; +func_800BC6C8 = 0x800BCCC8; +func_800BCC70 = 0x800BD270; +func_800BDC80 = 0x800BE280; +func_800BE654 = 0x800BEC54; +log_wave_height = 0x800BF4B4; +func_800BEFC4 = 0x800BF5C4; +func_800BF3E4 = 0x800BF9E4; +func_800BF524 = 0x800BFB24; +func_800BF634 = 0x800BFC34; +func_800BF9F8 = 0x800BFFF8; +func_800BFC54 = 0x800C0254; +func_800BFE98 = 0x800C0498; +obj_loop_wavepower = 0x800C05DC; + +// fade_transition.c .text +enable_new_screen_transitions = 0x800C0770; +disable_new_screen_transitions = 0x800C0780; +check_fadeout_transition = 0x800C078C; +transition_begin = 0x800C07D8; +handle_transitions = 0x800C0A94; +render_fade_transition = 0x800C0BC8; +transition_end = 0x800C0D24; +transition_fullscreen_start = 0x800C0D80; +process_transition_fullscreen = 0x800C0E34; +render_fade_fullscreen = 0x800C1008; +init_transition_shape = 0x800C1100; +process_transition_shape = 0x800C1730; +render_fade_barndoor_horizontal = 0x800C19E4; +render_fade_barndoor_vertical = 0x800C1ADC; +func_800C15D4 = 0x800C1BD4; +func_800C1EE8 = 0x800C24E8; +render_fade_circle = 0x800C2874; +render_fade_waves = 0x800C29F8; +render_fade_barndoor_diagonal = 0x800C2B48; +init_transition_blank = 0x800C2C40; +process_transition_disabled = 0x800C2DA0; +render_fade_disabled = 0x800C2EE8; + +// game_text.c .text +init_dialogue_text = 0x800C2FF0; +free_message_box = 0x800C30B8; +set_subtitles = 0x800C30F8; +render_subtitles = 0x800C3104; +find_next_subtitle = 0x800C33A0; +process_subtitles = 0x800C3550; +load_game_text_table = 0x800C367C; +free_game_text_table = 0x800C3700; +set_textbox_display_value = 0x800C3774; +reset_delayed_text = 0x800C3780; +set_delayed_text = 0x800C378C; +set_current_text = 0x800C3820; +textbox_visible = 0x800C3A34; +process_onscreen_textbox = 0x800C3A74; +dialogue_challenge_loop = 0x800C3B98; +func_800C38B4 = 0x800C3EE8; + +// font.c .text +load_fonts = 0x800C4230; +set_kerning = 0x800C478C; +//load_font //REMOVED IN JPN //func_800C663C_C723C? +//unload_font //REMOVED IN JPN //func_800C67F4_C73F4? +set_text_font = 0x800C4798; +get_loaded_font = 0x800C47B4; +set_text_colour = 0x800C47C4; +set_text_background_colour = 0x800C480C; +draw_text_plain_unused = 0x800C4844; +draw_text = 0x800C4880; +draw_dialogue_text_unused = 0x800C4900; +draw_dialogue_text_pos_unused = 0x800C4950; +render_text_string = 0x800C49E4; +get_text_width = 0x800C5260; +set_current_dialogue_box_coords = 0x800C52F8; +set_dialogue_font = 0x800C5398; +set_current_dialogue_background_colour = 0x800C53B8; +set_current_text_colour = 0x800C53FC; +set_current_text_background_colour = 0x800C544C; +set_current_text_offset = 0x800C5490; +reset_current_text_offset = 0x800C54D4; +func_800C510C = 0x800C5508; +render_dialogue_text = 0x800C5564; +move_dialogue_box_to_front = 0x800C5824; +dialogue_clear = 0x800C5890; +align_text_in_box = 0x800C58E4; +open_dialogue_box = 0x800C59F0; +dialogue_close = 0x800C5A1C; +set_dialogue_box_unused_flag = 0x800C5A48; +dialogue_box_clear_unused_flag = 0x800C5A74; +enable_dialogue_box_vertices = 0x800C5AA0; +clear_dialogue_box_open_flag = 0x800C5ACC; +render_dialogue_boxes = 0x800C5AF8; +s32_to_string = 0x800C5C08; +render_fill_rectangle = 0x800C5E9C; +render_dialogue_box = 0x800C5F54; +parse_string_with_number = 0x800C635C; + +// osCreatePiManager.c .text +osCreatePiManager = 0x800C7990; + +// gzip.c .text +gzip_init = 0x800C7B00; +byteswap32 = 0x800C7B3C; +get_asset_uncompressed_size = 0x800C7B6C; +gzip_inflate = 0x800C7BA8; +gzip_huft_build = 0x800C7C04; + +// asm/gzip.s .text +gzip_inflate_block = 0x800C8250; +gzip_inflate_dynamic = 0x800C8354; +gzip_inflate_fixed = 0x800C876C; +gzip_inflate_stored = 0x800C88C4; +gzip_inflate_codes = 0x800C89D0; + +// __osLeoInterrupt.c .text +__osLeoInterrupt = 0x800C8CD0; + + +// thread30_track_loading.c .text +create_and_start_thread30 = 0x800C8CE0; +stop_thread30 = 0x800C8D4C; +get_thread30_need_to_load_level = 0x800C8D70; +tick_thread30 = 0x800C8D80; +get_thread30_load_delay = 0x800C8DD8; +set_level_to_load_in_background = 0x800C8DE8; +thread30_track_loading = 0x800C8E30; // type:func + +// alHeapInit.c .text +alHeapInit = 0x800C8EF0; + +// alBnkfNew.c .text +alBnkfNew = 0x800C9034; +alSeqFileNew = 0x800C9138; + +// alHeapDBAlloc.c .text +alHeapDBAlloc = 0x800C9180; + +// +alCSPSetVol = 0x800C91E0; +alCSPGetTempo = 0x800C9220; +osGetCount = 0x800C9260; +alCSPSetChlPan = 0x800C9270; +alCSPSetChlVol = 0x800C92D0; +alCSPGetChlVol = 0x800C9330; +alSeqpGetChlFXMix = 0x800C9350; +alCSPSetTempo = 0x800C9370; +alCSPGetState = 0x800C93E0; +alCSPSetBank = 0x800C93F0; +alCSeqGetLoc = 0x800C9430; +alCSeqSetLoc = 0x800C94D0; +alCSeqNextEvent = 0x800C9694; +alCSeqNew = 0x800C998C; +alCSeqNewMarker = 0x800C9AA0; +alCSeqGetTicks = 0x800C9C0C; +alCSeqSecToTicks = 0x800C9C14; +alCSeqTicksToSec = 0x800C9D10; +__alCSeqNextDelta = 0x800C9D7C; + +alCSPSetSeq = 0x800C9EF0; +alCSPPlay = 0x800C9F30; +alCSPStop = 0x800C9F60; +osAiSetFrequency = 0x800C9F90; +alUnlink = 0x800CA0F0; +alLink = 0x800CA120; +alClose = 0x800CA144; +alInit = 0x800CA17C; + +osCreateMesgQueue = 0x800CA1B0; +osCreateThread = 0x800CA1E0; +osStartThread = 0x800CA330; +osStopThread = 0x800CA480; +osRecvMesg = 0x800CA540; +osVirtualToPhysical = 0x800CA680; +osAiSetNextBuffer = 0x800CA700; +osAiGetLength = 0x800CA7B0; +osSendMesg = 0x800CA7C0; +osPiStartDma = 0x800CA910; +alEvtqFlushType = 0x800CAA20; +alEvtqFlush = 0x800CAACC; +alEvtqPostEvent = 0x800CAB3C; +alEvtqNextEvent = 0x800CAC60; +alEvtqNew = 0x800CACEC; +alSynAddPlayer = 0x800CAD60; +_allocatePVoice = 0x800CADB0; +alSynAllocVoice = 0x800CAE98; +alSynSetVol = 0x800CAFE0; +alSynStartVoice = 0x800CB080; +alSynSetPitch = 0x800CB110; +alSynSetFXMix = 0x800CB1A0; +alSynStopVoice = 0x800CB240; +alSynFreeVoice = 0x800CB2C0; +alCents2Ratio = 0x800CB370; +osSetIntMask = 0x800CB3C0; +sqrtf = 0x800CB460; +alSynSetPriority = 0x800CB470; + +// __NOPS_NEEDED +__NOPS_NEEDED = 0x800CB480; + +// llcvt.c .text +__d_to_ll = 0x800CB4C0; +__f_to_ll = 0x800CB4DC; +__d_to_ull = 0x800CB4F8; +__f_to_ull = 0x800CB598; +__ll_to_d = 0x800CB634; +__ll_to_f = 0x800CB64C; +__ull_to_d = 0x800CB664; +__ull_to_f = 0x800CB698; + +// rmonPrintf.c .text +rmonPrintf = 0x800CB6E4; + +// bcopy +bcopy = 0x800CB730; +alFilterNew = 0x800CBA40; +alEnvmixerPull = 0x800CBA60; +alEnvmixerParam = 0x800CC40C; +_frexpf = 0x800CCA94; +_ldexpf = 0x800CCC18; +alLoadParam = 0x800CCED0; +alRaw16Pull = 0x800CD0A4; +alAdpcmPull = 0x800CD57C; +alResampleParam = 0x800CDA20; +alResamplePull = 0x800CDB0C; +alMainBusParam = 0x800CDD20; +alMainBusPull = 0x800CDD50; +alSaveParam = 0x800CDE70; +alSavePull = 0x800CDEA4; +osInitialize = 0x800CDF30; +osSetThreadPri = 0x800CE1D0; +guPerspectiveF = 0x800CE2B0; +guPerspective = 0x800CE4E0; +osSetEventMesg = 0x800CE540; +osContInit = 0x800CE5B0; +__osContGetInitData = 0x800CE7A8; +__osPackRequestData = 0x800CE878; +osContStartReadData = 0x800CE970; +osContGetReadData = 0x800CEA34; +__osSpSetStatus = 0x800CEBD0; +osDpSetStatus = 0x800CEBE0; +osSetTime = 0x800CEBF0; +osPfsIsPlug = 0x800CEC20; +__osPfsRequestData = 0x800CEDC0; +__osPfsGetInitData = 0x800CEEBC; +__osSiCreateAccessQueue = 0x800CEF90; +__osSiGetAccess = 0x800CEFE0; +__osSiRelAccess = 0x800CF024; +__osSiRawStartDma = 0x800CF050; +__osContAddressCrc = 0x800CF100; +__osContDataCrc = 0x800CF1B0; +__osContRamWrite = 0x800CF280; +__osContRamRead = 0x800CF630; +bcmp = 0x800CF9E0; + +// libc/string.c .text +memcpy = 0x800CFB00; +strlen = 0x800CFB2C; +strchr = 0x800CFB54; + +// +osEepromProbe = 0x800CFBA0; +osEepromRead = 0x800CFC10; +__osPackEepReadData = 0x800CFE00; +osEepromWrite = 0x800CFF10; +__osPackEepWriteData = 0x800D00C0; +__osEepStatus = 0x800D01CC; +__ull_rshift = 0x800D03F0; +__ull_rem = 0x800D041C; +__ull_div = 0x800D0458; +__ll_lshift = 0x800D0494; +__ll_rem = 0x800D04C0; +__ll_div = 0x800D04FC; +__ll_mul = 0x800D0558; +__ull_divremi = 0x800D0588; +__ll_mod = 0x800D05E8; +__ll_rshift = 0x800D0684; + +// +osPfsInit = 0x800D06B0; +__osPfsGetStatus = 0x800D0764; +osPfsReadWriteFile = 0x800D096C; +osPfsFreeBlocks = 0x800D0D70; + +// osPfsChecker.c .text +osPfsChecker = 0x800D0EC0; +corrupted_init = 0x800D1584; +corrupted = 0x800D1738; + +// osPfsReFormat +osPfsReFormat = 0x800D1920; +osPfsNumFiles = 0x800D1D20; +bzero = 0x800D1E70; +osPfsFileState = 0x800D1F10; +osPfsDeleteFile = 0x800D2200; +__osPfsReleasePages = 0x800D24E0; +__osBlockSum = 0x800D2718; +osPfsFindFile = 0x800D2810; +osPfsAllocateFile = 0x800D29D0; +__osPfsDeclearPage = 0x800D2E54; +osInvalDCache = 0x800D3180; +osWritebackDCacheAll = 0x800D3230; +osDpGetStatus = 0x800D3260; +osDpSetNextBuffer = 0x800D3270; +osCreateViManager = 0x800D3320; +viMgrMain = 0x800D3498; + +// osViSetMode +osViSetMode = 0x800D3630; +osViBlack = 0x800D36A0; +osViSetEvent = 0x800D3710; +osSpTaskYielded = 0x800D3780; +osViGetCurrentFramebuffer = 0x800D3800; +osViGetNextFramebuffer = 0x800D3840; +osSpTaskLoad = 0x800D399C; +osSpTaskStartGo = 0x800D3AFC; +osGetTime = 0x800D3B40; +osSpTaskYield = 0x800D3BD0; +osViSetSpecialFeatures = 0x800D3BF0; +osViSwapBuffer = 0x800D3DB0; +__osGetActiveQueue = 0x800D3E00; +__osPiCreateAccessQueue = 0x800D3E10; +__osPiGetAccess = 0x800D3E60; +__osPiRelAccess = 0x800D3EA4; +osGetThreadPri = 0x800D3ED0; +__osDisableInt = 0x800D3EF0; +__osRestoreInt = 0x800D3F10; +osPiRawStartDma = 0x800D3F30; +osEPiRawStartDma = 0x800D4010; +__osDevMgrMain = 0x800D40F0; +__osViInit = 0x800D44A0; +alSynDelete = 0x800D45F0; +__osDequeueThread = 0x800D4600; +__osExceptionPreamble = 0x800D4640; +__osException = 0x800D4650; +send_mesg = 0x800D4B74; +handle_CpU = 0x800D4C28; +__osEnqueueAndYield = 0x800D4C5C; +__osEnqueueThread = 0x800D4D5C; +__osPopThread = 0x800D4DA4; +__osDispatchThread = 0x800D4DB4; +__osCleanupThread = 0x800D4F30; +__osProbeTLB = 0x800D4F40; + +// __osAiDeviceBusy +__osAiDeviceBusy = 0x800D5000; +osJamMesg = 0x800D5030; +osPiGetCmdQueue = 0x800D5180; +alCopy = 0x800D51B0; +_Printf = 0x800D58A0; +__osSetSR = 0x800D5EF0; +__osGetSR = 0x800D5F00; +__osSetFpcCsr = 0x800D5F10; +__osSiRawReadIo = 0x800D5F20; +__osSiRawWriteIo = 0x800D5F70; +osWritebackDCache = 0x800D5FC0; +osInvalICache = 0x800D6040; +osMapTLBRdb = 0x800D60C0; +osPiRawReadIo = 0x800D6120; +__osSetHWIntrRoutine = 0x800D6180; + +// guMtxUtil +guMtxF2L = 0x800D61D0; +guMtxIdentF = 0x800D62D0; +guMtxIdent = 0x800D6358; +guMtxL2F = 0x800D6388; + +// cosf +cosf = 0x800D6440; + +// sinf +sinf = 0x800D65B0; + +// osSetTimer +osSetTimer = 0x800D6770; + +// osTimer +__osTimerServicesInit = 0x800D6850; +__osTimerInterrupt = 0x800D68DC; +__osSetTimerIntr = 0x800D6A54; +__osInsertTimer = 0x800D6AC8; + +// si +__osSiDeviceBusy = 0x800D6C50; +__osSumcalc = 0x800D6C80; +__osIdCheckSum = 0x800D6CDC; +__osRepairPackId = 0x800D6D44; +__osCheckPackId = 0x800D715C; +__osGetId = 0x800D72F4; +__osCheckId = 0x800D7550; +__osPfsRWInode = 0x800D764C; +__osPfsSelectBank = 0x800D796C; + +// dp +__osDpDeviceBusy = 0x800D79E0; +__osViGetCurrentContext = 0x800D7A10; +__osViSwapContext = 0x800D7A20; +__osSpGetStatus = 0x800D7D80; +__osSpSetPc = 0x800D7D90; +__osSpRawStartDma = 0x800D7DD0; +__osSpDeviceBusy = 0x800D7E60; +__osResetGlobalIntMask = 0x800D7E90; +osEPiRawWriteIo = 0x800D7EF0; +osYieldThread = 0x800D7F40; +osDestroyThread = 0x800D7F90; +_Litob = 0x800D8090; +_Genld = 0x800D8330; +_Ldtob = 0x800D88A0; +__osSetCompare = 0x800D8DF0; + +// ldiv +lldiv = 0x800D8E00; +ldiv = 0x800D8F00; + +// ucode_text jpn v79 +aspMainTextStart = 0x800D8F90; // size:0xEC0 +rspF3DDKRBootStart = 0x800D9E50; // size:0xD0 +rspF3DDKRDramStart = 0x800D9F20; // size:0x1200 +rspF3DDKRFifoStart = 0x800DB120; // size:0x11E0 +rspF3DDKRXbusStart = 0x800DC300; // size:0x1200 +rspUnknown2Start = 0x800DD500; // size:0xAC0 + +// audio.c .data +gMusicPlayer = 0x800DDFC0; +gJinglePlayer = 0x800DDFC4; +gMusicBaseVolume = 0x800DDFC8; +sfxRelativeVolume = 0x800DDFCC; +gCanPlayMusic = 0x800DDFD0; +gCanPlayJingle = 0x800DDFD4; +gBlockMusicChange = 0x800DDFD8; +audioPrevCount = 0x800DDFDC; +sMusicFadeVolume = 0x800DDFE0; +gMusicSliderVolume = 0x800DDFE4; +gDelayedSoundsCount = 0x800DDFE8; +gMusicNextSeqID = 0x800DDFEC; +gJingleNextSeqID = 0x800DDFF0; +D_800DC664 = 0x800DDFF4; +D_800DC668 = 0x800DDFF8; +gGlobalMusicVolume = 0x800DDFFC; +gBlockVoiceLimitChange = 0x800DE000; + +// audiomgr.c .data +audFrameCt = 0x800DE010; +nextDMA = 0x800DE014; +curAcmdList = 0x800DE018; +gAntiPiracyAudioFreq = 0x800DE01C; +gFunc80019808Checksum = 0x800DE020; +gFunc80019808Length = 0x800DE024; + +// audiosfx.c .data +D_800DC6B0 = 0x800DE040; // size:0xC +gAlSndPlayerPtr = 0x800DE04C; +sfxVolumeSlider = 0x800DE050; +D_800DC6C4 = 0x800DE054; + +// audio_vehicle.c .data +gVehicleSounds = 0x800DE060; +D_800DC6D4 = 0x800DE064; +D_800DC6D8 = 0x800DE068; + +// audio_spatial.c .data +gUsedMasks = 0x800DE070; + +// objects.c .data +gTajChallengeTransition = 0x800DE080; +gBalloonCutsceneTransition = 0x800DE088; +D_800DC700 = 0x800DE090; +D_800DC704 = 0x800DE094; +D_800DC708 = 0x800DE098; +D_800DC70C = 0x800DE09C; +D_800DC710 = 0x800DE0A0; +D_800DC714 = 0x800DE0A4; +gGhostObjStaff = 0x800DE0A8; +D_800DC71C = 0x800DE0AC; +gObjectTexAnim = 0x800DE0B0; +gTimeTrialTime = 0x800DE0B4; +gTimeTrialVehicle = 0x800DE0B8; +gTimeTrialCharacter = 0x800DE0BC; +gHasGhostToSave = 0x800DE0C0; +gTimeTrialStaffGhost = 0x800DE0C4; +gBeatStaffGhost = 0x800DE0C8; +D_800DC73C = 0x800DE0CC; +D_800DC740 = 0x800DE0D0; +gSwapLeadPlayer = 0x800DE0D4; +D_800DC748 = 0x800DE0D8; +D_800DC74C = 0x800DE0DC; +D_800DC754 = 0x800DE0E4; +gShieldEffectObject = 0x800DE0EC; +D_800DC760 = 0x800DE0F0; +gMagnetEffectObject = 0x800DE0F4; +D_800DC768 = 0x800DE0F8; +D_800DC76C = 0x800DE0FC; +D_800DC7A8 = 0x800DE138; +D_800DC7B8 = 0x800DE148; // type:s16 size:0x66 +gBossVehicles = 0x800DE1B0; // size:0x14 +D_800DC834 = 0x800DE1C4; +D_800DC840 = 0x800DE1D0; +gNoBoundsCheck = 0x800DE1D8; +gMagnetColours = 0x800DE1DC; +gRaceEndFade = 0x800DE1E8; +gRaceEndTransition = 0x800DE1F0; + +// tracks.c .data +D_800DC870 = 0x800DE200; +gFullFadeToBlack = 0x800DE204; +gCircleFadeToBlack = 0x800DE20C; +D_800DC884 = 0x800DE214; +D_800DC8AC = 0x800DE23C; +gCurrentLevelModel = 0x800DE2A8; +gCurrentLevelHeader2 = 0x800DE2AC; +D_800DC920 = 0x800DE2B0; +D_800DC924 = 0x800DE2C4; +D_800DC928 = 0x800DE2C8; +D_800DC92C = 0x800DE2CC; + +// lights.c .data +gActiveLights = 0x800DE2F0; +D_800DC954 = 0x800DE2F4; +gMaxLights = 0x800DE2F8; +gNumActiveLights = 0x800DE2FC; +D_800DC960 = 0x800DE300; +D_800DC964 = 0x800DE304; +D_800DC968 = 0x800DE308; + +// object_functions.c .data +gTajTransformTransitionEnd = 0x800DE310; +gTajTransition = 0x800DE318; +gCharacterFlagVertices = 0x800DE320; +D_800DC9A8 = 0x800DE348; +D_800DC9CC = 0x800DE36C; +D_800DC9D0 = 0x800DE370; +D_800DCA50 = 0x800DE3F0; +D_800DCA58 = 0x800DE3F8; +D_800DCA64 = 0x800DE404; +D_800DCA70 = 0x800DE410; +D_800DCA7C = 0x800DE41C; +D_800DCA88 = 0x800DE428; +D_800DCA94 = 0x800DE434; +D_800DCA9C = 0x800DE43C; +D_800DCAA8 = 0x800DE448; +D_800DCB28 = 0x800DE4C8; + +// racer.c .data +gObjLoopGoldenBalloonLength = 0x800DE4F0; +gAntiPiracyHeadroll = 0x800DE4F4; +D_800DCB58 = 0x800DE4F8; +D_800DCB5C = 0x800DE4FC; +D_800DCB60 = 0x800DE500; +gNumViewports = 0x800DE538; +gSurfaceTractionTable = 0x800DE53C; +D_800DCBE8 = 0x800DE588; +gSurfaceBobbingTable = 0x800DE5D4; +gSurfaceSoundTable = 0x800DE620; +D_800DCCCC = 0x800DE66C; +gSurfaceFlagTable = 0x800DE694; +gSurfaceFlagTable4P = 0x800DE6E0; +gRacerAIBalloonActionTable = 0x800DE730; +D_800DCDA0 = 0x800DE740; +D_800DCDA8 = 0x800DE748; +D_800DCDB0 = 0x800DE750; +gObjLoopGoldenBalloonChecksum = 0x800DE770; +gDoorFadeTransition = 0x800DE774; + +// vehicle_tricky.c .data +gTrickyVoiceTable = 0x800DE780; + +// vehicle_bluey.c .data +gBlueyVoiceTable = 0x800DE7A0; + +// vehicle_smokey.c .data +gSmokeyVoiceTable = 0x800DE7C0; + +// vehicle_bubbler.c .data +gBubblerVoiceTable = 0x800DE7E0; + +// vehicle_wizpig.c .data +gWizpigVoiceTable = 0x800DE800; + +// vehicle_rocket.c .data +gRocketVoiceTable = 0x800DE820; + +// object_models.c .data +gTractionTableChecksum = 0x800DE840; +gTrackRenderFuncLength = 0x800DE844; + +// al/reverb.c .data +alFXEnabled = 0x800DE850; + +// al/alSynStartVoiceParams .data +gStereoPanMode = 0x800DE9F0; + +// camera.c .data +gAntiPiracyViewport = 0x800DEA00; +gScreenViewports = 0x800DEA04; +gViewportWithBG = 0x800DEAD4; +gVehiclePartVertex = 0x800DEAD8; +gViewportStack = 0x800DEAE8; +D_800DD288 = 0x800DEC28; +D_800DD2A0 = 0x800DEC40; +gOrthoMatrixF = 0x800DEC58; +gCameraZoomLevels = 0x800DEC98; + +// controller.c .data +sNoControllerPluggedIn = 0x800DECA0; +gButtonMask = 0x800DECA4; + +// game.c .data +gTempLevelNames = 0x800DECB0; +gCurrentDefaultVehicle = 0x800DECB4; +gTwoPlayerAdvRace = 0x800DECB8; +gIsInRace = 0x800DECBC; +gViewportFuncChecksum = 0x800DECC0; +gViewportFuncLength = 0x800DECC4; +gLevelPropertyStackPos = 0x800DECC8; +D_800DD32C = 0x800DECCC; +D_800DD330 = 0x800DECD0; + +// thread3_main.c .data +sDebugRomBuildInfo = 0x800DECE0; // size:0xC +gBuildString = 0x800DECEC; // type:asciz size:0x28 +sAntiPiracyTriggered = 0x800DED14; // type:s8 +D_800DD378 = 0x800DED18; +gSaveDataFlags = 0x800DED1C; +gScreenStatus = 0x800DED20; +sControllerStatus = 0x800DED24; +D_800DD388 = 0x800DED28; +gSkipGfxTask = 0x800DED2C; +gDrumstickSceneLoadTimer = 0x800DED30; +gLevelLoadTimer = 0x800DED34; +gPauseLockTimer = 0x800DED38; +gFutureFunLandLevelTarget = 0x800DED3C; +gDmemInvalid = 0x800DED40; +D_800DD3A4 = 0x800DED44; +D_800DD3A8 = 0x800DED48; +D_800DD3AC = 0x800DED4C; +gNumF3dCmdsPerPlayer = 0x800DED50; // size:0x10 +gNumHudVertsPerPlayer = 0x800DED60; // size:0x10 +gNumHudMatPerPlayer = 0x800DED70; // size:0x10 +gNumHudTrisPerPlayer = 0x800DED80; // size:0x10 +gDrawFrameTimer = 0x800DED90; +D_800DD3F4 = 0x800DED94; +D_800DD3FC = 0x800DED9C; +sLogicUpdateRate = 0x800DEDA4; +gDrumstickSceneTransition = 0x800DEDA8; +D_800DD410 = 0x800DEDB0; +gLevelFadeOutTransition = 0x800DEDBC; +D_800DD424 = 0x800DEDC4; + +// math_util_data .data +gIntDisFlag = 0x800DEDD0; +gCurrentRNGSeed = 0x800DEDD4; +gPrevRNGSeed = 0x800DEDD8; +gSineTable = 0x800DEDDC; +gArcTanTable = 0x800DF5DE; + +// save_data.c .data +gPakFileList = 0x800DFDE0; +gN64FontCodes = 0x800DFDE4; +sControllerPaksPresent = 0x800DFE28; +gRumbleKillTimer = 0x800DFE2C; +gRumbleEnable = 0x800DFE30; + +// rcp.c .data +gGfxTaskMesgNums = 0x800DFE40; +sBGPrimColourrR = 0x800DFE60; +sBGPrimColourrG = 0x800DFE64; +sBGPrimColourrB = 0x800DFE68; +sBackgroundFillColour = 0x800DFE6C; +gTexBGShiftX = 0x800DFE70; +gTexBGTex1 = 0x800DFE74; +gTexBGTex2 = 0x800DFE78; +gChequerBGEnabled = 0x800DFE7C; +gBGDrawFunc = 0x800DFE80; +gGfxBufCounter = 0x800DFE84; +ggGfxBufCounter2 = 0x800DFE88; +gGfxTaskIsRunning = 0x800DFE8C; +dRspInit = 0x800DFE90; +dRdpInit = 0x800DFED0; +dRaceFinishBackgroundSettings = 0x800DFF48; +dChequerBGSettings = 0x800DFF90; +dTextureRectangleModes = 0x800DFFD8; +dScaledRectangleBaseModes = 0x800E0020; +dTextureRectangleScaledOpa = 0x800E0058; +dTextureRectangleScaledXlu = 0x800E0098; + +//sched.c .data +D_800DE730 = 0x800E00E0; +gBootBlackoutMesg = 0x800E00E8; +gAudTaskTimer0 = 0x800E00F0; +gAudTaskTimer1 = 0x800E00F4; +gAudTaskTimer2 = 0x800E00F8; +gAudTaskTimer3 = 0x800E00FC; +gRetraceCounter32 = 0x800E0100; +gCurRSPTaskCounter = 0x800E0104; +gCurRDPTaskCounter = 0x800E0108; +D_800DE75C = 0x800E010C; +gRetraceCounter64 = 0x800E0110; + +// video.c .data +gVideoDepthBuffer = 0x800E0120; +D_800DE774 = 0x800E0124; +D_800DE778 = 0x800E0128; +gVideoModeResolutions = 0x800E012C; + +// textures_sprites.c .data +gTexColourTag = 0x800E0170; +gSpriteOpaque = 0x800E0174; +dRenderSettingsVtxAlpha = 0x800E0178; +dRenderSettingsSpriteCld = 0x800E01F8; +dRenderSettingsSpriteXlu = 0x800E0218; +dRenderSettingsCommon = 0x800E0298; +dRenderSettingsCutout = 0x800E0698; +dRenderSettingsDecal = 0x800E0798; +dRenderSettingsSolidColourVtxAlpha = 0x800E0898; +dRenderSettingsSolidColour = 0x800E08D8; +dRenderSettingsPrimOverlay = 0x800E09D8; +dRenderSettingsPrimCol = 0x800E0A58; +dRenderSettingsBlinkingLights = 0x800E0B58; +D_800DF3A8 = 0x800E0D58; +D_800DF3D8 = 0x800E0D88; +D_800DF410 = 0x800E0DC0; + +// screen_asset.c .data +gRdpSetModeScreenAsset = 0x800E0DF0; + +// menu.c .data +gInAdvModeTrophyRace = 0x800E0E00; +gTrackSelectWoodFrameHeightScale = 0x800E0E04; +gResetTitleScale = 0x800E0E08; +gTitleScreenCurrentOption = 0x800E0E0C; +gMenuCurIndex = 0x800E0E10; +unused_800DF464 = 0x800E0E14; +gMenuDisableObjAnim = 0x800E0E18; +gMissingControllerDelay = 0x800E0E1C; +gCurrentMenuId = 0x800E0E20; +unused_800DF474 = 0x800E0E24; +gTrackSpecifiedWithTrackIdToLoad = 0x800E0E28; +gMenuDelay = 0x800E0E2C; +gNumberOfReadyPlayers = 0x800E0E30; +D_800DF484 = 0x800E0E34; +gTitleScreenLoaded = 0x800E0E38; +unused_800DF48C = 0x800E0E3C; +unused_800DF490 = 0x800E0E40; +gIsInAdventureTwo = 0x800E0E44; +gPlayerHasSeenCautionMenu = 0x800E0E48; +gMenuTextLangTable = 0x800E0E4C; +gMenuText = 0x800E0E50; +sMenuGuiColourR = 0x800E0E54; +sMenuGuiColourG = 0x800E0E58; +sMenuGuiColourB = 0x800E0E5C; +sMenuGuiColourBlendFactor = 0x800E0E60; +gMenuSpriteFlags = 0x800E0E64; +gIsInTracksMode = 0x800E0E68; +gNumberOfActivePlayers = 0x800E0E6C; +gIsInTwoPlayerAdventure = 0x800E0E70; +gTrackIdForPreview = 0x800E0E74; +gTrackSelectRow = 0x800E0E78; +gSaveFileIndex = 0x800E0E7C; +unused_800DF4D0 = 0x800E0E80; +gTrackIdToLoad = 0x800E0E84; +unused_800DF4D8 = 0x800E0E88; +gNextTajChallengeMenu = 0x800E0E8C; +gNeedToCloseDialogueBox = 0x800E0E90; +gDoneTalkingToNPC = 0x800E0E94; // size:0x5 +gDialogueOptionTangible = 0x800E0E9C; +unused_800DF4F0 = 0x800E0EA0; +sMenuImageProperties = 0x800E0EC0; // size:0x240 +gAssetsMenuElementIds = 0x800E1100; +gMenuElementIdCount = 0x800E1104; +gMenuObjectsCount = 0x800E1108; +gMenuImages = 0x800E110C; +sMenuMusicVolume = 0x800E1110; // type:s32 size:0x4 +sMenuGuiOpacity = 0x800E1114; +unused_800DF768 = 0x800E1118; +sMenuTransitionFadeInFast = 0x800E111C; +sMenuTransitionFadeIn = 0x800E1124; +sMenuTransitionFadeOut = 0x800E112C; +sMenuTransitionFadeInWhite = 0x800E1134; +sMenuTransitionFadeOutWhite = 0x800E113C; +gPostraceState = 0x800E1144; +gTrophyRankingsMenuElements = 0x800E1148; +gPostraceTextOffset = 0x800E114C; +gPostraceTimestampOffset = 0x800E1150; +gTitleMenuStrings = 0x800E1154; +gVersionDisplayText = 0x800E1160; +sGameTitleTileTextures = 0x800E1174; // size:0x18 +sGameTitleTileOffsets = 0x800E118C; // size:0x60 +gTitleCinematicText = 0x800E11EC; + +D_800E142C_E202C = 0x800E142C; // new? +gTitleCinematicTextColourCount = 0x800E1454; +gTitleCinematicTextColours = 0x800E1458; +unused_800DFA0C = 0x800E146C; +gOptionMenuStrings = 0x800E1470; // size:0x1C +gOptionMenuTextures = 0x800E148C; // size:0x10 +gAudioMenuStrings = 0x800E149C; // size:0x80 +gMusicTestSongIndex = 0x800E151C; +gSfxVolumeSliderValue = 0x800E1520; +gMusicVolumeSliderValue = 0x800E1524; +gAudioOutputType = 0x800E1528; +gContPakSaveBgColours = 0x800E152C; +gDeviceStatus = 0x800E153C; +gControllerIndex = 0x800E1540; +gContPakNotPresentStrings = 0x800E1544; +gContPakCorruptDataRepairStrings = 0x800E155C; +gContPakDamagedStrings = 0x800E1574; +gContPakFullStrings = 0x800E158C; +gContPakDiffContStrings = 0x800E15A0; +gContPakNoRoomForGhostsStrings = 0x800E15BC; +gContPakCorruptDataStrings = 0x800E15D4; +gContPakRumbleDetectedStrings = 0x800E15EC; +gContPakSwitchToRumbleStrings = 0x800E1604; +gContPakNeed2ndAdvStrings = 0x800E161C; +gContPakStrings = 0x800E163C; +unused_800DFC08 = 0x800E1668; +unused_800DFC0C = 0x800E166C; +gDrawTexN64Icon = 0x800E1670; +gDrawTexTTIcon = 0x800E1680; +gDrawTexGhostIcon = 0x800E1690; +gDrawTexFileIcon = 0x800E16A0; +gDrawTexContPakIcon = 0x800E16B0; +gDrawTexTrashIcon = 0x800E16C0; +unused_800DFC70 = 0x800E16D0; +gSaveMenuObjectIndices = 0x800E16D8; +gSaveMenuImageIndices = 0x800E170C; +gControllerPakMenuElement = 0x800E1714; +gShowControllerPakMenu = 0x800E17F4; +gActiveMagicCodes = 0x800E17F8; +gUnlockedMagicCodes = 0x800E17FC; +gMagicCodeMenuStrings = 0x800E1800; +gCharacterVolumes = 0x800E1814; // size:0x14 +gCharSelectObjectIndices = 0x800E1828; +gCharSelectImageIndices = 0x800E182C; +gCharacterSelectBytesDefault = 0x800E1830; +gCharacterSelectBytesDrumStick = 0x800E18A0; +gCharacterSelectBytesTT = 0x800E1920; +gCharacterSelectBytesComplete = 0x800E19A0; +unused_800DFFCC = 0x800E1A2C; +gEnteredCharSelectFrom = 0x800E1A30; +unused_800DFFD4 = 0x800E1A34; +gCautionMenuTextElements = 0x800E1A38; // size:0x1C0 +gGameSelectTextElemsNoAdv2 = 0x800E1BF8; +gGameSelectTextElemsWithAdv2 = 0x800E1CD8; +gFileSelectObjectIndices = 0x800E1DF8; +gFileSelectImageIndices = 0x800E1E04; +gFilenames = 0x800E1E10; +unused_800E03BC = 0x800E1E1C; +gFileSelectButtons = 0x800E1E2C; +gFileSelectElementPos = 0x800E1E5C; +gMultiplayerSelectedNumberOfRacers = 0x800E1E70; +gTracksMenuTimeTrialHighlightIndex = 0x800E1E74; +gTracksMenuAdventureHighlightIndex = 0x800E1E78; +gMenuSelectionArrowUp = 0x800E1E7C; +gMenuSelectionArrowLeft = 0x800E1E8C; +gMenuSelectionArrowDown = 0x800E1E9C; +gMenuSelectionArrowRight = 0x800E1EAC; +gRaceSelectionCarTex = 0x800E1EBC; +gRaceSelectionHoverTex = 0x800E1ED4; +gRaceSelectionPlaneTex = 0x800E1EEC; +gRaceSelectionTTOn = 0x800E1F04; +gRaceSelectionTTOff = 0x800E1F1C; +gRaceSelectionCarOptHighlight = 0x800E1F34; +gRaceSelectionCarOpt = 0x800E1F44; +gRaceSelectionHoverOptHighlight = 0x800E1F54; +gRaceSelectionHoverOpt = 0x800E1F64; +gRaceSelectionPlaneOptHighlight = 0x800E1F74; +gRaceSelectionPlaneOpt = 0x800E1F84; +gRaceSelectionTTOnOptHighlight = 0x800E1F94; +gRaceSelectionTTOffOptHighlight = 0x800E1FA4; +gRaceSelectionTTOnOpt = 0x800E1FB4; +gRaceSelectionTTOffOpt = 0x800E1FC4; +gRaceSelectionPlayer1Texture = 0x800E1FD4; +gRaceSelectionPlayer2Texture = 0x800E1FE4; +gRaceSelectionPlayer3Texture = 0x800E1FF4; +gRaceSelectionPlayer4Texture = 0x800E2004; +gRaceSelectionVehicleTitleTexture = 0x800E2014; +gRaceSelectionTTTitleTexture = 0x800E2024; +D_800E05D4 = 0x800E2034; +D_800E05F4 = 0x800E2054; +gRaceSelectionTTTexture = 0x800E2074; +gRaceSelectionImages = 0x800E2084; +gTrackSelectTTImage = 0x800E20A8; +gTrackSelectPlayerImage = 0x800E20C0; +gMenuSelectionArrows = 0x800E20D8; +gTracksMenuPlayerNamePositions = 0x800E20E8; +gTracksMenuVehicleNamePositions = 0x800E2110; +gTracksMenuArrowPositionsNTSC = 0x800E2124; +gTracksMenuArrowPositionsPAL = 0x800E2134; +gTwoPlayerRacerCountMenu = 0x800E2144; +gTracksMenuAdventureButton = 0x800E2160; +gTracksMenuBgTextureIndices = 0x800E2170; // type:s16 size:0x20 +gTracksMenuBgTextures = 0x800E2190; +gTTVoiceLines = 0x800E21B8; +gTrackSelectObjectIndices = 0x800E2224; +gTrackSelectImageIndices = 0x800E2240; +gTrackSelectPreviewObjectIndices = 0x800E2248; +gTrackSelectPreviewImageIndices = 0x800E2290; +gTrackSelectBgData = 0x800E22A0; +gTrackSelectBgVertices = 0x800E23C8; // size:0x8 +gTrackSelectBgTriangles = 0x800E23D0; // size:0x8 +gQMarkPtr = 0x800E23D8; +gIsInTracksMenu = 0x800E23DC; +gTrackNameVoiceDelay = 0x800E23E0; +gMenuOptionCap = 0x800E23E4; +gMenuSubOption = 0x800E23E8; +gLastPlayerWhoPaused = 0x800E23EC; +gPlayerPauseBgColour = 0x800E23F0; +gPlayerPauseOptionsTextColour = 0x800E2400; +sBadControllerPakMenuText = 0x800E2410; +sControllerPakFullMenuText = 0x800E2424; +sNoControllerPakMenuText = 0x800E2438; +sCorruptDataMenuText = 0x800E244C; +D_800E09F8 = 0x800E2458; +sInsertControllerPakMenuText = 0x800E2464; +D_800E0A10 = 0x800E2470; +sInsertRumblePakMenuText = 0x800E2474; +gRaceResultsObjectIndices = 0x800E2484; +gRaceResultsImageIndices = 0x800E24A0; +gMenuPortraitKrunch = 0x800E24B0; +gMenuPortraitDiddy = 0x800E24C0; +gMenuPortraitDrumstick = 0x800E24D0; +gMenuPortraitBumper = 0x800E24E0; +gMenuPortraitBanjo = 0x800E24F0; +gMenuPortraitConker = 0x800E2500; +gMenuPortraitTiptup = 0x800E2510; +gMenuPortraitTT = 0x800E2520; +gMenuPortraitPipsy = 0x800E2530; +gMenuPortraitTimber = 0x800E2540; +gRacerPortraits = 0x800E2550; +unused_800E0B18 = 0x800E2578; +gFirstPlace = 0x800E260C; +gSecondPlace = 0x800E2610; +gThirdPlace = 0x800E2614; +gFourthPlace = 0x800E2618; +gFifthPlace = 0x800E261C; +gSixthPlace = 0x800E2620; +gSeventhPlace = 0x800E2624; +gEighthPlace = 0x800E2628; +gRacePlacementsArray = 0x800E262C; +gRaceResultsMenuElements = 0x800E264C; // size:0x100 +gRaceOrderMenuElements = 0x800E274C; // size:0x160 +gRecordTimesMenuElements = 0x800E28AC; // size:0x120 +gFileNameValidChars = 0x800E29CC; // size:0x20 +gCurFilenameCharBeingDrawn = 0x800E29EC; // size:0x4 +gEnterInitalsY = 0x800E29F0; +gFilenameX = 0x800E29F4; +gFilenameY = 0x800E29F8; +gFilenameFont = 0x800E29FC; +gNameEntryLength = 0x800E2A00; +D_800E0FA4 = 0x800E2A04; +gCheckAdvEnterInitials = 0x800E2A08; +D_800E0FAC = 0x800E2A0C; +gIndexOfCurInputCharacter = 0x800E2A10; +gAdvTrackInitObjectIndices = 0x800E2A14; +gAdvTrackInitImageIndices = 0x800E2A38; +gRankingPlayerCount = 0x800E2A44; +gTrophyRaceWorldId = 0x800E2A48; +gTrophyRaceRound = 0x800E2A4C; +gPrevTrophyRaceRound = 0x800E2A50; +unused_800E0FF4 = 0x800E2A54; +gTrophyRacePointsArray = 0x800E2A64; // type:s32 size:0x20 +gTrophyRankingsObjectIndices = 0x800E2A84; +gTrophyRaceImageIndices = 0x800E2AA0; +gTrophyRankingsTitle = 0x800E2AA8; +gTrophyRankingsRacers = 0x800E2AE8; +gTrophyRankingsRawIconPositions = 0x800E2E08; // type:s16 size:0x114 +gTrophyRankingsIconPositions = 0x800E2F1C; +gDrawTexDinoDomainGhostBg = 0x800E2F9C; // size:0x58 +gDrawTexSherbetIslandGhostBg = 0x800E2FF4; // size:0x58 +gDrawTexSnowflakeMountainGhostBg = 0x800E304C; // size:0x58 +gDrawTexDragonForestGhostBg = 0x800E30A4; // size:0x58 +gDrawTexFutureFunLandGhostBg = 0x800E30FC; // size:0x58 +gDrawTexWorldBgs = 0x800E3154; // size:0x14 +gGhostDataObjectIndices = 0x800E3168; // size:0x44 +gGhostDataImageIndices = 0x800E31AC; // size:0x8 +gGhostDataElementPositions = 0x800E31B4; // size:0x14 +gCinematicObjectIndices = 0x800E31C8; // size:0x18 +dCreditsFade = 0x800E31E0; +gCreditsObjectIndices = 0x800E3238; +gCreditsImageIndices = 0x800E3250; +gCreditsControlData = 0x800E3254; // size:0x144 +gCreditsArray = 0x800E3398; // defined:true +gCreditsBestTimesArray = 0x800E34F4; // defined:true +D_800E3550_E4150 = 0x800E3550; +gCreditsLastMessageArray = 0x800E3570; // defined:true +gCheatsInCreditsArray = 0x800E3584; +gViewingCreditsFromCheat = 0x800E35D8; +gCreditsMenuElements = 0x800E35DC; // size:0x120 +dMenuHudSettings = 0x800E3700; +dMenuHudDrawModes = 0x800E3730; +gWoodPanelsIndices = 0x800E3760; +gWoodPanelTexCoords = 0x800E3780; +gWoodPanelVertCoords = 0x800E37BC; +gWoodPanelVertColours = 0x800E380C; +gWoodPanelVertices = 0x800E3834; // size:0x8 +gWoodPanelTriangles = 0x800E383C; // size:0x8 +gMenuTrisFlip = 0x800E3844; +gWoodPanelCount = 0x800E3848; +gWoodPanelAllocCount = 0x800E384C; +gWoodPanelTexScaleU = 0x800E3850; +gWoodPanelTexScaleV = 0x800E3854; +D_800E1DC8 = 0x800E3858; // size:0x20 +gFadeLogoToTitleScreen = 0x800E3878; +gRareCopyrightString = 0x800E3880; +gFadeTitleScreenDemo = 0x800E3898; +gConPakAdvSavePrefix = 0x800E38A0; // size:0xC +gTrackSelectSound = 0x800E38AC; +D_800E1E20 = 0x800E38B0; +gGameStatusVisible = 0x800E38B8; +D_800E1E2C = 0x800E38BC; +D_800E1E40 = 0x800E38D0; + +// game_ui.c .data +D_800E1E60 = 0x800E38F0; +gHudElementBase = 0x800E38F4; +D_800E25C4 = 0x800E4054; +D_800E2684 = 0x800E4114; +gHudAudioData = 0x800E4200; +gShowCourseDirections = 0x800E4220; +D_800E2794 = 0x800E4224; +gHudToggleSettings = 0x800E4234; +gPrevToggleSetting = 0x800E4238; +gHudLapColours = 0x800E423C; +gHudIndicatorTimer = 0x800E4248; +gHudMinimapColours = 0x800E424C; +gHudColour = 0x800E42C4; +sRecordVel = 0x800E4314; +D_800E283C = 0x800E4318; + +// weather.c .data +gWeatherPresets = 0x800E4340; +gSnowPhysics = 0x800E43C4; +gSnowGfx = 0x800E43C8; +gSnowVerts = 0x800E43F4; +gSnowVertCount = 0x800E43F8; +gSnowTriangles = 0x800E43FC; +gSnowTriIndices = 0x800E4400; +gSnowVertexData = 0x800E4404; +gWeatherAssetTable = 0x800E440C; +gWeatherAssetTableLength = 0x800E4410; +dLensFlare = 0x800E4418; +gLensPresetLarge = 0x800E4470; +gLensPreset1 = 0x800E4490; +gLensPreset2 = 0x800E44D0; +gLensPreset3 = 0x800E4520; +gLensFlare = 0x800E4570; +gLensFlareOff = 0x800E4574; +gLensFlareOverrideObjs = 0x800E4578; +D_800E2A8C = 0x800E457C; +D_800E2A90 = 0x800E4580; +D_800E2A94 = 0x800E4584; +D_800E2A98 = 0x800E4588; +D_800E2A9C = 0x800E458C; +D_800E2AA0 = 0x800E4590; +D_800E2AA4 = 0x800E4594; +D_800E2AA8 = 0x800E4598; +gRainVertices = 0x800E459C; +gRainSplashSegments = 0x800E463C; +gRainGfx = 0x800E471C; +gWeatherType = 0x800E474C; +gLightningFrequency = 0x800E4750; +gLightningFrequencyStep = 0x800E4754; +gLightningFrequencyTarget = 0x800E4758; +gRainOpacity = 0x800E475C; +gRainOpacityStep = 0x800E4760; +gRainOpacityTarget = 0x800E4764; +gRainHiddenTimer = 0x800E4768; +gLightningTimer = 0x800E476C; +gThunderTimer = 0x800E4770; +gRainSplashDelay = 0x800E4774; +gRainOverlayUnusedValue = 0x800E4778; +gRainSplashGfx = 0x800E477C; +gRainVertexFlip = 0x800E4780; +gWeatherSoundMask = 0x800E4784; +gThunderTransition = 0x800E4788; + +// particles.c .data +D_800E2CA0 = 0x800E4790; +D_800E2CA4 = 0x800E4794; +D_800E2CA8 = 0x800E4798; +D_800E2CAC = 0x800E479C; +D_800E2CB0 = 0x800E47A0; +D_800E2CB4 = 0x800E47A4; +D_800E2CB8 = 0x800E47A8; +D_800E2CBC = 0x800E47AC; +D_800E2CC0 = 0x800E47B0; +D_800E2CC4 = 0x800E47B4; +D_800E2CC8 = 0x800E47B8; +D_800E2CCC = 0x800E47BC; +D_800E2CD0 = 0x800E47C0; +D_800E2CD4 = 0x800E47C4; +D_800E2CD8 = 0x800E47C8; +D_800E2CDC = 0x800E47CC; +D_800E2CE0 = 0x800E47D0; +D_800E2CE4 = 0x800E47D4; +gParticlesAssetTableCount = 0x800E47D8; +gParticlesAssets = 0x800E47DC; +gParticlesAssetTable = 0x800E47E0; +gParticleBehavioursAssetTableCount = 0x800E47E4; +gParticleBehavioursAssets = 0x800E47E8; +gParticleBehavioursAssetTable = 0x800E47EC; +D_800E2D00 = 0x800E47F0; +D_800E2D08 = 0x800E47F8; +D_800E2D58 = 0x800E4848; +D_800E2D78 = 0x800E4868; +D_800E2DF8 = 0x800E48E8; +D_800E2E28 = 0x800E4918; +gParticleGravityTable = 0x800E491C; +D_800E2E4C = 0x800E493C; +D_800E2E50 = 0x800E4940; +D_800E2E54 = 0x800E4944; +D_800E2E58 = 0x800E4948; +D_800E2E5C = 0x800E494C; +D_800E2E60 = 0x800E4950; +D_800E2E64 = 0x800E4954; +gParticleCoordListTri = 0x800E4958; +gParticleCoordListQuad = 0x800E4964; +D_800E2E84 = 0x800E4974; +D_800E2EC4 = 0x800E49B4; +gParticleOpacity = 0x800E49DC; + +// printf.c .data +D_800E2EF0 = 0x800E49E0; +gDebugFontCoords = 0x800E49E4; +dDebugFontSettings = 0x800E4AA8; + +// thread0_epc.c .data +sLockupStatus = 0x800E4B10; +sLockupPage = 0x800E4B14; +sLockupDelay = 0x800E4B18; + +// waves.c .data +D_800E3040 = 0x800E4B30; +D_800E3044 = 0x800E4B34; +D_800E3048 = 0x800E4B38; +D_800E304C = 0x800E4B3C; +D_800E3070 = 0x800E4B60; +D_800E3078 = 0x800E4B68; +D_800E3080 = 0x800E4B70; +D_800E3090 = 0x800E4B80; +D_800E30D0 = 0x800E4BC0; +D_800E30D4 = 0x800E4BC4; +D_800E30D8 = 0x800E4BC8; +D_800E30DC = 0x800E4BCC; +D_800E30E0 = 0x800E4BD0; +D_800E30E4 = 0x800E4BD4; +D_800E30E8 = 0x800E4BD8; +D_800E30FC = 0x800E4BEC; +D_800E3110 = 0x800E4C00; +D_800E3144 = 0x800E4C34; +D_800E3178 = 0x800E4C68; +D_800E317C = 0x800E4C6C; +D_800E3180 = 0x800E4C70; +D_800E3184 = 0x800E4C74; +D_800E3188 = 0x800E4C78; +D_800E318C = 0x800E4C7C; +D_800E3190 = 0x800E4C80; +D_800E3194 = 0x800E4C84; +gWaveGeneratorObj = 0x800E4C88; + +// fade_transition.c .data +gTransitionsDisabled = 0x800E4C90; +sLevelTransitionDelayTimer = 0x800E4C94; +gTransitionInvert = 0x800E4C98; +sTransitionStatus = 0x800E4C9C; +sTransitionFadeTimer = 0x800E4CA0; +gTransitionEndTimer = 0x800E4CA4; +sTransitionFadeDuration = 0x800E4CA8; +gTransitionFadeIn = 0x800E4CAC; +sTransitionVtx = 0x800E4CB0; +sTransitionTris = 0x800E4CB8; +sTransitionTaskNum = 0x800E4CC0; +dTransitionFadeSettings = 0x800E4CC8; +gTransitionBarnHorizontalData = 0x800E4D20; +gTransitionBarnVerticalData = 0x800E4D58; +D_800E32A0 = 0x800E4D90; +D_800E32AC = 0x800E4D9C; +gTransitionBarnDoorTris = 0x800E4DA8; +gTransitionBarnDoorAlpha = 0x800E4DC0; +gTransitionBarnDiagData = 0x800E4DCC; +D_800E330C = 0x800E4DFC; +D_800E3318 = 0x800E4E08; +gTransitionBarnDoorDiagTris = 0x800E4E14; +gTransitionBarnDoorDiagAlpha = 0x800E4E28; +gTransitionWaveData = 0x800E4E34; +D_800E3440 = 0x800E4F30; +D_800E349C = 0x800E4F8C; +gTransitionWaveAlpha = 0x800E4FE8; +gTransitionWaveTris = 0x800E5044; +dTransitionShapeSettings = 0x800E5138; + +// game_text.c .data +gTextTableExists = 0x800E5160; +gTextDisplayNumber = 0x800E5164; +gTextboxDelay = 0x800E5168; +gDelayedTextID = 0x800E516C; +gSubtitleSetting = 0x800E5170; + +// font.c .data +dDialogueBoxBegin = 0x800E5180; +dDialogueBoxDrawModes = 0x800E51B8; // size:0x30 +sDialogueBoxIsOpen = 0x800E51E8; +gDescPowsOf10 = 0x800E51EC; +sDialogueBoxDimensions = 0x800E5210; + +__osPiDevMgr = 0x800E52A0; // size:0x1C + +// gzip.c .data +gHuftTable = 0x800E52C0; +gPackedHeader = 0x800E52C4; +gzip_inflate_input = 0x800E52C8; +gzip_inflate_output = 0x800E52CC; + +// thread30_track_loading.c .data +gThread30NeedToLoadLevel = 0x800E52D0; +gThread30LevelIdToLoad = 0x800E52D4; +gThread30CutsceneIdToLoad = 0x800E52D8; +gThread30LoadDelay = 0x800E52DC; + +// al/sl.c .data +alGlobals = 0x800E52E0; + +// osAiSetNextBuffer.c .data +hdwrBugFlag = 0x800E52F0; + +// al/env .data + +// STATIC VAR +eqpower = 0x800E5300; // size:0x100 + +// osInitialize.c .data +osClockRate = 0x800E5400; +__osShutdown = 0x800E5408; +__OSGlobalIntMask = 0x800E540C; +gLeoFound = 0x800E5410; + +// controller.c .data +__osContinitialized = 0x800E5420; + +// siacs.c .data +__osSiAccessQueueEnabled = 0x800E5430; + +// osViMgr .data +__osViDevMgr = 0x800E5440; + +// vitbl .data +osViModeTable = 0x800E5460; +osViModeNtscLpn1 = 0x800E6180; +osViModePalLpn1 = 0x800E61D0; +osViModeMpalLpn1 = 0x800E6220; +osViModeNtscLan1 = 0x800E6270; +osViModePalLan1 = 0x800E62C0; +osViModeMpalLan1 = 0x800E6310; + +__osPiAccessQueueEnabled = 0x800E6360; + +// osSpTaskYielded .data +vi = 0x800E6370; +__osViCurr = 0x800E63D0; +__osViNext = 0x800E63D4; +osViClock = 0x800E63D8; + +// __osViSwapContext .data +__osThreadTail = 0x800E63E0; +__osRunQueue = 0x800E63E8; +__osActiveQueue = 0x800E63EC; +__osRunningThread = 0x800E63F0; +__osFaultedThread = 0x800E63F4; + +__osHwIntTable = 0x800E6400; + +// xprintf.c +_spaces = 0x800E6420; // type:asciz +_zeroes = 0x800E6444; // type:asciz + +// osTimer.c .data +__osTimerList = 0x800E6470; + +// xlitob .data +ldigs = 0x800E6480; // type:asciz +udigs = 0x800E6494; // type:asciz + +// audio.c .rodata +sAudioErrorString_01 = 0x800E64B0; // defined:true type:asciz +sAudioErrorString_02 = 0x800E64E0; // defined:true type:asciz +sAudioErrorString_03 = 0x800E651C; // defined:true type:asciz + +// audiomgr .rodata +D_800E49F0 = 0x800E6550; +D_800E4A58 = 0x800E65B8; +D_800E4A74 = 0x800E65D4; +D_800E4A9C = 0x800E65FC; +D_800E4AAC = 0x800E660C; +D_800E4AB0 = 0x800E6610; +D_800E4B00 = 0x800E6660; +D_800E4B1C = 0x800E667C; +D_800E4B34 = 0x800E6694; +D_800E4B5C = 0x800E66BC; +D_800E4B80 = 0x800E66E0; + +// audiosfx .rodata +jpt_800E4BB0 = 0x800E6710; + +// audio_vehicle .rodata +D_800E4BF0 = 0x800E6750; // type:f32 + +D_800E4BF8 = 0x800E6758; // type:f64 +D_800E4C00 = 0x800E6760; // type:f32 +D_800E4C08 = 0x800E6768; // type:f64 +D_800E4C10 = 0x800E6770; // type:f64 +D_800E4C18 = 0x800E6778; // type:f64 +D_800E4C20 = 0x800E6780; // type:f64 +D_800E4C28 = 0x800E6788; // type:f64 +D_800E4C30 = 0x800E6790; // type:f64 +D_800E4C38 = 0x800E6798; // type:f32 +D_800E4C40 = 0x800E67A0; // type:f64 +D_800E4C48 = 0x800E67A8; // type:f64 + +D_800E4C78 = 0x800E67D8; // type:f32 +D_800E4C80 = 0x800E67E0; // type:f64 +D_800E4C88 = 0x800E67E8; // type:f64 +D_800E4C90 = 0x800E67F0; // type:f64 +D_800E4C98 = 0x800E67F8; // type:f32 + +D_800E4CC4 = 0x800E6824; // type:f32 +D_800E4CC8 = 0x800E6828; // type:f64 +D_800E4CD0 = 0x800E6830; // type:f32 +D_800E4CD4 = 0x800E6834; // type:f32 +D_800E4CD8 = 0x800E6838; // type:f64 +D_800E4CE0 = 0x800E6840; // type:f32 +D_800E4CE8 = 0x800E6848; // type:f64 +D_800E4CF0 = 0x800E6850; // type:f32 +D_800E4CF4 = 0x800E6854; // type:f32 + +// audio_spatial .rodata +D_800E4D00 = 0x800E6860; +D_800E4D18 = 0x800E6878; +D_800E4D58 = 0x800E68B8; +D_800E4DA0 = 0x800E6900; +D_800E4DE0 = 0x800E6940; +D_800E4E28 = 0x800E6988; +D_800E4E68 = 0x800E69C8; +D_800E4E9C = 0x800E69FC; +D_800E4EDC = 0x800E6A3C; +D_800E4F10 = 0x800E6A70; +D_800E4F14 = 0x800E6A74; + +// al/seqplayer .rodata +D_800E4F30 = 0x800E6A90; // type:asciz size:0x24 + +// objects .rodata +sObjectOutofMemString = 0x800E6AC0; // defined:true +sDoorNumberErrorString = 0x800E6ADC; // defined:true +sObjectScopeErrorString = 0x800E6AF8; // defined:true +sObjectListDataOverflowString = 0x800E6B24; // defined:true +sObjectSetupError1String = 0x800E6B44; // defined:true +sObjectSetupError2String = 0x800E6B68; // defined:true +sObjectSetupError5String = 0x800E6B8C; // defined:true +sObjectSetupError6String = 0x800E6BB0; // defined:true +sObjectSetupError3String = 0x800E6BD4; // defined:true +sObjectListOverflowString = 0x800E6BF8; // defined:true +sObjectSetupError4String = 0x800E6C10; // defined:true +sDuplicateCheckpointString = 0x800E6C34; // force_not_migration:true defined:true +sErrorChannelString = 0x800E6C5C; // force_not_migration:true defined:true +sReadOutErrorString = 0x800E6C70; // force_not_migration:true defined:true +sPureAnguishString = 0x800E6C80; // force_not_migration:true defined:true +D_800E5130 = 0x800E6C90; +D_800E5134 = 0x800E6C94; +jpt_800E5154 = 0x800E6CB4; +D_800E5178 = 0x800E6CD8; +D_800E517C = 0x800E6CDC; +D_800E5180 = 0x800E6CE0; +D_800E5184 = 0x800E6CE4; +jpt_800E51B4 = 0x800E6D14; +jpt_800E5250 = 0x800E6DB0; +jpt_800E5420 = 0x800E6F80; +D_800E5554 = 0x800E70B4; +D_800E5558 = 0x800E70B8; +D_800E555C = 0x800E70BC; +D_800E5560 = 0x800E70C0; +D_800E5564 = 0x800E70C4; +D_800E5568 = 0x800E70C8; +jpt_800E5588 = 0x800E70E8; +D_800E55B8 = 0x800E7118; // type:f64 +D_800E55C0 = 0x800E7120; // type:f64 +D_800E55C8 = 0x800E7128; // type:f64 +D_800E55D0 = 0x800E7130; // type:f64 +D_800E55D8 = 0x800E7138; // type:f64 +D_800E55E0 = 0x800E7140; // type:f64 +D_800E55E8 = 0x800E7148; // type:f64 +D_800E55F0 = 0x800E7150; // type:f64 +D_800E5608 = 0x800E7168; // type:f64 +D_800E5610 = 0x800E7170; // type:f64 +D_800E5618 = 0x800E7178; // type:f64 +D_800E5620 = 0x800E7180; // type:f64 +D_800E5628 = 0x800E7188; // type:f64 +D_800E5648 = 0x800E71A8; // type:f64 +D_800E5650 = 0x800E71B0; // type:f32 +D_800E5658 = 0x800E71B8; // type:f64 +D_800E5670 = 0x800E71D0; // type:f64 +D_800E5678 = 0x800E71D8; // type:f32 +D_800E5680 = 0x800E71E0; // type:f64 + +// tracks .rodata +gTrackClippingErrorString = 0x800E7950; +gTrackHeightOverflowString = 0x800E7970; +D_800E5E38 = 0x800E7990; +D_800E5E60 = 0x800E79B8; // type:f64 +D_800E5E68 = 0x800E79C0; +D_800E5E70 = 0x800E79C8; +D_800E5E78 = 0x800E79D0; // type:f64 +D_800E5E80 = 0x800E79D8; // type:f64 +D_800E5E88 = 0x800E79E0; // type:f64 +D_800E5E90 = 0x800E79E8; // type:f64 +D_800E5E98 = 0x800E79F0; // type:f64 + +D_800E5F48 = 0x800E7AA0; +D_800E5F4C = 0x800E7AA4; +D_800E5F50 = 0x800E7AA8; +D_800E5F54 = 0x800E7AAC; +D_800E5F58 = 0x800E7AB0; + +// collision .rodata +D_800E5F60 = 0x800E7AC0; // type:f32 +D_800E5F64 = 0x800E7AC4; // type:f32 +D_800E5F68 = 0x800E7AC8; // type:f32 +D_800E5F6C = 0x800E7ACC; // type:f32 +D_800E5F70 = 0x800E7AD0; // type:f32 + +//object_functions .rodata +D_800E6020 = 0x800E7B80; // type:f64 +D_800E6048 = 0x800E7BA8; +D_800E6140 = 0x800E7CA0; // type:f64 +D_800E621C = 0x800E7D7C; +D_800E6220 = 0x800E7D80; +D_800E6224 = 0x800E7D84; +jpt_800E6228 = 0x800E7D88; +D_800E623C = 0x800E7D9C; +D_800E6240 = 0x800E7DA0; +D_800E6244 = 0x800E7DA4; +D_800E6248 = 0x800E7DA8; + +// racer.c +gRacerDebugCoords = 0x800E7DE0; +gChecksumOverflowString = 0x800E7DF0; +gRacerBackString = 0x800E7E00; +D_800E62A8 = 0x800E7E08; // type:f64 +D_800E62B0 = 0x800E7E10; // type:f64 +D_800E62B8 = 0x800E7E18; // type:f64 +D_800E62C0 = 0x800E7E20; // type:f64 +D_800E62C8 = 0x800E7E28; // type:f64 +D_800E62D0 = 0x800E7E30; // type:f64 +D_800E62D8 = 0x800E7E38; // type:f64 +D_800E62E0 = 0x800E7E40; // type:f64 +D_800E62E8 = 0x800E7E48; // type:f64 +D_800E62F0 = 0x800E7E50; // type:f64 +D_800E62F8 = 0x800E7E58; // type:f64 +D_800E6300 = 0x800E7E60; // type:f64 +D_800E6308 = 0x800E7E68; // type:f64 +D_800E6310 = 0x800E7E70; // type:f64 +jpt_800E6318 = 0x800E7E78; +jpt_800E6334 = 0x800E7E94; +D_800E6350 = 0x800E7EB0; // type:f64 +jpt_800E6358 = 0x800E7EB8; +D_800E6378 = 0x800E7ED8; +jpt_800E637C = 0x800E7EDC; +D_800E63A0 = 0x800E7F00; // type:f64 +D_800E63A8 = 0x800E7F08; +D_800E63B0 = 0x800E7F10; +D_800E63B8 = 0x800E7F18; +D_800E63C0 = 0x800E7F20; +D_800E63C8 = 0x800E7F28; +D_800E63D0 = 0x800E7F30; +D_800E63D8 = 0x800E7F38; +D_800E63E0 = 0x800E7F40; +D_800E63E8 = 0x800E7F48; +D_800E63F0 = 0x800E7F50; +D_800E63F8 = 0x800E7F58; +D_800E6400 = 0x800E7F60; +D_800E6408 = 0x800E7F68; +D_800E6410 = 0x800E7F70; +D_800E6418 = 0x800E7F78; +D_800E6420 = 0x800E7F80; +D_800E6428 = 0x800E7F88; +D_800E6430 = 0x800E7F90; +D_800E6438 = 0x800E7F98; +D_800E6440 = 0x800E7FA0; +D_800E6448 = 0x800E7FA8; +D_800E6450 = 0x800E7FB0; +D_800E6458 = 0x800E7FB8; +D_800E6460 = 0x800E7FC0; +D_800E6468 = 0x800E7FC8; + +D_800E64A8 = 0x800E8008; // type:f64 +D_800E64B0 = 0x800E8010; // type:f64 +D_800E64B8 = 0x800E8018; // type:f64 +D_800E64C0 = 0x800E8020; // type:f64 +D_800E64C8 = 0x800E8028; // type:f64 +D_800E64D0 = 0x800E8030; // type:f64 +D_800E64D8 = 0x800E8038; // type:f32 +D_800E64E0 = 0x800E8040; // type:f64 +D_800E64E8 = 0x800E8048; // type:f32 +D_800E64EC = 0x800E804C; // type:f32 +D_800E64F0 = 0x800E8050; // type:f32 +D_800E64F4 = 0x800E8054; // type:f32 +D_800E64F8 = 0x800E8058; // type:f64 +D_800E6500 = 0x800E8060; // type:f64 +D_800E6508 = 0x800E8068; // type:f32 +D_800E6510 = 0x800E8070; // type:f64 +D_800E6518 = 0x800E8078; // type:f64 +D_800E6520 = 0x800E8080; // type:f64 +D_800E6528 = 0x800E8088; // type:f32 +D_800E6530 = 0x800E8090; // type:f64 +D_800E6538 = 0x800E8098; // type:f64 +D_800E6540 = 0x800E80A0; // type:f64 +D_800E6548 = 0x800E80A8; // type:f64 + +D_800E6558 = 0x800E80B8; // type:f64 +D_800E6560 = 0x800E80C0; // type:f64 +D_800E6568 = 0x800E80C8; // type:f32 +D_800E6570 = 0x800E80D0; // type:f64 +D_800E6578 = 0x800E80D8; // type:f64 +D_800E6580 = 0x800E80E0; +D_800E6584 = 0x800E80E4; +D_800E6588 = 0x800E80E8; +D_800E658C = 0x800E80EC; +D_800E65F8 = 0x800E8158; // type:f64 +D_800E6600 = 0x800E8160; // type:f64 +D_800E6608 = 0x800E8168; // type:f64 +D_800E6610 = 0x800E8170; // type:f64 +D_800E6618 = 0x800E8178; // type:f64 +D_800E6620 = 0x800E8180; // type:f64 +D_800E6628 = 0x800E8188; // type:f64 +D_800E6630 = 0x800E8190; // type:f64 +D_800E6638 = 0x800E8198; // type:f64 +D_800E6640 = 0x800E81A0; // type:f64 +D_800E6648 = 0x800E81A8; // type:f64 +D_800E6650 = 0x800E81B0; // type:f64 +D_800E6658 = 0x800E81B8; // type:f64 +D_800E6660 = 0x800E81C0; // type:f32 +D_800E6668 = 0x800E81C8; // type:f64 +D_800E6670 = 0x800E81D0; // type:f64 +D_800E6678 = 0x800E81D8; // type:f64 +D_800E6680 = 0x800E81E0; // type:f64 +D_800E6688 = 0x800E81E8; // type:f64 +D_800E6690 = 0x800E81F0; // type:f64 +D_800E6698 = 0x800E81F8; // type:f64 +D_800E66A0 = 0x800E8200; // type:f64 +D_800E66A8 = 0x800E8208; // type:f64 +D_800E66B0 = 0x800E8210; // type:f64 +D_800E66B8 = 0x800E8218; // type:f64 +D_800E66C0 = 0x800E8220; // type:f32 +D_800E66C8 = 0x800E8228; // type:f64 +D_800E66F8 = 0x800E8258; // type:f64 +D_800E6700 = 0x800E8260; // type:f64 +D_800E6788 = 0x800E82E8; +D_800E6790 = 0x800E82F0; +D_800E6798 = 0x800E82F8; +D_800E6808 = 0x800E8368; // type:f64 +D_800E6820 = 0x800E8380; // type:f64 +D_800E6838 = 0x800E8398; // type:f64 +D_800E6840 = 0x800E83A0; // type:f64 +D_800E6848 = 0x800E83A8; // type:f64 +D_800E68C4 = 0x800E8424; +D_800E68C8 = 0x800E8428; +D_800E6910 = 0x800E8470; // type:f64 +D_800E6918 = 0x800E8478; // type:f64 +D_800E6920 = 0x800E8480; // type:f64 +D_800E6930 = 0x800E8490; // type:f64 +D_800E6938 = 0x800E8498; // type:f64 +D_800E69B8 = 0x800E8518; // type:f64 +D_800E69C0 = 0x800E8520; // type:f64 +D_800E69C8 = 0x800E8528; // type:f64 +D_800E69D0 = 0x800E8530; // type:f64 +D_800E69D8 = 0x800E8538; // type:f64 +D_800E69E0 = 0x800E8540; // type:f64 +D_800E69E8 = 0x800E8548; // type:f32 +D_800E69F0 = 0x800E8550; // type:f64 +D_800E69F8 = 0x800E8558; // type:f64 +D_800E6A00 = 0x800E8560; // type:f32 +D_800E6A04 = 0x800E8564; // type:s32 size:0xC padding + +// vehicle_rocket +D_800E6B00 = 0x800E8660; // type:f64 +D_800E6B08 = 0x800E8668; // type:f64 +D_800E6B10 = 0x800E8670; // type:f64 + +// object_models +D_800E6B20 = 0x800E8680; // type:asciz +D_800E6B4C = 0x800E86AC; +D_800E6B64 = 0x800E86C4; +D_800E6B84 = 0x800E86E4; +D_800E6BC0 = 0x800E8720; +D_800E6BE0 = 0x800E8740; + +// al/csplayer +D_800E6C20 = 0x800E8780; + + +// camera .rodata +D_800E6F00 = 0x800E8A60; +D_800E6F44 = 0x800E8AA4; +D_800E709C = 0x800E8BFC; + +// thread3_main .rodata +D_800E7134 = 0x800E8C94; //type:asciz + +// memory .rodata +D_800E73A8 = 0x800E8F08; +D_800E73D0 = 0x800E8F30; +D_800E7400 = 0x800E8F60; +D_800E7438 = 0x800E8F98; +D_800E7590 = 0x800E90F0; // type:asciz +D_800E75B4 = 0x800E9114; // type:asciz +D_800E75BC = 0x800E911C; // type:asciz +D_800E75C8 = 0x800E9128; // type:asciz +D_800E75D8 = 0x800E9138; // type:asciz +D_800E75DC = 0x800E913C; // type:asciz +D_800E75E0 = 0x800E9140; // type:asciz +D_800E75F4 = 0x800E9154; // type:asciz +D_800E7604 = 0x800E9164; // type:asciz +D_800E7614 = 0x800E9174; // type:asciz +D_800E7620 = 0x800E9180; // type:asciz +D_800E762C = 0x800E918C; // type:asciz + +// sched .rodata +D_800E7800 = 0x800E9360; // type:asciz "(Audio task)" +D_800E7810 = 0x800E9370; // type:asciz "(Game task)" +D_800E781C = 0x800E937C; // type:asciz "(DI task)\n" +D_800E7828 = 0x800E9388; // type:asciz "(DI benchmark test)\n" +D_800E7840 = 0x800E93A0; // type:asciz "(Unknown task type %d)\n" +D_800E7858 = 0x800E93B8; // type:asciz "\nRCP TASK INFO\n" +D_800E7868 = 0x800E93C8; // type:asciz "-------------\n" +D_800E7878 = 0x800E93D8; // type:asciz "\ttype\t\t= %u\n" +D_800E7888 = 0x800E93E8; // type:asciz "\tflags\t\t= %u\n" +D_800E7898 = 0x800E93F8; // type:asciz "\tucode_boot\t\t= %p\n" +D_800E78AC = 0x800E940C; // type:asciz "\tucode_boot_size\t\t= %u\n" +D_800E78C4 = 0x800E9424; // type:asciz "\tucode\t\t= %p\n" +D_800E78D4 = 0x800E9434; // type:asciz "\tucode_size\t\t= %u\n" +D_800E78E8 = 0x800E9448; // type:asciz "\tucode_data\t\t= %p\n" +D_800E78FC = 0x800E945C; // type:asciz "\tucode_data_size\t\t= %u\n" +D_800E7914 = 0x800E9474; // type:asciz "\toutput_buff\t\t= %p\n" +D_800E7928 = 0x800E9488; // type:asciz "\toutput_buff_size\t\t= %u\n" +D_800E7944 = 0x800E94A4; // type:asciz "\tdata_ptr\t\t= %p\n" +D_800E7958 = 0x800E94B8; // type:asciz "\tdata_size\t\t= %u\n" + +// video size: 0x1A0 + +// textures_sprites .rodata +D_800E7B30 = 0x800E9690; // type:asciz +D_800E7B60 = 0x800E96C0; // type:asciz +D_800E7B88 = 0x800E96E8; // type:asciz +D_800E7BA8 = 0x800E9708; // type:asciz +D_800E7BC4 = 0x800E9724; // type:asciz +D_800E7BFC = 0x800E975C; // type:asciz +D_800E7C10 = 0x800E9770; // type:asciz +D_800E7C30 = 0x800E9790; // type:asciz +D_800E7C50 = 0x800E97B0; // type:asciz + +// menu .rodata +jpt_800E84F4 = 0x800EA004; +jpt_800E8508 = 0x800EA018; +D_800E8520 = 0x800EA030; +jpt_800E8574 = 0x800EA084; + +// game_ui .rodata +D_800E86A8 = 0x800EA160; // type:f64 function_owner:func_8009F034 +D_800E86B0 = 0x800EA168; // type:f64 function_owner:func_8009F034 +D_800E86B8 = 0x800EA170; // type:f32 function_owner:func_8009F034 +D_800E86BC = 0x800EA174; // type:f32 function_owner:func_8009F034 +D_800E86C0 = 0x800EA178; // type:f32 function_owner:func_8009F034 +D_800E86C8 = 0x800EA180; // type:f64 function_owner:func_8009F034 +D_800E86D0 = 0x800EA188; // type:f64 function_owner:func_8009F034 +D_800E86D8 = 0x800EA190; // type:f64 function_owner:func_8009F034 +D_800E86E0 = 0x800EA198; // type:f64 function_owner:func_8009F034 +D_800E86E8 = 0x800EA1A0; // type:f64 function_owner:func_8009F034 +D_800E86F0 = 0x800EA1A8; // type:f64 function_owner:func_8009F034 +D_800E8718 = 0x800EA1D0; +D_800E8720 = 0x800EA1D8; +D_800E8728 = 0x800EA1E0; +D_800E8730 = 0x800EA1E8; // type:f64 +D_800E8738 = 0x800EA1F0; // type:f64 +D_800E8758 = 0x800EA210; // type:f64 +D_800E8760 = 0x800EA218; // type:f64 +D_800E87A0 = 0x800EA258; // type:f64 force_migration:True +D_800E87A8 = 0x800EA260; // type:f32 force_migration:True +D_800E87B0 = 0x800EA268; // force_migration:True type:f64 size:8 +D_800E87B8 = 0x800EA270; // force_migration:True type:f64 size:8 +D_800E87D8 = 0x800EA290; +D_800E87E0 = 0x800EA298; // force_migration:True type:f64 size:8 + +// particles.c .rodata size:0x3C0 +D_800E8840 = 0x800EA2F0; +D_800E887C = 0x800EA32C; +D_800E88BC = 0x800EA36C; +D_800E88F8 = 0x800EA3A8; +D_800E891C = 0x800EA3CC; +D_800E8940 = 0x800EA3F0; +D_800E8964 = 0x800EA414; +D_800E8984 = 0x800EA434; +D_800E89A4 = 0x800EA454; +D_800E89D8 = 0x800EA488; +D_800E8A18 = 0x800EA4C8; +D_800E8A40 = 0x800EA4F0; +D_800E8A68 = 0x800EA518; +D_800E8A90 = 0x800EA540; +D_800E8AB4 = 0x800EA564; +D_800E8AD8 = 0x800EA588; +D_800E8B10 = 0x800EA5C0; +D_800E8B44 = 0x800EA5F4; + +// printf.c .rodata size:0x270 +gLowerCase = 0x800EA6B0; // type:asciz force_not_migration:true defined:true +gUpperCase = 0x800EA6D8; // type:asciz force_not_migration:true defined:true +D_800E8C50 = 0x800EA700; // type:asciz force_not_migration:true defined:true +D_800E8C54 = 0x800EA704; // type:asciz force_not_migration:true defined:true +D_800E8C5C = 0x800EA70C; // type:asciz force_not_migration:true defined:true + +// thread0_epc.c .rodata size:0x2F0 +D_800E8E70 = 0x800EA920; // type:asciz force_not_migration:true defined:true +D_800E8EA0 = 0x800EA950; // type:asciz force_not_migration:true defined:true + +// gzip .rodata +gzip_border = 0x800EAE30; +gzip_cplens = 0x800EAE44; +gzip_cplext = 0x800EAE82; +gzip_cpdist = 0x800EAEA2; +gzip_cpdext = 0x800EAEDE; +gzip_mask_bits = 0x800EAEFC; +D_800E94AE = 0x800EAF1E; + +// osSetIntMask .rodata +__osRcpImTable = 0x800EAF40; + +// exception .rodata +__osIntOffTable = 0x800EB0E0; +__osIntTable = 0x800EB100; // size:0x24 + +// xprintf .rodata +length_str = 0x800EB130; // type:asciz "hlL" defined:true +flags_str = 0x800EB134; // type:asciz " +-#0" defined:true +flags_arr = 0x800EB13C; // type:u32 size:0x18 defined:true +P_cosf = 0x800EB230; // type:Du size:0x28 defined:true +rpi_cosf = 0x800EB258; // type:Du size:0x8 defined:true +pihi_cosf = 0x800EB260; // type:Du size:0x8 defined:true +pilo_cosf = 0x800EB268; // type:Du size:0x8 defined:true +zero_cosf = 0x800EB270; // type:Fu size:0x8 defined:true +P_sinf = 0x800EB280; // type:Du size:0x28 defined:true +rpi_sinf = 0x800EB2A8; // type:Du size:0x8 defined:true +pihi_sinf = 0x800EB2B0; // type:Du size:0x8 defined:true +pilo_sinf = 0x800EB2B8; // type:Du size:0x8 defined:true +zero_sinf = 0x800EB2C0; // type:Fu size:0x8 defined:true +pows = 0x800EB2D0; // type:f64 size:0x48 defined:true +Ldtob_NaN = 0x800EB318; // type:asciz force_not_migration:true defined:true +Ldtob_Inf = 0x800EB31C; // type:asciz force_not_migration:true defined:true +_Genld_0_string = 0x800EB320; // type:asciz force_not_migration:true defined:true +_Ldtob_1e8 = 0x800EB328; // type:f64 +__libm_qnan_f = 0x800EB330; // type:f64 + +// ucode_data +aspMainDataStart = 0x800EB340; // size:0x2D0 +rspF3DDKRDataDramStart = 0x800EB610; // size:0x800 +rspF3DDKRDataFifoStart = 0x800EBE10; // size:0x800 +rspF3DDKRDataXbusStart = 0x800EC610; // size:0x800 +rspUnknown2DataStart = 0x800ECE10; // size:0xBC0 + +// Start of BSS +gAudioHeapStack = 0x800ED9D0; // size:0x29D88 +gALHeap = 0x80117758; +gSequenceTable = 0x80117768; +gMusicSequenceData = 0x8011776C; +gJingleSequenceData = 0x80117770; +gCurrentSequenceID = 0x80117774; +gCurrentJingleID = 0x80117775; +gMusicTempo = 0x80117778; +gSeqLengthTable = 0x8011777C; +gSequenceBank = 0x80117780; +gSoundBank = 0x80117784; +gSoundTable = 0x80117788; +gSeqSoundTable = 0x8011778C; +gSoundCount = 0x80117790; +gSeqSoundCount = 0x80117794; +gSoundTableSize = 0x80117798; +gSeqSoundTableSize = 0x8011779C; +sMusicTempo = 0x801177A0; +gMusicAnimationTick = 0x801177A4; +sMusicDelayTimer = 0x801177A8; +sMusicDelayLength = 0x801177AC; +gMusicPlaying = 0x801177B0; +gJinglePlaying = 0x801177B1; +gDelayedSounds = 0x801177B8; +gMusicSequence = 0x801177F8; +gJingleSequence = 0x801178F0; +gSkipResetChannels = 0x801179E8; +gAudioVolumeSetting = 0x801179E9; +gDynamicMusicChannelMask = 0x801179EC; +gGlobalSoundMask = 0x801179F0; +gSpatialSoundMask = 0x801179F4; +gRacerSoundMask = 0x801179F8; + +// audiomgr.c .bss +gAudioSched = 0x80117A00; +gAudioHeap = 0x80117A04; +__am = 0x80117A08; +dmaState = 0x8011ACA0; +dmaBuffs = 0x8011ACB0; +minFrameSize = 0x8011B098; +frameSize = 0x8011B09C; +maxFrameSize = 0x8011B0A0; +gAudioCmdLen = 0x8011B0A4; +gAntiPiracyCRCStart = 0x8011B0A8; +audDMAIOMesgBuf = 0x8011B0B0; +audDMAMessageQ = 0x8011B560; +audDMAMessageBuf = 0x8011B578; + +// audiosfx .bss +gAlSndPlayer = 0x8011B640; +gSoundChannelVolume = 0x8011B698; + +// audio_vehicle .bss +D_80119C30 = 0x8011B6A0; +gRacerSound = 0x8011B6A8; +gSoundRacerObj = 0x8011B6AC; +D_80119C40 = 0x8011B6B0; +gSoundMaskHeapUsed = 0x8011B6B4; +gSoundMaskHeap = 0x8011B6B8; +gFreeMasks = 0x8011B6BC; +gSoundMaskHeapFree = 0x8011B6C0; +D_80119C54 = 0x8011B6C4; +D_80119C58 = 0x8011B6C8; +D_80119C5C = 0x8011B6CC; +D_80119C60 = 0x8011B6D0; +D_8011A6D8 = 0x8011C148; +D_8011A6DC = 0x8011C14C; +D_8011A6E0 = 0x8011C150; +gAudioLinesOff = 0x8011C688; +D_8011AC1C = 0x8011C68C; + +// objects .bss +D_8011AC20 = 0x8011C690; // size:0x100 +D_8011AD20 = 0x8011C790; +D_8011AD21 = 0x8011C791; +D_8011AD22 = 0x8011C792; // size:0x2 +D_8011AD24 = 0x8011C794; // size:0x2 +D_8011AD26 = 0x8011C796; +D_8011AD28 = 0x8011C798; +D_8011AD2C = 0x8011C79C; +gCurrentLightIntensity = 0x8011C7A0; +gGhostObjPlayer = 0x8011C7A4; +gTimeTrialContPak = 0x8011C7A8; +D_8011AD3C = 0x8011C7AC; +D_8011AD3D = 0x8011C7AD; +D_8011AD3E = 0x8011C7AE; +gTransformObject = 0x8011C7B0; +gTransformTimer = 0x8011C7B4; +gOverworldVehicle = 0x8011C7B5; +gTransformPosX = 0x8011C7B6; +gTransformPosY = 0x8011C7B8; +gTransformPosZ = 0x8011C7BA; +gTransformAngleY = 0x8011C7BC; +gRaceEndTimer = 0x8011C7BE; +gRaceEndStage = 0x8011C7C0; +gNumRacersSaved = 0x8011C7C1; +unused_D_8011AD52 = 0x8011C7C2; +D_8011AD53 = 0x8011C7C3; +D_8011AD54 = 0x8011C7C4; +gSpawnObjectHeap = 0x8011C7C8; +D_8011AD5C = 0x8011C7CC; +D_8011AD60 = 0x8011C7D0; +gAssetsObjectHeadersTable = 0x8011C7D4; +gAssetsObjectHeadersTableLength = 0x8011C7D8; +gAssetsMiscSection = 0x8011C7DC; +gAssetsMiscTable = 0x8011C7E0; +D_8011AD74 = 0x8011C7E4; +D_8011AD78 = 0x8011C7E8; +gAssetsMiscTableLength = 0x8011C810; +D_8011ADA4 = 0x8011C814; +gObjectUpdateRateF = 0x8011C818; +gPathUpdateOff = 0x8011C81C; +gEventCountdown = 0x8011C820; +D_8011ADB4 = 0x8011C824; +gEventStartTimer = 0x8011C828; +D_8011ADBC = 0x8011C82C; +D_8011ADC0 = 0x8011C830; +gFirstTimeFinish = 0x8011C834; +D_8011ADC5 = 0x8011C835; +gBalloonCutsceneTimer = 0x8011C838; +D_8011ADCC = 0x8011C83C; +gObjectOffsetY = 0x8011C840; +D_8011ADD4 = 0x8011C844; +gOverrideDoors = 0x8011C845; +D_8011ADD8 = 0x8011C848; +D_8011AE00 = 0x8011C870; +D_8011AE01 = 0x8011C871; +gIsNonCarRacers = 0x8011C872; +gIsSilverCoinRace = 0x8011C873; +D_8011AE08 = 0x8011C878; +gLoadedObjectHeaders = 0x8011C8B8; +gObjectHeaderReferences = 0x8011C8BC; +D_8011AE50 = 0x8011C8C0; +D_8011AE54 = 0x8011C8C4; +gObjPtrList = 0x8011C8C8; +gObjectCount = 0x8011C8CC; +gObjectListStart = 0x8011C8D0; +gParticleCount = 0x8011C8D4; +gObjectMemoryPool = 0x8011C8D8; +D_8011AE6C = 0x8011C8DC; +D_8011AE70 = 0x8011C8E0; +D_8011AE74 = 0x8011C8E4; +D_8011AE78 = 0x8011C8E8; +gCutsceneID = 0x8011C8EA; +D_8011AE7C = 0x8011C8EC; +D_8011AE7E = 0x8011C8EE; +gTTGhostTimeToBeat = 0x8011C8F0; +gPrevTimeTrialVehicle = 0x8011C8F2; +gMapDefaultVehicle = 0x8011C8F4; +D_8011AE88 = 0x8011C8F8; +gObjectCurrDisplayList = 0x8011C8FC; +gObjectCurrMatrix = 0x8011C900; +gObjectCurrVertexList = 0x8011C904; +D_8011AE98 = 0x8011C908; +D_8011AEA0 = 0x8011C910; +D_8011AEA8 = 0x8011C918; +D_8011AEB0 = 0x8011C920; +gAssetsLvlObjTranslationTable = 0x8011C928; +gAssetsLvlObjTranslationTableLength = 0x8011C92C; +D_8011AEC0 = 0x8011C930; +gParticlePtrList = 0x8011C934; +gFreeListCount = 0x8011C938; +gTrackCheckpoints = 0x8011C93C; +gNumberOfCheckpoints = 0x8011C940; +D_8011AED4 = 0x8011C944; +gTajChallengeType = 0x8011C948; +gCameraObjList = 0x8011C94C; +gCameraObjCount = 0x8011C950; +gRacers = 0x8011C954; +gRacersByPosition = 0x8011C958; +gRacersByPort = 0x8011C95C; +gNumRacers = 0x8011C960; +gTimeTrialEnabled = 0x8011C964; +gIsTimeTrial = 0x8011C965; +gIsTajChallenge = 0x8011C966; +gTajRaceInit = 0x8011C967; +gChallengePrevMusic = 0x8011C968; +gChallengePrevInstruments = 0x8011C96C; +D_8011AF00 = 0x8011C970; +gAINodes = 0x8011C974; +gAINodeTail = 0x8011C978; +gInitAINodes = 0x8011C980; +D_8011AF14 = 0x8011C984; +gElevationHeights = 0x8011C988; +D_8011AF2C = 0x8011C99C; +gWorldShading = 0x8011C9A0; +D_8011AF34 = 0x8011C9A4; +D_8011AF38 = 0x8011C9A8; +D_8011AF60 = 0x8011C9D0; +D_8011AF68 = 0x8011C9D8; +gEnvmapPos = 0x8011CA58; +D_8011AFEE = 0x8011CA5E; +D_8011AFF0 = 0x8011CA60; +D_8011AFF4 = 0x8011CA64; +D_8011AFF8 = 0x8011CA68; +D_8011AFFC = 0x8011CA6C; +D_8011B000 = 0x8011CA70; +D_8011B004 = 0x8011CA74; +D_8011B008 = 0x8011CA78; +D_8011B010 = 0x8011CA80; +D_8011B020 = 0x8011CA90; +D_8011B048 = 0x8011CAB8; +D_8011B058 = 0x8011CAC8; +D_8011B068 = 0x8011CAD8; +D_8011B078 = 0x8011CAE8; +D_8011B07B = 0x8011CAEB; +D_8011B080 = 0x8011CAF0; + +// tracks .bss +gSceneCurrDisplayList = 0x8011CB10; +gSceneCurrMatrix = 0x8011CB14; +gSceneCurrVertexList = 0x8011CB18; +gSceneCurrTriList = 0x8011CB1C; +gSceneActiveCamera = 0x8011CB20; +gSceneCurrentPlayerID = 0x8011CB24; +gSkydomeSegment = 0x8011CB28; +gIsNearCurrBBox = 0x8011CB2C; +D_8011B0C0 = 0x8011CB30; +gDisableShadows = 0x8011CB34; +gShadowHeapFlip = 0x8011CB38; +D_8011B0CC = 0x8011CB3C; +gShadowIndex = 0x8011CB40; +gSceneStartSegment = 0x8011CB44; +D_8011B0D8 = 0x8011CB48; +gSceneRenderSkyDome = 0x8011CB4C; +gDrawLevelSegments = 0x8011CB50; +D_8011B0E1 = 0x8011CB51; +D_8011B0E2 = 0x8011CB52; +D_8011B0E3 = 0x8011CB53; +D_8011B0E4 = 0x8011CB54; +D_8011B0E8 = 0x8011CB58; +D_8011B0EC = 0x8011CB5C; +D_8011B0F0 = 0x8011CB60; +D_8011B0F4 = 0x8011CB64; +D_8011B0F8 = 0x8011CB68; +gAntiAliasing = 0x8011CB6C; +D_8011B100 = 0x8011CB70; +D_8011B104 = 0x8011CB74; +D_8011B108 = 0x8011CB78; +D_8011B10C = 0x8011CB7C; +D_8011B110 = 0x8011CB80; +D_8011B114 = 0x8011CB84; +D_8011B118 = 0x8011CB88; +D_8011B11C = 0x8011CB8C; +D_8011B120 = 0x8011CB90; +D_8011B320 = 0x8011CD90; // size:0x10 +D_8011B330 = 0x8011CDA0; +D_8011C230 = 0x8011DCA0; +D_8011C234 = 0x8011DCA4; +D_8011C238 = 0x8011DCA8; +D_8011C3B8 = 0x8011DE28; +D_8011C8B8 = 0x8011E328; +D_8011D0B8 = 0x8011EB28; +D_8011D0BC = 0x8011EB2C; +D_8011D0C0 = 0x8011EB30; +D_8011D0C4 = 0x8011EB34; +D_8011D0C8 = 0x8011EB38; +D_8011D0CC = 0x8011EB3C; +D_8011D0CE = 0x8011EB3E; +D_8011D0D0 = 0x8011EB40; +gShadowOpacity = 0x8011EB44; +D_8011D0D8 = 0x8011EB48; +D_8011D0DC = 0x8011EB4C; +D_8011D0E0 = 0x8011EB50; +D_8011D0E4 = 0x8011EB54; +D_8011D0E8 = 0x8011EB58; +D_8011D0EC = 0x8011EB5C; +D_8011D0F0 = 0x8011EB60; +D_8011D0F4 = 0x8011EB64; +D_8011D0F8 = 0x8011EB68; +D_8011D128 = 0x8011EB98; +D_8011D158 = 0x8011EBC8; +D_8011D164 = 0x8011EBD4; +D_8011D168 = 0x8011EBD8; +gTrackWaves = 0x8011ED28; +D_8011D308 = 0x8011ED78; +gTrackModelHeap = 0x8011ED7C; +gLevelModelTable = 0x8011ED80; +gPrevCameraX = 0x8011ED84; +gPrevCameraY = 0x8011ED88; +gPrevCameraZ = 0x8011ED8C; +gShadowHeapTris = 0x8011ED90; +gCurrentShadowTris = 0x8011EDA0; +D_8011D334 = 0x8011EDA4; +gShadowHeapVerts = 0x8011EDA8; +gCurrentShadowVerts = 0x8011EDB8; +D_8011D34C = 0x8011EDBC; +gShadowHeapTextures = 0x8011EDC0; +gCurrentShadowTexture = 0x8011EDD0; +D_8011D364 = 0x8011EDD4; +D_8011D368 = 0x8011EDD8; +D_8011D36C = 0x8011EDDC; +D_8011D370 = 0x8011EDE0; +D_8011D374 = 0x8011EDE4; +D_8011D378 = 0x8011EDE8; +gScenePlayerViewports = 0x8011EDEC; +gCurrBBoxDistanceToCamera = 0x8011EDF0; +gWaveBlockCount = 0x8011EDF4; +gFogData = 0x8011EDF8; +gScenePerspectivePos = 0x8011EED8; +D_8011D474 = 0x8011EEE4; +D_8011D478 = 0x8011EEE8; +D_8011D47C = 0x8011EEEC; +D_8011D480 = 0x8011EEF0; +D_8011D488 = 0x8011EEF8; +D_8011D48C = 0x8011EEFC; +D_8011D490 = 0x8011EF00; +D_8011D498 = 0x8011EF08; +D_8011D49C = 0x8011EF0C; +D_8011D49E = 0x8011EF0E; +D_8011D4A0 = 0x8011EF10; +D_8011D4A4 = 0x8011EF14; +D_8011D4A8 = 0x8011EF18; +D_8011D4AC = 0x8011EF1C; +D_8011D4B0 = 0x8011EF20; +D_8011D4B4 = 0x8011EF24; +D_8011D4B6 = 0x8011EF26; +D_8011D4B8 = 0x8011EF28; +D_8011D4BA = 0x8011EF2A; +D_8011D4BC = 0x8011EF2C; + +// lights .bss +gLightDistance = 0x8011EF30; +gLightDiffX = 0x8011EF34; +gLightDiffY = 0x8011EF38; +gLightDiffZ = 0x8011EF3C; + +// object_functions .bss +gNPCPosY = 0x8011EF40; +gTajSoundMask = 0x8011EF44; +gTTSoundMask = 0x8011EF48; +gRocketSoundTimer = 0x8011EF4C; +gTajDialogueChoice = 0x8011EF50; +gTajSoundID = 0x8011EF52; + +// racer .bss +gCurrentCourseHeight = 0x8011EF60; +gCurrentRacerWaterPos = 0x8011EF68; +gRacerWaveType = 0x8011EF74; +gCameraObject = 0x8011EF78; +D_8011D50C = 0x8011EF7C; +gCurrentRacerTransform = 0x8011EF80; +gCurrentRacerInput = 0x8011EF98; +gCurrentButtonsPressed = 0x8011EF9C; +gCurrentButtonsReleased = 0x8011EFA0; +gCurrentStickX = 0x8011EFA4; +gCurrentStickY = 0x8011EFA8; +unused_8011D53C = 0x8011EFAC; +gRaceStartTimer = 0x8011EFB0; +D_8011D544 = 0x8011EFB4; +D_8011D548 = 0x8011EFB8; +D_8011D54C = 0x8011EFBC; +D_8011D550 = 0x8011EFC0; +D_8011D552 = 0x8011EFC2; +gCurrentCarSteerVel = 0x8011EFC4; +D_8011D558 = 0x8011EFC8; +gCurrentPlayerIndex = 0x8011EFCC; +D_8011D560 = 0x8011EFD0; +gCurrentRacerMiscAssetPtr = 0x8011EFD4; +D_8011D568 = 0x8011EFD8; +gCurrentRacerWeightStat = 0x8011EFDC; +gCurrentRacerHandlingStat = 0x8011EFE0; +gCurrentRacerUnusedMiscAsset11 = 0x8011EFE4; +gRacerMagnetVelX = 0x8011EFE8; +gRacerMagnetVelZ = 0x8011EFEC; +D_8011D580 = 0x8011EFF0; +gCurrentSurfaceType = 0x8011EFF1; +gTajInteractStatus = 0x8011EFF2; +gRacerDialogueCamera = 0x8011EFF3; +gRacerInputBlocked = 0x8011EFF4; +gStartBoostTime = 0x8011EFF5; +gDialogueCameraAngle = 0x8011EFF6; +gEggChallengeFlags = 0x8011EFF8; // size:0x4 +D_8011D58C = 0x8011EFFC; +gGhostData = 0x8011F000; +gCurrentGhostIndex = 0x8011F00C; +gPrevGhostNodeIndex = 0x8011F00D; +gGhostNodeDelay = 0x8011F00E; +gGhostNodeCount = 0x8011F010; +gGhostNodeFull = 0x8011F018; +gGhostMapID = 0x8011F01C; +gRacerWaveCount = 0x8011F01E; +D_8011D5AF = 0x8011F01F; +gRacerCurrentWave = 0x8011F020; +D_8011D5B4 = 0x8011F024; +D_8011D5B8 = 0x8011F028; + +// vehicle_tricky .bss +gTrickyRacerPeakHeight = 0x8011F030; +gTrickyCutsceneTimer = 0x8011F034; +gBossSoundIDOffset = 0x8011F038; +gTrickyStartBoost = 0x8011F03C; + +// vehicle_bluey .bss +gBlueyCutsceneTimer = 0x8011F040; +gBlueyStartBoost = 0x8011F041; + +// vehicle_smokey .bss +gSmokeyCutsceneTimer = 0x8011F050; +gSmokeyStartBoost = 0x8011F051; + +// vehicle_bubbler .bss +gBubblerCutsceneTimer = 0x8011F060; +gBubblerStartBoost = 0x8011F061; + +// vehicle_wizpig .bss +gWizpigCutsceneTimer = 0x8011F070; +gWizpigStartBoost = 0x8011F071; + +// vehicle_rocket .bss +gRocketCutsceneTimer = 0x8011F080; +gRocketStartBoost = 0x8011F081; + +// object_models .bss +gObjectModelTable = 0x8011F090; +D_8011D624 = 0x8011F094; +D_8011D628 = 0x8011F098; +D_8011D62C = 0x8011F09C; +gNumModelIDs = 0x8011F0A0; +D_8011D634 = 0x8011F0A4; +gAnimationTable = 0x8011F0A8; +gObjectAnimationTable = 0x8011F0AC; +D_8011D640 = 0x8011F0B0; +D_8011D644 = 0x8011F0B4; + +// main .bss +gThread1Stack = 0x8011F0C0; +gThread3Stack = 0x8011F1C8; +gThread1 = 0x801211D0; +gThread3 = 0x80121380; + +// entrypoint .bss +entrypointThreadStack = 0x80121530; + +// camera .bss +gCameraSegment = 0x80122530; +gNumberOfViewports = 0x80122750; +gActiveCameraID = 0x80122754; +gViewportCap = 0x80122758; +D_80120CEC = 0x8012275C; +gCameraTransform = 0x80122760; +gMatrixType = 0x80122778; +gSpriteAnimOff = 0x8012277C; +gCurCamFOV = 0x80122780; +gCutsceneCameraActive = 0x80122784; +gAdjustViewportHeight = 0x80122785; +D_80120D18 = 0x80122788; +gModelMatrixStackPos = 0x8012278C; +gCameraMatrixPos = 0x80122790; +D_80120D24 = 0x80122794; +gModelMatrixViewX = 0x80122798; +gModelMatrixViewY = 0x801227B0; +gModelMatrixViewZ = 0x801227C8; +perspNorm = 0x801227DC; +gModelMatrixF = 0x801227E0; +gModelMatrixS = 0x801227F8; +D_80120DA0 = 0x80122810; +gPerspectiveMatrixF = 0x80122950; +gViewMatrixF = 0x80122990; +gCameraMatrixF = 0x801229D0; +gProjectionMatrixF = 0x80122A10; +gProjectionMatrixS = 0x80122A50; +gUnusedProjectionMatrixS = 0x80122A90; +gCurrentModelMatrixF = 0x80122AD0; +gCurrentModelMatrixS = 0x80122B10; + +// controller .bss +sSIMesgQueue = 0x80122B50; +sSIMesgBuf = 0x80122B68; +gSIMesg = 0x80122B6C; +gControllerStatus = 0x80122B70; +gControllerCurrData = 0x80122B80; +gControllerPrevData = 0x80122B98; +gControllerButtonsPressed = 0x80122BB0; +gControllerButtonsReleased = 0x80122BB8; +sPlayerID = 0x80122BC0; + +// game .bss +gTempAssetTable = 0x80122BD0; +gMapId = 0x80122BD4; +gCurrentLevelHeader = 0x80122BD8; +gLevelNames = 0x80122BDC; +gNumberOfLevelHeaders = 0x80122BE0; +gNumberOfWorlds = 0x80122BE4; +D_80121178 = 0x80122BE8; +gGlobalLevelTable = 0x80122BEC; +gRaceTypeCountTable = 0x80122BF0; +gAIBehaviourTable = 0x80122C30; +gLevelPropertyStack = 0x80122C38; + +// thread3_main .bss +gDisplayLists = 0x80122C60; +gCurrDisplayList = 0x80122C68; +D_801211FC = 0x80122C6C; +gMatrixHeap = 0x80122C70; +gGameCurrMatrix = 0x80122C78; +gVertexHeap = 0x80122C80; +gGameCurrVertexList = 0x80122C88; +gTriangleHeap = 0x80122C90; +gGameCurrTriList = 0x80122C98; +D_80121230 = 0x80122CA0; +gLevelSettings = 0x80122CC0; +gMainSched = 0x80122CD0; +gSchedStack = 0x80122F58; +gSPTaskNum = 0x80124F58; +gGameMode = 0x80124F5C; +gRenderMenu = 0x80124F60; +gPlayableMapId = 0x80124F64; +D_801234F8 = 0x80124F68; +D_801234FC = 0x80124F6C; +gGameNumPlayers = 0x80124F70; +gGameCurrentEntrance = 0x80124F74; +gGameCurrentCutscene = 0x80124F78; +gPrevPlayerCount = 0x80124F7C; +gSettingsPtr = 0x80124F80; +gIsLoading = 0x80124F84; +gIsPaused = 0x80124F85; +gPostRaceViewPort = 0x80124F86; +gLevelDefaultVehicleID = 0x80124F88; +gMenuVehicleID = 0x80124F8C; +sBootDelayTimer = 0x80124F90; +gLevelLoadType = 0x80124F94; +gNextMap = 0x80124F95; +D_80123526 = 0x80124F96; +gCurrNumF3dCmdsPerPlayer = 0x80124F98; +gCurrNumHudMatPerPlayer = 0x80124F9C; +gCurrNumHudTrisPerPlayer = 0x80124FA0; +gCurrNumHudVertsPerPlayer = 0x80124FA4; +gNMISched = 0x80124FA8; +gNMIOSMesg = 0x80124FB4; +gNMIMesgQueue = 0x80124FB8; +gNMIMesgBuf = 0x80124FD0; +D_80123568 = 0x80124FD8; + +// memory .bss +gMemoryPools = 0x80124FF0; +gNumberOfMemoryPools = 0x80125030; +D_801235C4 = 0x80125034; +gFreeQueue = 0x80125038; +gFreeQueueCount = 0x80125838; +gFreeQueueTimer = 0x8012583C; + +// osMotor .bss +_MotorStopData = 0x80125840; +_MotorStartData = 0x80125940; +_motorstopbuf = 0x80125A40; +_motorstartbuf = 0x80125A60; + +// save_data .bss +sControllerMesgQueue = 0x80125A80; +D_80124014 = 0x80125A84; +pfs = 0x80125A88; +gRumble = 0x80125C28; +sRumbleTable = 0x80125C50; +gRumbleOn = 0x80125C54; +gRumblePresent = 0x80125C55; +gRumbleIdle = 0x80125C56; +gRumbleActive = 0x80125C57; +gRumbleDetectionTimer = 0x80125C58; +D_801241EC = 0x80125C5C; +D_801241F0 = 0x80125C60; +D_801241F4 = 0x80125C64; + +// asset_loading .bss +gAssetsDmaIoMesg = 0x80125C70; +gDmaMesg = 0x80125C88; +gDmaMesgQueue = 0x80125C90; +gPIMesgBuf = 0x80125CA8; +gPIMesgQueue = 0x80125CE8; +gAssetsLookupTableMesgBuf = 0x80125D00; // NEW BSS +gDmaMesgQueueV2 = 0x80125D08; // NEW BSS +gAssetsLookupTable = 0x80125D20; + +// rcp .bss +gDramStack = 0x80125D30; +gGfxTaskOutputBuffer = 0x80126130; +gRCPMesgQueue = 0x80127930; +gRCPMesgBuf = 0x80127948; +gUnusedMesgQueue = 0x80127950; +gGfxTaskMesgQueue = 0x80127968; +gUnusedMesgBuf = 0x80127980; +gGfxTaskMesgBuf = 0x801279A0; +gChequerBGColourR1 = 0x801279C0; +gChequerBGColourG1 = 0x801279C1; +gChequerBGColourB1 = 0x801279C2; +gChequerBGColourA1 = 0x801279C3; +gChequerBGColourR2 = 0x801279C4; +gChequerBGColourG2 = 0x801279C5; +gChequerBGColourB2 = 0x801279C6; +gChequerBGColourA2 = 0x801279C7; +gChequerBGWidth = 0x801279C8; +gChequerBGHeight = 0x801279CC; +gGfxTaskBuf = 0x801279D0; +gGfxTaskBuf2 = 0x80127AB0; +osScInterruptQ = 0x80127B90; + +// sc/sched .bss +gCurRSPTaskIsSet = 0x80127BA0; // type:s32 size:0x4 +gCurRDPTaskIsSet = 0x80127BA4; // type:s32 size:0x4 +gYieldTime = 0x80127BA8; // type:u64 size:0x8 +gRSPAudTaskFlushTime = 0x80127BB0; // type:u32 size:0x4 +gRSPAudTaskDoneTime = 0x80127BB4; // type:u32 size:0x4 +D_80126128 = 0x80127BB8; // type:s32 size:0x48 + +// video .bss +gVideoRefreshRate = 0x80127C00; +gVideoAspectRatio = 0x80127C04; +gVideoHeightRatio = 0x80127C08; +D_8012617C = 0x80127C0C; +gVideoMesgBuf = 0x80127C10; +gVideoMesgQueue = 0x80127C30; +gTvViMode = 0x80127CF0; +gVideoFbWidths = 0x80127D40; +gVideoFbHeights = 0x80127D48; +gVideoFramebuffers = 0x80127D50; +gVideoCurrFbIndex = 0x80127D58; +gVideoModeIndex = 0x80127D5C; +sBlackScreenTimer = 0x80127D60; +gVideoCurrFramebuffer = 0x80127D64; +gVideoLastFramebuffer = 0x80127D68; +gVideoCurrDepthBuffer = 0x80127D6C; +gVideoLastDepthBuffer = 0x80127D70; +D_801262E4 = 0x80127D74; +D_801262E8 = 0x80127D78; +gVideoDeltaCounter = 0x80127D98; +gVideoDeltaTime = 0x80127D99; +gVideoSched = 0x80127DA0; + +// textures_sprites .bss +gTextureAssetTable = 0x80127DB0; +gTextureCache = 0x80127DB8; +gCiPalettes = 0x80127DBC; +gNumberOfLoadedTextures = 0x80127DC0; +D_80126334 = 0x80127DC4; +gTextureAssetID = 0x80127DC8; +gCiPalettesSize = 0x80127DD0; +D_80126344 = 0x80127DD4; +gSpriteOffsetTable = 0x80127DD8; +gSpriteCache = 0x80127DDC; +gCurrentSprite = 0x80127DE0; +gSpriteTableNum = 0x80127DE4; +D_80126358 = 0x80127DE8; +D_8012635C = 0x80127DEC; +D_80126360 = 0x80127DF0; +D_80126364 = 0x80127DF4; +D_80126368 = 0x80127DF8; +gTempTextureHeader = 0x80127DFC; +D_80126370 = 0x80127E00; +gCurrentRenderFlags = 0x80127E04; +gBlockedRenderFlags = 0x80127E08; +gCurrentTextureHeader = 0x80127E0C; +gUsingTexture = 0x80127E10; +gForceFlags = 0x80127E12; +gUsePrimColour = 0x80127E14; + +// menu .bss +gCourseInitials = 0x80127E20; +gFLapInitials = 0x80127E24; +gNumberOfCheats = 0x80127E28; +gNameEntryStickX = 0x80127E2C; +sMenuCurrDisplayList = 0x80127E30; +gCheatInputCurrentRow = 0x80127E34; +sMenuCurrHudMat = 0x80127E38; +gCheatInputCurrentColumn = 0x80127E3C; +sMenuCurrHudVerts = 0x80127E40; +gCheatInputStringLength = 0x80127E44; +sMenuCurrHudTris = 0x80127E48; +gOptionsMenuItemIndex = 0x80127E4C; +gNameSelectionDone = 0x80127E50; +gNewCheatID = 0x80127E54; +gNameEntryOffsetX = 0x80127E58; +D_80127E5F_128A5F = 0x80127E5F; // NEW BSS - Possible struct with unk1 = u8 +gCheatInput = 0x80127E60; // size:0x14 +gNameEntryTargetX = 0x80127E74; +gNumOnscreenMagicCodes = 0x80127E78; +gNameEntryString = 0x80127E7C; +gNameEntryAllowedLength = 0x80127E80; +gPostRace = 0x80127E84; // size:0x4 +gUnlockedCheatIDs = 0x80127E88; +gFileNew = 0x80127EC8; +gOptionBlinkTimer = 0x80127ECC; +gIgnorePlayerInputTime = 0x80127ED0; +gAdventureSaveGhost = 0x80127ED4; +gPreviousMenuID = 0x80127ED8; +gTTSaveGhostPakErrorText = 0x80127EDC; +sUnused_801263C8 = 0x80127EE0; +gTrackmenuLoadedLevel = 0x80127EE4; +gOpacityDecayTimer = 0x80127EE8; +gMenuStage = 0x80127EEC; // Replaced with gPlayersCharacterArray? +gMenuSelectedCharacter = 0x80127EF0; +D_801263B8 = 0x80127EF4; +gMenuCurrentCharacter = 0x80127EF8; +sEepromSettings = 0x80127F00; // type:u64 +sBootScreenTimer = 0x80127F08; // size:0x4 +gCurrCharacterSelectData = 0x80127F0C; +gActivePlayersArray = 0x80127F10; // size:0x4 +gCharselectStatus = 0x80127F14; +gPlayersCharacterArray = 0x80127F18; +gCharacterIdSlots = 0x80127F20; +gRankingsPoints = 0x80127F28; +gResultsPlayers = 0x80127F48; +gRankingsPlayers = 0x80127F50; +gResultsPlayerIDs = 0x80127F58; +gRankingsPlayerIDs = 0x80127F60; // size:0x8 +gControllersXAxisDelay = 0x80127F68; // size:0x4 +//D_80127F6C_128B6C = 0x80127F6C; //size:0x4 pad +gRankingsPortraitIDs = 0x80127F70; // size:0xC Size 0x10 in other versions +gControllersYAxisDelay = 0x80127F7C; // size:0x4 +gControllersXAxisDirection = 0x80127F80; // size:0x4 +gControllersYAxisDirection = 0x80127F84; // size:0x4 +gControllersXAxis = 0x80127F88; // size:0x4 +gControllersYAxis = 0x80127F8C; // size:0x4 +sUnused_80126470 = 0x80127F90; +gTrackSelectViewPortHalfX = 0x80127F94; +gTrackSelectViewPortHalfY = 0x80127F98; +gTrackSelectViewPortX = 0x80127F9C; +gTrackSelectViewportY = 0x80127FA0; +gGameSelectElements = 0x80127FA4; // size:0x4 +gDialogueSubmenu = 0x80127FA8; // size:0x1 +sCurrentMenuID = 0x80127FA9; +gFileCopy = 0x80127FAC; +gFileErase = 0x80127FB0; +sDialogueOptionMax = 0x80127FB4; +gSaveFileIndex3 = 0x80127FB8; +gDialogueOptionYOffset = 0x80127FBC; +gSaveFileIndex2 = 0x80127FC0; +gDialogueItemSelection = 0x80127FC4; +gFileConfirm = 0x80127FC8; +gSavefileData = 0x80127FD0; // size:0x10 +gGhostMenuOption = 0x80127FE0; // size:0x4 +//D_80127FE4_128BE4 = 0x80127FE4; // size:0x4 pad +gSavefileInfo = 0x80127FE8; // size:0x30 +gCpakGhostData = 0x80128018; // size:0x4 +gGhostMenuTotal = 0x8012801C; // size:0x4 +gGhostLevelIDsPak = 0x80128020; // size:0x4 +//D_80128024_128C24 = 0x80128024; // size:0x4 pad +gGhostCharacterIDsPak = 0x80128028; +gMenuAssets = 0x80128030; // size:0x200 +gGhostVehicleIDsPak = 0x80128230; +gMenuAssetActive = 0x80128238; +gGhostChecksumIDsPak = 0x801282B8; +gGhostLevelIDsMenu = 0x801282C4; +gGhostCharacterIDsMenu = 0x801282CC; // size:0x6 +//D_801282D2_128ED2 = 0xD_801282D2_128ED2; // size:0x6 pad +gMenuSoundMasks = 0x801282D8; // size:0x10 +gGhostVehicleIDsMenu = 0x801282E8; +sUnused_80126828 = 0x801282EE; +gGhostChecksumIDsMenu = 0x801282F0; +gGhostWorldIDs = 0x801282FC; // size:0x6 +gMultiplayerSelectedNumberOfRacersCopy = 0x80128304; +gTrackmenuType = 0x80128308; +D_80126850 = 0x8012830C; +gMenuButtons = 0x80128310; // size:0x14 +gCinematicParams = 0x80128324; +gMenuElementScaleTimer = 0x80128328; +buttonsPressed = 0x80128330; +gCinematicPortraits = 0x80128344; +gPostraceScaleIn = 0x80128348; +gMenuStickX = 0x80128350; // size:0xA +//D_8012835A_128F5A = 0x8012835A; // size:0x2 pad +gCinematicEnd = 0x8012835C; +gPostraceScaleMiddle = 0x80128360; +gMenuStickY = 0x80128368; // size:0xA +D_8012683A = 0x80128372; +gCinematicSkipA = 0x80128374; +gPostraceScaleOut = 0x80128378; +gTrackTTSoundMask = 0x8012837C; +gCinematicSkipB = 0x80128380; +D_80126848 = 0x80128384; +gCinematicMusicChangeOff = 0x80128388; +gTitleDemoIndex = 0x8012838C; +gTitleRevealTimer = 0x80128390; +gTitleAudioCounter = 0x80128394; +sTitleScreenDemoIds = 0x80128398; +gTitleDemoTimer = 0x8012839C; +D_80126878 = 0x801283A0; +D_801268D8 = 0x80128420; +D_801268DC = 0x80128424; +gOpeningNameID = 0x80128428; +gTrackSelectIDs = 0x80128430; +gFFLUnlocked = 0x80128460; +gTrackSelectVertsFlip = 0x8012846C; +D_80126928 = 0x80128470; +D_8012692C = 0x80128474; +gTrackSelectRenderDetails = 0x80128478; +gPlayerSelectVehicle = 0x80128508; // size:0x4 +gPlayerSelectConfirm = 0x8012850C; // size:0x4 +gTrackSelectCursorX = 0x80128510; // size:0x4 +gTrackSelectCursorY = 0x80128514; // size:0x4 +gAudioOutputStrings = 0x80128518; // size:0xC +gTrackSelectX = 0x80128524; // size:0x4 +gMusicTestString = 0x80128528; // size:0x4 +gTrackSelectY = 0x8012852C; // size:0x4 +gTrackSelectTargetX = 0x80128530; // size:0x4 +gTrackSelectTargetY = 0x80128534; // size:0x4 +gTrackMenuHubName = 0x80128538; // size:0x4 +gSelectedTrackX = 0x8012853C; // size:0x4 +gSelectedTrackY = 0x80128540; // size:0x4 +gSoundOptionMask = 0x80128544; // size:0x4 +gSaveMenuOptionCountLower = 0x80128548; // size:0x4 +gSaveMenuFilesDest = 0x8012854C; // size:0x4 +gSaveMenuOptionCountUpper = 0x80128550; // size:0x4 +gSaveMenuFilesSource = 0x80128554; // size:0x4 +gSaveMenuRumbleNag = 0x80128558; // size:0x4 +gSaveMenuRumbleConnected = 0x8012855C; // size:0x4 +gSaveMenuSourceState = 0x80128560; // size:0x4 +gSaveMenuDestState = 0x80128564; // size:0x4 +sControllerPakNotesFree = 0x80128568; // size:0x10 +sControllerPakIssueNotFound = 0x80128578; // size:0x4 +sControllerPakFatalErrorFound = 0x8012857C; // size:0x4 +sControllerPakNoFreeSpace = 0x80128580; // size:0x4 +sControllerPakBadData = 0x80128584; // size:0x4 +gMenuOptionText = 0x80128588; // size:0x20 +sControllerPakDataPresent = 0x801285A8; // size:0x4 +D_80126A64 = 0x801285AC; +gMenuOption = 0x801285B0; +gSaveMenuRumbleNagSet = 0x801285B4; +gDeviceStatusStrings = 0x801285B8; +gSaveMenuMessageLines = 0x801285BC; +gSaveMenuMessageOption = 0x801285C0; +gSaveMenuText = 0x801285C8; // size:0x10 +gPostRace1Player = 0x801285D8; +gPostRaceTimer = 0x801285DC; +gTracksSaveGhost = 0x801285E0; +gBootPakData = 0x801285E8; // size:0x40 +sCurrentControllerPakAllFileNames = 0x80128628; +sCurrentControllerPakAllFileExtensions = 0x80128668; +sCurrentControllerPakAllFileTypes = 0x801286A8; +sCurrentControllerPakNumberOfPages = 0x801286B8; +sCurrentControllerPakFreePages = 0x801286F8; +sControllerPakMenuNumberOfRows = 0x801286FC; +gMenuMosaic1 = 0x80128700; +gMenuMosaic2 = 0x80128704; +gMenuMosaicShift = 0x80128708; +gCreditsControlDataIndex = 0x8012870C; +sControllerPakError = 0x80128710; +D_80126BCC = 0x80128714; +D_80126BD0 = 0x80128718; +gSaveMenuOptionSource = 0x8012871C; +D_80126BD8 = 0x80128720; +gSaveMenuScrollSource = 0x80128724; +D_80126BE0 = 0x80128728; +gSaveMenuOptionDest = 0x8012872C; +D_80126BE8 = 0x80128730; +gSaveMenuScrollDest = 0x80128734; +gResultOptionText = 0x80128738; +gCpakWriteTimer = 0x80128758; +gResultOptionCount = 0x8012875C; +gBootMenuTimer = 0x80128760; +gPostRaceMessage = 0x80128764; +gBootMenuPhase = 0x80128768; +gPostRaceLineCount = 0x8012876C; +gPostraceFinishState = 0x80128770; +gMenuGeometry = 0x80128774; +gCheatsAssetData = 0x80128778; +gNameEntryStickHeld = 0x8012877C; + +// game_ui .bss +gMinimapOpacity = 0x80128780; +gMinimapFade = 0x80128781; +gShowHUD = 0x80128782; +gMinimapXlu = 0x80128783; +gRaceStartShowHudStep = 0x80128784; +D_80126CD5 = 0x80128785; +gAssetHudElementStaleCounter = 0x80128788; +gCurrentHud = 0x8012878C; +gPlayerHud = 0x80128790; // size:0x10 +gAssetHudElementIds = 0x801287A0; +gAssetHudElements = 0x801287A4; +gAssetHudElementIdsCount = 0x801287A8; +gHUDCurrDisplayList = 0x801287AC; +gHUDCurrMatrix = 0x801287B0; +gHUDCurrVertex = 0x801287B4; +gHudCurrentViewport = 0x801287B8; +gHUDNumPlayers = 0x801287BC; +D_80126D10 = 0x801287C0; +D_80126D14 = 0x801287C4; +D_80126D18 = 0x801287C8; +gMinimapDotOffsetX = 0x801287CC; +gMinimapDotOffsetY = 0x801287D0; +gHudOffsetX = 0x801287D4; +gHudBounceX = 0x801287D8; +gHudBounceTimer = 0x801287DC; +gHudBounceMag = 0x801287E0; +gHudRaceStart = 0x801287E4; +D_80126D35 = 0x801287E5; +gHideRaceTimer = 0x801287E6; +gNumActivePlayers = 0x801287E7; +gWrongWayNagPrefix = 0x801287E8; +gRaceStartSoundMask = 0x801287EC; +gHUDVoiceSoundMask = 0x801287F0; +D_80126D44 = 0x801287F4; +D_80126D48 = 0x801287F8; +D_80126D4C = 0x801287FC; +D_80126D50 = 0x80128800; +gMinimapRed = 0x80128804; +gMinimapGreen = 0x80128805; +gMinimapBlue = 0x80128806; +gMinimapScreenX = 0x80128808; +gMinimapScreenY = 0x8012880C; +gHudLevelHeader = 0x80128810; +D_80126D64 = 0x80128814; +D_80126D65 = 0x80128815; +D_80126D66 = 0x80128816; +gStopwatchFaceID = 0x80128817; +D_80126D68 = 0x80128818; +D_80126D69 = 0x80128819; +gWrongWayNagTimer = 0x8012881C; +gHudAudioReset = 0x80128820; +gHudTimeTrialGhost = 0x80128821; +gHudVoiceTimer = 0x80128824; +gHudVoicePlayerID = 0x80128828; +gHudVoiceID = 0x8012882C; +gHudSprites = 0x80128830; +D_80127180 = 0x80128C30; +gHudSettings = 0x80128C34; +gHudSilverCoinRace = 0x80128C38; +D_80127189 = 0x80128C39; +D_8012718A = 0x80128C3A; +gMinimapOpacityTarget = 0x80128C3B; +gStopwatchErrorX = 0x80128C3C; +gStopwatchErrorY = 0x80128C40; +D_80127194 = 0x80128C44; +D_80127198 = 0x80128C48; + +// os_yield_data .bss +gGfxTaskYieldData = 0x80128C60; //size:0xA00 + +// weather .bss +gSnowDensity = 0x80129660; +gSnowParticleCount = 0x80129664; +gWeather = 0x80129668; +gSnowPlane = 0x801296A8; +gSnowVertOffset = 0x801296B0; +gSnowTriCount = 0x801296B4; +gSnowVertexFlip = 0x801296B8; +gCurrWeatherDisplayList = 0x801296BC; +gCurrWeatherMatrix = 0x801296C0; +gCurrWeatherVertexList = 0x801296C4; +gCurrWeatherTriList = 0x801296C8; +gWeatherCamera = 0x801296CC; +gWeatherCameraMatrix = 0x801296D0; +gLensFlareSet1 = 0x801296D4; +gLensFlareSet2 = 0x801296D8; +gLensFlareLarge = 0x801296DC; +gLensFlarePos = 0x801296E0; +gLensFlareSwitches = 0x801296F0; + +// particles .bss +gParticleUpdateRate = 0x80129730; +D_80127C84 = 0x80129734; +D_80127C88 = 0x80129738; + +// printf +gTexture = 0x80129750; //size:0xC +gDebugTextX = 0x8012975C; +gDebugTextY = 0x8012975E; +D_80127CB0 = 0x80129760; +D_80127CB2 = 0x80129762; +D_80127CB4 = 0x80129764; +gDebugTextOn = 0x80129768; +gDebugBoundsX1 = 0x8012976C; +gDebugBoundsX2 = 0x80129770; +gDebugBoundsY1 = 0x80129774; +gDebugBoundsY2 = 0x80129778; +gDebugFontTexture = 0x8012977C; +gDebugScreenWidth = 0x80129780; +gDebugScreenHeight = 0x80129782; +D_80127CD4 = 0x80129784; +gDebugPrintBufferStart = 0x80129788; +gDebugPrintBufferEnd = 0x8012A088; + +// thread0_epc +gEPCStack = 0x8012A090; +gEPCThread = 0x8012B090; +D_80129790 = 0x8012B240; +D_801297A8 = 0x8012B258; +D_801297C8 = 0x8012B278; +D_801297E8 = 0x8012B298; +gEpcInfo = 0x8012B2B0; // size:0x1B0 +D_801299B0 = 0x8012B460; // size:0x100 + +// stacks .bss +D_80129AB0 = 0x8012B560; // size:0x100 +D_80129BB0 = 0x8012B660; // size:0x400 +gObjectStackTrace = 0x8012BA60; // size:0x10 + +// waves .bss +D_80129FC0 = 0x8012BA70; +D_80129FC4 = 0x8012BA74; +D_80129FC8 = 0x8012BA78; // size:0x50 +D_8012A018 = 0x8012BAC8; +D_8012A01C = 0x8012BACC; +D_8012A020 = 0x8012BAD0; +D_8012A028 = 0x8012BAD8; +D_8012A078 = 0x8012BB28; +gWaveBatch = 0x8012BB2C; +gWaveTexture = 0x8012BB30; +D_8012A084 = 0x8012BB34; +D_8012A088 = 0x8012BB38; +D_8012A08C = 0x8012BB3C; +D_8012A090 = 0x8012BB40; +D_8012A094 = 0x8012BB44; +D_8012A098 = 0x8012BB48; +D_8012A09C = 0x8012BB4C; +D_8012A0A0 = 0x8012BB50; +D_8012A0A4 = 0x8012BB54; +gWaveBoundingBoxDiffX = 0x8012BB58; +gWaveBoundingBoxDiffZ = 0x8012BB5C; +gWaveBoundingBoxX1 = 0x8012BB60; +gWaveBoundingBoxZ1 = 0x8012BB64; +D_8012A0B8 = 0x8012BB68; +D_8012A0BC = 0x8012BB6C; +D_8012A0C0 = 0x8012BB70; +D_8012A0C4 = 0x8012BB74; +D_8012A0C8 = 0x8012BB78; +D_8012A0CC = 0x8012BB7C; +D_8012A0D0 = 0x8012BB80; +D_8012A0D4 = 0x8012BB84; +D_8012A0D8 = 0x8012BB88; +D_8012A0DC = 0x8012BB8C; +D_8012A0E0 = 0x8012BB90; +D_8012A0E8 = 0x8012BB98; +D_8012A1E8 = 0x8012BC98; +D_8012A5E8 = 0x8012C098; +D_8012A5F4 = 0x8012C0A4; +D_8012A5F8 = 0x8012C0A8; +D_8012A5FC = 0x8012C0AC; +D_8012A600 = 0x8012C0B0; +gWavePowerBase = 0x8012C1D0; +gWaveMagnitude = 0x8012C1D4; +gWavePowerDivisor = 0x8012C1D8; + +// fade_transition +gCurFadeTransition = 0x8012C1E0; +gCurFadeRed = 0x8012C1E4; +gCurFadeGreen = 0x8012C1E5; +gCurFadeBlue = 0x8012C1E6; +gCurFadeAlpha = 0x8012C1E7; +gLastFadeRed = 0x8012C1E8; +gLastFadeGreen = 0x8012C1EC; +gLastFadeBlue = 0x8012C1F0; +gLastFadeRedStep = 0x8012C1F4; +gLastFadeGreenStep = 0x8012C1F8; +gLastFadeBlueStep = 0x8012C1FC; +sTransitionOpacity = 0x8012C200; +gTransitionOpacityVel = 0x8012C204; +D_8012A758 = 0x8012C208; +D_8012A75C = 0x8012C20C; +D_8012A760 = 0x8012C210; +D_8012A764 = 0x8012C214; +D_8012A768 = 0x8012C218; +D_8012A76C = 0x8012C21C; +gTransitionNextVtx = 0x8012C220; +gTransitionVtxStep = 0x8012C224; +gTransitionVertexTarget = 0x8012C228; +gTransitionVertexCount = 0x8012C22C; + +// game_text .bss +gGameTextTable = 0x8012C230; +gCloseTextMessage = 0x8012C234; +gTextCloseTimerFrames = 0x8012C235; +gTextCloseTimerSeconds = 0x8012C236; +D_8012A787 = 0x8012C237; +D_8012A788 = 0x8012C238; +gShowOnscreenMessage = 0x8012C239; +D_8012A78A = 0x8012C23A; +D_8012A78C = 0x8012C23C; +D_8012A78E = 0x8012C23E; +gTextTableEntries = 0x8012C240; +D_8012A792 = 0x8012C242; +gGameTextTableEntries = 0x8012C248; +D_8012A7A0 = 0x8012C250; +D_8012A7A4 = 0x8012C254; +gDialogueAlpha = 0x8012C258; +gTextAlphaVelocity = 0x8012C25A; +gSubtitleTimer = 0x8012C25C; +gDialogueXPos1 = 0x8012C25E; +gDialogueYPos1 = 0x8012C260; +gDialogueXPos2 = 0x8012C262; +gDialogueYPos2 = 0x8012C264; +gShowSubtitles = 0x8012C266; +gSubtitleLineCount = 0x8012C268; +gCurrentTextID = 0x8012C26A; +D_8012A7BC = 0x8012C26C; +gSubtitleProperties = 0x8012C270; +gCurrentMessageText = 0x8012C278; +gCurrentTextProperties = 0x8012C280; +D_8012A7D4 = 0x8012C284; + +// font +gNumberOfFonts = 0x8012C290; +gFonts = 0x8012C294; +gDialogueBoxBackground = 0x8012C298; +gDialogueText = 0x8012C29C; +gCompactKerning = 0x8012C2A0; +D_8012C2A4_EE5E4 = 0x8012C2A4; +D_8012C2A8_EE5E8 = 0x8012C2A8; // size:0x10 +D_8012C2B8_EE5F8 = 0x8012C2B8; +D_8012C2BC_EE5FC = 0x8012C2BC; +D_8012C2C0_EE600 = 0x8012C2C0; +D_8012C2C4_EE604 = 0x8012C2C4; +D_8012C2C8_EE608 = 0x8012C2C8; +D_8012C2CC_EE60C = 0x8012C2CC; +D_8012C2D0_EE610 = 0x8012C2D0; +D_8012C2D4_EE614 = 0x8012C2D4; +D_8012C2D8_EE618 = 0x8012C2D8; +sDialogueBoxCloseTimer = 0x8012C2DC; + + +// osCreatePiManager .bss +piThread = 0x8012C2E0; +piThreadStack = 0x8012C490; +piEventQueue = 0x8012C590; +piEventBuf = 0x8012C5A8; + +// gzip .bss +gzip_bit_buffer = 0x8012C5B0; +gzip_num_bits = 0x8012C5B4; +gHuftTablePos = 0x8012C5B8; + +// thread30_track_loading .bss +leoDiskStack = 0x8012C5C0; +gThread30 = 0x8012C5D0; +gThread30MesgQueue = 0x8012C780; // type:OSMesgQueue size:0x18 +gThread30Message = 0x8012C798; // type:OSMesg size:0x4 +gThread30Stack = 0x8012C7A0; // type:u64 size:0x2000 + +// initialize +__osFinalrom = 0x8012E7A0; // type:u32 size:0x4 + +// osSetEventMesg .bss +__osEventStateTab = 0x8012E7B0; + +// controller .bss +__osContPifRam = 0x8012E830; +__osContLastCmd = 0x8012E870; +__osMaxControllers = 0x8012E871; +__osEepromTimer = 0x8012E878; +__osEepromTimerQ = 0x8012E898; +__osEepromTimerMsg = 0x8012E8B0; + +// pfsisplug +__osPfsPifRam = 0x8012E8C0; + +// siacs .bss +__osSiAccessQueue = 0x8012E908; + +//conteepread +__osEepPifRam = 0x8012E920; + +// vimgr +viThread = 0x8012E960; +gViMgrStack = 0x8012EB10; +viEventQueue = 0x8012EC10; +viEventBuf = 0x8012EC28; +viRetraceMsg = 0x8012EC40; +viCounterMsg = 0x8012EC58; +retrace = 0x8012EC70; + +// sptask +tmp_task = 0x8012EC80; + +// piacs +piAccessBuf = 0x8012ECC0; +__osPiAccessQueue = 0x8012ECC8; + +// timerintr +__osBaseTimer = 0x8012ECE0; // type:OSTimer size:0x20 +__osCurrentTime = 0x8012ED00; // type:u64 +__osBaseCounter = 0x8012ED08; +__osViIntrCount = 0x8012ED0C; +__osTimerCounter = 0x8012ED10; +D_8012D238 = 0x8012ED18; + +// exceptasm +__osThreadSave = 0x8012ED20; // type:OSThread size:0x1B0 + +sDebugVersionInfoString = 0x800E8C70; // type:asciz +sDebugBuildDateString = 0x800E8C78; // type:asciz +sDebugUsernameString = 0x800E8C88; // type:asciz diff --git a/ver/symbols/symbol_addrs.pal.v77.txt b/ver/symbols/symbol_addrs.pal.v77.txt new file mode 100644 index 00000000..290ef866 --- /dev/null +++ b/ver/symbols/symbol_addrs.pal.v77.txt @@ -0,0 +1,4320 @@ +osTvType = 0x80000300; +osRomType = 0x80000304; +osRomBase = 0x80000308; +osResetType = 0x8000030C; +osCicId = 0x80000310; +osVersion = 0x80000314; +osMemSize = 0x80000318; +osAppNMIBuffer = 0x8000031C; +entrypoint = 0x80000400; + +// audio.c .text +audio_init = 0x80000450; +sound_volume_reset = 0x80000890; +sound_volume_change = 0x80000968; +music_change_off = 0x80000B18; +music_change_on = 0x80000B28; +music_play = 0x80000B34; +music_voicelimit_set = 0x80000BE0; +music_voicelimit_change_off = 0x80000C1C; +music_voicelimit_change_on = 0x80000C2C; +music_jingle_voicelimit_set = 0x80000C38; +func_80000C68 = 0x80000C68; +music_fade = 0x80000C98; +music_volume_reset = 0x80000CBC; +sound_update_queue = 0x80000D00; +sound_play_delayed = 0x80000FDC; +sound_clear_delayed = 0x80001050; +music_channel_get_mask = 0x8000105C; +music_dynamic_set = 0x80001074; +music_channel_off = 0x80001114; +music_channel_active = 0x8000114C; +music_channel_on = 0x80001170; +music_channel_pan_set = 0x800011A8; +music_channel_volume_set = 0x800011E8; +music_channel_volume = 0x80001228; +music_channel_fade_set = 0x80001268; +music_channel_fade = 0x800012A8; +music_channel_reset_all = 0x800012E8; +func_80001358 = 0x80001358; +func_80001440 = 0x80001440; +music_tempo_set_relative = 0x800014BC; +music_tempo_set = 0x80001534; +music_tempo = 0x800015B8; +music_is_playing = 0x800015C8; +music_animation_fraction = 0x800015F8; +sound_get_properties = 0x80001728; +music_jingle_play_safe = 0x80001784; +sound_jingle_tempo_set = 0x800017D4; +music_stop = 0x80001844; +music_enabled_set = 0x80001878; +music_can_play = 0x800018D0; +music_jingle_stop = 0x800018E0; +music_current_sequence = 0x80001918; +music_next = 0x80001954; +music_jingle_current = 0x80001980; +music_volume_set = 0x80001990; +music_volume_config_set = 0x80001A3C; +music_volume = 0x80001AEC; +music_volume_config = 0x80001AFC; +music_jingle_volume_set = 0x80001B0C; +music_jingle_pan_set = 0x80001B58; +music_jingle_play = 0x80001BC0; +music_jingle_playing = 0x80001C08; +sound_channel_volume_all = 0x80001C5C; +sound_distance = 0x80001CB8; +sound_play = 0x80001D04; +sound_play_spatial = 0x80001EA8; +func_80001F14 = 0x80001F14; +sound_volume_set_relative = 0x80001FB8; +sound_volume_set = 0x8000208C; +sound_pitch_set = 0x800020BC; +sound_count = 0x800020E8; +music_sequence_count = 0x80002110; +sound_table_properties = 0x80002128; +music_table_properties = 0x8000216C; +gSoundBank_GetSoundDecayTime = 0x800021B0; +sound_seqplayer_init = 0x80002224; +music_sequence_start = 0x800022BC; +music_sequence_init = 0x8000232C; +music_sequence_stop = 0x80002570; +sound_reverb_set = 0x80002608; +sound_reverb_enabled = 0x80002630; + +//audiomgr.c .text +amCreateAudioMgr = 0x80002660; +audioStartThread = 0x80002A50; +audioStopThread = 0x80002A74; +__amMain = 0x80002A98; +__amHandleFrameMsg = 0x80002C00; +__amHandleDoneMsg = 0x80002DF8; +__amDMA = 0x80002E38; +__amDmaNew = 0x80003008; +__clearAudioDMA = 0x80003040; + +//audiosfx.c .text +set_sfx_volume_slider = 0x80003160; +get_sfx_volume_slider = 0x8000317C; +set_sound_channel_count = 0x8000318C; +alSndPNew = 0x800031C0; +_sndpVoiceHandler = 0x800033C8; +_handleEvent = 0x80003470; +func_8000410C = 0x8000410C; +func_8000418C = 0x8000418C; +_removeEvents = 0x800041FC; +func_800042CC = 0x800042CC; +func_80004384 = 0x80004384; +func_80004520 = 0x80004520; +func_80004604 = 0x80004604; +func_8000461C = 0x8000461C; +func_80004638 = 0x80004638; +func_80004668 = 0x80004668; +sound_stop = 0x8000488C; +func_800048D8 = 0x800048D8; +func_80004998 = 0x80004998; +func_800049B8 = 0x800049B8; +sound_stop_all = 0x800049D8; +sound_event_update = 0x800049F8; +get_sound_channel_volume = 0x80004A3C; +set_sound_channel_volume = 0x80004A60; + +// audio_vehicle.c .text +func_80004B40 = 0x80004B40; +racer_sound_update = 0x800050D0; +func_80005254 = 0x80005254; +racer_sound_hovercraft = 0x80005D08; +func_800063EC = 0x800063EC; +racer_sound_free = 0x80006AC8; +func_80006BFC = 0x80006BFC; +func_80006FC8 = 0x80006FC8; +sound_vehicle_enable = 0x80007F78; +sound_vehicle_disable = 0x80007F88; +sound_vehicle_check = 0x80007F94; +func_80007FA4 = 0x80007FA4; + +// audio_spatial.c .text +func_80008040 = 0x80008040; +audioline_off = 0x80008140; +audioline_on = 0x80008168; +func_80008174 = 0x80008174; +func_80008438 = 0x80008438; +func_800090C0 = 0x800090C0; +audioline_distance = 0x800092A8; +play_sound_at_position = 0x80009558; +func_800095E8 = 0x800095E8; +update_spatial_audio_position = 0x800096D8; +func_800096F8 = 0x800096F8; +func_8000974C = 0x8000974C; +audioline_ambient_create = 0x800098A4; +func_80009968 = 0x80009968; +func_800099EC = 0x800099EC; +func_80009AB4 = 0x80009AB4; +func_80009B7C = 0x80009B7C; +func_80009D6C = 0x80009D6C; +func_8000A184 = 0x8000A184; +func_8000A2E8 = 0x8000A2E8; +debug_render_line = 0x8000A414; + +// seqplayer.c .text +dummy_8000A710 = 0x8000A710; +__mapVoice = 0x8000A71C; +__unmapVoice = 0x8000A7C4; +__lookupVoice = 0x8000A84C; +__lookupSoundQuick = 0x8000A8D0; +__vsVol = 0x8000A9F8; +__vsDelta = 0x8000AA88; +__vsPan = 0x8000AAAC; +__seqpReleaseVoice = 0x8000AB00; +__voiceNeedsNoteKill = 0x8000AC34; +__initFromBank = 0x8000ACE0; +__setInstChanState = 0x8000AD98; +__resetPerfChanState = 0x8000ADF4; +__initChanState = 0x8000AE90; +__seqpStopOsc = 0x8000AEFC; +set_voice_limit = 0x8000B010; + +// objects.c .text +func_8000B020 = 0x8000B020; +func_8000B290 = 0x8000B290; +func_8000B38C = 0x8000B38C; +func_8000B750 = 0x8000B750; +func_8000BADC = 0x8000BADC; +func_8000BF44 = 0x8000BF44; +allocate_object_pools = 0x8000BF8C; +decrypt_magic_codes = 0x8000C2D8; +clear_object_pointers = 0x8000C460; +free_all_objects = 0x8000C604; +load_object_header = 0x8000C718; +try_free_object_header = 0x8000C844; +normalise_time = 0x8000C8B4; +func_8000C8F8 = 0x8000C8F8; +func_8000CBC0 = 0x8000CBC0; +func_8000CBF0 = 0x8000CBF0; +func_8000CC20 = 0x8000CC20; +func_8000CC7C = 0x8000CC7C; +get_contpak_error = 0x8000E0B0; +instShowBearBar = 0x8000E128; +func_8000E138 = 0x8000E138; +func_8000E148 = 0x8000E148; +func_8000E158 = 0x8000E158; +func_8000E184 = 0x8000E184; +func_8000E194 = 0x8000E194; +fontUseFont = 0x8000E1B8; +find_non_car_racers = 0x8000E1CC; +check_if_silver_coin_race = 0x8000E1DC; +despawn_player_racer = 0x8000E1EC; +transform_player_vehicle = 0x8000E2B4; +set_time_trial_enabled = 0x8000E4BC; +is_time_trial_enabled = 0x8000E4C8; +is_in_time_trial = 0x8000E4D8; +func_8000E4E8 = 0x8000E4E8; +func_8000E558 = 0x8000E558; +func_8000E5EC = 0x8000E5EC; +func_8000E79C = 0x8000E79C; +func_8000E898 = 0x8000E898; +get_object = 0x8000E948; +objGetObjList = 0x8000E988; +get_object_count = 0x8000E9B0; +get_particle_count = 0x8000E9C0; +func_8000E9D0 = 0x8000E9D0; +spawn_object = 0x8000EA54; +objFreeAssets = 0x8000F648; +light_setup_light_sources = 0x8000F758; +init_object_shading = 0x8000F7EC; +func_8000F99C = 0x8000F99C; +obj_init_emitter = 0x8000FAC4; +init_object_shadow = 0x8000FBCC; +init_object_water_effect = 0x8000FC6C; +init_object_interaction_data = 0x8000FD20; +func_8000FD34 = 0x8000FD34; +func_8000FD54 = 0x8000FD54; +free_object = 0x8000FFB8; +obj_table_ids = 0x80010018; +obj_id_valid = 0x80010028; +gParticlePtrList_flush = 0x8001004C; +func_800101AC = 0x800101AC; +func_80010994 = 0x80010994; +func_80011134 = 0x80011134; +func_80011264 = 0x80011264; +do_nothing_func_80011364 = 0x80011364; +path_update_check = 0x8001136C; +path_enable = 0x80011390; +get_race_countdown = 0x8001139C; +get_race_start_timer = 0x800113AC; +func_800113BC = 0x800113BC; +play_footstep_sounds = 0x800113CC; +ignore_bounds_check = 0x80011560; +move_object = 0x80011570; +render_misc_model = 0x80011960; +render_3d_misc = 0x80011AD0; +render_3d_billboard = 0x80011C94; +render_3d_model = 0x800120C8; +func_80012C30 = 0x80012C30; +func_80012C3C = 0x80012C3C; +func_80012C98 = 0x80012C98; +func_80012CE8 = 0x80012CE8; +render_object = 0x80012D5C; +object_do_player_tumble = 0x80012E28; +object_undo_player_tumble = 0x80012F30; +func_80012F94 = 0x80012F94; +render_object_parts = 0x8001348C; +unset_temp_model_transforms = 0x80013548; +func_800135B8 = 0x800135B8; +render_bubble_trap = 0x800138A8; +render_racer_shield = 0x80013A0C; +render_racer_magnet = 0x80013DCC; +func_80014090 = 0x80014090; +func_800142B8 = 0x800142B8; +render_mesh = 0x800143A8; +func_80014814 = 0x80014814; +func_800149C0 = 0x800149C0; +func_80014B50 = 0x80014B50; +sort_objects_by_dist = 0x80015348; +process_object_interactions = 0x800155B8; +func_800159C8 = 0x800159C8; +func_80016500 = 0x80016500; +func_80016748 = 0x80016748; +func_80016BC4 = 0x80016BC4; +obj_butterfly_node = 0x80016C68; +obj_dist_racer = 0x80016DE8; +func_8001709C = 0x8001709C; +func_80017248 = 0x80017248; +func_8001790C = 0x8001790C; +func_80017978 = 0x80017978; +func_800179D0 = 0x800179D0; +func_80017A18 = 0x80017A18; +set_taj_challenge_type = 0x80017E74; +get_taj_challenge_type = 0x80017E88; +func_80017E98 = 0x80017E98; +func_800185E4 = 0x800185E4; +find_taj_object = 0x80018C6C; +func_80018CE0 = 0x80018CE0; +func_8001955C = 0x8001955C; +func_80019808 = 0x80019808; +set_course_finish_flags = 0x8001A7D8; +race_finish_adventure = 0x8001A8D4; +race_transition_adventure = 0x8001A8F4; +race_finish_timer = 0x8001AE44; +get_balloon_cutscene_timer = 0x8001AE54; +race_finish_time_trial = 0x8001AE64; +timetrial_valid_player_ghost = 0x8001B288; +timetrial_player_ghost = 0x8001B2E0; +timetrial_load_staff_ghost = 0x8001B2F0; +timetrial_staff_ghost_check = 0x8001B3AC; +tt_ghost_beaten = 0x8001B3C4; +timetrial_init_staff_ghost = 0x8001B4FC; +timetrial_ghost_staff = 0x8001B640; +timetrial_staff_unbeaten = 0x8001B650; +timetrial_init_player_ghost = 0x8001B668; +timetrial_save_player_ghost = 0x8001B738; +has_ghost_to_save = 0x8001B780; +set_ghost_none = 0x8001B790; +func_8001B7A8 = 0x8001B7A8; +func_8001B834 = 0x8001B834; +func_8001B954 = 0x8001B954; +get_checkpoint_node = 0x8001BA00; +find_next_checkpoint_node = 0x8001BA1C; +get_checkpoint_count = 0x8001BA64; +get_racer_objects = 0x8001BA74; +get_racer_objects_by_port = 0x8001BA90; +get_racer_objects_by_position = 0x8001BAAC; +get_racer_object = 0x8001BAC8; +get_racer_object_by_port = 0x8001BB18; +debug_render_checkpoints = 0x8001BB68; +debug_render_checkpoint_node = 0x8001BC40; +spectate_update = 0x8001BC54; +spectate_object = 0x8001BD94; +spectate_nearest = 0x8001BDD4; +ainode_update = 0x8001BF20; +obj_elevation = 0x8001C418; +ainode_register = 0x8001C48C; +ainode_find_nearest = 0x8001C524; +func_8001C6C4 = 0x8001C6C4; +func_8001CC48 = 0x8001CC48; +func_8001CD28 = 0x8001CD28; +ainode_enable = 0x8001D1AC; +ainode_tail_set = 0x8001D1BC; +ainode_tail = 0x8001D1E4; +ainode_get = 0x8001D214; +func_8001D248 = 0x8001D248; +set_world_shading = 0x8001D258; +add_shading_properties = 0x8001D2A0; +set_shading_properties = 0x8001D4B4; +update_envmap_position = 0x8001D5E0; +calc_dyn_light_and_env_map_for_object = 0x8001D6E4; +calc_dynamic_lighting_for_object_1 = 0x8001D80C; +calc_env_mapping_for_object = 0x8001DD54; +set_racer_position_and_angle = 0x8001E13C; +get_misc_asset = 0x8001E29C; +func_8001E2EC = 0x8001E2EC; +func_8001E344 = 0x8001E344; +obj_bridge_pos = 0x8001E36C; +cutscene_id = 0x8001E440; +cutscene_id_set = 0x8001E450; +func_8001E45C = 0x8001E45C; +get_object_list_index = 0x8001E4B4; +func_8001E4C4 = 0x8001E4C4; +func_8001E6EC = 0x8001E6EC; +func_8001E89C = 0x8001E89C; +func_8001E93C = 0x8001E93C; +func_8001EE74 = 0x8001EE74; +obj_init_animcamera = 0x8001EFA4; +func_8001F23C = 0x8001F23C; +func_8001F3B8 = 0x8001F3B8; +func_8001F3C8 = 0x8001F3C8; +func_8001F3EC = 0x8001F3EC; +func_8001F450 = 0x8001F450; +func_8001F460 = 0x8001F460; +func_800210CC = 0x800210CC; +func_80021104 = 0x80021104; +func_8002125C = 0x8002125C; +func_80021400 = 0x80021400; +func_800214C4 = 0x800214C4; +func_800214E4 = 0x800214E4; +func_80021600 = 0x80021600; +catmull_rom_interpolation = 0x80022540; +cubic_spline_interpolation = 0x8002263C; +func_8002277C = 0x8002277C; +lerp = 0x80022888; +func_800228B0 = 0x800228B0; +func_800228DC = 0x800228DC; +init_racer_for_challenge = 0x800228EC; +mode_init_taj_race = 0x80022948; +obj_taj_create_balloon = 0x80022CFC; +mode_end_taj_race = 0x80022E18; +func_800230D0 = 0x800230D0; +is_taj_challenge = 0x8002341C; +find_furthest_telepoint = 0x8002342C; +func_80023568 = 0x80023568; +obj_door_override = 0x800235C0; +obj_door_open = 0x800235D0; +get_object_property_size = 0x800235DC; +run_object_init_func = 0x800238BC; +obj_init_property_flags = 0x80023E30; +run_object_loop_func = 0x80023F48; +func_8002458C = 0x8002458C; +func_80024594 = 0x80024594; +func_800245B4 = 0x800245B4; + +// unknown_0251F0.c .text +func_800245F0 = 0x800245F0; +calc_dynamic_lighting_for_object_2 = 0x80024744; + +// tracks.c .text +set_scene_viewport_num = 0x800249E0; +init_track = 0x800249F0; +render_scene = 0x80024D54; +func_80025510 = 0x80025510; +func_800257D0 = 0x800257D0; +func_8002581C = 0x8002581C; +func_80026070 = 0x80026070; +func_80026430 = 0x80026430; +func_80026C14 = 0x80026C14; +func_80026E54 = 0x80026E54; +func_80027184 = 0x80027184; +func_80027568 = 0x80027568; +func_800278E8 = 0x800278E8; +animate_level_textures = 0x80027E24; +spawn_skydome = 0x80027FC4; +set_skydome_visbility = 0x80028044; +func_80028050 = 0x80028050; +draw_gradient_background = 0x800289B8; +render_skydome = 0x80028C10; +initialise_player_viewport_vars = 0x80028CD0; +set_anti_aliasing = 0x80028FA0; +render_level_geometry_and_objects = 0x80028FAC; +render_level_segment = 0x80029658; +traverse_segments_bsp_tree = 0x80029AF8; +add_segment_to_order = 0x80029D14; +check_if_inside_segment = 0x80029DE0; +get_level_segment_index_from_position = 0x80029F18; +get_inside_segment_count_xz = 0x8002A05C; +get_inside_segment_count_xyz = 0x8002A134; +get_segment = 0x8002A29C; +get_segment_bounding_box = 0x8002A2DC; +func_8002A31C = 0x8002A31C; +should_segment_be_visible = 0x8002A5F8; +check_if_in_draw_range = 0x8002A900; +func_8002AC00 = 0x8002AC00; +dayGetTrackFade = 0x8002ACA0; +func_8002ACC8 = 0x8002ACC8; +func_8002ACD4 = 0x8002ACD4; +get_wave_properties = 0x8002AD08; +func_8002B0F4 = 0x8002B0F4; +func_8002B9BC = 0x8002B9BC; +func_8002BAB0 = 0x8002BAB0; +func_8002C0C4 = 0x8002C0C4; +func_8002C71C = 0x8002C71C; +get_current_level_model = 0x8002C7C4; +free_track = 0x8002C7D4; +func_8002C954 = 0x8002C954; +func_8002CC30 = 0x8002CC30; +trackMakeAbsolute = 0x8002D30C; +render_object_shadow = 0x8002D384; +render_object_water_effects = 0x8002D670; +update_shadows = 0x8002D8DC; +func_8002DE30 = 0x8002DE30; +func_8002E234 = 0x8002E234; +func_8002E904 = 0x8002E904; +func_8002EEEC = 0x8002EEEC; +func_8002F2AC = 0x8002F2AC; +func_8002F440 = 0x8002F440; +func_8002FA64 = 0x8002FA64; +func_8002FD74 = 0x8002FD74; +func_8002FF6C = 0x8002FF6C; +func_800304C8 = 0x800304C8; +set_fog = 0x80030664; +get_fog_settings = 0x80030750; +reset_fog = 0x800307BC; +update_fog = 0x80030838; +apply_fog = 0x8003093C; +obj_loop_fogchanger = 0x80030A74; +slowly_change_fog = 0x80030DE0; +update_perspective_and_envmap = 0x80030FA0; +compute_scene_camera_transform_matrix = 0x80031018; + +// collision.c .text +func_80031130 = 0x80031130; +func_800314DC = 0x800314DC; +func_80031600 = 0x80031600; + +// lights.c .text +free_lights = 0x80031B60; +setup_lights = 0x80031BB8; +func_80031CAC = 0x80031CAC; +add_object_light = 0x80031F88; +disable_object_light = 0x80032210; +enable_object_light = 0x80032218; +toggle_object_light = 0x80032224; +func_80032248 = 0x80032248; +func_80032344 = 0x80032344; +lightUpdateLights = 0x80032398; +func_80032424 = 0x80032424; +func_80032BAC = 0x80032BAC; +get_light_count = 0x80032C6C; +func_80032C7C = 0x80032C7C; +func_800337E4 = 0x800337E4; +light_distance_calc = 0x80033A14; +light_direction_calc = 0x80033C08; + +// object_functions.c .text +obj_init_scenery = 0x80033CC0; +obj_loop_scenery = 0x80033DD0; +obj_init_fireball_octoweapon = 0x80033F44; +obj_loop_fireball_octoweapon = 0x80033F60; +obj_init_lasergun = 0x80034530; +obj_loop_lasergun = 0x800345A0; +obj_init_laserbolt = 0x80034844; +obj_loop_laserbolt = 0x80034860; +obj_init_torch_mist = 0x80034AF0; +obj_loop_torch_mist = 0x80034B4C; +obj_init_effectbox = 0x80034B68; +obj_loop_effectbox = 0x80034B74; +obj_init_trophycab = 0x80034E70; +obj_loop_trophycab = 0x80034E9C; +obj_init_collectegg = 0x8003522C; +obj_loop_collectegg = 0x80035260; +obj_init_eggcreator = 0x80035640; +obj_loop_eggcreator = 0x8003564C; +obj_init_lighthouse_rocketsignpost = 0x8003572C; +obj_loop_rocketsignpost = 0x800357D4; +obj_init_airzippers_waterzippers = 0x8003588C; +obj_loop_airzippers_waterzippers = 0x8003596C; +obj_init_groundzipper = 0x80035AE8; +obj_loop_groundzipper = 0x80035C50; +obj_init_timetrialghost = 0x80035E20; +obj_loop_timetrialghost = 0x80035E34; +obj_init_characterflag = 0x80035EF8; +obj_loop_characterflag = 0x80035F6C; +try_to_collect_egg = 0x80036040; +obj_init_stopwatchman = 0x80036194; +obj_loop_stopwatchman = 0x800361E0; +play_tt_voice_clip = 0x80036BCC; +obj_init_fish = 0x80036C30; +obj_loop_fish = 0x800370D4; +obj_init_lavaspurt = 0x80037578; +obj_loop_lavaspurt = 0x80037594; +obj_init_posarrow = 0x80037624; +obj_loop_posarrow = 0x8003763C; +obj_init_animator = 0x800376E0; +obj_loop_animator = 0x800377E4; +obj_init_animation = 0x80037A18; +obj_loop_animobject = 0x80037CE8; +obj_loop_dooropener = 0x80037D08; +obj_init_overridepos = 0x80037D54; +obj_loop_overridepos = 0x80037D60; +obj_init_wizpigship = 0x80037D6C; +obj_loop_wizpigship = 0x80037D78; +obj_loop_vehicleanim = 0x800380F8; +obj_init_hittester = 0x8003818C; +obj_loop_hittester = 0x800381C0; +obj_init_dynamic_lighting_object = 0x800381E0; +obj_init_unknown96 = 0x80038214; +obj_init_snowball = 0x80038248; +obj_loop_snowball = 0x8003827C; +obj_init_char_select = 0x80038330; +obj_loop_char_select = 0x8003833C; +obj_loop_animcamera = 0x80038710; +obj_init_animcar = 0x800387C0; +obj_loop_animcar = 0x800387CC; +obj_init_infopoint = 0x80038854; +obj_loop_infopoint = 0x800388D4; +obj_init_smoke = 0x800389AC; +obj_loop_smoke = 0x800389B8; +obj_init_unknown25 = 0x80038A6C; +obj_loop_unknown25 = 0x80038A78; +obj_init_wardensmoke = 0x80038AC8; +obj_loop_wardensmoke = 0x80038AD4; +obj_init_bombexplosion = 0x80038B74; +obj_loop_bombexplosion = 0x80038BF4; +obj_init_teleport = 0x80038D58; +obj_loop_teleport = 0x80038DC4; +obj_init_exit = 0x80038E3C; +obj_loop_exit = 0x80038F58; +obj_init_cameracontrol = 0x80039160; +obj_loop_cameracontrol = 0x80039184; +obj_init_setuppoint = 0x80039190; +obj_loop_setuppoint = 0x800391BC; +obj_init_dino_whale = 0x800391C8; +obj_loop_dino_whale = 0x800391FC; +obj_init_parkwarden = 0x800392B8; +set_taj_voice_line = 0x80039320; +obj_loop_parkwarden = 0x80039330; +play_taj_voice_clip = 0x8003AC3C; +obj_loop_gbparkwarden = 0x8003ACA0; +get_npc_pos_y = 0x8003ACAC; +obj_init_checkpoint = 0x8003ACBC; +obj_loop_checkpoint = 0x8003AD28; +obj_init_modechange = 0x8003AD34; +obj_loop_modechange = 0x8003AE50; +obj_init_bonus = 0x8003B058; +obj_loop_bonus = 0x8003B174; +obj_init_goldenballoon = 0x8003B368; +obj_loop_goldenballoon = 0x8003B4BC; +obj_init_door = 0x8003B7CC; +obj_loop_door = 0x8003B988; +obj_init_ttdoor = 0x8003C1E0; +obj_loop_ttdoor = 0x8003C2E4; +obj_init_trigger = 0x8003C644; +obj_loop_trigger = 0x8003C7A4; +obj_init_bridge_whaleramp = 0x8003C9EC; +obj_loop_bridge_whaleramp = 0x8003CA68; +obj_init_rampswitch = 0x8003CE64; +obj_loop_rampswitch = 0x8003CEA0; +obj_init_seamonster = 0x8003CF00; +obj_loop_seamonster = 0x8003CF0C; +obj_init_fogchanger = 0x8003CF18; +obj_init_skycontrol = 0x8003CF58; +obj_loop_skycontrol = 0x8003CF98; +obj_init_ainode = 0x8003CFE0; +obj_loop_ainode = 0x8003D02C; +obj_init_treasuresucker = 0x8003D038; +obj_loop_treasuresucker = 0x8003D058; +obj_init_flycoin = 0x8003D2AC; +obj_loop_flycoin = 0x8003D2B8; +obj_init_bananacreator = 0x8003D3EC; +obj_loop_bananacreator = 0x8003D3FC; +obj_init_banana = 0x8003D534; +obj_loop_banana = 0x8003D5A0; +obj_init_silvercoin_adv2 = 0x8003DBA0; +obj_init_silvercoin = 0x8003DC5C; +obj_loop_silvercoin = 0x8003DD14; +obj_init_worldkey = 0x8003DE74; +obj_loop_worldkey = 0x8003DF08; +obj_init_weaponballoon = 0x8003DFCC; +obj_loop_weaponballoon = 0x8003E140; +obj_init_wballoonpop = 0x8003E5B0; +obj_loop_wballoonpop = 0x8003E5BC; +obj_init_weapon = 0x8003E5C8; +obj_loop_weapon = 0x8003E630; +weapon_projectile = 0x8003E694; +rocket_prevent_overshoot = 0x8003EC14; +homing_rocket_prevent_overshoot = 0x8003EDD8; +reset_rocket_sound_timer = 0x8003F0D0; +decrease_rocket_sound_timer = 0x8003F0DC; +play_rocket_trailing_sound = 0x8003F0F8; +weapon_trap = 0x8003F2E8; +obj_spawn_effect = 0x8003FC44; +obj_init_audio = 0x8003FD68; +obj_init_audioline = 0x8003FEF4; +obj_init_audioreverb = 0x8004001C; +obj_init_texscroll = 0x800400A4; +obj_loop_texscroll = 0x80040148; +obj_init_rgbalight = 0x800403A8; +obj_init_buoy_pirateship = 0x800403D8; +obj_loop_buoy_pirateship = 0x80040448; +obj_init_log = 0x8004049C; +obj_loop_log = 0x80040570; +obj_init_weather = 0x80040800; +obj_loop_weather = 0x80040820; +obj_init_lensflare = 0x8004092C; +obj_init_lensflareswitch = 0x8004094C; +obj_init_wavegenerator = 0x800409A4; +obj_init_butterfly = 0x800409C8; +obj_loop_butterfly = 0x80040C54; +obj_init_midifade = 0x80041A90; +obj_init_midifadepoint = 0x80041E80; +obj_init_midichset = 0x80042014; +obj_init_bubbler = 0x8004203C; +obj_loop_bubbler = 0x80042090; +obj_init_boost = 0x8004210C; +obj_init_unknown94 = 0x80042150; +obj_loop_unknown94 = 0x80042160; +obj_init_rangetrigger = 0x8004216C; +obj_loop_rangetrigger = 0x80042178; +obj_init_frog = 0x80042210; +obj_loop_frog = 0x800422F0; +obj_loop_pigrocketeer = 0x80042998; +obj_init_levelname = 0x80042A1C; +obj_loop_levelname = 0x80042A90; +obj_loop_wizghosts = 0x80042CD0; + +// racer.c .text +func_80042D20 = 0x80042D20; +increment_ai_behaviour_chances = 0x80043ECC; +racer_AI_pathing_inputs = 0x80044170; +roll_percent_chance = 0x80044450; +func_8004447C = 0x8004447C; +func_80045128 = 0x80045128; +func_800452A0 = 0x800452A0; +func_80045C48 = 0x80045C48; +func_80046524 = 0x80046524; +racer_attack_handler_hovercraft = 0x80048C7C; +update_camera_hovercraft = 0x80048E64; +rotate_racer_in_water = 0x800494E0; +func_80049794 = 0x80049794; +apply_plane_tilt_anim = 0x8004C0A0; +racer_attack_handler_plane = 0x8004C140; +update_camera_plane = 0x8004C2B0; +func_8004CC20 = 0x8004CC20; +update_camera_loop = 0x8004D590; +update_carpet = 0x8004D95C; +obj_init_racer = 0x8004DAB0; +update_player_racer = 0x8004DE38; +set_racer_tail_lights = 0x8004F77C; +func_8004F7F4 = 0x8004F7F4; +racer_approach_object = 0x80050754; +apply_vehicle_rotation_offset = 0x80050850; +func_80050A28 = 0x80050A28; +should_taj_teleport = 0x80052188; +set_taj_status = 0x800521B8; +handle_racer_head_turning = 0x800521C4; +slowly_reset_head_angle = 0x8005234C; +turn_head_towards_object = 0x80052388; +func_8005250C = 0x8005250C; +func_80052988 = 0x80052988; +racer_spinout_car = 0x80052B64; +update_car_velocity_offground = 0x80052D7C; +handle_car_steering = 0x80053478; +func_800535C4 = 0x800535C4; +handle_car_velocity_control = 0x80053664; +func_80053750 = 0x80053750; +racer_attack_handler_car = 0x80053E9C; +update_onscreen_AI_racer = 0x80054110; +update_car_velocity_ground = 0x8005492C; +func_80054FD0 = 0x80054FD0; +onscreen_ai_racer_physics = 0x80055A84; +handle_racer_items = 0x80055EC0; +play_char_horn_sound = 0x80056930; +func_8005698C = 0x8005698C; +racer_activate_magnet = 0x80056E2C; +racer_play_sound = 0x80057048; +racer_play_sound_after_delay = 0x800570A4; +play_random_character_voice = 0x800570B8; +handle_racer_top_speed = 0x80057220; +func_800575EC = 0x800575EC; +drop_bananas = 0x800576E0; +handle_base_steering = 0x800579B0; +update_player_camera = 0x80057A40; +second_racer_camera_update = 0x800580B4; +update_camera_car = 0x800581E8; +update_camera_finish_challenge = 0x80058B84; +update_camera_finish_race = 0x80058D5C; +update_camera_fixed = 0x80058F44; +set_position_goal_from_path = 0x80059080; +func_80059208 = 0x80059208; +get_timestamp_from_frames = 0x80059790; +allocate_ghost_data = 0x800598D0; +timetrial_reset_player_ghost = 0x80059944; +timetrial_swap_player_ghost = 0x80059984; +timetrial_map_id = 0x800599A8; +timetrial_load_player_ghost = 0x800599B8; +load_tt_ghost = 0x80059A68; +timetrial_free_staff_ghost = 0x80059B4C; +timetrial_write_player_ghost = 0x80059B7C; +timetrial_ghost_write = 0x80059BF0; +timetrial_ghost_full = 0x80059E20; +set_ghost_position_and_rotation = 0x80059E40; +disable_racer_input = 0x8005A3B0; +racer_set_dialogue_camera = 0x8005A3C0; +drm_checksum_balloon = 0x8005A3D0; +racer_enter_door = 0x8005A424; +update_AI_racer = 0x8005A6F0; +func_8005B818 = 0x8005B818; +drm_vehicle_traction = 0x8005C25C; +func_8005C270 = 0x8005C270; + +//vehicle_tricky.c .text +racer_special_init = 0x8005C2F0; +update_tricky = 0x8005C364; +set_boss_voice_clip_offset = 0x8005CA78; +racer_boss_sound_spatial = 0x8005CA84; +play_random_boss_sound = 0x8005CB04; +racer_boss_finish = 0x8005CB68; +fade_when_near_camera = 0x8005D048; + +// vehicle_bluey.c .text +update_bluey = 0x8005D0D0; + +// vehicle_smokey.c .text +update_smokey = 0x8005D820; +spawn_boss_hazard = 0x8005E204; + +// vehicle_bubbler.c .text +update_bubbler = 0x8005E4C0; + +// vehicle_wizpig.c .text +update_wizpig = 0x8005EA90; + +// vehicle_rocket .c .text +update_rocket = 0x8005F310; + +// object_models.c .text +allocate_object_model_pools = 0x8005F850; +object_model_init = 0x8005F99C; +func_8005FCD0 = 0x8005FCD0; +free_3d_model = 0x8005FF40; +free_model_data = 0x80060058; +func_8006017C = 0x8006017C; +func_80060910 = 0x80060910; +func_80060AC8 = 0x80060AC8; +func_80060C58 = 0x80060C58; +func_80060EA8 = 0x80060EA8; +func_800619F4 = 0x800619F4; +func_80061A00 = 0x80061A00; +func_80061C0C = 0x80061C0C; + +// object_animate.c .text +object_animate = 0x80061D30; + +// csplayer.c .text +alCSPNew = 0x80062290; +__CSPVoiceHandler = 0x80062408; +__CSPPostNextSeqEvent = 0x800629CC; +__CSPHandleNextSeqEvent = 0x80062A3C; +__CSPHandleMIDIMsg = 0x80062B00; +__CSPHandleMetaMsg = 0x800637EC; +__CSPRepostEvent = 0x80063984; +__setUsptFromTempo = 0x80063A34; + +// unknown_064690.c .text +func_80063A90 = 0x80063A90; + +// seqchannel.c .text +alSeqChOff = 0x80063AF0; +alSeqChOn = 0x80063B44; + +// alCSPSetFadeIn.c .text +alCSPSetFadeIn = 0x80063BA0; +alCSPGetFadeIn = 0x80063C00; + +// reverb.c .text +alFxPull = 0x80063C30; +alFxParam = 0x80063F94; +alFxParamHdl = 0x80063FAC; +_loadOutputBuffer = 0x80064224; +_loadBuffer = 0x800644A0; +_saveBuffer = 0x80064638; +_filterBuffer = 0x800647D0; +_doModFunc = 0x80064884; +alFxReverbSet = 0x8006492C; +_alFxEnabled = 0x8006493C; + +// alFxNew.c .text +init_lpfilter = 0x80064950; +alFxNew = 0x80064A08; +alEnvmixerNew = 0x80064E54; +alLoadNew = 0x80064EF8; +alResampleNew = 0x80064F9C; +alAuxBusNew = 0x80065024; +alMainBusNew = 0x80065084; +alSaveNew = 0x800650E4; + +// synthesizer.c .text +alSynNew = 0x80065130; +alAudioFrame = 0x80065494; +__allocParam = 0x80065668; +__freeParam = 0x8006569C; +_collectPVoices = 0x800656BC; +_freePVoice = 0x8006571C; +_timeToSamplesNoRound = 0x80065754; +_timeToSamples = 0x800657C4; +__nextSampleTime = 0x800657EC; + +// alSynAllocFX.c .text +alSynAllocFX = 0x80065860; + +// alAuxBusPull.c .text +alAuxBusPull = 0x80065900; +alAuxBusParam = 0x800659D4; +func_80065A80 = 0x80065A80; + +// alSynSetPan.c .text +alSynSetPan = 0x80065B20; + +// alSynStartVoiceParams.c .text +set_stereo_pan_mode = 0x80065BD0; +get_stereo_pan_mode = 0x80065BDC; +modify_panning = 0x80065BEC; +alSynStartVoiceParams = 0x80065C38; + +// main.c .text +mainproc = 0x80065D40; +thread1_main = 0x80065D98; +thread3_verify_stack = 0x80065E30; + +// camera.c .text +camera_init = 0x80065EA0; +func_80066060 = 0x80066060; +set_viewport_tv_type = 0x80066098; +func_800660C0 = 0x800660C0; +func_800660D0 = 0x800660D0; +get_current_camera_fov = 0x800660DC; +update_camera_fov = 0x800660EC; +calculate_camera_perspective = 0x80066194; +matrix_get_model_s16 = 0x80066204; +get_viewport_count = 0x80066210; +get_current_viewport = 0x80066220; +camera_init_tracks_menu = 0x80066230; +get_distance_to_active_camera = 0x80066348; +camera_reset = 0x800663DC; +write_to_object_render_stack = 0x80066488; +check_if_showing_cutscene_camera = 0x80066510; +disable_cutscene_camera = 0x80066520; +set_active_viewports_and_max = 0x8006652C; +set_active_camera = 0x800665E8; +copy_viewports_to_stack = 0x80066610; +camEnableUserView = 0x80066818; +camDisableUserView = 0x80066894; +check_viewport_background_flag = 0x80066910; +viewport_menu_set = 0x80066940; +set_viewport_properties = 0x80066AA8; +copy_viewport_background_size_to_coords = 0x80066BA8; +copy_viewport_frame_size_to_coords = 0x80066C2C; +copy_framebuffer_size_to_coords = 0x80066C80; +func_80066CDC = 0x80066CDC; +viewport_scissor = 0x80067A3C; +func_80067D3C = 0x80067D3C; +set_ortho_matrix_height = 0x80067F20; +set_ortho_matrix_view = 0x80067F2C; +func_8006807C = 0x8006807C; +viewport_rsp_set = 0x80068158; +viewport_reset = 0x800682AC; +matrix_world_origin = 0x80068408; +sprite_anim_off = 0x80068508; +render_sprite_billboard = 0x80068514; +render_ortho_triangle_image = 0x80068BF4; +apply_object_shear_matrix = 0x80068FA8; +camera_push_model_mtx = 0x80069484; +apply_head_turning_matrix = 0x80069790; +get_modelmatrix_vector = 0x800699E4; +apply_matrix_from_stack = 0x80069A40; +translate_camera_segment = 0x80069ACC; +transform_camera_segment = 0x80069B70; +rotate_camera_segment = 0x80069CB4; +get_active_camera_segment_no_cutscenes = 0x80069CFC; +get_active_camera_segment = 0x80069D20; +get_cutscene_camera_segment = 0x80069D7C; +get_projection_matrix_f32 = 0x80069DA4; +get_projection_matrix_s16 = 0x80069DB0; +get_camera_matrix = 0x80069DBC; +get_distance_to_camera = 0x80069DC8; +set_camera_shake_by_distance = 0x80069E14; +set_camera_shake = 0x80069F28; +debug_print_fixed_matrix_values = 0x80069F64; +debug_print_float_matrix_values = 0x8006A03C; + +// controller.c .text +get_si_mesg_queue = 0x8006A100; +init_controllers = 0x8006A10C; +handle_save_data_and_read_controller = 0x8006A1C4; +initialise_player_ids = 0x8006A434; +charselect_assign_players = 0x8006A458; +get_player_id = 0x8006A4F8; +swap_player_1_and_2_ids = 0x8006A50C; +get_buttons_held_from_player = 0x8006A528; +get_buttons_pressed_from_player = 0x8006A554; +get_buttons_released_from_player = 0x8006A578; +clamp_joystick_x_axis = 0x8006A59C; +clamp_joystick_y_axis = 0x8006A5E0; +clamp_joystick = 0x8006A624; +disable_button_mask = 0x8006A6A0; + +// game.c .text +init_level_globals = 0x8006A6B0; +func_8006ABB4 = 0x8006ABB4; +search_level_properties_forwards = 0x8006AC00; +search_level_properties_backwards = 0x8006AE2C; +get_race_type_count = 0x8006B018; +get_world_level_count = 0x8006B054; +get_map_default_vehicle = 0x8006B0AC; +get_map_available_vehicles = 0x8006B0F8; +get_map_race_type = 0x8006B14C; +get_map_world_id = 0x8006B190; +get_hub_area_id = 0x8006B1D4; +get_number_of_levels_and_worlds = 0x8006B224; +check_if_in_race = 0x8006B240; +load_level = 0x8006B250; +start_level_music = 0x8006BD10; +get_current_map_id = 0x8006BD88; +get_current_level_race_type = 0x8006BD98; +get_current_level_header = 0x8006BDB0; +get_total_level_header_count = 0x8006BDC0; +get_level_name = 0x8006BDDC; +clear_audio_and_track = 0x8006BEFC; +set_ai_level = 0x8006BFC8; +free_ai_behaviour_table = 0x8006C164; +get_ai_behaviour_table = 0x8006C18C; +is_two_player_adventure_race = 0x8006C19C; +push_level_property_stack = 0x8006C1AC; +pop_level_property_stack = 0x8006C22C; +clear_level_property_stack = 0x8006C2E4; +get_level_property_stack_pos = 0x8006C2F0; +func_8006C300 = 0x8006C300; + +// thread3_main.c .text +thread3_main = 0x8006C330; +init_game = 0x8006C3E0; +main_game_loop = 0x8006C60C; +load_next_ingame_level = 0x8006CAE4; +load_level_game = 0x8006CB58; +unload_level_game = 0x8006CC14; +mode_game = 0x8006CCF0; +set_drumstick_unlock_transition = 0x8006D8A4; +race_postrace_type = 0x8006D8E0; +func_8006D8F0 = 0x8006D8F0; +func_8006D968 = 0x8006D968; +get_game_mode = 0x8006DA0C; +set_game_mode = 0x8006DA1C; +load_menu_with_level_background = 0x8006DA28; +set_level_default_vehicle = 0x8006DB14; +set_vehicle_id_for_menu = 0x8006DB20; +get_level_default_vehicle = 0x8006DB2C; +load_level_menu = 0x8006DB3C; +unload_level_menu = 0x8006DBE4; +update_menu_scene = 0x8006DC58; +mode_menu = 0x8006DCF8; +load_level_for_menu = 0x8006E2E8; +calc_and_alloc_heap_for_settings = 0x8006E3BC; +init_racer_headers = 0x8006E5BC; +clear_lap_records = 0x8006E770; +clear_game_progress = 0x8006E994; +reset_save_data = 0x8006EA58; +get_settings = 0x8006EA90; +is_game_paused = 0x8006EAA0; +is_postrace_viewport_active = 0x8006EAB0; +is_reset_pressed = 0x8006EAC0; +get_ingame_map_id = 0x8006EB14; +mark_to_read_flap_times = 0x8006EB24; +mark_to_read_course_times = 0x8006EB40; +mark_to_read_flap_and_course_times = 0x8006EB5C; +mark_read_save_file = 0x8006EB78; +mark_read_all_save_files = 0x8006EBA8; +mark_to_write_flap_times = 0x8006EBC4; +mark_to_write_course_times = 0x8006EBE0; +mark_to_write_flap_and_course_times = 0x8006EBFC; +force_mark_write_save_file = 0x8006EC18; +safe_mark_write_save_file = 0x8006EC48; +mark_save_file_to_erase = 0x8006ECAC; +mark_read_eeprom_settings = 0x8006ECC4; +mark_write_eeprom_settings = 0x8006ECE0; +alloc_displaylist_heap = 0x8006ECFC; +drm_validate_dmem = 0x8006EFB8; +default_alloc_displaylist_heap = 0x8006EFDC; +level_transition_begin = 0x8006F140; +func_8006F20C = 0x8006F20C; +begin_trophy_race_teleport = 0x8006F254; +begin_lighthouse_rocket_cutscene = 0x8006F29C; +begin_level_teleport = 0x8006F338; +set_pause_lockout_timer = 0x8006F388; +swap_lead_player = 0x8006F398; +set_frame_blackout_timer = 0x8006F42C; +mode_intro = 0x8006F43C; +is_controller_missing = 0x8006F4C8; +drm_validate_imem = 0x8006F4EC; + +// math_util.c .text +interrupts_disable = 0x8006F510; +interrupts_enable = 0x8006F53C; +set_gIntDisFlag = 0x8006F564; +get_gIntDisFlag = 0x8006F570; +s32_matrix_to_s16_matrix = 0x8006F57C; +f32_matrix_to_s32_matrix = 0x8006F5E0; +guMtxXFMF = 0x8006F64C; +f32_matrix_dot = 0x8006F6EC; +f32_matrix_mult = 0x8006F768; +f32_matrix_to_s16_matrix = 0x8006F870; +set_rng_seed = 0x8006F90C; +save_rng_seed = 0x8006F918; +load_rng_seed = 0x8006F92C; +get_rng_seed = 0x8006F940; +get_random_number_from_range = 0x8006F94C; +s16_matrix_rotate = 0x8006F9B8; +s16_matrix_to_s32_matrix = 0x8006FA40; +s16_vec3_mult_by_s32_matrix_full = 0x8006FA78; +s16_vec3_mult_by_s32_matrix = 0x8006FB60; +object_transform_to_matrix = 0x8006FC30; +f32_matrix_scale = 0x8006FE04; +f32_matrix_y_scale = 0x8006FE30; +object_transform_to_matrix_2 = 0x8006FE74; +func_80070058 = 0x80070058; +f32_matrix_from_rotation_and_scale = 0x80070130; +s16_vec3_apply_object_rotation = 0x800701E4; +f32_vec3_apply_object_rotation = 0x80070320; +f32_vec3_apply_object_rotation2 = 0x800703D8; +f32_vec3_apply_object_rotation3 = 0x80070490; +point_triangle_2d_xz_intersection = 0x800704F0; +f32_matrix_from_position = 0x800705F8; +f32_matrix_from_scale = 0x80070638; +atan2s = 0x8007066C; +arctan2_f = 0x80070750; +s32_matrix_cell_sqrt = 0x80070780; +bad_int_sqrt = 0x800707AC; +sins_f = 0x800707C4; +coss_f = 0x800707F8; +coss_s16 = 0x8007082C; +sins_s16 = 0x80070830; +coss_2 = 0x8007088C; +sins_2 = 0x80070890; +calc_dyn_lighting_for_level_segment = 0x800708D0; +func_80070A04 = 0x80070A04; +area_triangle_2d = 0x80070A2C; +set_breakpoint = 0x80070AD8; +dmacopy_doubleword = 0x80070B04; + +// memory.c .text +mempool_init_main = 0x80070B30; +mempool_new_sub = 0x80070B78; +mempool_init = 0x80070BE4; +mempool_alloc_safe = 0x80070C9C; +mempool_alloc = 0x80070D10; +mempool_slot_find = 0x80070D3C; +mempool_alloc_pool = 0x80070E90; +mempool_alloc_fixed = 0x80070EF8; +mempool_free_timer = 0x800710B0; +mempool_free = 0x80071140; +mempool_free_queue_clear = 0x80071198; +mempool_free_addr = 0x80071278; +func_80071314 = 0x80071314; +mempool_free_queue = 0x80071440; +mempool_locked_set = 0x80071478; +mempool_locked_unset = 0x80071538; +mempool_get_pool = 0x800715EC; +mempool_slot_clear = 0x8007164C; +get_memory_pool_address = 0x80071774; +mempool_slot_assign = 0x8007178C; +align16 = 0x80071850; +align8 = 0x8007186C; +align4 = 0x80071888; +find_active_pool_slot_colours = 0x800718A4; +get_memory_colour_tag_count = 0x80071A24; +mempool_print_tags_usb = 0x80071AD8; +mempool_print_tags_screen = 0x80071B54; +mmSlotPrint = 0x80071C74; +func_80071CE8 = 0x80071CE8; + +// osMotor.c .text +osMotorStop = 0x80071D30; +osMotorStart = 0x80071E58; +osMotorInit = 0x800720DC; + +// save_data.c .text +input_get_id = 0x80072250; +rumble_init = 0x80072298; +rumble_exists = 0x800722E8; +rumble_set = 0x80072348; +rumble_set_fade = 0x80072424; +rumble_start = 0x80072578; +rumble_stop = 0x8007267C; +rumble_kill = 0x80072708; +rumble_update = 0x80072718; +func_80072C54 = 0x80072C54; +func_80072E28 = 0x80072E28; +populate_settings_from_save_data = 0x8007306C; +func_800732E8 = 0x800732E8; +func_80073588 = 0x80073588; +func_800738A4 = 0x800738A4; +get_game_data_file_size = 0x80073C4C; +get_time_data_file_size = 0x80073C54; +get_file_extension = 0x80073C5C; +read_game_data_from_controller_pak = 0x80073E1C; +write_game_data_to_controller_pak = 0x80073F5C; +read_time_data_from_controller_pak = 0x80074018; +write_time_data_to_controller_pak = 0x80074148; +read_save_file = 0x80074204; +erase_save_file = 0x8007431C; +write_save_data = 0x800744DC; +read_eeprom_data = 0x800745D0; +write_eeprom_data = 0x800746F0; +calculate_eeprom_settings_checksum = 0x8007480C; +read_eeprom_settings = 0x80074874; +write_eeprom_settings = 0x8007497C; +calculate_ghost_header_checksum = 0x80074A4C; +func_80074AA8 = 0x80074AA8; +get_ghost_data_file_size = 0x80074B1C; +func_80074B34 = 0x80074B34; +func_80074EB8 = 0x80074EB8; +func_80075000 = 0x80075000; +func_800753D8 = 0x800753D8; +func_800756D4 = 0x800756D4; +get_si_device_status = 0x800758DC; +start_reading_controller_data = 0x80075AEC; +init_controller_paks = 0x80075B18; +check_for_rumble_pak = 0x80075CE0; +repair_controller_pak = 0x80075D38; +reformat_controller_pak = 0x80075DC4; +get_controller_pak_file_list = 0x80075E60; +cpak_free_files = 0x80076164; +get_free_space = 0x80076194; +delete_file = 0x800762C8; +copy_controller_pak_data = 0x80076388; +get_file_number = 0x800764E8; +read_data_from_controller_pak = 0x80076610; +write_controller_pak_file = 0x800766D4; +get_file_size = 0x80076924; +font_codes_to_string = 0x8007698C; +string_to_font_codes = 0x80076A38; +get_file_type = 0x80076AF4; + +// asset_loading.c .text +init_PI_mesg_queue = 0x80076BA0; +load_asset_section_from_rom = 0x80076C58; +load_compressed_asset_from_rom = 0x80076CF0; +load_asset_section_from_rom_to_address = 0x80076DFC; +load_asset_to_address = 0x80076E68; +get_rom_offset_of_asset = 0x80076EE8; +get_size_of_asset_section = 0x80076F30; +dmacopy = 0x80076F78; + +// borders.c .text +divider_draw = 0x80077050; +divider_clear_coverage = 0x80077268; + +// rcp.c .text +gfxtask_run_xbus = 0x80077450; +gfxtask_run_xbus_2 = 0x800775B0; +gfxtask_run_fifo = 0x80077734; +gfxtask_run_fifo_2 = 0x800778C8; +gfxtask_wait = 0x80077A54; +gfxtask_run_rdp = 0x80077AAC; +bgdraw_primcolour = 0x80077B34; +bgdraw_fillcolour = 0x80077B5C; +bgdraw_render = 0x80077B9C; +rdp_init = 0x80078054; +rsp_init = 0x800780DC; +gfxtask_init = 0x80078100; +bgdraw_texture_init = 0x80078170; +func_80078190 = 0x80078190; +bgdraw_chequer_on = 0x80078778; +bgdraw_chequer_off = 0x800787F0; +bgdraw_chequer = 0x800787FC; +bgdraw_set_func = 0x80078AAC; +texrect_draw = 0x80078AB8; +texrect_draw_scaled = 0x80078D00; + +// sched.c .text +osCreateScheduler = 0x80079350; +osScAddClient = 0x80079480; +osScRemoveClient = 0x800794E4; +osScGetCmdQ = 0x80079574; +osScGetInterruptQ = 0x8007957C; +scGetAudioTaskTimers = 0x80079584; +func_80079760 = 0x80079760; +dummy_80079808 = 0x80079808; +dummy_80079810 = 0x80079810; +__scHandleRetrace = 0x80079818; +__scHandleRSP = 0x80079B44; +__scHandleRDP = 0x80079D5C; +__scTaskReady = 0x80079DE8; +__scTaskComplete = 0x80079E40; +__scAppendList = 0x80079F40; +__scExec = 0x80079FA8; +__scYield = 0x8007A080; + +// set_rsp_segment.c .text +rsp_segment = 0x8007A2D0; + +// video.c .text +video_init = 0x8007A310; +fb_mode_set = 0x8007A4C0; +fb_mode = 0x8007A4CC; +fb_mode_size = 0x8007A4DC; +fb_size = 0x8007A520; +fb_init_vi = 0x8007A550; +fb_alloc = 0x8007A7E8; +video_delta_reset = 0x8007A974; +fb_update = 0x8007A98C; +func_8007AB24 = 0x8007AB24; +vi_refresh_rate = 0x8007AB34; +fb_swap = 0x8007AB9C; +fb_memcpy = 0x8007ABFC; + +// textures_sprites.c .text +tex_init_textures = 0x8007AC70; +tex_disable_modes = 0x8007AE0C; +tex_enable_modes = 0x8007AE28; +get_loaded_2D_textures = 0x8007AE44; +get_loaded_3D_textures = 0x8007AE54; +func_8007AE64 = 0x8007AE64; +load_texture = 0x8007AE74; +free_texture = 0x8007B2BC; +set_texture_colour_tag = 0x8007B374; +func_8007B380 = 0x8007B380; +reset_render_settings = 0x8007B3D0; +enable_primitive_colour = 0x8007B43C; +disable_primitive_colour = 0x8007B454; +set_animated_texture_header = 0x8007B46C; +load_and_set_texture_no_offset = 0x8007B4C8; +load_and_set_texture = 0x8007B4E8; +load_blinking_lights_texture = 0x8007BA5C; +sprite_opaque = 0x8007BF1C; +func_8007BF34 = 0x8007BF34; +func_8007C12C = 0x8007C12C; +func_8007C52C = 0x8007C52C; +get_texture_size_from_id = 0x8007C57C; +func_8007C660 = 0x8007C660; +func_8007C860 = 0x8007C860; +func_8007C8A0 = 0x8007C8A0; +load_sprite_info = 0x8007C8E0; +func_8007CA68 = 0x8007CA68; +free_sprite = 0x8007CCB0; +func_8007CDC0 = 0x8007CDC0; +build_tex_display_list = 0x8007D0F4; +func_8007EF64 = 0x8007EF64; +tex_animate_texture = 0x8007EF80; +func_8007F1E8 = 0x8007F1E8; +update_colour_cycle = 0x8007F24C; +init_pulsating_light_data = 0x8007F414; +update_pulsating_light_data = 0x8007F460; +func_8007F594 = 0x8007F594; + +// screen_asset.c .text +load_screen = 0x8007F640; +render_screen = 0x8007F714; + +//menu.c .text +load_menu_text = 0x8007F900; +menu_button_free = 0x8007FF88; +func_8007FFEC = 0x8007FFEC; +menu_button_uvs = 0x80080518; +func_80080580 = 0x80080580; +func_80080BC8 = 0x80080BC8; +menu_geometry_end = 0x80080E6C; +func_80080E90 = 0x80080E90; +init_save_data = 0x80081218; +reset_title_logo_scale = 0x800813C0; +menu_init = 0x800813D0; +menu_loop = 0x800815A4; +menu_timestamp_render = 0x80081800; +menu_number_render = 0x80081C04; +postrace_offsets = 0x80081E54; +postrace_render = 0x80081F4C; +draw_menu_elements = 0x800821EC; +trackmenu_set_records = 0x800828B8; +menu_missing_controller = 0x800829F8; +menu_logos_screen_init = 0x80082AAC; +menu_logo_screen_loop = 0x80082B84; +init_title_screen_variables = 0x80082FAC; +func_80083098 = 0x80083098; +menu_title_screen_init = 0x8008353C; +render_title_screen = 0x8008377C; +menu_title_screen_loop = 0x800839E4; +titlescreen_free = 0x80084118; +menu_options_init = 0x8008415C; +optionscreen_render = 0x800841B8; +menu_options_loop = 0x8008435C; +optionscreen_free = 0x800847C8; +menu_audio_options_init = 0x800847E8; +func_80084854 = 0x800848E8; +menu_audio_options_loop = 0x80084D08; +soundoptions_free = 0x80085290; +menu_save_options_init = 0x80085304; +savemenu_render_element = 0x80085464; +savemenu_render = 0x80085C30; +savemenu_check_space = 0x8008613C; +savemenu_blank_save_destination = 0x8008625C; +savemenu_load_sources = 0x80086358; +savemenu_load_destinations = 0x80086868; +savemenu_move = 0x80086ADC; +savemenu_write = 0x80086B90; +savemenu_render_error = 0x8008726C; +savemenu_input_source = 0x80087564; +savemenu_input_dest = 0x80087678; +savemenu_input_confirm = 0x80087760; +savemenu_input_message = 0x800877C8; +menu_save_options_loop = 0x80087BF4; +savemenu_free = 0x80087F4C; +func_80087F14 = 0x80087FA8; +check_for_controller_pak_errors = 0x800883C0; +menu_boot_init = 0x80088588; +menu_boot_loop = 0x800886A0; +bootscreen_free = 0x80088858; +bootscreen_init_cpak = 0x8008887C; +pakmenu_render = 0x800889CC; +menu_controller_pak_loop = 0x80089140; +pakmenu_free = 0x80089638; +menu_magic_codes_init = 0x80089670; +cheatmenu_render = 0x80089738; +menu_magic_codes_loop = 0x80089D6C; +cheatmenu_free = 0x8008A55C; +menu_magic_codes_list_init = 0x8008A57C; +cheatlist_render = 0x8008A600; +cheatlist_exclusive = 0x8008A98C; +menu_magic_codes_list_loop = 0x8008A9BC; +cheatlist_free = 0x8008ADB0; +cheatmenu_checksum = 0x8008ADD8; +charselect_prev = 0x8008AF48; +titlescreen_controller_assign = 0x8008AF94; +menu_character_select_init = 0x8008B060; +charselect_render_text = 0x8008B2A0; +charselect_new_player = 0x8008B3EC; +charselect_pick = 0x8008B55C; +charselect_input = 0x8008B7EC; +charselect_assign_ai = 0x8008BBD0; +menu_character_select_loop = 0x8008BDB8; +charselect_move = 0x8008C07C; +charselect_free = 0x8008C1BC; +charselect_music_channels = 0x8008C1FC; +menu_caution_init = 0x8008C448; +menu_caution_loop = 0x8008C490; +caution_free = 0x8008C57C; +menu_game_select_init = 0x8008C59C; +gameselect_render = 0x8008C72C; +menu_game_select_loop = 0x8008C850; +gameselect_free = 0x8008CB60; +menu_file_select_init = 0x8008CB90; +fileselect_render_element = 0x8008CCBC; +fileselect_render = 0x8008CE08; +fileselect_input_root = 0x8008D68C; +fileselect_input_copy = 0x8008D950; +fileselect_input_erase = 0x8008DD10; +menu_file_select_loop = 0x8008DF04; +fileselect_free = 0x8008E4BC; +menu_init_vehicle_textures = 0x8008E4F0; +menu_init_arrow_textures = 0x8008E544; +menu_input = 0x8008E580; +trackmenu_active = 0x8008E824; +menu_track_select_init = 0x8008E834; +trackmenu_assets = 0x8008F0A0; +menu_track_select_loop = 0x8008F2C8; +menu_track_select_unload = 0x8008F5C8; +func_8008F618 = 0x8008F6AC; +trackmenu_render_2D = 0x8008FAE8; +func_8008FF1C = 0x8008FFB0; +trackmenu_track_view = 0x8009057C; +trackmenu_input = 0x800909AC; +trackmenu_timetrial_sound = 0x80090F6C; +trackmenu_setup_render = 0x80090FC4; +func_80092188 = 0x8009221C; +trackmenu_staff_beaten = 0x80092C74; +menu_adventure_track_init = 0x80092D18; +adventuretrack_render = 0x80092F28; +menu_adventure_track_loop = 0x80093694; +adventuretrack_free = 0x80093AA0; +menu_pause_init = 0x80093AD4; +pausemenu_render = 0x80093DD4; +menu_pause_loop = 0x80094204; +menu_dialogue_end = 0x80094644; +menu_close_dialogue = 0x80094678; +menu_racer_portraits = 0x80094698; +postrace_start = 0x8009471C; +postrace_load = 0x80094AF0; +postrace_music_fade = 0x80094CA8; +func_80094D28 = 0x80094DBC; +postrace_message = 0x800956B8; +menu_postrace = 0x800957BC; +postrace_free = 0x80096824; +menu_results_init = 0x800968DC; +results_render = 0x80096A0C; +menu_results_loop = 0x8009733C; +results_free = 0x80097760; +filename_decompress = 0x8009778C; +filename_compress = 0x800977D8; +filename_trim = 0x80097864; +filename_init = 0x80097908; +filename_render = 0x800979AC; +filename_enter = 0x80097DA4; +menu_unload_bigfont = 0x8009827C; +trophyround_adventure = 0x8009829C; +menu_trophy_race_round_init = 0x80098300; +trophyround_render = 0x80098454; +menu_trophy_race_round_loop = 0x80098630; +trophyround_free = 0x800987E8; +func_80098774 = 0x80098808; +menu_trophy_race_rankings_init = 0x80098AB8; +rankings_render_order = 0x80098F50; +menu_trophy_race_rankings_loop = 0x80099068; +rankings_free = 0x80099694; +get_trophy_race_world_id = 0x800996C0; +ghostmenu_generate = 0x800996D0; +ghostmenu_erase = 0x80099974; +menu_ghost_data_init = 0x80099AF0; +ghostmenu_render = 0x80099F20; +menu_ghost_data_loop = 0x8009A868; +ghostmenu_free = 0x8009AC40; +cinematic_start = 0x8009AC6C; +menu_cinematic_init = 0x8009AD2C; +menu_cinematic_loop = 0x8009AD90; +cinematic_free = 0x8009AFAC; +menu_credits_init = 0x8009AFDC; +credits_fade = 0x8009B278; +menu_credits_loop = 0x8009B3C0; +credits_free = 0x8009BD84; +menu_camera_centre = 0x8009BDF0; +func_8009BE54 = 0x8009BEE8; +reset_controller_sticks = 0x8009BEF0; +update_controller_sticks = 0x8009BFB4; +reset_character_id_slots = 0x8009C1E8; +get_save_file_index = 0x8009C234; +get_track_id_to_load = 0x8009C244; +get_character_id_from_slot = 0x8009C2BC; +get_character_id_from_slot_unused = 0x8009C2D0; +get_player_selected_vehicle = 0x8009C2E4; +set_player_selected_vehicle = 0x8009C2F8; +charselect_status = 0x8009C308; +get_player_character = 0x8009C314; +enable_tracks_mode = 0x8009C358; +is_in_tracks_mode = 0x8009C364; +set_magic_code_flags = 0x8009C374; +get_filtered_cheats = 0x8009C3A0; +get_number_of_active_players = 0x8009C45C; +get_active_player_count = 0x8009C46C; +get_multiplayer_racer_count = 0x8009C4D4; +get_all_save_files_ptr = 0x8009C524; +menu_title_reset = 0x8009C530; +menu_assetgroup_free = 0x8009C53C; +menu_asset_free = 0x8009C59C; +menu_assetgroup_load = 0x8009C708; +menu_asset_load = 0x8009C768; +menu_imagegroup_load = 0x8009C938; +menu_image_load = 0x8009C998; +menu_imagegroup_free = 0x8009CAEC; +menu_element_render = 0x8009CAF4; +render_track_selection_viewport_border = 0x8009CE10; +dialogue_npc_finish = 0x8009CFFC; +dialogue_try_close = 0x8009D044; +npc_dialogue_loop = 0x8009D080; +set_option_text_colour = 0x8009D1AC; +render_dialogue_option = 0x8009D24C; +handle_menu_joystick_input = 0x8009D300; +func_8009D324 = 0x8009D3B8; +set_next_taj_challenge_menu = 0x8009D3C4; +set_menu_id_if_option_equal = 0x8009D3D0; +taj_menu_loop = 0x8009D3F4; +dialogue_race_defeat = 0x8009DA88; +tt_menu_loop = 0x8009DBD0; +dialogue_tt_gamestatus = 0x8009E464; +trophy_race_cabinet_menu_loop = 0x8009E87C; +dialogue_open_stub = 0x8009EA34; +dialogue_close_stub = 0x8009EA3C; +dialogue_ortho = 0x8009EA44; +get_eeprom_settings_pointer = 0x8009EB00; +set_eeprom_settings_value = 0x8009EB0C; +unset_eeprom_settings_value = 0x8009EB50; +get_eeprom_settings = 0x8009EB9C; +get_language = 0x8009EBB4; +set_language = 0x8009EC28; +is_adventure_two_unlocked = 0x8009ECF4; +is_in_adventure_two = 0x8009ED04; +is_in_two_player_adventure = 0x8009ED14; +is_tt_unlocked = 0x8009ED4C; +is_drumstick_unlocked = 0x8009ED64; +init_hud = 0x8009ED80; +func_8009F034 = 0x8009F0C4; +free_hud = 0x800A00CC; +race_starting = 0x800A0220; +render_hud = 0x800A0230; +hud_audio_init = 0x800A0C04; +hud_audio_update = 0x800A0C64; +render_hud_race = 0x800A0E50; +render_course_indicator_arrows = 0x800A0F44; +render_hud_banana_challenge = 0x800A12D8; +render_hud_challenge_eggs = 0x800A14B8; +hud_draw_eggs = 0x800A1580; +hud_eggs_portrait = 0x800A1A34; +render_hud_battle = 0x800A1C94; +func_800A1E48 = 0x800A1ED8; +hud_draw_lives = 0x800A2384; +render_hud_race_boss = 0x800A261C; +render_hud_taj_race = 0x800A26CC; +render_hud_hubworld = 0x800A2758; +func_800A277C = 0x800A280C; +set_stopwatch_face = 0x800A375C; +hud_speedometre_reset = 0x800A3900; +render_speedometer = 0x800A3914; +render_race_start = 0x800A3D74; +render_racer_bananas = 0x800A41E4; +render_treasure_hud = 0x800A4680; +render_silver_coin_counter = 0x800A4830; +render_race_finish_position = 0x800A4A0C; +func_800A4C34 = 0x800A4CC4; +render_race_position = 0x800A4CD4; +render_lap_count = 0x800A4FE0; +render_wrong_way_text = 0x800A5AF4; +hud_draw_finish_misc = 0x800A5FA8; +func_800A6254 = 0x800A62E4; +play_time_trial_end_message = 0x800A6E44; +render_time_trial_finish = 0x800A6EC0; +render_balloon_count = 0x800A721C; +hud_sound_play = 0x800A74D0; +hud_sound_play_delayed = 0x800A7514; +hud_sound_stop = 0x800A757C; +render_weapon_hud = 0x800A75B0; +render_magnet_reticle = 0x800A7AF0; +render_race_time = 0x800A7BF8; +render_timer = 0x800A804C; +minimap_init = 0x800A8444; +get_hud_setting = 0x800A84E8; +render_minimap_and_misc_hud = 0x800A8504; +minimap_marker_pos = 0x800AA47C; +func_800AA600 = 0x800AA690; +hud_draw_model = 0x800AB060; +minimap_fade = 0x800AB224; +minimap_opacity_set = 0x800AB23C; +hud_reset_race_start = 0x800AB258; +hud_visibility = 0x800AB264; +weather_init = 0x800AB280; +weather_clip_planes = 0x800AB398; +weather_free = 0x800AB3EC; +weather_reset = 0x800AB538; +snow_init = 0x800ABBC4; +weather_set = 0x800ABCEC; +weather_update = 0x800ABEF8; +snow_update = 0x800AC158; +snow_vertices = 0x800AC2AC; +snow_render = 0x800AC634; +lensflare_off = 0x800AC8E0; +lensflare_on = 0x800AC8F0; +lensflare_remove = 0x800AC910; +lensflare_init = 0x800AC938; +lensflare_render = 0x800ACAB0; +lensflare_override_add = 0x800ACFF0; +lensflare_override_remove = 0x800AD028; +lensflare_override = 0x800AD0C0; +rain_init = 0x800AD1D4; +free_rain_memory = 0x800AD2B0; +rain_set = 0x800AD354; +rain_fog = 0x800AD49C; +rain_opacity_set = 0x800AD53C; +rain_update = 0x800AD548; +rain_render_splashes = 0x800AD6E8; +rain_lightning = 0x800ADB48; +rain_sound = 0x800ADC58; +render_rain_overlay = 0x800ADD4C; +func_800AE270 = 0x800AE300; +func_800AE2A0 = 0x800AE330; +func_800AE2D8 = 0x800AE368; +func_800AE374 = 0x800AE404; +func_800AE438 = 0x800AE4C8; +func_800AE490 = 0x800AE520; +init_particle_assets = 0x800AE5C0; +func_800AE728 = 0x800AE7B8; +generate_particle_shape_triangle = 0x800AEEA4; +generate_particle_shape_quad = 0x800AEF48; +func_800AEF88 = 0x800AF018; +func_800AF024 = 0x800AF0B4; +func_800AF0A4 = 0x800AF134; +func_800AF0F0 = 0x800AF180; +func_800AF134 = 0x800AF1C4; +partInitTrigger = 0x800AF270; +func_800AF29C = 0x800AF32C; +func_800AF404 = 0x800AF494; +func_800AF52C = 0x800AF5BC; +func_800AF6E4 = 0x800AF774; +func_800AF714 = 0x800AF7A4; +obj_spawn_particle = 0x800AFCCC; +func_800AFE5C = 0x800AFEEC; +func_800B0010 = 0x800B00A0; +func_800B03C0 = 0x800B0450; +func_800B0698 = 0x800B0728; +func_800B0BAC = 0x800B0C3C; +func_800B1130 = 0x800B11C0; +func_800B1CB8 = 0x800B1D48; +func_800B2040 = 0x800B20D0; +func_800B2260 = 0x800B22F0; +handle_particle_movement = 0x800B238C; +func_800B263C = 0x800B26CC; +func_800B26E0 = 0x800B2770; +set_particle_texture_frame = 0x800B304C; +move_particle_basic_parent = 0x800B31D0; +move_particle_velocity_parent = 0x800B32D0; +move_particle_with_velocities = 0x800B33E8; +move_particle_basic = 0x800B3540; +move_particle_with_velocity = 0x800B35F4; +render_active_particles = 0x800B3708; +render_particle = 0x800B37D0; +func_800B3E64 = 0x800B3EF4; +get_particle_asset_table = 0x800B4518; +get_next_particle_table = 0x800B4564; +get_previous_particle_table = 0x800B45BC; +get_particle_behaviour = 0x800B4608; +func_800B45C4 = 0x800B4654; +func_800B461C = 0x800B46AC; +func_800B4668 = 0x800B46F8; +func_800B46BC = 0x800B474C; +strcpy = 0x800B47A0; +strcat = 0x800B47D4; +strcasecmp = 0x800B4824; +strncasecmp = 0x800B48D8; +memset = 0x800B499C; +_itoa = 0x800B49D0; +func_800B4A08 = 0x800B4A98; +sprintf = 0x800B4AA4; +vsprintf = 0x800B4AD0; +debug_text_init = 0x800B5F18; +render_printf = 0x800B5F6C; +debug_text_print = 0x800B6008; +debug_text_reset = 0x800B6270; +set_render_printf_colour = 0x800B629C; +set_render_printf_background_colour = 0x800B6344; +set_render_printf_position = 0x800B63EC; +debug_text_width = 0x800B6484; +func_800B653C = 0x800B65CC; +debug_text_background = 0x800B69EC; +debug_text_character = 0x800B6A8C; +debug_text_bounds = 0x800B6EE0; +debug_text_origin = 0x800B6F70; +debug_text_newline = 0x800B6F94; +func_800B6F30 = 0x800B6FC0; +__assert = 0x800B6FD0; +thread0_create = 0x800B6FE0; +thread0_Main = 0x800B7054; +enable_interupts_on_main = 0x800B7160; +stop_all_threads_except_main = 0x800B71D4; +write_epc_data_to_cpak = 0x800B7240; +dump_memory_to_cpak = 0x800B74F0; +update_object_stack_trace = 0x800B7748; +get_lockup_status = 0x800B776C; +mode_lockup = 0x800B7864; +render_epc_lock_up_display = 0x800B78A0; +stack_pointer = 0x800B7DA0; +free_waves = 0x800B7DB0; +wave_init = 0x800B7F44; +func_800B8134 = 0x800B81C4; +func_800B82B4 = 0x800B8344; +func_800B8B8C = 0x800B8C1C; +func_800B8C04 = 0x800B8C94; +func_800B9228 = 0x800B92B8; +func_800B92F4 = 0x800B9384; +func_800B97A8 = 0x800B9838; +func_800B9C18 = 0x800B9CA8; +func_800BA288 = 0x800BA318; +func_800BA4B8 = 0x800BA548; +func_800BA8E4 = 0x800BA974; +func_800BB2F4 = 0x800BB384; +func_800BBDDC = 0x800BBE6C; +func_800BBE08 = 0x800BBE98; +func_800BBF78 = 0x800BC008; +func_800BC6C8 = 0x800BC758; +func_800BCC70 = 0x800BCD00; +func_800BDC80 = 0x800BDD10; +func_800BE654 = 0x800BE6E4; +log_wave_height = 0x800BEF44; +func_800BEFC4 = 0x800BF054; +func_800BF3E4 = 0x800BF474; +func_800BF524 = 0x800BF5B4; +func_800BF634 = 0x800BF6C4; +func_800BF9F8 = 0x800BFA88; +func_800BFC54 = 0x800BFCE4; +func_800BFE98 = 0x800BFF28; +obj_loop_wavepower = 0x800C006C; +enable_new_screen_transitions = 0x800C0200; +disable_new_screen_transitions = 0x800C0210; +check_fadeout_transition = 0x800C021C; +transition_begin = 0x800C0268; +handle_transitions = 0x800C0524; +render_fade_transition = 0x800C0658; +transition_end = 0x800C07B4; +transition_fullscreen_start = 0x800C0810; +process_transition_fullscreen = 0x800C08C4; +render_fade_fullscreen = 0x800C0A98; +init_transition_shape = 0x800C0B90; +process_transition_shape = 0x800C11C0; +render_fade_barndoor_horizontal = 0x800C1474; +render_fade_barndoor_vertical = 0x800C156C; +func_800C15D4 = 0x800C1664; +func_800C1EE8 = 0x800C1F78; +render_fade_circle = 0x800C2304; +render_fade_waves = 0x800C2488; +render_fade_barndoor_diagonal = 0x800C25D8; +init_transition_blank = 0x800C26D0; +process_transition_disabled = 0x800C2830; +render_fade_disabled = 0x800C2978; +init_dialogue_text = 0x800C2A80; +free_message_box = 0x800C2B44; +set_subtitles = 0x800C2B84; +render_subtitles = 0x800C2B90; +find_next_subtitle = 0x800C2DFC; +process_subtitles = 0x800C2FAC; +load_game_text_table = 0x800C30D8; +free_game_text_table = 0x800C315C; +set_textbox_display_value = 0x800C31D0; +reset_delayed_text = 0x800C31DC; +set_delayed_text = 0x800C31E8; +set_current_text = 0x800C327C; +textbox_visible = 0x800C3490; +process_onscreen_textbox = 0x800C34D0; +dialogue_challenge_loop = 0x800C35F4; +func_800C38B4 = 0x800C3944; +load_fonts = 0x800C3C90; +set_kerning = 0x800C41F4; +load_font = 0x800C4200; +unload_font = 0x800C42BC; +set_text_font = 0x800C437C; +get_loaded_font = 0x800C43A8; +set_text_colour = 0x800C4414; +set_text_background_colour = 0x800C445C; +draw_text_plain_unused = 0x800C4494; +draw_text = 0x800C44D0; +draw_dialogue_text_unused = 0x800C4550; +draw_dialogue_text_pos_unused = 0x800C45A0; +render_text_string = 0x800C4634; +get_text_width = 0x800C4E30; +set_current_dialogue_box_coords = 0x800C4F6C; +set_dialogue_font = 0x800C500C; +set_current_dialogue_background_colour = 0x800C504C; +set_current_text_colour = 0x800C5090; +set_current_text_background_colour = 0x800C50E0; +set_current_text_offset = 0x800C5124; +reset_current_text_offset = 0x800C5168; +func_800C510C = 0x800C519C; +render_dialogue_text = 0x800C51F8; +move_dialogue_box_to_front = 0x800C54B8; +dialogue_clear = 0x800C5524; +align_text_in_box = 0x800C5578; +open_dialogue_box = 0x800C5684; +dialogue_close = 0x800C56B0; +set_dialogue_box_unused_flag = 0x800C56DC; +dialogue_box_clear_unused_flag = 0x800C5708; +enable_dialogue_box_vertices = 0x800C5734; +clear_dialogue_box_open_flag = 0x800C5760; +render_dialogue_boxes = 0x800C578C; +s32_to_string = 0x800C589C; +render_fill_rectangle = 0x800C5B30; +render_dialogue_box = 0x800C5BE8; +parse_string_with_number = 0x800C5FF0; +osCreatePiManager = 0x800C6090; +gzip_init = 0x800C6200; +byteswap32 = 0x800C623C; +get_asset_uncompressed_size = 0x800C626C; +gzip_inflate = 0x800C62A8; +gzip_huft_build = 0x800C6304; +gzip_inflate_block = 0x800C6950; +gzip_inflate_dynamic = 0x800C6A54; +gzip_inflate_fixed = 0x800C6E6C; +gzip_inflate_stored = 0x800C6FC4; +gzip_inflate_codes = 0x800C70D0; +__osLeoInterrupt = 0x800C73D0; +create_and_start_thread30 = 0x800C73E0; +stop_thread30 = 0x800C744C; +get_thread30_need_to_load_level = 0x800C7470; +tick_thread30 = 0x800C7480; +get_thread30_load_delay = 0x800C74D8; +set_level_to_load_in_background = 0x800C74E8; +thread30_track_loading = 0x800C7530; // type:func +alHeapInit = 0x800C75F0; +alBnkfNew = 0x800C7734; +alSeqFileNew = 0x800C7838; +alHeapDBAlloc = 0x800C7880; +alCSPSetVol = 0x800C78E0; +alCSPGetTempo = 0x800C7920; +osGetCount = 0x800C7960; +alCSPSetChlPan = 0x800C7970; +alCSPSetChlVol = 0x800C79D0; +alCSPGetChlVol = 0x800C7A30; +alSeqpGetChlFXMix = 0x800C7A50; +alCSPSetTempo = 0x800C7A70; +alCSPGetState = 0x800C7AE0; +alCSPSetBank = 0x800C7AF0; +alCSeqGetLoc = 0x800C7B30; +alCSeqSetLoc = 0x800C7BD0; +alCSeqNextEvent = 0x800C7D94; +alCSeqNew = 0x800C808C; +alCSeqNewMarker = 0x800C81A0; +alCSeqGetTicks = 0x800C830C; +alCSeqSecToTicks = 0x800C8314; +alCSeqTicksToSec = 0x800C8410; +__alCSeqNextDelta = 0x800C847C; +alCSPSetSeq = 0x800C85F0; +alCSPPlay = 0x800C8630; +alCSPStop = 0x800C8660; +osAiSetFrequency = 0x800C8690; +alUnlink = 0x800C87F0; +alLink = 0x800C8820; +alClose = 0x800C8844; +alInit = 0x800C887C; +osCreateMesgQueue = 0x800C88B0; +osCreateThread = 0x800C88E0; +osStartThread = 0x800C8A30; +osStopThread = 0x800C8B80; +osRecvMesg = 0x800C8C40; +osVirtualToPhysical = 0x800C8D80; +osAiSetNextBuffer = 0x800C8E00; +osAiGetLength = 0x800C8EB0; +osSendMesg = 0x800C8EC0; +osPiStartDma = 0x800C9010; +alEvtqFlushType = 0x800C9120; +alEvtqFlush = 0x800C91CC; +alEvtqPostEvent = 0x800C923C; +alEvtqNextEvent = 0x800C9360; +alEvtqNew = 0x800C93EC; +alSynAddPlayer = 0x800C9460; +_allocatePVoice = 0x800C94B0; +alSynAllocVoice = 0x800C9598; +alSynSetVol = 0x800C96E0; +alSynStartVoice = 0x800C9780; +alSynSetPitch = 0x800C9810; +alSynSetFXMix = 0x800C98A0; +alSynStopVoice = 0x800C9940; +alSynFreeVoice = 0x800C99C0; +alCents2Ratio = 0x800C9A70; +osSetIntMask = 0x800C9AC0; +sqrtf = 0x800C9B60; +alSynSetPriority = 0x800C9B70; +__NOPS_NEEDED = 0x800C9B80; +__d_to_ll = 0x800C9BC0; +__f_to_ll = 0x800C9BDC; +__d_to_ull = 0x800C9BF8; +__f_to_ull = 0x800C9C98; +__ll_to_d = 0x800C9D34; +__ll_to_f = 0x800C9D4C; +__ull_to_d = 0x800C9D64; +__ull_to_f = 0x800C9D98; +rmonPrintf = 0x800C9DE4; +bcopy = 0x800C9E30; +alFilterNew = 0x800CA140; +alEnvmixerPull = 0x800CA160; +alEnvmixerParam = 0x800CAB0C; +_frexpf = 0x800CB194; +_ldexpf = 0x800CB318; +alLoadParam = 0x800CB5D0; +alRaw16Pull = 0x800CB7A4; +alAdpcmPull = 0x800CBC7C; +alResampleParam = 0x800CC120; +alResamplePull = 0x800CC20C; +alMainBusParam = 0x800CC420; +alMainBusPull = 0x800CC450; +alSaveParam = 0x800CC570; +alSavePull = 0x800CC5A4; +osInitialize = 0x800CC630; +osSetThreadPri = 0x800CC8D0; +guPerspectiveF = 0x800CC9B0; +guPerspective = 0x800CCBE0; +osSetEventMesg = 0x800CCC40; +osContInit = 0x800CCCB0; +__osContGetInitData = 0x800CCEA8; +__osPackRequestData = 0x800CCF78; +osContStartReadData = 0x800CD070; +osContGetReadData = 0x800CD134; +__osSpSetStatus = 0x800CD2D0; +osDpSetStatus = 0x800CD2E0; +osSetTime = 0x800CD2F0; +osPfsIsPlug = 0x800CD320; +__osPfsRequestData = 0x800CD4C0; +__osPfsGetInitData = 0x800CD5BC; +__osSiCreateAccessQueue = 0x800CD690; +__osSiGetAccess = 0x800CD6E0; +__osSiRelAccess = 0x800CD724; +__osSiRawStartDma = 0x800CD750; +__osContAddressCrc = 0x800CD800; +__osContDataCrc = 0x800CD8B0; +__osContRamWrite = 0x800CD980; +__osContRamRead = 0x800CDD30; +bcmp = 0x800CE0E0; +memcpy = 0x800CE200; +strlen = 0x800CE22C; +strchr = 0x800CE254; +osEepromProbe = 0x800CE2A0; +osEepromRead = 0x800CE310; +__osPackEepReadData = 0x800CE500; +osEepromWrite = 0x800CE610; +__osPackEepWriteData = 0x800CE7C0; +__osEepStatus = 0x800CE8CC; +__ull_rshift = 0x800CEAF0; +__ull_rem = 0x800CEB1C; +__ull_div = 0x800CEB58; +__ll_lshift = 0x800CEB94; +__ll_rem = 0x800CEBC0; +__ll_div = 0x800CEBFC; +__ll_mul = 0x800CEC58; +__ull_divremi = 0x800CEC88; +__ll_mod = 0x800CECE8; +__ll_rshift = 0x800CED84; +osPfsInit = 0x800CEDB0; +__osPfsGetStatus = 0x800CEE64; +osPfsReadWriteFile = 0x800CF06C; +osPfsFreeBlocks = 0x800CF470; +osPfsChecker = 0x800CF5C0; +corrupted_init = 0x800CFC84; +corrupted = 0x800CFE38; +osPfsReFormat = 0x800D0020; +osPfsNumFiles = 0x800D0420; +bzero = 0x800D0570; +osPfsFileState = 0x800D0610; +osPfsDeleteFile = 0x800D0900; +__osPfsReleasePages = 0x800D0BE0; +__osBlockSum = 0x800D0E18; +osPfsFindFile = 0x800D0F10; +osPfsAllocateFile = 0x800D10D0; +__osPfsDeclearPage = 0x800D1554; +osInvalDCache = 0x800D1880; +osWritebackDCacheAll = 0x800D1930; +osDpGetStatus = 0x800D1960; +osDpSetNextBuffer = 0x800D1970; +osCreateViManager = 0x800D1A20; +viMgrMain = 0x800D1B98; +osViSetMode = 0x800D1D30; +osViBlack = 0x800D1DA0; +osViSetEvent = 0x800D1E10; +osSpTaskYielded = 0x800D1E80; +osViGetCurrentFramebuffer = 0x800D1F00; +osViGetNextFramebuffer = 0x800D1F40; +osSpTaskLoad = 0x800D209C; +osSpTaskStartGo = 0x800D21FC; +osGetTime = 0x800D2240; +osSpTaskYield = 0x800D22D0; +osViSetSpecialFeatures = 0x800D22F0; +osViSwapBuffer = 0x800D24B0; +__osGetActiveQueue = 0x800D2500; +__osPiCreateAccessQueue = 0x800D2510; +__osPiGetAccess = 0x800D2560; +__osPiRelAccess = 0x800D25A4; +osGetThreadPri = 0x800D25D0; +__osDisableInt = 0x800D25F0; +__osRestoreInt = 0x800D2610; +osPiRawStartDma = 0x800D2630; +osEPiRawStartDma = 0x800D2710; +__osDevMgrMain = 0x800D27F0; +__osViInit = 0x800D2BA0; +alSynDelete = 0x800D2CF0; +__osDequeueThread = 0x800D2D00; +__osExceptionPreamble = 0x800D2D40; +__osException = 0x800D2D50; +send_mesg = 0x800D3274; +handle_CpU = 0x800D3328; +__osEnqueueAndYield = 0x800D335C; +__osEnqueueThread = 0x800D345C; +__osPopThread = 0x800D34A4; +__osDispatchThread = 0x800D34B4; +__osCleanupThread = 0x800D3630; +__osProbeTLB = 0x800D3640; +__osAiDeviceBusy = 0x800D3700; +osJamMesg = 0x800D3730; +osPiGetCmdQueue = 0x800D3880; +alCopy = 0x800D38B0; +_Printf = 0x800D3FA0; +__osSetSR = 0x800D45F0; +__osGetSR = 0x800D4600; +__osSetFpcCsr = 0x800D4610; +__osSiRawReadIo = 0x800D4620; +__osSiRawWriteIo = 0x800D4670; +osWritebackDCache = 0x800D46C0; +osInvalICache = 0x800D4740; +osMapTLBRdb = 0x800D47C0; +osPiRawReadIo = 0x800D4820; +__osSetHWIntrRoutine = 0x800D4880; +guMtxF2L = 0x800D48D0; +guMtxIdentF = 0x800D49D0; +guMtxIdent = 0x800D4A58; +guMtxL2F = 0x800D4A88; +cosf = 0x800D4B40; +sinf = 0x800D4CB0; +osSetTimer = 0x800D4E70; +__osTimerServicesInit = 0x800D4F50; +__osTimerInterrupt = 0x800D4FDC; +__osSetTimerIntr = 0x800D5154; +__osInsertTimer = 0x800D51C8; +__osSiDeviceBusy = 0x800D5350; +__osSumcalc = 0x800D5380; +__osIdCheckSum = 0x800D53DC; +__osRepairPackId = 0x800D5444; +__osCheckPackId = 0x800D585C; +__osGetId = 0x800D59F4; +__osCheckId = 0x800D5C50; +__osPfsRWInode = 0x800D5D4C; +__osPfsSelectBank = 0x800D606C; +__osDpDeviceBusy = 0x800D60E0; +__osViGetCurrentContext = 0x800D6110; +__osViSwapContext = 0x800D6120; +__osSpGetStatus = 0x800D6480; +__osSpSetPc = 0x800D6490; +__osSpRawStartDma = 0x800D64D0; +__osSpDeviceBusy = 0x800D6560; +__osResetGlobalIntMask = 0x800D6590; +osEPiRawWriteIo = 0x800D65F0; +osYieldThread = 0x800D6640; +osDestroyThread = 0x800D6690; +_Litob = 0x800D6790; +_Genld = 0x800D6A30; +_Ldtob = 0x800D6FA0; +__osSetCompare = 0x800D74F0; +lldiv = 0x800D7500; +ldiv = 0x800D7600; + +// ucode_text pal v77 +aspMainTextStart = 0x800D7690; // size:0xEC0 +rspF3DDKRBootStart = 0x800D8550; // size:0xD0 +rspF3DDKRDramStart = 0x800D8620; // size:0x1200 +rspF3DDKRFifoStart = 0x800D9820; // size:0x11E0 +rspF3DDKRXbusStart = 0x800DAA00; // size:0x1200 +rspUnknown2Start = 0x800DBC00; // size:0xAC0 + +gMusicPlayer = 0x800DC6C0; +gJinglePlayer = 0x800DC6C4; +gMusicBaseVolume = 0x800DC6C8; +sfxRelativeVolume = 0x800DC6CC; +gCanPlayMusic = 0x800DC6D0; +gCanPlayJingle = 0x800DC6D4; +gBlockMusicChange = 0x800DC6D8; +audioPrevCount = 0x800DC6DC; +sMusicFadeVolume = 0x800DC6E0; +gMusicSliderVolume = 0x800DC6E4; +gDelayedSoundsCount = 0x800DC6E8; +gMusicNextSeqID = 0x800DC6EC; +gJingleNextSeqID = 0x800DC6F0; +D_800DC664 = 0x800DC6F4; +D_800DC668 = 0x800DC6F8; +gGlobalMusicVolume = 0x800DC6FC; +gBlockVoiceLimitChange = 0x800DC700; +audFrameCt = 0x800DC710; +nextDMA = 0x800DC714; +curAcmdList = 0x800DC718; +gAntiPiracyAudioFreq = 0x800DC71C; +gFunc80019808Checksum = 0x800DC720; +gFunc80019808Length = 0x800DC724; +D_800DC6B0 = 0x800DC740; // size:0xC +gAlSndPlayerPtr = 0x800DC74C; +sfxVolumeSlider = 0x800DC750; +D_800DC6C4 = 0x800DC754; +gVehicleSounds = 0x800DC760; +D_800DC6D4 = 0x800DC764; +D_800DC6D8 = 0x800DC768; +gUsedMasks = 0x800DC770; +gTajChallengeTransition = 0x800DC780; +gBalloonCutsceneTransition = 0x800DC788; +D_800DC700 = 0x800DC790; +D_800DC704 = 0x800DC794; +D_800DC708 = 0x800DC798; +D_800DC70C = 0x800DC79C; +D_800DC710 = 0x800DC7A0; +D_800DC714 = 0x800DC7A4; +gGhostObjStaff = 0x800DC7A8; +D_800DC71C = 0x800DC7AC; +gObjectTexAnim = 0x800DC7B0; +gTimeTrialTime = 0x800DC7B4; +gTimeTrialVehicle = 0x800DC7B8; +gTimeTrialCharacter = 0x800DC7BC; +gHasGhostToSave = 0x800DC7C0; +gTimeTrialStaffGhost = 0x800DC7C4; +gBeatStaffGhost = 0x800DC7C8; +D_800DC73C = 0x800DC7CC; +D_800DC740 = 0x800DC7D0; +gSwapLeadPlayer = 0x800DC7D4; +D_800DC748 = 0x800DC7D8; +D_800DC74C = 0x800DC7DC; +D_800DC754 = 0x800DC7E4; +gShieldEffectObject = 0x800DC7EC; +D_800DC760 = 0x800DC7F0; +gMagnetEffectObject = 0x800DC7F4; +D_800DC768 = 0x800DC7F8; +D_800DC76C = 0x800DC7FC; +D_800DC7A8 = 0x800DC838; +D_800DC7B8 = 0x800DC848; // type:s16 size:0x66 +gBossVehicles = 0x800DC8B0; // size:0x14 +D_800DC834 = 0x800DC8C4; +D_800DC840 = 0x800DC8D0; +gNoBoundsCheck = 0x800DC8D8; +gMagnetColours = 0x800DC8DC; +gRaceEndFade = 0x800DC8E8; +gRaceEndTransition = 0x800DC8F0; +D_800DC870 = 0x800DC900; +gFullFadeToBlack = 0x800DC904; +gCircleFadeToBlack = 0x800DC90C; +D_800DC884 = 0x800DC914; +D_800DC8AC = 0x800DC93C; +gCurrentLevelModel = 0x800DC9A8; +gCurrentLevelHeader2 = 0x800DC9AC; +D_800DC920 = 0x800DC9B0; +D_800DC924 = 0x800DC9B4; +D_800DC928 = 0x800DC9B8; +D_800DC92C = 0x800DC9BC; +gActiveLights = 0x800DC9E0; +D_800DC954 = 0x800DC9E4; +gMaxLights = 0x800DC9E8; +gNumActiveLights = 0x800DC9EC; +D_800DC960 = 0x800DC9F0; +D_800DC964 = 0x800DC9F4; +D_800DC968 = 0x800DC9F8; +gTajTransformTransitionEnd = 0x800DCA00; +gTajTransition = 0x800DCA08; +gCharacterFlagVertices = 0x800DCA10; +D_800DC9A8 = 0x800DCA38; +D_800DC9CC = 0x800DCA5C; +D_800DC9D0 = 0x800DCA60; +D_800DCA50 = 0x800DCAE0; +D_800DCA58 = 0x800DCAE8; +D_800DCA64 = 0x800DCAF4; +D_800DCA70 = 0x800DCB00; +D_800DCA7C = 0x800DCB0C; +D_800DCA88 = 0x800DCB18; +D_800DCA94 = 0x800DCB24; +D_800DCA9C = 0x800DCB2C; +D_800DCAA8 = 0x800DCB38; +D_800DCB28 = 0x800DCBB8; +gObjLoopGoldenBalloonLength = 0x800DCBE0; +gAntiPiracyHeadroll = 0x800DCBE4; +D_800DCB58 = 0x800DCBE8; +D_800DCB5C = 0x800DCBEC; +D_800DCB60 = 0x800DCBF0; +gNumViewports = 0x800DCC28; +gSurfaceTractionTable = 0x800DCC2C; +D_800DCBE8 = 0x800DCC78; +gSurfaceBobbingTable = 0x800DCCC4; +gSurfaceSoundTable = 0x800DCD10; +D_800DCCCC = 0x800DCD5C; +gSurfaceFlagTable = 0x800DCD84; +gSurfaceFlagTable4P = 0x800DCDD0; +gRacerAIBalloonActionTable = 0x800DCE20; +D_800DCDA0 = 0x800DCE30; +D_800DCDA8 = 0x800DCE38; +D_800DCDB0 = 0x800DCE40; +gObjLoopGoldenBalloonChecksum = 0x800DCE60; +gDoorFadeTransition = 0x800DCE64; +gTrickyVoiceTable = 0x800DCE70; +gBlueyVoiceTable = 0x800DCE90; +gSmokeyVoiceTable = 0x800DCEB0; +gBubblerVoiceTable = 0x800DCED0; +gWizpigVoiceTable = 0x800DCEF0; +gRocketVoiceTable = 0x800DCF10; +gTractionTableChecksum = 0x800DCF30; +gTrackRenderFuncLength = 0x800DCF34; +alFXEnabled = 0x800DCF40; +gStereoPanMode = 0x800DD0E0; +gAntiPiracyViewport = 0x800DD0F0; +gScreenViewports = 0x800DD0F4; +gViewportWithBG = 0x800DD1C4; +gVehiclePartVertex = 0x800DD1C8; +gViewportStack = 0x800DD1D8; +D_800DD288 = 0x800DD318; +D_800DD2A0 = 0x800DD330; +gOrthoMatrixF = 0x800DD348; +gCameraZoomLevels = 0x800DD388; +sNoControllerPluggedIn = 0x800DD390; +gButtonMask = 0x800DD394; +gTempLevelNames = 0x800DD3A0; +gCurrentDefaultVehicle = 0x800DD3A4; +gTwoPlayerAdvRace = 0x800DD3A8; +gIsInRace = 0x800DD3AC; +gViewportFuncChecksum = 0x800DD3B0; +gViewportFuncLength = 0x800DD3B4; +gLevelPropertyStackPos = 0x800DD3B8; +D_800DD32C = 0x800DD3BC; +D_800DD330 = 0x800DD3C0; +sDebugRomBuildInfo = 0x800DD3D0; // size:0xC +gBuildString = 0x800DD3DC; // type:asciz size:0x28 +sAntiPiracyTriggered = 0x800DD404; // type:s8 +D_800DD378 = 0x800DD408; +gSaveDataFlags = 0x800DD40C; +gScreenStatus = 0x800DD410; +sControllerStatus = 0x800DD414; +D_800DD388 = 0x800DD418; +gSkipGfxTask = 0x800DD41C; +gDrumstickSceneLoadTimer = 0x800DD420; +gLevelLoadTimer = 0x800DD424; +gPauseLockTimer = 0x800DD428; +gFutureFunLandLevelTarget = 0x800DD42C; +gDmemInvalid = 0x800DD430; +D_800DD3A4 = 0x800DD434; +D_800DD3A8 = 0x800DD438; +D_800DD3AC = 0x800DD43C; +gNumF3dCmdsPerPlayer = 0x800DD440; // size:0x10 +gNumHudVertsPerPlayer = 0x800DD450; // size:0x10 +gNumHudMatPerPlayer = 0x800DD460; // size:0x10 +gNumHudTrisPerPlayer = 0x800DD470; // size:0x10 +gDrawFrameTimer = 0x800DD480; +D_800DD3F4 = 0x800DD484; +D_800DD3FC = 0x800DD48C; +sLogicUpdateRate = 0x800DD494; +gDrumstickSceneTransition = 0x800DD498; +D_800DD410 = 0x800DD4A0; +gLevelFadeOutTransition = 0x800DD4AC; +D_800DD424 = 0x800DD4B4; +gIntDisFlag = 0x800DD4C0; +gCurrentRNGSeed = 0x800DD4C4; +gPrevRNGSeed = 0x800DD4C8; +gSineTable = 0x800DD4CC; +gArcTanTable = 0x800DDCCE; +gPakFileList = 0x800DE4D0; +gN64FontCodes = 0x800DE4D4; +sControllerPaksPresent = 0x800DE518; +gRumbleKillTimer = 0x800DE51C; +gGfxTaskMesgNums = 0x800DE520; +sBGPrimColourrR = 0x800DE540; +sBGPrimColourrG = 0x800DE544; +sBGPrimColourrB = 0x800DE548; +sBackgroundFillColour = 0x800DE54C; +gTexBGShiftX = 0x800DE550; +gTexBGTex1 = 0x800DE554; +gTexBGTex2 = 0x800DE558; +gChequerBGEnabled = 0x800DE55C; +gBGDrawFunc = 0x800DE560; +gGfxBufCounter = 0x800DE564; +ggGfxBufCounter2 = 0x800DE568; +gGfxTaskIsRunning = 0x800DE56C; +dRspInit = 0x800DE570; +dRdpInit = 0x800DE5B0; +dRaceFinishBackgroundSettings = 0x800DE628; +dChequerBGSettings = 0x800DE670; +dTextureRectangleModes = 0x800DE6B8; +dScaledRectangleBaseModes = 0x800DE700; +dTextureRectangleScaledOpa = 0x800DE738; +dTextureRectangleScaledXlu = 0x800DE778; +D_800DE730 = 0x800DE7C0; +gBootBlackoutMesg = 0x800DE7C8; +gAudTaskTimer0 = 0x800DE7D0; +gAudTaskTimer1 = 0x800DE7D4; +gAudTaskTimer2 = 0x800DE7D8; +gAudTaskTimer3 = 0x800DE7DC; +gRetraceCounter32 = 0x800DE7E0; +gCurRSPTaskCounter = 0x800DE7E4; +gCurRDPTaskCounter = 0x800DE7E8; +D_800DE75C = 0x800DE7EC; +gRetraceCounter64 = 0x800DE7F0; +gVideoDepthBuffer = 0x800DE800; +D_800DE774 = 0x800DE804; +D_800DE778 = 0x800DE808; +gVideoModeResolutions = 0x800DE80C; +gTexColourTag = 0x800DE850; +gSpriteOpaque = 0x800DE854; +dRenderSettingsVtxAlpha = 0x800DE858; +dRenderSettingsSpriteCld = 0x800DE8D8; +dRenderSettingsSpriteXlu = 0x800DE8F8; +dRenderSettingsCommon = 0x800DE978; +dRenderSettingsCutout = 0x800DED78; +dRenderSettingsDecal = 0x800DEE78; +dRenderSettingsSolidColourVtxAlpha = 0x800DEF78; +dRenderSettingsSolidColour = 0x800DEFB8; +dRenderSettingsPrimOverlay = 0x800DF0B8; +dRenderSettingsPrimCol = 0x800DF138; +dRenderSettingsBlinkingLights = 0x800DF238; +D_800DF3A8 = 0x800DF438; +D_800DF3D8 = 0x800DF468; +D_800DF410 = 0x800DF4A0; +gRdpSetModeScreenAsset = 0x800DF4D0; +gInAdvModeTrophyRace = 0x800DF4E0; +gTrackSelectWoodFrameHeightScale = 0x800DF4E4; +gResetTitleScale = 0x800DF4E8; +gTitleScreenCurrentOption = 0x800DF4EC; +gMenuCurIndex = 0x800DF4F0; +unused_800DF464 = 0x800DF4F4; +gMenuDisableObjAnim = 0x800DF4F8; +gMissingControllerDelay = 0x800DF4FC; +gCurrentMenuId = 0x800DF500; +unused_800DF474 = 0x800DF504; +gTrackSpecifiedWithTrackIdToLoad = 0x800DF508; +gMenuDelay = 0x800DF50C; +gNumberOfReadyPlayers = 0x800DF510; +D_800DF484 = 0x800DF514; +gTitleScreenLoaded = 0x800DF518; +unused_800DF48C = 0x800DF51C; +unused_800DF490 = 0x800DF520; +gIsInAdventureTwo = 0x800DF524; +gPlayerHasSeenCautionMenu = 0x800DF528; +gMenuTextLangTable = 0x800DF52C; +gMenuText = 0x800DF530; +sMenuGuiColourR = 0x800DF534; +sMenuGuiColourG = 0x800DF538; +sMenuGuiColourB = 0x800DF53C; +sMenuGuiColourBlendFactor = 0x800DF540; +gMenuSpriteFlags = 0x800DF544; +gIsInTracksMode = 0x800DF548; +gNumberOfActivePlayers = 0x800DF54C; +gIsInTwoPlayerAdventure = 0x800DF550; +gTrackIdForPreview = 0x800DF554; +gTrackSelectRow = 0x800DF558; +gSaveFileIndex = 0x800DF55C; +unused_800DF4D0 = 0x800DF560; +gTrackIdToLoad = 0x800DF564; +unused_800DF4D8 = 0x800DF568; +gNextTajChallengeMenu = 0x800DF56C; +gNeedToCloseDialogueBox = 0x800DF570; +gDoneTalkingToNPC = 0x800DF574; // size:0x5 +gDialogueOptionTangible = 0x800DF57C; +unused_800DF4F0 = 0x800DF580; +sMenuImageProperties = 0x800DF5A0; // size:0x240 +gAssetsMenuElementIds = 0x800DF7E0; +gMenuElementIdCount = 0x800DF7E4; +gMenuObjectsCount = 0x800DF7E8; +gMenuImages = 0x800DF7EC; +sMenuMusicVolume = 0x800DF7F0; // type:s32 size:0x4 +sMenuGuiOpacity = 0x800DF7F4; +unused_800DF768 = 0x800DF7F8; +sMenuTransitionFadeInFast = 0x800DF7FC; +sMenuTransitionFadeIn = 0x800DF804; +sMenuTransitionFadeOut = 0x800DF80C; +sMenuTransitionFadeInWhite = 0x800DF814; +sMenuTransitionFadeOutWhite = 0x800DF81C; +gPostraceState = 0x800DF824; +gTrophyRankingsMenuElements = 0x800DF828; +gPostraceTextOffset = 0x800DF82C; +gPostraceTimestampOffset = 0x800DF830; +gTitleMenuStrings = 0x800DF834; +gVersionDisplayText = 0x800DF840; +sGameTitleTileTextures = 0x800DF854; // size:0x18 +sGameTitleTileOffsets = 0x800DF86C; // size:0x60 +gTitleCinematicText = 0x800DF8CC; +gTitleCinematicTextColourCount = 0x800DFA84; +gTitleCinematicTextColours = 0x800DFA88; +unused_800DFA0C = 0x800DFA9C; +gOptionMenuStrings = 0x800DFAA0; // size:0x1C +gOptionMenuTextures = 0x800DFABC; // size:0x10 +gAudioMenuStrings = 0x800DFACC; // size:0x80 +gMusicTestSongIndex = 0x800DFB4C; +gSfxVolumeSliderValue = 0x800DFB50; +gMusicVolumeSliderValue = 0x800DFB54; +gAudioOutputType = 0x800DFB58; +gContPakSaveBgColours = 0x800DFB5C; +gDeviceStatus = 0x800DFB6C; +gControllerIndex = 0x800DFB70; +gContPakNotPresentStrings = 0x800DFB74; +gContPakCorruptDataRepairStrings = 0x800DFB8C; +gContPakDamagedStrings = 0x800DFBA4; +gContPakFullStrings = 0x800DFBBC; +gContPakDiffContStrings = 0x800DFBD0; +gContPakNoRoomForGhostsStrings = 0x800DFBEC; +gContPakCorruptDataStrings = 0x800DFC04; +gContPakRumbleDetectedStrings = 0x800DFC1C; +gContPakSwitchToRumbleStrings = 0x800DFC34; +gContPakNeed2ndAdvStrings = 0x800DFC4C; +gContPakStrings = 0x800DFC6C; +unused_800DFC08 = 0x800DFC98; +unused_800DFC0C = 0x800DFC9C; +gDrawTexN64Icon = 0x800DFCA0; +gDrawTexTTIcon = 0x800DFCB0; +gDrawTexGhostIcon = 0x800DFCC0; +gDrawTexFileIcon = 0x800DFCD0; +gDrawTexContPakIcon = 0x800DFCE0; +gDrawTexTrashIcon = 0x800DFCF0; +unused_800DFC70 = 0x800DFD00; +gSaveMenuObjectIndices = 0x800DFD08; +gSaveMenuImageIndices = 0x800DFD3C; +gControllerPakMenuElement = 0x800DFD44; +gShowControllerPakMenu = 0x800DFE24; +gActiveMagicCodes = 0x800DFE28; +gUnlockedMagicCodes = 0x800DFE2C; +gMagicCodeMenuStrings = 0x800DFE30; +gCharacterVolumes = 0x800DFE44; +gCharSelectObjectIndices = 0x800DFE58; +gCharSelectImageIndices = 0x800DFE5C; +gCharacterSelectBytesDefault = 0x800DFE60; +gCharacterSelectBytesDrumStick = 0x800DFED0; +gCharacterSelectBytesTT = 0x800DFF50; +gCharacterSelectBytesComplete = 0x800DFFD0; +unused_800DFFCC = 0x800E005C; +gEnteredCharSelectFrom = 0x800E0060; +unused_800DFFD4 = 0x800E0064; +gCautionMenuTextElements = 0x800E0068; // size:0x1C0 +gGameSelectTextElemsNoAdv2 = 0x800E0228; +gGameSelectTextElemsWithAdv2 = 0x800E0308; +gFileSelectObjectIndices = 0x800E0428; +gFileSelectImageIndices = 0x800E0434; +gFilenames = 0x800E0440; +unused_800E03BC = 0x800E044C; +gFileSelectButtons = 0x800E045C; +gFileSelectElementPos = 0x800E048C; +gMultiplayerSelectedNumberOfRacers = 0x800E04A0; +gTracksMenuTimeTrialHighlightIndex = 0x800E04A4; +gTracksMenuAdventureHighlightIndex = 0x800E04A8; +gMenuSelectionArrowUp = 0x800E04AC; +gMenuSelectionArrowLeft = 0x800E04BC; +gMenuSelectionArrowDown = 0x800E04CC; +gMenuSelectionArrowRight = 0x800E04DC; +gRaceSelectionCarTex = 0x800E04EC; +gRaceSelectionHoverTex = 0x800E0504; +gRaceSelectionPlaneTex = 0x800E051C; +gRaceSelectionTTOn = 0x800E0534; +gRaceSelectionTTOff = 0x800E054C; +gRaceSelectionCarOptHighlight = 0x800E0564; +gRaceSelectionCarOpt = 0x800E0574; +gRaceSelectionHoverOptHighlight = 0x800E0584; +gRaceSelectionHoverOpt = 0x800E0594; +gRaceSelectionPlaneOptHighlight = 0x800E05A4; +gRaceSelectionPlaneOpt = 0x800E05B4; +gRaceSelectionTTOnOptHighlight = 0x800E05C4; +gRaceSelectionTTOffOptHighlight = 0x800E05D4; +gRaceSelectionTTOnOpt = 0x800E05E4; +gRaceSelectionTTOffOpt = 0x800E05F4; +gRaceSelectionPlayer1Texture = 0x800E0604; +gRaceSelectionPlayer2Texture = 0x800E0614; +gRaceSelectionPlayer3Texture = 0x800E0624; +gRaceSelectionPlayer4Texture = 0x800E0634; +gRaceSelectionVehicleTitleTexture = 0x800E0644; +gRaceSelectionTTTitleTexture = 0x800E0654; +D_800E05D4 = 0x800E0664; +D_800E05F4 = 0x800E0684; +gRaceSelectionTTTexture = 0x800E06A4; +gRaceSelectionImages = 0x800E06B4; +gTrackSelectTTImage = 0x800E06D8; +gTrackSelectPlayerImage = 0x800E06F0; +gMenuSelectionArrows = 0x800E0708; +gTracksMenuPlayerNamePositions = 0x800E0718; +gTracksMenuVehicleNamePositions = 0x800E0740; +gTracksMenuArrowPositionsNTSC = 0x800E0754; +gTracksMenuArrowPositionsPAL = 0x800E0764; +gTwoPlayerRacerCountMenu = 0x800E0774; +gTracksMenuAdventureButton = 0x800E0790; +gTracksMenuBgTextureIndices = 0x800E07A0; // type:s16 size:0x1E +gTracksMenuBgTextures = 0x800E07C0; +gTTVoiceLines = 0x800E07E8; +gTrackSelectObjectIndices = 0x800E0854; +gTrackSelectImageIndices = 0x800E0870; +gTrackSelectPreviewObjectIndices = 0x800E0878; +gTrackSelectPreviewImageIndices = 0x800E08C0; +gTrackSelectBgData = 0x800E08D0; +gTrackSelectBgVertices = 0x800E09F8; // size:0x8 +gTrackSelectBgTriangles = 0x800E0A00; // size:0x8 +gQMarkPtr = 0x800E0A08; +gIsInTracksMenu = 0x800E0A0C; +gTrackNameVoiceDelay = 0x800E0A10; +gMenuOptionCap = 0x800E0A14; +gMenuSubOption = 0x800E0A18; +gLastPlayerWhoPaused = 0x800E0A1C; +gPlayerPauseBgColour = 0x800E0A20; +gPlayerPauseOptionsTextColour = 0x800E0A30; +sBadControllerPakMenuText = 0x800E0A40; +sControllerPakFullMenuText = 0x800E0A54; +sNoControllerPakMenuText = 0x800E0A68; +sCorruptDataMenuText = 0x800E0A7C; +D_800E09F8 = 0x800E0A88; +sInsertControllerPakMenuText = 0x800E0A94; +D_800E0A10 = 0x800E0AA0; +sInsertRumblePakMenuText = 0x800E0AA4; +gRaceResultsObjectIndices = 0x800E0AB4; +gRaceResultsImageIndices = 0x800E0AD0; +gMenuPortraitKrunch = 0x800E0AE0; +gMenuPortraitDiddy = 0x800E0AF0; +gMenuPortraitDrumstick = 0x800E0B00; +gMenuPortraitBumper = 0x800E0B10; +gMenuPortraitBanjo = 0x800E0B20; +gMenuPortraitConker = 0x800E0B30; +gMenuPortraitTiptup = 0x800E0B40; +gMenuPortraitTT = 0x800E0B50; +gMenuPortraitPipsy = 0x800E0B60; +gMenuPortraitTimber = 0x800E0B70; +gRacerPortraits = 0x800E0B80; +unused_800E0B18 = 0x800E0BA8; +gFirstPlace = 0x800E0C3C; +gSecondPlace = 0x800E0C40; +gThirdPlace = 0x800E0C44; +gFourthPlace = 0x800E0C48; +gFifthPlace = 0x800E0C4C; +gSixthPlace = 0x800E0C50; +gSeventhPlace = 0x800E0C54; +gEighthPlace = 0x800E0C58; +gRacePlacementsArray = 0x800E0C5C; +gRaceResultsMenuElements = 0x800E0C7C; // size:0x100 +gRaceOrderMenuElements = 0x800E0D7C; // size:0x160 +gRecordTimesMenuElements = 0x800E0EDC; // size:0x120 +gFileNameValidChars = 0x800E0FFC; // size:0x20 +gCurFilenameCharBeingDrawn = 0x800E101C; // size:0x4 +gEnterInitalsY = 0x800E1020; +gFilenameX = 0x800E1024; +gFilenameY = 0x800E1028; +gFilenameFont = 0x800E102C; +gNameEntryLength = 0x800E1030; +D_800E0FA4 = 0x800E1034; +gCheckAdvEnterInitials = 0x800E1038; +D_800E0FAC = 0x800E103C; +gIndexOfCurInputCharacter = 0x800E1040; +gAdvTrackInitObjectIndices = 0x800E1044; +gAdvTrackInitImageIndices = 0x800E1068; +gRankingPlayerCount = 0x800E1074; +gTrophyRaceWorldId = 0x800E1078; +gTrophyRaceRound = 0x800E107C; +gPrevTrophyRaceRound = 0x800E1080; +unused_800E0FF4 = 0x800E1084; +gTrophyRacePointsArray = 0x800E1094; // type:s32 size:0x20 +gTrophyRankingsObjectIndices = 0x800E10B4; +gTrophyRaceImageIndices = 0x800E10D0; +gTrophyRankingsTitle = 0x800E10D8; +gTrophyRankingsRacers = 0x800E1118; +gTrophyRankingsRawIconPositions = 0x800E1438; // type:s16 size:0x108 +gTrophyRankingsIconPositions = 0x800E154C; +gDrawTexDinoDomainGhostBg = 0x800E15CC; // size:0x58 +gDrawTexSherbetIslandGhostBg = 0x800E1624; // size:0x58 +gDrawTexSnowflakeMountainGhostBg = 0x800E167C; // size:0x58 +gDrawTexDragonForestGhostBg = 0x800E16D4; // size:0x58 +gDrawTexFutureFunLandGhostBg = 0x800E172C; // size:0x58 +gDrawTexWorldBgs = 0x800E1784; // size:0x14 +gGhostDataObjectIndices = 0x800E1798; // size:0x44 +gGhostDataImageIndices = 0x800E17DC; // size:0x8 +gGhostDataElementPositions = 0x800E17E4; // size:0x14 +gCinematicObjectIndices = 0x800E17F8; // size:0x18 +dCreditsFade = 0x800E1810; +gCreditsObjectIndices = 0x800E1868; +gCreditsImageIndices = 0x800E1880; +gCreditsControlData = 0x800E1884; // size:0x144 +gCreditsArray = 0x800E19C8; // defined:true +gCreditsBestTimesArray = 0x800E1B24; // defined:true +gCreditsLastMessageArray = 0x800E1B74; // defined:true +gCheatsInCreditsArray = 0x800E1B88; +gViewingCreditsFromCheat = 0x800E1BDC; +gCreditsMenuElements = 0x800E1BE0; // size:0x120 +dMenuHudSettings = 0x800E1D00; +dMenuHudDrawModes = 0x800E1D30; +gWoodPanelsIndices = 0x800E1D60; +gWoodPanelTexCoords = 0x800E1D80; +gWoodPanelVertCoords = 0x800E1DBC; +gWoodPanelVertColours = 0x800E1E0C; +gWoodPanelVertices = 0x800E1E34; // size:0x8 +gWoodPanelTriangles = 0x800E1E3C; // size:0x8 +gMenuTrisFlip = 0x800E1E44; +gWoodPanelCount = 0x800E1E48; +gWoodPanelAllocCount = 0x800E1E4C; +gWoodPanelTexScaleU = 0x800E1E50; +gWoodPanelTexScaleV = 0x800E1E54; +D_800E1DC8 = 0x800E1E58; // size:0x20 +gFadeLogoToTitleScreen = 0x800E1E78; +gRareCopyrightString = 0x800E1E80; +gFadeTitleScreenDemo = 0x800E1E98; +gConPakAdvSavePrefix = 0x800E1EA0; // size:0xC +gTrackSelectSound = 0x800E1EAC; +D_800E1E20 = 0x800E1EB0; +gGameStatusVisible = 0x800E1EB8; +D_800E1E2C = 0x800E1EBC; +D_800E1E40 = 0x800E1ED0; +D_800E1E60 = 0x800E1EF0; +gHudElementBase = 0x800E1EF4; +D_800E25C4 = 0x800E2654; +D_800E2684 = 0x800E2714; +gHudAudioData = 0x800E2800; +gShowCourseDirections = 0x800E2820; +D_800E2794 = 0x800E2824; +gHudToggleSettings = 0x800E2834; +gPrevToggleSetting = 0x800E2838; +gHudLapColours = 0x800E283C; +gHudIndicatorTimer = 0x800E2848; +gHudMinimapColours = 0x800E284C; +gHudColour = 0x800E28C4; +sRecordVel = 0x800E28C8; +D_800E283C = 0x800E28CC; +gWeatherPresets = 0x800E28E0; +gSnowPhysics = 0x800E2964; +gSnowGfx = 0x800E2968; +gSnowVerts = 0x800E2994; +gSnowVertCount = 0x800E2998; +gSnowTriangles = 0x800E299C; +gSnowTriIndices = 0x800E29A0; +gSnowVertexData = 0x800E29A4; +gWeatherAssetTable = 0x800E29AC; +gWeatherAssetTableLength = 0x800E29B0; +dLensFlare = 0x800E29B8; +gLensPresetLarge = 0x800E2A10; +gLensPreset1 = 0x800E2A30; +gLensPreset2 = 0x800E2A70; +gLensPreset3 = 0x800E2AC0; +gLensFlare = 0x800E2B10; +gLensFlareOff = 0x800E2B14; +gLensFlareOverrideObjs = 0x800E2B18; +D_800E2A8C = 0x800E2B1C; +D_800E2A90 = 0x800E2B20; +D_800E2A94 = 0x800E2B24; +D_800E2A98 = 0x800E2B28; +D_800E2A9C = 0x800E2B2C; +D_800E2AA0 = 0x800E2B30; +D_800E2AA4 = 0x800E2B34; +D_800E2AA8 = 0x800E2B38; +gRainVertices = 0x800E2B3C; +gRainSplashSegments = 0x800E2BDC; +gRainGfx = 0x800E2CBC; +gWeatherType = 0x800E2CEC; +gLightningFrequency = 0x800E2CF0; +gLightningFrequencyStep = 0x800E2CF4; +gLightningFrequencyTarget = 0x800E2CF8; +gRainOpacity = 0x800E2CFC; +gRainOpacityStep = 0x800E2D00; +gRainOpacityTarget = 0x800E2D04; +gRainHiddenTimer = 0x800E2D08; +gLightningTimer = 0x800E2D0C; +gThunderTimer = 0x800E2D10; +gRainSplashDelay = 0x800E2D14; +gRainOverlayUnusedValue = 0x800E2D18; +gRainSplashGfx = 0x800E2D1C; +gRainVertexFlip = 0x800E2D20; +gWeatherSoundMask = 0x800E2D24; +gThunderTransition = 0x800E2D28; +D_800E2CA0 = 0x800E2D30; +D_800E2CA4 = 0x800E2D34; +D_800E2CA8 = 0x800E2D38; +D_800E2CAC = 0x800E2D3C; +D_800E2CB0 = 0x800E2D40; +D_800E2CB4 = 0x800E2D44; +D_800E2CB8 = 0x800E2D48; +D_800E2CBC = 0x800E2D4C; +D_800E2CC0 = 0x800E2D50; +D_800E2CC4 = 0x800E2D54; +D_800E2CC8 = 0x800E2D58; +D_800E2CCC = 0x800E2D5C; +D_800E2CD0 = 0x800E2D60; +D_800E2CD4 = 0x800E2D64; +D_800E2CD8 = 0x800E2D68; +D_800E2CDC = 0x800E2D6C; +D_800E2CE0 = 0x800E2D70; +D_800E2CE4 = 0x800E2D74; +gParticlesAssetTableCount = 0x800E2D78; +gParticlesAssets = 0x800E2D7C; +gParticlesAssetTable = 0x800E2D80; +gParticleBehavioursAssetTableCount = 0x800E2D84; +gParticleBehavioursAssets = 0x800E2D88; +gParticleBehavioursAssetTable = 0x800E2D8C; +D_800E2D00 = 0x800E2D90; +D_800E2D08 = 0x800E2D98; +D_800E2D58 = 0x800E2DE8; +D_800E2D78 = 0x800E2E08; +D_800E2DF8 = 0x800E2E88; +D_800E2E28 = 0x800E2EB8; +gParticleGravityTable = 0x800E2EBC; +D_800E2E4C = 0x800E2EDC; +D_800E2E50 = 0x800E2EE0; +D_800E2E54 = 0x800E2EE4; +D_800E2E58 = 0x800E2EE8; +D_800E2E5C = 0x800E2EEC; +D_800E2E60 = 0x800E2EF0; +D_800E2E64 = 0x800E2EF4; +gParticleCoordListTri = 0x800E2EF8; +gParticleCoordListQuad = 0x800E2F04; +D_800E2E84 = 0x800E2F14; +D_800E2EC4 = 0x800E2F54; +gParticleOpacity = 0x800E2F7C; +D_800E2EF0 = 0x800E2F80; +gDebugFontCoords = 0x800E2F84; +dDebugFontSettings = 0x800E3048; +sLockupStatus = 0x800E30B0; +sLockupPage = 0x800E30B4; +sLockupDelay = 0x800E30B8; +D_800E3040 = 0x800E30D0; +D_800E3044 = 0x800E30D4; +D_800E3048 = 0x800E30D8; +D_800E304C = 0x800E30DC; +D_800E3070 = 0x800E3100; +D_800E3078 = 0x800E3108; +D_800E3080 = 0x800E3110; +D_800E3090 = 0x800E3120; +D_800E30D0 = 0x800E3160; +D_800E30D4 = 0x800E3164; +D_800E30D8 = 0x800E3168; +D_800E30DC = 0x800E316C; +D_800E30E0 = 0x800E3170; +D_800E30E4 = 0x800E3174; +D_800E30E8 = 0x800E3178; +D_800E30FC = 0x800E318C; +D_800E3110 = 0x800E31A0; +D_800E3144 = 0x800E31D4; +D_800E3178 = 0x800E3208; +D_800E317C = 0x800E320C; +D_800E3180 = 0x800E3210; +D_800E3184 = 0x800E3214; +D_800E3188 = 0x800E3218; +D_800E318C = 0x800E321C; +D_800E3190 = 0x800E3220; +D_800E3194 = 0x800E3224; +gWaveGeneratorObj = 0x800E3228; +gTransitionsDisabled = 0x800E3230; +sLevelTransitionDelayTimer = 0x800E3234; +gTransitionInvert = 0x800E3238; +sTransitionStatus = 0x800E323C; +sTransitionFadeTimer = 0x800E3240; +gTransitionEndTimer = 0x800E3244; +sTransitionFadeDuration = 0x800E3248; +gTransitionFadeIn = 0x800E324C; +sTransitionVtx = 0x800E3250; +sTransitionTris = 0x800E3258; +sTransitionTaskNum = 0x800E3260; +dTransitionFadeSettings = 0x800E3268; +gTransitionBarnHorizontalData = 0x800E32C0; +gTransitionBarnVerticalData = 0x800E32F8; +D_800E32A0 = 0x800E3330; +D_800E32AC = 0x800E333C; +gTransitionBarnDoorTris = 0x800E3348; +gTransitionBarnDoorAlpha = 0x800E3360; +gTransitionBarnDiagData = 0x800E336C; +D_800E330C = 0x800E339C; +D_800E3318 = 0x800E33A8; +gTransitionBarnDoorDiagTris = 0x800E33B4; +gTransitionBarnDoorDiagAlpha = 0x800E33C8; +gTransitionWaveData = 0x800E33D4; +D_800E3440 = 0x800E34D0; +D_800E349C = 0x800E352C; +gTransitionWaveAlpha = 0x800E3588; +gTransitionWaveTris = 0x800E35E4; +dTransitionShapeSettings = 0x800E36D8; +gTextTableExists = 0x800E3700; +gTextDisplayNumber = 0x800E3704; +gTextboxDelay = 0x800E3708; +gDelayedTextID = 0x800E370C; +gSubtitleSetting = 0x800E3710; +dDialogueBoxBegin = 0x800E3720; +dDialogueBoxDrawModes = 0x800E3758; +sDialogueBoxIsOpen = 0x800E3778; +gDescPowsOf10 = 0x800E377C; +sDialogueBoxDimensions = 0x800E37A0; +__osPiDevMgr = 0x800E37D0; // size:0x1C +gHuftTable = 0x800E37F0; +gPackedHeader = 0x800E37F4; +gzip_inflate_input = 0x800E37F8; +gzip_inflate_output = 0x800E37FC; +gThread30NeedToLoadLevel = 0x800E3800; +gThread30LevelIdToLoad = 0x800E3804; +gThread30CutsceneIdToLoad = 0x800E3808; +gThread30LoadDelay = 0x800E380C; +alGlobals = 0x800E3810; +hdwrBugFlag = 0x800E3820; +eqpower = 0x800E3830; // size:0x100 +osClockRate = 0x800E3930; +__osShutdown = 0x800E3938; +__OSGlobalIntMask = 0x800E393C; +gLeoFound = 0x800E3940; +__osContinitialized = 0x800E3950; +__osSiAccessQueueEnabled = 0x800E3960; +__osViDevMgr = 0x800E3970; +osViModeTable = 0x800E3990; +osViModeNtscLpn1 = 0x800E46B0; +osViModePalLpn1 = 0x800E4700; +osViModeMpalLpn1 = 0x800E4750; +osViModeNtscLan1 = 0x800E47A0; +osViModePalLan1 = 0x800E47F0; +osViModeMpalLan1 = 0x800E4840; +__osPiAccessQueueEnabled = 0x800E4890; +vi = 0x800E48A0; +__osViCurr = 0x800E4900; +__osViNext = 0x800E4904; +osViClock = 0x800E4908; +__osThreadTail = 0x800E4910; +__osRunQueue = 0x800E4918; +__osActiveQueue = 0x800E491C; +__osRunningThread = 0x800E4920; +__osFaultedThread = 0x800E4924; +__osHwIntTable = 0x800E4930; +_spaces = 0x800E4950; // type:asciz +_zeroes = 0x800E4974; // type:asciz +__osTimerList = 0x800E49A0; +ldigs = 0x800E49B0; // type:asciz +udigs = 0x800E49C4; // type:asciz +sAudioErrorString_01 = 0x800E49E0; // defined:true type:asciz +sAudioErrorString_02 = 0x800E4A10; // defined:true type:asciz +sAudioErrorString_03 = 0x800E4A4C; // defined:true type:asciz +D_800E49F0 = 0x800E4A80; +D_800E4A58 = 0x800E4AE8; +D_800E4A74 = 0x800E4B04; +D_800E4A9C = 0x800E4B2C; +D_800E4AAC = 0x800E4B3C; +D_800E4AB0 = 0x800E4B40; +D_800E4B00 = 0x800E4B90; +D_800E4B1C = 0x800E4BAC; +D_800E4B34 = 0x800E4BC4; +D_800E4B5C = 0x800E4BEC; +D_800E4B80 = 0x800E4C10; +jpt_800E4BB0 = 0x800E4C40; + +D_800E4BF0 = 0x800E4C80; // type:f32 + +D_800E4BF8 = 0x800E4C88; // type:f64 +D_800E4C00 = 0x800E4C90; // type:f32 +D_800E4C08 = 0x800E4C98; // type:f64 +D_800E4C10 = 0x800E4CA0; // type:f64 +D_800E4C18 = 0x800E4CA8; // type:f64 +D_800E4C20 = 0x800E4CB0; // type:f64 +D_800E4C28 = 0x800E4CB8; // type:f64 +D_800E4C30 = 0x800E4CC0; // type:f64 +D_800E4C38 = 0x800E4CC8; // type:f32 +D_800E4C40 = 0x800E4CD0; // type:f64 +D_800E4C48 = 0x800E4CD8; // type:f64 + +D_800E4C78 = 0x800E4D08; // type:f32 +D_800E4C80 = 0x800E4D10; // type:f64 +D_800E4C88 = 0x800E4D18; // type:f64 +D_800E4C90 = 0x800E4D20; // type:f64 +D_800E4C98 = 0x800E4D28; // type:f32 + +D_800E4CC4 = 0x800E4D54; // type:f32 +D_800E4CC8 = 0x800E4D58; // type:f64 +D_800E4CD0 = 0x800E4D60; // type:f32 +D_800E4CD4 = 0x800E4D64; // type:f32 +D_800E4CD8 = 0x800E4D68; // type:f64 +D_800E4CE0 = 0x800E4D70; // type:f32 +D_800E4CE8 = 0x800E4D78; // type:f64 +D_800E4CF0 = 0x800E4D80; // type:f32 +D_800E4CF4 = 0x800E4D84; // type:f32 + +D_800E4D00 = 0x800E4D90; +D_800E4D18 = 0x800E4DA8; +D_800E4D58 = 0x800E4DE8; +D_800E4DA0 = 0x800E4E30; +D_800E4DE0 = 0x800E4E70; +D_800E4E28 = 0x800E4EB8; +D_800E4E68 = 0x800E4EF8; +D_800E4E9C = 0x800E4F2C; +D_800E4EDC = 0x800E4F6C; +D_800E4F10 = 0x800E4FA0; +D_800E4F14 = 0x800E4FA4; +D_800E4F30 = 0x800E4FC0; // type:asciz size:0x24 +sObjectOutofMemString = 0x800E4FF0; // defined:true +sDoorNumberErrorString = 0x800E500C; // defined:true +sObjectScopeErrorString = 0x800E5028; // defined:true +sObjectListDataOverflowString = 0x800E5054; // defined:true +sObjectSetupError1String = 0x800E5074; // defined:true +sObjectSetupError2String = 0x800E5098; // defined:true +sObjectSetupError5String = 0x800E50BC; // defined:true +sObjectSetupError6String = 0x800E50E0; // defined:true +sObjectSetupError3String = 0x800E5104; // defined:true +sObjectListOverflowString = 0x800E5128; // defined:true +sObjectSetupError4String = 0x800E5140; // defined:true +sDuplicateCheckpointString = 0x800E5164; // force_not_migration:true defined:true +sErrorChannelString = 0x800E518C; // force_not_migration:true defined:true +sReadOutErrorString = 0x800E51A0; // force_not_migration:true defined:true +sPureAnguishString = 0x800E51B0; // force_not_migration:true defined:true +D_800E5130 = 0x800E51C0; +D_800E5134 = 0x800E51C4; +jpt_800E5154 = 0x800E51E4; +D_800E5178 = 0x800E5208; +D_800E517C = 0x800E520C; +D_800E5180 = 0x800E5210; +D_800E5184 = 0x800E5214; +jpt_800E51B4 = 0x800E5244; +jpt_800E5250 = 0x800E52E0; +jpt_800E5420 = 0x800E54B0; +D_800E5554 = 0x800E55E4; +D_800E5558 = 0x800E55E8; +D_800E555C = 0x800E55EC; +D_800E5560 = 0x800E55F0; +D_800E5564 = 0x800E55F4; +D_800E5568 = 0x800E55F8; +jpt_800E5588 = 0x800E5618; +D_800E55B8 = 0x800E5648; // type:f64 +D_800E55C0 = 0x800E5650; // type:f64 +D_800E55C8 = 0x800E5658; // type:f64 +D_800E55D0 = 0x800E5660; // type:f64 +D_800E55D8 = 0x800E5668; // type:f64 +D_800E55E0 = 0x800E5670; // type:f64 +D_800E55E8 = 0x800E5678; // type:f64 +D_800E55F0 = 0x800E5680; // type:f64 +D_800E5608 = 0x800E5698; // type:f64 +D_800E5610 = 0x800E56A0; // type:f64 +D_800E5618 = 0x800E56A8; // type:f64 +D_800E5620 = 0x800E56B0; // type:f64 +D_800E5628 = 0x800E56B8; // type:f64 +D_800E5648 = 0x800E56D8; // type:f64 +D_800E5650 = 0x800E56E0; // type:f32 +D_800E5658 = 0x800E56E8; // type:f64 +D_800E5670 = 0x800E5700; // type:f64 +D_800E5678 = 0x800E5708; // type:f32 +D_800E5680 = 0x800E5710; // type:f64 +gTrackClippingErrorString = 0x800E5E88; +gTrackHeightOverflowString = 0x800E5EA8; +D_800E5E38 = 0x800E5EC8; +D_800E5E60 = 0x800E5EF0; // type:f64 +D_800E5E68 = 0x800E5EF8; +D_800E5E70 = 0x800E5F00; +D_800E5E78 = 0x800E5F08; // type:f64 +D_800E5E80 = 0x800E5F10; // type:f64 +D_800E5E88 = 0x800E5F18; // type:f64 +D_800E5E90 = 0x800E5F20; // type:f64 +D_800E5E98 = 0x800E5F28; // type:f64 +D_800E5F48 = 0x800E5FD8; +D_800E5F4C = 0x800E5FDC; +D_800E5F50 = 0x800E5FE0; +D_800E5F54 = 0x800E5FE4; +D_800E5F58 = 0x800E5FE8; +D_800E5F60 = 0x800E5FF0; // type:f32 +D_800E5F64 = 0x800E5FF4; // type:f32 +D_800E5F68 = 0x800E5FF8; // type:f32 +D_800E5F6C = 0x800E5FFC; // type:f32 +D_800E5F70 = 0x800E6000; // type:f32 +D_800E6020 = 0x800E60B0; // type:f64 +D_800E6048 = 0x800E60D8; +D_800E6140 = 0x800E61D0; // type:f64 +D_800E621C = 0x800E62AC; +D_800E6220 = 0x800E62B0; +D_800E6224 = 0x800E62B4; +jpt_800E6228 = 0x800E62B8; +D_800E623C = 0x800E62CC; +D_800E6240 = 0x800E62D0; +D_800E6244 = 0x800E62D4; +D_800E6248 = 0x800E62D8; +gRacerDebugCoords = 0x800E6310; // type:asciz +gChecksumOverflowString = 0x800E6320; // type:asciz +gRacerBackString = 0x800E6330; // type:asciz +D_800E62A8 = 0x800E6338; // type:f64 +D_800E62B0 = 0x800E6340; // type:f64 +D_800E62B8 = 0x800E6348; // type:f64 +D_800E62C0 = 0x800E6350; // type:f64 +D_800E62C8 = 0x800E6358; // type:f64 +D_800E62D0 = 0x800E6360; // type:f64 +D_800E62D8 = 0x800E6368; // type:f64 +D_800E62E0 = 0x800E6370; // type:f64 +D_800E62E8 = 0x800E6378; // type:f64 +D_800E62F0 = 0x800E6380; // type:f64 +D_800E62F8 = 0x800E6388; // type:f64 +D_800E6300 = 0x800E6390; // type:f64 +D_800E6308 = 0x800E6398; // type:f64 +D_800E6310 = 0x800E63A0; // type:f64 +jpt_800E6318 = 0x800E63A8; +jpt_800E6334 = 0x800E63C4; +D_800E6350 = 0x800E63E0; // type:f64 +jpt_800E6358 = 0x800E63E8; +D_800E6378 = 0x800E6408; +jpt_800E637C = 0x800E640C; +D_800E63A0 = 0x800E6430; // type:f64 +D_800E63A8 = 0x800E6438; +D_800E63B0 = 0x800E6440; +D_800E63B8 = 0x800E6448; +D_800E63C0 = 0x800E6450; +D_800E63C8 = 0x800E6458; +D_800E63D0 = 0x800E6460; +D_800E63D8 = 0x800E6468; +D_800E63E0 = 0x800E6470; +D_800E63E8 = 0x800E6478; +D_800E63F0 = 0x800E6480; +D_800E63F8 = 0x800E6488; +D_800E6400 = 0x800E6490; +D_800E6408 = 0x800E6498; +D_800E6410 = 0x800E64A0; +D_800E6418 = 0x800E64A8; +D_800E6420 = 0x800E64B0; +D_800E6428 = 0x800E64B8; +D_800E6430 = 0x800E64C0; +D_800E6438 = 0x800E64C8; +D_800E6440 = 0x800E64D0; +D_800E6448 = 0x800E64D8; +D_800E6450 = 0x800E64E0; +D_800E6458 = 0x800E64E8; +D_800E6460 = 0x800E64F0; +D_800E6468 = 0x800E64F8; + +D_800E64A8 = 0x800E6538; // type:f64 +D_800E64B0 = 0x800E6540; // type:f64 +D_800E64B8 = 0x800E6548; // type:f64 +D_800E64C0 = 0x800E6550; // type:f64 +D_800E64C8 = 0x800E6558; // type:f64 +D_800E64D0 = 0x800E6560; // type:f64 +D_800E64D8 = 0x800E6568; // type:f32 +D_800E64E0 = 0x800E6570; // type:f64 +D_800E64E8 = 0x800E6578; // type:f32 +D_800E64EC = 0x800E657C; // type:f32 +D_800E64F0 = 0x800E6580; // type:f32 +D_800E64F4 = 0x800E6584; // type:f32 +D_800E64F8 = 0x800E6588; // type:f64 +D_800E6500 = 0x800E6590; // type:f64 +D_800E6508 = 0x800E6598; // type:f32 +D_800E6510 = 0x800E65A0; // type:f64 +D_800E6518 = 0x800E65A8; // type:f64 +D_800E6520 = 0x800E65B0; // type:f64 +D_800E6528 = 0x800E65B8; // type:f32 +D_800E6530 = 0x800E65C0; // type:f64 +D_800E6538 = 0x800E65C8; // type:f64 +D_800E6540 = 0x800E65D0; // type:f64 +D_800E6548 = 0x800E65D8; // type:f64 + +D_800E6558 = 0x800E65E8; // type:f64 +D_800E6560 = 0x800E65F0; // type:f64 +D_800E6568 = 0x800E65F8; // type:f32 +D_800E6570 = 0x800E6600; // type:f64 +D_800E6578 = 0x800E6608; // type:f64 +D_800E6580 = 0x800E6610; +D_800E6584 = 0x800E6614; +D_800E6588 = 0x800E6618; +D_800E658C = 0x800E661C; +D_800E65F8 = 0x800E6688; // type:f64 +D_800E6600 = 0x800E6690; // type:f64 +D_800E6608 = 0x800E6698; // type:f64 +D_800E6610 = 0x800E66A0; // type:f64 +D_800E6618 = 0x800E66A8; // type:f64 +D_800E6620 = 0x800E66B0; // type:f64 +D_800E6628 = 0x800E66B8; // type:f64 +D_800E6630 = 0x800E66C0; // type:f64 +D_800E6638 = 0x800E66C8; // type:f64 +D_800E6640 = 0x800E66D0; // type:f64 +D_800E6648 = 0x800E66D8; // type:f64 +D_800E6650 = 0x800E66E0; // type:f64 +D_800E6658 = 0x800E66E8; // type:f64 +D_800E6660 = 0x800E66F0; // type:f32 +D_800E6668 = 0x800E66F8; // type:f64 +D_800E6670 = 0x800E6700; // type:f64 +D_800E6678 = 0x800E6708; // type:f64 +D_800E6680 = 0x800E6710; // type:f64 +D_800E6688 = 0x800E6718; // type:f64 +D_800E6690 = 0x800E6720; // type:f64 +D_800E6698 = 0x800E6728; // type:f64 +D_800E66A0 = 0x800E6730; // type:f64 +D_800E66A8 = 0x800E6738; // type:f64 +D_800E66B0 = 0x800E6740; // type:f64 +D_800E66B8 = 0x800E6748; // type:f64 +D_800E66C0 = 0x800E6750; // type:f32 +D_800E66C8 = 0x800E6758; // type:f64 +D_800E66F8 = 0x800E6788; // type:f64 +D_800E6700 = 0x800E6790; // type:f64 +D_800E6788 = 0x800E6818; +D_800E6790 = 0x800E6820; +D_800E6798 = 0x800E6828; +D_800E6808 = 0x800E6898; // type:f64 +D_800E6820 = 0x800E68B0; // type:f64 +D_800E6838 = 0x800E68C8; // type:f64 +D_800E6840 = 0x800E68D0; // type:f64 +D_800E6848 = 0x800E68D8; // type:f64 +D_800E68C4 = 0x800E6954; +D_800E68C8 = 0x800E6958; +D_800E6910 = 0x800E69A0; // type:f64 +D_800E6918 = 0x800E69A8; // type:f64 +D_800E6920 = 0x800E69B0; // type:f64 +D_800E6930 = 0x800E69C0; // type:f64 +D_800E6938 = 0x800E69C8; // type:f64 +D_800E69B8 = 0x800E6A48; // type:f64 +D_800E69C0 = 0x800E6A50; // type:f64 +D_800E69C8 = 0x800E6A58; // type:f64 +D_800E69D0 = 0x800E6A60; // type:f64 +D_800E69D8 = 0x800E6A68; // type:f64 +D_800E69E0 = 0x800E6A70; // type:f64 +D_800E69E8 = 0x800E6A78; // type:f32 +D_800E69F0 = 0x800E6A80; // type:f64 +D_800E69F8 = 0x800E6A88; // type:f64 +D_800E6A00 = 0x800E6A90; // type:f32 +D_800E6A04 = 0x800E6A94; // type:s32 size:0xC padding +D_800E6B00 = 0x800E6B90; // type:f64 +D_800E6B08 = 0x800E6B98; // type:f64 +D_800E6B10 = 0x800E6BA0; // type:f64 +D_800E6B20 = 0x800E6BB0; +D_800E6B4C = 0x800E6BDC; +D_800E6B64 = 0x800E6BF4; +D_800E6B84 = 0x800E6C14; +D_800E6BC0 = 0x800E6C50; +D_800E6BE0 = 0x800E6C70; +D_800E6C20 = 0x800E6CB0; +D_800E6F00 = 0x800E6F90; +D_800E6F44 = 0x800E6FD4; +D_800E709C = 0x800E712C; +D_800E7134 = 0x800E71C4; //type:asciz +D_800E73A8 = 0x800E7438; +D_800E73D0 = 0x800E7460; +D_800E7400 = 0x800E7490; +D_800E7438 = 0x800E74C8; +D_800E7590 = 0x800E7620; // type:asciz +D_800E75B4 = 0x800E7644; // type:asciz +D_800E75BC = 0x800E764C; // type:asciz +D_800E75C8 = 0x800E7658; // type:asciz +D_800E75D8 = 0x800E7668; // type:asciz +D_800E75DC = 0x800E766C; // type:asciz +D_800E75E0 = 0x800E7670; // type:asciz +D_800E75F4 = 0x800E7684; // type:asciz +D_800E7604 = 0x800E7694; // type:asciz +D_800E7614 = 0x800E76A4; // type:asciz +D_800E7620 = 0x800E76B0; // type:asciz +D_800E762C = 0x800E76BC; // type:asciz +D_800E7800 = 0x800E7890; // type:asciz "(Audio task)" +D_800E7810 = 0x800E78A0; // type:asciz "(Game task)" +D_800E781C = 0x800E78AC; // type:asciz "(DI task)\n" +D_800E7828 = 0x800E78B8; // type:asciz "(DI benchmark test)\n" +D_800E7840 = 0x800E78D0; // type:asciz "(Unknown task type %d)\n" +D_800E7858 = 0x800E78E8; // type:asciz "\nRCP TASK INFO\n" +D_800E7868 = 0x800E78F8; // type:asciz "-------------\n" +D_800E7878 = 0x800E7908; // type:asciz "\ttype\t\t= %u\n" +D_800E7888 = 0x800E7918; // type:asciz "\tflags\t\t= %u\n" +D_800E7898 = 0x800E7928; // type:asciz "\tucode_boot\t\t= %p\n" +D_800E78AC = 0x800E793C; // type:asciz "\tucode_boot_size\t\t= %u\n" +D_800E78C4 = 0x800E7954; // type:asciz "\tucode\t\t= %p\n" +D_800E78D4 = 0x800E7964; // type:asciz "\tucode_size\t\t= %u\n" +D_800E78E8 = 0x800E7978; // type:asciz "\tucode_data\t\t= %p\n" +D_800E78FC = 0x800E798C; // type:asciz "\tucode_data_size\t\t= %u\n" +D_800E7914 = 0x800E79A4; // type:asciz "\toutput_buff\t\t= %p\n" +D_800E7928 = 0x800E79B8; // type:asciz "\toutput_buff_size\t\t= %u\n" +D_800E7944 = 0x800E79D4; // type:asciz "\tdata_ptr\t\t= %p\n" +D_800E7958 = 0x800E79E8; // type:asciz "\tdata_size\t\t= %u\n" +D_800E7B30 = 0x800E7BC0; // type:asciz +D_800E7B60 = 0x800E7BF0; // type:asciz +D_800E7B88 = 0x800E7C18; // type:asciz +D_800E7BA8 = 0x800E7C38; // type:asciz +D_800E7BC4 = 0x800E7C54; // type:asciz +D_800E7BFC = 0x800E7C8C; // type:asciz +D_800E7C10 = 0x800E7CA0; // type:asciz +D_800E7C30 = 0x800E7CC0; // type:asciz +D_800E7C50 = 0x800E7CE0; // type:asciz +jpt_800E84F4 = 0x800E8584; +jpt_800E8508 = 0x800E8598; +D_800E8520 = 0x800E85B0; +jpt_800E8574 = 0x800E8604; +D_800E8640 = 0x800E86D0; // type:asciz defined:True +D_800E8648 = 0x800E86D8; // type:asciz defined:True +D_800E8650 = 0x800E86E0; // type:asciz defined:True +D_800E8658 = 0x800E86E8; // type:asciz defined:True +D_800E8664 = 0x800E86F4; // type:asciz defined:True +D_800E8668 = 0x800E86F8; // type:asciz defined:True +D_800E8670 = 0x800E8700; // type:asciz defined:True +D_800E867C = 0x800E870C; // type:asciz defined:True +D_800E8680 = 0x800E8710; // type:asciz defined:True +D_800E8688 = 0x800E8718; +D_800E8690 = 0x800E8720; +D_800E8694 = 0x800E8724; +D_800E86A8 = 0x800E8738; // type:f64 function_owner:func_8009F034 +D_800E86B0 = 0x800E8740; // type:f64 function_owner:func_8009F034 +D_800E86B8 = 0x800E8748; // type:f32 function_owner:func_8009F034 +D_800E86BC = 0x800E874C; // type:f32 function_owner:func_8009F034 +D_800E86C0 = 0x800E8750; // type:f32 function_owner:func_8009F034 +D_800E86C8 = 0x800E8758; // type:f64 function_owner:func_8009F034 +D_800E86D0 = 0x800E8760; // type:f64 function_owner:func_8009F034 +D_800E86D8 = 0x800E8768; // type:f64 function_owner:func_8009F034 +D_800E86E0 = 0x800E8770; // type:f64 function_owner:func_8009F034 +D_800E86E8 = 0x800E8778; // type:f64 function_owner:func_8009F034 +D_800E86F0 = 0x800E8780; // type:f64 function_owner:func_8009F034 +D_800E8718 = 0x800E87A8; +D_800E871C = 0x800E87AC; // type:s32 padding +D_800E8720 = 0x800E87B0; +D_800E8728 = 0x800E87B8; +D_800E8730 = 0x800E87C0; // type:f64 +D_800E8738 = 0x800E87C8; // type:f64 +D_800E8758 = 0x800E87E8; // type:f64 +D_800E8760 = 0x800E87F0; // type:f64 +D_800E87A0 = 0x800E8830; // type:f64 force_migration:True +D_800E87A8 = 0x800E8838; // type:f32 force_migration:True +D_800E87B0 = 0x800E8840; // force_migration:True type:f64 size:8 +D_800E87B8 = 0x800E8848; // force_migration:True type:f64 size:8 +D_800E87D8 = 0x800E8868; +D_800E87E0 = 0x800E8870; // type:f64 +D_800E8840 = 0x800E88D0; +D_800E887C = 0x800E890C; +D_800E88BC = 0x800E894C; +D_800E88F8 = 0x800E8988; +D_800E891C = 0x800E89AC; +D_800E8940 = 0x800E89D0; +D_800E8964 = 0x800E89F4; +D_800E8984 = 0x800E8A14; +D_800E89A4 = 0x800E8A34; +D_800E89D8 = 0x800E8A68; +D_800E8A18 = 0x800E8AA8; +D_800E8A40 = 0x800E8AD0; +D_800E8A68 = 0x800E8AF8; +D_800E8A90 = 0x800E8B20; +D_800E8AB4 = 0x800E8B44; +D_800E8AD8 = 0x800E8B68; +D_800E8B10 = 0x800E8BA0; +D_800E8B44 = 0x800E8BD4; +gLowerCase = 0x800E8C90; // type:asciz force_not_migration:true defined:true +gUpperCase = 0x800E8CB8; // type:asciz force_not_migration:true defined:true +D_800E8C50 = 0x800E8CE0; // type:asciz force_not_migration:true defined:true +D_800E8C54 = 0x800E8CE4; // type:asciz force_not_migration:true defined:true +D_800E8C5C = 0x800E8CEC; // type:asciz force_not_migration:true defined:true +jpt_800E8CAC = 0x800E8D3C; +jpt_800E8CF0 = 0x800E8D80; +jpt_800E8D88 = 0x800E8E18; +jpt_800E8E58 = 0x800E8EE8; +D_800E8E70 = 0x800E8F00; // type:asciz force_not_migration:true defined:true +D_800E8EA0 = 0x800E8F30; // type:asciz force_not_migration:true defined:true +D_800E9160 = 0x800E91F0; +D_800E91AC = 0x800E923C; +D_800E91E4 = 0x800E9274; +D_800E9228 = 0x800E92B8; +D_800E9260 = 0x800E92F0; +D_800E92A0 = 0x800E9330; +D_800E92A4 = 0x800E9334; +gzip_border = 0x800E9450; +gzip_cplens = 0x800E9464; +gzip_cplext = 0x800E94A2; +gzip_cpdist = 0x800E94C2; +gzip_cpdext = 0x800E94FE; +gzip_mask_bits = 0x800E951C; +D_800E94AE = 0x800E953E; +__osRcpImTable = 0x800E9560; +__osIntOffTable = 0x800E9700; +__osIntTable = 0x800E9720; // size:0x24 +length_str = 0x800E9750; // type:asciz "hlL" defined:true +flags_str = 0x800E9754; // type:asciz " +-#0" defined:true +flags_arr = 0x800E975C; // type:u32 size:0x18 defined:true +P_cosf = 0x800E9850; // type:Du size:0x28 defined:true +rpi_cosf = 0x800E9878; // type:Du size:0x8 defined:true +pihi_cosf = 0x800E9880; // type:Du size:0x8 defined:true +pilo_cosf = 0x800E9888; // type:Du size:0x8 defined:true +zero_cosf = 0x800E9890; // type:Fu size:0x8 defined:true +P_sinf = 0x800E98A0; // type:Du size:0x28 defined:true +rpi_sinf = 0x800E98C8; // type:Du size:0x8 defined:true +pihi_sinf = 0x800E98D0; // type:Du size:0x8 defined:true +pilo_sinf = 0x800E98D8; // type:Du size:0x8 defined:true +zero_sinf = 0x800E98E0; // type:Fu size:0x8 defined:true +pows = 0x800E98F0; // type:f64 size:0x48 defined:true +Ldtob_NaN = 0x800E9938; // type:asciz force_not_migration:true defined:true +Ldtob_Inf = 0x800E993C; // type:asciz force_not_migration:true defined:true +_Genld_0_string = 0x800E9940; // type:asciz force_not_migration:true defined:true +_Ldtob_1e8 = 0x800E9948; // type:f64 +__libm_qnan_f = 0x800E9950; // type:f64 +aspMainDataStart = 0x800E9960; // size:0x2D0 +rspF3DDKRDataDramStart = 0x800E9C30; // size:0x800 +rspF3DDKRDataFifoStart = 0x800EA430; // size:0x800 +rspF3DDKRDataXbusStart = 0x800EAC30; // size:0x800 +rspUnknown2DataStart = 0x800EB430; // size:0xBC0 +gAudioHeapStack = 0x800EBFF0; // size:0x29D88 +gALHeap = 0x80115D78; +gSequenceTable = 0x80115D88; +gMusicSequenceData = 0x80115D8C; +gJingleSequenceData = 0x80115D90; +gCurrentSequenceID = 0x80115D94; +gCurrentJingleID = 0x80115D95; +gMusicTempo = 0x80115D98; +gSeqLengthTable = 0x80115D9C; +gSequenceBank = 0x80115DA0; +gSoundBank = 0x80115DA4; +gSoundTable = 0x80115DA8; +gSeqSoundTable = 0x80115DAC; +gSoundCount = 0x80115DB0; +gSeqSoundCount = 0x80115DB4; +gSoundTableSize = 0x80115DB8; +gSeqSoundTableSize = 0x80115DBC; +sMusicTempo = 0x80115DC0; +gMusicAnimationTick = 0x80115DC4; +sMusicDelayTimer = 0x80115DC8; +sMusicDelayLength = 0x80115DCC; +gMusicPlaying = 0x80115DD0; +gJinglePlaying = 0x80115DD1; +gDelayedSounds = 0x80115DD8; +gMusicSequence = 0x80115E18; +gJingleSequence = 0x80115F10; +gSkipResetChannels = 0x80116008; +gAudioVolumeSetting = 0x80116009; +gDynamicMusicChannelMask = 0x8011600C; +gGlobalSoundMask = 0x80116010; +gSpatialSoundMask = 0x80116014; +gRacerSoundMask = 0x80116018; +gAudioSched = 0x80116020; +gAudioHeap = 0x80116024; +__am = 0x80116028; +dmaState = 0x801192C0; +dmaBuffs = 0x801192D0; +minFrameSize = 0x801196B8; +frameSize = 0x801196BC; +maxFrameSize = 0x801196C0; +gAudioCmdLen = 0x801196C4; +gAntiPiracyCRCStart = 0x801196C8; +audDMAIOMesgBuf = 0x801196D0; +audDMAMessageQ = 0x80119B80; +audDMAMessageBuf = 0x80119B98; +gAlSndPlayer = 0x80119C60; +gSoundChannelVolume = 0x80119CB8; +D_80119C30 = 0x80119CC0; +gRacerSound = 0x80119CC8; +gSoundRacerObj = 0x80119CCC; +D_80119C40 = 0x80119CD0; +gSoundMaskHeapUsed = 0x80119CD4; +gSoundMaskHeap = 0x80119CD8; +gFreeMasks = 0x80119CDC; +gSoundMaskHeapFree = 0x80119CE0; +D_80119C54 = 0x80119CE4; +D_80119C58 = 0x80119CE8; +D_80119C5C = 0x80119CEC; +D_80119C60 = 0x80119CF0; +D_8011A6D8 = 0x8011A768; +D_8011A6DC = 0x8011A76C; +D_8011A6E0 = 0x8011A770; +gAudioLinesOff = 0x8011ACA8; +D_8011AC1C = 0x8011ACAC; +D_8011AC20 = 0x8011ACB0; // size:0x100 +D_8011AD20 = 0x8011ADB0; +D_8011AD21 = 0x8011ADB1; +D_8011AD22 = 0x8011ADB2; // size:0x2 +D_8011AD24 = 0x8011ADB4; // size:0x2 +D_8011AD26 = 0x8011ADB6; +D_8011AD28 = 0x8011ADB8; +D_8011AD2C = 0x8011ADBC; +gCurrentLightIntensity = 0x8011ADC0; +gGhostObjPlayer = 0x8011ADC4; +gTimeTrialContPak = 0x8011ADC8; +D_8011AD3C = 0x8011ADCC; +D_8011AD3D = 0x8011ADCD; +D_8011AD3E = 0x8011ADCE; +gTransformObject = 0x8011ADD0; +gTransformTimer = 0x8011ADD4; +gOverworldVehicle = 0x8011ADD5; +gTransformPosX = 0x8011ADD6; +gTransformPosY = 0x8011ADD8; +gTransformPosZ = 0x8011ADDA; +gTransformAngleY = 0x8011ADDC; +gRaceEndTimer = 0x8011ADDE; +gRaceEndStage = 0x8011ADE0; +gNumRacersSaved = 0x8011ADE1; +unused_D_8011AD52 = 0x8011ADE2; +D_8011AD53 = 0x8011ADE3; +D_8011AD54 = 0x8011ADE4; +gSpawnObjectHeap = 0x8011ADE8; +D_8011AD5C = 0x8011ADEC; +D_8011AD60 = 0x8011ADF0; +gAssetsObjectHeadersTable = 0x8011ADF4; +gAssetsObjectHeadersTableLength = 0x8011ADF8; +gAssetsMiscSection = 0x8011ADFC; +gAssetsMiscTable = 0x8011AE00; +D_8011AD74 = 0x8011AE04; +D_8011AD78 = 0x8011AE08; +gAssetsMiscTableLength = 0x8011AE30; +D_8011ADA4 = 0x8011AE34; +gObjectUpdateRateF = 0x8011AE38; +gPathUpdateOff = 0x8011AE3C; +gEventCountdown = 0x8011AE40; +D_8011ADB4 = 0x8011AE44; +gEventStartTimer = 0x8011AE48; +D_8011ADBC = 0x8011AE4C; +D_8011ADC0 = 0x8011AE50; +gFirstTimeFinish = 0x8011AE54; +D_8011ADC5 = 0x8011AE55; +gBalloonCutsceneTimer = 0x8011AE58; +D_8011ADCC = 0x8011AE5C; +gObjectOffsetY = 0x8011AE60; +D_8011ADD4 = 0x8011AE64; +gOverrideDoors = 0x8011AE65; +D_8011ADD8 = 0x8011AE68; +D_8011AE00 = 0x8011AE90; +D_8011AE01 = 0x8011AE91; +gIsNonCarRacers = 0x8011AE92; +gIsSilverCoinRace = 0x8011AE93; +D_8011AE08 = 0x8011AE98; +gLoadedObjectHeaders = 0x8011AED8; +gObjectHeaderReferences = 0x8011AEDC; +D_8011AE50 = 0x8011AEE0; +D_8011AE54 = 0x8011AEE4; +gObjPtrList = 0x8011AEE8; +gObjectCount = 0x8011AEEC; +gObjectListStart = 0x8011AEF0; +gParticleCount = 0x8011AEF4; +gObjectMemoryPool = 0x8011AEF8; +D_8011AE6C = 0x8011AEFC; +D_8011AE70 = 0x8011AF00; +D_8011AE74 = 0x8011AF04; +D_8011AE78 = 0x8011AF08; +gCutsceneID = 0x8011AF0A; +D_8011AE7C = 0x8011AF0C; +D_8011AE7E = 0x8011AF0E; +gTTGhostTimeToBeat = 0x8011AF10; +gPrevTimeTrialVehicle = 0x8011AF12; +gMapDefaultVehicle = 0x8011AF14; +D_8011AE88 = 0x8011AF18; +gObjectCurrDisplayList = 0x8011AF1C; +gObjectCurrMatrix = 0x8011AF20; +gObjectCurrVertexList = 0x8011AF24; +D_8011AE98 = 0x8011AF28; +D_8011AEA0 = 0x8011AF30; +D_8011AEA8 = 0x8011AF38; +D_8011AEB0 = 0x8011AF40; +gAssetsLvlObjTranslationTable = 0x8011AF48; +gAssetsLvlObjTranslationTableLength = 0x8011AF4C; +D_8011AEC0 = 0x8011AF50; +gParticlePtrList = 0x8011AF54; +gFreeListCount = 0x8011AF58; +gTrackCheckpoints = 0x8011AF5C; +gNumberOfCheckpoints = 0x8011AF60; +D_8011AED4 = 0x8011AF64; +gTajChallengeType = 0x8011AF68; +gCameraObjList = 0x8011AF6C; +gCameraObjCount = 0x8011AF70; +gRacers = 0x8011AF74; +gRacersByPosition = 0x8011AF78; +gRacersByPort = 0x8011AF7C; +gNumRacers = 0x8011AF80; +gTimeTrialEnabled = 0x8011AF84; +gIsTimeTrial = 0x8011AF85; +gIsTajChallenge = 0x8011AF86; +gTajRaceInit = 0x8011AF87; +gChallengePrevMusic = 0x8011AF88; +gChallengePrevInstruments = 0x8011AF8C; +D_8011AF00 = 0x8011AF90; +gAINodes = 0x8011AF94; +gAINodeTail = 0x8011AF98; +gInitAINodes = 0x8011AFA0; +D_8011AF14 = 0x8011AFA4; +gElevationHeights = 0x8011AFA8; +D_8011AF2C = 0x8011AFBC; +gWorldShading = 0x8011AFC0; +D_8011AF34 = 0x8011AFC4; +D_8011AF38 = 0x8011AFC8; +D_8011AF60 = 0x8011AFF0; +D_8011AF68 = 0x8011AFF8; +gEnvmapPos = 0x8011B078; +D_8011AFEE = 0x8011B07E; +D_8011AFF0 = 0x8011B080; +D_8011AFF4 = 0x8011B084; +D_8011AFF8 = 0x8011B088; +D_8011AFFC = 0x8011B08C; +D_8011B000 = 0x8011B090; +D_8011B004 = 0x8011B094; +D_8011B008 = 0x8011B098; +D_8011B010 = 0x8011B0A0; +D_8011B020 = 0x8011B0B0; +D_8011B048 = 0x8011B0D8; +D_8011B058 = 0x8011B0E8; +D_8011B068 = 0x8011B0F8; +D_8011B078 = 0x8011B108; +D_8011B07B = 0x8011B10B; +D_8011B080 = 0x8011B110; +gSceneCurrDisplayList = 0x8011B130; +gSceneCurrMatrix = 0x8011B134; +gSceneCurrVertexList = 0x8011B138; +gSceneCurrTriList = 0x8011B13C; +gSceneActiveCamera = 0x8011B140; +gSceneCurrentPlayerID = 0x8011B144; +gSkydomeSegment = 0x8011B148; +gIsNearCurrBBox = 0x8011B14C; +D_8011B0C0 = 0x8011B150; +gDisableShadows = 0x8011B154; +gShadowHeapFlip = 0x8011B158; +D_8011B0CC = 0x8011B15C; +gShadowIndex = 0x8011B160; +gSceneStartSegment = 0x8011B164; +D_8011B0D8 = 0x8011B168; +gSceneRenderSkyDome = 0x8011B16C; +gDrawLevelSegments = 0x8011B170; +D_8011B0E1 = 0x8011B171; +D_8011B0E2 = 0x8011B172; +D_8011B0E3 = 0x8011B173; +D_8011B0E4 = 0x8011B174; +D_8011B0E8 = 0x8011B178; +D_8011B0EC = 0x8011B17C; +D_8011B0F0 = 0x8011B180; +D_8011B0F4 = 0x8011B184; +D_8011B0F8 = 0x8011B188; +gAntiAliasing = 0x8011B18C; +D_8011B100 = 0x8011B190; +D_8011B104 = 0x8011B194; +D_8011B108 = 0x8011B198; +D_8011B10C = 0x8011B19C; +D_8011B110 = 0x8011B1A0; +D_8011B114 = 0x8011B1A4; +D_8011B118 = 0x8011B1A8; +D_8011B11C = 0x8011B1AC; +D_8011B120 = 0x8011B1B0; +D_8011B320 = 0x8011B3B0; // size:0x10 +D_8011B330 = 0x8011B3C0; +D_8011C230 = 0x8011C2C0; +D_8011C234 = 0x8011C2C4; +D_8011C238 = 0x8011C2C8; +D_8011C3B8 = 0x8011C448; +D_8011C8B8 = 0x8011C948; +D_8011D0B8 = 0x8011D148; +D_8011D0BC = 0x8011D14C; +D_8011D0C0 = 0x8011D150; +D_8011D0C4 = 0x8011D154; +D_8011D0C8 = 0x8011D158; +D_8011D0CC = 0x8011D15C; +D_8011D0CE = 0x8011D15E; +D_8011D0D0 = 0x8011D160; +gShadowOpacity = 0x8011D164; +D_8011D0D8 = 0x8011D168; +D_8011D0DC = 0x8011D16C; +D_8011D0E0 = 0x8011D170; +D_8011D0E4 = 0x8011D174; +D_8011D0E8 = 0x8011D178; +D_8011D0EC = 0x8011D17C; +D_8011D0F0 = 0x8011D180; +D_8011D0F4 = 0x8011D184; +D_8011D0F8 = 0x8011D188; +D_8011D128 = 0x8011D1B8; +D_8011D158 = 0x8011D1E8; +D_8011D164 = 0x8011D1F4; +D_8011D168 = 0x8011D1F8; +gTrackWaves = 0x8011D348; +D_8011D308 = 0x8011D398; +gTrackModelHeap = 0x8011D39C; +gLevelModelTable = 0x8011D3A0; +gPrevCameraX = 0x8011D3A4; +gPrevCameraY = 0x8011D3A8; +gPrevCameraZ = 0x8011D3AC; +gShadowHeapTris = 0x8011D3B0; +gCurrentShadowTris = 0x8011D3C0; +D_8011D334 = 0x8011D3C4; +gShadowHeapVerts = 0x8011D3C8; +gCurrentShadowVerts = 0x8011D3D8; +D_8011D34C = 0x8011D3DC; +gShadowHeapTextures = 0x8011D3E0; +gCurrentShadowTexture = 0x8011D3F0; +D_8011D364 = 0x8011D3F4; +D_8011D368 = 0x8011D3F8; +D_8011D36C = 0x8011D3FC; +D_8011D370 = 0x8011D400; +D_8011D374 = 0x8011D404; +D_8011D378 = 0x8011D408; +gScenePlayerViewports = 0x8011D40C; +gCurrBBoxDistanceToCamera = 0x8011D410; +gWaveBlockCount = 0x8011D414; +gFogData = 0x8011D418; +gScenePerspectivePos = 0x8011D4F8; +D_8011D474 = 0x8011D504; +D_8011D478 = 0x8011D508; +D_8011D47C = 0x8011D50C; +D_8011D480 = 0x8011D510; +D_8011D488 = 0x8011D518; +D_8011D48C = 0x8011D51C; +D_8011D490 = 0x8011D520; +D_8011D498 = 0x8011D528; +D_8011D49C = 0x8011D52C; +D_8011D49E = 0x8011D52E; +D_8011D4A0 = 0x8011D530; +D_8011D4A4 = 0x8011D534; +D_8011D4A8 = 0x8011D538; +D_8011D4AC = 0x8011D53C; +D_8011D4B0 = 0x8011D540; +D_8011D4B4 = 0x8011D544; +D_8011D4B6 = 0x8011D546; +D_8011D4B8 = 0x8011D548; +D_8011D4BA = 0x8011D54A; +D_8011D4BC = 0x8011D54C; +gLightDistance = 0x8011D550; +gLightDiffX = 0x8011D554; +gLightDiffY = 0x8011D558; +gLightDiffZ = 0x8011D55C; +gNPCPosY = 0x8011D560; +gTajSoundMask = 0x8011D564; +gTTSoundMask = 0x8011D568; +gRocketSoundTimer = 0x8011D56C; +gTajDialogueChoice = 0x8011D570; +gTajSoundID = 0x8011D572; +gCurrentCourseHeight = 0x8011D580; +gCurrentRacerWaterPos = 0x8011D588; +gRacerWaveType = 0x8011D594; +gCameraObject = 0x8011D598; +D_8011D50C = 0x8011D59C; +gCurrentRacerTransform = 0x8011D5A0; +gCurrentRacerInput = 0x8011D5B8; +gCurrentButtonsPressed = 0x8011D5BC; +gCurrentButtonsReleased = 0x8011D5C0; +gCurrentStickX = 0x8011D5C4; +gCurrentStickY = 0x8011D5C8; +unused_8011D53C = 0x8011D5CC; +gRaceStartTimer = 0x8011D5D0; +D_8011D544 = 0x8011D5D4; +D_8011D548 = 0x8011D5D8; +D_8011D54C = 0x8011D5DC; +D_8011D550 = 0x8011D5E0; +D_8011D552 = 0x8011D5E2; +gCurrentCarSteerVel = 0x8011D5E4; +D_8011D558 = 0x8011D5E8; +gCurrentPlayerIndex = 0x8011D5EC; +D_8011D560 = 0x8011D5F0; +gCurrentRacerMiscAssetPtr = 0x8011D5F4; +D_8011D568 = 0x8011D5F8; +gCurrentRacerWeightStat = 0x8011D5FC; +gCurrentRacerHandlingStat = 0x8011D600; +gCurrentRacerUnusedMiscAsset11 = 0x8011D604; +gRacerMagnetVelX = 0x8011D608; +gRacerMagnetVelZ = 0x8011D60C; +D_8011D580 = 0x8011D610; +gCurrentSurfaceType = 0x8011D611; +gTajInteractStatus = 0x8011D612; +gRacerDialogueCamera = 0x8011D613; +gRacerInputBlocked = 0x8011D614; +gStartBoostTime = 0x8011D615; +gDialogueCameraAngle = 0x8011D616; +gEggChallengeFlags = 0x8011D618; // size:0x4 +D_8011D58C = 0x8011D61C; +gGhostData = 0x8011D620; +gCurrentGhostIndex = 0x8011D62C; +gPrevGhostNodeIndex = 0x8011D62D; +gGhostNodeDelay = 0x8011D62E; +gGhostNodeCount = 0x8011D630; +gGhostNodeFull = 0x8011D638; +gGhostMapID = 0x8011D63C; +gRacerWaveCount = 0x8011D63E; +D_8011D5AF = 0x8011D63F; +gRacerCurrentWave = 0x8011D640; +D_8011D5B4 = 0x8011D644; +D_8011D5B8 = 0x8011D648; +gTrickyRacerPeakHeight = 0x8011D650; +gTrickyCutsceneTimer = 0x8011D654; +gBossSoundIDOffset = 0x8011D658; +gTrickyStartBoost = 0x8011D65C; +gBlueyCutsceneTimer = 0x8011D660; +gBlueyStartBoost = 0x8011D661; +gSmokeyCutsceneTimer = 0x8011D670; +gSmokeyStartBoost = 0x8011D671; +gBubblerCutsceneTimer = 0x8011D680; +gBubblerStartBoost = 0x8011D681; +gWizpigCutsceneTimer = 0x8011D690; +gWizpigStartBoost = 0x8011D691; +gRocketCutsceneTimer = 0x8011D6A0; +gRocketStartBoost = 0x8011D6A1; +gObjectModelTable = 0x8011D6B0; +D_8011D624 = 0x8011D6B4; +D_8011D628 = 0x8011D6B8; +D_8011D62C = 0x8011D6BC; +gNumModelIDs = 0x8011D6C0; +D_8011D634 = 0x8011D6C4; +gAnimationTable = 0x8011D6C8; +gObjectAnimationTable = 0x8011D6CC; +D_8011D640 = 0x8011D6D0; +D_8011D644 = 0x8011D6D4; +gThread1Stack = 0x8011D6E0; +gThread3Stack = 0x8011D7E8; +gThread1 = 0x8011F7F0; +gThread3 = 0x8011F9A0; +entrypointThreadStack = 0x8011FB50; +gCameraSegment = 0x80120B50; +gNumberOfViewports = 0x80120D70; +gActiveCameraID = 0x80120D74; +gViewportCap = 0x80120D78; +D_80120CEC = 0x80120D7C; +gCameraTransform = 0x80120D80; +gMatrixType = 0x80120D98; +gSpriteAnimOff = 0x80120D9C; +gCurCamFOV = 0x80120DA0; +gCutsceneCameraActive = 0x80120DA4; +gAdjustViewportHeight = 0x80120DA5; +D_80120D18 = 0x80120DA8; +gModelMatrixStackPos = 0x80120DAC; +gCameraMatrixPos = 0x80120DB0; +D_80120D24 = 0x80120DB4; +gModelMatrixViewX = 0x80120DB8; +gModelMatrixViewY = 0x80120DD0; +gModelMatrixViewZ = 0x80120DE8; +perspNorm = 0x80120DFC; +gModelMatrixF = 0x80120E00; +gModelMatrixS = 0x80120E18; +D_80120DA0 = 0x80120E30; +gPerspectiveMatrixF = 0x80120F70; +gViewMatrixF = 0x80120FB0; +gCameraMatrixF = 0x80120FF0; +gProjectionMatrixF = 0x80121030; +gProjectionMatrixS = 0x80121070; +gUnusedProjectionMatrixS = 0x801210B0; +gCurrentModelMatrixF = 0x801210F0; +gCurrentModelMatrixS = 0x80121130; +sSIMesgQueue = 0x80121170; +sSIMesgBuf = 0x80121188; +gSIMesg = 0x8012118C; +gControllerStatus = 0x80121190; +gControllerCurrData = 0x801211A0; +gControllerPrevData = 0x801211B8; +gControllerButtonsPressed = 0x801211D0; +gControllerButtonsReleased = 0x801211D8; +sPlayerID = 0x801211E0; +gTempAssetTable = 0x801211F0; +gMapId = 0x801211F4; +gCurrentLevelHeader = 0x801211F8; +gLevelNames = 0x801211FC; +gNumberOfLevelHeaders = 0x80121200; +gNumberOfWorlds = 0x80121204; +D_80121178 = 0x80121208; +gGlobalLevelTable = 0x8012120C; +gRaceTypeCountTable = 0x80121210; +gAIBehaviourTable = 0x80121250; +gLevelPropertyStack = 0x80121258; +gDisplayLists = 0x80121280; +gCurrDisplayList = 0x80121288; +D_801211FC = 0x8012128C; +gMatrixHeap = 0x80121290; +gGameCurrMatrix = 0x80121298; +gVertexHeap = 0x801212A0; +gGameCurrVertexList = 0x801212A8; +gTriangleHeap = 0x801212B0; +gGameCurrTriList = 0x801212B8; +D_80121230 = 0x801212C0; +gLevelSettings = 0x801212E0; +gMainSched = 0x801212F0; +gSchedStack = 0x80121578; +gSPTaskNum = 0x80123578; +gGameMode = 0x8012357C; +gRenderMenu = 0x80123580; +gPlayableMapId = 0x80123584; +D_801234F8 = 0x80123588; +D_801234FC = 0x8012358C; +gGameNumPlayers = 0x80123590; +gGameCurrentEntrance = 0x80123594; +gGameCurrentCutscene = 0x80123598; +gPrevPlayerCount = 0x8012359C; +gSettingsPtr = 0x801235A0; +gIsLoading = 0x801235A4; +gIsPaused = 0x801235A5; +gPostRaceViewPort = 0x801235A6; +gLevelDefaultVehicleID = 0x801235A8; +gMenuVehicleID = 0x801235AC; +sBootDelayTimer = 0x801235B0; +gLevelLoadType = 0x801235B4; +gNextMap = 0x801235B5; +D_80123526 = 0x801235B6; +gCurrNumF3dCmdsPerPlayer = 0x801235B8; +gCurrNumHudMatPerPlayer = 0x801235BC; +gCurrNumHudTrisPerPlayer = 0x801235C0; +gCurrNumHudVertsPerPlayer = 0x801235C4; +gNMISched = 0x801235C8; +gNMIOSMesg = 0x801235D4; +gNMIMesgQueue = 0x801235D8; +gNMIMesgBuf = 0x801235F0; +D_80123568 = 0x801235F8; +gMemoryPools = 0x80123610; +gNumberOfMemoryPools = 0x80123650; +D_801235C4 = 0x80123654; +gFreeQueue = 0x80123658; +gFreeQueueCount = 0x80123E58; +gFreeQueueTimer = 0x80123E5C; +_MotorStopData = 0x80123E60; +_MotorStartData = 0x80123F60; +_motorstopbuf = 0x80124060; +_motorstartbuf = 0x80124080; +sControllerMesgQueue = 0x801240A0; +D_80124014 = 0x801240A4; +pfs = 0x801240A8; +gRumble = 0x80124248; +sRumbleTable = 0x80124270; +gRumbleOn = 0x80124274; +gRumblePresent = 0x80124275; +gRumbleIdle = 0x80124276; +gRumbleActive = 0x80124277; +gRumbleDetectionTimer = 0x80124278; +D_801241EC = 0x8012427C; +D_801241F0 = 0x80124280; +D_801241F4 = 0x80124284; +gAssetsDmaIoMesg = 0x80124290; +gDmaMesg = 0x801242A8; +gDmaMesgQueue = 0x801242B0; +gPIMesgBuf = 0x801242C8; +gPIMesgQueue = 0x80124308; +gAssetsLookupTable = 0x80124320; +gDramStack = 0x80124330; +gGfxTaskOutputBuffer = 0x80124730; +gRCPMesgQueue = 0x80125F30; +gRCPMesgBuf = 0x80125F48; +gUnusedMesgQueue = 0x80125F50; +gGfxTaskMesgQueue = 0x80125F68; +gUnusedMesgBuf = 0x80125F80; +gGfxTaskMesgBuf = 0x80125FA0; +gChequerBGColourR1 = 0x80125FC0; +gChequerBGColourG1 = 0x80125FC1; +gChequerBGColourB1 = 0x80125FC2; +gChequerBGColourA1 = 0x80125FC3; +gChequerBGColourR2 = 0x80125FC4; +gChequerBGColourG2 = 0x80125FC5; +gChequerBGColourB2 = 0x80125FC6; +gChequerBGColourA2 = 0x80125FC7; +gChequerBGWidth = 0x80125FC8; +gChequerBGHeight = 0x80125FCC; +gGfxTaskBuf = 0x80125FD0; +gGfxTaskBuf2 = 0x801260B0; +osScInterruptQ = 0x80126190; +gCurRSPTaskIsSet = 0x801261A0; // type:s32 size:0x4 +gCurRDPTaskIsSet = 0x801261A4; // type:s32 size:0x4 +gYieldTime = 0x801261A8; // type:u64 size:0x8 +gRSPAudTaskFlushTime = 0x801261B0; // type:u32 size:0x4 +gRSPAudTaskDoneTime = 0x801261B4; // type:u32 size:0x4 +D_80126128 = 0x801261B8; // type:s32 size:0x48 +gVideoRefreshRate = 0x80126200; +gVideoAspectRatio = 0x80126204; +gVideoHeightRatio = 0x80126208; +D_8012617C = 0x8012620C; +gVideoMesgBuf = 0x80126210; +gVideoMesgQueue = 0x80126230; +gTvViMode = 0x801262F0; +gVideoFbWidths = 0x80126340; +gVideoFbHeights = 0x80126348; +gVideoFramebuffers = 0x80126350; +gVideoCurrFbIndex = 0x80126358; +gVideoModeIndex = 0x8012635C; +sBlackScreenTimer = 0x80126360; +gVideoCurrFramebuffer = 0x80126364; +gVideoLastFramebuffer = 0x80126368; +gVideoCurrDepthBuffer = 0x8012636C; +gVideoLastDepthBuffer = 0x80126370; +D_801262E4 = 0x80126374; +D_801262E8 = 0x80126378; +gVideoDeltaCounter = 0x80126398; +gVideoDeltaTime = 0x80126399; +gVideoSched = 0x801263A0; +gTextureAssetTable = 0x801263B0; +gTextureCache = 0x801263B8; +gCiPalettes = 0x801263BC; +gNumberOfLoadedTextures = 0x801263C0; +D_80126334 = 0x801263C4; +gTextureAssetID = 0x801263C8; +gCiPalettesSize = 0x801263D0; +D_80126344 = 0x801263D4; +gSpriteOffsetTable = 0x801263D8; +gSpriteCache = 0x801263DC; +gCurrentSprite = 0x801263E0; +gSpriteTableNum = 0x801263E4; +D_80126358 = 0x801263E8; +D_8012635C = 0x801263EC; +D_80126360 = 0x801263F0; +D_80126364 = 0x801263F4; +D_80126368 = 0x801263F8; +gTempTextureHeader = 0x801263FC; +D_80126370 = 0x80126400; +gCurrentRenderFlags = 0x80126404; +gBlockedRenderFlags = 0x80126408; +gCurrentTextureHeader = 0x8012640C; +gUsingTexture = 0x80126410; +gForceFlags = 0x80126412; +gUsePrimColour = 0x80126414; +gCourseInitials = 0x80126420; +gFLapInitials = 0x80126424; +gAdventureSaveGhost = 0x80126428; +gPreviousMenuID = 0x8012642C; +sMenuCurrDisplayList = 0x80126430; +gTTSaveGhostPakErrorText = 0x80126434; +sMenuCurrHudMat = 0x80126438; +sMenuCurrHudVerts = 0x8012643C; +sMenuCurrHudTris = 0x80126440; +gMenuSelectedCharacter = 0x80126444; +D_801263B8 = 0x80126448; +gOptionBlinkTimer = 0x8012644C; +gMenuCurrentCharacter = 0x80126450; +gIgnorePlayerInputTime = 0x80126454; +sUnused_801263C8 = 0x80126458; +gCurrCharacterSelectData = 0x8012645C; +gTrackmenuLoadedLevel = 0x80126460; +gActivePlayersArray = 0x80126464; // size:0x4 +gOpacityDecayTimer = 0x80126468; +gCharselectStatus = 0x8012646C; +gMenuStage = 0x80126470; +D_801263E4 = 0x80126474; +gPlayersCharacterArray = 0x80126478; +gCharacterIdSlots = 0x80126480; +gRankingsPoints = 0x80126488; +gResultsPlayers = 0x801264A8; +gRankingsPlayers = 0x801264B0; +gResultsPlayerIDs = 0x801264B8; +gRankingsPlayerIDs = 0x801264C0; // size:0x8 +gRankingsPortraitIDs = 0x801264C8; // size:0x10 +sEepromSettings = 0x801264D8; // type:u64 +sBootScreenTimer = 0x801264E0; // size:0x4 +gControllersXAxisDelay = 0x801264E4; // size:0x4 +gControllersYAxisDelay = 0x801264E8; // size:0x4 +gControllersXAxisDirection = 0x801264EC; // size:0x4 +gGameSelectElements = 0x801264F0; // size:0x4 +gControllersYAxisDirection = 0x801264F4; // size:0x4 +gControllersXAxis = 0x801264F8; // size:0x4 +gControllersYAxis = 0x801264FC; // size:0x4 +sUnused_80126470 = 0x80126500; +gTrackSelectViewPortHalfX = 0x80126504; +gTrackSelectViewPortHalfY = 0x80126508; +gTrackSelectViewPortX = 0x8012650C; +gTrackSelectViewportY = 0x80126510; +gFileCopy = 0x80126514; +gFileErase = 0x80126518; +gSaveFileIndex3 = 0x8012651C; +gSaveFileIndex2 = 0x80126520; +gFileConfirm = 0x80126524; +gGhostMenuOption = 0x80126528; +D_8012649C = 0x8012652C; +gSavefileInfo = 0x80126530; // size:0x30 +gCpakGhostData = 0x80126560; // size:0x4 +gGhostMenuTotal = 0x80126564; // size:0x4 +gDialogueSubmenu = 0x80126568; // size:0x1 +gGhostLevelIDsPak = 0x8012656C; // size:0x4 +D_801264E0 = 0x80126570; +D_801264E1 = 0x80126571; +sCurrentMenuID = 0x80126572; +gGhostCharacterIDsPak = 0x80126574; +D_801264E8 = 0x80126578; +gGhostVehicleIDsPak = 0x8012657C; +D_801264F0 = 0x80126580; +gGhostChecksumIDsPak = 0x80126588; +sDialogueOptionMax = 0x80126594; +gGhostLevelIDsMenu = 0x80126598; +gDialogueOptionYOffset = 0x8012659E; +gGhostCharacterIDsMenu = 0x801265A0; // size:0x6 +gDialogueItemSelection = 0x801265A6; +gGhostVehicleIDsMenu = 0x801265A8; +gGhostChecksumIDsMenu = 0x801265B0; +gSavefileData = 0x801265C0; // size:0x10 +gGhostWorldIDs = 0x801265D0; // size:0x8 +gMultiplayerSelectedNumberOfRacersCopy = 0x801265D8; +gMenuAssets = 0x801265E0; // size:0x200 +gMenuAssetActive = 0x801267E0; +gTrackmenuType = 0x80126860; +D_801267D4 = 0x80126864; +gMenuButtons = 0x80126868; // size:0x14 +gCinematicParams = 0x8012687C; +buttonsPressed = 0x80126880; +gCinematicPortraits = 0x80126894; +gMenuSoundMasks = 0x80126898; // size:0x10 +gMenuStickX = 0x801268A8; // size:0xA +gCinematicEnd = 0x801268B4; +sUnused_80126828 = 0x801268B8; +D_8012682C = 0x801268BC; +gMenuStickY = 0x801268C0; // size:0xA +D_8012683A = 0x801268CA; +gCinematicSkipA = 0x801268CC; +gTrackTTSoundMask = 0x801268D0; +gCinematicSkipB = 0x801268D4; +D_80126848 = 0x801268D8; +gCinematicMusicChangeOff = 0x801268DC; +D_80126850 = 0x801268E0; +gMenuElementScaleTimer = 0x801268E4; +gPostraceScaleIn = 0x801268E8; +gPostraceScaleMiddle = 0x801268EC; +gPostraceScaleOut = 0x801268F0; +gTitleDemoIndex = 0x801268F4; +gTitleDemoTimer = 0x801268F8; +gTitleRevealTimer = 0x801268FC; +gTitleAudioCounter = 0x80126900; +sTitleScreenDemoIds = 0x80126904; +D_80126878 = 0x80126908; +D_801268D8 = 0x80126968; +D_801268DC = 0x8012696C; +gOpeningNameID = 0x80126970; +D_801268E4 = 0x80126974; +gTrackSelectIDs = 0x80126978; +gFFLUnlocked = 0x801269A8; +D_8012691C = 0x801269AC; +D_80126920 = 0x801269B0; +gTrackSelectVertsFlip = 0x801269B4; +D_80126928 = 0x801269B8; +D_8012692C = 0x801269BC; +gTrackSelectRenderDetails = 0x801269C0; +gPlayerSelectVehicle = 0x80126A50; // size:0x4 +gPlayerSelectConfirm = 0x80126A54; // size:0x4 +gTrackSelectCursorX = 0x80126A58; // size:0x4 +gTrackSelectCursorY = 0x80126A5C; // size:0x4 +gAudioOutputStrings = 0x80126A60; // size:0xC +gTrackSelectX = 0x80126A6C; // size:0x4 +gMusicTestString = 0x80126A70; // size:0x4 +gTrackSelectY = 0x80126A74; // size:0x4 +gTrackSelectTargetX = 0x80126A78; // size:0x4 +gTrackSelectTargetY = 0x80126A7C; // size:0x4 +gTrackMenuHubName = 0x80126A80; // size:0x4 +gSelectedTrackX = 0x80126A84; // size:0x4 +gSelectedTrackY = 0x80126A88; // size:0x4 +gSoundOptionMask = 0x80126A8C; // size:0x4 +gSaveMenuOptionCountLower = 0x80126A90; // size:0x4 +gSaveMenuFilesDest = 0x80126A94; // size:0x4 +gSaveMenuOptionCountUpper = 0x80126A98; // size:0x4 +gSaveMenuFilesSource = 0x80126A9C; // size:0x4 +gSaveMenuRumbleNag = 0x80126AA0; // size:0x4 +gSaveMenuRumbleConnected = 0x80126AA4; // size:0x4 +gSaveMenuSourceState = 0x80126AA8; // size:0x4 +gSaveMenuDestState = 0x80126AAC; // size:0x4 +sControllerPakNotesFree = 0x80126AB0; // size:0x10 +sControllerPakIssueNotFound = 0x80126AC0; // size:0x4 +sControllerPakFatalErrorFound = 0x80126AC4; // size:0x4 +sControllerPakNoFreeSpace = 0x80126AC8; // size:0x4 +sControllerPakBadData = 0x80126ACC; // size:0x4 +gMenuOptionText = 0x80126AD0; // size:0x20 +sControllerPakDataPresent = 0x80126AF0; // size:0x4 +D_80126A64 = 0x80126AF4; +gMenuOption = 0x80126AF8; +gSaveMenuRumbleNagSet = 0x80126AFC; +gDeviceStatusStrings = 0x80126B00; +gSaveMenuMessageLines = 0x80126B04; +gSaveMenuMessageOption = 0x80126B08; +D_80126A7C = 0x80126B0C; +gSaveMenuText = 0x80126B10; // size:0x10 +gPostRace1Player = 0x80126B20; +gPostRaceTimer = 0x80126B24; +gTracksSaveGhost = 0x80126B28; +D_80126A9C = 0x80126B2C; +gBootPakData = 0x80126B30; // size:0x40 +sCurrentControllerPakAllFileNames = 0x80126B70; +sCurrentControllerPakAllFileExtensions = 0x80126BB0; +sCurrentControllerPakAllFileTypes = 0x80126BF0; +sCurrentControllerPakNumberOfPages = 0x80126C00; +sCurrentControllerPakFreePages = 0x80126C40; +sControllerPakMenuNumberOfRows = 0x80126C44; +gMenuMosaic1 = 0x80126C48; +gMenuMosaic2 = 0x80126C4C; +gMenuMosaicShift = 0x80126C50; +gCreditsControlDataIndex = 0x80126C54; +sControllerPakError = 0x80126C58; +D_80126BCC = 0x80126C5C; +D_80126BD0 = 0x80126C60; +gSaveMenuOptionSource = 0x80126C64; +D_80126BD8 = 0x80126C68; +gSaveMenuScrollSource = 0x80126C6C; +D_80126BE0 = 0x80126C70; +gSaveMenuOptionDest = 0x80126C74; +D_80126BE8 = 0x80126C78; +gSaveMenuScrollDest = 0x80126C7C; +gResultOptionText = 0x80126C80; +gCpakWriteTimer = 0x80126CA0; +gResultOptionCount = 0x80126CA4; +gBootMenuTimer = 0x80126CA8; +gPostRaceMessage = 0x80126CAC; +gBootMenuPhase = 0x80126CB0; +gPostRaceLineCount = 0x80126CB4; +gPostraceFinishState = 0x80126CB8; +gMenuGeometry = 0x80126CBC; +gCheatsAssetData = 0x80126CC0; +gNameEntryStickHeld = 0x80126CC4; +gNumberOfCheats = 0x80126CC8; +gNameEntryStickX = 0x80126CCC; +gCheatInputCurrentRow = 0x80126CD0; +gCheatInputCurrentColumn = 0x80126CD2; +gCheatInputStringLength = 0x80126CD4; +gOptionsMenuItemIndex = 0x80126CD6; +gNameSelectionDone = 0x80126CD8; +gNewCheatID = 0x80126CDC; +gNameEntryOffsetX = 0x80126CE0; +gPostRace = 0x80126CE4; // size:0x4 +gCheatInput = 0x80126CE8; // size:0x14 +gNameEntryTargetX = 0x80126CFC; +gNumOnscreenMagicCodes = 0x80126D00; +gNameEntryString = 0x80126D04; +gNameEntryAllowedLength = 0x80126D08; +gUnlockedCheatIDs = 0x80126D10; +gFileNew = 0x80126D50; +gMinimapOpacity = 0x80126D60; +gMinimapFade = 0x80126D61; +gShowHUD = 0x80126D62; +gMinimapXlu = 0x80126D63; +gRaceStartShowHudStep = 0x80126D64; +D_80126CD5 = 0x80126D65; +gAssetHudElementStaleCounter = 0x80126D68; +gCurrentHud = 0x80126D6C; +gPlayerHud = 0x80126D70; // size:0x10 +gAssetHudElementIds = 0x80126D80; +gAssetHudElements = 0x80126D84; +gAssetHudElementIdsCount = 0x80126D88; +gHUDCurrDisplayList = 0x80126D8C; +gHUDCurrMatrix = 0x80126D90; +gHUDCurrVertex = 0x80126D94; +gHudCurrentViewport = 0x80126D98; +gHUDNumPlayers = 0x80126D9C; +D_80126D10 = 0x80126DA0; +D_80126D14 = 0x80126DA4; +D_80126D18 = 0x80126DA8; +gMinimapDotOffsetX = 0x80126DAC; +gMinimapDotOffsetY = 0x80126DB0; +gHudOffsetX = 0x80126DB4; +gHudBounceX = 0x80126DB8; +gHudBounceTimer = 0x80126DBC; +gHudBounceMag = 0x80126DC0; +gHudRaceStart = 0x80126DC4; +D_80126D35 = 0x80126DC5; +gHideRaceTimer = 0x80126DC6; +gNumActivePlayers = 0x80126DC7; +gWrongWayNagPrefix = 0x80126DC8; +gRaceStartSoundMask = 0x80126DCC; +gHUDVoiceSoundMask = 0x80126DD0; +D_80126D44 = 0x80126DD4; +D_80126D48 = 0x80126DD8; +D_80126D4C = 0x80126DDC; +D_80126D50 = 0x80126DE0; +gMinimapRed = 0x80126DE4; +gMinimapGreen = 0x80126DE5; +gMinimapBlue = 0x80126DE6; +gMinimapScreenX = 0x80126DE8; +gMinimapScreenY = 0x80126DEC; +gHudLevelHeader = 0x80126DF0; +D_80126D64 = 0x80126DF4; +D_80126D65 = 0x80126DF5; +D_80126D66 = 0x80126DF6; +gStopwatchFaceID = 0x80126DF7; +D_80126D68 = 0x80126DF8; +D_80126D69 = 0x80126DF9; +gWrongWayNagTimer = 0x80126DFC; +gHudAudioReset = 0x80126E00; +gHudTimeTrialGhost = 0x80126E01; +gHudVoiceTimer = 0x80126E04; +gHudVoicePlayerID = 0x80126E08; +gHudVoiceID = 0x80126E0C; +gHudSprites = 0x80126E10; +D_80127180 = 0x80127210; +gHudSettings = 0x80127214; +gHudSilverCoinRace = 0x80127218; +D_80127189 = 0x80127219; +D_8012718A = 0x8012721A; +gMinimapOpacityTarget = 0x8012721B; +gStopwatchErrorX = 0x8012721C; +gStopwatchErrorY = 0x80127220; +D_80127194 = 0x80127224; +D_80127198 = 0x80127228; +gGfxTaskYieldData = 0x80127240; +gSnowDensity = 0x80127C40; +gSnowParticleCount = 0x80127C44; +gWeather = 0x80127C48; +gSnowPlane = 0x80127C88; +gSnowVertOffset = 0x80127C90; +gSnowTriCount = 0x80127C94; +gSnowVertexFlip = 0x80127C98; +gCurrWeatherDisplayList = 0x80127C9C; +gCurrWeatherMatrix = 0x80127CA0; +gCurrWeatherVertexList = 0x80127CA4; +gCurrWeatherTriList = 0x80127CA8; +gWeatherCamera = 0x80127CAC; +gWeatherCameraMatrix = 0x80127CB0; +gLensFlareSet1 = 0x80127CB4; +gLensFlareSet2 = 0x80127CB8; +gLensFlareLarge = 0x80127CBC; +gLensFlarePos = 0x80127CC0; +gLensFlareSwitches = 0x80127CD0; +gParticleUpdateRate = 0x80127D10; +D_80127C84 = 0x80127D14; +D_80127C88 = 0x80127D18; +gTexture = 0x80127D30; //size:0xC +gDebugTextX = 0x80127D3C; +gDebugTextY = 0x80127D3E; +D_80127CB0 = 0x80127D40; +D_80127CB2 = 0x80127D42; +D_80127CB4 = 0x80127D44; +gDebugTextOn = 0x80127D48; +gDebugBoundsX1 = 0x80127D4C; +gDebugBoundsX2 = 0x80127D50; +gDebugBoundsY1 = 0x80127D54; +gDebugBoundsY2 = 0x80127D58; +gDebugFontTexture = 0x80127D5C; +gDebugScreenWidth = 0x80127D60; +gDebugScreenHeight = 0x80127D62; +D_80127CD4 = 0x80127D64; +gDebugPrintBufferStart = 0x80127D68; +gDebugPrintBufferEnd = 0x80128668; +gEPCStack = 0x80128670; +gEPCThread = 0x80129670; +D_80129790 = 0x80129820; +D_801297A8 = 0x80129838; +D_801297C8 = 0x80129858; +D_801297E8 = 0x80129878; +gEpcInfo = 0x80129890; // size:0x1B0 +D_801299B0 = 0x80129A40; // size:0x100 +D_80129AB0 = 0x80129B40; // size:0x100 +D_80129BB0 = 0x80129C40; // size:0x400 +gObjectStackTrace = 0x8012A040; // size:0x10 +D_80129FC0 = 0x8012A050; +D_80129FC4 = 0x8012A054; +D_80129FC8 = 0x8012A058; // size:0x50 +D_8012A018 = 0x8012A0A8; +D_8012A01C = 0x8012A0AC; +D_8012A020 = 0x8012A0B0; +D_8012A028 = 0x8012A0B8; +D_8012A078 = 0x8012A108; +gWaveBatch = 0x8012A10C; +gWaveTexture = 0x8012A110; +D_8012A084 = 0x8012A114; +D_8012A088 = 0x8012A118; +D_8012A08C = 0x8012A11C; +D_8012A090 = 0x8012A120; +D_8012A094 = 0x8012A124; +D_8012A098 = 0x8012A128; +D_8012A09C = 0x8012A12C; +D_8012A0A0 = 0x8012A130; +D_8012A0A4 = 0x8012A134; +gWaveBoundingBoxDiffX = 0x8012A138; +gWaveBoundingBoxDiffZ = 0x8012A13C; +gWaveBoundingBoxX1 = 0x8012A140; +gWaveBoundingBoxZ1 = 0x8012A144; +D_8012A0B8 = 0x8012A148; +D_8012A0BC = 0x8012A14C; +D_8012A0C0 = 0x8012A150; +D_8012A0C4 = 0x8012A154; +D_8012A0C8 = 0x8012A158; +D_8012A0CC = 0x8012A15C; +D_8012A0D0 = 0x8012A160; +D_8012A0D4 = 0x8012A164; +D_8012A0D8 = 0x8012A168; +D_8012A0DC = 0x8012A16C; +D_8012A0E0 = 0x8012A170; +D_8012A0E8 = 0x8012A178; +D_8012A1E8 = 0x8012A278; +D_8012A5E8 = 0x8012A678; +D_8012A5F4 = 0x8012A684; +D_8012A5F8 = 0x8012A688; +D_8012A5FC = 0x8012A68C; +D_8012A600 = 0x8012A690; +gWavePowerBase = 0x8012A7B0; +gWaveMagnitude = 0x8012A7B4; +gWavePowerDivisor = 0x8012A7B8; +gCurFadeTransition = 0x8012A7C0; +gCurFadeRed = 0x8012A7C4; +gCurFadeGreen = 0x8012A7C5; +gCurFadeBlue = 0x8012A7C6; +gCurFadeAlpha = 0x8012A7C7; +gLastFadeRed = 0x8012A7C8; +gLastFadeGreen = 0x8012A7CC; +gLastFadeBlue = 0x8012A7D0; +gLastFadeRedStep = 0x8012A7D4; +gLastFadeGreenStep = 0x8012A7D8; +gLastFadeBlueStep = 0x8012A7DC; +sTransitionOpacity = 0x8012A7E0; +gTransitionOpacityVel = 0x8012A7E4; +D_8012A758 = 0x8012A7E8; +D_8012A75C = 0x8012A7EC; +D_8012A760 = 0x8012A7F0; +D_8012A764 = 0x8012A7F4; +D_8012A768 = 0x8012A7F8; +D_8012A76C = 0x8012A7FC; +gTransitionNextVtx = 0x8012A800; +gTransitionVtxStep = 0x8012A804; +gTransitionVertexTarget = 0x8012A808; +gTransitionVertexCount = 0x8012A80C; +gGameTextTable = 0x8012A810; +gCloseTextMessage = 0x8012A814; +gTextCloseTimerFrames = 0x8012A815; +gTextCloseTimerSeconds = 0x8012A816; +D_8012A787 = 0x8012A817; +D_8012A788 = 0x8012A818; +gShowOnscreenMessage = 0x8012A819; +D_8012A78A = 0x8012A81A; +D_8012A78C = 0x8012A81C; +D_8012A78E = 0x8012A81E; +gTextTableEntries = 0x8012A820; +D_8012A792 = 0x8012A822; +gGameTextTableEntries = 0x8012A828; +D_8012A7A0 = 0x8012A830; +D_8012A7A4 = 0x8012A834; +gDialogueAlpha = 0x8012A838; +gTextAlphaVelocity = 0x8012A83A; +gSubtitleTimer = 0x8012A83C; +gDialogueXPos1 = 0x8012A83E; +gDialogueYPos1 = 0x8012A840; +gDialogueXPos2 = 0x8012A842; +gDialogueYPos2 = 0x8012A844; +gShowSubtitles = 0x8012A846; +gSubtitleLineCount = 0x8012A848; +gCurrentTextID = 0x8012A84A; +D_8012A7BC = 0x8012A84C; +gSubtitleProperties = 0x8012A850; +gCurrentMessageText = 0x8012A858; +gCurrentTextProperties = 0x8012A860; +D_8012A7D4 = 0x8012A864; +gNumberOfFonts = 0x8012A870; +gFonts = 0x8012A874; +gDialogueBoxBackground = 0x8012A878; +gDialogueText = 0x8012A87C; +gCompactKerning = 0x8012A880; +sDialogueBoxCloseTimer = 0x8012A884; +piThread = 0x8012A890; +piThreadStack = 0x8012AA40; +piEventQueue = 0x8012AB40; +piEventBuf = 0x8012AB58; +gzip_bit_buffer = 0x8012AB60; +gzip_num_bits = 0x8012AB64; +gHuftTablePos = 0x8012AB68; +leoDiskStack = 0x8012AB70; +gThread30 = 0x8012AB80; +gThread30MesgQueue = 0x8012AD30; // type:OSMesgQueue size:0x18 +gThread30Message = 0x8012AD48; // type:OSMesg size:0x4 +gThread30Stack = 0x8012AD50; // type:u64 size:0x2000 +__osFinalrom = 0x8012CD50; // type:u32 size:0x4 +__osEventStateTab = 0x8012CD60; +__osContPifRam = 0x8012CDE0; +__osContLastCmd = 0x8012CE20; +__osMaxControllers = 0x8012CE21; +__osEepromTimer = 0x8012CE28; +__osEepromTimerQ = 0x8012CE48; +__osEepromTimerMsg = 0x8012CE60; +__osPfsPifRam = 0x8012CE70; +__osSiAccessQueue = 0x8012CEB8; +__osEepPifRam = 0x8012CED0; +viThread = 0x8012CF10; +gViMgrStack = 0x8012D0C0; +viEventQueue = 0x8012D1C0; +viEventBuf = 0x8012D1D8; +viRetraceMsg = 0x8012D1F0; +viCounterMsg = 0x8012D208; +retrace = 0x8012D220; +tmp_task = 0x8012D230; +piAccessBuf = 0x8012D270; +__osPiAccessQueue = 0x8012D278; +__osBaseTimer = 0x8012D290; // type:OSTimer size:0x20 +__osCurrentTime = 0x8012D2B0; // type:u64 +__osBaseCounter = 0x8012D2B8; +__osViIntrCount = 0x8012D2BC; +__osTimerCounter = 0x8012D2C0; +D_8012D238 = 0x8012D2C8; +__osThreadSave = 0x8012D2D0; // type:OSThread size:0x1B0 diff --git a/ver/symbols/symbol_addrs.pal.v80.txt b/ver/symbols/symbol_addrs.pal.v80.txt new file mode 100644 index 00000000..ddaf8950 --- /dev/null +++ b/ver/symbols/symbol_addrs.pal.v80.txt @@ -0,0 +1,4255 @@ +osTvType = 0x80000300; +osRomType = 0x80000304; +osRomBase = 0x80000308; +osResetType = 0x8000030C; +osCicId = 0x80000310; +osVersion = 0x80000314; +osMemSize = 0x80000318; +osAppNMIBuffer = 0x8000031C; +entrypoint = 0x80000400; + +// audio.c .text +audio_init = 0x80000450; +sound_volume_reset = 0x80000890; +sound_volume_change = 0x80000968; +music_change_off = 0x80000B18; +music_change_on = 0x80000B28; +music_play = 0x80000B34; +music_voicelimit_set = 0x80000BE0; +music_voicelimit_change_off = 0x80000C1C; +music_voicelimit_change_on = 0x80000C2C; +music_jingle_voicelimit_set = 0x80000C38; +func_80000C68 = 0x80000C68; +music_fade = 0x80000C98; +music_volume_reset = 0x80000CBC; +sound_update_queue = 0x80000D00; +sound_play_delayed = 0x80000FDC; +sound_clear_delayed = 0x80001050; +music_channel_get_mask = 0x8000105C; +music_dynamic_set = 0x80001074; +music_channel_off = 0x80001114; +music_channel_active = 0x8000114C; +music_channel_on = 0x80001170; +music_channel_pan_set = 0x800011A8; +music_channel_volume_set = 0x800011E8; +music_channel_volume = 0x80001228; +music_channel_fade_set = 0x80001268; +music_channel_fade = 0x800012A8; +music_channel_reset_all = 0x800012E8; +func_80001358 = 0x80001358; +func_80001440 = 0x80001440; +music_tempo_set_relative = 0x800014BC; +music_tempo_set = 0x80001534; +music_tempo = 0x800015B8; +music_is_playing = 0x800015C8; +music_animation_fraction = 0x800015F8; +sound_get_properties = 0x80001728; +music_jingle_play_safe = 0x80001784; +sound_jingle_tempo_set = 0x800017D4; +music_stop = 0x80001844; +music_enabled_set = 0x80001878; +music_can_play = 0x800018D0; +music_jingle_stop = 0x800018E0; +music_current_sequence = 0x80001918; +music_next = 0x80001954; +music_jingle_current = 0x80001980; +music_volume_set = 0x80001990; +music_volume_config_set = 0x80001A3C; +music_volume = 0x80001AEC; +music_volume_config = 0x80001AFC; +music_jingle_volume_set = 0x80001B0C; +music_jingle_pan_set = 0x80001B58; +music_jingle_play = 0x80001BC0; +music_jingle_playing = 0x80001C08; +sound_channel_volume_all = 0x80001C5C; +sound_distance = 0x80001CB8; +sound_play = 0x80001D04; +sound_play_spatial = 0x80001EA8; +func_80001F14 = 0x80001F14; +sound_volume_set_relative = 0x80001FB8; +sound_volume_set = 0x8000208C; +sound_pitch_set = 0x800020BC; +sound_count = 0x800020E8; +music_sequence_count = 0x80002110; +sound_table_properties = 0x80002128; +music_table_properties = 0x8000216C; +gSoundBank_GetSoundDecayTime = 0x800021B0; +sound_seqplayer_init = 0x80002224; +music_sequence_start = 0x800022BC; +music_sequence_init = 0x8000232C; +music_sequence_stop = 0x80002570; +sound_reverb_set = 0x80002608; +sound_reverb_enabled = 0x80002630; + +//audiomgr.c .text +amCreateAudioMgr = 0x80002660; +audioStartThread = 0x80002A50; +audioStopThread = 0x80002A74; +__amMain = 0x80002A98; +__amHandleFrameMsg = 0x80002C00; +__amHandleDoneMsg = 0x80002DF8; +__amDMA = 0x80002E38; +__amDmaNew = 0x80003008; +__clearAudioDMA = 0x80003040; + +//audiosfx.c .text +set_sfx_volume_slider = 0x80003160; +get_sfx_volume_slider = 0x8000317C; +set_sound_channel_count = 0x8000318C; +alSndPNew = 0x800031C0; +_sndpVoiceHandler = 0x800033C8; +_handleEvent = 0x80003470; +func_8000410C = 0x8000410C; +func_8000418C = 0x8000418C; +_removeEvents = 0x800041FC; +func_800042CC = 0x800042CC; +func_80004384 = 0x80004384; +func_80004520 = 0x80004520; +func_80004604 = 0x80004604; +func_8000461C = 0x8000461C; +func_80004638 = 0x80004638; +func_80004668 = 0x80004668; +sound_stop = 0x8000488C; +func_800048D8 = 0x800048D8; +func_80004998 = 0x80004998; +func_800049B8 = 0x800049B8; +sound_stop_all = 0x800049D8; +sound_event_update = 0x800049F8; +get_sound_channel_volume = 0x80004A3C; +set_sound_channel_volume = 0x80004A60; + +// audio_vehicle.c .text +func_80004B40 = 0x80004B40; +racer_sound_update = 0x800050D0; +func_80005254 = 0x80005254; +racer_sound_hovercraft = 0x80005D08; +func_800063EC = 0x800063EC; +racer_sound_free = 0x80006AC8; +func_80006BFC = 0x80006BFC; +func_80006FC8 = 0x80006FC8; +sound_vehicle_enable = 0x80007F78; +sound_vehicle_disable = 0x80007F88; +sound_vehicle_check = 0x80007F94; +func_80007FA4 = 0x80007FA4; + +// audio_spatial.c .text +func_80008040 = 0x80008040; +audioline_off = 0x80008140; +audioline_on = 0x80008168; +func_80008174 = 0x80008174; +func_80008438 = 0x80008438; +func_800090C0 = 0x800090C0; +audioline_distance = 0x800092A8; +play_sound_at_position = 0x80009558; +func_800095E8 = 0x800095E8; +update_spatial_audio_position = 0x800096D8; +func_800096F8 = 0x800096F8; +func_8000974C = 0x8000974C; +audioline_ambient_create = 0x800098A4; +func_80009968 = 0x80009968; +func_800099EC = 0x800099EC; +func_80009AB4 = 0x80009AB4; +func_80009B7C = 0x80009B7C; +func_80009D6C = 0x80009D6C; +func_8000A184 = 0x8000A184; +func_8000A2E8 = 0x8000A2E8; +debug_render_line = 0x8000A414; + +// seqplayer.c .text +dummy_8000A710 = 0x8000A710; +__mapVoice = 0x8000A71C; +__unmapVoice = 0x8000A7C4; +__lookupVoice = 0x8000A84C; +__lookupSoundQuick = 0x8000A8D0; +__vsVol = 0x8000A9F8; +__vsDelta = 0x8000AA88; +__vsPan = 0x8000AAAC; +__seqpReleaseVoice = 0x8000AB00; +__voiceNeedsNoteKill = 0x8000AC34; +__initFromBank = 0x8000ACE0; +__setInstChanState = 0x8000AD98; +__resetPerfChanState = 0x8000ADF4; +__initChanState = 0x8000AE90; +__seqpStopOsc = 0x8000AEFC; +set_voice_limit = 0x8000B010; + +// objects.c .text +func_8000B020 = 0x8000B020; +func_8000B290 = 0x8000B290; +func_8000B38C = 0x8000B38C; +func_8000B750 = 0x8000B750; +func_8000BADC = 0x8000BADC; +func_8000BF44 = 0x8000BF44; +allocate_object_pools = 0x8000BF8C; +decrypt_magic_codes = 0x8000C2D8; +clear_object_pointers = 0x8000C460; +free_all_objects = 0x8000C604; +load_object_header = 0x8000C718; +try_free_object_header = 0x8000C844; +normalise_time = 0x8000C8B4; +func_8000C8F8 = 0x8000C8F8; +func_8000CBC0 = 0x8000CBC0; +func_8000CBF0 = 0x8000CBF0; +func_8000CC20 = 0x8000CC20; +func_8000CC7C = 0x8000CC7C; +get_contpak_error = 0x8000E0B0; +instShowBearBar = 0x8000E128; +func_8000E138 = 0x8000E138; +func_8000E148 = 0x8000E148; +func_8000E158 = 0x8000E158; +func_8000E184 = 0x8000E184; +func_8000E194 = 0x8000E194; +fontUseFont = 0x8000E1B8; +find_non_car_racers = 0x8000E1CC; +check_if_silver_coin_race = 0x8000E1DC; +despawn_player_racer = 0x8000E1EC; +transform_player_vehicle = 0x8000E2B4; +set_time_trial_enabled = 0x8000E4BC; +is_time_trial_enabled = 0x8000E4C8; +is_in_time_trial = 0x8000E4D8; +func_8000E4E8 = 0x8000E4E8; +func_8000E558 = 0x8000E558; +func_8000E5EC = 0x8000E5EC; +func_8000E79C = 0x8000E79C; +func_8000E898 = 0x8000E898; +get_object = 0x8000E948; +objGetObjList = 0x8000E988; +get_object_count = 0x8000E9B0; +get_particle_count = 0x8000E9C0; +func_8000E9D0 = 0x8000E9D0; +spawn_object = 0x8000EA54; +objFreeAssets = 0x8000F648; +light_setup_light_sources = 0x8000F758; +init_object_shading = 0x8000F7EC; +func_8000F99C = 0x8000F99C; +obj_init_emitter = 0x8000FAC4; +init_object_shadow = 0x8000FBCC; +init_object_water_effect = 0x8000FC6C; +init_object_interaction_data = 0x8000FD20; +func_8000FD34 = 0x8000FD34; +func_8000FD54 = 0x8000FD54; +free_object = 0x8000FFB8; +obj_table_ids = 0x80010018; +obj_id_valid = 0x80010028; +gParticlePtrList_flush = 0x8001004C; +func_800101AC = 0x800101AC; +func_80010994 = 0x80010994; +func_80011134 = 0x80011134; +func_80011264 = 0x80011264; +do_nothing_func_80011364 = 0x80011364; +path_update_check = 0x8001136C; +path_enable = 0x80011390; +get_race_countdown = 0x8001139C; +get_race_start_timer = 0x800113AC; +func_800113BC = 0x800113BC; +play_footstep_sounds = 0x800113CC; +ignore_bounds_check = 0x80011560; +move_object = 0x80011570; +render_misc_model = 0x80011960; +render_3d_misc = 0x80011AD0; +render_3d_billboard = 0x80011C94; +render_3d_model = 0x800120C8; +func_80012C30 = 0x80012C30; +func_80012C3C = 0x80012C3C; +func_80012C98 = 0x80012C98; +func_80012CE8 = 0x80012CE8; +render_object = 0x80012D5C; +object_do_player_tumble = 0x80012E28; +object_undo_player_tumble = 0x80012F30; +func_80012F94 = 0x80012F94; +render_object_parts = 0x8001348C; +unset_temp_model_transforms = 0x80013548; +func_800135B8 = 0x800135B8; +render_bubble_trap = 0x800138A8; +render_racer_shield = 0x80013A0C; +render_racer_magnet = 0x80013DCC; +func_80014090 = 0x80014090; +func_800142B8 = 0x800142B8; +render_mesh = 0x800143A8; +func_80014814 = 0x80014814; +func_800149C0 = 0x800149C0; +func_80014B50 = 0x80014B50; +sort_objects_by_dist = 0x80015348; +process_object_interactions = 0x800155B8; +func_800159C8 = 0x800159C8; // has a diff from v1 +func_80016500 = 0x80016534; +func_80016748 = 0x8001677C; +func_80016BC4 = 0x80016BF8; +obj_butterfly_node = 0x80016C9C; +obj_dist_racer = 0x80016E1C; +func_8001709C = 0x800170D0; +func_80017248 = 0x8001727C; +func_8001790C = 0x80017940; +func_80017978 = 0x800179AC; +func_800179D0 = 0x80017A04; +func_80017A18 = 0x80017A4C; +set_taj_challenge_type = 0x80017EA8; +get_taj_challenge_type = 0x80017EBC; +func_80017E98 = 0x80017ECC; +func_800185E4 = 0x80018618; +find_taj_object = 0x80018CA0; +func_80018CE0 = 0x80018D14; +func_8001955C = 0x80019590; +func_80019808 = 0x8001983C; +set_course_finish_flags = 0x8001A80C; +race_finish_adventure = 0x8001A908; +race_transition_adventure = 0x8001A928; +race_finish_timer = 0x8001AE78; +get_balloon_cutscene_timer = 0x8001AE88; +race_finish_time_trial = 0x8001AE98; +timetrial_valid_player_ghost = 0x8001B2BC; +timetrial_player_ghost = 0x8001B314; +timetrial_load_staff_ghost = 0x8001B324; +timetrial_staff_ghost_check = 0x8001B3E0; +tt_ghost_beaten = 0x8001B3F8; +timetrial_init_staff_ghost = 0x8001B530; +timetrial_ghost_staff = 0x8001B674; +timetrial_staff_unbeaten = 0x8001B684; +timetrial_init_player_ghost = 0x8001B69C; +timetrial_save_player_ghost = 0x8001B76C; +has_ghost_to_save = 0x8001B7B4; +set_ghost_none = 0x8001B7C4; +func_8001B7A8 = 0x8001B7DC; +func_8001B834 = 0x8001B868; +func_8001B954 = 0x8001B988; +get_checkpoint_node = 0x8001BA34; +find_next_checkpoint_node = 0x8001BA50; +get_checkpoint_count = 0x8001BA98; +get_racer_objects = 0x8001BAA8; +get_racer_objects_by_port = 0x8001BAC4; +get_racer_objects_by_position = 0x8001BAE0; +get_racer_object = 0x8001BAFC; +get_racer_object_by_port = 0x8001BB4C; +debug_render_checkpoints = 0x8001BB9C; +debug_render_checkpoint_node = 0x8001BC74; +spectate_update = 0x8001BC88; +spectate_object = 0x8001BDC8; +spectate_nearest = 0x8001BE08; +ainode_update = 0x8001BF54; +obj_elevation = 0x8001C44C; +ainode_register = 0x8001C4C0; +ainode_find_nearest = 0x8001C558; +func_8001C6C4 = 0x8001C6F8; +func_8001CC48 = 0x8001CC7C; +func_8001CD28 = 0x8001CD5C; +ainode_enable = 0x8001D1E0; +ainode_tail_set = 0x8001D1F0; +ainode_tail = 0x8001D218; +ainode_get = 0x8001D248; +func_8001D248 = 0x8001D27C; +set_world_shading = 0x8001D28C; +add_shading_properties = 0x8001D2D4; +set_shading_properties = 0x8001D4E8; +update_envmap_position = 0x8001D614; +calc_dyn_light_and_env_map_for_object = 0x8001D718; +calc_dynamic_lighting_for_object_1 = 0x8001D840; +calc_env_mapping_for_object = 0x8001DD88; +set_racer_position_and_angle = 0x8001E170; +get_misc_asset = 0x8001E2D0; +func_8001E2EC = 0x8001E320; +func_8001E344 = 0x8001E378; +obj_bridge_pos = 0x8001E3A0; +cutscene_id = 0x8001E474; +cutscene_id_set = 0x8001E484; +func_8001E45C = 0x8001E490; +get_object_list_index = 0x8001E4E8; +func_8001E4C4 = 0x8001E4F8; +func_8001E6EC = 0x8001E720; +func_8001E89C = 0x8001E8D0; +func_8001E93C = 0x8001E970; +func_8001EE74 = 0x8001EEA8; +obj_init_animcamera = 0x8001EFD8; +func_8001F23C = 0x8001F270; +func_8001F3B8 = 0x8001F3EC; +func_8001F3C8 = 0x8001F3FC; +func_8001F3EC = 0x8001F420; +func_8001F450 = 0x8001F484; +func_8001F460 = 0x8001F494; +func_800210CC = 0x80021100; +func_80021104 = 0x80021138; +func_8002125C = 0x80021290; +func_80021400 = 0x80021434; +func_800214C4 = 0x800214F8; +func_800214E4 = 0x80021518; +func_80021600 = 0x80021634; +catmull_rom_interpolation = 0x80022574; +cubic_spline_interpolation = 0x80022670; +func_8002277C = 0x800227B0; +lerp = 0x800228BC; +func_800228B0 = 0x800228E4; +func_800228DC = 0x80022910; +init_racer_for_challenge = 0x80022920; +mode_init_taj_race = 0x8002297C; +obj_taj_create_balloon = 0x80022D30; +mode_end_taj_race = 0x80022E4C; +func_800230D0 = 0x80023104; +is_taj_challenge = 0x80023450; +find_furthest_telepoint = 0x80023460; +func_80023568 = 0x8002359C; +obj_door_override = 0x800235F4; +obj_door_open = 0x80023604; +get_object_property_size = 0x80023610; +run_object_init_func = 0x800238F0; +obj_init_property_flags = 0x80023E64; +run_object_loop_func = 0x80023F7C; +func_8002458C = 0x800245C0; +func_80024594 = 0x800245C8; +func_800245B4 = 0x800245E8; +func_800245F0 = 0x80024630; +calc_dynamic_lighting_for_object_2 = 0x80024784; +set_scene_viewport_num = 0x80024A20; +init_track = 0x80024A30; +render_scene = 0x80024D94; +func_80025510 = 0x80025550; +func_800257D0 = 0x80025810; +func_8002581C = 0x8002585C; +func_80026070 = 0x800260B0; +func_80026430 = 0x80026470; +func_80026C14 = 0x80026C54; +func_80026E54 = 0x80026E94; +func_80027184 = 0x800271C4; +func_80027568 = 0x800275A8; +func_800278E8 = 0x80027928; +animate_level_textures = 0x80027E64; +spawn_skydome = 0x80028004; +set_skydome_visbility = 0x80028084; +func_80028050 = 0x80028090; +draw_gradient_background = 0x800289F8; +render_skydome = 0x80028C50; +initialise_player_viewport_vars = 0x80028D10; +set_anti_aliasing = 0x80028FE0; +render_level_geometry_and_objects = 0x80028FEC; +render_level_segment = 0x80029698; +traverse_segments_bsp_tree = 0x80029B38; +add_segment_to_order = 0x80029D54; +check_if_inside_segment = 0x80029E20; +get_level_segment_index_from_position = 0x80029F58; +get_inside_segment_count_xz = 0x8002A09C; +get_inside_segment_count_xyz = 0x8002A174; +get_segment = 0x8002A2DC; +get_segment_bounding_box = 0x8002A31C; +func_8002A31C = 0x8002A35C; +should_segment_be_visible = 0x8002A638; +check_if_in_draw_range = 0x8002A940; +func_8002AC00 = 0x8002AC40; +dayGetTrackFade = 0x8002ACE0; +func_8002ACC8 = 0x8002AD08; +func_8002ACD4 = 0x8002AD14; +get_wave_properties = 0x8002AD48; +func_8002B0F4 = 0x8002B134; +func_8002B9BC = 0x8002B9FC; +func_8002BAB0 = 0x8002BAF0; +func_8002C0C4 = 0x8002C104; +func_8002C71C = 0x8002C75C; +get_current_level_model = 0x8002C804; +free_track = 0x8002C814; +func_8002C954 = 0x8002C994; +func_8002CC30 = 0x8002CC70; +trackMakeAbsolute = 0x8002D34C; +render_object_shadow = 0x8002D3C4; +render_object_water_effects = 0x8002D6B0; +update_shadows = 0x8002D91C; +func_8002DE30 = 0x8002DE70; +func_8002E234 = 0x8002E274; +func_8002E904 = 0x8002E944; +func_8002EEEC = 0x8002EF2C; +func_8002F2AC = 0x8002F2EC; +func_8002F440 = 0x8002F480; +func_8002FA64 = 0x8002FAA4; +func_8002FD74 = 0x8002FDB4; +func_8002FF6C = 0x8002FFAC; +func_800304C8 = 0x80030508; +set_fog = 0x800306A4; +get_fog_settings = 0x80030790; +reset_fog = 0x800307FC; +update_fog = 0x80030878; +apply_fog = 0x8003097C; +obj_loop_fogchanger = 0x80030AB4; +slowly_change_fog = 0x80030E20; +update_perspective_and_envmap = 0x80030FE0; +compute_scene_camera_transform_matrix = 0x80031058; +func_80031130 = 0x80031170; +func_800314DC = 0x8003151C; +func_80031600 = 0x80031640; +free_lights = 0x80031BA0; +setup_lights = 0x80031BF8; +func_80031CAC = 0x80031CEC; +add_object_light = 0x80031FC8; +disable_object_light = 0x80032250; +enable_object_light = 0x80032258; +toggle_object_light = 0x80032264; +func_80032248 = 0x80032288; +func_80032344 = 0x80032384; +lightUpdateLights = 0x800323D8; +func_80032424 = 0x80032464; +func_80032BAC = 0x80032BEC; +get_light_count = 0x80032CAC; +func_80032C7C = 0x80032CBC; +func_800337E4 = 0x80033824; +light_distance_calc = 0x80033A54; +light_direction_calc = 0x80033C48; +obj_init_scenery = 0x80033D00; +obj_loop_scenery = 0x80033E10; +obj_init_fireball_octoweapon = 0x80033F84; +obj_loop_fireball_octoweapon = 0x80033FA0; +obj_init_lasergun = 0x80034570; +obj_loop_lasergun = 0x800345E0; +obj_init_laserbolt = 0x80034884; +obj_loop_laserbolt = 0x800348A0; +obj_init_torch_mist = 0x80034B30; +obj_loop_torch_mist = 0x80034B8C; +obj_init_effectbox = 0x80034BA8; +obj_loop_effectbox = 0x80034BB4; +obj_init_trophycab = 0x80034EB0; +obj_loop_trophycab = 0x80034EDC; +obj_init_collectegg = 0x8003526C; +obj_loop_collectegg = 0x800352A0; +obj_init_eggcreator = 0x80035680; +obj_loop_eggcreator = 0x8003568C; +obj_init_lighthouse_rocketsignpost = 0x8003576C; +obj_loop_rocketsignpost = 0x80035814; +obj_init_airzippers_waterzippers = 0x800358CC; +obj_loop_airzippers_waterzippers = 0x800359AC; +obj_init_groundzipper = 0x80035B28; +obj_loop_groundzipper = 0x80035C90; +obj_init_timetrialghost = 0x80035E60; +obj_loop_timetrialghost = 0x80035E74; +obj_init_characterflag = 0x80035F38; +obj_loop_characterflag = 0x80035FAC; +try_to_collect_egg = 0x80036080; +obj_init_stopwatchman = 0x800361D4; +obj_loop_stopwatchman = 0x80036220; +play_tt_voice_clip = 0x80036C0C; +obj_init_fish = 0x80036C70; +obj_loop_fish = 0x80037114; +obj_init_lavaspurt = 0x800375B8; +obj_loop_lavaspurt = 0x800375D4; +obj_init_posarrow = 0x80037664; +obj_loop_posarrow = 0x8003767C; +obj_init_animator = 0x80037720; +obj_loop_animator = 0x80037824; +obj_init_animation = 0x80037A58; +obj_loop_animobject = 0x80037D28; +obj_loop_dooropener = 0x80037D48; +obj_init_overridepos = 0x80037D94; +obj_loop_overridepos = 0x80037DA0; +obj_init_wizpigship = 0x80037DAC; +obj_loop_wizpigship = 0x80037DB8; +obj_loop_vehicleanim = 0x80038138; +obj_init_hittester = 0x800381CC; +obj_loop_hittester = 0x80038200; +obj_init_dynamic_lighting_object = 0x80038220; +obj_init_unknown96 = 0x80038254; +obj_init_snowball = 0x80038288; +obj_loop_snowball = 0x800382BC; +obj_init_char_select = 0x80038370; +obj_loop_char_select = 0x8003837C; +obj_loop_animcamera = 0x80038750; +obj_init_animcar = 0x80038800; +obj_loop_animcar = 0x8003880C; +obj_init_infopoint = 0x80038894; +obj_loop_infopoint = 0x80038914; +obj_init_smoke = 0x800389EC; +obj_loop_smoke = 0x800389F8; +obj_init_unknown25 = 0x80038AAC; +obj_loop_unknown25 = 0x80038AB8; +obj_init_wardensmoke = 0x80038B08; +obj_loop_wardensmoke = 0x80038B14; +obj_init_bombexplosion = 0x80038BB4; +obj_loop_bombexplosion = 0x80038C34; +obj_init_teleport = 0x80038D98; +obj_loop_teleport = 0x80038E04; +obj_init_exit = 0x80038E7C; +obj_loop_exit = 0x80038F98; +obj_init_cameracontrol = 0x800391A0; +obj_loop_cameracontrol = 0x800391C4; +obj_init_setuppoint = 0x800391D0; +obj_loop_setuppoint = 0x800391FC; +obj_init_dino_whale = 0x80039208; +obj_loop_dino_whale = 0x8003923C; +obj_init_parkwarden = 0x800392F8; +set_taj_voice_line = 0x80039360; +obj_loop_parkwarden = 0x80039370; +play_taj_voice_clip = 0x8003AC7C; +obj_loop_gbparkwarden = 0x8003ACE0; +get_npc_pos_y = 0x8003ACEC; +obj_init_checkpoint = 0x8003ACFC; +obj_loop_checkpoint = 0x8003AD68; +obj_init_modechange = 0x8003AD74; +obj_loop_modechange = 0x8003AE90; +obj_init_bonus = 0x8003B098; +obj_loop_bonus = 0x8003B1B4; +obj_init_goldenballoon = 0x8003B3A8; +obj_loop_goldenballoon = 0x8003B4FC; +obj_init_door = 0x8003B80C; +obj_loop_door = 0x8003B9C8; +obj_init_ttdoor = 0x8003C220; +obj_loop_ttdoor = 0x8003C324; +obj_init_trigger = 0x8003C684; +obj_loop_trigger = 0x8003C7E4; +obj_init_bridge_whaleramp = 0x8003CA2C; +obj_loop_bridge_whaleramp = 0x8003CAA8; +obj_init_rampswitch = 0x8003CEA4; +obj_loop_rampswitch = 0x8003CEE0; +obj_init_seamonster = 0x8003CF40; +obj_loop_seamonster = 0x8003CF4C; +obj_init_fogchanger = 0x8003CF58; +obj_init_skycontrol = 0x8003CF98; +obj_loop_skycontrol = 0x8003CFD8; +obj_init_ainode = 0x8003D020; +obj_loop_ainode = 0x8003D06C; +obj_init_treasuresucker = 0x8003D078; +obj_loop_treasuresucker = 0x8003D098; +obj_init_flycoin = 0x8003D2EC; +obj_loop_flycoin = 0x8003D2F8; +obj_init_bananacreator = 0x8003D42C; +obj_loop_bananacreator = 0x8003D43C; +obj_init_banana = 0x8003D574; +obj_loop_banana = 0x8003D5E0; +obj_init_silvercoin_adv2 = 0x8003DBE0; +obj_init_silvercoin = 0x8003DC9C; +obj_loop_silvercoin = 0x8003DD54; +obj_init_worldkey = 0x8003DEB4; +obj_loop_worldkey = 0x8003DF48; +obj_init_weaponballoon = 0x8003E00C; +obj_loop_weaponballoon = 0x8003E180; +obj_init_wballoonpop = 0x8003E5F0; +obj_loop_wballoonpop = 0x8003E5FC; +obj_init_weapon = 0x8003E608; +obj_loop_weapon = 0x8003E670; +weapon_projectile = 0x8003E6D4; +rocket_prevent_overshoot = 0x8003EC54; +homing_rocket_prevent_overshoot = 0x8003EE18; +reset_rocket_sound_timer = 0x8003F110; +decrease_rocket_sound_timer = 0x8003F11C; +play_rocket_trailing_sound = 0x8003F138; +weapon_trap = 0x8003F328; +obj_spawn_effect = 0x8003FC84; +obj_init_audio = 0x8003FDA8; +obj_init_audioline = 0x8003FF34; +obj_init_audioreverb = 0x8004005C; +obj_init_texscroll = 0x800400E4; +obj_loop_texscroll = 0x80040188; +obj_init_rgbalight = 0x800403E8; +obj_init_buoy_pirateship = 0x80040418; +obj_loop_buoy_pirateship = 0x80040488; +obj_init_log = 0x800404DC; +obj_loop_log = 0x800405B0; +obj_init_weather = 0x80040840; +obj_loop_weather = 0x80040860; +obj_init_lensflare = 0x8004096C; +obj_init_lensflareswitch = 0x8004098C; +obj_init_wavegenerator = 0x800409E4; +obj_init_butterfly = 0x80040A08; +obj_loop_butterfly = 0x80040C94; +obj_init_midifade = 0x80041AD0; +obj_init_midifadepoint = 0x80041EC0; +obj_init_midichset = 0x80042054; +obj_init_bubbler = 0x8004207C; +obj_loop_bubbler = 0x800420D0; +obj_init_boost = 0x8004214C; +obj_init_unknown94 = 0x80042190; +obj_loop_unknown94 = 0x800421A0; +obj_init_rangetrigger = 0x800421AC; +obj_loop_rangetrigger = 0x800421B8; +obj_init_frog = 0x80042250; +obj_loop_frog = 0x80042330; +obj_loop_pigrocketeer = 0x800429D8; +obj_init_levelname = 0x80042A5C; +obj_loop_levelname = 0x80042AD0; +obj_loop_wizghosts = 0x80042D10; +func_80042D20 = 0x80042D60; +increment_ai_behaviour_chances = 0x80043F0C; +racer_AI_pathing_inputs = 0x800441B0; +roll_percent_chance = 0x80044490; +func_8004447C = 0x800444BC; +func_80045128 = 0x80045168; +func_800452A0 = 0x800452E0; +func_80045C48 = 0x80045C88; +func_80046524 = 0x80046564; +racer_attack_handler_hovercraft = 0x80048CBC; +update_camera_hovercraft = 0x80048EA4; +rotate_racer_in_water = 0x80049520; +func_80049794 = 0x800497D4; +apply_plane_tilt_anim = 0x8004C0E0; +racer_attack_handler_plane = 0x8004C180; +update_camera_plane = 0x8004C2F0; +func_8004CC20 = 0x8004CC60; +update_camera_loop = 0x8004D5D0; +update_carpet = 0x8004D99C; +obj_init_racer = 0x8004DAF0; +update_player_racer = 0x8004DE78; +set_racer_tail_lights = 0x8004F7BC; +func_8004F7F4 = 0x8004F834; +racer_approach_object = 0x80050794; +apply_vehicle_rotation_offset = 0x80050890; +func_80050A28 = 0x80050A68; +should_taj_teleport = 0x800521C8; +set_taj_status = 0x800521F8; +handle_racer_head_turning = 0x80052204; +slowly_reset_head_angle = 0x8005238C; +turn_head_towards_object = 0x800523C8; +func_8005250C = 0x8005254C; +func_80052988 = 0x800529C8; +racer_spinout_car = 0x80052BA4; +update_car_velocity_offground = 0x80052DBC; +handle_car_steering = 0x800534B8; +func_800535C4 = 0x80053604; +handle_car_velocity_control = 0x800536A4; +func_80053750 = 0x80053790; +racer_attack_handler_car = 0x80053EDC; +update_onscreen_AI_racer = 0x80054150; +update_car_velocity_ground = 0x8005496C; +func_80054FD0 = 0x80055010; +onscreen_ai_racer_physics = 0x80055AC4; +handle_racer_items = 0x80055F00; +play_char_horn_sound = 0x80056970; +func_8005698C = 0x800569CC; +racer_activate_magnet = 0x80056E6C; +racer_play_sound = 0x80057088; +racer_play_sound_after_delay = 0x800570E4; +play_random_character_voice = 0x800570F8; +handle_racer_top_speed = 0x80057260; +func_800575EC = 0x8005762C; +drop_bananas = 0x80057720; +handle_base_steering = 0x800579F0; +update_player_camera = 0x80057A80; +second_racer_camera_update = 0x800580F4; +update_camera_car = 0x80058228; +update_camera_finish_challenge = 0x80058BC4; +update_camera_finish_race = 0x80058D9C; +update_camera_fixed = 0x80058F84; +set_position_goal_from_path = 0x800590C0; +func_80059208 = 0x80059248; // has a diff from v1 +get_timestamp_from_frames = 0x800597E0; +allocate_ghost_data = 0x80059920; +timetrial_reset_player_ghost = 0x80059994; +timetrial_swap_player_ghost = 0x800599D4; +timetrial_map_id = 0x800599F8; +timetrial_load_player_ghost = 0x80059A08; +load_tt_ghost = 0x80059AB8; +timetrial_free_staff_ghost = 0x80059B9C; +timetrial_write_player_ghost = 0x80059BCC; +timetrial_ghost_write = 0x80059C40; +timetrial_ghost_full = 0x80059E70; +set_ghost_position_and_rotation = 0x80059E90; // has a diff from v1 +disable_racer_input = 0x8005A41C; +racer_set_dialogue_camera = 0x8005A42C; +drm_checksum_balloon = 0x8005A43C; +racer_enter_door = 0x8005A490; +update_AI_racer = 0x8005A75C; +func_8005B818 = 0x8005B884; // has a diff from v1 +drm_vehicle_traction = 0x8005C3FC; +func_8005C270 = 0x8005C410; +racer_special_init = 0x8005C490; +update_tricky = 0x8005C504; +set_boss_voice_clip_offset = 0x8005CC18; +racer_boss_sound_spatial = 0x8005CC24; +play_random_boss_sound = 0x8005CCA4; +racer_boss_finish = 0x8005CD08; +fade_when_near_camera = 0x8005D1E8; +update_bluey = 0x8005D270; +update_smokey = 0x8005D9C0; +spawn_boss_hazard = 0x8005E3A4; +update_bubbler = 0x8005E660; +update_wizpig = 0x8005EC30; +update_rocket = 0x8005F4B0; +allocate_object_model_pools = 0x8005F9F0; +object_model_init = 0x8005FB3C; // has a diff from v1 +func_8005FCD0 = 0x8005FF10; +free_3d_model = 0x80060180; +free_model_data = 0x80060298; +func_8006017C = 0x800603BC; +func_80060910 = 0x80060B50; +func_80060AC8 = 0x80060D08; +func_80060C58 = 0x80060E98; +func_80060EA8 = 0x800610E8; +func_800619F4 = 0x80061C34; +func_80061A00 = 0x80061C40; +func_80061C0C = 0x80061E4C; +object_animate = 0x80061F70; +alCSPNew = 0x800624D0; +__CSPVoiceHandler = 0x80062648; +__CSPPostNextSeqEvent = 0x80062C0C; +__CSPHandleNextSeqEvent = 0x80062C7C; +__CSPHandleMIDIMsg = 0x80062D40; +__CSPHandleMetaMsg = 0x80063A2C; +__CSPRepostEvent = 0x80063BC4; +__setUsptFromTempo = 0x80063C74; +func_80063A90 = 0x80063CD0; +alSeqChOff = 0x80063D30; +alSeqChOn = 0x80063D84; +alCSPSetFadeIn = 0x80063DE0; +alCSPGetFadeIn = 0x80063E40; +alFxPull = 0x80063E70; +alFxParam = 0x800641D4; +alFxParamHdl = 0x800641EC; +_loadOutputBuffer = 0x80064464; +_loadBuffer = 0x800646E0; +_saveBuffer = 0x80064878; +_filterBuffer = 0x80064A10; +_doModFunc = 0x80064AC4; +alFxReverbSet = 0x80064B6C; +_alFxEnabled = 0x80064B7C; +init_lpfilter = 0x80064B90; +alFxNew = 0x80064C48; +alEnvmixerNew = 0x80065094; +alLoadNew = 0x80065138; +alResampleNew = 0x800651DC; +alAuxBusNew = 0x80065264; +alMainBusNew = 0x800652C4; +alSaveNew = 0x80065324; +alSynNew = 0x80065370; +alAudioFrame = 0x800656D4; +__allocParam = 0x800658A8; +__freeParam = 0x800658DC; +_collectPVoices = 0x800658FC; +_freePVoice = 0x8006595C; +_timeToSamplesNoRound = 0x80065994; +_timeToSamples = 0x80065A04; +__nextSampleTime = 0x80065A2C; +alSynAllocFX = 0x80065AA0; +alAuxBusPull = 0x80065B40; +alAuxBusParam = 0x80065C14; +func_80065A80 = 0x80065CC0; +alSynSetPan = 0x80065D60; +set_stereo_pan_mode = 0x80065E10; +get_stereo_pan_mode = 0x80065E1C; +modify_panning = 0x80065E2C; +alSynStartVoiceParams = 0x80065E78; +mainproc = 0x80065F80; +thread1_main = 0x80065FD8; +thread3_verify_stack = 0x80066070; +camera_init = 0x800660E0; +func_80066060 = 0x800662A0; +set_viewport_tv_type = 0x800662D8; +func_800660C0 = 0x80066300; +func_800660D0 = 0x80066310; +get_current_camera_fov = 0x8006631C; +update_camera_fov = 0x8006632C; +calculate_camera_perspective = 0x800663D4; +matrix_get_model_s16 = 0x80066444; +get_viewport_count = 0x80066450; +get_current_viewport = 0x80066460; +camera_init_tracks_menu = 0x80066470; +get_distance_to_active_camera = 0x80066588; +camera_reset = 0x8006661C; +write_to_object_render_stack = 0x800666C8; +check_if_showing_cutscene_camera = 0x80066750; +disable_cutscene_camera = 0x80066760; +set_active_viewports_and_max = 0x8006676C; +set_active_camera = 0x80066828; +copy_viewports_to_stack = 0x80066850; +camEnableUserView = 0x80066A58; +camDisableUserView = 0x80066AD4; +check_viewport_background_flag = 0x80066B50; +viewport_menu_set = 0x80066B80; +set_viewport_properties = 0x80066CE8; +copy_viewport_background_size_to_coords = 0x80066DE8; +copy_viewport_frame_size_to_coords = 0x80066E6C; +copy_framebuffer_size_to_coords = 0x80066EC0; +func_80066CDC = 0x80066F1C; +viewport_scissor = 0x80067C7C; +func_80067D3C = 0x80067F7C; +set_ortho_matrix_height = 0x80068160; +set_ortho_matrix_view = 0x8006816C; +func_8006807C = 0x800682BC; +viewport_rsp_set = 0x80068398; +viewport_reset = 0x800684EC; +matrix_world_origin = 0x80068648; +sprite_anim_off = 0x80068748; +render_sprite_billboard = 0x80068754; +render_ortho_triangle_image = 0x80068E34; +apply_object_shear_matrix = 0x800691E8; +camera_push_model_mtx = 0x800696C4; +apply_head_turning_matrix = 0x800699D0; +get_modelmatrix_vector = 0x80069C24; +apply_matrix_from_stack = 0x80069C80; +translate_camera_segment = 0x80069D0C; +transform_camera_segment = 0x80069DB0; +rotate_camera_segment = 0x80069EF4; +get_active_camera_segment_no_cutscenes = 0x80069F3C; +get_active_camera_segment = 0x80069F60; +get_cutscene_camera_segment = 0x80069FBC; +get_projection_matrix_f32 = 0x80069FE4; +get_projection_matrix_s16 = 0x80069FF0; +get_camera_matrix = 0x80069FFC; +get_distance_to_camera = 0x8006A008; +set_camera_shake_by_distance = 0x8006A054; +set_camera_shake = 0x8006A168; +debug_print_fixed_matrix_values = 0x8006A1A4; +debug_print_float_matrix_values = 0x8006A27C; +get_si_mesg_queue = 0x8006A340; +init_controllers = 0x8006A34C; +handle_save_data_and_read_controller = 0x8006A404; +initialise_player_ids = 0x8006A674; +charselect_assign_players = 0x8006A698; +get_player_id = 0x8006A738; +swap_player_1_and_2_ids = 0x8006A74C; +get_buttons_held_from_player = 0x8006A768; +get_buttons_pressed_from_player = 0x8006A794; +get_buttons_released_from_player = 0x8006A7B8; +clamp_joystick_x_axis = 0x8006A7DC; +clamp_joystick_y_axis = 0x8006A820; +clamp_joystick = 0x8006A864; +disable_button_mask = 0x8006A8E0; +init_level_globals = 0x8006A8F0; +func_8006ABB4 = 0x8006ADF4; +search_level_properties_forwards = 0x8006AE40; +search_level_properties_backwards = 0x8006B06C; +get_race_type_count = 0x8006B258; +get_world_level_count = 0x8006B294; +get_map_default_vehicle = 0x8006B2EC; +get_map_available_vehicles = 0x8006B338; +get_map_race_type = 0x8006B38C; +get_map_world_id = 0x8006B3D0; +get_hub_area_id = 0x8006B414; +get_number_of_levels_and_worlds = 0x8006B464; +check_if_in_race = 0x8006B480; +load_level = 0x8006B490; +start_level_music = 0x8006BF50; +get_current_map_id = 0x8006BFC8; +get_current_level_race_type = 0x8006BFD8; +get_current_level_header = 0x8006BFF0; +get_total_level_header_count = 0x8006C000; +get_level_name = 0x8006C01C; +clear_audio_and_track = 0x8006C13C; +set_ai_level = 0x8006C208; +free_ai_behaviour_table = 0x8006C3A4; +get_ai_behaviour_table = 0x8006C3CC; +is_two_player_adventure_race = 0x8006C3DC; +push_level_property_stack = 0x8006C3EC; +pop_level_property_stack = 0x8006C46C; +clear_level_property_stack = 0x8006C524; +get_level_property_stack_pos = 0x8006C530; +func_8006C300 = 0x8006C540; +thread3_main = 0x8006C570; +init_game = 0x8006C620; +main_game_loop = 0x8006C84C; +load_next_ingame_level = 0x8006CD24; +load_level_game = 0x8006CD98; +unload_level_game = 0x8006CE54; +mode_game = 0x8006CF30; +set_drumstick_unlock_transition = 0x8006DAE4; +race_postrace_type = 0x8006DB20; +func_8006D8F0 = 0x8006DB30; +func_8006D968 = 0x8006DBA8; +get_game_mode = 0x8006DC4C; +set_game_mode = 0x8006DC5C; +load_menu_with_level_background = 0x8006DC68; +set_level_default_vehicle = 0x8006DD54; +set_vehicle_id_for_menu = 0x8006DD60; +get_level_default_vehicle = 0x8006DD6C; +load_level_menu = 0x8006DD7C; +unload_level_menu = 0x8006DE24; +update_menu_scene = 0x8006DE98; +mode_menu = 0x8006DF38; +load_level_for_menu = 0x8006E528; +calc_and_alloc_heap_for_settings = 0x8006E5FC; +init_racer_headers = 0x8006E7FC; +clear_lap_records = 0x8006E9B0; +clear_game_progress = 0x8006EBD4; +reset_save_data = 0x8006EC98; +get_settings = 0x8006ECD0; +is_game_paused = 0x8006ECE0; +is_postrace_viewport_active = 0x8006ECF0; +is_reset_pressed = 0x8006ED00; +get_ingame_map_id = 0x8006ED54; +mark_to_read_flap_times = 0x8006ED64; +mark_to_read_course_times = 0x8006ED80; +mark_to_read_flap_and_course_times = 0x8006ED9C; +mark_read_save_file = 0x8006EDB8; +mark_read_all_save_files = 0x8006EDE8; +mark_to_write_flap_times = 0x8006EE04; +mark_to_write_course_times = 0x8006EE20; +mark_to_write_flap_and_course_times = 0x8006EE3C; +force_mark_write_save_file = 0x8006EE58; +safe_mark_write_save_file = 0x8006EE88; +mark_save_file_to_erase = 0x8006EEEC; +mark_read_eeprom_settings = 0x8006EF04; +mark_write_eeprom_settings = 0x8006EF20; +alloc_displaylist_heap = 0x8006EF3C; +drm_validate_dmem = 0x8006F1F8; +default_alloc_displaylist_heap = 0x8006F21C; +level_transition_begin = 0x8006F380; +func_8006F20C = 0x8006F44C; +begin_trophy_race_teleport = 0x8006F494; +begin_lighthouse_rocket_cutscene = 0x8006F4DC; +begin_level_teleport = 0x8006F578; +set_pause_lockout_timer = 0x8006F5C8; +swap_lead_player = 0x8006F5D8; +set_frame_blackout_timer = 0x8006F66C; +mode_intro = 0x8006F67C; +is_controller_missing = 0x8006F708; +drm_validate_imem = 0x8006F72C; +interrupts_disable = 0x8006F750; +interrupts_enable = 0x8006F77C; +set_gIntDisFlag = 0x8006F7A4; +get_gIntDisFlag = 0x8006F7B0; +s32_matrix_to_s16_matrix = 0x8006F7BC; +f32_matrix_to_s32_matrix = 0x8006F820; +guMtxXFMF = 0x8006F88C; +f32_matrix_dot = 0x8006F92C; +f32_matrix_mult = 0x8006F9A8; +f32_matrix_to_s16_matrix = 0x8006FAB0; +set_rng_seed = 0x8006FB4C; +save_rng_seed = 0x8006FB58; +load_rng_seed = 0x8006FB6C; +get_rng_seed = 0x8006FB80; +get_random_number_from_range = 0x8006FB8C; +s16_matrix_rotate = 0x8006FBF8; +s16_matrix_to_s32_matrix = 0x8006FC80; +s16_vec3_mult_by_s32_matrix_full = 0x8006FCB8; +s16_vec3_mult_by_s32_matrix = 0x8006FDA0; +object_transform_to_matrix = 0x8006FE70; +f32_matrix_scale = 0x80070044; +f32_matrix_y_scale = 0x80070070; +object_transform_to_matrix_2 = 0x800700B4; +func_80070058 = 0x80070298; +f32_matrix_from_rotation_and_scale = 0x80070370; +s16_vec3_apply_object_rotation = 0x80070424; +f32_vec3_apply_object_rotation = 0x80070560; +f32_vec3_apply_object_rotation2 = 0x80070618; +f32_vec3_apply_object_rotation3 = 0x800706D0; +point_triangle_2d_xz_intersection = 0x80070730; +f32_matrix_from_position = 0x80070838; +f32_matrix_from_scale = 0x80070878; +atan2s = 0x800708AC; +arctan2_f = 0x80070990; +s32_matrix_cell_sqrt = 0x800709C0; +bad_int_sqrt = 0x800709EC; +sins_f = 0x80070A04; +coss_f = 0x80070A38; +coss_s16 = 0x80070A6C; +sins_s16 = 0x80070A70; +coss_2 = 0x80070ACC; +sins_2 = 0x80070AD0; +calc_dyn_lighting_for_level_segment = 0x80070B10; +func_80070A04 = 0x80070C44; +area_triangle_2d = 0x80070C6C; +set_breakpoint = 0x80070D18; +dmacopy_doubleword = 0x80070D44; +mempool_init_main = 0x80070D70; +mempool_new_sub = 0x80070DB8; +mempool_init = 0x80070E24; +mempool_alloc_safe = 0x80070EDC; +mempool_alloc = 0x80070F50; +mempool_slot_find = 0x80070F7C; +mempool_alloc_pool = 0x800710D0; +mempool_alloc_fixed = 0x80071138; +mempool_free_timer = 0x800712F0; +mempool_free = 0x80071380; +mempool_free_queue_clear = 0x800713D8; +mempool_free_addr = 0x800714B8; +func_80071314 = 0x80071554; +mempool_free_queue = 0x80071680; +mempool_locked_set = 0x800716B8; +mempool_locked_unset = 0x80071778; +mempool_get_pool = 0x8007182C; +mempool_slot_clear = 0x8007188C; +get_memory_pool_address = 0x800719B4; +mempool_slot_assign = 0x800719CC; +align16 = 0x80071A90; +align8 = 0x80071AAC; +align4 = 0x80071AC8; +find_active_pool_slot_colours = 0x80071AE4; +get_memory_colour_tag_count = 0x80071C64; +mempool_print_tags_usb = 0x80071D18; +mempool_print_tags_screen = 0x80071D94; +mmSlotPrint = 0x80071EB4; +func_80071CE8 = 0x80071F28; +osMotorStop = 0x80071F70; +osMotorStart = 0x80072098; +osMotorInit = 0x8007231C; +input_get_id = 0x80072490; +rumble_enable = 0x800724D8; // has a diff from v1 - NEW FUNC +rumble_init = 0x800724E4; +rumble_exists = 0x80072534; +rumble_set = 0x80072594; +rumble_set_fade = 0x80072670; +rumble_start = 0x800727C4; +rumble_stop = 0x800728C8; +rumble_kill = 0x80072954; +rumble_update = 0x80072964; // has a diff from v1 +func_80072C54 = 0x80072EAC; +func_80072E28 = 0x80073080; +populate_settings_from_save_data = 0x800732C4; +func_800732E8 = 0x80073540; +func_80073588 = 0x800737E0; +func_800738A4 = 0x80073AFC; +get_game_data_file_size = 0x80073EA4; +get_time_data_file_size = 0x80073EAC; +get_file_extension = 0x80073EB4; +read_game_data_from_controller_pak = 0x80074074; +write_game_data_to_controller_pak = 0x800741B4; +read_time_data_from_controller_pak = 0x80074270; +write_time_data_to_controller_pak = 0x800743A0; +read_save_file = 0x8007445C; +erase_save_file = 0x80074574; +write_save_data = 0x80074734; +read_eeprom_data = 0x80074828; +write_eeprom_data = 0x80074948; +calculate_eeprom_settings_checksum = 0x80074A64; +read_eeprom_settings = 0x80074ACC; +write_eeprom_settings = 0x80074BD4; +calculate_ghost_header_checksum = 0x80074CA4; +func_80074AA8 = 0x80074D00; +get_ghost_data_file_size = 0x80074D74; +func_80074B34 = 0x80074D8C; +func_80074EB8 = 0x80075110; +func_80075000 = 0x80075258; +func_800753D8 = 0x80075630; +func_800756D4 = 0x8007592C; +get_si_device_status = 0x80075B34; +start_reading_controller_data = 0x80075D44; +init_controller_paks = 0x80075D70; +check_for_rumble_pak = 0x80075F38; +repair_controller_pak = 0x80075F90; +reformat_controller_pak = 0x8007601C; +get_controller_pak_file_list = 0x800760B8; +cpak_free_files = 0x800763BC; +get_free_space = 0x800763EC; +delete_file = 0x80076520; +copy_controller_pak_data = 0x800765E0; +get_file_number = 0x80076740; +read_data_from_controller_pak = 0x80076868; +write_controller_pak_file = 0x8007692C; +get_file_size = 0x80076B7C; +font_codes_to_string = 0x80076BE4; +string_to_font_codes = 0x80076C90; +get_file_type = 0x80076D4C; + +// Entire asset_loading file seems quite different from v1 +init_PI_mesg_queue = 0x80076E00; // has a diff from v1 +load_asset_section_from_rom = 0x80076EE4; // has a diff from v1 +load_compressed_asset_from_rom = 0x80076FB0; // has a diff from v1 +load_asset_section_from_rom_to_address = 0x800770E8; // has a diff from v1 +load_asset_to_address = 0x80077190; // has a diff from v1 +get_rom_offset_of_asset = 0x80077240; // has a diff from v1 +get_size_of_asset_section = 0x800772DC; // has a diff from v1 +dmacopy = 0x80077370; // has a diff from v1 +dmacopy_v1 = 0x800773D4;// has a diff from v1 - NEW FUNC + +divider_draw = 0x800774A0; +divider_clear_coverage = 0x800776B8; +gfxtask_run_xbus = 0x800778A0; +gfxtask_run_xbus_2 = 0x80077A00; +gfxtask_run_fifo = 0x80077B84; +gfxtask_run_fifo_2 = 0x80077D18; +gfxtask_wait = 0x80077EA4; +gfxtask_run_rdp = 0x80077EFC; +bgdraw_primcolour = 0x80077F84; +bgdraw_fillcolour = 0x80077FAC; +bgdraw_render = 0x80077FEC; +rdp_init = 0x800784A4; +rsp_init = 0x8007852C; +gfxtask_init = 0x80078550; +bgdraw_texture_init = 0x800785C0; +func_80078190 = 0x800785E0; +bgdraw_chequer_on = 0x80078BC8; +bgdraw_chequer_off = 0x80078C40; +bgdraw_chequer = 0x80078C4C; +bgdraw_set_func = 0x80078EFC; +texrect_draw = 0x80078F08; +texrect_draw_scaled = 0x80079150; +osCreateScheduler = 0x800797A0; +osScAddClient = 0x800798D0; +osScRemoveClient = 0x80079934; +osScGetCmdQ = 0x800799C4; +osScGetInterruptQ = 0x800799CC; +scGetAudioTaskTimers = 0x800799D4; +func_80079760 = 0x80079BB0; +dummy_80079808 = 0x80079C58; +dummy_80079810 = 0x80079C60; +__scHandleRetrace = 0x80079C68; +__scHandleRSP = 0x80079F94; +__scHandleRDP = 0x8007A1AC; +__scTaskReady = 0x8007A238; +__scTaskComplete = 0x8007A290; +__scAppendList = 0x8007A390; +__scExec = 0x8007A3F8; +__scYield = 0x8007A4D0; +rsp_segment = 0x8007A720; +video_init = 0x8007A760; +fb_mode_set = 0x8007A910; +fb_mode = 0x8007A91C; +fb_mode_size = 0x8007A92C; +fb_size = 0x8007A970; +fb_init_vi = 0x8007A9A0; +fb_alloc = 0x8007AC38; +video_delta_reset = 0x8007ADC4; +fb_update = 0x8007ADDC; +func_8007AB24 = 0x8007AF74; +vi_refresh_rate = 0x8007AF84; +fb_swap = 0x8007AFEC; +fb_memcpy = 0x8007B04C; +tex_init_textures = 0x8007B0C0; +tex_disable_modes = 0x8007B25C; +tex_enable_modes = 0x8007B278; +get_loaded_2D_textures = 0x8007B294; +get_loaded_3D_textures = 0x8007B2A4; +func_8007AE64 = 0x8007B2B4; +load_texture = 0x8007B2C4; +free_texture = 0x8007B70C; +set_texture_colour_tag = 0x8007B7C4; +func_8007B380 = 0x8007B7D0; +reset_render_settings = 0x8007B820; +enable_primitive_colour = 0x8007B88C; +disable_primitive_colour = 0x8007B8A4; +set_animated_texture_header = 0x8007B8BC; +load_and_set_texture_no_offset = 0x8007B918; +load_and_set_texture = 0x8007B938; +load_blinking_lights_texture = 0x8007BEAC; +sprite_opaque = 0x8007C36C; +func_8007BF34 = 0x8007C384; +func_8007C12C = 0x8007C57C; +func_8007C52C = 0x8007C97C; +get_texture_size_from_id = 0x8007C9CC; +func_8007C660 = 0x8007CAB0; +func_8007C860 = 0x8007CCB0; +func_8007C8A0 = 0x8007CCF0; +load_sprite_info = 0x8007CD30; +func_8007CA68 = 0x8007CEB8; +free_sprite = 0x8007D100; +func_8007CDC0 = 0x8007D210; +build_tex_display_list = 0x8007D544; +func_8007EF64 = 0x8007F3B4; +tex_animate_texture = 0x8007F3D0; +func_8007F1E8 = 0x8007F638; +update_colour_cycle = 0x8007F69C; +init_pulsating_light_data = 0x8007F864; +update_pulsating_light_data = 0x8007F8B0; +func_8007F594 = 0x8007F9E4; +load_screen = 0x8007FA90; +render_screen = 0x8007FB64; +load_menu_text = 0x8007FD50; +menu_button_free = 0x800803D8; +func_8007FFEC = 0x8008043C; +menu_button_uvs = 0x80080968; +func_80080580 = 0x800809D0; +func_80080BC8 = 0x80081018; +menu_geometry_end = 0x800812BC; +func_80080E90 = 0x800812E0; +init_save_data = 0x80081668; // has a diff from v1 +reset_title_logo_scale = 0x80081810; +menu_init = 0x80081820; +menu_loop = 0x800819F4; +menu_timestamp_render = 0x80081C50; +menu_number_render = 0x80082054; +postrace_offsets = 0x800822A4; +postrace_render = 0x8008239C; +draw_menu_elements = 0x8008263C; +trackmenu_set_records = 0x80082D08; +menu_missing_controller = 0x80082E48; +menu_logos_screen_init = 0x80082EFC; +menu_logo_screen_loop = 0x80082FD4; +init_title_screen_variables = 0x800833FC; +func_80083098 = 0x800834E8; // has a diff from v1 +menu_title_screen_init = 0x80083974; +render_title_screen = 0x80083BB4; +menu_title_screen_loop = 0x80083E1C; +titlescreen_free = 0x80084550; +menu_options_init = 0x80084594; +optionscreen_render = 0x800845F0; +menu_options_loop = 0x80084794; // has a diff from v1 - pal +optionscreen_free = 0x80084C00; +menu_audio_options_init = 0x80084C20; +func_80084854 = 0x80084D20; +menu_audio_options_loop = 0x80085140; +soundoptions_free = 0x800856C8; +menu_save_options_init = 0x8008573C; // has a diff from v1 +savemenu_render_element = 0x800858A4; // has a diff from v1 +savemenu_render = 0x80086070; +savemenu_check_space = 0x8008657C; +savemenu_blank_save_destination = 0x8008669C; +savemenu_load_sources = 0x80086798; +savemenu_load_destinations = 0x80086CA8; +savemenu_move = 0x80086F1C; +savemenu_write = 0x80086FD0; // has a diff from v1 +savemenu_render_error = 0x800876DC; +savemenu_input_source = 0x800879D4; +savemenu_input_dest = 0x80087AE8; +savemenu_input_confirm = 0x80087BD0; +savemenu_input_message = 0x80087C38; +menu_save_options_loop = 0x80088064; +savemenu_free = 0x800883BC; // has a diff from v1 +func_80087F14 = 0x80088420; +check_for_controller_pak_errors = 0x80088838; +menu_boot_init = 0x80088A00; +menu_boot_loop = 0x80088B18; +bootscreen_free = 0x80088CD0; +bootscreen_init_cpak = 0x80088CF4; // has a diff from v1 +pakmenu_render = 0x80088E4C; // has a diff from v1 +menu_controller_pak_loop = 0x800895D4; +pakmenu_free = 0x80089ACC; // has a diff from v1 +menu_magic_codes_init = 0x80089B0C; +cheatmenu_render = 0x80089BD4; +menu_magic_codes_loop = 0x8008A208; // has a diff from v1 +cheatmenu_free = 0x8008AA0C; +menu_magic_codes_list_init = 0x8008AA2C; +cheatlist_render = 0x8008AAB0; // has a diff from v1 +cheatlist_exclusive = 0x8008AE44; +menu_magic_codes_list_loop = 0x8008AE74; +cheatlist_free = 0x8008B268; +cheatmenu_checksum = 0x8008B290; +charselect_prev = 0x8008B400; +titlescreen_controller_assign = 0x8008B44C; +menu_character_select_init = 0x8008B518; +charselect_render_text = 0x8008B758; +charselect_new_player = 0x8008B8A4; +charselect_pick = 0x8008BA14; +charselect_input = 0x8008BCA4; +charselect_assign_ai = 0x8008C088; +menu_character_select_loop = 0x8008C270; +charselect_move = 0x8008C534; +charselect_free = 0x8008C674; +charselect_music_channels = 0x8008C6B4; +menu_caution_init = 0x8008C900; +menu_caution_loop = 0x8008C948; +caution_free = 0x8008CA34; +menu_game_select_init = 0x8008CA54; +gameselect_render = 0x8008CBE4; +menu_game_select_loop = 0x8008CD08; +gameselect_free = 0x8008D018; +menu_file_select_init = 0x8008D048; +fileselect_render_element = 0x8008D174; +fileselect_render = 0x8008D2C0; // has a diff from v1 +fileselect_input_root = 0x8008DB44; +fileselect_input_copy = 0x8008DE08; +fileselect_input_erase = 0x8008E1C8; +menu_file_select_loop = 0x8008E3BC; +fileselect_free = 0x8008E974; +menu_init_vehicle_textures = 0x8008E9A8; +menu_init_arrow_textures = 0x8008E9FC; +menu_input = 0x8008EA38; +trackmenu_active = 0x8008ECDC; +menu_track_select_init = 0x8008ECEC; +trackmenu_assets = 0x8008F558; +menu_track_select_loop = 0x8008F780; +menu_track_select_unload = 0x8008FA80; +func_8008F618 = 0x8008FB64; +trackmenu_render_2D = 0x8008FFA0; +func_8008FF1C = 0x80090468; +trackmenu_track_view = 0x80090A34; +trackmenu_input = 0x80090E64; +trackmenu_timetrial_sound = 0x80091424; +trackmenu_setup_render = 0x8009147C; // has a diff from v1 +func_80092188 = 0x80092738; // has a diff from v1 - Looks like a struct has changed. +trackmenu_staff_beaten = 0x800931BC; +menu_adventure_track_init = 0x80093260; +adventuretrack_render = 0x80093470; // has a diff from v1 +menu_adventure_track_loop = 0x80093B98; +adventuretrack_free = 0x80093FA4; +menu_pause_init = 0x80093FD8; +pausemenu_render = 0x800942D8; +menu_pause_loop = 0x80094708; +menu_dialogue_end = 0x80094B48; +menu_close_dialogue = 0x80094B7C; +menu_racer_portraits = 0x80094B9C; +postrace_start = 0x80094C20; +postrace_load = 0x80094FF4; +postrace_music_fade = 0x800951AC; +func_80094D28 = 0x800952C0; +postrace_message = 0x80095BBC; +menu_postrace = 0x80095CC0; +postrace_free = 0x80096D28; +menu_results_init = 0x80096DE0; +results_render = 0x80096F10; // has a diff from v1 +menu_results_loop = 0x80097878; +results_free = 0x80097C9C; +filename_decompress = 0x80097CC8; +filename_compress = 0x80097D14; +filename_trim = 0x80097DA0; +filename_init = 0x80097E44; // has a diff from v1 +filename_render = 0x80097EE8; +filename_enter = 0x800982E0; +menu_unload_bigfont = 0x800987B8; +trophyround_adventure = 0x800987D8; +menu_trophy_race_round_init = 0x8009883C; +trophyround_render = 0x80098990; +menu_trophy_race_round_loop = 0x80098B6C; +trophyround_free = 0x80098D24; +func_80098774 = 0x80098D44; +menu_trophy_race_rankings_init = 0x80098FF4; +rankings_render_order = 0x8009948C; +menu_trophy_race_rankings_loop = 0x800995A4; +rankings_free = 0x80099BD0; +get_trophy_race_world_id = 0x80099BFC; +ghostmenu_generate = 0x80099C0C; +ghostmenu_erase = 0x80099EB0; +menu_ghost_data_init = 0x8009A02C; +ghostmenu_render = 0x8009A45C; +menu_ghost_data_loop = 0x8009ADA4; +ghostmenu_free = 0x8009B17C; +cinematic_start = 0x8009B1A8; +menu_cinematic_init = 0x8009B268; // has a diff from v1 +menu_cinematic_loop = 0x8009B2CC; +cinematic_free = 0x8009B4E8; +menu_credits_init = 0x8009B518; // has a diff from v1 +credits_fade = 0x8009B7BC; +menu_credits_loop = 0x8009B904; +credits_free = 0x8009C2C8; +menu_camera_centre = 0x8009C334; +func_8009BE54 = 0x8009C42C; +reset_controller_sticks = 0x8009C434; +update_controller_sticks = 0x8009C4F8; +reset_character_id_slots = 0x8009C72C; +get_save_file_index = 0x8009C778; +get_track_id_to_load = 0x8009C788; +get_character_id_from_slot = 0x8009C800; +get_character_id_from_slot_unused = 0x8009C814; +get_player_selected_vehicle = 0x8009C828; +set_player_selected_vehicle = 0x8009C83C; +charselect_status = 0x8009C84C; +get_player_character = 0x8009C858; +enable_tracks_mode = 0x8009C89C; +is_in_tracks_mode = 0x8009C8A8; +set_magic_code_flags = 0x8009C8B8; +get_filtered_cheats = 0x8009C8E4; +get_number_of_active_players = 0x8009C9A0; +get_active_player_count = 0x8009C9B0; +get_multiplayer_racer_count = 0x8009CA18; +get_all_save_files_ptr = 0x8009CA68; +menu_title_reset = 0x8009CA74; +menu_assetgroup_free = 0x8009CA80; +menu_asset_free = 0x8009CAE0; +menu_assetgroup_load = 0x8009CC4C; +menu_asset_load = 0x8009CCAC; +menu_imagegroup_load = 0x8009CE7C; +menu_image_load = 0x8009CEDC; +menu_imagegroup_free = 0x8009D030; +menu_element_render = 0x8009D038; +render_track_selection_viewport_border = 0x8009D354; +dialogue_npc_finish = 0x8009D540; +dialogue_try_close = 0x8009D588; +npc_dialogue_loop = 0x8009D5C4; +set_option_text_colour = 0x8009D6F0; +render_dialogue_option = 0x8009D790; +handle_menu_joystick_input = 0x8009D844; +func_8009D324 = 0x8009D8FC; +set_next_taj_challenge_menu = 0x8009D908; +set_menu_id_if_option_equal = 0x8009D914; +taj_menu_loop = 0x8009D938; +dialogue_race_defeat = 0x8009DFCC; +tt_menu_loop = 0x8009E114; +dialogue_tt_gamestatus = 0x8009E9A8; +trophy_race_cabinet_menu_loop = 0x8009EDC0; +dialogue_open_stub = 0x8009EF78; +dialogue_close_stub = 0x8009EF80; +dialogue_ortho = 0x8009EF88; +get_eeprom_settings_pointer = 0x8009F044; +set_eeprom_settings_value = 0x8009F050; +unset_eeprom_settings_value = 0x8009F094; +get_eeprom_settings = 0x8009F0E0; +get_language = 0x8009F0F8; +set_language = 0x8009F16C; +is_adventure_two_unlocked = 0x8009F238; +is_in_adventure_two = 0x8009F248; +is_in_two_player_adventure = 0x8009F258; +is_tt_unlocked = 0x8009F290; +is_drumstick_unlocked = 0x8009F2A8; + + +init_hud = 0x8009F2C0; +func_8009F034 = 0x8009F604; +free_hud = 0x800A060C; +race_starting = 0x800A0760; +render_hud = 0x800A0770; +hud_audio_init = 0x800A1144; +hud_audio_update = 0x800A11A4; +render_hud_race = 0x800A1390; +render_course_indicator_arrows = 0x800A1484; +render_hud_banana_challenge = 0x800A1818; +render_hud_challenge_eggs = 0x800A19F8; +hud_draw_eggs = 0x800A1AC0; +hud_eggs_portrait = 0x800A1F74; +render_hud_battle = 0x800A21D4; +func_800A1E48 = 0x800A2418; +hud_draw_lives = 0x800A28C4; +render_hud_race_boss = 0x800A2B5C; +render_hud_taj_race = 0x800A2C0C; +render_hud_hubworld = 0x800A2C98; +func_800A277C = 0x800A2D4C; // has a diff from v1 +set_stopwatch_face = 0x800A3CA4; +hud_speedometre_reset = 0x800A3E48; +render_speedometer = 0x800A3E5C; +render_race_start = 0x800A42BC; +render_racer_bananas = 0x800A472C; +render_treasure_hud = 0x800A4BC8; +render_silver_coin_counter = 0x800A4D78; +render_race_finish_position = 0x800A4F54; +func_800A4C34 = 0x800A520C; +render_race_position = 0x800A521C; +render_lap_count = 0x800A5528; +render_wrong_way_text = 0x800A603C; +hud_draw_finish_misc = 0x800A64F0; +func_800A6254 = 0x800A682C; +play_time_trial_end_message = 0x800A738C; // has a diff from v1 +render_time_trial_finish = 0x800A741C; +render_balloon_count = 0x800A7778; +hud_sound_play = 0x800A7A2C; +hud_sound_play_delayed = 0x800A7A70; +hud_sound_stop = 0x800A7AD8; +render_weapon_hud = 0x800A7B0C; +render_magnet_reticle = 0x800A804C; +render_race_time = 0x800A8154; +render_timer = 0x800A85A8; +minimap_init = 0x800A89A0; +get_hud_setting = 0x800A8A44; +render_minimap_and_misc_hud = 0x800A8A60; +minimap_marker_pos = 0x800AA9D8; +func_800AA600 = 0x800AABEC; +hud_draw_model = 0x800AB5BC; +minimap_fade = 0x800AB780; +minimap_opacity_set = 0x800AB798; +hud_reset_race_start = 0x800AB7B4; +hud_visibility = 0x800AB7C0; +weather_init = 0x800AB7E0; +weather_clip_planes = 0x800AB8F8; +weather_free = 0x800AB94C; +weather_reset = 0x800ABA98; +snow_init = 0x800AC124; +weather_set = 0x800AC24C; +weather_update = 0x800AC458; +snow_update = 0x800AC6B8; +snow_vertices = 0x800AC80C; +snow_render = 0x800ACB94; +lensflare_off = 0x800ACE40; +lensflare_on = 0x800ACE50; +lensflare_remove = 0x800ACE70; +lensflare_init = 0x800ACE98; +lensflare_render = 0x800AD010; +lensflare_override_add = 0x800AD550; +lensflare_override_remove = 0x800AD588; +lensflare_override = 0x800AD620; +rain_init = 0x800AD734; +free_rain_memory = 0x800AD810; +rain_set = 0x800AD8B4; +rain_fog = 0x800AD9FC; +rain_opacity_set = 0x800ADA9C; +rain_update = 0x800ADAA8; +rain_render_splashes = 0x800ADC48; +rain_lightning = 0x800AE0A8; +rain_sound = 0x800AE1B8; +render_rain_overlay = 0x800AE2AC; +func_800AE270 = 0x800AE860; +func_800AE2A0 = 0x800AE890; +func_800AE2D8 = 0x800AE8C8; +func_800AE374 = 0x800AE964; +func_800AE438 = 0x800AEA28; +func_800AE490 = 0x800AEA80; +init_particle_assets = 0x800AEB20; +func_800AE728 = 0x800AED18; +generate_particle_shape_triangle = 0x800AF404; +generate_particle_shape_quad = 0x800AF4A8; +func_800AEF88 = 0x800AF578; +func_800AF024 = 0x800AF614; +func_800AF0A4 = 0x800AF694; +func_800AF0F0 = 0x800AF6E0; +func_800AF134 = 0x800AF724; +partInitTrigger = 0x800AF7D0; +func_800AF29C = 0x800AF88C; +func_800AF404 = 0x800AF9F4; +func_800AF52C = 0x800AFB1C; +func_800AF6E4 = 0x800AFCD4; +func_800AF714 = 0x800AFD04; +obj_spawn_particle = 0x800B022C; +func_800AFE5C = 0x800B044C; +func_800B0010 = 0x800B0600; +func_800B03C0 = 0x800B09B0; +func_800B0698 = 0x800B0C88; +func_800B0BAC = 0x800B119C; +func_800B1130 = 0x800B1720; +func_800B1CB8 = 0x800B22A8; +func_800B2040 = 0x800B2630; +func_800B2260 = 0x800B2850; +handle_particle_movement = 0x800B28EC; +func_800B263C = 0x800B2C2C; +func_800B26E0 = 0x800B2CD0; +set_particle_texture_frame = 0x800B35AC; +move_particle_basic_parent = 0x800B3730; +move_particle_velocity_parent = 0x800B3830; +move_particle_with_velocities = 0x800B3948; +move_particle_basic = 0x800B3AA0; +move_particle_with_velocity = 0x800B3B54; +render_active_particles = 0x800B3C68; +render_particle = 0x800B3D30; +func_800B3E64 = 0x800B4454; +get_particle_asset_table = 0x800B4A78; +get_next_particle_table = 0x800B4AC4; +get_previous_particle_table = 0x800B4B1C; +get_particle_behaviour = 0x800B4B68; +func_800B45C4 = 0x800B4BB4; +func_800B461C = 0x800B4C0C; +func_800B4668 = 0x800B4C58; +func_800B46BC = 0x800B4CAC; +strcpy = 0x800B4D00; +strcat = 0x800B4D34; +strcasecmp = 0x800B4D84; +strncasecmp = 0x800B4E38; +memset = 0x800B4EFC; +_itoa = 0x800B4F30; +func_800B4A08 = 0x800B4FF8; +sprintf = 0x800B5004; +vsprintf = 0x800B5030; +debug_text_init = 0x800B6478; +render_printf = 0x800B64CC; +debug_text_print = 0x800B6568; +debug_text_reset = 0x800B67D0; +set_render_printf_colour = 0x800B67FC; +set_render_printf_background_colour = 0x800B68A4; +set_render_printf_position = 0x800B694C; +debug_text_width = 0x800B69E4; +func_800B653C = 0x800B6B2C; +debug_text_background = 0x800B6F4C; +debug_text_character = 0x800B6FEC; +debug_text_bounds = 0x800B7440; +debug_text_origin = 0x800B74D0; +debug_text_newline = 0x800B74F4; +func_800B6F30 = 0x800B7520; +__assert = 0x800B7530; +thread0_create = 0x800B7540; +thread0_Main = 0x800B75B4; // has a diff from v1 +enable_interupts_on_main = 0x800B769C; +stop_all_threads_except_main = 0x800B7710; +write_epc_data_to_cpak = 0x800B777C; +dump_memory_to_cpak = 0x800B7A10; +update_object_stack_trace = 0x800B7C68; +get_lockup_status = 0x800B7C8C; +mode_lockup = 0x800B7D84; +render_epc_lock_up_display = 0x800B7DC0; +stack_pointer = 0x800B82C0; +free_waves = 0x800B82D0; +wave_init = 0x800B8464; +func_800B8134 = 0x800B86E4; +func_800B82B4 = 0x800B8864; +func_800B8B8C = 0x800B913C; +func_800B8C04 = 0x800B91B4; +func_800B9228 = 0x800B97D8; +func_800B92F4 = 0x800B98A4; +func_800B97A8 = 0x800B9D58; +func_800B9C18 = 0x800BA1C8; +func_800BA288 = 0x800BA838; +func_800BA4B8 = 0x800BAA68; +func_800BA8E4 = 0x800BAE94; +func_800BB2F4 = 0x800BB8A4; +func_800BBDDC = 0x800BC38C; +func_800BBE08 = 0x800BC3B8; +func_800BBF78 = 0x800BC528; +func_800BC6C8 = 0x800BCC78; +func_800BCC70 = 0x800BD220; +func_800BDC80 = 0x800BE230; +func_800BE654 = 0x800BEC04; +log_wave_height = 0x800BF464; +func_800BEFC4 = 0x800BF574; +func_800BF3E4 = 0x800BF994; +func_800BF524 = 0x800BFAD4; +func_800BF634 = 0x800BFBE4; +func_800BF9F8 = 0x800BFFA8; +func_800BFC54 = 0x800C0204; +func_800BFE98 = 0x800C0448; +obj_loop_wavepower = 0x800C058C; +enable_new_screen_transitions = 0x800C0720; +disable_new_screen_transitions = 0x800C0730; +check_fadeout_transition = 0x800C073C; +transition_begin = 0x800C0788; +handle_transitions = 0x800C0A44; +render_fade_transition = 0x800C0B78; +transition_end = 0x800C0CD4; +transition_fullscreen_start = 0x800C0D30; +process_transition_fullscreen = 0x800C0DE4; +render_fade_fullscreen = 0x800C0FB8; +init_transition_shape = 0x800C10B0; +process_transition_shape = 0x800C16E0; +render_fade_barndoor_horizontal = 0x800C1994; +render_fade_barndoor_vertical = 0x800C1A8C; +func_800C15D4 = 0x800C1B84; +func_800C1EE8 = 0x800C2498; +render_fade_circle = 0x800C2824; +render_fade_waves = 0x800C29A8; +render_fade_barndoor_diagonal = 0x800C2AF8; +init_transition_blank = 0x800C2BF0; +process_transition_disabled = 0x800C2D50; +render_fade_disabled = 0x800C2E98; +init_dialogue_text = 0x800C2FA0; +free_message_box = 0x800C3064; +set_subtitles = 0x800C30A4; +render_subtitles = 0x800C30B0; // has a diff from v1 +find_next_subtitle = 0x800C3354; +process_subtitles = 0x800C3504; +load_game_text_table = 0x800C3630; +free_game_text_table = 0x800C36B4; +set_textbox_display_value = 0x800C3728; +reset_delayed_text = 0x800C3734; +set_delayed_text = 0x800C3740; +set_current_text = 0x800C37D4; +textbox_visible = 0x800C39E8; +process_onscreen_textbox = 0x800C3A28; +dialogue_challenge_loop = 0x800C3B4C; +func_800C38B4 = 0x800C3E9C; +load_fonts = 0x800C41F0; +set_kerning = 0x800C4754; +load_font = 0x800C4760; +unload_font = 0x800C481C; +set_text_font = 0x800C48DC; +get_loaded_font = 0x800C4908; +set_text_colour = 0x800C4974; +set_text_background_colour = 0x800C49BC; +draw_text_plain_unused = 0x800C49F4; +draw_text = 0x800C4A30; +draw_dialogue_text_unused = 0x800C4AB0; +draw_dialogue_text_pos_unused = 0x800C4B00; +render_text_string = 0x800C4B94; +get_text_width = 0x800C5390; +set_current_dialogue_box_coords = 0x800C54CC; +set_dialogue_font = 0x800C556C; +set_current_dialogue_background_colour = 0x800C55AC; +set_current_text_colour = 0x800C55F0; +set_current_text_background_colour = 0x800C5640; +set_current_text_offset = 0x800C5684; +reset_current_text_offset = 0x800C56C8; +func_800C510C = 0x800C56FC; +render_dialogue_text = 0x800C5758; +move_dialogue_box_to_front = 0x800C5A18; +dialogue_clear = 0x800C5A84; +align_text_in_box = 0x800C5AD8; +open_dialogue_box = 0x800C5BE4; +dialogue_close = 0x800C5C10; +set_dialogue_box_unused_flag = 0x800C5C3C; +dialogue_box_clear_unused_flag = 0x800C5C68; +enable_dialogue_box_vertices = 0x800C5C94; +clear_dialogue_box_open_flag = 0x800C5CC0; +render_dialogue_boxes = 0x800C5CEC; +s32_to_string = 0x800C5DFC; +render_fill_rectangle = 0x800C6090; +render_dialogue_box = 0x800C6148; +parse_string_with_number = 0x800C6550; +osCreatePiManager = 0x800C65F0; +gzip_init = 0x800C6760; +byteswap32 = 0x800C679C; +get_asset_uncompressed_size = 0x800C67CC; +gzip_inflate = 0x800C6808; +gzip_huft_build = 0x800C6864; +gzip_inflate_block = 0x800C6EB0; +gzip_inflate_dynamic = 0x800C6FB4; +gzip_inflate_fixed = 0x800C73CC; +gzip_inflate_stored = 0x800C7524; +gzip_inflate_codes = 0x800C7630; +__osLeoInterrupt = 0x800C7930; +create_and_start_thread30 = 0x800C7940; +stop_thread30 = 0x800C79AC; +get_thread30_need_to_load_level = 0x800C79D0; +tick_thread30 = 0x800C79E0; +get_thread30_load_delay = 0x800C7A38; +set_level_to_load_in_background = 0x800C7A48; +thread30_track_loading = 0x800C7A90; // type:func +alHeapInit = 0x800C7B50; +alBnkfNew = 0x800C7C94; +alSeqFileNew = 0x800C7D98; +alHeapDBAlloc = 0x800C7DE0; +alCSPSetVol = 0x800C7E40; +alCSPGetTempo = 0x800C7E80; +osGetCount = 0x800C7EC0; +alCSPSetChlPan = 0x800C7ED0; +alCSPSetChlVol = 0x800C7F30; +alCSPGetChlVol = 0x800C7F90; +alSeqpGetChlFXMix = 0x800C7FB0; +alCSPSetTempo = 0x800C7FD0; +alCSPGetState = 0x800C8040; +alCSPSetBank = 0x800C8050; +alCSeqGetLoc = 0x800C8090; +alCSeqSetLoc = 0x800C8130; +alCSeqNextEvent = 0x800C82F4; +alCSeqNew = 0x800C85EC; +alCSeqNewMarker = 0x800C8700; +alCSeqGetTicks = 0x800C886C; +alCSeqSecToTicks = 0x800C8874; +alCSeqTicksToSec = 0x800C8970; +__alCSeqNextDelta = 0x800C89DC; +alCSPSetSeq = 0x800C8B50; +alCSPPlay = 0x800C8B90; +alCSPStop = 0x800C8BC0; +osAiSetFrequency = 0x800C8BF0; +alUnlink = 0x800C8D50; +alLink = 0x800C8D80; +alClose = 0x800C8DA4; +alInit = 0x800C8DDC; +osCreateMesgQueue = 0x800C8E10; +osCreateThread = 0x800C8E40; +osStartThread = 0x800C8F90; +osStopThread = 0x800C90E0; +osRecvMesg = 0x800C91A0; +osVirtualToPhysical = 0x800C92E0; +osAiSetNextBuffer = 0x800C9360; +osAiGetLength = 0x800C9410; +osSendMesg = 0x800C9420; +osPiStartDma = 0x800C9570; +alEvtqFlushType = 0x800C9680; +alEvtqFlush = 0x800C972C; +alEvtqPostEvent = 0x800C979C; +alEvtqNextEvent = 0x800C98C0; +alEvtqNew = 0x800C994C; +alSynAddPlayer = 0x800C99C0; +_allocatePVoice = 0x800C9A10; +alSynAllocVoice = 0x800C9AF8; +alSynSetVol = 0x800C9C40; +alSynStartVoice = 0x800C9CE0; +alSynSetPitch = 0x800C9D70; +alSynSetFXMix = 0x800C9E00; +alSynStopVoice = 0x800C9EA0; +alSynFreeVoice = 0x800C9F20; +alCents2Ratio = 0x800C9FD0; +osSetIntMask = 0x800CA020; +sqrtf = 0x800CA0C0; +alSynSetPriority = 0x800CA0D0; +__NOPS_NEEDED = 0x800CA0E0; +__d_to_ll = 0x800CA120; +__f_to_ll = 0x800CA13C; +__d_to_ull = 0x800CA158; +__f_to_ull = 0x800CA1F8; +__ll_to_d = 0x800CA294; +__ll_to_f = 0x800CA2AC; +__ull_to_d = 0x800CA2C4; +__ull_to_f = 0x800CA2F8; +rmonPrintf = 0x800CA344; +bcopy = 0x800CA390; +alFilterNew = 0x800CA6A0; +alEnvmixerPull = 0x800CA6C0; +alEnvmixerParam = 0x800CB06C; +_frexpf = 0x800CB6F4; +_ldexpf = 0x800CB878; +alLoadParam = 0x800CBB30; +alRaw16Pull = 0x800CBD04; +alAdpcmPull = 0x800CC1DC; +alResampleParam = 0x800CC680; +alResamplePull = 0x800CC76C; +alMainBusParam = 0x800CC980; +alMainBusPull = 0x800CC9B0; +alSaveParam = 0x800CCAD0; +alSavePull = 0x800CCB04; +osInitialize = 0x800CCB90; +osSetThreadPri = 0x800CCE30; +guPerspectiveF = 0x800CCF10; +guPerspective = 0x800CD140; +osSetEventMesg = 0x800CD1A0; +osContInit = 0x800CD210; +__osContGetInitData = 0x800CD408; +__osPackRequestData = 0x800CD4D8; +osContStartReadData = 0x800CD5D0; +osContGetReadData = 0x800CD694; +__osSpSetStatus = 0x800CD830; +osDpSetStatus = 0x800CD840; +osSetTime = 0x800CD850; +osPfsIsPlug = 0x800CD880; +__osPfsRequestData = 0x800CDA20; +__osPfsGetInitData = 0x800CDB1C; +__osSiCreateAccessQueue = 0x800CDBF0; +__osSiGetAccess = 0x800CDC40; +__osSiRelAccess = 0x800CDC84; +__osSiRawStartDma = 0x800CDCB0; +__osContAddressCrc = 0x800CDD60; +__osContDataCrc = 0x800CDE10; +__osContRamWrite = 0x800CDEE0; +__osContRamRead = 0x800CE290; +bcmp = 0x800CE640; +memcpy = 0x800CE760; +strlen = 0x800CE78C; +strchr = 0x800CE7B4; +osEepromProbe = 0x800CE800; +osEepromRead = 0x800CE870; +__osPackEepReadData = 0x800CEA60; +osEepromWrite = 0x800CEB70; +__osPackEepWriteData = 0x800CED20; +__osEepStatus = 0x800CEE2C; +__ull_rshift = 0x800CF050; +__ull_rem = 0x800CF07C; +__ull_div = 0x800CF0B8; +__ll_lshift = 0x800CF0F4; +__ll_rem = 0x800CF120; +__ll_div = 0x800CF15C; +__ll_mul = 0x800CF1B8; +__ull_divremi = 0x800CF1E8; +__ll_mod = 0x800CF248; +__ll_rshift = 0x800CF2E4; +osPfsInit = 0x800CF310; +__osPfsGetStatus = 0x800CF3C4; +osPfsReadWriteFile = 0x800CF5CC; +osPfsFreeBlocks = 0x800CF9D0; +osPfsChecker = 0x800CFB20; +corrupted_init = 0x800D01E4; +corrupted = 0x800D0398; +osPfsReFormat = 0x800D0580; +osPfsNumFiles = 0x800D0980; +bzero = 0x800D0AD0; +osPfsFileState = 0x800D0B70; +osPfsDeleteFile = 0x800D0E60; +__osPfsReleasePages = 0x800D1140; +__osBlockSum = 0x800D1378; +osPfsFindFile = 0x800D1470; +osPfsAllocateFile = 0x800D1630; +__osPfsDeclearPage = 0x800D1AB4; +osInvalDCache = 0x800D1DE0; +osWritebackDCacheAll = 0x800D1E90; +osDpGetStatus = 0x800D1EC0; +osDpSetNextBuffer = 0x800D1ED0; +osCreateViManager = 0x800D1F80; +viMgrMain = 0x800D20F8; +osViSetMode = 0x800D2290; +osViBlack = 0x800D2300; +osViSetEvent = 0x800D2370; +osSpTaskYielded = 0x800D23E0; +osViGetCurrentFramebuffer = 0x800D2460; +osViGetNextFramebuffer = 0x800D24A0; +osSpTaskLoad = 0x800D25FC; +osSpTaskStartGo = 0x800D275C; +osGetTime = 0x800D27A0; +osSpTaskYield = 0x800D2830; +osViSetSpecialFeatures = 0x800D2850; +osViSwapBuffer = 0x800D2A10; +__osGetActiveQueue = 0x800D2A60; +__osPiCreateAccessQueue = 0x800D2A70; +__osPiGetAccess = 0x800D2AC0; +__osPiRelAccess = 0x800D2B04; +osGetThreadPri = 0x800D2B30; +__osDisableInt = 0x800D2B50; +__osRestoreInt = 0x800D2B70; +osPiRawStartDma = 0x800D2B90; +osEPiRawStartDma = 0x800D2C70; +__osDevMgrMain = 0x800D2D50; +__osViInit = 0x800D3100; +alSynDelete = 0x800D3250; +__osDequeueThread = 0x800D3260; +__osExceptionPreamble = 0x800D32A0; +__osException = 0x800D32B0; +send_mesg = 0x800D37D4; +handle_CpU = 0x800D3888; +__osEnqueueAndYield = 0x800D38BC; +__osEnqueueThread = 0x800D39BC; +__osPopThread = 0x800D3A04; +__osDispatchThread = 0x800D3A14; +__osCleanupThread = 0x800D3B90; +__osProbeTLB = 0x800D3BA0; +__osAiDeviceBusy = 0x800D3C60; +osJamMesg = 0x800D3C90; +osPiGetCmdQueue = 0x800D3DE0; +alCopy = 0x800D3E10; +_Printf = 0x800D4500; +__osSetSR = 0x800D4B50; +__osGetSR = 0x800D4B60; +__osSetFpcCsr = 0x800D4B70; +__osSiRawReadIo = 0x800D4B80; +__osSiRawWriteIo = 0x800D4BD0; +osWritebackDCache = 0x800D4C20; +osInvalICache = 0x800D4CA0; +osMapTLBRdb = 0x800D4D20; +osPiRawReadIo = 0x800D4D80; +__osSetHWIntrRoutine = 0x800D4DE0; +guMtxF2L = 0x800D4E30; +guMtxIdentF = 0x800D4F30; +guMtxIdent = 0x800D4FB8; +guMtxL2F = 0x800D4FE8; +cosf = 0x800D50A0; +sinf = 0x800D5210; +osSetTimer = 0x800D53D0; +__osTimerServicesInit = 0x800D54B0; +__osTimerInterrupt = 0x800D553C; +__osSetTimerIntr = 0x800D56B4; +__osInsertTimer = 0x800D5728; +__osSiDeviceBusy = 0x800D58B0; +__osSumcalc = 0x800D58E0; +__osIdCheckSum = 0x800D593C; +__osRepairPackId = 0x800D59A4; +__osCheckPackId = 0x800D5DBC; +__osGetId = 0x800D5F54; +__osCheckId = 0x800D61B0; +__osPfsRWInode = 0x800D62AC; +__osPfsSelectBank = 0x800D65CC; +__osDpDeviceBusy = 0x800D6640; +__osViGetCurrentContext = 0x800D6670; +__osViSwapContext = 0x800D6680; +__osSpGetStatus = 0x800D69E0; +__osSpSetPc = 0x800D69F0; +__osSpRawStartDma = 0x800D6A30; +__osSpDeviceBusy = 0x800D6AC0; +__osResetGlobalIntMask = 0x800D6AF0; +osEPiRawWriteIo = 0x800D6B50; +osYieldThread = 0x800D6BA0; +osDestroyThread = 0x800D6BF0; +_Litob = 0x800D6CF0; +_Genld = 0x800D6F90; +_Ldtob = 0x800D7500; +__osSetCompare = 0x800D7A50; +lldiv = 0x800D7A60; +ldiv = 0x800D7B60; + +// ucode_text pal v80 +aspMainTextStart = 0x800D7BF0; // size:0xEC0 +rspF3DDKRBootStart = 0x800D8AB0; // size:0xD0 +rspF3DDKRDramStart = 0x800D8B80; // size:0x1200 +rspF3DDKRFifoStart = 0x800D9D80; // size:0x11F0 +rspF3DDKRXbusStart = 0x800DAF70; // size:0x11F0 +rspUnknown2Start = 0x800DC160; // size:0xAD0 + + +sDebugVersionInfoString = 0x800E7730; // type:asciz +sDebugBuildDateString = 0x800E7738; // type:asciz +sDebugUsernameString = 0x800E7748; // type:asciz + + +gMusicPlayer = 0x800DCC30; +gJinglePlayer = 0x800DCC34; +gMusicBaseVolume = 0x800DCC38; +sfxRelativeVolume = 0x800DCC3C; +gCanPlayMusic = 0x800DCC40; +gCanPlayJingle = 0x800DCC44; +gBlockMusicChange = 0x800DCC48; +audioPrevCount = 0x800DCC4C; +sMusicFadeVolume = 0x800DCC50; +gMusicSliderVolume = 0x800DCC54; +gDelayedSoundsCount = 0x800DCC58; +gMusicNextSeqID = 0x800DCC5C; +gJingleNextSeqID = 0x800DCC60; +D_800DC664 = 0x800DCC64; +D_800DC668 = 0x800DCC68; +gGlobalMusicVolume = 0x800DCC6C; +gBlockVoiceLimitChange = 0x800DCC70; +audFrameCt = 0x800DCC80; +nextDMA = 0x800DCC84; +curAcmdList = 0x800DCC88; +gAntiPiracyAudioFreq = 0x800DCC8C; +gFunc80019808Checksum = 0x800DCC90; +gFunc80019808Length = 0x800DCC94; +D_800DC6B0 = 0x800DCCB0; // size:0xC +gAlSndPlayerPtr = 0x800DCCBC; +sfxVolumeSlider = 0x800DCCC0; +D_800DC6C4 = 0x800DCCC4; +gVehicleSounds = 0x800DCCD0; +D_800DC6D4 = 0x800DCCD4; +D_800DC6D8 = 0x800DCCD8; +gUsedMasks = 0x800DCCE0; +gTajChallengeTransition = 0x800DCCF0; +gBalloonCutsceneTransition = 0x800DCCF8; +D_800DC700 = 0x800DCD00; +D_800DC704 = 0x800DCD04; +D_800DC708 = 0x800DCD08; +D_800DC70C = 0x800DCD0C; +D_800DC710 = 0x800DCD10; +D_800DC714 = 0x800DCD14; +gGhostObjStaff = 0x800DCD18; +D_800DC71C = 0x800DCD1C; +gObjectTexAnim = 0x800DCD20; +gTimeTrialTime = 0x800DCD24; +gTimeTrialVehicle = 0x800DCD28; +gTimeTrialCharacter = 0x800DCD2C; +gHasGhostToSave = 0x800DCD30; +gTimeTrialStaffGhost = 0x800DCD34; +gBeatStaffGhost = 0x800DCD38; +D_800DC73C = 0x800DCD3C; +D_800DC740 = 0x800DCD40; +gSwapLeadPlayer = 0x800DCD44; +D_800DC748 = 0x800DCD48; +D_800DC74C = 0x800DCD4C; +D_800DC754 = 0x800DCD54; +gShieldEffectObject = 0x800DCD5C; +D_800DC760 = 0x800DCD60; +gMagnetEffectObject = 0x800DCD64; +D_800DC768 = 0x800DCD68; +D_800DC76C = 0x800DCD6C; +D_800DC7A8 = 0x800DCDA8; +D_800DC7B8 = 0x800DCDB8; // type:s16 size:0x66 +gBossVehicles = 0x800DCE20; // size:0x14 +D_800DC834 = 0x800DCE34; +D_800DC840 = 0x800DCE40; +gNoBoundsCheck = 0x800DCE48; +gMagnetColours = 0x800DCE4C; +gRaceEndFade = 0x800DCE58; +gRaceEndTransition = 0x800DCE60; +D_800DC870 = 0x800DCE70; +gFullFadeToBlack = 0x800DCE74; +gCircleFadeToBlack = 0x800DCE7C; +D_800DC884 = 0x800DCE84; +D_800DC8AC = 0x800DCEAC; +gCurrentLevelModel = 0x800DCF18; +gCurrentLevelHeader2 = 0x800DCF1C; +D_800DC920 = 0x800DCF20; +D_800DC924 = 0x800DCF24; +D_800DC928 = 0x800DCF28; +D_800DC92C = 0x800DCF2C; +gActiveLights = 0x800DCF50; +D_800DC954 = 0x800DCF54; +gMaxLights = 0x800DCF58; +gNumActiveLights = 0x800DCF5C; +D_800DC960 = 0x800DCF60; +D_800DC964 = 0x800DCF64; +D_800DC968 = 0x800DCF68; +gTajTransformTransitionEnd = 0x800DCF70; +gTajTransition = 0x800DCF78; +gCharacterFlagVertices = 0x800DCF80; +D_800DC9A8 = 0x800DCFA8; +D_800DC9CC = 0x800DCFCC; +D_800DC9D0 = 0x800DCFD0; +D_800DCA50 = 0x800DD050; +D_800DCA58 = 0x800DD058; +D_800DCA64 = 0x800DD064; +D_800DCA70 = 0x800DD070; +D_800DCA7C = 0x800DD07C; +D_800DCA88 = 0x800DD088; +D_800DCA94 = 0x800DD094; +D_800DCA9C = 0x800DD09C; +D_800DCAA8 = 0x800DD0A8; +D_800DCB28 = 0x800DD128; +gObjLoopGoldenBalloonLength = 0x800DD150; +gAntiPiracyHeadroll = 0x800DD154; +D_800DCB58 = 0x800DD158; +D_800DCB5C = 0x800DD15C; +D_800DCB60 = 0x800DD160; +gNumViewports = 0x800DD198; +gSurfaceTractionTable = 0x800DD19C; +D_800DCBE8 = 0x800DD1E8; +gSurfaceBobbingTable = 0x800DD234; +gSurfaceSoundTable = 0x800DD280; +D_800DCCCC = 0x800DD2CC; +gSurfaceFlagTable = 0x800DD2F4; +gSurfaceFlagTable4P = 0x800DD340; +gRacerAIBalloonActionTable = 0x800DD390; +D_800DCDA0 = 0x800DD3A0; +D_800DCDA8 = 0x800DD3A8; +D_800DCDB0 = 0x800DD3B0; +gObjLoopGoldenBalloonChecksum = 0x800DD3D0; +gDoorFadeTransition = 0x800DD3D4; +gTrickyVoiceTable = 0x800DD3E0; +gBlueyVoiceTable = 0x800DD400; +gSmokeyVoiceTable = 0x800DD420; +gBubblerVoiceTable = 0x800DD440; +gWizpigVoiceTable = 0x800DD460; +gRocketVoiceTable = 0x800DD480; +gTractionTableChecksum = 0x800DD4A0; +gTrackRenderFuncLength = 0x800DD4A4; +alFXEnabled = 0x800DD4B0; +gStereoPanMode = 0x800DD650; +gAntiPiracyViewport = 0x800DD660; +gScreenViewports = 0x800DD664; +gViewportWithBG = 0x800DD734; +gVehiclePartVertex = 0x800DD738; +gViewportStack = 0x800DD748; +D_800DD288 = 0x800DD888; +D_800DD2A0 = 0x800DD8A0; +gOrthoMatrixF = 0x800DD8B8; +gCameraZoomLevels = 0x800DD8F8; +sNoControllerPluggedIn = 0x800DD900; +gButtonMask = 0x800DD904; +gTempLevelNames = 0x800DD910; +gCurrentDefaultVehicle = 0x800DD914; +gTwoPlayerAdvRace = 0x800DD918; +gIsInRace = 0x800DD91C; +gViewportFuncChecksum = 0x800DD920; +gViewportFuncLength = 0x800DD924; +gLevelPropertyStackPos = 0x800DD928; +D_800DD32C = 0x800DD92C; +D_800DD330 = 0x800DD930; +sDebugRomBuildInfo = 0x800DD940; // size:0xC +gBuildString = 0x800DD94C; // type:asciz size:0x28 +sAntiPiracyTriggered = 0x800DD974; // type:s8 +D_800DD378 = 0x800DD978; +gSaveDataFlags = 0x800DD97C; +gScreenStatus = 0x800DD980; +sControllerStatus = 0x800DD984; +D_800DD388 = 0x800DD988; +gSkipGfxTask = 0x800DD98C; +gDrumstickSceneLoadTimer = 0x800DD990; +gLevelLoadTimer = 0x800DD994; +gPauseLockTimer = 0x800DD998; +gFutureFunLandLevelTarget = 0x800DD99C; +gDmemInvalid = 0x800DD9A0; +D_800DD3A4 = 0x800DD9A4; +D_800DD3A8 = 0x800DD9A8; +D_800DD3AC = 0x800DD9AC; +gNumF3dCmdsPerPlayer = 0x800DD9B0; // size:0x10 +gNumHudVertsPerPlayer = 0x800DD9C0; // size:0x10 +gNumHudMatPerPlayer = 0x800DD9D0; // size:0x10 +gNumHudTrisPerPlayer = 0x800DD9E0; // size:0x10 +gDrawFrameTimer = 0x800DD9F0; +D_800DD3F4 = 0x800DD9F4; +D_800DD3FC = 0x800DD9FC; +sLogicUpdateRate = 0x800DDA04; +gDrumstickSceneTransition = 0x800DDA08; +D_800DD410 = 0x800DDA10; +gLevelFadeOutTransition = 0x800DDA1C; +D_800DD424 = 0x800DDA24; +gIntDisFlag = 0x800DDA30; +gCurrentRNGSeed = 0x800DDA34; +gPrevRNGSeed = 0x800DDA38; +gSineTable = 0x800DDA3C; +gArcTanTable = 0x800DE23E; +gPakFileList = 0x800DEA40; +gN64FontCodes = 0x800DEA44; +sControllerPaksPresent = 0x800DEA88; +gRumbleKillTimer = 0x800DEA8C; +gRumbleEnable = 0x800DEA90; // has a diff from v1 - NEW DATA SYMBOL +gGfxTaskMesgNums = 0x800DEAA0; +sBGPrimColourrR = 0x800DEAC0; +sBGPrimColourrG = 0x800DEAC4; +sBGPrimColourrB = 0x800DEAC8; +sBackgroundFillColour = 0x800DEACC; +gTexBGShiftX = 0x800DEAD0; +gTexBGTex1 = 0x800DEAD4; +gTexBGTex2 = 0x800DEAD8; +gChequerBGEnabled = 0x800DEADC; +gBGDrawFunc = 0x800DEAE0; +gGfxBufCounter = 0x800DEAE4; +ggGfxBufCounter2 = 0x800DEAE8; +gGfxTaskIsRunning = 0x800DEAEC; +dRspInit = 0x800DEAF0; +dRdpInit = 0x800DEB30; +dRaceFinishBackgroundSettings = 0x800DEBA8; +dChequerBGSettings = 0x800DEBF0; +dTextureRectangleModes = 0x800DEC38; +dScaledRectangleBaseModes = 0x800DEC80; +dTextureRectangleScaledOpa = 0x800DECB8; +dTextureRectangleScaledXlu = 0x800DECF8; +D_800DE730 = 0x800DED40; +gBootBlackoutMesg = 0x800DED48; +gAudTaskTimer0 = 0x800DED50; +gAudTaskTimer1 = 0x800DED54; +gAudTaskTimer2 = 0x800DED58; +gAudTaskTimer3 = 0x800DED5C; +gRetraceCounter32 = 0x800DED60; +gCurRSPTaskCounter = 0x800DED64; +gCurRDPTaskCounter = 0x800DED68; +D_800DE75C = 0x800DED6C; +gRetraceCounter64 = 0x800DED70; +gVideoDepthBuffer = 0x800DED80; +D_800DE774 = 0x800DED84; +D_800DE778 = 0x800DED88; +gVideoModeResolutions = 0x800DED8C; +gTexColourTag = 0x800DEDD0; +gSpriteOpaque = 0x800DEDD4; +dRenderSettingsVtxAlpha = 0x800DEDD8; +dRenderSettingsSpriteCld = 0x800DEE58; +dRenderSettingsSpriteXlu = 0x800DEE78; +dRenderSettingsCommon = 0x800DEEF8; +dRenderSettingsCutout = 0x800DF2F8; +dRenderSettingsDecal = 0x800DF3F8; +dRenderSettingsSolidColourVtxAlpha = 0x800DF4F8; +dRenderSettingsSolidColour = 0x800DF538; +dRenderSettingsPrimOverlay = 0x800DF638; +dRenderSettingsPrimCol = 0x800DF6B8; +dRenderSettingsBlinkingLights = 0x800DF7B8; +D_800DF3A8 = 0x800DF9B8; +D_800DF3D8 = 0x800DF9E8; +D_800DF410 = 0x800DFA20; +gRdpSetModeScreenAsset = 0x800DFA50; +gInAdvModeTrophyRace = 0x800DFA60; +gTrackSelectWoodFrameHeightScale = 0x800DFA64; +gResetTitleScale = 0x800DFA68; +gTitleScreenCurrentOption = 0x800DFA6C; +gMenuCurIndex = 0x800DFA70; +unused_800DF464 = 0x800DFA74; +gMenuDisableObjAnim = 0x800DFA78; +gMissingControllerDelay = 0x800DFA7C; +gCurrentMenuId = 0x800DFA80; +unused_800DF474 = 0x800DFA84; +gTrackSpecifiedWithTrackIdToLoad = 0x800DFA88; +gMenuDelay = 0x800DFA8C; +gNumberOfReadyPlayers = 0x800DFA90; +D_800DF484 = 0x800DFA94; +gTitleScreenLoaded = 0x800DFA98; +unused_800DF48C = 0x800DFA9C; +unused_800DF490 = 0x800DFAA0; +gIsInAdventureTwo = 0x800DFAA4; +gPlayerHasSeenCautionMenu = 0x800DFAA8; +gMenuTextLangTable = 0x800DFAAC; +gMenuText = 0x800DFAB0; +sMenuGuiColourR = 0x800DFAB4; +sMenuGuiColourG = 0x800DFAB8; +sMenuGuiColourB = 0x800DFABC; +sMenuGuiColourBlendFactor = 0x800DFAC0; +gMenuSpriteFlags = 0x800DFAC4; +gIsInTracksMode = 0x800DFAC8; +gNumberOfActivePlayers = 0x800DFACC; +gIsInTwoPlayerAdventure = 0x800DFAD0; +gTrackIdForPreview = 0x800DFAD4; +gTrackSelectRow = 0x800DFAD8; +gSaveFileIndex = 0x800DFADC; +unused_800DF4D0 = 0x800DFAE0; +gTrackIdToLoad = 0x800DFAE4; +unused_800DF4D8 = 0x800DFAE8; +gNextTajChallengeMenu = 0x800DFAEC; +gNeedToCloseDialogueBox = 0x800DFAF0; +gDoneTalkingToNPC = 0x800DFAF4; // size:0x5 +gDialogueOptionTangible = 0x800DFAFC; +unused_800DF4F0 = 0x800DFB00; +sMenuImageProperties = 0x800DFB20; // size:0x240 +gAssetsMenuElementIds = 0x800DFD60; +gMenuElementIdCount = 0x800DFD64; +gMenuObjectsCount = 0x800DFD68; +gMenuImages = 0x800DFD6C; +sMenuMusicVolume = 0x800DFD70; // type:s32 size:0x4 +sMenuGuiOpacity = 0x800DFD74; +unused_800DF768 = 0x800DFD78; +sMenuTransitionFadeInFast = 0x800DFD7C; +sMenuTransitionFadeIn = 0x800DFD84; +sMenuTransitionFadeOut = 0x800DFD8C; +sMenuTransitionFadeInWhite = 0x800DFD94; +sMenuTransitionFadeOutWhite = 0x800DFD9C; +gPostraceState = 0x800DFDA4; +gTrophyRankingsMenuElements = 0x800DFDA8; +gPostraceTextOffset = 0x800DFDAC; +gPostraceTimestampOffset = 0x800DFDB0; +gTitleMenuStrings = 0x800DFDB4; +gVersionDisplayText = 0x800DFDC0; +sGameTitleTileTextures = 0x800DFDD4; // size:0x18 +sGameTitleTileOffsets = 0x800DFDEC; // size:0x60 +gTitleCinematicText = 0x800DFE4C; +gTitleCinematicTextColourCount = 0x800E0004; +gTitleCinematicTextColours = 0x800E0008; +unused_800DFA0C = 0x800E001C; +gOptionMenuStrings = 0x800E0020; // size:0x1C +gOptionMenuTextures = 0x800E003C; // size:0x10 +gAudioMenuStrings = 0x800E004C; // size:0x80 +gMusicTestSongIndex = 0x800E00CC; +gSfxVolumeSliderValue = 0x800E00D0; +gMusicVolumeSliderValue = 0x800E00D4; +gAudioOutputType = 0x800E00D8; +gContPakSaveBgColours = 0x800E00DC; +gDeviceStatus = 0x800E00EC; +gControllerIndex = 0x800E00F0; +gContPakNotPresentStrings = 0x800E00F4; +gContPakCorruptDataRepairStrings = 0x800E010C; +gContPakDamagedStrings = 0x800E0124; +gContPakFullStrings = 0x800E013C; +gContPakDiffContStrings = 0x800E0150; +gContPakNoRoomForGhostsStrings = 0x800E016C; +gContPakCorruptDataStrings = 0x800E0184; +gContPakRumbleDetectedStrings = 0x800E019C; +gContPakSwitchToRumbleStrings = 0x800E01B4; +gContPakNeed2ndAdvStrings = 0x800E01CC; +gContPakStrings = 0x800E01EC; +unused_800DFC08 = 0x800E0218; +unused_800DFC0C = 0x800E021C; +gDrawTexN64Icon = 0x800E0220; +gDrawTexTTIcon = 0x800E0230; +gDrawTexGhostIcon = 0x800E0240; +gDrawTexFileIcon = 0x800E0250; +gDrawTexContPakIcon = 0x800E0260; +gDrawTexTrashIcon = 0x800E0270; +unused_800DFC70 = 0x800E0280; +gSaveMenuObjectIndices = 0x800E0288; +gSaveMenuImageIndices = 0x800E02BC; +gControllerPakMenuElement = 0x800E02C4; +gShowControllerPakMenu = 0x800E03A4; +gActiveMagicCodes = 0x800E03A8; +gUnlockedMagicCodes = 0x800E03AC; +gMagicCodeMenuStrings = 0x800E03B0; +gCharacterVolumes = 0x800E03C4; +gCharSelectObjectIndices = 0x800E03D8; +gCharSelectImageIndices = 0x800E03DC; +gCharacterSelectBytesDefault = 0x800E03E0; +gCharacterSelectBytesDrumStick = 0x800E0450; +gCharacterSelectBytesTT = 0x800E04D0; +gCharacterSelectBytesComplete = 0x800E0550; +unused_800DFFCC = 0x800E05DC; +gEnteredCharSelectFrom = 0x800E05E0; +unused_800DFFD4 = 0x800E05E4; +gCautionMenuTextElements = 0x800E05E8; // size:0x1C0 +gGameSelectTextElemsNoAdv2 = 0x800E07A8; +gGameSelectTextElemsWithAdv2 = 0x800E0888; +gFileSelectObjectIndices = 0x800E09A8; +gFileSelectImageIndices = 0x800E09B4; +gFilenames = 0x800E09C0; +unused_800E03BC = 0x800E09CC; +gFileSelectButtons = 0x800E09DC; +gFileSelectElementPos = 0x800E0A0C; +gMultiplayerSelectedNumberOfRacers = 0x800E0A20; +gTracksMenuTimeTrialHighlightIndex = 0x800E0A24; +gTracksMenuAdventureHighlightIndex = 0x800E0A28; +gMenuSelectionArrowUp = 0x800E0A2C; +gMenuSelectionArrowLeft = 0x800E0A3C; +gMenuSelectionArrowDown = 0x800E0A4C; +gMenuSelectionArrowRight = 0x800E0A5C; +gRaceSelectionCarTex = 0x800E0A6C; +gRaceSelectionHoverTex = 0x800E0A84; +gRaceSelectionPlaneTex = 0x800E0A9C; +gRaceSelectionTTOn = 0x800E0AB4; +gRaceSelectionTTOff = 0x800E0ACC; +gRaceSelectionCarOptHighlight = 0x800E0AE4; +gRaceSelectionCarOpt = 0x800E0AF4; +gRaceSelectionHoverOptHighlight = 0x800E0B04; +gRaceSelectionHoverOpt = 0x800E0B14; +gRaceSelectionPlaneOptHighlight = 0x800E0B24; +gRaceSelectionPlaneOpt = 0x800E0B34; +gRaceSelectionTTOnOptHighlight = 0x800E0B44; +gRaceSelectionTTOffOptHighlight = 0x800E0B54; +gRaceSelectionTTOnOpt = 0x800E0B64; +gRaceSelectionTTOffOpt = 0x800E0B74; +gRaceSelectionPlayer1Texture = 0x800E0B84; +gRaceSelectionPlayer2Texture = 0x800E0B94; +gRaceSelectionPlayer3Texture = 0x800E0BA4; +gRaceSelectionPlayer4Texture = 0x800E0BB4; +gRaceSelectionVehicleTitleTexture = 0x800E0BC4; +gRaceSelectionTTTitleTexture = 0x800E0BD4; +D_800E05D4 = 0x800E0BE4; +D_800E05F4 = 0x800E0C04; +gRaceSelectionTTTexture = 0x800E0C24; +gRaceSelectionImages = 0x800E0C34; +gTrackSelectTTImage = 0x800E0C58; +gTrackSelectPlayerImage = 0x800E0C70; +gMenuSelectionArrows = 0x800E0C88; +gTracksMenuPlayerNamePositions = 0x800E0C98; +gTracksMenuVehicleNamePositions = 0x800E0CC0; +gTracksMenuArrowPositionsNTSC = 0x800E0CD4; +gTracksMenuArrowPositionsPAL = 0x800E0CE4; +gTwoPlayerRacerCountMenu = 0x800E0CF4; +gTracksMenuAdventureButton = 0x800E0D10; +gTracksMenuBgTextureIndices = 0x800E0D20; // type:s16 size:0x1E +gTracksMenuBgTextures = 0x800E0D40; +gTTVoiceLines = 0x800E0D68; +gTrackSelectObjectIndices = 0x800E0DD4; +gTrackSelectImageIndices = 0x800E0DF0; +gTrackSelectPreviewObjectIndices = 0x800E0DF8; +gTrackSelectPreviewImageIndices = 0x800E0E40; +gTrackSelectBgData = 0x800E0E50; +gTrackSelectBgVertices = 0x800E0F78; // size:0x8 +gTrackSelectBgTriangles = 0x800E0F80; // size:0x8 +gQMarkPtr = 0x800E0F88; +gIsInTracksMenu = 0x800E0F8C; +gTrackNameVoiceDelay = 0x800E0F90; +gMenuOptionCap = 0x800E0F94; +gMenuSubOption = 0x800E0F98; +gLastPlayerWhoPaused = 0x800E0F9C; +gPlayerPauseBgColour = 0x800E0FA0; +gPlayerPauseOptionsTextColour = 0x800E0FB0; +sBadControllerPakMenuText = 0x800E0FC0; +sControllerPakFullMenuText = 0x800E0FD4; +sNoControllerPakMenuText = 0x800E0FE8; +sCorruptDataMenuText = 0x800E0FFC; +D_800E09F8 = 0x800E1008; +sInsertControllerPakMenuText = 0x800E1014; +D_800E0A10 = 0x800E1020; +sInsertRumblePakMenuText = 0x800E1024; +gRaceResultsObjectIndices = 0x800E1034; +gRaceResultsImageIndices = 0x800E1050; +gMenuPortraitKrunch = 0x800E1060; +gMenuPortraitDiddy = 0x800E1070; +gMenuPortraitDrumstick = 0x800E1080; +gMenuPortraitBumper = 0x800E1090; +gMenuPortraitBanjo = 0x800E10A0; +gMenuPortraitConker = 0x800E10B0; +gMenuPortraitTiptup = 0x800E10C0; +gMenuPortraitTT = 0x800E10D0; +gMenuPortraitPipsy = 0x800E10E0; +gMenuPortraitTimber = 0x800E10F0; +gRacerPortraits = 0x800E1100; +unused_800E0B18 = 0x800E1128; +gFirstPlace = 0x800E11BC; +gSecondPlace = 0x800E11C0; +gThirdPlace = 0x800E11C4; +gFourthPlace = 0x800E11C8; +gFifthPlace = 0x800E11CC; +gSixthPlace = 0x800E11D0; +gSeventhPlace = 0x800E11D4; +gEighthPlace = 0x800E11D8; +gRacePlacementsArray = 0x800E11DC; +gRaceResultsMenuElements = 0x800E11FC; // size:0x100 +gRaceOrderMenuElements = 0x800E12FC; // size:0x160 +gRecordTimesMenuElements = 0x800E145C; // size:0x120 +gFileNameValidChars = 0x800E157C; // size:0x20 +gCurFilenameCharBeingDrawn = 0x800E159C; // size:0x4 +gEnterInitalsY = 0x800E15A0; +gFilenameX = 0x800E15A4; +gFilenameY = 0x800E15A8; +gFilenameFont = 0x800E15AC; +gNameEntryLength = 0x800E15B0; +D_800E0FA4 = 0x800E15B4; +gCheckAdvEnterInitials = 0x800E15B8; +D_800E0FAC = 0x800E15BC; +gIndexOfCurInputCharacter = 0x800E15C0; +gAdvTrackInitObjectIndices = 0x800E15C4; +gAdvTrackInitImageIndices = 0x800E15E8; +gRankingPlayerCount = 0x800E15F4; +gTrophyRaceWorldId = 0x800E15F8; +gTrophyRaceRound = 0x800E15FC; +gPrevTrophyRaceRound = 0x800E1600; +unused_800E0FF4 = 0x800E1604; +gTrophyRacePointsArray = 0x800E1614; // type:s32 size:0x20 +gTrophyRankingsObjectIndices = 0x800E1634; +gTrophyRaceImageIndices = 0x800E1650; +gTrophyRankingsTitle = 0x800E1658; +gTrophyRankingsRacers = 0x800E1698; +gTrophyRankingsRawIconPositions = 0x800E19B8; // type:s16 size:0x108 +gTrophyRankingsIconPositions = 0x800E1ACC; +gDrawTexDinoDomainGhostBg = 0x800E1B4C; // size:0x58 +gDrawTexSherbetIslandGhostBg = 0x800E1BA4; // size:0x58 +gDrawTexSnowflakeMountainGhostBg = 0x800E1BFC; // size:0x58 +gDrawTexDragonForestGhostBg = 0x800E1C54; // size:0x58 +gDrawTexFutureFunLandGhostBg = 0x800E1CAC; // size:0x58 +gDrawTexWorldBgs = 0x800E1D04; // size:0x14 +gGhostDataObjectIndices = 0x800E1D18; // size:0x44 +gGhostDataImageIndices = 0x800E1D5C; // size:0x8 +gGhostDataElementPositions = 0x800E1D64; // size:0x14 +gCinematicObjectIndices = 0x800E1D78; // size:0x18 +dCreditsFade = 0x800E1D90; +gCreditsObjectIndices = 0x800E1DE8; +gCreditsImageIndices = 0x800E1E00; +gCreditsControlData = 0x800E1E04; // size:0x144 +gCreditsArray = 0x800E1F48; // defined:true +gCreditsBestTimesArray = 0x800E20A4; // defined:true +gCreditsLastMessageArray = 0x800E20F4; // defined:true +gCheatsInCreditsArray = 0x800E2108; +gViewingCreditsFromCheat = 0x800E215C; +gCreditsMenuElements = 0x800E2160; // size:0x120 +dMenuHudSettings = 0x800E2280; +dMenuHudDrawModes = 0x800E22B0; +gWoodPanelsIndices = 0x800E22E0; +gWoodPanelTexCoords = 0x800E2300; +gWoodPanelVertCoords = 0x800E233C; +gWoodPanelVertColours = 0x800E238C; +gWoodPanelVertices = 0x800E23B4; // size:0x8 +gWoodPanelTriangles = 0x800E23BC; // size:0x8 +gMenuTrisFlip = 0x800E23C4; +gWoodPanelCount = 0x800E23C8; +gWoodPanelAllocCount = 0x800E23CC; +gWoodPanelTexScaleU = 0x800E23D0; +gWoodPanelTexScaleV = 0x800E23D4; +D_800E1DC8 = 0x800E23D8; // size:0x20 +gFadeLogoToTitleScreen = 0x800E23F8; +gRareCopyrightString = 0x800E2400; +gFadeTitleScreenDemo = 0x800E2418; +gConPakAdvSavePrefix = 0x800E2420; // size:0xC +gTrackSelectSound = 0x800E242C; +D_800E1E20 = 0x800E2430; +gGameStatusVisible = 0x800E2438; +D_800E1E2C = 0x800E243C; +D_800E1E40 = 0x800E2450; +D_800E1E60 = 0x800E2470; +gHudElementBase = 0x800E2474; +D_800E25C4 = 0x800E2BD4; +D_800E2684 = 0x800E2C94; +gHudAudioData = 0x800E2D80; +gShowCourseDirections = 0x800E2DA0; +D_800E2794 = 0x800E2DA4; +gHudToggleSettings = 0x800E2DB4; +gPrevToggleSetting = 0x800E2DB8; +gHudLapColours = 0x800E2DBC; +gHudIndicatorTimer = 0x800E2DC8; +gHudMinimapColours = 0x800E2DCC; +gHudColour = 0x800E2E44; +sRecordVel = 0x800E2E48; +D_800E283C = 0x800E2E4C; +sDidNotFinish = 0x800E2E5C; // type:asciz NEW DATA SYMBOL +gWeatherPresets = 0x800E2E70; +gSnowPhysics = 0x800E2EF4; +gSnowGfx = 0x800E2EF8; +gSnowVerts = 0x800E2F24; +gSnowVertCount = 0x800E2F28; +gSnowTriangles = 0x800E2F2C; +gSnowTriIndices = 0x800E2F30; +gSnowVertexData = 0x800E2F34; +gWeatherAssetTable = 0x800E2F3C; +gWeatherAssetTableLength = 0x800E2F40; +dLensFlare = 0x800E2F48; +gLensPresetLarge = 0x800E2FA0; +gLensPreset1 = 0x800E2FC0; +gLensPreset2 = 0x800E3000; +gLensPreset3 = 0x800E3050; +gLensFlare = 0x800E30A0; +gLensFlareOff = 0x800E30A4; +gLensFlareOverrideObjs = 0x800E30A8; +D_800E2A8C = 0x800E30AC; +D_800E2A90 = 0x800E30B0; +D_800E2A94 = 0x800E30B4; +D_800E2A98 = 0x800E30B8; +D_800E2A9C = 0x800E30BC; +D_800E2AA0 = 0x800E30C0; +D_800E2AA4 = 0x800E30C4; +D_800E2AA8 = 0x800E30C8; +gRainVertices = 0x800E30CC; +gRainSplashSegments = 0x800E316C; +gRainGfx = 0x800E324C; +gWeatherType = 0x800E327C; +gLightningFrequency = 0x800E3280; +gLightningFrequencyStep = 0x800E3284; +gLightningFrequencyTarget = 0x800E3288; +gRainOpacity = 0x800E328C; +gRainOpacityStep = 0x800E3290; +gRainOpacityTarget = 0x800E3294; +gRainHiddenTimer = 0x800E3298; +gLightningTimer = 0x800E329C; +gThunderTimer = 0x800E32A0; +gRainSplashDelay = 0x800E32A4; +gRainOverlayUnusedValue = 0x800E32A8; +gRainSplashGfx = 0x800E32AC; +gRainVertexFlip = 0x800E32B0; +gWeatherSoundMask = 0x800E32B4; +gThunderTransition = 0x800E32B8; +D_800E2CA0 = 0x800E32C0; +D_800E2CA4 = 0x800E32C4; +D_800E2CA8 = 0x800E32C8; +D_800E2CAC = 0x800E32CC; +D_800E2CB0 = 0x800E32D0; +D_800E2CB4 = 0x800E32D4; +D_800E2CB8 = 0x800E32D8; +D_800E2CBC = 0x800E32DC; +D_800E2CC0 = 0x800E32E0; +D_800E2CC4 = 0x800E32E4; +D_800E2CC8 = 0x800E32E8; +D_800E2CCC = 0x800E32EC; +D_800E2CD0 = 0x800E32F0; +D_800E2CD4 = 0x800E32F4; +D_800E2CD8 = 0x800E32F8; +D_800E2CDC = 0x800E32FC; +D_800E2CE0 = 0x800E3300; +D_800E2CE4 = 0x800E3304; +gParticlesAssetTableCount = 0x800E3308; +gParticlesAssets = 0x800E330C; +gParticlesAssetTable = 0x800E3310; +gParticleBehavioursAssetTableCount = 0x800E3314; +gParticleBehavioursAssets = 0x800E3318; +gParticleBehavioursAssetTable = 0x800E331C; +D_800E2D00 = 0x800E3320; +D_800E2D08 = 0x800E3328; +D_800E2D58 = 0x800E3378; +D_800E2D78 = 0x800E3398; +D_800E2DF8 = 0x800E3418; +D_800E2E28 = 0x800E3448; +gParticleGravityTable = 0x800E344C; +D_800E2E4C = 0x800E346C; +D_800E2E50 = 0x800E3470; +D_800E2E54 = 0x800E3474; +D_800E2E58 = 0x800E3478; +D_800E2E5C = 0x800E347C; +D_800E2E60 = 0x800E3480; +D_800E2E64 = 0x800E3484; +gParticleCoordListTri = 0x800E3488; +gParticleCoordListQuad = 0x800E3494; +D_800E2E84 = 0x800E34A4; +D_800E2EC4 = 0x800E34E4; +gParticleOpacity = 0x800E350C; +D_800E2EF0 = 0x800E3510; +gDebugFontCoords = 0x800E3514; +dDebugFontSettings = 0x800E35D8; +sLockupStatus = 0x800E3640; +sLockupPage = 0x800E3644; +sLockupDelay = 0x800E3648; +D_800E3040 = 0x800E3660; +D_800E3044 = 0x800E3664; +D_800E3048 = 0x800E3668; +D_800E304C = 0x800E366C; +D_800E3070 = 0x800E3690; +D_800E3078 = 0x800E3698; +D_800E3080 = 0x800E36A0; +D_800E3090 = 0x800E36B0; +D_800E30D0 = 0x800E36F0; +D_800E30D4 = 0x800E36F4; +D_800E30D8 = 0x800E36F8; +D_800E30DC = 0x800E36FC; +D_800E30E0 = 0x800E3700; +D_800E30E4 = 0x800E3704; +D_800E30E8 = 0x800E3708; +D_800E30FC = 0x800E371C; +D_800E3110 = 0x800E3730; +D_800E3144 = 0x800E3764; +D_800E3178 = 0x800E3798; +D_800E317C = 0x800E379C; +D_800E3180 = 0x800E37A0; +D_800E3184 = 0x800E37A4; +D_800E3188 = 0x800E37A8; +D_800E318C = 0x800E37AC; +D_800E3190 = 0x800E37B0; +D_800E3194 = 0x800E37B4; +gWaveGeneratorObj = 0x800E37B8; +gTransitionsDisabled = 0x800E37C0; +sLevelTransitionDelayTimer = 0x800E37C4; +gTransitionInvert = 0x800E37C8; +sTransitionStatus = 0x800E37CC; +sTransitionFadeTimer = 0x800E37D0; +gTransitionEndTimer = 0x800E37D4; +sTransitionFadeDuration = 0x800E37D8; +gTransitionFadeIn = 0x800E37DC; +sTransitionVtx = 0x800E37E0; +sTransitionTris = 0x800E37E8; +sTransitionTaskNum = 0x800E37F0; +dTransitionFadeSettings = 0x800E37F8; +gTransitionBarnHorizontalData = 0x800E3850; +gTransitionBarnVerticalData = 0x800E3888; +D_800E32A0 = 0x800E38C0; +D_800E32AC = 0x800E38CC; +gTransitionBarnDoorTris = 0x800E38D8; +gTransitionBarnDoorAlpha = 0x800E38F0; +gTransitionBarnDiagData = 0x800E38FC; +D_800E330C = 0x800E392C; +D_800E3318 = 0x800E3938; +gTransitionBarnDoorDiagTris = 0x800E3944; +gTransitionBarnDoorDiagAlpha = 0x800E3958; +gTransitionWaveData = 0x800E3964; +D_800E3440 = 0x800E3A60; +D_800E349C = 0x800E3ABC; +gTransitionWaveAlpha = 0x800E3B18; +gTransitionWaveTris = 0x800E3B74; +dTransitionShapeSettings = 0x800E3C68; +gTextTableExists = 0x800E3C90; +gTextDisplayNumber = 0x800E3C94; +gTextboxDelay = 0x800E3C98; +gDelayedTextID = 0x800E3C9C; +gSubtitleSetting = 0x800E3CA0; +dDialogueBoxBegin = 0x800E3CB0; +dDialogueBoxDrawModes = 0x800E3CE8; +sDialogueBoxIsOpen = 0x800E3D08; +gDescPowsOf10 = 0x800E3D0C; +sDialogueBoxDimensions = 0x800E3D30; +__osPiDevMgr = 0x800E3D60; // size:0x1C +gHuftTable = 0x800E3D80; +gPackedHeader = 0x800E3D84; +gzip_inflate_input = 0x800E3D88; +gzip_inflate_output = 0x800E3D8C; +gThread30NeedToLoadLevel = 0x800E3D90; +gThread30LevelIdToLoad = 0x800E3D94; +gThread30CutsceneIdToLoad = 0x800E3D98; +gThread30LoadDelay = 0x800E3D9C; +alGlobals = 0x800E3DA0; +hdwrBugFlag = 0x800E3DB0; +eqpower = 0x800E3DC0; // size:0x100 +osClockRate = 0x800E3EC0; +__osShutdown = 0x800E3EC8; +__OSGlobalIntMask = 0x800E3ECC; +gLeoFound = 0x800E3ED0; +__osContinitialized = 0x800E3EE0; +__osSiAccessQueueEnabled = 0x800E3EF0; +__osViDevMgr = 0x800E3F00; +osViModeTable = 0x800E3F20; +osViModeNtscLpn1 = 0x800E4C40; +osViModePalLpn1 = 0x800E4C90; +osViModeMpalLpn1 = 0x800E4CE0; +osViModeNtscLan1 = 0x800E4D30; +osViModePalLan1 = 0x800E4D80; +osViModeMpalLan1 = 0x800E4DD0; +__osPiAccessQueueEnabled = 0x800E4E20; +vi = 0x800E4E30; +__osViCurr = 0x800E4E90; +__osViNext = 0x800E4E94; +osViClock = 0x800E4E98; +__osThreadTail = 0x800E4EA0; +__osRunQueue = 0x800E4EA8; +__osActiveQueue = 0x800E4EAC; +__osRunningThread = 0x800E4EB0; +__osFaultedThread = 0x800E4EB4; +__osHwIntTable = 0x800E4EC0; +_spaces = 0x800E4EE0; // type:asciz +_zeroes = 0x800E4F04; // type:asciz +__osTimerList = 0x800E4F30; +ldigs = 0x800E4F40; // type:asciz +udigs = 0x800E4F54; // type:asciz + + +sAudioErrorString_01 = 0x800E4F70; // defined:true type:asciz +sAudioErrorString_02 = 0x800E4FA0; // defined:true type:asciz +sAudioErrorString_03 = 0x800E4FDC; // defined:true type:asciz +D_800E49F0 = 0x800E5010; +D_800E4A58 = 0x800E5078; +D_800E4A74 = 0x800E5094; +D_800E4A9C = 0x800E50BC; +D_800E4AAC = 0x800E50CC; +D_800E4AB0 = 0x800E50D0; +D_800E4B00 = 0x800E5120; +D_800E4B1C = 0x800E513C; +D_800E4B34 = 0x800E5154; +D_800E4B5C = 0x800E517C; +D_800E4B80 = 0x800E51A0; +jpt_800E4BB0 = 0x800E51D0; + +D_800E4BF0 = 0x800E5210; // type:f32 + +D_800E4BF8 = 0x800E5218; // type:f64 +D_800E4C00 = 0x800E5220; // type:f32 +D_800E4C08 = 0x800E5228; // type:f64 +D_800E4C10 = 0x800E5230; // type:f64 +D_800E4C18 = 0x800E5238; // type:f64 +D_800E4C20 = 0x800E5240; // type:f64 +D_800E4C28 = 0x800E5248; // type:f64 +D_800E4C30 = 0x800E5250; // type:f64 +D_800E4C38 = 0x800E5258; // type:f32 +D_800E4C40 = 0x800E5260; // type:f64 +D_800E4C48 = 0x800E5268; // type:f64 + +D_800E4C78 = 0x800E5298; // type:f32 +D_800E4C80 = 0x800E52A0; // type:f64 +D_800E4C88 = 0x800E52A8; // type:f64 +D_800E4C90 = 0x800E52B0; // type:f64 +D_800E4C98 = 0x800E52B8; // type:f32 + +D_800E4CC4 = 0x800E52E4; // type:f32 +D_800E4CC8 = 0x800E52E8; // type:f64 +D_800E4CD0 = 0x800E52F0; // type:f32 +D_800E4CD4 = 0x800E52F4; // type:f32 +D_800E4CD8 = 0x800E52F8; // type:f64 +D_800E4CE0 = 0x800E5300; // type:f32 +D_800E4CE8 = 0x800E5308; // type:f64 +D_800E4CF0 = 0x800E5310; // type:f32 +D_800E4CF4 = 0x800E5314; // type:f32 + +D_800E4D00 = 0x800E5320; +D_800E4D18 = 0x800E5338; +D_800E4D58 = 0x800E5378; +D_800E4DA0 = 0x800E53C0; +D_800E4DE0 = 0x800E5400; +D_800E4E28 = 0x800E5448; +D_800E4E68 = 0x800E5488; +D_800E4E9C = 0x800E54BC; +D_800E4EDC = 0x800E54FC; +D_800E4F10 = 0x800E5530; +D_800E4F14 = 0x800E5534; +D_800E4F30 = 0x800E5550; // type:asciz size:0x24 +sObjectOutofMemString = 0x800E5580; // defined:true +sDoorNumberErrorString = 0x800E559C; // defined:true +sObjectScopeErrorString = 0x800E55B8; // defined:true +sObjectListDataOverflowString = 0x800E55E4; // defined:true +sObjectSetupError1String = 0x800E5604; // defined:true +sObjectSetupError2String = 0x800E5628; // defined:true +sObjectSetupError5String = 0x800E564C; // defined:true +sObjectSetupError6String = 0x800E5670; // defined:true +sObjectSetupError3String = 0x800E5694; // defined:true +sObjectListOverflowString = 0x800E56B8; // defined:true +sObjectSetupError4String = 0x800E56D0; // defined:true +sDuplicateCheckpointString = 0x800E56F4; // force_not_migration:true defined:true +sErrorChannelString = 0x800E571C; // force_not_migration:true defined:true +sReadOutErrorString = 0x800E5730; // force_not_migration:true defined:true +sPureAnguishString = 0x800E5740; // force_not_migration:true defined:true +D_800E5130 = 0x800E5750; +D_800E5134 = 0x800E5754; +jpt_800E5154 = 0x800E5774; +D_800E5178 = 0x800E5798; +D_800E517C = 0x800E579C; +D_800E5180 = 0x800E57A0; +D_800E5184 = 0x800E57A4; +jpt_800E51B4 = 0x800E57D4; +jpt_800E5250 = 0x800E5870; +jpt_800E5420 = 0x800E5A40; +D_800E5554 = 0x800E5B74; +D_800E5558 = 0x800E5B78; +D_800E555C = 0x800E5B7C; +D_800E5560 = 0x800E5B80; +D_800E5564 = 0x800E5B84; +D_800E5568 = 0x800E5B88; +jpt_800E5588 = 0x800E5BA8; +D_800E55B8 = 0x800E5BD8; // type:f64 +D_800E55C0 = 0x800E5BE0; // type:f64 +D_800E55C8 = 0x800E5BE8; // type:f64 +D_800E55D0 = 0x800E5BF0; // type:f64 +D_800E55D8 = 0x800E5BF8; // type:f64 +D_800E55E0 = 0x800E5C00; // type:f64 +D_800E55E8 = 0x800E5C08; // type:f64 +D_800E55F0 = 0x800E5C10; // type:f64 +D_800E5608 = 0x800E5C28; // type:f64 +D_800E5610 = 0x800E5C30; // type:f64 +D_800E5618 = 0x800E5C38; // type:f64 +D_800E5620 = 0x800E5C40; // type:f64 +D_800E5628 = 0x800E5C48; // type:f64 +D_800E5648 = 0x800E5C68; // type:f64 +D_800E5650 = 0x800E5C70; // type:f32 +D_800E5658 = 0x800E5C78; // type:f64 +D_800E5670 = 0x800E5C90; // type:f64 +D_800E5678 = 0x800E5C98; // type:f32 +D_800E5680 = 0x800E5CA0; // type:f64 +gTrackClippingErrorString = 0x800E6418; +gTrackHeightOverflowString = 0x800E6438; +D_800E5E38 = 0x800E6458; +D_800E5E60 = 0x800E6480; // type:f64 +D_800E5E68 = 0x800E6488; +D_800E5E70 = 0x800E6490; +D_800E5E78 = 0x800E6498; // type:f64 +D_800E5E80 = 0x800E64A0; // type:f64 +D_800E5E88 = 0x800E64A8; // type:f64 +D_800E5E90 = 0x800E64B0; // type:f64 +D_800E5E98 = 0x800E64B8; // type:f64 +D_800E5F48 = 0x800E6568; +D_800E5F4C = 0x800E656C; +D_800E5F50 = 0x800E6570; +D_800E5F54 = 0x800E6574; +D_800E5F58 = 0x800E6578; +D_800E5F60 = 0x800E6580; // type:f32 +D_800E5F64 = 0x800E6584; // type:f32 +D_800E5F68 = 0x800E6588; // type:f32 +D_800E5F6C = 0x800E658C; // type:f32 +D_800E5F70 = 0x800E6590; // type:f32 +D_800E6020 = 0x800E6640; // type:f64 +D_800E6048 = 0x800E6668; +D_800E6140 = 0x800E6760; // type:f64 +D_800E621C = 0x800E683C; +D_800E6220 = 0x800E6840; +D_800E6224 = 0x800E6844; +jpt_800E6228 = 0x800E6848; +D_800E623C = 0x800E685C; +D_800E6240 = 0x800E6860; +D_800E6244 = 0x800E6864; +D_800E6248 = 0x800E6868; +gRacerDebugCoords = 0x800E68A0; // type:asciz +gChecksumOverflowString = 0x800E68B0; // type:asciz +gRacerBackString = 0x800E68C0; // type:asciz +D_800E62A8 = 0x800E68C8; // type:f64 +D_800E62B0 = 0x800E68D0; // type:f64 +D_800E62B8 = 0x800E68D8; // type:f64 +D_800E62C0 = 0x800E68E0; // type:f64 +D_800E62C8 = 0x800E68E8; // type:f64 +D_800E62D0 = 0x800E68F0; // type:f64 +D_800E62D8 = 0x800E68F8; // type:f64 +D_800E62E0 = 0x800E6900; // type:f64 +D_800E62E8 = 0x800E6908; // type:f64 +D_800E62F0 = 0x800E6910; // type:f64 +D_800E62F8 = 0x800E6918; // type:f64 +D_800E6300 = 0x800E6920; // type:f64 +D_800E6308 = 0x800E6928; // type:f64 +D_800E6310 = 0x800E6930; // type:f64 +jpt_800E6318 = 0x800E6938; +jpt_800E6334 = 0x800E6954; +D_800E6350 = 0x800E6970; // type:f64 +jpt_800E6358 = 0x800E6978; +D_800E6378 = 0x800E6998; +jpt_800E637C = 0x800E699C; +D_800E63A0 = 0x800E69C0; // type:f64 +D_800E63A8 = 0x800E69C8; +D_800E63B0 = 0x800E69D0; +D_800E63B8 = 0x800E69D8; +D_800E63C0 = 0x800E69E0; +D_800E63C8 = 0x800E69E8; +D_800E63D0 = 0x800E69F0; +D_800E63D8 = 0x800E69F8; +D_800E63E0 = 0x800E6A00; +D_800E63E8 = 0x800E6A08; +D_800E63F0 = 0x800E6A10; +D_800E63F8 = 0x800E6A18; +D_800E6400 = 0x800E6A20; +D_800E6408 = 0x800E6A28; +D_800E6410 = 0x800E6A30; +D_800E6418 = 0x800E6A38; +D_800E6420 = 0x800E6A40; +D_800E6428 = 0x800E6A48; +D_800E6430 = 0x800E6A50; +D_800E6438 = 0x800E6A58; +D_800E6440 = 0x800E6A60; +D_800E6448 = 0x800E6A68; +D_800E6450 = 0x800E6A70; +D_800E6458 = 0x800E6A78; +D_800E6460 = 0x800E6A80; +D_800E6468 = 0x800E6A88; + +D_800E64A8 = 0x800E6AC8; // type:f64 +D_800E64B0 = 0x800E6AD0; // type:f64 +D_800E64B8 = 0x800E6AD8; // type:f64 +D_800E64C0 = 0x800E6AE0; // type:f64 +D_800E64C8 = 0x800E6AE8; // type:f64 +D_800E64D0 = 0x800E6AF0; // type:f64 +D_800E64D8 = 0x800E6AF8; // type:f32 +D_800E64E0 = 0x800E6B00; // type:f64 +D_800E64E8 = 0x800E6B08; // type:f32 +D_800E64EC = 0x800E6B0C; // type:f32 +D_800E64F0 = 0x800E6B10; // type:f32 +D_800E64F4 = 0x800E6B14; // type:f32 +D_800E64F8 = 0x800E6B18; // type:f64 +D_800E6500 = 0x800E6B20; // type:f64 +D_800E6508 = 0x800E6B28; // type:f32 +D_800E6510 = 0x800E6B30; // type:f64 +D_800E6518 = 0x800E6B38; // type:f64 +D_800E6520 = 0x800E6B40; // type:f64 +D_800E6528 = 0x800E6B48; // type:f32 +D_800E6530 = 0x800E6B50; // type:f64 +D_800E6538 = 0x800E6B58; // type:f64 +D_800E6540 = 0x800E6B60; // type:f64 +D_800E6548 = 0x800E6B68; // type:f64 + +D_800E6558 = 0x800E6B78; // type:f64 +D_800E6560 = 0x800E6B80; // type:f64 +D_800E6568 = 0x800E6B88; // type:f32 +D_800E6570 = 0x800E6B90; // type:f64 +D_800E6578 = 0x800E6B98; // type:f64 +D_800E6580 = 0x800E6BA0; +D_800E6584 = 0x800E6BA4; +D_800E6588 = 0x800E6BA8; +D_800E658C = 0x800E6BAC; +D_800E65F8 = 0x800E6C18; // type:f64 +D_800E6600 = 0x800E6C20; // type:f64 +D_800E6608 = 0x800E6C28; // type:f64 +D_800E6610 = 0x800E6C30; // type:f64 +D_800E6618 = 0x800E6C38; // type:f64 +D_800E6620 = 0x800E6C40; // type:f64 +D_800E6628 = 0x800E6C48; // type:f64 +D_800E6630 = 0x800E6C50; // type:f64 +D_800E6638 = 0x800E6C58; // type:f64 +D_800E6640 = 0x800E6C60; // type:f64 +D_800E6648 = 0x800E6C68; // type:f64 +D_800E6650 = 0x800E6C70; // type:f64 +D_800E6658 = 0x800E6C78; // type:f64 +D_800E6660 = 0x800E6C80; // type:f32 +D_800E6668 = 0x800E6C88; // type:f64 +D_800E6670 = 0x800E6C90; // type:f64 +D_800E6678 = 0x800E6C98; // type:f64 +D_800E6680 = 0x800E6CA0; // type:f64 +D_800E6688 = 0x800E6CA8; // type:f64 +D_800E6690 = 0x800E6CB0; // type:f64 +D_800E6698 = 0x800E6CB8; // type:f64 +D_800E66A0 = 0x800E6CC0; // type:f64 +D_800E66A8 = 0x800E6CC8; // type:f64 +D_800E66B0 = 0x800E6CD0; // type:f64 +D_800E66B8 = 0x800E6CD8; // type:f64 +D_800E66C0 = 0x800E6CE0; // type:f32 +D_800E66C8 = 0x800E6CE8; // type:f64 +D_800E66F8 = 0x800E6D18; // type:f64 +D_800E6700 = 0x800E6D20; // type:f64 +D_800E6788 = 0x800E6DA8; +D_800E6790 = 0x800E6DB0; +D_800E6798 = 0x800E6DB8; +D_800E6808 = 0x800E6E28; // type:f64 +D_800E6820 = 0x800E6E40; // type:f64 +D_800E6838 = 0x800E6E58; // type:f64 +D_800E6840 = 0x800E6E60; // type:f64 +D_800E6848 = 0x800E6E68; // type:f64 +D_800E68C4 = 0x800E6EE4; +D_800E68C8 = 0x800E6EE8; +D_800E6910 = 0x800E6F30; // type:f64 +D_800E6918 = 0x800E6F38; // type:f64 +D_800E6920 = 0x800E6F40; // type:f64 +D_800E6930 = 0x800E6F50; // type:f64 +D_800E6938 = 0x800E6F58; // type:f64 +D_800E69B8 = 0x800E6FD8; // type:f64 +D_800E69C0 = 0x800E6FE0; // type:f64 +D_800E69C8 = 0x800E6FE8; // type:f64 +D_800E69D0 = 0x800E6FF0; // type:f64 +D_800E69D8 = 0x800E6FF8; // type:f64 +D_800E69E0 = 0x800E7000; // type:f64 +D_800E69E8 = 0x800E7008; // type:f32 +D_800E69F0 = 0x800E7010; // type:f64 +D_800E69F8 = 0x800E7018; // type:f64 +D_800E6A00 = 0x800E7024; // type:f32 +D_800E6A04 = 0x800E7028; // type:s32 size:0x8 padding +D_800E6B00 = 0x800E7120; // type:f64 +D_800E6B08 = 0x800E7128; // type:f64 +D_800E6B10 = 0x800E7130; // type:f64 +D_800E6B20 = 0x800E7140; +D_800E6B4C = 0x800E716C; +D_800E6B64 = 0x800E7184; +D_800E6B84 = 0x800E71A4; +D_800E6BC0 = 0x800E71E0; +D_800E6BE0 = 0x800E7200; +D_800E6C20 = 0x800E7240; +D_800E6F00 = 0x800E7520; +D_800E6F44 = 0x800E7564; +D_800E709C = 0x800E76BC; +D_800E7134 = 0x800E7754; //type:asciz +D_800E73A8 = 0x800E79C8; +D_800E73D0 = 0x800E79F0; +D_800E7400 = 0x800E7A20; +D_800E7438 = 0x800E7A58; +D_800E7590 = 0x800E7BB0; // type:asciz +D_800E75B4 = 0x800E7BD4; // type:asciz +D_800E75BC = 0x800E7BDC; // type:asciz +D_800E75C8 = 0x800E7BE8; // type:asciz +D_800E75D8 = 0x800E7BF8; // type:asciz +D_800E75DC = 0x800E7BFC; // type:asciz +D_800E75E0 = 0x800E7C00; // type:asciz +D_800E75F4 = 0x800E7C14; // type:asciz +D_800E7604 = 0x800E7C24; // type:asciz +D_800E7614 = 0x800E7C34; // type:asciz +D_800E7620 = 0x800E7C40; // type:asciz +D_800E762C = 0x800E7C4C; // type:asciz +D_800E7800 = 0x800E7E20; // type:asciz "(Audio task)" +D_800E7810 = 0x800E7E30; // type:asciz "(Game task)" +D_800E781C = 0x800E7E3C; // type:asciz "(DI task)\n" +D_800E7828 = 0x800E7E48; // type:asciz "(DI benchmark test)\n" +D_800E7840 = 0x800E7E60; // type:asciz "(Unknown task type %d)\n" +D_800E7858 = 0x800E7E78; // type:asciz "\nRCP TASK INFO\n" +D_800E7868 = 0x800E7E88; // type:asciz "-------------\n" +D_800E7878 = 0x800E7E98; // type:asciz "\ttype\t\t= %u\n" +D_800E7888 = 0x800E7EA8; // type:asciz "\tflags\t\t= %u\n" +D_800E7898 = 0x800E7EB8; // type:asciz "\tucode_boot\t\t= %p\n" +D_800E78AC = 0x800E7ECC; // type:asciz "\tucode_boot_size\t\t= %u\n" +D_800E78C4 = 0x800E7EE4; // type:asciz "\tucode\t\t= %p\n" +D_800E78D4 = 0x800E7EF4; // type:asciz "\tucode_size\t\t= %u\n" +D_800E78E8 = 0x800E7F08; // type:asciz "\tucode_data\t\t= %p\n" +D_800E78FC = 0x800E7F1C; // type:asciz "\tucode_data_size\t\t= %u\n" +D_800E7914 = 0x800E7F34; // type:asciz "\toutput_buff\t\t= %p\n" +D_800E7928 = 0x800E7F48; // type:asciz "\toutput_buff_size\t\t= %u\n" +D_800E7944 = 0x800E7F64; // type:asciz "\tdata_ptr\t\t= %p\n" +D_800E7958 = 0x800E7F78; // type:asciz "\tdata_size\t\t= %u\n" +D_800E7B30 = 0x800E8150; // type:asciz +D_800E7B60 = 0x800E8180; // type:asciz +D_800E7B88 = 0x800E81A8; // type:asciz +D_800E7BA8 = 0x800E81C8; // type:asciz +D_800E7BC4 = 0x800E81E4; // type:asciz +D_800E7BFC = 0x800E821C; // type:asciz +D_800E7C10 = 0x800E8230; // type:asciz +D_800E7C30 = 0x800E8250; // type:asciz +D_800E7C50 = 0x800E8270; // type:asciz +jpt_800E84F4 = 0x800E8B14; +jpt_800E8508 = 0x800E8B28; +D_800E8520 = 0x800E8B40; +jpt_800E8574 = 0x800E8B94; +D_800E8640 = 0x800E8C60; // type:asciz defined:True +D_800E8648 = 0x800E8C68; // type:asciz defined:True +D_800E8650 = 0x800E8C70; // type:asciz defined:True +D_800E8658 = 0x800E8C78; // type:asciz defined:True +D_800E8664 = 0x800E8C84; // type:asciz defined:True +D_800E8668 = 0x800E8C88; // type:asciz defined:True +D_800E8670 = 0x800E8C90; // type:asciz defined:True +D_800E867C = 0x800E8C9C; // type:asciz defined:True +D_800E8680 = 0x800E8CA0; // type:asciz defined:True +D_800E8688 = 0x800E8CA8; +D_800E8690 = 0x800E8CB0; +D_800E86A8 = 0x800E8CB8; // type:f64 function_owner:func_8009F034 +D_800E86B0 = 0x800E8CC0; // type:f64 function_owner:func_8009F034 +D_800E86B8 = 0x800E8CC8; // type:f32 function_owner:func_8009F034 +D_800E86BC = 0x800E8CCC; // type:f32 function_owner:func_8009F034 +D_800E86C0 = 0x800E8CD0; // type:f32 function_owner:func_8009F034 +D_800E86C8 = 0x800E8CD8; // type:f64 function_owner:func_8009F034 +D_800E86D0 = 0x800E8CE0; // type:f64 function_owner:func_8009F034 +D_800E86D8 = 0x800E8CE8; // type:f64 function_owner:func_8009F034 +D_800E86E0 = 0x800E8CF0; // type:f64 function_owner:func_8009F034 +D_800E86E8 = 0x800E8CF8; // type:f64 function_owner:func_8009F034 +D_800E86F0 = 0x800E8D00; // type:f64 function_owner:func_8009F034 +D_800E8718 = 0x800E8D28; +D_800E871C = 0x800E8D2C; // type:s32 padding +D_800E8720 = 0x800E8D30; +D_800E8728 = 0x800E8D38; +D_800E8730 = 0x800E8D40; // type:f64 +D_800E8738 = 0x800E8D48; // type:f64 +D_800E8758 = 0x800E8D68; // type:f64 +D_800E8760 = 0x800E8D70; // type:f64 +D_800E87A0 = 0x800E8DB0; // type:f64 force_migration:True +D_800E87A8 = 0x800E8DB8; // type:f32 force_migration:True +D_800E87B0 = 0x800E8DC0; // force_migration:True type:f64 size:8 +D_800E87B8 = 0x800E8DC8; // force_migration:True type:f64 size:8 +D_800E87D8 = 0x800E8DE8; +D_800E87E0 = 0x800E8DF0; // type:f64 +D_800E8840 = 0x800E8E50; +D_800E887C = 0x800E8E8C; +D_800E88BC = 0x800E8ECC; +D_800E88F8 = 0x800E8F08; +D_800E891C = 0x800E8F2C; +D_800E8940 = 0x800E8F50; +D_800E8964 = 0x800E8F74; +D_800E8984 = 0x800E8F94; +D_800E89A4 = 0x800E8FB4; +D_800E89D8 = 0x800E8FE8; +D_800E8A18 = 0x800E9028; +D_800E8A40 = 0x800E9050; +D_800E8A68 = 0x800E9078; +D_800E8A90 = 0x800E90A0; +D_800E8AB4 = 0x800E90C4; +D_800E8AD8 = 0x800E90E8; +D_800E8B10 = 0x800E9120; +D_800E8B44 = 0x800E9154; +gLowerCase = 0x800E9210; // type:asciz force_not_migration:true defined:true +gUpperCase = 0x800E9238; // type:asciz force_not_migration:true defined:true +D_800E8C50 = 0x800E9260; // type:asciz force_not_migration:true defined:true +D_800E8C54 = 0x800E9264; // type:asciz force_not_migration:true defined:true +D_800E8C5C = 0x800E926C; // type:asciz force_not_migration:true defined:true +jpt_800E8CAC = 0x800E92BC; +jpt_800E8CF0 = 0x800E9300; +jpt_800E8D88 = 0x800E9398; +jpt_800E8E58 = 0x800E9468; +D_800E8E70 = 0x800E9480; // type:asciz force_not_migration:true defined:true +D_800E8EA0 = 0x800E94B0; // type:asciz force_not_migration:true defined:true +D_800E9160 = 0x800E9770; +D_800E91AC = 0x800E97BC; +D_800E91E4 = 0x800E97F4; +D_800E9228 = 0x800E9838; +D_800E9260 = 0x800E9870; +D_800E92A0 = 0x800E98B0; +D_800E92A4 = 0x800E98B4; +gzip_border = 0x800E99D0; +gzip_cplens = 0x800E99E4; +gzip_cplext = 0x800E9A22; +gzip_cpdist = 0x800E9A42; +gzip_cpdext = 0x800E9A7E; +gzip_mask_bits = 0x800E9A9C; +D_800E94AE = 0x800E9ABE; +__osRcpImTable = 0x800E9AE0; +__osIntOffTable = 0x800E9C80; +__osIntTable = 0x800E9CA0; // size:0x24 +length_str = 0x800E9CD0; // type:asciz "hlL" defined:true +flags_str = 0x800E9CD4; // type:asciz " +-#0" defined:true +flags_arr = 0x800E9CDC; // type:u32 size:0x18 defined:true +P_cosf = 0x800E9DD0; // type:Du size:0x28 defined:true +rpi_cosf = 0x800E9DF8; // type:Du size:0x8 defined:true +pihi_cosf = 0x800E9E00; // type:Du size:0x8 defined:true +pilo_cosf = 0x800E9E08; // type:Du size:0x8 defined:true +zero_cosf = 0x800E9E10; // type:Fu size:0x8 defined:true +P_sinf = 0x800E9E20; // type:Du size:0x28 defined:true +rpi_sinf = 0x800E9E48; // type:Du size:0x8 defined:true +pihi_sinf = 0x800E9E50; // type:Du size:0x8 defined:true +pilo_sinf = 0x800E9E58; // type:Du size:0x8 defined:true +zero_sinf = 0x800E9E60; // type:Fu size:0x8 defined:true +pows = 0x800E9E70; // type:f64 size:0x48 defined:true +Ldtob_NaN = 0x800E9EB8; // type:asciz force_not_migration:true defined:true +Ldtob_Inf = 0x800E9EBC; // type:asciz force_not_migration:true defined:true +_Genld_0_string = 0x800E9EC0; // type:asciz force_not_migration:true defined:true +_Ldtob_1e8 = 0x800E9EC8; // type:f64 +__libm_qnan_f = 0x800E9ED0; // type:f64 +aspMainDataStart = 0x800E9EE0; // size:0x2D0 +rspF3DDKRDataDramStart = 0x800EA1B0; // size:0x800 +rspF3DDKRDataFifoStart = 0x800EA9B0; // size:0x800 +rspF3DDKRDataXbusStart = 0x800EB1B0; // size:0x800 +rspUnknown2DataStart = 0x800EB9B0; // size:0xBC0 +gAudioHeapStack = 0x800EC570; // size:0x29D88 +gALHeap = 0x801162F8; +gSequenceTable = 0x80116308; +gMusicSequenceData = 0x8011630C; +gJingleSequenceData = 0x80116310; +gCurrentSequenceID = 0x80116314; +gCurrentJingleID = 0x80116315; +gMusicTempo = 0x80116318; +gSeqLengthTable = 0x8011631C; +gSequenceBank = 0x80116320; +gSoundBank = 0x80116324; +gSoundTable = 0x80116328; +gSeqSoundTable = 0x8011632C; +gSoundCount = 0x80116330; +gSeqSoundCount = 0x80116334; +gSoundTableSize = 0x80116338; +gSeqSoundTableSize = 0x8011633C; +sMusicTempo = 0x80116340; +gMusicAnimationTick = 0x80116344; +sMusicDelayTimer = 0x80116348; +sMusicDelayLength = 0x8011634C; +gMusicPlaying = 0x80116350; +gJinglePlaying = 0x80116351; +gDelayedSounds = 0x80116358; +gMusicSequence = 0x80116398; +gJingleSequence = 0x80116490; +gSkipResetChannels = 0x80116588; +gAudioVolumeSetting = 0x80116589; +gDynamicMusicChannelMask = 0x8011658C; +gGlobalSoundMask = 0x80116590; +gSpatialSoundMask = 0x80116594; +gRacerSoundMask = 0x80116598; +gAudioSched = 0x801165A0; +gAudioHeap = 0x801165A4; +__am = 0x801165A8; +dmaState = 0x80119840; +dmaBuffs = 0x80119850; +minFrameSize = 0x80119C38; +frameSize = 0x80119C3C; +maxFrameSize = 0x80119C40; +gAudioCmdLen = 0x80119C44; +gAntiPiracyCRCStart = 0x80119C48; +audDMAIOMesgBuf = 0x80119C50; +audDMAMessageQ = 0x8011A100; +audDMAMessageBuf = 0x8011A118; +gAlSndPlayer = 0x8011A1E0; +gSoundChannelVolume = 0x8011A238; +D_80119C30 = 0x8011A240; +gRacerSound = 0x8011A248; +gSoundRacerObj = 0x8011A24C; +D_80119C40 = 0x8011A250; +gSoundMaskHeapUsed = 0x8011A254; +gSoundMaskHeap = 0x8011A258; +gFreeMasks = 0x8011A25C; +gSoundMaskHeapFree = 0x8011A260; +D_80119C54 = 0x8011A264; +D_80119C58 = 0x8011A268; +D_80119C5C = 0x8011A26C; +D_80119C60 = 0x8011A270; +D_8011A6D8 = 0x8011ACE8; +D_8011A6DC = 0x8011ACEC; +D_8011A6E0 = 0x8011ACF0; +gAudioLinesOff = 0x8011B228; +D_8011AC1C = 0x8011B22C; +D_8011AC20 = 0x8011B230; // size:0x100 +D_8011AD20 = 0x8011B330; +D_8011AD21 = 0x8011B331; +D_8011AD22 = 0x8011B332; // size:0x2 +D_8011AD24 = 0x8011B334; // size:0x2 +D_8011AD26 = 0x8011B336; +D_8011AD28 = 0x8011B338; +D_8011AD2C = 0x8011B33C; +gCurrentLightIntensity = 0x8011B340; +gGhostObjPlayer = 0x8011B344; +gTimeTrialContPak = 0x8011B348; +D_8011AD3C = 0x8011B34C; +D_8011AD3D = 0x8011B34D; +D_8011AD3E = 0x8011B34E; +gTransformObject = 0x8011B350; +gTransformTimer = 0x8011B354; +gOverworldVehicle = 0x8011B355; +gTransformPosX = 0x8011B356; +gTransformPosY = 0x8011B358; +gTransformPosZ = 0x8011B35A; +gTransformAngleY = 0x8011B35C; +gRaceEndTimer = 0x8011B35E; +gRaceEndStage = 0x8011B360; +gNumRacersSaved = 0x8011B361; +unused_D_8011AD52 = 0x8011B362; +D_8011AD53 = 0x8011B363; +D_8011AD54 = 0x8011B364; +gSpawnObjectHeap = 0x8011B368; +D_8011AD5C = 0x8011B36C; +D_8011AD60 = 0x8011B370; +gAssetsObjectHeadersTable = 0x8011B374; +gAssetsObjectHeadersTableLength = 0x8011B378; +gAssetsMiscSection = 0x8011B37C; +gAssetsMiscTable = 0x8011B380; +D_8011AD74 = 0x8011B384; +D_8011AD78 = 0x8011B388; +gAssetsMiscTableLength = 0x8011B3B0; +D_8011ADA4 = 0x8011B3B4; +gObjectUpdateRateF = 0x8011B3B8; +gPathUpdateOff = 0x8011B3BC; +gEventCountdown = 0x8011B3C0; +D_8011ADB4 = 0x8011B3C4; +gEventStartTimer = 0x8011B3C8; +D_8011ADBC = 0x8011B3CC; +D_8011ADC0 = 0x8011B3D0; +gFirstTimeFinish = 0x8011B3D4; +D_8011ADC5 = 0x8011B3D5; +gBalloonCutsceneTimer = 0x8011B3D8; +D_8011ADCC = 0x8011B3DC; +gObjectOffsetY = 0x8011B3E0; +D_8011ADD4 = 0x8011B3E4; +gOverrideDoors = 0x8011B3E5; +D_8011ADD8 = 0x8011B3E8; +D_8011AE00 = 0x8011B410; +D_8011AE01 = 0x8011B411; +gIsNonCarRacers = 0x8011B412; +gIsSilverCoinRace = 0x8011B413; +D_8011AE08 = 0x8011B418; +gLoadedObjectHeaders = 0x8011B458; +gObjectHeaderReferences = 0x8011B45C; +D_8011AE50 = 0x8011B460; +D_8011AE54 = 0x8011B464; +gObjPtrList = 0x8011B468; +gObjectCount = 0x8011B46C; +gObjectListStart = 0x8011B470; +gParticleCount = 0x8011B474; +gObjectMemoryPool = 0x8011B478; +D_8011AE6C = 0x8011B47C; +D_8011AE70 = 0x8011B480; +D_8011AE74 = 0x8011B484; +D_8011AE78 = 0x8011B488; +gCutsceneID = 0x8011B48A; +D_8011AE7C = 0x8011B48C; +D_8011AE7E = 0x8011B48E; +gTTGhostTimeToBeat = 0x8011B490; +gPrevTimeTrialVehicle = 0x8011B492; +gMapDefaultVehicle = 0x8011B494; +D_8011AE88 = 0x8011B498; +gObjectCurrDisplayList = 0x8011B49C; +gObjectCurrMatrix = 0x8011B4A0; +gObjectCurrVertexList = 0x8011B4A4; +D_8011AE98 = 0x8011B4A8; +D_8011AEA0 = 0x8011B4B0; +D_8011AEA8 = 0x8011B4B8; +D_8011AEB0 = 0x8011B4C0; +gAssetsLvlObjTranslationTable = 0x8011B4C8; +gAssetsLvlObjTranslationTableLength = 0x8011B4CC; +D_8011AEC0 = 0x8011B4D0; +gParticlePtrList = 0x8011B4D4; +gFreeListCount = 0x8011B4D8; +gTrackCheckpoints = 0x8011B4DC; +gNumberOfCheckpoints = 0x8011B4E0; +D_8011AED4 = 0x8011B4E4; +gTajChallengeType = 0x8011B4E8; +gCameraObjList = 0x8011B4EC; +gCameraObjCount = 0x8011B4F0; +gRacers = 0x8011B4F4; +gRacersByPosition = 0x8011B4F8; +gRacersByPort = 0x8011B4FC; +gNumRacers = 0x8011B500; +gTimeTrialEnabled = 0x8011B504; +gIsTimeTrial = 0x8011B505; +gIsTajChallenge = 0x8011B506; +gTajRaceInit = 0x8011B507; +gChallengePrevMusic = 0x8011B508; +gChallengePrevInstruments = 0x8011B50C; +D_8011AF00 = 0x8011B510; +gAINodes = 0x8011B514; +gAINodeTail = 0x8011B518; +gInitAINodes = 0x8011B520; +D_8011AF14 = 0x8011B524; +gElevationHeights = 0x8011B528; +D_8011AF2C = 0x8011B53C; +gWorldShading = 0x8011B540; +D_8011AF34 = 0x8011B544; +D_8011AF38 = 0x8011B548; +D_8011AF60 = 0x8011B570; +D_8011AF68 = 0x8011B578; +gEnvmapPos = 0x8011B5F8; +D_8011AFEE = 0x8011B5FE; +D_8011AFF0 = 0x8011B600; +D_8011AFF4 = 0x8011B604; +D_8011AFF8 = 0x8011B608; +D_8011AFFC = 0x8011B60C; +D_8011B000 = 0x8011B610; +D_8011B004 = 0x8011B614; +D_8011B008 = 0x8011B618; +D_8011B010 = 0x8011B620; +D_8011B020 = 0x8011B630; +D_8011B048 = 0x8011B658; +D_8011B058 = 0x8011B668; +D_8011B068 = 0x8011B678; +D_8011B078 = 0x8011B688; +D_8011B07B = 0x8011B68B; +D_8011B080 = 0x8011B690; +gSceneCurrDisplayList = 0x8011B6B0; +gSceneCurrMatrix = 0x8011B6B4; +gSceneCurrVertexList = 0x8011B6B8; +gSceneCurrTriList = 0x8011B6BC; +gSceneActiveCamera = 0x8011B6C0; +gSceneCurrentPlayerID = 0x8011B6C4; +gSkydomeSegment = 0x8011B6C8; +gIsNearCurrBBox = 0x8011B6CC; +D_8011B0C0 = 0x8011B6D0; +gDisableShadows = 0x8011B6D4; +gShadowHeapFlip = 0x8011B6D8; +D_8011B0CC = 0x8011B6DC; +gShadowIndex = 0x8011B6E0; +gSceneStartSegment = 0x8011B6E4; +D_8011B0D8 = 0x8011B6E8; +gSceneRenderSkyDome = 0x8011B6EC; +gDrawLevelSegments = 0x8011B6F0; +D_8011B0E1 = 0x8011B6F1; +D_8011B0E2 = 0x8011B6F2; +D_8011B0E3 = 0x8011B6F3; +D_8011B0E4 = 0x8011B6F4; +D_8011B0E8 = 0x8011B6F8; +D_8011B0EC = 0x8011B6FC; +D_8011B0F0 = 0x8011B700; +D_8011B0F4 = 0x8011B704; +D_8011B0F8 = 0x8011B708; +gAntiAliasing = 0x8011B70C; +D_8011B100 = 0x8011B710; +D_8011B104 = 0x8011B714; +D_8011B108 = 0x8011B718; +D_8011B10C = 0x8011B71C; +D_8011B110 = 0x8011B720; +D_8011B114 = 0x8011B724; +D_8011B118 = 0x8011B728; +D_8011B11C = 0x8011B72C; +D_8011B120 = 0x8011B730; +D_8011B320 = 0x8011B930; // size:0x10 +D_8011B330 = 0x8011B940; +D_8011C230 = 0x8011C840; +D_8011C234 = 0x8011C844; +D_8011C238 = 0x8011C848; +D_8011C3B8 = 0x8011C9C8; +D_8011C8B8 = 0x8011CEC8; +D_8011D0B8 = 0x8011D6C8; +D_8011D0BC = 0x8011D6CC; +D_8011D0C0 = 0x8011D6D0; +D_8011D0C4 = 0x8011D6D4; +D_8011D0C8 = 0x8011D6D8; +D_8011D0CC = 0x8011D6DC; +D_8011D0CE = 0x8011D6DE; +D_8011D0D0 = 0x8011D6E0; +gShadowOpacity = 0x8011D6E4; +D_8011D0D8 = 0x8011D6E8; +D_8011D0DC = 0x8011D6EC; +D_8011D0E0 = 0x8011D6F0; +D_8011D0E4 = 0x8011D6F4; +D_8011D0E8 = 0x8011D6F8; +D_8011D0EC = 0x8011D6FC; +D_8011D0F0 = 0x8011D700; +D_8011D0F4 = 0x8011D704; +D_8011D0F8 = 0x8011D708; +D_8011D128 = 0x8011D738; +D_8011D158 = 0x8011D768; +D_8011D164 = 0x8011D774; +D_8011D168 = 0x8011D778; +gTrackWaves = 0x8011D8C8; +D_8011D308 = 0x8011D918; +gTrackModelHeap = 0x8011D91C; +gLevelModelTable = 0x8011D920; +gPrevCameraX = 0x8011D924; +gPrevCameraY = 0x8011D928; +gPrevCameraZ = 0x8011D92C; +gShadowHeapTris = 0x8011D930; +gCurrentShadowTris = 0x8011D940; +D_8011D334 = 0x8011D944; +gShadowHeapVerts = 0x8011D948; +gCurrentShadowVerts = 0x8011D958; +D_8011D34C = 0x8011D95C; +gShadowHeapTextures = 0x8011D960; +gCurrentShadowTexture = 0x8011D970; +D_8011D364 = 0x8011D974; +D_8011D368 = 0x8011D978; +D_8011D36C = 0x8011D97C; +D_8011D370 = 0x8011D980; +D_8011D374 = 0x8011D984; +D_8011D378 = 0x8011D988; +gScenePlayerViewports = 0x8011D98C; +gCurrBBoxDistanceToCamera = 0x8011D990; +gWaveBlockCount = 0x8011D994; +gFogData = 0x8011D998; +gScenePerspectivePos = 0x8011DA78; +D_8011D474 = 0x8011DA84; +D_8011D478 = 0x8011DA88; +D_8011D47C = 0x8011DA8C; +D_8011D480 = 0x8011DA90; +D_8011D488 = 0x8011DA98; +D_8011D48C = 0x8011DA9C; +D_8011D490 = 0x8011DAA0; +D_8011D498 = 0x8011DAA8; +D_8011D49C = 0x8011DAAC; +D_8011D49E = 0x8011DAAE; +D_8011D4A0 = 0x8011DAB0; +D_8011D4A4 = 0x8011DAB4; +D_8011D4A8 = 0x8011DAB8; +D_8011D4AC = 0x8011DABC; +D_8011D4B0 = 0x8011DAC0; +D_8011D4B4 = 0x8011DAC4; +D_8011D4B6 = 0x8011DAC6; +D_8011D4B8 = 0x8011DAC8; +D_8011D4BA = 0x8011DACA; +D_8011D4BC = 0x8011DACC; +gLightDistance = 0x8011DAD0; +gLightDiffX = 0x8011DAD4; +gLightDiffY = 0x8011DAD8; +gLightDiffZ = 0x8011DADC; +gNPCPosY = 0x8011DAE0; +gTajSoundMask = 0x8011DAE4; +gTTSoundMask = 0x8011DAE8; +gRocketSoundTimer = 0x8011DAEC; +gTajDialogueChoice = 0x8011DAF0; +gTajSoundID = 0x8011DAF2; +gCurrentCourseHeight = 0x8011DB00; +gCurrentRacerWaterPos = 0x8011DB08; +gRacerWaveType = 0x8011DB14; +gCameraObject = 0x8011DB18; +D_8011D50C = 0x8011DB1C; +gCurrentRacerTransform = 0x8011DB20; +gCurrentRacerInput = 0x8011DB38; +gCurrentButtonsPressed = 0x8011DB3C; +gCurrentButtonsReleased = 0x8011DB40; +gCurrentStickX = 0x8011DB44; +gCurrentStickY = 0x8011DB48; +unused_8011D53C = 0x8011DB4C; +gRaceStartTimer = 0x8011DB50; +D_8011D544 = 0x8011DB54; +D_8011D548 = 0x8011DB58; +D_8011D54C = 0x8011DB5C; +D_8011D550 = 0x8011DB60; +D_8011D552 = 0x8011DB62; +gCurrentCarSteerVel = 0x8011DB64; +D_8011D558 = 0x8011DB68; +gCurrentPlayerIndex = 0x8011DB6C; +D_8011D560 = 0x8011DB70; +gCurrentRacerMiscAssetPtr = 0x8011DB74; +D_8011D568 = 0x8011DB78; +gCurrentRacerWeightStat = 0x8011DB7C; +gCurrentRacerHandlingStat = 0x8011DB80; +gCurrentRacerUnusedMiscAsset11 = 0x8011DB84; +gRacerMagnetVelX = 0x8011DB88; +gRacerMagnetVelZ = 0x8011DB8C; +D_8011D580 = 0x8011DB90; +gCurrentSurfaceType = 0x8011DB91; +gTajInteractStatus = 0x8011DB92; +gRacerDialogueCamera = 0x8011DB93; +gRacerInputBlocked = 0x8011DB94; +gStartBoostTime = 0x8011DB95; +gDialogueCameraAngle = 0x8011DB96; +gEggChallengeFlags = 0x8011DB98; // size:0x4 +D_8011D58C = 0x8011DB9C; +gGhostData = 0x8011DBA0; +gCurrentGhostIndex = 0x8011DBAC; +gPrevGhostNodeIndex = 0x8011DBAD; +gGhostNodeDelay = 0x8011DBAE; +gGhostNodeCount = 0x8011DBB0; +gGhostNodeFull = 0x8011DBB8; +gGhostMapID = 0x8011DBBC; +gRacerWaveCount = 0x8011DBBE; +D_8011D5AF = 0x8011DBBF; +gRacerCurrentWave = 0x8011DBC0; +D_8011D5B4 = 0x8011DBC4; +D_8011D5B8 = 0x8011DBC8; +gTrickyRacerPeakHeight = 0x8011DBD0; +gTrickyCutsceneTimer = 0x8011DBD4; +gBossSoundIDOffset = 0x8011DBD8; +gTrickyStartBoost = 0x8011DBDC; +gBlueyCutsceneTimer = 0x8011DBE0; +gBlueyStartBoost = 0x8011DBE1; +gSmokeyCutsceneTimer = 0x8011DBF0; +gSmokeyStartBoost = 0x8011DBF1; +gBubblerCutsceneTimer = 0x8011DC00; +gBubblerStartBoost = 0x8011DC01; +gWizpigCutsceneTimer = 0x8011DC10; +gWizpigStartBoost = 0x8011DC11; +gRocketCutsceneTimer = 0x8011DC20; +gRocketStartBoost = 0x8011DC21; +gObjectModelTable = 0x8011DC30; +D_8011D624 = 0x8011DC34; +D_8011D628 = 0x8011DC38; +D_8011D62C = 0x8011DC3C; +gNumModelIDs = 0x8011DC40; +D_8011D634 = 0x8011DC44; +gAnimationTable = 0x8011DC48; +gObjectAnimationTable = 0x8011DC4C; +D_8011D640 = 0x8011DC50; +D_8011D644 = 0x8011DC54; +gThread1Stack = 0x8011DC60; +gThread3Stack = 0x8011DD68; +gThread1 = 0x8011FD70; +gThread3 = 0x8011FF20; +entrypointThreadStack = 0x801200D0; +gCameraSegment = 0x801210D0; +gNumberOfViewports = 0x801212F0; +gActiveCameraID = 0x801212F4; +gViewportCap = 0x801212F8; +D_80120CEC = 0x801212FC; +gCameraTransform = 0x80121300; +gMatrixType = 0x80121318; +gSpriteAnimOff = 0x8012131C; +gCurCamFOV = 0x80121320; +gCutsceneCameraActive = 0x80121324; +gAdjustViewportHeight = 0x80121325; +D_80120D18 = 0x80121328; +gModelMatrixStackPos = 0x8012132C; +gCameraMatrixPos = 0x80121330; +D_80120D24 = 0x80121334; +gModelMatrixViewX = 0x80121338; +gModelMatrixViewY = 0x80121350; +gModelMatrixViewZ = 0x80121368; +perspNorm = 0x8012137C; +gModelMatrixF = 0x80121380; +gModelMatrixS = 0x80121398; +D_80120DA0 = 0x801213B0; +gPerspectiveMatrixF = 0x801214F0; +gViewMatrixF = 0x80121530; +gCameraMatrixF = 0x80121570; +gProjectionMatrixF = 0x801215B0; +gProjectionMatrixS = 0x801215F0; +gUnusedProjectionMatrixS = 0x80121630; +gCurrentModelMatrixF = 0x80121670; +gCurrentModelMatrixS = 0x801216B0; +sSIMesgQueue = 0x801216F0; +sSIMesgBuf = 0x80121708; +gSIMesg = 0x8012170C; +gControllerStatus = 0x80121710; +gControllerCurrData = 0x80121720; +gControllerPrevData = 0x80121738; +gControllerButtonsPressed = 0x80121750; +gControllerButtonsReleased = 0x80121758; +sPlayerID = 0x80121760; +gTempAssetTable = 0x80121770; +gMapId = 0x80121774; +gCurrentLevelHeader = 0x80121778; +gLevelNames = 0x8012177C; +gNumberOfLevelHeaders = 0x80121780; +gNumberOfWorlds = 0x80121784; +D_80121178 = 0x80121788; +gGlobalLevelTable = 0x8012178C; +gRaceTypeCountTable = 0x80121790; +gAIBehaviourTable = 0x801217D0; +gLevelPropertyStack = 0x801217D8; +gDisplayLists = 0x80121800; +gCurrDisplayList = 0x80121808; +D_801211FC = 0x8012180C; +gMatrixHeap = 0x80121810; +gGameCurrMatrix = 0x80121818; +gVertexHeap = 0x80121820; +gGameCurrVertexList = 0x80121828; +gTriangleHeap = 0x80121830; +gGameCurrTriList = 0x80121838; +D_80121230 = 0x80121840; +gLevelSettings = 0x80121860; +gMainSched = 0x80121870; +gSchedStack = 0x80121AF8; +gSPTaskNum = 0x80123AF8; +gGameMode = 0x80123AFC; +gRenderMenu = 0x80123B00; +gPlayableMapId = 0x80123B04; +D_801234F8 = 0x80123B08; +D_801234FC = 0x80123B0C; +gGameNumPlayers = 0x80123B10; +gGameCurrentEntrance = 0x80123B14; +gGameCurrentCutscene = 0x80123B18; +gPrevPlayerCount = 0x80123B1C; +gSettingsPtr = 0x80123B20; +gIsLoading = 0x80123B24; +gIsPaused = 0x80123B25; +gPostRaceViewPort = 0x80123B26; +gLevelDefaultVehicleID = 0x80123B28; +gMenuVehicleID = 0x80123B2C; +sBootDelayTimer = 0x80123B30; +gLevelLoadType = 0x80123B34; +gNextMap = 0x80123B35; +D_80123526 = 0x80123B36; +gCurrNumF3dCmdsPerPlayer = 0x80123B38; +gCurrNumHudMatPerPlayer = 0x80123B3C; +gCurrNumHudTrisPerPlayer = 0x80123B40; +gCurrNumHudVertsPerPlayer = 0x80123B44; +gNMISched = 0x80123B48; +gNMIOSMesg = 0x80123B54; +gNMIMesgQueue = 0x80123B58; +gNMIMesgBuf = 0x80123B70; +D_80123568 = 0x80123B78; +gMemoryPools = 0x80123B90; +gNumberOfMemoryPools = 0x80123BD0; +D_801235C4 = 0x80123BD4; +gFreeQueue = 0x80123BD8; +gFreeQueueCount = 0x801243D8; +gFreeQueueTimer = 0x801243DC; +_MotorStopData = 0x801243E0; +_MotorStartData = 0x801244E0; +_motorstopbuf = 0x801245E0; +_motorstartbuf = 0x80124600; +sControllerMesgQueue = 0x80124620; +D_80124014 = 0x80124624; +pfs = 0x80124628; +gRumble = 0x801247C8; +sRumbleTable = 0x801247F0; +gRumbleOn = 0x801247F4; +gRumblePresent = 0x801247F5; +gRumbleIdle = 0x801247F6; +gRumbleActive = 0x801247F7; +gRumbleDetectionTimer = 0x801247F8; +D_801241EC = 0x801247FC; +D_801241F0 = 0x80124800; +D_801241F4 = 0x80124804; +gAssetsDmaIoMesg = 0x80124810; +gDmaMesg = 0x80124828; +gDmaMesgQueue = 0x80124830; +gPIMesgBuf = 0x80124848; +gPIMesgQueue = 0x80124888; +gAssetsLookupTableMesgBuf = 0x801248A0; // NEW BSS +gDmaMesgQueueV2 = 0x801248A8; // NEW BSS +gAssetsLookupTable = 0x801248C0; +gDramStack = 0x801248D0; +gGfxTaskOutputBuffer = 0x80124CD0; +gRCPMesgQueue = 0x801264D0; +gRCPMesgBuf = 0x801264E8; +gUnusedMesgQueue = 0x801264F0; +gGfxTaskMesgQueue = 0x80126508; +gUnusedMesgBuf = 0x80126520; +gGfxTaskMesgBuf = 0x80126540; +gChequerBGColourR1 = 0x80126560; +gChequerBGColourG1 = 0x80126561; +gChequerBGColourB1 = 0x80126562; +gChequerBGColourA1 = 0x80126563; +gChequerBGColourR2 = 0x80126564; +gChequerBGColourG2 = 0x80126565; +gChequerBGColourB2 = 0x80126566; +gChequerBGColourA2 = 0x80126567; +gChequerBGWidth = 0x80126568; +gChequerBGHeight = 0x8012656C; +gGfxTaskBuf = 0x80126570; +gGfxTaskBuf2 = 0x80126650; +osScInterruptQ = 0x80126730; +gCurRSPTaskIsSet = 0x80126740; // type:s32 size:0x4 +gCurRDPTaskIsSet = 0x80126744; // type:s32 size:0x4 +gYieldTime = 0x80126748; // type:u64 size:0x8 +gRSPAudTaskFlushTime = 0x80126750; // type:u32 size:0x4 +gRSPAudTaskDoneTime = 0x80126754; // type:u32 size:0x4 +D_80126128 = 0x80126758; // type:s32 size:0x48 +gVideoRefreshRate = 0x801267A0; +gVideoAspectRatio = 0x801267A4; +gVideoHeightRatio = 0x801267A8; +D_8012617C = 0x801267AC; +gVideoMesgBuf = 0x801267B0; +gVideoMesgQueue = 0x801267D0; +gTvViMode = 0x80126890; +gVideoFbWidths = 0x801268E0; +gVideoFbHeights = 0x801268E8; +gVideoFramebuffers = 0x801268F0; +gVideoCurrFbIndex = 0x801268F8; +gVideoModeIndex = 0x801268FC; +sBlackScreenTimer = 0x80126900; +gVideoCurrFramebuffer = 0x80126904; +gVideoLastFramebuffer = 0x80126908; +gVideoCurrDepthBuffer = 0x8012690C; +gVideoLastDepthBuffer = 0x80126910; +D_801262E4 = 0x80126914; +D_801262E8 = 0x80126918; +gVideoDeltaCounter = 0x80126938; +gVideoDeltaTime = 0x80126939; +gVideoSched = 0x80126940; +gTextureAssetTable = 0x80126950; +gTextureCache = 0x80126958; +gCiPalettes = 0x8012695C; +gNumberOfLoadedTextures = 0x80126960; +D_80126334 = 0x80126964; +gTextureAssetID = 0x80126968; +gCiPalettesSize = 0x80126970; +D_80126344 = 0x80126974; +gSpriteOffsetTable = 0x80126978; +gSpriteCache = 0x8012697C; +gCurrentSprite = 0x80126980; +gSpriteTableNum = 0x80126984; +D_80126358 = 0x80126988; +D_8012635C = 0x8012698C; +D_80126360 = 0x80126990; +D_80126364 = 0x80126994; +D_80126368 = 0x80126998; +gTempTextureHeader = 0x8012699C; +D_80126370 = 0x801269A0; +gCurrentRenderFlags = 0x801269A4; +gBlockedRenderFlags = 0x801269A8; +gCurrentTextureHeader = 0x801269AC; +gUsingTexture = 0x801269B0; +gForceFlags = 0x801269B2; +gUsePrimColour = 0x801269B4; +gCourseInitials = 0x801269C0; +gFLapInitials = 0x801269C4; +gAdventureSaveGhost = 0x801269C8; + // has a diff from v1 - these next 4 vars have swapped order + +sMenuCurrDisplayList = 0x801269CC; +gPreviousMenuID = 0x801269D0; +sMenuCurrHudMat = 0x801269D4; +gTTSaveGhostPakErrorText = 0x801269D8; +sMenuCurrHudVerts = 0x801269DC; +sMenuCurrHudTris = 0x801269E0; +gMenuSelectedCharacter = 0x801269E4; +D_801263B8 = 0x801269E8; +gOptionBlinkTimer = 0x801269EC; +gMenuCurrentCharacter = 0x801269F0; +gIgnorePlayerInputTime = 0x801269F4; +sUnused_801263C8 = 0x801269F8; +gCurrCharacterSelectData = 0x801269FC; +gTrackmenuLoadedLevel = 0x80126A00; +gActivePlayersArray = 0x80126A04; // size:0x4 +gOpacityDecayTimer = 0x80126A08; +gCharselectStatus = 0x80126A0C; +gMenuStage = 0x80126A10; +D_801263E4 = 0x80126A14; +gPlayersCharacterArray = 0x80126A18; +gCharacterIdSlots = 0x80126A20; +gRankingsPoints = 0x80126A28; +gResultsPlayers = 0x80126A48; +gRankingsPlayers = 0x80126A50; +gResultsPlayerIDs = 0x80126A58; +gRankingsPlayerIDs = 0x80126A60; // size:0x8 +gRankingsPortraitIDs = 0x80126A68; // size:0x10 +sEepromSettings = 0x80126A78; // type:u64 +sBootScreenTimer = 0x80126A80; // size:0x4 +gControllersXAxisDelay = 0x80126A84; // size:0x4 +gControllersYAxisDelay = 0x80126A88; // size:0x4 +gControllersXAxisDirection = 0x80126A8C; // size:0x4 +gGameSelectElements = 0x80126A90; // size:0x4 +gControllersYAxisDirection = 0x80126A94; // size:0x4 +gControllersXAxis = 0x80126A98; // size:0x4 +gControllersYAxis = 0x80126A9C; // size:0x4 +sUnused_80126470 = 0x80126AA0; +gTrackSelectViewPortHalfX = 0x80126AA4; +gTrackSelectViewPortHalfY = 0x80126AA8; +gTrackSelectViewPortX = 0x80126AAC; +gTrackSelectViewportY = 0x80126AB0; +gFileCopy = 0x80126AB4; +gFileErase = 0x80126AB8; +gSaveFileIndex3 = 0x80126ABC; +gSaveFileIndex2 = 0x80126AC0; +gFileConfirm = 0x80126AC4; +gGhostMenuOption = 0x80126AC8; +D_8012649C = 0x80126ACC; +gSavefileInfo = 0x80126AD0; // size:0x30 +gCpakGhostData = 0x80126B00; // size:0x4 +gGhostMenuTotal = 0x80126B04; // size:0x4 +gDialogueSubmenu = 0x80126B08; // size:0x1 +gGhostLevelIDsPak = 0x80126B0C; // size:0x4 +D_801264E0 = 0x80126B10; +D_801264E1 = 0x80126B11; +sCurrentMenuID = 0x80126B12; +gGhostCharacterIDsPak = 0x80126B14; +D_801264E8 = 0x80126B18; +gGhostVehicleIDsPak = 0x80126B1C; +D_801264F0 = 0x80126B20; +gGhostChecksumIDsPak = 0x80126B28; +sDialogueOptionMax = 0x80126B34; +gGhostLevelIDsMenu = 0x80126B38; +gDialogueOptionYOffset = 0x80126B3E; +gGhostCharacterIDsMenu = 0x80126B40; // size:0x6 +gDialogueItemSelection = 0x80126B46; +gGhostVehicleIDsMenu = 0x80126B48; +gGhostChecksumIDsMenu = 0x80126B50; +gSavefileData = 0x80126B60; // size:0x10 +gGhostWorldIDs = 0x80126B70; // size:0x8 +gMultiplayerSelectedNumberOfRacersCopy = 0x80126B78; +gMenuAssets = 0x80126B80; // size:0x200 +gMenuAssetActive = 0x80126D80; +gTrackmenuType = 0x80126E00; +D_801267D4 = 0x80126E04; +gMenuButtons = 0x80126E08; // size:0x14 +gCinematicParams = 0x80126E1C; +buttonsPressed = 0x80126E20; +gCinematicPortraits = 0x80126E34; +gMenuSoundMasks = 0x80126E38; // size:0x10 +gMenuStickX = 0x80126E48; // size:0xA +gCinematicEnd = 0x80126E54; +sUnused_80126828 = 0x80126E58; +D_8012682C = 0x80126E5C; +gMenuStickY = 0x80126E60; // size:0xA +D_8012683A = 0x80126E6A; +gCinematicSkipA = 0x80126E6C; +gTrackTTSoundMask = 0x80126E70; +gCinematicSkipB = 0x80126E74; +D_80126848 = 0x80126E78; +gCinematicMusicChangeOff = 0x80126E7C; +D_80126850 = 0x80126E80; +gMenuElementScaleTimer = 0x80126E84; +gPostraceScaleIn = 0x80126E88; +gPostraceScaleMiddle = 0x80126E8C; +gPostraceScaleOut = 0x80126E90; +gTitleDemoIndex = 0x80126E94; +gTitleDemoTimer = 0x80126E98; +gTitleRevealTimer = 0x80126E9C; +gTitleAudioCounter = 0x80126EA0; +sTitleScreenDemoIds = 0x80126EA4; +D_80126878 = 0x80126EA8; +D_801268D8 = 0x80126F28; +D_801268DC = 0x80126F2C; +gOpeningNameID = 0x80126F30; +D_801268E4 = 0x80126F34; +gTrackSelectIDs = 0x80126F38; +gFFLUnlocked = 0x80126F68; +D_8012691C = 0x80126F6C; +D_80126920 = 0x80126F70; +gTrackSelectVertsFlip = 0x80126F74; +D_80126928 = 0x80126F78; +D_8012692C = 0x80126F7C; +gTrackSelectRenderDetails = 0x80126F80; +gPlayerSelectVehicle = 0x80127010; // size:0x4 +gPlayerSelectConfirm = 0x80127014; // size:0x4 +gTrackSelectCursorX = 0x80127018; // size:0x4 +gTrackSelectCursorY = 0x8012701C; // size:0x4 +gAudioOutputStrings = 0x80127020; // size:0xC +gTrackSelectX = 0x8012702C; // size:0x4 +gMusicTestString = 0x80127030; // size:0x4 +gTrackSelectY = 0x80127034; // size:0x4 +gTrackSelectTargetX = 0x80127038; // size:0x4 +gTrackSelectTargetY = 0x8012703C; // size:0x4 +gTrackMenuHubName = 0x80127040; // size:0x4 +gSelectedTrackX = 0x80127044; // size:0x4 +gSelectedTrackY = 0x80127048; // size:0x4 +gSoundOptionMask = 0x8012704C; // size:0x4 +gSaveMenuOptionCountLower = 0x80127050; // size:0x4 +gSaveMenuFilesDest = 0x80127054; // size:0x4 +gSaveMenuOptionCountUpper = 0x80127058; // size:0x4 +gSaveMenuFilesSource = 0x8012705C; // size:0x4 +gSaveMenuRumbleNag = 0x80127060; // size:0x4 +gSaveMenuRumbleConnected = 0x80127064; // size:0x4 +gSaveMenuSourceState = 0x80127068; // size:0x4 +gSaveMenuDestState = 0x8012706C; // size:0x4 +sControllerPakNotesFree = 0x80127070; // size:0x10 +sControllerPakIssueNotFound = 0x80127080; // size:0x4 +sControllerPakFatalErrorFound = 0x80127084; // size:0x4 +sControllerPakNoFreeSpace = 0x80127088; // size:0x4 +sControllerPakBadData = 0x8012708C; // size:0x4 +gMenuOptionText = 0x80127090; // size:0x20 +sControllerPakDataPresent = 0x801270B0; // size:0x4 +D_80126A64 = 0x801270B4; +gMenuOption = 0x801270B8; +gSaveMenuRumbleNagSet = 0x801270BC; +gDeviceStatusStrings = 0x801270C0; +gSaveMenuMessageLines = 0x801270C4; +gSaveMenuMessageOption = 0x801270C8; +D_80126A7C = 0x801270CC; +gSaveMenuText = 0x801270D0; // size:0x10 +gPostRace1Player = 0x801270E0; +gPostRaceTimer = 0x801270E4; +gTracksSaveGhost = 0x801270E8; +D_80126A9C = 0x801270EC; +gBootPakData = 0x801270F0; // size:0x40 +sCurrentControllerPakAllFileNames = 0x80127130; +sCurrentControllerPakAllFileExtensions = 0x80127170; +sCurrentControllerPakAllFileTypes = 0x801271B0; +sCurrentControllerPakNumberOfPages = 0x801271C0; +sCurrentControllerPakFreePages = 0x80127200; +sControllerPakMenuNumberOfRows = 0x80127204; +gMenuMosaic1 = 0x80127208; +gMenuMosaic2 = 0x8012720C; +gMenuMosaicShift = 0x80127210; +gCreditsControlDataIndex = 0x80127214; +sControllerPakError = 0x80127218; +D_80126BCC = 0x8012721C; +D_80126BD0 = 0x80127220; +gSaveMenuOptionSource = 0x80127224; +D_80126BD8 = 0x80127228; +gSaveMenuScrollSource = 0x8012722C; +D_80126BE0 = 0x80127230; +gSaveMenuOptionDest = 0x80127234; +D_80126BE8 = 0x80127238; +gSaveMenuScrollDest = 0x8012723C; +gResultOptionText = 0x80127240; +gCpakWriteTimer = 0x80127260; +gResultOptionCount = 0x80127264; +gBootMenuTimer = 0x80127268; +gPostRaceMessage = 0x8012726C; +gBootMenuPhase = 0x80127270; +gPostRaceLineCount = 0x80127274; +gPostraceFinishState = 0x80127278; +gMenuGeometry = 0x8012727C; +gCheatsAssetData = 0x80127280; +gNameEntryStickHeld = 0x80127284; +gNumberOfCheats = 0x80127288; +gNameEntryStickX = 0x8012728C; +gCheatInputCurrentRow = 0x80127290; +gCheatInputCurrentColumn = 0x80127292; +gCheatInputStringLength = 0x80127294; +gOptionsMenuItemIndex = 0x80127296; +gNameSelectionDone = 0x80127298; +gNewCheatID = 0x8012729C; +gNameEntryOffsetX = 0x801272A0; +gPostRaceOld = 0x801272A4; // size:0x4 +gPostRace = 0x801272C0; // size:0x4 +gCheatInput = 0x801272A8; // size:0x14 +gNameEntryTargetX = 0x801272BC; +gNumOnscreenMagicCodes = 0x801272C4; +gNameEntryString = 0x801272C8; +gNameEntryAllowedLength = 0x801272CC; +gUnlockedCheatIDs = 0x801272D0; // size:0x40 +gFileNew = 0x80127310; +gMinimapOpacity = 0x80127320; +gMinimapFade = 0x80127321; +gShowHUD = 0x80127322; +gMinimapXlu = 0x80127323; +gRaceStartShowHudStep = 0x80127324; +D_80126CD5 = 0x80127325; +gAssetHudElementStaleCounter = 0x80127328; +gCurrentHud = 0x8012732C; +gPlayerHud = 0x80127330; // size:0x10 +gAssetHudElementIds = 0x80127340; +gAssetHudElements = 0x80127344; +gAssetHudElementIdsCount = 0x80127348; +gHUDCurrDisplayList = 0x8012734C; +gHUDCurrMatrix = 0x80127350; +gHUDCurrVertex = 0x80127354; +gHudCurrentViewport = 0x80127358; +gHUDNumPlayers = 0x8012735C; +D_80126D10 = 0x80127360; +D_80126D14 = 0x80127364; +D_80126D18 = 0x80127368; +gMinimapDotOffsetX = 0x8012736C; +gMinimapDotOffsetY = 0x80127370; +gHudOffsetX = 0x80127374; +gHudBounceX = 0x80127378; +gHudBounceTimer = 0x8012737C; +gHudBounceMag = 0x80127380; +gHudRaceStart = 0x80127384; +D_80126D35 = 0x80127385; +gHideRaceTimer = 0x80127386; +gNumActivePlayers = 0x80127387; +gWrongWayNagPrefix = 0x80127388; +gRaceStartSoundMask = 0x8012738C; +gHUDVoiceSoundMask = 0x80127390; +D_80126D44 = 0x80127394; +D_80126D48 = 0x80127398; +D_80126D4C = 0x8012739C; +D_80126D50 = 0x801273A0; +gMinimapRed = 0x801273A4; +gMinimapGreen = 0x801273A5; +gMinimapBlue = 0x801273A6; +gMinimapScreenX = 0x801273A8; +gMinimapScreenY = 0x801273AC; +gHudLevelHeader = 0x801273B0; +D_80126D64 = 0x801273B4; +D_80126D65 = 0x801273B5; +D_80126D66 = 0x801273B6; +gStopwatchFaceID = 0x801273B7; +D_80126D68 = 0x801273B8; +D_80126D69 = 0x801273B9; +gWrongWayNagTimer = 0x801273BC; +gHudAudioReset = 0x801273C0; +gHudTimeTrialGhost = 0x801273C1; +gHudVoiceTimer = 0x801273C4; +gHudVoicePlayerID = 0x801273C8; +gHudVoiceID = 0x801273CC; +gHudSprites = 0x801273D0; +D_80127180 = 0x801277D0; +gHudSettings = 0x801277D4; +gHudSilverCoinRace = 0x801277D8; +D_80127189 = 0x801277D9; +D_8012718A = 0x801277DA; +gMinimapOpacityTarget = 0x801277DB; +gStopwatchErrorX = 0x801277DC; +gStopwatchErrorY = 0x801277E0; +D_80127194 = 0x801277E4; +D_80127198 = 0x801277E8; +gGfxTaskYieldData = 0x80127800; +gSnowDensity = 0x80128200; +gSnowParticleCount = 0x80128204; +gWeather = 0x80128208; +gSnowPlane = 0x80128248; +gSnowVertOffset = 0x80128250; +gSnowTriCount = 0x80128254; +gSnowVertexFlip = 0x80128258; +gCurrWeatherDisplayList = 0x8012825C; +gCurrWeatherMatrix = 0x80128260; +gCurrWeatherVertexList = 0x80128264; +gCurrWeatherTriList = 0x80128268; +gWeatherCamera = 0x8012826C; +gWeatherCameraMatrix = 0x80128270; +gLensFlareSet1 = 0x80128274; +gLensFlareSet2 = 0x80128278; +gLensFlareLarge = 0x8012827C; +gLensFlarePos = 0x80128280; +gLensFlareSwitches = 0x80128290; +gParticleUpdateRate = 0x801282D0; +D_80127C84 = 0x801282D4; +D_80127C88 = 0x801282D8; +gTexture = 0x801282F0; //size:0xC +gDebugTextX = 0x801282FC; +gDebugTextY = 0x801282FE; +D_80127CB0 = 0x80128300; +D_80127CB2 = 0x80128302; +D_80127CB4 = 0x80128304; +gDebugTextOn = 0x80128308; +gDebugBoundsX1 = 0x8012830C; +gDebugBoundsX2 = 0x80128310; +gDebugBoundsY1 = 0x80128314; +gDebugBoundsY2 = 0x80128318; +gDebugFontTexture = 0x8012831C; +gDebugScreenWidth = 0x80128320; +gDebugScreenHeight = 0x80128322; +D_80127CD4 = 0x80128324; +gDebugPrintBufferStart = 0x80128328; +gDebugPrintBufferEnd = 0x80128C28; +gEPCStack = 0x80128C30; +gEPCThread = 0x80129C30; +D_80129790 = 0x80129DE0; +D_801297A8 = 0x80129DF8; +D_801297C8 = 0x80129E18; +D_801297E8 = 0x80129E38; +gEpcInfo = 0x80129E50; // size:0x1B0 +D_801299B0 = 0x8012A000; // size:0x100 +D_80129AB0 = 0x8012A100; // size:0x100 +D_80129BB0 = 0x8012A200; // size:0x400 +gObjectStackTrace = 0x8012A600; // size:0x10 +D_80129FC0 = 0x8012A610; +D_80129FC4 = 0x8012A614; +D_80129FC8 = 0x8012A618; // size:0x50 +D_8012A018 = 0x8012A668; +D_8012A01C = 0x8012A66C; +D_8012A020 = 0x8012A670; +D_8012A028 = 0x8012A678; +D_8012A078 = 0x8012A6C8; +gWaveBatch = 0x8012A6CC; +gWaveTexture = 0x8012A6D0; +D_8012A084 = 0x8012A6D4; +D_8012A088 = 0x8012A6D8; +D_8012A08C = 0x8012A6DC; +D_8012A090 = 0x8012A6E0; +D_8012A094 = 0x8012A6E4; +D_8012A098 = 0x8012A6E8; +D_8012A09C = 0x8012A6EC; +D_8012A0A0 = 0x8012A6F0; +D_8012A0A4 = 0x8012A6F4; +gWaveBoundingBoxDiffX = 0x8012A6F8; +gWaveBoundingBoxDiffZ = 0x8012A6FC; +gWaveBoundingBoxX1 = 0x8012A700; +gWaveBoundingBoxZ1 = 0x8012A704; +D_8012A0B8 = 0x8012A708; +D_8012A0BC = 0x8012A70C; +D_8012A0C0 = 0x8012A710; +D_8012A0C4 = 0x8012A714; +D_8012A0C8 = 0x8012A718; +D_8012A0CC = 0x8012A71C; +D_8012A0D0 = 0x8012A720; +D_8012A0D4 = 0x8012A724; +D_8012A0D8 = 0x8012A728; +D_8012A0DC = 0x8012A72C; +D_8012A0E0 = 0x8012A730; +D_8012A0E8 = 0x8012A738; +D_8012A1E8 = 0x8012A838; +D_8012A5E8 = 0x8012AC38; +D_8012A5F4 = 0x8012AC44; +D_8012A5F8 = 0x8012AC48; +D_8012A5FC = 0x8012AC4C; +D_8012A600 = 0x8012AC50; +gWavePowerBase = 0x8012AD70; +gWaveMagnitude = 0x8012AD74; +gWavePowerDivisor = 0x8012AD78; +gCurFadeTransition = 0x8012AD80; +gCurFadeRed = 0x8012AD84; +gCurFadeGreen = 0x8012AD85; +gCurFadeBlue = 0x8012AD86; +gCurFadeAlpha = 0x8012AD87; +gLastFadeRed = 0x8012AD88; +gLastFadeGreen = 0x8012AD8C; +gLastFadeBlue = 0x8012AD90; +gLastFadeRedStep = 0x8012AD94; +gLastFadeGreenStep = 0x8012AD98; +gLastFadeBlueStep = 0x8012AD9C; +sTransitionOpacity = 0x8012ADA0; +gTransitionOpacityVel = 0x8012ADA4; +D_8012A758 = 0x8012ADA8; +D_8012A75C = 0x8012ADAC; +D_8012A760 = 0x8012ADB0; +D_8012A764 = 0x8012ADB4; +D_8012A768 = 0x8012ADB8; +D_8012A76C = 0x8012ADBC; +gTransitionNextVtx = 0x8012ADC0; +gTransitionVtxStep = 0x8012ADC4; +gTransitionVertexTarget = 0x8012ADC8; +gTransitionVertexCount = 0x8012ADCC; +gGameTextTable = 0x8012ADD0; +gCloseTextMessage = 0x8012ADD4; +gTextCloseTimerFrames = 0x8012ADD5; +gTextCloseTimerSeconds = 0x8012ADD6; +D_8012A787 = 0x8012ADD7; +D_8012A788 = 0x8012ADD8; +gShowOnscreenMessage = 0x8012ADD9; +D_8012A78A = 0x8012ADDA; +D_8012A78C = 0x8012ADDC; +D_8012A78E = 0x8012ADDE; +gTextTableEntries = 0x8012ADE0; +D_8012A792 = 0x8012ADE2; +gGameTextTableEntries = 0x8012ADE8; +D_8012A7A0 = 0x8012ADF0; +D_8012A7A4 = 0x8012ADF4; +gDialogueAlpha = 0x8012ADF8; +gTextAlphaVelocity = 0x8012ADFA; +gSubtitleTimer = 0x8012ADFC; +gDialogueXPos1 = 0x8012ADFE; +gDialogueYPos1 = 0x8012AE00; +gDialogueXPos2 = 0x8012AE02; +gDialogueYPos2 = 0x8012AE04; +gShowSubtitles = 0x8012AE06; +gSubtitleLineCount = 0x8012AE08; +gCurrentTextID = 0x8012AE0A; +D_8012A7BC = 0x8012AE0C; +gSubtitleProperties = 0x8012AE10; +gCurrentMessageText = 0x8012AE18; +gCurrentTextProperties = 0x8012AE20; +D_8012A7D4 = 0x8012AE24; +gNumberOfFonts = 0x8012AE30; +gFonts = 0x8012AE34; +gDialogueBoxBackground = 0x8012AE38; +gDialogueText = 0x8012AE3C; +gCompactKerning = 0x8012AE40; +sDialogueBoxCloseTimer = 0x8012AE44; +piThread = 0x8012AE50; +piThreadStack = 0x8012B000; +piEventQueue = 0x8012B100; +piEventBuf = 0x8012B118; +gzip_bit_buffer = 0x8012B120; +gzip_num_bits = 0x8012B124; +gHuftTablePos = 0x8012B128; +leoDiskStack = 0x8012B130; +gThread30 = 0x8012B140; +gThread30MesgQueue = 0x8012B2F0; // type:OSMesgQueue size:0x18 +gThread30Message = 0x8012B308; // type:OSMesg size:0x4 +gThread30Stack = 0x8012B310; // type:u64 size:0x2000 +__osFinalrom = 0x8012D310; // type:u32 size:0x4 +__osEventStateTab = 0x8012D320; +__osContPifRam = 0x8012D3A0; +__osContLastCmd = 0x8012D3E0; +__osMaxControllers = 0x8012D3E1; +__osEepromTimer = 0x8012D3E8; +__osEepromTimerQ = 0x8012D408; +__osEepromTimerMsg = 0x8012D420; +__osPfsPifRam = 0x8012D430; +__osSiAccessQueue = 0x8012D478; +__osEepPifRam = 0x8012D490; +viThread = 0x8012D4D0; +gViMgrStack = 0x8012D680; +viEventQueue = 0x8012D780; +viEventBuf = 0x8012D798; +viRetraceMsg = 0x8012D7B0; +viCounterMsg = 0x8012D7C8; +retrace = 0x8012D7E0; +tmp_task = 0x8012D7F0; +piAccessBuf = 0x8012D830; +__osPiAccessQueue = 0x8012D838; +__osBaseTimer = 0x8012D850; // type:OSTimer size:0x20 +__osCurrentTime = 0x8012D870; // type:u64 +__osBaseCounter = 0x8012D878; +__osViIntrCount = 0x8012D87C; +__osTimerCounter = 0x8012D880; +D_8012D238 = 0x8012D888; +__osThreadSave = 0x8012D890; // type:OSThread size:0x1B0 diff --git a/ver/symbols/symbol_addrs.us.v77.txt b/ver/symbols/symbol_addrs.us.v77.txt new file mode 100644 index 00000000..ef10e315 --- /dev/null +++ b/ver/symbols/symbol_addrs.us.v77.txt @@ -0,0 +1,4782 @@ +osTvType = 0x80000300; +osRomType = 0x80000304; +osRomBase = 0x80000308; +osResetType = 0x8000030C; +osCicId = 0x80000310; +osVersion = 0x80000314; +osMemSize = 0x80000318; +osAppNMIBuffer = 0x8000031C; +entrypoint = 0x80000400; + +// audio.c .text +audio_init = 0x80000450; +sound_volume_reset = 0x80000890; +sound_volume_change = 0x80000968; +music_change_off = 0x80000B18; +music_change_on = 0x80000B28; +music_play = 0x80000B34; +music_voicelimit_set = 0x80000BE0; +music_voicelimit_change_off = 0x80000C1C; +music_voicelimit_change_on = 0x80000C2C; +music_jingle_voicelimit_set = 0x80000C38; +func_80000C68 = 0x80000C68; +music_fade = 0x80000C98; +music_volume_reset = 0x80000CBC; +sound_update_queue = 0x80000D00; +sound_play_delayed = 0x80000FDC; +sound_clear_delayed = 0x80001050; +music_channel_get_mask = 0x8000105C; +music_dynamic_set = 0x80001074; +music_channel_off = 0x80001114; +music_channel_active = 0x8000114C; +music_channel_on = 0x80001170; +music_channel_pan_set = 0x800011A8; +music_channel_volume_set = 0x800011E8; +music_channel_volume = 0x80001228; +music_channel_fade_set = 0x80001268; +music_channel_fade = 0x800012A8; +music_channel_reset_all = 0x800012E8; +func_80001358 = 0x80001358; +func_80001440 = 0x80001440; +music_tempo_set_relative = 0x800014BC; +music_tempo_set = 0x80001534; +music_tempo = 0x800015B8; +music_is_playing = 0x800015C8; +music_animation_fraction = 0x800015F8; +sound_get_properties = 0x80001728; +music_jingle_play_safe = 0x80001784; +sound_jingle_tempo_set = 0x800017D4; +music_stop = 0x80001844; +music_enabled_set = 0x80001878; +music_can_play = 0x800018D0; +music_jingle_stop = 0x800018E0; +music_current_sequence = 0x80001918; +music_next = 0x80001954; +music_jingle_current = 0x80001980; +music_volume_set = 0x80001990; +music_volume_config_set = 0x80001A3C; +music_volume = 0x80001AEC; +music_volume_config = 0x80001AFC; +music_jingle_volume_set = 0x80001B0C; +music_jingle_pan_set = 0x80001B58; +music_jingle_play = 0x80001BC0; +music_jingle_playing = 0x80001C08; +sound_channel_volume_all = 0x80001C5C; +sound_distance = 0x80001CB8; +sound_play = 0x80001D04; +sound_play_spatial = 0x80001EA8; +func_80001F14 = 0x80001F14; +sound_volume_set_relative = 0x80001FB8; +sound_volume_set = 0x8000208C; +sound_pitch_set = 0x800020BC; +sound_count = 0x800020E8; +music_sequence_count = 0x80002110; +sound_table_properties = 0x80002128; +music_table_properties = 0x8000216C; +gSoundBank_GetSoundDecayTime = 0x800021B0; +sound_seqplayer_init = 0x80002224; +music_sequence_start = 0x800022BC; +music_sequence_init = 0x8000232C; +music_sequence_stop = 0x80002570; +sound_reverb_set = 0x80002608; +sound_reverb_enabled = 0x80002630; + +//audiomgr.c .text +amCreateAudioMgr = 0x80002660; +audioStartThread = 0x80002A50; +audioStopThread = 0x80002A74; +__amMain = 0x80002A98; +__amHandleFrameMsg = 0x80002C00; +__amHandleDoneMsg = 0x80002DF8; +__amDMA = 0x80002E38; +__amDmaNew = 0x80003008; +__clearAudioDMA = 0x80003040; + +//audiosfx.c .text +set_sfx_volume_slider = 0x80003160; +get_sfx_volume_slider = 0x8000317C; +set_sound_channel_count = 0x8000318C; +alSndPNew = 0x800031C0; +_sndpVoiceHandler = 0x800033C8; +_handleEvent = 0x80003470; +func_8000410C = 0x8000410C; +func_8000418C = 0x8000418C; +_removeEvents = 0x800041FC; +func_800042CC = 0x800042CC; +func_80004384 = 0x80004384; +func_80004520 = 0x80004520; +func_80004604 = 0x80004604; +func_8000461C = 0x8000461C; +func_80004638 = 0x80004638; +func_80004668 = 0x80004668; +sound_stop = 0x8000488C; +func_800048D8 = 0x800048D8; +func_80004998 = 0x80004998; +func_800049B8 = 0x800049B8; +sound_stop_all = 0x800049D8; +sound_event_update = 0x800049F8; +get_sound_channel_volume = 0x80004A3C; +set_sound_channel_volume = 0x80004A60; + +// audio_vehicle.c .text +func_80004B40 = 0x80004B40; +racer_sound_update = 0x800050D0; +func_80005254 = 0x80005254; +racer_sound_hovercraft = 0x80005D08; +func_800063EC = 0x800063EC; +racer_sound_free = 0x80006AC8; +func_80006BFC = 0x80006BFC; +func_80006FC8 = 0x80006FC8; +sound_vehicle_enable = 0x80007F78; +sound_vehicle_disable = 0x80007F88; +sound_vehicle_check = 0x80007F94; +func_80007FA4 = 0x80007FA4; + +// audio_spatial.c .text +func_80008040 = 0x80008040; +audioline_off = 0x80008140; +audioline_on = 0x80008168; +func_80008174 = 0x80008174; +func_80008438 = 0x80008438; +func_800090C0 = 0x800090C0; +audioline_distance = 0x800092A8; +play_sound_at_position = 0x80009558; +func_800095E8 = 0x800095E8; +update_spatial_audio_position = 0x800096D8; +func_800096F8 = 0x800096F8; +func_8000974C = 0x8000974C; +audioline_ambient_create = 0x800098A4; +func_80009968 = 0x80009968; +func_800099EC = 0x800099EC; +func_80009AB4 = 0x80009AB4; +func_80009B7C = 0x80009B7C; +func_80009D6C = 0x80009D6C; +func_8000A184 = 0x8000A184; +func_8000A2E8 = 0x8000A2E8; +debug_render_line = 0x8000A414; + +// seqplayer.c .text +dummy_8000A710 = 0x8000A710; +__mapVoice = 0x8000A71C; +__unmapVoice = 0x8000A7C4; +__lookupVoice = 0x8000A84C; +__lookupSoundQuick = 0x8000A8D0; +__vsVol = 0x8000A9F8; +__vsDelta = 0x8000AA88; +__vsPan = 0x8000AAAC; +__seqpReleaseVoice = 0x8000AB00; +__voiceNeedsNoteKill = 0x8000AC34; +__initFromBank = 0x8000ACE0; +__setInstChanState = 0x8000AD98; +__resetPerfChanState = 0x8000ADF4; +__initChanState = 0x8000AE90; +__seqpStopOsc = 0x8000AEFC; +set_voice_limit = 0x8000B010; + +// objects.c .text +func_8000B020 = 0x8000B020; +func_8000B290 = 0x8000B290; +func_8000B38C = 0x8000B38C; +func_8000B750 = 0x8000B750; +func_8000BADC = 0x8000BADC; +func_8000BF44 = 0x8000BF44; +allocate_object_pools = 0x8000BF8C; +decrypt_magic_codes = 0x8000C2D8; +clear_object_pointers = 0x8000C460; +free_all_objects = 0x8000C604; +load_object_header = 0x8000C718; +try_free_object_header = 0x8000C844; +normalise_time = 0x8000C8B4; +func_8000C8F8 = 0x8000C8F8; +func_8000CBC0 = 0x8000CBC0; +func_8000CBF0 = 0x8000CBF0; +func_8000CC20 = 0x8000CC20; +func_8000CC7C = 0x8000CC7C; +get_contpak_error = 0x8000E0B0; +instShowBearBar = 0x8000E128; +func_8000E138 = 0x8000E138; +func_8000E148 = 0x8000E148; +func_8000E158 = 0x8000E158; +func_8000E184 = 0x8000E184; +func_8000E194 = 0x8000E194; +fontUseFont = 0x8000E1B8; +find_non_car_racers = 0x8000E1CC; +check_if_silver_coin_race = 0x8000E1DC; +despawn_player_racer = 0x8000E1EC; +transform_player_vehicle = 0x8000E2B4; +set_time_trial_enabled = 0x8000E4BC; +is_time_trial_enabled = 0x8000E4C8; +is_in_time_trial = 0x8000E4D8; +func_8000E4E8 = 0x8000E4E8; +func_8000E558 = 0x8000E558; +func_8000E5EC = 0x8000E5EC; +func_8000E79C = 0x8000E79C; +func_8000E898 = 0x8000E898; +get_object = 0x8000E948; +objGetObjList = 0x8000E988; +get_object_count = 0x8000E9B0; +get_particle_count = 0x8000E9C0; +func_8000E9D0 = 0x8000E9D0; +spawn_object = 0x8000EA54; +objFreeAssets = 0x8000F648; +light_setup_light_sources = 0x8000F758; +init_object_shading = 0x8000F7EC; +func_8000F99C = 0x8000F99C; +obj_init_emitter = 0x8000FAC4; +init_object_shadow = 0x8000FBCC; +init_object_water_effect = 0x8000FC6C; +init_object_interaction_data = 0x8000FD20; +func_8000FD34 = 0x8000FD34; +func_8000FD54 = 0x8000FD54; +free_object = 0x8000FFB8; +obj_table_ids = 0x80010018; +obj_id_valid = 0x80010028; +gParticlePtrList_flush = 0x8001004C; +func_800101AC = 0x800101AC; +func_80010994 = 0x80010994; +func_80011134 = 0x80011134; +func_80011264 = 0x80011264; +do_nothing_func_80011364 = 0x80011364; +path_update_check = 0x8001136C; +path_enable = 0x80011390; +get_race_countdown = 0x8001139C; +get_race_start_timer = 0x800113AC; +func_800113BC = 0x800113BC; +play_footstep_sounds = 0x800113CC; +ignore_bounds_check = 0x80011560; +move_object = 0x80011570; +render_misc_model = 0x80011960; +render_3d_misc = 0x80011AD0; +render_3d_billboard = 0x80011C94; +render_3d_model = 0x800120C8; +func_80012C30 = 0x80012C30; +func_80012C3C = 0x80012C3C; +func_80012C98 = 0x80012C98; +func_80012CE8 = 0x80012CE8; +render_object = 0x80012D5C; +object_do_player_tumble = 0x80012E28; +object_undo_player_tumble = 0x80012F30; +func_80012F94 = 0x80012F94; +render_object_parts = 0x8001348C; +unset_temp_model_transforms = 0x80013548; +func_800135B8 = 0x800135B8; +render_bubble_trap = 0x800138A8; +render_racer_shield = 0x80013A0C; +render_racer_magnet = 0x80013DCC; +func_80014090 = 0x80014090; +func_800142B8 = 0x800142B8; +render_mesh = 0x800143A8; +func_80014814 = 0x80014814; +func_800149C0 = 0x800149C0; +func_80014B50 = 0x80014B50; +sort_objects_by_dist = 0x80015348; +process_object_interactions = 0x800155B8; +func_800159C8 = 0x800159C8; +func_80016500 = 0x80016500; +func_80016748 = 0x80016748; +func_80016BC4 = 0x80016BC4; +obj_butterfly_node = 0x80016C68; +obj_dist_racer = 0x80016DE8; +func_8001709C = 0x8001709C; +func_80017248 = 0x80017248; +func_8001790C = 0x8001790C; +func_80017978 = 0x80017978; +func_800179D0 = 0x800179D0; +func_80017A18 = 0x80017A18; +set_taj_challenge_type = 0x80017E74; +get_taj_challenge_type = 0x80017E88; +func_80017E98 = 0x80017E98; +func_800185E4 = 0x800185E4; +find_taj_object = 0x80018C6C; +func_80018CE0 = 0x80018CE0; +func_8001955C = 0x8001955C; +func_80019808 = 0x80019808; +set_course_finish_flags = 0x8001A7D8; +race_finish_adventure = 0x8001A8D4; +race_transition_adventure = 0x8001A8F4; +race_finish_timer = 0x8001AE44; +get_balloon_cutscene_timer = 0x8001AE54; +race_finish_time_trial = 0x8001AE64; +timetrial_valid_player_ghost = 0x8001B288; +timetrial_player_ghost = 0x8001B2E0; +timetrial_load_staff_ghost = 0x8001B2F0; +timetrial_staff_ghost_check = 0x8001B3AC; +tt_ghost_beaten = 0x8001B3C4; +timetrial_init_staff_ghost = 0x8001B4FC; +timetrial_ghost_staff = 0x8001B640; +timetrial_staff_unbeaten = 0x8001B650; +timetrial_init_player_ghost = 0x8001B668; +timetrial_save_player_ghost = 0x8001B738; +has_ghost_to_save = 0x8001B780; +set_ghost_none = 0x8001B790; +func_8001B7A8 = 0x8001B7A8; +func_8001B834 = 0x8001B834; +func_8001B954 = 0x8001B954; +get_checkpoint_node = 0x8001BA00; +find_next_checkpoint_node = 0x8001BA1C; +get_checkpoint_count = 0x8001BA64; +get_racer_objects = 0x8001BA74; +get_racer_objects_by_port = 0x8001BA90; +get_racer_objects_by_position = 0x8001BAAC; +get_racer_object = 0x8001BAC8; +get_racer_object_by_port = 0x8001BB18; +debug_render_checkpoints = 0x8001BB68; +debug_render_checkpoint_node = 0x8001BC40; +spectate_update = 0x8001BC54; +spectate_object = 0x8001BD94; +spectate_nearest = 0x8001BDD4; +ainode_update = 0x8001BF20; +obj_elevation = 0x8001C418; +ainode_register = 0x8001C48C; +ainode_find_nearest = 0x8001C524; +func_8001C6C4 = 0x8001C6C4; +func_8001CC48 = 0x8001CC48; +func_8001CD28 = 0x8001CD28; +ainode_enable = 0x8001D1AC; +ainode_tail_set = 0x8001D1BC; +ainode_tail = 0x8001D1E4; +ainode_get = 0x8001D214; +func_8001D248 = 0x8001D248; +set_world_shading = 0x8001D258; +add_shading_properties = 0x8001D2A0; +set_shading_properties = 0x8001D4B4; +update_envmap_position = 0x8001D5E0; +calc_dyn_light_and_env_map_for_object = 0x8001D6E4; +calc_dynamic_lighting_for_object_1 = 0x8001D80C; +calc_env_mapping_for_object = 0x8001DD54; +set_racer_position_and_angle = 0x8001E13C; +get_misc_asset = 0x8001E29C; +func_8001E2EC = 0x8001E2EC; +func_8001E344 = 0x8001E344; +obj_bridge_pos = 0x8001E36C; +cutscene_id = 0x8001E440; +cutscene_id_set = 0x8001E450; +func_8001E45C = 0x8001E45C; +get_object_list_index = 0x8001E4B4; +func_8001E4C4 = 0x8001E4C4; +func_8001E6EC = 0x8001E6EC; +func_8001E89C = 0x8001E89C; +func_8001E93C = 0x8001E93C; +func_8001EE74 = 0x8001EE74; +obj_init_animcamera = 0x8001EFA4; +func_8001F23C = 0x8001F23C; +func_8001F3B8 = 0x8001F3B8; +func_8001F3C8 = 0x8001F3C8; +func_8001F3EC = 0x8001F3EC; +func_8001F450 = 0x8001F450; +func_8001F460 = 0x8001F460; +func_800210CC = 0x800210CC; +func_80021104 = 0x80021104; +func_8002125C = 0x8002125C; +func_80021400 = 0x80021400; +func_800214C4 = 0x800214C4; +func_800214E4 = 0x800214E4; +func_80021600 = 0x80021600; +catmull_rom_interpolation = 0x80022540; +cubic_spline_interpolation = 0x8002263C; +func_8002277C = 0x8002277C; +lerp = 0x80022888; +func_800228B0 = 0x800228B0; +func_800228DC = 0x800228DC; +init_racer_for_challenge = 0x800228EC; +mode_init_taj_race = 0x80022948; +obj_taj_create_balloon = 0x80022CFC; +mode_end_taj_race = 0x80022E18; +func_800230D0 = 0x800230D0; +is_taj_challenge = 0x8002341C; +find_furthest_telepoint = 0x8002342C; +func_80023568 = 0x80023568; +obj_door_override = 0x800235C0; +obj_door_open = 0x800235D0; +get_object_property_size = 0x800235DC; +run_object_init_func = 0x800238BC; +obj_init_property_flags = 0x80023E30; +run_object_loop_func = 0x80023F48; +func_8002458C = 0x8002458C; +func_80024594 = 0x80024594; +func_800245B4 = 0x800245B4; + +// unknown_0251F0.c .text +func_800245F0 = 0x800245F0; +calc_dynamic_lighting_for_object_2 = 0x80024744; + +// tracks.c .text +set_scene_viewport_num = 0x800249E0; +init_track = 0x800249F0; +render_scene = 0x80024D54; +func_80025510 = 0x80025510; +func_800257D0 = 0x800257D0; +func_8002581C = 0x8002581C; +func_80026070 = 0x80026070; +func_80026430 = 0x80026430; +func_80026C14 = 0x80026C14; +func_80026E54 = 0x80026E54; +func_80027184 = 0x80027184; +func_80027568 = 0x80027568; +func_800278E8 = 0x800278E8; +animate_level_textures = 0x80027E24; +spawn_skydome = 0x80027FC4; +set_skydome_visbility = 0x80028044; +func_80028050 = 0x80028050; +draw_gradient_background = 0x800289B8; +render_skydome = 0x80028C10; +initialise_player_viewport_vars = 0x80028CD0; +set_anti_aliasing = 0x80028FA0; +render_level_geometry_and_objects = 0x80028FAC; +render_level_segment = 0x80029658; +traverse_segments_bsp_tree = 0x80029AF8; +add_segment_to_order = 0x80029D14; +check_if_inside_segment = 0x80029DE0; +get_level_segment_index_from_position = 0x80029F18; +get_inside_segment_count_xz = 0x8002A05C; +get_inside_segment_count_xyz = 0x8002A134; +get_segment = 0x8002A29C; +get_segment_bounding_box = 0x8002A2DC; +func_8002A31C = 0x8002A31C; +should_segment_be_visible = 0x8002A5F8; +check_if_in_draw_range = 0x8002A900; +func_8002AC00 = 0x8002AC00; +dayGetTrackFade = 0x8002ACA0; +func_8002ACC8 = 0x8002ACC8; +func_8002ACD4 = 0x8002ACD4; +get_wave_properties = 0x8002AD08; +func_8002B0F4 = 0x8002B0F4; +func_8002B9BC = 0x8002B9BC; +func_8002BAB0 = 0x8002BAB0; +func_8002C0C4 = 0x8002C0C4; +func_8002C71C = 0x8002C71C; +get_current_level_model = 0x8002C7C4; +free_track = 0x8002C7D4; +func_8002C954 = 0x8002C954; +func_8002CC30 = 0x8002CC30; +trackMakeAbsolute = 0x8002D30C; +render_object_shadow = 0x8002D384; +render_object_water_effects = 0x8002D670; +update_shadows = 0x8002D8DC; +func_8002DE30 = 0x8002DE30; +func_8002E234 = 0x8002E234; +func_8002E904 = 0x8002E904; +func_8002EEEC = 0x8002EEEC; +func_8002F2AC = 0x8002F2AC; +func_8002F440 = 0x8002F440; +func_8002FA64 = 0x8002FA64; +func_8002FD74 = 0x8002FD74; +func_8002FF6C = 0x8002FF6C; +func_800304C8 = 0x800304C8; +set_fog = 0x80030664; +get_fog_settings = 0x80030750; +reset_fog = 0x800307BC; +update_fog = 0x80030838; +apply_fog = 0x8003093C; +obj_loop_fogchanger = 0x80030A74; +slowly_change_fog = 0x80030DE0; +update_perspective_and_envmap = 0x80030FA0; +compute_scene_camera_transform_matrix = 0x80031018; + +// collision.c .text +func_80031130 = 0x80031130; +func_800314DC = 0x800314DC; +func_80031600 = 0x80031600; + +// lights.c .text +free_lights = 0x80031B60; +setup_lights = 0x80031BB8; +func_80031CAC = 0x80031CAC; +add_object_light = 0x80031F88; +disable_object_light = 0x80032210; +enable_object_light = 0x80032218; +toggle_object_light = 0x80032224; +func_80032248 = 0x80032248; +func_80032344 = 0x80032344; +lightUpdateLights = 0x80032398; +func_80032424 = 0x80032424; +func_80032BAC = 0x80032BAC; +get_light_count = 0x80032C6C; +func_80032C7C = 0x80032C7C; +func_800337E4 = 0x800337E4; +light_distance_calc = 0x80033A14; +light_direction_calc = 0x80033C08; + +// object_functions.c .text +obj_init_scenery = 0x80033CC0; +obj_loop_scenery = 0x80033DD0; +obj_init_fireball_octoweapon = 0x80033F44; +obj_loop_fireball_octoweapon = 0x80033F60; +obj_init_lasergun = 0x80034530; +obj_loop_lasergun = 0x800345A0; +obj_init_laserbolt = 0x80034844; +obj_loop_laserbolt = 0x80034860; +obj_init_torch_mist = 0x80034AF0; +obj_loop_torch_mist = 0x80034B4C; +obj_init_effectbox = 0x80034B68; +obj_loop_effectbox = 0x80034B74; +obj_init_trophycab = 0x80034E70; +obj_loop_trophycab = 0x80034E9C; +obj_init_collectegg = 0x8003522C; +obj_loop_collectegg = 0x80035260; +obj_init_eggcreator = 0x80035640; +obj_loop_eggcreator = 0x8003564C; +obj_init_lighthouse_rocketsignpost = 0x8003572C; +obj_loop_rocketsignpost = 0x800357D4; +obj_init_airzippers_waterzippers = 0x8003588C; +obj_loop_airzippers_waterzippers = 0x8003596C; +obj_init_groundzipper = 0x80035AE8; +obj_loop_groundzipper = 0x80035C50; +obj_init_timetrialghost = 0x80035E20; +obj_loop_timetrialghost = 0x80035E34; +obj_init_characterflag = 0x80035EF8; +obj_loop_characterflag = 0x80035F6C; +try_to_collect_egg = 0x80036040; +obj_init_stopwatchman = 0x80036194; +obj_loop_stopwatchman = 0x800361E0; +play_tt_voice_clip = 0x80036BCC; +obj_init_fish = 0x80036C30; +obj_loop_fish = 0x800370D4; +obj_init_lavaspurt = 0x80037578; +obj_loop_lavaspurt = 0x80037594; +obj_init_posarrow = 0x80037624; +obj_loop_posarrow = 0x8003763C; +obj_init_animator = 0x800376E0; +obj_loop_animator = 0x800377E4; +obj_init_animation = 0x80037A18; +obj_loop_animobject = 0x80037CE8; +obj_loop_dooropener = 0x80037D08; +obj_init_overridepos = 0x80037D54; +obj_loop_overridepos = 0x80037D60; +obj_init_wizpigship = 0x80037D6C; +obj_loop_wizpigship = 0x80037D78; +obj_loop_vehicleanim = 0x800380F8; +obj_init_hittester = 0x8003818C; +obj_loop_hittester = 0x800381C0; +obj_init_dynamic_lighting_object = 0x800381E0; +obj_init_unknown96 = 0x80038214; +obj_init_snowball = 0x80038248; +obj_loop_snowball = 0x8003827C; +obj_init_char_select = 0x80038330; +obj_loop_char_select = 0x8003833C; +obj_loop_animcamera = 0x80038710; +obj_init_animcar = 0x800387C0; +obj_loop_animcar = 0x800387CC; +obj_init_infopoint = 0x80038854; +obj_loop_infopoint = 0x800388D4; +obj_init_smoke = 0x800389AC; +obj_loop_smoke = 0x800389B8; +obj_init_unknown25 = 0x80038A6C; +obj_loop_unknown25 = 0x80038A78; +obj_init_wardensmoke = 0x80038AC8; +obj_loop_wardensmoke = 0x80038AD4; +obj_init_bombexplosion = 0x80038B74; +obj_loop_bombexplosion = 0x80038BF4; +obj_init_teleport = 0x80038D58; +obj_loop_teleport = 0x80038DC4; +obj_init_exit = 0x80038E3C; +obj_loop_exit = 0x80038F58; +obj_init_cameracontrol = 0x80039160; +obj_loop_cameracontrol = 0x80039184; +obj_init_setuppoint = 0x80039190; +obj_loop_setuppoint = 0x800391BC; +obj_init_dino_whale = 0x800391C8; +obj_loop_dino_whale = 0x800391FC; +obj_init_parkwarden = 0x800392B8; +set_taj_voice_line = 0x80039320; +obj_loop_parkwarden = 0x80039330; +play_taj_voice_clip = 0x8003AC3C; +obj_loop_gbparkwarden = 0x8003ACA0; +get_npc_pos_y = 0x8003ACAC; +obj_init_checkpoint = 0x8003ACBC; +obj_loop_checkpoint = 0x8003AD28; +obj_init_modechange = 0x8003AD34; +obj_loop_modechange = 0x8003AE50; +obj_init_bonus = 0x8003B058; +obj_loop_bonus = 0x8003B174; +obj_init_goldenballoon = 0x8003B368; +obj_loop_goldenballoon = 0x8003B4BC; +obj_init_door = 0x8003B7CC; +obj_loop_door = 0x8003B988; +obj_init_ttdoor = 0x8003C1E0; +obj_loop_ttdoor = 0x8003C2E4; +obj_init_trigger = 0x8003C644; +obj_loop_trigger = 0x8003C7A4; +obj_init_bridge_whaleramp = 0x8003C9EC; +obj_loop_bridge_whaleramp = 0x8003CA68; +obj_init_rampswitch = 0x8003CE64; +obj_loop_rampswitch = 0x8003CEA0; +obj_init_seamonster = 0x8003CF00; +obj_loop_seamonster = 0x8003CF0C; +obj_init_fogchanger = 0x8003CF18; +obj_init_skycontrol = 0x8003CF58; +obj_loop_skycontrol = 0x8003CF98; +obj_init_ainode = 0x8003CFE0; +obj_loop_ainode = 0x8003D02C; +obj_init_treasuresucker = 0x8003D038; +obj_loop_treasuresucker = 0x8003D058; +obj_init_flycoin = 0x8003D2AC; +obj_loop_flycoin = 0x8003D2B8; +obj_init_bananacreator = 0x8003D3EC; +obj_loop_bananacreator = 0x8003D3FC; +obj_init_banana = 0x8003D534; +obj_loop_banana = 0x8003D5A0; +obj_init_silvercoin_adv2 = 0x8003DBA0; +obj_init_silvercoin = 0x8003DC5C; +obj_loop_silvercoin = 0x8003DD14; +obj_init_worldkey = 0x8003DE74; +obj_loop_worldkey = 0x8003DF08; +obj_init_weaponballoon = 0x8003DFCC; +obj_loop_weaponballoon = 0x8003E140; +obj_init_wballoonpop = 0x8003E5B0; +obj_loop_wballoonpop = 0x8003E5BC; +obj_init_weapon = 0x8003E5C8; +obj_loop_weapon = 0x8003E630; +weapon_projectile = 0x8003E694; +rocket_prevent_overshoot = 0x8003EC14; +homing_rocket_prevent_overshoot = 0x8003EDD8; +reset_rocket_sound_timer = 0x8003F0D0; +decrease_rocket_sound_timer = 0x8003F0DC; +play_rocket_trailing_sound = 0x8003F0F8; +weapon_trap = 0x8003F2E8; +obj_spawn_effect = 0x8003FC44; +obj_init_audio = 0x8003FD68; +obj_init_audioline = 0x8003FEF4; +obj_init_audioreverb = 0x8004001C; +obj_init_texscroll = 0x800400A4; +obj_loop_texscroll = 0x80040148; +obj_init_rgbalight = 0x800403A8; +obj_init_buoy_pirateship = 0x800403D8; +obj_loop_buoy_pirateship = 0x80040448; +obj_init_log = 0x8004049C; +obj_loop_log = 0x80040570; +obj_init_weather = 0x80040800; +obj_loop_weather = 0x80040820; +obj_init_lensflare = 0x8004092C; +obj_init_lensflareswitch = 0x8004094C; +obj_init_wavegenerator = 0x800409A4; +obj_init_butterfly = 0x800409C8; +obj_loop_butterfly = 0x80040C54; +obj_init_midifade = 0x80041A90; +obj_init_midifadepoint = 0x80041E80; +obj_init_midichset = 0x80042014; +obj_init_bubbler = 0x8004203C; +obj_loop_bubbler = 0x80042090; +obj_init_boost = 0x8004210C; +obj_init_unknown94 = 0x80042150; +obj_loop_unknown94 = 0x80042160; +obj_init_rangetrigger = 0x8004216C; +obj_loop_rangetrigger = 0x80042178; +obj_init_frog = 0x80042210; +obj_loop_frog = 0x800422F0; +obj_loop_pigrocketeer = 0x80042998; +obj_init_levelname = 0x80042A1C; +obj_loop_levelname = 0x80042A90; +obj_loop_wizghosts = 0x80042CD0; + +// racer.c .text +func_80042D20 = 0x80042D20; +increment_ai_behaviour_chances = 0x80043ECC; +racer_AI_pathing_inputs = 0x80044170; +roll_percent_chance = 0x80044450; +func_8004447C = 0x8004447C; +func_80045128 = 0x80045128; +func_800452A0 = 0x800452A0; +func_80045C48 = 0x80045C48; +func_80046524 = 0x80046524; +racer_attack_handler_hovercraft = 0x80048C7C; +update_camera_hovercraft = 0x80048E64; +rotate_racer_in_water = 0x800494E0; +func_80049794 = 0x80049794; +apply_plane_tilt_anim = 0x8004C0A0; +racer_attack_handler_plane = 0x8004C140; +update_camera_plane = 0x8004C2B0; +func_8004CC20 = 0x8004CC20; +update_camera_loop = 0x8004D590; +update_carpet = 0x8004D95C; +obj_init_racer = 0x8004DAB0; +update_player_racer = 0x8004DE38; +set_racer_tail_lights = 0x8004F77C; +func_8004F7F4 = 0x8004F7F4; +racer_approach_object = 0x80050754; +apply_vehicle_rotation_offset = 0x80050850; +func_80050A28 = 0x80050A28; +should_taj_teleport = 0x80052188; +set_taj_status = 0x800521B8; +handle_racer_head_turning = 0x800521C4; +slowly_reset_head_angle = 0x8005234C; +turn_head_towards_object = 0x80052388; +func_8005250C = 0x8005250C; +func_80052988 = 0x80052988; +racer_spinout_car = 0x80052B64; +update_car_velocity_offground = 0x80052D7C; +handle_car_steering = 0x80053478; +func_800535C4 = 0x800535C4; +handle_car_velocity_control = 0x80053664; +func_80053750 = 0x80053750; +racer_attack_handler_car = 0x80053E9C; +update_onscreen_AI_racer = 0x80054110; +update_car_velocity_ground = 0x8005492C; +func_80054FD0 = 0x80054FD0; +onscreen_ai_racer_physics = 0x80055A84; +handle_racer_items = 0x80055EC0; +play_char_horn_sound = 0x80056930; +func_8005698C = 0x8005698C; +racer_activate_magnet = 0x80056E2C; +racer_play_sound = 0x80057048; +racer_play_sound_after_delay = 0x800570A4; +play_random_character_voice = 0x800570B8; +handle_racer_top_speed = 0x80057220; +func_800575EC = 0x800575EC; +drop_bananas = 0x800576E0; +handle_base_steering = 0x800579B0; +update_player_camera = 0x80057A40; +second_racer_camera_update = 0x800580B4; +update_camera_car = 0x800581E8; +update_camera_finish_challenge = 0x80058B84; +update_camera_finish_race = 0x80058D5C; +update_camera_fixed = 0x80058F44; +set_position_goal_from_path = 0x80059080; +func_80059208 = 0x80059208; +get_timestamp_from_frames = 0x80059790; +allocate_ghost_data = 0x800598D0; +timetrial_reset_player_ghost = 0x80059944; +timetrial_swap_player_ghost = 0x80059984; +timetrial_map_id = 0x800599A8; +timetrial_load_player_ghost = 0x800599B8; +load_tt_ghost = 0x80059A68; +timetrial_free_staff_ghost = 0x80059B4C; +timetrial_write_player_ghost = 0x80059B7C; +timetrial_ghost_write = 0x80059BF0; +timetrial_ghost_full = 0x80059E20; +set_ghost_position_and_rotation = 0x80059E40; +disable_racer_input = 0x8005A3B0; +racer_set_dialogue_camera = 0x8005A3C0; +drm_checksum_balloon = 0x8005A3D0; +racer_enter_door = 0x8005A424; +update_AI_racer = 0x8005A6F0; +func_8005B818 = 0x8005B818; +drm_vehicle_traction = 0x8005C25C; +func_8005C270 = 0x8005C270; + +//vehicle_tricky.c .text +racer_special_init = 0x8005C2F0; +update_tricky = 0x8005C364; +set_boss_voice_clip_offset = 0x8005CA78; +racer_boss_sound_spatial = 0x8005CA84; +play_random_boss_sound = 0x8005CB04; +racer_boss_finish = 0x8005CB68; +fade_when_near_camera = 0x8005D048; + +// vehicle_bluey.c .text +update_bluey = 0x8005D0D0; + +// vehicle_smokey.c .text +update_smokey = 0x8005D820; +spawn_boss_hazard = 0x8005E204; + +// vehicle_bubbler.c .text +update_bubbler = 0x8005E4C0; + +// vehicle_wizpig.c .text +update_wizpig = 0x8005EA90; + +// vehicle_rocket .c .text +update_rocket = 0x8005F310; + +// object_models.c .text +allocate_object_model_pools = 0x8005F850; +object_model_init = 0x8005F99C; +func_8005FCD0 = 0x8005FCD0; +free_3d_model = 0x8005FF40; +free_model_data = 0x80060058; +func_8006017C = 0x8006017C; +func_80060910 = 0x80060910; +func_80060AC8 = 0x80060AC8; +func_80060C58 = 0x80060C58; +func_80060EA8 = 0x80060EA8; +func_800619F4 = 0x800619F4; +func_80061A00 = 0x80061A00; +func_80061C0C = 0x80061C0C; + +// object_animate.c .text +object_animate = 0x80061D30; + +// csplayer.c .text +alCSPNew = 0x80062290; +__CSPVoiceHandler = 0x80062408; +__CSPPostNextSeqEvent = 0x800629CC; +__CSPHandleNextSeqEvent = 0x80062A3C; +__CSPHandleMIDIMsg = 0x80062B00; +__CSPHandleMetaMsg = 0x800637EC; +__CSPRepostEvent = 0x80063984; +__setUsptFromTempo = 0x80063A34; + +// unknown_064690.c .text +func_80063A90 = 0x80063A90; + +// seqchannel.c .text +alSeqChOff = 0x80063AF0; +alSeqChOn = 0x80063B44; + +// alCSPSetFadeIn.c .text +alCSPSetFadeIn = 0x80063BA0; +alCSPGetFadeIn = 0x80063C00; + +// reverb.c .text +alFxPull = 0x80063C30; +alFxParam = 0x80063F94; +alFxParamHdl = 0x80063FAC; +_loadOutputBuffer = 0x80064224; +_loadBuffer = 0x800644A0; +_saveBuffer = 0x80064638; +_filterBuffer = 0x800647D0; +_doModFunc = 0x80064884; +alFxReverbSet = 0x8006492C; +_alFxEnabled = 0x8006493C; + +// alFxNew.c .text +init_lpfilter = 0x80064950; +alFxNew = 0x80064A08; +alEnvmixerNew = 0x80064E54; +alLoadNew = 0x80064EF8; +alResampleNew = 0x80064F9C; +alAuxBusNew = 0x80065024; +alMainBusNew = 0x80065084; +alSaveNew = 0x800650E4; + +// synthesizer.c .text +alSynNew = 0x80065130; +alAudioFrame = 0x80065494; +__allocParam = 0x80065668; +__freeParam = 0x8006569C; +_collectPVoices = 0x800656BC; +_freePVoice = 0x8006571C; +__timeToSamplesNoRound = 0x80065754; +_timeToSamples = 0x800657C4; +__nextSampleTime = 0x800657EC; + +// alSynAllocFX.c .text +alSynAllocFX = 0x80065860; + +// alAuxBusPull.c .text +alAuxBusPull = 0x80065900; +alAuxBusParam = 0x800659D4; +func_80065A80 = 0x80065A80; + +// alSynSetPan.c .text +alSynSetPan = 0x80065B20; + +// alSynStartVoiceParams.c .text +set_stereo_pan_mode = 0x80065BD0; +get_stereo_pan_mode = 0x80065BDC; +modify_panning = 0x80065BEC; +alSynStartVoiceParams = 0x80065C38; + +// main.c .text +mainproc = 0x80065D40; +thread1_main = 0x80065D98; +thread3_verify_stack = 0x80065E30; + +// camera.c .text +camera_init = 0x80065EA0; +func_80066060 = 0x80066060; +set_viewport_tv_type = 0x80066098; +func_800660C0 = 0x800660C0; +func_800660D0 = 0x800660D0; +get_current_camera_fov = 0x800660DC; +update_camera_fov = 0x800660EC; +calculate_camera_perspective = 0x80066194; +matrix_get_model_s16 = 0x80066204; +get_viewport_count = 0x80066210; +get_current_viewport = 0x80066220; +camera_init_tracks_menu = 0x80066230; +get_distance_to_active_camera = 0x80066348; +camera_reset = 0x800663DC; +write_to_object_render_stack = 0x80066488; +check_if_showing_cutscene_camera = 0x80066510; +disable_cutscene_camera = 0x80066520; +set_active_viewports_and_max = 0x8006652C; +set_active_camera = 0x800665E8; +copy_viewports_to_stack = 0x80066610; +camEnableUserView = 0x80066818; +camDisableUserView = 0x80066894; +check_viewport_background_flag = 0x80066910; +viewport_menu_set = 0x80066940; +set_viewport_properties = 0x80066AA8; +copy_viewport_background_size_to_coords = 0x80066BA8; +copy_viewport_frame_size_to_coords = 0x80066C2C; +copy_framebuffer_size_to_coords = 0x80066C80; +func_80066CDC = 0x80066CDC; +viewport_scissor = 0x80067A3C; +func_80067D3C = 0x80067D3C; +set_ortho_matrix_height = 0x80067F20; +set_ortho_matrix_view = 0x80067F2C; +func_8006807C = 0x8006807C; +viewport_rsp_set = 0x80068158; +viewport_reset = 0x800682AC; +matrix_world_origin = 0x80068408; +sprite_anim_off = 0x80068508; +render_sprite_billboard = 0x80068514; +render_ortho_triangle_image = 0x80068BF4; +apply_object_shear_matrix = 0x80068FA8; +camera_push_model_mtx = 0x80069484; +apply_head_turning_matrix = 0x80069790; +get_modelmatrix_vector = 0x800699E4; +apply_matrix_from_stack = 0x80069A40; +translate_camera_segment = 0x80069ACC; +transform_camera_segment = 0x80069B70; +rotate_camera_segment = 0x80069CB4; +get_active_camera_segment_no_cutscenes = 0x80069CFC; +get_active_camera_segment = 0x80069D20; +get_cutscene_camera_segment = 0x80069D7C; +get_projection_matrix_f32 = 0x80069DA4; +get_projection_matrix_s16 = 0x80069DB0; +get_camera_matrix = 0x80069DBC; +get_distance_to_camera = 0x80069DC8; +set_camera_shake_by_distance = 0x80069E14; +set_camera_shake = 0x80069F28; +debug_print_fixed_matrix_values = 0x80069F64; +debug_print_float_matrix_values = 0x8006A03C; + +// controller.c .text +get_si_mesg_queue = 0x8006A100; +init_controllers = 0x8006A10C; +handle_save_data_and_read_controller = 0x8006A1C4; +initialise_player_ids = 0x8006A434; +charselect_assign_players = 0x8006A458; +get_player_id = 0x8006A4F8; +swap_player_1_and_2_ids = 0x8006A50C; +get_buttons_held_from_player = 0x8006A528; +get_buttons_pressed_from_player = 0x8006A554; +get_buttons_released_from_player = 0x8006A578; +clamp_joystick_x_axis = 0x8006A59C; +clamp_joystick_y_axis = 0x8006A5E0; +clamp_joystick = 0x8006A624; +disable_button_mask = 0x8006A6A0; + +// game.c .text +init_level_globals = 0x8006A6B0; +func_8006ABB4 = 0x8006ABB4; +search_level_properties_forwards = 0x8006AC00; +search_level_properties_backwards = 0x8006AE2C; +get_race_type_count = 0x8006B018; +get_world_level_count = 0x8006B054; +get_map_default_vehicle = 0x8006B0AC; +get_map_available_vehicles = 0x8006B0F8; +get_map_race_type = 0x8006B14C; +get_map_world_id = 0x8006B190; +get_hub_area_id = 0x8006B1D4; +get_number_of_levels_and_worlds = 0x8006B224; +check_if_in_race = 0x8006B240; +load_level = 0x8006B250; +start_level_music = 0x8006BD10; +get_current_map_id = 0x8006BD88; +get_current_level_race_type = 0x8006BD98; +get_current_level_header = 0x8006BDB0; +get_total_level_header_count = 0x8006BDC0; +get_level_name = 0x8006BDDC; +clear_audio_and_track = 0x8006BEFC; +set_ai_level = 0x8006BFC8; +free_ai_behaviour_table = 0x8006C164; +get_ai_behaviour_table = 0x8006C18C; +is_two_player_adventure_race = 0x8006C19C; +push_level_property_stack = 0x8006C1AC; +pop_level_property_stack = 0x8006C22C; +clear_level_property_stack = 0x8006C2E4; +get_level_property_stack_pos = 0x8006C2F0; +func_8006C300 = 0x8006C300; + +// thread3_main.c .text +thread3_main = 0x8006C330; +init_game = 0x8006C3E0; +main_game_loop = 0x8006C60C; +load_next_ingame_level = 0x8006CAE4; +load_level_game = 0x8006CB58; +unload_level_game = 0x8006CC14; +mode_game = 0x8006CCF0; +set_drumstick_unlock_transition = 0x8006D8A4; +race_postrace_type = 0x8006D8E0; +func_8006D8F0 = 0x8006D8F0; +func_8006D968 = 0x8006D968; +get_game_mode = 0x8006DA0C; +set_game_mode = 0x8006DA1C; +load_menu_with_level_background = 0x8006DA28; +set_level_default_vehicle = 0x8006DB14; +set_vehicle_id_for_menu = 0x8006DB20; +get_level_default_vehicle = 0x8006DB2C; +load_level_menu = 0x8006DB3C; +unload_level_menu = 0x8006DBE4; +update_menu_scene = 0x8006DC58; +mode_menu = 0x8006DCF8; +load_level_for_menu = 0x8006E2E8; +calc_and_alloc_heap_for_settings = 0x8006E3BC; +init_racer_headers = 0x8006E5BC; +clear_lap_records = 0x8006E770; +clear_game_progress = 0x8006E994; +reset_save_data = 0x8006EA58; +get_settings = 0x8006EA90; +is_game_paused = 0x8006EAA0; +is_postrace_viewport_active = 0x8006EAB0; +is_reset_pressed = 0x8006EAC0; +get_ingame_map_id = 0x8006EB14; +mark_to_read_flap_times = 0x8006EB24; +mark_to_read_course_times = 0x8006EB40; +mark_to_read_flap_and_course_times = 0x8006EB5C; +mark_read_save_file = 0x8006EB78; +mark_read_all_save_files = 0x8006EBA8; +mark_to_write_flap_times = 0x8006EBC4; +mark_to_write_course_times = 0x8006EBE0; +mark_to_write_flap_and_course_times = 0x8006EBFC; +force_mark_write_save_file = 0x8006EC18; +safe_mark_write_save_file = 0x8006EC48; +mark_save_file_to_erase = 0x8006ECAC; +mark_read_eeprom_settings = 0x8006ECC4; +mark_write_eeprom_settings = 0x8006ECE0; +alloc_displaylist_heap = 0x8006ECFC; +drm_validate_dmem = 0x8006EFB8; +default_alloc_displaylist_heap = 0x8006EFDC; +level_transition_begin = 0x8006F140; +func_8006F20C = 0x8006F20C; +begin_trophy_race_teleport = 0x8006F254; +begin_lighthouse_rocket_cutscene = 0x8006F29C; +begin_level_teleport = 0x8006F338; +set_pause_lockout_timer = 0x8006F388; +swap_lead_player = 0x8006F398; +set_frame_blackout_timer = 0x8006F42C; +mode_intro = 0x8006F43C; +is_controller_missing = 0x8006F4C8; +drm_validate_imem = 0x8006F4EC; + +// math_util.c .text +interrupts_disable = 0x8006F510; +interrupts_enable = 0x8006F53C; +set_gIntDisFlag = 0x8006F564; +get_gIntDisFlag = 0x8006F570; +s32_matrix_to_s16_matrix = 0x8006F57C; +f32_matrix_to_s32_matrix = 0x8006F5E0; +guMtxXFMF = 0x8006F64C; +f32_matrix_dot = 0x8006F6EC; +f32_matrix_mult = 0x8006F768; +f32_matrix_to_s16_matrix = 0x8006F870; +set_rng_seed = 0x8006F90C; +save_rng_seed = 0x8006F918; +load_rng_seed = 0x8006F92C; +get_rng_seed = 0x8006F940; +get_random_number_from_range = 0x8006F94C; +s16_matrix_rotate = 0x8006F9B8; +s16_matrix_to_s32_matrix = 0x8006FA40; +s16_vec3_mult_by_s32_matrix_full = 0x8006FA78; +s16_vec3_mult_by_s32_matrix = 0x8006FB60; +object_transform_to_matrix = 0x8006FC30; +f32_matrix_scale = 0x8006FE04; +f32_matrix_y_scale = 0x8006FE30; +object_transform_to_matrix_2 = 0x8006FE74; +func_80070058 = 0x80070058; +f32_matrix_from_rotation_and_scale = 0x80070130; +s16_vec3_apply_object_rotation = 0x800701E4; +f32_vec3_apply_object_rotation = 0x80070320; +f32_vec3_apply_object_rotation2 = 0x800703D8; +f32_vec3_apply_object_rotation3 = 0x80070490; +point_triangle_2d_xz_intersection = 0x800704F0; +f32_matrix_from_position = 0x800705F8; +f32_matrix_from_scale = 0x80070638; +atan2s = 0x8007066C; +arctan2_f = 0x80070750; +s32_matrix_cell_sqrt = 0x80070780; +bad_int_sqrt = 0x800707AC; +sins_f = 0x800707C4; +coss_f = 0x800707F8; +coss_s16 = 0x8007082C; +sins_s16 = 0x80070830; +coss_2 = 0x8007088C; +sins_2 = 0x80070890; +calc_dyn_lighting_for_level_segment = 0x800708D0; +func_80070A04 = 0x80070A04; +area_triangle_2d = 0x80070A2C; +set_breakpoint = 0x80070AD8; +dmacopy_doubleword = 0x80070B04; + +// memory.c .text +mempool_init_main = 0x80070B30; +mempool_new_sub = 0x80070B78; +mempool_init = 0x80070BE4; +mempool_alloc_safe = 0x80070C9C; +mempool_alloc = 0x80070D10; +mempool_slot_find = 0x80070D3C; +mempool_alloc_pool = 0x80070E90; +mempool_alloc_fixed = 0x80070EF8; +mempool_free_timer = 0x800710B0; +mempool_free = 0x80071140; +mempool_free_queue_clear = 0x80071198; +mempool_free_addr = 0x80071278; +func_80071314 = 0x80071314; +mempool_free_queue = 0x80071440; +mempool_locked_set = 0x80071478; +mempool_locked_unset = 0x80071538; +mempool_get_pool = 0x800715EC; +mempool_slot_clear = 0x8007164C; +get_memory_pool_address = 0x80071774; +mempool_slot_assign = 0x8007178C; +align16 = 0x80071850; +align8 = 0x8007186C; +align4 = 0x80071888; +find_active_pool_slot_colours = 0x800718A4; +get_memory_colour_tag_count = 0x80071A24; +mempool_print_tags_usb = 0x80071AD8; +mempool_print_tags_screen = 0x80071B54; +mmSlotPrint = 0x80071C74; +func_80071CE8 = 0x80071CE8; + +// osMotor.c .text +osMotorStop = 0x80071D30; +osMotorStart = 0x80071E58; +osMotorInit = 0x800720DC; + +// save_data.c .text +input_get_id = 0x80072250; +rumble_init = 0x80072298; +rumble_exists = 0x800722E8; +rumble_set = 0x80072348; +rumble_set_fade = 0x80072424; +rumble_start = 0x80072578; +rumble_stop = 0x8007267C; +rumble_kill = 0x80072708; +rumble_update = 0x80072718; +func_80072C54 = 0x80072C54; +func_80072E28 = 0x80072E28; +populate_settings_from_save_data = 0x8007306C; +func_800732E8 = 0x800732E8; +func_80073588 = 0x80073588; +func_800738A4 = 0x800738A4; +get_game_data_file_size = 0x80073C4C; +get_time_data_file_size = 0x80073C54; +get_file_extension = 0x80073C5C; +read_game_data_from_controller_pak = 0x80073E1C; +write_game_data_to_controller_pak = 0x80073F5C; +read_time_data_from_controller_pak = 0x80074018; +write_time_data_to_controller_pak = 0x80074148; +read_save_file = 0x80074204; +erase_save_file = 0x8007431C; +write_save_data = 0x800744DC; +read_eeprom_data = 0x800745D0; +write_eeprom_data = 0x800746F0; +calculate_eeprom_settings_checksum = 0x8007480C; +read_eeprom_settings = 0x80074874; +write_eeprom_settings = 0x8007497C; +calculate_ghost_header_checksum = 0x80074A4C; +func_80074AA8 = 0x80074AA8; +get_ghost_data_file_size = 0x80074B1C; +func_80074B34 = 0x80074B34; +func_80074EB8 = 0x80074EB8; +func_80075000 = 0x80075000; +func_800753D8 = 0x800753D8; +func_800756D4 = 0x800756D4; +get_si_device_status = 0x800758DC; +start_reading_controller_data = 0x80075AEC; +init_controller_paks = 0x80075B18; +check_for_rumble_pak = 0x80075CE0; +repair_controller_pak = 0x80075D38; +reformat_controller_pak = 0x80075DC4; +get_controller_pak_file_list = 0x80075E60; +cpak_free_files = 0x80076164; +get_free_space = 0x80076194; +delete_file = 0x800762C8; +copy_controller_pak_data = 0x80076388; +get_file_number = 0x800764E8; +read_data_from_controller_pak = 0x80076610; +write_controller_pak_file = 0x800766D4; +get_file_size = 0x80076924; +font_codes_to_string = 0x8007698C; +string_to_font_codes = 0x80076A38; +get_file_type = 0x80076AF4; + +// asset_loading.c .text +init_PI_mesg_queue = 0x80076BA0; +load_asset_section_from_rom = 0x80076C58; +load_compressed_asset_from_rom = 0x80076CF0; +load_asset_section_from_rom_to_address = 0x80076DFC; +load_asset_to_address = 0x80076E68; +get_rom_offset_of_asset = 0x80076EE8; +get_size_of_asset_section = 0x80076F30; +dmacopy = 0x80076F78; + +// borders.c .text +divider_draw = 0x80077050; +divider_clear_coverage = 0x80077268; + +// rcp.c .text +gfxtask_run_xbus = 0x80077450; +gfxtask_run_xbus_2 = 0x800775B0; +gfxtask_run_fifo = 0x80077734; +gfxtask_run_fifo_2 = 0x800778C8; +gfxtask_wait = 0x80077A54; +gfxtask_run_rdp = 0x80077AAC; +bgdraw_primcolour = 0x80077B34; +bgdraw_fillcolour = 0x80077B5C; +bgdraw_render = 0x80077B9C; +rdp_init = 0x80078054; +rsp_init = 0x800780DC; +gfxtask_init = 0x80078100; +bgdraw_texture_init = 0x80078170; +func_80078190 = 0x80078190; +bgdraw_chequer_on = 0x80078778; +bgdraw_chequer_off = 0x800787F0; +bgdraw_chequer = 0x800787FC; +bgdraw_set_func = 0x80078AAC; +texrect_draw = 0x80078AB8; +texrect_draw_scaled = 0x80078D00; + +// sched.c .text +osCreateScheduler = 0x80079350; +osScAddClient = 0x80079480; +osScRemoveClient = 0x800794E4; +osScGetCmdQ = 0x80079574; +osScGetInterruptQ = 0x8007957C; +scGetAudioTaskTimers = 0x80079584; +func_80079760 = 0x80079760; +dummy_80079808 = 0x80079808; +dummy_80079810 = 0x80079810; +__scHandleRetrace = 0x80079818; +__scHandleRSP = 0x80079B44; +__scHandleRDP = 0x80079D5C; +__scTaskReady = 0x80079DE8; +__scTaskComplete = 0x80079E40; +__scAppendList = 0x80079F40; +__scExec = 0x80079FA8; +__scYield = 0x8007A080; + +// set_rsp_segment.c .text +rsp_segment = 0x8007A2D0; + +// video.c .text +video_init = 0x8007A310; +fb_mode_set = 0x8007A4C0; +fb_mode = 0x8007A4CC; +fb_mode_size = 0x8007A4DC; +fb_size = 0x8007A520; +fb_init_vi = 0x8007A550; +fb_alloc = 0x8007A7E8; +video_delta_reset = 0x8007A974; +fb_update = 0x8007A98C; +func_8007AB24 = 0x8007AB24; +vi_refresh_rate = 0x8007AB34; +fb_swap = 0x8007AB9C; +fb_memcpy = 0x8007ABFC; + +// textures_sprites.c .text +tex_init_textures = 0x8007AC70; +tex_disable_modes = 0x8007AE0C; +tex_enable_modes = 0x8007AE28; +get_loaded_2D_textures = 0x8007AE44; +get_loaded_3D_textures = 0x8007AE54; +func_8007AE64 = 0x8007AE64; +load_texture = 0x8007AE74; +free_texture = 0x8007B2BC; +set_texture_colour_tag = 0x8007B374; +func_8007B380 = 0x8007B380; +reset_render_settings = 0x8007B3D0; +enable_primitive_colour = 0x8007B43C; +disable_primitive_colour = 0x8007B454; +set_animated_texture_header = 0x8007B46C; +load_and_set_texture_no_offset = 0x8007B4C8; +load_and_set_texture = 0x8007B4E8; +load_blinking_lights_texture = 0x8007BA5C; +sprite_opaque = 0x8007BF1C; +func_8007BF34 = 0x8007BF34; +func_8007C12C = 0x8007C12C; +func_8007C52C = 0x8007C52C; +get_texture_size_from_id = 0x8007C57C; +func_8007C660 = 0x8007C660; +func_8007C860 = 0x8007C860; +func_8007C8A0 = 0x8007C8A0; +load_sprite_info = 0x8007C8E0; +func_8007CA68 = 0x8007CA68; +free_sprite = 0x8007CCB0; +func_8007CDC0 = 0x8007CDC0; +build_tex_display_list = 0x8007D0F4; +func_8007EF64 = 0x8007EF64; +tex_animate_texture = 0x8007EF80; +func_8007F1E8 = 0x8007F1E8; +update_colour_cycle = 0x8007F24C; +init_pulsating_light_data = 0x8007F414; +update_pulsating_light_data = 0x8007F460; +func_8007F594 = 0x8007F594; + +// screen_asset.c .text +load_screen = 0x8007F640; +render_screen = 0x8007F714; + +// menu.c .text +load_menu_text = 0x8007F900; +menu_button_free = 0x8007FF88; +func_8007FFEC = 0x8007FFEC; +menu_button_uvs = 0x80080518; +func_80080580 = 0x80080580; +func_80080BC8 = 0x80080BC8; +menu_geometry_end = 0x80080E6C; +func_80080E90 = 0x80080E90; +init_save_data = 0x80081218; +reset_title_logo_scale = 0x800813C0; +menu_init = 0x800813D0; +menu_loop = 0x800815A4; +menu_timestamp_render = 0x80081800; +menu_number_render = 0x80081C04; +postrace_offsets = 0x80081E54; +postrace_render = 0x80081F4C; +draw_menu_elements = 0x800821EC; +trackmenu_set_records = 0x800828B8; +menu_missing_controller = 0x800829F8; +menu_logos_screen_init = 0x80082AAC; +menu_logo_screen_loop = 0x80082B84; +init_title_screen_variables = 0x80082FAC; +func_80083098 = 0x80083098; +menu_title_screen_init = 0x8008353C; +render_title_screen = 0x8008377C; +menu_title_screen_loop = 0x800839E4; +titlescreen_free = 0x80084118; +menu_options_init = 0x8008415C; +optionscreen_render = 0x800841B8; +menu_options_loop = 0x8008435C; +optionscreen_free = 0x80084734; +menu_audio_options_init = 0x80084754; +func_80084854 = 0x80084854; +menu_audio_options_loop = 0x80084C74; +soundoptions_free = 0x800851FC; +menu_save_options_init = 0x80085270; +savemenu_render_element = 0x800853D0; +savemenu_render = 0x80085B9C; +savemenu_check_space = 0x800860A8; +savemenu_blank_save_destination = 0x800861C8; +savemenu_load_sources = 0x800862C4; +savemenu_load_destinations = 0x800867D4; +savemenu_move = 0x80086A48; +savemenu_write = 0x80086AFC; +savemenu_render_error = 0x800871D8; +savemenu_input_source = 0x800874D0; +savemenu_input_dest = 0x800875E4; +savemenu_input_confirm = 0x800876CC; +savemenu_input_message = 0x80087734; +menu_save_options_loop = 0x80087B60; +savemenu_free = 0x80087EB8; +func_80087F14 = 0x80087F14; +check_for_controller_pak_errors = 0x8008832C; +menu_boot_init = 0x800884F4; +menu_boot_loop = 0x8008860C; +bootscreen_free = 0x800887C4; +bootscreen_init_cpak = 0x800887E8; +pakmenu_render = 0x80088938; +menu_controller_pak_loop = 0x800890AC; +pakmenu_free = 0x800895A4; +menu_magic_codes_init = 0x800895DC; +cheatmenu_render = 0x800896A4; +menu_magic_codes_loop = 0x80089CD8; +cheatmenu_free = 0x8008A4C8; +menu_magic_codes_list_init = 0x8008A4E8; +cheatlist_render = 0x8008A56C; +cheatlist_exclusive = 0x8008A8F8; +menu_magic_codes_list_loop = 0x8008A928; +cheatlist_free = 0x8008AD1C; +cheatmenu_checksum = 0x8008AD44; +charselect_prev = 0x8008AEB4; +titlescreen_controller_assign = 0x8008AF00; +menu_character_select_init = 0x8008AFCC; +charselect_render_text = 0x8008B20C; +charselect_new_player = 0x8008B358; +charselect_pick = 0x8008B4C8; +charselect_input = 0x8008B758; +charselect_assign_ai = 0x8008BB3C; +menu_character_select_loop = 0x8008BD24; +charselect_move = 0x8008BFE8; +charselect_free = 0x8008C128; +charselect_music_channels = 0x8008C168; +menu_caution_init = 0x8008C3B4; +menu_caution_loop = 0x8008C3FC; +caution_free = 0x8008C4E8; +menu_game_select_init = 0x8008C508; +gameselect_render = 0x8008C698; +menu_game_select_loop = 0x8008C7BC; +gameselect_free = 0x8008CACC; +menu_file_select_init = 0x8008CAFC; +fileselect_render_element = 0x8008CC28; +fileselect_render = 0x8008CD74; +fileselect_input_root = 0x8008D5F8; +fileselect_input_copy = 0x8008D8BC; +fileselect_input_erase = 0x8008DC7C; +menu_file_select_loop = 0x8008DE70; +fileselect_free = 0x8008E428; +menu_init_vehicle_textures = 0x8008E45C; +menu_init_arrow_textures = 0x8008E4B0; +menu_input = 0x8008E4EC; +trackmenu_active = 0x8008E790; +menu_track_select_init = 0x8008E7A0; +trackmenu_assets = 0x8008F00C; +menu_track_select_loop = 0x8008F234; +menu_track_select_unload = 0x8008F534; +func_8008F618 = 0x8008F618; +trackmenu_render_2D = 0x8008FA54; +func_8008FF1C = 0x8008FF1C; +trackmenu_track_view = 0x800904E8; +trackmenu_input = 0x80090918; +trackmenu_timetrial_sound = 0x80090ED8; +trackmenu_setup_render = 0x80090F30; +func_80092188 = 0x80092188; +trackmenu_staff_beaten = 0x80092BE0; +menu_adventure_track_init = 0x80092C84; +adventuretrack_render = 0x80092E94; +menu_adventure_track_loop = 0x80093600; +adventuretrack_free = 0x80093A0C; +menu_pause_init = 0x80093A40; +pausemenu_render = 0x80093D40; +menu_pause_loop = 0x80094170; +menu_dialogue_end = 0x800945B0; +menu_close_dialogue = 0x800945E4; +menu_racer_portraits = 0x80094604; +postrace_start = 0x80094688; +postrace_load = 0x80094A5C; +postrace_music_fade = 0x80094C14; +func_80094D28 = 0x80094D28; +postrace_message = 0x80095624; +menu_postrace = 0x80095728; +postrace_free = 0x80096790; +menu_results_init = 0x80096848; +results_render = 0x80096978; +menu_results_loop = 0x800972A8; +results_free = 0x800976CC; +filename_decompress = 0x800976F8; +filename_compress = 0x80097744; +filename_trim = 0x800977D0; +filename_init = 0x80097874; +filename_render = 0x80097918; +filename_enter = 0x80097D10; +menu_unload_bigfont = 0x800981E8; +trophyround_adventure = 0x80098208; +menu_trophy_race_round_init = 0x8009826C; +trophyround_render = 0x800983C0; +menu_trophy_race_round_loop = 0x8009859C; +trophyround_free = 0x80098754; +func_80098774 = 0x80098774; +menu_trophy_race_rankings_init = 0x80098A24; +rankings_render_order = 0x80098EBC; +menu_trophy_race_rankings_loop = 0x80098FD4; +rankings_free = 0x80099600; +get_trophy_race_world_id = 0x8009962C; +ghostmenu_generate = 0x8009963C; +ghostmenu_erase = 0x800998E0; +menu_ghost_data_init = 0x80099A5C; +ghostmenu_render = 0x80099E8C; +menu_ghost_data_loop = 0x8009A7D4; +ghostmenu_free = 0x8009ABAC; +cinematic_start = 0x8009ABD8; +menu_cinematic_init = 0x8009AC98; +menu_cinematic_loop = 0x8009ACFC; +cinematic_free = 0x8009AF18; +menu_credits_init = 0x8009AF48; +credits_fade = 0x8009B1E4; +menu_credits_loop = 0x8009B32C; +credits_free = 0x8009BCF0; +menu_camera_centre = 0x8009BD5C; +func_8009BE54 = 0x8009BE54; +reset_controller_sticks = 0x8009BE5C; +update_controller_sticks = 0x8009BF20; +reset_character_id_slots = 0x8009C154; +get_save_file_index = 0x8009C1A0; +get_track_id_to_load = 0x8009C1B0; +get_character_id_from_slot = 0x8009C228; +get_character_id_from_slot_unused = 0x8009C23C; +get_player_selected_vehicle = 0x8009C250; +set_player_selected_vehicle = 0x8009C264; +charselect_status = 0x8009C274; +get_player_character = 0x8009C280; +enable_tracks_mode = 0x8009C2C4; +is_in_tracks_mode = 0x8009C2D0; +set_magic_code_flags = 0x8009C2E0; +get_filtered_cheats = 0x8009C30C; +get_number_of_active_players = 0x8009C3C8; +get_active_player_count = 0x8009C3D8; +get_multiplayer_racer_count = 0x8009C440; +get_all_save_files_ptr = 0x8009C490; +menu_title_reset = 0x8009C49C; +menu_assetgroup_free = 0x8009C4A8; +menu_asset_free = 0x8009C508; +menu_assetgroup_load = 0x8009C674; +menu_asset_load = 0x8009C6D4; +menu_imagegroup_load = 0x8009C8A4; +menu_image_load = 0x8009C904; +menu_imagegroup_free = 0x8009CA58; +menu_element_render = 0x8009CA60; +render_track_selection_viewport_border = 0x8009CD7C; +dialogue_npc_finish = 0x8009CF68; +dialogue_try_close = 0x8009CFB0; +npc_dialogue_loop = 0x8009CFEC; +set_option_text_colour = 0x8009D118; +render_dialogue_option = 0x8009D1B8; +handle_menu_joystick_input = 0x8009D26C; +func_8009D324 = 0x8009D324; +set_next_taj_challenge_menu = 0x8009D330; +set_menu_id_if_option_equal = 0x8009D33C; +taj_menu_loop = 0x8009D360; +dialogue_race_defeat = 0x8009D9F4; +tt_menu_loop = 0x8009DB3C; +dialogue_tt_gamestatus = 0x8009E3D0; +trophy_race_cabinet_menu_loop = 0x8009E7E8; +dialogue_open_stub = 0x8009E9A0; +dialogue_close_stub = 0x8009E9A8; +dialogue_ortho = 0x8009E9B0; +get_eeprom_settings_pointer = 0x8009EA6C; +set_eeprom_settings_value = 0x8009EA78; +unset_eeprom_settings_value = 0x8009EABC; +get_eeprom_settings = 0x8009EB08; +get_language = 0x8009EB20; +set_language = 0x8009EB94; +is_adventure_two_unlocked = 0x8009EC60; +is_in_adventure_two = 0x8009EC70; +is_in_two_player_adventure = 0x8009EC80; +is_tt_unlocked = 0x8009ECB8; +is_drumstick_unlocked = 0x8009ECD0; + +// game_ui.c .text +init_hud = 0x8009ECF0; +func_8009F034 = 0x8009F034; +free_hud = 0x800A003C; +race_starting = 0x800A0190; +render_hud = 0x800A01A0; +hud_audio_init = 0x800A0B74; +hud_audio_update = 0x800A0BD4; +render_hud_race = 0x800A0DC0; +render_course_indicator_arrows = 0x800A0EB4; +render_hud_banana_challenge = 0x800A1248; +render_hud_challenge_eggs = 0x800A1428; +hud_draw_eggs = 0x800A14F0; +hud_eggs_portrait = 0x800A19A4; +render_hud_battle = 0x800A1C04; +func_800A1E48 = 0x800A1E48; +hud_draw_lives = 0x800A22F4; +render_hud_race_boss = 0x800A258C; +render_hud_taj_race = 0x800A263C; +render_hud_hubworld = 0x800A26C8; +func_800A277C = 0x800A277C; +set_stopwatch_face = 0x800A36CC; +hud_speedometre_reset = 0x800A3870; +render_speedometer = 0x800A3884; +render_race_start = 0x800A3CE4; +render_racer_bananas = 0x800A4154; +render_treasure_hud = 0x800A45F0; +render_silver_coin_counter = 0x800A47A0; +render_race_finish_position = 0x800A497C; +func_800A4C34 = 0x800A4C34; +render_race_position = 0x800A4C44; +render_lap_count = 0x800A4F50; +render_wrong_way_text = 0x800A5A64; +hud_draw_finish_misc = 0x800A5F18; +func_800A6254 = 0x800A6254; +play_time_trial_end_message = 0x800A6DB4; +render_time_trial_finish = 0x800A6E30; +render_balloon_count = 0x800A718C; +hud_sound_play = 0x800A7440; +hud_sound_play_delayed = 0x800A7484; +hud_sound_stop = 0x800A74EC; +render_weapon_hud = 0x800A7520; +render_magnet_reticle = 0x800A7A60; +render_race_time = 0x800A7B68; +render_timer = 0x800A7FBC; +minimap_init = 0x800A83B4; +get_hud_setting = 0x800A8458; +render_minimap_and_misc_hud = 0x800A8474; +minimap_marker_pos = 0x800AA3EC; +func_800AA600 = 0x800AA600; +hud_draw_model = 0x800AAFD0; +minimap_fade = 0x800AB194; +minimap_opacity_set = 0x800AB1AC; +hud_reset_race_start = 0x800AB1C8; +hud_visibility = 0x800AB1D4; + +// weather.c .text +weather_init = 0x800AB1F0; +weather_clip_planes = 0x800AB308; +weather_free = 0x800AB35C; +weather_reset = 0x800AB4A8; +snow_init = 0x800ABB34; +weather_set = 0x800ABC5C; +weather_update = 0x800ABE68; +snow_update = 0x800AC0C8; +snow_vertices = 0x800AC21C; +snow_render = 0x800AC5A4; +lensflare_off = 0x800AC850; +lensflare_on = 0x800AC860; +lensflare_remove = 0x800AC880; +lensflare_init = 0x800AC8A8; +lensflare_render = 0x800ACA20; +lensflare_override_add = 0x800ACF60; +lensflare_override_remove = 0x800ACF98; +lensflare_override = 0x800AD030; +rain_init = 0x800AD144; +free_rain_memory = 0x800AD220; +rain_set = 0x800AD2C4; +rain_fog = 0x800AD40C; +rain_opacity_set = 0x800AD4AC; +rain_update = 0x800AD4B8; +rain_render_splashes = 0x800AD658; +rain_lightning = 0x800ADAB8; +rain_sound = 0x800ADBC8; +render_rain_overlay = 0x800ADCBC; + +// particles.c .text +func_800AE270 = 0x800AE270; +func_800AE2A0 = 0x800AE2A0; +func_800AE2D8 = 0x800AE2D8; +func_800AE374 = 0x800AE374; +func_800AE438 = 0x800AE438; +func_800AE490 = 0x800AE490; +init_particle_assets = 0x800AE530; +func_800AE728 = 0x800AE728; +generate_particle_shape_triangle = 0x800AEE14; +generate_particle_shape_quad = 0x800AEEB8; +func_800AEF88 = 0x800AEF88; +func_800AF024 = 0x800AF024; +func_800AF0A4 = 0x800AF0A4; +func_800AF0F0 = 0x800AF0F0; +func_800AF134 = 0x800AF134; +partInitTrigger = 0x800AF1E0; +func_800AF29C = 0x800AF29C; +func_800AF404 = 0x800AF404; +func_800AF52C = 0x800AF52C; +func_800AF6E4 = 0x800AF6E4; +func_800AF714 = 0x800AF714; +obj_spawn_particle = 0x800AFC3C; +func_800AFE5C = 0x800AFE5C; +func_800B0010 = 0x800B0010; +func_800B03C0 = 0x800B03C0; +func_800B0698 = 0x800B0698; +func_800B0BAC = 0x800B0BAC; +func_800B1130 = 0x800B1130; +func_800B1CB8 = 0x800B1CB8; +func_800B2040 = 0x800B2040; +func_800B2260 = 0x800B2260; +handle_particle_movement = 0x800B22FC; +func_800B263C = 0x800B263C; +func_800B26E0 = 0x800B26E0; +set_particle_texture_frame = 0x800B2FBC; +move_particle_basic_parent = 0x800B3140; +move_particle_velocity_parent = 0x800B3240; +move_particle_with_velocities = 0x800B3358; +move_particle_basic = 0x800B34B0; +move_particle_with_velocity = 0x800B3564; +render_active_particles = 0x800B3678; +render_particle = 0x800B3740; +func_800B3E64 = 0x800B3E64; +get_particle_asset_table = 0x800B4488; +get_next_particle_table = 0x800B44D4; +get_previous_particle_table = 0x800B452C; +get_particle_behaviour = 0x800B4578; +func_800B45C4 = 0x800B45C4; +func_800B461C = 0x800B461C; +func_800B4668 = 0x800B4668; +func_800B46BC = 0x800B46BC; + +// unused_string.c .text +strcpy = 0x800B4710; +strcat = 0x800B4744; +strcasecmp = 0x800B4794; +strncasecmp = 0x800B4848; +memset = 0x800B490C; + +// printf.c .text +_itoa = 0x800B4940; +func_800B4A08 = 0x800B4A08; +sprintf = 0x800B4A14; +vsprintf = 0x800B4A40; +debug_text_init = 0x800B5E88; +render_printf = 0x800B5EDC; +debug_text_print = 0x800B5F78; +debug_text_reset = 0x800B61E0; +set_render_printf_colour = 0x800B620C; +set_render_printf_background_colour = 0x800B62B4; +set_render_printf_position = 0x800B635C; +debug_text_width = 0x800B63F4; +func_800B653C = 0x800B653C; +debug_text_background = 0x800B695C; +debug_text_character = 0x800B69FC; +debug_text_bounds = 0x800B6E50; +debug_text_origin = 0x800B6EE0; +debug_text_newline = 0x800B6F04; + +// audio_assert.c .text +func_800B6F30 = 0x800B6F30; +__assert = 0x800B6F40; + +// thread0_epc.c .text +thread0_create = 0x800B6F50; +thread0_Main = 0x800B6FC4; +enable_interupts_on_main = 0x800B70D0; +stop_all_threads_except_main = 0x800B7144; +write_epc_data_to_cpak = 0x800B71B0; +dump_memory_to_cpak = 0x800B7460; +update_object_stack_trace = 0x800B76B8; +get_lockup_status = 0x800B76DC; +mode_lockup = 0x800B77D4; +render_epc_lock_up_display = 0x800B7810; + +// stack_pointer.c .text +stack_pointer = 0x800B7D10; + +// waves.c .text +free_waves = 0x800B7D20; +wave_init = 0x800B7EB4; +func_800B8134 = 0x800B8134; +func_800B82B4 = 0x800B82B4; +func_800B8B8C = 0x800B8B8C; +func_800B8C04 = 0x800B8C04; +func_800B9228 = 0x800B9228; +func_800B92F4 = 0x800B92F4; +func_800B97A8 = 0x800B97A8; +func_800B9C18 = 0x800B9C18; +func_800BA288 = 0x800BA288; +func_800BA4B8 = 0x800BA4B8; +func_800BA8E4 = 0x800BA8E4; +func_800BB2F4 = 0x800BB2F4; +func_800BBDDC = 0x800BBDDC; +func_800BBE08 = 0x800BBE08; +func_800BBF78 = 0x800BBF78; +func_800BC6C8 = 0x800BC6C8; +func_800BCC70 = 0x800BCC70; +func_800BDC80 = 0x800BDC80; +func_800BE654 = 0x800BE654; +log_wave_height = 0x800BEEB4; +func_800BEFC4 = 0x800BEFC4; +func_800BF3E4 = 0x800BF3E4; +func_800BF524 = 0x800BF524; +func_800BF634 = 0x800BF634; +func_800BF9F8 = 0x800BF9F8; +func_800BFC54 = 0x800BFC54; +func_800BFE98 = 0x800BFE98; +obj_loop_wavepower = 0x800BFFDC; + +// fade_transition.c .text +enable_new_screen_transitions = 0x800C0170; +disable_new_screen_transitions = 0x800C0180; +check_fadeout_transition = 0x800C018C; +transition_begin = 0x800C01D8; +handle_transitions = 0x800C0494; +render_fade_transition = 0x800C05C8; +transition_end = 0x800C0724; +transition_fullscreen_start = 0x800C0780; +process_transition_fullscreen = 0x800C0834; +render_fade_fullscreen = 0x800C0A08; +init_transition_shape = 0x800C0B00; +process_transition_shape = 0x800C1130; +render_fade_barndoor_horizontal = 0x800C13E4; +render_fade_barndoor_vertical = 0x800C14DC; +func_800C15D4 = 0x800C15D4; +func_800C1EE8 = 0x800C1EE8; +render_fade_circle = 0x800C2274; +render_fade_waves = 0x800C23F8; +render_fade_barndoor_diagonal = 0x800C2548; +init_transition_blank = 0x800C2640; +process_transition_disabled = 0x800C27A0; +render_fade_disabled = 0x800C28E8; + +// game_text.c .text +init_dialogue_text = 0x800C29F0; +free_message_box = 0x800C2AB4; +set_subtitles = 0x800C2AF4; +render_subtitles = 0x800C2B00; +find_next_subtitle = 0x800C2D6C; +process_subtitles = 0x800C2F1C; +load_game_text_table = 0x800C3048; +free_game_text_table = 0x800C30CC; +set_textbox_display_value = 0x800C3140; +reset_delayed_text = 0x800C314C; +set_delayed_text = 0x800C3158; +set_current_text = 0x800C31EC; +textbox_visible = 0x800C3400; +process_onscreen_textbox = 0x800C3440; +dialogue_challenge_loop = 0x800C3564; +func_800C38B4 = 0x800C38B4; + +// font.c .text +load_fonts = 0x800C3C00; +set_kerning = 0x800C4164; +load_font = 0x800C4170; +unload_font = 0x800C422C; +set_text_font = 0x800C42EC; +get_loaded_font = 0x800C4318; +set_text_colour = 0x800C4384; +set_text_background_colour = 0x800C43CC; +draw_text_plain_unused = 0x800C4404; +draw_text = 0x800C4440; +draw_dialogue_text_unused = 0x800C44C0; +draw_dialogue_text_pos_unused = 0x800C4510; +render_text_string = 0x800C45A4; +get_text_width = 0x800C4DA0; +set_current_dialogue_box_coords = 0x800C4EDC; +set_dialogue_font = 0x800C4F7C; +set_current_dialogue_background_colour = 0x800C4FBC; +set_current_text_colour = 0x800C5000; +set_current_text_background_colour = 0x800C5050; +set_current_text_offset = 0x800C5094; +reset_current_text_offset = 0x800C50D8; +func_800C510C = 0x800C510C; +render_dialogue_text = 0x800C5168; +move_dialogue_box_to_front = 0x800C5428; +dialogue_clear = 0x800C5494; +align_text_in_box = 0x800C54E8; +open_dialogue_box = 0x800C55F4; +dialogue_close = 0x800C5620; +set_dialogue_box_unused_flag = 0x800C564C; +dialogue_box_clear_unused_flag = 0x800C5678; +enable_dialogue_box_vertices = 0x800C56A4; +clear_dialogue_box_open_flag = 0x800C56D0; +render_dialogue_boxes = 0x800C56FC; +s32_to_string = 0x800C580C; +render_fill_rectangle = 0x800C5AA0; +render_dialogue_box = 0x800C5B58; +parse_string_with_number = 0x800C5F60; + +// osCreatePiManager.c .text +osCreatePiManager = 0x800C6000; + +// gzip.c .text +gzip_init = 0x800C6170; +byteswap32 = 0x800C61AC; +get_asset_uncompressed_size = 0x800C61DC; +gzip_inflate = 0x800C6218; +gzip_huft_build = 0x800C6274; + +// asm/gzip.s .text +gzip_inflate_block = 0x800C68C0; +gzip_inflate_dynamic = 0x800C69C4; +gzip_inflate_fixed = 0x800C6DDC; +gzip_inflate_stored = 0x800C6F34; +gzip_inflate_codes = 0x800C7040; + +// __osLeoInterrupt.c .text +__osLeoInterrupt = 0x800C7340; + +// thread30_track_loading.c .text +create_and_start_thread30 = 0x800C7350; +stop_thread30 = 0x800C73BC; +get_thread30_need_to_load_level = 0x800C73E0; +tick_thread30 = 0x800C73F0; +get_thread30_load_delay = 0x800C7448; +set_level_to_load_in_background = 0x800C7458; +thread30_track_loading = 0x800C74A0; // type:func + +// alHeapInit.c .text +alHeapInit = 0x800C7560; + +// alBnkfNew.c .text +alBnkfNew = 0x800C76A4; +alSeqFileNew = 0x800C77A8; + +// alHeapDBAlloc.c .text +alHeapDBAlloc = 0x800C77F0; + +// +alCSPSetVol = 0x800C7850; +alCSPGetTempo = 0x800C7890; +osGetCount = 0x800C78D0; +alCSPSetChlPan = 0x800C78E0; +alCSPSetChlVol = 0x800C7940; +alCSPGetChlVol = 0x800C79A0; +alSeqpGetChlFXMix = 0x800C79C0; +alCSPSetTempo = 0x800C79E0; +alCSPGetState = 0x800C7A50; +alCSPSetBank = 0x800C7A60; +alCSeqGetLoc = 0x800C7AA0; +alCSeqSetLoc = 0x800C7B40; +alCSeqNextEvent = 0x800C7D04; +alCSeqNew = 0x800C7FFC; +alCSeqNewMarker = 0x800C8110; +alCSeqGetTicks = 0x800C827C; +alCSeqSecToTicks = 0x800C8284; +alCSeqTicksToSec = 0x800C8380; +__alCSeqNextDelta = 0x800C83EC; + + +alCSPSetSeq = 0x800C8560; +alCSPPlay = 0x800C85A0; +alCSPStop = 0x800C85D0; +osAiSetFrequency = 0x800C8600; +alUnlink = 0x800C8760; +alLink = 0x800C8790; +alClose = 0x800C87B4; +alInit = 0x800C87EC; + + +osCreateMesgQueue = 0x800C8820; +osCreateThread = 0x800C8850; +osStartThread = 0x800C89A0; +osStopThread = 0x800C8AF0; +osRecvMesg = 0x800C8BB0; +osVirtualToPhysical = 0x800C8CF0; +osAiSetNextBuffer = 0x800C8D70; +osAiGetLength = 0x800C8E20; +osSendMesg = 0x800C8E30; +osPiStartDma = 0x800C8F80; +alEvtqFlushType = 0x800C9090; +alEvtqFlush = 0x800C913C; +alEvtqPostEvent = 0x800C91AC; +alEvtqNextEvent = 0x800C92D0; +alEvtqNew = 0x800C935C; +alSynAddPlayer = 0x800C93D0; +_allocatePVoice = 0x800C9420; +alSynAllocVoice = 0x800C9508; +alSynSetVol = 0x800C9650; +alSynStartVoice = 0x800C96F0; +alSynSetPitch = 0x800C9780; +alSynSetFXMix = 0x800C9810; +alSynStopVoice = 0x800C98B0; +alSynFreeVoice = 0x800C9930; +alCents2Ratio = 0x800C99E0; +osSetIntMask = 0x800C9A30; +sqrtf = 0x800C9AD0; +alSynSetPriority = 0x800C9AE0; + +// __NOPS_NEEDED +__NOPS_NEEDED = 0x800C9AF0; + +// llcvt.c .text +__d_to_ll = 0x800C9B30; +__f_to_ll = 0x800C9B4C; +__d_to_ull = 0x800C9B68; +__f_to_ull = 0x800C9C08; +__ll_to_d = 0x800C9CA4; +__ll_to_f = 0x800C9CBC; +__ull_to_d = 0x800C9CD4; +__ull_to_f = 0x800C9D08; + +// rmonPrintf.c .text +rmonPrintf = 0x800C9D54; + +// bcopy +bcopy = 0x800C9DA0; +alFilterNew = 0x800CA0B0; +alEnvmixerPull = 0x800CA0D0; +alEnvmixerParam = 0x800CAA7C; +_frexpf = 0x800CB104; +_ldexpf = 0x800CB288; +alLoadParam = 0x800CB540; +alRaw16Pull = 0x800CB714; +alAdpcmPull = 0x800CBBEC; +alResampleParam = 0x800CC090; +alResamplePull = 0x800CC17C; +alMainBusParam = 0x800CC390; +alMainBusPull = 0x800CC3C0; +alSaveParam = 0x800CC4E0; +alSavePull = 0x800CC514; +osInitialize = 0x800CC5A0; +osSetThreadPri = 0x800CC840; +guPerspectiveF = 0x800CC920; +guPerspective = 0x800CCB50; +osSetEventMesg = 0x800CCBB0; +osContInit = 0x800CCC20; +__osContGetInitData = 0x800CCE18; +__osPackRequestData = 0x800CCEE8; +osContStartReadData = 0x800CCFE0; +osContGetReadData = 0x800CD0A4; +__osSpSetStatus = 0x800CD240; +osDpSetStatus = 0x800CD250; +osSetTime = 0x800CD260; +osPfsIsPlug = 0x800CD290; +__osPfsRequestData = 0x800CD430; +__osPfsGetInitData = 0x800CD52C; +__osSiCreateAccessQueue = 0x800CD600; +__osSiGetAccess = 0x800CD650; +__osSiRelAccess = 0x800CD694; +__osSiRawStartDma = 0x800CD6C0; +__osContAddressCrc = 0x800CD770; +__osContDataCrc = 0x800CD820; +__osContRamWrite = 0x800CD8F0; +__osContRamRead = 0x800CDCA0; +bcmp = 0x800CE050; + +// libc/string.c .text +memcpy = 0x800CE170; +strlen = 0x800CE19C; +strchr = 0x800CE1C4; + +// +osEepromProbe = 0x800CE210; +osEepromRead = 0x800CE280; +__osPackEepReadData = 0x800CE470; +osEepromWrite = 0x800CE580; +__osPackEepWriteData = 0x800CE730; +__osEepStatus = 0x800CE83C; +__ull_rshift = 0x800CEA60; +__ull_rem = 0x800CEA8C; +__ull_div = 0x800CEAC8; +__ll_lshift = 0x800CEB04; +__ll_rem = 0x800CEB30; +__ll_div = 0x800CEB6C; +__ll_mul = 0x800CEBC8; +__ull_divremi = 0x800CEBF8; +__ll_mod = 0x800CEC58; +__ll_rshift = 0x800CECF4; + +// +osPfsInit = 0x800CED20; +__osPfsGetStatus = 0x800CEDD4; +osPfsReadWriteFile = 0x800CEFDC; +osPfsFreeBlocks = 0x800CF3E0; + +// osPfsChecker.c .text +osPfsChecker = 0x800CF530; +corrupted_init = 0x800CFBF4; +corrupted = 0x800CFDA8; + +// osPfsReFormat +osPfsReFormat = 0x800CFF90; +osPfsNumFiles = 0x800D0390; +bzero = 0x800D04E0; +osPfsFileState = 0x800D0580; +osPfsDeleteFile = 0x800D0870; +__osPfsReleasePages = 0x800D0B50; +__osBlockSum = 0x800D0D88; +osPfsFindFile = 0x800D0E80; +osPfsAllocateFile = 0x800D1040; +__osPfsDeclearPage = 0x800D14C4; +osInvalDCache = 0x800D17F0; +osWritebackDCacheAll = 0x800D18A0; +osDpGetStatus = 0x800D18D0; +osDpSetNextBuffer = 0x800D18E0; +osCreateViManager = 0x800D1990; +viMgrMain = 0x800D1B08; + +// osViSetMode +osViSetMode = 0x800D1CA0; +osViBlack = 0x800D1D10; +osViSetEvent = 0x800D1D80; +osSpTaskYielded = 0x800D1DF0; +osViGetCurrentFramebuffer = 0x800D1E70; +osViGetNextFramebuffer = 0x800D1EB0; +osSpTaskLoad = 0x800D200C; +osSpTaskStartGo = 0x800D216C; +osGetTime = 0x800D21B0; +osSpTaskYield = 0x800D2240; +osViSetSpecialFeatures = 0x800D2260; +osViSwapBuffer = 0x800D2420; +__osGetActiveQueue = 0x800D2470; +__osPiCreateAccessQueue = 0x800D2480; +__osPiGetAccess = 0x800D24D0; +__osPiRelAccess = 0x800D2514; +osGetThreadPri = 0x800D2540; +__osDisableInt = 0x800D2560; +__osRestoreInt = 0x800D2580; +osPiRawStartDma = 0x800D25A0; +osEPiRawStartDma = 0x800D2680; +__osDevMgrMain = 0x800D2760; +__osViInit = 0x800D2B10; +alSynDelete = 0x800D2C60; +__osDequeueThread = 0x800D2C70; +__osExceptionPreamble = 0x800D2CB0; +__osException = 0x800D2CC0; +send_mesg = 0x800D31E4; +handle_CpU = 0x800D3298; +__osEnqueueAndYield = 0x800D32CC; +__osEnqueueThread = 0x800D33CC; +__osPopThread = 0x800D3414; +__osDispatchThread = 0x800D3424; +__osCleanupThread = 0x800D35A0; +__osProbeTLB = 0x800D35B0; + +// __osAiDeviceBusy +__osAiDeviceBusy = 0x800D3670; +osJamMesg = 0x800D36A0; +osPiGetCmdQueue = 0x800D37F0; +alCopy = 0x800D3820; +_Printf = 0x800D3F10; +__osSetSR = 0x800D4560; +__osGetSR = 0x800D4570; +__osSetFpcCsr = 0x800D4580; +__osSiRawReadIo = 0x800D4590; +__osSiRawWriteIo = 0x800D45E0; +osWritebackDCache = 0x800D4630; +osInvalICache = 0x800D46B0; +osMapTLBRdb = 0x800D4730; +osPiRawReadIo = 0x800D4790; +__osSetHWIntrRoutine = 0x800D47F0; + +// guMtxUtil +guMtxF2L = 0x800D4840; +guMtxIdentF = 0x800D4940; +guMtxIdent = 0x800D49C8; +guMtxL2F = 0x800D49F8; + +// cosf +cosf = 0x800D4AB0; + +// sinf +sinf = 0x800D4C20; + +// osSetTimer +osSetTimer = 0x800D4DE0; + +// osTimer +__osTimerServicesInit = 0x800D4EC0; +__osTimerInterrupt = 0x800D4F4C; +__osSetTimerIntr = 0x800D50C4; +__osInsertTimer = 0x800D5138; + +// si +__osSiDeviceBusy = 0x800D52C0; +__osSumcalc = 0x800D52F0; +__osIdCheckSum = 0x800D534C; +__osRepairPackId = 0x800D53B4; +__osCheckPackId = 0x800D57CC; +__osGetId = 0x800D5964; +__osCheckId = 0x800D5BC0; +__osPfsRWInode = 0x800D5CBC; +__osPfsSelectBank = 0x800D5FDC; + +// dp +__osDpDeviceBusy = 0x800D6050; +__osViGetCurrentContext = 0x800D6080; +__osViSwapContext = 0x800D6090; +__osSpGetStatus = 0x800D63F0; +__osSpSetPc = 0x800D6400; +__osSpRawStartDma = 0x800D6440; +__osSpDeviceBusy = 0x800D64D0; +__osResetGlobalIntMask = 0x800D6500; +osEPiRawWriteIo = 0x800D6560; +osYieldThread = 0x800D65B0; +osDestroyThread = 0x800D6600; +_Litob = 0x800D6700; +_Genld = 0x800D69A0; +_Ldtob = 0x800D6F10; +__osSetCompare = 0x800D7460; + +// ldiv +lldiv = 0x800D7470; +ldiv = 0x800D7570; + +// ucode_text us v77 +aspMainTextStart = 0x800D7600; // size:0xEC0 +rspF3DDKRBootStart = 0x800D84C0; // size:0xD0 +rspF3DDKRDramStart = 0x800D8590; // size:0x1200 +rspF3DDKRFifoStart = 0x800D9790; // size:0x11E0 +rspF3DDKRXbusStart = 0x800DA970; // size:0x1200 +rspUnknown2Start = 0x800DBB70; // size:0xAC0 + +// audio.c .data +gMusicPlayer = 0x800DC630; +gJinglePlayer = 0x800DC634; +gMusicBaseVolume = 0x800DC638; +sfxRelativeVolume = 0x800DC63C; +gCanPlayMusic = 0x800DC640; +gCanPlayJingle = 0x800DC644; +gBlockMusicChange = 0x800DC648; +audioPrevCount = 0x800DC64C; +sMusicFadeVolume = 0x800DC650; +gMusicSliderVolume = 0x800DC654; +gDelayedSoundsCount = 0x800DC658; +gMusicNextSeqID = 0x800DC65C; +gJingleNextSeqID = 0x800DC660; +D_800DC664 = 0x800DC664; +D_800DC668 = 0x800DC668; +gGlobalMusicVolume = 0x800DC66C; +gBlockVoiceLimitChange = 0x800DC670; + +// audiomgr.c .data +audFrameCt = 0x800DC680; +nextDMA = 0x800DC684; +curAcmdList = 0x800DC688; +gAntiPiracyAudioFreq = 0x800DC68C; +gFunc80019808Checksum = 0x800DC690; +gFunc80019808Length = 0x800DC694; + +// audiosfx.c .data +D_800DC6B0 = 0x800DC6B0; // size:0xC +gAlSndPlayerPtr = 0x800DC6BC; +sfxVolumeSlider = 0x800DC6C0; +D_800DC6C4 = 0x800DC6C4; + +// audio_vehicle.c .data +gVehicleSounds = 0x800DC6D0; +D_800DC6D4 = 0x800DC6D4; +D_800DC6D8 = 0x800DC6D8; + +// audio_spatial.c .data +gUsedMasks = 0x800DC6E0; + +// objects.c .data +gTajChallengeTransition = 0x800DC6F0; +gBalloonCutsceneTransition = 0x800DC6F8; +D_800DC700 = 0x800DC700; +D_800DC704 = 0x800DC704; +D_800DC708 = 0x800DC708; +D_800DC70C = 0x800DC70C; +D_800DC710 = 0x800DC710; +D_800DC714 = 0x800DC714; +gGhostObjStaff = 0x800DC718; +D_800DC71C = 0x800DC71C; +gObjectTexAnim = 0x800DC720; +gTimeTrialTime = 0x800DC724; +gTimeTrialVehicle = 0x800DC728; +gTimeTrialCharacter = 0x800DC72C; +gHasGhostToSave = 0x800DC730; +gTimeTrialStaffGhost = 0x800DC734; +gBeatStaffGhost = 0x800DC738; +D_800DC73C = 0x800DC73C; +D_800DC740 = 0x800DC740; +gSwapLeadPlayer = 0x800DC744; +D_800DC748 = 0x800DC748; +D_800DC74C = 0x800DC74C; +D_800DC754 = 0x800DC754; +gShieldEffectObject = 0x800DC75C; +D_800DC760 = 0x800DC760; +gMagnetEffectObject = 0x800DC764; +D_800DC768 = 0x800DC768; +D_800DC76C = 0x800DC76C; +D_800DC7A8 = 0x800DC7A8; +D_800DC7B8 = 0x800DC7B8; // type:s16 size:0x66 +gBossVehicles = 0x800DC820; // size:0x14 +D_800DC834 = 0x800DC834; +D_800DC840 = 0x800DC840; +gNoBoundsCheck = 0x800DC848; +gMagnetColours = 0x800DC84C; +gRaceEndFade = 0x800DC858; +gRaceEndTransition = 0x800DC860; + +// tracks.c .data +D_800DC870 = 0x800DC870; +gFullFadeToBlack = 0x800DC874; +gCircleFadeToBlack = 0x800DC87C; +D_800DC884 = 0x800DC884; +D_800DC8AC = 0x800DC8AC; +gCurrentLevelModel = 0x800DC918; +gCurrentLevelHeader2 = 0x800DC91C; +D_800DC920 = 0x800DC920; +D_800DC924 = 0x800DC924; +D_800DC928 = 0x800DC928; +D_800DC92C = 0x800DC92C; + +// lights.c .data +gActiveLights = 0x800DC950; +D_800DC954 = 0x800DC954; +gMaxLights = 0x800DC958; +gNumActiveLights = 0x800DC95C; +D_800DC960 = 0x800DC960; +D_800DC964 = 0x800DC964; +D_800DC968 = 0x800DC968; + +// object_functions.c .data +gTajTransformTransitionEnd = 0x800DC970; +gTajTransition = 0x800DC978; +gCharacterFlagVertices = 0x800DC980; +D_800DC9A8 = 0x800DC9A8; +D_800DC9CC = 0x800DC9CC; +D_800DC9D0 = 0x800DC9D0; +D_800DCA50 = 0x800DCA50; +D_800DCA58 = 0x800DCA58; +D_800DCA64 = 0x800DCA64; +D_800DCA70 = 0x800DCA70; +D_800DCA7C = 0x800DCA7C; +D_800DCA88 = 0x800DCA88; +D_800DCA94 = 0x800DCA94; +D_800DCA9C = 0x800DCA9C; +D_800DCAA8 = 0x800DCAA8; +D_800DCB28 = 0x800DCB28; + +// racer.c .data +gObjLoopGoldenBalloonLength = 0x800DCB50; +gAntiPiracyHeadroll = 0x800DCB54; +D_800DCB58 = 0x800DCB58; +D_800DCB5C = 0x800DCB5C; +D_800DCB60 = 0x800DCB60; +gNumViewports = 0x800DCB98; +gSurfaceTractionTable = 0x800DCB9C; +D_800DCBE8 = 0x800DCBE8; +gSurfaceBobbingTable = 0x800DCC34; +gSurfaceSoundTable = 0x800DCC80; +D_800DCCCC = 0x800DCCCC; +gSurfaceFlagTable = 0x800DCCF4; +gSurfaceFlagTable4P = 0x800DCD40; +gRacerAIBalloonActionTable = 0x800DCD90; +D_800DCDA0 = 0x800DCDA0; +D_800DCDA8 = 0x800DCDA8; +D_800DCDB0 = 0x800DCDB0; +gObjLoopGoldenBalloonChecksum = 0x800DCDD0; +gDoorFadeTransition = 0x800DCDD4; + +// vehicle_tricky.c .data +gTrickyVoiceTable = 0x800DCDE0; + +// vehicle_bluey.c .data +gBlueyVoiceTable = 0x800DCE00; + +// vehicle_smokey.c .data +gSmokeyVoiceTable = 0x800DCE20; + +// vehicle_bubbler.c .data +gBubblerVoiceTable = 0x800DCE40; + +// vehicle_wizpig.c .data +gWizpigVoiceTable = 0x800DCE60; + +// vehicle_rocket.c .data +gRocketVoiceTable = 0x800DCE80; + +// object_models.c .data +gTractionTableChecksum = 0x800DCEA0; +gTrackRenderFuncLength = 0x800DCEA4; + +// al/reverb.c .data +alFXEnabled = 0x800DCEB0; + +// al/alSynStartVoiceParams .data +gStereoPanMode = 0x800DD050; + +// camera.c .data +gAntiPiracyViewport = 0x800DD060; +gScreenViewports = 0x800DD064; +gViewportWithBG = 0x800DD134; +gVehiclePartVertex = 0x800DD138; +gViewportStack = 0x800DD148; +D_800DD288 = 0x800DD288; +D_800DD2A0 = 0x800DD2A0; +gOrthoMatrixF = 0x800DD2B8; +gCameraZoomLevels = 0x800DD2F8; + +// controller.c .data +sNoControllerPluggedIn = 0x800DD300; +gButtonMask = 0x800DD304; + +// game.c .data +gTempLevelNames = 0x800DD310; +gCurrentDefaultVehicle = 0x800DD314; +gTwoPlayerAdvRace = 0x800DD318; +gIsInRace = 0x800DD31C; +gViewportFuncChecksum = 0x800DD320; +gViewportFuncLength = 0x800DD324; +gLevelPropertyStackPos = 0x800DD328; +D_800DD32C = 0x800DD32C; +D_800DD330 = 0x800DD330; + +// thread3_main.c .data +sDebugRomBuildInfo = 0x800DD340; // size:0xC +gBuildString = 0x800DD34C; // type:asciz size:0x28 +sAntiPiracyTriggered = 0x800DD374; // type:s8 +D_800DD378 = 0x800DD378; +gSaveDataFlags = 0x800DD37C; +gScreenStatus = 0x800DD380; +sControllerStatus = 0x800DD384; +D_800DD388 = 0x800DD388; +gSkipGfxTask = 0x800DD38C; +gDrumstickSceneLoadTimer = 0x800DD390; +gLevelLoadTimer = 0x800DD394; +gPauseLockTimer = 0x800DD398; +gFutureFunLandLevelTarget = 0x800DD39C; +gDmemInvalid = 0x800DD3A0; +D_800DD3A4 = 0x800DD3A4; +D_800DD3A8 = 0x800DD3A8; +D_800DD3AC = 0x800DD3AC; +gNumF3dCmdsPerPlayer = 0x800DD3B0; // size:0x10 +gNumHudVertsPerPlayer = 0x800DD3C0; // size:0x10 +gNumHudMatPerPlayer = 0x800DD3D0; // size:0x10 +gNumHudTrisPerPlayer = 0x800DD3E0; // size:0x10 +gDrawFrameTimer = 0x800DD3F0; +D_800DD3F4 = 0x800DD3F4; +D_800DD3FC = 0x800DD3FC; +sLogicUpdateRate = 0x800DD404; +gDrumstickSceneTransition = 0x800DD408; +D_800DD410 = 0x800DD410; +gLevelFadeOutTransition = 0x800DD41C; +D_800DD424 = 0x800DD424; + +// math_util_data .data +gIntDisFlag = 0x800DD430; +gCurrentRNGSeed = 0x800DD434; +gPrevRNGSeed = 0x800DD438; +gSineTable = 0x800DD43C; +gArcTanTable = 0x800DDC3E; + +// save_data.c .data +gPakFileList = 0x800DE440; +gN64FontCodes = 0x800DE444; +sControllerPaksPresent = 0x800DE488; +gRumbleKillTimer = 0x800DE48C; + +// rcp.c .data +gGfxTaskMesgNums = 0x800DE490; +sBGPrimColourrR = 0x800DE4B0; +sBGPrimColourrG = 0x800DE4B4; +sBGPrimColourrB = 0x800DE4B8; +sBackgroundFillColour = 0x800DE4BC; +gTexBGShiftX = 0x800DE4C0; +gTexBGTex1 = 0x800DE4C4; +gTexBGTex2 = 0x800DE4C8; +gChequerBGEnabled = 0x800DE4CC; +gBGDrawFunc = 0x800DE4D0; +gGfxBufCounter = 0x800DE4D4; +ggGfxBufCounter2 = 0x800DE4D8; +gGfxTaskIsRunning = 0x800DE4DC; +dRspInit = 0x800DE4E0; +dRdpInit = 0x800DE520; +dRaceFinishBackgroundSettings = 0x800DE598; +dChequerBGSettings = 0x800DE5E0; +dTextureRectangleModes = 0x800DE628; +dScaledRectangleBaseModes = 0x800DE670; +dTextureRectangleScaledOpa = 0x800DE6A8; +dTextureRectangleScaledXlu = 0x800DE6E8; + +//sched.c .data +D_800DE730 = 0x800DE730; +gBootBlackoutMesg = 0x800DE738; +gAudTaskTimer0 = 0x800DE740; +gAudTaskTimer1 = 0x800DE744; +gAudTaskTimer2 = 0x800DE748; +gAudTaskTimer3 = 0x800DE74C; +gRetraceCounter32 = 0x800DE750; +gCurRSPTaskCounter = 0x800DE754; +gCurRDPTaskCounter = 0x800DE758; +D_800DE75C = 0x800DE75C; +gRetraceCounter64 = 0x800DE760; + +// video.c .data +gVideoDepthBuffer = 0x800DE770; +D_800DE774 = 0x800DE774; +D_800DE778 = 0x800DE778; +gVideoModeResolutions = 0x800DE77C; + +// textures_sprites.c .data +gTexColourTag = 0x800DE7C0; +gSpriteOpaque = 0x800DE7C4; +dRenderSettingsVtxAlpha = 0x800DE7C8; +dRenderSettingsSpriteCld = 0x800DE848; +dRenderSettingsSpriteXlu = 0x800DE868; +dRenderSettingsCommon = 0x800DE8E8; +dRenderSettingsCutout = 0x800DECE8; +dRenderSettingsDecal = 0x800DEDE8; +dRenderSettingsSolidColourVtxAlpha = 0x800DEEE8; +dRenderSettingsSolidColour = 0x800DEF28; +dRenderSettingsPrimOverlay = 0x800DF028; +dRenderSettingsPrimCol = 0x800DF0A8; +dRenderSettingsBlinkingLights = 0x800DF1A8; +D_800DF3A8 = 0x800DF3A8; +D_800DF3D8 = 0x800DF3D8; +D_800DF410 = 0x800DF410; + +// screen_asset.c .data +gRdpSetModeScreenAsset = 0x800DF440; + +// menu.c .data +gInAdvModeTrophyRace = 0x800DF450; +gTrackSelectWoodFrameHeightScale = 0x800DF454; +gResetTitleScale = 0x800DF458; +gTitleScreenCurrentOption = 0x800DF45C; +gMenuCurIndex = 0x800DF460; +unused_800DF464 = 0x800DF464; +gMenuDisableObjAnim = 0x800DF468; +gMissingControllerDelay = 0x800DF46C; +gCurrentMenuId = 0x800DF470; +unused_800DF474 = 0x800DF474; +gTrackSpecifiedWithTrackIdToLoad = 0x800DF478; +gMenuDelay = 0x800DF47C; +gNumberOfReadyPlayers = 0x800DF480; +D_800DF484 = 0x800DF484; +gTitleScreenLoaded = 0x800DF488; +unused_800DF48C = 0x800DF48C; +unused_800DF490 = 0x800DF490; +gIsInAdventureTwo = 0x800DF494; +gPlayerHasSeenCautionMenu = 0x800DF498; +gMenuTextLangTable = 0x800DF49C; +gMenuText = 0x800DF4A0; +sMenuGuiColourR = 0x800DF4A4; +sMenuGuiColourG = 0x800DF4A8; +sMenuGuiColourB = 0x800DF4AC; +sMenuGuiColourBlendFactor = 0x800DF4B0; +gMenuSpriteFlags = 0x800DF4B4; +gIsInTracksMode = 0x800DF4B8; +gNumberOfActivePlayers = 0x800DF4BC; +gIsInTwoPlayerAdventure = 0x800DF4C0; +gTrackIdForPreview = 0x800DF4C4; +gTrackSelectRow = 0x800DF4C8; +gSaveFileIndex = 0x800DF4CC; +unused_800DF4D0 = 0x800DF4D0; +gTrackIdToLoad = 0x800DF4D4; +unused_800DF4D8 = 0x800DF4D8; +gNextTajChallengeMenu = 0x800DF4DC; +gNeedToCloseDialogueBox = 0x800DF4E0; +gDoneTalkingToNPC = 0x800DF4E4; // size:0x5 +gDialogueOptionTangible = 0x800DF4EC; +unused_800DF4F0 = 0x800DF4F0; +sMenuImageProperties = 0x800DF510; // size:0x240 +gAssetsMenuElementIds = 0x800DF750; +gMenuElementIdCount = 0x800DF754; +gMenuObjectsCount = 0x800DF758; +gMenuImages = 0x800DF75C; +sMenuMusicVolume = 0x800DF760; // type:s32 size:0x4 +sMenuGuiOpacity = 0x800DF764; +unused_800DF768 = 0x800DF768; +sMenuTransitionFadeInFast = 0x800DF76C; +sMenuTransitionFadeIn = 0x800DF774; +sMenuTransitionFadeOut = 0x800DF77C; +sMenuTransitionFadeInWhite = 0x800DF784; +sMenuTransitionFadeOutWhite = 0x800DF78C; +gPostraceState = 0x800DF794; +gTrophyRankingsMenuElements = 0x800DF798; +gPostraceTextOffset = 0x800DF79C; +gPostraceTimestampOffset = 0x800DF7A0; +gTitleMenuStrings = 0x800DF7A4; +gVersionDisplayText = 0x800DF7B0; +sGameTitleTileTextures = 0x800DF7C4; // size:0x18 +sGameTitleTileOffsets = 0x800DF7DC; // size:0x60 +gTitleCinematicText = 0x800DF83C; +gTitleCinematicTextColourCount = 0x800DF9F4; +gTitleCinematicTextColours = 0x800DF9F8; +unused_800DFA0C = 0x800DFA0C; +gOptionMenuStrings = 0x800DFA10; // size:0x1C +gOptionMenuTextures = 0x800DFA2C; // size:0x10 +gAudioMenuStrings = 0x800DFA3C; // size:0x80 +gMusicTestSongIndex = 0x800DFABC; +gSfxVolumeSliderValue = 0x800DFAC0; +gMusicVolumeSliderValue = 0x800DFAC4; +gAudioOutputType = 0x800DFAC8; +gContPakSaveBgColours = 0x800DFACC; +gDeviceStatus = 0x800DFADC; +gControllerIndex = 0x800DFAE0; +gContPakNotPresentStrings = 0x800DFAE4; +gContPakCorruptDataRepairStrings = 0x800DFAFC; +gContPakDamagedStrings = 0x800DFB14; +gContPakFullStrings = 0x800DFB2C; +gContPakDiffContStrings = 0x800DFB40; +gContPakNoRoomForGhostsStrings = 0x800DFB5C; +gContPakCorruptDataStrings = 0x800DFB74; +gContPakRumbleDetectedStrings = 0x800DFB8C; +gContPakSwitchToRumbleStrings = 0x800DFBA4; +gContPakNeed2ndAdvStrings = 0x800DFBBC; +gContPakStrings = 0x800DFBDC; +unused_800DFC08 = 0x800DFC08; +unused_800DFC0C = 0x800DFC0C; +gDrawTexN64Icon = 0x800DFC10; +gDrawTexTTIcon = 0x800DFC20; +gDrawTexGhostIcon = 0x800DFC30; +gDrawTexFileIcon = 0x800DFC40; +gDrawTexContPakIcon = 0x800DFC50; +gDrawTexTrashIcon = 0x800DFC60; +unused_800DFC70 = 0x800DFC70; +gSaveMenuObjectIndices = 0x800DFC78; +gSaveMenuImageIndices = 0x800DFCAC; +gControllerPakMenuElement = 0x800DFCB4; +gShowControllerPakMenu = 0x800DFD94; +gActiveMagicCodes = 0x800DFD98; +gUnlockedMagicCodes = 0x800DFD9C; +gMagicCodeMenuStrings = 0x800DFDA0; +gCharacterVolumes = 0x800DFDB4; // size:0x14 +gCharSelectObjectIndices = 0x800DFDC8; +gCharSelectImageIndices = 0x800DFDCC; +gCharacterSelectBytesDefault = 0x800DFDD0; +gCharacterSelectBytesDrumStick = 0x800DFE40; +gCharacterSelectBytesTT = 0x800DFEC0; +gCharacterSelectBytesComplete = 0x800DFF40; +unused_800DFFCC = 0x800DFFCC; +gEnteredCharSelectFrom = 0x800DFFD0; +unused_800DFFD4 = 0x800DFFD4; +gCautionMenuTextElements = 0x800DFFD8; // size:0x1C0 +gGameSelectTextElemsNoAdv2 = 0x800E0198; +gGameSelectTextElemsWithAdv2 = 0x800E0278; +gFileSelectObjectIndices = 0x800E0398; +gFileSelectImageIndices = 0x800E03A4; +gFilenames = 0x800E03B0; +unused_800E03BC = 0x800E03BC; +gFileSelectButtons = 0x800E03CC; +gFileSelectElementPos = 0x800E03FC; +gMultiplayerSelectedNumberOfRacers = 0x800E0410; +gTracksMenuTimeTrialHighlightIndex = 0x800E0414; +gTracksMenuAdventureHighlightIndex = 0x800E0418; +gMenuSelectionArrowUp = 0x800E041C; +gMenuSelectionArrowLeft = 0x800E042C; +gMenuSelectionArrowDown = 0x800E043C; +gMenuSelectionArrowRight = 0x800E044C; +gRaceSelectionCarTex = 0x800E045C; +gRaceSelectionHoverTex = 0x800E0474; +gRaceSelectionPlaneTex = 0x800E048C; +gRaceSelectionTTOn = 0x800E04A4; +gRaceSelectionTTOff = 0x800E04BC; +gRaceSelectionCarOptHighlight = 0x800E04D4; +gRaceSelectionCarOpt = 0x800E04E4; +gRaceSelectionHoverOptHighlight = 0x800E04F4; +gRaceSelectionHoverOpt = 0x800E0504; +gRaceSelectionPlaneOptHighlight = 0x800E0514; +gRaceSelectionPlaneOpt = 0x800E0524; +gRaceSelectionTTOnOptHighlight = 0x800E0534; +gRaceSelectionTTOffOptHighlight = 0x800E0544; +gRaceSelectionTTOnOpt = 0x800E0554; +gRaceSelectionTTOffOpt = 0x800E0564; +gRaceSelectionPlayer1Texture = 0x800E0574; +gRaceSelectionPlayer2Texture = 0x800E0584; +gRaceSelectionPlayer3Texture = 0x800E0594; +gRaceSelectionPlayer4Texture = 0x800E05A4; +gRaceSelectionVehicleTitleTexture = 0x800E05B4; +gRaceSelectionTTTitleTexture = 0x800E05C4; +D_800E05D4 = 0x800E05D4; +D_800E05F4 = 0x800E05F4; +gRaceSelectionTTTexture = 0x800E0614; +gRaceSelectionImages = 0x800E0624; +gTrackSelectTTImage = 0x800E0648; +gTrackSelectPlayerImage = 0x800E0660; +gMenuSelectionArrows = 0x800E0678; +gTracksMenuPlayerNamePositions = 0x800E0688; +gTracksMenuVehicleNamePositions = 0x800E06B0; +gTracksMenuArrowPositionsNTSC = 0x800E06C4; +gTracksMenuArrowPositionsPAL = 0x800E06D4; +gTwoPlayerRacerCountMenu = 0x800E06E4; +gTracksMenuAdventureButton = 0x800E0700; +gTracksMenuBgTextureIndices = 0x800E0710; // type:s16 size:0x1E +gTracksMenuBgTextures = 0x800E0730; +gTTVoiceLines = 0x800E0758; +gTrackSelectObjectIndices = 0x800E07C4; +gTrackSelectImageIndices = 0x800E07E0; +gTrackSelectPreviewObjectIndices = 0x800E07E8; +gTrackSelectPreviewImageIndices = 0x800E0830; +gTrackSelectBgData = 0x800E0840; +gTrackSelectBgVertices = 0x800E0968; // size:0x8 +gTrackSelectBgTriangles = 0x800E0970; // size:0x8 +gQMarkPtr = 0x800E0978; +gIsInTracksMenu = 0x800E097C; +gTrackNameVoiceDelay = 0x800E0980; +gMenuOptionCap = 0x800E0984; +gMenuSubOption = 0x800E0988; +gLastPlayerWhoPaused = 0x800E098C; +gPlayerPauseBgColour = 0x800E0990; +gPlayerPauseOptionsTextColour = 0x800E09A0; +sBadControllerPakMenuText = 0x800E09B0; +sControllerPakFullMenuText = 0x800E09C4; +sNoControllerPakMenuText = 0x800E09D8; +sCorruptDataMenuText = 0x800E09EC; +D_800E09F8 = 0x800E09F8; +sInsertControllerPakMenuText = 0x800E0A04; +D_800E0A10 = 0x800E0A10; +sInsertRumblePakMenuText = 0x800E0A14; +gRaceResultsObjectIndices = 0x800E0A24; +gRaceResultsImageIndices = 0x800E0A40; +gMenuPortraitKrunch = 0x800E0A50; +gMenuPortraitDiddy = 0x800E0A60; +gMenuPortraitDrumstick = 0x800E0A70; +gMenuPortraitBumper = 0x800E0A80; +gMenuPortraitBanjo = 0x800E0A90; +gMenuPortraitConker = 0x800E0AA0; +gMenuPortraitTiptup = 0x800E0AB0; +gMenuPortraitTT = 0x800E0AC0; +gMenuPortraitPipsy = 0x800E0AD0; +gMenuPortraitTimber = 0x800E0AE0; +gRacerPortraits = 0x800E0AF0; +unused_800E0B18 = 0x800E0B18; +gFirstPlace = 0x800E0BAC; +gSecondPlace = 0x800E0BB0; +gThirdPlace = 0x800E0BB4; +gFourthPlace = 0x800E0BB8; +gFifthPlace = 0x800E0BBC; +gSixthPlace = 0x800E0BC0; +gSeventhPlace = 0x800E0BC4; +gEighthPlace = 0x800E0BC8; +gRacePlacementsArray = 0x800E0BCC; +gRaceResultsMenuElements = 0x800E0BEC; // size:0x100 +gRaceOrderMenuElements = 0x800E0CEC; // size:0x160 +gRecordTimesMenuElements = 0x800E0E4C; // size:0x120 +gFileNameValidChars = 0x800E0F6C; // size:0x20 +gCurFilenameCharBeingDrawn = 0x800E0F8C; // size:0x4 +gEnterInitalsY = 0x800E0F90; +gFilenameX = 0x800E0F94; +gFilenameY = 0x800E0F98; +gFilenameFont = 0x800E0F9C; +gNameEntryLength = 0x800E0FA0; +D_800E0FA4 = 0x800E0FA4; +gCheckAdvEnterInitials = 0x800E0FA8; +D_800E0FAC = 0x800E0FAC; +gIndexOfCurInputCharacter = 0x800E0FB0; +gAdvTrackInitObjectIndices = 0x800E0FB4; +gAdvTrackInitImageIndices = 0x800E0FD8; +gRankingPlayerCount = 0x800E0FE4; +gTrophyRaceWorldId = 0x800E0FE8; +gTrophyRaceRound = 0x800E0FEC; +gPrevTrophyRaceRound = 0x800E0FF0; +unused_800E0FF4 = 0x800E0FF4; +gTrophyRacePointsArray = 0x800E1004; // type:s32 size:0x20 +gTrophyRankingsObjectIndices = 0x800E1024; +gTrophyRaceImageIndices = 0x800E1040; +gTrophyRankingsTitle = 0x800E1048; +gTrophyRankingsRacers = 0x800E1088; +gTrophyRankingsRawIconPositions = 0x800E13A8; // type:s16 size:0x108 +gTrophyRankingsIconPositions = 0x800E14BC; +gDrawTexDinoDomainGhostBg = 0x800E153C; // size:0x58 +gDrawTexSherbetIslandGhostBg = 0x800E1594; // size:0x58 +gDrawTexSnowflakeMountainGhostBg = 0x800E15EC; // size:0x58 +gDrawTexDragonForestGhostBg = 0x800E1644; // size:0x58 +gDrawTexFutureFunLandGhostBg = 0x800E169C; // size:0x58 +gDrawTexWorldBgs = 0x800E16F4; // size:0x14 +gGhostDataObjectIndices = 0x800E1708; // size:0x44 +gGhostDataImageIndices = 0x800E174C; // size:0x8 +gGhostDataElementPositions = 0x800E1754; // size:0x14 +gCinematicObjectIndices = 0x800E1768; // size:0x18 +dCreditsFade = 0x800E1780; +gCreditsObjectIndices = 0x800E17D8; +gCreditsImageIndices = 0x800E17F0; +gCreditsControlData = 0x800E17F4; // size:0x144 +gCreditsArray = 0x800E1938; // defined:true +gCreditsBestTimesArray = 0x800E1A94; // defined:true +gCreditsLastMessageArray = 0x800E1AE4; // defined:true +gCheatsInCreditsArray = 0x800E1AF8; +gViewingCreditsFromCheat = 0x800E1B4C; +gCreditsMenuElements = 0x800E1B50; // size:0x120 +dMenuHudSettings = 0x800E1C70; +dMenuHudDrawModes = 0x800E1CA0; +gWoodPanelsIndices = 0x800E1CD0; +gWoodPanelTexCoords = 0x800E1CF0; +gWoodPanelVertCoords = 0x800E1D2C; +gWoodPanelVertColours = 0x800E1D7C; +gWoodPanelVertices = 0x800E1DA4; // size:0x8 +gWoodPanelTriangles = 0x800E1DAC; // size:0x8 +gMenuTrisFlip = 0x800E1DB4; +gWoodPanelCount = 0x800E1DB8; +gWoodPanelAllocCount = 0x800E1DBC; +gWoodPanelTexScaleU = 0x800E1DC0; +gWoodPanelTexScaleV = 0x800E1DC4; +D_800E1DC8 = 0x800E1DC8; // size:0x20 +gFadeLogoToTitleScreen = 0x800E1DE8; +gRareCopyrightString = 0x800E1DF0; +gFadeTitleScreenDemo = 0x800E1E08; +gConPakAdvSavePrefix = 0x800E1E10; // size:0xC +gTrackSelectSound = 0x800E1E1C; +D_800E1E20 = 0x800E1E20; +gGameStatusVisible = 0x800E1E28; +D_800E1E2C = 0x800E1E2C; +D_800E1E40 = 0x800E1E40; + +// game_ui.c .data +D_800E1E60 = 0x800E1E60; +gHudElementBase = 0x800E1E64; +D_800E25C4 = 0x800E25C4; +D_800E2684 = 0x800E2684; +gHudAudioData = 0x800E2770; +gShowCourseDirections = 0x800E2790; +D_800E2794 = 0x800E2794; +gHudToggleSettings = 0x800E27A4; +gPrevToggleSetting = 0x800E27A8; +gHudLapColours = 0x800E27AC; +gHudIndicatorTimer = 0x800E27B8; +gHudMinimapColours = 0x800E27BC; +gHudColour = 0x800E2834; +sRecordVel = 0x800E2838; +D_800E283C = 0x800E283C; + +// weather.c .data +gWeatherPresets = 0x800E2850; +gSnowPhysics = 0x800E28D4; +gSnowGfx = 0x800E28D8; +gSnowVerts = 0x800E2904; +gSnowVertCount = 0x800E2908; +gSnowTriangles = 0x800E290C; +gSnowTriIndices = 0x800E2910; +gSnowVertexData = 0x800E2914; +gWeatherAssetTable = 0x800E291C; +gWeatherAssetTableLength = 0x800E2920; +dLensFlare = 0x800E2928; +gLensPresetLarge = 0x800E2980; +gLensPreset1 = 0x800E29A0; +gLensPreset2 = 0x800E29E0; +gLensPreset3 = 0x800E2A30; +gLensFlare = 0x800E2A80; +gLensFlareOff = 0x800E2A84; +gLensFlareOverrideObjs = 0x800E2A88; +D_800E2A8C = 0x800E2A8C; +D_800E2A90 = 0x800E2A90; +D_800E2A94 = 0x800E2A94; +D_800E2A98 = 0x800E2A98; +D_800E2A9C = 0x800E2A9C; +D_800E2AA0 = 0x800E2AA0; +D_800E2AA4 = 0x800E2AA4; +D_800E2AA8 = 0x800E2AA8; +gRainVertices = 0x800E2AAC; +gRainSplashSegments = 0x800E2B4C; +gRainGfx = 0x800E2C2C; +gWeatherType = 0x800E2C5C; +gLightningFrequency = 0x800E2C60; +gLightningFrequencyStep = 0x800E2C64; +gLightningFrequencyTarget = 0x800E2C68; +gRainOpacity = 0x800E2C6C; +gRainOpacityStep = 0x800E2C70; +gRainOpacityTarget = 0x800E2C74; +gRainHiddenTimer = 0x800E2C78; +gLightningTimer = 0x800E2C7C; +gThunderTimer = 0x800E2C80; +gRainSplashDelay = 0x800E2C84; +gRainOverlayUnusedValue = 0x800E2C88; +gRainSplashGfx = 0x800E2C8C; +gRainVertexFlip = 0x800E2C90; +gWeatherSoundMask = 0x800E2C94; +gThunderTransition = 0x800E2C98; + +// particles.c .data +D_800E2CA0 = 0x800E2CA0; +D_800E2CA4 = 0x800E2CA4; +D_800E2CA8 = 0x800E2CA8; +D_800E2CAC = 0x800E2CAC; +D_800E2CB0 = 0x800E2CB0; +D_800E2CB4 = 0x800E2CB4; +D_800E2CB8 = 0x800E2CB8; +D_800E2CBC = 0x800E2CBC; +D_800E2CC0 = 0x800E2CC0; +D_800E2CC4 = 0x800E2CC4; +D_800E2CC8 = 0x800E2CC8; +D_800E2CCC = 0x800E2CCC; +D_800E2CD0 = 0x800E2CD0; +D_800E2CD4 = 0x800E2CD4; +D_800E2CD8 = 0x800E2CD8; +D_800E2CDC = 0x800E2CDC; +D_800E2CE0 = 0x800E2CE0; +D_800E2CE4 = 0x800E2CE4; +gParticlesAssetTableCount = 0x800E2CE8; +gParticlesAssets = 0x800E2CEC; +gParticlesAssetTable = 0x800E2CF0; +gParticleBehavioursAssetTableCount = 0x800E2CF4; +gParticleBehavioursAssets = 0x800E2CF8; +gParticleBehavioursAssetTable = 0x800E2CFC; +D_800E2D00 = 0x800E2D00; +D_800E2D08 = 0x800E2D08; +D_800E2D58 = 0x800E2D58; +D_800E2D78 = 0x800E2D78; +D_800E2DF8 = 0x800E2DF8; +D_800E2E28 = 0x800E2E28; +gParticleGravityTable = 0x800E2E2C; +D_800E2E4C = 0x800E2E4C; +D_800E2E50 = 0x800E2E50; +D_800E2E54 = 0x800E2E54; +D_800E2E58 = 0x800E2E58; +D_800E2E5C = 0x800E2E5C; +D_800E2E60 = 0x800E2E60; +D_800E2E64 = 0x800E2E64; +gParticleCoordListTri = 0x800E2E68; +gParticleCoordListQuad = 0x800E2E74; +D_800E2E84 = 0x800E2E84; +D_800E2EC4 = 0x800E2EC4; +gParticleOpacity = 0x800E2EEC; + +// printf.c .data +D_800E2EF0 = 0x800E2EF0; +gDebugFontCoords = 0x800E2EF4; +dDebugFontSettings = 0x800E2FB8; + +// thread0_epc.c .data +sLockupStatus = 0x800E3020; +sLockupPage = 0x800E3024; +sLockupDelay = 0x800E3028; + +// waves.c .data +D_800E3040 = 0x800E3040; +D_800E3044 = 0x800E3044; +D_800E3048 = 0x800E3048; +D_800E304C = 0x800E304C; +D_800E3070 = 0x800E3070; +D_800E3078 = 0x800E3078; +D_800E3080 = 0x800E3080; +D_800E3090 = 0x800E3090; +D_800E30D0 = 0x800E30D0; +D_800E30D4 = 0x800E30D4; +D_800E30D8 = 0x800E30D8; +D_800E30DC = 0x800E30DC; +D_800E30E0 = 0x800E30E0; +D_800E30E4 = 0x800E30E4; +D_800E30E8 = 0x800E30E8; +D_800E30FC = 0x800E30FC; +D_800E3110 = 0x800E3110; +D_800E3144 = 0x800E3144; +D_800E3178 = 0x800E3178; +D_800E317C = 0x800E317C; +D_800E3180 = 0x800E3180; +D_800E3184 = 0x800E3184; +D_800E3188 = 0x800E3188; +D_800E318C = 0x800E318C; +D_800E3190 = 0x800E3190; +D_800E3194 = 0x800E3194; +gWaveGeneratorObj = 0x800E3198; + +// fade_transition.c .data +gTransitionsDisabled = 0x800E31A0; +sLevelTransitionDelayTimer = 0x800E31A4; +gTransitionInvert = 0x800E31A8; +sTransitionStatus = 0x800E31AC; +sTransitionFadeTimer = 0x800E31B0; +gTransitionEndTimer = 0x800E31B4; +sTransitionFadeDuration = 0x800E31B8; +gTransitionFadeIn = 0x800E31BC; +sTransitionVtx = 0x800E31C0; +sTransitionTris = 0x800E31C8; +sTransitionTaskNum = 0x800E31D0; +dTransitionFadeSettings = 0x800E31D8; +gTransitionBarnHorizontalData = 0x800E3230; +gTransitionBarnVerticalData = 0x800E3268; +D_800E32A0 = 0x800E32A0; +D_800E32AC = 0x800E32AC; +gTransitionBarnDoorTris = 0x800E32B8; +gTransitionBarnDoorAlpha = 0x800E32D0; +gTransitionBarnDiagData = 0x800E32DC; +D_800E330C = 0x800E330C; +D_800E3318 = 0x800E3318; +gTransitionBarnDoorDiagTris = 0x800E3324; +gTransitionBarnDoorDiagAlpha = 0x800E3338; +gTransitionWaveData = 0x800E3344; +D_800E3440 = 0x800E3440; +D_800E349C = 0x800E349C; +gTransitionWaveAlpha = 0x800E34F8; +gTransitionWaveTris = 0x800E3554; +dTransitionShapeSettings = 0x800E3648; + +// game_text.c .data +gTextTableExists = 0x800E3670; +gTextDisplayNumber = 0x800E3674; +gTextboxDelay = 0x800E3678; +gDelayedTextID = 0x800E367C; +gSubtitleSetting = 0x800E3680; + +// font.c .data +dDialogueBoxBegin = 0x800E3690; +dDialogueBoxDrawModes = 0x800E36C8; +sDialogueBoxIsOpen = 0x800E36E8; +gDescPowsOf10 = 0x800E36EC; +sDialogueBoxDimensions = 0x800E3710; + +__osPiDevMgr = 0x800E3740; // size:0x1C + +// gzip.c .data +gHuftTable = 0x800E3760; +gPackedHeader = 0x800E3764; +gzip_inflate_input = 0x800E3768; +gzip_inflate_output = 0x800E376C; + +// thread30_track_loading.c .data +gThread30NeedToLoadLevel = 0x800E3770; +gThread30LevelIdToLoad = 0x800E3774; +gThread30CutsceneIdToLoad = 0x800E3778; +gThread30LoadDelay = 0x800E377C; + +// al/sl.c .data +alGlobals = 0x800E3780; + +// osAiSetNextBuffer.c .data +hdwrBugFlag = 0x800E3790; + +// al/env .data +// STATIC VAR +eqpower = 0x800E37A0; // size:0x100 + +// osInitialize.c .data +osClockRate = 0x800E38A0; +__osShutdown = 0x800E38A8; +__OSGlobalIntMask = 0x800E38AC; +gLeoFound = 0x800E38B0; + +// controller.c .data +__osContinitialized = 0x800E38C0; + +// siacs.c .data +__osSiAccessQueueEnabled = 0x800E38D0; + +// osViMgr .data +__osViDevMgr = 0x800E38E0; + +// vitbl .data +osViModeTable = 0x800E3900; +osViModeNtscLpn1 = 0x800E4620; +osViModePalLpn1 = 0x800E4670; +osViModeMpalLpn1 = 0x800E46C0; +osViModeNtscLan1 = 0x800E4710; +osViModePalLan1 = 0x800E4760; +osViModeMpalLan1 = 0x800E47B0; + +__osPiAccessQueueEnabled = 0x800E4800; + +// osSpTaskYielded .data +vi = 0x800E4810; +__osViCurr = 0x800E4870; +__osViNext = 0x800E4874; +osViClock = 0x800E4878; + +// __osViSwapContext .data +__osThreadTail = 0x800E4880; +__osRunQueue = 0x800E4888; +__osActiveQueue = 0x800E488C; +__osRunningThread = 0x800E4890; +__osFaultedThread = 0x800E4894; + +__osHwIntTable = 0x800E48A0; + +// xprintf.c +_spaces = 0x800E48C0; // type:asciz +_zeroes = 0x800E48E4; // type:asciz + +// osTimer.c .data +__osTimerList = 0x800E4910; + +// xlitob .data +ldigs = 0x800E4920; // type:asciz +udigs = 0x800E4934; // type:asciz + +// audio.c .rodata +sAudioErrorString_01 = 0x800E4950; // defined:true type:asciz +sAudioErrorString_02 = 0x800E4980; // defined:true type:asciz +sAudioErrorString_03 = 0x800E49BC; // defined:true type:asciz + +// audiomgr .rodata +D_800E49F0 = 0x800E49F0; +D_800E4A58 = 0x800E4A58; +D_800E4A74 = 0x800E4A74; +D_800E4A9C = 0x800E4A9C; +D_800E4AAC = 0x800E4AAC; +D_800E4AB0 = 0x800E4AB0; +D_800E4B00 = 0x800E4B00; +D_800E4B1C = 0x800E4B1C; +D_800E4B34 = 0x800E4B34; +D_800E4B5C = 0x800E4B5C; +D_800E4B80 = 0x800E4B80; + +// audiosfx .rodata +jpt_800E4BB0 = 0x800E4BB0; + +// audio_vehicle .rodata +D_800E4BF0 = 0x800E4BF0; // type:f32 + +D_800E4BF8 = 0x800E4BF8; // type:f64 +D_800E4C00 = 0x800E4C00; // type:f32 +D_800E4C08 = 0x800E4C08; // type:f64 +D_800E4C10 = 0x800E4C10; // type:f64 +D_800E4C18 = 0x800E4C18; // type:f64 +D_800E4C20 = 0x800E4C20; // type:f64 +D_800E4C28 = 0x800E4C28; // type:f64 +D_800E4C30 = 0x800E4C30; // type:f64 +D_800E4C38 = 0x800E4C38; // type:f32 +D_800E4C40 = 0x800E4C40; // type:f64 +D_800E4C48 = 0x800E4C48; // type:f64 + +D_800E4C78 = 0x800E4C78; // type:f32 +D_800E4C80 = 0x800E4C80; // type:f64 +D_800E4C88 = 0x800E4C88; // type:f64 +D_800E4C90 = 0x800E4C90; // type:f64 +D_800E4C98 = 0x800E4C98; // type:f32 + +D_800E4CC4 = 0x800E4CC4; // type:f32 +D_800E4CC8 = 0x800E4CC8; // type:f64 +D_800E4CD0 = 0x800E4CD0; // type:f32 +D_800E4CD4 = 0x800E4CD4; // type:f32 +D_800E4CD8 = 0x800E4CD8; // type:f64 +D_800E4CE0 = 0x800E4CE0; // type:f32 +D_800E4CE8 = 0x800E4CE8; // type:f64 +D_800E4CF0 = 0x800E4CF0; // type:f32 +D_800E4CF4 = 0x800E4CF4; // type:f32 + +// audio_spatial .rodata +D_800E4D00 = 0x800E4D00; +D_800E4D18 = 0x800E4D18; +D_800E4D58 = 0x800E4D58; +D_800E4DA0 = 0x800E4DA0; +D_800E4DE0 = 0x800E4DE0; +D_800E4E28 = 0x800E4E28; +D_800E4E68 = 0x800E4E68; +D_800E4E9C = 0x800E4E9C; +D_800E4EDC = 0x800E4EDC; +D_800E4F10 = 0x800E4F10; +D_800E4F14 = 0x800E4F14; + +// unknown_008C40 .rodata +// D_800E4F20 = 0x800E4F20; // type:f64 + +// al/seqplayer .rodata +D_800E4F30 = 0x800E4F30; // type:asciz size:0x24 + +// objects .rodata +sObjectOutofMemString = 0x800E4F60; // defined:true +sDoorNumberErrorString = 0x800E4F7C; // defined:true +sObjectScopeErrorString = 0x800E4F98; // defined:true +sObjectListDataOverflowString = 0x800E4FC4; // defined:true +sObjectSetupError1String = 0x800E4FE4; // defined:true +sObjectSetupError2String = 0x800E5008; // defined:true +sObjectSetupError5String = 0x800E502C; // defined:true +sObjectSetupError6String = 0x800E5050; // defined:true +sObjectSetupError3String = 0x800E5074; // defined:true +sObjectListOverflowString = 0x800E5098; // defined:true +sObjectSetupError4String = 0x800E50B0; // defined:true +sDuplicateCheckpointString = 0x800E50D4; // force_not_migration:true defined:true +sErrorChannelString = 0x800E50FC; // force_not_migration:true defined:true +sReadOutErrorString = 0x800E5110; // force_not_migration:true defined:true +sPureAnguishString = 0x800E5120; // force_not_migration:true defined:true +D_800E5130 = 0x800E5130; +D_800E5134 = 0x800E5134; +jpt_800E5154 = 0x800E5154; +D_800E5178 = 0x800E5178; +D_800E517C = 0x800E517C; +D_800E5180 = 0x800E5180; +D_800E5184 = 0x800E5184; +jpt_800E51B4 = 0x800E51B4; +jpt_800E5250 = 0x800E5250; +jpt_800E5420 = 0x800E5420; +D_800E5554 = 0x800E5554; +D_800E5558 = 0x800E5558; +D_800E555C = 0x800E555C; +D_800E5560 = 0x800E5560; +D_800E5564 = 0x800E5564; +D_800E5568 = 0x800E5568; +jpt_800E5588 = 0x800E5588; +D_800E55B8 = 0x800E55B8; // type:f64 +D_800E55C0 = 0x800E55C0; // type:f64 +D_800E55C8 = 0x800E55C8; // type:f64 +D_800E55D0 = 0x800E55D0; // type:f64 +D_800E55D8 = 0x800E55D8; // type:f64 +D_800E55E0 = 0x800E55E0; // type:f64 +D_800E55E8 = 0x800E55E8; // type:f64 +D_800E55F0 = 0x800E55F0; // type:f64 +D_800E5608 = 0x800E5608; // type:f64 +D_800E5610 = 0x800E5610; // type:f64 +D_800E5618 = 0x800E5618; // type:f64 +D_800E5620 = 0x800E5620; // type:f64 +D_800E5628 = 0x800E5628; // type:f64 +D_800E5648 = 0x800E5648; // type:f64 +D_800E5650 = 0x800E5650; // type:f32 +D_800E5658 = 0x800E5658; // type:f64 +D_800E5670 = 0x800E5670; // type:f64 +D_800E5678 = 0x800E5678; // type:f32 +D_800E5680 = 0x800E5680; // type:f64 + +// tracks .rodata +gTrackClippingErrorString = 0x800E5DF8; +gTrackHeightOverflowString = 0x800E5E18; +D_800E5E38 = 0x800E5E38; +D_800E5E60 = 0x800E5E60; // type:f64 +D_800E5E68 = 0x800E5E68; +D_800E5E70 = 0x800E5E70; +D_800E5E78 = 0x800E5E78; // type:f64 +D_800E5E80 = 0x800E5E80; // type:f64 +D_800E5E88 = 0x800E5E88; // type:f64 +D_800E5E90 = 0x800E5E90; // type:f64 +D_800E5E98 = 0x800E5E98; // type:f64 + +// D_800E5EB0 = 0x800E5EB0; // type:f64 +// D_800E5EB8 = 0x800E5EB8; // type:f64 +// D_800E5F40 = 0x800E5F40; + +D_800E5F48 = 0x800E5F48; +D_800E5F4C = 0x800E5F4C; +D_800E5F50 = 0x800E5F50; +D_800E5F54 = 0x800E5F54; +D_800E5F58 = 0x800E5F58; + +// collision .rodata +// D_800E5F5C = 0x800E5F5C; +D_800E5F60 = 0x800E5F60; // type:f32 +D_800E5F64 = 0x800E5F64; // type:f32 +D_800E5F68 = 0x800E5F68; // type:f32 +D_800E5F6C = 0x800E5F6C; // type:f32 +D_800E5F70 = 0x800E5F70; // type:f32 + +// lights .rodata +// D_800E5F80 = 0x800E5F80; // size:0x20 + +//object_functions .rodata +// 800e5fa0 +D_800E6020 = 0x800E6020; // type:f64 +D_800E6048 = 0x800E6048; +D_800E6140 = 0x800E6140; // type:f64 +D_800E621C = 0x800E621C; +D_800E6220 = 0x800E6220; +D_800E6224 = 0x800E6224; +jpt_800E6228 = 0x800E6228; +D_800E623C = 0x800E623C; +D_800E6240 = 0x800E6240; +D_800E6244 = 0x800E6244; +D_800E6248 = 0x800E6248; + +// racer.c +gRacerDebugCoords = 0x800E6280; +gChecksumOverflowString = 0x800E6290; +gRacerBackString = 0x800E62A0; + +D_800E62A8 = 0x800E62A8; // type:f64 +D_800E62B0 = 0x800E62B0; // type:f64 +D_800E62B8 = 0x800E62B8; // type:f64 +D_800E62C0 = 0x800E62C0; // type:f64 +D_800E62C8 = 0x800E62C8; // type:f64 +D_800E62D0 = 0x800E62D0; // type:f64 +D_800E62D8 = 0x800E62D8; // type:f64 +D_800E62E0 = 0x800E62E0; // type:f64 +D_800E62E8 = 0x800E62E8; // type:f64 +D_800E62F0 = 0x800E62F0; // type:f64 +D_800E62F8 = 0x800E62F8; // type:f64 +D_800E6300 = 0x800E6300; // type:f64 +D_800E6308 = 0x800E6308; // type:f64 +D_800E6310 = 0x800E6310; // type:f64 + +jpt_800E6318 = 0x800E6318; +jpt_800E6334 = 0x800E6334; +D_800E6350 = 0x800E6350; // type:f64 +jpt_800E6358 = 0x800E6358; +D_800E6378 = 0x800E6378; +jpt_800E637C = 0x800E637C; +D_800E63A0 = 0x800E63A0; // type:f64 +D_800E63A8 = 0x800E63A8; +D_800E63B0 = 0x800E63B0; +D_800E63B8 = 0x800E63B8; +D_800E63C0 = 0x800E63C0; +D_800E63C8 = 0x800E63C8; +D_800E63D0 = 0x800E63D0; +D_800E63D8 = 0x800E63D8; +D_800E63E0 = 0x800E63E0; +D_800E63E8 = 0x800E63E8; +D_800E63F0 = 0x800E63F0; +D_800E63F8 = 0x800E63F8; +D_800E6400 = 0x800E6400; +D_800E6408 = 0x800E6408; +D_800E6410 = 0x800E6410; +D_800E6418 = 0x800E6418; +D_800E6420 = 0x800E6420; +D_800E6428 = 0x800E6428; +D_800E6430 = 0x800E6430; +D_800E6438 = 0x800E6438; +D_800E6440 = 0x800E6440; +D_800E6448 = 0x800E6448; +D_800E6450 = 0x800E6450; +D_800E6458 = 0x800E6458; +D_800E6460 = 0x800E6460; +D_800E6468 = 0x800E6468; + +D_800E64A8 = 0x800E64A8; // type:f64 +D_800E64B0 = 0x800E64B0; // type:f64 +D_800E64B8 = 0x800E64B8; // type:f64 +D_800E64C0 = 0x800E64C0; // type:f64 +D_800E64C8 = 0x800E64C8; // type:f64 +D_800E64D0 = 0x800E64D0; // type:f64 +D_800E64D8 = 0x800E64D8; // type:f32 +D_800E64E0 = 0x800E64E0; // type:f64 +D_800E64E8 = 0x800E64E8; // type:f32 +D_800E64EC = 0x800E64EC; // type:f32 +D_800E64F0 = 0x800E64F0; // type:f32 +D_800E64F4 = 0x800E64F4; // type:f32 +D_800E64F8 = 0x800E64F8; // type:f64 +D_800E6500 = 0x800E6500; // type:f64 +D_800E6508 = 0x800E6508; // type:f32 +D_800E6510 = 0x800E6510; // type:f64 +D_800E6518 = 0x800E6518; // type:f64 +D_800E6520 = 0x800E6520; // type:f64 +D_800E6528 = 0x800E6528; // type:f32 +D_800E6530 = 0x800E6530; // type:f64 +D_800E6538 = 0x800E6538; // type:f64 +D_800E6540 = 0x800E6540; // type:f64 +D_800E6548 = 0x800E6548; // type:f64 + +D_800E6558 = 0x800E6558; // type:f64 +D_800E6560 = 0x800E6560; // type:f64 +D_800E6568 = 0x800E6568; // type:f32 +D_800E6570 = 0x800E6570; // type:f64 +D_800E6578 = 0x800E6578; // type:f64 +D_800E6580 = 0x800E6580; +D_800E6584 = 0x800E6584; +D_800E6588 = 0x800E6588; +D_800E658C = 0x800E658C; +D_800E65F8 = 0x800E65F8; // type:f64 +D_800E6600 = 0x800E6600; // type:f64 +D_800E6608 = 0x800E6608; // type:f64 +D_800E6610 = 0x800E6610; // type:f64 +D_800E6618 = 0x800E6618; // type:f64 +D_800E6620 = 0x800E6620; // type:f64 +D_800E6628 = 0x800E6628; // type:f64 +D_800E6630 = 0x800E6630; // type:f64 +D_800E6638 = 0x800E6638; // type:f64 +D_800E6640 = 0x800E6640; // type:f64 +D_800E6648 = 0x800E6648; // type:f64 +D_800E6650 = 0x800E6650; // type:f64 +D_800E6658 = 0x800E6658; // type:f64 +D_800E6660 = 0x800E6660; // type:f32 +D_800E6668 = 0x800E6668; // type:f64 +D_800E6670 = 0x800E6670; // type:f64 +D_800E6678 = 0x800E6678; // type:f64 +D_800E6680 = 0x800E6680; // type:f64 +D_800E6688 = 0x800E6688; // type:f64 +D_800E6690 = 0x800E6690; // type:f64 +D_800E6698 = 0x800E6698; // type:f64 +D_800E66A0 = 0x800E66A0; // type:f64 +D_800E66A8 = 0x800E66A8; // type:f64 +D_800E66B0 = 0x800E66B0; // type:f64 +D_800E66B8 = 0x800E66B8; // type:f64 +D_800E66C0 = 0x800E66C0; // type:f32 +D_800E66C8 = 0x800E66C8; // type:f64 +D_800E66F8 = 0x800E66F8; // type:f64 +D_800E6700 = 0x800E6700; // type:f64 +D_800E6788 = 0x800E6788; +D_800E6790 = 0x800E6790; +D_800E6798 = 0x800E6798; +D_800E6808 = 0x800E6808; // type:f64 +D_800E6820 = 0x800E6820; // type:f64 +D_800E6838 = 0x800E6838; // type:f64 +D_800E6840 = 0x800E6840; // type:f64 +D_800E6848 = 0x800E6848; // type:f64 +D_800E68C4 = 0x800E68C4; +D_800E68C8 = 0x800E68C8; +D_800E6910 = 0x800E6910; // type:f64 +D_800E6918 = 0x800E6918; // type:f64 +D_800E6920 = 0x800E6920; // type:f64 +D_800E6930 = 0x800E6930; // type:f64 +D_800E6938 = 0x800E6938; // type:f64 +D_800E69B8 = 0x800E69B8; // type:f64 +D_800E69C0 = 0x800E69C0; // type:f64 +D_800E69C8 = 0x800E69C8; // type:f64 +D_800E69D0 = 0x800E69D0; // type:f64 +D_800E69D8 = 0x800E69D8; // type:f64 +D_800E69E0 = 0x800E69E0; // type:f64 +D_800E69E8 = 0x800E69E8; // type:f32 +D_800E69F0 = 0x800E69F0; // type:f64 +D_800E69F8 = 0x800E69F8; // type:f64 +D_800E6A00 = 0x800E6A00; // type:f32 +D_800E6A04 = 0x800E6A04; // type:s32 size:0xC padding + +// vehicle_tricky +// 0x800E6A10 // size:0x20 +// vehicle_bluey +// 0x800E6A30 // size:0x20 +// vehicle_smokey +// 0x800E6A50 // size:0x20 +// vehicle_bubbler +// 0x800E6AA0 // size:0x20 +// vehicle_wizpig +// 0x800E6AB0 // size:0x20 + +// vehicle_rocket +D_800E6B00 = 0x800E6B00; // type:f64 +D_800E6B08 = 0x800E6B08; // type:f64 +D_800E6B10 = 0x800E6B10; // type:f64 + +// object_models +D_800E6B20 = 0x800E6B20; +D_800E6B4C = 0x800E6B4C; +D_800E6B64 = 0x800E6B64; +D_800E6B84 = 0x800E6B84; +D_800E6BC0 = 0x800E6BC0; +D_800E6BE0 = 0x800E6BE0; + +// al/csplayer +D_800E6C20 = 0x800E6C20; + +// al/reverb +// 0x800E6E70 // size:0x30 + +// camera .rodata +D_800E6F00 = 0x800E6F00; +D_800E6F44 = 0x800E6F44; +D_800E709C = 0x800E709C; + +// +// sLevelErrorString = 0x800E70B0; //type:asciz +// sBossErrorString = 0x800E70D8; //type:asciz +// sAITableErrorString = 0x800E70EC; //type:asciz +// sDebugVersionInfoString = 0x800E7110; //type:asciz +// sDebugBuildDateString = 0x800E7118; //type:asciz +// sDebugUsernameString = 0x800E7128; //type:asciz + +// thread3_main .rodata +D_800E7134 = 0x800E7134; //type:asciz +//sDebugCarString = 0x800E713C; //type:asciz +//sDebugHovercraftString = 0x800E7140; //type:asciz +//sDebugPlaneString = 0x800E7144; //type:asciz +//sDebugVehicleSwapString = 0x800E7148; //type:asciz +//D_800E7210 = 0x800E7210; +//D_800E722C = 0x800E722C; +//D_800E725C = 0x800E725C; +//D_800E729C = 0x800E729C; +//D_800E72C0 = 0x800E72C0; +//D_800E72F4 = 0x800E72F4; +//D_800E7338 = 0x800E7338; +//D_800E7374 = 0x800E7374; + +// memory .rodata +D_800E73A8 = 0x800E73A8; +D_800E73D0 = 0x800E73D0; +D_800E7400 = 0x800E7400; +D_800E7438 = 0x800E7438; +D_800E7590 = 0x800E7590; // type:asciz +D_800E75B4 = 0x800E75B4; // type:asciz +D_800E75BC = 0x800E75BC; // type:asciz +D_800E75C8 = 0x800E75C8; // type:asciz +D_800E75D8 = 0x800E75D8; // type:asciz +D_800E75DC = 0x800E75DC; // type:asciz +D_800E75E0 = 0x800E75E0; // type:asciz +D_800E75F4 = 0x800E75F4; // type:asciz +D_800E7604 = 0x800E7604; // type:asciz +D_800E7614 = 0x800E7614; // type:asciz +D_800E7620 = 0x800E7620; // type:asciz +D_800E762C = 0x800E762C; // type:asciz + +// save_data size: 0x1d0 +//sDKRacingAdv1 = 0x800E7630; // type:asciz +//sDKRacingAdv2 = 0x800E7640; // type:asciz +//sDKRacingTimes1 = 0x800E7650; // type:asciz +//sDKRacingTimes2 = 0x800E7660; // type:asciz +//sDKRacingAdv3 = 0x800E7670; // type:asciz +//sDKRacingAdv4 = 0x800E7680; // type:asciz +//sDKRacingTimes3 = 0x800E7690; // type:asciz +//sDKRacingTimes4 = 0x800E76A0; // type:asciz +//D_800E76B0 = 0x800E76B0; // type:asciz +//D_800E76C4 = 0x800E76C4; // type:asciz +//D_800E76D8 = 0x800E76D8; // type:asciz +//D_800E76EC = 0x800E76EC; // type:asciz +//D_800E7700 = 0x800E7700; // type:asciz +//D_800E7714 = 0x800E7714; // type:asciz +//D_800E7728 = 0x800E7728; // type:asciz +//sDKRacingGhosts = 0x800E773C; // type:asciz +//sDKRacingGhostFileExt = 0x800E774C; // type:asciz +//D_800E7750 = 0x800E7750; // type:asciz +//D_800E7768 = 0x800E7768; // type:asciz "DKRACING-GHOSTS" +//D_800E7778 = 0x800E7778; // type:asciz "" +//D_800E777C = 0x800E777C; // type:asciz "DKRACING-GHOSTS" +//D_800E778C = 0x800E778C; // type:asciz "" +//D_800E7790 = 0x800E7790; // type:asciz "DKRACING-GHOSTS" +//D_800E77A0 = 0x800E77A0; // type:asciz "" +//D_800E77A4 = 0x800E77A4; // type:asciz "DKRACING-GHOSTS" +//D_800E77B4 = 0x800E77B4; // type:asciz "" +//D_800E77B8 = 0x800E77B8; // type:asciz "DKRACING-GHOSTS" +//D_800E77C8 = 0x800E77C8; // type:asciz "" +//D_800E77CC = 0x800E77CC; // type:asciz "DKRACING-GHOSTS" +//D_800E77DC = 0x800E77DC; // type:asciz "" +//D_800E77E0 = 0x800E77E0; // type:f64 +//D_800E77E8 = 0x800E77E8; // type:f64 +//D_800E77F0 = 0x800E77F0; // type:f64 + +// sched .rodata +D_800E7800 = 0x800E7800; // type:asciz "(Audio task)" +D_800E7810 = 0x800E7810; // type:asciz "(Game task)" +D_800E781C = 0x800E781C; // type:asciz "(DI task)\n" +D_800E7828 = 0x800E7828; // type:asciz "(DI benchmark test)\n" +D_800E7840 = 0x800E7840; // type:asciz "(Unknown task type %d)\n" +D_800E7858 = 0x800E7858; // type:asciz "\nRCP TASK INFO\n" +D_800E7868 = 0x800E7868; // type:asciz "-------------\n" +D_800E7878 = 0x800E7878; // type:asciz "\ttype\t\t= %u\n" +D_800E7888 = 0x800E7888; // type:asciz "\tflags\t\t= %u\n" +D_800E7898 = 0x800E7898; // type:asciz "\tucode_boot\t\t= %p\n" +D_800E78AC = 0x800E78AC; // type:asciz "\tucode_boot_size\t\t= %u\n" +D_800E78C4 = 0x800E78C4; // type:asciz "\tucode\t\t= %p\n" +D_800E78D4 = 0x800E78D4; // type:asciz "\tucode_size\t\t= %u\n" +D_800E78E8 = 0x800E78E8; // type:asciz "\tucode_data\t\t= %p\n" +D_800E78FC = 0x800E78FC; // type:asciz "\tucode_data_size\t\t= %u\n" +D_800E7914 = 0x800E7914; // type:asciz "\toutput_buff\t\t= %p\n" +D_800E7928 = 0x800E7928; // type:asciz "\toutput_buff_size\t\t= %u\n" +D_800E7944 = 0x800E7944; // type:asciz "\tdata_ptr\t\t= %p\n" +D_800E7958 = 0x800E7958; // type:asciz "\tdata_size\t\t= %u\n" + +// video size: 0x1A0 + +// textures_sprites .rodata +D_800E7B30 = 0x800E7B30; // type:asciz +D_800E7B60 = 0x800E7B60; // type:asciz +D_800E7B88 = 0x800E7B88; // type:asciz +D_800E7BA8 = 0x800E7BA8; // type:asciz +D_800E7BC4 = 0x800E7BC4; // type:asciz +D_800E7BFC = 0x800E7BFC; // type:asciz +D_800E7C10 = 0x800E7C10; // type:asciz +D_800E7C30 = 0x800E7C30; // type:asciz +D_800E7C50 = 0x800E7C50; // type:asciz + +// screen_asset size:0x20 + +// menu .rodata size: 0x990 +//D_800E8208 = 0x800E8208; // type:asciz +//D_800E820C = 0x800E820C; // type:asciz +//D_800E8210 = 0x800E8210; // type:asciz +//D_800E8214 = 0x800E8214; // type:asciz +//D_800E8218 = 0x800E8218; // type:asciz +//D_800E8230 = 0x800E8230; // type:asciz +//D_800E8234 = 0x800E8234; // type:asciz +//D_800E8238 = 0x800E8238; // type:asciz +//D_800E823C = 0x800E823C; // type:asciz +//D_800E8240 = 0x800E8240; // type:asciz +//D_800E8244 = 0x800E8244; // type:asciz +//D_800E8248 = 0x800E8248; // type:asciz +//D_800E824C = 0x800E824C; // type:asciz +//D_800E8250 = 0x800E8250; // type:asciz +//D_800E84D0 = 0x800E84D0; // type:f64 +//D_800E84D8 = 0x800E84D8; // type:f32 +//D_800E84DC = 0x800E84DC; // type:s32 padding +//D_800E84E0 = 0x800E84E0; +//D_800E84E8 = 0x800E84E8; +//D_800E84F0 = 0x800E84F0; +jpt_800E84F4 = 0x800E84F4; +jpt_800E8508 = 0x800E8508; +D_800E8520 = 0x800E8520; +jpt_800E8574 = 0x800E8574; + +// game_ui .rodata +D_800E8640 = 0x800E8640; // type:asciz defined:True +D_800E8648 = 0x800E8648; // type:asciz defined:True +D_800E8650 = 0x800E8650; // type:asciz defined:True +D_800E8658 = 0x800E8658; // type:asciz defined:True +D_800E8664 = 0x800E8664; // type:asciz defined:True +D_800E8668 = 0x800E8668; // type:asciz defined:True +D_800E8670 = 0x800E8670; // type:asciz defined:True +D_800E867C = 0x800E867C; // type:asciz defined:True +D_800E8680 = 0x800E8680; // type:asciz defined:True +D_800E8688 = 0x800E8688; +D_800E8690 = 0x800E8690; +D_800E8694 = 0x800E8694; +D_800E86A8 = 0x800E86A8; // type:f64 function_owner:func_8009F034 +D_800E86B0 = 0x800E86B0; // type:f64 function_owner:func_8009F034 +D_800E86B8 = 0x800E86B8; // type:f32 function_owner:func_8009F034 +D_800E86BC = 0x800E86BC; // type:f32 function_owner:func_8009F034 +D_800E86C0 = 0x800E86C0; // type:f32 function_owner:func_8009F034 +D_800E86C8 = 0x800E86C8; // type:f64 function_owner:func_8009F034 +D_800E86D0 = 0x800E86D0; // type:f64 function_owner:func_8009F034 +D_800E86D8 = 0x800E86D8; // type:f64 function_owner:func_8009F034 +D_800E86E0 = 0x800E86E0; // type:f64 function_owner:func_8009F034 +D_800E86E8 = 0x800E86E8; // type:f64 function_owner:func_8009F034 +D_800E86F0 = 0x800E86F0; // type:f64 function_owner:func_8009F034 +D_800E8718 = 0x800E8718; +D_800E871C = 0x800E871C; // type:s32 padding +D_800E8720 = 0x800E8720; +D_800E8728 = 0x800E8728; +D_800E8730 = 0x800E8730; // type:f64 +D_800E8738 = 0x800E8738; // type:f64 +D_800E8758 = 0x800E8758; // type:f64 +D_800E8760 = 0x800E8760; // type:f64 +D_800E87A0 = 0x800E87A0; // type:f64 force_migration:True +D_800E87A8 = 0x800E87A8; // type:f32 force_migration:True +D_800E87B0 = 0x800E87B0; // force_migration:True type:f64 size:8 +D_800E87B8 = 0x800E87B8; // force_migration:True type:f64 size:8 +D_800E87D8 = 0x800E87D8; +D_800E87E0 = 0x800E87E0; // type:f64 + +// weather.c .rodata size:0x50 + +// particles.c .rodata size:0x3C0 +D_800E8840 = 0x800E8840; +D_800E887C = 0x800E887C; +D_800E88BC = 0x800E88BC; +D_800E88F8 = 0x800E88F8; +D_800E891C = 0x800E891C; +D_800E8940 = 0x800E8940; +D_800E8964 = 0x800E8964; +D_800E8984 = 0x800E8984; +D_800E89A4 = 0x800E89A4; +D_800E89D8 = 0x800E89D8; +D_800E8A18 = 0x800E8A18; +D_800E8A40 = 0x800E8A40; +D_800E8A68 = 0x800E8A68; +D_800E8A90 = 0x800E8A90; +D_800E8AB4 = 0x800E8AB4; +D_800E8AD8 = 0x800E8AD8; +D_800E8B10 = 0x800E8B10; +D_800E8B44 = 0x800E8B44; + +// printf.c .rodata size:0x270 +gLowerCase = 0x800E8C00; // type:asciz force_not_migration:true defined:true +gUpperCase = 0x800E8C28; // type:asciz force_not_migration:true defined:true +D_800E8C50 = 0x800E8C50; // type:asciz force_not_migration:true defined:true +D_800E8C54 = 0x800E8C54; // type:asciz force_not_migration:true defined:true +D_800E8C5C = 0x800E8C5C; // type:asciz force_not_migration:true defined:true +jpt_800E8CAC = 0x800E8CAC; +jpt_800E8CF0 = 0x800E8CF0; +jpt_800E8D88 = 0x800E8D88; +jpt_800E8E58 = 0x800E8E58; + +// thread0_epc.c .rodata size:0x2F0 +D_800E8E70 = 0x800E8E70; // type:asciz force_not_migration:true defined:true +D_800E8EA0 = 0x800E8EA0; // type:asciz force_not_migration:true defined:true + +// waves.c .rodata size:0x170 +D_800E9160 = 0x800E9160; +D_800E91AC = 0x800E91AC; +D_800E91E4 = 0x800E91E4; +D_800E9228 = 0x800E9228; +D_800E9260 = 0x800E9260; +D_800E92A0 = 0x800E92A0; +D_800E92A4 = 0x800E92A4; + +// gzip .rodata +gzip_border = 0x800E93C0; +gzip_cplens = 0x800E93D4; +gzip_cplext = 0x800E9412; +gzip_cpdist = 0x800E9432; +gzip_cpdext = 0x800E946E; +gzip_mask_bits = 0x800E948C; +D_800E94AE = 0x800E94AE; + +// osSetIntMask .rodata +__osRcpImTable = 0x800E94D0; + +// exception .rodata +__osIntOffTable = 0x800E9670; +__osIntTable = 0x800E9690; // size:0x24 + +// xprintf .rodata +length_str = 0x800E96C0; // type:asciz "hlL" defined:true +flags_str = 0x800E96C4; // type:asciz " +-#0" defined:true +flags_arr = 0x800E96CC; // type:u32 size:0x18 defined:true +P_cosf = 0x800E97C0; // type:Du size:0x28 defined:true +rpi_cosf = 0x800E97E8; // type:Du size:0x8 defined:true +pihi_cosf = 0x800E97F0; // type:Du size:0x8 defined:true +pilo_cosf = 0x800E97F8; // type:Du size:0x8 defined:true +zero_cosf = 0x800E9800; // type:Fu size:0x8 defined:true +P_sinf = 0x800E9810; // type:Du size:0x28 defined:true +rpi_sinf = 0x800E9838; // type:Du size:0x8 defined:true +pihi_sinf = 0x800E9840; // type:Du size:0x8 defined:true +pilo_sinf = 0x800E9848; // type:Du size:0x8 defined:true +zero_sinf = 0x800E9850; // type:Fu size:0x8 defined:true +pows = 0x800E9860; // type:f64 size:0x48 defined:true +Ldtob_NaN = 0x800E98A8; // type:asciz force_not_migration:true defined:true +Ldtob_Inf = 0x800E98AC; // type:asciz force_not_migration:true defined:true +_Genld_0_string = 0x800E98B0; // type:asciz force_not_migration:true defined:true +_Ldtob_1e8 = 0x800E98B8; // type:f64 +__libm_qnan_f = 0x800E98C0; // type:f64 + +// ucode_data +aspMainDataStart = 0x800E98D0; // size:0x2D0 +rspF3DDKRDataDramStart = 0x800E9BA0; // size:0x800 +rspF3DDKRDataFifoStart = 0x800EA3A0; // size:0x800 +rspF3DDKRDataXbusStart = 0x800EABA0; // size:0x800 +rspUnknown2DataStart = 0x800EB3A0; // size:0xBC0 + +// audio.c .bss +gAudioHeapStack = 0x800EBF60; // size:0x29D88 +gALHeap = 0x80115CE8; +gSequenceTable = 0x80115CF8; +gMusicSequenceData = 0x80115CFC; +gJingleSequenceData = 0x80115D00; +gCurrentSequenceID = 0x80115D04; +gCurrentJingleID = 0x80115D05; +gMusicTempo = 0x80115D08; +gSeqLengthTable = 0x80115D0C; +gSequenceBank = 0x80115D10; +gSoundBank = 0x80115D14; +gSoundTable = 0x80115D18; +gSeqSoundTable = 0x80115D1C; +gSoundCount = 0x80115D20; +gSeqSoundCount = 0x80115D24; +gSoundTableSize = 0x80115D28; +gSeqSoundTableSize = 0x80115D2C; +sMusicTempo = 0x80115D30; +gMusicAnimationTick = 0x80115D34; +sMusicDelayTimer = 0x80115D38; +sMusicDelayLength = 0x80115D3C; +gMusicPlaying = 0x80115D40; +gJinglePlaying = 0x80115D41; +gDelayedSounds = 0x80115D48; +gMusicSequence = 0x80115D88; +gJingleSequence = 0x80115E80; +gSkipResetChannels = 0x80115F78; +gAudioVolumeSetting = 0x80115F79; +gDynamicMusicChannelMask = 0x80115F7C; +gGlobalSoundMask = 0x80115F80; +gSpatialSoundMask = 0x80115F84; +gRacerSoundMask = 0x80115F88; + +// audiomgr.c .bss +gAudioSched = 0x80115F90; +gAudioHeap = 0x80115F94; +__am = 0x80115F98; +dmaState = 0x80119230; +dmaBuffs = 0x80119240; +minFrameSize = 0x80119628; +frameSize = 0x8011962C; +maxFrameSize = 0x80119630; +gAudioCmdLen = 0x80119634; +gAntiPiracyCRCStart = 0x80119638; +audDMAIOMesgBuf = 0x80119640; +audDMAMessageQ = 0x80119AF0; +audDMAMessageBuf = 0x80119B08; + +// audiosfx .bss +gAlSndPlayer = 0x80119BD0; +gSoundChannelVolume = 0x80119C28; + +// audio_vehicle .bss +D_80119C30 = 0x80119C30; +gRacerSound = 0x80119C38; +gSoundRacerObj = 0x80119C3C; +D_80119C40 = 0x80119C40; +gSoundMaskHeapUsed = 0x80119C44; +gSoundMaskHeap = 0x80119C48; +gFreeMasks = 0x80119C4C; +gSoundMaskHeapFree = 0x80119C50; +D_80119C54 = 0x80119C54; +D_80119C58 = 0x80119C58; +D_80119C5C = 0x80119C5C; +D_80119C60 = 0x80119C60; +D_8011A6D8 = 0x8011A6D8; +D_8011A6DC = 0x8011A6DC; +D_8011A6E0 = 0x8011A6E0; +gAudioLinesOff = 0x8011AC18; +D_8011AC1C = 0x8011AC1C; + +// objects .bss +D_8011AC20 = 0x8011AC20; // size:0x100 +D_8011AD20 = 0x8011AD20; +D_8011AD21 = 0x8011AD21; +D_8011AD22 = 0x8011AD22; // size:0x2 +D_8011AD24 = 0x8011AD24; // size:0x2 +D_8011AD26 = 0x8011AD26; +D_8011AD28 = 0x8011AD28; +D_8011AD2C = 0x8011AD2C; +gCurrentLightIntensity = 0x8011AD30; +gGhostObjPlayer = 0x8011AD34; +gTimeTrialContPak = 0x8011AD38; +D_8011AD3C = 0x8011AD3C; +D_8011AD3D = 0x8011AD3D; +D_8011AD3E = 0x8011AD3E; +gTransformObject = 0x8011AD40; +gTransformTimer = 0x8011AD44; +gOverworldVehicle = 0x8011AD45; +gTransformPosX = 0x8011AD46; +gTransformPosY = 0x8011AD48; +gTransformPosZ = 0x8011AD4A; +gTransformAngleY = 0x8011AD4C; +gRaceEndTimer = 0x8011AD4E; +gRaceEndStage = 0x8011AD50; +gNumRacersSaved = 0x8011AD51; +unused_D_8011AD52 = 0x8011AD52; +D_8011AD53 = 0x8011AD53; +D_8011AD54 = 0x8011AD54; +gSpawnObjectHeap = 0x8011AD58; +D_8011AD5C = 0x8011AD5C; +D_8011AD60 = 0x8011AD60; +gAssetsObjectHeadersTable = 0x8011AD64; +gAssetsObjectHeadersTableLength = 0x8011AD68; +gAssetsMiscSection = 0x8011AD6C; +gAssetsMiscTable = 0x8011AD70; +D_8011AD74 = 0x8011AD74; +D_8011AD78 = 0x8011AD78; +gAssetsMiscTableLength = 0x8011ADA0; +D_8011ADA4 = 0x8011ADA4; +gObjectUpdateRateF = 0x8011ADA8; +gPathUpdateOff = 0x8011ADAC; +gEventCountdown = 0x8011ADB0; +D_8011ADB4 = 0x8011ADB4; +gEventStartTimer = 0x8011ADB8; +D_8011ADBC = 0x8011ADBC; +D_8011ADC0 = 0x8011ADC0; +gFirstTimeFinish = 0x8011ADC4; +D_8011ADC5 = 0x8011ADC5; +gBalloonCutsceneTimer = 0x8011ADC8; +D_8011ADCC = 0x8011ADCC; +gObjectOffsetY = 0x8011ADD0; +D_8011ADD4 = 0x8011ADD4; +gOverrideDoors = 0x8011ADD5; +D_8011ADD8 = 0x8011ADD8; +D_8011AE00 = 0x8011AE00; +D_8011AE01 = 0x8011AE01; +gIsNonCarRacers = 0x8011AE02; +gIsSilverCoinRace = 0x8011AE03; +D_8011AE08 = 0x8011AE08; +gLoadedObjectHeaders = 0x8011AE48; +gObjectHeaderReferences = 0x8011AE4C; +D_8011AE50 = 0x8011AE50; +D_8011AE54 = 0x8011AE54; +gObjPtrList = 0x8011AE58; +gObjectCount = 0x8011AE5C; +gObjectListStart = 0x8011AE60; +gParticleCount = 0x8011AE64; +gObjectMemoryPool = 0x8011AE68; +D_8011AE6C = 0x8011AE6C; +D_8011AE70 = 0x8011AE70; +D_8011AE74 = 0x8011AE74; +D_8011AE78 = 0x8011AE78; +gCutsceneID = 0x8011AE7A; +D_8011AE7C = 0x8011AE7C; +D_8011AE7E = 0x8011AE7E; +gTTGhostTimeToBeat = 0x8011AE80; +gPrevTimeTrialVehicle = 0x8011AE82; +gMapDefaultVehicle = 0x8011AE84; +D_8011AE88 = 0x8011AE88; +gObjectCurrDisplayList = 0x8011AE8C; +gObjectCurrMatrix = 0x8011AE90; +gObjectCurrVertexList = 0x8011AE94; +D_8011AE98 = 0x8011AE98; +D_8011AEA0 = 0x8011AEA0; +D_8011AEA8 = 0x8011AEA8; +D_8011AEB0 = 0x8011AEB0; +gAssetsLvlObjTranslationTable = 0x8011AEB8; +gAssetsLvlObjTranslationTableLength = 0x8011AEBC; +D_8011AEC0 = 0x8011AEC0; +gParticlePtrList = 0x8011AEC4; +gFreeListCount = 0x8011AEC8; +gTrackCheckpoints = 0x8011AECC; +gNumberOfCheckpoints = 0x8011AED0; +D_8011AED4 = 0x8011AED4; +gTajChallengeType = 0x8011AED8; +gCameraObjList = 0x8011AEDC; +gCameraObjCount = 0x8011AEE0; +gRacers = 0x8011AEE4; +gRacersByPosition = 0x8011AEE8; +gRacersByPort = 0x8011AEEC; +gNumRacers = 0x8011AEF0; +gTimeTrialEnabled = 0x8011AEF4; +gIsTimeTrial = 0x8011AEF5; +gIsTajChallenge = 0x8011AEF6; +gTajRaceInit = 0x8011AEF7; +gChallengePrevMusic = 0x8011AEF8; +gChallengePrevInstruments = 0x8011AEFC; +D_8011AF00 = 0x8011AF00; +gAINodes = 0x8011AF04; +gAINodeTail = 0x8011AF08; +gInitAINodes = 0x8011AF10; +D_8011AF14 = 0x8011AF14; +gElevationHeights = 0x8011AF18; +D_8011AF2C = 0x8011AF2C; +gWorldShading = 0x8011AF30; +D_8011AF34 = 0x8011AF34; +D_8011AF38 = 0x8011AF38; +D_8011AF60 = 0x8011AF60; +D_8011AF68 = 0x8011AF68; +gEnvmapPos = 0x8011AFE8; +D_8011AFEE = 0x8011AFEE; +D_8011AFF0 = 0x8011AFF0; +D_8011AFF4 = 0x8011AFF4; +D_8011AFF8 = 0x8011AFF8; +D_8011AFFC = 0x8011AFFC; +D_8011B000 = 0x8011B000; +D_8011B004 = 0x8011B004; +D_8011B008 = 0x8011B008; +D_8011B010 = 0x8011B010; +D_8011B020 = 0x8011B020; +D_8011B048 = 0x8011B048; +D_8011B058 = 0x8011B058; +D_8011B068 = 0x8011B068; +D_8011B078 = 0x8011B078; +D_8011B07B = 0x8011B07B; +D_8011B080 = 0x8011B080; + +// tracks .bss +gSceneCurrDisplayList = 0x8011B0A0; +gSceneCurrMatrix = 0x8011B0A4; +gSceneCurrVertexList = 0x8011B0A8; +gSceneCurrTriList = 0x8011B0AC; +gSceneActiveCamera = 0x8011B0B0; +gSceneCurrentPlayerID = 0x8011B0B4; +gSkydomeSegment = 0x8011B0B8; +gIsNearCurrBBox = 0x8011B0BC; +D_8011B0C0 = 0x8011B0C0; +gDisableShadows = 0x8011B0C4; +gShadowHeapFlip = 0x8011B0C8; +D_8011B0CC = 0x8011B0CC; +gShadowIndex = 0x8011B0D0; +gSceneStartSegment = 0x8011B0D4; +D_8011B0D8 = 0x8011B0D8; +gSceneRenderSkyDome = 0x8011B0DC; +gDrawLevelSegments = 0x8011B0E0; +D_8011B0E1 = 0x8011B0E1; +D_8011B0E2 = 0x8011B0E2; +D_8011B0E3 = 0x8011B0E3; +D_8011B0E4 = 0x8011B0E4; +D_8011B0E8 = 0x8011B0E8; +D_8011B0EC = 0x8011B0EC; +D_8011B0F0 = 0x8011B0F0; +D_8011B0F4 = 0x8011B0F4; +D_8011B0F8 = 0x8011B0F8; +gAntiAliasing = 0x8011B0FC; +D_8011B100 = 0x8011B100; +D_8011B104 = 0x8011B104; +D_8011B108 = 0x8011B108; +D_8011B10C = 0x8011B10C; +D_8011B110 = 0x8011B110; +D_8011B114 = 0x8011B114; +D_8011B118 = 0x8011B118; +D_8011B11C = 0x8011B11C; +D_8011B120 = 0x8011B120; +D_8011B320 = 0x8011B320; // size:0x10 +D_8011B330 = 0x8011B330; +D_8011C230 = 0x8011C230; +D_8011C234 = 0x8011C234; +D_8011C238 = 0x8011C238; +D_8011C3B8 = 0x8011C3B8; +D_8011C8B8 = 0x8011C8B8; +D_8011D0B8 = 0x8011D0B8; +D_8011D0BC = 0x8011D0BC; +D_8011D0C0 = 0x8011D0C0; +D_8011D0C4 = 0x8011D0C4; +D_8011D0C8 = 0x8011D0C8; +D_8011D0CC = 0x8011D0CC; +D_8011D0CE = 0x8011D0CE; +D_8011D0D0 = 0x8011D0D0; +gShadowOpacity = 0x8011D0D4; +D_8011D0D8 = 0x8011D0D8; +D_8011D0DC = 0x8011D0DC; +D_8011D0E0 = 0x8011D0E0; +D_8011D0E4 = 0x8011D0E4; +D_8011D0E8 = 0x8011D0E8; +D_8011D0EC = 0x8011D0EC; +D_8011D0F0 = 0x8011D0F0; +D_8011D0F4 = 0x8011D0F4; +D_8011D0F8 = 0x8011D0F8; +D_8011D128 = 0x8011D128; +D_8011D158 = 0x8011D158; +D_8011D164 = 0x8011D164; +D_8011D168 = 0x8011D168; +gTrackWaves = 0x8011D2B8; +D_8011D308 = 0x8011D308; +gTrackModelHeap = 0x8011D30C; +gLevelModelTable = 0x8011D310; +gPrevCameraX = 0x8011D314; +gPrevCameraY = 0x8011D318; +gPrevCameraZ = 0x8011D31C; +gShadowHeapTris = 0x8011D320; +gCurrentShadowTris = 0x8011D330; +D_8011D334 = 0x8011D334; +gShadowHeapVerts = 0x8011D338; +gCurrentShadowVerts = 0x8011D348; +D_8011D34C = 0x8011D34C; +gShadowHeapTextures = 0x8011D350; +gCurrentShadowTexture = 0x8011D360; +D_8011D364 = 0x8011D364; +D_8011D368 = 0x8011D368; +D_8011D36C = 0x8011D36C; +D_8011D370 = 0x8011D370; +D_8011D374 = 0x8011D374; +D_8011D378 = 0x8011D378; +gScenePlayerViewports = 0x8011D37C; +gCurrBBoxDistanceToCamera = 0x8011D380; +gWaveBlockCount = 0x8011D384; +gFogData = 0x8011D388; +gScenePerspectivePos = 0x8011D468; +D_8011D474 = 0x8011D474; +D_8011D478 = 0x8011D478; +D_8011D47C = 0x8011D47C; +D_8011D480 = 0x8011D480; +D_8011D488 = 0x8011D488; +D_8011D48C = 0x8011D48C; +D_8011D490 = 0x8011D490; +D_8011D498 = 0x8011D498; +D_8011D49C = 0x8011D49C; +D_8011D49E = 0x8011D49E; +D_8011D4A0 = 0x8011D4A0; +D_8011D4A4 = 0x8011D4A4; +D_8011D4A8 = 0x8011D4A8; +D_8011D4AC = 0x8011D4AC; +D_8011D4B0 = 0x8011D4B0; +D_8011D4B4 = 0x8011D4B4; +D_8011D4B6 = 0x8011D4B6; +D_8011D4B8 = 0x8011D4B8; +D_8011D4BA = 0x8011D4BA; +D_8011D4BC = 0x8011D4BC; + +// lights .bss +gLightDistance = 0x8011D4C0; +gLightDiffX = 0x8011D4C4; +gLightDiffY = 0x8011D4C8; +gLightDiffZ = 0x8011D4CC; + +// object_functions .bss +gNPCPosY = 0x8011D4D0; +gTajSoundMask = 0x8011D4D4; +gTTSoundMask = 0x8011D4D8; +gRocketSoundTimer = 0x8011D4DC; +gTajDialogueChoice = 0x8011D4E0; +gTajSoundID = 0x8011D4E2; + +// racer .bss +gCurrentCourseHeight = 0x8011D4F0; +gCurrentRacerWaterPos = 0x8011D4F8; +gRacerWaveType = 0x8011D504; +gCameraObject = 0x8011D508; +D_8011D50C = 0x8011D50C; +gCurrentRacerTransform = 0x8011D510; +gCurrentRacerInput = 0x8011D528; +gCurrentButtonsPressed = 0x8011D52C; +gCurrentButtonsReleased = 0x8011D530; +gCurrentStickX = 0x8011D534; +gCurrentStickY = 0x8011D538; +unused_8011D53C = 0x8011D53C; +gRaceStartTimer = 0x8011D540; +D_8011D544 = 0x8011D544; +D_8011D548 = 0x8011D548; +D_8011D54C = 0x8011D54C; +D_8011D550 = 0x8011D550; +D_8011D552 = 0x8011D552; +gCurrentCarSteerVel = 0x8011D554; +D_8011D558 = 0x8011D558; +gCurrentPlayerIndex = 0x8011D55C; +D_8011D560 = 0x8011D560; +gCurrentRacerMiscAssetPtr = 0x8011D564; +D_8011D568 = 0x8011D568; +gCurrentRacerWeightStat = 0x8011D56C; +gCurrentRacerHandlingStat = 0x8011D570; +gCurrentRacerUnusedMiscAsset11 = 0x8011D574; +gRacerMagnetVelX = 0x8011D578; +gRacerMagnetVelZ = 0x8011D57C; +D_8011D580 = 0x8011D580; +gCurrentSurfaceType = 0x8011D581; +gTajInteractStatus = 0x8011D582; +gRacerDialogueCamera = 0x8011D583; +gRacerInputBlocked = 0x8011D584; +gStartBoostTime = 0x8011D585; +gDialogueCameraAngle = 0x8011D586; +gEggChallengeFlags = 0x8011D588; // size:0x4 +D_8011D58C = 0x8011D58C; +gGhostData = 0x8011D590; +gCurrentGhostIndex = 0x8011D59C; +gPrevGhostNodeIndex = 0x8011D59D; +gGhostNodeDelay = 0x8011D59E; +gGhostNodeCount = 0x8011D5A0; +gGhostNodeFull = 0x8011D5A8; +gGhostMapID = 0x8011D5AC; +gRacerWaveCount = 0x8011D5AE; +D_8011D5AF = 0x8011D5AF; +gRacerCurrentWave = 0x8011D5B0; +D_8011D5B4 = 0x8011D5B4; +D_8011D5B8 = 0x8011D5B8; + +// vehicle_tricky .bss +gTrickyRacerPeakHeight = 0x8011D5C0; +gTrickyCutsceneTimer = 0x8011D5C4; +gBossSoundIDOffset = 0x8011D5C8; +gTrickyStartBoost = 0x8011D5CC; + +// vehicle_bluey .bss +gBlueyCutsceneTimer = 0x8011D5D0; +gBlueyStartBoost = 0x8011D5D1; + +// vehicle_smokey .bss +gSmokeyCutsceneTimer = 0x8011D5E0; +gSmokeyStartBoost = 0x8011D5E1; + +// vehicle_bubbler .bss +gBubblerCutsceneTimer = 0x8011D5F0; +gBubblerStartBoost = 0x8011D5F1; + +// vehicle_wizpig .bss +gWizpigCutsceneTimer = 0x8011D600; +gWizpigStartBoost = 0x8011D601; + +// vehicle_rocket .bss +gRocketCutsceneTimer = 0x8011D610; +gRocketStartBoost = 0x8011D611; + +// object_models .bss +gObjectModelTable = 0x8011D620; +D_8011D624 = 0x8011D624; +D_8011D628 = 0x8011D628; +D_8011D62C = 0x8011D62C; +gNumModelIDs = 0x8011D630; +D_8011D634 = 0x8011D634; +gAnimationTable = 0x8011D638; +gObjectAnimationTable = 0x8011D63C; +D_8011D640 = 0x8011D640; +D_8011D644 = 0x8011D644; + +// main .bss +gThread1Stack = 0x8011D650; +gThread3Stack = 0x8011D758; +gThread1 = 0x8011F760; +gThread3 = 0x8011F910; + +// entrypoint .bss +entrypointThreadStack = 0x8011FAC0; + +// camera .bss +gCameraSegment = 0x80120AC0; +gNumberOfViewports = 0x80120CE0; +gActiveCameraID = 0x80120CE4; +gViewportCap = 0x80120CE8; +D_80120CEC = 0x80120CEC; +gCameraTransform = 0x80120CF0; +gMatrixType = 0x80120D08; +gSpriteAnimOff = 0x80120D0C; +gCurCamFOV = 0x80120D10; +gCutsceneCameraActive = 0x80120D14; +gAdjustViewportHeight = 0x80120D15; +D_80120D18 = 0x80120D18; +gModelMatrixStackPos = 0x80120D1C; +gCameraMatrixPos = 0x80120D20; +D_80120D24 = 0x80120D24; +gModelMatrixViewX = 0x80120D28; +gModelMatrixViewY = 0x80120D40; +gModelMatrixViewZ = 0x80120D58; +perspNorm = 0x80120D6C; +gModelMatrixF = 0x80120D70; +gModelMatrixS = 0x80120D88; +D_80120DA0 = 0x80120DA0; +gPerspectiveMatrixF = 0x80120EE0; +gViewMatrixF = 0x80120F20; +gCameraMatrixF = 0x80120F60; +gProjectionMatrixF = 0x80120FA0; +gProjectionMatrixS = 0x80120FE0; +gUnusedProjectionMatrixS = 0x80121020; +gCurrentModelMatrixF = 0x80121060; +gCurrentModelMatrixS = 0x801210A0; + +// controller .bss +sSIMesgQueue = 0x801210E0; +sSIMesgBuf = 0x801210F8; +gSIMesg = 0x801210FC; +gControllerStatus = 0x80121100; +gControllerCurrData = 0x80121110; +gControllerPrevData = 0x80121128; +gControllerButtonsPressed = 0x80121140; +gControllerButtonsReleased = 0x80121148; +sPlayerID = 0x80121150; + +// game .bss +gTempAssetTable = 0x80121160; +gMapId = 0x80121164; +gCurrentLevelHeader = 0x80121168; +gLevelNames = 0x8012116C; +gNumberOfLevelHeaders = 0x80121170; +gNumberOfWorlds = 0x80121174; +D_80121178 = 0x80121178; +gGlobalLevelTable = 0x8012117C; +gRaceTypeCountTable = 0x80121180; +gAIBehaviourTable = 0x801211C0; +gLevelPropertyStack = 0x801211C8; + +// thread3_main .bss +gDisplayLists = 0x801211F0; +gCurrDisplayList = 0x801211F8; +D_801211FC = 0x801211FC; +gMatrixHeap = 0x80121200; +gGameCurrMatrix = 0x80121208; +gVertexHeap = 0x80121210; +gGameCurrVertexList = 0x80121218; +gTriangleHeap = 0x80121220; +gGameCurrTriList = 0x80121228; +D_80121230 = 0x80121230; +gLevelSettings = 0x80121250; +gMainSched = 0x80121260; +gSchedStack = 0x801214E8; +gSPTaskNum = 0x801234E8; +gGameMode = 0x801234EC; +gRenderMenu = 0x801234F0; +gPlayableMapId = 0x801234F4; +D_801234F8 = 0x801234F8; +D_801234FC = 0x801234FC; +gGameNumPlayers = 0x80123500; +gGameCurrentEntrance = 0x80123504; +gGameCurrentCutscene = 0x80123508; +gPrevPlayerCount = 0x8012350C; +gSettingsPtr = 0x80123510; +gIsLoading = 0x80123514; +gIsPaused = 0x80123515; +gPostRaceViewPort = 0x80123516; +gLevelDefaultVehicleID = 0x80123518; +gMenuVehicleID = 0x8012351C; +sBootDelayTimer = 0x80123520; +gLevelLoadType = 0x80123524; +gNextMap = 0x80123525; +D_80123526 = 0x80123526; +gCurrNumF3dCmdsPerPlayer = 0x80123528; +gCurrNumHudMatPerPlayer = 0x8012352C; +gCurrNumHudTrisPerPlayer = 0x80123530; +gCurrNumHudVertsPerPlayer = 0x80123534; +gNMISched = 0x80123538; +gNMIOSMesg = 0x80123544; +gNMIMesgQueue = 0x80123548; +gNMIMesgBuf = 0x80123560; +D_80123568 = 0x80123568; + +// memory .bss +gMemoryPools = 0x80123580; +gNumberOfMemoryPools = 0x801235C0; +D_801235C4 = 0x801235C4; +gFreeQueue = 0x801235C8; +gFreeQueueCount = 0x80123DC8; +gFreeQueueTimer = 0x80123DCC; + +// osMotor .bss +_MotorStopData = 0x80123DD0; +_MotorStartData = 0x80123ED0; +_motorstopbuf = 0x80123FD0; +_motorstartbuf = 0x80123FF0; + +// save_data .bss +sControllerMesgQueue = 0x80124010; +D_80124014 = 0x80124014; +pfs = 0x80124018; +gRumble = 0x801241B8; +sRumbleTable = 0x801241E0; +gRumbleOn = 0x801241E4; +gRumblePresent = 0x801241E5; +gRumbleIdle = 0x801241E6; +gRumbleActive = 0x801241E7; +gRumbleDetectionTimer = 0x801241E8; +D_801241EC = 0x801241EC; +D_801241F0 = 0x801241F0; +D_801241F4 = 0x801241F4; + +// asset_loading .bss +gAssetsDmaIoMesg = 0x80124200; +gDmaMesg = 0x80124218; +gDmaMesgQueue = 0x80124220; +gPIMesgBuf = 0x80124238; +gPIMesgQueue = 0x80124278; +gAssetsLookupTable = 0x80124290; + +// rcp .bss +gDramStack = 0x801242A0; +gGfxTaskOutputBuffer = 0x801246A0; +gRCPMesgQueue = 0x80125EA0; +gRCPMesgBuf = 0x80125EB8; +gUnusedMesgQueue = 0x80125EC0; +gGfxTaskMesgQueue = 0x80125ED8; +gUnusedMesgBuf = 0x80125EF0; +gGfxTaskMesgBuf = 0x80125F10; +gChequerBGColourR1 = 0x80125F30; +gChequerBGColourG1 = 0x80125F31; +gChequerBGColourB1 = 0x80125F32; +gChequerBGColourA1 = 0x80125F33; +gChequerBGColourR2 = 0x80125F34; +gChequerBGColourG2 = 0x80125F35; +gChequerBGColourB2 = 0x80125F36; +gChequerBGColourA2 = 0x80125F37; +gChequerBGWidth = 0x80125F38; +gChequerBGHeight = 0x80125F3C; +gGfxTaskBuf = 0x80125F40; +gGfxTaskBuf2 = 0x80126020; +osScInterruptQ = 0x80126100; + +// sc/sched .bss +gCurRSPTaskIsSet = 0x80126110; // type:s32 size:0x4 +gCurRDPTaskIsSet = 0x80126114; // type:s32 size:0x4 +gYieldTime = 0x80126118; // type:u64 size:0x8 +gRSPAudTaskFlushTime = 0x80126120; // type:u32 size:0x4 +gRSPAudTaskDoneTime = 0x80126124; // type:u32 size:0x4 +D_80126128 = 0x80126128; // type:s32 size:0x48 + +// video .bss +gVideoRefreshRate = 0x80126170; +gVideoAspectRatio = 0x80126174; +gVideoHeightRatio = 0x80126178; +D_8012617C = 0x8012617C; +gVideoMesgBuf = 0x80126180; +gVideoMesgQueue = 0x801261A0; +gTvViMode = 0x80126260; +gVideoFbWidths = 0x801262B0; +gVideoFbHeights = 0x801262B8; +gVideoFramebuffers = 0x801262C0; +gVideoCurrFbIndex = 0x801262C8; +gVideoModeIndex = 0x801262CC; +sBlackScreenTimer = 0x801262D0; +gVideoCurrFramebuffer = 0x801262D4; +gVideoLastFramebuffer = 0x801262D8; +gVideoCurrDepthBuffer = 0x801262DC; +gVideoLastDepthBuffer = 0x801262E0; +D_801262E4 = 0x801262E4; +D_801262E8 = 0x801262E8; +gVideoDeltaCounter = 0x80126308; +gVideoDeltaTime = 0x80126309; +gVideoSched = 0x80126310; + +// textures_sprites ,bss +gTextureAssetTable = 0x80126320; +gTextureCache = 0x80126328; +gCiPalettes = 0x8012632C; +gNumberOfLoadedTextures = 0x80126330; +D_80126334 = 0x80126334; +gTextureAssetID = 0x80126338; +gCiPalettesSize = 0x80126340; +D_80126344 = 0x80126344; +gSpriteOffsetTable = 0x80126348; +gSpriteCache = 0x8012634C; +gCurrentSprite = 0x80126350; +gSpriteTableNum = 0x80126354; +D_80126358 = 0x80126358; +D_8012635C = 0x8012635C; +D_80126360 = 0x80126360; +D_80126364 = 0x80126364; +D_80126368 = 0x80126368; +gTempTextureHeader = 0x8012636C; +D_80126370 = 0x80126370; +gCurrentRenderFlags = 0x80126374; +gBlockedRenderFlags = 0x80126378; +gCurrentTextureHeader = 0x8012637C; +gUsingTexture = 0x80126380; +gForceFlags = 0x80126382; +gUsePrimColour = 0x80126384; + +// menu .bss +gCourseInitials = 0x80126390; +gFLapInitials = 0x80126394; +gAdventureSaveGhost = 0x80126398; +gPreviousMenuID = 0x8012639C; +sMenuCurrDisplayList = 0x801263A0; +gTTSaveGhostPakErrorText = 0x801263A4; +sMenuCurrHudMat = 0x801263A8; +sMenuCurrHudVerts = 0x801263AC; +sMenuCurrHudTris = 0x801263B0; +gMenuSelectedCharacter = 0x801263B4; +D_801263B8 = 0x801263B8; +gOptionBlinkTimer = 0x801263BC; +gMenuCurrentCharacter = 0x801263C0; +gIgnorePlayerInputTime = 0x801263C4; +sUnused_801263C8 = 0x801263C8; +gCurrCharacterSelectData = 0x801263CC; +gTrackmenuLoadedLevel = 0x801263D0; +gActivePlayersArray = 0x801263D4; // size:0x4 +gOpacityDecayTimer = 0x801263D8; +gCharselectStatus = 0x801263DC; +gMenuStage = 0x801263E0; +D_801263E4 = 0x801263E4; +gPlayersCharacterArray = 0x801263E8; +gCharacterIdSlots = 0x801263F0; +gRankingsPoints = 0x801263F8; +gResultsPlayers = 0x80126418; +gRankingsPlayers = 0x80126420; +gResultsPlayerIDs = 0x80126428; +gRankingsPlayerIDs = 0x80126430; // size:0x8 +gRankingsPortraitIDs = 0x80126438; // size:0x10 +sEepromSettings = 0x80126448; // type:u64 +sBootScreenTimer = 0x80126450; // size:0x4 +gControllersXAxisDelay = 0x80126454; // size:0x4 +gControllersYAxisDelay = 0x80126458; // size:0x4 +gControllersXAxisDirection = 0x8012645C; // size:0x4 +gGameSelectElements = 0x80126460; // size:0x4 +gControllersYAxisDirection = 0x80126464; // size:0x4 +gControllersXAxis = 0x80126468; // size:0x4 +gControllersYAxis = 0x8012646C; // size:0x4 +sUnused_80126470 = 0x80126470; +gTrackSelectViewPortHalfX = 0x80126474; +gTrackSelectViewPortHalfY = 0x80126478; +gTrackSelectViewPortX = 0x8012647C; +gTrackSelectViewportY = 0x80126480; +gFileCopy = 0x80126484; +gFileErase = 0x80126488; +gSaveFileIndex3 = 0x8012648C; +gSaveFileIndex2 = 0x80126490; +gFileConfirm = 0x80126494; +gGhostMenuOption = 0x80126498; +D_8012649C = 0x8012649C; +gSavefileInfo = 0x801264A0; // size:0x30 +gCpakGhostData = 0x801264D0; // size:0x4 +gGhostMenuTotal = 0x801264D4; // size:0x4 +gDialogueSubmenu = 0x801264D8; // size:0x1 +gGhostLevelIDsPak = 0x801264DC; // size:0x4 +D_801264E0 = 0x801264E0; +D_801264E1 = 0x801264E1; +sCurrentMenuID = 0x801264E2; +gGhostCharacterIDsPak = 0x801264E4; +D_801264E8 = 0x801264E8; +gGhostVehicleIDsPak = 0x801264EC; +D_801264F0 = 0x801264F0; // size:0x8 +gGhostChecksumIDsPak = 0x801264F8; +sDialogueOptionMax = 0x80126504; +gGhostLevelIDsMenu = 0x80126508; +gDialogueOptionYOffset = 0x8012650E; +gGhostCharacterIDsMenu = 0x80126510; // size:0x6 +gDialogueItemSelection = 0x80126516; +gGhostVehicleIDsMenu = 0x80126518; +gGhostChecksumIDsMenu = 0x80126520; +gSavefileData = 0x80126530; // size:0x10 +gGhostWorldIDs = 0x80126540; // size:0x8 +gMultiplayerSelectedNumberOfRacersCopy = 0x80126548; +gMenuAssets = 0x80126550; // size:0x200 +gMenuAssetActive = 0x80126750; +gTrackmenuType = 0x801267D0; +D_801267D4 = 0x801267D4; +gMenuButtons = 0x801267D8; // size:0x14 +gCinematicParams = 0x801267EC; +buttonsPressed = 0x801267F0; +gCinematicPortraits = 0x80126804; +gMenuSoundMasks = 0x80126808; // size:0x10 +gMenuStickX = 0x80126818; // size:0xA +gCinematicEnd = 0x80126824; +sUnused_80126828 = 0x80126828; +D_8012682C = 0x8012682C; +gMenuStickY = 0x80126830; // size:0xA +D_8012683A = 0x8012683A; +gCinematicSkipA = 0x8012683C; +gTrackTTSoundMask = 0x80126840; +gCinematicSkipB = 0x80126844; +D_80126848 = 0x80126848; +gCinematicMusicChangeOff = 0x8012684C; +D_80126850 = 0x80126850; +gMenuElementScaleTimer = 0x80126854; +gPostraceScaleIn = 0x80126858; +gPostraceScaleMiddle = 0x8012685C; +gPostraceScaleOut = 0x80126860; +gTitleDemoIndex = 0x80126864; +gTitleDemoTimer = 0x80126868; +gTitleRevealTimer = 0x8012686C; +gTitleAudioCounter = 0x80126870; +sTitleScreenDemoIds = 0x80126874; +D_80126878 = 0x80126878; +D_801268D8 = 0x801268D8; +D_801268DC = 0x801268DC; +gOpeningNameID = 0x801268E0; +D_801268E4 = 0x801268E4; +gTrackSelectIDs = 0x801268E8; +gFFLUnlocked = 0x80126918; +D_8012691C = 0x8012691C; +D_80126920 = 0x80126920; +gTrackSelectVertsFlip = 0x80126924; +D_80126928 = 0x80126928; +D_8012692C = 0x8012692C; +gTrackSelectRenderDetails = 0x80126930; +gPlayerSelectVehicle = 0x801269C0; // size:0x4 +gPlayerSelectConfirm = 0x801269C4; // size:0x4 +gTrackSelectCursorX = 0x801269C8; // size:0x4 +gTrackSelectCursorY = 0x801269CC; // size:0x4 +gAudioOutputStrings = 0x801269D0; // size:0xC +gTrackSelectX = 0x801269DC; // size:0x4 +gMusicTestString = 0x801269E0; // size:0x4 +gTrackSelectY = 0x801269E4; // size:0x4 +gTrackSelectTargetX = 0x801269E8; // size:0x4 +gTrackSelectTargetY = 0x801269EC; // size:0x4 +gTrackMenuHubName = 0x801269F0; // size:0x4 +gSelectedTrackX = 0x801269F4; // size:0x4 +gSelectedTrackY = 0x801269F8; // size:0x4 +gSoundOptionMask = 0x801269FC; // size:0x4 +gSaveMenuOptionCountLower = 0x80126A00; // size:0x4 +gSaveMenuFilesDest = 0x80126A04; // size:0x4 +gSaveMenuOptionCountUpper = 0x80126A08; // size:0x4 +gSaveMenuFilesSource = 0x80126A0C; // size:0x4 +gSaveMenuRumbleNag = 0x80126A10; // size:0x4 +gSaveMenuRumbleConnected = 0x80126A14; // size:0x4 +gSaveMenuSourceState = 0x80126A18; // size:0x4 +gSaveMenuDestState = 0x80126A1C; // size:0x4 +sControllerPakNotesFree = 0x80126A20; // size:0x10 +sControllerPakIssueNotFound = 0x80126A30; // size:0x4 +sControllerPakFatalErrorFound = 0x80126A34; // size:0x4 +sControllerPakNoFreeSpace = 0x80126A38; // size:0x4 +sControllerPakBadData = 0x80126A3C; // size:0x4 +gMenuOptionText = 0x80126A40; // size:0x20 +sControllerPakDataPresent = 0x80126A60; // size:0x4 +D_80126A64 = 0x80126A64; +gMenuOption = 0x80126A68; +gSaveMenuRumbleNagSet = 0x80126A6C; +gDeviceStatusStrings = 0x80126A70; +gSaveMenuMessageLines = 0x80126A74; +gSaveMenuMessageOption = 0x80126A78; +D_80126A7C = 0x80126A7C; +gSaveMenuText = 0x80126A80; // size:0x10 +gPostRace1Player = 0x80126A90; +gPostRaceTimer = 0x80126A94; +gTracksSaveGhost = 0x80126A98; +D_80126A9C = 0x80126A9C; +gBootPakData = 0x80126AA0; // size:0x40 +sCurrentControllerPakAllFileNames = 0x80126AE0; +sCurrentControllerPakAllFileExtensions = 0x80126B20; +sCurrentControllerPakAllFileTypes = 0x80126B60; +sCurrentControllerPakNumberOfPages = 0x80126B70; +sCurrentControllerPakFreePages = 0x80126BB0; +sControllerPakMenuNumberOfRows = 0x80126BB4; +gMenuMosaic1 = 0x80126BB8; +gMenuMosaic2 = 0x80126BBC; +gMenuMosaicShift = 0x80126BC0; +gCreditsControlDataIndex = 0x80126BC4; +sControllerPakError = 0x80126BC8; +D_80126BCC = 0x80126BCC; +D_80126BD0 = 0x80126BD0; +gSaveMenuOptionSource = 0x80126BD4; +D_80126BD8 = 0x80126BD8; +gSaveMenuScrollSource = 0x80126BDC; +D_80126BE0 = 0x80126BE0; +gSaveMenuOptionDest = 0x80126BE4; +D_80126BE8 = 0x80126BE8; +gSaveMenuScrollDest = 0x80126BEC; +gResultOptionText = 0x80126BF0; +gCpakWriteTimer = 0x80126C10; +gResultOptionCount = 0x80126C14; +gBootMenuTimer = 0x80126C18; +gPostRaceMessage = 0x80126C1C; +gBootMenuPhase = 0x80126C20; +gPostRaceLineCount = 0x80126C24; +gPostraceFinishState = 0x80126C28; +gMenuGeometry = 0x80126C2C; +gCheatsAssetData = 0x80126C30; +gNameEntryStickHeld = 0x80126C34; +gNumberOfCheats = 0x80126C38; +gNameEntryStickX = 0x80126C3C; +gCheatInputCurrentRow = 0x80126C40; +gCheatInputCurrentColumn = 0x80126C42; +gCheatInputStringLength = 0x80126C44; +gOptionsMenuItemIndex = 0x80126C46; +gNameSelectionDone = 0x80126C48; +gNewCheatID = 0x80126C4C; +gNameEntryOffsetX = 0x80126C50; +gPostRace = 0x80126C54; // size:0x4 +gCheatInput = 0x80126C58; // size:0x14 +gNameEntryTargetX = 0x80126C6C; +gNumOnscreenMagicCodes = 0x80126C70; +gNameEntryString = 0x80126C74; +gNameEntryAllowedLength = 0x80126C78; +gUnlockedCheatIDs = 0x80126C80; +gFileNew = 0x80126CC0; + +// game_ui .bss +gMinimapOpacity = 0x80126CD0; +gMinimapFade = 0x80126CD1; +gShowHUD = 0x80126CD2; +gMinimapXlu = 0x80126CD3; +gRaceStartShowHudStep = 0x80126CD4; +D_80126CD5 = 0x80126CD5; +gAssetHudElementStaleCounter = 0x80126CD8; +gCurrentHud = 0x80126CDC; +gPlayerHud = 0x80126CE0; // size:0x10 +gAssetHudElementIds = 0x80126CF0; +gAssetHudElements = 0x80126CF4; +gAssetHudElementIdsCount = 0x80126CF8; +gHUDCurrDisplayList = 0x80126CFC; +gHUDCurrMatrix = 0x80126D00; +gHUDCurrVertex = 0x80126D04; +gHudCurrentViewport = 0x80126D08; +gHUDNumPlayers = 0x80126D0C; +D_80126D10 = 0x80126D10; +D_80126D14 = 0x80126D14; +D_80126D18 = 0x80126D18; +gMinimapDotOffsetX = 0x80126D1C; +gMinimapDotOffsetY = 0x80126D20; +gHudOffsetX = 0x80126D24; +gHudBounceX = 0x80126D28; +gHudBounceTimer = 0x80126D2C; +gHudBounceMag = 0x80126D30; +gHudRaceStart = 0x80126D34; +D_80126D35 = 0x80126D35; +gHideRaceTimer = 0x80126D36; +gNumActivePlayers = 0x80126D37; +gWrongWayNagPrefix = 0x80126D38; +gRaceStartSoundMask = 0x80126D3C; +gHUDVoiceSoundMask = 0x80126D40; +D_80126D44 = 0x80126D44; +D_80126D48 = 0x80126D48; +D_80126D4C = 0x80126D4C; +D_80126D50 = 0x80126D50; +gMinimapRed = 0x80126D54; +gMinimapGreen = 0x80126D55; +gMinimapBlue = 0x80126D56; +gMinimapScreenX = 0x80126D58; +gMinimapScreenY = 0x80126D5C; +gHudLevelHeader = 0x80126D60; +D_80126D64 = 0x80126D64; +D_80126D65 = 0x80126D65; +D_80126D66 = 0x80126D66; +gStopwatchFaceID = 0x80126D67; +D_80126D68 = 0x80126D68; +D_80126D69 = 0x80126D69; +gWrongWayNagTimer = 0x80126D6C; +gHudAudioReset = 0x80126D70; +gHudTimeTrialGhost = 0x80126D71; +gHudVoiceTimer = 0x80126D74; +gHudVoicePlayerID = 0x80126D78; +gHudVoiceID = 0x80126D7C; +gHudSprites = 0x80126D80; +D_80127180 = 0x80127180; +gHudSettings = 0x80127184; +gHudSilverCoinRace = 0x80127188; +D_80127189 = 0x80127189; +D_8012718A = 0x8012718A; +gMinimapOpacityTarget = 0x8012718B; +gStopwatchErrorX = 0x8012718C; +gStopwatchErrorY = 0x80127190; +D_80127194 = 0x80127194; +D_80127198 = 0x80127198; + +// os_yield_data .bss +gGfxTaskYieldData = 0x801271B0; + +// weather .bss +gSnowDensity = 0x80127BB0; +gSnowParticleCount = 0x80127BB4; +gWeather = 0x80127BB8; +gSnowPlane = 0x80127BF8; +gSnowVertOffset = 0x80127C00; +gSnowTriCount = 0x80127C04; +gSnowVertexFlip = 0x80127C08; +gCurrWeatherDisplayList = 0x80127C0C; +gCurrWeatherMatrix = 0x80127C10; +gCurrWeatherVertexList = 0x80127C14; +gCurrWeatherTriList = 0x80127C18; +gWeatherCamera = 0x80127C1C; +gWeatherCameraMatrix = 0x80127C20; +gLensFlareSet1 = 0x80127C24; +gLensFlareSet2 = 0x80127C28; +gLensFlareLarge = 0x80127C2C; +gLensFlarePos = 0x80127C30; +gLensFlareSwitches = 0x80127C40; + +// particles .bss +gParticleUpdateRate = 0x80127C80; +D_80127C84 = 0x80127C84; +D_80127C88 = 0x80127C88; + +// printf +gTexture = 0x80127CA0; //size:0xC +gDebugTextX = 0x80127CAC; +gDebugTextY = 0x80127CAE; +D_80127CB0 = 0x80127CB0; +D_80127CB2 = 0x80127CB2; +D_80127CB4 = 0x80127CB4; +gDebugTextOn = 0x80127CB8; +gDebugBoundsX1 = 0x80127CBC; +gDebugBoundsX2 = 0x80127CC0; +gDebugBoundsY1 = 0x80127CC4; +gDebugBoundsY2 = 0x80127CC8; +gDebugFontTexture = 0x80127CCC; +gDebugScreenWidth = 0x80127CD0; +gDebugScreenHeight = 0x80127CD2; +D_80127CD4 = 0x80127CD4; +gDebugPrintBufferStart = 0x80127CD8; +gDebugPrintBufferEnd = 0x801285D8; + +// thread0_epc +gEPCStack = 0x801285E0; +gEPCThread = 0x801295E0; +D_80129790 = 0x80129790; +D_801297A8 = 0x801297A8; +D_801297C8 = 0x801297C8; +D_801297E8 = 0x801297E8; +gEpcInfo = 0x80129800; // size:0x1B0 +D_801299B0 = 0x801299B0; // size:0x100 + +// stacks .bss +D_80129AB0 = 0x80129AB0; // size:0x100 +D_80129BB0 = 0x80129BB0; // size:0x400 +gObjectStackTrace = 0x80129FB0; // size:0x10 + +// waves .bss +D_80129FC0 = 0x80129FC0; +D_80129FC4 = 0x80129FC4; +D_80129FC8 = 0x80129FC8; // size:0x50 +D_8012A018 = 0x8012A018; +D_8012A01C = 0x8012A01C; +D_8012A020 = 0x8012A020; +D_8012A028 = 0x8012A028; +D_8012A078 = 0x8012A078; +gWaveBatch = 0x8012A07C; +gWaveTexture = 0x8012A080; +D_8012A084 = 0x8012A084; +D_8012A088 = 0x8012A088; +D_8012A08C = 0x8012A08C; +D_8012A090 = 0x8012A090; +D_8012A094 = 0x8012A094; +D_8012A098 = 0x8012A098; +D_8012A09C = 0x8012A09C; +D_8012A0A0 = 0x8012A0A0; +D_8012A0A4 = 0x8012A0A4; +gWaveBoundingBoxDiffX = 0x8012A0A8; +gWaveBoundingBoxDiffZ = 0x8012A0AC; +gWaveBoundingBoxX1 = 0x8012A0B0; +gWaveBoundingBoxZ1 = 0x8012A0B4; +D_8012A0B8 = 0x8012A0B8; +D_8012A0BC = 0x8012A0BC; +D_8012A0C0 = 0x8012A0C0; +D_8012A0C4 = 0x8012A0C4; +D_8012A0C8 = 0x8012A0C8; +D_8012A0CC = 0x8012A0CC; +D_8012A0D0 = 0x8012A0D0; +D_8012A0D4 = 0x8012A0D4; +D_8012A0D8 = 0x8012A0D8; +D_8012A0DC = 0x8012A0DC; +D_8012A0E0 = 0x8012A0E0; +D_8012A0E8 = 0x8012A0E8; +D_8012A1E8 = 0x8012A1E8; +D_8012A5E8 = 0x8012A5E8; +D_8012A5F4 = 0x8012A5F4; +D_8012A5F8 = 0x8012A5F8; +D_8012A5FC = 0x8012A5FC; +D_8012A600 = 0x8012A600; +gWavePowerBase = 0x8012A720; +gWaveMagnitude = 0x8012A724; +gWavePowerDivisor = 0x8012A728; + +// fade_transition +gCurFadeTransition = 0x8012A730; +gCurFadeRed = 0x8012A734; +gCurFadeGreen = 0x8012A735; +gCurFadeBlue = 0x8012A736; +gCurFadeAlpha = 0x8012A737; +gLastFadeRed = 0x8012A738; +gLastFadeGreen = 0x8012A73C; +gLastFadeBlue = 0x8012A740; +gLastFadeRedStep = 0x8012A744; +gLastFadeGreenStep = 0x8012A748; +gLastFadeBlueStep = 0x8012A74C; +sTransitionOpacity = 0x8012A750; +gTransitionOpacityVel = 0x8012A754; +D_8012A758 = 0x8012A758; +D_8012A75C = 0x8012A75C; +D_8012A760 = 0x8012A760; +D_8012A764 = 0x8012A764; +D_8012A768 = 0x8012A768; +D_8012A76C = 0x8012A76C; +gTransitionNextVtx = 0x8012A770; +gTransitionVtxStep = 0x8012A774; +gTransitionVertexTarget = 0x8012A778; +gTransitionVertexCount = 0x8012A77C; + +// game_text .bss +gGameTextTable = 0x8012A780; +gCloseTextMessage = 0x8012A784; +gTextCloseTimerFrames = 0x8012A785; +gTextCloseTimerSeconds = 0x8012A786; +D_8012A787 = 0x8012A787; +D_8012A788 = 0x8012A788; +gShowOnscreenMessage = 0x8012A789; +D_8012A78A = 0x8012A78A; +D_8012A78C = 0x8012A78C; +D_8012A78E = 0x8012A78E; +gTextTableEntries = 0x8012A790; +D_8012A792 = 0x8012A792; +gGameTextTableEntries = 0x8012A798; +D_8012A7A0 = 0x8012A7A0; +D_8012A7A4 = 0x8012A7A4; +gDialogueAlpha = 0x8012A7A8; +gTextAlphaVelocity = 0x8012A7AA; +gSubtitleTimer = 0x8012A7AC; +gDialogueXPos1 = 0x8012A7AE; +gDialogueYPos1 = 0x8012A7B0; +gDialogueXPos2 = 0x8012A7B2; +gDialogueYPos2 = 0x8012A7B4; +gShowSubtitles = 0x8012A7B6; +gSubtitleLineCount = 0x8012A7B8; +gCurrentTextID = 0x8012A7BA; +D_8012A7BC = 0x8012A7BC; +gSubtitleProperties = 0x8012A7C0; +gCurrentMessageText = 0x8012A7C8; +gCurrentTextProperties = 0x8012A7D0; +D_8012A7D4 = 0x8012A7D4; + +// font +gNumberOfFonts = 0x8012A7E0; +gFonts = 0x8012A7E4; +gDialogueBoxBackground = 0x8012A7E8; +gDialogueText = 0x8012A7EC; +gCompactKerning = 0x8012A7F0; +sDialogueBoxCloseTimer = 0x8012A7F4; + +// osCreatePiManager .bss +piThread = 0x8012A800; +piThreadStack = 0x8012A9B0; +piEventQueue = 0x8012AAB0; +piEventBuf = 0x8012AAC8; + +// gzip .bss +gzip_bit_buffer = 0x8012AAD0; +gzip_num_bits = 0x8012AAD4; +gHuftTablePos = 0x8012AAD8; + +// thread30_track_loading .bss +leoDiskStack = 0x8012AAE0; +gThread30 = 0x8012AAF0; +gThread30MesgQueue = 0x8012ACA0; // type:OSMesgQueue size:0x18 +gThread30Message = 0x8012ACB8; // type:OSMesg size:0x4 +gThread30Stack = 0x8012ACC0; // type:u64 size:0x2000 +__osFinalrom = 0x8012CCC0; // type:u32 size:0x4 + +// osSetEventMesg .bss +__osEventStateTab = 0x8012CCD0; + +// controller .bss +__osContPifRam = 0x8012CD50; +__osContLastCmd = 0x8012CD90; +__osMaxControllers = 0x8012CD91; +__osEepromTimer = 0x8012CD98; +__osEepromTimerQ = 0x8012CDB8; +__osEepromTimerMsg = 0x8012CDD0; +__osPfsPifRam = 0x8012CDE0; + +// siacs .bss +__osSiAccessQueue = 0x8012CE28; +__osEepPifRam = 0x8012CE40; +viThread = 0x8012CE80; +gViMgrStack = 0x8012D030; +viEventQueue = 0x8012D130; +viEventBuf = 0x8012D148; +viRetraceMsg = 0x8012D160; +viCounterMsg = 0x8012D178; +retrace = 0x8012D190; +tmp_task = 0x8012D1A0; +piAccessBuf = 0x8012D1E0; +__osPiAccessQueue = 0x8012D1E8; +__osBaseTimer = 0x8012D200; // type:OSTimer size:0x20 +__osCurrentTime = 0x8012D220; // type:u64 +__osBaseCounter = 0x8012D228; +__osViIntrCount = 0x8012D22C; +__osTimerCounter = 0x8012D230; +D_8012D238 = 0x8012D238; +__osThreadSave = 0x8012D240; // type:OSThread size:0x1B0 + diff --git a/ver/symbols/symbol_addrs.us.v80.txt b/ver/symbols/symbol_addrs.us.v80.txt new file mode 100644 index 00000000..b99b632c --- /dev/null +++ b/ver/symbols/symbol_addrs.us.v80.txt @@ -0,0 +1,4250 @@ +osTvType = 0x80000300; +osRomType = 0x80000304; +osRomBase = 0x80000308; +osResetType = 0x8000030C; +osCicId = 0x80000310; +osVersion = 0x80000314; +osMemSize = 0x80000318; +osAppNMIBuffer = 0x8000031C; +entrypoint = 0x80000400; + +// audio.c .text +audio_init = 0x80000450; +sound_volume_reset = 0x80000890; +sound_volume_change = 0x80000968; +music_change_off = 0x80000B18; +music_change_on = 0x80000B28; +music_play = 0x80000B34; +music_voicelimit_set = 0x80000BE0; +music_voicelimit_change_off = 0x80000C1C; +music_voicelimit_change_on = 0x80000C2C; +music_jingle_voicelimit_set = 0x80000C38; +func_80000C68 = 0x80000C68; +music_fade = 0x80000C98; +music_volume_reset = 0x80000CBC; +sound_update_queue = 0x80000D00; +sound_play_delayed = 0x80000FDC; +sound_clear_delayed = 0x80001050; +music_channel_get_mask = 0x8000105C; +music_dynamic_set = 0x80001074; +music_channel_off = 0x80001114; +music_channel_active = 0x8000114C; +music_channel_on = 0x80001170; +music_channel_pan_set = 0x800011A8; +music_channel_volume_set = 0x800011E8; +music_channel_volume = 0x80001228; +music_channel_fade_set = 0x80001268; +music_channel_fade = 0x800012A8; +music_channel_reset_all = 0x800012E8; +func_80001358 = 0x80001358; +func_80001440 = 0x80001440; +music_tempo_set_relative = 0x800014BC; +music_tempo_set = 0x80001534; +music_tempo = 0x800015B8; +music_is_playing = 0x800015C8; +music_animation_fraction = 0x800015F8; +sound_get_properties = 0x80001728; +music_jingle_play_safe = 0x80001784; +sound_jingle_tempo_set = 0x800017D4; +music_stop = 0x80001844; +music_enabled_set = 0x80001878; +music_can_play = 0x800018D0; +music_jingle_stop = 0x800018E0; +music_current_sequence = 0x80001918; +music_next = 0x80001954; +music_jingle_current = 0x80001980; +music_volume_set = 0x80001990; +music_volume_config_set = 0x80001A3C; +music_volume = 0x80001AEC; +music_volume_config = 0x80001AFC; +music_jingle_volume_set = 0x80001B0C; +music_jingle_pan_set = 0x80001B58; +music_jingle_play = 0x80001BC0; +music_jingle_playing = 0x80001C08; +sound_channel_volume_all = 0x80001C5C; +sound_distance = 0x80001CB8; +sound_play = 0x80001D04; +sound_play_spatial = 0x80001EA8; +func_80001F14 = 0x80001F14; +sound_volume_set_relative = 0x80001FB8; +sound_volume_set = 0x8000208C; +sound_pitch_set = 0x800020BC; +sound_count = 0x800020E8; +music_sequence_count = 0x80002110; +sound_table_properties = 0x80002128; +music_table_properties = 0x8000216C; +gSoundBank_GetSoundDecayTime = 0x800021B0; +sound_seqplayer_init = 0x80002224; +music_sequence_start = 0x800022BC; +music_sequence_init = 0x8000232C; +music_sequence_stop = 0x80002570; +sound_reverb_set = 0x80002608; +sound_reverb_enabled = 0x80002630; + +//audiomgr.c .text +amCreateAudioMgr = 0x80002660; +audioStartThread = 0x80002A50; +audioStopThread = 0x80002A74; +__amMain = 0x80002A98; +__amHandleFrameMsg = 0x80002C00; +__amHandleDoneMsg = 0x80002DF8; +__amDMA = 0x80002E38; +__amDmaNew = 0x80003008; +__clearAudioDMA = 0x80003040; + +//audiosfx.c .text +set_sfx_volume_slider = 0x80003160; +get_sfx_volume_slider = 0x8000317C; +set_sound_channel_count = 0x8000318C; +alSndPNew = 0x800031C0; +_sndpVoiceHandler = 0x800033C8; +_handleEvent = 0x80003470; +func_8000410C = 0x8000410C; +func_8000418C = 0x8000418C; +_removeEvents = 0x800041FC; +func_800042CC = 0x800042CC; +func_80004384 = 0x80004384; +func_80004520 = 0x80004520; +func_80004604 = 0x80004604; +func_8000461C = 0x8000461C; +func_80004638 = 0x80004638; +func_80004668 = 0x80004668; +sound_stop = 0x8000488C; +func_800048D8 = 0x800048D8; +func_80004998 = 0x80004998; +func_800049B8 = 0x800049B8; +sound_stop_all = 0x800049D8; +sound_event_update = 0x800049F8; +get_sound_channel_volume = 0x80004A3C; +set_sound_channel_volume = 0x80004A60; + +// audio_vehicle.c .text +func_80004B40 = 0x80004B40; +racer_sound_update = 0x800050D0; +func_80005254 = 0x80005254; +racer_sound_hovercraft = 0x80005D08; +func_800063EC = 0x800063EC; +racer_sound_free = 0x80006AC8; +func_80006BFC = 0x80006BFC; +func_80006FC8 = 0x80006FC8; +sound_vehicle_enable = 0x80007F78; +sound_vehicle_disable = 0x80007F88; +sound_vehicle_check = 0x80007F94; +func_80007FA4 = 0x80007FA4; + +// audio_spatial.c .text +func_80008040 = 0x80008040; +audioline_off = 0x80008140; +audioline_on = 0x80008168; +func_80008174 = 0x80008174; +func_80008438 = 0x80008438; +func_800090C0 = 0x800090C0; +audioline_distance = 0x800092A8; +play_sound_at_position = 0x80009558; +func_800095E8 = 0x800095E8; +update_spatial_audio_position = 0x800096D8; +func_800096F8 = 0x800096F8; +func_8000974C = 0x8000974C; +audioline_ambient_create = 0x800098A4; +func_80009968 = 0x80009968; +func_800099EC = 0x800099EC; +func_80009AB4 = 0x80009AB4; +func_80009B7C = 0x80009B7C; +func_80009D6C = 0x80009D6C; +func_8000A184 = 0x8000A184; +func_8000A2E8 = 0x8000A2E8; +debug_render_line = 0x8000A414; + +// seqplayer.c .text +dummy_8000A710 = 0x8000A710; +__mapVoice = 0x8000A71C; +__unmapVoice = 0x8000A7C4; +__lookupVoice = 0x8000A84C; +__lookupSoundQuick = 0x8000A8D0; +__vsVol = 0x8000A9F8; +__vsDelta = 0x8000AA88; +__vsPan = 0x8000AAAC; +__seqpReleaseVoice = 0x8000AB00; +__voiceNeedsNoteKill = 0x8000AC34; +__initFromBank = 0x8000ACE0; +__setInstChanState = 0x8000AD98; +__resetPerfChanState = 0x8000ADF4; +__initChanState = 0x8000AE90; +__seqpStopOsc = 0x8000AEFC; +set_voice_limit = 0x8000B010; + +// objects.c .text +func_8000B020 = 0x8000B020; +func_8000B290 = 0x8000B290; +func_8000B38C = 0x8000B38C; +func_8000B750 = 0x8000B750; +func_8000BADC = 0x8000BADC; +func_8000BF44 = 0x8000BF44; +allocate_object_pools = 0x8000BF8C; +decrypt_magic_codes = 0x8000C2D8; +clear_object_pointers = 0x8000C460; +free_all_objects = 0x8000C604; +load_object_header = 0x8000C718; +try_free_object_header = 0x8000C844; +normalise_time = 0x8000C8B4; +func_8000C8F8 = 0x8000C8F8; +func_8000CBC0 = 0x8000CBC0; +func_8000CBF0 = 0x8000CBF0; +func_8000CC20 = 0x8000CC20; +func_8000CC7C = 0x8000CC7C; +get_contpak_error = 0x8000E0B0; +instShowBearBar = 0x8000E128; +func_8000E138 = 0x8000E138; +func_8000E148 = 0x8000E148; +func_8000E158 = 0x8000E158; +func_8000E184 = 0x8000E184; +func_8000E194 = 0x8000E194; +fontUseFont = 0x8000E1B8; +find_non_car_racers = 0x8000E1CC; +check_if_silver_coin_race = 0x8000E1DC; +despawn_player_racer = 0x8000E1EC; +transform_player_vehicle = 0x8000E2B4; +set_time_trial_enabled = 0x8000E4BC; +is_time_trial_enabled = 0x8000E4C8; +is_in_time_trial = 0x8000E4D8; +func_8000E4E8 = 0x8000E4E8; +func_8000E558 = 0x8000E558; +func_8000E5EC = 0x8000E5EC; +func_8000E79C = 0x8000E79C; +func_8000E898 = 0x8000E898; +get_object = 0x8000E948; +objGetObjList = 0x8000E988; +get_object_count = 0x8000E9B0; +get_particle_count = 0x8000E9C0; +func_8000E9D0 = 0x8000E9D0; +spawn_object = 0x8000EA54; +objFreeAssets = 0x8000F648; +light_setup_light_sources = 0x8000F758; +init_object_shading = 0x8000F7EC; +func_8000F99C = 0x8000F99C; +obj_init_emitter = 0x8000FAC4; +init_object_shadow = 0x8000FBCC; +init_object_water_effect = 0x8000FC6C; +init_object_interaction_data = 0x8000FD20; +func_8000FD34 = 0x8000FD34; +func_8000FD54 = 0x8000FD54; +free_object = 0x8000FFB8; +obj_table_ids = 0x80010018; +obj_id_valid = 0x80010028; +gParticlePtrList_flush = 0x8001004C; +func_800101AC = 0x800101AC; +func_80010994 = 0x80010994; +func_80011134 = 0x80011134; +func_80011264 = 0x80011264; +do_nothing_func_80011364 = 0x80011364; +path_update_check = 0x8001136C; +path_enable = 0x80011390; +get_race_countdown = 0x8001139C; +get_race_start_timer = 0x800113AC; +func_800113BC = 0x800113BC; +play_footstep_sounds = 0x800113CC; +ignore_bounds_check = 0x80011560; +move_object = 0x80011570; +render_misc_model = 0x80011960; +render_3d_misc = 0x80011AD0; +render_3d_billboard = 0x80011C94; +render_3d_model = 0x800120C8; +func_80012C30 = 0x80012C30; +func_80012C3C = 0x80012C3C; +func_80012C98 = 0x80012C98; +func_80012CE8 = 0x80012CE8; +render_object = 0x80012D5C; +object_do_player_tumble = 0x80012E28; +object_undo_player_tumble = 0x80012F30; +func_80012F94 = 0x80012F94; +render_object_parts = 0x8001348C; +unset_temp_model_transforms = 0x80013548; +func_800135B8 = 0x800135B8; +render_bubble_trap = 0x800138A8; +render_racer_shield = 0x80013A0C; +render_racer_magnet = 0x80013DCC; +func_80014090 = 0x80014090; +func_800142B8 = 0x800142B8; +render_mesh = 0x800143A8; +func_80014814 = 0x80014814; +func_800149C0 = 0x800149C0; +func_80014B50 = 0x80014B50; +sort_objects_by_dist = 0x80015348; +process_object_interactions = 0x800155B8; +func_800159C8 = 0x800159C8; // has a diff from v1 +func_80016500 = 0x80016534; +func_80016748 = 0x8001677C; +func_80016BC4 = 0x80016BF8; +obj_butterfly_node = 0x80016C9C; +obj_dist_racer = 0x80016E1C; +func_8001709C = 0x800170D0; +func_80017248 = 0x8001727C; +func_8001790C = 0x80017940; +func_80017978 = 0x800179AC; +func_800179D0 = 0x80017A04; +func_80017A18 = 0x80017A4C; +set_taj_challenge_type = 0x80017EA8; +get_taj_challenge_type = 0x80017EBC; +func_80017E98 = 0x80017ECC; +func_800185E4 = 0x80018618; +find_taj_object = 0x80018CA0; +func_80018CE0 = 0x80018D14; +func_8001955C = 0x80019590; +func_80019808 = 0x8001983C; +set_course_finish_flags = 0x8001A80C; +race_finish_adventure = 0x8001A908; +race_transition_adventure = 0x8001A928; +race_finish_timer = 0x8001AE78; +get_balloon_cutscene_timer = 0x8001AE88; +race_finish_time_trial = 0x8001AE98; +timetrial_valid_player_ghost = 0x8001B2BC; +timetrial_player_ghost = 0x8001B314; +timetrial_load_staff_ghost = 0x8001B324; +timetrial_staff_ghost_check = 0x8001B3E0; +tt_ghost_beaten = 0x8001B3F8; +timetrial_init_staff_ghost = 0x8001B530; +timetrial_ghost_staff = 0x8001B674; +timetrial_staff_unbeaten = 0x8001B684; +timetrial_init_player_ghost = 0x8001B69C; +timetrial_save_player_ghost = 0x8001B76C; +has_ghost_to_save = 0x8001B7B4; +set_ghost_none = 0x8001B7C4; +func_8001B7A8 = 0x8001B7DC; +func_8001B834 = 0x8001B868; +func_8001B954 = 0x8001B988; +get_checkpoint_node = 0x8001BA34; +find_next_checkpoint_node = 0x8001BA50; +get_checkpoint_count = 0x8001BA98; +get_racer_objects = 0x8001BAA8; +get_racer_objects_by_port = 0x8001BAC4; +get_racer_objects_by_position = 0x8001BAE0; +get_racer_object = 0x8001BAFC; +get_racer_object_by_port = 0x8001BB4C; +debug_render_checkpoints = 0x8001BB9C; +debug_render_checkpoint_node = 0x8001BC74; +spectate_update = 0x8001BC88; +spectate_object = 0x8001BDC8; +spectate_nearest = 0x8001BE08; +ainode_update = 0x8001BF54; +obj_elevation = 0x8001C44C; +ainode_register = 0x8001C4C0; +ainode_find_nearest = 0x8001C558; +func_8001C6C4 = 0x8001C6F8; +func_8001CC48 = 0x8001CC7C; +func_8001CD28 = 0x8001CD5C; +ainode_enable = 0x8001D1E0; +ainode_tail_set = 0x8001D1F0; +ainode_tail = 0x8001D218; +ainode_get = 0x8001D248; +func_8001D248 = 0x8001D27C; +set_world_shading = 0x8001D28C; +add_shading_properties = 0x8001D2D4; +set_shading_properties = 0x8001D4E8; +update_envmap_position = 0x8001D614; +calc_dyn_light_and_env_map_for_object = 0x8001D718; +calc_dynamic_lighting_for_object_1 = 0x8001D840; +calc_env_mapping_for_object = 0x8001DD88; +set_racer_position_and_angle = 0x8001E170; +get_misc_asset = 0x8001E2D0; +func_8001E2EC = 0x8001E320; +func_8001E344 = 0x8001E378; +obj_bridge_pos = 0x8001E3A0; +cutscene_id = 0x8001E474; +cutscene_id_set = 0x8001E484; +func_8001E45C = 0x8001E490; +get_object_list_index = 0x8001E4E8; +func_8001E4C4 = 0x8001E4F8; +func_8001E6EC = 0x8001E720; +func_8001E89C = 0x8001E8D0; +func_8001E93C = 0x8001E970; +func_8001EE74 = 0x8001EEA8; +obj_init_animcamera = 0x8001EFD8; +func_8001F23C = 0x8001F270; +func_8001F3B8 = 0x8001F3EC; +func_8001F3C8 = 0x8001F3FC; +func_8001F3EC = 0x8001F420; +func_8001F450 = 0x8001F484; +func_8001F460 = 0x8001F494; +func_800210CC = 0x80021100; +func_80021104 = 0x80021138; +func_8002125C = 0x80021290; +func_80021400 = 0x80021434; +func_800214C4 = 0x800214F8; +func_800214E4 = 0x80021518; +func_80021600 = 0x80021634; +catmull_rom_interpolation = 0x80022574; +cubic_spline_interpolation = 0x80022670; +func_8002277C = 0x800227B0; +lerp = 0x800228BC; +func_800228B0 = 0x800228E4; +func_800228DC = 0x80022910; +init_racer_for_challenge = 0x80022920; +mode_init_taj_race = 0x8002297C; +obj_taj_create_balloon = 0x80022D30; +mode_end_taj_race = 0x80022E4C; +func_800230D0 = 0x80023104; +is_taj_challenge = 0x80023450; +find_furthest_telepoint = 0x80023460; +func_80023568 = 0x8002359C; +obj_door_override = 0x800235F4; +obj_door_open = 0x80023604; +get_object_property_size = 0x80023610; +run_object_init_func = 0x800238F0; +obj_init_property_flags = 0x80023E64; +run_object_loop_func = 0x80023F7C; +func_8002458C = 0x800245C0; +func_80024594 = 0x800245C8; +func_800245B4 = 0x800245E8; +func_800245F0 = 0x80024630; +calc_dynamic_lighting_for_object_2 = 0x80024784; +set_scene_viewport_num = 0x80024A20; +init_track = 0x80024A30; +render_scene = 0x80024D94; +func_80025510 = 0x80025550; +func_800257D0 = 0x80025810; +func_8002581C = 0x8002585C; +func_80026070 = 0x800260B0; +func_80026430 = 0x80026470; +func_80026C14 = 0x80026C54; +func_80026E54 = 0x80026E94; +func_80027184 = 0x800271C4; +func_80027568 = 0x800275A8; +func_800278E8 = 0x80027928; +animate_level_textures = 0x80027E64; +spawn_skydome = 0x80028004; +set_skydome_visbility = 0x80028084; +func_80028050 = 0x80028090; +draw_gradient_background = 0x800289F8; +render_skydome = 0x80028C50; +initialise_player_viewport_vars = 0x80028D10; +set_anti_aliasing = 0x80028FE0; +render_level_geometry_and_objects = 0x80028FEC; +render_level_segment = 0x80029698; +traverse_segments_bsp_tree = 0x80029B38; +add_segment_to_order = 0x80029D54; +check_if_inside_segment = 0x80029E20; +get_level_segment_index_from_position = 0x80029F58; +get_inside_segment_count_xz = 0x8002A09C; +get_inside_segment_count_xyz = 0x8002A174; +get_segment = 0x8002A2DC; +get_segment_bounding_box = 0x8002A31C; +func_8002A31C = 0x8002A35C; +should_segment_be_visible = 0x8002A638; +check_if_in_draw_range = 0x8002A940; +func_8002AC00 = 0x8002AC40; +dayGetTrackFade = 0x8002ACE0; +func_8002ACC8 = 0x8002AD08; +func_8002ACD4 = 0x8002AD14; +get_wave_properties = 0x8002AD48; +func_8002B0F4 = 0x8002B134; +func_8002B9BC = 0x8002B9FC; +func_8002BAB0 = 0x8002BAF0; +func_8002C0C4 = 0x8002C104; +func_8002C71C = 0x8002C75C; +get_current_level_model = 0x8002C804; +free_track = 0x8002C814; +func_8002C954 = 0x8002C994; +func_8002CC30 = 0x8002CC70; +trackMakeAbsolute = 0x8002D34C; +render_object_shadow = 0x8002D3C4; +render_object_water_effects = 0x8002D6B0; +update_shadows = 0x8002D91C; +func_8002DE30 = 0x8002DE70; +func_8002E234 = 0x8002E274; +func_8002E904 = 0x8002E944; +func_8002EEEC = 0x8002EF2C; +func_8002F2AC = 0x8002F2EC; +func_8002F440 = 0x8002F480; +func_8002FA64 = 0x8002FAA4; +func_8002FD74 = 0x8002FDB4; +func_8002FF6C = 0x8002FFAC; +func_800304C8 = 0x80030508; +set_fog = 0x800306A4; +get_fog_settings = 0x80030790; +reset_fog = 0x800307FC; +update_fog = 0x80030878; +apply_fog = 0x8003097C; +obj_loop_fogchanger = 0x80030AB4; +slowly_change_fog = 0x80030E20; +update_perspective_and_envmap = 0x80030FE0; +compute_scene_camera_transform_matrix = 0x80031058; +func_80031130 = 0x80031170; +func_800314DC = 0x8003151C; +func_80031600 = 0x80031640; +free_lights = 0x80031BA0; +setup_lights = 0x80031BF8; +func_80031CAC = 0x80031CEC; +add_object_light = 0x80031FC8; +disable_object_light = 0x80032250; +enable_object_light = 0x80032258; +toggle_object_light = 0x80032264; +func_80032248 = 0x80032288; +func_80032344 = 0x80032384; +lightUpdateLights = 0x800323D8; +func_80032424 = 0x80032464; +func_80032BAC = 0x80032BEC; +get_light_count = 0x80032CAC; +func_80032C7C = 0x80032CBC; +func_800337E4 = 0x80033824; +light_distance_calc = 0x80033A54; +light_direction_calc = 0x80033C48; +obj_init_scenery = 0x80033D00; +obj_loop_scenery = 0x80033E10; +obj_init_fireball_octoweapon = 0x80033F84; +obj_loop_fireball_octoweapon = 0x80033FA0; +obj_init_lasergun = 0x80034570; +obj_loop_lasergun = 0x800345E0; +obj_init_laserbolt = 0x80034884; +obj_loop_laserbolt = 0x800348A0; +obj_init_torch_mist = 0x80034B30; +obj_loop_torch_mist = 0x80034B8C; +obj_init_effectbox = 0x80034BA8; +obj_loop_effectbox = 0x80034BB4; +obj_init_trophycab = 0x80034EB0; +obj_loop_trophycab = 0x80034EDC; +obj_init_collectegg = 0x8003526C; +obj_loop_collectegg = 0x800352A0; +obj_init_eggcreator = 0x80035680; +obj_loop_eggcreator = 0x8003568C; +obj_init_lighthouse_rocketsignpost = 0x8003576C; +obj_loop_rocketsignpost = 0x80035814; +obj_init_airzippers_waterzippers = 0x800358CC; +obj_loop_airzippers_waterzippers = 0x800359AC; +obj_init_groundzipper = 0x80035B28; +obj_loop_groundzipper = 0x80035C90; +obj_init_timetrialghost = 0x80035E60; +obj_loop_timetrialghost = 0x80035E74; +obj_init_characterflag = 0x80035F38; +obj_loop_characterflag = 0x80035FAC; +try_to_collect_egg = 0x80036080; +obj_init_stopwatchman = 0x800361D4; +obj_loop_stopwatchman = 0x80036220; +play_tt_voice_clip = 0x80036C0C; +obj_init_fish = 0x80036C70; +obj_loop_fish = 0x80037114; +obj_init_lavaspurt = 0x800375B8; +obj_loop_lavaspurt = 0x800375D4; +obj_init_posarrow = 0x80037664; +obj_loop_posarrow = 0x8003767C; +obj_init_animator = 0x80037720; +obj_loop_animator = 0x80037824; +obj_init_animation = 0x80037A58; +obj_loop_animobject = 0x80037D28; +obj_loop_dooropener = 0x80037D48; +obj_init_overridepos = 0x80037D94; +obj_loop_overridepos = 0x80037DA0; +obj_init_wizpigship = 0x80037DAC; +obj_loop_wizpigship = 0x80037DB8; +obj_loop_vehicleanim = 0x80038138; +obj_init_hittester = 0x800381CC; +obj_loop_hittester = 0x80038200; +obj_init_dynamic_lighting_object = 0x80038220; +obj_init_unknown96 = 0x80038254; +obj_init_snowball = 0x80038288; +obj_loop_snowball = 0x800382BC; +obj_init_char_select = 0x80038370; +obj_loop_char_select = 0x8003837C; +obj_loop_animcamera = 0x80038750; +obj_init_animcar = 0x80038800; +obj_loop_animcar = 0x8003880C; +obj_init_infopoint = 0x80038894; +obj_loop_infopoint = 0x80038914; +obj_init_smoke = 0x800389EC; +obj_loop_smoke = 0x800389F8; +obj_init_unknown25 = 0x80038AAC; +obj_loop_unknown25 = 0x80038AB8; +obj_init_wardensmoke = 0x80038B08; +obj_loop_wardensmoke = 0x80038B14; +obj_init_bombexplosion = 0x80038BB4; +obj_loop_bombexplosion = 0x80038C34; +obj_init_teleport = 0x80038D98; +obj_loop_teleport = 0x80038E04; +obj_init_exit = 0x80038E7C; +obj_loop_exit = 0x80038F98; +obj_init_cameracontrol = 0x800391A0; +obj_loop_cameracontrol = 0x800391C4; +obj_init_setuppoint = 0x800391D0; +obj_loop_setuppoint = 0x800391FC; +obj_init_dino_whale = 0x80039208; +obj_loop_dino_whale = 0x8003923C; +obj_init_parkwarden = 0x800392F8; +set_taj_voice_line = 0x80039360; +obj_loop_parkwarden = 0x80039370; +play_taj_voice_clip = 0x8003AC7C; +obj_loop_gbparkwarden = 0x8003ACE0; +get_npc_pos_y = 0x8003ACEC; +obj_init_checkpoint = 0x8003ACFC; +obj_loop_checkpoint = 0x8003AD68; +obj_init_modechange = 0x8003AD74; +obj_loop_modechange = 0x8003AE90; +obj_init_bonus = 0x8003B098; +obj_loop_bonus = 0x8003B1B4; +obj_init_goldenballoon = 0x8003B3A8; +obj_loop_goldenballoon = 0x8003B4FC; +obj_init_door = 0x8003B80C; +obj_loop_door = 0x8003B9C8; +obj_init_ttdoor = 0x8003C220; +obj_loop_ttdoor = 0x8003C324; +obj_init_trigger = 0x8003C684; +obj_loop_trigger = 0x8003C7E4; +obj_init_bridge_whaleramp = 0x8003CA2C; +obj_loop_bridge_whaleramp = 0x8003CAA8; +obj_init_rampswitch = 0x8003CEA4; +obj_loop_rampswitch = 0x8003CEE0; +obj_init_seamonster = 0x8003CF40; +obj_loop_seamonster = 0x8003CF4C; +obj_init_fogchanger = 0x8003CF58; +obj_init_skycontrol = 0x8003CF98; +obj_loop_skycontrol = 0x8003CFD8; +obj_init_ainode = 0x8003D020; +obj_loop_ainode = 0x8003D06C; +obj_init_treasuresucker = 0x8003D078; +obj_loop_treasuresucker = 0x8003D098; +obj_init_flycoin = 0x8003D2EC; +obj_loop_flycoin = 0x8003D2F8; +obj_init_bananacreator = 0x8003D42C; +obj_loop_bananacreator = 0x8003D43C; +obj_init_banana = 0x8003D574; +obj_loop_banana = 0x8003D5E0; +obj_init_silvercoin_adv2 = 0x8003DBE0; +obj_init_silvercoin = 0x8003DC9C; +obj_loop_silvercoin = 0x8003DD54; +obj_init_worldkey = 0x8003DEB4; +obj_loop_worldkey = 0x8003DF48; +obj_init_weaponballoon = 0x8003E00C; +obj_loop_weaponballoon = 0x8003E180; +obj_init_wballoonpop = 0x8003E5F0; +obj_loop_wballoonpop = 0x8003E5FC; +obj_init_weapon = 0x8003E608; +obj_loop_weapon = 0x8003E670; +weapon_projectile = 0x8003E6D4; +rocket_prevent_overshoot = 0x8003EC54; +homing_rocket_prevent_overshoot = 0x8003EE18; +reset_rocket_sound_timer = 0x8003F110; +decrease_rocket_sound_timer = 0x8003F11C; +play_rocket_trailing_sound = 0x8003F138; +weapon_trap = 0x8003F328; +obj_spawn_effect = 0x8003FC84; +obj_init_audio = 0x8003FDA8; +obj_init_audioline = 0x8003FF34; +obj_init_audioreverb = 0x8004005C; +obj_init_texscroll = 0x800400E4; +obj_loop_texscroll = 0x80040188; +obj_init_rgbalight = 0x800403E8; +obj_init_buoy_pirateship = 0x80040418; +obj_loop_buoy_pirateship = 0x80040488; +obj_init_log = 0x800404DC; +obj_loop_log = 0x800405B0; +obj_init_weather = 0x80040840; +obj_loop_weather = 0x80040860; +obj_init_lensflare = 0x8004096C; +obj_init_lensflareswitch = 0x8004098C; +obj_init_wavegenerator = 0x800409E4; +obj_init_butterfly = 0x80040A08; +obj_loop_butterfly = 0x80040C94; +obj_init_midifade = 0x80041AD0; +obj_init_midifadepoint = 0x80041EC0; +obj_init_midichset = 0x80042054; +obj_init_bubbler = 0x8004207C; +obj_loop_bubbler = 0x800420D0; +obj_init_boost = 0x8004214C; +obj_init_unknown94 = 0x80042190; +obj_loop_unknown94 = 0x800421A0; +obj_init_rangetrigger = 0x800421AC; +obj_loop_rangetrigger = 0x800421B8; +obj_init_frog = 0x80042250; +obj_loop_frog = 0x80042330; +obj_loop_pigrocketeer = 0x800429D8; +obj_init_levelname = 0x80042A5C; +obj_loop_levelname = 0x80042AD0; +obj_loop_wizghosts = 0x80042D10; +func_80042D20 = 0x80042D60; +increment_ai_behaviour_chances = 0x80043F0C; +racer_AI_pathing_inputs = 0x800441B0; +roll_percent_chance = 0x80044490; +func_8004447C = 0x800444BC; +func_80045128 = 0x80045168; +func_800452A0 = 0x800452E0; +func_80045C48 = 0x80045C88; +func_80046524 = 0x80046564; +racer_attack_handler_hovercraft = 0x80048CBC; +update_camera_hovercraft = 0x80048EA4; +rotate_racer_in_water = 0x80049520; +func_80049794 = 0x800497D4; +apply_plane_tilt_anim = 0x8004C0E0; +racer_attack_handler_plane = 0x8004C180; +update_camera_plane = 0x8004C2F0; +func_8004CC20 = 0x8004CC60; +update_camera_loop = 0x8004D5D0; +update_carpet = 0x8004D99C; +obj_init_racer = 0x8004DAF0; +update_player_racer = 0x8004DE78; +set_racer_tail_lights = 0x8004F7BC; +func_8004F7F4 = 0x8004F834; +racer_approach_object = 0x80050794; +apply_vehicle_rotation_offset = 0x80050890; +func_80050A28 = 0x80050A68; +should_taj_teleport = 0x800521C8; +set_taj_status = 0x800521F8; +handle_racer_head_turning = 0x80052204; +slowly_reset_head_angle = 0x8005238C; +turn_head_towards_object = 0x800523C8; +func_8005250C = 0x8005254C; +func_80052988 = 0x800529C8; +racer_spinout_car = 0x80052BA4; +update_car_velocity_offground = 0x80052DBC; +handle_car_steering = 0x800534B8; +func_800535C4 = 0x80053604; +handle_car_velocity_control = 0x800536A4; +func_80053750 = 0x80053790; +racer_attack_handler_car = 0x80053EDC; +update_onscreen_AI_racer = 0x80054150; +update_car_velocity_ground = 0x8005496C; +func_80054FD0 = 0x80055010; +onscreen_ai_racer_physics = 0x80055AC4; +handle_racer_items = 0x80055F00; +play_char_horn_sound = 0x80056970; +func_8005698C = 0x800569CC; +racer_activate_magnet = 0x80056E6C; +racer_play_sound = 0x80057088; +racer_play_sound_after_delay = 0x800570E4; +play_random_character_voice = 0x800570F8; +handle_racer_top_speed = 0x80057260; +func_800575EC = 0x8005762C; +drop_bananas = 0x80057720; +handle_base_steering = 0x800579F0; +update_player_camera = 0x80057A80; +second_racer_camera_update = 0x800580F4; +update_camera_car = 0x80058228; +update_camera_finish_challenge = 0x80058BC4; +update_camera_finish_race = 0x80058D9C; +update_camera_fixed = 0x80058F84; +set_position_goal_from_path = 0x800590C0; +func_80059208 = 0x80059248; // has a diff from v1 +get_timestamp_from_frames = 0x800597E0; +allocate_ghost_data = 0x80059920; +timetrial_reset_player_ghost = 0x80059994; +timetrial_swap_player_ghost = 0x800599D4; +timetrial_map_id = 0x800599F8; +timetrial_load_player_ghost = 0x80059A08; +load_tt_ghost = 0x80059AB8; +timetrial_free_staff_ghost = 0x80059B9C; +timetrial_write_player_ghost = 0x80059BCC; +timetrial_ghost_write = 0x80059C40; +timetrial_ghost_full = 0x80059E70; +set_ghost_position_and_rotation = 0x80059E90; // has a diff from v1 +disable_racer_input = 0x8005A41C; +racer_set_dialogue_camera = 0x8005A42C; +drm_checksum_balloon = 0x8005A43C; +racer_enter_door = 0x8005A490; +update_AI_racer = 0x8005A75C; +func_8005B818 = 0x8005B884; // has a diff from v1 +drm_vehicle_traction = 0x8005C3FC; +func_8005C270 = 0x8005C410; +racer_special_init = 0x8005C490; +update_tricky = 0x8005C504; +set_boss_voice_clip_offset = 0x8005CC18; +racer_boss_sound_spatial = 0x8005CC24; +play_random_boss_sound = 0x8005CCA4; +racer_boss_finish = 0x8005CD08; +fade_when_near_camera = 0x8005D1E8; +update_bluey = 0x8005D270; +update_smokey = 0x8005D9C0; +spawn_boss_hazard = 0x8005E3A4; +update_bubbler = 0x8005E660; +update_wizpig = 0x8005EC30; +update_rocket = 0x8005F4B0; +allocate_object_model_pools = 0x8005F9F0; +object_model_init = 0x8005FB3C; // has a diff from v1 +func_8005FCD0 = 0x8005FF10; +free_3d_model = 0x80060180; +free_model_data = 0x80060298; +func_8006017C = 0x800603BC; +func_80060910 = 0x80060B50; +func_80060AC8 = 0x80060D08; +func_80060C58 = 0x80060E98; +func_80060EA8 = 0x800610E8; +func_800619F4 = 0x80061C34; +func_80061A00 = 0x80061C40; +func_80061C0C = 0x80061E4C; +object_animate = 0x80061F70; +alCSPNew = 0x800624D0; +__CSPVoiceHandler = 0x80062648; +__CSPPostNextSeqEvent = 0x80062C0C; +__CSPHandleNextSeqEvent = 0x80062C7C; +__CSPHandleMIDIMsg = 0x80062D40; +__CSPHandleMetaMsg = 0x80063A2C; +__CSPRepostEvent = 0x80063BC4; +__setUsptFromTempo = 0x80063C74; +func_80063A90 = 0x80063CD0; +alSeqChOff = 0x80063D30; +alSeqChOn = 0x80063D84; +alCSPSetFadeIn = 0x80063DE0; +alCSPGetFadeIn = 0x80063E40; +alFxPull = 0x80063E70; +alFxParam = 0x800641D4; +alFxParamHdl = 0x800641EC; +_loadOutputBuffer = 0x80064464; +_loadBuffer = 0x800646E0; +_saveBuffer = 0x80064878; +_filterBuffer = 0x80064A10; +_doModFunc = 0x80064AC4; +alFxReverbSet = 0x80064B6C; +_alFxEnabled = 0x80064B7C; +init_lpfilter = 0x80064B90; +alFxNew = 0x80064C48; +alEnvmixerNew = 0x80065094; +alLoadNew = 0x80065138; +alResampleNew = 0x800651DC; +alAuxBusNew = 0x80065264; +alMainBusNew = 0x800652C4; +alSaveNew = 0x80065324; +alSynNew = 0x80065370; +alAudioFrame = 0x800656D4; +__allocParam = 0x800658A8; +__freeParam = 0x800658DC; +_collectPVoices = 0x800658FC; +_freePVoice = 0x8006595C; +_timeToSamplesNoRound = 0x80065994; +_timeToSamples = 0x80065A04; +__nextSampleTime = 0x80065A2C; +alSynAllocFX = 0x80065AA0; +alAuxBusPull = 0x80065B40; +alAuxBusParam = 0x80065C14; +func_80065A80 = 0x80065CC0; +alSynSetPan = 0x80065D60; +set_stereo_pan_mode = 0x80065E10; +get_stereo_pan_mode = 0x80065E1C; +modify_panning = 0x80065E2C; +alSynStartVoiceParams = 0x80065E78; +mainproc = 0x80065F80; +thread1_main = 0x80065FD8; +thread3_verify_stack = 0x80066070; +camera_init = 0x800660E0; +func_80066060 = 0x800662A0; +set_viewport_tv_type = 0x800662D8; +func_800660C0 = 0x80066300; +func_800660D0 = 0x80066310; +get_current_camera_fov = 0x8006631C; +update_camera_fov = 0x8006632C; +calculate_camera_perspective = 0x800663D4; +matrix_get_model_s16 = 0x80066444; +get_viewport_count = 0x80066450; +get_current_viewport = 0x80066460; +camera_init_tracks_menu = 0x80066470; +get_distance_to_active_camera = 0x80066588; +camera_reset = 0x8006661C; +write_to_object_render_stack = 0x800666C8; +check_if_showing_cutscene_camera = 0x80066750; +disable_cutscene_camera = 0x80066760; +set_active_viewports_and_max = 0x8006676C; +set_active_camera = 0x80066828; +copy_viewports_to_stack = 0x80066850; +camEnableUserView = 0x80066A58; +camDisableUserView = 0x80066AD4; +check_viewport_background_flag = 0x80066B50; +viewport_menu_set = 0x80066B80; +set_viewport_properties = 0x80066CE8; +copy_viewport_background_size_to_coords = 0x80066DE8; +copy_viewport_frame_size_to_coords = 0x80066E6C; +copy_framebuffer_size_to_coords = 0x80066EC0; +func_80066CDC = 0x80066F1C; +viewport_scissor = 0x80067C7C; +func_80067D3C = 0x80067F7C; +set_ortho_matrix_height = 0x80068160; +set_ortho_matrix_view = 0x8006816C; +func_8006807C = 0x800682BC; +viewport_rsp_set = 0x80068398; +viewport_reset = 0x800684EC; +matrix_world_origin = 0x80068648; +sprite_anim_off = 0x80068748; +render_sprite_billboard = 0x80068754; +render_ortho_triangle_image = 0x80068E34; +apply_object_shear_matrix = 0x800691E8; +camera_push_model_mtx = 0x800696C4; +apply_head_turning_matrix = 0x800699D0; +get_modelmatrix_vector = 0x80069C24; +apply_matrix_from_stack = 0x80069C80; +translate_camera_segment = 0x80069D0C; +transform_camera_segment = 0x80069DB0; +rotate_camera_segment = 0x80069EF4; +get_active_camera_segment_no_cutscenes = 0x80069F3C; +get_active_camera_segment = 0x80069F60; +get_cutscene_camera_segment = 0x80069FBC; +get_projection_matrix_f32 = 0x80069FE4; +get_projection_matrix_s16 = 0x80069FF0; +get_camera_matrix = 0x80069FFC; +get_distance_to_camera = 0x8006A008; +set_camera_shake_by_distance = 0x8006A054; +set_camera_shake = 0x8006A168; +debug_print_fixed_matrix_values = 0x8006A1A4; +debug_print_float_matrix_values = 0x8006A27C; +get_si_mesg_queue = 0x8006A340; +init_controllers = 0x8006A34C; +handle_save_data_and_read_controller = 0x8006A404; +initialise_player_ids = 0x8006A674; +charselect_assign_players = 0x8006A698; +get_player_id = 0x8006A738; +swap_player_1_and_2_ids = 0x8006A74C; +get_buttons_held_from_player = 0x8006A768; +get_buttons_pressed_from_player = 0x8006A794; +get_buttons_released_from_player = 0x8006A7B8; +clamp_joystick_x_axis = 0x8006A7DC; +clamp_joystick_y_axis = 0x8006A820; +clamp_joystick = 0x8006A864; +disable_button_mask = 0x8006A8E0; +init_level_globals = 0x8006A8F0; +func_8006ABB4 = 0x8006ADF4; +search_level_properties_forwards = 0x8006AE40; +search_level_properties_backwards = 0x8006B06C; +get_race_type_count = 0x8006B258; +get_world_level_count = 0x8006B294; +get_map_default_vehicle = 0x8006B2EC; +get_map_available_vehicles = 0x8006B338; +get_map_race_type = 0x8006B38C; +get_map_world_id = 0x8006B3D0; +get_hub_area_id = 0x8006B414; +get_number_of_levels_and_worlds = 0x8006B464; +check_if_in_race = 0x8006B480; +load_level = 0x8006B490; +start_level_music = 0x8006BF50; +get_current_map_id = 0x8006BFC8; +get_current_level_race_type = 0x8006BFD8; +get_current_level_header = 0x8006BFF0; +get_total_level_header_count = 0x8006C000; +get_level_name = 0x8006C01C; +clear_audio_and_track = 0x8006C13C; +set_ai_level = 0x8006C208; +free_ai_behaviour_table = 0x8006C3A4; +get_ai_behaviour_table = 0x8006C3CC; +is_two_player_adventure_race = 0x8006C3DC; +push_level_property_stack = 0x8006C3EC; +pop_level_property_stack = 0x8006C46C; +clear_level_property_stack = 0x8006C524; +get_level_property_stack_pos = 0x8006C530; +func_8006C300 = 0x8006C540; +thread3_main = 0x8006C570; +init_game = 0x8006C620; +main_game_loop = 0x8006C84C; +load_next_ingame_level = 0x8006CD24; +load_level_game = 0x8006CD98; +unload_level_game = 0x8006CE54; +mode_game = 0x8006CF30; +set_drumstick_unlock_transition = 0x8006DAE4; +race_postrace_type = 0x8006DB20; +func_8006D8F0 = 0x8006DB30; +func_8006D968 = 0x8006DBA8; +get_game_mode = 0x8006DC4C; +set_game_mode = 0x8006DC5C; +load_menu_with_level_background = 0x8006DC68; +set_level_default_vehicle = 0x8006DD54; +set_vehicle_id_for_menu = 0x8006DD60; +get_level_default_vehicle = 0x8006DD6C; +load_level_menu = 0x8006DD7C; +unload_level_menu = 0x8006DE24; +update_menu_scene = 0x8006DE98; +mode_menu = 0x8006DF38; +load_level_for_menu = 0x8006E528; +calc_and_alloc_heap_for_settings = 0x8006E5FC; +init_racer_headers = 0x8006E7FC; +clear_lap_records = 0x8006E9B0; +clear_game_progress = 0x8006EBD4; +reset_save_data = 0x8006EC98; +get_settings = 0x8006ECD0; +is_game_paused = 0x8006ECE0; +is_postrace_viewport_active = 0x8006ECF0; +is_reset_pressed = 0x8006ED00; +get_ingame_map_id = 0x8006ED54; +mark_to_read_flap_times = 0x8006ED64; +mark_to_read_course_times = 0x8006ED80; +mark_to_read_flap_and_course_times = 0x8006ED9C; +mark_read_save_file = 0x8006EDB8; +mark_read_all_save_files = 0x8006EDE8; +mark_to_write_flap_times = 0x8006EE04; +mark_to_write_course_times = 0x8006EE20; +mark_to_write_flap_and_course_times = 0x8006EE3C; +force_mark_write_save_file = 0x8006EE58; +safe_mark_write_save_file = 0x8006EE88; +mark_save_file_to_erase = 0x8006EEEC; +mark_read_eeprom_settings = 0x8006EF04; +mark_write_eeprom_settings = 0x8006EF20; +alloc_displaylist_heap = 0x8006EF3C; +drm_validate_dmem = 0x8006F1F8; +default_alloc_displaylist_heap = 0x8006F21C; +level_transition_begin = 0x8006F380; +func_8006F20C = 0x8006F44C; +begin_trophy_race_teleport = 0x8006F494; +begin_lighthouse_rocket_cutscene = 0x8006F4DC; +begin_level_teleport = 0x8006F578; +set_pause_lockout_timer = 0x8006F5C8; +swap_lead_player = 0x8006F5D8; +set_frame_blackout_timer = 0x8006F66C; +mode_intro = 0x8006F67C; +is_controller_missing = 0x8006F708; +drm_validate_imem = 0x8006F72C; +interrupts_disable = 0x8006F750; +interrupts_enable = 0x8006F77C; +set_gIntDisFlag = 0x8006F7A4; +get_gIntDisFlag = 0x8006F7B0; +s32_matrix_to_s16_matrix = 0x8006F7BC; +f32_matrix_to_s32_matrix = 0x8006F820; +guMtxXFMF = 0x8006F88C; +f32_matrix_dot = 0x8006F92C; +f32_matrix_mult = 0x8006F9A8; +f32_matrix_to_s16_matrix = 0x8006FAB0; +set_rng_seed = 0x8006FB4C; +save_rng_seed = 0x8006FB58; +load_rng_seed = 0x8006FB6C; +get_rng_seed = 0x8006FB80; +get_random_number_from_range = 0x8006FB8C; +s16_matrix_rotate = 0x8006FBF8; +s16_matrix_to_s32_matrix = 0x8006FC80; +s16_vec3_mult_by_s32_matrix_full = 0x8006FCB8; +s16_vec3_mult_by_s32_matrix = 0x8006FDA0; +object_transform_to_matrix = 0x8006FE70; +f32_matrix_scale = 0x80070044; +f32_matrix_y_scale = 0x80070070; +object_transform_to_matrix_2 = 0x800700B4; +func_80070058 = 0x80070298; +f32_matrix_from_rotation_and_scale = 0x80070370; +s16_vec3_apply_object_rotation = 0x80070424; +f32_vec3_apply_object_rotation = 0x80070560; +f32_vec3_apply_object_rotation2 = 0x80070618; +f32_vec3_apply_object_rotation3 = 0x800706D0; +point_triangle_2d_xz_intersection = 0x80070730; +f32_matrix_from_position = 0x80070838; +f32_matrix_from_scale = 0x80070878; +atan2s = 0x800708AC; +arctan2_f = 0x80070990; +s32_matrix_cell_sqrt = 0x800709C0; +bad_int_sqrt = 0x800709EC; +sins_f = 0x80070A04; +coss_f = 0x80070A38; +coss_s16 = 0x80070A6C; +sins_s16 = 0x80070A70; +coss_2 = 0x80070ACC; +sins_2 = 0x80070AD0; +calc_dyn_lighting_for_level_segment = 0x80070B10; +func_80070A04 = 0x80070C44; +area_triangle_2d = 0x80070C6C; +set_breakpoint = 0x80070D18; +dmacopy_doubleword = 0x80070D44; +mempool_init_main = 0x80070D70; +mempool_new_sub = 0x80070DB8; +mempool_init = 0x80070E24; +mempool_alloc_safe = 0x80070EDC; +mempool_alloc = 0x80070F50; +mempool_slot_find = 0x80070F7C; +mempool_alloc_pool = 0x800710D0; +mempool_alloc_fixed = 0x80071138; +mempool_free_timer = 0x800712F0; +mempool_free = 0x80071380; +mempool_free_queue_clear = 0x800713D8; +mempool_free_addr = 0x800714B8; +func_80071314 = 0x80071554; +mempool_free_queue = 0x80071680; +mempool_locked_set = 0x800716B8; +mempool_locked_unset = 0x80071778; +mempool_get_pool = 0x8007182C; +mempool_slot_clear = 0x8007188C; +get_memory_pool_address = 0x800719B4; +mempool_slot_assign = 0x800719CC; +align16 = 0x80071A90; +align8 = 0x80071AAC; +align4 = 0x80071AC8; +find_active_pool_slot_colours = 0x80071AE4; +get_memory_colour_tag_count = 0x80071C64; +mempool_print_tags_usb = 0x80071D18; +mempool_print_tags_screen = 0x80071D94; +mmSlotPrint = 0x80071EB4; +func_80071CE8 = 0x80071F28; +osMotorStop = 0x80071F70; +osMotorStart = 0x80072098; +osMotorInit = 0x8007231C; +input_get_id = 0x80072490; +rumble_enable = 0x800724D8; // has a diff from v1 - NEW FUNC +rumble_init = 0x800724E4; +rumble_exists = 0x80072534; +rumble_set = 0x80072594; +rumble_set_fade = 0x80072670; +rumble_start = 0x800727C4; +rumble_stop = 0x800728C8; +rumble_kill = 0x80072954; +rumble_update = 0x80072964; // has a diff from v1 +func_80072C54 = 0x80072EAC; +func_80072E28 = 0x80073080; +populate_settings_from_save_data = 0x800732C4; +func_800732E8 = 0x80073540; +func_80073588 = 0x800737E0; +func_800738A4 = 0x80073AFC; +get_game_data_file_size = 0x80073EA4; +get_time_data_file_size = 0x80073EAC; +get_file_extension = 0x80073EB4; +read_game_data_from_controller_pak = 0x80074074; +write_game_data_to_controller_pak = 0x800741B4; +read_time_data_from_controller_pak = 0x80074270; +write_time_data_to_controller_pak = 0x800743A0; +read_save_file = 0x8007445C; +erase_save_file = 0x80074574; +write_save_data = 0x80074734; +read_eeprom_data = 0x80074828; +write_eeprom_data = 0x80074948; +calculate_eeprom_settings_checksum = 0x80074A64; +read_eeprom_settings = 0x80074ACC; +write_eeprom_settings = 0x80074BD4; +calculate_ghost_header_checksum = 0x80074CA4; +func_80074AA8 = 0x80074D00; +get_ghost_data_file_size = 0x80074D74; +func_80074B34 = 0x80074D8C; +func_80074EB8 = 0x80075110; +func_80075000 = 0x80075258; +func_800753D8 = 0x80075630; +func_800756D4 = 0x8007592C; +get_si_device_status = 0x80075B34; +start_reading_controller_data = 0x80075D44; +init_controller_paks = 0x80075D70; +check_for_rumble_pak = 0x80075F38; +repair_controller_pak = 0x80075F90; +reformat_controller_pak = 0x8007601C; +get_controller_pak_file_list = 0x800760B8; +cpak_free_files = 0x800763BC; +get_free_space = 0x800763EC; +delete_file = 0x80076520; +copy_controller_pak_data = 0x800765E0; +get_file_number = 0x80076740; +read_data_from_controller_pak = 0x80076868; +write_controller_pak_file = 0x8007692C; +get_file_size = 0x80076B7C; +font_codes_to_string = 0x80076BE4; +string_to_font_codes = 0x80076C90; +get_file_type = 0x80076D4C; + +// Entire asset_loading file seems quite different from v1 +init_PI_mesg_queue = 0x80076E00; // has a diff from v1 +load_asset_section_from_rom = 0x80076EE4; // has a diff from v1 +load_compressed_asset_from_rom = 0x80076FB0; // has a diff from v1 +load_asset_section_from_rom_to_address = 0x800770E8; // has a diff from v1 +load_asset_to_address = 0x80077190; // has a diff from v1 +get_rom_offset_of_asset = 0x80077240; // has a diff from v1 +get_size_of_asset_section = 0x800772DC; // has a diff from v1 +dmacopy = 0x80077370; // has a diff from v1 +dmacopy_v1 = 0x800773D4;// has a diff from v1 - NEW FUNC + +divider_draw = 0x800774A0; +divider_clear_coverage = 0x800776B8; +gfxtask_run_xbus = 0x800778A0; +gfxtask_run_xbus_2 = 0x80077A00; +gfxtask_run_fifo = 0x80077B84; +gfxtask_run_fifo_2 = 0x80077D18; +gfxtask_wait = 0x80077EA4; +gfxtask_run_rdp = 0x80077EFC; +bgdraw_primcolour = 0x80077F84; +bgdraw_fillcolour = 0x80077FAC; +bgdraw_render = 0x80077FEC; +rdp_init = 0x800784A4; +rsp_init = 0x8007852C; +gfxtask_init = 0x80078550; +bgdraw_texture_init = 0x800785C0; +func_80078190 = 0x800785E0; +bgdraw_chequer_on = 0x80078BC8; +bgdraw_chequer_off = 0x80078C40; +bgdraw_chequer = 0x80078C4C; +bgdraw_set_func = 0x80078EFC; +texrect_draw = 0x80078F08; +texrect_draw_scaled = 0x80079150; +osCreateScheduler = 0x800797A0; +osScAddClient = 0x800798D0; +osScRemoveClient = 0x80079934; +osScGetCmdQ = 0x800799C4; +osScGetInterruptQ = 0x800799CC; +scGetAudioTaskTimers = 0x800799D4; +func_80079760 = 0x80079BB0; +dummy_80079808 = 0x80079C58; +dummy_80079810 = 0x80079C60; +__scHandleRetrace = 0x80079C68; +__scHandleRSP = 0x80079F94; +__scHandleRDP = 0x8007A1AC; +__scTaskReady = 0x8007A238; +__scTaskComplete = 0x8007A290; +__scAppendList = 0x8007A390; +__scExec = 0x8007A3F8; +__scYield = 0x8007A4D0; +rsp_segment = 0x8007A720; +video_init = 0x8007A760; +fb_mode_set = 0x8007A910; +fb_mode = 0x8007A91C; +fb_mode_size = 0x8007A92C; +fb_size = 0x8007A970; +fb_init_vi = 0x8007A9A0; +fb_alloc = 0x8007AC38; +video_delta_reset = 0x8007ADC4; +fb_update = 0x8007ADDC; +func_8007AB24 = 0x8007AF74; +vi_refresh_rate = 0x8007AF84; +fb_swap = 0x8007AFEC; +fb_memcpy = 0x8007B04C; +tex_init_textures = 0x8007B0C0; +tex_disable_modes = 0x8007B25C; +tex_enable_modes = 0x8007B278; +get_loaded_2D_textures = 0x8007B294; +get_loaded_3D_textures = 0x8007B2A4; +func_8007AE64 = 0x8007B2B4; +load_texture = 0x8007B2C4; +free_texture = 0x8007B70C; +set_texture_colour_tag = 0x8007B7C4; +func_8007B380 = 0x8007B7D0; +reset_render_settings = 0x8007B820; +enable_primitive_colour = 0x8007B88C; +disable_primitive_colour = 0x8007B8A4; +set_animated_texture_header = 0x8007B8BC; +load_and_set_texture_no_offset = 0x8007B918; +load_and_set_texture = 0x8007B938; +load_blinking_lights_texture = 0x8007BEAC; +sprite_opaque = 0x8007C36C; +func_8007BF34 = 0x8007C384; +func_8007C12C = 0x8007C57C; +func_8007C52C = 0x8007C97C; +get_texture_size_from_id = 0x8007C9CC; +func_8007C660 = 0x8007CAB0; +func_8007C860 = 0x8007CCB0; +func_8007C8A0 = 0x8007CCF0; +load_sprite_info = 0x8007CD30; +func_8007CA68 = 0x8007CEB8; +free_sprite = 0x8007D100; +func_8007CDC0 = 0x8007D210; +build_tex_display_list = 0x8007D544; +func_8007EF64 = 0x8007F3B4; +tex_animate_texture = 0x8007F3D0; +func_8007F1E8 = 0x8007F638; +update_colour_cycle = 0x8007F69C; +init_pulsating_light_data = 0x8007F864; +update_pulsating_light_data = 0x8007F8B0; +func_8007F594 = 0x8007F9E4; +load_screen = 0x8007FA90; +render_screen = 0x8007FB64; +load_menu_text = 0x8007FD50; +menu_button_free = 0x800803D8; +func_8007FFEC = 0x8008043C; +menu_button_uvs = 0x80080968; +func_80080580 = 0x800809D0; +func_80080BC8 = 0x80081018; +menu_geometry_end = 0x800812BC; +func_80080E90 = 0x800812E0; +init_save_data = 0x80081668; // has a diff from v1 +reset_title_logo_scale = 0x80081810; +menu_init = 0x80081820; +menu_loop = 0x800819F4; +menu_timestamp_render = 0x80081C50; +menu_number_render = 0x80082054; +postrace_offsets = 0x800822A4; +postrace_render = 0x8008239C; +draw_menu_elements = 0x8008263C; +trackmenu_set_records = 0x80082D08; +menu_missing_controller = 0x80082E48; +menu_logos_screen_init = 0x80082EFC; +menu_logo_screen_loop = 0x80082FD4; +init_title_screen_variables = 0x800833FC; +func_80083098 = 0x800834E8; // has a diff from v1 +menu_title_screen_init = 0x80083974; +render_title_screen = 0x80083BB4; +menu_title_screen_loop = 0x80083E1C; +titlescreen_free = 0x80084550; +menu_options_init = 0x80084594; +optionscreen_render = 0x800845F0; +menu_options_loop = 0x80084794; // has a diff from v1 - pal +optionscreen_free = 0x80084B6C; +menu_audio_options_init = 0x80084B8C; +func_80084854 = 0x80084C8C; +menu_audio_options_loop = 0x800850AC; +soundoptions_free = 0x80085634; +menu_save_options_init = 0x800856A8; // has a diff from v1 +savemenu_render_element = 0x80085810; // has a diff from v1 +savemenu_render = 0x80085FDC; +savemenu_check_space = 0x800864E8; +savemenu_blank_save_destination = 0x80086608; +savemenu_load_sources = 0x80086704; +savemenu_load_destinations = 0x80086C14; +savemenu_move = 0x80086E88; +savemenu_write = 0x80086F3C; // has a diff from v1 +savemenu_render_error = 0x80087648; +savemenu_input_source = 0x80087940; +savemenu_input_dest = 0x80087A54; +savemenu_input_confirm = 0x80087B3C; +savemenu_input_message = 0x80087BA4; +menu_save_options_loop = 0x80087FD0; +savemenu_free = 0x80088328; // has a diff from v1 +func_80087F14 = 0x8008838C; +check_for_controller_pak_errors = 0x800887A4; +menu_boot_init = 0x8008896C; +menu_boot_loop = 0x80088A84; +bootscreen_free = 0x80088C3C; +bootscreen_init_cpak = 0x80088C60; // has a diff from v1 +pakmenu_render = 0x80088DB8; // has a diff from v1 +menu_controller_pak_loop = 0x80089540; +pakmenu_free = 0x80089A38; // has a diff from v1 +menu_magic_codes_init = 0x80089A78; +cheatmenu_render = 0x80089B40; +menu_magic_codes_loop = 0x8008A174; // has a diff from v1 +cheatmenu_free = 0x8008A978; +menu_magic_codes_list_init = 0x8008A998; +cheatlist_render = 0x8008AA1C; // has a diff from v1 +cheatlist_exclusive = 0x8008ADB0; +menu_magic_codes_list_loop = 0x8008ADE0; +cheatlist_free = 0x8008B1D4; +cheatmenu_checksum = 0x8008B1FC; +charselect_prev = 0x8008B36C; +titlescreen_controller_assign = 0x8008B3B8; +menu_character_select_init = 0x8008B484; +charselect_render_text = 0x8008B6C4; +charselect_new_player = 0x8008B810; +charselect_pick = 0x8008B980; +charselect_input = 0x8008BC10; +charselect_assign_ai = 0x8008BFF4; +menu_character_select_loop = 0x8008C1DC; +charselect_move = 0x8008C4A0; +charselect_free = 0x8008C5E0; +charselect_music_channels = 0x8008C620; +menu_caution_init = 0x8008C86C; +menu_caution_loop = 0x8008C8B4; +caution_free = 0x8008C9A0; +menu_game_select_init = 0x8008C9C0; +gameselect_render = 0x8008CB50; +menu_game_select_loop = 0x8008CC74; +gameselect_free = 0x8008CF84; +menu_file_select_init = 0x8008CFB4; +fileselect_render_element = 0x8008D0E0; +fileselect_render = 0x8008D22C; // has a diff from v1 +fileselect_input_root = 0x8008DAB0; +fileselect_input_copy = 0x8008DD74; +fileselect_input_erase = 0x8008E134; +menu_file_select_loop = 0x8008E328; +fileselect_free = 0x8008E8E0; +menu_init_vehicle_textures = 0x8008E914; +menu_init_arrow_textures = 0x8008E968; +menu_input = 0x8008E9A4; +trackmenu_active = 0x8008EC48; +menu_track_select_init = 0x8008EC58; +trackmenu_assets = 0x8008F4C4; +menu_track_select_loop = 0x8008F6EC; +menu_track_select_unload = 0x8008F9EC; +func_8008F618 = 0x8008FAD0; +trackmenu_render_2D = 0x8008FF0C; +func_8008FF1C = 0x800903D4; +trackmenu_track_view = 0x800909A0; +trackmenu_input = 0x80090DD0; +trackmenu_timetrial_sound = 0x80091390; +trackmenu_setup_render = 0x800913E8; // has a diff from v1 +func_80092188 = 0x800926A4; // has a diff from v1 - Looks like a struct has changed. +trackmenu_staff_beaten = 0x80093128; +menu_adventure_track_init = 0x800931CC; +adventuretrack_render = 0x800933DC; // has a diff from v1 +menu_adventure_track_loop = 0x80093B04; +adventuretrack_free = 0x80093F10; +menu_pause_init = 0x80093F44; +pausemenu_render = 0x80094244; +menu_pause_loop = 0x80094674; +menu_dialogue_end = 0x80094AB4; +menu_close_dialogue = 0x80094AE8; +menu_racer_portraits = 0x80094B08; +postrace_start = 0x80094B8C; +postrace_load = 0x80094F60; +postrace_music_fade = 0x80095118; +func_80094D28 = 0x8009522C; +postrace_message = 0x80095B28; +menu_postrace = 0x80095C2C; +postrace_free = 0x80096C94; +menu_results_init = 0x80096D4C; +results_render = 0x80096E7C; // has a diff from v1 +menu_results_loop = 0x800977E4; +results_free = 0x80097C08; +filename_decompress = 0x80097C34; +filename_compress = 0x80097C80; +filename_trim = 0x80097D0C; +filename_init = 0x80097DB0; // has a diff from v1 +filename_render = 0x80097E54; +filename_enter = 0x8009824C; +menu_unload_bigfont = 0x80098724; +trophyround_adventure = 0x80098744; +menu_trophy_race_round_init = 0x800987A8; +trophyround_render = 0x800988FC; +menu_trophy_race_round_loop = 0x80098AD8; +trophyround_free = 0x80098C90; +func_80098774 = 0x80098CB0; +menu_trophy_race_rankings_init = 0x80098F60; +rankings_render_order = 0x800993F8; +menu_trophy_race_rankings_loop = 0x80099510; +rankings_free = 0x80099B3C; +get_trophy_race_world_id = 0x80099B68; +ghostmenu_generate = 0x80099B78; +ghostmenu_erase = 0x80099E1C; +menu_ghost_data_init = 0x80099F98; +ghostmenu_render = 0x8009A3C8; +menu_ghost_data_loop = 0x8009AD10; +ghostmenu_free = 0x8009B0E8; +cinematic_start = 0x8009B114; +menu_cinematic_init = 0x8009B1D4; // has a diff from v1 +menu_cinematic_loop = 0x8009B238; +cinematic_free = 0x8009B454; +menu_credits_init = 0x8009B484; // has a diff from v1 +credits_fade = 0x8009B728; +menu_credits_loop = 0x8009B870; +credits_free = 0x8009C234; +menu_camera_centre = 0x8009C2A0; +func_8009BE54 = 0x8009C398; +reset_controller_sticks = 0x8009C3A0; +update_controller_sticks = 0x8009C464; +reset_character_id_slots = 0x8009C698; +get_save_file_index = 0x8009C6E4; +get_track_id_to_load = 0x8009C6F4; +get_character_id_from_slot = 0x8009C76C; +get_character_id_from_slot_unused = 0x8009C780; +get_player_selected_vehicle = 0x8009C794; +set_player_selected_vehicle = 0x8009C7A8; +charselect_status = 0x8009C7B8; +get_player_character = 0x8009C7C4; +enable_tracks_mode = 0x8009C808; +is_in_tracks_mode = 0x8009C814; +set_magic_code_flags = 0x8009C824; +get_filtered_cheats = 0x8009C850; +get_number_of_active_players = 0x8009C90C; +get_active_player_count = 0x8009C91C; +get_multiplayer_racer_count = 0x8009C984; +get_all_save_files_ptr = 0x8009C9D4; +menu_title_reset = 0x8009C9E0; +menu_assetgroup_free = 0x8009C9EC; +menu_asset_free = 0x8009CA4C; +menu_assetgroup_load = 0x8009CBB8; +menu_asset_load = 0x8009CC18; +menu_imagegroup_load = 0x8009CDE8; +menu_image_load = 0x8009CE48; +menu_imagegroup_free = 0x8009CF9C; +menu_element_render = 0x8009CFA4; +render_track_selection_viewport_border = 0x8009D2C0; +dialogue_npc_finish = 0x8009D4AC; +dialogue_try_close = 0x8009D4F4; +npc_dialogue_loop = 0x8009D530; +set_option_text_colour = 0x8009D65C; +render_dialogue_option = 0x8009D6FC; +handle_menu_joystick_input = 0x8009D7B0; +func_8009D324 = 0x8009D868; +set_next_taj_challenge_menu = 0x8009D874; +set_menu_id_if_option_equal = 0x8009D880; +taj_menu_loop = 0x8009D8A4; +dialogue_race_defeat = 0x8009DF38; +tt_menu_loop = 0x8009E080; +dialogue_tt_gamestatus = 0x8009E914; +trophy_race_cabinet_menu_loop = 0x8009ED2C; +dialogue_open_stub = 0x8009EEE4; +dialogue_close_stub = 0x8009EEEC; +dialogue_ortho = 0x8009EEF4; +get_eeprom_settings_pointer = 0x8009EFB0; +set_eeprom_settings_value = 0x8009EFBC; +unset_eeprom_settings_value = 0x8009F000; +get_eeprom_settings = 0x8009F04C; +get_language = 0x8009F064; +set_language = 0x8009F0D8; +is_adventure_two_unlocked = 0x8009F1A4; +is_in_adventure_two = 0x8009F1B4; +is_in_two_player_adventure = 0x8009F1C4; +is_tt_unlocked = 0x8009F1FC; +is_drumstick_unlocked = 0x8009F214; + +init_hud = 0x8009F230; +func_8009F034 = 0x8009F574; +free_hud = 0x800A057C; +race_starting = 0x800A06D0; +render_hud = 0x800A06E0; +hud_audio_init = 0x800A10B4; +hud_audio_update = 0x800A1114; +render_hud_race = 0x800A1300; +render_course_indicator_arrows = 0x800A13F4; +render_hud_banana_challenge = 0x800A1788; +render_hud_challenge_eggs = 0x800A1968; +hud_draw_eggs = 0x800A1A30; +hud_eggs_portrait = 0x800A1EE4; +render_hud_battle = 0x800A2144; +func_800A1E48 = 0x800A2388; +hud_draw_lives = 0x800A2834; +render_hud_race_boss = 0x800A2ACC; +render_hud_taj_race = 0x800A2B7C; +render_hud_hubworld = 0x800A2C08; +func_800A277C = 0x800A2CBC; // has a diff from v1 +set_stopwatch_face = 0x800A3C14; +hud_speedometre_reset = 0x800A3DB8; +render_speedometer = 0x800A3DCC; +render_race_start = 0x800A422C; +render_racer_bananas = 0x800A469C; +render_treasure_hud = 0x800A4B38; +render_silver_coin_counter = 0x800A4CE8; +render_race_finish_position = 0x800A4EC4; +func_800A4C34 = 0x800A517C; +render_race_position = 0x800A518C; +render_lap_count = 0x800A5498; +render_wrong_way_text = 0x800A5FAC; +hud_draw_finish_misc = 0x800A6460; +func_800A6254 = 0x800A679C; +play_time_trial_end_message = 0x800A72FC; // has a diff from v1 +render_time_trial_finish = 0x800A738C; +render_balloon_count = 0x800A76E8; +hud_sound_play = 0x800A799C; +hud_sound_play_delayed = 0x800A79E0; +hud_sound_stop = 0x800A7A48; +render_weapon_hud = 0x800A7A7C; +render_magnet_reticle = 0x800A7FBC; +render_race_time = 0x800A80C4; +render_timer = 0x800A8518; +minimap_init = 0x800A8910; +get_hud_setting = 0x800A89B4; +render_minimap_and_misc_hud = 0x800A89D0; +minimap_marker_pos = 0x800AA948; +func_800AA600 = 0x800AAB5C; +hud_draw_model = 0x800AB52C; +minimap_fade = 0x800AB6F0; +minimap_opacity_set = 0x800AB708; +hud_reset_race_start = 0x800AB724; +hud_visibility = 0x800AB730; +weather_init = 0x800AB750; +weather_clip_planes = 0x800AB868; +weather_free = 0x800AB8BC; +weather_reset = 0x800ABA08; +snow_init = 0x800AC094; +weather_set = 0x800AC1BC; +weather_update = 0x800AC3C8; +snow_update = 0x800AC628; +snow_vertices = 0x800AC77C; +snow_render = 0x800ACB04; +lensflare_off = 0x800ACDB0; +lensflare_on = 0x800ACDC0; +lensflare_remove = 0x800ACDE0; +lensflare_init = 0x800ACE08; +lensflare_render = 0x800ACF80; +lensflare_override_add = 0x800AD4C0; +lensflare_override_remove = 0x800AD4F8; +lensflare_override = 0x800AD590; +rain_init = 0x800AD6A4; +free_rain_memory = 0x800AD780; +rain_set = 0x800AD824; +rain_fog = 0x800AD96C; +rain_opacity_set = 0x800ADA0C; +rain_update = 0x800ADA18; +rain_render_splashes = 0x800ADBB8; +rain_lightning = 0x800AE018; +rain_sound = 0x800AE128; +render_rain_overlay = 0x800AE21C; +func_800AE270 = 0x800AE7D0; +func_800AE2A0 = 0x800AE800; +func_800AE2D8 = 0x800AE838; +func_800AE374 = 0x800AE8D4; +func_800AE438 = 0x800AE998; +func_800AE490 = 0x800AE9F0; +init_particle_assets = 0x800AEA90; +func_800AE728 = 0x800AEC88; +generate_particle_shape_triangle = 0x800AF374; +generate_particle_shape_quad = 0x800AF418; +func_800AEF88 = 0x800AF4E8; +func_800AF024 = 0x800AF584; +func_800AF0A4 = 0x800AF604; +func_800AF0F0 = 0x800AF650; +func_800AF134 = 0x800AF694; +partInitTrigger = 0x800AF740; +func_800AF29C = 0x800AF7FC; +func_800AF404 = 0x800AF964; +func_800AF52C = 0x800AFA8C; +func_800AF6E4 = 0x800AFC44; +func_800AF714 = 0x800AFC74; +obj_spawn_particle = 0x800B019C; +func_800AFE5C = 0x800B03BC; +func_800B0010 = 0x800B0570; +func_800B03C0 = 0x800B0920; +func_800B0698 = 0x800B0BF8; +func_800B0BAC = 0x800B110C; +func_800B1130 = 0x800B1690; +func_800B1CB8 = 0x800B2218; +func_800B2040 = 0x800B25A0; +func_800B2260 = 0x800B27C0; +handle_particle_movement = 0x800B285C; +func_800B263C = 0x800B2B9C; +func_800B26E0 = 0x800B2C40; +set_particle_texture_frame = 0x800B351C; +move_particle_basic_parent = 0x800B36A0; +move_particle_velocity_parent = 0x800B37A0; +move_particle_with_velocities = 0x800B38B8; +move_particle_basic = 0x800B3A10; +move_particle_with_velocity = 0x800B3AC4; +render_active_particles = 0x800B3BD8; +render_particle = 0x800B3CA0; +func_800B3E64 = 0x800B43C4; +get_particle_asset_table = 0x800B49E8; +get_next_particle_table = 0x800B4A34; +get_previous_particle_table = 0x800B4A8C; +get_particle_behaviour = 0x800B4AD8; +func_800B45C4 = 0x800B4B24; +func_800B461C = 0x800B4B7C; +func_800B4668 = 0x800B4BC8; +func_800B46BC = 0x800B4C1C; +strcpy = 0x800B4C70; +strcat = 0x800B4CA4; +strcasecmp = 0x800B4CF4; +strncasecmp = 0x800B4DA8; +memset = 0x800B4E6C; +_itoa = 0x800B4EA0; +func_800B4A08 = 0x800B4F68; +sprintf = 0x800B4F74; +vsprintf = 0x800B4FA0; +debug_text_init = 0x800B63E8; +render_printf = 0x800B643C; +debug_text_print = 0x800B64D8; +debug_text_reset = 0x800B6740; +set_render_printf_colour = 0x800B676C; +set_render_printf_background_colour = 0x800B6814; +set_render_printf_position = 0x800B68BC; +debug_text_width = 0x800B6954; +func_800B653C = 0x800B6A9C; +debug_text_background = 0x800B6EBC; +debug_text_character = 0x800B6F5C; +debug_text_bounds = 0x800B73B0; +debug_text_origin = 0x800B7440; +debug_text_newline = 0x800B7464; +func_800B6F30 = 0x800B7490; +__assert = 0x800B74A0; +thread0_create = 0x800B74B0; +thread0_Main = 0x800B7524; // has a diff from v1 +enable_interupts_on_main = 0x800B760C; +stop_all_threads_except_main = 0x800B7680; +write_epc_data_to_cpak = 0x800B76EC; +dump_memory_to_cpak = 0x800B7980; +update_object_stack_trace = 0x800B7BD8; +get_lockup_status = 0x800B7BFC; +mode_lockup = 0x800B7CF4; +render_epc_lock_up_display = 0x800B7D30; +stack_pointer = 0x800B8230; +free_waves = 0x800B8240; +wave_init = 0x800B83D4; +func_800B8134 = 0x800B8654; +func_800B82B4 = 0x800B87D4; +func_800B8B8C = 0x800B90AC; +func_800B8C04 = 0x800B9124; +func_800B9228 = 0x800B9748; +func_800B92F4 = 0x800B9814; +func_800B97A8 = 0x800B9CC8; +func_800B9C18 = 0x800BA138; +func_800BA288 = 0x800BA7A8; +func_800BA4B8 = 0x800BA9D8; +func_800BA8E4 = 0x800BAE04; +func_800BB2F4 = 0x800BB814; +func_800BBDDC = 0x800BC2FC; +func_800BBE08 = 0x800BC328; +func_800BBF78 = 0x800BC498; +func_800BC6C8 = 0x800BCBE8; +func_800BCC70 = 0x800BD190; +func_800BDC80 = 0x800BE1A0; +func_800BE654 = 0x800BEB74; +log_wave_height = 0x800BF3D4; +func_800BEFC4 = 0x800BF4E4; +func_800BF3E4 = 0x800BF904; +func_800BF524 = 0x800BFA44; +func_800BF634 = 0x800BFB54; +func_800BF9F8 = 0x800BFF18; +func_800BFC54 = 0x800C0174; +func_800BFE98 = 0x800C03B8; +obj_loop_wavepower = 0x800C04FC; +enable_new_screen_transitions = 0x800C0690; +disable_new_screen_transitions = 0x800C06A0; +check_fadeout_transition = 0x800C06AC; +transition_begin = 0x800C06F8; +handle_transitions = 0x800C09B4; +render_fade_transition = 0x800C0AE8; +transition_end = 0x800C0C44; +transition_fullscreen_start = 0x800C0CA0; +process_transition_fullscreen = 0x800C0D54; +render_fade_fullscreen = 0x800C0F28; +init_transition_shape = 0x800C1020; +process_transition_shape = 0x800C1650; +render_fade_barndoor_horizontal = 0x800C1904; +render_fade_barndoor_vertical = 0x800C19FC; +func_800C15D4 = 0x800C1AF4; +func_800C1EE8 = 0x800C2408; +render_fade_circle = 0x800C2794; +render_fade_waves = 0x800C2918; +render_fade_barndoor_diagonal = 0x800C2A68; +init_transition_blank = 0x800C2B60; +process_transition_disabled = 0x800C2CC0; +render_fade_disabled = 0x800C2E08; +init_dialogue_text = 0x800C2F10; +free_message_box = 0x800C2FD4; +set_subtitles = 0x800C3014; +render_subtitles = 0x800C3020; // has a diff from v1 +find_next_subtitle = 0x800C32C4; +process_subtitles = 0x800C3474; +load_game_text_table = 0x800C35A0; +free_game_text_table = 0x800C3624; +set_textbox_display_value = 0x800C3698; +reset_delayed_text = 0x800C36A4; +set_delayed_text = 0x800C36B0; +set_current_text = 0x800C3744; +textbox_visible = 0x800C3958; +process_onscreen_textbox = 0x800C3998; +dialogue_challenge_loop = 0x800C3ABC; +func_800C38B4 = 0x800C3E0C; +load_fonts = 0x800C4160; +set_kerning = 0x800C46C4; +load_font = 0x800C46D0; +unload_font = 0x800C478C; +set_text_font = 0x800C484C; +get_loaded_font = 0x800C4878; +set_text_colour = 0x800C48E4; +set_text_background_colour = 0x800C492C; +draw_text_plain_unused = 0x800C4964; +draw_text = 0x800C49A0; +draw_dialogue_text_unused = 0x800C4A20; +draw_dialogue_text_pos_unused = 0x800C4A70; +render_text_string = 0x800C4B04; +get_text_width = 0x800C5300; +set_current_dialogue_box_coords = 0x800C543C; +set_dialogue_font = 0x800C54DC; +set_current_dialogue_background_colour = 0x800C551C; +set_current_text_colour = 0x800C5560; +set_current_text_background_colour = 0x800C55B0; +set_current_text_offset = 0x800C55F4; +reset_current_text_offset = 0x800C5638; +func_800C510C = 0x800C566C; +render_dialogue_text = 0x800C56C8; +move_dialogue_box_to_front = 0x800C5988; +dialogue_clear = 0x800C59F4; +align_text_in_box = 0x800C5A48; +open_dialogue_box = 0x800C5B54; +dialogue_close = 0x800C5B80; +set_dialogue_box_unused_flag = 0x800C5BAC; +dialogue_box_clear_unused_flag = 0x800C5BD8; +enable_dialogue_box_vertices = 0x800C5C04; +clear_dialogue_box_open_flag = 0x800C5C30; +render_dialogue_boxes = 0x800C5C5C; +s32_to_string = 0x800C5D6C; +render_fill_rectangle = 0x800C6000; +render_dialogue_box = 0x800C60B8; +parse_string_with_number = 0x800C64C0; +osCreatePiManager = 0x800C6560; +gzip_init = 0x800C66D0; +byteswap32 = 0x800C670C; +get_asset_uncompressed_size = 0x800C673C; +gzip_inflate = 0x800C6778; +gzip_huft_build = 0x800C67D4; +gzip_inflate_block = 0x800C6E20; +gzip_inflate_dynamic = 0x800C6F24; +gzip_inflate_fixed = 0x800C733C; +gzip_inflate_stored = 0x800C7494; +gzip_inflate_codes = 0x800C75A0; +__osLeoInterrupt = 0x800C78A0; +create_and_start_thread30 = 0x800C78B0; +stop_thread30 = 0x800C791C; +get_thread30_need_to_load_level = 0x800C7940; +tick_thread30 = 0x800C7950; +get_thread30_load_delay = 0x800C79A8; +set_level_to_load_in_background = 0x800C79B8; +thread30_track_loading = 0x800C7A00; // type:func +alHeapInit = 0x800C7AC0; +alBnkfNew = 0x800C7C04; +alSeqFileNew = 0x800C7D08; +alHeapDBAlloc = 0x800C7D50; +alCSPSetVol = 0x800C7DB0; +alCSPGetTempo = 0x800C7DF0; +osGetCount = 0x800C7E30; +alCSPSetChlPan = 0x800C7E40; +alCSPSetChlVol = 0x800C7EA0; +alCSPGetChlVol = 0x800C7F00; +alSeqpGetChlFXMix = 0x800C7F20; +alCSPSetTempo = 0x800C7F40; +alCSPGetState = 0x800C7FB0; +alCSPSetBank = 0x800C7FC0; +alCSeqGetLoc = 0x800C8000; +alCSeqSetLoc = 0x800C80A0; +alCSeqNextEvent = 0x800C8264; +alCSeqNew = 0x800C855C; +alCSeqNewMarker = 0x800C8670; +alCSeqGetTicks = 0x800C87DC; +alCSeqSecToTicks = 0x800C87E4; +alCSeqTicksToSec = 0x800C88E0; +__alCSeqNextDelta = 0x800C894C; +alCSPSetSeq = 0x800C8AC0; +alCSPPlay = 0x800C8B00; +alCSPStop = 0x800C8B30; +osAiSetFrequency = 0x800C8B60; +alUnlink = 0x800C8CC0; +alLink = 0x800C8CF0; +alClose = 0x800C8D14; +alInit = 0x800C8D4C; +osCreateMesgQueue = 0x800C8D80; +osCreateThread = 0x800C8DB0; +osStartThread = 0x800C8F00; +osStopThread = 0x800C9050; +osRecvMesg = 0x800C9110; +osVirtualToPhysical = 0x800C9250; +osAiSetNextBuffer = 0x800C92D0; +osAiGetLength = 0x800C9380; +osSendMesg = 0x800C9390; +osPiStartDma = 0x800C94E0; +alEvtqFlushType = 0x800C95F0; +alEvtqFlush = 0x800C969C; +alEvtqPostEvent = 0x800C970C; +alEvtqNextEvent = 0x800C9830; +alEvtqNew = 0x800C98BC; +alSynAddPlayer = 0x800C9930; +_allocatePVoice = 0x800C9980; +alSynAllocVoice = 0x800C9A68; +alSynSetVol = 0x800C9BB0; +alSynStartVoice = 0x800C9C50; +alSynSetPitch = 0x800C9CE0; +alSynSetFXMix = 0x800C9D70; +alSynStopVoice = 0x800C9E10; +alSynFreeVoice = 0x800C9E90; +alCents2Ratio = 0x800C9F40; +osSetIntMask = 0x800C9F90; +sqrtf = 0x800CA030; +alSynSetPriority = 0x800CA040; +__NOPS_NEEDED = 0x800CA050; +__d_to_ll = 0x800CA090; +__f_to_ll = 0x800CA0AC; +__d_to_ull = 0x800CA0C8; +__f_to_ull = 0x800CA168; +__ll_to_d = 0x800CA204; +__ll_to_f = 0x800CA21C; +__ull_to_d = 0x800CA234; +__ull_to_f = 0x800CA268; +rmonPrintf = 0x800CA2B4; +bcopy = 0x800CA300; +alFilterNew = 0x800CA610; +alEnvmixerPull = 0x800CA630; +alEnvmixerParam = 0x800CAFDC; +_frexpf = 0x800CB664; +_ldexpf = 0x800CB7E8; +alLoadParam = 0x800CBAA0; +alRaw16Pull = 0x800CBC74; +alAdpcmPull = 0x800CC14C; +alResampleParam = 0x800CC5F0; +alResamplePull = 0x800CC6DC; +alMainBusParam = 0x800CC8F0; +alMainBusPull = 0x800CC920; +alSaveParam = 0x800CCA40; +alSavePull = 0x800CCA74; +osInitialize = 0x800CCB00; +osSetThreadPri = 0x800CCDA0; +guPerspectiveF = 0x800CCE80; +guPerspective = 0x800CD0B0; +osSetEventMesg = 0x800CD110; +osContInit = 0x800CD180; +__osContGetInitData = 0x800CD378; +__osPackRequestData = 0x800CD448; +osContStartReadData = 0x800CD540; +osContGetReadData = 0x800CD604; +__osSpSetStatus = 0x800CD7A0; +osDpSetStatus = 0x800CD7B0; +osSetTime = 0x800CD7C0; +osPfsIsPlug = 0x800CD7F0; +__osPfsRequestData = 0x800CD990; +__osPfsGetInitData = 0x800CDA8C; +__osSiCreateAccessQueue = 0x800CDB60; +__osSiGetAccess = 0x800CDBB0; +__osSiRelAccess = 0x800CDBF4; +__osSiRawStartDma = 0x800CDC20; +__osContAddressCrc = 0x800CDCD0; +__osContDataCrc = 0x800CDD80; +__osContRamWrite = 0x800CDE50; +__osContRamRead = 0x800CE200; +bcmp = 0x800CE5B0; +memcpy = 0x800CE6D0; +strlen = 0x800CE6FC; +strchr = 0x800CE724; +osEepromProbe = 0x800CE770; +osEepromRead = 0x800CE7E0; +__osPackEepReadData = 0x800CE9D0; +osEepromWrite = 0x800CEAE0; +__osPackEepWriteData = 0x800CEC90; +__osEepStatus = 0x800CED9C; +__ull_rshift = 0x800CEFC0; +__ull_rem = 0x800CEFEC; +__ull_div = 0x800CF028; +__ll_lshift = 0x800CF064; +__ll_rem = 0x800CF090; +__ll_div = 0x800CF0CC; +__ll_mul = 0x800CF128; +__ull_divremi = 0x800CF158; +__ll_mod = 0x800CF1B8; +__ll_rshift = 0x800CF254; +osPfsInit = 0x800CF280; +__osPfsGetStatus = 0x800CF334; +osPfsReadWriteFile = 0x800CF53C; +osPfsFreeBlocks = 0x800CF940; +osPfsChecker = 0x800CFA90; +corrupted_init = 0x800D0154; +corrupted = 0x800D0308; +osPfsReFormat = 0x800D04F0; +osPfsNumFiles = 0x800D08F0; +bzero = 0x800D0A40; +osPfsFileState = 0x800D0AE0; +osPfsDeleteFile = 0x800D0DD0; +__osPfsReleasePages = 0x800D10B0; +__osBlockSum = 0x800D12E8; +osPfsFindFile = 0x800D13E0; +osPfsAllocateFile = 0x800D15A0; +__osPfsDeclearPage = 0x800D1A24; +osInvalDCache = 0x800D1D50; +osWritebackDCacheAll = 0x800D1E00; +osDpGetStatus = 0x800D1E30; +osDpSetNextBuffer = 0x800D1E40; +osCreateViManager = 0x800D1EF0; +viMgrMain = 0x800D2068; +osViSetMode = 0x800D2200; +osViBlack = 0x800D2270; +osViSetEvent = 0x800D22E0; +osSpTaskYielded = 0x800D2350; +osViGetCurrentFramebuffer = 0x800D23D0; +osViGetNextFramebuffer = 0x800D2410; +osSpTaskLoad = 0x800D256C; +osSpTaskStartGo = 0x800D26CC; +osGetTime = 0x800D2710; +osSpTaskYield = 0x800D27A0; +osViSetSpecialFeatures = 0x800D27C0; +osViSwapBuffer = 0x800D2980; +__osGetActiveQueue = 0x800D29D0; +__osPiCreateAccessQueue = 0x800D29E0; +__osPiGetAccess = 0x800D2A30; +__osPiRelAccess = 0x800D2A74; +osGetThreadPri = 0x800D2AA0; +__osDisableInt = 0x800D2AC0; +__osRestoreInt = 0x800D2AE0; +osPiRawStartDma = 0x800D2B00; +osEPiRawStartDma = 0x800D2BE0; +__osDevMgrMain = 0x800D2CC0; +__osViInit = 0x800D3070; +alSynDelete = 0x800D31C0; +__osDequeueThread = 0x800D31D0; +__osExceptionPreamble = 0x800D3210; +__osException = 0x800D3220; +send_mesg = 0x800D3744; +handle_CpU = 0x800D37F8; +__osEnqueueAndYield = 0x800D382C; +__osEnqueueThread = 0x800D392C; +__osPopThread = 0x800D3974; +__osDispatchThread = 0x800D3984; +__osCleanupThread = 0x800D3B00; +__osProbeTLB = 0x800D3B10; +__osAiDeviceBusy = 0x800D3BD0; +osJamMesg = 0x800D3C00; +osPiGetCmdQueue = 0x800D3D50; +alCopy = 0x800D3D80; +_Printf = 0x800D4470; +__osSetSR = 0x800D4AC0; +__osGetSR = 0x800D4AD0; +__osSetFpcCsr = 0x800D4AE0; +__osSiRawReadIo = 0x800D4AF0; +__osSiRawWriteIo = 0x800D4B40; +osWritebackDCache = 0x800D4B90; +osInvalICache = 0x800D4C10; +osMapTLBRdb = 0x800D4C90; +osPiRawReadIo = 0x800D4CF0; +__osSetHWIntrRoutine = 0x800D4D50; +guMtxF2L = 0x800D4DA0; +guMtxIdentF = 0x800D4EA0; +guMtxIdent = 0x800D4F28; +guMtxL2F = 0x800D4F58; +cosf = 0x800D5010; +sinf = 0x800D5180; +osSetTimer = 0x800D5340; +__osTimerServicesInit = 0x800D5420; +__osTimerInterrupt = 0x800D54AC; +__osSetTimerIntr = 0x800D5624; +__osInsertTimer = 0x800D5698; +__osSiDeviceBusy = 0x800D5820; +__osSumcalc = 0x800D5850; +__osIdCheckSum = 0x800D58AC; +__osRepairPackId = 0x800D5914; +__osCheckPackId = 0x800D5D2C; +__osGetId = 0x800D5EC4; +__osCheckId = 0x800D6120; +__osPfsRWInode = 0x800D621C; +__osPfsSelectBank = 0x800D653C; +__osDpDeviceBusy = 0x800D65B0; +__osViGetCurrentContext = 0x800D65E0; +__osViSwapContext = 0x800D65F0; +__osSpGetStatus = 0x800D6950; +__osSpSetPc = 0x800D6960; +__osSpRawStartDma = 0x800D69A0; +__osSpDeviceBusy = 0x800D6A30; +__osResetGlobalIntMask = 0x800D6A60; +osEPiRawWriteIo = 0x800D6AC0; +osYieldThread = 0x800D6B10; +osDestroyThread = 0x800D6B60; +_Litob = 0x800D6C60; +_Genld = 0x800D6F00; +_Ldtob = 0x800D7470; +__osSetCompare = 0x800D79C0; +lldiv = 0x800D79D0; +ldiv = 0x800D7AD0; + +// ucode_text us v80 +aspMainTextStart = 0x800D7B60; // size:0xEC0 +rspF3DDKRBootStart = 0x800D8A20; // size:0xD0 +rspF3DDKRDramStart = 0x800D8AF0; // size:0x1200 +rspF3DDKRFifoStart = 0x800D9CF0; // size:0x11F0 +rspF3DDKRXbusStart = 0x800DAEE0; // size:0x11F0 +rspUnknown2Start = 0x800DC0D0; // size:0xAD0 + +sDebugVersionInfoString = 0x800E76A0; // type:asciz +sDebugBuildDateString = 0x800E76A8; // type:asciz +sDebugUsernameString = 0x800E76B8; // type:asciz + +gMusicPlayer = 0x800DCBA0; +gJinglePlayer = 0x800DCBA4; +gMusicBaseVolume = 0x800DCBA8; +sfxRelativeVolume = 0x800DCBAC; +gCanPlayMusic = 0x800DCBB0; +gCanPlayJingle = 0x800DCBB4; +gBlockMusicChange = 0x800DCBB8; +audioPrevCount = 0x800DCBBC; +sMusicFadeVolume = 0x800DCBC0; +gMusicSliderVolume = 0x800DCBC4; +gDelayedSoundsCount = 0x800DCBC8; +gMusicNextSeqID = 0x800DCBCC; +gJingleNextSeqID = 0x800DCBD0; +D_800DC664 = 0x800DCBD4; +D_800DC668 = 0x800DCBD8; +gGlobalMusicVolume = 0x800DCBDC; +gBlockVoiceLimitChange = 0x800DCBE0; +audFrameCt = 0x800DCBF0; +nextDMA = 0x800DCBF4; +curAcmdList = 0x800DCBF8; +gAntiPiracyAudioFreq = 0x800DCBFC; +gFunc80019808Checksum = 0x800DCC00; +gFunc80019808Length = 0x800DCC04; +D_800DC6B0 = 0x800DCC20; // size:0xC +gAlSndPlayerPtr = 0x800DCC2C; +sfxVolumeSlider = 0x800DCC30; +D_800DC6C4 = 0x800DCC34; +gVehicleSounds = 0x800DCC40; +D_800DC6D4 = 0x800DCC44; +D_800DC6D8 = 0x800DCC48; +gUsedMasks = 0x800DCC50; +gTajChallengeTransition = 0x800DCC60; +gBalloonCutsceneTransition = 0x800DCC68; +D_800DC700 = 0x800DCC70; +D_800DC704 = 0x800DCC74; +D_800DC708 = 0x800DCC78; +D_800DC70C = 0x800DCC7C; +D_800DC710 = 0x800DCC80; +D_800DC714 = 0x800DCC84; +gGhostObjStaff = 0x800DCC88; +D_800DC71C = 0x800DCC8C; +gObjectTexAnim = 0x800DCC90; +gTimeTrialTime = 0x800DCC94; +gTimeTrialVehicle = 0x800DCC98; +gTimeTrialCharacter = 0x800DCC9C; +gHasGhostToSave = 0x800DCCA0; +gTimeTrialStaffGhost = 0x800DCCA4; +gBeatStaffGhost = 0x800DCCA8; +D_800DC73C = 0x800DCCAC; +D_800DC740 = 0x800DCCB0; +gSwapLeadPlayer = 0x800DCCB4; +D_800DC748 = 0x800DCCB8; +D_800DC74C = 0x800DCCBC; +D_800DC754 = 0x800DCCC4; +gShieldEffectObject = 0x800DCCCC; +D_800DC760 = 0x800DCCD0; +gMagnetEffectObject = 0x800DCCD4; +D_800DC768 = 0x800DCCD8; +D_800DC76C = 0x800DCCDC; +D_800DC7A8 = 0x800DCD18; +D_800DC7B8 = 0x800DCD28; // type:s16 size:0x66 +gBossVehicles = 0x800DCD90; // size:0x14 +D_800DC834 = 0x800DCDA4; +D_800DC840 = 0x800DCDB0; +gNoBoundsCheck = 0x800DCDB8; +gMagnetColours = 0x800DCDBC; +gRaceEndFade = 0x800DCDC8; +gRaceEndTransition = 0x800DCDD0; +D_800DC870 = 0x800DCDE0; +gFullFadeToBlack = 0x800DCDE4; +gCircleFadeToBlack = 0x800DCDEC; +D_800DC884 = 0x800DCDF4; +D_800DC8AC = 0x800DCE1C; +gCurrentLevelModel = 0x800DCE88; +gCurrentLevelHeader2 = 0x800DCE8C; +D_800DC920 = 0x800DCE90; +D_800DC924 = 0x800DCE94; +D_800DC928 = 0x800DCE98; +D_800DC92C = 0x800DCE9C; +gActiveLights = 0x800DCEC0; +D_800DC954 = 0x800DCEC4; +gMaxLights = 0x800DCEC8; +gNumActiveLights = 0x800DCECC; +D_800DC960 = 0x800DCED0; +D_800DC964 = 0x800DCED4; +D_800DC968 = 0x800DCED8; +gTajTransformTransitionEnd = 0x800DCEE0; +gTajTransition = 0x800DCEE8; +gCharacterFlagVertices = 0x800DCEF0; +D_800DC9A8 = 0x800DCF18; +D_800DC9CC = 0x800DCF3C; +D_800DC9D0 = 0x800DCF40; +D_800DCA50 = 0x800DCFC0; +D_800DCA58 = 0x800DCFC8; +D_800DCA64 = 0x800DCFD4; +D_800DCA70 = 0x800DCFE0; +D_800DCA7C = 0x800DCFEC; +D_800DCA88 = 0x800DCFF8; +D_800DCA94 = 0x800DD004; +D_800DCA9C = 0x800DD00C; +D_800DCAA8 = 0x800DD018; +D_800DCB28 = 0x800DD098; +gObjLoopGoldenBalloonLength = 0x800DD0C0; +gAntiPiracyHeadroll = 0x800DD0C4; +D_800DCB58 = 0x800DD0C8; +D_800DCB5C = 0x800DD0CC; +D_800DCB60 = 0x800DD0D0; +gNumViewports = 0x800DD108; +gSurfaceTractionTable = 0x800DD10C; +D_800DCBE8 = 0x800DD158; +gSurfaceBobbingTable = 0x800DD1A4; +gSurfaceSoundTable = 0x800DD1F0; +D_800DCCCC = 0x800DD23C; +gSurfaceFlagTable = 0x800DD264; +gSurfaceFlagTable4P = 0x800DD2B0; +gRacerAIBalloonActionTable = 0x800DD300; +D_800DCDA0 = 0x800DD310; +D_800DCDA8 = 0x800DD318; +D_800DCDB0 = 0x800DD320; +gObjLoopGoldenBalloonChecksum = 0x800DD340; +gDoorFadeTransition = 0x800DD344; +gTrickyVoiceTable = 0x800DD350; +gBlueyVoiceTable = 0x800DD370; +gSmokeyVoiceTable = 0x800DD390; +gBubblerVoiceTable = 0x800DD3B0; +gWizpigVoiceTable = 0x800DD3D0; +gRocketVoiceTable = 0x800DD3F0; +gTractionTableChecksum = 0x800DD410; +gTrackRenderFuncLength = 0x800DD414; +alFXEnabled = 0x800DD420; +gStereoPanMode = 0x800DD5C0; +gAntiPiracyViewport = 0x800DD5D0; +gScreenViewports = 0x800DD5D4; +gViewportWithBG = 0x800DD6A4; +gVehiclePartVertex = 0x800DD6A8; +gViewportStack = 0x800DD6B8; +D_800DD288 = 0x800DD7F8; +D_800DD2A0 = 0x800DD810; +gOrthoMatrixF = 0x800DD828; +gCameraZoomLevels = 0x800DD868; +sNoControllerPluggedIn = 0x800DD870; +gButtonMask = 0x800DD874; +gTempLevelNames = 0x800DD880; +gCurrentDefaultVehicle = 0x800DD884; +gTwoPlayerAdvRace = 0x800DD888; +gIsInRace = 0x800DD88C; +gViewportFuncChecksum = 0x800DD890; +gViewportFuncLength = 0x800DD894; +gLevelPropertyStackPos = 0x800DD898; +D_800DD32C = 0x800DD89C; +D_800DD330 = 0x800DD8A0; +sDebugRomBuildInfo = 0x800DD8B0; // size:0xC +gBuildString = 0x800DD8BC; // type:asciz size:0x28 +sAntiPiracyTriggered = 0x800DD8E4; // type:s8 +D_800DD378 = 0x800DD8E8; +gSaveDataFlags = 0x800DD8EC; +gScreenStatus = 0x800DD8F0; +sControllerStatus = 0x800DD8F4; +D_800DD388 = 0x800DD8F8; +gSkipGfxTask = 0x800DD8FC; +gDrumstickSceneLoadTimer = 0x800DD900; +gLevelLoadTimer = 0x800DD904; +gPauseLockTimer = 0x800DD908; +gFutureFunLandLevelTarget = 0x800DD90C; +gDmemInvalid = 0x800DD910; +D_800DD3A4 = 0x800DD914; +D_800DD3A8 = 0x800DD918; +D_800DD3AC = 0x800DD91C; +gNumF3dCmdsPerPlayer = 0x800DD920; // size:0x10 +gNumHudVertsPerPlayer = 0x800DD930; // size:0x10 +gNumHudMatPerPlayer = 0x800DD940; // size:0x10 +gNumHudTrisPerPlayer = 0x800DD950; // size:0x10 +gDrawFrameTimer = 0x800DD960; +D_800DD3F4 = 0x800DD964; +D_800DD3FC = 0x800DD96C; +sLogicUpdateRate = 0x800DD974; +gDrumstickSceneTransition = 0x800DD978; +D_800DD410 = 0x800DD980; +gLevelFadeOutTransition = 0x800DD98C; +D_800DD424 = 0x800DD994; +gIntDisFlag = 0x800DD9A0; +gCurrentRNGSeed = 0x800DD9A4; +gPrevRNGSeed = 0x800DD9A8; +gSineTable = 0x800DD9AC; +gArcTanTable = 0x800DE1AE; +gPakFileList = 0x800DE9B0; +gN64FontCodes = 0x800DE9B4; +sControllerPaksPresent = 0x800DE9F8; +gRumbleKillTimer = 0x800DE9FC; +gRumbleEnable = 0x800DEA00; // has a diff from v1 - NEW DATA SYMBOL +gGfxTaskMesgNums = 0x800DEA10; +sBGPrimColourrR = 0x800DEA30; +sBGPrimColourrG = 0x800DEA34; +sBGPrimColourrB = 0x800DEA38; +sBackgroundFillColour = 0x800DEA3C; +gTexBGShiftX = 0x800DEA40; +gTexBGTex1 = 0x800DEA44; +gTexBGTex2 = 0x800DEA48; +gChequerBGEnabled = 0x800DEA4C; +gBGDrawFunc = 0x800DEA50; +gGfxBufCounter = 0x800DEA54; +ggGfxBufCounter2 = 0x800DEA58; +gGfxTaskIsRunning = 0x800DEA5C; +dRspInit = 0x800DEA60; +dRdpInit = 0x800DEAA0; +dRaceFinishBackgroundSettings = 0x800DEB18; +dChequerBGSettings = 0x800DEB60; +dTextureRectangleModes = 0x800DEBA8; +dScaledRectangleBaseModes = 0x800DEBF0; +dTextureRectangleScaledOpa = 0x800DEC28; +dTextureRectangleScaledXlu = 0x800DEC68; +D_800DE730 = 0x800DECB0; +gBootBlackoutMesg = 0x800DECB8; +gAudTaskTimer0 = 0x800DECC0; +gAudTaskTimer1 = 0x800DECC4; +gAudTaskTimer2 = 0x800DECC8; +gAudTaskTimer3 = 0x800DECCC; +gRetraceCounter32 = 0x800DECD0; +gCurRSPTaskCounter = 0x800DECD4; +gCurRDPTaskCounter = 0x800DECD8; +D_800DE75C = 0x800DECDC; +gRetraceCounter64 = 0x800DECE0; +gVideoDepthBuffer = 0x800DECF0; +D_800DE774 = 0x800DECF4; +D_800DE778 = 0x800DECF8; +gVideoModeResolutions = 0x800DECFC; +gTexColourTag = 0x800DED40; +gSpriteOpaque = 0x800DED44; +dRenderSettingsVtxAlpha = 0x800DED48; +dRenderSettingsSpriteCld = 0x800DEDC8; +dRenderSettingsSpriteXlu = 0x800DEDE8; +dRenderSettingsCommon = 0x800DEE68; +dRenderSettingsCutout = 0x800DF268; +dRenderSettingsDecal = 0x800DF368; +dRenderSettingsSolidColourVtxAlpha = 0x800DF468; +dRenderSettingsSolidColour = 0x800DF4A8; +dRenderSettingsPrimOverlay = 0x800DF5A8; +dRenderSettingsPrimCol = 0x800DF628; +dRenderSettingsBlinkingLights = 0x800DF728; +D_800DF3A8 = 0x800DF928; +D_800DF3D8 = 0x800DF958; +D_800DF410 = 0x800DF990; +gRdpSetModeScreenAsset = 0x800DF9C0; +gInAdvModeTrophyRace = 0x800DF9D0; +gTrackSelectWoodFrameHeightScale = 0x800DF9D4; +gResetTitleScale = 0x800DF9D8; +gTitleScreenCurrentOption = 0x800DF9DC; +gMenuCurIndex = 0x800DF9E0; +unused_800DF464 = 0x800DF9E4; +gMenuDisableObjAnim = 0x800DF9E8; +gMissingControllerDelay = 0x800DF9EC; +gCurrentMenuId = 0x800DF9F0; +unused_800DF474 = 0x800DF9F4; +gTrackSpecifiedWithTrackIdToLoad = 0x800DF9F8; +gMenuDelay = 0x800DF9FC; +gNumberOfReadyPlayers = 0x800DFA00; +D_800DF484 = 0x800DFA04; +gTitleScreenLoaded = 0x800DFA08; +unused_800DF48C = 0x800DFA0C; +unused_800DF490 = 0x800DFA10; +gIsInAdventureTwo = 0x800DFA14; +gPlayerHasSeenCautionMenu = 0x800DFA18; +gMenuTextLangTable = 0x800DFA1C; +gMenuText = 0x800DFA20; +sMenuGuiColourR = 0x800DFA24; +sMenuGuiColourG = 0x800DFA28; +sMenuGuiColourB = 0x800DFA2C; +sMenuGuiColourBlendFactor = 0x800DFA30; +gMenuSpriteFlags = 0x800DFA34; +gIsInTracksMode = 0x800DFA38; +gNumberOfActivePlayers = 0x800DFA3C; +gIsInTwoPlayerAdventure = 0x800DFA40; +gTrackIdForPreview = 0x800DFA44; +gTrackSelectRow = 0x800DFA48; +gSaveFileIndex = 0x800DFA4C; +unused_800DF4D0 = 0x800DFA50; +gTrackIdToLoad = 0x800DFA54; +unused_800DF4D8 = 0x800DFA58; +gNextTajChallengeMenu = 0x800DFA5C; +gNeedToCloseDialogueBox = 0x800DFA60; +gDoneTalkingToNPC = 0x800DFA64; // size:0x5 +gDialogueOptionTangible = 0x800DFA6C; +unused_800DF4F0 = 0x800DFA70; +sMenuImageProperties = 0x800DFA90; // size:0x240 +gAssetsMenuElementIds = 0x800DFCD0; +gMenuElementIdCount = 0x800DFCD4; +gMenuObjectsCount = 0x800DFCD8; +gMenuImages = 0x800DFCDC; +sMenuMusicVolume = 0x800DFCE0; // type:s32 size:0x4 +sMenuGuiOpacity = 0x800DFCE4; +unused_800DF768 = 0x800DFCE8; +sMenuTransitionFadeInFast = 0x800DFCEC; +sMenuTransitionFadeIn = 0x800DFCF4; +sMenuTransitionFadeOut = 0x800DFCFC; +sMenuTransitionFadeInWhite = 0x800DFD04; +sMenuTransitionFadeOutWhite = 0x800DFD0C; +gPostraceState = 0x800DFD14; +gTrophyRankingsMenuElements = 0x800DFD18; +gPostraceTextOffset = 0x800DFD1C; +gPostraceTimestampOffset = 0x800DFD20; +gTitleMenuStrings = 0x800DFD24; +gVersionDisplayText = 0x800DFD30; +sGameTitleTileTextures = 0x800DFD44; // size:0x18 +sGameTitleTileOffsets = 0x800DFD5C; // size:0x60 +gTitleCinematicText = 0x800DFDBC; +gTitleCinematicTextColourCount = 0x800DFF74; +gTitleCinematicTextColours = 0x800DFF78; +unused_800DFA0C = 0x800DFF8C; +gOptionMenuStrings = 0x800DFF90; // size:0x1C +gOptionMenuTextures = 0x800DFFAC; // size:0x10 +gAudioMenuStrings = 0x800DFFBC; // size:0x80 +gMusicTestSongIndex = 0x800E003C; +gSfxVolumeSliderValue = 0x800E0040; +gMusicVolumeSliderValue = 0x800E0044; +gAudioOutputType = 0x800E0048; +gContPakSaveBgColours = 0x800E004C; +gDeviceStatus = 0x800E005C; +gControllerIndex = 0x800E0060; +gContPakNotPresentStrings = 0x800E0064; +gContPakCorruptDataRepairStrings = 0x800E007C; +gContPakDamagedStrings = 0x800E0094; +gContPakFullStrings = 0x800E00AC; +gContPakDiffContStrings = 0x800E00C0; +gContPakNoRoomForGhostsStrings = 0x800E00DC; +gContPakCorruptDataStrings = 0x800E00F4; +gContPakRumbleDetectedStrings = 0x800E010C; +gContPakSwitchToRumbleStrings = 0x800E0124; +gContPakNeed2ndAdvStrings = 0x800E013C; +gContPakStrings = 0x800E015C; +unused_800DFC08 = 0x800E0188; +unused_800DFC0C = 0x800E018C; +gDrawTexN64Icon = 0x800E0190; +gDrawTexTTIcon = 0x800E01A0; +gDrawTexGhostIcon = 0x800E01B0; +gDrawTexFileIcon = 0x800E01C0; +gDrawTexContPakIcon = 0x800E01D0; +gDrawTexTrashIcon = 0x800E01E0; +unused_800DFC70 = 0x800E01F0; +gSaveMenuObjectIndices = 0x800E01F8; +gSaveMenuImageIndices = 0x800E022C; +gControllerPakMenuElement = 0x800E0234; +gShowControllerPakMenu = 0x800E0314; +gActiveMagicCodes = 0x800E0318; +gUnlockedMagicCodes = 0x800E031C; +gMagicCodeMenuStrings = 0x800E0320; +gCharacterVolumes = 0x800E0334; +gCharSelectObjectIndices = 0x800E0348; +gCharSelectImageIndices = 0x800E034C; +gCharacterSelectBytesDefault = 0x800E0350; +gCharacterSelectBytesDrumStick = 0x800E03C0; +gCharacterSelectBytesTT = 0x800E0440; +gCharacterSelectBytesComplete = 0x800E04C0; +unused_800DFFCC = 0x800E054C; +gEnteredCharSelectFrom = 0x800E0550; +unused_800DFFD4 = 0x800E0554; +gCautionMenuTextElements = 0x800E0558; // size:0x1C0 +gGameSelectTextElemsNoAdv2 = 0x800E0718; +gGameSelectTextElemsWithAdv2 = 0x800E07F8; +gFileSelectObjectIndices = 0x800E0918; +gFileSelectImageIndices = 0x800E0924; +gFilenames = 0x800E0930; +unused_800E03BC = 0x800E093C; +gFileSelectButtons = 0x800E094C; +gFileSelectElementPos = 0x800E097C; +gMultiplayerSelectedNumberOfRacers = 0x800E0990; +gTracksMenuTimeTrialHighlightIndex = 0x800E0994; +gTracksMenuAdventureHighlightIndex = 0x800E0998; +gMenuSelectionArrowUp = 0x800E099C; +gMenuSelectionArrowLeft = 0x800E09AC; +gMenuSelectionArrowDown = 0x800E09BC; +gMenuSelectionArrowRight = 0x800E09CC; +gRaceSelectionCarTex = 0x800E09DC; +gRaceSelectionHoverTex = 0x800E09F4; +gRaceSelectionPlaneTex = 0x800E0A0C; +gRaceSelectionTTOn = 0x800E0A24; +gRaceSelectionTTOff = 0x800E0A3C; +gRaceSelectionCarOptHighlight = 0x800E0A54; +gRaceSelectionCarOpt = 0x800E0A64; +gRaceSelectionHoverOptHighlight = 0x800E0A74; +gRaceSelectionHoverOpt = 0x800E0A84; +gRaceSelectionPlaneOptHighlight = 0x800E0A94; +gRaceSelectionPlaneOpt = 0x800E0AA4; +gRaceSelectionTTOnOptHighlight = 0x800E0AB4; +gRaceSelectionTTOffOptHighlight = 0x800E0AC4; +gRaceSelectionTTOnOpt = 0x800E0AD4; +gRaceSelectionTTOffOpt = 0x800E0AE4; +gRaceSelectionPlayer1Texture = 0x800E0AF4; +gRaceSelectionPlayer2Texture = 0x800E0B04; +gRaceSelectionPlayer3Texture = 0x800E0B14; +gRaceSelectionPlayer4Texture = 0x800E0B24; +gRaceSelectionVehicleTitleTexture = 0x800E0B34; +gRaceSelectionTTTitleTexture = 0x800E0B44; +D_800E05D4 = 0x800E0B54; +D_800E05F4 = 0x800E0B74; +gRaceSelectionTTTexture = 0x800E0B94; +gRaceSelectionImages = 0x800E0BA4; +gTrackSelectTTImage = 0x800E0BC8; +gTrackSelectPlayerImage = 0x800E0BE0; +gMenuSelectionArrows = 0x800E0BF8; +gTracksMenuPlayerNamePositions = 0x800E0C08; +gTracksMenuVehicleNamePositions = 0x800E0C30; +gTracksMenuArrowPositionsNTSC = 0x800E0C44; +gTracksMenuArrowPositionsPAL = 0x800E0C54; +gTwoPlayerRacerCountMenu = 0x800E0C64; +gTracksMenuAdventureButton = 0x800E0C80; +gTracksMenuBgTextureIndices = 0x800E0C90; // type:s16 size:0x1E +gTracksMenuBgTextures = 0x800E0CB0; +gTTVoiceLines = 0x800E0CD8; +gTrackSelectObjectIndices = 0x800E0D44; +gTrackSelectImageIndices = 0x800E0D60; +gTrackSelectPreviewObjectIndices = 0x800E0D68; +gTrackSelectPreviewImageIndices = 0x800E0DB0; +gTrackSelectBgData = 0x800E0DC0; +gTrackSelectBgVertices = 0x800E0EE8; // size:0x8 +gTrackSelectBgTriangles = 0x800E0EF0; // size:0x8 +gQMarkPtr = 0x800E0EF8; +gIsInTracksMenu = 0x800E0EFC; +gTrackNameVoiceDelay = 0x800E0F00; +gMenuOptionCap = 0x800E0F04; +gMenuSubOption = 0x800E0F08; +gLastPlayerWhoPaused = 0x800E0F0C; +gPlayerPauseBgColour = 0x800E0F10; +gPlayerPauseOptionsTextColour = 0x800E0F20; +sBadControllerPakMenuText = 0x800E0F30; +sControllerPakFullMenuText = 0x800E0F44; +sNoControllerPakMenuText = 0x800E0F58; +sCorruptDataMenuText = 0x800E0F6C; +D_800E09F8 = 0x800E0F78; +sInsertControllerPakMenuText = 0x800E0F84; +D_800E0A10 = 0x800E0F90; +sInsertRumblePakMenuText = 0x800E0F94; +gRaceResultsObjectIndices = 0x800E0FA4; +gRaceResultsImageIndices = 0x800E0FC0; +gMenuPortraitKrunch = 0x800E0FD0; +gMenuPortraitDiddy = 0x800E0FE0; +gMenuPortraitDrumstick = 0x800E0FF0; +gMenuPortraitBumper = 0x800E1000; +gMenuPortraitBanjo = 0x800E1010; +gMenuPortraitConker = 0x800E1020; +gMenuPortraitTiptup = 0x800E1030; +gMenuPortraitTT = 0x800E1040; +gMenuPortraitPipsy = 0x800E1050; +gMenuPortraitTimber = 0x800E1060; +gRacerPortraits = 0x800E1070; +unused_800E0B18 = 0x800E1098; +gFirstPlace = 0x800E112C; +gSecondPlace = 0x800E1130; +gThirdPlace = 0x800E1134; +gFourthPlace = 0x800E1138; +gFifthPlace = 0x800E113C; +gSixthPlace = 0x800E1140; +gSeventhPlace = 0x800E1144; +gEighthPlace = 0x800E1148; +gRacePlacementsArray = 0x800E114C; +gRaceResultsMenuElements = 0x800E116C; // size:0x100 +gRaceOrderMenuElements = 0x800E126C; // size:0x160 +gRecordTimesMenuElements = 0x800E13CC; // size:0x120 +gFileNameValidChars = 0x800E14EC; // size:0x20 +gCurFilenameCharBeingDrawn = 0x800E150C; // size:0x4 +gEnterInitalsY = 0x800E1510; +gFilenameX = 0x800E1514; +gFilenameY = 0x800E1518; +gFilenameFont = 0x800E151C; +gNameEntryLength = 0x800E1520; +D_800E0FA4 = 0x800E1524; +gCheckAdvEnterInitials = 0x800E1528; +D_800E0FAC = 0x800E152C; +gIndexOfCurInputCharacter = 0x800E1530; +gAdvTrackInitObjectIndices = 0x800E1534; +gAdvTrackInitImageIndices = 0x800E1558; +gRankingPlayerCount = 0x800E1564; +gTrophyRaceWorldId = 0x800E1568; +gTrophyRaceRound = 0x800E156C; +gPrevTrophyRaceRound = 0x800E1570; +unused_800E0FF4 = 0x800E1574; +gTrophyRacePointsArray = 0x800E1584; // type:s32 size:0x20 +gTrophyRankingsObjectIndices = 0x800E15A4; +gTrophyRaceImageIndices = 0x800E15C0; +gTrophyRankingsTitle = 0x800E15C8; +gTrophyRankingsRacers = 0x800E1608; +gTrophyRankingsRawIconPositions = 0x800E1928; // type:s16 size:0x108 +gTrophyRankingsIconPositions = 0x800E1A3C; +gDrawTexDinoDomainGhostBg = 0x800E1ABC; // size:0x58 +gDrawTexSherbetIslandGhostBg = 0x800E1B14; // size:0x58 +gDrawTexSnowflakeMountainGhostBg = 0x800E1B6C; // size:0x58 +gDrawTexDragonForestGhostBg = 0x800E1BC4; // size:0x58 +gDrawTexFutureFunLandGhostBg = 0x800E1C1C; // size:0x58 +gDrawTexWorldBgs = 0x800E1C74; // size:0x14 +gGhostDataObjectIndices = 0x800E1C88; // size:0x44 +gGhostDataImageIndices = 0x800E1CCC; // size:0x8 +gGhostDataElementPositions = 0x800E1CD4; // size:0x14 +gCinematicObjectIndices = 0x800E1CE8; // size:0x18 +dCreditsFade = 0x800E1D00; +gCreditsObjectIndices = 0x800E1D58; +gCreditsImageIndices = 0x800E1D70; +gCreditsControlData = 0x800E1D74; // size:0x144 +gCreditsArray = 0x800E1EB8; // defined:true +gCreditsBestTimesArray = 0x800E2014; // defined:true +gCreditsLastMessageArray = 0x800E2064; // defined:true +gCheatsInCreditsArray = 0x800E2078; +gViewingCreditsFromCheat = 0x800E20CC; +gCreditsMenuElements = 0x800E20D0; // size:0x120 +dMenuHudSettings = 0x800E21F0; +dMenuHudDrawModes = 0x800E2220; +gWoodPanelsIndices = 0x800E2250; +gWoodPanelTexCoords = 0x800E2270; +gWoodPanelVertCoords = 0x800E22AC; +gWoodPanelVertColours = 0x800E22FC; +gWoodPanelVertices = 0x800E2324; // size:0x8 +gWoodPanelTriangles = 0x800E232C; // size:0x8 +gMenuTrisFlip = 0x800E2334; +gWoodPanelCount = 0x800E2338; +gWoodPanelAllocCount = 0x800E233C; +gWoodPanelTexScaleU = 0x800E2340; +gWoodPanelTexScaleV = 0x800E2344; +D_800E1DC8 = 0x800E2348; // size:0x20 +gFadeLogoToTitleScreen = 0x800E2368; +gRareCopyrightString = 0x800E2370; +gFadeTitleScreenDemo = 0x800E2388; +gConPakAdvSavePrefix = 0x800E2390; // size:0xC +gTrackSelectSound = 0x800E239C; +D_800E1E20 = 0x800E23A0; +gGameStatusVisible = 0x800E23A8; +D_800E1E2C = 0x800E23AC; +D_800E1E40 = 0x800E23C0; +D_800E1E60 = 0x800E23E0; +gHudElementBase = 0x800E23E4; +D_800E25C4 = 0x800E2B44; +D_800E2684 = 0x800E2C04; +gHudAudioData = 0x800E2CF0; +gShowCourseDirections = 0x800E2D10; +D_800E2794 = 0x800E2D14; +gHudToggleSettings = 0x800E2D24; +gPrevToggleSetting = 0x800E2D28; +gHudLapColours = 0x800E2D2C; +gHudIndicatorTimer = 0x800E2D38; +gHudMinimapColours = 0x800E2D3C; +gHudColour = 0x800E2DB4; +sRecordVel = 0x800E2DB8; +D_800E283C = 0x800E2DBC; +sDidNotFinish = 0x800E2DCC; // type:asciz NEW DATA SYMBOL +gWeatherPresets = 0x800E2DE0; +gSnowPhysics = 0x800E2E64; +gSnowGfx = 0x800E2E68; +gSnowVerts = 0x800E2E94; +gSnowVertCount = 0x800E2E98; +gSnowTriangles = 0x800E2E9C; +gSnowTriIndices = 0x800E2EA0; +gSnowVertexData = 0x800E2EA4; +gWeatherAssetTable = 0x800E2EAC; +gWeatherAssetTableLength = 0x800E2EB0; +dLensFlare = 0x800E2EB8; +gLensPresetLarge = 0x800E2F10; +gLensPreset1 = 0x800E2F30; +gLensPreset2 = 0x800E2F70; +gLensPreset3 = 0x800E2FC0; +gLensFlare = 0x800E3010; +gLensFlareOff = 0x800E3014; +gLensFlareOverrideObjs = 0x800E3018; +D_800E2A8C = 0x800E301C; +D_800E2A90 = 0x800E3020; +D_800E2A94 = 0x800E3024; +D_800E2A98 = 0x800E3028; +D_800E2A9C = 0x800E302C; +D_800E2AA0 = 0x800E3030; +D_800E2AA4 = 0x800E3034; +D_800E2AA8 = 0x800E3038; +gRainVertices = 0x800E303C; +gRainSplashSegments = 0x800E30DC; +gRainGfx = 0x800E31BC; +gWeatherType = 0x800E31EC; +gLightningFrequency = 0x800E31F0; +gLightningFrequencyStep = 0x800E31F4; +gLightningFrequencyTarget = 0x800E31F8; +gRainOpacity = 0x800E31FC; +gRainOpacityStep = 0x800E3200; +gRainOpacityTarget = 0x800E3204; +gRainHiddenTimer = 0x800E3208; +gLightningTimer = 0x800E320C; +gThunderTimer = 0x800E3210; +gRainSplashDelay = 0x800E3214; +gRainOverlayUnusedValue = 0x800E3218; +gRainSplashGfx = 0x800E321C; +gRainVertexFlip = 0x800E3220; +gWeatherSoundMask = 0x800E3224; +gThunderTransition = 0x800E3228; +D_800E2CA0 = 0x800E3230; +D_800E2CA4 = 0x800E3234; +D_800E2CA8 = 0x800E3238; +D_800E2CAC = 0x800E323C; +D_800E2CB0 = 0x800E3240; +D_800E2CB4 = 0x800E3244; +D_800E2CB8 = 0x800E3248; +D_800E2CBC = 0x800E324C; +D_800E2CC0 = 0x800E3250; +D_800E2CC4 = 0x800E3254; +D_800E2CC8 = 0x800E3258; +D_800E2CCC = 0x800E325C; +D_800E2CD0 = 0x800E3260; +D_800E2CD4 = 0x800E3264; +D_800E2CD8 = 0x800E3268; +D_800E2CDC = 0x800E326C; +D_800E2CE0 = 0x800E3270; +D_800E2CE4 = 0x800E3274; +gParticlesAssetTableCount = 0x800E3278; +gParticlesAssets = 0x800E327C; +gParticlesAssetTable = 0x800E3280; +gParticleBehavioursAssetTableCount = 0x800E3284; +gParticleBehavioursAssets = 0x800E3288; +gParticleBehavioursAssetTable = 0x800E328C; +D_800E2D00 = 0x800E3290; +D_800E2D08 = 0x800E3298; +D_800E2D58 = 0x800E32E8; +D_800E2D78 = 0x800E3308; +D_800E2DF8 = 0x800E3388; +D_800E2E28 = 0x800E33B8; +gParticleGravityTable = 0x800E33BC; +D_800E2E4C = 0x800E33DC; +D_800E2E50 = 0x800E33E0; +D_800E2E54 = 0x800E33E4; +D_800E2E58 = 0x800E33E8; +D_800E2E5C = 0x800E33EC; +D_800E2E60 = 0x800E33F0; +D_800E2E64 = 0x800E33F4; +gParticleCoordListTri = 0x800E33F8; +gParticleCoordListQuad = 0x800E3404; +D_800E2E84 = 0x800E3414; +D_800E2EC4 = 0x800E3454; +gParticleOpacity = 0x800E347C; +D_800E2EF0 = 0x800E3480; +gDebugFontCoords = 0x800E3484; +dDebugFontSettings = 0x800E3548; +sLockupStatus = 0x800E35B0; +sLockupPage = 0x800E35B4; +sLockupDelay = 0x800E35B8; +D_800E3040 = 0x800E35D0; +D_800E3044 = 0x800E35D4; +D_800E3048 = 0x800E35D8; +D_800E304C = 0x800E35DC; +D_800E3070 = 0x800E3600; +D_800E3078 = 0x800E3608; +D_800E3080 = 0x800E3610; +D_800E3090 = 0x800E3620; +D_800E30D0 = 0x800E3660; +D_800E30D4 = 0x800E3664; +D_800E30D8 = 0x800E3668; +D_800E30DC = 0x800E366C; +D_800E30E0 = 0x800E3670; +D_800E30E4 = 0x800E3674; +D_800E30E8 = 0x800E3678; +D_800E30FC = 0x800E368C; +D_800E3110 = 0x800E36A0; +D_800E3144 = 0x800E36D4; +D_800E3178 = 0x800E3708; +D_800E317C = 0x800E370C; +D_800E3180 = 0x800E3710; +D_800E3184 = 0x800E3714; +D_800E3188 = 0x800E3718; +D_800E318C = 0x800E371C; +D_800E3190 = 0x800E3720; +D_800E3194 = 0x800E3724; +gWaveGeneratorObj = 0x800E3728; +gTransitionsDisabled = 0x800E3730; +sLevelTransitionDelayTimer = 0x800E3734; +gTransitionInvert = 0x800E3738; +sTransitionStatus = 0x800E373C; +sTransitionFadeTimer = 0x800E3740; +gTransitionEndTimer = 0x800E3744; +sTransitionFadeDuration = 0x800E3748; +gTransitionFadeIn = 0x800E374C; +sTransitionVtx = 0x800E3750; +sTransitionTris = 0x800E3758; +sTransitionTaskNum = 0x800E3760; +dTransitionFadeSettings = 0x800E3768; +gTransitionBarnHorizontalData = 0x800E37C0; +gTransitionBarnVerticalData = 0x800E37F8; +D_800E32A0 = 0x800E3830; +D_800E32AC = 0x800E383C; +gTransitionBarnDoorTris = 0x800E3848; +gTransitionBarnDoorAlpha = 0x800E3860; +gTransitionBarnDiagData = 0x800E386C; +D_800E330C = 0x800E389C; +D_800E3318 = 0x800E38A8; +gTransitionBarnDoorDiagTris = 0x800E38B4; +gTransitionBarnDoorDiagAlpha = 0x800E38C8; +gTransitionWaveData = 0x800E38D4; +D_800E3440 = 0x800E39D0; +D_800E349C = 0x800E3A2C; +gTransitionWaveAlpha = 0x800E3A88; +gTransitionWaveTris = 0x800E3AE4; +dTransitionShapeSettings = 0x800E3BD8; +gTextTableExists = 0x800E3C00; +gTextDisplayNumber = 0x800E3C04; +gTextboxDelay = 0x800E3C08; +gDelayedTextID = 0x800E3C0C; +gSubtitleSetting = 0x800E3C10; +dDialogueBoxBegin = 0x800E3C20; +dDialogueBoxDrawModes = 0x800E3C58; +sDialogueBoxIsOpen = 0x800E3C78; +gDescPowsOf10 = 0x800E3C7C; +sDialogueBoxDimensions = 0x800E3CA0; +__osPiDevMgr = 0x800E3CD0; // size:0x1C +gHuftTable = 0x800E3CF0; +gPackedHeader = 0x800E3CF4; +gzip_inflate_input = 0x800E3CF8; +gzip_inflate_output = 0x800E3CFC; +gThread30NeedToLoadLevel = 0x800E3D00; +gThread30LevelIdToLoad = 0x800E3D04; +gThread30CutsceneIdToLoad = 0x800E3D08; +gThread30LoadDelay = 0x800E3D0C; +alGlobals = 0x800E3D10; +hdwrBugFlag = 0x800E3D20; +eqpower = 0x800E3D30; // size:0x100 +osClockRate = 0x800E3E30; +__osShutdown = 0x800E3E38; +__OSGlobalIntMask = 0x800E3E3C; +gLeoFound = 0x800E3E40; +__osContinitialized = 0x800E3E50; +__osSiAccessQueueEnabled = 0x800E3E60; +__osViDevMgr = 0x800E3E70; +osViModeTable = 0x800E3E90; +osViModeNtscLpn1 = 0x800E4BB0; +osViModePalLpn1 = 0x800E4C00; +osViModeMpalLpn1 = 0x800E4C50; +osViModeNtscLan1 = 0x800E4CA0; +osViModePalLan1 = 0x800E4CF0; +osViModeMpalLan1 = 0x800E4D40; +__osPiAccessQueueEnabled = 0x800E4D90; +vi = 0x800E4DA0; +__osViCurr = 0x800E4E00; +__osViNext = 0x800E4E04; +osViClock = 0x800E4E08; +__osThreadTail = 0x800E4E10; +__osRunQueue = 0x800E4E18; +__osActiveQueue = 0x800E4E1C; +__osRunningThread = 0x800E4E20; +__osFaultedThread = 0x800E4E24; +__osHwIntTable = 0x800E4E30; +_spaces = 0x800E4E50; // type:asciz +_zeroes = 0x800E4E74; // type:asciz +__osTimerList = 0x800E4EA0; +ldigs = 0x800E4EB0; // type:asciz +udigs = 0x800E4EC4; // type:asciz + +sAudioErrorString_01 = 0x800E4EE0; // defined:true type:asciz +sAudioErrorString_02 = 0x800E4F10; // defined:true type:asciz +sAudioErrorString_03 = 0x800E4F4C; // defined:true type:asciz +D_800E49F0 = 0x800E4F80; +D_800E4A58 = 0x800E4FE8; +D_800E4A74 = 0x800E5004; +D_800E4A9C = 0x800E502C; +D_800E4AAC = 0x800E503C; +D_800E4AB0 = 0x800E5040; +D_800E4B00 = 0x800E5090; +D_800E4B1C = 0x800E50AC; +D_800E4B34 = 0x800E50C4; +D_800E4B5C = 0x800E50EC; +D_800E4B80 = 0x800E5110; +jpt_800E4BB0 = 0x800E5140; + +D_800E4BF0 = 0x800E5180; // type:f32 + +D_800E4BF8 = 0x800E5188; // type:f64 +D_800E4C00 = 0x800E5190; // type:f32 +D_800E4C08 = 0x800E5198; // type:f64 +D_800E4C10 = 0x800E51A0; // type:f64 +D_800E4C18 = 0x800E51A8; // type:f64 +D_800E4C20 = 0x800E51B0; // type:f64 +D_800E4C28 = 0x800E51B8; // type:f64 +D_800E4C30 = 0x800E51C0; // type:f64 +D_800E4C38 = 0x800E51C8; // type:f32 +D_800E4C40 = 0x800E51D0; // type:f64 +D_800E4C48 = 0x800E51D8; // type:f64 + +D_800E4C78 = 0x800E5208; // type:f32 +D_800E4C80 = 0x800E5210; // type:f64 +D_800E4C88 = 0x800E5218; // type:f64 +D_800E4C90 = 0x800E5220; // type:f64 +D_800E4C98 = 0x800E5228; // type:f32 + +D_800E4CC4 = 0x800E5254; // type:f32 +D_800E4CC8 = 0x800E5258; // type:f64 +D_800E4CD0 = 0x800E5260; // type:f32 +D_800E4CD4 = 0x800E5264; // type:f32 +D_800E4CD8 = 0x800E5268; // type:f64 +D_800E4CE0 = 0x800E5270; // type:f32 +D_800E4CE8 = 0x800E5278; // type:f64 +D_800E4CF0 = 0x800E5280; // type:f32 +D_800E4CF4 = 0x800E5284; // type:f32 + +D_800E4D00 = 0x800E5290; +D_800E4D18 = 0x800E52A8; +D_800E4D58 = 0x800E52E8; +D_800E4DA0 = 0x800E5330; +D_800E4DE0 = 0x800E5370; +D_800E4E28 = 0x800E53B8; +D_800E4E68 = 0x800E53F8; +D_800E4E9C = 0x800E542C; +D_800E4EDC = 0x800E546C; +D_800E4F10 = 0x800E54A0; +D_800E4F14 = 0x800E54A4; +D_800E4F30 = 0x800E54C0; // type:asciz size:0x24 +sObjectOutofMemString = 0x800E54F0; // defined:true +sDoorNumberErrorString = 0x800E550C; // defined:true +sObjectScopeErrorString = 0x800E5528; // defined:true +sObjectListDataOverflowString = 0x800E5554; // defined:true +sObjectSetupError1String = 0x800E5574; // defined:true +sObjectSetupError2String = 0x800E5598; // defined:true +sObjectSetupError5String = 0x800E55BC; // defined:true +sObjectSetupError6String = 0x800E55E0; // defined:true +sObjectSetupError3String = 0x800E5604; // defined:true +sObjectListOverflowString = 0x800E5628; // defined:true +sObjectSetupError4String = 0x800E5640; // defined:true +sDuplicateCheckpointString = 0x800E5664; // force_not_migration:true defined:true +sErrorChannelString = 0x800E568C; // force_not_migration:true defined:true +sReadOutErrorString = 0x800E56A0; // force_not_migration:true defined:true +sPureAnguishString = 0x800E56B0; // force_not_migration:true defined:true +D_800E5130 = 0x800E56C0; +D_800E5134 = 0x800E56C4; +jpt_800E5154 = 0x800E56E4; +D_800E5178 = 0x800E5708; +D_800E517C = 0x800E570C; +D_800E5180 = 0x800E5710; +D_800E5184 = 0x800E5714; +jpt_800E51B4 = 0x800E5744; +jpt_800E5250 = 0x800E57E0; +jpt_800E5420 = 0x800E59B0; +D_800E5554 = 0x800E5AE4; +D_800E5558 = 0x800E5AE8; +D_800E555C = 0x800E5AEC; +D_800E5560 = 0x800E5AF0; +D_800E5564 = 0x800E5AF4; +D_800E5568 = 0x800E5AF8; +jpt_800E5588 = 0x800E5B18; +D_800E55B8 = 0x800E5B48; // type:f64 +D_800E55C0 = 0x800E5B50; // type:f64 +D_800E55C8 = 0x800E5B58; // type:f64 +D_800E55D0 = 0x800E5B60; // type:f64 +D_800E55D8 = 0x800E5B68; // type:f64 +D_800E55E0 = 0x800E5B70; // type:f64 +D_800E55E8 = 0x800E5B78; // type:f64 +D_800E55F0 = 0x800E5B80; // type:f64 +D_800E5608 = 0x800E5B98; // type:f64 +D_800E5610 = 0x800E5BA0; // type:f64 +D_800E5618 = 0x800E5BA8; // type:f64 +D_800E5620 = 0x800E5BB0; // type:f64 +D_800E5628 = 0x800E5BB8; // type:f64 +D_800E5648 = 0x800E5BD8; // type:f64 +D_800E5650 = 0x800E5BE0; // type:f32 +D_800E5658 = 0x800E5BE8; // type:f64 +D_800E5670 = 0x800E5C00; // type:f64 +D_800E5678 = 0x800E5C08; // type:f32 +D_800E5680 = 0x800E5C10; // type:f64 +gTrackClippingErrorString = 0x800E6388; +gTrackHeightOverflowString = 0x800E63A8; +D_800E5E38 = 0x800E63C8; +D_800E5E60 = 0x800E63F0; // type:f64 +D_800E5E68 = 0x800E63F8; +D_800E5E70 = 0x800E6400; +D_800E5E78 = 0x800E6408; // type:f64 +D_800E5E80 = 0x800E6410; // type:f64 +D_800E5E88 = 0x800E6418; // type:f64 +D_800E5E90 = 0x800E6420; // type:f64 +D_800E5E98 = 0x800E6428; // type:f64 +D_800E5F48 = 0x800E64D8; +D_800E5F4C = 0x800E64DC; +D_800E5F50 = 0x800E64E0; +D_800E5F54 = 0x800E64E4; +D_800E5F58 = 0x800E64E8; +D_800E5F60 = 0x800E64F0; // type:f32 +D_800E5F64 = 0x800E64F4; // type:f32 +D_800E5F68 = 0x800E64F8; // type:f32 +D_800E5F6C = 0x800E64FC; // type:f32 +D_800E5F70 = 0x800E6500; // type:f32 +D_800E6020 = 0x800E65B0; // type:f64 +D_800E6048 = 0x800E65D8; +D_800E6140 = 0x800E66D0; // type:f64 +D_800E621C = 0x800E67AC; +D_800E6220 = 0x800E67B0; +D_800E6224 = 0x800E67B4; +jpt_800E6228 = 0x800E67B8; +D_800E623C = 0x800E67CC; +D_800E6240 = 0x800E67D0; +D_800E6244 = 0x800E67D4; +D_800E6248 = 0x800E67D8; +gRacerDebugCoords = 0x800E6810; // type:asciz +gChecksumOverflowString = 0x800E6820; // type:asciz +gRacerBackString = 0x800E6830; // type:asciz +D_800E62A8 = 0x800E6838; // type:f64 +D_800E62B0 = 0x800E6840; // type:f64 +D_800E62B8 = 0x800E6848; // type:f64 +D_800E62C0 = 0x800E6850; // type:f64 +D_800E62C8 = 0x800E6858; // type:f64 +D_800E62D0 = 0x800E6860; // type:f64 +D_800E62D8 = 0x800E6868; // type:f64 +D_800E62E0 = 0x800E6870; // type:f64 +D_800E62E8 = 0x800E6878; // type:f64 +D_800E62F0 = 0x800E6880; // type:f64 +D_800E62F8 = 0x800E6888; // type:f64 +D_800E6300 = 0x800E6890; // type:f64 +D_800E6308 = 0x800E6898; // type:f64 +D_800E6310 = 0x800E68A0; // type:f64 +jpt_800E6318 = 0x800E68A8; +jpt_800E6334 = 0x800E68C4; +D_800E6350 = 0x800E68E0; // type:f64 +jpt_800E6358 = 0x800E68E8; +D_800E6378 = 0x800E6908; +jpt_800E637C = 0x800E690C; +D_800E63A0 = 0x800E6930; // type:f64 +D_800E63A8 = 0x800E6938; +D_800E63B0 = 0x800E6940; +D_800E63B8 = 0x800E6948; +D_800E63C0 = 0x800E6950; +D_800E63C8 = 0x800E6958; +D_800E63D0 = 0x800E6960; +D_800E63D8 = 0x800E6968; +D_800E63E0 = 0x800E6970; +D_800E63E8 = 0x800E6978; +D_800E63F0 = 0x800E6980; +D_800E63F8 = 0x800E6988; +D_800E6400 = 0x800E6990; +D_800E6408 = 0x800E6998; +D_800E6410 = 0x800E69A0; +D_800E6418 = 0x800E69A8; +D_800E6420 = 0x800E69B0; +D_800E6428 = 0x800E69B8; +D_800E6430 = 0x800E69C0; +D_800E6438 = 0x800E69C8; +D_800E6440 = 0x800E69D0; +D_800E6448 = 0x800E69D8; +D_800E6450 = 0x800E69E0; +D_800E6458 = 0x800E69E8; +D_800E6460 = 0x800E69F0; +D_800E6468 = 0x800E69F8; + +D_800E64A8 = 0x800E6A38; // type:f64 +D_800E64B0 = 0x800E6A40; // type:f64 +D_800E64B8 = 0x800E6A48; // type:f64 +D_800E64C0 = 0x800E6A50; // type:f64 +D_800E64C8 = 0x800E6A58; // type:f64 +D_800E64D0 = 0x800E6A60; // type:f64 +D_800E64D8 = 0x800E6A68; // type:f32 +D_800E64E0 = 0x800E6A70; // type:f64 +D_800E64E8 = 0x800E6A78; // type:f32 +D_800E64EC = 0x800E6A7C; // type:f32 +D_800E64F0 = 0x800E6A80; // type:f32 +D_800E64F4 = 0x800E6A84; // type:f32 +D_800E64F8 = 0x800E6A88; // type:f64 +D_800E6500 = 0x800E6A90; // type:f64 +D_800E6508 = 0x800E6A98; // type:f32 +D_800E6510 = 0x800E6AA0; // type:f64 +D_800E6518 = 0x800E6AA8; // type:f64 +D_800E6520 = 0x800E6AB0; // type:f64 +D_800E6528 = 0x800E6AB8; // type:f32 +D_800E6530 = 0x800E6AC0; // type:f64 +D_800E6538 = 0x800E6AC8; // type:f64 +D_800E6540 = 0x800E6AD0; // type:f64 +D_800E6548 = 0x800E6AD8; // type:f64 + +D_800E6558 = 0x800E6AE8; // type:f64 +D_800E6560 = 0x800E6AF0; // type:f64 +D_800E6568 = 0x800E6AF8; // type:f32 +D_800E6570 = 0x800E6B00; // type:f64 +D_800E6578 = 0x800E6B08; // type:f64 +D_800E6580 = 0x800E6B10; +D_800E6584 = 0x800E6B14; +D_800E6588 = 0x800E6B18; +D_800E658C = 0x800E6B1C; +D_800E65F8 = 0x800E6B88; // type:f64 +D_800E6600 = 0x800E6B90; // type:f64 +D_800E6608 = 0x800E6B98; // type:f64 +D_800E6610 = 0x800E6BA0; // type:f64 +D_800E6618 = 0x800E6BA8; // type:f64 +D_800E6620 = 0x800E6BB0; // type:f64 +D_800E6628 = 0x800E6BB8; // type:f64 +D_800E6630 = 0x800E6BC0; // type:f64 +D_800E6638 = 0x800E6BC8; // type:f64 +D_800E6640 = 0x800E6BD0; // type:f64 +D_800E6648 = 0x800E6BD8; // type:f64 +D_800E6650 = 0x800E6BE0; // type:f64 +D_800E6658 = 0x800E6BE8; // type:f64 +D_800E6660 = 0x800E6BF0; // type:f32 +D_800E6668 = 0x800E6BF8; // type:f64 +D_800E6670 = 0x800E6C00; // type:f64 +D_800E6678 = 0x800E6C08; // type:f64 +D_800E6680 = 0x800E6C10; // type:f64 +D_800E6688 = 0x800E6C18; // type:f64 +D_800E6690 = 0x800E6C20; // type:f64 +D_800E6698 = 0x800E6C28; // type:f64 +D_800E66A0 = 0x800E6C30; // type:f64 +D_800E66A8 = 0x800E6C38; // type:f64 +D_800E66B0 = 0x800E6C40; // type:f64 +D_800E66B8 = 0x800E6C48; // type:f64 +D_800E66C0 = 0x800E6C50; // type:f32 +D_800E66C8 = 0x800E6C58; // type:f64 +D_800E66F8 = 0x800E6C88; // type:f64 +D_800E6700 = 0x800E6C90; // type:f64 +D_800E6788 = 0x800E6D18; +D_800E6790 = 0x800E6D20; +D_800E6798 = 0x800E6D28; +D_800E6808 = 0x800E6D98; // type:f64 +D_800E6820 = 0x800E6DB0; // type:f64 +D_800E6838 = 0x800E6DC8; // type:f64 +D_800E6840 = 0x800E6DD0; // type:f64 +D_800E6848 = 0x800E6DD8; // type:f64 +D_800E68C4 = 0x800E6E54; +D_800E68C8 = 0x800E6E58; +D_800E6910 = 0x800E6EA0; // type:f64 +D_800E6918 = 0x800E6EA8; // type:f64 +D_800E6920 = 0x800E6EB0; // type:f64 +D_800E6930 = 0x800E6EC0; // type:f64 +D_800E6938 = 0x800E6EC8; // type:f64 +D_800E69B8 = 0x800E6F48; // type:f64 +D_800E69C0 = 0x800E6F50; // type:f64 +D_800E69C8 = 0x800E6F58; // type:f64 +D_800E69D0 = 0x800E6F60; // type:f64 +D_800E69D8 = 0x800E6F68; // type:f64 +D_800E69E0 = 0x800E6F70; // type:f64 +D_800E69E8 = 0x800E6F78; // type:f32 +D_800E69F0 = 0x800E6F80; // type:f64 +D_800E69F8 = 0x800E6F88; // type:f64 +D_800E6A00 = 0x800E6F94; // type:f32 +D_800E6A04 = 0x800E6F98; // type:s32 size:0x8 padding +D_800E6B00 = 0x800E7090; // type:f64 +D_800E6B08 = 0x800E7098; // type:f64 +D_800E6B10 = 0x800E70A0; // type:f64 +D_800E6B20 = 0x800E70B0; +D_800E6B4C = 0x800E70DC; +D_800E6B64 = 0x800E70F4; +D_800E6B84 = 0x800E7114; +D_800E6BC0 = 0x800E7150; +D_800E6BE0 = 0x800E7170; +D_800E6C20 = 0x800E71B0; +D_800E6F00 = 0x800E7490; +D_800E6F44 = 0x800E74D4; +D_800E709C = 0x800E762C; +D_800E7134 = 0x800E76C4; //type:asciz +D_800E73A8 = 0x800E7938; +D_800E73D0 = 0x800E7960; +D_800E7400 = 0x800E7990; +D_800E7438 = 0x800E79C8; +D_800E7590 = 0x800E7B20; // type:asciz +D_800E75B4 = 0x800E7B44; // type:asciz +D_800E75BC = 0x800E7B4C; // type:asciz +D_800E75C8 = 0x800E7B58; // type:asciz +D_800E75D8 = 0x800E7B68; // type:asciz +D_800E75DC = 0x800E7B6C; // type:asciz +D_800E75E0 = 0x800E7B70; // type:asciz +D_800E75F4 = 0x800E7B84; // type:asciz +D_800E7604 = 0x800E7B94; // type:asciz +D_800E7614 = 0x800E7BA4; // type:asciz +D_800E7620 = 0x800E7BB0; // type:asciz +D_800E762C = 0x800E7BBC; // type:asciz +D_800E7800 = 0x800E7D90; // type:asciz "(Audio task)" +D_800E7810 = 0x800E7DA0; // type:asciz "(Game task)" +D_800E781C = 0x800E7DAC; // type:asciz "(DI task)\n" +D_800E7828 = 0x800E7DB8; // type:asciz "(DI benchmark test)\n" +D_800E7840 = 0x800E7DD0; // type:asciz "(Unknown task type %d)\n" +D_800E7858 = 0x800E7DE8; // type:asciz "\nRCP TASK INFO\n" +D_800E7868 = 0x800E7DF8; // type:asciz "-------------\n" +D_800E7878 = 0x800E7E08; // type:asciz "\ttype\t\t= %u\n" +D_800E7888 = 0x800E7E18; // type:asciz "\tflags\t\t= %u\n" +D_800E7898 = 0x800E7E28; // type:asciz "\tucode_boot\t\t= %p\n" +D_800E78AC = 0x800E7E3C; // type:asciz "\tucode_boot_size\t\t= %u\n" +D_800E78C4 = 0x800E7E54; // type:asciz "\tucode\t\t= %p\n" +D_800E78D4 = 0x800E7E64; // type:asciz "\tucode_size\t\t= %u\n" +D_800E78E8 = 0x800E7E78; // type:asciz "\tucode_data\t\t= %p\n" +D_800E78FC = 0x800E7E8C; // type:asciz "\tucode_data_size\t\t= %u\n" +D_800E7914 = 0x800E7EA4; // type:asciz "\toutput_buff\t\t= %p\n" +D_800E7928 = 0x800E7EB8; // type:asciz "\toutput_buff_size\t\t= %u\n" +D_800E7944 = 0x800E7ED4; // type:asciz "\tdata_ptr\t\t= %p\n" +D_800E7958 = 0x800E7EE8; // type:asciz "\tdata_size\t\t= %u\n" +D_800E7B30 = 0x800E80C0; // type:asciz +D_800E7B60 = 0x800E80F0; // type:asciz +D_800E7B88 = 0x800E8118; // type:asciz +D_800E7BA8 = 0x800E8138; // type:asciz +D_800E7BC4 = 0x800E8154; // type:asciz +D_800E7BFC = 0x800E818C; // type:asciz +D_800E7C10 = 0x800E81A0; // type:asciz +D_800E7C30 = 0x800E81C0; // type:asciz +D_800E7C50 = 0x800E81E0; // type:asciz +jpt_800E84F4 = 0x800E8A84; +jpt_800E8508 = 0x800E8A98; +D_800E8520 = 0x800E8AB0; +jpt_800E8574 = 0x800E8B04; +D_800E8640 = 0x800E8BD0; // type:asciz defined:True +D_800E8648 = 0x800E8BD8; // type:asciz defined:True +D_800E8650 = 0x800E8BE0; // type:asciz defined:True +D_800E8658 = 0x800E8BE8; // type:asciz defined:True +D_800E8664 = 0x800E8BF4; // type:asciz defined:True +D_800E8668 = 0x800E8BF8; // type:asciz defined:True +D_800E8670 = 0x800E8C00; // type:asciz defined:True +D_800E867C = 0x800E8C0C; // type:asciz defined:True +D_800E8680 = 0x800E8C10; // type:asciz defined:True +D_800E8688 = 0x800E8C18; +D_800E8690 = 0x800E8C20; +D_800E86A8 = 0x800E8C28; // type:f64 function_owner:func_8009F034 +D_800E86B0 = 0x800E8C30; // type:f64 function_owner:func_8009F034 +D_800E86B8 = 0x800E8C38; // type:f32 function_owner:func_8009F034 +D_800E86BC = 0x800E8C3C; // type:f32 function_owner:func_8009F034 +D_800E86C0 = 0x800E8C40; // type:f32 function_owner:func_8009F034 +D_800E86C8 = 0x800E8C48; // type:f64 function_owner:func_8009F034 +D_800E86D0 = 0x800E8C50; // type:f64 function_owner:func_8009F034 +D_800E86D8 = 0x800E8C58; // type:f64 function_owner:func_8009F034 +D_800E86E0 = 0x800E8C60; // type:f64 function_owner:func_8009F034 +D_800E86E8 = 0x800E8C68; // type:f64 function_owner:func_8009F034 +D_800E86F0 = 0x800E8C70; // type:f64 function_owner:func_8009F034 +D_800E8718 = 0x800E8C98; +D_800E871C = 0x800E8C9C; // type:s32 padding +D_800E8720 = 0x800E8CA0; +D_800E8728 = 0x800E8CA8; +D_800E8730 = 0x800E8CB0; // type:f64 +D_800E8738 = 0x800E8CB8; // type:f64 +D_800E8758 = 0x800E8CD8; // type:f64 +D_800E8760 = 0x800E8CE0; // type:f64 +D_800E87A0 = 0x800E8D20; // type:f64 force_migration:True +D_800E87A8 = 0x800E8D28; // type:f32 force_migration:True +D_800E87B0 = 0x800E8D30; // force_migration:True type:f64 size:8 +D_800E87B8 = 0x800E8D38; // force_migration:True type:f64 size:8 +D_800E87D8 = 0x800E8D58; +D_800E87E0 = 0x800E8D60; // type:f64 +D_800E8840 = 0x800E8DC0; +D_800E887C = 0x800E8DFC; +D_800E88BC = 0x800E8E3C; +D_800E88F8 = 0x800E8E78; +D_800E891C = 0x800E8E9C; +D_800E8940 = 0x800E8EC0; +D_800E8964 = 0x800E8EE4; +D_800E8984 = 0x800E8F04; +D_800E89A4 = 0x800E8F24; +D_800E89D8 = 0x800E8F58; +D_800E8A18 = 0x800E8F98; +D_800E8A40 = 0x800E8FC0; +D_800E8A68 = 0x800E8FE8; +D_800E8A90 = 0x800E9010; +D_800E8AB4 = 0x800E9034; +D_800E8AD8 = 0x800E9058; +D_800E8B10 = 0x800E9090; +D_800E8B44 = 0x800E90C4; +gLowerCase = 0x800E9180; // type:asciz force_not_migration:true defined:true +gUpperCase = 0x800E91A8; // type:asciz force_not_migration:true defined:true +D_800E8C50 = 0x800E91D0; // type:asciz force_not_migration:true defined:true +D_800E8C54 = 0x800E91D4; // type:asciz force_not_migration:true defined:true +D_800E8C5C = 0x800E91DC; // type:asciz force_not_migration:true defined:true +jpt_800E8CAC = 0x800E922C; +jpt_800E8CF0 = 0x800E9270; +jpt_800E8D88 = 0x800E9308; +jpt_800E8E58 = 0x800E93D8; +D_800E8E70 = 0x800E93F0; // type:asciz force_not_migration:true defined:true +D_800E8EA0 = 0x800E9420; // type:asciz force_not_migration:true defined:true +D_800E9160 = 0x800E96E0; +D_800E91AC = 0x800E972C; +D_800E91E4 = 0x800E9764; +D_800E9228 = 0x800E97A8; +D_800E9260 = 0x800E97E0; +D_800E92A0 = 0x800E9820; +D_800E92A4 = 0x800E9824; +gzip_border = 0x800E9940; +gzip_cplens = 0x800E9954; +gzip_cplext = 0x800E9992; +gzip_cpdist = 0x800E99B2; +gzip_cpdext = 0x800E99EE; +gzip_mask_bits = 0x800E9A0C; +D_800E94AE = 0x800E9A2E; +__osRcpImTable = 0x800E9A50; +__osIntOffTable = 0x800E9BF0; +__osIntTable = 0x800E9C10; // size:0x24 +length_str = 0x800E9C40; // type:asciz "hlL" defined:true +flags_str = 0x800E9C44; // type:asciz " +-#0" defined:true +flags_arr = 0x800E9C4C; // type:u32 size:0x18 defined:true +P_cosf = 0x800E9D40; // type:Du size:0x28 defined:true +rpi_cosf = 0x800E9D68; // type:Du size:0x8 defined:true +pihi_cosf = 0x800E9D70; // type:Du size:0x8 defined:true +pilo_cosf = 0x800E9D78; // type:Du size:0x8 defined:true +zero_cosf = 0x800E9D80; // type:Fu size:0x8 defined:true +P_sinf = 0x800E9D90; // type:Du size:0x28 defined:true +rpi_sinf = 0x800E9DB8; // type:Du size:0x8 defined:true +pihi_sinf = 0x800E9DC0; // type:Du size:0x8 defined:true +pilo_sinf = 0x800E9DC8; // type:Du size:0x8 defined:true +zero_sinf = 0x800E9DD0; // type:Fu size:0x8 defined:true +pows = 0x800E9DE0; // type:f64 size:0x48 defined:true +Ldtob_NaN = 0x800E9E28; // type:asciz force_not_migration:true defined:true +Ldtob_Inf = 0x800E9E2C; // type:asciz force_not_migration:true defined:true +_Genld_0_string = 0x800E9E30; // type:asciz force_not_migration:true defined:true +_Ldtob_1e8 = 0x800E9E38; // type:f64 +__libm_qnan_f = 0x800E9E40; // type:f64 +aspMainDataStart = 0x800E9E50; // size:0x2D0 +rspF3DDKRDataDramStart = 0x800EA120; // size:0x800 +rspF3DDKRDataFifoStart = 0x800EA920; // size:0x800 +rspF3DDKRDataXbusStart = 0x800EB120; // size:0x800 +rspUnknown2DataStart = 0x800EB920; // size:0xBC0 +gAudioHeapStack = 0x800EC4E0; // size:0x29D88 +gALHeap = 0x80116268; +gSequenceTable = 0x80116278; +gMusicSequenceData = 0x8011627C; +gJingleSequenceData = 0x80116280; +gCurrentSequenceID = 0x80116284; +gCurrentJingleID = 0x80116285; +gMusicTempo = 0x80116288; +gSeqLengthTable = 0x8011628C; +gSequenceBank = 0x80116290; +gSoundBank = 0x80116294; +gSoundTable = 0x80116298; +gSeqSoundTable = 0x8011629C; +gSoundCount = 0x801162A0; +gSeqSoundCount = 0x801162A4; +gSoundTableSize = 0x801162A8; +gSeqSoundTableSize = 0x801162AC; +sMusicTempo = 0x801162B0; +gMusicAnimationTick = 0x801162B4; +sMusicDelayTimer = 0x801162B8; +sMusicDelayLength = 0x801162BC; +gMusicPlaying = 0x801162C0; +gJinglePlaying = 0x801162C1; +gDelayedSounds = 0x801162C8; +gMusicSequence = 0x80116308; +gJingleSequence = 0x80116400; +gSkipResetChannels = 0x801164F8; +gAudioVolumeSetting = 0x801164F9; +gDynamicMusicChannelMask = 0x801164FC; +gGlobalSoundMask = 0x80116500; +gSpatialSoundMask = 0x80116504; +gRacerSoundMask = 0x80116508; +gAudioSched = 0x80116510; +gAudioHeap = 0x80116514; +__am = 0x80116518; +dmaState = 0x801197B0; +dmaBuffs = 0x801197C0; +minFrameSize = 0x80119BA8; +frameSize = 0x80119BAC; +maxFrameSize = 0x80119BB0; +gAudioCmdLen = 0x80119BB4; +gAntiPiracyCRCStart = 0x80119BB8; +audDMAIOMesgBuf = 0x80119BC0; +audDMAMessageQ = 0x8011A070; +audDMAMessageBuf = 0x8011A088; +gAlSndPlayer = 0x8011A150; +gSoundChannelVolume = 0x8011A1A8; +D_80119C30 = 0x8011A1B0; +gRacerSound = 0x8011A1B8; +gSoundRacerObj = 0x8011A1BC; +D_80119C40 = 0x8011A1C0; +gSoundMaskHeapUsed = 0x8011A1C4; +gSoundMaskHeap = 0x8011A1C8; +gFreeMasks = 0x8011A1CC; +gSoundMaskHeapFree = 0x8011A1D0; +D_80119C54 = 0x8011A1D4; +D_80119C58 = 0x8011A1D8; +D_80119C5C = 0x8011A1DC; +D_80119C60 = 0x8011A1E0; +D_8011A6D8 = 0x8011AC58; +D_8011A6DC = 0x8011AC5C; +D_8011A6E0 = 0x8011AC60; +gAudioLinesOff = 0x8011B198; +D_8011AC1C = 0x8011B19C; +D_8011AC20 = 0x8011B1A0; // size:0x100 +D_8011AD20 = 0x8011B2A0; +D_8011AD21 = 0x8011B2A1; +D_8011AD22 = 0x8011B2A2; // size:0x2 +D_8011AD24 = 0x8011B2A4; // size:0x2 +D_8011AD26 = 0x8011B2A6; +D_8011AD28 = 0x8011B2A8; +D_8011AD2C = 0x8011B2AC; +gCurrentLightIntensity = 0x8011B2B0; +gGhostObjPlayer = 0x8011B2B4; +gTimeTrialContPak = 0x8011B2B8; +D_8011AD3C = 0x8011B2BC; +D_8011AD3D = 0x8011B2BD; +D_8011AD3E = 0x8011B2BE; +gTransformObject = 0x8011B2C0; +gTransformTimer = 0x8011B2C4; +gOverworldVehicle = 0x8011B2C5; +gTransformPosX = 0x8011B2C6; +gTransformPosY = 0x8011B2C8; +gTransformPosZ = 0x8011B2CA; +gTransformAngleY = 0x8011B2CC; +gRaceEndTimer = 0x8011B2CE; +gRaceEndStage = 0x8011B2D0; +gNumRacersSaved = 0x8011B2D1; +unused_D_8011AD52 = 0x8011B2D2; +D_8011AD53 = 0x8011B2D3; +D_8011AD54 = 0x8011B2D4; +gSpawnObjectHeap = 0x8011B2D8; +D_8011AD5C = 0x8011B2DC; +D_8011AD60 = 0x8011B2E0; +gAssetsObjectHeadersTable = 0x8011B2E4; +gAssetsObjectHeadersTableLength = 0x8011B2E8; +gAssetsMiscSection = 0x8011B2EC; +gAssetsMiscTable = 0x8011B2F0; +D_8011AD74 = 0x8011B2F4; +D_8011AD78 = 0x8011B2F8; +gAssetsMiscTableLength = 0x8011B320; +D_8011ADA4 = 0x8011B324; +gObjectUpdateRateF = 0x8011B328; +gPathUpdateOff = 0x8011B32C; +gEventCountdown = 0x8011B330; +D_8011ADB4 = 0x8011B334; +gEventStartTimer = 0x8011B338; +D_8011ADBC = 0x8011B33C; +D_8011ADC0 = 0x8011B340; +gFirstTimeFinish = 0x8011B344; +D_8011ADC5 = 0x8011B345; +gBalloonCutsceneTimer = 0x8011B348; +D_8011ADCC = 0x8011B34C; +gObjectOffsetY = 0x8011B350; +D_8011ADD4 = 0x8011B354; +gOverrideDoors = 0x8011B355; +D_8011ADD8 = 0x8011B358; +D_8011AE00 = 0x8011B380; +D_8011AE01 = 0x8011B381; +gIsNonCarRacers = 0x8011B382; +gIsSilverCoinRace = 0x8011B383; +D_8011AE08 = 0x8011B388; +gLoadedObjectHeaders = 0x8011B3C8; +gObjectHeaderReferences = 0x8011B3CC; +D_8011AE50 = 0x8011B3D0; +D_8011AE54 = 0x8011B3D4; +gObjPtrList = 0x8011B3D8; +gObjectCount = 0x8011B3DC; +gObjectListStart = 0x8011B3E0; +gParticleCount = 0x8011B3E4; +gObjectMemoryPool = 0x8011B3E8; +D_8011AE6C = 0x8011B3EC; +D_8011AE70 = 0x8011B3F0; +D_8011AE74 = 0x8011B3F4; +D_8011AE78 = 0x8011B3F8; +gCutsceneID = 0x8011B3FA; +D_8011AE7C = 0x8011B3FC; +D_8011AE7E = 0x8011B3FE; +gTTGhostTimeToBeat = 0x8011B400; +gPrevTimeTrialVehicle = 0x8011B402; +gMapDefaultVehicle = 0x8011B404; +D_8011AE88 = 0x8011B408; +gObjectCurrDisplayList = 0x8011B40C; +gObjectCurrMatrix = 0x8011B410; +gObjectCurrVertexList = 0x8011B414; +D_8011AE98 = 0x8011B418; +D_8011AEA0 = 0x8011B420; +D_8011AEA8 = 0x8011B428; +D_8011AEB0 = 0x8011B430; +gAssetsLvlObjTranslationTable = 0x8011B438; +gAssetsLvlObjTranslationTableLength = 0x8011B43C; +D_8011AEC0 = 0x8011B440; +gParticlePtrList = 0x8011B444; +gFreeListCount = 0x8011B448; +gTrackCheckpoints = 0x8011B44C; +gNumberOfCheckpoints = 0x8011B450; +D_8011AED4 = 0x8011B454; +gTajChallengeType = 0x8011B458; +gCameraObjList = 0x8011B45C; +gCameraObjCount = 0x8011B460; +gRacers = 0x8011B464; +gRacersByPosition = 0x8011B468; +gRacersByPort = 0x8011B46C; +gNumRacers = 0x8011B470; +gTimeTrialEnabled = 0x8011B474; +gIsTimeTrial = 0x8011B475; +gIsTajChallenge = 0x8011B476; +gTajRaceInit = 0x8011B477; +gChallengePrevMusic = 0x8011B478; +gChallengePrevInstruments = 0x8011B47C; +D_8011AF00 = 0x8011B480; +gAINodes = 0x8011B484; +gAINodeTail = 0x8011B488; +gInitAINodes = 0x8011B490; +D_8011AF14 = 0x8011B494; +gElevationHeights = 0x8011B498; +D_8011AF2C = 0x8011B4AC; +gWorldShading = 0x8011B4B0; +D_8011AF34 = 0x8011B4B4; +D_8011AF38 = 0x8011B4B8; +D_8011AF60 = 0x8011B4E0; +D_8011AF68 = 0x8011B4E8; +gEnvmapPos = 0x8011B568; +D_8011AFEE = 0x8011B56E; +D_8011AFF0 = 0x8011B570; +D_8011AFF4 = 0x8011B574; +D_8011AFF8 = 0x8011B578; +D_8011AFFC = 0x8011B57C; +D_8011B000 = 0x8011B580; +D_8011B004 = 0x8011B584; +D_8011B008 = 0x8011B588; +D_8011B010 = 0x8011B590; +D_8011B020 = 0x8011B5A0; +D_8011B048 = 0x8011B5C8; +D_8011B058 = 0x8011B5D8; +D_8011B068 = 0x8011B5E8; +D_8011B078 = 0x8011B5F8; +D_8011B07B = 0x8011B5FB; +D_8011B080 = 0x8011B600; +gSceneCurrDisplayList = 0x8011B620; +gSceneCurrMatrix = 0x8011B624; +gSceneCurrVertexList = 0x8011B628; +gSceneCurrTriList = 0x8011B62C; +gSceneActiveCamera = 0x8011B630; +gSceneCurrentPlayerID = 0x8011B634; +gSkydomeSegment = 0x8011B638; +gIsNearCurrBBox = 0x8011B63C; +D_8011B0C0 = 0x8011B640; +gDisableShadows = 0x8011B644; +gShadowHeapFlip = 0x8011B648; +D_8011B0CC = 0x8011B64C; +gShadowIndex = 0x8011B650; +gSceneStartSegment = 0x8011B654; +D_8011B0D8 = 0x8011B658; +gSceneRenderSkyDome = 0x8011B65C; +gDrawLevelSegments = 0x8011B660; +D_8011B0E1 = 0x8011B661; +D_8011B0E2 = 0x8011B662; +D_8011B0E3 = 0x8011B663; +D_8011B0E4 = 0x8011B664; +D_8011B0E8 = 0x8011B668; +D_8011B0EC = 0x8011B66C; +D_8011B0F0 = 0x8011B670; +D_8011B0F4 = 0x8011B674; +D_8011B0F8 = 0x8011B678; +gAntiAliasing = 0x8011B67C; +D_8011B100 = 0x8011B680; +D_8011B104 = 0x8011B684; +D_8011B108 = 0x8011B688; +D_8011B10C = 0x8011B68C; +D_8011B110 = 0x8011B690; +D_8011B114 = 0x8011B694; +D_8011B118 = 0x8011B698; +D_8011B11C = 0x8011B69C; +D_8011B120 = 0x8011B6A0; +D_8011B320 = 0x8011B8A0; // size:0x10 +D_8011B330 = 0x8011B8B0; +D_8011C230 = 0x8011C7B0; +D_8011C234 = 0x8011C7B4; +D_8011C238 = 0x8011C7B8; +D_8011C3B8 = 0x8011C938; +D_8011C8B8 = 0x8011CE38; +D_8011D0B8 = 0x8011D638; +D_8011D0BC = 0x8011D63C; +D_8011D0C0 = 0x8011D640; +D_8011D0C4 = 0x8011D644; +D_8011D0C8 = 0x8011D648; +D_8011D0CC = 0x8011D64C; +D_8011D0CE = 0x8011D64E; +D_8011D0D0 = 0x8011D650; +gShadowOpacity = 0x8011D654; +D_8011D0D8 = 0x8011D658; +D_8011D0DC = 0x8011D65C; +D_8011D0E0 = 0x8011D660; +D_8011D0E4 = 0x8011D664; +D_8011D0E8 = 0x8011D668; +D_8011D0EC = 0x8011D66C; +D_8011D0F0 = 0x8011D670; +D_8011D0F4 = 0x8011D674; +D_8011D0F8 = 0x8011D678; +D_8011D128 = 0x8011D6A8; +D_8011D158 = 0x8011D6D8; +D_8011D164 = 0x8011D6E4; +D_8011D168 = 0x8011D6E8; +gTrackWaves = 0x8011D838; +D_8011D308 = 0x8011D888; +gTrackModelHeap = 0x8011D88C; +gLevelModelTable = 0x8011D890; +gPrevCameraX = 0x8011D894; +gPrevCameraY = 0x8011D898; +gPrevCameraZ = 0x8011D89C; +gShadowHeapTris = 0x8011D8A0; +gCurrentShadowTris = 0x8011D8B0; +D_8011D334 = 0x8011D8B4; +gShadowHeapVerts = 0x8011D8B8; +gCurrentShadowVerts = 0x8011D8C8; +D_8011D34C = 0x8011D8CC; +gShadowHeapTextures = 0x8011D8D0; +gCurrentShadowTexture = 0x8011D8E0; +D_8011D364 = 0x8011D8E4; +D_8011D368 = 0x8011D8E8; +D_8011D36C = 0x8011D8EC; +D_8011D370 = 0x8011D8F0; +D_8011D374 = 0x8011D8F4; +D_8011D378 = 0x8011D8F8; +gScenePlayerViewports = 0x8011D8FC; +gCurrBBoxDistanceToCamera = 0x8011D900; +gWaveBlockCount = 0x8011D904; +gFogData = 0x8011D908; +gScenePerspectivePos = 0x8011D9E8; +D_8011D474 = 0x8011D9F4; +D_8011D478 = 0x8011D9F8; +D_8011D47C = 0x8011D9FC; +D_8011D480 = 0x8011DA00; +D_8011D488 = 0x8011DA08; +D_8011D48C = 0x8011DA0C; +D_8011D490 = 0x8011DA10; +D_8011D498 = 0x8011DA18; +D_8011D49C = 0x8011DA1C; +D_8011D49E = 0x8011DA1E; +D_8011D4A0 = 0x8011DA20; +D_8011D4A4 = 0x8011DA24; +D_8011D4A8 = 0x8011DA28; +D_8011D4AC = 0x8011DA2C; +D_8011D4B0 = 0x8011DA30; +D_8011D4B4 = 0x8011DA34; +D_8011D4B6 = 0x8011DA36; +D_8011D4B8 = 0x8011DA38; +D_8011D4BA = 0x8011DA3A; +D_8011D4BC = 0x8011DA3C; +gLightDistance = 0x8011DA40; +gLightDiffX = 0x8011DA44; +gLightDiffY = 0x8011DA48; +gLightDiffZ = 0x8011DA4C; +gNPCPosY = 0x8011DA50; +gTajSoundMask = 0x8011DA54; +gTTSoundMask = 0x8011DA58; +gRocketSoundTimer = 0x8011DA5C; +gTajDialogueChoice = 0x8011DA60; +gTajSoundID = 0x8011DA62; +gCurrentCourseHeight = 0x8011DA70; +gCurrentRacerWaterPos = 0x8011DA78; +gRacerWaveType = 0x8011DA84; +gCameraObject = 0x8011DA88; +D_8011D50C = 0x8011DA8C; +gCurrentRacerTransform = 0x8011DA90; +gCurrentRacerInput = 0x8011DAA8; +gCurrentButtonsPressed = 0x8011DAAC; +gCurrentButtonsReleased = 0x8011DAB0; +gCurrentStickX = 0x8011DAB4; +gCurrentStickY = 0x8011DAB8; +unused_8011D53C = 0x8011DABC; +gRaceStartTimer = 0x8011DAC0; +D_8011D544 = 0x8011DAC4; +D_8011D548 = 0x8011DAC8; +D_8011D54C = 0x8011DACC; +D_8011D550 = 0x8011DAD0; +D_8011D552 = 0x8011DAD2; +gCurrentCarSteerVel = 0x8011DAD4; +D_8011D558 = 0x8011DAD8; +gCurrentPlayerIndex = 0x8011DADC; +D_8011D560 = 0x8011DAE0; +gCurrentRacerMiscAssetPtr = 0x8011DAE4; +D_8011D568 = 0x8011DAE8; +gCurrentRacerWeightStat = 0x8011DAEC; +gCurrentRacerHandlingStat = 0x8011DAF0; +gCurrentRacerUnusedMiscAsset11 = 0x8011DAF4; +gRacerMagnetVelX = 0x8011DAF8; +gRacerMagnetVelZ = 0x8011DAFC; +D_8011D580 = 0x8011DB00; +gCurrentSurfaceType = 0x8011DB01; +gTajInteractStatus = 0x8011DB02; +gRacerDialogueCamera = 0x8011DB03; +gRacerInputBlocked = 0x8011DB04; +gStartBoostTime = 0x8011DB05; +gDialogueCameraAngle = 0x8011DB06; +gEggChallengeFlags = 0x8011DB08; // size:0x4 +D_8011D58C = 0x8011DB0C; +gGhostData = 0x8011DB10; +gCurrentGhostIndex = 0x8011DB1C; +gPrevGhostNodeIndex = 0x8011DB1D; +gGhostNodeDelay = 0x8011DB1E; +gGhostNodeCount = 0x8011DB20; +gGhostNodeFull = 0x8011DB28; +gGhostMapID = 0x8011DB2C; +gRacerWaveCount = 0x8011DB2E; +D_8011D5AF = 0x8011DB2F; +gRacerCurrentWave = 0x8011DB30; +D_8011D5B4 = 0x8011DB34; +D_8011D5B8 = 0x8011DB38; +gTrickyRacerPeakHeight = 0x8011DB40; +gTrickyCutsceneTimer = 0x8011DB44; +gBossSoundIDOffset = 0x8011DB48; +gTrickyStartBoost = 0x8011DB4C; +gBlueyCutsceneTimer = 0x8011DB50; +gBlueyStartBoost = 0x8011DB51; +gSmokeyCutsceneTimer = 0x8011DB60; +gSmokeyStartBoost = 0x8011DB61; +gBubblerCutsceneTimer = 0x8011DB70; +gBubblerStartBoost = 0x8011DB71; +gWizpigCutsceneTimer = 0x8011DB80; +gWizpigStartBoost = 0x8011DB81; +gRocketCutsceneTimer = 0x8011DB90; +gRocketStartBoost = 0x8011DB91; +gObjectModelTable = 0x8011DBA0; +D_8011D624 = 0x8011DBA4; +D_8011D628 = 0x8011DBA8; +D_8011D62C = 0x8011DBAC; +gNumModelIDs = 0x8011DBB0; +D_8011D634 = 0x8011DBB4; +gAnimationTable = 0x8011DBB8; +gObjectAnimationTable = 0x8011DBBC; +D_8011D640 = 0x8011DBC0; +D_8011D644 = 0x8011DBC4; +gThread1Stack = 0x8011DBD0; +gThread3Stack = 0x8011DCD8; +gThread1 = 0x8011FCE0; +gThread3 = 0x8011FE90; +entrypointThreadStack = 0x80120040; +gCameraSegment = 0x80121040; +gNumberOfViewports = 0x80121260; +gActiveCameraID = 0x80121264; +gViewportCap = 0x80121268; +D_80120CEC = 0x8012126C; +gCameraTransform = 0x80121270; +gMatrixType = 0x80121288; +gSpriteAnimOff = 0x8012128C; +gCurCamFOV = 0x80121290; +gCutsceneCameraActive = 0x80121294; +gAdjustViewportHeight = 0x80121295; +D_80120D18 = 0x80121298; +gModelMatrixStackPos = 0x8012129C; +gCameraMatrixPos = 0x801212A0; +D_80120D24 = 0x801212A4; +gModelMatrixViewX = 0x801212A8; +gModelMatrixViewY = 0x801212C0; +gModelMatrixViewZ = 0x801212D8; +perspNorm = 0x801212EC; +gModelMatrixF = 0x801212F0; +gModelMatrixS = 0x80121308; +D_80120DA0 = 0x80121320; +gPerspectiveMatrixF = 0x80121460; +gViewMatrixF = 0x801214A0; +gCameraMatrixF = 0x801214E0; +gProjectionMatrixF = 0x80121520; +gProjectionMatrixS = 0x80121560; +gUnusedProjectionMatrixS = 0x801215A0; +gCurrentModelMatrixF = 0x801215E0; +gCurrentModelMatrixS = 0x80121620; +sSIMesgQueue = 0x80121660; +sSIMesgBuf = 0x80121678; +gSIMesg = 0x8012167C; +gControllerStatus = 0x80121680; +gControllerCurrData = 0x80121690; +gControllerPrevData = 0x801216A8; +gControllerButtonsPressed = 0x801216C0; +gControllerButtonsReleased = 0x801216C8; +sPlayerID = 0x801216D0; +gTempAssetTable = 0x801216E0; +gMapId = 0x801216E4; +gCurrentLevelHeader = 0x801216E8; +gLevelNames = 0x801216EC; +gNumberOfLevelHeaders = 0x801216F0; +gNumberOfWorlds = 0x801216F4; +D_80121178 = 0x801216F8; +gGlobalLevelTable = 0x801216FC; +gRaceTypeCountTable = 0x80121700; +gAIBehaviourTable = 0x80121740; +gLevelPropertyStack = 0x80121748; +gDisplayLists = 0x80121770; +gCurrDisplayList = 0x80121778; +D_801211FC = 0x8012177C; +gMatrixHeap = 0x80121780; +gGameCurrMatrix = 0x80121788; +gVertexHeap = 0x80121790; +gGameCurrVertexList = 0x80121798; +gTriangleHeap = 0x801217A0; +gGameCurrTriList = 0x801217A8; +D_80121230 = 0x801217B0; +gLevelSettings = 0x801217D0; +gMainSched = 0x801217E0; +gSchedStack = 0x80121A68; +gSPTaskNum = 0x80123A68; +gGameMode = 0x80123A6C; +gRenderMenu = 0x80123A70; +gPlayableMapId = 0x80123A74; +D_801234F8 = 0x80123A78; +D_801234FC = 0x80123A7C; +gGameNumPlayers = 0x80123A80; +gGameCurrentEntrance = 0x80123A84; +gGameCurrentCutscene = 0x80123A88; +gPrevPlayerCount = 0x80123A8C; +gSettingsPtr = 0x80123A90; +gIsLoading = 0x80123A94; +gIsPaused = 0x80123A95; +gPostRaceViewPort = 0x80123A96; +gLevelDefaultVehicleID = 0x80123A98; +gMenuVehicleID = 0x80123A9C; +sBootDelayTimer = 0x80123AA0; +gLevelLoadType = 0x80123AA4; +gNextMap = 0x80123AA5; +D_80123526 = 0x80123AA6; +gCurrNumF3dCmdsPerPlayer = 0x80123AA8; +gCurrNumHudMatPerPlayer = 0x80123AAC; +gCurrNumHudTrisPerPlayer = 0x80123AB0; +gCurrNumHudVertsPerPlayer = 0x80123AB4; +gNMISched = 0x80123AB8; +gNMIOSMesg = 0x80123AC4; +gNMIMesgQueue = 0x80123AC8; +gNMIMesgBuf = 0x80123AE0; +D_80123568 = 0x80123AE8; +gMemoryPools = 0x80123B00; +gNumberOfMemoryPools = 0x80123B40; +D_801235C4 = 0x80123B44; +gFreeQueue = 0x80123B48; +gFreeQueueCount = 0x80124348; +gFreeQueueTimer = 0x8012434C; +_MotorStopData = 0x80124350; +_MotorStartData = 0x80124450; +_motorstopbuf = 0x80124550; +_motorstartbuf = 0x80124570; +sControllerMesgQueue = 0x80124590; +D_80124014 = 0x80124594; +pfs = 0x80124598; +gRumble = 0x80124738; +sRumbleTable = 0x80124760; +gRumbleOn = 0x80124764; +gRumblePresent = 0x80124765; +gRumbleIdle = 0x80124766; +gRumbleActive = 0x80124767; +gRumbleDetectionTimer = 0x80124768; +D_801241EC = 0x8012476C; +D_801241F0 = 0x80124770; +D_801241F4 = 0x80124774; +gAssetsDmaIoMesg = 0x80124780; +gDmaMesg = 0x80124798; +gDmaMesgQueue = 0x801247A0; +gPIMesgBuf = 0x801247B8; +gPIMesgQueue = 0x801247F8; +gAssetsLookupTableMesgBuf = 0x80124810; // NEW BSS +gDmaMesgQueueV2 = 0x80124818; // NEW BSS +gAssetsLookupTable = 0x80124830; +gDramStack = 0x80124840; +gGfxTaskOutputBuffer = 0x80124C40; +gRCPMesgQueue = 0x80126440; +gRCPMesgBuf = 0x80126458; +gUnusedMesgQueue = 0x80126460; +gGfxTaskMesgQueue = 0x80126478; +gUnusedMesgBuf = 0x80126490; +gGfxTaskMesgBuf = 0x801264B0; +gChequerBGColourR1 = 0x801264D0; +gChequerBGColourG1 = 0x801264D1; +gChequerBGColourB1 = 0x801264D2; +gChequerBGColourA1 = 0x801264D3; +gChequerBGColourR2 = 0x801264D4; +gChequerBGColourG2 = 0x801264D5; +gChequerBGColourB2 = 0x801264D6; +gChequerBGColourA2 = 0x801264D7; +gChequerBGWidth = 0x801264D8; +gChequerBGHeight = 0x801264DC; +gGfxTaskBuf = 0x801264E0; +gGfxTaskBuf2 = 0x801265C0; +osScInterruptQ = 0x801266A0; +gCurRSPTaskIsSet = 0x801266B0; // type:s32 size:0x4 +gCurRDPTaskIsSet = 0x801266B4; // type:s32 size:0x4 +gYieldTime = 0x801266B8; // type:u64 size:0x8 +gRSPAudTaskFlushTime = 0x801266C0; // type:u32 size:0x4 +gRSPAudTaskDoneTime = 0x801266C4; // type:u32 size:0x4 +D_80126128 = 0x801266C8; // type:s32 size:0x48 +gVideoRefreshRate = 0x80126710; +gVideoAspectRatio = 0x80126714; +gVideoHeightRatio = 0x80126718; +D_8012617C = 0x8012671C; +gVideoMesgBuf = 0x80126720; +gVideoMesgQueue = 0x80126740; +gTvViMode = 0x80126800; +gVideoFbWidths = 0x80126850; +gVideoFbHeights = 0x80126858; +gVideoFramebuffers = 0x80126860; +gVideoCurrFbIndex = 0x80126868; +gVideoModeIndex = 0x8012686C; +sBlackScreenTimer = 0x80126870; +gVideoCurrFramebuffer = 0x80126874; +gVideoLastFramebuffer = 0x80126878; +gVideoCurrDepthBuffer = 0x8012687C; +gVideoLastDepthBuffer = 0x80126880; +D_801262E4 = 0x80126884; +D_801262E8 = 0x80126888; +gVideoDeltaCounter = 0x801268A8; +gVideoDeltaTime = 0x801268A9; +gVideoSched = 0x801268B0; +gTextureAssetTable = 0x801268C0; +gTextureCache = 0x801268C8; +gCiPalettes = 0x801268CC; +gNumberOfLoadedTextures = 0x801268D0; +D_80126334 = 0x801268D4; +gTextureAssetID = 0x801268D8; +gCiPalettesSize = 0x801268E0; +D_80126344 = 0x801268E4; +gSpriteOffsetTable = 0x801268E8; +gSpriteCache = 0x801268EC; +gCurrentSprite = 0x801268F0; +gSpriteTableNum = 0x801268F4; +D_80126358 = 0x801268F8; +D_8012635C = 0x801268FC; +D_80126360 = 0x80126900; +D_80126364 = 0x80126904; +D_80126368 = 0x80126908; +gTempTextureHeader = 0x8012690C; +D_80126370 = 0x80126910; +gCurrentRenderFlags = 0x80126914; +gBlockedRenderFlags = 0x80126918; +gCurrentTextureHeader = 0x8012691C; +gUsingTexture = 0x80126920; +gForceFlags = 0x80126922; +gUsePrimColour = 0x80126924; +gCourseInitials = 0x80126930; +gFLapInitials = 0x80126934; +gAdventureSaveGhost = 0x80126938; + // has a diff from v1 - these next 4 vars have swapped order +sMenuCurrDisplayList = 0x8012693C; +gPreviousMenuID = 0x80126940; +sMenuCurrHudMat = 0x80126944; +gTTSaveGhostPakErrorText = 0x80126948; +sMenuCurrHudVerts = 0x8012694C; +sMenuCurrHudTris = 0x80126950; +gMenuSelectedCharacter = 0x80126954; +D_801263B8 = 0x80126958; +gOptionBlinkTimer = 0x8012695C; +gMenuCurrentCharacter = 0x80126960; +gIgnorePlayerInputTime = 0x80126964; +sUnused_801263C8 = 0x80126968; +gCurrCharacterSelectData = 0x8012696C; +gTrackmenuLoadedLevel = 0x80126970; +gActivePlayersArray = 0x80126974; // size:0x4 +gOpacityDecayTimer = 0x80126978; +gCharselectStatus = 0x8012697C; +gMenuStage = 0x80126980; +D_801263E4 = 0x80126984; +gPlayersCharacterArray = 0x80126988; +gCharacterIdSlots = 0x80126990; +gRankingsPoints = 0x80126998; +gResultsPlayers = 0x801269B8; +gRankingsPlayers = 0x801269C0; +gResultsPlayerIDs = 0x801269C8; +gRankingsPlayerIDs = 0x801269D0; // size:0x8 +gRankingsPortraitIDs = 0x801269D8; // size:0x10 +sEepromSettings = 0x801269E8; // type:u64 +sBootScreenTimer = 0x801269F0; // size:0x4 +gControllersXAxisDelay = 0x801269F4; // size:0x4 +gControllersYAxisDelay = 0x801269F8; // size:0x4 +gControllersXAxisDirection = 0x801269FC; // size:0x4 +gGameSelectElements = 0x80126A00; // size:0x4 +gControllersYAxisDirection = 0x80126A04; // size:0x4 +gControllersXAxis = 0x80126A08; // size:0x4 +gControllersYAxis = 0x80126A0C; // size:0x4 +sUnused_80126470 = 0x80126A10; +gTrackSelectViewPortHalfX = 0x80126A14; +gTrackSelectViewPortHalfY = 0x80126A18; +gTrackSelectViewPortX = 0x80126A1C; +gTrackSelectViewportY = 0x80126A20; +gFileCopy = 0x80126A24; +gFileErase = 0x80126A28; +gSaveFileIndex3 = 0x80126A2C; +gSaveFileIndex2 = 0x80126A30; +gFileConfirm = 0x80126A34; +gGhostMenuOption = 0x80126A38; +D_8012649C = 0x80126A3C; +gSavefileInfo = 0x80126A40; // size:0x30 +gCpakGhostData = 0x80126A70; // size:0x4 +gGhostMenuTotal = 0x80126A74; // size:0x4 +gDialogueSubmenu = 0x80126A78; // size:0x1 +gGhostLevelIDsPak = 0x80126A7C; // size:0x4 +D_801264E0 = 0x80126A80; +D_801264E1 = 0x80126A81; +sCurrentMenuID = 0x80126A82; +gGhostCharacterIDsPak = 0x80126A84; +D_801264E8 = 0x80126A88; +gGhostVehicleIDsPak = 0x80126A8C; +D_801264F0 = 0x80126A90; +gGhostChecksumIDsPak = 0x80126A98; +sDialogueOptionMax = 0x80126AA4; +gGhostLevelIDsMenu = 0x80126AA8; +gDialogueOptionYOffset = 0x80126AAE; +gGhostCharacterIDsMenu = 0x80126AB0; // size:0x6 +gDialogueItemSelection = 0x80126AB6; +gGhostVehicleIDsMenu = 0x80126AB8; +gGhostChecksumIDsMenu = 0x80126AC0; +gSavefileData = 0x80126AD0; // size:0x10 +gGhostWorldIDs = 0x80126AE0; // size:0x8 +gMultiplayerSelectedNumberOfRacersCopy = 0x80126AE8; +gMenuAssets = 0x80126AF0; // size:0x200 +gMenuAssetActive = 0x80126CF0; +gTrackmenuType = 0x80126D70; +D_801267D4 = 0x80126D74; +gMenuButtons = 0x80126D78; // size:0x14 +gCinematicParams = 0x80126D8C; +buttonsPressed = 0x80126D90; +gCinematicPortraits = 0x80126DA4; +gMenuSoundMasks = 0x80126DA8; // size:0x10 +gMenuStickX = 0x80126DB8; // size:0xA +gCinematicEnd = 0x80126DC4; +sUnused_80126828 = 0x80126DC8; +D_8012682C = 0x80126DCC; +gMenuStickY = 0x80126DD0; // size:0xA +D_8012683A = 0x80126DDA; +gCinematicSkipA = 0x80126DDC; +gTrackTTSoundMask = 0x80126DE0; +gCinematicSkipB = 0x80126DE4; +D_80126848 = 0x80126DE8; +gCinematicMusicChangeOff = 0x80126DEC; +D_80126850 = 0x80126DF0; +gMenuElementScaleTimer = 0x80126DF4; +gPostraceScaleIn = 0x80126DF8; +gPostraceScaleMiddle = 0x80126DFC; +gPostraceScaleOut = 0x80126E00; +gTitleDemoIndex = 0x80126E04; +gTitleDemoTimer = 0x80126E08; +gTitleRevealTimer = 0x80126E0C; +gTitleAudioCounter = 0x80126E10; +sTitleScreenDemoIds = 0x80126E14; +D_80126878 = 0x80126E18; +D_801268D8 = 0x80126E98; +D_801268DC = 0x80126E9C; +gOpeningNameID = 0x80126EA0; +D_801268E4 = 0x80126EA4; +gTrackSelectIDs = 0x80126EA8; +gFFLUnlocked = 0x80126ED8; +D_8012691C = 0x80126EDC; +D_80126920 = 0x80126EE0; +gTrackSelectVertsFlip = 0x80126EE4; +D_80126928 = 0x80126EE8; +D_8012692C = 0x80126EEC; +gTrackSelectRenderDetails = 0x80126EF0; +gPlayerSelectVehicle = 0x80126F80; // size:0x4 +gPlayerSelectConfirm = 0x80126F84; // size:0x4 +gTrackSelectCursorX = 0x80126F88; // size:0x4 +gTrackSelectCursorY = 0x80126F8C; // size:0x4 +gAudioOutputStrings = 0x80126F90; // size:0xC +gTrackSelectX = 0x80126F9C; // size:0x4 +gMusicTestString = 0x80126FA0; // size:0x4 +gTrackSelectY = 0x80126FA4; // size:0x4 +gTrackSelectTargetX = 0x80126FA8; // size:0x4 +gTrackSelectTargetY = 0x80126FAC; // size:0x4 +gTrackMenuHubName = 0x80126FB0; // size:0x4 +gSelectedTrackX = 0x80126FB4; // size:0x4 +gSelectedTrackY = 0x80126FB8; // size:0x4 +gSoundOptionMask = 0x80126FBC; // size:0x4 +gSaveMenuOptionCountLower = 0x80126FC0; // size:0x4 +gSaveMenuFilesDest = 0x80126FC4; // size:0x4 +gSaveMenuOptionCountUpper = 0x80126FC8; // size:0x4 +gSaveMenuFilesSource = 0x80126FCC; // size:0x4 +gSaveMenuRumbleNag = 0x80126FD0; // size:0x4 +gSaveMenuRumbleConnected = 0x80126FD4; // size:0x4 +gSaveMenuSourceState = 0x80126FD8; // size:0x4 +gSaveMenuDestState = 0x80126FDC; // size:0x4 +sControllerPakNotesFree = 0x80126FE0; // size:0x10 +sControllerPakIssueNotFound = 0x80126FF0; // size:0x4 +sControllerPakFatalErrorFound = 0x80126FF4; // size:0x4 +sControllerPakNoFreeSpace = 0x80126FF8; // size:0x4 +sControllerPakBadData = 0x80126FFC; // size:0x4 +gMenuOptionText = 0x80127000; // size:0x20 +sControllerPakDataPresent = 0x80127020; // size:0x4 +D_80126A64 = 0x80127024; +gMenuOption = 0x80127028; +gSaveMenuRumbleNagSet = 0x8012702C; +gDeviceStatusStrings = 0x80127030; +gSaveMenuMessageLines = 0x80127034; +gSaveMenuMessageOption = 0x80127038; +D_80126A7C = 0x8012703C; +gSaveMenuText = 0x80127040; // size:0x10 +gPostRace1Player = 0x80127050; +gPostRaceTimer = 0x80127054; +gTracksSaveGhost = 0x80127058; +D_80126A9C = 0x8012705C; +gBootPakData = 0x80127060; // size:0x40 +sCurrentControllerPakAllFileNames = 0x801270A0; +sCurrentControllerPakAllFileExtensions = 0x801270E0; +sCurrentControllerPakAllFileTypes = 0x80127120; +sCurrentControllerPakNumberOfPages = 0x80127130; +sCurrentControllerPakFreePages = 0x80127170; +sControllerPakMenuNumberOfRows = 0x80127174; +gMenuMosaic1 = 0x80127178; +gMenuMosaic2 = 0x8012717C; +gMenuMosaicShift = 0x80127180; +gCreditsControlDataIndex = 0x80127184; +sControllerPakError = 0x80127188; +D_80126BCC = 0x8012718C; +D_80126BD0 = 0x80127190; +gSaveMenuOptionSource = 0x80127194; +D_80126BD8 = 0x80127198; +gSaveMenuScrollSource = 0x8012719C; +D_80126BE0 = 0x801271A0; +gSaveMenuOptionDest = 0x801271A4; +D_80126BE8 = 0x801271A8; +gSaveMenuScrollDest = 0x801271AC; +gResultOptionText = 0x801271B0; +gCpakWriteTimer = 0x801271D0; +gResultOptionCount = 0x801271D4; +gBootMenuTimer = 0x801271D8; +gPostRaceMessage = 0x801271DC; +gBootMenuPhase = 0x801271E0; +gPostRaceLineCount = 0x801271E4; +gPostraceFinishState = 0x801271E8; +gMenuGeometry = 0x801271EC; +gCheatsAssetData = 0x801271F0; +gNameEntryStickHeld = 0x801271F4; +gNumberOfCheats = 0x801271F8; +gNameEntryStickX = 0x801271FC; +gCheatInputCurrentRow = 0x80127200; +gCheatInputCurrentColumn = 0x80127202; +gCheatInputStringLength = 0x80127204; +gOptionsMenuItemIndex = 0x80127206; +gNameSelectionDone = 0x80127208; +gNewCheatID = 0x8012720C; +gNameEntryOffsetX = 0x80127210; +gPostRaceOld = 0x80127214; // size:0x4 +gPostRace = 0x80127230; // size:0x4 +gCheatInput = 0x80127218; // size:0x14 +gNameEntryTargetX = 0x8012722C; +gNumOnscreenMagicCodes = 0x80127234; +gNameEntryString = 0x80127238; +gNameEntryAllowedLength = 0x8012723C; +gUnlockedCheatIDs = 0x80127240; // size:0x40 +gFileNew = 0x80127280; +gMinimapOpacity = 0x80127290; +gMinimapFade = 0x80127291; +gShowHUD = 0x80127292; +gMinimapXlu = 0x80127293; +gRaceStartShowHudStep = 0x80127294; +D_80126CD5 = 0x80127295; +gAssetHudElementStaleCounter = 0x80127298; +gCurrentHud = 0x8012729C; +gPlayerHud = 0x801272A0; // size:0x10 +gAssetHudElementIds = 0x801272B0; +gAssetHudElements = 0x801272B4; +gAssetHudElementIdsCount = 0x801272B8; +gHUDCurrDisplayList = 0x801272BC; +gHUDCurrMatrix = 0x801272C0; +gHUDCurrVertex = 0x801272C4; +gHudCurrentViewport = 0x801272C8; +gHUDNumPlayers = 0x801272CC; +D_80126D10 = 0x801272D0; +D_80126D14 = 0x801272D4; +D_80126D18 = 0x801272D8; +gMinimapDotOffsetX = 0x801272DC; +gMinimapDotOffsetY = 0x801272E0; +gHudOffsetX = 0x801272E4; +gHudBounceX = 0x801272E8; +gHudBounceTimer = 0x801272EC; +gHudBounceMag = 0x801272F0; +gHudRaceStart = 0x801272F4; +D_80126D35 = 0x801272F5; +gHideRaceTimer = 0x801272F6; +gNumActivePlayers = 0x801272F7; +gWrongWayNagPrefix = 0x801272F8; +gRaceStartSoundMask = 0x801272FC; +gHUDVoiceSoundMask = 0x80127300; +D_80126D44 = 0x80127304; +D_80126D48 = 0x80127308; +D_80126D4C = 0x8012730C; +D_80126D50 = 0x80127310; +gMinimapRed = 0x80127314; +gMinimapGreen = 0x80127315; +gMinimapBlue = 0x80127316; +gMinimapScreenX = 0x80127318; +gMinimapScreenY = 0x8012731C; +gHudLevelHeader = 0x80127320; +D_80126D64 = 0x80127324; +D_80126D65 = 0x80127325; +D_80126D66 = 0x80127326; +gStopwatchFaceID = 0x80127327; +D_80126D68 = 0x80127328; +D_80126D69 = 0x80127329; +gWrongWayNagTimer = 0x8012732C; +gHudAudioReset = 0x80127330; +gHudTimeTrialGhost = 0x80127331; +gHudVoiceTimer = 0x80127334; +gHudVoicePlayerID = 0x80127338; +gHudVoiceID = 0x8012733C; +gHudSprites = 0x80127340; +D_80127180 = 0x80127740; +gHudSettings = 0x80127744; +gHudSilverCoinRace = 0x80127748; +D_80127189 = 0x80127749; +D_8012718A = 0x8012774A; +gMinimapOpacityTarget = 0x8012774B; +gStopwatchErrorX = 0x8012774C; +gStopwatchErrorY = 0x80127750; +D_80127194 = 0x80127754; +D_80127198 = 0x80127758; +gGfxTaskYieldData = 0x80127770; +gSnowDensity = 0x80128170; +gSnowParticleCount = 0x80128174; +gWeather = 0x80128178; +gSnowPlane = 0x801281B8; +gSnowVertOffset = 0x801281C0; +gSnowTriCount = 0x801281C4; +gSnowVertexFlip = 0x801281C8; +gCurrWeatherDisplayList = 0x801281CC; +gCurrWeatherMatrix = 0x801281D0; +gCurrWeatherVertexList = 0x801281D4; +gCurrWeatherTriList = 0x801281D8; +gWeatherCamera = 0x801281DC; +gWeatherCameraMatrix = 0x801281E0; +gLensFlareSet1 = 0x801281E4; +gLensFlareSet2 = 0x801281E8; +gLensFlareLarge = 0x801281EC; +gLensFlarePos = 0x801281F0; +gLensFlareSwitches = 0x80128200; +gParticleUpdateRate = 0x80128240; +D_80127C84 = 0x80128244; +D_80127C88 = 0x80128248; +gTexture = 0x80128260; //size:0xC +gDebugTextX = 0x8012826C; +gDebugTextY = 0x8012826E; +D_80127CB0 = 0x80128270; +D_80127CB2 = 0x80128272; +D_80127CB4 = 0x80128274; +gDebugTextOn = 0x80128278; +gDebugBoundsX1 = 0x8012827C; +gDebugBoundsX2 = 0x80128280; +gDebugBoundsY1 = 0x80128284; +gDebugBoundsY2 = 0x80128288; +gDebugFontTexture = 0x8012828C; +gDebugScreenWidth = 0x80128290; +gDebugScreenHeight = 0x80128292; +D_80127CD4 = 0x80128294; +gDebugPrintBufferStart = 0x80128298; +gDebugPrintBufferEnd = 0x80128B98; +gEPCStack = 0x80128BA0; +gEPCThread = 0x80129BA0; +D_80129790 = 0x80129D50; +D_801297A8 = 0x80129D68; +D_801297C8 = 0x80129D88; +D_801297E8 = 0x80129DA8; +gEpcInfo = 0x80129DC0; // size:0x1B0 +D_801299B0 = 0x80129F70; // size:0x100 +D_80129AB0 = 0x8012A070; // size:0x100 +D_80129BB0 = 0x8012A170; // size:0x400 +gObjectStackTrace = 0x8012A570; // size:0x10 +D_80129FC0 = 0x8012A580; +D_80129FC4 = 0x8012A584; +D_80129FC8 = 0x8012A588; // size:0x50 +D_8012A018 = 0x8012A5D8; +D_8012A01C = 0x8012A5DC; +D_8012A020 = 0x8012A5E0; +D_8012A028 = 0x8012A5E8; +D_8012A078 = 0x8012A638; +gWaveBatch = 0x8012A63C; +gWaveTexture = 0x8012A640; +D_8012A084 = 0x8012A644; +D_8012A088 = 0x8012A648; +D_8012A08C = 0x8012A64C; +D_8012A090 = 0x8012A650; +D_8012A094 = 0x8012A654; +D_8012A098 = 0x8012A658; +D_8012A09C = 0x8012A65C; +D_8012A0A0 = 0x8012A660; +D_8012A0A4 = 0x8012A664; +gWaveBoundingBoxDiffX = 0x8012A668; +gWaveBoundingBoxDiffZ = 0x8012A66C; +gWaveBoundingBoxX1 = 0x8012A670; +gWaveBoundingBoxZ1 = 0x8012A674; +D_8012A0B8 = 0x8012A678; +D_8012A0BC = 0x8012A67C; +D_8012A0C0 = 0x8012A680; +D_8012A0C4 = 0x8012A684; +D_8012A0C8 = 0x8012A688; +D_8012A0CC = 0x8012A68C; +D_8012A0D0 = 0x8012A690; +D_8012A0D4 = 0x8012A694; +D_8012A0D8 = 0x8012A698; +D_8012A0DC = 0x8012A69C; +D_8012A0E0 = 0x8012A6A0; +D_8012A0E8 = 0x8012A6A8; +D_8012A1E8 = 0x8012A7A8; +D_8012A5E8 = 0x8012ABA8; +D_8012A5F4 = 0x8012ABB4; +D_8012A5F8 = 0x8012ABB8; +D_8012A5FC = 0x8012ABBC; +D_8012A600 = 0x8012ABC0; +gWavePowerBase = 0x8012ACE0; +gWaveMagnitude = 0x8012ACE4; +gWavePowerDivisor = 0x8012ACE8; +gCurFadeTransition = 0x8012ACF0; +gCurFadeRed = 0x8012ACF4; +gCurFadeGreen = 0x8012ACF5; +gCurFadeBlue = 0x8012ACF6; +gCurFadeAlpha = 0x8012ACF7; +gLastFadeRed = 0x8012ACF8; +gLastFadeGreen = 0x8012ACFC; +gLastFadeBlue = 0x8012AD00; +gLastFadeRedStep = 0x8012AD04; +gLastFadeGreenStep = 0x8012AD08; +gLastFadeBlueStep = 0x8012AD0C; +sTransitionOpacity = 0x8012AD10; +gTransitionOpacityVel = 0x8012AD14; +D_8012A758 = 0x8012AD18; +D_8012A75C = 0x8012AD1C; +D_8012A760 = 0x8012AD20; +D_8012A764 = 0x8012AD24; +D_8012A768 = 0x8012AD28; +D_8012A76C = 0x8012AD2C; +gTransitionNextVtx = 0x8012AD30; +gTransitionVtxStep = 0x8012AD34; +gTransitionVertexTarget = 0x8012AD38; +gTransitionVertexCount = 0x8012AD3C; +gGameTextTable = 0x8012AD40; +gCloseTextMessage = 0x8012AD44; +gTextCloseTimerFrames = 0x8012AD45; +gTextCloseTimerSeconds = 0x8012AD46; +D_8012A787 = 0x8012AD47; +D_8012A788 = 0x8012AD48; +gShowOnscreenMessage = 0x8012AD49; +D_8012A78A = 0x8012AD4A; +D_8012A78C = 0x8012AD4C; +D_8012A78E = 0x8012AD4E; +gTextTableEntries = 0x8012AD50; +D_8012A792 = 0x8012AD52; +gGameTextTableEntries = 0x8012AD58; +D_8012A7A0 = 0x8012AD60; +D_8012A7A4 = 0x8012AD64; +gDialogueAlpha = 0x8012AD68; +gTextAlphaVelocity = 0x8012AD6A; +gSubtitleTimer = 0x8012AD6C; +gDialogueXPos1 = 0x8012AD6E; +gDialogueYPos1 = 0x8012AD70; +gDialogueXPos2 = 0x8012AD72; +gDialogueYPos2 = 0x8012AD74; +gShowSubtitles = 0x8012AD76; +gSubtitleLineCount = 0x8012AD78; +gCurrentTextID = 0x8012AD7A; +D_8012A7BC = 0x8012AD7C; +gSubtitleProperties = 0x8012AD80; +gCurrentMessageText = 0x8012AD88; +gCurrentTextProperties = 0x8012AD90; +D_8012A7D4 = 0x8012AD94; +gNumberOfFonts = 0x8012ADA0; +gFonts = 0x8012ADA4; +gDialogueBoxBackground = 0x8012ADA8; +gDialogueText = 0x8012ADAC; +gCompactKerning = 0x8012ADB0; +sDialogueBoxCloseTimer = 0x8012ADB4; +piThread = 0x8012ADC0; +piThreadStack = 0x8012AF70; +piEventQueue = 0x8012B070; +piEventBuf = 0x8012B088; +gzip_bit_buffer = 0x8012B090; +gzip_num_bits = 0x8012B094; +gHuftTablePos = 0x8012B098; +leoDiskStack = 0x8012B0A0; +gThread30 = 0x8012B0B0; +gThread30MesgQueue = 0x8012B260; // type:OSMesgQueue size:0x18 +gThread30Message = 0x8012B278; // type:OSMesg size:0x4 +gThread30Stack = 0x8012B280; // type:u64 size:0x2000 +__osFinalrom = 0x8012D280; // type:u32 size:0x4 +__osEventStateTab = 0x8012D290; +__osContPifRam = 0x8012D310; +__osContLastCmd = 0x8012D350; +__osMaxControllers = 0x8012D351; +__osEepromTimer = 0x8012D358; +__osEepromTimerQ = 0x8012D378; +__osEepromTimerMsg = 0x8012D390; +__osPfsPifRam = 0x8012D3A0; +__osSiAccessQueue = 0x8012D3E8; +__osEepPifRam = 0x8012D400; +viThread = 0x8012D440; +gViMgrStack = 0x8012D5F0; +viEventQueue = 0x8012D6F0; +viEventBuf = 0x8012D708; +viRetraceMsg = 0x8012D720; +viCounterMsg = 0x8012D738; +retrace = 0x8012D750; +tmp_task = 0x8012D760; +piAccessBuf = 0x8012D7A0; +__osPiAccessQueue = 0x8012D7A8; +__osBaseTimer = 0x8012D7C0; // type:OSTimer size:0x20 +__osCurrentTime = 0x8012D7E0; // type:u64 +__osBaseCounter = 0x8012D7E8; +__osViIntrCount = 0x8012D7EC; +__osTimerCounter = 0x8012D7F0; +D_8012D238 = 0x8012D7F8; +__osThreadSave = 0x8012D800; // type:OSThread size:0x1B0 diff --git a/ver/symbols/undefined_syms.txt b/ver/symbols/undefined_syms.txt new file mode 100644 index 00000000..86d701ee --- /dev/null +++ b/ver/symbols/undefined_syms.txt @@ -0,0 +1,113 @@ +/* These seem to be needed because of some weird match things going on. + The exact address isn't the same for each region, so I'm doing a hacky + offset from the previous BSS variable that is declared */ + +gEpcInfo = D_801297E8 + 0x18; +D_801299B0 = gEpcInfo + 0x1B0; + +/* We have to define these addresses because they're hasm and share space with the coss funcs. */ + +sins_s16 = coss_s16 + 0x4; +sins_2 = coss_2 + 0x4; + +/* These are fake symbols we just need until things are properly matched */ + +D_B0000574 = 0xB0000574; +D_B0000578 = 0xB0000578; + +/* The symbols below are GFX commands where it uses OS_K0_TO_PHYSICAL */ + +/* US V1 */ +D_E1CA0 = dMenuHudDrawModes - 0x80000000; +D_E1CB0 = D_E1CA0 + 0x10; +D_E1CC0 = D_E1CB0 + 0x10; +/* PAL V1 */ +D_E1D30 = dMenuHudDrawModes - 0x80000000; +D_E1D40 = D_E1D30 + 0x10; +D_E1D50 = D_E1D40 + 0x10; +/* US V2 */ +D_E2220 = dMenuHudDrawModes - 0x80000000; +D_E2230 = D_E2220 + 0x10; +D_E2240 = D_E2230 + 0x10; +/* PAL V2 */ +D_E22B0 = dMenuHudDrawModes - 0x80000000; +D_E22C0 = D_E22B0 + 0x10; +D_E22D0 = D_E22C0 + 0x10; +/* JPN V1 */ +D_E3730 = dMenuHudDrawModes - 0x80000000; +D_E3740 = D_E3730 + 0x10; +D_E3750 = D_E3740 + 0x10; +D_E51B8 = dDialogueBoxDrawModes - 0x80000000; +D_E51C8 = D_E51B8 + 0x10; +D_E51D8 = D_E51C8 + 0x10; + +/* Symbols related to the end of the ROM */ + +gMainMemoryPool = main_BSS_END; /* This variable is just supposed to be available at the end of BSS for allocating memory to */ +__BSS_SECTION_START = main_BSS_START; /* Entrypoint addresses */ +__BSS_SECTION_SIZE = main_BSS_SIZE; /* Entrypoint addresses */ +__ASSETS_LUT_START = main_ROM_END; /* Required to have this in place to define where assets live */ +__ASSETS_LUT_END = main_ROM_END + 0xD0; /* Not truly sure how to determine the end location, but it's always 0xD0 after the start */ +__ROM_END = assets_ROM_END; /* Used for the ROM checksum calculation in cheatmenu_checksum */ +__RAM_TO_ROM = main_VRAM - 0x1000; /* Used in the calc_func_checksyms.py */ + +/* Just libultra stuff below */ + +osTvType = 0x80000300; +osRomType = 0x80000304; +osRomBase = 0x80000308; +osResetType = 0x8000030C; +osCicId = 0x80000310; +osVersion = 0x80000314; +osMemSize = 0x80000318; +osAppNMIBuffer = 0x8000031C; +entrypoint = 0x80000400; + +SP_MEM_ADDR_REG = 0xA4040000; +SP_DRAM_ADDR_REG = 0xA4040004; +SP_RD_LEN_REG = 0xA4040008; +SP_WR_LEN_REG = 0xA404000C; +SP_STATUS_REG = 0xA4040010; +DPC_START_REG = 0xA4100000; +DPC_END_REG = 0xA4100004; +DPC_STATUS_REG = 0xA410000C; +MI_MODE_REG = 0xA4300000; +MI_INTR_REG = 0xA4300008; +MI_INTR_MASK_REG = 0xA430000C; +VI_STATUS_REG = 0xA4400000; +VI_DRAM_ADDR_REG = 0xA4400004; +VI_H_WIDTH_REG = 0xA4400008; +VI_V_INTR_REG = 0xA440000C; +VI_V_CURRENT_LINE_REG = 0xA4400010; +VI_TIMING_REG = 0xA4400014; +VI_V_SYNC_REG = 0xA4400018; +VI_H_SYNC_REG = 0xA440001C; +VI_H_SYNC_LEAP_REG = 0xA4400020; +VI_H_VIDEO_REG = 0xA4400024; +VI_V_VIDEO_REG = 0xA4400028; +VI_V_BURST_REG = 0xA440002C; +VI_X_SCALE_REG = 0xA4400030; +VI_Y_SCALE_REG = 0xA4400034; +AI_DRAM_ADDR_REG = 0xA4500000; +AI_LEN_REG = 0xA4500004; +AI_CONTROL_REG = 0xA4500008; +AI_STATUS_REG = 0xA450000C; +AI_DACRATE_REG = 0xA4500010; +AI_BITRATE_REG = 0xA4500014; +PI_DRAM_ADDR_REG = 0xA4600000; +PI_CART_ADDR_REG = 0xA4600004; +PI_RD_LEN_REG = 0xA4600008; +PI_WR_LEN_REG = 0xA460000C; +PI_STATUS_REG = 0xA4600010; +PI_BSD_DOM1_LAT_REG = 0xA4600014; +PI_BSD_DOM1_PWD_REG = 0xA4600018; +PI_BSD_DOM1_PGS_REG = 0xA460001C; +PI_BSD_DOM1_RLS_REG = 0xA4600020; +PI_BSD_DOM2_LAT_REG = 0xA4600024; +PI_BSD_DOM2_PWD_REG = 0xA4600028; +PI_BSD_DOM2_PGS_REG = 0xA460002C; +PI_BSD_DOM2_RLS_REG = 0xA4600030; +SI_DRAM_ADDR_REG = 0xA4800000; +SI_PIF_ADDR_RD64B_REG = 0xA4800004; +SI_PIF_ADDR_WR64B_REG = 0xA4800010; +SI_STATUS_REG = 0xA4800018; diff --git a/ver/verification/dkr.jpn.v79.sha1 b/ver/verification/dkr.jpn.v79.sha1 new file mode 100644 index 00000000..59bbabd1 --- /dev/null +++ b/ver/verification/dkr.jpn.v79.sha1 @@ -0,0 +1 @@ +23ba3d302025153d111416e751027cef11213a19 build/dkr.jpn.v79.z64 \ No newline at end of file diff --git a/ver/verification/dkr.pal.v77.sha1 b/ver/verification/dkr.pal.v77.sha1 new file mode 100644 index 00000000..c4aa01df --- /dev/null +++ b/ver/verification/dkr.pal.v77.sha1 @@ -0,0 +1 @@ +dd5d64dd140cb7aa28404fa35abdcaba33c29260 build/dkr.pal.v77.z64 \ No newline at end of file diff --git a/ver/verification/dkr.pal.v80.sha1 b/ver/verification/dkr.pal.v80.sha1 new file mode 100644 index 00000000..4586b78b --- /dev/null +++ b/ver/verification/dkr.pal.v80.sha1 @@ -0,0 +1 @@ +b7f628073237b3d211d40406aa0884ff8fdd70d5 build/dkr.pal.v80.z64 \ No newline at end of file diff --git a/ver/verification/dkr.us.v77.sha1 b/ver/verification/dkr.us.v77.sha1 new file mode 100644 index 00000000..5235b44f --- /dev/null +++ b/ver/verification/dkr.us.v77.sha1 @@ -0,0 +1 @@ +0cb115d8716dbbc2922fda38e533b9fe63bb9670 build/dkr.us.v77.z64 \ No newline at end of file diff --git a/ver/verification/dkr.us.v80.sha1 b/ver/verification/dkr.us.v80.sha1 new file mode 100644 index 00000000..503a04db --- /dev/null +++ b/ver/verification/dkr.us.v80.sha1 @@ -0,0 +1 @@ +6d96743d46f8c0cd0edb0ec5600b003c89b93755 build/dkr.us.v80.z64 \ No newline at end of file