iQue engine2 (#954)

* Include engine2 segment

* Match msg_get_print_char_width

* Make m2ctx include version/current/include

* fix undefined_syms

* Remove redundant syms

* match ique get_msg_properties

* Fix build after rebase

* Remove unused asm

* rebase fixes

---------

Co-authored-by: pixel-stuck <mathmcclintic@gmail.com>
This commit is contained in:
Marijn van der Werf 2023-03-04 04:40:20 +01:00 committed by GitHub
parent 288bb8511f
commit b6e5baa4fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 10853 additions and 174 deletions

View File

@ -815,7 +815,11 @@ s32 is_actor_hp_bar_visible(Actor*);
void sin_cos_rad(f32 rad, f32* outSinTheta, f32* outCosTheta);
void load_font(s32 font);
#if VERSION_CN
void load_font_data(Addr offset, u32 size, void* dest);
#else
void load_font_data(Addr offset, u16 size, void* dest);
#endif
void* load_asset_by_name(const char* assetName, u32* decompressedSize);

View File

@ -9,6 +9,11 @@
#include "nu/nusys.h"
#include "ld_addrs.h"
#if VERSION_CN
// TODO: remove if section is split in iQue release
extern Addr icon_present_ROM_START;
#endif
#define MAX_ITEM_ENTITIES 256
extern SparkleScript SparkleScript_Coin;

View File

@ -8,6 +8,16 @@
#include "nu/nusys.h"
#include "model_clear_render_tasks.h"
#if VERSION_CN
// TODO: remove if sections are split in iQue release
extern Addr entity_jan_iwa_ROM_START;
extern Addr entity_jan_iwa_ROM_END;
extern Addr entity_default_ROM_START;
extern Addr entity_default_ROM_END;
extern Addr entity_sbk_omo_ROM_START;
extern Addr entity_sbk_omo_ROM_END;
#endif
extern Addr MapTextureMemory;
#ifdef SHIFT

View File

@ -2,6 +2,11 @@
#include "ld_addrs.h"
#include "sprite.h"
#if VERSION_CN
// TODO: remove if section is split in iQue release
extern Addr fold_gfx_data_ROM_START;
#endif
typedef struct {
/* 0x00 */ u8 arrayIdx;
/* 0x01 */ u8 meshType;

View File

@ -3,6 +3,11 @@
#include "nu/nusys.h"
#include "ld_addrs.h"
#if VERSION_CN
// TODO: remove if section is split in iQue release
extern Addr icon_present_ROM_START;
#endif
#define MAX_HUD_CACHE_ENTRIES 192
typedef struct HudElementSize {

View File

@ -2,8 +2,22 @@
#include "ld_addrs.h"
#include "message_ids.h"
#include "sprite.h"
#if !VERSION_CN
// TODO: remove if assets are dumped in iQue release
#include "charset/postcard.png.h"
#include "charset/letter_content_1.png.h"
#endif
#if VERSION_CN
// TODO: remove if section is split in iQue release
extern Addr charset_ROM_START;
extern Addr charset_standard_OFFSET;
extern Addr charset_standard_pal_OFFSET;
extern Addr charset_title_OFFSET;
extern Addr charset_credits_pal_OFFSET;
extern Addr charset_subtitle_OFFSET;
#endif
enum RewindArrowStates {
REWIND_ARROW_STATE_INIT = 0,
@ -197,7 +211,12 @@ Gfx D_8014C500[] = {
};
u8 D_8014C580[] = { 50, 80, 100, 105, 100, 0, 0, 0 };
u8 D_8014C588[] = { 105, 100, 77, 57, 40, 27, 16, 8, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
u8 D_8014C588[] = { 105, 100, 77, 57, 40, 27, 16, 8, 3, 0, 0, 0};
#if VERSION_CN
u32 D_8014AD24 = 2;
#else
u8 D_8014C594[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
#endif
s32 draw_image_with_clipping(IMG_PTR raster, s32 width, s32 height, s32 fmt, s32 bitDepth, s16 posX, s16 posY, u16 clipULx,
u16 clipULy, u16 clipLRx, u16 clipRLy);
@ -244,7 +263,11 @@ void clear_printers(void) {
load_font(0);
}
#if VERSION_CN
void load_font_data(Addr offset, u32 size, void* dest) {
#else
void load_font_data(Addr offset, u16 size, void* dest) {
#endif
u8* base = charset_ROM_START + (s32) offset;
dma_copy(base, base + size, dest);
@ -655,6 +678,9 @@ extern s32 D_802EB5C0[];
extern s32 D_802EB5F0[];
extern struct_D_802EB620 D_802EB620[];
#if VERSION_CN
INCLUDE_ASM(s32, "msg", msg_copy_to_print_buffer);
#else
void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) {
u8 arg;
u8 argQ;
@ -1289,6 +1315,7 @@ void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) {
printer->srcBufferPos = (u16)(s32)(srcBuf - (s32)printer->srcBuffer);
*printBuf = MSG_CHAR_PRINT_END;
}
#endif
void initialize_printer(MessagePrintState* printer, s32 arg1, s32 arg2) {
s32 i;
@ -1550,6 +1577,13 @@ s32 msg_get_print_char_width(s32 character, s32 charset, s32 variation, f32 msgS
return 0;
}
#if VERSION_CN
if (character >= 0x5F && character<=0x8F) {
charWidth = 16.0;
return charWidth * msgScale;
}
#endif
if (overrideCharWidth != 0) {
charWidth = overrideCharWidth;
} else if (flags != 0) {
@ -1635,7 +1669,6 @@ void get_msg_properties(s32 msgID, s32* height, s32* width, s32* maxLineChars, s
s32 lineWidth;
s32 charCount;
u16 lineIndex;
u16 endl;
s32 msgStyle;
s32 functionCode;
u8 packedScaleY;
@ -1653,8 +1686,13 @@ void get_msg_properties(s32 msgID, s32* height, s32* width, s32* maxLineChars, s
u16 maxCharsPerLine;
u16 maxLinesOnPage;
u16 spaceCount;
u16 endl;
u8 c;
u8 prevChar;
scale = 1.0f;
c = 0;
lineIndex = 0;
pageCount = 0;
varIndex = 0;
@ -1690,7 +1728,8 @@ void get_msg_properties(s32 msgID, s32* height, s32* width, s32* maxLineChars, s
lineCount = 0;
do {
u8 c = message[i++];
prevChar = c;
c = message[i++];
switch (c) {
case MSG_CHAR_READ_VARIANT0:
case MSG_CHAR_READ_VARIANT1:
@ -1865,6 +1904,13 @@ void get_msg_properties(s32 msgID, s32* height, s32* width, s32* maxLineChars, s
linesOnPage++;
endl = FALSE;
}
#if VERSION_CN
if (prevChar >= 0x5f && prevChar <= 0x8F) {
break;
}
#endif
lineWidth += msg_get_print_char_width(c, font, varIndex, scale, 0, 1);
charCount++;
break;
@ -2294,6 +2340,9 @@ void draw_message_window(MessagePrintState* printer) {
}
}
#if VERSION_CN
INCLUDE_ASM(s32, "msg", appendGfx_message);
#else
void appendGfx_message(MessagePrintState* printer, s16 posX, s16 posY, u16 additionalOffsetX, u16 additionalOffsetY,
u16 flag, u8 alpha) {
SpriteRasterInfo sprRasterInfo;
@ -3614,12 +3663,16 @@ void appendGfx_message(MessagePrintState* printer, s16 posX, s16 posY, u16 addit
gDPPipeSync(gMasterGfxPos++);
D_80151338 = gMasterGfxPos;
}
#endif
void msg_reset_gfx_state(void) {
gDPPipeSync(gMasterGfxPos++);
gSPDisplayList(gMasterGfxPos++, D_8014C500);
}
#if VERSION_CN
INCLUDE_ASM(s32, "msg", msg_draw_char);
#else
void msg_draw_char(MessagePrintState* printer, MessageDrawState* drawState, s32 charIndex, s32 palette, s32 posX, s32 posY) {
MessageCharset* messageCharset = gMsgCharsets[drawState->font];
s32 fontVariant = drawState->fontVariant;
@ -3696,6 +3749,7 @@ void msg_draw_char(MessagePrintState* printer, MessageDrawState* drawState, s32
gSPTextureRectangle(gMasterGfxPos++, ulx * 4, uly * 4, lrx * 4, lry * 4, G_TX_RENDERTILE, texOffsetX, texOffsetY,
dsdx, dtdy);
}
#endif
void msg_draw_prim_rect(u8 r, u8 g, u8 b, u8 a, u16 posX, u16 posY, u16 sizeX, u16 sizeY) {
u16 lrX = posX + sizeX;

View File

@ -15,6 +15,7 @@ CPP_FLAGS = [
"-Iinclude",
"-Isrc",
"-Iassets/us",
"-Iver/current/include",
"-Iver/current/build/include",
"-D_LANGUAGE_C",
"-DF3DEX_GBI_2",

735
ver/cn/asm/bss3.s Normal file
View File

@ -0,0 +1,735 @@
.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
dlabel gAuxSpriteShadingProfile
.space 4
dlabel gHudElementsNumber
.space 4
dlabel gCurrentCustomModelGfxBuildersPtr
.space 4
dlabel D_801512BC
.space 4
dlabel entity_numEntities
.space 4
dlabel gEntityHeapBase
.space 4
dlabel gHudElementCacheTableRaster
.space 4
dlabel gCurrentModels
.space 4
dlabel gHudElementCacheTablePalette
.space 4
dlabel gAnimCount
.space 4
dlabel gMsgBGScrollAmtX
.space 2
dlabel D_801512DA
.space 2
dlabel D_801512DC
.space 4
dlabel gCurrentTransformGroups
.space 4
dlabel gMsgGlobalWaveCounter
.space 4
dlabel gCurrentCustomModelGfxPtr
.space 4
dlabel gLastCreatedEntityIndex
.space 4
dlabel gBackgroundFogModePtr
.space 4
dlabel gMsgVarImages
.space 4
dlabel ItemEntitiesCreated
.space 4
dlabel gCurrentModelTreeRoot
.space 4
dlabel gEntityHeapBottom
.space 4
dlabel D_80151304
.space 4
dlabel gCurrentRoomDoorSounds
.space 4
dlabel gMsgBGScrollAmtY
.space 2
dlabel D_8015130E
.space 2
dlabel gEntityHideMode
.space 4
dlabel gHudElementCacheBuffer
.space 4
dlabel gEntityModelCount
.space 4
dlabel D_8015131C
.space 4
dlabel D_80151320
.space 4
dlabel entity_numShadows
.space 4
dlabel gSpriteShadingProfile
.space 4
dlabel entity_area_specific_data_is_loaded
.space 4
dlabel entity_updateCounter
.space 4
dlabel gTriggerCount
.space 4
dlabel D_80151338
.space 4
dlabel gHudElementCacheSize
.space 4
dlabel gCurrentDoorSounds
.space 4
dlabel D_80151344
.space 4
dlabel D_80151348
.space 0x00000028
dlabel gWorldEntityList
.space 0x00000078
dlabel gBattleEntityList
.space 0x00000078
dlabel gCurrentEntityListPtr
.space 4
dlabel D_80151474
.space 4
dlabel gWorldShadowList
.space 0x000000f0
dlabel gBattleShadowList
.space 0x000000f0
dlabel gCurrentShadowListPtr
.space 4
dlabel wEntityDataLoadedSize
.space 4
dlabel bEntityDataLoadedSize
.space 4
dlabel D_80151664
.space 4
dlabel wEntityBlueprint
.space 0x00000074
dlabel D_801516DC
.space 4
dlabel D_8015DCE0
.space 8
dlabel bEntityBlueprint
.space 0x00000014
dlabel D_801516FC
.space 4
dlabel gMainGameState
.space 0x00000040
dlabel gCurrentTileDescriptor
.space 0x00000030
dlabel wModelList
.space 0x00000400
dlabel bModelList
.space 0x00000400
dlabel wTransformGroups
.space 0x00000010
dlabel bTransformGroups
.space 0x00000010
dlabel wModelSpecialDls
.space 0x00000080
dlabel bModelSpecialDls
.space 0x00000080
dlabel wCustomModelGfxBuilders
.space 0x00000080
dlabel bCustomModelGfxBuilders
.space 0x00000080
dlabel wModelLocalVtxBuffers
.space 0x00000040
dlabel bModelLocalVtxBuffers
.space 0x00000040
dlabel gCurrentModelLocalVtxBuffers
.space 4
dlabel D_80152214
.space 4
dlabel D_80152218
.space 4
dlabel D_8015221C
.space 4
dlabel D_80152220
.space 0x00000800
dlabel D_80152A20
.space 0x00000800
dlabel wBackgroundFogMode
.space 1
dlabel bBackgroundFogMode
.space 1
dlabel D_80153222
.space 1
dlabel D_80153223
.space 1
dlabel mdl_treeIterPos
.space 2
dlabel D_80153226
.space 2
dlabel wFogSettings
.space 0x00000020
dlabel bFogSettings
.space 0x0000001c
dlabel gCurrentFogSettings
.space 4
dlabel texPannerMainU
.space 0x00000040
dlabel texPannerMainV
.space 0x00000040
dlabel texPannerAuxU
.space 0x00000040
dlabel texPannerAuxV
.space 0x00000040
dlabel mdl_nextTextureAddress
.space 4
dlabel mdl_currentTransformGroupChildIndex
.space 2
dlabel D_8015336E
.space 2
dlabel D_80153370
.space 4
dlabel D_80153374
.space 2
dlabel D_80153376
.space 2
dlabel D_80153378
.space 8
dlabel depthCopyBuffer
.space 0x00000020
dlabel mdl_renderTaskLists
.space 0x0000000c
dlabel mdl_renderTaskQueueIdx
.space 4
dlabel mdl_renderTaskCount
.space 0x00000010
dlabel D_801533C0
.space 0x00000300
dlabel D_801536C0
.space 0x00000300
dlabel D_801539C0
.space 0x00000040
dlabel D_80153A00
.space 0x00000040
dlabel gCurrentAnimMeshListPtr
.space 4
dlabel gAnimModelFogEnabled
.space 4
dlabel gAnimModelFogR
.space 4
dlabel gAnimModelFogG
.space 4
dlabel gAnimModelFogB
.space 4
dlabel gAnimModelFogA
.space 4
dlabel gAnimModelFogStart
.space 4
dlabel gAnimModelFogEnd
.space 4
dlabel gAnimVtxSegment
.space 4
dlabel D_80153A64
.space 4
dlabel gAnimRotMtx
.space 0x00000040
dlabel gAnimScaleMtx
.space 0x00000040
dlabel gAnimTranslateMtx
.space 0x00000040
dlabel gAnimRotScaleMtx
.space 0x00000040
dlabel gAnimTreeRoot
.space 8
dlabel gWorldEntityModelList
.space 0x00000400
dlabel gBattleEntityModelList
.space 0x00000400
dlabel gCurrentEntityModelList
.space 4
dlabel D_80154374
.space 4
dlabel entity_fog_enabled
.space 4
dlabel entity_fog_red
.space 1
dlabel D_8015437D
.space 1
dlabel D_8015437E
.space 1
dlabel D_8015437F
.space 1
dlabel entity_fog_green
.space 1
dlabel D_80154381
.space 1
dlabel D_80154382
.space 1
dlabel D_80154383
.space 1
dlabel entity_fog_blue
.space 1
dlabel D_80154385
.space 1
dlabel D_80154386
.space 1
dlabel D_80154387
.space 1
dlabel entity_fog_alpha
.space 1
dlabel D_80154389
.space 1
dlabel D_8015438A
.space 1
dlabel D_8015438B
.space 1
dlabel entity_fog_dist_min
.space 4
dlabel entity_fog_dist_max
.space 4
########################
.align 4 # file boundary
########################
dlabel gWorldWorkerList
.space 0x00000040
dlabel gBattleWorkerList
.space 0x00000040
dlabel gCurrentWorkerListPtr
.space 4
.align 4 # file boundary
dlabel gMessageBuffers
.space 0x00000800
dlabel gMessagePrinters
.space 0x00001008
dlabel gMessageMsgVars
.space 0x00000060
dlabel D_80155C98
.space 8
.align 4
dlabel gMessageWindowProjMatrix
.space 0x00000080
dlabel D_801544A0
.space 120 * 128
dlabel D_80155D20
.space 4
dlabel D_8015DD24
.space 0x00000050
dlabel msg_drawState
.space 4
dlabel D_8015DD78
.space 8
dlabel D_80155D80
.space 4
dlabel ItemEntityAlternatingSpawn
.space 4
dlabel ItemEntityRenderGroup
.space 4
dlabel D_80155D8C
.space 2
dlabel D_80155D8E
.space 2
dlabel D_80155D90
.space 0x00000010
dlabel WorldItemEntities
.space 0x00000400
dlabel BattleItemEntities
.space 0x00000400
dlabel gCurrentItemEntities
.space 4
dlabel isPickingUpItem
.space 2
dlabel D_801565A6
.space 2
dlabel D_801565A8
.space 4
dlabel D_801565AC
.space 4
dlabel D_801565B0
.space 0x00000330
dlabel D_801568E0
.space 4
dlabel D_801568E4
.space 4
dlabel D_801568E8
.space 4
dlabel D_801568EC
.space 4
dlabel D_801568F0
.space 4
dlabel D_801568F4
.space 4
dlabel D_801568F8
.space 4
dlabel D_801568FC
.space 4
dlabel screen_overlay_frontType
.space 4
dlabel screen_overlay_frontZoom
.space 4
dlabel screen_overlay_backType
.space 4
dlabel screen_overlay_backZoom
.space 4
dlabel D_80156910
.space 0x00000010
dlabel D_80156920
.space 0x00000028
dlabel D_80156948
.space 8
dlabel fold_vtxBuf
.space 4
dlabel D_80156954
.space 4
dlabel D_80156958
.space 8
dlabel D_80156960
.space 8
dlabel D_80156968
.space 8
dlabel D_80156970
.space 0x00000010
dlabel fold_groupDescriptors
.space 0x000005a0
dlabel fold_gfxDataCache
.space 0x00000040
dlabel gHudElementsWorld
.space 0x00000500
dlabel gHudElementsBattle
.space 0x00000500
dlabel gHudElements
.space 4
dlabel gHudElementCacheBufferWorld
.space 4
dlabel gHudElementCacheSizeWorld
.space 4
dlabel D_8015796C
.space 4
dlabel gHudElementCacheTableRasterWorld
.space 0x00000600
dlabel gHudElementCacheTablePaletteWorld
.space 0x00000600
dlabel gHudElementCacheBufferBattle
.space 4
dlabel gHudElementCacheSizeBattle
.space 4
dlabel D_80158578
.space 8
dlabel gHudElementCacheTableRasterBattle
.space 0x00000600
dlabel gHudElementCacheTablePaletteBattle
.space 0x00000600
dlabel D_80159180
.space 0x00000010
dlabel wTriggerList
.space 0x00000100
dlabel bTriggerList
.space 0x00000100
dlabel gCurrentTriggerListPtr
.space 4
dlabel D_80159394
.space 0x0000000c
dlabel gBackgroundPalette
.space 0x000001fe
dlabel D_8015959E
.space 2
dlabel gBackroundLastScrollValue
.space 0x00000020
dlabel wSpriteShadingProfile
.space 0x000000b0
dlabel bSpriteShadingProfile
.space 0x000000b0
dlabel wSpriteShadingProfileAux
.space 0x000000b0
dlabel bSpriteShadingProfileAux
.space 0x000000b0
dlabel D_80159880
.space 0x00000020
dlabel wEnvSounds
.space 0x00000118
dlabel bEnvSounds
.space 0x00000118
dlabel gCurrentEnvSounds
.space 4
dlabel SfxReverbMode
.space 4
dlabel D_80159AD8
.space 8
dlabel MusicDefaultVolume
.space 2
dlabel MusicTargetVolume
.space 2
dlabel MusicMaxVolume
.space 2
dlabel MusicCurrentVolume
.space 2
dlabel D_80159AE8
.space 8
dlabel gMusicSettings
.space 0x00000060
dlabel D_80159B50
.space 0x00000200
dlabel gWindows
.space 0x00000800
dlabel gCollisionStatus
.space 0x00000028
dlabel gCurrentHiddenPanels
.space 2
dlabel D_8015A57A
.space 2
dlabel D_8015A57C
.space 0x00000014
dlabel mdl_textureHandles
.space 0x00002200
dlabel D_8015C790
.space 0x00000030
dlabel AmbientSoundData
.space 0x00000010
dlabel CreateEntityVarArgBuffer
.space 0x00000010
dlabel D_8015C7E0
.space 0x20
.space 0x3C80
dlabel D_80164000
.space 0x1a230 * 2

View File

@ -0,0 +1,360 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel appendGfx_animator_node
/* B4D14 8011DE34 27BDFFC0 */ addiu $sp, $sp, -0x40
/* B4D18 8011DE38 AFB60030 */ sw $s6, 0x30($sp)
/* B4D1C 8011DE3C 00A0B02D */ daddu $s6, $a1, $zero
/* B4D20 8011DE40 AFBF003C */ sw $ra, 0x3C($sp)
/* B4D24 8011DE44 AFBE0038 */ sw $fp, 0x38($sp)
/* B4D28 8011DE48 AFB70034 */ sw $s7, 0x34($sp)
/* B4D2C 8011DE4C AFB5002C */ sw $s5, 0x2C($sp)
/* B4D30 8011DE50 AFB40028 */ sw $s4, 0x28($sp)
/* B4D34 8011DE54 AFB30024 */ sw $s3, 0x24($sp)
/* B4D38 8011DE58 AFB20020 */ sw $s2, 0x20($sp)
/* B4D3C 8011DE5C AFB1001C */ sw $s1, 0x1C($sp)
/* B4D40 8011DE60 AFB00018 */ sw $s0, 0x18($sp)
/* B4D44 8011DE64 AFA40040 */ sw $a0, 0x40($sp)
/* B4D48 8011DE68 96C200F4 */ lhu $v0, 0xF4($s6)
/* B4D4C 8011DE6C 30420080 */ andi $v0, $v0, 0x80
/* B4D50 8011DE70 10400015 */ beqz $v0, .LIQUE_8011DEC8
/* B4D54 8011DE74 00C0982D */ daddu $s3, $a2, $zero
/* B4D58 8011DE78 0000882D */ daddu $s1, $zero, $zero
/* B4D5C 8011DE7C 26D200B4 */ addiu $s2, $s6, 0xB4
/* B4D60 8011DE80 02C0802D */ daddu $s0, $s6, $zero
.LIQUE_8011DE84:
/* B4D64 8011DE84 8E020004 */ lw $v0, 0x4($s0)
/* B4D68 8011DE88 5040000A */ beql $v0, $zero, .LIQUE_8011DEB4
/* B4D6C 8011DE8C 26310001 */ addiu $s1, $s1, 0x1
/* B4D70 8011DE90 0240202D */ daddu $a0, $s2, $zero
/* B4D74 8011DE94 0260282D */ daddu $a1, $s3, $zero
/* B4D78 8011DE98 0C0196F0 */ jal guMtxCatF
/* B4D7C 8011DE9C 0240302D */ daddu $a2, $s2, $zero
/* B4D80 8011DEA0 8FA40040 */ lw $a0, 0x40($sp)
/* B4D84 8011DEA4 8E050004 */ lw $a1, 0x4($s0)
/* B4D88 8011DEA8 0C04778D */ jal appendGfx_animator_node
/* B4D8C 8011DEAC 0240302D */ daddu $a2, $s2, $zero
/* B4D90 8011DEB0 26310001 */ addiu $s1, $s1, 0x1
.LIQUE_8011DEB4:
/* B4D94 8011DEB4 2A220020 */ slti $v0, $s1, 0x20
/* B4D98 8011DEB8 1440FFF2 */ bnez $v0, .LIQUE_8011DE84
/* B4D9C 8011DEBC 26100004 */ addiu $s0, $s0, 0x4
/* B4DA0 8011DEC0 080478C9 */ j .LIQUE_8011E324
/* B4DA4 8011DEC4 00000000 */ nop
.LIQUE_8011DEC8:
/* B4DA8 8011DEC8 26D000B4 */ addiu $s0, $s6, 0xB4
/* B4DAC 8011DECC 0200202D */ daddu $a0, $s0, $zero
/* B4DB0 8011DED0 0260282D */ daddu $a1, $s3, $zero
/* B4DB4 8011DED4 0C0196F0 */ jal guMtxCatF
/* B4DB8 8011DED8 0200302D */ daddu $a2, $s0, $zero
/* B4DBC 8011DEDC 3C120001 */ lui $s2, (0x12230 >> 16)
/* B4DC0 8011DEE0 36522230 */ ori $s2, $s2, (0x12230 & 0xFFFF)
/* B4DC4 8011DEE4 0200202D */ daddu $a0, $s0, $zero
/* B4DC8 8011DEE8 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* B4DCC 8011DEEC 26102E60 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* B4DD0 8011DEF0 3C11800A */ lui $s1, %hi(gDisplayContext)
/* B4DD4 8011DEF4 2631924C */ addiu $s1, $s1, %lo(gDisplayContext)
/* B4DD8 8011DEF8 96050000 */ lhu $a1, 0x0($s0)
/* B4DDC 8011DEFC 8E220000 */ lw $v0, 0x0($s1)
/* B4DE0 8011DF00 00052980 */ sll $a1, $a1, 6
/* B4DE4 8011DF04 00B22821 */ addu $a1, $a1, $s2
/* B4DE8 8011DF08 0C0196B0 */ jal guMtxF2L
/* B4DEC 8011DF0C 00452821 */ addu $a1, $v0, $a1
/* B4DF0 8011DF10 3C03DA38 */ lui $v1, (0xDA380003 >> 16)
/* B4DF4 8011DF14 34630003 */ ori $v1, $v1, (0xDA380003 & 0xFFFF)
/* B4DF8 8011DF18 3C05E300 */ lui $a1, (0xE3000F00 >> 16)
/* B4DFC 8011DF1C 34A50F00 */ ori $a1, $a1, (0xE3000F00 & 0xFFFF)
/* B4E00 8011DF20 3C06E300 */ lui $a2, (0xE3001001 >> 16)
/* B4E04 8011DF24 34C61001 */ ori $a2, $a2, (0xE3001001 & 0xFFFF)
/* B4E08 8011DF28 3C07D9FD */ lui $a3, (0xD9FDFFFF >> 16)
/* B4E0C 8011DF2C 3C09800A */ lui $t1, %hi(gMasterGfxPos)
/* B4E10 8011DF30 25299244 */ addiu $t1, $t1, %lo(gMasterGfxPos)
/* B4E14 8011DF34 34E7FFFF */ ori $a3, $a3, (0xD9FDFFFF & 0xFFFF)
/* B4E18 8011DF38 8D280000 */ lw $t0, 0x0($t1)
/* B4E1C 8011DF3C 96020000 */ lhu $v0, 0x0($s0)
/* B4E20 8011DF40 0100202D */ daddu $a0, $t0, $zero
/* B4E24 8011DF44 25080008 */ addiu $t0, $t0, 0x8
/* B4E28 8011DF48 AD280000 */ sw $t0, 0x0($t1)
/* B4E2C 8011DF4C AC830000 */ sw $v1, 0x0($a0)
/* B4E30 8011DF50 24430001 */ addiu $v1, $v0, 0x1
/* B4E34 8011DF54 3042FFFF */ andi $v0, $v0, 0xFFFF
/* B4E38 8011DF58 00021180 */ sll $v0, $v0, 6
/* B4E3C 8011DF5C A6030000 */ sh $v1, 0x0($s0)
/* B4E40 8011DF60 8E230000 */ lw $v1, 0x0($s1)
/* B4E44 8011DF64 00521021 */ addu $v0, $v0, $s2
/* B4E48 8011DF68 00621821 */ addu $v1, $v1, $v0
/* B4E4C 8011DF6C 25020008 */ addiu $v0, $t0, 0x8
/* B4E50 8011DF70 AC830004 */ sw $v1, 0x4($a0)
/* B4E54 8011DF74 AD220000 */ sw $v0, 0x0($t1)
/* B4E58 8011DF78 3C02E700 */ lui $v0, (0xE7000000 >> 16)
/* B4E5C 8011DF7C AD020000 */ sw $v0, 0x0($t0)
/* B4E60 8011DF80 25020010 */ addiu $v0, $t0, 0x10
/* B4E64 8011DF84 AD000004 */ sw $zero, 0x4($t0)
/* B4E68 8011DF88 AD220000 */ sw $v0, 0x0($t1)
/* B4E6C 8011DF8C 3C02D700 */ lui $v0, (0xD7000000 >> 16)
/* B4E70 8011DF90 AD020008 */ sw $v0, 0x8($t0)
/* B4E74 8011DF94 25020018 */ addiu $v0, $t0, 0x18
/* B4E78 8011DF98 AD00000C */ sw $zero, 0xC($t0)
/* B4E7C 8011DF9C AD220000 */ sw $v0, 0x0($t1)
/* B4E80 8011DFA0 25020020 */ addiu $v0, $t0, 0x20
/* B4E84 8011DFA4 AD050010 */ sw $a1, 0x10($t0)
/* B4E88 8011DFA8 AD000014 */ sw $zero, 0x14($t0)
/* B4E8C 8011DFAC AD220000 */ sw $v0, 0x0($t1)
/* B4E90 8011DFB0 25020028 */ addiu $v0, $t0, 0x28
/* B4E94 8011DFB4 AD060018 */ sw $a2, 0x18($t0)
/* B4E98 8011DFB8 AD00001C */ sw $zero, 0x1C($t0)
/* B4E9C 8011DFBC AD220000 */ sw $v0, 0x0($t1)
/* B4EA0 8011DFC0 AD070020 */ sw $a3, 0x20($t0)
/* B4EA4 8011DFC4 AD000024 */ sw $zero, 0x24($t0)
/* B4EA8 8011DFC8 8FAA0040 */ lw $t2, 0x40($sp)
/* B4EAC 8011DFCC 8D420000 */ lw $v0, 0x0($t2)
/* B4EB0 8011DFD0 3C030001 */ lui $v1, (0x10000 >> 16)
/* B4EB4 8011DFD4 00431024 */ and $v0, $v0, $v1
/* B4EB8 8011DFD8 10400007 */ beqz $v0, .LIQUE_8011DFF8
/* B4EBC 8011DFDC 3C02D9FF */ lui $v0, (0xD9FFFFFF >> 16)
/* B4EC0 8011DFE0 3442FFFF */ ori $v0, $v0, (0xD9FFFFFF & 0xFFFF)
/* B4EC4 8011DFE4 25030030 */ addiu $v1, $t0, 0x30
/* B4EC8 8011DFE8 AD230000 */ sw $v1, 0x0($t1)
/* B4ECC 8011DFEC AD020028 */ sw $v0, 0x28($t0)
/* B4ED0 8011DFF0 24020400 */ addiu $v0, $zero, 0x400
/* B4ED4 8011DFF4 AD02002C */ sw $v0, 0x2C($t0)
.LIQUE_8011DFF8:
/* B4ED8 8011DFF8 3C028015 */ lui $v0, %hi(gAnimModelFogEnabled)
/* B4EDC 8011DFFC 8C4221C4 */ lw $v0, %lo(gAnimModelFogEnabled)($v0)
/* B4EE0 8011E000 1440000C */ bnez $v0, .LIQUE_8011E034
/* B4EE4 8011E004 3C04FC12 */ lui $a0, (0xFC121E04 >> 16)
/* B4EE8 8011E008 3C05FCFF */ lui $a1, (0xFCFFFFFF >> 16)
/* B4EEC 8011E00C 34A5FFFF */ ori $a1, $a1, (0xFCFFFFFF & 0xFFFF)
/* B4EF0 8011E010 3C04FFFC */ lui $a0, (0xFFFCF279 >> 16)
/* B4EF4 8011E014 8D220000 */ lw $v0, 0x0($t1)
/* B4EF8 8011E018 3484F279 */ ori $a0, $a0, (0xFFFCF279 & 0xFFFF)
/* B4EFC 8011E01C 0040182D */ daddu $v1, $v0, $zero
/* B4F00 8011E020 24420008 */ addiu $v0, $v0, 0x8
/* B4F04 8011E024 AD220000 */ sw $v0, 0x0($t1)
/* B4F08 8011E028 AC650000 */ sw $a1, 0x0($v1)
/* B4F0C 8011E02C 08047815 */ j .LIQUE_8011E054
/* B4F10 8011E030 AC640004 */ sw $a0, 0x4($v1)
.LIQUE_8011E034:
/* B4F14 8011E034 8D220000 */ lw $v0, 0x0($t1)
/* B4F18 8011E038 34841E04 */ ori $a0, $a0, (0xFC121E04 & 0xFFFF)
/* B4F1C 8011E03C 0040182D */ daddu $v1, $v0, $zero
/* B4F20 8011E040 24420008 */ addiu $v0, $v0, 0x8
/* B4F24 8011E044 AD220000 */ sw $v0, 0x0($t1)
/* B4F28 8011E048 2402F3F8 */ addiu $v0, $zero, -0xC08
/* B4F2C 8011E04C AC640000 */ sw $a0, 0x0($v1)
/* B4F30 8011E050 AC620004 */ sw $v0, 0x4($v1)
.LIQUE_8011E054:
/* B4F34 8011E054 3C10800A */ lui $s0, %hi(gMasterGfxPos)
/* B4F38 8011E058 26109244 */ addiu $s0, $s0, %lo(gMasterGfxPos)
/* B4F3C 8011E05C 8E020000 */ lw $v0, 0x0($s0)
/* B4F40 8011E060 3C11E700 */ lui $s1, (0xE7000000 >> 16)
/* B4F44 8011E064 0040182D */ daddu $v1, $v0, $zero
/* B4F48 8011E068 AC710000 */ sw $s1, 0x0($v1)
/* B4F4C 8011E06C AC600004 */ sw $zero, 0x4($v1)
/* B4F50 8011E070 8FAA0040 */ lw $t2, 0x40($sp)
/* B4F54 8011E074 8D4302D4 */ lw $v1, 0x2D4($t2)
/* B4F58 8011E078 24420008 */ addiu $v0, $v0, 0x8
/* B4F5C 8011E07C 10600004 */ beqz $v1, .LIQUE_8011E090
/* B4F60 8011E080 AE020000 */ sw $v0, 0x0($s0)
/* B4F64 8011E084 8D4402D8 */ lw $a0, 0x2D8($t2)
/* B4F68 8011E088 0060F809 */ jalr $v1
/* B4F6C 8011E08C 00000000 */ nop
.LIQUE_8011E090:
/* B4F70 8011E090 8E040000 */ lw $a0, 0x0($s0)
/* B4F74 8011E094 0080102D */ daddu $v0, $a0, $zero
/* B4F78 8011E098 AC510000 */ sw $s1, 0x0($v0)
/* B4F7C 8011E09C AC400004 */ sw $zero, 0x4($v0)
/* B4F80 8011E0A0 8EC50000 */ lw $a1, 0x0($s6)
/* B4F84 8011E0A4 24840008 */ addiu $a0, $a0, 0x8
/* B4F88 8011E0A8 10A00089 */ beqz $a1, .LIQUE_8011E2D0
/* B4F8C 8011E0AC AE040000 */ sw $a0, 0x0($s0)
/* B4F90 8011E0B0 86C200F8 */ lh $v0, 0xF8($s6)
/* B4F94 8011E0B4 04410008 */ bgez $v0, .LIQUE_8011E0D8
/* B4F98 8011E0B8 240200DF */ addiu $v0, $zero, 0xDF
/* B4F9C 8011E0BC 3C02DE00 */ lui $v0, (0xDE000000 >> 16)
/* B4FA0 8011E0C0 AC820000 */ sw $v0, 0x0($a0)
/* B4FA4 8011E0C4 8EC30000 */ lw $v1, 0x0($s6)
/* B4FA8 8011E0C8 24820008 */ addiu $v0, $a0, 0x8
/* B4FAC 8011E0CC AE020000 */ sw $v0, 0x0($s0)
/* B4FB0 8011E0D0 080478B4 */ j .LIQUE_8011E2D0
/* B4FB4 8011E0D4 AC830004 */ sw $v1, 0x4($a0)
.LIQUE_8011E0D8:
/* B4FB8 8011E0D8 90A30000 */ lbu $v1, 0x0($a1)
/* B4FBC 8011E0DC 10620008 */ beq $v1, $v0, .LIQUE_8011E100
/* B4FC0 8011E0E0 0000202D */ daddu $a0, $zero, $zero
/* B4FC4 8011E0E4 0040302D */ daddu $a2, $v0, $zero
/* B4FC8 8011E0E8 24A20008 */ addiu $v0, $a1, 0x8
.LIQUE_8011E0EC:
/* B4FCC 8011E0EC 24840001 */ addiu $a0, $a0, 0x1
/* B4FD0 8011E0F0 8C450000 */ lw $a1, 0x0($v0)
/* B4FD4 8011E0F4 00051E02 */ srl $v1, $a1, 24
/* B4FD8 8011E0F8 1466FFFC */ bne $v1, $a2, .LIQUE_8011E0EC
/* B4FDC 8011E0FC 24420008 */ addiu $v0, $v0, 0x8
.LIQUE_8011E100:
/* B4FE0 8011E100 24840001 */ addiu $a0, $a0, 0x1
/* B4FE4 8011E104 0000182D */ daddu $v1, $zero, $zero
/* B4FE8 8011E108 3C058015 */ lui $a1, %hi(D_801536C0)
/* B4FEC 8011E10C 24A51E40 */ addiu $a1, $a1, %lo(D_801536C0)
/* B4FF0 8011E110 000310C0 */ sll $v0, $v1, 3
.LIQUE_8011E114:
/* B4FF4 8011E114 0045B821 */ addu $s7, $v0, $a1
/* B4FF8 8011E118 8EE20000 */ lw $v0, 0x0($s7)
/* B4FFC 8011E11C 04400006 */ bltz $v0, .LIQUE_8011E138
/* B5000 8011E120 28620060 */ slti $v0, $v1, 0x60
/* B5004 8011E124 24630001 */ addiu $v1, $v1, 0x1
/* B5008 8011E128 28620060 */ slti $v0, $v1, 0x60
/* B500C 8011E12C 1440FFF9 */ bnez $v0, .LIQUE_8011E114
/* B5010 8011E130 000310C0 */ sll $v0, $v1, 3
/* B5014 8011E134 28620060 */ slti $v0, $v1, 0x60
.LIQUE_8011E138:
/* B5018 8011E138 14400003 */ bnez $v0, .LIQUE_8011E148
/* B501C 8011E13C 00000000 */ nop
.LIQUE_8011E140:
/* B5020 8011E140 08047850 */ j .LIQUE_8011E140
/* B5024 8011E144 00000000 */ nop
.LIQUE_8011E148:
/* B5028 8011E148 0C00AA3E */ jal general_heap_malloc
/* B502C 8011E14C 000420C0 */ sll $a0, $a0, 3
/* B5030 8011E150 0040982D */ daddu $s3, $v0, $zero
/* B5034 8011E154 16600003 */ bnez $s3, .LIQUE_8011E164
/* B5038 8011E158 AEF30004 */ sw $s3, 0x4($s7)
.LIQUE_8011E15C:
/* B503C 8011E15C 08047857 */ j .LIQUE_8011E15C
/* B5040 8011E160 00000000 */ nop
.LIQUE_8011E164:
/* B5044 8011E164 0000A82D */ daddu $s5, $zero, $zero
/* B5048 8011E168 24020003 */ addiu $v0, $zero, 0x3
/* B504C 8011E16C AEE20000 */ sw $v0, 0x0($s7)
/* B5050 8011E170 8EC20000 */ lw $v0, 0x0($s6)
/* B5054 8011E174 8C450000 */ lw $a1, 0x0($v0)
/* B5058 8011E178 8C470004 */ lw $a3, 0x4($v0)
/* B505C 8011E17C 240200DF */ addiu $v0, $zero, 0xDF
/* B5060 8011E180 00051E02 */ srl $v1, $a1, 24
/* B5064 8011E184 10620044 */ beq $v1, $v0, .LIQUE_8011E298
/* B5068 8011E188 24140002 */ addiu $s4, $zero, 0x2
/* B506C 8011E18C 3C1E0100 */ lui $fp, (0x1000000 >> 16)
/* B5070 8011E190 2672FFFC */ addiu $s2, $s3, -0x4
.LIQUE_8011E194:
/* B5074 8011E194 24020001 */ addiu $v0, $zero, 0x1
/* B5078 8011E198 5462002F */ bnel $v1, $v0, .LIQUE_8011E258
/* B507C 8011E19C 0260102D */ daddu $v0, $s3, $zero
/* B5080 8011E1A0 00451006 */ srlv $v0, $a1, $v0
/* B5084 8011E1A4 3051007F */ andi $s1, $v0, 0x7F
/* B5088 8011E1A8 00051302 */ srl $v0, $a1, 12
/* B508C 8011E1AC 305000FF */ andi $s0, $v0, 0xFF
/* B5090 8011E1B0 8EC200FC */ lw $v0, 0xFC($s6)
/* B5094 8011E1B4 14400010 */ bnez $v0, .LIQUE_8011E1F8
/* B5098 8011E1B8 02308823 */ subu $s1, $s1, $s0
/* B509C 8011E1BC 26520008 */ addiu $s2, $s2, 0x8
/* B50A0 8011E1C0 26730008 */ addiu $s3, $s3, 0x8
/* B50A4 8011E1C4 00101300 */ sll $v0, $s0, 12
/* B50A8 8011E1C8 02301821 */ addu $v1, $s1, $s0
/* B50AC 8011E1CC 3063007F */ andi $v1, $v1, 0x7F
/* B50B0 8011E1D0 00031840 */ sll $v1, $v1, 1
/* B50B4 8011E1D4 007E1825 */ or $v1, $v1, $fp
/* B50B8 8011E1D8 86C400F8 */ lh $a0, 0xF8($s6)
/* B50BC 8011E1DC 00431025 */ or $v0, $v0, $v1
/* B50C0 8011E1E0 AE42FFFC */ sw $v0, -0x4($s2)
/* B50C4 8011E1E4 00952021 */ addu $a0, $a0, $s5
/* B50C8 8011E1E8 00042100 */ sll $a0, $a0, 4
/* B50CC 8011E1EC 00E41821 */ addu $v1, $a3, $a0
/* B50D0 8011E1F0 08047894 */ j .LIQUE_8011E250
/* B50D4 8011E1F4 AE430000 */ sw $v1, 0x0($s2)
.LIQUE_8011E1F8:
/* B50D8 8011E1F8 02C0282D */ daddu $a1, $s6, $zero
/* B50DC 8011E1FC 26520008 */ addiu $s2, $s2, 0x8
/* B50E0 8011E200 8FA40040 */ lw $a0, 0x40($sp)
/* B50E4 8011E204 86C200F8 */ lh $v0, 0xF8($s6)
/* B50E8 8011E208 26730008 */ addiu $s3, $s3, 0x8
/* B50EC 8011E20C AFB10010 */ sw $s1, 0x10($sp)
/* B50F0 8011E210 AFB50014 */ sw $s5, 0x14($sp)
/* B50F4 8011E214 00551021 */ addu $v0, $v0, $s5
/* B50F8 8011E218 00023040 */ sll $a2, $v0, 1
/* B50FC 8011E21C 00C23021 */ addu $a2, $a2, $v0
/* B5100 8011E220 00063040 */ sll $a2, $a2, 1
/* B5104 8011E224 00E63021 */ addu $a2, $a3, $a2
/* B5108 8011E228 0C047098 */ jal animator_copy_vertices_to_buffer
/* B510C 8011E22C 0200382D */ daddu $a3, $s0, $zero
/* B5110 8011E230 00102300 */ sll $a0, $s0, 12
/* B5114 8011E234 02301821 */ addu $v1, $s1, $s0
/* B5118 8011E238 3063007F */ andi $v1, $v1, 0x7F
/* B511C 8011E23C 00031840 */ sll $v1, $v1, 1
/* B5120 8011E240 007E1825 */ or $v1, $v1, $fp
/* B5124 8011E244 00832025 */ or $a0, $a0, $v1
/* B5128 8011E248 AE44FFFC */ sw $a0, -0x4($s2)
/* B512C 8011E24C AE420000 */ sw $v0, 0x0($s2)
.LIQUE_8011E250:
/* B5130 8011E250 0804789A */ j .LIQUE_8011E268
/* B5134 8011E254 02B0A821 */ addu $s5, $s5, $s0
.LIQUE_8011E258:
/* B5138 8011E258 26520008 */ addiu $s2, $s2, 0x8
/* B513C 8011E25C 26730008 */ addiu $s3, $s3, 0x8
/* B5140 8011E260 AC450000 */ sw $a1, 0x0($v0)
/* B5144 8011E264 AC470004 */ sw $a3, 0x4($v0)
.LIQUE_8011E268:
/* B5148 8011E268 00141080 */ sll $v0, $s4, 2
/* B514C 8011E26C 26940001 */ addiu $s4, $s4, 0x1
/* B5150 8011E270 00141880 */ sll $v1, $s4, 2
/* B5154 8011E274 8EC40000 */ lw $a0, 0x0($s6)
/* B5158 8011E278 00441021 */ addu $v0, $v0, $a0
/* B515C 8011E27C 00641821 */ addu $v1, $v1, $a0
/* B5160 8011E280 8C450000 */ lw $a1, 0x0($v0)
/* B5164 8011E284 240200DF */ addiu $v0, $zero, 0xDF
/* B5168 8011E288 8C670000 */ lw $a3, 0x0($v1)
/* B516C 8011E28C 00051E02 */ srl $v1, $a1, 24
/* B5170 8011E290 1462FFC0 */ bne $v1, $v0, .LIQUE_8011E194
/* B5174 8011E294 26940001 */ addiu $s4, $s4, 0x1
.LIQUE_8011E298:
/* B5178 8011E298 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* B517C 8011E29C 24A59244 */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* B5180 8011E2A0 0260202D */ daddu $a0, $s3, $zero
/* B5184 8011E2A4 8CA30000 */ lw $v1, 0x0($a1)
/* B5188 8011E2A8 3C02DF00 */ lui $v0, (0xDF000000 >> 16)
/* B518C 8011E2AC AC820000 */ sw $v0, 0x0($a0)
/* B5190 8011E2B0 3C02DE00 */ lui $v0, (0xDE000000 >> 16)
/* B5194 8011E2B4 AC800004 */ sw $zero, 0x4($a0)
/* B5198 8011E2B8 0060202D */ daddu $a0, $v1, $zero
/* B519C 8011E2BC AC820000 */ sw $v0, 0x0($a0)
/* B51A0 8011E2C0 8EE20004 */ lw $v0, 0x4($s7)
/* B51A4 8011E2C4 24630008 */ addiu $v1, $v1, 0x8
/* B51A8 8011E2C8 ACA30000 */ sw $v1, 0x0($a1)
/* B51AC 8011E2CC AC820004 */ sw $v0, 0x4($a0)
.LIQUE_8011E2D0:
/* B51B0 8011E2D0 0000882D */ daddu $s1, $zero, $zero
/* B51B4 8011E2D4 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* B51B8 8011E2D8 24639244 */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* B51BC 8011E2DC 8C620000 */ lw $v0, 0x0($v1)
/* B51C0 8011E2E0 02C0802D */ daddu $s0, $s6, $zero
/* B51C4 8011E2E4 0040202D */ daddu $a0, $v0, $zero
/* B51C8 8011E2E8 24420008 */ addiu $v0, $v0, 0x8
/* B51CC 8011E2EC AC620000 */ sw $v0, 0x0($v1)
/* B51D0 8011E2F0 3C02E700 */ lui $v0, (0xE7000000 >> 16)
/* B51D4 8011E2F4 AC820000 */ sw $v0, 0x0($a0)
/* B51D8 8011E2F8 AC800004 */ sw $zero, 0x4($a0)
.LIQUE_8011E2FC:
/* B51DC 8011E2FC 8E050004 */ lw $a1, 0x4($s0)
/* B51E0 8011E300 50A00005 */ beql $a1, $zero, .LIQUE_8011E318
/* B51E4 8011E304 26310001 */ addiu $s1, $s1, 0x1
/* B51E8 8011E308 8FA40040 */ lw $a0, 0x40($sp)
/* B51EC 8011E30C 0C04778D */ jal appendGfx_animator_node
/* B51F0 8011E310 26C600B4 */ addiu $a2, $s6, 0xB4
/* B51F4 8011E314 26310001 */ addiu $s1, $s1, 0x1
.LIQUE_8011E318:
/* B51F8 8011E318 2A220020 */ slti $v0, $s1, 0x20
/* B51FC 8011E31C 1440FFF7 */ bnez $v0, .LIQUE_8011E2FC
/* B5200 8011E320 26100004 */ addiu $s0, $s0, 0x4
.LIQUE_8011E324:
/* B5204 8011E324 8FBF003C */ lw $ra, 0x3C($sp)
/* B5208 8011E328 8FBE0038 */ lw $fp, 0x38($sp)
/* B520C 8011E32C 8FB70034 */ lw $s7, 0x34($sp)
/* B5210 8011E330 8FB60030 */ lw $s6, 0x30($sp)
/* B5214 8011E334 8FB5002C */ lw $s5, 0x2C($sp)
/* B5218 8011E338 8FB40028 */ lw $s4, 0x28($sp)
/* B521C 8011E33C 8FB30024 */ lw $s3, 0x24($sp)
/* B5220 8011E340 8FB20020 */ lw $s2, 0x20($sp)
/* B5224 8011E344 8FB1001C */ lw $s1, 0x1C($sp)
/* B5228 8011E348 8FB00018 */ lw $s0, 0x18($sp)
/* B522C 8011E34C 03E00008 */ jr $ra
/* B5230 8011E350 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -0,0 +1,567 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel draw_image_with_clipping
/* C4304 8012D424 27BDFF80 */ addiu $sp, $sp, -0x80
/* C4308 8012D428 AFA7008C */ sw $a3, 0x8C($sp)
/* C430C 8012D42C 8FA70094 */ lw $a3, 0x94($sp)
/* C4310 8012D430 AFA60088 */ sw $a2, 0x88($sp)
/* C4314 8012D434 8FA60098 */ lw $a2, 0x98($sp)
/* C4318 8012D438 8FAC009C */ lw $t4, 0x9C($sp)
/* C431C 8012D43C 8FA900A0 */ lw $t1, 0xA0($sp)
/* C4320 8012D440 8FAB00A4 */ lw $t3, 0xA4($sp)
/* C4324 8012D444 8FA800A8 */ lw $t0, 0xA8($sp)
/* C4328 8012D448 AFBE0078 */ sw $fp, 0x78($sp)
/* C432C 8012D44C 8FBE0090 */ lw $fp, 0x90($sp)
/* C4330 8012D450 AFB70074 */ sw $s7, 0x74($sp)
/* C4334 8012D454 AFB60070 */ sw $s6, 0x70($sp)
/* C4338 8012D458 AFB5006C */ sw $s5, 0x6C($sp)
/* C433C 8012D45C AFB40068 */ sw $s4, 0x68($sp)
/* C4340 8012D460 AFB30064 */ sw $s3, 0x64($sp)
/* C4344 8012D464 AFB20060 */ sw $s2, 0x60($sp)
/* C4348 8012D468 AFB1005C */ sw $s1, 0x5C($sp)
/* C434C 8012D46C AFB00058 */ sw $s0, 0x58($sp)
/* C4350 8012D470 AFA40080 */ sw $a0, 0x80($sp)
/* C4354 8012D474 AFA50084 */ sw $a1, 0x84($sp)
/* C4358 8012D478 00E0C02D */ daddu $t8, $a3, $zero
/* C435C 8012D47C 00071C00 */ sll $v1, $a3, 16
/* C4360 8012D480 00031C03 */ sra $v1, $v1, 16
/* C4364 8012D484 A7AC0018 */ sh $t4, 0x18($sp)
/* C4368 8012D488 3185FFFF */ andi $a1, $t4, 0xFFFF
/* C436C 8012D48C A7AB001C */ sh $t3, 0x1C($sp)
/* C4370 8012D490 3162FFFF */ andi $v0, $t3, 0xFFFF
/* C4374 8012D494 00A21021 */ addu $v0, $a1, $v0
/* C4378 8012D498 0062182A */ slt $v1, $v1, $v0
/* C437C 8012D49C A7A60016 */ sh $a2, 0x16($sp)
/* C4380 8012D4A0 A7A9001A */ sh $t1, 0x1A($sp)
/* C4384 8012D4A4 10600017 */ beqz $v1, .LIQUE_8012D504
/* C4388 8012D4A8 A7A8001E */ sh $t0, 0x1E($sp)
/* C438C 8012D4AC 00061C00 */ sll $v1, $a2, 16
/* C4390 8012D4B0 00031C03 */ sra $v1, $v1, 16
/* C4394 8012D4B4 3124FFFF */ andi $a0, $t1, 0xFFFF
/* C4398 8012D4B8 3102FFFF */ andi $v0, $t0, 0xFFFF
/* C439C 8012D4BC 00821021 */ addu $v0, $a0, $v0
/* C43A0 8012D4C0 0062182A */ slt $v1, $v1, $v0
/* C43A4 8012D4C4 106001E7 */ beqz $v1, .LIQUE_8012DC64
/* C43A8 8012D4C8 0000102D */ daddu $v0, $zero, $zero
/* C43AC 8012D4CC 8FB50084 */ lw $s5, 0x84($sp)
/* C43B0 8012D4D0 00F51021 */ addu $v0, $a3, $s5
/* C43B4 8012D4D4 00021400 */ sll $v0, $v0, 16
/* C43B8 8012D4D8 00021403 */ sra $v0, $v0, 16
/* C43BC 8012D4DC 00A2102A */ slt $v0, $a1, $v0
/* C43C0 8012D4E0 104001E0 */ beqz $v0, .LIQUE_8012DC64
/* C43C4 8012D4E4 0000102D */ daddu $v0, $zero, $zero
/* C43C8 8012D4E8 8FB60088 */ lw $s6, 0x88($sp)
/* C43CC 8012D4EC 00D61021 */ addu $v0, $a2, $s6
/* C43D0 8012D4F0 00021400 */ sll $v0, $v0, 16
/* C43D4 8012D4F4 00021403 */ sra $v0, $v0, 16
/* C43D8 8012D4F8 0082102A */ slt $v0, $a0, $v0
/* C43DC 8012D4FC 14400003 */ bnez $v0, .LIQUE_8012D50C
/* C43E0 8012D500 0080702D */ daddu $t6, $a0, $zero
.LIQUE_8012D504:
/* C43E4 8012D504 0804B719 */ j .LIQUE_8012DC64
/* C43E8 8012D508 0000102D */ daddu $v0, $zero, $zero
.LIQUE_8012D50C:
/* C43EC 8012D50C 01284821 */ addu $t1, $t1, $t0
/* C43F0 8012D510 00A0502D */ daddu $t2, $a1, $zero
/* C43F4 8012D514 018B6021 */ addu $t4, $t4, $t3
/* C43F8 8012D518 8FB50088 */ lw $s5, 0x88($sp)
/* C43FC 8012D51C 8FB60088 */ lw $s6, 0x88($sp)
/* C4400 8012D520 3C08800A */ lui $t0, %hi(gMasterGfxPos)
/* C4404 8012D524 25089244 */ addiu $t0, $t0, %lo(gMasterGfxPos)
/* C4408 8012D528 A3A00020 */ sb $zero, 0x20($sp)
/* C440C 8012D52C AFA90024 */ sw $t1, 0x24($sp)
/* C4410 8012D530 AFAC0034 */ sw $t4, 0x34($sp)
/* C4414 8012D534 A7A00002 */ sh $zero, 0x2($sp)
/* C4418 8012D538 A7A6000A */ sh $a2, 0xA($sp)
/* C441C 8012D53C 26B5FFFF */ addiu $s5, $s5, -0x1
/* C4420 8012D540 AFB50028 */ sw $s5, 0x28($sp)
/* C4424 8012D544 8FB50084 */ lw $s5, 0x84($sp)
/* C4428 8012D548 02C6B021 */ addu $s6, $s6, $a2
/* C442C 8012D54C AFB6002C */ sw $s6, 0x2C($sp)
/* C4430 8012D550 8FB60084 */ lw $s6, 0x84($sp)
/* C4434 8012D554 26B5FFFF */ addiu $s5, $s5, -0x1
/* C4438 8012D558 02C73821 */ addu $a3, $s6, $a3
/* C443C 8012D55C AFB50038 */ sw $s5, 0x38($sp)
/* C4440 8012D560 AFA7003C */ sw $a3, 0x3C($sp)
.LIQUE_8012D564:
/* C4444 8012D564 97A30002 */ lhu $v1, 0x2($sp)
/* C4448 8012D568 97A2000A */ lhu $v0, 0xA($sp)
/* C444C 8012D56C A7A00056 */ sh $zero, 0x56($sp)
/* C4450 8012D570 2463001F */ addiu $v1, $v1, 0x1F
/* C4454 8012D574 24420020 */ addiu $v0, $v0, 0x20
/* C4458 8012D578 A7A2000E */ sh $v0, 0xE($sp)
/* C445C 8012D57C 00021400 */ sll $v0, $v0, 16
/* C4460 8012D580 00021403 */ sra $v0, $v0, 16
/* C4464 8012D584 01C2102A */ slt $v0, $t6, $v0
/* C4468 8012D588 1440000E */ bnez $v0, .LIQUE_8012D5C4
/* C446C 8012D58C A7A30006 */ sh $v1, 0x6($sp)
.LIQUE_8012D590:
/* C4470 8012D590 97A40002 */ lhu $a0, 0x2($sp)
/* C4474 8012D594 97A2000E */ lhu $v0, 0xE($sp)
/* C4478 8012D598 24830020 */ addiu $v1, $a0, 0x20
/* C447C 8012D59C A7A2000A */ sh $v0, 0xA($sp)
/* C4480 8012D5A0 24420020 */ addiu $v0, $v0, 0x20
/* C4484 8012D5A4 A7A2000E */ sh $v0, 0xE($sp)
/* C4488 8012D5A8 00021400 */ sll $v0, $v0, 16
/* C448C 8012D5AC 00021403 */ sra $v0, $v0, 16
/* C4490 8012D5B0 004E102A */ slt $v0, $v0, $t6
/* C4494 8012D5B4 1440FFF6 */ bnez $v0, .LIQUE_8012D590
/* C4498 8012D5B8 A7A30002 */ sh $v1, 0x2($sp)
/* C449C 8012D5BC 2482003F */ addiu $v0, $a0, 0x3F
/* C44A0 8012D5C0 A7A20006 */ sh $v0, 0x6($sp)
.LIQUE_8012D5C4:
/* C44A4 8012D5C4 87A2000A */ lh $v0, 0xA($sp)
/* C44A8 8012D5C8 004E102A */ slt $v0, $v0, $t6
/* C44AC 8012D5CC 1040000A */ beqz $v0, .LIQUE_8012D5F8
/* C44B0 8012D5D0 00000000 */ nop
/* C44B4 8012D5D4 97B50016 */ lhu $s5, 0x16($sp)
/* C44B8 8012D5D8 97B6001A */ lhu $s6, 0x1A($sp)
/* C44BC 8012D5DC 00151400 */ sll $v0, $s5, 16
/* C44C0 8012D5E0 00021403 */ sra $v0, $v0, 16
/* C44C4 8012D5E4 004E1023 */ subu $v0, $v0, $t6
/* C44C8 8012D5E8 04420001 */ bltzl $v0, .LIQUE_8012D5F0
/* C44CC 8012D5EC 00021023 */ negu $v0, $v0
.LIQUE_8012D5F0:
/* C44D0 8012D5F0 A7A20056 */ sh $v0, 0x56($sp)
/* C44D4 8012D5F4 A7B6000A */ sh $s6, 0xA($sp)
.LIQUE_8012D5F8:
/* C44D8 8012D5F8 97A2001E */ lhu $v0, 0x1E($sp)
/* C44DC 8012D5FC 87A3000E */ lh $v1, 0xE($sp)
/* C44E0 8012D600 01C21021 */ addu $v0, $t6, $v0
/* C44E4 8012D604 0062182A */ slt $v1, $v1, $v0
/* C44E8 8012D608 14600009 */ bnez $v1, .LIQUE_8012D630
/* C44EC 8012D60C 24150001 */ addiu $s5, $zero, 0x1
/* C44F0 8012D610 8FB60024 */ lw $s6, 0x24($sp)
/* C44F4 8012D614 A3B50020 */ sb $s5, 0x20($sp)
/* C44F8 8012D618 97B50016 */ lhu $s5, 0x16($sp)
/* C44FC 8012D61C 02D51023 */ subu $v0, $s6, $s5
/* C4500 8012D620 97B60026 */ lhu $s6, 0x26($sp)
/* C4504 8012D624 2442FFFF */ addiu $v0, $v0, -0x1
/* C4508 8012D628 A7A20006 */ sh $v0, 0x6($sp)
/* C450C 8012D62C A7B6000E */ sh $s6, 0xE($sp)
.LIQUE_8012D630:
/* C4510 8012D630 97A20006 */ lhu $v0, 0x6($sp)
/* C4514 8012D634 8FB50088 */ lw $s5, 0x88($sp)
/* C4518 8012D638 00021400 */ sll $v0, $v0, 16
/* C451C 8012D63C 00021403 */ sra $v0, $v0, 16
/* C4520 8012D640 24420001 */ addiu $v0, $v0, 0x1
/* C4524 8012D644 0055102B */ sltu $v0, $v0, $s5
/* C4528 8012D648 14400007 */ bnez $v0, .LIQUE_8012D668
/* C452C 8012D64C 0000682D */ daddu $t5, $zero, $zero
/* C4530 8012D650 24160001 */ addiu $s6, $zero, 0x1
/* C4534 8012D654 97B5002A */ lhu $s5, 0x2A($sp)
/* C4538 8012D658 A3B60020 */ sb $s6, 0x20($sp)
/* C453C 8012D65C 97B6002E */ lhu $s6, 0x2E($sp)
/* C4540 8012D660 A7B50006 */ sh $s5, 0x6($sp)
/* C4544 8012D664 A7B6000E */ sh $s6, 0xE($sp)
.LIQUE_8012D668:
/* C4548 8012D668 3C14F508 */ lui $s4, (0xF5080000 >> 16)
/* C454C 8012D66C 3C0C0701 */ lui $t4, (0x7014060 >> 16)
/* C4550 8012D670 358C4060 */ ori $t4, $t4, (0x7014060 & 0xFFFF)
/* C4554 8012D674 3C13E600 */ lui $s3, (0xE6000000 >> 16)
/* C4558 8012D678 3C12F400 */ lui $s2, (0xF4000000 >> 16)
/* C455C 8012D67C 3C110700 */ lui $s1, (0x7000000 >> 16)
/* C4560 8012D680 3C10E700 */ lui $s0, (0xE7000000 >> 16)
/* C4564 8012D684 3C0B0001 */ lui $t3, (0x14060 >> 16)
/* C4568 8012D688 356B4060 */ ori $t3, $t3, (0x14060 & 0xFFFF)
/* C456C 8012D68C 3C19F200 */ lui $t9, (0xF2000000 >> 16)
/* C4570 8012D690 8FB5008C */ lw $s5, 0x8C($sp)
/* C4574 8012D694 8FB60038 */ lw $s6, 0x38($sp)
/* C4578 8012D698 3C17F510 */ lui $s7, (0xF5100000 >> 16)
/* C457C 8012D69C A7A00000 */ sh $zero, 0x0($sp)
/* C4580 8012D6A0 A7B80008 */ sh $t8, 0x8($sp)
/* C4584 8012D6A4 32A20007 */ andi $v0, $s5, 0x7
/* C4588 8012D6A8 00024D40 */ sll $t1, $v0, 21
/* C458C 8012D6AC 32D60FFF */ andi $s6, $s6, 0xFFF
/* C4590 8012D6B0 3C15FD08 */ lui $s5, (0xFD080000 >> 16)
/* C4594 8012D6B4 02D51025 */ or $v0, $s6, $s5
/* C4598 8012D6B8 01221025 */ or $v0, $t1, $v0
/* C459C 8012D6BC AFB60048 */ sw $s6, 0x48($sp)
/* C45A0 8012D6C0 AFA20040 */ sw $v0, 0x40($sp)
.LIQUE_8012D6C4:
/* C45A4 8012D6C4 0000782D */ daddu $t7, $zero, $zero
/* C45A8 8012D6C8 97A30000 */ lhu $v1, 0x0($sp)
/* C45AC 8012D6CC 97A20008 */ lhu $v0, 0x8($sp)
/* C45B0 8012D6D0 2463003F */ addiu $v1, $v1, 0x3F
/* C45B4 8012D6D4 24420040 */ addiu $v0, $v0, 0x40
/* C45B8 8012D6D8 A7A2000C */ sh $v0, 0xC($sp)
/* C45BC 8012D6DC 00021400 */ sll $v0, $v0, 16
/* C45C0 8012D6E0 00021403 */ sra $v0, $v0, 16
/* C45C4 8012D6E4 0142102A */ slt $v0, $t2, $v0
/* C45C8 8012D6E8 1440000E */ bnez $v0, .LIQUE_8012D724
/* C45CC 8012D6EC A7A30004 */ sh $v1, 0x4($sp)
.LIQUE_8012D6F0:
/* C45D0 8012D6F0 97A40000 */ lhu $a0, 0x0($sp)
/* C45D4 8012D6F4 97A2000C */ lhu $v0, 0xC($sp)
/* C45D8 8012D6F8 24830040 */ addiu $v1, $a0, 0x40
/* C45DC 8012D6FC A7A20008 */ sh $v0, 0x8($sp)
/* C45E0 8012D700 24420040 */ addiu $v0, $v0, 0x40
/* C45E4 8012D704 A7A2000C */ sh $v0, 0xC($sp)
/* C45E8 8012D708 00021400 */ sll $v0, $v0, 16
/* C45EC 8012D70C 00021403 */ sra $v0, $v0, 16
/* C45F0 8012D710 004A102A */ slt $v0, $v0, $t2
/* C45F4 8012D714 1440FFF6 */ bnez $v0, .LIQUE_8012D6F0
/* C45F8 8012D718 A7A30000 */ sh $v1, 0x0($sp)
/* C45FC 8012D71C 2482007F */ addiu $v0, $a0, 0x7F
/* C4600 8012D720 A7A20004 */ sh $v0, 0x4($sp)
.LIQUE_8012D724:
/* C4604 8012D724 87A20008 */ lh $v0, 0x8($sp)
/* C4608 8012D728 004A102A */ slt $v0, $v0, $t2
/* C460C 8012D72C 10400008 */ beqz $v0, .LIQUE_8012D750
/* C4610 8012D730 00181400 */ sll $v0, $t8, 16
/* C4614 8012D734 00021403 */ sra $v0, $v0, 16
/* C4618 8012D738 004A1023 */ subu $v0, $v0, $t2
/* C461C 8012D73C 97B60018 */ lhu $s6, 0x18($sp)
/* C4620 8012D740 04410002 */ bgez $v0, .LIQUE_8012D74C
/* C4624 8012D744 0040782D */ daddu $t7, $v0, $zero
/* C4628 8012D748 000F7823 */ negu $t7, $t7
.LIQUE_8012D74C:
/* C462C 8012D74C A7B60008 */ sh $s6, 0x8($sp)
.LIQUE_8012D750:
/* C4630 8012D750 97A2001C */ lhu $v0, 0x1C($sp)
/* C4634 8012D754 87A3000C */ lh $v1, 0xC($sp)
/* C4638 8012D758 01421021 */ addu $v0, $t2, $v0
/* C463C 8012D75C 0062182A */ slt $v1, $v1, $v0
/* C4640 8012D760 14600008 */ bnez $v1, .LIQUE_8012D784
/* C4644 8012D764 00000000 */ nop
/* C4648 8012D768 240D0001 */ addiu $t5, $zero, 0x1
/* C464C 8012D76C 8FB50034 */ lw $s5, 0x34($sp)
/* C4650 8012D770 97B60036 */ lhu $s6, 0x36($sp)
/* C4654 8012D774 02B81023 */ subu $v0, $s5, $t8
/* C4658 8012D778 2442FFFF */ addiu $v0, $v0, -0x1
/* C465C 8012D77C A7A20004 */ sh $v0, 0x4($sp)
/* C4660 8012D780 A7B6000C */ sh $s6, 0xC($sp)
.LIQUE_8012D784:
/* C4664 8012D784 97A20004 */ lhu $v0, 0x4($sp)
/* C4668 8012D788 8FB50084 */ lw $s5, 0x84($sp)
/* C466C 8012D78C 00021400 */ sll $v0, $v0, 16
/* C4670 8012D790 00021403 */ sra $v0, $v0, 16
/* C4674 8012D794 24420001 */ addiu $v0, $v0, 0x1
/* C4678 8012D798 0055102B */ sltu $v0, $v0, $s5
/* C467C 8012D79C 14400006 */ bnez $v0, .LIQUE_8012D7B8
/* C4680 8012D7A0 00000000 */ nop
/* C4684 8012D7A4 240D0001 */ addiu $t5, $zero, 0x1
/* C4688 8012D7A8 97B6003A */ lhu $s6, 0x3A($sp)
/* C468C 8012D7AC 97B5003E */ lhu $s5, 0x3E($sp)
/* C4690 8012D7B0 A7B60004 */ sh $s6, 0x4($sp)
/* C4694 8012D7B4 A7B5000C */ sh $s5, 0xC($sp)
.LIQUE_8012D7B8:
/* C4698 8012D7B8 57C0004D */ bnel $fp, $zero, .LIQUE_8012D8F0
/* C469C 8012D7BC 24020002 */ addiu $v0, $zero, 0x2
/* C46A0 8012D7C0 8D050000 */ lw $a1, 0x0($t0)
/* C46A4 8012D7C4 00A0182D */ daddu $v1, $a1, $zero
/* C46A8 8012D7C8 24A50008 */ addiu $a1, $a1, 0x8
/* C46AC 8012D7CC AD050000 */ sw $a1, 0x0($t0)
/* C46B0 8012D7D0 8FB60084 */ lw $s6, 0x84($sp)
/* C46B4 8012D7D4 3C15FD08 */ lui $s5, (0xFD080000 >> 16)
/* C46B8 8012D7D8 00161042 */ srl $v0, $s6, 1
/* C46BC 8012D7DC 2442FFFF */ addiu $v0, $v0, -0x1
/* C46C0 8012D7E0 30420FFF */ andi $v0, $v0, 0xFFF
/* C46C4 8012D7E4 00551025 */ or $v0, $v0, $s5
/* C46C8 8012D7E8 01221025 */ or $v0, $t1, $v0
/* C46CC 8012D7EC AC620000 */ sw $v0, 0x0($v1)
/* C46D0 8012D7F0 8FB60080 */ lw $s6, 0x80($sp)
/* C46D4 8012D7F4 AC760004 */ sw $s6, 0x4($v1)
/* C46D8 8012D7F8 97A20004 */ lhu $v0, 0x4($sp)
/* C46DC 8012D7FC 87A40000 */ lh $a0, 0x0($sp)
/* C46E0 8012D800 24A30008 */ addiu $v1, $a1, 0x8
/* C46E4 8012D804 AD030000 */ sw $v1, 0x0($t0)
/* C46E8 8012D808 ACAC0004 */ sw $t4, 0x4($a1)
/* C46EC 8012D80C ACB30008 */ sw $s3, 0x8($a1)
/* C46F0 8012D810 ACA0000C */ sw $zero, 0xC($a1)
/* C46F4 8012D814 00021400 */ sll $v0, $v0, 16
/* C46F8 8012D818 00021403 */ sra $v0, $v0, 16
/* C46FC 8012D81C 00441023 */ subu $v0, $v0, $a0
/* C4700 8012D820 24420001 */ addiu $v0, $v0, 0x1
/* C4704 8012D824 00021043 */ sra $v0, $v0, 1
/* C4708 8012D828 24420007 */ addiu $v0, $v0, 0x7
/* C470C 8012D82C 000210C3 */ sra $v0, $v0, 3
/* C4710 8012D830 304201FF */ andi $v0, $v0, 0x1FF
/* C4714 8012D834 00021240 */ sll $v0, $v0, 9
/* C4718 8012D838 00541025 */ or $v0, $v0, $s4
/* C471C 8012D83C 01221025 */ or $v0, $t1, $v0
/* C4720 8012D840 ACA20000 */ sw $v0, 0x0($a1)
/* C4724 8012D844 87A30000 */ lh $v1, 0x0($sp)
/* C4728 8012D848 24A20010 */ addiu $v0, $a1, 0x10
/* C472C 8012D84C AD020000 */ sw $v0, 0x0($t0)
/* C4730 8012D850 97A20002 */ lhu $v0, 0x2($sp)
/* C4734 8012D854 00031840 */ sll $v1, $v1, 1
/* C4738 8012D858 30630FFF */ andi $v1, $v1, 0xFFF
/* C473C 8012D85C 00031B00 */ sll $v1, $v1, 12
/* C4740 8012D860 00021080 */ sll $v0, $v0, 2
/* C4744 8012D864 30420FFC */ andi $v0, $v0, 0xFFC
/* C4748 8012D868 00521025 */ or $v0, $v0, $s2
/* C474C 8012D86C 00621825 */ or $v1, $v1, $v0
/* C4750 8012D870 ACA30010 */ sw $v1, 0x10($a1)
/* C4754 8012D874 97A30004 */ lhu $v1, 0x4($sp)
/* C4758 8012D878 97A40006 */ lhu $a0, 0x6($sp)
/* C475C 8012D87C 24A20018 */ addiu $v0, $a1, 0x18
/* C4760 8012D880 AD020000 */ sw $v0, 0x0($t0)
/* C4764 8012D884 ACB00018 */ sw $s0, 0x18($a1)
/* C4768 8012D888 ACA0001C */ sw $zero, 0x1C($a1)
/* C476C 8012D88C 00031840 */ sll $v1, $v1, 1
/* C4770 8012D890 30630FFE */ andi $v1, $v1, 0xFFE
/* C4774 8012D894 00031B00 */ sll $v1, $v1, 12
/* C4778 8012D898 00042080 */ sll $a0, $a0, 2
/* C477C 8012D89C 30840FFC */ andi $a0, $a0, 0xFFC
/* C4780 8012D8A0 00912025 */ or $a0, $a0, $s1
/* C4784 8012D8A4 00641825 */ or $v1, $v1, $a0
/* C4788 8012D8A8 ACA30014 */ sw $v1, 0x14($a1)
/* C478C 8012D8AC 97A20004 */ lhu $v0, 0x4($sp)
/* C4790 8012D8B0 87A40000 */ lh $a0, 0x0($sp)
/* C4794 8012D8B4 24A30020 */ addiu $v1, $a1, 0x20
/* C4798 8012D8B8 AD030000 */ sw $v1, 0x0($t0)
/* C479C 8012D8BC 3C03F500 */ lui $v1, (0xF5000000 >> 16)
/* C47A0 8012D8C0 ACAB0024 */ sw $t3, 0x24($a1)
/* C47A4 8012D8C4 00021400 */ sll $v0, $v0, 16
/* C47A8 8012D8C8 00021403 */ sra $v0, $v0, 16
/* C47AC 8012D8CC 00441023 */ subu $v0, $v0, $a0
/* C47B0 8012D8D0 24420001 */ addiu $v0, $v0, 0x1
/* C47B4 8012D8D4 00021043 */ sra $v0, $v0, 1
/* C47B8 8012D8D8 24420007 */ addiu $v0, $v0, 0x7
/* C47BC 8012D8DC 000210C3 */ sra $v0, $v0, 3
/* C47C0 8012D8E0 304201FF */ andi $v0, $v0, 0x1FF
/* C47C4 8012D8E4 00021240 */ sll $v0, $v0, 9
/* C47C8 8012D8E8 0804B6C6 */ j .LIQUE_8012DB18
/* C47CC 8012D8EC 00431025 */ or $v0, $v0, $v1
.LIQUE_8012D8F0:
/* C47D0 8012D8F0 57C20047 */ bnel $fp, $v0, .LIQUE_8012DA10
/* C47D4 8012D8F4 24020001 */ addiu $v0, $zero, 0x1
/* C47D8 8012D8F8 8D050000 */ lw $a1, 0x0($t0)
/* C47DC 8012D8FC 00A0182D */ daddu $v1, $a1, $zero
/* C47E0 8012D900 24A50008 */ addiu $a1, $a1, 0x8
/* C47E4 8012D904 AD050000 */ sw $a1, 0x0($t0)
/* C47E8 8012D908 8FB50048 */ lw $s5, 0x48($sp)
/* C47EC 8012D90C 3C02FD10 */ lui $v0, (0xFD100000 >> 16)
/* C47F0 8012D910 02A21025 */ or $v0, $s5, $v0
/* C47F4 8012D914 01221025 */ or $v0, $t1, $v0
/* C47F8 8012D918 AC620000 */ sw $v0, 0x0($v1)
/* C47FC 8012D91C 8FB60080 */ lw $s6, 0x80($sp)
/* C4800 8012D920 AC760004 */ sw $s6, 0x4($v1)
/* C4804 8012D924 97A20004 */ lhu $v0, 0x4($sp)
/* C4808 8012D928 87A40000 */ lh $a0, 0x0($sp)
/* C480C 8012D92C 24A30008 */ addiu $v1, $a1, 0x8
/* C4810 8012D930 AD030000 */ sw $v1, 0x0($t0)
/* C4814 8012D934 ACAC0004 */ sw $t4, 0x4($a1)
/* C4818 8012D938 ACB30008 */ sw $s3, 0x8($a1)
/* C481C 8012D93C ACA0000C */ sw $zero, 0xC($a1)
/* C4820 8012D940 00021400 */ sll $v0, $v0, 16
/* C4824 8012D944 00021403 */ sra $v0, $v0, 16
/* C4828 8012D948 00441023 */ subu $v0, $v0, $a0
/* C482C 8012D94C 00021040 */ sll $v0, $v0, 1
/* C4830 8012D950 24420009 */ addiu $v0, $v0, 0x9
/* C4834 8012D954 000210C3 */ sra $v0, $v0, 3
/* C4838 8012D958 304201FF */ andi $v0, $v0, 0x1FF
/* C483C 8012D95C 00021240 */ sll $v0, $v0, 9
/* C4840 8012D960 00571025 */ or $v0, $v0, $s7
/* C4844 8012D964 01221025 */ or $v0, $t1, $v0
/* C4848 8012D968 ACA20000 */ sw $v0, 0x0($a1)
/* C484C 8012D96C 87A30000 */ lh $v1, 0x0($sp)
/* C4850 8012D970 24A20010 */ addiu $v0, $a1, 0x10
/* C4854 8012D974 AD020000 */ sw $v0, 0x0($t0)
/* C4858 8012D978 97A20002 */ lhu $v0, 0x2($sp)
/* C485C 8012D97C 00031880 */ sll $v1, $v1, 2
/* C4860 8012D980 30630FFF */ andi $v1, $v1, 0xFFF
/* C4864 8012D984 00031B00 */ sll $v1, $v1, 12
/* C4868 8012D988 00021080 */ sll $v0, $v0, 2
/* C486C 8012D98C 30420FFC */ andi $v0, $v0, 0xFFC
/* C4870 8012D990 00521025 */ or $v0, $v0, $s2
/* C4874 8012D994 00621825 */ or $v1, $v1, $v0
/* C4878 8012D998 ACA30010 */ sw $v1, 0x10($a1)
/* C487C 8012D99C 97A30004 */ lhu $v1, 0x4($sp)
/* C4880 8012D9A0 97A40006 */ lhu $a0, 0x6($sp)
/* C4884 8012D9A4 24A20018 */ addiu $v0, $a1, 0x18
/* C4888 8012D9A8 AD020000 */ sw $v0, 0x0($t0)
/* C488C 8012D9AC ACB00018 */ sw $s0, 0x18($a1)
/* C4890 8012D9B0 ACA0001C */ sw $zero, 0x1C($a1)
/* C4894 8012D9B4 00031880 */ sll $v1, $v1, 2
/* C4898 8012D9B8 30630FFC */ andi $v1, $v1, 0xFFC
/* C489C 8012D9BC 00031B00 */ sll $v1, $v1, 12
/* C48A0 8012D9C0 00042080 */ sll $a0, $a0, 2
/* C48A4 8012D9C4 30840FFC */ andi $a0, $a0, 0xFFC
/* C48A8 8012D9C8 00912025 */ or $a0, $a0, $s1
/* C48AC 8012D9CC 00641825 */ or $v1, $v1, $a0
/* C48B0 8012D9D0 ACA30014 */ sw $v1, 0x14($a1)
/* C48B4 8012D9D4 97A20004 */ lhu $v0, 0x4($sp)
/* C48B8 8012D9D8 87A40000 */ lh $a0, 0x0($sp)
/* C48BC 8012D9DC 24A30020 */ addiu $v1, $a1, 0x20
/* C48C0 8012D9E0 AD030000 */ sw $v1, 0x0($t0)
/* C48C4 8012D9E4 ACAB0024 */ sw $t3, 0x24($a1)
/* C48C8 8012D9E8 00021400 */ sll $v0, $v0, 16
/* C48CC 8012D9EC 00021403 */ sra $v0, $v0, 16
/* C48D0 8012D9F0 00441023 */ subu $v0, $v0, $a0
/* C48D4 8012D9F4 00021040 */ sll $v0, $v0, 1
/* C48D8 8012D9F8 24420009 */ addiu $v0, $v0, 0x9
/* C48DC 8012D9FC 000210C3 */ sra $v0, $v0, 3
/* C48E0 8012DA00 304201FF */ andi $v0, $v0, 0x1FF
/* C48E4 8012DA04 00021240 */ sll $v0, $v0, 9
/* C48E8 8012DA08 0804B6C6 */ j .LIQUE_8012DB18
/* C48EC 8012DA0C 00571025 */ or $v0, $v0, $s7
.LIQUE_8012DA10:
/* C48F0 8012DA10 17C2005B */ bne $fp, $v0, .LIQUE_8012DB80
/* C48F4 8012DA14 3C070400 */ lui $a3, (0x4000400 >> 16)
/* C48F8 8012DA18 8D050000 */ lw $a1, 0x0($t0)
/* C48FC 8012DA1C 00A0102D */ daddu $v0, $a1, $zero
/* C4900 8012DA20 24A50008 */ addiu $a1, $a1, 0x8
/* C4904 8012DA24 AD050000 */ sw $a1, 0x0($t0)
/* C4908 8012DA28 8FB50040 */ lw $s5, 0x40($sp)
/* C490C 8012DA2C AC550000 */ sw $s5, 0x0($v0)
/* C4910 8012DA30 8FB60080 */ lw $s6, 0x80($sp)
/* C4914 8012DA34 AC560004 */ sw $s6, 0x4($v0)
/* C4918 8012DA38 97A20004 */ lhu $v0, 0x4($sp)
/* C491C 8012DA3C 87A40000 */ lh $a0, 0x0($sp)
/* C4920 8012DA40 24A30008 */ addiu $v1, $a1, 0x8
/* C4924 8012DA44 AD030000 */ sw $v1, 0x0($t0)
/* C4928 8012DA48 ACAC0004 */ sw $t4, 0x4($a1)
/* C492C 8012DA4C ACB30008 */ sw $s3, 0x8($a1)
/* C4930 8012DA50 ACA0000C */ sw $zero, 0xC($a1)
/* C4934 8012DA54 00021400 */ sll $v0, $v0, 16
/* C4938 8012DA58 00021403 */ sra $v0, $v0, 16
/* C493C 8012DA5C 00441023 */ subu $v0, $v0, $a0
/* C4940 8012DA60 24420008 */ addiu $v0, $v0, 0x8
/* C4944 8012DA64 000210C3 */ sra $v0, $v0, 3
/* C4948 8012DA68 304201FF */ andi $v0, $v0, 0x1FF
/* C494C 8012DA6C 00021240 */ sll $v0, $v0, 9
/* C4950 8012DA70 00541025 */ or $v0, $v0, $s4
/* C4954 8012DA74 01221025 */ or $v0, $t1, $v0
/* C4958 8012DA78 ACA20000 */ sw $v0, 0x0($a1)
/* C495C 8012DA7C 87A30000 */ lh $v1, 0x0($sp)
/* C4960 8012DA80 24A20010 */ addiu $v0, $a1, 0x10
/* C4964 8012DA84 AD020000 */ sw $v0, 0x0($t0)
/* C4968 8012DA88 97A20002 */ lhu $v0, 0x2($sp)
/* C496C 8012DA8C 00031880 */ sll $v1, $v1, 2
/* C4970 8012DA90 30630FFF */ andi $v1, $v1, 0xFFF
/* C4974 8012DA94 00031B00 */ sll $v1, $v1, 12
/* C4978 8012DA98 00021080 */ sll $v0, $v0, 2
/* C497C 8012DA9C 30420FFC */ andi $v0, $v0, 0xFFC
/* C4980 8012DAA0 00521025 */ or $v0, $v0, $s2
/* C4984 8012DAA4 00621825 */ or $v1, $v1, $v0
/* C4988 8012DAA8 ACA30010 */ sw $v1, 0x10($a1)
/* C498C 8012DAAC 97A30004 */ lhu $v1, 0x4($sp)
/* C4990 8012DAB0 97A40006 */ lhu $a0, 0x6($sp)
/* C4994 8012DAB4 24A20018 */ addiu $v0, $a1, 0x18
/* C4998 8012DAB8 AD020000 */ sw $v0, 0x0($t0)
/* C499C 8012DABC ACB00018 */ sw $s0, 0x18($a1)
/* C49A0 8012DAC0 ACA0001C */ sw $zero, 0x1C($a1)
/* C49A4 8012DAC4 00031880 */ sll $v1, $v1, 2
/* C49A8 8012DAC8 30630FFC */ andi $v1, $v1, 0xFFC
/* C49AC 8012DACC 00031B00 */ sll $v1, $v1, 12
/* C49B0 8012DAD0 00042080 */ sll $a0, $a0, 2
/* C49B4 8012DAD4 30840FFC */ andi $a0, $a0, 0xFFC
/* C49B8 8012DAD8 00912025 */ or $a0, $a0, $s1
/* C49BC 8012DADC 00641825 */ or $v1, $v1, $a0
/* C49C0 8012DAE0 ACA30014 */ sw $v1, 0x14($a1)
/* C49C4 8012DAE4 97A20004 */ lhu $v0, 0x4($sp)
/* C49C8 8012DAE8 87A40000 */ lh $a0, 0x0($sp)
/* C49CC 8012DAEC 24A30020 */ addiu $v1, $a1, 0x20
/* C49D0 8012DAF0 AD030000 */ sw $v1, 0x0($t0)
/* C49D4 8012DAF4 ACAB0024 */ sw $t3, 0x24($a1)
/* C49D8 8012DAF8 00021400 */ sll $v0, $v0, 16
/* C49DC 8012DAFC 00021403 */ sra $v0, $v0, 16
/* C49E0 8012DB00 00441023 */ subu $v0, $v0, $a0
/* C49E4 8012DB04 24420008 */ addiu $v0, $v0, 0x8
/* C49E8 8012DB08 000210C3 */ sra $v0, $v0, 3
/* C49EC 8012DB0C 304201FF */ andi $v0, $v0, 0x1FF
/* C49F0 8012DB10 00021240 */ sll $v0, $v0, 9
/* C49F4 8012DB14 00541025 */ or $v0, $v0, $s4
.LIQUE_8012DB18:
/* C49F8 8012DB18 01221025 */ or $v0, $t1, $v0
/* C49FC 8012DB1C ACA20020 */ sw $v0, 0x20($a1)
/* C4A00 8012DB20 87A30000 */ lh $v1, 0x0($sp)
/* C4A04 8012DB24 24A20028 */ addiu $v0, $a1, 0x28
/* C4A08 8012DB28 AD020000 */ sw $v0, 0x0($t0)
/* C4A0C 8012DB2C 97A20002 */ lhu $v0, 0x2($sp)
/* C4A10 8012DB30 00031880 */ sll $v1, $v1, 2
/* C4A14 8012DB34 30630FFF */ andi $v1, $v1, 0xFFF
/* C4A18 8012DB38 00031B00 */ sll $v1, $v1, 12
/* C4A1C 8012DB3C 00021080 */ sll $v0, $v0, 2
/* C4A20 8012DB40 30420FFC */ andi $v0, $v0, 0xFFC
/* C4A24 8012DB44 00591025 */ or $v0, $v0, $t9
/* C4A28 8012DB48 00621825 */ or $v1, $v1, $v0
/* C4A2C 8012DB4C ACA30028 */ sw $v1, 0x28($a1)
/* C4A30 8012DB50 97A30004 */ lhu $v1, 0x4($sp)
/* C4A34 8012DB54 24A20030 */ addiu $v0, $a1, 0x30
/* C4A38 8012DB58 AD020000 */ sw $v0, 0x0($t0)
/* C4A3C 8012DB5C 97A20006 */ lhu $v0, 0x6($sp)
/* C4A40 8012DB60 00031880 */ sll $v1, $v1, 2
/* C4A44 8012DB64 30630FFC */ andi $v1, $v1, 0xFFC
/* C4A48 8012DB68 00031B00 */ sll $v1, $v1, 12
/* C4A4C 8012DB6C 00021080 */ sll $v0, $v0, 2
/* C4A50 8012DB70 30420FFC */ andi $v0, $v0, 0xFFC
/* C4A54 8012DB74 00621825 */ or $v1, $v1, $v0
/* C4A58 8012DB78 ACA3002C */ sw $v1, 0x2C($a1)
/* C4A5C 8012DB7C 3C070400 */ lui $a3, (0x4000400 >> 16)
.LIQUE_8012DB80:
/* C4A60 8012DB80 34E70400 */ ori $a3, $a3, (0x4000400 & 0xFFFF)
/* C4A64 8012DB84 3C03E400 */ lui $v1, (0xE4000000 >> 16)
/* C4A68 8012DB88 8D050000 */ lw $a1, 0x0($t0)
/* C4A6C 8012DB8C 87A4000C */ lh $a0, 0xC($sp)
/* C4A70 8012DB90 00A0302D */ daddu $a2, $a1, $zero
/* C4A74 8012DB94 24A50008 */ addiu $a1, $a1, 0x8
/* C4A78 8012DB98 00042080 */ sll $a0, $a0, 2
/* C4A7C 8012DB9C 30840FFF */ andi $a0, $a0, 0xFFF
/* C4A80 8012DBA0 AD050000 */ sw $a1, 0x0($t0)
/* C4A84 8012DBA4 87A2000E */ lh $v0, 0xE($sp)
/* C4A88 8012DBA8 00042300 */ sll $a0, $a0, 12
/* C4A8C 8012DBAC 00021080 */ sll $v0, $v0, 2
/* C4A90 8012DBB0 30420FFF */ andi $v0, $v0, 0xFFF
/* C4A94 8012DBB4 00431025 */ or $v0, $v0, $v1
/* C4A98 8012DBB8 00822025 */ or $a0, $a0, $v0
/* C4A9C 8012DBBC 24A20008 */ addiu $v0, $a1, 0x8
/* C4AA0 8012DBC0 ACC40000 */ sw $a0, 0x0($a2)
/* C4AA4 8012DBC4 AD020000 */ sw $v0, 0x0($t0)
/* C4AA8 8012DBC8 87A30008 */ lh $v1, 0x8($sp)
/* C4AAC 8012DBCC 24A20010 */ addiu $v0, $a1, 0x10
/* C4AB0 8012DBD0 AD020000 */ sw $v0, 0x0($t0)
/* C4AB4 8012DBD4 87A2000A */ lh $v0, 0xA($sp)
/* C4AB8 8012DBD8 00031880 */ sll $v1, $v1, 2
/* C4ABC 8012DBDC 30630FFF */ andi $v1, $v1, 0xFFF
/* C4AC0 8012DBE0 00031B00 */ sll $v1, $v1, 12
/* C4AC4 8012DBE4 00021080 */ sll $v0, $v0, 2
/* C4AC8 8012DBE8 30420FFF */ andi $v0, $v0, 0xFFF
/* C4ACC 8012DBEC 00621825 */ or $v1, $v1, $v0
/* C4AD0 8012DBF0 3C02E100 */ lui $v0, (0xE1000000 >> 16)
/* C4AD4 8012DBF4 ACC30004 */ sw $v1, 0x4($a2)
/* C4AD8 8012DBF8 ACA20000 */ sw $v0, 0x0($a1)
/* C4ADC 8012DBFC 97B50056 */ lhu $s5, 0x56($sp)
/* C4AE0 8012DC00 000F1D40 */ sll $v1, $t7, 21
/* C4AE4 8012DC04 ACA7000C */ sw $a3, 0xC($a1)
/* C4AE8 8012DC08 00151140 */ sll $v0, $s5, 5
/* C4AEC 8012DC0C 3042FFE0 */ andi $v0, $v0, 0xFFE0
/* C4AF0 8012DC10 00621825 */ or $v1, $v1, $v0
/* C4AF4 8012DC14 3C02F100 */ lui $v0, (0xF1000000 >> 16)
/* C4AF8 8012DC18 ACA20008 */ sw $v0, 0x8($a1)
/* C4AFC 8012DC1C 31A200FF */ andi $v0, $t5, 0xFF
/* C4B00 8012DC20 14400007 */ bnez $v0, .LIQUE_8012DC40
/* C4B04 8012DC24 ACA30004 */ sw $v1, 0x4($a1)
/* C4B08 8012DC28 97A20000 */ lhu $v0, 0x0($sp)
/* C4B0C 8012DC2C 97A3000C */ lhu $v1, 0xC($sp)
/* C4B10 8012DC30 24420040 */ addiu $v0, $v0, 0x40
/* C4B14 8012DC34 A7A20000 */ sh $v0, 0x0($sp)
/* C4B18 8012DC38 0804B5B1 */ j .LIQUE_8012D6C4
/* C4B1C 8012DC3C A7A30008 */ sh $v1, 0x8($sp)
.LIQUE_8012DC40:
/* C4B20 8012DC40 93A20020 */ lbu $v0, 0x20($sp)
/* C4B24 8012DC44 14400007 */ bnez $v0, .LIQUE_8012DC64
/* C4B28 8012DC48 24020001 */ addiu $v0, $zero, 0x1
/* C4B2C 8012DC4C 97A20002 */ lhu $v0, 0x2($sp)
/* C4B30 8012DC50 97A3000E */ lhu $v1, 0xE($sp)
/* C4B34 8012DC54 24420020 */ addiu $v0, $v0, 0x20
/* C4B38 8012DC58 A7A20002 */ sh $v0, 0x2($sp)
/* C4B3C 8012DC5C 0804B559 */ j .LIQUE_8012D564
/* C4B40 8012DC60 A7A3000A */ sh $v1, 0xA($sp)
.LIQUE_8012DC64:
/* C4B44 8012DC64 8FBE0078 */ lw $fp, 0x78($sp)
/* C4B48 8012DC68 8FB70074 */ lw $s7, 0x74($sp)
/* C4B4C 8012DC6C 8FB60070 */ lw $s6, 0x70($sp)
/* C4B50 8012DC70 8FB5006C */ lw $s5, 0x6C($sp)
/* C4B54 8012DC74 8FB40068 */ lw $s4, 0x68($sp)
/* C4B58 8012DC78 8FB30064 */ lw $s3, 0x64($sp)
/* C4B5C 8012DC7C 8FB20060 */ lw $s2, 0x60($sp)
/* C4B60 8012DC80 8FB1005C */ lw $s1, 0x5C($sp)
/* C4B64 8012DC84 8FB00058 */ lw $s0, 0x58($sp)
/* C4B68 8012DC88 03E00008 */ jr $ra
/* C4B6C 8012DC8C 27BD0080 */ addiu $sp, $sp, 0x80

View File

@ -0,0 +1,328 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel test_item_player_collision
/* C917C 8013229C 27BDFF90 */ addiu $sp, $sp, -0x70
/* C9180 801322A0 AFB30034 */ sw $s3, 0x34($sp)
/* C9184 801322A4 0080982D */ daddu $s3, $a0, $zero
/* C9188 801322A8 AFB1002C */ sw $s1, 0x2C($sp)
/* C918C 801322AC 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* C9190 801322B0 2631D3A8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* C9194 801322B4 AFB40038 */ sw $s4, 0x38($sp)
/* C9198 801322B8 3C148011 */ lui $s4, %hi(gPartnerActionStatus)
/* C919C 801322BC 2694CF90 */ addiu $s4, $s4, %lo(gPartnerActionStatus)
/* C91A0 801322C0 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* C91A4 801322C4 8C636070 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* C91A8 801322C8 3C04800B */ lui $a0, %hi(gCameras)
/* C91AC 801322CC 248407D0 */ addiu $a0, $a0, %lo(gCameras)
/* C91B0 801322D0 AFBF003C */ sw $ra, 0x3C($sp)
/* C91B4 801322D4 AFB20030 */ sw $s2, 0x30($sp)
/* C91B8 801322D8 AFB00028 */ sw $s0, 0x28($sp)
/* C91BC 801322DC F7BE0068 */ sdc1 $f30, 0x68($sp)
/* C91C0 801322E0 F7BC0060 */ sdc1 $f28, 0x60($sp)
/* C91C4 801322E4 F7BA0058 */ sdc1 $f26, 0x58($sp)
/* C91C8 801322E8 F7B80050 */ sdc1 $f24, 0x50($sp)
/* C91CC 801322EC F7B60048 */ sdc1 $f22, 0x48($sp)
/* C91D0 801322F0 F7B40040 */ sdc1 $f20, 0x40($sp)
/* C91D4 801322F4 823200B4 */ lb $s2, 0xB4($s1)
/* C91D8 801322F8 00031080 */ sll $v0, $v1, 2
/* C91DC 801322FC 00431021 */ addu $v0, $v0, $v1
/* C91E0 80132300 00021080 */ sll $v0, $v0, 2
/* C91E4 80132304 00431023 */ subu $v0, $v0, $v1
/* C91E8 80132308 000218C0 */ sll $v1, $v0, 3
/* C91EC 8013230C 00431021 */ addu $v0, $v0, $v1
/* C91F0 80132310 000210C0 */ sll $v0, $v0, 3
/* C91F4 80132314 8E630000 */ lw $v1, 0x0($s3)
/* C91F8 80132318 00448021 */ addu $s0, $v0, $a0
/* C91FC 8013231C 30620100 */ andi $v0, $v1, 0x100
/* C9200 80132320 10400003 */ beqz $v0, .LIQUE_80132330
/* C9204 80132324 2402FEFF */ addiu $v0, $zero, -0x101
/* C9208 80132328 0804C9BE */ j .LIQUE_801326F8
/* C920C 8013232C 00621024 */ and $v0, $v1, $v0
.LIQUE_80132330:
/* C9210 80132330 3C03800A */ lui $v1, %hi(gEncounterState)
/* C9214 80132334 8C6391CC */ lw $v1, %lo(gEncounterState)($v1)
/* C9218 80132338 24020002 */ addiu $v0, $zero, 0x2
/* C921C 8013233C 10620003 */ beq $v1, $v0, .LIQUE_8013234C
/* C9220 80132340 00000000 */ nop
/* C9224 80132344 146000F6 */ bnez $v1, .LIQUE_80132720
/* C9228 80132348 0000102D */ daddu $v0, $zero, $zero
.LIQUE_8013234C:
/* C922C 8013234C 3C02800B */ lui $v0, %hi(gCurrentEncounter)
/* C9230 80132350 2442F950 */ addiu $v0, $v0, %lo(gCurrentEncounter)
/* C9234 80132354 80430005 */ lb $v1, 0x5($v0)
/* C9238 80132358 24020005 */ addiu $v0, $zero, 0x5
/* C923C 8013235C 106200EF */ beq $v1, $v0, .LIQUE_8013271C
/* C9240 80132360 3C020020 */ lui $v0, (0x200000 >> 16)
/* C9244 80132364 8E630000 */ lw $v1, 0x0($s3)
/* C9248 80132368 00621024 */ and $v0, $v1, $v0
/* C924C 8013236C 144000EC */ bnez $v0, .LIQUE_80132720
/* C9250 80132370 0000102D */ daddu $v0, $zero, $zero
/* C9254 80132374 3C028016 */ lui $v0, %hi(isPickingUpItem)
/* C9258 80132378 84428924 */ lh $v0, %lo(isPickingUpItem)($v0)
/* C925C 8013237C 144000E8 */ bnez $v0, .LIQUE_80132720
/* C9260 80132380 0000102D */ daddu $v0, $zero, $zero
/* C9264 80132384 30620040 */ andi $v0, $v1, 0x40
/* C9268 80132388 144000E5 */ bnez $v0, .LIQUE_80132720
/* C926C 8013238C 0000102D */ daddu $v0, $zero, $zero
/* C9270 80132390 0C009B98 */ jal get_time_freeze_mode
/* C9274 80132394 00000000 */ nop
/* C9278 80132398 144000E1 */ bnez $v0, .LIQUE_80132720
/* C927C 8013239C 0000102D */ daddu $v0, $zero, $zero
/* C9280 801323A0 82820000 */ lb $v0, 0x0($s4)
/* C9284 801323A4 10400004 */ beqz $v0, .LIQUE_801323B8
/* C9288 801323A8 24020009 */ addiu $v0, $zero, 0x9
/* C928C 801323AC 82830003 */ lb $v1, 0x3($s4)
/* C9290 801323B0 106200DB */ beq $v1, $v0, .LIQUE_80132720
/* C9294 801323B4 0000102D */ daddu $v0, $zero, $zero
.LIQUE_801323B8:
/* C9298 801323B8 2642FFE3 */ addiu $v0, $s2, -0x1D
/* C929C 801323BC 2C420003 */ sltiu $v0, $v0, 0x3
/* C92A0 801323C0 10400004 */ beqz $v0, .LIQUE_801323D4
/* C92A4 801323C4 24020157 */ addiu $v0, $zero, 0x157
/* C92A8 801323C8 86630018 */ lh $v1, 0x18($s3)
/* C92AC 801323CC 146200D4 */ bne $v1, $v0, .LIQUE_80132720
/* C92B0 801323D0 0000102D */ daddu $v0, $zero, $zero
.LIQUE_801323D4:
/* C92B4 801323D4 3C02800A */ lui $v0, %hi(gOverrideFlags)
/* C92B8 801323D8 8C429228 */ lw $v0, %lo(gOverrideFlags)($v0)
/* C92BC 801323DC 3C030020 */ lui $v1, (0x200000 >> 16)
/* C92C0 801323E0 00431024 */ and $v0, $v0, $v1
/* C92C4 801323E4 144000CE */ bnez $v0, .LIQUE_80132720
/* C92C8 801323E8 0000102D */ daddu $v0, $zero, $zero
/* C92CC 801323EC 962300B0 */ lhu $v1, 0xB0($s1)
/* C92D0 801323F0 862400B2 */ lh $a0, 0xB2($s1)
/* C92D4 801323F4 00031C00 */ sll $v1, $v1, 16
/* C92D8 801323F8 00031403 */ sra $v0, $v1, 16
/* C92DC 801323FC 00031FC2 */ srl $v1, $v1, 31
/* C92E0 80132400 00431021 */ addu $v0, $v0, $v1
/* C92E4 80132404 00021043 */ sra $v0, $v0, 1
/* C92E8 80132408 44823000 */ mtc1 $v0, $f6
/* C92EC 8013240C 00000000 */ nop
/* C92F0 80132410 468031A0 */ cvt.s.w $f6, $f6
/* C92F4 80132414 E7A6001C */ swc1 $f6, 0x1C($sp)
/* C92F8 80132418 C63E0028 */ lwc1 $f30, 0x28($s1)
/* C92FC 8013241C C63A002C */ lwc1 $f26, 0x2C($s1)
/* C9300 80132420 C6280030 */ lwc1 $f8, 0x30($s1)
/* C9304 80132424 0000902D */ daddu $s2, $zero, $zero
/* C9308 80132428 04810002 */ bgez $a0, .LIQUE_80132434
/* C930C 8013242C E7A80018 */ swc1 $f8, 0x18($sp)
/* C9310 80132430 24840003 */ addiu $a0, $a0, 0x3
.LIQUE_80132434:
/* C9314 80132434 00041083 */ sra $v0, $a0, 2
/* C9318 80132438 C62E00A8 */ lwc1 $f14, 0xA8($s1)
/* C931C 8013243C 3C014334 */ lui $at, (0x43340000 >> 16)
/* C9320 80132440 44810000 */ mtc1 $at, $f0
/* C9324 80132444 44823000 */ mtc1 $v0, $f6
/* C9328 80132448 00000000 */ nop
/* C932C 8013244C 468031A0 */ cvt.s.w $f6, $f6
/* C9330 80132450 4600703C */ c.lt.s $f14, $f0
/* C9334 80132454 00000000 */ nop
/* C9338 80132458 45000006 */ bc1f .LIQUE_80132474
/* C933C 8013245C E7A60020 */ swc1 $f6, 0x20($sp)
/* C9340 80132460 C600006C */ lwc1 $f0, 0x6C($s0)
/* C9344 80132464 3C0142B4 */ lui $at, (0x42B40000 >> 16)
/* C9348 80132468 44816000 */ mtc1 $at, $f12
/* C934C 8013246C 0804C922 */ j .LIQUE_80132488
/* C9350 80132470 460C0301 */ sub.s $f12, $f0, $f12
.LIQUE_80132474:
/* C9354 80132474 C600006C */ lwc1 $f0, 0x6C($s0)
/* C9358 80132478 3C0142B4 */ lui $at, (0x42B40000 >> 16)
/* C935C 8013247C 44816000 */ mtc1 $at, $f12
/* C9360 80132480 00000000 */ nop
/* C9364 80132484 460C0300 */ add.s $f12, $f0, $f12
.LIQUE_80132488:
/* C9368 80132488 0C00A5FD */ jal clamp_angle
/* C936C 8013248C 00000000 */ nop
/* C9370 80132490 46000386 */ mov.s $f14, $f0
/* C9374 80132494 C60C006C */ lwc1 $f12, 0x6C($s0)
/* C9378 80132498 C7A80018 */ lwc1 $f8, 0x18($sp)
/* C937C 8013249C E7BE0010 */ swc1 $f30, 0x10($sp)
/* C9380 801324A0 0C00A63E */ jal get_clamped_angle_diff
/* C9384 801324A4 E7A80014 */ swc1 $f8, 0x14($sp)
/* C9388 801324A8 44801000 */ mtc1 $zero, $f2
/* C938C 801324AC 00000000 */ nop
/* C9390 801324B0 4602003C */ c.lt.s $f0, $f2
/* C9394 801324B4 00000000 */ nop
/* C9398 801324B8 4500000F */ bc1f .LIQUE_801324F8
/* C939C 801324BC E7BA0024 */ swc1 $f26, 0x24($sp)
/* C93A0 801324C0 C600006C */ lwc1 $f0, 0x6C($s0)
/* C93A4 801324C4 3C0142B4 */ lui $at, (0x42B40000 >> 16)
/* C93A8 801324C8 44816000 */ mtc1 $at, $f12
/* C93AC 801324CC 0C00A5FD */ jal clamp_angle
/* C93B0 801324D0 460C0301 */ sub.s $f12, $f0, $f12
/* C93B4 801324D4 8E2200A4 */ lw $v0, 0xA4($s1)
/* C93B8 801324D8 3C030100 */ lui $v1, (0x1000000 >> 16)
/* C93BC 801324DC 00431024 */ and $v0, $v0, $v1
/* C93C0 801324E0 10400016 */ beqz $v0, .LIQUE_8013253C
/* C93C4 801324E4 27A40010 */ addiu $a0, $sp, 0x10
/* C93C8 801324E8 3C0141F0 */ lui $at, (0x41F00000 >> 16)
/* C93CC 801324EC 44816000 */ mtc1 $at, $f12
/* C93D0 801324F0 0804C94C */ j .LIQUE_80132530
/* C93D4 801324F4 460C0300 */ add.s $f12, $f0, $f12
.LIQUE_801324F8:
/* C93D8 801324F8 C600006C */ lwc1 $f0, 0x6C($s0)
/* C93DC 801324FC 3C0142B4 */ lui $at, (0x42B40000 >> 16)
/* C93E0 80132500 44816000 */ mtc1 $at, $f12
/* C93E4 80132504 0C00A5FD */ jal clamp_angle
/* C93E8 80132508 460C0300 */ add.s $f12, $f0, $f12
/* C93EC 8013250C 8E2200A4 */ lw $v0, 0xA4($s1)
/* C93F0 80132510 3C030100 */ lui $v1, (0x1000000 >> 16)
/* C93F4 80132514 00431024 */ and $v0, $v0, $v1
/* C93F8 80132518 10400008 */ beqz $v0, .LIQUE_8013253C
/* C93FC 8013251C 27A40010 */ addiu $a0, $sp, 0x10
/* C9400 80132520 3C0141F0 */ lui $at, (0x41F00000 >> 16)
/* C9404 80132524 44816000 */ mtc1 $at, $f12
/* C9408 80132528 00000000 */ nop
/* C940C 8013252C 460C0301 */ sub.s $f12, $f0, $f12
.LIQUE_80132530:
/* C9410 80132530 0C00A5FD */ jal clamp_angle
/* C9414 80132534 00000000 */ nop
/* C9418 80132538 27A40010 */ addiu $a0, $sp, 0x10
.LIQUE_8013253C:
/* C941C 8013253C 3C0641C0 */ lui $a2, (0x41C00000 >> 16)
/* C9420 80132540 44070000 */ mfc1 $a3, $f0
/* C9424 80132544 0C00A71B */ jal add_vec2D_polar
/* C9428 80132548 27A50014 */ addiu $a1, $sp, 0x14
/* C942C 8013254C C6760008 */ lwc1 $f22, 0x8($s3)
/* C9430 80132550 C674000C */ lwc1 $f20, 0xC($s3)
/* C9434 80132554 C6780010 */ lwc1 $f24, 0x10($s3)
/* C9438 80132558 3C014158 */ lui $at, (0x41580000 >> 16)
/* C943C 8013255C 4481E000 */ mtc1 $at, $f28
/* C9440 80132560 461EB081 */ sub.s $f2, $f22, $f30
/* C9444 80132564 46021082 */ mul.s $f2, $f2, $f2
/* C9448 80132568 00000000 */ nop
/* C944C 8013256C C7A60018 */ lwc1 $f6, 0x18($sp)
/* C9450 80132570 4606C001 */ sub.s $f0, $f24, $f6
/* C9454 80132574 46000002 */ mul.s $f0, $f0, $f0
/* C9458 80132578 00000000 */ nop
/* C945C 8013257C 46001300 */ add.s $f12, $f2, $f0
/* C9460 80132580 46006104 */ sqrt.s $f4, $f12
/* C9464 80132584 46042032 */ c.eq.s $f4, $f4
/* C9468 80132588 00000000 */ nop
/* C946C 8013258C 45010004 */ bc1t .LIQUE_801325A0
/* C9470 80132590 00000000 */ nop
/* C9474 80132594 0C0183A0 */ jal sqrtf
/* C9478 80132598 00000000 */ nop
/* C947C 8013259C 46000106 */ mov.s $f4, $f0
.LIQUE_801325A0:
/* C9480 801325A0 C7A80020 */ lwc1 $f8, 0x20($sp)
/* C9484 801325A4 461C4000 */ add.s $f0, $f8, $f28
/* C9488 801325A8 4604003E */ c.le.s $f0, $f4
/* C948C 801325AC 00000000 */ nop
/* C9490 801325B0 4501000F */ bc1t .LIQUE_801325F0
/* C9494 801325B4 00000000 */ nop
/* C9498 801325B8 3C0141D8 */ lui $at, (0x41D80000 >> 16)
/* C949C 801325BC 44813000 */ mtc1 $at, $f6
/* C94A0 801325C0 00000000 */ nop
/* C94A4 801325C4 4606A000 */ add.s $f0, $f20, $f6
/* C94A8 801325C8 461A003C */ c.lt.s $f0, $f26
/* C94AC 801325CC 00000000 */ nop
/* C94B0 801325D0 45010007 */ bc1t .LIQUE_801325F0
/* C94B4 801325D4 00000000 */ nop
/* C94B8 801325D8 C7A8001C */ lwc1 $f8, 0x1C($sp)
/* C94BC 801325DC 4608D000 */ add.s $f0, $f26, $f8
/* C94C0 801325E0 4614003C */ c.lt.s $f0, $f20
/* C94C4 801325E4 00000000 */ nop
/* C94C8 801325E8 45020001 */ bc1fl .LIQUE_801325F0
/* C94CC 801325EC 24120001 */ addiu $s2, $zero, 0x1
.LIQUE_801325F0:
/* C94D0 801325F0 822300B4 */ lb $v1, 0xB4($s1)
/* C94D4 801325F4 24020012 */ addiu $v0, $zero, 0x12
/* C94D8 801325F8 1462002F */ bne $v1, $v0, .LIQUE_801326B8
/* C94DC 801325FC 3C030100 */ lui $v1, (0x1000000 >> 16)
/* C94E0 80132600 8E220000 */ lw $v0, 0x0($s1)
/* C94E4 80132604 00431024 */ and $v0, $v0, $v1
/* C94E8 80132608 1040002B */ beqz $v0, .LIQUE_801326B8
/* C94EC 8013260C 00000000 */ nop
/* C94F0 80132610 C7A00010 */ lwc1 $f0, 0x10($sp)
/* C94F4 80132614 4600B081 */ sub.s $f2, $f22, $f0
/* C94F8 80132618 46021082 */ mul.s $f2, $f2, $f2
/* C94FC 8013261C 00000000 */ nop
/* C9500 80132620 C7A00014 */ lwc1 $f0, 0x14($sp)
/* C9504 80132624 4600C001 */ sub.s $f0, $f24, $f0
/* C9508 80132628 46000002 */ mul.s $f0, $f0, $f0
/* C950C 8013262C 00000000 */ nop
/* C9510 80132630 46001300 */ add.s $f12, $f2, $f0
/* C9514 80132634 46006104 */ sqrt.s $f4, $f12
/* C9518 80132638 46042032 */ c.eq.s $f4, $f4
/* C951C 8013263C 00000000 */ nop
/* C9520 80132640 45010004 */ bc1t .LIQUE_80132654
/* C9524 80132644 00000000 */ nop
/* C9528 80132648 0C0183A0 */ jal sqrtf
/* C952C 8013264C 00000000 */ nop
/* C9530 80132650 46000106 */ mov.s $f4, $f0
.LIQUE_80132654:
/* C9534 80132654 3C014160 */ lui $at, (0x41600000 >> 16)
/* C9538 80132658 44813000 */ mtc1 $at, $f6
/* C953C 8013265C 00000000 */ nop
/* C9540 80132660 461C3000 */ add.s $f0, $f6, $f28
/* C9544 80132664 4604003E */ c.le.s $f0, $f4
/* C9548 80132668 00000000 */ nop
/* C954C 8013266C 45010012 */ bc1t .LIQUE_801326B8
/* C9550 80132670 00000000 */ nop
/* C9554 80132674 3C0141D8 */ lui $at, (0x41D80000 >> 16)
/* C9558 80132678 44814000 */ mtc1 $at, $f8
/* C955C 8013267C 00000000 */ nop
/* C9560 80132680 4608A000 */ add.s $f0, $f20, $f8
/* C9564 80132684 C7A60024 */ lwc1 $f6, 0x24($sp)
/* C9568 80132688 4606003C */ c.lt.s $f0, $f6
/* C956C 8013268C 00000000 */ nop
/* C9570 80132690 45010009 */ bc1t .LIQUE_801326B8
/* C9574 80132694 00000000 */ nop
/* C9578 80132698 3C014190 */ lui $at, (0x41900000 >> 16)
/* C957C 8013269C 44814000 */ mtc1 $at, $f8
/* C9580 801326A0 00000000 */ nop
/* C9584 801326A4 46083000 */ add.s $f0, $f6, $f8
/* C9588 801326A8 4614003C */ c.lt.s $f0, $f20
/* C958C 801326AC 00000000 */ nop
/* C9590 801326B0 45020001 */ bc1fl .LIQUE_801326B8
/* C9594 801326B4 24120001 */ addiu $s2, $zero, 0x1
.LIQUE_801326B8:
/* C9598 801326B8 12400012 */ beqz $s2, .LIQUE_80132704
/* C959C 801326BC 00000000 */ nop
/* C95A0 801326C0 8E640000 */ lw $a0, 0x0($s3)
/* C95A4 801326C4 30820080 */ andi $v0, $a0, 0x80
/* C95A8 801326C8 10400015 */ beqz $v0, .LIQUE_80132720
/* C95AC 801326CC 24020001 */ addiu $v0, $zero, 0x1
/* C95B0 801326D0 3C058016 */ lui $a1, %hi(D_801565A6)
/* C95B4 801326D4 24A58926 */ addiu $a1, $a1, %lo(D_801565A6)
/* C95B8 801326D8 84A20000 */ lh $v0, 0x0($a1)
/* C95BC 801326DC 94A30000 */ lhu $v1, 0x0($a1)
/* C95C0 801326E0 10400004 */ beqz $v0, .LIQUE_801326F4
/* C95C4 801326E4 2402FF7F */ addiu $v0, $zero, -0x81
/* C95C8 801326E8 2462FFFF */ addiu $v0, $v1, -0x1
/* C95CC 801326EC 0804C9C7 */ j .LIQUE_8013271C
/* C95D0 801326F0 A4A20000 */ sh $v0, 0x0($a1)
.LIQUE_801326F4:
/* C95D4 801326F4 00821024 */ and $v0, $a0, $v0
.LIQUE_801326F8:
/* C95D8 801326F8 AE620000 */ sw $v0, 0x0($s3)
/* C95DC 801326FC 0804C9C8 */ j .LIQUE_80132720
/* C95E0 80132700 24020001 */ addiu $v0, $zero, 0x1
.LIQUE_80132704:
/* C95E4 80132704 8E630000 */ lw $v1, 0x0($s3)
/* C95E8 80132708 30620080 */ andi $v0, $v1, 0x80
/* C95EC 8013270C 10400003 */ beqz $v0, .LIQUE_8013271C
/* C95F0 80132710 2402FF7F */ addiu $v0, $zero, -0x81
/* C95F4 80132714 00621024 */ and $v0, $v1, $v0
/* C95F8 80132718 AE620000 */ sw $v0, 0x0($s3)
.LIQUE_8013271C:
/* C95FC 8013271C 0000102D */ daddu $v0, $zero, $zero
.LIQUE_80132720:
/* C9600 80132720 8FBF003C */ lw $ra, 0x3C($sp)
/* C9604 80132724 8FB40038 */ lw $s4, 0x38($sp)
/* C9608 80132728 8FB30034 */ lw $s3, 0x34($sp)
/* C960C 8013272C 8FB20030 */ lw $s2, 0x30($sp)
/* C9610 80132730 8FB1002C */ lw $s1, 0x2C($sp)
/* C9614 80132734 8FB00028 */ lw $s0, 0x28($sp)
/* C9618 80132738 D7BE0068 */ ldc1 $f30, 0x68($sp)
/* C961C 8013273C D7BC0060 */ ldc1 $f28, 0x60($sp)
/* C9620 80132740 D7BA0058 */ ldc1 $f26, 0x58($sp)
/* C9624 80132744 D7B80050 */ ldc1 $f24, 0x50($sp)
/* C9628 80132748 D7B60048 */ ldc1 $f22, 0x48($sp)
/* C962C 8013274C D7B40040 */ ldc1 $f20, 0x40($sp)
/* C9630 80132750 03E00008 */ jr $ra
/* C9634 80132754 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -0,0 +1,332 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel mdl_project_tex_coords
/* B15EC 8011A70C 27BDFF68 */ addiu $sp, $sp, -0x98
/* B15F0 8011A710 AFB40058 */ sw $s4, 0x58($sp)
/* B15F4 8011A714 00A0A02D */ daddu $s4, $a1, $zero
/* B15F8 8011A718 AFB00048 */ sw $s0, 0x48($sp)
/* B15FC 8011A71C 00C0802D */ daddu $s0, $a2, $zero
/* B1600 8011A720 AFB5005C */ sw $s5, 0x5C($sp)
/* B1604 8011A724 00E0A82D */ daddu $s5, $a3, $zero
/* B1608 8011A728 AFBF0060 */ sw $ra, 0x60($sp)
/* B160C 8011A72C AFB30054 */ sw $s3, 0x54($sp)
/* B1610 8011A730 AFB20050 */ sw $s2, 0x50($sp)
/* B1614 8011A734 AFB1004C */ sw $s1, 0x4C($sp)
/* B1618 8011A738 F7BE0090 */ sdc1 $f30, 0x90($sp)
/* B161C 8011A73C F7BC0088 */ sdc1 $f28, 0x88($sp)
/* B1620 8011A740 F7BA0080 */ sdc1 $f26, 0x80($sp)
/* B1624 8011A744 F7B80078 */ sdc1 $f24, 0x78($sp)
/* B1628 8011A748 F7B60070 */ sdc1 $f22, 0x70($sp)
/* B162C 8011A74C F7B40068 */ sdc1 $f20, 0x68($sp)
/* B1630 8011A750 0C0464FC */ jal get_model_list_index_from_tree_index
/* B1634 8011A754 3084FFFF */ andi $a0, $a0, 0xFFFF
/* B1638 8011A758 0C046444 */ jal get_model_from_list_index
/* B163C 8011A75C 0040202D */ daddu $a0, $v0, $zero
/* B1640 8011A760 8C420008 */ lw $v0, 0x8($v0)
/* B1644 8011A764 240600DF */ addiu $a2, $zero, 0xDF
/* B1648 8011A768 8C420004 */ lw $v0, 0x4($v0)
/* B164C 8011A76C 24050001 */ addiu $a1, $zero, 0x1
/* B1650 8011A770 8C420000 */ lw $v0, 0x0($v0)
.LIQUE_8011A774:
/* B1654 8011A774 90430000 */ lbu $v1, 0x0($v0)
/* B1658 8011A778 10660004 */ beq $v1, $a2, .LIQUE_8011A78C
/* B165C 8011A77C 8C440004 */ lw $a0, 0x4($v0)
/* B1660 8011A780 1465FFFC */ bne $v1, $a1, .LIQUE_8011A774
/* B1664 8011A784 24420008 */ addiu $v0, $v0, 0x8
/* B1668 8011A788 AFA4001C */ sw $a0, 0x1C($sp)
.LIQUE_8011A78C:
/* B166C 8011A78C 8FA2001C */ lw $v0, 0x1C($sp)
/* B1670 8011A790 84430000 */ lh $v1, 0x0($v0)
/* B1674 8011A794 84440010 */ lh $a0, 0x10($v0)
/* B1678 8011A798 44838000 */ mtc1 $v1, $f16
/* B167C 8011A79C 00000000 */ nop
/* B1680 8011A7A0 46808420 */ cvt.s.w $f16, $f16
/* B1684 8011A7A4 44842000 */ mtc1 $a0, $f4
/* B1688 8011A7A8 00000000 */ nop
/* B168C 8011A7AC 46802120 */ cvt.s.w $f4, $f4
/* B1690 8011A7B0 46048032 */ c.eq.s $f16, $f4
/* B1694 8011A7B4 84430004 */ lh $v1, 0x4($v0)
/* B1698 8011A7B8 84440008 */ lh $a0, 0x8($v0)
/* B169C 8011A7BC 44839000 */ mtc1 $v1, $f18
/* B16A0 8011A7C0 00000000 */ nop
/* B16A4 8011A7C4 468094A0 */ cvt.s.w $f18, $f18
/* B16A8 8011A7C8 4484A000 */ mtc1 $a0, $f20
/* B16AC 8011A7CC 00000000 */ nop
/* B16B0 8011A7D0 4680A520 */ cvt.s.w $f20, $f20
/* B16B4 8011A7D4 8443000A */ lh $v1, 0xA($v0)
/* B16B8 8011A7D8 84440014 */ lh $a0, 0x14($v0)
/* B16BC 8011A7DC 4483B000 */ mtc1 $v1, $f22
/* B16C0 8011A7E0 00000000 */ nop
/* B16C4 8011A7E4 4680B5A0 */ cvt.s.w $f22, $f22
/* B16C8 8011A7E8 44845000 */ mtc1 $a0, $f10
/* B16CC 8011A7EC 00000000 */ nop
/* B16D0 8011A7F0 468052A0 */ cvt.s.w $f10, $f10
/* B16D4 8011A7F4 E7B60038 */ swc1 $f22, 0x38($sp)
/* B16D8 8011A7F8 84430018 */ lh $v1, 0x18($v0)
/* B16DC 8011A7FC 8444001A */ lh $a0, 0x1A($v0)
/* B16E0 8011A800 44830000 */ mtc1 $v1, $f0
/* B16E4 8011A804 00000000 */ nop
/* B16E8 8011A808 46800020 */ cvt.s.w $f0, $f0
/* B16EC 8011A80C 4484E000 */ mtc1 $a0, $f28
/* B16F0 8011A810 00000000 */ nop
/* B16F4 8011A814 4680E720 */ cvt.s.w $f28, $f28
/* B16F8 8011A818 E7BC0024 */ swc1 $f28, 0x24($sp)
/* B16FC 8011A81C 84430020 */ lh $v1, 0x20($v0)
/* B1700 8011A820 84440024 */ lh $a0, 0x24($v0)
/* B1704 8011A824 4483C000 */ mtc1 $v1, $f24
/* B1708 8011A828 00000000 */ nop
/* B170C 8011A82C 4680C620 */ cvt.s.w $f24, $f24
/* B1710 8011A830 44843000 */ mtc1 $a0, $f6
/* B1714 8011A834 00000000 */ nop
/* B1718 8011A838 468031A0 */ cvt.s.w $f6, $f6
/* B171C 8011A83C 84430028 */ lh $v1, 0x28($v0)
/* B1720 8011A840 8444002A */ lh $a0, 0x2A($v0)
/* B1724 8011A844 4483D000 */ mtc1 $v1, $f26
/* B1728 8011A848 00000000 */ nop
/* B172C 8011A84C 4680D6A0 */ cvt.s.w $f26, $f26
/* B1730 8011A850 4484B000 */ mtc1 $a0, $f22
/* B1734 8011A854 00000000 */ nop
/* B1738 8011A858 4680B5A0 */ cvt.s.w $f22, $f22
/* B173C 8011A85C E7B60028 */ swc1 $f22, 0x28($sp)
/* B1740 8011A860 9053000C */ lbu $s3, 0xC($v0)
/* B1744 8011A864 9052000D */ lbu $s2, 0xD($v0)
/* B1748 8011A868 9051000E */ lbu $s1, 0xE($v0)
/* B174C 8011A86C 4503002E */ bc1tl .LIQUE_8011A928
/* B1750 8011A870 46069081 */ sub.s $f2, $f18, $f6
/* B1754 8011A874 46188081 */ sub.s $f2, $f16, $f24
/* B1758 8011A878 46048381 */ sub.s $f14, $f16, $f4
/* B175C 8011A87C 4600A201 */ sub.s $f8, $f20, $f0
/* B1760 8011A880 460E1083 */ div.s $f2, $f2, $f14
/* B1764 8011A884 46081002 */ mul.s $f0, $f2, $f8
/* B1768 8011A888 00000000 */ nop
/* B176C 8011A88C 460A9301 */ sub.s $f12, $f18, $f10
/* B1770 8011A890 460C1282 */ mul.s $f10, $f2, $f12
/* B1774 8011A894 00000000 */ nop
/* B1778 8011A898 461AA101 */ sub.s $f4, $f20, $f26
/* B177C 8011A89C 46069181 */ sub.s $f6, $f18, $f6
/* B1780 8011A8A0 46040001 */ sub.s $f0, $f0, $f4
/* B1784 8011A8A4 46065281 */ sub.s $f10, $f10, $f6
/* B1788 8011A8A8 460A0003 */ div.s $f0, $f0, $f10
/* B178C 8011A8AC E7A00040 */ swc1 $f0, 0x40($sp)
/* B1790 8011A8B0 46006002 */ mul.s $f0, $f12, $f0
/* B1794 8011A8B4 00000000 */ nop
/* B1798 8011A8B8 C7B60038 */ lwc1 $f22, 0x38($sp)
/* B179C 8011A8BC 461CB101 */ sub.s $f4, $f22, $f28
/* B17A0 8011A8C0 46041082 */ mul.s $f2, $f2, $f4
/* B17A4 8011A8C4 00000000 */ nop
/* B17A8 8011A8C8 46004201 */ sub.s $f8, $f8, $f0
/* B17AC 8011A8CC 460E4783 */ div.s $f30, $f8, $f14
/* B17B0 8011A8D0 4610F182 */ mul.s $f6, $f30, $f16
/* B17B4 8011A8D4 00000000 */ nop
/* B17B8 8011A8D8 C7BC0028 */ lwc1 $f28, 0x28($sp)
/* B17BC 8011A8DC 461CB001 */ sub.s $f0, $f22, $f28
/* B17C0 8011A8E0 C7B60040 */ lwc1 $f22, 0x40($sp)
/* B17C4 8011A8E4 4612B202 */ mul.s $f8, $f22, $f18
/* B17C8 8011A8E8 00000000 */ nop
/* B17CC 8011A8EC 46001081 */ sub.s $f2, $f2, $f0
/* B17D0 8011A8F0 460A1683 */ div.s $f26, $f2, $f10
/* B17D4 8011A8F4 461A6302 */ mul.s $f12, $f12, $f26
/* B17D8 8011A8F8 00000000 */ nop
/* B17DC 8011A8FC 4612D082 */ mul.s $f2, $f26, $f18
/* B17E0 8011A900 00000000 */ nop
/* B17E4 8011A904 460C2101 */ sub.s $f4, $f4, $f12
/* B17E8 8011A908 460E2603 */ div.s $f24, $f4, $f14
/* B17EC 8011A90C 4610C002 */ mul.s $f0, $f24, $f16
/* B17F0 8011A910 00000000 */ nop
/* B17F4 8011A914 4606A181 */ sub.s $f6, $f20, $f6
/* B17F8 8011A918 46083181 */ sub.s $f6, $f6, $f8
/* B17FC 8011A91C C7BC0038 */ lwc1 $f28, 0x38($sp)
/* B1800 8011A920 08046A74 */ j .LIQUE_8011A9D0
/* B1804 8011A924 4600E001 */ sub.s $f0, $f28, $f0
.LIQUE_8011A928:
/* B1808 8011A928 460A9381 */ sub.s $f14, $f18, $f10
/* B180C 8011A92C 4600A201 */ sub.s $f8, $f20, $f0
/* B1810 8011A930 460E1083 */ div.s $f2, $f2, $f14
/* B1814 8011A934 46081002 */ mul.s $f0, $f2, $f8
/* B1818 8011A938 00000000 */ nop
/* B181C 8011A93C 46048301 */ sub.s $f12, $f16, $f4
/* B1820 8011A940 460C1282 */ mul.s $f10, $f2, $f12
/* B1824 8011A944 00000000 */ nop
/* B1828 8011A948 461AA101 */ sub.s $f4, $f20, $f26
/* B182C 8011A94C 46188181 */ sub.s $f6, $f16, $f24
/* B1830 8011A950 46040001 */ sub.s $f0, $f0, $f4
/* B1834 8011A954 46065281 */ sub.s $f10, $f10, $f6
/* B1838 8011A958 460A0783 */ div.s $f30, $f0, $f10
/* B183C 8011A95C 461E6002 */ mul.s $f0, $f12, $f30
/* B1840 8011A960 00000000 */ nop
/* B1844 8011A964 4610F182 */ mul.s $f6, $f30, $f16
/* B1848 8011A968 00000000 */ nop
/* B184C 8011A96C C7B60038 */ lwc1 $f22, 0x38($sp)
/* B1850 8011A970 C7BC0024 */ lwc1 $f28, 0x24($sp)
/* B1854 8011A974 461CB101 */ sub.s $f4, $f22, $f28
/* B1858 8011A978 46041082 */ mul.s $f2, $f2, $f4
/* B185C 8011A97C 00000000 */ nop
/* B1860 8011A980 46004201 */ sub.s $f8, $f8, $f0
/* B1864 8011A984 460E4203 */ div.s $f8, $f8, $f14
/* B1868 8011A988 E7A80040 */ swc1 $f8, 0x40($sp)
/* B186C 8011A98C 46124202 */ mul.s $f8, $f8, $f18
/* B1870 8011A990 00000000 */ nop
/* B1874 8011A994 C7BC0028 */ lwc1 $f28, 0x28($sp)
/* B1878 8011A998 461CB001 */ sub.s $f0, $f22, $f28
/* B187C 8011A99C 46001081 */ sub.s $f2, $f2, $f0
/* B1880 8011A9A0 460A1603 */ div.s $f24, $f2, $f10
/* B1884 8011A9A4 46186302 */ mul.s $f12, $f12, $f24
/* B1888 8011A9A8 00000000 */ nop
/* B188C 8011A9AC 4610C002 */ mul.s $f0, $f24, $f16
/* B1890 8011A9B0 00000000 */ nop
/* B1894 8011A9B4 460C2101 */ sub.s $f4, $f4, $f12
/* B1898 8011A9B8 460E2683 */ div.s $f26, $f4, $f14
/* B189C 8011A9BC 4612D082 */ mul.s $f2, $f26, $f18
/* B18A0 8011A9C0 00000000 */ nop
/* B18A4 8011A9C4 4606A181 */ sub.s $f6, $f20, $f6
/* B18A8 8011A9C8 46083181 */ sub.s $f6, $f6, $f8
/* B18AC 8011A9CC 4600B001 */ sub.s $f0, $f22, $f0
.LIQUE_8011A9D0:
/* B18B0 8011A9D0 E7A6002C */ swc1 $f6, 0x2C($sp)
/* B18B4 8011A9D4 46020501 */ sub.s $f20, $f0, $f2
/* B18B8 8011A9D8 0280202D */ daddu $a0, $s4, $zero
/* B18BC 8011A9DC 27A50018 */ addiu $a1, $sp, 0x18
/* B18C0 8011A9E0 27A6001C */ addiu $a2, $sp, 0x1C
/* B18C4 8011A9E4 27A70020 */ addiu $a3, $sp, 0x20
/* B18C8 8011A9E8 0C046902 */ jal mdl_get_vertex_count
/* B18CC 8011A9EC AFB50010 */ sw $s5, 0x10($sp)
/* B18D0 8011A9F0 8FA20018 */ lw $v0, 0x18($sp)
/* B18D4 8011A9F4 1840006E */ blez $v0, .LIQUE_8011ABB0
/* B18D8 8011A9F8 0000282D */ daddu $a1, $zero, $zero
/* B18DC 8011A9FC 44809000 */ mtc1 $zero, $f18
/* B18E0 8011AA00 3C013FE0 */ lui $at, (0x3FE00000 >> 16)
/* B18E4 8011AA04 44818800 */ mtc1 $at, $f17
/* B18E8 8011AA08 44808000 */ mtc1 $zero, $f16
.LIQUE_8011AA0C:
/* B18EC 8011AA0C 8FA3001C */ lw $v1, 0x1C($sp)
/* B18F0 8011AA10 84620000 */ lh $v0, 0x0($v1)
/* B18F4 8011AA14 44823000 */ mtc1 $v0, $f6
/* B18F8 8011AA18 00000000 */ nop
/* B18FC 8011AA1C 468031A0 */ cvt.s.w $f6, $f6
/* B1900 8011AA20 84620002 */ lh $v0, 0x2($v1)
/* B1904 8011AA24 84630004 */ lh $v1, 0x4($v1)
/* B1908 8011AA28 44827000 */ mtc1 $v0, $f14
/* B190C 8011AA2C 00000000 */ nop
/* B1910 8011AA30 468073A0 */ cvt.s.w $f14, $f14
/* B1914 8011AA34 44836000 */ mtc1 $v1, $f12
/* B1918 8011AA38 00000000 */ nop
/* B191C 8011AA3C 46806320 */ cvt.s.w $f12, $f12
/* B1920 8011AA40 1200001C */ beqz $s0, .LIQUE_8011AAB4
/* B1924 8011AA44 46003286 */ mov.s $f10, $f6
/* B1928 8011AA48 C6040000 */ lwc1 $f4, 0x0($s0)
/* B192C 8011AA4C 46062102 */ mul.s $f4, $f4, $f6
/* B1930 8011AA50 00000000 */ nop
/* B1934 8011AA54 C60A0010 */ lwc1 $f10, 0x10($s0)
/* B1938 8011AA58 460E5282 */ mul.s $f10, $f10, $f14
/* B193C 8011AA5C 00000000 */ nop
/* B1940 8011AA60 C6000020 */ lwc1 $f0, 0x20($s0)
/* B1944 8011AA64 460C0002 */ mul.s $f0, $f0, $f12
/* B1948 8011AA68 00000000 */ nop
/* B194C 8011AA6C C6020008 */ lwc1 $f2, 0x8($s0)
/* B1950 8011AA70 46061082 */ mul.s $f2, $f2, $f6
/* B1954 8011AA74 00000000 */ nop
/* B1958 8011AA78 C6080018 */ lwc1 $f8, 0x18($s0)
/* B195C 8011AA7C 460E4202 */ mul.s $f8, $f8, $f14
/* B1960 8011AA80 00000000 */ nop
/* B1964 8011AA84 C6060028 */ lwc1 $f6, 0x28($s0)
/* B1968 8011AA88 460C3182 */ mul.s $f6, $f6, $f12
/* B196C 8011AA8C 00000000 */ nop
/* B1970 8011AA90 460A2100 */ add.s $f4, $f4, $f10
/* B1974 8011AA94 46081080 */ add.s $f2, $f2, $f8
/* B1978 8011AA98 46002100 */ add.s $f4, $f4, $f0
/* B197C 8011AA9C 46061080 */ add.s $f2, $f2, $f6
/* B1980 8011AAA0 C6000030 */ lwc1 $f0, 0x30($s0)
/* B1984 8011AAA4 46002280 */ add.s $f10, $f4, $f0
/* B1988 8011AAA8 C6000038 */ lwc1 $f0, 0x38($s0)
/* B198C 8011AAAC 08046AAE */ j .LIQUE_8011AAB8
/* B1990 8011AAB0 46001180 */ add.s $f6, $f2, $f0
.LIQUE_8011AAB4:
/* B1994 8011AAB4 46006186 */ mov.s $f6, $f12
.LIQUE_8011AAB8:
/* B1998 8011AAB8 460AF002 */ mul.s $f0, $f30, $f10
/* B199C 8011AABC 00000000 */ nop
/* B19A0 8011AAC0 460AC082 */ mul.s $f2, $f24, $f10
/* B19A4 8011AAC4 00000000 */ nop
/* B19A8 8011AAC8 C7B60040 */ lwc1 $f22, 0x40($sp)
/* B19AC 8011AACC 4606B102 */ mul.s $f4, $f22, $f6
/* B19B0 8011AAD0 00000000 */ nop
/* B19B4 8011AAD4 4606D182 */ mul.s $f6, $f26, $f6
/* B19B8 8011AAD8 00000000 */ nop
/* B19BC 8011AADC 46040000 */ add.s $f0, $f0, $f4
/* B19C0 8011AAE0 46061080 */ add.s $f2, $f2, $f6
/* B19C4 8011AAE4 C7BC002C */ lwc1 $f28, 0x2C($sp)
/* B19C8 8011AAE8 461C0100 */ add.s $f4, $f0, $f28
/* B19CC 8011AAEC 4612203C */ c.lt.s $f4, $f18
/* B19D0 8011AAF0 00000000 */ nop
/* B19D4 8011AAF4 45000004 */ bc1f .LIQUE_8011AB08
/* B19D8 8011AAF8 46141080 */ add.s $f2, $f2, $f20
/* B19DC 8011AAFC 46002021 */ cvt.d.s $f0, $f4
/* B19E0 8011AB00 08046AC8 */ j .LIQUE_8011AB20
/* B19E4 8011AB04 46300001 */ sub.d $f0, $f0, $f16
.LIQUE_8011AB08:
/* B19E8 8011AB08 4604903C */ c.lt.s $f18, $f4
/* B19EC 8011AB0C 00000000 */ nop
/* B19F0 8011AB10 45000004 */ bc1f .LIQUE_8011AB24
/* B19F4 8011AB14 00000000 */ nop
/* B19F8 8011AB18 46002021 */ cvt.d.s $f0, $f4
/* B19FC 8011AB1C 46300000 */ add.d $f0, $f0, $f16
.LIQUE_8011AB20:
/* B1A00 8011AB20 46200120 */ cvt.s.d $f4, $f0
.LIQUE_8011AB24:
/* B1A04 8011AB24 4612103C */ c.lt.s $f2, $f18
/* B1A08 8011AB28 00000000 */ nop
/* B1A0C 8011AB2C 45000004 */ bc1f .LIQUE_8011AB40
/* B1A10 8011AB30 00000000 */ nop
/* B1A14 8011AB34 46001021 */ cvt.d.s $f0, $f2
/* B1A18 8011AB38 08046AD6 */ j .LIQUE_8011AB58
/* B1A1C 8011AB3C 46300001 */ sub.d $f0, $f0, $f16
.LIQUE_8011AB40:
/* B1A20 8011AB40 4602903C */ c.lt.s $f18, $f2
/* B1A24 8011AB44 00000000 */ nop
/* B1A28 8011AB48 45000004 */ bc1f .LIQUE_8011AB5C
/* B1A2C 8011AB4C 00000000 */ nop
/* B1A30 8011AB50 46001021 */ cvt.d.s $f0, $f2
/* B1A34 8011AB54 46300000 */ add.d $f0, $f0, $f16
.LIQUE_8011AB58:
/* B1A38 8011AB58 462000A0 */ cvt.s.d $f2, $f0
.LIQUE_8011AB5C:
/* B1A3C 8011AB5C 8FA3001C */ lw $v1, 0x1C($sp)
/* B1A40 8011AB60 4600258D */ trunc.w.s $f22, $f4
/* B1A44 8011AB64 4402B000 */ mfc1 $v0, $f22
/* B1A48 8011AB68 00000000 */ nop
/* B1A4C 8011AB6C A4620008 */ sh $v0, 0x8($v1)
/* B1A50 8011AB70 A073000C */ sb $s3, 0xC($v1)
/* B1A54 8011AB74 8FA4001C */ lw $a0, 0x1C($sp)
/* B1A58 8011AB78 4600158D */ trunc.w.s $f22, $f2
/* B1A5C 8011AB7C 4402B000 */ mfc1 $v0, $f22
/* B1A60 8011AB80 00000000 */ nop
/* B1A64 8011AB84 A462000A */ sh $v0, 0xA($v1)
/* B1A68 8011AB88 A092000D */ sb $s2, 0xD($a0)
/* B1A6C 8011AB8C 8FA2001C */ lw $v0, 0x1C($sp)
/* B1A70 8011AB90 24A50001 */ addiu $a1, $a1, 0x1
/* B1A74 8011AB94 A051000E */ sb $s1, 0xE($v0)
/* B1A78 8011AB98 8FA2001C */ lw $v0, 0x1C($sp)
/* B1A7C 8011AB9C 8FA30018 */ lw $v1, 0x18($sp)
/* B1A80 8011ABA0 24420010 */ addiu $v0, $v0, 0x10
/* B1A84 8011ABA4 00A3182A */ slt $v1, $a1, $v1
/* B1A88 8011ABA8 1460FF98 */ bnez $v1, .LIQUE_8011AA0C
/* B1A8C 8011ABAC AFA2001C */ sw $v0, 0x1C($sp)
.LIQUE_8011ABB0:
/* B1A90 8011ABB0 8FBF0060 */ lw $ra, 0x60($sp)
/* B1A94 8011ABB4 8FB5005C */ lw $s5, 0x5C($sp)
/* B1A98 8011ABB8 8FB40058 */ lw $s4, 0x58($sp)
/* B1A9C 8011ABBC 8FB30054 */ lw $s3, 0x54($sp)
/* B1AA0 8011ABC0 8FB20050 */ lw $s2, 0x50($sp)
/* B1AA4 8011ABC4 8FB1004C */ lw $s1, 0x4C($sp)
/* B1AA8 8011ABC8 8FB00048 */ lw $s0, 0x48($sp)
/* B1AAC 8011ABCC D7BE0090 */ ldc1 $f30, 0x90($sp)
/* B1AB0 8011ABD0 D7BC0088 */ ldc1 $f28, 0x88($sp)
/* B1AB4 8011ABD4 D7BA0080 */ ldc1 $f26, 0x80($sp)
/* B1AB8 8011ABD8 D7B80078 */ ldc1 $f24, 0x78($sp)
/* B1ABC 8011ABDC D7B60070 */ ldc1 $f22, 0x70($sp)
/* B1AC0 8011ABE0 D7B40068 */ ldc1 $f20, 0x68($sp)
/* B1AC4 8011ABE4 03E00008 */ jr $ra
/* B1AC8 8011ABE8 27BD0098 */ addiu $sp, $sp, 0x98

View File

@ -0,0 +1,547 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel appendGfx_shading_palette
/* DE028 80147148 27BDFF90 */ addiu $sp, $sp, -0x70
/* DE02C 8014714C F7B60048 */ sdc1 $f22, 0x48($sp)
/* DE030 80147150 C7B60088 */ lwc1 $f22, 0x88($sp)
/* DE034 80147154 F7B80050 */ sdc1 $f24, 0x50($sp)
/* DE038 80147158 C7B8008C */ lwc1 $f24, 0x8C($sp)
/* DE03C 8014715C F7B40040 */ sdc1 $f20, 0x40($sp)
/* DE040 80147160 C7B40090 */ lwc1 $f20, 0x90($sp)
/* DE044 80147164 AFB30024 */ sw $s3, 0x24($sp)
/* DE048 80147168 8FB30094 */ lw $s3, 0x94($sp)
/* DE04C 8014716C AFB20020 */ sw $s2, 0x20($sp)
/* DE050 80147170 8FB20098 */ lw $s2, 0x98($sp)
/* DE054 80147174 AFB40028 */ sw $s4, 0x28($sp)
/* DE058 80147178 8FB4009C */ lw $s4, 0x9C($sp)
/* DE05C 8014717C AFB60030 */ sw $s6, 0x30($sp)
/* DE060 80147180 8FB600A0 */ lw $s6, 0xA0($sp)
/* DE064 80147184 AFB5002C */ sw $s5, 0x2C($sp)
/* DE068 80147188 8FB500A4 */ lw $s5, 0xA4($sp)
/* DE06C 8014718C AFB00018 */ sw $s0, 0x18($sp)
/* DE070 80147190 8FB000AC */ lw $s0, 0xAC($sp)
/* DE074 80147194 AFB1001C */ sw $s1, 0x1C($sp)
/* DE078 80147198 0080882D */ daddu $s1, $a0, $zero
/* DE07C 8014719C F7BC0060 */ sdc1 $f28, 0x60($sp)
/* DE080 801471A0 4480E000 */ mtc1 $zero, $f28
/* DE084 801471A4 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* DE088 801471A8 8C636070 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* DE08C 801471AC 3C04800B */ lui $a0, %hi(gCameras)
/* DE090 801471B0 248407D0 */ addiu $a0, $a0, %lo(gCameras)
/* DE094 801471B4 AFBF003C */ sw $ra, 0x3C($sp)
/* DE098 801471B8 4616B002 */ mul.s $f0, $f22, $f22
/* DE09C 801471BC 00000000 */ nop
/* DE0A0 801471C0 AFBE0038 */ sw $fp, 0x38($sp)
/* DE0A4 801471C4 AFB70034 */ sw $s7, 0x34($sp)
/* DE0A8 801471C8 F7BE0068 */ sdc1 $f30, 0x68($sp)
/* DE0AC 801471CC F7BA0058 */ sdc1 $f26, 0x58($sp)
/* DE0B0 801471D0 4618C082 */ mul.s $f2, $f24, $f24
/* DE0B4 801471D4 00000000 */ nop
/* DE0B8 801471D8 AFA50074 */ sw $a1, 0x74($sp)
/* DE0BC 801471DC AFA60078 */ sw $a2, 0x78($sp)
/* DE0C0 801471E0 AFA7007C */ sw $a3, 0x7C($sp)
/* DE0C4 801471E4 00031080 */ sll $v0, $v1, 2
/* DE0C8 801471E8 4614A102 */ mul.s $f4, $f20, $f20
/* DE0CC 801471EC 00000000 */ nop
/* DE0D0 801471F0 00431021 */ addu $v0, $v0, $v1
/* DE0D4 801471F4 00021080 */ sll $v0, $v0, 2
/* DE0D8 801471F8 00431023 */ subu $v0, $v0, $v1
/* DE0DC 801471FC 000218C0 */ sll $v1, $v0, 3
/* DE0E0 80147200 46020000 */ add.s $f0, $f0, $f2
/* DE0E4 80147204 00431021 */ addu $v0, $v0, $v1
/* DE0E8 80147208 000210C0 */ sll $v0, $v0, 3
/* DE0EC 8014720C 46040300 */ add.s $f12, $f0, $f4
/* DE0F0 80147210 3C013FF0 */ lui $at, (0x3FF00000 >> 16)
/* DE0F4 80147214 44811800 */ mtc1 $at, $f3
/* DE0F8 80147218 44801000 */ mtc1 $zero, $f2
/* DE0FC 8014721C 46006021 */ cvt.d.s $f0, $f12
/* DE100 80147220 4622003C */ c.lt.d $f0, $f2
/* DE104 80147224 00000000 */ nop
/* DE108 80147228 45000008 */ bc1f .LIQUE_8014724C
/* DE10C 8014722C 0044F021 */ addu $fp, $v0, $a0
/* DE110 80147230 44900000 */ mtc1 $s0, $f0
/* DE114 80147234 00000000 */ nop
/* DE118 80147238 46800020 */ cvt.s.w $f0, $f0
/* DE11C 8014723C 460C0002 */ mul.s $f0, $f0, $f12
/* DE120 80147240 00000000 */ nop
/* DE124 80147244 4600028D */ trunc.w.s $f10, $f0
/* DE128 80147248 44105000 */ mfc1 $s0, $f10
.LIQUE_8014724C:
/* DE12C 8014724C 461C6032 */ c.eq.s $f12, $f28
/* DE130 80147250 00000000 */ nop
/* DE134 80147254 4501000D */ bc1t .LIQUE_8014728C
/* DE138 80147258 00000000 */ nop
/* DE13C 8014725C 46006084 */ sqrt.s $f2, $f12
/* DE140 80147260 46021032 */ c.eq.s $f2, $f2
/* DE144 80147264 00000000 */ nop
/* DE148 80147268 45010004 */ bc1t .LIQUE_8014727C
/* DE14C 8014726C 00000000 */ nop
/* DE150 80147270 0C0183A0 */ jal sqrtf
/* DE154 80147274 00000000 */ nop
/* DE158 80147278 46000086 */ mov.s $f2, $f0
.LIQUE_8014727C:
/* DE15C 8014727C 3C013F80 */ lui $at, (0x3F800000 >> 16)
/* DE160 80147280 44810000 */ mtc1 $at, $f0
/* DE164 80147284 00000000 */ nop
/* DE168 80147288 46020303 */ div.s $f12, $f0, $f2
.LIQUE_8014728C:
/* DE16C 8014728C 460CB582 */ mul.s $f22, $f22, $f12
/* DE170 80147290 00000000 */ nop
/* DE174 80147294 460CC602 */ mul.s $f24, $f24, $f12
/* DE178 80147298 00000000 */ nop
/* DE17C 8014729C 460CA502 */ mul.s $f20, $f20, $f12
/* DE180 801472A0 00000000 */ nop
/* DE184 801472A4 C6260008 */ lwc1 $f6, 0x8($s1)
/* DE188 801472A8 C7C200DC */ lwc1 $f2, 0xDC($fp)
/* DE18C 801472AC 46003107 */ neg.s $f4, $f6
/* DE190 801472B0 46022082 */ mul.s $f2, $f4, $f2
/* DE194 801472B4 00000000 */ nop
/* DE198 801472B8 C6280028 */ lwc1 $f8, 0x28($s1)
/* DE19C 801472BC C7C000FC */ lwc1 $f0, 0xFC($fp)
/* DE1A0 801472C0 46004002 */ mul.s $f0, $f8, $f0
/* DE1A4 801472C4 00000000 */ nop
/* DE1A8 801472C8 46001080 */ add.s $f2, $f2, $f0
/* DE1AC 801472CC 44800000 */ mtc1 $zero, $f0
/* DE1B0 801472D0 3C01BF80 */ lui $at, (0xBF800000 >> 16)
/* DE1B4 801472D4 4481F000 */ mtc1 $at, $f30
/* DE1B8 801472D8 4600103C */ c.lt.s $f2, $f0
/* DE1BC 801472DC 00000000 */ nop
/* DE1C0 801472E0 45000004 */ bc1f .LIQUE_801472F4
/* DE1C4 801472E4 00000000 */ nop
/* DE1C8 801472E8 3C013F80 */ lui $at, (0x3F800000 >> 16)
/* DE1CC 801472EC 4481F000 */ mtc1 $at, $f30
/* DE1D0 801472F0 00000000 */ nop
.LIQUE_801472F4:
/* DE1D4 801472F4 4600F03C */ c.lt.s $f30, $f0
/* DE1D8 801472F8 00000000 */ nop
/* DE1DC 801472FC 45000004 */ bc1f .LIQUE_80147310
/* DE1E0 80147300 46003086 */ mov.s $f2, $f6
/* DE1E4 80147304 C6200018 */ lwc1 $f0, 0x18($s1)
/* DE1E8 80147308 08051CC6 */ j .LIQUE_80147318
/* DE1EC 8014730C 46004207 */ neg.s $f8, $f8
.LIQUE_80147310:
/* DE1F0 80147310 46002086 */ mov.s $f2, $f4
/* DE1F4 80147314 C6200018 */ lwc1 $f0, 0x18($s1)
.LIQUE_80147318:
/* DE1F8 80147318 46161102 */ mul.s $f4, $f2, $f22
/* DE1FC 8014731C 00000000 */ nop
/* DE200 80147320 46180002 */ mul.s $f0, $f0, $f24
/* DE204 80147324 00000000 */ nop
/* DE208 80147328 46144202 */ mul.s $f8, $f8, $f20
/* DE20C 8014732C 00000000 */ nop
/* DE210 80147330 C7C200FC */ lwc1 $f2, 0xFC($fp)
/* DE214 80147334 46001087 */ neg.s $f2, $f2
/* DE218 80147338 4602B082 */ mul.s $f2, $f22, $f2
/* DE21C 8014733C 00000000 */ nop
/* DE220 80147340 C7C600DC */ lwc1 $f6, 0xDC($fp)
/* DE224 80147344 4606A182 */ mul.s $f6, $f20, $f6
/* DE228 80147348 00000000 */ nop
/* DE22C 8014734C 46002100 */ add.s $f4, $f4, $f0
/* DE230 80147350 46082100 */ add.s $f4, $f4, $f8
/* DE234 80147354 44800000 */ mtc1 $zero, $f0
/* DE238 80147358 00000000 */ nop
/* DE23C 8014735C 4604003C */ c.lt.s $f0, $f4
/* DE240 80147360 00000000 */ nop
/* DE244 80147364 45000007 */ bc1f .LIQUE_80147384
/* DE248 80147368 46061180 */ add.s $f6, $f2, $f6
/* DE24C 8014736C 44900000 */ mtc1 $s0, $f0
/* DE250 80147370 00000000 */ nop
/* DE254 80147374 46800020 */ cvt.s.w $f0, $f0
/* DE258 80147378 46060682 */ mul.s $f26, $f0, $f6
/* DE25C 8014737C 08051CE6 */ j .LIQUE_80147398
/* DE260 80147380 00000000 */ nop
.LIQUE_80147384:
/* DE264 80147384 44901000 */ mtc1 $s0, $f2
/* DE268 80147388 00000000 */ nop
/* DE26C 8014738C 468010A0 */ cvt.s.w $f2, $f2
/* DE270 80147390 46061682 */ mul.s $f26, $f2, $f6
/* DE274 80147394 00000000 */ nop
.LIQUE_80147398:
/* DE278 80147398 4616B002 */ mul.s $f0, $f22, $f22
/* DE27C 8014739C 00000000 */ nop
/* DE280 801473A0 4614A082 */ mul.s $f2, $f20, $f20
/* DE284 801473A4 00000000 */ nop
/* DE288 801473A8 46020500 */ add.s $f20, $f0, $f2
/* DE28C 801473AC 44800000 */ mtc1 $zero, $f0
/* DE290 801473B0 00000000 */ nop
/* DE294 801473B4 4600A032 */ c.eq.s $f20, $f0
/* DE298 801473B8 00000000 */ nop
/* DE29C 801473BC 45010009 */ bc1t .LIQUE_801473E4
/* DE2A0 801473C0 00000000 */ nop
/* DE2A4 801473C4 4600A004 */ sqrt.s $f0, $f20
/* DE2A8 801473C8 46000032 */ c.eq.s $f0, $f0
/* DE2AC 801473CC 00000000 */ nop
/* DE2B0 801473D0 45030004 */ bc1tl .LIQUE_801473E4
/* DE2B4 801473D4 46000506 */ mov.s $f20, $f0
/* DE2B8 801473D8 0C0183A0 */ jal sqrtf
/* DE2BC 801473DC 4600A306 */ mov.s $f12, $f20
/* DE2C0 801473E0 46000506 */ mov.s $f20, $f0
.LIQUE_801473E4:
/* DE2C4 801473E4 C6200004 */ lwc1 $f0, 0x4($s1)
/* DE2C8 801473E8 46000007 */ neg.s $f0, $f0
/* DE2CC 801473EC 46000002 */ mul.s $f0, $f0, $f0
/* DE2D0 801473F0 00000000 */ nop
/* DE2D4 801473F4 C6220024 */ lwc1 $f2, 0x24($s1)
/* DE2D8 801473F8 46021082 */ mul.s $f2, $f2, $f2
/* DE2DC 801473FC 00000000 */ nop
/* DE2E0 80147400 46020300 */ add.s $f12, $f0, $f2
/* DE2E4 80147404 44800000 */ mtc1 $zero, $f0
/* DE2E8 80147408 C6360014 */ lwc1 $f22, 0x14($s1)
/* DE2EC 8014740C 46006032 */ c.eq.s $f12, $f0
/* DE2F0 80147410 00000000 */ nop
/* DE2F4 80147414 45010009 */ bc1t .LIQUE_8014743C
/* DE2F8 80147418 00000000 */ nop
/* DE2FC 8014741C 46006004 */ sqrt.s $f0, $f12
/* DE300 80147420 46000032 */ c.eq.s $f0, $f0
/* DE304 80147424 00000000 */ nop
/* DE308 80147428 45030004 */ bc1tl .LIQUE_8014743C
/* DE30C 8014742C 46000306 */ mov.s $f12, $f0
/* DE310 80147430 0C0183A0 */ jal sqrtf
/* DE314 80147434 00000000 */ nop
/* DE318 80147438 46000306 */ mov.s $f12, $f0
.LIQUE_8014743C:
/* DE31C 8014743C 460CA002 */ mul.s $f0, $f20, $f12
/* DE320 80147440 00000000 */ nop
/* DE324 80147444 4616C082 */ mul.s $f2, $f24, $f22
/* DE328 80147448 00000000 */ nop
/* DE32C 8014744C 46020000 */ add.s $f0, $f0, $f2
/* DE330 80147450 2A620100 */ slti $v0, $s3, 0x100
/* DE334 80147454 44901000 */ mtc1 $s0, $f2
/* DE338 80147458 00000000 */ nop
/* DE33C 8014745C 468010A0 */ cvt.s.w $f2, $f2
/* DE340 80147460 46000007 */ neg.s $f0, $f0
/* DE344 80147464 46020702 */ mul.s $f28, $f0, $f2
/* DE348 80147468 00000000 */ nop
/* DE34C 8014746C 50400001 */ beql $v0, $zero, .LIQUE_80147474
/* DE350 80147470 241300FF */ addiu $s3, $zero, 0xFF
.LIQUE_80147474:
/* DE354 80147474 2A420100 */ slti $v0, $s2, 0x100
/* DE358 80147478 50400001 */ beql $v0, $zero, .LIQUE_80147480
/* DE35C 8014747C 241200FF */ addiu $s2, $zero, 0xFF
.LIQUE_80147480:
/* DE360 80147480 2A820100 */ slti $v0, $s4, 0x100
/* DE364 80147484 50400001 */ beql $v0, $zero, .LIQUE_8014748C
/* DE368 80147488 241400FF */ addiu $s4, $zero, 0xFF
.LIQUE_8014748C:
/* DE36C 8014748C 2AC20100 */ slti $v0, $s6, 0x100
/* DE370 80147490 50400001 */ beql $v0, $zero, .LIQUE_80147498
/* DE374 80147494 241600FF */ addiu $s6, $zero, 0xFF
.LIQUE_80147498:
/* DE378 80147498 2AA20100 */ slti $v0, $s5, 0x100
/* DE37C 8014749C 50400001 */ beql $v0, $zero, .LIQUE_801474A4
/* DE380 801474A0 241500FF */ addiu $s5, $zero, 0xFF
.LIQUE_801474A4:
/* DE384 801474A4 8FAF00A8 */ lw $t7, 0xA8($sp)
/* DE388 801474A8 29E20100 */ slti $v0, $t7, 0x100
/* DE38C 801474AC 14400003 */ bnez $v0, .LIQUE_801474BC
/* DE390 801474B0 3C07FC21 */ lui $a3, (0xFC21FE07 >> 16)
/* DE394 801474B4 240F00FF */ addiu $t7, $zero, 0xFF
/* DE398 801474B8 AFAF00A8 */ sw $t7, 0xA8($sp)
.LIQUE_801474BC:
/* DE39C 801474BC 34E7FE07 */ ori $a3, $a3, (0xFC21FE07 & 0xFFFF)
/* DE3A0 801474C0 3C06F167 */ lui $a2, (0xF167F27F >> 16)
/* DE3A4 801474C4 34C6F27F */ ori $a2, $a2, (0xF167F27F & 0xFFFF)
/* DE3A8 801474C8 3C0DFF10 */ lui $t5, (0xFF10013F >> 16)
/* DE3AC 801474CC 35AD013F */ ori $t5, $t5, (0xFF10013F & 0xFFFF)
/* DE3B0 801474D0 3C080004 */ lui $t0, (0x40004 >> 16)
/* DE3B4 801474D4 35080004 */ ori $t0, $t0, (0x40004 & 0xFFFF)
/* DE3B8 801474D8 3C0FE300 */ lui $t7, (0xE3000A11 >> 16)
/* DE3BC 801474DC 35EF0A11 */ ori $t7, $t7, (0xE3000A11 & 0xFFFF)
/* DE3C0 801474E0 AFAF0010 */ sw $t7, 0x10($sp)
/* DE3C4 801474E4 3C0FE200 */ lui $t7, (0xE200001C >> 16)
/* DE3C8 801474E8 35EF001C */ ori $t7, $t7, (0xE200001C & 0xFFFF)
/* DE3CC 801474EC 3C090F0A */ lui $t1, (0xF0A4000 >> 16)
/* DE3D0 801474F0 35294000 */ ori $t1, $t1, (0xF0A4000 & 0xFFFF)
/* DE3D4 801474F4 3C0BFC34 */ lui $t3, (0xFC347E68 >> 16)
/* DE3D8 801474F8 356B7E68 */ ori $t3, $t3, (0xFC347E68 & 0xFFFF)
/* DE3DC 801474FC 3C0A55FE */ lui $t2, (0x55FEFD7E >> 16)
/* DE3E0 80147500 354AFD7E */ ori $t2, $t2, (0x55FEFD7E & 0xFFFF)
/* DE3E4 80147504 3C0CE404 */ lui $t4, (0xE4040004 >> 16)
/* DE3E8 80147508 358C0004 */ ori $t4, $t4, (0xE4040004 & 0xFFFF)
/* DE3EC 8014750C 3C0E1000 */ lui $t6, (0x10000400 >> 16)
/* DE3F0 80147510 3C17800A */ lui $s7, %hi(gMasterGfxPos)
/* DE3F4 80147514 26F79244 */ addiu $s7, $s7, %lo(gMasterGfxPos)
/* DE3F8 80147518 35CE0400 */ ori $t6, $t6, (0x10000400 & 0xFFFF)
/* DE3FC 8014751C 3C05FA00 */ lui $a1, (0xFA000000 >> 16)
/* DE400 80147520 00131E00 */ sll $v1, $s3, 24
/* DE404 80147524 324200FF */ andi $v0, $s2, 0xFF
/* DE408 80147528 00021400 */ sll $v0, $v0, 16
/* DE40C 8014752C 00621825 */ or $v1, $v1, $v0
/* DE410 80147530 328200FF */ andi $v0, $s4, 0xFF
/* DE414 80147534 00021200 */ sll $v0, $v0, 8
/* DE418 80147538 00621825 */ or $v1, $v1, $v0
/* DE41C 8014753C 3C138016 */ lui $s3, %hi(D_80159880)
/* DE420 80147540 2673BC00 */ addiu $s3, $s3, %lo(D_80159880)
/* DE424 80147544 3C12ED00 */ lui $s2, (0xED000000 >> 16)
/* DE428 80147548 AFAF0014 */ sw $t7, 0x14($sp)
/* DE42C 8014754C 8EF00000 */ lw $s0, 0x0($s7)
/* DE430 80147550 3C14FB00 */ lui $s4, (0xFB000000 >> 16)
/* DE434 80147554 0200202D */ daddu $a0, $s0, $zero
/* DE438 80147558 26100008 */ addiu $s0, $s0, 0x8
/* DE43C 8014755C AEF00000 */ sw $s0, 0x0($s7)
/* DE440 80147560 AC850000 */ sw $a1, 0x0($a0)
/* DE444 80147564 8FAF0084 */ lw $t7, 0x84($sp)
/* DE448 80147568 3C11E700 */ lui $s1, (0xE7000000 >> 16)
/* DE44C 8014756C 31E200FF */ andi $v0, $t7, 0xFF
/* DE450 80147570 00621825 */ or $v1, $v1, $v0
/* DE454 80147574 26020008 */ addiu $v0, $s0, 0x8
/* DE458 80147578 AC830004 */ sw $v1, 0x4($a0)
/* DE45C 8014757C AEE20000 */ sw $v0, 0x0($s7)
/* DE460 80147580 26020010 */ addiu $v0, $s0, 0x10
/* DE464 80147584 AE070000 */ sw $a3, 0x0($s0)
/* DE468 80147588 AE060004 */ sw $a2, 0x4($s0)
/* DE46C 8014758C AEE20000 */ sw $v0, 0x0($s7)
/* DE470 80147590 26020018 */ addiu $v0, $s0, 0x18
/* DE474 80147594 AE0D0008 */ sw $t5, 0x8($s0)
/* DE478 80147598 AE13000C */ sw $s3, 0xC($s0)
/* DE47C 8014759C AEE20000 */ sw $v0, 0x0($s7)
/* DE480 801475A0 26020020 */ addiu $v0, $s0, 0x20
/* DE484 801475A4 AE120010 */ sw $s2, 0x10($s0)
/* DE488 801475A8 AE080014 */ sw $t0, 0x14($s0)
/* DE48C 801475AC AEE20000 */ sw $v0, 0x0($s7)
/* DE490 801475B0 8FAF0010 */ lw $t7, 0x10($sp)
/* DE494 801475B4 24020CF0 */ addiu $v0, $zero, 0xCF0
/* DE498 801475B8 AE02001C */ sw $v0, 0x1C($s0)
/* DE49C 801475BC 26020028 */ addiu $v0, $s0, 0x28
/* DE4A0 801475C0 AE0F0018 */ sw $t7, 0x18($s0)
/* DE4A4 801475C4 AEE20000 */ sw $v0, 0x0($s7)
/* DE4A8 801475C8 8FAF0014 */ lw $t7, 0x14($sp)
/* DE4AC 801475CC 26020030 */ addiu $v0, $s0, 0x30
/* DE4B0 801475D0 AE090024 */ sw $t1, 0x24($s0)
/* DE4B4 801475D4 AE0F0020 */ sw $t7, 0x20($s0)
/* DE4B8 801475D8 AEE20000 */ sw $v0, 0x0($s7)
/* DE4BC 801475DC 26020038 */ addiu $v0, $s0, 0x38
/* DE4C0 801475E0 AE03002C */ sw $v1, 0x2C($s0)
/* DE4C4 801475E4 00161E00 */ sll $v1, $s6, 24
/* DE4C8 801475E8 AE050028 */ sw $a1, 0x28($s0)
/* DE4CC 801475EC AEE20000 */ sw $v0, 0x0($s7)
/* DE4D0 801475F0 32A200FF */ andi $v0, $s5, 0xFF
/* DE4D4 801475F4 00021400 */ sll $v0, $v0, 16
/* DE4D8 801475F8 AE140030 */ sw $s4, 0x30($s0)
/* DE4DC 801475FC 8FAF00A8 */ lw $t7, 0xA8($sp)
/* DE4E0 80147600 00621825 */ or $v1, $v1, $v0
/* DE4E4 80147604 31E200FF */ andi $v0, $t7, 0xFF
/* DE4E8 80147608 00021200 */ sll $v0, $v0, 8
/* DE4EC 8014760C 00621825 */ or $v1, $v1, $v0
/* DE4F0 80147610 26020040 */ addiu $v0, $s0, 0x40
/* DE4F4 80147614 AE030034 */ sw $v1, 0x34($s0)
/* DE4F8 80147618 AEE20000 */ sw $v0, 0x0($s7)
/* DE4FC 8014761C 26020048 */ addiu $v0, $s0, 0x48
/* DE500 80147620 AE0B0038 */ sw $t3, 0x38($s0)
/* DE504 80147624 AE0A003C */ sw $t2, 0x3C($s0)
/* DE508 80147628 AEE20000 */ sw $v0, 0x0($s7)
/* DE50C 8014762C 3C020200 */ lui $v0, (0x2000000 >> 16)
/* DE510 80147630 AE020044 */ sw $v0, 0x44($s0)
/* DE514 80147634 26020050 */ addiu $v0, $s0, 0x50
/* DE518 80147638 AE0C0040 */ sw $t4, 0x40($s0)
/* DE51C 8014763C AEE20000 */ sw $v0, 0x0($s7)
/* DE520 80147640 3C02E100 */ lui $v0, (0xE1000000 >> 16)
/* DE524 80147644 AE020048 */ sw $v0, 0x48($s0)
/* DE528 80147648 26020058 */ addiu $v0, $s0, 0x58
/* DE52C 8014764C AE00004C */ sw $zero, 0x4C($s0)
/* DE530 80147650 AEE20000 */ sw $v0, 0x0($s7)
/* DE534 80147654 3C02F100 */ lui $v0, (0xF1000000 >> 16)
/* DE538 80147658 AE020050 */ sw $v0, 0x50($s0)
/* DE53C 8014765C 26020060 */ addiu $v0, $s0, 0x60
/* DE540 80147660 AE0E0054 */ sw $t6, 0x54($s0)
/* DE544 80147664 AEE20000 */ sw $v0, 0x0($s7)
/* DE548 80147668 3C04800A */ lui $a0, %hi(nuGfxCfb_ptr)
/* DE54C 8014766C 8C849224 */ lw $a0, %lo(nuGfxCfb_ptr)($a0)
/* DE550 80147670 26020068 */ addiu $v0, $s0, 0x68
/* DE554 80147674 AE110058 */ sw $s1, 0x58($s0)
/* DE558 80147678 AE00005C */ sw $zero, 0x5C($s0)
/* DE55C 8014767C AEE20000 */ sw $v0, 0x0($s7)
/* DE560 80147680 0C01836C */ jal osVirtualToPhysical
/* DE564 80147684 AE0D0060 */ sw $t5, 0x60($s0)
/* DE568 80147688 3C06F500 */ lui $a2, (0xF5000110 >> 16)
/* DE56C 8014768C 34C60110 */ ori $a2, $a2, (0xF5000110 & 0xFFFF)
/* DE570 80147690 3C070703 */ lui $a3, (0x703C000 >> 16)
/* DE574 80147694 34E7C000 */ ori $a3, $a3, (0x703C000 & 0xFFFF)
/* DE578 80147698 3C080018 */ lui $t0, (0x18AC30 >> 16)
/* DE57C 8014769C 8EEA0000 */ lw $t2, 0x0($s7)
/* DE580 801476A0 3C014080 */ lui $at, (0x40800000 >> 16)
/* DE584 801476A4 44812000 */ mtc1 $at, $f4
/* DE588 801476A8 3508AC30 */ ori $t0, $t0, (0x18AC30 & 0xFFFF)
/* DE58C 801476AC AE020064 */ sw $v0, 0x64($s0)
/* DE590 801476B0 0140282D */ daddu $a1, $t2, $zero
/* DE594 801476B4 254A0008 */ addiu $t2, $t2, 0x8
/* DE598 801476B8 25420008 */ addiu $v0, $t2, 0x8
/* DE59C 801476BC AEEA0000 */ sw $t2, 0x0($s7)
/* DE5A0 801476C0 AEE20000 */ sw $v0, 0x0($s7)
/* DE5A4 801476C4 25420010 */ addiu $v0, $t2, 0x10
/* DE5A8 801476C8 AEE20000 */ sw $v0, 0x0($s7)
/* DE5AC 801476CC 25420018 */ addiu $v0, $t2, 0x18
/* DE5B0 801476D0 AEE20000 */ sw $v0, 0x0($s7)
/* DE5B4 801476D4 87C2000E */ lh $v0, 0xE($fp)
/* DE5B8 801476D8 87C30010 */ lh $v1, 0x10($fp)
/* DE5BC 801476DC 44821000 */ mtc1 $v0, $f2
/* DE5C0 801476E0 00000000 */ nop
/* DE5C4 801476E4 468010A0 */ cvt.s.w $f2, $f2
/* DE5C8 801476E8 46041082 */ mul.s $f2, $f2, $f4
/* DE5CC 801476EC 00000000 */ nop
/* DE5D0 801476F0 25420020 */ addiu $v0, $t2, 0x20
/* DE5D4 801476F4 44830000 */ mtc1 $v1, $f0
/* DE5D8 801476F8 00000000 */ nop
/* DE5DC 801476FC 46800020 */ cvt.s.w $f0, $f0
/* DE5E0 80147700 AEE20000 */ sw $v0, 0x0($s7)
/* DE5E4 80147704 25420028 */ addiu $v0, $t2, 0x28
/* DE5E8 80147708 46040002 */ mul.s $f0, $f0, $f4
/* DE5EC 8014770C 00000000 */ nop
/* DE5F0 80147710 AEE20000 */ sw $v0, 0x0($s7)
/* DE5F4 80147714 4600128D */ trunc.w.s $f10, $f2
/* DE5F8 80147718 44035000 */ mfc1 $v1, $f10
/* DE5FC 8014771C 00000000 */ nop
/* DE600 80147720 30630FFF */ andi $v1, $v1, 0xFFF
/* DE604 80147724 00031B00 */ sll $v1, $v1, 12
/* DE608 80147728 4600028D */ trunc.w.s $f10, $f0
/* DE60C 8014772C 44025000 */ mfc1 $v0, $f10
/* DE610 80147730 00000000 */ nop
/* DE614 80147734 30420FFF */ andi $v0, $v0, 0xFFF
/* DE618 80147738 00521025 */ or $v0, $v0, $s2
/* DE61C 8014773C 00621825 */ or $v1, $v1, $v0
/* DE620 80147740 ACA30000 */ sw $v1, 0x0($a1)
/* DE624 80147744 87C3000E */ lh $v1, 0xE($fp)
/* DE628 80147748 87C4000A */ lh $a0, 0xA($fp)
/* DE62C 8014774C 25420030 */ addiu $v0, $t2, 0x30
/* DE630 80147750 AEE20000 */ sw $v0, 0x0($s7)
/* DE634 80147754 87C20010 */ lh $v0, 0x10($fp)
/* DE638 80147758 00641821 */ addu $v1, $v1, $a0
/* DE63C 8014775C 44831000 */ mtc1 $v1, $f2
/* DE640 80147760 00000000 */ nop
/* DE644 80147764 468010A0 */ cvt.s.w $f2, $f2
/* DE648 80147768 25440038 */ addiu $a0, $t2, 0x38
/* DE64C 8014776C 87C3000C */ lh $v1, 0xC($fp)
/* DE650 80147770 46041082 */ mul.s $f2, $f2, $f4
/* DE654 80147774 00000000 */ nop
/* DE658 80147778 AEE40000 */ sw $a0, 0x0($s7)
/* DE65C 8014777C 00431021 */ addu $v0, $v0, $v1
/* DE660 80147780 44820000 */ mtc1 $v0, $f0
/* DE664 80147784 00000000 */ nop
/* DE668 80147788 46800020 */ cvt.s.w $f0, $f0
/* DE66C 8014778C 25420040 */ addiu $v0, $t2, 0x40
/* DE670 80147790 46040002 */ mul.s $f0, $f0, $f4
/* DE674 80147794 00000000 */ nop
/* DE678 80147798 AEE20000 */ sw $v0, 0x0($s7)
/* DE67C 8014779C 4600128D */ trunc.w.s $f10, $f2
/* DE680 801477A0 44025000 */ mfc1 $v0, $f10
/* DE684 801477A4 00000000 */ nop
/* DE688 801477A8 30420FFF */ andi $v0, $v0, 0xFFF
/* DE68C 801477AC 00021300 */ sll $v0, $v0, 12
/* DE690 801477B0 4600028D */ trunc.w.s $f10, $f0
/* DE694 801477B4 44035000 */ mfc1 $v1, $f10
/* DE698 801477B8 00000000 */ nop
/* DE69C 801477BC 30630FFF */ andi $v1, $v1, 0xFFF
/* DE6A0 801477C0 00431025 */ or $v0, $v0, $v1
/* DE6A4 801477C4 ACA20004 */ sw $v0, 0x4($a1)
/* DE6A8 801477C8 3C02FD10 */ lui $v0, (0xFD100000 >> 16)
/* DE6AC 801477CC AD420000 */ sw $v0, 0x0($t2)
/* DE6B0 801477D0 3C02E800 */ lui $v0, (0xE8000000 >> 16)
/* DE6B4 801477D4 AD420008 */ sw $v0, 0x8($t2)
/* DE6B8 801477D8 3C020700 */ lui $v0, (0x7000000 >> 16)
/* DE6BC 801477DC AD420014 */ sw $v0, 0x14($t2)
/* DE6C0 801477E0 3C02E600 */ lui $v0, (0xE6000000 >> 16)
/* DE6C4 801477E4 AD420018 */ sw $v0, 0x18($t2)
/* DE6C8 801477E8 3C02F000 */ lui $v0, (0xF0000000 >> 16)
/* DE6CC 801477EC AD530004 */ sw $s3, 0x4($t2)
/* DE6D0 801477F0 AD40000C */ sw $zero, 0xC($t2)
/* DE6D4 801477F4 AD460010 */ sw $a2, 0x10($t2)
/* DE6D8 801477F8 AD40001C */ sw $zero, 0x1C($t2)
/* DE6DC 801477FC AD420020 */ sw $v0, 0x20($t2)
/* DE6E0 80147800 AD470024 */ sw $a3, 0x24($t2)
/* DE6E4 80147804 AD510028 */ sw $s1, 0x28($t2)
/* DE6E8 80147808 AD40002C */ sw $zero, 0x2C($t2)
/* DE6EC 8014780C 8FAF0010 */ lw $t7, 0x10($sp)
/* DE6F0 80147810 3C096464 */ lui $t1, (0x646464FF >> 16)
/* DE6F4 80147814 AD4F0030 */ sw $t7, 0x30($t2)
/* DE6F8 80147818 AD480034 */ sw $t0, 0x34($t2)
/* DE6FC 8014781C 8FAF0014 */ lw $t7, 0x14($sp)
/* DE700 80147820 352964FF */ ori $t1, $t1, (0x646464FF & 0xFFFF)
/* DE704 80147824 AD4F0038 */ sw $t7, 0x38($t2)
/* DE708 80147828 8FA200B0 */ lw $v0, 0xB0($sp)
/* DE70C 8014782C 3C030C08 */ lui $v1, (0xC080000 >> 16)
/* DE710 80147830 00431025 */ or $v0, $v0, $v1
/* DE714 80147834 AD42003C */ sw $v0, 0x3C($t2)
/* DE718 80147838 25420048 */ addiu $v0, $t2, 0x48
/* DE71C 8014783C AEE20000 */ sw $v0, 0x0($s7)
/* DE720 80147840 AD540040 */ sw $s4, 0x40($t2)
/* DE724 80147844 AD490044 */ sw $t1, 0x44($t2)
/* DE728 80147848 8FAF0084 */ lw $t7, 0x84($sp)
/* DE72C 8014784C 240200FF */ addiu $v0, $zero, 0xFF
/* DE730 80147850 15E20005 */ bne $t7, $v0, .LIQUE_80147868
/* DE734 80147854 3C04FC11 */ lui $a0, (0xFC117E80 >> 16)
/* DE738 80147858 34847E80 */ ori $a0, $a0, (0xFC117E80 & 0xFFFF)
/* DE73C 8014785C 3C03F5FF */ lui $v1, (0xF5FFF438 >> 16)
/* DE740 80147860 08051E1D */ j .LIQUE_80147874
/* DE744 80147864 3463F438 */ ori $v1, $v1, (0xF5FFF438 & 0xFFFF)
.LIQUE_80147868:
/* DE748 80147868 34843480 */ ori $a0, $a0, (0xFC113480 & 0xFFFF)
/* DE74C 8014786C 3C03F5FF */ lui $v1, (0xF5FFFE38 >> 16)
/* DE750 80147870 3463FE38 */ ori $v1, $v1, (0xF5FFFE38 & 0xFFFF)
.LIQUE_80147874:
/* DE754 80147874 25420050 */ addiu $v0, $t2, 0x50
/* DE758 80147878 AEE20000 */ sw $v0, 0x0($s7)
/* DE75C 8014787C AD440048 */ sw $a0, 0x48($t2)
/* DE760 80147880 AD43004C */ sw $v1, 0x4C($t2)
/* DE764 80147884 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* DE768 80147888 24639244 */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* DE76C 8014788C 8C620000 */ lw $v0, 0x0($v1)
/* DE770 80147890 461ED002 */ mul.s $f0, $f26, $f30
/* DE774 80147894 00000000 */ nop
/* DE778 80147898 0040382D */ daddu $a3, $v0, $zero
/* DE77C 8014789C 24420008 */ addiu $v0, $v0, 0x8
/* DE780 801478A0 AC620000 */ sw $v0, 0x0($v1)
/* DE784 801478A4 8FAF0074 */ lw $t7, 0x74($sp)
/* DE788 801478A8 3C04F200 */ lui $a0, (0xF2000000 >> 16)
/* DE78C 801478AC 25E30100 */ addiu $v1, $t7, 0x100
/* DE790 801478B0 00031880 */ sll $v1, $v1, 2
/* DE794 801478B4 4600028D */ trunc.w.s $f10, $f0
/* DE798 801478B8 44055000 */ mfc1 $a1, $f10
/* DE79C 801478BC 00000000 */ nop
/* DE7A0 801478C0 00651821 */ addu $v1, $v1, $a1
/* DE7A4 801478C4 30630FFF */ andi $v1, $v1, 0xFFF
/* DE7A8 801478C8 8FAF0078 */ lw $t7, 0x78($sp)
/* DE7AC 801478CC 00031B00 */ sll $v1, $v1, 12
/* DE7B0 801478D0 25E20100 */ addiu $v0, $t7, 0x100
/* DE7B4 801478D4 00021080 */ sll $v0, $v0, 2
/* DE7B8 801478D8 4600E28D */ trunc.w.s $f10, $f28
/* DE7BC 801478DC 44065000 */ mfc1 $a2, $f10
/* DE7C0 801478E0 00000000 */ nop
/* DE7C4 801478E4 00461021 */ addu $v0, $v0, $a2
/* DE7C8 801478E8 30420FFF */ andi $v0, $v0, 0xFFF
/* DE7CC 801478EC 00441025 */ or $v0, $v0, $a0
/* DE7D0 801478F0 00621825 */ or $v1, $v1, $v0
/* DE7D4 801478F4 ACE30000 */ sw $v1, 0x0($a3)
/* DE7D8 801478F8 8FAF007C */ lw $t7, 0x7C($sp)
/* DE7DC 801478FC 8FA20080 */ lw $v0, 0x80($sp)
/* DE7E0 80147900 25E300FF */ addiu $v1, $t7, 0xFF
/* DE7E4 80147904 00031880 */ sll $v1, $v1, 2
/* DE7E8 80147908 00651821 */ addu $v1, $v1, $a1
/* DE7EC 8014790C 30630FFF */ andi $v1, $v1, 0xFFF
/* DE7F0 80147910 00031B00 */ sll $v1, $v1, 12
/* DE7F4 80147914 244200FF */ addiu $v0, $v0, 0xFF
/* DE7F8 80147918 00021080 */ sll $v0, $v0, 2
/* DE7FC 8014791C 00461021 */ addu $v0, $v0, $a2
/* DE800 80147920 30420FFF */ andi $v0, $v0, 0xFFF
/* DE804 80147924 00621825 */ or $v1, $v1, $v0
/* DE808 80147928 ACE30004 */ sw $v1, 0x4($a3)
/* DE80C 8014792C 8FBF003C */ lw $ra, 0x3C($sp)
/* DE810 80147930 8FBE0038 */ lw $fp, 0x38($sp)
/* DE814 80147934 8FB70034 */ lw $s7, 0x34($sp)
/* DE818 80147938 8FB60030 */ lw $s6, 0x30($sp)
/* DE81C 8014793C 8FB5002C */ lw $s5, 0x2C($sp)
/* DE820 80147940 8FB40028 */ lw $s4, 0x28($sp)
/* DE824 80147944 8FB30024 */ lw $s3, 0x24($sp)
/* DE828 80147948 8FB20020 */ lw $s2, 0x20($sp)
/* DE82C 8014794C 8FB1001C */ lw $s1, 0x1C($sp)
/* DE830 80147950 8FB00018 */ lw $s0, 0x18($sp)
/* DE834 80147954 D7BE0068 */ ldc1 $f30, 0x68($sp)
/* DE838 80147958 D7BC0060 */ ldc1 $f28, 0x60($sp)
/* DE83C 8014795C D7BA0058 */ ldc1 $f26, 0x58($sp)
/* DE840 80147960 D7B80050 */ ldc1 $f24, 0x50($sp)
/* DE844 80147964 D7B60048 */ ldc1 $f22, 0x48($sp)
/* DE848 80147968 D7B40040 */ ldc1 $f20, 0x40($sp)
/* DE84C 8014796C 03E00008 */ jr $ra
/* DE850 80147970 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -0,0 +1,725 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel render_hud_element
/* D826C 8014138C 27BDFCF8 */ addiu $sp, $sp, -0x308
/* D8270 80141390 AFB702E4 */ sw $s7, 0x2E4($sp)
/* D8274 80141394 0080B82D */ daddu $s7, $a0, $zero
/* D8278 80141398 AFBF02EC */ sw $ra, 0x2EC($sp)
/* D827C 8014139C AFBE02E8 */ sw $fp, 0x2E8($sp)
/* D8280 801413A0 AFB602E0 */ sw $s6, 0x2E0($sp)
/* D8284 801413A4 AFB502DC */ sw $s5, 0x2DC($sp)
/* D8288 801413A8 AFB402D8 */ sw $s4, 0x2D8($sp)
/* D828C 801413AC AFB302D4 */ sw $s3, 0x2D4($sp)
/* D8290 801413B0 AFB202D0 */ sw $s2, 0x2D0($sp)
/* D8294 801413B4 AFB102CC */ sw $s1, 0x2CC($sp)
/* D8298 801413B8 AFB002C8 */ sw $s0, 0x2C8($sp)
/* D829C 801413BC F7B80300 */ sdc1 $f24, 0x300($sp)
/* D82A0 801413C0 F7B602F8 */ sdc1 $f22, 0x2F8($sp)
/* D82A4 801413C4 F7B402F0 */ sdc1 $f20, 0x2F0($sp)
/* D82A8 801413C8 8EE20000 */ lw $v0, 0x0($s7)
/* D82AC 801413CC 30428000 */ andi $v0, $v0, 0x8000
/* D82B0 801413D0 1040000C */ beqz $v0, .LIQUE_80141404
/* D82B4 801413D4 3C05E300 */ lui $a1, (0xE3001201 >> 16)
/* D82B8 801413D8 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* D82BC 801413DC 24639244 */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* D82C0 801413E0 8C620000 */ lw $v0, 0x0($v1)
/* D82C4 801413E4 34A51201 */ ori $a1, $a1, (0xE3001201 & 0xFFFF)
/* D82C8 801413E8 0040202D */ daddu $a0, $v0, $zero
/* D82CC 801413EC 24420008 */ addiu $v0, $v0, 0x8
/* D82D0 801413F0 AC620000 */ sw $v0, 0x0($v1)
/* D82D4 801413F4 24023000 */ addiu $v0, $zero, 0x3000
/* D82D8 801413F8 AC850000 */ sw $a1, 0x0($a0)
/* D82DC 801413FC 0805050A */ j .LIQUE_80141428
/* D82E0 80141400 AC820004 */ sw $v0, 0x4($a0)
.LIQUE_80141404:
/* D82E4 80141404 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* D82E8 80141408 24849244 */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* D82EC 8014140C 8C820000 */ lw $v0, 0x0($a0)
/* D82F0 80141410 34A51201 */ ori $a1, $a1, (0xE3001201 & 0xFFFF)
/* D82F4 80141414 0040182D */ daddu $v1, $v0, $zero
/* D82F8 80141418 24420008 */ addiu $v0, $v0, 0x8
/* D82FC 8014141C AC820000 */ sw $v0, 0x0($a0)
/* D8300 80141420 AC650000 */ sw $a1, 0x0($v1)
/* D8304 80141424 AC600004 */ sw $zero, 0x4($v1)
.LIQUE_80141428:
/* D8308 80141428 8EE30000 */ lw $v1, 0x0($s7)
/* D830C 8014142C 30620100 */ andi $v0, $v1, 0x100
/* D8310 80141430 14400005 */ bnez $v0, .LIQUE_80141448
/* D8314 80141434 3C020010 */ lui $v0, (0x100000 >> 16)
/* D8318 80141438 3C013F80 */ lui $at, (0x3F800000 >> 16)
/* D831C 8014143C 4481A000 */ mtc1 $at, $f20
/* D8320 80141440 08050535 */ j .LIQUE_801414D4
/* D8324 80141444 4600A606 */ mov.s $f24, $f20
.LIQUE_80141448:
/* D8328 80141448 00621024 */ and $v0, $v1, $v0
/* D832C 8014144C 14400011 */ bnez $v0, .LIQUE_80141494
/* D8330 80141450 00000000 */ nop
/* D8334 80141454 82E30046 */ lb $v1, 0x46($s7)
/* D8338 80141458 3C048015 */ lui $a0, %hi(gHudElementSizes)
/* D833C 8014145C 2484D75C */ addiu $a0, $a0, %lo(gHudElementSizes)
/* D8340 80141460 00031040 */ sll $v0, $v1, 1
/* D8344 80141464 00431021 */ addu $v0, $v0, $v1
/* D8348 80141468 00021040 */ sll $v0, $v0, 1
/* D834C 8014146C 00441021 */ addu $v0, $v0, $a0
/* D8350 80141470 84430000 */ lh $v1, 0x0($v0)
/* D8354 80141474 84420002 */ lh $v0, 0x2($v0)
/* D8358 80141478 4483C000 */ mtc1 $v1, $f24
/* D835C 8014147C 00000000 */ nop
/* D8360 80141480 4680C620 */ cvt.s.w $f24, $f24
/* D8364 80141484 4482A000 */ mtc1 $v0, $f20
/* D8368 80141488 00000000 */ nop
/* D836C 8014148C 0805052D */ j .LIQUE_801414B4
/* D8370 80141490 4680A520 */ cvt.s.w $f20, $f20
.LIQUE_80141494:
/* D8374 80141494 92E2004E */ lbu $v0, 0x4E($s7)
/* D8378 80141498 92E3004F */ lbu $v1, 0x4F($s7)
/* D837C 8014149C 4482C000 */ mtc1 $v0, $f24
/* D8380 801414A0 00000000 */ nop
/* D8384 801414A4 4680C620 */ cvt.s.w $f24, $f24
/* D8388 801414A8 4483A000 */ mtc1 $v1, $f20
/* D838C 801414AC 00000000 */ nop
/* D8390 801414B0 4680A520 */ cvt.s.w $f20, $f20
.LIQUE_801414B4:
/* D8394 801414B4 C6E00028 */ lwc1 $f0, 0x28($s7)
/* D8398 801414B8 3C013F80 */ lui $at, (0x3F800000 >> 16)
/* D839C 801414BC 44811000 */ mtc1 $at, $f2
/* D83A0 801414C0 4600C603 */ div.s $f24, $f24, $f0
/* D83A4 801414C4 C6E0002C */ lwc1 $f0, 0x2C($s7)
/* D83A8 801414C8 46181603 */ div.s $f24, $f2, $f24
/* D83AC 801414CC 4600A503 */ div.s $f20, $f20, $f0
/* D83B0 801414D0 46141503 */ div.s $f20, $f2, $f20
.LIQUE_801414D4:
/* D83B4 801414D4 8EE20000 */ lw $v0, 0x0($s7)
/* D83B8 801414D8 3C030010 */ lui $v1, (0x100000 >> 16)
/* D83BC 801414DC 00431024 */ and $v0, $v0, $v1
/* D83C0 801414E0 1440000C */ bnez $v0, .LIQUE_80141514
/* D83C4 801414E4 00000000 */ nop
/* D83C8 801414E8 82E20046 */ lb $v0, 0x46($s7)
/* D83CC 801414EC 3C048015 */ lui $a0, %hi(gHudElementSizes)
/* D83D0 801414F0 2484D75C */ addiu $a0, $a0, %lo(gHudElementSizes)
/* D83D4 801414F4 00021840 */ sll $v1, $v0, 1
/* D83D8 801414F8 00621821 */ addu $v1, $v1, $v0
/* D83DC 801414FC 00031840 */ sll $v1, $v1, 1
/* D83E0 80141500 00641821 */ addu $v1, $v1, $a0
/* D83E4 80141504 84760000 */ lh $s6, 0x0($v1)
/* D83E8 80141508 84630002 */ lh $v1, 0x2($v1)
/* D83EC 8014150C 08050548 */ j .LIQUE_80141520
/* D83F0 80141510 AFA302B8 */ sw $v1, 0x2B8($sp)
.LIQUE_80141514:
/* D83F4 80141514 92F6004E */ lbu $s6, 0x4E($s7)
/* D83F8 80141518 92ED004F */ lbu $t5, 0x4F($s7)
/* D83FC 8014151C AFAD02B8 */ sw $t5, 0x2B8($sp)
.LIQUE_80141520:
/* D8400 80141520 4480B000 */ mtc1 $zero, $f22
/* D8404 80141524 27AE01E0 */ addiu $t6, $sp, 0x1E0
/* D8408 80141528 AFAE02BC */ sw $t6, 0x2BC($sp)
/* D840C 8014152C 8EFE001C */ lw $fp, 0x1C($s7)
/* D8410 80141530 4407B000 */ mfc1 $a3, $f22
/* D8414 80141534 87C30028 */ lh $v1, 0x28($fp)
/* D8418 80141538 87C2002A */ lh $v0, 0x2A($fp)
/* D841C 8014153C 44833000 */ mtc1 $v1, $f6
/* D8420 80141540 00000000 */ nop
/* D8424 80141544 468031A0 */ cvt.s.w $f6, $f6
/* D8428 80141548 00021023 */ negu $v0, $v0
/* D842C 8014154C 44053000 */ mfc1 $a1, $f6
/* D8430 80141550 44823000 */ mtc1 $v0, $f6
/* D8434 80141554 00000000 */ nop
/* D8438 80141558 468031A0 */ cvt.s.w $f6, $f6
/* D843C 8014155C 44063000 */ mfc1 $a2, $f6
/* D8440 80141560 0C0197A8 */ jal guTranslateF
/* D8444 80141564 01C0202D */ daddu $a0, $t6, $zero
/* D8448 80141568 27AD0220 */ addiu $t5, $sp, 0x220
/* D844C 8014156C AFAD02C0 */ sw $t5, 0x2C0($sp)
/* D8450 80141570 87C20028 */ lh $v0, 0x28($fp)
/* D8454 80141574 4407B000 */ mfc1 $a3, $f22
/* D8458 80141578 87C3002A */ lh $v1, 0x2A($fp)
/* D845C 8014157C 00021023 */ negu $v0, $v0
/* D8460 80141580 44823000 */ mtc1 $v0, $f6
/* D8464 80141584 00000000 */ nop
/* D8468 80141588 468031A0 */ cvt.s.w $f6, $f6
/* D846C 8014158C 44053000 */ mfc1 $a1, $f6
/* D8470 80141590 44833000 */ mtc1 $v1, $f6
/* D8474 80141594 00000000 */ nop
/* D8478 80141598 468031A0 */ cvt.s.w $f6, $f6
/* D847C 8014159C 44063000 */ mfc1 $a2, $f6
/* D8480 801415A0 0C0197A8 */ jal guTranslateF
/* D8484 801415A4 01A0202D */ daddu $a0, $t5, $zero
/* D8488 801415A8 86E2003C */ lh $v0, 0x3C($s7)
/* D848C 801415AC 82E30040 */ lb $v1, 0x40($s7)
/* D8490 801415B0 82E40042 */ lb $a0, 0x42($s7)
/* D8494 801415B4 C7C00004 */ lwc1 $f0, 0x4($fp)
/* D8498 801415B8 3C014024 */ lui $at, (0x40240000 >> 16)
/* D849C 801415BC 44812800 */ mtc1 $at, $f5
/* D84A0 801415C0 44802000 */ mtc1 $zero, $f4
/* D84A4 801415C4 00431021 */ addu $v0, $v0, $v1
/* D84A8 801415C8 00441021 */ addu $v0, $v0, $a0
/* D84AC 801415CC 44821000 */ mtc1 $v0, $f2
/* D84B0 801415D0 00000000 */ nop
/* D84B4 801415D4 468010A0 */ cvt.s.w $f2, $f2
/* D84B8 801415D8 46001080 */ add.s $f2, $f2, $f0
/* D84BC 801415DC 86E2003E */ lh $v0, 0x3E($s7)
/* D84C0 801415E0 82E30041 */ lb $v1, 0x41($s7)
/* D84C4 801415E4 82E40043 */ lb $a0, 0x43($s7)
/* D84C8 801415E8 C7C00008 */ lwc1 $f0, 0x8($fp)
/* D84CC 801415EC 00021023 */ negu $v0, $v0
/* D84D0 801415F0 00431023 */ subu $v0, $v0, $v1
/* D84D4 801415F4 00441021 */ addu $v0, $v0, $a0
/* D84D8 801415F8 44051000 */ mfc1 $a1, $f2
/* D84DC 801415FC 44821000 */ mtc1 $v0, $f2
/* D84E0 80141600 00000000 */ nop
/* D84E4 80141604 468010A0 */ cvt.s.w $f2, $f2
/* D84E8 80141608 82E20044 */ lb $v0, 0x44($s7)
/* D84EC 8014160C 46001080 */ add.s $f2, $f2, $f0
/* D84F0 80141610 44820000 */ mtc1 $v0, $f0
/* D84F4 80141614 00000000 */ nop
/* D84F8 80141618 46800021 */ cvt.d.w $f0, $f0
/* D84FC 8014161C 46240003 */ div.d $f0, $f0, $f4
/* D8500 80141620 44061000 */ mfc1 $a2, $f2
/* D8504 80141624 C7C2000C */ lwc1 $f2, 0xC($fp)
/* D8508 80141628 46200007 */ neg.d $f0, $f0
/* D850C 8014162C 460010A1 */ cvt.d.s $f2, $f2
/* D8510 80141630 46220000 */ add.d $f0, $f0, $f2
/* D8514 80141634 27B401A0 */ addiu $s4, $sp, 0x1A0
/* D8518 80141638 46200020 */ cvt.s.d $f0, $f0
/* D851C 8014163C 44070000 */ mfc1 $a3, $f0
/* D8520 80141640 0C0197A8 */ jal guTranslateF
/* D8524 80141644 0280202D */ daddu $a0, $s4, $zero
/* D8528 80141648 C6E20030 */ lwc1 $f2, 0x30($s7)
/* D852C 8014164C 46181102 */ mul.s $f4, $f2, $f24
/* D8530 80141650 00000000 */ nop
/* D8534 80141654 46141082 */ mul.s $f2, $f2, $f20
/* D8538 80141658 00000000 */ nop
/* D853C 8014165C C7C0001C */ lwc1 $f0, 0x1C($fp)
/* D8540 80141660 46002102 */ mul.s $f4, $f4, $f0
/* D8544 80141664 00000000 */ nop
/* D8548 80141668 C7C00020 */ lwc1 $f0, 0x20($fp)
/* D854C 8014166C 3C150001 */ lui $s5, (0x12230 >> 16)
/* D8550 80141670 46001082 */ mul.s $f2, $f2, $f0
/* D8554 80141674 00000000 */ nop
/* D8558 80141678 36B52230 */ ori $s5, $s5, (0x12230 & 0xFFFF)
/* D855C 8014167C 27B30260 */ addiu $s3, $sp, 0x260
/* D8560 80141680 8FC70024 */ lw $a3, 0x24($fp)
/* D8564 80141684 44052000 */ mfc1 $a1, $f4
/* D8568 80141688 44061000 */ mfc1 $a2, $f2
/* D856C 8014168C 0C019758 */ jal guScaleF
/* D8570 80141690 0260202D */ daddu $a0, $s3, $zero
/* D8574 80141694 27B20120 */ addiu $s2, $sp, 0x120
/* D8578 80141698 E7B60010 */ swc1 $f22, 0x10($sp)
/* D857C 8014169C 8FC50014 */ lw $a1, 0x14($fp)
/* D8580 801416A0 3C013F80 */ lui $at, (0x3F800000 >> 16)
/* D8584 801416A4 4481A000 */ mtc1 $at, $f20
/* D8588 801416A8 4406B000 */ mfc1 $a2, $f22
/* D858C 801416AC 4407A000 */ mfc1 $a3, $f20
/* D8590 801416B0 0C019828 */ jal guRotateF
/* D8594 801416B4 0240202D */ daddu $a0, $s2, $zero
/* D8598 801416B8 27B10160 */ addiu $s1, $sp, 0x160
/* D859C 801416BC E7B40010 */ swc1 $f20, 0x10($sp)
/* D85A0 801416C0 8FC50018 */ lw $a1, 0x18($fp)
/* D85A4 801416C4 4406B000 */ mfc1 $a2, $f22
/* D85A8 801416C8 4407B000 */ mfc1 $a3, $f22
/* D85AC 801416CC 0C019828 */ jal guRotateF
/* D85B0 801416D0 0220202D */ daddu $a0, $s1, $zero
/* D85B4 801416D4 27B000E0 */ addiu $s0, $sp, 0xE0
/* D85B8 801416D8 E7B60010 */ swc1 $f22, 0x10($sp)
/* D85BC 801416DC 8FC50010 */ lw $a1, 0x10($fp)
/* D85C0 801416E0 4406A000 */ mfc1 $a2, $f20
/* D85C4 801416E4 4407B000 */ mfc1 $a3, $f22
/* D85C8 801416E8 0C019828 */ jal guRotateF
/* D85CC 801416EC 0200202D */ daddu $a0, $s0, $zero
/* D85D0 801416F0 0220202D */ daddu $a0, $s1, $zero
/* D85D4 801416F4 0200282D */ daddu $a1, $s0, $zero
/* D85D8 801416F8 0C0196F0 */ jal guMtxCatF
/* D85DC 801416FC 27A60020 */ addiu $a2, $sp, 0x20
/* D85E0 80141700 27A40020 */ addiu $a0, $sp, 0x20
/* D85E4 80141704 0240282D */ daddu $a1, $s2, $zero
/* D85E8 80141708 27B000A0 */ addiu $s0, $sp, 0xA0
/* D85EC 8014170C 0C0196F0 */ jal guMtxCatF
/* D85F0 80141710 0200302D */ daddu $a2, $s0, $zero
/* D85F4 80141714 0260202D */ daddu $a0, $s3, $zero
/* D85F8 80141718 8FA502BC */ lw $a1, 0x2BC($sp)
/* D85FC 8014171C 0C0196F0 */ jal guMtxCatF
/* D8600 80141720 27A60020 */ addiu $a2, $sp, 0x20
/* D8604 80141724 27A40020 */ addiu $a0, $sp, 0x20
/* D8608 80141728 0200282D */ daddu $a1, $s0, $zero
/* D860C 8014172C 27B00060 */ addiu $s0, $sp, 0x60
/* D8610 80141730 0C0196F0 */ jal guMtxCatF
/* D8614 80141734 0200302D */ daddu $a2, $s0, $zero
/* D8618 80141738 0200202D */ daddu $a0, $s0, $zero
/* D861C 8014173C 8FA502C0 */ lw $a1, 0x2C0($sp)
/* D8620 80141740 0C0196F0 */ jal guMtxCatF
/* D8624 80141744 27A60020 */ addiu $a2, $sp, 0x20
/* D8628 80141748 27A40020 */ addiu $a0, $sp, 0x20
/* D862C 8014174C 0280282D */ daddu $a1, $s4, $zero
/* D8630 80141750 0C0196F0 */ jal guMtxCatF
/* D8634 80141754 0200302D */ daddu $a2, $s0, $zero
/* D8638 80141758 0200202D */ daddu $a0, $s0, $zero
/* D863C 8014175C 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* D8640 80141760 26102E60 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* D8644 80141764 3C11800A */ lui $s1, %hi(gDisplayContext)
/* D8648 80141768 2631924C */ addiu $s1, $s1, %lo(gDisplayContext)
/* D864C 8014176C 96050000 */ lhu $a1, 0x0($s0)
/* D8650 80141770 8E220000 */ lw $v0, 0x0($s1)
/* D8654 80141774 00052980 */ sll $a1, $a1, 6
/* D8658 80141778 00B52821 */ addu $a1, $a1, $s5
/* D865C 8014177C 0C0196B0 */ jal guMtxF2L
/* D8660 80141780 00452821 */ addu $a1, $v0, $a1
/* D8664 80141784 3C06DA38 */ lui $a2, (0xDA380002 >> 16)
/* D8668 80141788 34C60002 */ ori $a2, $a2, (0xDA380002 & 0xFFFF)
/* D866C 8014178C 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* D8670 80141790 24639244 */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* D8674 80141794 0000382D */ daddu $a3, $zero, $zero
/* D8678 80141798 8C620000 */ lw $v0, 0x0($v1)
/* D867C 8014179C 96040000 */ lhu $a0, 0x0($s0)
/* D8680 801417A0 0040282D */ daddu $a1, $v0, $zero
/* D8684 801417A4 24420008 */ addiu $v0, $v0, 0x8
/* D8688 801417A8 AC620000 */ sw $v0, 0x0($v1)
/* D868C 801417AC 3082FFFF */ andi $v0, $a0, 0xFFFF
/* D8690 801417B0 00021180 */ sll $v0, $v0, 6
/* D8694 801417B4 ACA60000 */ sw $a2, 0x0($a1)
/* D8698 801417B8 8E230000 */ lw $v1, 0x0($s1)
/* D869C 801417BC 00551021 */ addu $v0, $v0, $s5
/* D86A0 801417C0 00621821 */ addu $v1, $v1, $v0
/* D86A4 801417C4 3C028000 */ lui $v0, (0x80000000 >> 16)
/* D86A8 801417C8 00621821 */ addu $v1, $v1, $v0
/* D86AC 801417CC ACA30004 */ sw $v1, 0x4($a1)
/* D86B0 801417D0 8EE30000 */ lw $v1, 0x0($s7)
/* D86B4 801417D4 24840001 */ addiu $a0, $a0, 0x1
/* D86B8 801417D8 A6040000 */ sh $a0, 0x0($s0)
/* D86BC 801417DC 30624000 */ andi $v0, $v1, 0x4000
/* D86C0 801417E0 00E2202B */ sltu $a0, $a3, $v0
/* D86C4 801417E4 3C020008 */ lui $v0, (0x80000 >> 16)
/* D86C8 801417E8 00621824 */ and $v1, $v1, $v0
/* D86CC 801417EC 24020001 */ addiu $v0, $zero, 0x1
/* D86D0 801417F0 14820002 */ bne $a0, $v0, .LIQUE_801417FC
/* D86D4 801417F4 00E3182B */ sltu $v1, $a3, $v1
/* D86D8 801417F8 0062382B */ sltu $a3, $v1, $v0
.LIQUE_801417FC:
/* D86DC 801417FC 54800004 */ bnel $a0, $zero, .LIQUE_80141810
/* D86E0 80141800 24020001 */ addiu $v0, $zero, 0x1
/* D86E4 80141804 50620001 */ beql $v1, $v0, .LIQUE_8014180C
/* D86E8 80141808 24070002 */ addiu $a3, $zero, 0x2
.LIQUE_8014180C:
/* D86EC 8014180C 24020001 */ addiu $v0, $zero, 0x1
.LIQUE_80141810:
/* D86F0 80141810 14820004 */ bne $a0, $v0, .LIQUE_80141824
/* D86F4 80141814 24020001 */ addiu $v0, $zero, 0x1
/* D86F8 80141818 50640002 */ beql $v1, $a0, .LIQUE_80141824
/* D86FC 8014181C 24070002 */ addiu $a3, $zero, 0x2
/* D8700 80141820 24020001 */ addiu $v0, $zero, 0x1
.LIQUE_80141824:
/* D8704 80141824 10E20005 */ beq $a3, $v0, .LIQUE_8014183C
/* D8708 80141828 24020002 */ addiu $v0, $zero, 0x2
/* D870C 8014182C 10E20052 */ beq $a3, $v0, .LIQUE_80141978
/* D8710 80141830 3C03D838 */ lui $v1, (0xD8380002 >> 16)
/* D8714 80141834 08050773 */ j .LIQUE_80141DCC
/* D8718 80141838 00000000 */ nop
.LIQUE_8014183C:
/* D871C 8014183C 8EE30000 */ lw $v1, 0x0($s7)
/* D8720 80141840 3C020002 */ lui $v0, (0x20000 >> 16)
/* D8724 80141844 00621024 */ and $v0, $v1, $v0
/* D8728 80141848 10400013 */ beqz $v0, .LIQUE_80141898
/* D872C 8014184C 30620020 */ andi $v0, $v1, 0x20
/* D8730 80141850 1040000A */ beqz $v0, .LIQUE_8014187C
/* D8734 80141854 0000202D */ daddu $a0, $zero, $zero
/* D8738 80141858 24050007 */ addiu $a1, $zero, 0x7
/* D873C 8014185C 240600FF */ addiu $a2, $zero, 0xFF
/* D8740 80141860 00C0102D */ daddu $v0, $a2, $zero
/* D8744 80141864 AFA20010 */ sw $v0, 0x10($sp)
/* D8748 80141868 92E2004A */ lbu $v0, 0x4A($s7)
/* D874C 8014186C 00C0382D */ daddu $a3, $a2, $zero
/* D8750 80141870 AFA00018 */ sw $zero, 0x18($sp)
/* D8754 80141874 08050638 */ j .LIQUE_801418E0
/* D8758 80141878 AFA20014 */ sw $v0, 0x14($sp)
.LIQUE_8014187C:
/* D875C 8014187C 0080282D */ daddu $a1, $a0, $zero
/* D8760 80141880 0080302D */ daddu $a2, $a0, $zero
/* D8764 80141884 0080382D */ daddu $a3, $a0, $zero
/* D8768 80141888 AFA00010 */ sw $zero, 0x10($sp)
/* D876C 8014188C AFA00014 */ sw $zero, 0x14($sp)
/* D8770 80141890 08050638 */ j .LIQUE_801418E0
/* D8774 80141894 AFA00018 */ sw $zero, 0x18($sp)
.LIQUE_80141898:
/* D8778 80141898 1040000A */ beqz $v0, .LIQUE_801418C4
/* D877C 8014189C 24050007 */ addiu $a1, $zero, 0x7
/* D8780 801418A0 240200FF */ addiu $v0, $zero, 0xFF
/* D8784 801418A4 AFA20010 */ sw $v0, 0x10($sp)
/* D8788 801418A8 92E2004A */ lbu $v0, 0x4A($s7)
/* D878C 801418AC 240600FF */ addiu $a2, $zero, 0xFF
/* D8790 801418B0 AFA00018 */ sw $zero, 0x18($sp)
/* D8794 801418B4 AFA20014 */ sw $v0, 0x14($sp)
/* D8798 801418B8 8FC40000 */ lw $a0, 0x0($fp)
/* D879C 801418BC 08050638 */ j .LIQUE_801418E0
/* D87A0 801418C0 00C0382D */ daddu $a3, $a2, $zero
.LIQUE_801418C4:
/* D87A4 801418C4 0000282D */ daddu $a1, $zero, $zero
/* D87A8 801418C8 00A0302D */ daddu $a2, $a1, $zero
/* D87AC 801418CC AFA00010 */ sw $zero, 0x10($sp)
/* D87B0 801418D0 AFA00014 */ sw $zero, 0x14($sp)
/* D87B4 801418D4 AFA00018 */ sw $zero, 0x18($sp)
/* D87B8 801418D8 8FC40000 */ lw $a0, 0x0($fp)
/* D87BC 801418DC 00A0382D */ daddu $a3, $a1, $zero
.LIQUE_801418E0:
/* D87C0 801418E0 0C04E48B */ jal fold_update
/* D87C4 801418E4 00000000 */ nop
/* D87C8 801418E8 8EE20010 */ lw $v0, 0x10($s7)
/* D87CC 801418EC 8FAE02B8 */ lw $t6, 0x2B8($sp)
/* D87D0 801418F0 AFA202A0 */ sw $v0, 0x2A0($sp)
/* D87D4 801418F4 00161023 */ negu $v0, $s6
/* D87D8 801418F8 00021FC2 */ srl $v1, $v0, 31
/* D87DC 801418FC 00431021 */ addu $v0, $v0, $v1
/* D87E0 80141900 8EE40014 */ lw $a0, 0x14($s7)
/* D87E4 80141904 00021043 */ sra $v0, $v0, 1
/* D87E8 80141908 A7A202AC */ sh $v0, 0x2AC($sp)
/* D87EC 8014190C 000E17C2 */ srl $v0, $t6, 31
/* D87F0 80141910 01C21021 */ addu $v0, $t6, $v0
/* D87F4 80141914 97AD02BA */ lhu $t5, 0x2BA($sp)
/* D87F8 80141918 00021043 */ sra $v0, $v0, 1
/* D87FC 8014191C A7A202AE */ sh $v0, 0x2AE($sp)
/* D8800 80141920 240200FF */ addiu $v0, $zero, 0xFF
/* D8804 80141924 A7B602A8 */ sh $s6, 0x2A8($sp)
/* D8808 80141928 A3A202B0 */ sb $v0, 0x2B0($sp)
/* D880C 8014192C A7AD02AA */ sh $t5, 0x2AA($sp)
/* D8810 80141930 AFA402A4 */ sw $a0, 0x2A4($sp)
/* D8814 80141934 8EE30000 */ lw $v1, 0x0($s7)
/* D8818 80141938 3C020002 */ lui $v0, (0x20000 >> 16)
/* D881C 8014193C 00621024 */ and $v0, $v1, $v0
/* D8820 80141940 10400006 */ beqz $v0, .LIQUE_8014195C
/* D8824 80141944 3C020080 */ lui $v0, (0x800000 >> 16)
/* D8828 80141948 00621024 */ and $v0, $v1, $v0
/* D882C 8014194C 14400004 */ bnez $v0, .LIQUE_80141960
/* D8830 80141950 0000202D */ daddu $a0, $zero, $zero
/* D8834 80141954 08050659 */ j .LIQUE_80141964
/* D8838 80141958 27A502A0 */ addiu $a1, $sp, 0x2A0
.LIQUE_8014195C:
/* D883C 8014195C 8FC40000 */ lw $a0, 0x0($fp)
.LIQUE_80141960:
/* D8840 80141960 27A502A0 */ addiu $a1, $sp, 0x2A0
.LIQUE_80141964:
/* D8844 80141964 24060040 */ addiu $a2, $zero, 0x40
/* D8848 80141968 0C04E5C0 */ jal fold_appendGfx_component
/* D884C 8014196C 27A70060 */ addiu $a3, $sp, 0x60
/* D8850 80141970 08050773 */ j .LIQUE_80141DCC
/* D8854 80141974 3C03D838 */ lui $v1, (0xD8380002 >> 16)
.LIQUE_80141978:
/* D8858 80141978 3C0AFC11 */ lui $t2, (0xFC11B223 >> 16)
/* D885C 8014197C 354AB223 */ ori $t2, $t2, (0xFC11B223 & 0xFFFF)
/* D8860 80141980 3C09FF67 */ lui $t1, (0xFF67FFFF >> 16)
/* D8864 80141984 3529FFFF */ ori $t1, $t1, (0xFF67FFFF & 0xFFFF)
/* D8868 80141988 3C078016 */ lui $a3, %hi(D_80159180)
/* D886C 8014198C 24E7B500 */ addiu $a3, $a3, %lo(D_80159180)
/* D8870 80141990 3C0C800A */ lui $t4, %hi(gMasterGfxPos)
/* D8874 80141994 258C9244 */ addiu $t4, $t4, %lo(gMasterGfxPos)
/* D8878 80141998 3C068015 */ lui $a2, %hi(D_8014F0C8)
/* D887C 8014199C 24C6D858 */ addiu $a2, $a2, %lo(D_8014F0C8)
/* D8880 801419A0 8CE50000 */ lw $a1, 0x0($a3)
/* D8884 801419A4 8D8B0000 */ lw $t3, 0x0($t4)
/* D8888 801419A8 8CE20000 */ lw $v0, 0x0($a3)
/* D888C 801419AC 8CE30000 */ lw $v1, 0x0($a3)
/* D8890 801419B0 00052980 */ sll $a1, $a1, 6
/* D8894 801419B4 24A50030 */ addiu $a1, $a1, 0x30
/* D8898 801419B8 03C52821 */ addu $a1, $fp, $a1
/* D889C 801419BC 00021180 */ sll $v0, $v0, 6
/* D88A0 801419C0 03C21021 */ addu $v0, $fp, $v0
/* D88A4 801419C4 00031980 */ sll $v1, $v1, 6
/* D88A8 801419C8 03C31821 */ addu $v1, $fp, $v1
/* D88AC 801419CC 0160402D */ daddu $t0, $t3, $zero
/* D88B0 801419D0 8CCF0000 */ lw $t7, 0x0($a2)
/* D88B4 801419D4 8CD80004 */ lw $t8, 0x4($a2)
/* D88B8 801419D8 8CCD0008 */ lw $t5, 0x8($a2)
/* D88BC 801419DC 8CCE000C */ lw $t6, 0xC($a2)
/* D88C0 801419E0 AC4F0030 */ sw $t7, 0x30($v0)
/* D88C4 801419E4 AC580034 */ sw $t8, 0x34($v0)
/* D88C8 801419E8 AC4D0038 */ sw $t5, 0x38($v0)
/* D88CC 801419EC AC4E003C */ sw $t6, 0x3C($v0)
/* D88D0 801419F0 8CE40000 */ lw $a0, 0x0($a3)
/* D88D4 801419F4 256B0008 */ addiu $t3, $t3, 0x8
/* D88D8 801419F8 8CCF0010 */ lw $t7, 0x10($a2)
/* D88DC 801419FC 8CD80014 */ lw $t8, 0x14($a2)
/* D88E0 80141A00 8CCD0018 */ lw $t5, 0x18($a2)
/* D88E4 80141A04 8CCE001C */ lw $t6, 0x1C($a2)
/* D88E8 80141A08 AC6F0040 */ sw $t7, 0x40($v1)
/* D88EC 80141A0C AC780044 */ sw $t8, 0x44($v1)
/* D88F0 80141A10 AC6D0048 */ sw $t5, 0x48($v1)
/* D88F4 80141A14 AC6E004C */ sw $t6, 0x4C($v1)
/* D88F8 80141A18 8CE20000 */ lw $v0, 0x0($a3)
/* D88FC 80141A1C 00042180 */ sll $a0, $a0, 6
/* D8900 80141A20 03C42021 */ addu $a0, $fp, $a0
/* D8904 80141A24 00021180 */ sll $v0, $v0, 6
/* D8908 80141A28 03C21021 */ addu $v0, $fp, $v0
/* D890C 80141A2C 8CCF0020 */ lw $t7, 0x20($a2)
/* D8910 80141A30 8CD80024 */ lw $t8, 0x24($a2)
/* D8914 80141A34 8CCD0028 */ lw $t5, 0x28($a2)
/* D8918 80141A38 8CCE002C */ lw $t6, 0x2C($a2)
/* D891C 80141A3C AC8F0050 */ sw $t7, 0x50($a0)
/* D8920 80141A40 AC980054 */ sw $t8, 0x54($a0)
/* D8924 80141A44 AC8D0058 */ sw $t5, 0x58($a0)
/* D8928 80141A48 AC8E005C */ sw $t6, 0x5C($a0)
/* D892C 80141A4C 8CCF0030 */ lw $t7, 0x30($a2)
/* D8930 80141A50 8CD80034 */ lw $t8, 0x34($a2)
/* D8934 80141A54 8CCD0038 */ lw $t5, 0x38($a2)
/* D8938 80141A58 8CCE003C */ lw $t6, 0x3C($a2)
/* D893C 80141A5C AC4F0060 */ sw $t7, 0x60($v0)
/* D8940 80141A60 AC580064 */ sw $t8, 0x64($v0)
/* D8944 80141A64 AC4D0068 */ sw $t5, 0x68($v0)
/* D8948 80141A68 AC4E006C */ sw $t6, 0x6C($v0)
/* D894C 80141A6C 00163023 */ negu $a2, $s6
/* D8950 80141A70 000617C2 */ srl $v0, $a2, 31
/* D8954 80141A74 00C23021 */ addu $a2, $a2, $v0
/* D8958 80141A78 00063043 */ sra $a2, $a2, 1
/* D895C 80141A7C A4A60000 */ sh $a2, 0x0($a1)
/* D8960 80141A80 8FAF02B8 */ lw $t7, 0x2B8($sp)
/* D8964 80141A84 00A0202D */ daddu $a0, $a1, $zero
/* D8968 80141A88 A4A00004 */ sh $zero, 0x4($a1)
/* D896C 80141A8C A4A00008 */ sh $zero, 0x8($a1)
/* D8970 80141A90 000F1823 */ negu $v1, $t7
/* D8974 80141A94 000317C2 */ srl $v0, $v1, 31
/* D8978 80141A98 00621821 */ addu $v1, $v1, $v0
/* D897C 80141A9C 00031843 */ sra $v1, $v1, 1
/* D8980 80141AA0 000F3940 */ sll $a3, $t7, 5
/* D8984 80141AA4 A4A30002 */ sh $v1, 0x2($a1)
/* D8988 80141AA8 A4A7000A */ sh $a3, 0xA($a1)
/* D898C 80141AAC 24A50010 */ addiu $a1, $a1, 0x10
/* D8990 80141AB0 001617C2 */ srl $v0, $s6, 31
/* D8994 80141AB4 02C21021 */ addu $v0, $s6, $v0
/* D8998 80141AB8 00021043 */ sra $v0, $v0, 1
/* D899C 80141ABC 2442FFFF */ addiu $v0, $v0, -0x1
/* D89A0 80141AC0 A4A30002 */ sh $v1, 0x2($a1)
/* D89A4 80141AC4 00161940 */ sll $v1, $s6, 5
/* D89A8 80141AC8 A4A20000 */ sh $v0, 0x0($a1)
/* D89AC 80141ACC A4A00004 */ sh $zero, 0x4($a1)
/* D89B0 80141AD0 A4A30008 */ sh $v1, 0x8($a1)
/* D89B4 80141AD4 A4A7000A */ sh $a3, 0xA($a1)
/* D89B8 80141AD8 A4820020 */ sh $v0, 0x20($a0)
/* D89BC 80141ADC 000F17C2 */ srl $v0, $t7, 31
/* D89C0 80141AE0 01E21021 */ addu $v0, $t7, $v0
/* D89C4 80141AE4 00021043 */ sra $v0, $v0, 1
/* D89C8 80141AE8 2442FFFF */ addiu $v0, $v0, -0x1
/* D89CC 80141AEC A4820022 */ sh $v0, 0x22($a0)
/* D89D0 80141AF0 A4820032 */ sh $v0, 0x32($a0)
/* D89D4 80141AF4 3C02E700 */ lui $v0, (0xE7000000 >> 16)
/* D89D8 80141AF8 A4800024 */ sh $zero, 0x24($a0)
/* D89DC 80141AFC A4830028 */ sh $v1, 0x28($a0)
/* D89E0 80141B00 A480002A */ sh $zero, 0x2A($a0)
/* D89E4 80141B04 A4860030 */ sh $a2, 0x30($a0)
/* D89E8 80141B08 A4800034 */ sh $zero, 0x34($a0)
/* D89EC 80141B0C A4800038 */ sh $zero, 0x38($a0)
/* D89F0 80141B10 A480003A */ sh $zero, 0x3A($a0)
/* D89F4 80141B14 AD8B0000 */ sw $t3, 0x0($t4)
/* D89F8 80141B18 AD020000 */ sw $v0, 0x0($t0)
/* D89FC 80141B1C 25620008 */ addiu $v0, $t3, 0x8
/* D8A00 80141B20 AD000004 */ sw $zero, 0x4($t0)
/* D8A04 80141B24 AD820000 */ sw $v0, 0x0($t4)
/* D8A08 80141B28 25620010 */ addiu $v0, $t3, 0x10
/* D8A0C 80141B2C AD6A0000 */ sw $t2, 0x0($t3)
/* D8A10 80141B30 AD690004 */ sw $t1, 0x4($t3)
/* D8A14 80141B34 AD820000 */ sw $v0, 0x0($t4)
/* D8A18 80141B38 3C02FA00 */ lui $v0, (0xFA000000 >> 16)
/* D8A1C 80141B3C AD620008 */ sw $v0, 0x8($t3)
/* D8A20 80141B40 92E2004B */ lbu $v0, 0x4B($s7)
/* D8A24 80141B44 92E3004C */ lbu $v1, 0x4C($s7)
/* D8A28 80141B48 92E4004D */ lbu $a0, 0x4D($s7)
/* D8A2C 80141B4C 00021600 */ sll $v0, $v0, 24
/* D8A30 80141B50 00031C00 */ sll $v1, $v1, 16
/* D8A34 80141B54 00431025 */ or $v0, $v0, $v1
/* D8A38 80141B58 00042200 */ sll $a0, $a0, 8
/* D8A3C 80141B5C 92E3004A */ lbu $v1, 0x4A($s7)
/* D8A40 80141B60 00441025 */ or $v0, $v0, $a0
/* D8A44 80141B64 00431025 */ or $v0, $v0, $v1
/* D8A48 80141B68 AD62000C */ sw $v0, 0xC($t3)
/* D8A4C 80141B6C 8EE30000 */ lw $v1, 0x0($s7)
/* D8A50 80141B70 30620020 */ andi $v0, $v1, 0x20
/* D8A54 80141B74 1440000C */ bnez $v0, .LIQUE_80141BA8
/* D8A58 80141B78 3C020080 */ lui $v0, (0x800000 >> 16)
/* D8A5C 80141B7C 00621024 */ and $v0, $v1, $v0
/* D8A60 80141B80 14400005 */ bnez $v0, .LIQUE_80141B98
/* D8A64 80141B84 3C04E200 */ lui $a0, (0xE200001C >> 16)
/* D8A68 80141B88 3484001C */ ori $a0, $a0, (0xE200001C & 0xFFFF)
/* D8A6C 80141B8C 3C030F0A */ lui $v1, (0xF0A7008 >> 16)
/* D8A70 80141B90 080506F4 */ j .LIQUE_80141BD0
/* D8A74 80141B94 34637008 */ ori $v1, $v1, (0xF0A7008 & 0xFFFF)
.LIQUE_80141B98:
/* D8A78 80141B98 3484001C */ ori $a0, $a0, (0xE200001C & 0xFFFF)
/* D8A7C 80141B9C 3C030055 */ lui $v1, (0x553048 >> 16)
/* D8A80 80141BA0 080506F4 */ j .LIQUE_80141BD0
/* D8A84 80141BA4 34633048 */ ori $v1, $v1, (0x553048 & 0xFFFF)
.LIQUE_80141BA8:
/* D8A88 80141BA8 00621024 */ and $v0, $v1, $v0
/* D8A8C 80141BAC 14400005 */ bnez $v0, .LIQUE_80141BC4
/* D8A90 80141BB0 3C04E200 */ lui $a0, (0xE200001C >> 16)
/* D8A94 80141BB4 3484001C */ ori $a0, $a0, (0xE200001C & 0xFFFF)
/* D8A98 80141BB8 3C030050 */ lui $v1, (0x504340 >> 16)
/* D8A9C 80141BBC 080506F4 */ j .LIQUE_80141BD0
/* D8AA0 80141BC0 34634340 */ ori $v1, $v1, (0x504340 & 0xFFFF)
.LIQUE_80141BC4:
/* D8AA4 80141BC4 3484001C */ ori $a0, $a0, (0xE200001C & 0xFFFF)
/* D8AA8 80141BC8 3C030050 */ lui $v1, (0x504348 >> 16)
/* D8AAC 80141BCC 34634348 */ ori $v1, $v1, (0x504348 & 0xFFFF)
.LIQUE_80141BD0:
/* D8AB0 80141BD0 25620018 */ addiu $v0, $t3, 0x18
/* D8AB4 80141BD4 AD820000 */ sw $v0, 0x0($t4)
/* D8AB8 80141BD8 AD640010 */ sw $a0, 0x10($t3)
/* D8ABC 80141BDC AD630014 */ sw $v1, 0x14($t3)
/* D8AC0 80141BE0 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* D8AC4 80141BE4 24639244 */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* D8AC8 80141BE8 02C0382D */ daddu $a3, $s6, $zero
/* D8ACC 80141BEC 3C02FD70 */ lui $v0, (0xFD700000 >> 16)
/* D8AD0 80141BF0 8C660000 */ lw $a2, 0x0($v1)
/* D8AD4 80141BF4 3C080700 */ lui $t0, (0x7000000 >> 16)
/* D8AD8 80141BF8 00C0282D */ daddu $a1, $a2, $zero
/* D8ADC 80141BFC 24C60008 */ addiu $a2, $a2, 0x8
/* D8AE0 80141C00 AC660000 */ sw $a2, 0x0($v1)
/* D8AE4 80141C04 ACA20000 */ sw $v0, 0x0($a1)
/* D8AE8 80141C08 24C20008 */ addiu $v0, $a2, 0x8
/* D8AEC 80141C0C AC620000 */ sw $v0, 0x0($v1)
/* D8AF0 80141C10 24C20010 */ addiu $v0, $a2, 0x10
/* D8AF4 80141C14 AC620000 */ sw $v0, 0x0($v1)
/* D8AF8 80141C18 8EE40010 */ lw $a0, 0x10($s7)
/* D8AFC 80141C1C 24C20018 */ addiu $v0, $a2, 0x18
/* D8B00 80141C20 AC620000 */ sw $v0, 0x0($v1)
/* D8B04 80141C24 3C02F570 */ lui $v0, (0xF5700000 >> 16)
/* D8B08 80141C28 ACA40004 */ sw $a0, 0x4($a1)
/* D8B0C 80141C2C ACC20000 */ sw $v0, 0x0($a2)
/* D8B10 80141C30 3C02E600 */ lui $v0, (0xE6000000 >> 16)
/* D8B14 80141C34 ACC20008 */ sw $v0, 0x8($a2)
/* D8B18 80141C38 3C02F300 */ lui $v0, (0xF3000000 >> 16)
/* D8B1C 80141C3C ACC80004 */ sw $t0, 0x4($a2)
/* D8B20 80141C40 ACC0000C */ sw $zero, 0xC($a2)
/* D8B24 80141C44 06C10002 */ bgez $s6, .LIQUE_80141C50
/* D8B28 80141C48 ACC20010 */ sw $v0, 0x10($a2)
/* D8B2C 80141C4C 26C70007 */ addiu $a3, $s6, 0x7
.LIQUE_80141C50:
/* D8B30 80141C50 000728C3 */ sra $a1, $a3, 3
/* D8B34 80141C54 18A00002 */ blez $a1, .LIQUE_80141C60
/* D8B38 80141C58 24030800 */ addiu $v1, $zero, 0x800
/* D8B3C 80141C5C 24A307FF */ addiu $v1, $a1, 0x7FF
.LIQUE_80141C60:
/* D8B40 80141C60 8FAD02B8 */ lw $t5, 0x2B8($sp)
/* D8B44 80141C64 02CD0018 */ mult $s6, $t5
/* D8B48 80141C68 00007012 */ mflo $t6
/* D8B4C 80141C6C 25C20001 */ addiu $v0, $t6, 0x1
/* D8B50 80141C70 00021043 */ sra $v0, $v0, 1
/* D8B54 80141C74 2444FFFF */ addiu $a0, $v0, -0x1
/* D8B58 80141C78 28820800 */ slti $v0, $a0, 0x800
/* D8B5C 80141C7C 50400001 */ beql $v0, $zero, .LIQUE_80141C84
/* D8B60 80141C80 240407FF */ addiu $a0, $zero, 0x7FF
.LIQUE_80141C84:
/* D8B64 80141C84 30820FFF */ andi $v0, $a0, 0xFFF
/* D8B68 80141C88 00021300 */ sll $v0, $v0, 12
/* D8B6C 80141C8C 18A0000D */ blez $a1, .LIQUE_80141CC4
/* D8B70 80141C90 00482025 */ or $a0, $v0, $t0
/* D8B74 80141C94 14A00002 */ bnez $a1, .LIQUE_80141CA0
/* D8B78 80141C98 0065001A */ div $zero, $v1, $a1
/* D8B7C 80141C9C 0007000D */ break 7
.LIQUE_80141CA0:
/* D8B80 80141CA0 2401FFFF */ addiu $at, $zero, -0x1
/* D8B84 80141CA4 14A10004 */ bne $a1, $at, .LIQUE_80141CB8
/* D8B88 80141CA8 3C018000 */ lui $at, (0x80000000 >> 16)
/* D8B8C 80141CAC 14610002 */ bne $v1, $at, .LIQUE_80141CB8
/* D8B90 80141CB0 00000000 */ nop
/* D8B94 80141CB4 0006000D */ break 6
.LIQUE_80141CB8:
/* D8B98 80141CB8 00001012 */ mflo $v0
/* D8B9C 80141CBC 08050732 */ j .LIQUE_80141CC8
/* D8BA0 80141CC0 30420FFF */ andi $v0, $v0, 0xFFF
.LIQUE_80141CC4:
/* D8BA4 80141CC4 30620FFF */ andi $v0, $v1, 0xFFF
.LIQUE_80141CC8:
/* D8BA8 80141CC8 00821025 */ or $v0, $a0, $v0
/* D8BAC 80141CCC ACC20014 */ sw $v0, 0x14($a2)
/* D8BB0 80141CD0 3C06E300 */ lui $a2, (0xE3001001 >> 16)
/* D8BB4 80141CD4 34C61001 */ ori $a2, $a2, (0xE3001001 & 0xFFFF)
/* D8BB8 80141CD8 3C070100 */ lui $a3, (0x1004008 >> 16)
/* D8BBC 80141CDC 34E74008 */ ori $a3, $a3, (0x1004008 & 0xFFFF)
/* D8BC0 80141CE0 3C080500 */ lui $t0, (0x5000204 >> 16)
/* D8BC4 80141CE4 35080204 */ ori $t0, $t0, (0x5000204 & 0xFFFF)
/* D8BC8 80141CE8 3C090500 */ lui $t1, (0x5000406 >> 16)
/* D8BCC 80141CEC 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* D8BD0 80141CF0 24A59244 */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* D8BD4 80141CF4 35290406 */ ori $t1, $t1, (0x5000406 & 0xFFFF)
/* D8BD8 80141CF8 8CA40000 */ lw $a0, 0x0($a1)
/* D8BDC 80141CFC 3C02E700 */ lui $v0, (0xE7000000 >> 16)
/* D8BE0 80141D00 0080182D */ daddu $v1, $a0, $zero
/* D8BE4 80141D04 24840008 */ addiu $a0, $a0, 0x8
/* D8BE8 80141D08 ACA40000 */ sw $a0, 0x0($a1)
/* D8BEC 80141D0C AC620000 */ sw $v0, 0x0($v1)
/* D8BF0 80141D10 24820008 */ addiu $v0, $a0, 0x8
/* D8BF4 80141D14 AC600004 */ sw $zero, 0x4($v1)
/* D8BF8 80141D18 ACA20000 */ sw $v0, 0x0($a1)
/* D8BFC 80141D1C 26C20007 */ addiu $v0, $s6, 0x7
/* D8C00 80141D20 000210C3 */ sra $v0, $v0, 3
/* D8C04 80141D24 304201FF */ andi $v0, $v0, 0x1FF
/* D8C08 80141D28 00021240 */ sll $v0, $v0, 9
/* D8C0C 80141D2C 3C03F568 */ lui $v1, (0xF5680000 >> 16)
/* D8C10 80141D30 00431025 */ or $v0, $v0, $v1
/* D8C14 80141D34 AC820000 */ sw $v0, 0x0($a0)
/* D8C18 80141D38 24820010 */ addiu $v0, $a0, 0x10
/* D8C1C 80141D3C AC800004 */ sw $zero, 0x4($a0)
/* D8C20 80141D40 ACA20000 */ sw $v0, 0x0($a1)
/* D8C24 80141D44 3C02F200 */ lui $v0, (0xF2000000 >> 16)
/* D8C28 80141D48 26C3FFFF */ addiu $v1, $s6, -0x1
/* D8C2C 80141D4C 00031880 */ sll $v1, $v1, 2
/* D8C30 80141D50 30630FFF */ andi $v1, $v1, 0xFFF
/* D8C34 80141D54 AC820008 */ sw $v0, 0x8($a0)
/* D8C38 80141D58 8FAD02B8 */ lw $t5, 0x2B8($sp)
/* D8C3C 80141D5C 00031B00 */ sll $v1, $v1, 12
/* D8C40 80141D60 25A2FFFF */ addiu $v0, $t5, -0x1
/* D8C44 80141D64 00021080 */ sll $v0, $v0, 2
/* D8C48 80141D68 30420FFF */ andi $v0, $v0, 0xFFF
/* D8C4C 80141D6C 00621825 */ or $v1, $v1, $v0
/* D8C50 80141D70 24820018 */ addiu $v0, $a0, 0x18
/* D8C54 80141D74 AC83000C */ sw $v1, 0xC($a0)
/* D8C58 80141D78 ACA20000 */ sw $v0, 0x0($a1)
/* D8C5C 80141D7C 3C028016 */ lui $v0, %hi(D_80159180)
/* D8C60 80141D80 8C42B500 */ lw $v0, %lo(D_80159180)($v0)
/* D8C64 80141D84 24830020 */ addiu $v1, $a0, 0x20
/* D8C68 80141D88 AC860010 */ sw $a2, 0x10($a0)
/* D8C6C 80141D8C AC800014 */ sw $zero, 0x14($a0)
/* D8C70 80141D90 ACA30000 */ sw $v1, 0x0($a1)
/* D8C74 80141D94 AC870018 */ sw $a3, 0x18($a0)
/* D8C78 80141D98 00021180 */ sll $v0, $v0, 6
/* D8C7C 80141D9C 24420030 */ addiu $v0, $v0, 0x30
/* D8C80 80141DA0 03C21021 */ addu $v0, $fp, $v0
/* D8C84 80141DA4 AC82001C */ sw $v0, 0x1C($a0)
/* D8C88 80141DA8 24820028 */ addiu $v0, $a0, 0x28
/* D8C8C 80141DAC ACA20000 */ sw $v0, 0x0($a1)
/* D8C90 80141DB0 24820030 */ addiu $v0, $a0, 0x30
/* D8C94 80141DB4 AC880020 */ sw $t0, 0x20($a0)
/* D8C98 80141DB8 AC800024 */ sw $zero, 0x24($a0)
/* D8C9C 80141DBC ACA20000 */ sw $v0, 0x0($a1)
/* D8CA0 80141DC0 AC890028 */ sw $t1, 0x28($a0)
/* D8CA4 80141DC4 AC80002C */ sw $zero, 0x2C($a0)
/* D8CA8 80141DC8 3C03D838 */ lui $v1, (0xD8380002 >> 16)
.LIQUE_80141DCC:
/* D8CAC 80141DCC 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* D8CB0 80141DD0 24849244 */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* D8CB4 80141DD4 8C820000 */ lw $v0, 0x0($a0)
/* D8CB8 80141DD8 34630002 */ ori $v1, $v1, (0xD8380002 & 0xFFFF)
/* D8CBC 80141DDC 0040282D */ daddu $a1, $v0, $zero
/* D8CC0 80141DE0 24420008 */ addiu $v0, $v0, 0x8
/* D8CC4 80141DE4 AC820000 */ sw $v0, 0x0($a0)
/* D8CC8 80141DE8 ACA30000 */ sw $v1, 0x0($a1)
/* D8CCC 80141DEC 24030040 */ addiu $v1, $zero, 0x40
/* D8CD0 80141DF0 ACA30004 */ sw $v1, 0x4($a1)
/* D8CD4 80141DF4 24430008 */ addiu $v1, $v0, 0x8
/* D8CD8 80141DF8 AC830000 */ sw $v1, 0x0($a0)
/* D8CDC 80141DFC 3C03E700 */ lui $v1, (0xE7000000 >> 16)
/* D8CE0 80141E00 AC430000 */ sw $v1, 0x0($v0)
/* D8CE4 80141E04 AC400004 */ sw $zero, 0x4($v0)
/* D8CE8 80141E08 8FBF02EC */ lw $ra, 0x2EC($sp)
/* D8CEC 80141E0C 8FBE02E8 */ lw $fp, 0x2E8($sp)
/* D8CF0 80141E10 8FB702E4 */ lw $s7, 0x2E4($sp)
/* D8CF4 80141E14 8FB602E0 */ lw $s6, 0x2E0($sp)
/* D8CF8 80141E18 8FB502DC */ lw $s5, 0x2DC($sp)
/* D8CFC 80141E1C 8FB402D8 */ lw $s4, 0x2D8($sp)
/* D8D00 80141E20 8FB302D4 */ lw $s3, 0x2D4($sp)
/* D8D04 80141E24 8FB202D0 */ lw $s2, 0x2D0($sp)
/* D8D08 80141E28 8FB102CC */ lw $s1, 0x2CC($sp)
/* D8D0C 80141E2C 8FB002C8 */ lw $s0, 0x2C8($sp)
/* D8D10 80141E30 D7B80300 */ ldc1 $f24, 0x300($sp)
/* D8D14 80141E34 D7B602F8 */ ldc1 $f22, 0x2F8($sp)
/* D8D18 80141E38 D7B402F0 */ ldc1 $f20, 0x2F0($sp)
/* D8D1C 80141E3C 03E00008 */ jr $ra
/* D8D20 80141E40 27BD0308 */ addiu $sp, $sp, 0x308

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,670 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel msg_draw_char
/* C163C 8012A75C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* C1640 8012A760 AFB3001C */ sw $s3, 0x1C($sp)
/* C1644 8012A764 0080982D */ daddu $s3, $a0, $zero
/* C1648 8012A768 AFB00010 */ sw $s0, 0x10($sp)
/* C164C 8012A76C 00A0802D */ daddu $s0, $a1, $zero
/* C1650 8012A770 AFB20018 */ sw $s2, 0x18($sp)
/* C1654 8012A774 00C0902D */ daddu $s2, $a2, $zero
/* C1658 8012A778 AFB40020 */ sw $s4, 0x20($sp)
/* C165C 8012A77C 00E0A02D */ daddu $s4, $a3, $zero
/* C1660 8012A780 AFB10014 */ sw $s1, 0x14($sp)
/* C1664 8012A784 8FB10038 */ lw $s1, 0x38($sp)
/* C1668 8012A788 2402033F */ addiu $v0, $zero, 0x33F
/* C166C 8012A78C 16420007 */ bne $s2, $v0, .LIQUE_8012A7AC
/* C1670 8012A790 AFBF0024 */ sw $ra, 0x24($sp)
/* C1674 8012A794 3C040002 */ lui $a0, %hi(D_19F80)
/* C1678 8012A798 24849F80 */ addiu $a0, $a0, %lo(D_19F80)
/* C167C 8012A79C 3C068015 */ lui $a2, %hi(D_801544A0)
/* C1680 8012A7A0 24C644A0 */ addiu $a2, $a2, %lo(D_801544A0)
/* C1684 8012A7A4 0804AA00 */ j .LIQUE_8012A800
/* C1688 8012A7A8 24050080 */ addiu $a1, $zero, 0x80
.LIQUE_8012A7AC:
/* C168C 8012A7AC 24020340 */ addiu $v0, $zero, 0x340
/* C1690 8012A7B0 16420007 */ bne $s2, $v0, .LIQUE_8012A7D0
/* C1694 8012A7B4 2A4200A6 */ slti $v0, $s2, 0xA6
/* C1698 8012A7B8 3C040002 */ lui $a0, %hi(D_1A000)
/* C169C 8012A7BC 2484A000 */ addiu $a0, $a0, %lo(D_1A000)
/* C16A0 8012A7C0 3C068015 */ lui $a2, %hi(D_80154520)
/* C16A4 8012A7C4 24C64520 */ addiu $a2, $a2, %lo(D_80154520)
/* C16A8 8012A7C8 0804AA00 */ j .LIQUE_8012A800
/* C16AC 8012A7CC 24050080 */ addiu $a1, $zero, 0x80
.LIQUE_8012A7D0:
/* C16B0 8012A7D0 1440000D */ bnez $v0, .LIQUE_8012A808
/* C16B4 8012A7D4 001221C0 */ sll $a0, $s2, 7
/* C16B8 8012A7D8 3C020000 */ lui $v0, (0x0 >> 16)
/* C16BC 8012A7DC 24420000 */ addiu $v0, $v0, 0x0
/* C16C0 8012A7E0 00822021 */ addu $a0, $a0, $v0
/* C16C4 8012A7E4 24050080 */ addiu $a1, $zero, 0x80
/* C16C8 8012A7E8 3C068015 */ lui $a2, %hi(D_8014AD24)
/* C16CC 8012A7EC 8CC6AD24 */ lw $a2, %lo(D_8014AD24)($a2)
/* C16D0 8012A7F0 3C028015 */ lui $v0, %hi(D_801544A0)
/* C16D4 8012A7F4 244244A0 */ addiu $v0, $v0, %lo(D_801544A0)
/* C16D8 8012A7F8 000631C0 */ sll $a2, $a2, 7
/* C16DC 8012A7FC 00C23021 */ addu $a2, $a2, $v0
.LIQUE_8012A800:
/* C16E0 8012A800 0C0486BA */ jal load_font_data
/* C16E4 8012A804 00000000 */ nop
.LIQUE_8012A808:
/* C16E8 8012A808 9602003C */ lhu $v0, 0x3C($s0)
/* C16EC 8012A80C C6060018 */ lwc1 $f6, 0x18($s0)
/* C16F0 8012A810 C602001C */ lwc1 $f2, 0x1C($s0)
/* C16F4 8012A814 00021080 */ sll $v0, $v0, 2
/* C16F8 8012A818 3C09802F */ lui $t1, %hi(gMsgCharsets)
/* C16FC 8012A81C 01224821 */ addu $t1, $t1, $v0
/* C1700 8012A820 8D29B5A8 */ lw $t1, %lo(gMsgCharsets)($t1)
/* C1704 8012A824 8FA3003C */ lw $v1, 0x3C($sp)
/* C1708 8012A828 91220000 */ lbu $v0, 0x0($t1)
/* C170C 8012A82C 8E070004 */ lw $a3, 0x4($s0)
/* C1710 8012A830 44822000 */ mtc1 $v0, $f4
/* C1714 8012A834 00000000 */ nop
/* C1718 8012A838 46802120 */ cvt.s.w $f4, $f4
/* C171C 8012A83C 46043102 */ mul.s $f4, $f6, $f4
/* C1720 8012A840 00000000 */ nop
/* C1724 8012A844 960A003E */ lhu $t2, 0x3E($s0)
/* C1728 8012A848 91220001 */ lbu $v0, 0x1($t1)
/* C172C 8012A84C 8E050008 */ lw $a1, 0x8($s0)
/* C1730 8012A850 44820000 */ mtc1 $v0, $f0
/* C1734 8012A854 00000000 */ nop
/* C1738 8012A858 46800020 */ cvt.s.w $f0, $f0
/* C173C 8012A85C 46001082 */ mul.s $f2, $f2, $f0
/* C1740 8012A860 00000000 */ nop
/* C1744 8012A864 8E06000C */ lw $a2, 0xC($s0)
/* C1748 8012A868 8E040000 */ lw $a0, 0x0($s0)
/* C174C 8012A86C 4600220D */ trunc.w.s $f8, $f4
/* C1750 8012A870 44024000 */ mfc1 $v0, $f8
/* C1754 8012A874 00000000 */ nop
/* C1758 8012A878 02224021 */ addu $t0, $s1, $v0
/* C175C 8012A87C 4600120D */ trunc.w.s $f8, $f2
/* C1760 8012A880 44024000 */ mfc1 $v0, $f8
/* C1764 8012A884 00000000 */ nop
/* C1768 8012A888 00625821 */ addu $t3, $v1, $v0
/* C176C 8012A88C 0227102A */ slt $v0, $s1, $a3
/* C1770 8012A890 1040021F */ beqz $v0, .LIQUE_8012B110
/* C1774 8012A894 0066102A */ slt $v0, $v1, $a2
/* C1778 8012A898 1040021D */ beqz $v0, .LIQUE_8012B110
/* C177C 8012A89C 0088102A */ slt $v0, $a0, $t0
/* C1780 8012A8A0 1040021B */ beqz $v0, .LIQUE_8012B110
/* C1784 8012A8A4 00AB102A */ slt $v0, $a1, $t3
/* C1788 8012A8A8 10400219 */ beqz $v0, .LIQUE_8012B110
/* C178C 8012A8AC 0224102A */ slt $v0, $s1, $a0
/* C1790 8012A8B0 10400017 */ beqz $v0, .LIQUE_8012A910
/* C1794 8012A8B4 02241023 */ subu $v0, $s1, $a0
/* C1798 8012A8B8 04420001 */ bltzl $v0, .LIQUE_8012A8C0
/* C179C 8012A8BC 00021023 */ negu $v0, $v0
.LIQUE_8012A8C0:
/* C17A0 8012A8C0 44820000 */ mtc1 $v0, $f0
/* C17A4 8012A8C4 00000000 */ nop
/* C17A8 8012A8C8 46800020 */ cvt.s.w $f0, $f0
/* C17AC 8012A8CC 46060103 */ div.s $f4, $f0, $f6
/* C17B0 8012A8D0 3C013FE0 */ lui $at, (0x3FE00000 >> 16)
/* C17B4 8012A8D4 44811800 */ mtc1 $at, $f3
/* C17B8 8012A8D8 44801000 */ mtc1 $zero, $f2
/* C17BC 8012A8DC 46002021 */ cvt.d.s $f0, $f4
/* C17C0 8012A8E0 46220000 */ add.d $f0, $f0, $f2
/* C17C4 8012A8E4 3C014040 */ lui $at, (0x40400000 >> 16)
/* C17C8 8012A8E8 44811800 */ mtc1 $at, $f3
/* C17CC 8012A8EC 44801000 */ mtc1 $zero, $f2
/* C17D0 8012A8F0 00000000 */ nop
/* C17D4 8012A8F4 46220002 */ mul.d $f0, $f0, $f2
/* C17D8 8012A8F8 00000000 */ nop
/* C17DC 8012A8FC 46200020 */ cvt.s.d $f0, $f0
/* C17E0 8012A900 4600020D */ trunc.w.s $f8, $f0
/* C17E4 8012A904 44184000 */ mfc1 $t8, $f8
/* C17E8 8012A908 0804AA46 */ j .LIQUE_8012A918
/* C17EC 8012A90C 0080782D */ daddu $t7, $a0, $zero
.LIQUE_8012A910:
/* C17F0 8012A910 0000C02D */ daddu $t8, $zero, $zero
/* C17F4 8012A914 0220782D */ daddu $t7, $s1, $zero
.LIQUE_8012A918:
/* C17F8 8012A918 0065102A */ slt $v0, $v1, $a1
/* C17FC 8012A91C 10400017 */ beqz $v0, .LIQUE_8012A97C
/* C1800 8012A920 0000702D */ daddu $t6, $zero, $zero
/* C1804 8012A924 8E6204FC */ lw $v0, 0x4FC($s3)
/* C1808 8012A928 30420400 */ andi $v0, $v0, 0x400
/* C180C 8012A92C 10400004 */ beqz $v0, .LIQUE_8012A940
/* C1810 8012A930 00651023 */ subu $v0, $v1, $a1
/* C1814 8012A934 04610012 */ bgez $v1, .LIQUE_8012A980
/* C1818 8012A938 0060682D */ daddu $t5, $v1, $zero
/* C181C 8012A93C 00651023 */ subu $v0, $v1, $a1
.LIQUE_8012A940:
/* C1820 8012A940 04420001 */ bltzl $v0, .LIQUE_8012A948
/* C1824 8012A944 00021023 */ negu $v0, $v0
.LIQUE_8012A948:
/* C1828 8012A948 44822000 */ mtc1 $v0, $f4
/* C182C 8012A94C 00000000 */ nop
/* C1830 8012A950 46802120 */ cvt.s.w $f4, $f4
/* C1834 8012A954 C602001C */ lwc1 $f2, 0x1C($s0)
/* C1838 8012A958 3C014200 */ lui $at, (0x42000000 >> 16)
/* C183C 8012A95C 44810000 */ mtc1 $at, $f0
/* C1840 8012A960 46022103 */ div.s $f4, $f4, $f2
/* C1844 8012A964 46002002 */ mul.s $f0, $f4, $f0
/* C1848 8012A968 00000000 */ nop
/* C184C 8012A96C 4600020D */ trunc.w.s $f8, $f0
/* C1850 8012A970 440E4000 */ mfc1 $t6, $f8
/* C1854 8012A974 0804AA60 */ j .LIQUE_8012A980
/* C1858 8012A978 00A0682D */ daddu $t5, $a1, $zero
.LIQUE_8012A97C:
/* C185C 8012A97C 0060682D */ daddu $t5, $v1, $zero
.LIQUE_8012A980:
/* C1860 8012A980 0100602D */ daddu $t4, $t0, $zero
/* C1864 8012A984 0187102A */ slt $v0, $t4, $a3
/* C1868 8012A988 50400001 */ beql $v0, $zero, .LIQUE_8012A990
/* C186C 8012A98C 00E0602D */ daddu $t4, $a3, $zero
.LIQUE_8012A990:
/* C1870 8012A990 0166102A */ slt $v0, $t3, $a2
/* C1874 8012A994 50400001 */ beql $v0, $zero, .LIQUE_8012A99C
/* C1878 8012A998 00C0582D */ daddu $t3, $a2, $zero
.LIQUE_8012A99C:
/* C187C 8012A99C C6040018 */ lwc1 $f4, 0x18($s0)
/* C1880 8012A9A0 3C013F80 */ lui $at, (0x3F800000 >> 16)
/* C1884 8012A9A4 44811000 */ mtc1 $at, $f2
/* C1888 8012A9A8 3C014480 */ lui $at, (0x44800000 >> 16)
/* C188C 8012A9AC 44813000 */ mtc1 $at, $f6
/* C1890 8012A9B0 46041103 */ div.s $f4, $f2, $f4
/* C1894 8012A9B4 46062102 */ mul.s $f4, $f4, $f6
/* C1898 8012A9B8 00000000 */ nop
/* C189C 8012A9BC C600001C */ lwc1 $f0, 0x1C($s0)
/* C18A0 8012A9C0 46001083 */ div.s $f2, $f2, $f0
/* C18A4 8012A9C4 46061082 */ mul.s $f2, $f2, $f6
/* C18A8 8012A9C8 00000000 */ nop
/* C18AC 8012A9CC 96040034 */ lhu $a0, 0x34($s0)
/* C18B0 8012A9D0 30820011 */ andi $v0, $a0, 0x11
/* C18B4 8012A9D4 4600220D */ trunc.w.s $f8, $f4
/* C18B8 8012A9D8 44114000 */ mfc1 $s1, $f8
/* C18BC 8012A9DC 4600120D */ trunc.w.s $f8, $f2
/* C18C0 8012A9E0 44134000 */ mfc1 $s3, $f8
/* C18C4 8012A9E4 1040002C */ beqz $v0, .LIQUE_8012AA98
/* C18C8 8012A9E8 3082FFEE */ andi $v0, $a0, 0xFFEE
/* C18CC 8012A9EC 3C07F500 */ lui $a3, (0xF5000100 >> 16)
/* C18D0 8012A9F0 34E70100 */ ori $a3, $a3, (0xF5000100 & 0xFFFF)
/* C18D4 8012A9F4 3C080703 */ lui $t0, (0x703C000 >> 16)
/* C18D8 8012A9F8 3508C000 */ ori $t0, $t0, (0x703C000 & 0xFFFF)
/* C18DC 8012A9FC 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* C18E0 8012AA00 24A59244 */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* C18E4 8012AA04 8CA30000 */ lw $v1, 0x0($a1)
/* C18E8 8012AA08 A6020034 */ sh $v0, 0x34($s0)
/* C18EC 8012AA0C 3C02FD10 */ lui $v0, (0xFD100000 >> 16)
/* C18F0 8012AA10 3C04802F */ lui $a0, %hi(D_802F4560)
/* C18F4 8012AA14 24844558 */ addiu $a0, $a0, %lo(D_802F4560)
/* C18F8 8012AA18 0060302D */ daddu $a2, $v1, $zero
/* C18FC 8012AA1C 24630008 */ addiu $v1, $v1, 0x8
/* C1900 8012AA20 ACA30000 */ sw $v1, 0x0($a1)
/* C1904 8012AA24 ACC20000 */ sw $v0, 0x0($a2)
/* C1908 8012AA28 00141100 */ sll $v0, $s4, 4
/* C190C 8012AA2C 00441021 */ addu $v0, $v0, $a0
/* C1910 8012AA30 ACC20004 */ sw $v0, 0x4($a2)
/* C1914 8012AA34 24620008 */ addiu $v0, $v1, 0x8
/* C1918 8012AA38 ACA20000 */ sw $v0, 0x0($a1)
/* C191C 8012AA3C 3C02E800 */ lui $v0, (0xE8000000 >> 16)
/* C1920 8012AA40 AC620000 */ sw $v0, 0x0($v1)
/* C1924 8012AA44 24620010 */ addiu $v0, $v1, 0x10
/* C1928 8012AA48 AC600004 */ sw $zero, 0x4($v1)
/* C192C 8012AA4C ACA20000 */ sw $v0, 0x0($a1)
/* C1930 8012AA50 3C020700 */ lui $v0, (0x7000000 >> 16)
/* C1934 8012AA54 AC62000C */ sw $v0, 0xC($v1)
/* C1938 8012AA58 24620018 */ addiu $v0, $v1, 0x18
/* C193C 8012AA5C AC670008 */ sw $a3, 0x8($v1)
/* C1940 8012AA60 ACA20000 */ sw $v0, 0x0($a1)
/* C1944 8012AA64 3C02E600 */ lui $v0, (0xE6000000 >> 16)
/* C1948 8012AA68 AC620010 */ sw $v0, 0x10($v1)
/* C194C 8012AA6C 24620020 */ addiu $v0, $v1, 0x20
/* C1950 8012AA70 AC600014 */ sw $zero, 0x14($v1)
/* C1954 8012AA74 ACA20000 */ sw $v0, 0x0($a1)
/* C1958 8012AA78 3C02F000 */ lui $v0, (0xF0000000 >> 16)
/* C195C 8012AA7C AC620018 */ sw $v0, 0x18($v1)
/* C1960 8012AA80 24620028 */ addiu $v0, $v1, 0x28
/* C1964 8012AA84 AC68001C */ sw $t0, 0x1C($v1)
/* C1968 8012AA88 ACA20000 */ sw $v0, 0x0($a1)
/* C196C 8012AA8C 3C02E700 */ lui $v0, (0xE7000000 >> 16)
/* C1970 8012AA90 AC620020 */ sw $v0, 0x20($v1)
/* C1974 8012AA94 AC600024 */ sw $zero, 0x24($v1)
.LIQUE_8012AA98:
/* C1978 8012AA98 91220000 */ lbu $v0, 0x0($t1)
/* C197C 8012AA9C 2C420010 */ sltiu $v0, $v0, 0x10
/* C1980 8012AAA0 144000D3 */ bnez $v0, .LIQUE_8012ADF0
/* C1984 8012AAA4 2642FCC1 */ addiu $v0, $s2, -0x33F
/* C1988 8012AAA8 91220000 */ lbu $v0, 0x0($t1)
/* C198C 8012AAAC 3042000F */ andi $v0, $v0, 0xF
/* C1990 8012AAB0 144000CF */ bnez $v0, .LIQUE_8012ADF0
/* C1994 8012AAB4 2642FCC1 */ addiu $v0, $s2, -0x33F
/* C1998 8012AAB8 2C420002 */ sltiu $v0, $v0, 0x2
/* C199C 8012AABC 1040003B */ beqz $v0, .LIQUE_8012ABAC
/* C19A0 8012AAC0 3C02FD50 */ lui $v0, (0xFD500000 >> 16)
/* C19A4 8012AAC4 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* C19A8 8012AAC8 24A59244 */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* C19AC 8012AACC 3C038014 */ lui $v1, %hi(D_8013A520)
/* C19B0 8012AAD0 2463A520 */ addiu $v1, $v1, %lo(D_8013A520)
/* C19B4 8012AAD4 8CA40000 */ lw $a0, 0x0($a1)
/* C19B8 8012AAD8 3C080700 */ lui $t0, (0x7000000 >> 16)
/* C19BC 8012AADC 0080302D */ daddu $a2, $a0, $zero
/* C19C0 8012AAE0 24840008 */ addiu $a0, $a0, 0x8
/* C19C4 8012AAE4 ACA40000 */ sw $a0, 0x0($a1)
/* C19C8 8012AAE8 ACC20000 */ sw $v0, 0x0($a2)
/* C19CC 8012AAEC 001211C0 */ sll $v0, $s2, 7
/* C19D0 8012AAF0 00431021 */ addu $v0, $v0, $v1
/* C19D4 8012AAF4 ACC20004 */ sw $v0, 0x4($a2)
/* C19D8 8012AAF8 24820008 */ addiu $v0, $a0, 0x8
/* C19DC 8012AAFC ACA20000 */ sw $v0, 0x0($a1)
/* C19E0 8012AB00 3C02F550 */ lui $v0, (0xF5500000 >> 16)
/* C19E4 8012AB04 AC820000 */ sw $v0, 0x0($a0)
/* C19E8 8012AB08 24820010 */ addiu $v0, $a0, 0x10
/* C19EC 8012AB0C AC880004 */ sw $t0, 0x4($a0)
/* C19F0 8012AB10 ACA20000 */ sw $v0, 0x0($a1)
/* C19F4 8012AB14 3C02E600 */ lui $v0, (0xE6000000 >> 16)
/* C19F8 8012AB18 AC820008 */ sw $v0, 0x8($a0)
/* C19FC 8012AB1C 24820018 */ addiu $v0, $a0, 0x18
/* C1A00 8012AB20 AC80000C */ sw $zero, 0xC($a0)
/* C1A04 8012AB24 ACA20000 */ sw $v0, 0x0($a1)
/* C1A08 8012AB28 3C02F300 */ lui $v0, (0xF3000000 >> 16)
/* C1A0C 8012AB2C AC820010 */ sw $v0, 0x10($a0)
/* C1A10 8012AB30 91230000 */ lbu $v1, 0x0($t1)
/* C1A14 8012AB34 24860014 */ addiu $a2, $a0, 0x14
/* C1A18 8012AB38 00032102 */ srl $a0, $v1, 4
/* C1A1C 8012AB3C 10800002 */ beqz $a0, .LIQUE_8012AB48
/* C1A20 8012AB40 24070800 */ addiu $a3, $zero, 0x800
/* C1A24 8012AB44 248707FF */ addiu $a3, $a0, 0x7FF
.LIQUE_8012AB48:
/* C1A28 8012AB48 91220001 */ lbu $v0, 0x1($t1)
/* C1A2C 8012AB4C 00620018 */ mult $v1, $v0
.LIQUE_8012AB50:
/* C1A30 8012AB50 0000C812 */ mflo $t9
/* C1A34 8012AB54 27220003 */ addiu $v0, $t9, 0x3
/* C1A38 8012AB58 00021083 */ sra $v0, $v0, 2
/* C1A3C 8012AB5C 2443FFFF */ addiu $v1, $v0, -0x1
/* C1A40 8012AB60 28620800 */ slti $v0, $v1, 0x800
/* C1A44 8012AB64 50400001 */ beql $v0, $zero, .LIQUE_8012AB6C
/* C1A48 8012AB68 240307FF */ addiu $v1, $zero, 0x7FF
.LIQUE_8012AB6C:
/* C1A4C 8012AB6C 30620FFF */ andi $v0, $v1, 0xFFF
/* C1A50 8012AB70 00021300 */ sll $v0, $v0, 12
/* C1A54 8012AB74 10800036 */ beqz $a0, .LIQUE_8012AC50
/* C1A58 8012AB78 00482825 */ or $a1, $v0, $t0
/* C1A5C 8012AB7C 14800002 */ bnez $a0, .LIQUE_8012AB88
/* C1A60 8012AB80 00E4001A */ div $zero, $a3, $a0
/* C1A64 8012AB84 0007000D */ break 7
.LIQUE_8012AB88:
/* C1A68 8012AB88 2401FFFF */ addiu $at, $zero, -0x1
/* C1A6C 8012AB8C 14810004 */ bne $a0, $at, .LIQUE_8012ABA0
/* C1A70 8012AB90 3C018000 */ lui $at, (0x80000000 >> 16)
/* C1A74 8012AB94 14E10002 */ bne $a3, $at, .LIQUE_8012ABA0
/* C1A78 8012AB98 00000000 */ nop
/* C1A7C 8012AB9C 0006000D */ break 6
.LIQUE_8012ABA0:
/* C1A80 8012ABA0 00001012 */ mflo $v0
/* C1A84 8012ABA4 0804AB57 */ j .LIQUE_8012AD5C
/* C1A88 8012ABA8 00A21025 */ or $v0, $a1, $v0
.LIQUE_8012ABAC:
/* C1A8C 8012ABAC 2A4200A6 */ slti $v0, $s2, 0xA6
/* C1A90 8012ABB0 14400029 */ bnez $v0, .LIQUE_8012AC58
/* C1A94 8012ABB4 3C02FD50 */ lui $v0, (0xFD500000 >> 16)
/* C1A98 8012ABB8 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* C1A9C 8012ABBC 24A59244 */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* C1AA0 8012ABC0 24070800 */ addiu $a3, $zero, 0x800
/* C1AA4 8012ABC4 8CA30000 */ lw $v1, 0x0($a1)
/* C1AA8 8012ABC8 3C048015 */ lui $a0, %hi(D_801544A0)
/* C1AAC 8012ABCC 248444A0 */ addiu $a0, $a0, %lo(D_801544A0)
/* C1AB0 8012ABD0 0060302D */ daddu $a2, $v1, $zero
/* C1AB4 8012ABD4 24630008 */ addiu $v1, $v1, 0x8
/* C1AB8 8012ABD8 ACA30000 */ sw $v1, 0x0($a1)
/* C1ABC 8012ABDC ACC20000 */ sw $v0, 0x0($a2)
/* C1AC0 8012ABE0 3C028015 */ lui $v0, %hi(D_8014AD24)
/* C1AC4 8012ABE4 8C42AD24 */ lw $v0, %lo(D_8014AD24)($v0)
/* C1AC8 8012ABE8 3C080700 */ lui $t0, (0x7000000 >> 16)
/* C1ACC 8012ABEC 000211C0 */ sll $v0, $v0, 7
/* C1AD0 8012ABF0 00441021 */ addu $v0, $v0, $a0
/* C1AD4 8012ABF4 ACC20004 */ sw $v0, 0x4($a2)
/* C1AD8 8012ABF8 24620008 */ addiu $v0, $v1, 0x8
/* C1ADC 8012ABFC ACA20000 */ sw $v0, 0x0($a1)
/* C1AE0 8012AC00 3C02F550 */ lui $v0, (0xF5500000 >> 16)
/* C1AE4 8012AC04 AC620000 */ sw $v0, 0x0($v1)
/* C1AE8 8012AC08 24620010 */ addiu $v0, $v1, 0x10
/* C1AEC 8012AC0C AC680004 */ sw $t0, 0x4($v1)
/* C1AF0 8012AC10 ACA20000 */ sw $v0, 0x0($a1)
/* C1AF4 8012AC14 3C02E600 */ lui $v0, (0xE6000000 >> 16)
/* C1AF8 8012AC18 AC620008 */ sw $v0, 0x8($v1)
/* C1AFC 8012AC1C 24620018 */ addiu $v0, $v1, 0x18
/* C1B00 8012AC20 AC60000C */ sw $zero, 0xC($v1)
/* C1B04 8012AC24 ACA20000 */ sw $v0, 0x0($a1)
/* C1B08 8012AC28 3C02F300 */ lui $v0, (0xF3000000 >> 16)
/* C1B0C 8012AC2C AC620010 */ sw $v0, 0x10($v1)
/* C1B10 8012AC30 91250000 */ lbu $a1, 0x0($t1)
/* C1B14 8012AC34 00052102 */ srl $a0, $a1, 4
/* C1B18 8012AC38 10800002 */ beqz $a0, .LIQUE_8012AC44
/* C1B1C 8012AC3C 24660014 */ addiu $a2, $v1, 0x14
/* C1B20 8012AC40 248707FF */ addiu $a3, $a0, 0x7FF
.LIQUE_8012AC44:
/* C1B24 8012AC44 91220001 */ lbu $v0, 0x1($t1)
/* C1B28 8012AC48 0804AAD4 */ j .LIQUE_8012AB50
/* C1B2C 8012AC4C 00A20018 */ mult $a1, $v0
.LIQUE_8012AC50:
/* C1B30 8012AC50 0804AB57 */ j .LIQUE_8012AD5C
/* C1B34 8012AC54 00A71025 */ or $v0, $a1, $a3
.LIQUE_8012AC58:
/* C1B38 8012AC58 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* C1B3C 8012AC5C 24C69244 */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* C1B40 8012AC60 8CC40000 */ lw $a0, 0x0($a2)
/* C1B44 8012AC64 0080382D */ daddu $a3, $a0, $zero
/* C1B48 8012AC68 24840008 */ addiu $a0, $a0, 0x8
/* C1B4C 8012AC6C ACC40000 */ sw $a0, 0x0($a2)
/* C1B50 8012AC70 ACE20000 */ sw $v0, 0x0($a3)
/* C1B54 8012AC74 24820008 */ addiu $v0, $a0, 0x8
/* C1B58 8012AC78 ACC20000 */ sw $v0, 0x0($a2)
/* C1B5C 8012AC7C 24820010 */ addiu $v0, $a0, 0x10
/* C1B60 8012AC80 ACC20000 */ sw $v0, 0x0($a2)
/* C1B64 8012AC84 000A1040 */ sll $v0, $t2, 1
/* C1B68 8012AC88 004A1021 */ addu $v0, $v0, $t2
/* C1B6C 8012AC8C 00021080 */ sll $v0, $v0, 2
/* C1B70 8012AC90 8D250008 */ lw $a1, 0x8($t1)
/* C1B74 8012AC94 95230004 */ lhu $v1, 0x4($t1)
/* C1B78 8012AC98 00451021 */ addu $v0, $v0, $a1
/* C1B7C 8012AC9C 00720018 */ mult $v1, $s2
/* C1B80 8012ACA0 24830018 */ addiu $v1, $a0, 0x18
/* C1B84 8012ACA4 8C420000 */ lw $v0, 0x0($v0)
/* C1B88 8012ACA8 3C050700 */ lui $a1, (0x7000000 >> 16)
/* C1B8C 8012ACAC ACC30000 */ sw $v1, 0x0($a2)
/* C1B90 8012ACB0 0000C812 */ mflo $t9
/* C1B94 8012ACB4 00591021 */ addu $v0, $v0, $t9
/* C1B98 8012ACB8 ACE20004 */ sw $v0, 0x4($a3)
/* C1B9C 8012ACBC 3C02F550 */ lui $v0, (0xF5500000 >> 16)
/* C1BA0 8012ACC0 AC820000 */ sw $v0, 0x0($a0)
/* C1BA4 8012ACC4 3C02E600 */ lui $v0, (0xE6000000 >> 16)
/* C1BA8 8012ACC8 AC820008 */ sw $v0, 0x8($a0)
/* C1BAC 8012ACCC 3C02F300 */ lui $v0, (0xF3000000 >> 16)
/* C1BB0 8012ACD0 AC850004 */ sw $a1, 0x4($a0)
/* C1BB4 8012ACD4 AC80000C */ sw $zero, 0xC($a0)
/* C1BB8 8012ACD8 AC820010 */ sw $v0, 0x10($a0)
/* C1BBC 8012ACDC 91230000 */ lbu $v1, 0x0($t1)
/* C1BC0 8012ACE0 24860014 */ addiu $a2, $a0, 0x14
/* C1BC4 8012ACE4 00032102 */ srl $a0, $v1, 4
/* C1BC8 8012ACE8 10800002 */ beqz $a0, .LIQUE_8012ACF4
/* C1BCC 8012ACEC 24080800 */ addiu $t0, $zero, 0x800
/* C1BD0 8012ACF0 248807FF */ addiu $t0, $a0, 0x7FF
.LIQUE_8012ACF4:
/* C1BD4 8012ACF4 91220001 */ lbu $v0, 0x1($t1)
/* C1BD8 8012ACF8 00620018 */ mult $v1, $v0
/* C1BDC 8012ACFC 0000C812 */ mflo $t9
/* C1BE0 8012AD00 27220003 */ addiu $v0, $t9, 0x3
/* C1BE4 8012AD04 00021083 */ sra $v0, $v0, 2
/* C1BE8 8012AD08 2443FFFF */ addiu $v1, $v0, -0x1
/* C1BEC 8012AD0C 28620800 */ slti $v0, $v1, 0x800
/* C1BF0 8012AD10 50400001 */ beql $v0, $zero, .LIQUE_8012AD18
/* C1BF4 8012AD14 240307FF */ addiu $v1, $zero, 0x7FF
.LIQUE_8012AD18:
/* C1BF8 8012AD18 30620FFF */ andi $v0, $v1, 0xFFF
/* C1BFC 8012AD1C 00021300 */ sll $v0, $v0, 12
/* C1C00 8012AD20 1080000D */ beqz $a0, .LIQUE_8012AD58
/* C1C04 8012AD24 00452825 */ or $a1, $v0, $a1
/* C1C08 8012AD28 14800002 */ bnez $a0, .LIQUE_8012AD34
/* C1C0C 8012AD2C 0104001A */ div $zero, $t0, $a0
/* C1C10 8012AD30 0007000D */ break 7
.LIQUE_8012AD34:
/* C1C14 8012AD34 2401FFFF */ addiu $at, $zero, -0x1
/* C1C18 8012AD38 14810004 */ bne $a0, $at, .LIQUE_8012AD4C
/* C1C1C 8012AD3C 3C018000 */ lui $at, (0x80000000 >> 16)
/* C1C20 8012AD40 15010002 */ bne $t0, $at, .LIQUE_8012AD4C
/* C1C24 8012AD44 00000000 */ nop
/* C1C28 8012AD48 0006000D */ break 6
.LIQUE_8012AD4C:
/* C1C2C 8012AD4C 00001012 */ mflo $v0
/* C1C30 8012AD50 0804AB57 */ j .LIQUE_8012AD5C
/* C1C34 8012AD54 00A21025 */ or $v0, $a1, $v0
.LIQUE_8012AD58:
/* C1C38 8012AD58 00A81025 */ or $v0, $a1, $t0
.LIQUE_8012AD5C:
/* C1C3C 8012AD5C 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* C1C40 8012AD60 24A59244 */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* C1C44 8012AD64 8CA40000 */ lw $a0, 0x0($a1)
/* C1C48 8012AD68 ACC20000 */ sw $v0, 0x0($a2)
/* C1C4C 8012AD6C 3C02E700 */ lui $v0, (0xE7000000 >> 16)
/* C1C50 8012AD70 0080182D */ daddu $v1, $a0, $zero
/* C1C54 8012AD74 24840008 */ addiu $a0, $a0, 0x8
/* C1C58 8012AD78 ACA40000 */ sw $a0, 0x0($a1)
/* C1C5C 8012AD7C AC620000 */ sw $v0, 0x0($v1)
/* C1C60 8012AD80 24820008 */ addiu $v0, $a0, 0x8
/* C1C64 8012AD84 AC600004 */ sw $zero, 0x4($v1)
/* C1C68 8012AD88 ACA20000 */ sw $v0, 0x0($a1)
/* C1C6C 8012AD8C 91220000 */ lbu $v0, 0x0($t1)
/* C1C70 8012AD90 24830010 */ addiu $v1, $a0, 0x10
/* C1C74 8012AD94 AC800004 */ sw $zero, 0x4($a0)
/* C1C78 8012AD98 ACA30000 */ sw $v1, 0x0($a1)
/* C1C7C 8012AD9C 3C03F200 */ lui $v1, (0xF2000000 >> 16)
/* C1C80 8012ADA0 AC830008 */ sw $v1, 0x8($a0)
/* C1C84 8012ADA4 3C03F540 */ lui $v1, (0xF5400000 >> 16)
/* C1C88 8012ADA8 00021042 */ srl $v0, $v0, 1
/* C1C8C 8012ADAC 24420007 */ addiu $v0, $v0, 0x7
/* C1C90 8012ADB0 000210C2 */ srl $v0, $v0, 3
/* C1C94 8012ADB4 00021240 */ sll $v0, $v0, 9
/* C1C98 8012ADB8 00431025 */ or $v0, $v0, $v1
/* C1C9C 8012ADBC AC820000 */ sw $v0, 0x0($a0)
/* C1CA0 8012ADC0 91230000 */ lbu $v1, 0x0($t1)
/* C1CA4 8012ADC4 91220001 */ lbu $v0, 0x1($t1)
/* C1CA8 8012ADC8 2463FFFF */ addiu $v1, $v1, -0x1
/* C1CAC 8012ADCC 00031880 */ sll $v1, $v1, 2
/* C1CB0 8012ADD0 30630FFF */ andi $v1, $v1, 0xFFF
/* C1CB4 8012ADD4 00031B00 */ sll $v1, $v1, 12
/* C1CB8 8012ADD8 2442FFFF */ addiu $v0, $v0, -0x1
/* C1CBC 8012ADDC 00021080 */ sll $v0, $v0, 2
/* C1CC0 8012ADE0 30420FFF */ andi $v0, $v0, 0xFFF
/* C1CC4 8012ADE4 00621825 */ or $v1, $v1, $v0
/* C1CC8 8012ADE8 0804AC0A */ j .LIQUE_8012B028
/* C1CCC 8012ADEC AC83000C */ sw $v1, 0xC($a0)
.LIQUE_8012ADF0:
/* C1CD0 8012ADF0 2C420002 */ sltiu $v0, $v0, 0x2
/* C1CD4 8012ADF4 10400018 */ beqz $v0, .LIQUE_8012AE58
/* C1CD8 8012ADF8 001219C0 */ sll $v1, $s2, 7
/* C1CDC 8012ADFC 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* C1CE0 8012AE00 24C69244 */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* C1CE4 8012AE04 8CC50000 */ lw $a1, 0x0($a2)
/* C1CE8 8012AE08 3C048014 */ lui $a0, %hi(D_8013A520)
/* C1CEC 8012AE0C 2484A520 */ addiu $a0, $a0, %lo(D_8013A520)
/* C1CF0 8012AE10 00A0382D */ daddu $a3, $a1, $zero
/* C1CF4 8012AE14 24A50008 */ addiu $a1, $a1, 0x8
/* C1CF8 8012AE18 ACC50000 */ sw $a1, 0x0($a2)
/* C1CFC 8012AE1C 91220000 */ lbu $v0, 0x0($t1)
/* C1D00 8012AE20 00641821 */ addu $v1, $v1, $a0
/* C1D04 8012AE24 ACE30004 */ sw $v1, 0x4($a3)
/* C1D08 8012AE28 24A30008 */ addiu $v1, $a1, 0x8
/* C1D0C 8012AE2C ACC30000 */ sw $v1, 0x0($a2)
/* C1D10 8012AE30 3C03FD48 */ lui $v1, (0xFD480000 >> 16)
/* C1D14 8012AE34 00021042 */ srl $v0, $v0, 1
/* C1D18 8012AE38 2442FFFF */ addiu $v0, $v0, -0x1
/* C1D1C 8012AE3C 30420FFF */ andi $v0, $v0, 0xFFF
/* C1D20 8012AE40 00431025 */ or $v0, $v0, $v1
/* C1D24 8012AE44 ACE20000 */ sw $v0, 0x0($a3)
/* C1D28 8012AE48 3C070700 */ lui $a3, (0x7000000 >> 16)
/* C1D2C 8012AE4C 91220000 */ lbu $v0, 0x0($t1)
/* C1D30 8012AE50 0804ABCF */ j .LIQUE_8012AF3C
/* C1D34 8012AE54 24A30010 */ addiu $v1, $a1, 0x10
.LIQUE_8012AE58:
/* C1D38 8012AE58 2A4200A6 */ slti $v0, $s2, 0xA6
/* C1D3C 8012AE5C 5440001B */ bnel $v0, $zero, .LIQUE_8012AECC
/* C1D40 8012AE60 3C03FD48 */ lui $v1, (0xFD480000 >> 16)
/* C1D44 8012AE64 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* C1D48 8012AE68 24C69244 */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* C1D4C 8012AE6C 8CC50000 */ lw $a1, 0x0($a2)
/* C1D50 8012AE70 3C048015 */ lui $a0, %hi(D_801544A0)
/* C1D54 8012AE74 248444A0 */ addiu $a0, $a0, %lo(D_801544A0)
/* C1D58 8012AE78 00A0382D */ daddu $a3, $a1, $zero
/* C1D5C 8012AE7C 24A50008 */ addiu $a1, $a1, 0x8
/* C1D60 8012AE80 ACC50000 */ sw $a1, 0x0($a2)
/* C1D64 8012AE84 3C038015 */ lui $v1, %hi(D_8014AD24)
/* C1D68 8012AE88 8C63AD24 */ lw $v1, %lo(D_8014AD24)($v1)
/* C1D6C 8012AE8C 91220000 */ lbu $v0, 0x0($t1)
/* C1D70 8012AE90 000319C0 */ sll $v1, $v1, 7
/* C1D74 8012AE94 00641821 */ addu $v1, $v1, $a0
/* C1D78 8012AE98 ACE30004 */ sw $v1, 0x4($a3)
/* C1D7C 8012AE9C 24A30008 */ addiu $v1, $a1, 0x8
/* C1D80 8012AEA0 00021042 */ srl $v0, $v0, 1
/* C1D84 8012AEA4 2442FFFF */ addiu $v0, $v0, -0x1
/* C1D88 8012AEA8 30420FFF */ andi $v0, $v0, 0xFFF
/* C1D8C 8012AEAC ACC30000 */ sw $v1, 0x0($a2)
/* C1D90 8012AEB0 3C03FD48 */ lui $v1, (0xFD480000 >> 16)
/* C1D94 8012AEB4 00431025 */ or $v0, $v0, $v1
/* C1D98 8012AEB8 ACE20000 */ sw $v0, 0x0($a3)
/* C1D9C 8012AEBC 3C070700 */ lui $a3, (0x7000000 >> 16)
/* C1DA0 8012AEC0 91220000 */ lbu $v0, 0x0($t1)
/* C1DA4 8012AEC4 0804ABCF */ j .LIQUE_8012AF3C
/* C1DA8 8012AEC8 24A30010 */ addiu $v1, $a1, 0x10
.LIQUE_8012AECC:
/* C1DAC 8012AECC 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* C1DB0 8012AED0 24C69244 */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* C1DB4 8012AED4 8CC50000 */ lw $a1, 0x0($a2)
/* C1DB8 8012AED8 00A0382D */ daddu $a3, $a1, $zero
/* C1DBC 8012AEDC 24A50008 */ addiu $a1, $a1, 0x8
/* C1DC0 8012AEE0 ACC50000 */ sw $a1, 0x0($a2)
/* C1DC4 8012AEE4 91220000 */ lbu $v0, 0x0($t1)
/* C1DC8 8012AEE8 00021042 */ srl $v0, $v0, 1
/* C1DCC 8012AEEC 2442FFFF */ addiu $v0, $v0, -0x1
/* C1DD0 8012AEF0 30420FFF */ andi $v0, $v0, 0xFFF
/* C1DD4 8012AEF4 00431025 */ or $v0, $v0, $v1
/* C1DD8 8012AEF8 ACE20000 */ sw $v0, 0x0($a3)
/* C1DDC 8012AEFC 000A1040 */ sll $v0, $t2, 1
/* C1DE0 8012AF00 004A1021 */ addu $v0, $v0, $t2
/* C1DE4 8012AF04 00021080 */ sll $v0, $v0, 2
/* C1DE8 8012AF08 8D240008 */ lw $a0, 0x8($t1)
/* C1DEC 8012AF0C 95230004 */ lhu $v1, 0x4($t1)
/* C1DF0 8012AF10 00441021 */ addu $v0, $v0, $a0
/* C1DF4 8012AF14 00720018 */ mult $v1, $s2
/* C1DF8 8012AF18 8C420000 */ lw $v0, 0x0($v0)
/* C1DFC 8012AF1C 24A30008 */ addiu $v1, $a1, 0x8
/* C1E00 8012AF20 ACC30000 */ sw $v1, 0x0($a2)
/* C1E04 8012AF24 24A30010 */ addiu $v1, $a1, 0x10
/* C1E08 8012AF28 0000C812 */ mflo $t9
/* C1E0C 8012AF2C 00591021 */ addu $v0, $v0, $t9
/* C1E10 8012AF30 ACE20004 */ sw $v0, 0x4($a3)
/* C1E14 8012AF34 91220000 */ lbu $v0, 0x0($t1)
/* C1E18 8012AF38 3C070700 */ lui $a3, (0x7000000 >> 16)
.LIQUE_8012AF3C:
/* C1E1C 8012AF3C ACA70004 */ sw $a3, 0x4($a1)
/* C1E20 8012AF40 ACC30000 */ sw $v1, 0x0($a2)
/* C1E24 8012AF44 3C03E600 */ lui $v1, (0xE6000000 >> 16)
/* C1E28 8012AF48 ACA30008 */ sw $v1, 0x8($a1)
/* C1E2C 8012AF4C 24A30018 */ addiu $v1, $a1, 0x18
/* C1E30 8012AF50 ACA0000C */ sw $zero, 0xC($a1)
/* C1E34 8012AF54 ACC30000 */ sw $v1, 0x0($a2)
/* C1E38 8012AF58 3C03F400 */ lui $v1, (0xF4000000 >> 16)
/* C1E3C 8012AF5C ACA30010 */ sw $v1, 0x10($a1)
/* C1E40 8012AF60 3C03F548 */ lui $v1, (0xF5480000 >> 16)
/* C1E44 8012AF64 00021042 */ srl $v0, $v0, 1
/* C1E48 8012AF68 24420007 */ addiu $v0, $v0, 0x7
/* C1E4C 8012AF6C 000210C2 */ srl $v0, $v0, 3
/* C1E50 8012AF70 00021240 */ sll $v0, $v0, 9
/* C1E54 8012AF74 00431025 */ or $v0, $v0, $v1
/* C1E58 8012AF78 ACA20000 */ sw $v0, 0x0($a1)
/* C1E5C 8012AF7C 91220000 */ lbu $v0, 0x0($t1)
/* C1E60 8012AF80 91240001 */ lbu $a0, 0x1($t1)
/* C1E64 8012AF84 24A30020 */ addiu $v1, $a1, 0x20
/* C1E68 8012AF88 ACC30000 */ sw $v1, 0x0($a2)
/* C1E6C 8012AF8C 3C03E700 */ lui $v1, (0xE7000000 >> 16)
/* C1E70 8012AF90 ACA30018 */ sw $v1, 0x18($a1)
/* C1E74 8012AF94 24A30028 */ addiu $v1, $a1, 0x28
/* C1E78 8012AF98 ACA0001C */ sw $zero, 0x1C($a1)
/* C1E7C 8012AF9C ACC30000 */ sw $v1, 0x0($a2)
/* C1E80 8012AFA0 2442FFFF */ addiu $v0, $v0, -0x1
/* C1E84 8012AFA4 00021040 */ sll $v0, $v0, 1
/* C1E88 8012AFA8 30420FFF */ andi $v0, $v0, 0xFFF
/* C1E8C 8012AFAC 00021300 */ sll $v0, $v0, 12
/* C1E90 8012AFB0 2484FFFF */ addiu $a0, $a0, -0x1
/* C1E94 8012AFB4 00042080 */ sll $a0, $a0, 2
/* C1E98 8012AFB8 30840FFF */ andi $a0, $a0, 0xFFF
/* C1E9C 8012AFBC 00872025 */ or $a0, $a0, $a3
/* C1EA0 8012AFC0 00441025 */ or $v0, $v0, $a0
/* C1EA4 8012AFC4 ACA20014 */ sw $v0, 0x14($a1)
/* C1EA8 8012AFC8 91220000 */ lbu $v0, 0x0($t1)
/* C1EAC 8012AFCC 24A30030 */ addiu $v1, $a1, 0x30
/* C1EB0 8012AFD0 ACA00024 */ sw $zero, 0x24($a1)
/* C1EB4 8012AFD4 ACC30000 */ sw $v1, 0x0($a2)
/* C1EB8 8012AFD8 3C03F200 */ lui $v1, (0xF2000000 >> 16)
/* C1EBC 8012AFDC ACA30028 */ sw $v1, 0x28($a1)
/* C1EC0 8012AFE0 3C03F540 */ lui $v1, (0xF5400000 >> 16)
/* C1EC4 8012AFE4 00021042 */ srl $v0, $v0, 1
/* C1EC8 8012AFE8 24420007 */ addiu $v0, $v0, 0x7
/* C1ECC 8012AFEC 000210C2 */ srl $v0, $v0, 3
/* C1ED0 8012AFF0 00021240 */ sll $v0, $v0, 9
/* C1ED4 8012AFF4 00431025 */ or $v0, $v0, $v1
/* C1ED8 8012AFF8 ACA20020 */ sw $v0, 0x20($a1)
/* C1EDC 8012AFFC 91230000 */ lbu $v1, 0x0($t1)
/* C1EE0 8012B000 91220001 */ lbu $v0, 0x1($t1)
/* C1EE4 8012B004 2463FFFF */ addiu $v1, $v1, -0x1
/* C1EE8 8012B008 00031880 */ sll $v1, $v1, 2
/* C1EEC 8012B00C 30630FFF */ andi $v1, $v1, 0xFFF
/* C1EF0 8012B010 00031B00 */ sll $v1, $v1, 12
/* C1EF4 8012B014 2442FFFF */ addiu $v0, $v0, -0x1
/* C1EF8 8012B018 00021080 */ sll $v0, $v0, 2
/* C1EFC 8012B01C 30420FFF */ andi $v0, $v0, 0xFFF
/* C1F00 8012B020 00621825 */ or $v1, $v1, $v0
/* C1F04 8012B024 ACA3002C */ sw $v1, 0x2C($a1)
.LIQUE_8012B028:
/* C1F08 8012B028 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* C1F0C 8012B02C 24C69244 */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* C1F10 8012B030 000C1080 */ sll $v0, $t4, 2
/* C1F14 8012B034 30420FFF */ andi $v0, $v0, 0xFFF
/* C1F18 8012B038 00021300 */ sll $v0, $v0, 12
/* C1F1C 8012B03C 000B1880 */ sll $v1, $t3, 2
/* C1F20 8012B040 30630FFF */ andi $v1, $v1, 0xFFF
/* C1F24 8012B044 3C04E400 */ lui $a0, (0xE4000000 >> 16)
/* C1F28 8012B048 00641825 */ or $v1, $v1, $a0
/* C1F2C 8012B04C 00431025 */ or $v0, $v0, $v1
/* C1F30 8012B050 000D1880 */ sll $v1, $t5, 2
/* C1F34 8012B054 8CC50000 */ lw $a1, 0x0($a2)
/* C1F38 8012B058 30630FFF */ andi $v1, $v1, 0xFFF
/* C1F3C 8012B05C 00A0382D */ daddu $a3, $a1, $zero
/* C1F40 8012B060 24A50008 */ addiu $a1, $a1, 0x8
/* C1F44 8012B064 ACC50000 */ sw $a1, 0x0($a2)
/* C1F48 8012B068 ACE20000 */ sw $v0, 0x0($a3)
/* C1F4C 8012B06C 000F1080 */ sll $v0, $t7, 2
/* C1F50 8012B070 30420FFF */ andi $v0, $v0, 0xFFF
/* C1F54 8012B074 00021300 */ sll $v0, $v0, 12
/* C1F58 8012B078 00431025 */ or $v0, $v0, $v1
/* C1F5C 8012B07C ACE20004 */ sw $v0, 0x4($a3)
/* C1F60 8012B080 24A20008 */ addiu $v0, $a1, 0x8
/* C1F64 8012B084 ACC20000 */ sw $v0, 0x0($a2)
/* C1F68 8012B088 3C02E100 */ lui $v0, (0xE1000000 >> 16)
/* C1F6C 8012B08C ACA20000 */ sw $v0, 0x0($a1)
/* C1F70 8012B090 00181400 */ sll $v0, $t8, 16
/* C1F74 8012B094 31C3FFFF */ andi $v1, $t6, 0xFFFF
/* C1F78 8012B098 00431025 */ or $v0, $v0, $v1
/* C1F7C 8012B09C ACA20004 */ sw $v0, 0x4($a1)
/* C1F80 8012B0A0 24A20010 */ addiu $v0, $a1, 0x10
/* C1F84 8012B0A4 ACC20000 */ sw $v0, 0x0($a2)
/* C1F88 8012B0A8 3C02F100 */ lui $v0, (0xF1000000 >> 16)
/* C1F8C 8012B0AC ACA20008 */ sw $v0, 0x8($a1)
/* C1F90 8012B0B0 00111400 */ sll $v0, $s1, 16
/* C1F94 8012B0B4 3263FFFF */ andi $v1, $s3, 0xFFFF
/* C1F98 8012B0B8 00431025 */ or $v0, $v0, $v1
/* C1F9C 8012B0BC ACA2000C */ sw $v0, 0xC($a1)
/* C1FA0 8012B0C0 2A4200A6 */ slti $v0, $s2, 0xA6
/* C1FA4 8012B0C4 14400012 */ bnez $v0, .LIQUE_8012B110
/* C1FA8 8012B0C8 00000000 */ nop
/* C1FAC 8012B0CC 3C058015 */ lui $a1, %hi(D_8014AD24)
/* C1FB0 8012B0D0 24A5AD24 */ addiu $a1, $a1, %lo(D_8014AD24)
/* C1FB4 8012B0D4 8CA30000 */ lw $v1, 0x0($a1)
/* C1FB8 8012B0D8 3C028888 */ lui $v0, (0x88888889 >> 16)
/* C1FBC 8012B0DC 34428889 */ ori $v0, $v0, (0x88888889 & 0xFFFF)
/* C1FC0 8012B0E0 24630001 */ addiu $v1, $v1, 0x1
/* C1FC4 8012B0E4 00620019 */ multu $v1, $v0
/* C1FC8 8012B0E8 0000C810 */ mfhi $t9
/* C1FCC 8012B0EC 00192182 */ srl $a0, $t9, 6
/* C1FD0 8012B0F0 00041100 */ sll $v0, $a0, 4
/* C1FD4 8012B0F4 00441023 */ subu $v0, $v0, $a0
/* C1FD8 8012B0F8 000210C0 */ sll $v0, $v0, 3
/* C1FDC 8012B0FC 00621823 */ subu $v1, $v1, $v0
/* C1FE0 8012B100 14600003 */ bnez $v1, .LIQUE_8012B110
/* C1FE4 8012B104 ACA30000 */ sw $v1, 0x0($a1)
/* C1FE8 8012B108 24020002 */ addiu $v0, $zero, 0x2
/* C1FEC 8012B10C ACA20000 */ sw $v0, 0x0($a1)
.LIQUE_8012B110:
/* C1FF0 8012B110 8FBF0024 */ lw $ra, 0x24($sp)
/* C1FF4 8012B114 8FB40020 */ lw $s4, 0x20($sp)
/* C1FF8 8012B118 8FB3001C */ lw $s3, 0x1C($sp)
/* C1FFC 8012B11C 8FB20018 */ lw $s2, 0x18($sp)
/* C2000 8012B120 8FB10014 */ lw $s1, 0x14($sp)
/* C2004 8012B124 8FB00010 */ lw $s0, 0x10($sp)
/* C2008 8012B128 03E00008 */ jr $ra
/* C200C 8012B12C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -396,14 +396,69 @@ segments:
- [0xa4990]
- name: engine2
dir: engine2
type: code
start: 0xa4990
vram: 0x8010dab0
subsegments:
- [0xa4990, bin]
- [0xe6920]
- [0xA4990, hasm, bss3]
- [0xA4990, c, a5dd0_len_114e0]
- [0xB3140, c, B4580]
- [0xB5E70, c, entity_model]
- [0xB8370, c, worker]
- [0xB8920, c, msg]
- [0xC4010, c, C50A0]
- [0xCC0F0, c, cd180_len_38f0]
- [0xCDDB0, c, CEE40]
- [0xCF9E0, c, d0a70_len_4fe0]
- [0xD49C0, c, hud_element]
- [0xDA990, c, dba20_len_350]
- [0xDACE0, c, trigger]
- [0xDB3E0, c, dc470_len_14c0]
- [0xDC8A0, c, audio/ambience]
- [0xDCA60, c, windows]
- [0xDD6B0, c, de740_len_23f0]
- [0xDE8C0, c, audio/sfx]
- [0xDFAA0, c, audio/e0b30_len_b80]
- [0xE0620, .data, a5dd0_len_114e0]
- [0xE18C0, .data, B4580]
- [0xE18D0, .data, entity_model]
- [0xE18F0, .data, msg]
- [0xE1C10, .data, C50A0]
- start: 0xE1D60
type: .data
name: cd180_len_38f0
subsegments:
- [0xE1D60]
- [0xE1D70, i4, ui/stencil/star, 32, 64]
- [0xE2170, i4, ui/stencil/mario, 64, 64]
- [0xE2970, i4, ui/stencil/sharp_circle, 32, 32]
- [0xE2B70, i8, ui/stencil/blurry_circle, 64, 64]
- [0xE3B70, vtx, vtx/stencil1]
- [0xE3C10]
- [0xE3DE0, vtx, vtx/stencil2]
- [0xE3F60]
- [0xE4400, .data, CEE40]
- [0xE4480, .data, d0a70_len_4fe0]
- [0xE4630, .data, hud_element]
- [0xE4790, .data, dc470_len_14c0]
- [0xE47B0, .data, audio/ambience]
- [0xE47C0, .data, windows]
- [0xE4940, .data, audio/sfx]
- [0xE4D60, .data, audio/e0b30_len_b80]
- [0xE4DB0, .rodata, a5dd0_len_114e0]
- [0xE54D0, .rodata, B4580]
- [0xE5720, .rodata, entity_model]
- [0xE59E0, .rodata, msg]
- [0xE60B0, .rodata, C50A0]
- [0xE6510, .rodata, cd180_len_38f0]
- [0xE65F0, .rodata, CEE40]
- [0xE6620, .rodata, d0a70_len_4fe0]
- [0xE67B0, .rodata, hud_element]
- [0xE6890, .rodata, dc470_len_14c0]
- [0xE68B0, .rodata, windows]
- [0xE68C0, .rodata, audio/sfx]
- [0xE6900, .rodata, audio/e0b30_len_b80]
- [0xE6920]
- name: evt
dir: evt
type: code

View File

@ -539,3 +539,114 @@ gMsgCharsets = 0x802eb5a8;
load_font_data = 0x80121ae8;
D_802F4560 = 0x802f4558;
ui_stencil_star_png = 0x8014ae90; // segment:engine2
ui_stencil_mario_png = 0x8014b290; // segment:engine2
ui_stencil_sharp_circle_png = 0x8014ba90; // segment:engine2
ui_stencil_blurry_circle_png = 0x8014bc90; // segment:engine2
vtx_stencil1 = 0x8014cc90; // segment:engine2
vtx_stencil2 = 0x8014cf00; // segment:engine2
test_item_player_collision = 0x8013229c;
item_entity_load = 0x8012f8b8;
draw_image_with_clipping = 0x8012d424;
appendGfx_animator_node = 0x8011de34;
appendGfx_shading_palette = 0x80147148;
mdl_project_tex_coords = 0x8011a70c;
msg_get_print_char_width = 0x80123ff0;
msg_copy_to_print_buffer = 0x8012294c;
render_hud_element = 0x8014138c;
get_model_from_list_index = 0x80119110;
mdl_get_vertex_count = 0x8011a408;
gMatrixListPos = 0x80072e60;
gDisplayContext = 0x8009924c;
gAnimModelFogEnabled = 0x801521c4;
D_801536C0 = 0x80151e40;
general_heap_malloc = 0x8002a8f8;
D_802EE8D0 = 0x802ee8d0;
D_802ED970 = 0x802ed970;
D_802F39D0 = 0x802f39d0;
sfx_play_sound_with_params = 0x80148248;
heap_malloc = 0x8002a9b4;
D_80159180 = 0x8015b500;
D_802ED970 = 0x802ed970;
D_802F39D0 = 0x802f39d0;
charset_postcard_png = 0x00054fa8;
charset_postcard_pal + 5 = 0x00056e70;
D_80159B50 = 0x8015bed0;
icon_present_ROM_START = 0x00215390;
gOverrideFlags = 0x80099228;
D_801565A6 = 0x80158926;
gHudElementCacheTableRaster = 0x8014fa58;
D_8015131C = 0x8014faac;
gItemIconRasterOffsets = 0x8008d038;
gItemIconPaletteOffsets = 0x8008d5ac;
D_8015C7E0 = 0x8015eb60;
item_entity_update = 0x80130564;
charset_ROM_START = 0x0010e120;
dma_copy = 0x8002940c;
animator_copy_vertices_to_buffer = 0x8011c260;
get_time_freeze_mode = 0x80026e60;
get_model_list_index_from_tree_index = 0x801193f0;
gMessageMsgVars = 0x801543b8;
msg_play_speech_sound = 0x80122810;
gItemEntityScripts = 0x8008ca34;
gHudElementCacheBuffer = 0x8014faa4;
gHudElementCacheSize = 0x8014facc;
gHudElementCacheTablePalette = 0x8014fa60;
gGameStatusPtr = 0x80072e0c;
gEncounterState = 0x800991cc;
fold_appendGfx_component = 0x80139700;
get_msg_properties = 0x801242f8;
appendGfx_message = 0x80126140;
msg_draw_char = 0x8012a75c;
D_8014AD24 = 0x8014ad24;
D_801544A0 = 0x801544a0;
D_8013A520 = 0x8013a520;
D_8014AD24 = 0x8014ad24;
draw_ci_image_with_clipping = 0x8012d130;
cosine = 0x800290a4;
rand_int = 0x800296cc;
update_lerp = 0x8002a084;
gEncounterState = 0x800991cc;
gCurrentEncounter = 0x800af950;
isPickingUpItem = 0x80158924;
msg_drawState = 0x801580f4;
msg_draw_prim_rect = 0x8012b130;
msg_draw_frame = 0x8012c2e0;
msg_reset_gfx_state = 0x8012a718;
ui_msg_sign_side_right_png = 0x802ecab0;
ui_msg_sign_side_left_png = 0x802ec970;
ui_msg_sign_side_top_png = 0x802ec870;
ui_msg_sign_corner_topright_png = 0x802ec670;
D_80151338 = 0x8014fac8;
gMsgGlobalWaveCounter = 0x8014fa74;
D_8014C500 = 0x8014ac90;
spr_get_npc_raster_info = 0x802de9d8;
ui_msg_sign_fill_png = 0x802eccf0;
ui_msg_sign_side_bottom_png = 0x802ecbf0;
ui_msg_sign_corner_bottomleft_png = 0x802ec6f0;
ui_msg_sign_corner_topleft_png = 0x802ec5f0;
ui_msg_lamppost_pal = 0x802ecd30;
ui_msg_lamppost_corner_bottomright_png = 0x802ec7f0;
ui_msg_sign_pal = 0x802ecd10;
msg_draw_speech_arrow = 0x8012bb64;
msg_draw_speech_bubble = 0x8012b390;
msg_get_draw_char_width = 0x80124184;
D_80151338 = 0x8014fac8;
gMsgVarImages = 0x8014fa84;
ui_msg_sign_corner_bottomright_png = 0x802ec770;
general_heap_free = 0x8002a948;
get_msg_width = 0x80124824;
D_80155D20 = 0x801580a0;
nuPiReadRom = 0x8005eb40;
gCurrentCameraID = 0x80076070;
clamp_angle = 0x800297f4;
add_vec2D_polar = 0x80029c6c;
gHudElementSizes = 0x8014d75c;
fold_update = 0x8013922c;
D_8014F0C8 = 0x8014d858;
nuGfxCfb_ptr = 0x80099224;
D_80159880 = 0x8015bc00;
gCameras = 0x800b07d0;
dma_load_msg = 0x80123b70;
D_80154520 = 0x80154520;

View File

@ -689,118 +689,47 @@ b_area_dig_Stages = 0x8022A83C; // segment:battle_area_dig
clear_script_list = 0x802c31dc;
spr_init_sprites = 0x802dd8f8;
clear_animator_list = 0x8011c604;
clear_entity_models = 0x8011ef90;
hud_element_clear_cache = 0x8013f890;
clear_trigger_data = 0x80143e10;
clear_model_data = 0x80114124;
clear_sprite_shading_data = 0x801467d0;
reset_background_settings = 0x80144588;
clear_printers = 0x80121a54;
gPlayerData = 0x8010d670;
evt_set_variable = 0x802c8098;
set_screen_overlay_params_front = 0x80136518;
clear_item_entity_data = 0x8012f780;
initialize_status_menu = 0x800e5d14;
clear_player_data = 0x800e5780;
func_80138188 = 0x80136918;
btl_set_state = 0x80241190;
clear_worker_list = 0x80121498;
clear_player_status = 0x800de030;
clear_item_entity_data = 0x8012f780;
clear_entity_data = 0x8010f098;
update_workers = 0x801217e4;
update_triggers = 0x80143ff0;
update_scripts = 0x802c3d74;
update_messages = 0x80121bb4;
update_hud_elements = 0x8013fda0;
step_current_game_mode = 0x80111258;
update_entities = 0x8010dab0;
func_80138198 = 0x80136928;
bgm_update_music_settings = 0x80148cd8;
update_ambient_sounds = 0x801459f4;
sfx_update_env_sound_params = 0x80147ec4;
update_windows = 0x80145ba4;
disable_player_input = 0x800de558;
sfx_stop_env_sounds = 0x80147fc8;
D_80164000 = 0x80162800;
player_render_interact_prompts = 0x800de640;
render_screen_overlay_backUI = 0x801369b0;
render_workers_backUI = 0x80121930;
render_window_root = 0x80146254;
render_messages = 0x801225e0;
_render_transition_stencil = 0x80135210;
clear_character_set = 0x80121a40;
clear_game_modes = 0x80110f78;
bgm_reset_sequence_players = 0x80148c28;
reset_ambient_sounds = 0x801459c0;
heap_battleHead = 0x803da800;
heap_collisionHead = 0x80268000;
evt_get_variable = 0x802c7abc;
render_entities = 0x8010e294;
render_models = 0x80114f70;
render_player = 0x800df518;
render_workers_world = 0x80121850;
execute_render_tasks = 0x8011bd98;
render_hud_elements_world = 0x80141e44;
render_hud_elements_backUI = 0x801409a0;
state_render_backUI = 0x80111338;
render_workers_frontUI = 0x801218c0;
render_hud_elements_frontUI = 0x80140eac;
render_screen_overlay_frontUI = 0x80136930;
state_render_frontUI = 0x801113a4;
clear_render_tasks = 0x8011bc70;
clear_screen_overlays = 0x80136898;
clear_saved_variables = 0x80143ab0;
sfx_clear_sounds = 0x80147da8;
clear_windows = 0x80145b80;
suspend_all_group = 0x802c45e8;
heap_generalHead = 0x802fb800;
hud_element_set_render_pos = 0x80143114;
hud_element_draw_next = 0x80142f54;
hud_element_clear_flags = 0x801431bc;
sfx_clear_env_sounds = 0x80147e00;
init_model_data = 0x801143c8;
reset_animator_list = 0x8011c6f0;
init_hud_element_list = 0x8013fa90;
init_script_list = 0x802c32ec;
init_entity_data = 0x8010f238;
init_trigger_list = 0x80143eb8;
sfx_set_reverb_mode = 0x80147f8c;
load_map_bg = 0x80144500;
read_background_size = 0x801445b8;
set_background_size = 0x80144600;
gPlayerStatus = 0x8010d3a8;
update_player = 0x800ddb20;
D_802D9D70 = 0x802d9d70;
D_802D9D71 = 0x802d9d71;
gPlayerStatusPtr = 0x800f5f10;
hud_element_set_aux_cache = 0x80143a78;
bgm_init_music_players = 0x80149398;
partner_initialize_data = 0x800e9960;
bgm_reset_volume = 0x80148cbc;
set_screen_overlay_color = 0x801365a0;
reset_status_menu = 0x800e7f90;
initialize_battle = 0x8023e130;
btl_save_world_cameras = 0x802409f4;
btl_update = 0x8023e438;
update_item_entities = 0x8013067c;
iterate_models = 0x80114a54;
btl_draw_ui = 0x8023ea7c;
btl_restore_world_cameras = 0x80240aa8;
set_windows_visible = 0x80146654;
filemenu_ROM_START = 0x001ac100;
filemenu_VRAM = 0x80242ba0;
@ -868,11 +797,7 @@ SetNpcPos = 0x802cdcb0;
gPartnerActionStatus = 0x8010cf90;
SetNpcAnimation = 0x802ce0f4;
GetNpcPos = 0x802cf0f4;
get_entity_by_index = 0x8010e9c8;
get_model_from_list_index = 0x80119110;
sfx_reset_door_sounds = 0x80147d90;
partner_reset_data = 0x800e9854;
clear_area_flags = 0x80143b20;
HES_AsleepBegin = 0x801030a4;
HES_ParalyzedBegin = 0x801038fc;
HES_DizzyBegin = 0x80103ce0;
@ -883,13 +808,8 @@ HES_PoisonedBegin = 0x80104034;
HES_ShrunkBegin = 0x80104d44;
gLastRenderTaskCount = 0x80149f80;
get_shadow_by_index = 0x8010e9e4;
make_item_entity = 0x8012fb84;
is_ability_active = 0x800e8128;
set_global_flag = 0x80143be0;
get_global_flag = 0x80143c4c;
SetNpcFlagBits = 0x802cf060;
SetNpcRotation = 0x802cddb0;
@ -900,68 +820,31 @@ npc_raycast_down_sides = 0x800daf5c;
HES_Surprise = 0x801059ec;
HES_Peril = 0x80106da4;
HES_Danger = 0x80106df4;
get_shadow_by_index = 0x8010e9e4;
HES_BoostPartner = 0x801059c0;
HES_BoostHammerBegin = 0x801056f4;
HES_BoostJumpEnd = 0x8010555c;
HES_WeakenedEnd = 0x8010483c;
func_80116698 = 0x80114a78;
render_item_entities = 0x801315e4;
init_entity_models = 0x8011f038;
init_worker_list = 0x801214f4;
init_item_entity_list = 0x8012f85c;
partner_init_after_battle = 0x800e95e0;
_load_model_textures = 0x80113f24;
calculate_model_sizes = 0x8011450c;
sfx_get_reverb_mode = 0x80147fb8;
bgm_quiet_max_volume = 0x801493ec;
init_sprite_shading_data = 0x80146880;
init_entity_models = 0x8011f038;
init_worker_list = 0x801214f4;
init_item_entity_list = 0x8012f85c;
bgm_reset_max_volume = 0x80149400;
set_map_transition_effect = 0x80136a30;
bgm_set_song = 0x801490a8;
status_menu_respond_to_changes = 0x800e7ca4;
enable_player_input = 0x800de584;
update_exit_map_screen_overlay = 0x80136a3c;
update_enter_map_screen_overlay = 0x80136d64;
gWindows = 0x8015c0d0;
does_script_exist = 0x802c4164;
appendGfx_background_texture = 0x80144650;
bgm_pop_battle_song = 0x801495fc;
bgm_push_battle_song = 0x80149688;
bgm_set_battle_song = 0x8014971c;
clear_script_flags = 0x802c4880;
close_status_menu = 0x800e7b98;
CreateNpc = 0x802cdba4;
create_shadow_type = 0x80110640;
create_worker_world = 0x80121538;
DeleteNpc = 0x802cdc1c;
draw_box = 0x800f36c0;
draw_msg = 0x8012489c;
draw_status_ui = 0x800e7b1c;
entity_raycast_down = 0x801109c8;
evt_get_float_variable = 0x802c842c;
func_800E97E4 = 0x800e7bc4;
func_800EF3D4 = 0x800ed7b4;
func_8011BAE8 = 0x80119ec8;
func_8013A6E8 = 0x80138e78;
func_802DE894 = 0x802de894;
func_802DDEC4 = 0x802ddec4;
game_mode_set_fpDrawAuxUI = 0x80111164;
gBackgroundFogModePtr = 0x8014fa80;
gBackgroundImage = 0x80200000;
GetPlayerPos = 0x802d1dfc;
get_background_color_blend = 0x8011a260;
set_screen_overlay_params_back = 0x80136534;
set_script_flags = 0x802c47e8;
set_window_properties = 0x80146458;
set_window_update = 0x8014660c;
sfx_play_sound = 0x80148444;
sfx_play_sound_at_position = 0x801484ec;
sfx_stop_sound = 0x801483fc;
spr_draw_npc_sprite = 0x802de3d8;
spr_draw_player_sprite = 0x802ddc40;
spr_free_sprite = 0x802de5e8;
@ -982,24 +865,13 @@ partner_handle_before_battle = 0x800e9a38;
partner_test_enemy_collision = 0x800e99c4;
player_reset_data = 0x800de054;
PlaySound = 0x802d6150;
queue_render_task = 0x8011bcf0;
resolve_npc = 0x802cdac0;
resume_all_group = 0x802c4648;
resume_all_script = 0x802c448c;
SetNpcYaw = 0x802cea84;
set_action_state = 0x800e4184;
set_background_color_blend = 0x8011a23c;
set_game_mode_slot = 0x80111088;
set_npc_shadow_scale = 0x80110ce0;
set_screen_overlay_alpha = 0x80136864;
set_screen_overlay_center = 0x801365dc;
AuHeapBase = 0x801aa000;
delete_shadow = 0x80110708;
func_802C3EE4 = 0x802c3ee4;
get_entity_model = 0x801211bc;
get_hud_element = 0x80143064;
get_msg_lines = 0x80124860;
get_msg_width = 0x80124824;
get_script_by_id = 0x802c47a8;
HES_AsleepEnd = 0x80103244;
HES_BoostHammerEnd = 0x80105854;
@ -1013,10 +885,6 @@ HES_PoisonedEnd = 0x801041d4;
HES_ShrunkEnd = 0x80104ee4;
kill_script = 0x802c3f3c;
kill_script_by_ID = 0x802c40ac;
load_data_for_models = 0x80119128;
load_model_textures = 0x80114004;
make_item_entity_delayed = 0x80130258;
mdl_set_all_fog_mode = 0x8011bc0c;
npc_raycast_down_around = 0x800dab58;
npc_test_move_complex_with_slipping = 0x800dc174;
npc_test_move_taller_with_slipping = 0x800dbec4;
@ -1024,11 +892,6 @@ HES_StoppedEnd = 0x80104b90;
HES_TransparentBegin = 0x801050b8;
HES_TransparentEnd = 0x80105278;
HES_WeakenedBegin = 0x801046bc;
hud_element_create = 0x8013fc34;
hud_element_free = 0x80143084;
hud_element_set_flags = 0x80143190;
hud_element_set_script = 0x80142f8c;
is_picking_up_item = 0x80132978;
partner_disable_input = 0x800eda08;
partner_enable_input = 0x800ed9e0;
@ -1041,7 +904,6 @@ wPartnerNpc = 0x8010ad10;
gPartnerActionStatus = 0x8010cf90;
gPlayerStatus = 0x8010d3a8;
D_8014C248 = 0x8014a9d8;
D_801A6000 = 0x801a6000;
D_80197000 = 0x80197000;
@ -1100,10 +962,7 @@ gMapShapeData = 0x80210000;
rspbootTextStart = rspboot_bin;
rspbootTextEnd = rspboot_bin + 0xd0;
basic_window_update = 0x80145c04;
draw_number = 0x80125a4c;
enforce_hpfp_limits = 0x800e5c4c;
get_msg_properties = 0x801242f8;
get_player_data = 0x800e5944;
HES_AnimatedCursorHand = 0x80241ecc;
HES_Clock = 0x802429fc;
@ -1162,20 +1021,10 @@ HES_StatusStarEmpty = 0x801068d0;
HES_StatusStarPoint = 0x80106a8c;
HES_StickTapRight = 0x801075c4;
HES_UnusedBadge = 0x80241e00;
hud_element_draw_without_clipping = 0x80142f70;
hud_element_set_alpha = 0x80143640;
hud_element_set_scale = 0x801433b0;
replace_window_update = 0x801465d8;
setup_pause_menu_tab = 0x801466c0;
ui_box_bg_tile_png = 0x80109840;
ui_box_corners4_png = 0x80109740;
update_window_hierarchy = 0x80146500;
gCollisionStatus = 0x8015c8d0;
evt_set_float_variable = 0x802c8640;
set_main_pan_u = 0x80119ffc;
set_main_pan_v = 0x8011a014;
set_aux_pan_u = 0x8011a02c;
set_aux_pan_v = 0x8011a044;
DisablePlayerInput = 0x802d0e28;
DisablePartnerAI = 0x802cf4e8;
HidePlayerShadow = 0x802d0da0;
@ -1212,25 +1061,15 @@ SetPlayerFlagBits = 0x802d1d60;
RandInt = 0x802d46b0;
GetPlayerActionState = 0x802d1dd0;
InterpNpcYaw = 0x802ceb04;
create_worker_frontUI = 0x8012161c;
dma_load_msg = 0x80123b70;
draw_ci_image_with_clipping = 0x8012d130;
EnableModel = 0x802c9288;
EnableStatusMenu = 0x802d5998;
EnableTexPanning = 0x802c9208;
FadeOutMusic = 0x802d5ce0;
fold_appendGfx_component = 0x80139700;
fold_update = 0x8013922c;
func_8011B950 = 0x80119d30;
GetCamPosition = 0x802cc2a4;
GetNextPathPos = 0x802d5524;
get_model_list_index_from_tree_index = 0x801193f0;
GotoMap = 0x802ca400;
LoadPath = 0x802d5430;
load_font = 0x80121b10;
MakeLerp = 0x802d45b0;
msg_get_glyph = 0x8012d068;
msg_get_print_char_width = 0x80123ff0;
NpcFaceNpc = 0x802cee80;
NpcFlyTo = 0x802ce6fc;
NpcJump0 = 0x802ce6c4;
@ -1250,9 +1089,6 @@ SetNpcRotationPivot = 0x802cde68;
SetNpcScale = 0x802cded4;
SetNpcSpeed = 0x802ce01c;
SetTexPanOffset = 0x802c9364;
set_mdl_custom_gfx_set = 0x8011a05c;
set_model_env_color_parameters = 0x8011a378;
set_model_fog_color_parameters = 0x8011a294;
ShowEmote = 0x802d78a0;
ShowSweat = 0x802d7e08;
spr_allocateBtlComponentsOnWorldHeap = 0x802df524;
@ -1261,8 +1097,6 @@ TranslateModel = 0x802c8b60;
UpdateLerp = 0x802d462c;
heap_spriteHead = 0x8034f800;
main_menu_window_update = 0x80145de0;
gWindowStyles = 0x8014d8e0;
HES_Spirit1 = 0x802423dc;
HES_Spirit1Missing = 0x80242408;
HES_Spirit2 = 0x80242434;
@ -1289,6 +1123,80 @@ D_802F4560 = 0x802f4558;
HES_134F60_135120 = 0x80242b74;
HES_FilenameCaret = 0x80241f70;
D_802F4560 = 0x802f4558;
load_font_data = 0x80121ae8;
get_current_partner_id = 0x800e3468;
entity_sbk_omo_ROM_END = 0x00e79f70;
CircularShadowA = 0x802e98bc;
CircularShadowB = 0x802e98e0;
SquareShadow = 0x802e9904;
evt_get_variable_index = 0x802c7da8;
D_802EE8D0 = 0x802ee8d0;
charset_postcard_png = 0x00054fa8;
ui_msg_star_silhouette_png = 0x802ed8d0;
ui_msg_rewind_arrow_png = 0x802ed550;
ui_msg_rewind_arrow_pal = 0x802ed670;
ui_point_right_png = 0x800f9f40;
BattleEntityHeapBottom = 0x801A7000;
func_800E06C0 = 0x800deaa0;
charset_standard_OFFSET = 0;
entity_jan_iwa_ROM_START = 0x00e76170;
entity_sbk_omo_ROM_START = 0x00e78190;
entity_jan_iwa_ROM_END = 0x00e78190;
entity_default_ROM_START = 0x00e73f70;
entity_default_ROM_END = 0x00e76170;
fold_gfx_data_ROM_START = 0x00294870;
sort_items = 0x800e5aac;
suggest_player_anim_always_forward = 0x800de358;
add_item = 0x800e5954;
destroy_popup_menu = 0x800ef918;
func_800DFCF4 = 0x800de0d4;
increment_status_menu_disabled = 0x800e7f34;
npc_raycast_up = 0x800db250;
SparkleScript_Coin = 0x80102ea0;
charset_ROM_START = 0x0010e120;
charset_standard_OFFSET = 0x00000000;
charset_standard_pal_OFFSET = 0x0004f000;
charset_title_OFFSET = 0x0004f500;
charset_credits_pal_OFFSET = 0x00051000;
charset_subtitle_OFFSET = 0x00050460;
phys_can_player_interact = 0x800e36d8;
ui_msg_sign_corner_topleft_png = 0x802ec5f0;
ui_msg_sign_corner_topright_png = 0x802ec670;
ui_msg_sign_corner_bottomleft_png = 0x802ec6f0;
ui_msg_sign_corner_bottomright_png = 0x802ec770;
ui_msg_lamppost_corner_bottomright_png = 0x802ec7f0;
ui_msg_sign_side_top_png = 0x802ec870;
ui_msg_sign_side_left_png = 0x802ec970;
ui_msg_sign_side_right_png = 0x802ecab0;
ui_msg_sign_side_bottom_png = 0x802ecbf0;
ui_msg_sign_fill_png = 0x802eccf0;
ui_msg_lamppost_pal = 0x802ecd30;
ui_msg_sign_pal = 0x802ecd10;
ui_msg_sign_fill_png = 0x802eccf0;
D_802EB644 = 0x802eb644;
ui_msg_bubble_left_png = 0x802eb670;
ui_msg_bubble_mid_png = 0x802eba70;
ui_msg_bubble_right_png = 0x802ebb70;
ui_msg_arrow_png = 0x802ebf70;
mdl_clearRenderTasks = 0x802b7e00;
charset_postcard_pal = 0x00056e6b;
D_802ED970 = 0x802ed970;
D_802F39D0 = 0x802f39d0;
D_802EB5C0 = 0x802eb5c0;
D_802EB5F0 = 0x802eb5f0;
D_802EB620 = 0x802eb620;
ui_msg_star_png = 0x802ed690;
ui_point_right_pal = 0x800f9fc0;
spr_get_npc_raster_info = 0x802de9d8;
ui_msg_palettes = 0x802ec3f0;
ui_msg_background_png = 0x802ecd50;
create_standard_popup_menu = 0x800f3220;
hide_popup_menu = 0x800ef790;
decrement_status_menu_disabled = 0x800e7f10;
icon_present_ROM_START = 0x00215390;
MapTextureMemory = 0x8028E000;
D_8013A520 = 0x8013a520;
D_19F80 = 0x00019f80;
D_1A000 = 0x0001a000;
D_80154520 = 0x80154520;