#include #include "constants.h" #include "constants.h" #include "game/propsnd.h" #include "game/game_0b0fd0.h" #include "game/player.h" #include "game/savebuffer.h" #include "game/hudmsg.h" #include "game/menugfx.h" #include "game/playermgr.h" #include "game/game_1531a0.h" #include "game/lv.h" #include "game/mplayer/mplayer.h" #include "game/options.h" #include "game/propobj.h" #include "bss.h" #include "lib/vi.h" #include "lib/snd.h" #include "lib/memp.h" #include "lib/mtx.h" #include "data.h" #include "types.h" u32 g_NextHudMessageId; u8 g_HudmsgsActive = 0; u32 g_HudmsgColours[] = { /* 0*/ 0x00ff0000, // green /* 1*/ 0x9999ff00, // pastel blue /* 2*/ 0xffffff00, // white /* 3*/ 0xff777700, // pastel red /* 4*/ 0xffff5500, // yellow /* 5*/ 0x00ff0000, // green /* 6*/ 0xcccccc00, // gray /* 7*/ 0xff888800, // pastel red /* 8*/ 0xffaa5500, // orange /* 9*/ 0x55aaff00, // sky blue /*10*/ 0xaa55ff00, // purple }; s32 g_HudPaddingY = 10; s32 g_HudPaddingX = 24; s32 g_NumHudMessages = 0; struct hudmessage *g_HudMessages = NULL; #if VERSION < VERSION_NTSC_1_0 struct sndstate *var800736b0nb = NULL; #endif struct hudmsgtype g_HudmsgTypes[] = { /* 0*/ { 1, 1, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ff0000, 0x000000a0, HUDMSGALIGN_LEFT, HUDMSGALIGN_BOTTOM, 0, 0, 80 }, /* 1*/ { 0, 1, 0, &g_CharsHandelGothicMd, &g_FontHandelGothicMd, 0x00ff0000, 0x000000a0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_YMIDDLE, 0, 0, 120 }, #if VERSION == VERSION_JPN_FINAL /* 2*/ { 0, 0, 1, &g_CharsHandelGothicMd, &g_FontHandelGothicMd, 0xff999900, 0xffffffa0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_YMIDDLE, 0, 0, 120 }, #else /* 2*/ { 0, 0, 1, &g_CharsHandelGothicMd, &g_FontHandelGothicMd, 0xff000000, 0xffffffa0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_YMIDDLE, 0, 0, 120 }, #endif /* 3*/ { 0, 1, 0, &g_CharsHandelGothicMd, &g_FontHandelGothicMd, 0x00ff0000, 0x000000a0, HUDMSGALIGN_LEFT, HUDMSGALIGN_BOTTOM, 0, 0, 120 }, /* 4*/ { 1, 1, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ffc000, 0x000000a0, HUDMSGALIGN_LEFT, HUDMSGALIGN_BOTTOM, 0, 0, 40 }, /* 5*/ { 0, 0, 0, &g_CharsHandelGothicMd, &g_FontHandelGothicMd, 0x00ff0000, 0x000000a0, HUDMSGALIGN_LEFT, HUDMSGALIGN_TOP, 0, 0, 120 }, /* 6*/ { 1, 0, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ff0000, 0x000000a0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_TOP, 0, 0, 120 }, /* 7*/ { 1, 1, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ff0000, 0x000000a0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_TOP, 0, 0, -1 }, /* 8*/ { 1, 1, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ffc000, 0x000000a0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_BOTTOM, 0, 0, 500 }, #if VERSION == VERSION_JPN_FINAL /* 9*/ { 1, 1, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ff0000, 0x000000a0, HUDMSGALIGN_LEFT, HUDMSGALIGN_BOTTOM, 0, 0, 120 }, #else /* 9*/ { 1, 1, 0, &g_CharsHandelGothicXs, &g_FontHandelGothicXs, 0x00ff0000, 0x000000a0, HUDMSGALIGN_LEFT, HUDMSGALIGN_BOTTOM, 0, 0, 120 }, #endif /*10*/ { 1, 1, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ff0000, 0x000000a0, HUDMSGALIGN_LEFT, HUDMSGALIGN_BOTTOM, 0, 0, 240 }, #if VERSION >= VERSION_NTSC_1_0 /*11*/ { 0, 0, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ff0000, 0x000000a0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_BELOWVIEWPORT, 0, 0, 120 }, #else /*11*/ { 1, 0, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ff0000, 0x000000a0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_BELOWVIEWPORT, 0, 0, 120 }, #endif }; u8 hudmsgsAreActive(void) { return g_HudmsgsActive; } s32 hudmsgIsZoomRangeVisible(void) { return optionsGetShowZoomRange(g_Vars.currentplayerstats->mpindex) && (PLAYERCOUNT() == 1 || !g_Vars.mplayerisrunning || g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) && var80075d60 == 2 && currentPlayerGetSight() == SIGHT_ZOOM && g_Vars.currentplayer->cameramode != CAMERAMODE_EYESPY && g_Vars.currentplayer->cameramode != CAMERAMODE_THIRDPERSON; } GLOBAL_ASM( glabel hudmsgRenderMissionTimer /* f0dcef4: 27bdff70 */ addiu $sp,$sp,-144 /* f0dcef8: afbf0034 */ sw $ra,0x34($sp) /* f0dcefc: afa40090 */ sw $a0,0x90($sp) /* f0dcf00: 0c002f40 */ jal viGetViewLeft /* f0dcf04: afa50094 */ sw $a1,0x94($sp) /* f0dcf08: 3c0e8008 */ lui $t6,%hi(g_ScaleX) /* f0dcf0c: 8dcefac0 */ lw $t6,%lo(g_ScaleX)($t6) /* f0dcf10: 004e001a */ div $zero,$v0,$t6 /* f0dcf14: 00007812 */ mflo $t7 /* f0dcf18: afaf0084 */ sw $t7,0x84($sp) /* f0dcf1c: 15c00002 */ bnez $t6,.L0f0dcf28 /* f0dcf20: 00000000 */ nop /* f0dcf24: 0007000d */ break 0x7 .L0f0dcf28: /* f0dcf28: 2401ffff */ addiu $at,$zero,-1 /* f0dcf2c: 15c10004 */ bne $t6,$at,.L0f0dcf40 /* f0dcf30: 3c018000 */ lui $at,0x8000 /* f0dcf34: 14410002 */ bne $v0,$at,.L0f0dcf40 /* f0dcf38: 00000000 */ nop /* f0dcf3c: 0006000d */ break 0x6 .L0f0dcf40: /* f0dcf40: 0c002f44 */ jal viGetViewTop /* f0dcf44: 00000000 */ nop /* f0dcf48: 0c002f26 */ jal viGetViewHeight /* f0dcf4c: a7a20056 */ sh $v0,0x56($sp) /* f0dcf50: 3c04800a */ lui $a0,%hi(g_Vars) /* f0dcf54: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars) /* f0dcf58: 8c98006c */ lw $t8,0x6c($a0) /* f0dcf5c: 24050001 */ addiu $a1,$zero,0x1 /* f0dcf60: 53000004 */ beqzl $t8,.L0f0dcf74 /* f0dcf64: 00005025 */ or $t2,$zero,$zero /* f0dcf68: 10000002 */ b .L0f0dcf74 /* f0dcf6c: 240a0001 */ addiu $t2,$zero,0x1 /* f0dcf70: 00005025 */ or $t2,$zero,$zero .L0f0dcf74: /* f0dcf74: 8c990068 */ lw $t9,0x68($a0) /* f0dcf78: 3c188007 */ lui $t8,%hi(g_HudPaddingY) /* f0dcf7c: 53200004 */ beqzl $t9,.L0f0dcf90 /* f0dcf80: 00004025 */ or $t0,$zero,$zero /* f0dcf84: 10000002 */ b .L0f0dcf90 /* f0dcf88: 24080001 */ addiu $t0,$zero,0x1 /* f0dcf8c: 00004025 */ or $t0,$zero,$zero .L0f0dcf90: /* f0dcf90: 8c8b0064 */ lw $t3,0x64($a0) /* f0dcf94: 3c198009 */ lui $t9,%hi(g_Is4Mb) /* f0dcf98: 51600004 */ beqzl $t3,.L0f0dcfac /* f0dcf9c: 00004825 */ or $t1,$zero,$zero /* f0dcfa0: 10000002 */ b .L0f0dcfac /* f0dcfa4: 24090001 */ addiu $t1,$zero,0x1 /* f0dcfa8: 00004825 */ or $t1,$zero,$zero .L0f0dcfac: /* f0dcfac: 8c8c0070 */ lw $t4,0x70($a0) /* f0dcfb0: 00003025 */ or $a2,$zero,$zero /* f0dcfb4: 11800003 */ beqz $t4,.L0f0dcfc4 /* f0dcfb8: 00000000 */ nop /* f0dcfbc: 10000001 */ b .L0f0dcfc4 /* f0dcfc0: 24060001 */ addiu $a2,$zero,0x1 .L0f0dcfc4: /* f0dcfc4: 87ae0056 */ lh $t6,0x56($sp) /* f0dcfc8: 8f180fe0 */ lw $t8,%lo(g_HudPaddingY)($t8) /* f0dcfcc: 93390af0 */ lbu $t9,%lo(g_Is4Mb)($t9) /* f0dcfd0: 8c8d028c */ lw $t5,0x28c($a0) /* f0dcfd4: 004e7821 */ addu $t7,$v0,$t6 /* f0dcfd8: 01f83823 */ subu $a3,$t7,$t8 /* f0dcfdc: 24e7fff8 */ addiu $a3,$a3,-8 /* f0dcfe0: 10b9000e */ beq $a1,$t9,.L0f0dd01c /* f0dcfe4: afad0058 */ sw $t5,0x58($sp) /* f0dcfe8: afa60050 */ sw $a2,0x50($sp) /* f0dcfec: afa70080 */ sw $a3,0x80($sp) /* f0dcff0: afa80048 */ sw $t0,0x48($sp) /* f0dcff4: afa9004c */ sw $t1,0x4c($sp) /* f0dcff8: 0fc54bcd */ jal optionsGetScreenSplit /* f0dcffc: afaa0044 */ sw $t2,0x44($sp) /* f0dd000: 24050001 */ addiu $a1,$zero,0x1 /* f0dd004: 8fa60050 */ lw $a2,0x50($sp) /* f0dd008: 8fa70080 */ lw $a3,0x80($sp) /* f0dd00c: 8fa80048 */ lw $t0,0x48($sp) /* f0dd010: 8fa9004c */ lw $t1,0x4c($sp) /* f0dd014: 14a2000f */ bne $a1,$v0,.L0f0dd054 /* f0dd018: 8faa0044 */ lw $t2,0x44($sp) .L0f0dd01c: /* f0dd01c: afa60050 */ sw $a2,0x50($sp) /* f0dd020: afa70080 */ sw $a3,0x80($sp) /* f0dd024: afa80048 */ sw $t0,0x48($sp) /* f0dd028: afa9004c */ sw $t1,0x4c($sp) /* f0dd02c: 0fc24211 */ jal countdownTimerIsVisible /* f0dd030: afaa0044 */ sw $t2,0x44($sp) /* f0dd034: 24050001 */ addiu $a1,$zero,0x1 /* f0dd038: 8fa60050 */ lw $a2,0x50($sp) /* f0dd03c: 8fa70080 */ lw $a3,0x80($sp) /* f0dd040: 8fa80048 */ lw $t0,0x48($sp) /* f0dd044: 8fa9004c */ lw $t1,0x4c($sp) /* f0dd048: 10400002 */ beqz $v0,.L0f0dd054 /* f0dd04c: 8faa0044 */ lw $t2,0x44($sp) /* f0dd050: 24e7fff8 */ addiu $a3,$a3,-8 .L0f0dd054: /* f0dd054: 3c0b8009 */ lui $t3,%hi(g_Is4Mb) /* f0dd058: 916b0af0 */ lbu $t3,%lo(g_Is4Mb)($t3) /* f0dd05c: 50ab0014 */ beql $a1,$t3,.L0f0dd0b0 /* f0dd060: 00c97021 */ addu $t6,$a2,$t1 /* f0dd064: afa60050 */ sw $a2,0x50($sp) /* f0dd068: afa70080 */ sw $a3,0x80($sp) /* f0dd06c: afa80048 */ sw $t0,0x48($sp) /* f0dd070: afa9004c */ sw $t1,0x4c($sp) /* f0dd074: 0fc54bcd */ jal optionsGetScreenSplit /* f0dd078: afaa0044 */ sw $t2,0x44($sp) /* f0dd07c: 24050001 */ addiu $a1,$zero,0x1 /* f0dd080: 8fa60050 */ lw $a2,0x50($sp) /* f0dd084: 8fa70080 */ lw $a3,0x80($sp) /* f0dd088: 8fa80048 */ lw $t0,0x48($sp) /* f0dd08c: 8fa9004c */ lw $t1,0x4c($sp) /* f0dd090: 10a20006 */ beq $a1,$v0,.L0f0dd0ac /* f0dd094: 8faa0044 */ lw $t2,0x44($sp) /* f0dd098: 00c96021 */ addu $t4,$a2,$t1 /* f0dd09c: 01886821 */ addu $t5,$t4,$t0 /* f0dd0a0: 01aa1821 */ addu $v1,$t5,$t2 /* f0dd0a4: 28610003 */ slti $at,$v1,0x3 /* f0dd0a8: 1420000b */ bnez $at,.L0f0dd0d8 .L0f0dd0ac: /* f0dd0ac: 00c97021 */ addu $t6,$a2,$t1 .L0f0dd0b0: /* f0dd0b0: 01c87821 */ addu $t7,$t6,$t0 /* f0dd0b4: 01ea1821 */ addu $v1,$t7,$t2 /* f0dd0b8: afa3003c */ sw $v1,0x3c($sp) /* f0dd0bc: 0fc3736f */ jal hudmsgIsZoomRangeVisible /* f0dd0c0: afa70080 */ sw $a3,0x80($sp) /* f0dd0c4: 8fa3003c */ lw $v1,0x3c($sp) /* f0dd0c8: 24050001 */ addiu $a1,$zero,0x1 /* f0dd0cc: 10400002 */ beqz $v0,.L0f0dd0d8 /* f0dd0d0: 8fa70080 */ lw $a3,0x80($sp) /* f0dd0d4: 24e7fff8 */ addiu $a3,$a3,-8 .L0f0dd0d8: /* f0dd0d8: 24010002 */ addiu $at,$zero,0x2 /* f0dd0dc: 14610012 */ bne $v1,$at,.L0f0dd128 /* f0dd0e0: 3c188009 */ lui $t8,%hi(g_Is4Mb) /* f0dd0e4: 93180af0 */ lbu $t8,%lo(g_Is4Mb)($t8) /* f0dd0e8: 10b8000b */ beq $a1,$t8,.L0f0dd118 /* f0dd0ec: 00000000 */ nop /* f0dd0f0: afa3003c */ sw $v1,0x3c($sp) /* f0dd0f4: 0fc54bcd */ jal optionsGetScreenSplit /* f0dd0f8: afa70080 */ sw $a3,0x80($sp) /* f0dd0fc: 24050001 */ addiu $a1,$zero,0x1 /* f0dd100: 8fa3003c */ lw $v1,0x3c($sp) /* f0dd104: 10a20006 */ beq $a1,$v0,.L0f0dd120 /* f0dd108: 8fa70080 */ lw $a3,0x80($sp) /* f0dd10c: 8fb90058 */ lw $t9,0x58($sp) /* f0dd110: 17200003 */ bnez $t9,.L0f0dd120 /* f0dd114: 00000000 */ nop .L0f0dd118: /* f0dd118: 10000015 */ b .L0f0dd170 /* f0dd11c: 24e7000a */ addiu $a3,$a3,0xa .L0f0dd120: /* f0dd120: 10000013 */ b .L0f0dd170 /* f0dd124: 24e70002 */ addiu $a3,$a3,0x2 .L0f0dd128: /* f0dd128: 28610003 */ slti $at,$v1,0x3 /* f0dd12c: 14200008 */ bnez $at,.L0f0dd150 /* f0dd130: 8fab0058 */ lw $t3,0x58($sp) /* f0dd134: 29610002 */ slti $at,$t3,0x2 /* f0dd138: 10200003 */ beqz $at,.L0f0dd148 /* f0dd13c: 00000000 */ nop /* f0dd140: 1000000b */ b .L0f0dd170 /* f0dd144: 24e7000a */ addiu $a3,$a3,0xa .L0f0dd148: /* f0dd148: 10000009 */ b .L0f0dd170 /* f0dd14c: 24e70002 */ addiu $a3,$a3,0x2 .L0f0dd150: /* f0dd150: afa3003c */ sw $v1,0x3c($sp) /* f0dd154: 0fc54b60 */ jal optionsGetEffectiveScreenSize /* f0dd158: afa70080 */ sw $a3,0x80($sp) /* f0dd15c: 8fa3003c */ lw $v1,0x3c($sp) /* f0dd160: 24050001 */ addiu $a1,$zero,0x1 /* f0dd164: 10400002 */ beqz $v0,.L0f0dd170 /* f0dd168: 8fa70080 */ lw $a3,0x80($sp) /* f0dd16c: 24e70008 */ addiu $a3,$a3,0x8 .L0f0dd170: /* f0dd170: 24010002 */ addiu $at,$zero,0x2 /* f0dd174: 54610013 */ bnel $v1,$at,.L0f0dd1c4 /* f0dd178: 28610003 */ slti $at,$v1,0x3 /* f0dd17c: afa3003c */ sw $v1,0x3c($sp) /* f0dd180: 0fc54bcd */ jal optionsGetScreenSplit /* f0dd184: afa70080 */ sw $a3,0x80($sp) /* f0dd188: 24050001 */ addiu $a1,$zero,0x1 /* f0dd18c: 8fa3003c */ lw $v1,0x3c($sp) /* f0dd190: 10a20005 */ beq $a1,$v0,.L0f0dd1a8 /* f0dd194: 8fa70080 */ lw $a3,0x80($sp) /* f0dd198: 3c0c8009 */ lui $t4,%hi(g_Is4Mb) /* f0dd19c: 918c0af0 */ lbu $t4,%lo(g_Is4Mb)($t4) /* f0dd1a0: 54ac0008 */ bnel $a1,$t4,.L0f0dd1c4 /* f0dd1a4: 28610003 */ slti $at,$v1,0x3 .L0f0dd1a8: /* f0dd1a8: 8fad0058 */ lw $t5,0x58($sp) /* f0dd1ac: 8fae0084 */ lw $t6,0x84($sp) /* f0dd1b0: 15a50003 */ bne $t5,$a1,.L0f0dd1c0 /* f0dd1b4: 25cffff2 */ addiu $t7,$t6,-14 /* f0dd1b8: 10000009 */ b .L0f0dd1e0 /* f0dd1bc: afaf0084 */ sw $t7,0x84($sp) .L0f0dd1c0: /* f0dd1c0: 28610003 */ slti $at,$v1,0x3 .L0f0dd1c4: /* f0dd1c4: 14200006 */ bnez $at,.L0f0dd1e0 /* f0dd1c8: 8fb80058 */ lw $t8,0x58($sp) /* f0dd1cc: 33190001 */ andi $t9,$t8,0x1 /* f0dd1d0: 14b90003 */ bne $a1,$t9,.L0f0dd1e0 /* f0dd1d4: 8fab0084 */ lw $t3,0x84($sp) /* f0dd1d8: 256cfff2 */ addiu $t4,$t3,-14 /* f0dd1dc: afac0084 */ sw $t4,0x84($sp) .L0f0dd1e0: /* f0dd1e0: 8fa30094 */ lw $v1,0x94($sp) /* f0dd1e4: 240100ff */ addiu $at,$zero,0xff /* f0dd1e8: afa70080 */ sw $a3,0x80($sp) /* f0dd1ec: 00036880 */ sll $t5,$v1,0x2 /* f0dd1f0: 01a36821 */ addu $t5,$t5,$v1 /* f0dd1f4: 000d6940 */ sll $t5,$t5,0x5 /* f0dd1f8: 01a1001b */ divu $zero,$t5,$at /* f0dd1fc: 00007012 */ mflo $t6 /* f0dd200: 3c0100ff */ lui $at,0xff /* f0dd204: 01c17825 */ or $t7,$t6,$at /* f0dd208: 0fc3089f */ jal playerGetMissionTime /* f0dd20c: afaf0064 */ sw $t7,0x64($sp) /* f0dd210: 27a40068 */ addiu $a0,$sp,0x68 /* f0dd214: 00402825 */ or $a1,$v0,$zero /* f0dd218: 0fc355f8 */ jal formatTime /* f0dd21c: 24060004 */ addiu $a2,$zero,0x4 /* f0dd220: 3c198007 */ lui $t9,%hi(g_HudPaddingX) /* f0dd224: 8f390fe4 */ lw $t9,%lo(g_HudPaddingX)($t9) /* f0dd228: 8fb80084 */ lw $t8,0x84($sp) /* f0dd22c: 8fa70080 */ lw $a3,0x80($sp) /* f0dd230: 03195821 */ addu $t3,$t8,$t9 /* f0dd234: 256c0003 */ addiu $t4,$t3,0x3 /* f0dd238: afac008c */ sw $t4,0x8c($sp) /* f0dd23c: 0c002f02 */ jal viGetWidth /* f0dd240: afa70088 */ sw $a3,0x88($sp) /* f0dd244: 0c002f06 */ jal viGetHeight /* f0dd248: a7a20042 */ sh $v0,0x42($sp) /* f0dd24c: 3c0d8008 */ lui $t5,%hi(g_CharsNumeric) /* f0dd250: 3c0e8008 */ lui $t6,%hi(g_FontNumeric) /* f0dd254: 8dcefafc */ lw $t6,%lo(g_FontNumeric)($t6) /* f0dd258: 8dadfb00 */ lw $t5,%lo(g_CharsNumeric)($t5) /* f0dd25c: 8faf0064 */ lw $t7,0x64($sp) /* f0dd260: 87b90042 */ lh $t9,0x42($sp) /* f0dd264: 241800a0 */ addiu $t8,$zero,0xa0 /* f0dd268: afb8001c */ sw $t8,0x1c($sp) /* f0dd26c: 8fa40090 */ lw $a0,0x90($sp) /* f0dd270: 27a5008c */ addiu $a1,$sp,0x8c /* f0dd274: 27a60088 */ addiu $a2,$sp,0x88 /* f0dd278: 27a70068 */ addiu $a3,$sp,0x68 /* f0dd27c: afa20024 */ sw $v0,0x24($sp) /* f0dd280: afa00028 */ sw $zero,0x28($sp) /* f0dd284: afa0002c */ sw $zero,0x2c($sp) /* f0dd288: afae0014 */ sw $t6,0x14($sp) /* f0dd28c: afad0010 */ sw $t5,0x10($sp) /* f0dd290: afaf0018 */ sw $t7,0x18($sp) /* f0dd294: 0fc55b92 */ jal textRender /* f0dd298: afb90020 */ sw $t9,0x20($sp) /* f0dd29c: 8fbf0034 */ lw $ra,0x34($sp) /* f0dd2a0: 27bd0090 */ addiu $sp,$sp,0x90 /* f0dd2a4: 03e00008 */ jr $ra /* f0dd2a8: 00000000 */ nop ); // Mismatch: Regalloc. Seems like something's optimised out before PLAYERCOUNT(). //Gfx *hudmsgRenderMissionTimer(Gfx *gdl, u32 alpha) //{ // s32 x; // 8c // s32 y; // 88 // s32 viewleft; // 84 // s32 timery; // 80 // char buffer[24]; // 68 // u32 textcolour; // 64 // s32 viewheight; // s32 playercount; // s32 playernum; // 58 // s16 viewtop; // 56 // // textcolour = alpha; // // viewleft = viGetViewLeft() / g_ScaleX; // viewtop = viGetViewTop(); // viewheight = viGetViewHeight(); // playercount = PLAYERCOUNT(); // playernum = g_Vars.currentplayernum; // // timery = viewtop + viewheight - g_HudPaddingY - 8; // // // fe0 // if ((IS4MB() || optionsGetScreenSplit() == SCREENSPLIT_VERTICAL) && countdownTimerIsVisible()) { // timery -= 8; // } // // // 054 // if ((IS4MB() || optionsGetScreenSplit() == SCREENSPLIT_VERTICAL || playercount >= 3) && hudmsgIsZoomRangeVisible()) { // timery -= 8; // } // // // 0d8 // if (playercount == 2) { // // 0e4 // if (IS4MB() || (optionsGetScreenSplit() != SCREENSPLIT_VERTICAL && playernum == 0)) { // // 118 // timery += 10; // } else { // // 120 // timery += 2; // } // } else /*128*/ if (playercount >= 3) { // if (playernum < 2) { // timery += 10; // } else { // timery += 2; // } // } else { // // 150 // if (optionsGetEffectiveScreenSize() != SCREENSIZE_FULL) { // timery += 8; // } // } // // // 170 // // If this is a second player with their viewport on the right side of the // // screen, move the timer left a bit as the safe zone doesn't need to be // // considered. // if (playercount == 2 && (optionsGetScreenSplit() == SCREENSPLIT_VERTICAL || IS4MB()) && playernum == 1) { // viewleft -= 14; // } else if (playercount >= 3 && (playernum & 1) == 1) { // viewleft -= 14; // } // // // 1e0 // textcolour = (textcolour * 160 / 255) | 0x00ff0000; // // // 208 // formatTime(buffer, playerGetMissionTime(), TIMEPRECISION_HUNDREDTHS); // // x = viewleft + g_HudPaddingX + 3; // y = timery; // // gdl = textRender(gdl, &x, &y, buffer, g_CharsNumeric, g_FontNumeric, textcolour, 0x000000a0, viGetWidth(), viGetHeight(), 0, 0); // // return gdl; //} Gfx *hudmsgRenderZoomRange(Gfx *gdl, u32 alpha) { s32 viewtop; s32 viewleft; s32 viewhalfwidth; s32 viewheight; f32 zoominfovy; f32 zoomfov; s32 playercount; f32 curzoom; f32 maxzoom; char text[24]; s32 weaponnum; s32 texty; s32 x; s32 y; s32 textwidth; s32 textheight; s32 x2; s32 y2; u32 colour; colour = (alpha * 0xa0 / 255) | 0x00ff0000; viewtop = viGetViewTop(); viewleft = viGetViewLeft() / g_ScaleX; viewhalfwidth = (viGetViewWidth() / g_ScaleX) >> 1; viewheight = viGetViewHeight(); texty = viewheight + viewtop - 1; maxzoom = 1.0f; weaponnum = g_Vars.currentplayer->hands[0].gset.weaponnum; playercount = PLAYERCOUNT(); texty -= 17; if (countdownTimerIsVisible()) { texty -= 8; } if (playercount == 2) { if (IS4MB() || (optionsGetScreenSplit() != SCREENSPLIT_VERTICAL && g_Vars.currentplayernum == 0)) { texty += 10; } else { texty += 2; } } else if (playercount >= 3) { if (g_Vars.currentplayernum < 2) { texty += 10; } else { texty += 2; } } else if (optionsGetEffectiveScreenSize() != SCREENSIZE_FULL) { texty += 8; } // Left side - current zoom level zoomfov = currentPlayerGetGunZoomFov(); zoominfovy = g_Vars.currentplayer->zoominfovy; if (zoomfov == 0.0f || zoomfov == 60.0f) { if (weaponnum == WEAPON_SNIPERRIFLE) { curzoom = 1.0f; } else { return gdl; } } else { maxzoom = 60.0f / zoomfov; curzoom = maxzoom - 1.0f / (zoomfov / zoominfovy) + 1; } sprintf(text, "%s%s%4.2fX", "", "", curzoom); textMeasure(&textheight, &textwidth, text, g_CharsNumeric, g_FontNumeric, 0); x = viewleft + viewhalfwidth - textwidth - 5; y = texty; x2 = x + textwidth; y2 = y + textheight; gdl = func0f1538e4(gdl, &x, &y, &x2, &y2); gdl = textRender(gdl, &x, &y, text, g_CharsNumeric, g_FontNumeric, colour, 0x000000a0, viGetWidth(), viGetHeight(), 0, 0); // Divider sprintf(text, "/"); textMeasure(&textheight, &textwidth, text, g_CharsNumeric, g_FontNumeric, 0); x = viewleft + viewhalfwidth - (textwidth >> 1); y = texty; x2 = x + textwidth; y2 = y + textheight; gdl = func0f1538e4(gdl, &x, &y, &x2, &y2); gdl = textRender(gdl, &x, &y, text, g_CharsNumeric, g_FontNumeric, colour, 0x000000a0, viGetWidth(), viGetHeight(), 0, 0); // Right side - max zoom level sprintf(text, "%s%s%4.2fX", "", "", maxzoom); textMeasure(&textheight, &textwidth, text, g_CharsNumeric, g_FontNumeric, 0); x = viewleft + viewhalfwidth + 5; y = texty; x2 = x + textwidth; y2 = y + textheight; gdl = func0f1538e4(gdl, &x, &y, &x2, &y2); gdl = textRender(gdl, &x, &y, text, g_CharsNumeric, g_FontNumeric, colour, 0x000000a0, viGetWidth(), viGetHeight(), 0, 0); return gdl; } Gfx *hudmsgRenderBox(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2, f32 bgopacity, u32 bordercolour, f32 textopacity) { f32 f0; f32 f20; f32 f22; if (x1); g_HudmsgsActive = true; f0 = sinf(90 * bgopacity * M_PI / 180.0f); f22 = (x2 - x1) * 0.5f; f20 = (y2 - y1) * 0.5f; if (f0 < 0.5f) { f20 = 0.0f; f22 *= f0 + f0; } else { f20 *= (f0 - 0.5f) + (f0 - 0.5f); } gdl = func0f0d479c(gdl); gdl = menugfxDrawFilledRect(gdl, x1, y1, x2, y1 + 1, bordercolour, bordercolour); gdl = menugfxDrawFilledRect(gdl, x1, y2, x2, y2 + 1, bordercolour, bordercolour); gdl = menugfxDrawFilledRect(gdl, x1, y1 + 1, x1 + 1, y2, bordercolour, bordercolour); gdl = menugfxDrawFilledRect(gdl, x2, y1, x2 + 1, y2 + 1, bordercolour, bordercolour); gdl = func0f0d49c8(gdl); if (textopacity > 0.0f) { f32 width = (x1 + x2) * 0.5f; f32 height = (y1 + y2) * 0.5f; gdl = func0f153a34(gdl, (s32)((width - f22) + 1.0f) * g_ScaleX, (height - f20) + 1.0f, (s32)(width + f22) * g_ScaleX, height + f20, 128.0f * textopacity); } return gdl; } s32 hudmsg0f0ddb1c(s32 *arg0, s32 arg1) { #if VERSION >= VERSION_PAL_FINAL s32 viewwidth = viGetViewWidth() / g_ScaleX; s32 result = 0; *arg0 = 24; if (PLAYERCOUNT() == 2 && optionsGetScreenSplit() == SCREENSPLIT_VERTICAL && (!g_InCutscene || g_MainIsEndscreen)) { result -= *arg0 * 2 / 3; if (g_Vars.currentplayernum == 0) { *arg0 /= 3; } else { *arg0 /= 6; } } result = result + viewwidth - *arg0 - arg1 - 11; if (PLAYERCOUNT() == 1 || (PLAYERCOUNT() == 2 && g_InCutscene && !g_MainIsEndscreen)) { result -= 16; #if VERSION < VERSION_JPN_FINAL if (g_ViRes == VIRES_HI) { result -= 16; } #endif } #else s32 viewwidth = g_Vars.currentplayer->viewwidth / g_ScaleX; s32 result = 0; *arg0 = 24; if (PLAYERCOUNT() == 2 && optionsGetScreenSplit() == SCREENSPLIT_VERTICAL) { result -= *arg0 * 2 / 3; if (g_Vars.currentplayernum == 0) { *arg0 /= 3; } else { *arg0 /= 6; } } result = result + viewwidth - *arg0 - arg1 - 11; if (PLAYERCOUNT() == 1) { result -= 16; } #endif return result; } void hudmsgsHideByChannel(s32 channelnum) { s32 i; for (i = 0; i < g_NumHudMessages; i++) { if (g_HudMessages[i].state != HUDMSGSTATE_FREE && g_HudMessages[i].channelnum == channelnum) { g_HudMessages[i].flags |= HUDMSGFLAG_FORCEOFF; break; } } } void hudmsgsReset(void) { s32 i; g_NumHudMessages = g_Vars.mplayerisrunning ? 20 : 8; g_HudMessages = mempAlloc(ALIGN64(sizeof(struct hudmessage) * g_NumHudMessages), MEMPOOL_STAGE); for (i = 0; i < g_NumHudMessages; i++) { g_HudMessages[i].state = HUDMSGSTATE_FREE; } g_NextHudMessageId = 0; #if VERSION < VERSION_NTSC_1_0 var800736b0nb = NULL; #endif } void hudmsgRemoveAll(void) { s32 i; for (i = 0; i < g_NumHudMessages; i++) { g_HudMessages[i].state = HUDMSGSTATE_FREE; } } s32 hudmsgGetNext(s32 refid) { s32 bestid = -1; s32 bestindex = -1; s32 i; // Finding the smallest ID that is greater than refid for (i = 0; i < g_NumHudMessages; i++) { if (g_HudMessages[i].state && g_HudMessages[i].id > refid) { if (bestid < 0 || g_HudMessages[i].id < bestid) { bestindex = i; bestid = g_HudMessages[i].id; } } } return bestindex; } void hudmsgCreate(char *text, s32 type) { hudmsgCreateFromArgs(text, type, g_HudmsgTypes[type].unk00, g_HudmsgTypes[type].unk01, g_HudmsgTypes[type].unk02, g_HudmsgTypes[type].unk04, g_HudmsgTypes[type].unk08, g_HudmsgTypes[type].colour, g_HudmsgTypes[type].unk10, g_HudmsgTypes[type].alignh, g_HudmsgTypes[type].unk16, g_HudmsgTypes[type].alignv, g_HudmsgTypes[type].unk18, -1, 0); } void hudmsgCreateWithFlags(char *text, s32 type, u32 flags) { hudmsgCreateFromArgs(text, type, g_HudmsgTypes[type].unk00, g_HudmsgTypes[type].unk01, g_HudmsgTypes[type].unk02, g_HudmsgTypes[type].unk04, g_HudmsgTypes[type].unk08, g_HudmsgTypes[type].colour, g_HudmsgTypes[type].unk10, g_HudmsgTypes[type].alignh, g_HudmsgTypes[type].unk16, g_HudmsgTypes[type].alignv, g_HudmsgTypes[type].unk18, -1, flags); } void hudmsgCreateWithColour(char *text, s32 type, u8 colournum) { g_HudmsgTypes[type].colour = g_HudmsgColours[colournum]; hudmsgCreateFromArgs(text, type, g_HudmsgTypes[type].unk00, g_HudmsgTypes[type].unk01, g_HudmsgTypes[type].unk02, g_HudmsgTypes[type].unk04, g_HudmsgTypes[type].unk08, g_HudmsgTypes[type].colour, g_HudmsgTypes[type].unk10, g_HudmsgTypes[type].alignh, g_HudmsgTypes[type].unk16, g_HudmsgTypes[type].alignv, g_HudmsgTypes[type].unk18, -1, 0); } void hudmsgCreateWithDuration(char *text, s32 type, struct hudmsgtype *config, s32 duration60) { hudmsgCreateFromArgs(text, type, config->unk00, config->unk01, config->unk02, config->unk04, config->unk08, config->colour, config->unk10, config->alignh, config->unk16, config->alignv, config->unk18, duration60, HUDMSGFLAG_NOCHANNEL); } #if VERSION >= VERSION_JPN_FINAL GLOBAL_ASM( glabel hudmsgCreateAsSubtitle /* f0df2b4: 27bdfe38 */ addiu $sp,$sp,-456 /* f0df2b8: afb3005c */ sw $s3,0x5c($sp) /* f0df2bc: 00809825 */ move $s3,$a0 /* f0df2c0: afbf006c */ sw $ra,0x6c($sp) /* f0df2c4: afb60068 */ sw $s6,0x68($sp) /* f0df2c8: afb40060 */ sw $s4,0x60($sp) /* f0df2cc: afb20058 */ sw $s2,0x58($sp) /* f0df2d0: 00e09025 */ move $s2,$a3 /* f0df2d4: 30d400ff */ andi $s4,$a2,0xff /* f0df2d8: 00a0b025 */ move $s6,$a1 /* f0df2dc: afb50064 */ sw $s5,0x64($sp) /* f0df2e0: afb10054 */ sw $s1,0x54($sp) /* f0df2e4: afb00050 */ sw $s0,0x50($sp) /* f0df2e8: f7b40048 */ sdc1 $f20,0x48($sp) /* f0df2ec: afa601d0 */ sw $a2,0x1d0($sp) /* f0df2f0: 0fc257fe */ jal propsndGetDuration60 /* f0df2f4: 00e02025 */ move $a0,$a3 /* f0df2f8: 24100006 */ li $s0,0x6 /* f0df2fc: 16d0000e */ bne $s6,$s0,.JF0f0df338 /* f0df300: 00408825 */ move $s1,$v0 /* f0df304: 3c0e800a */ lui $t6,0x800a /* f0df308: 8dcea8dc */ lw $t6,-0x5724($t6) /* f0df30c: 160e0007 */ bne $s0,$t6,.JF0f0df32c /* f0df310: 00000000 */ nop /* f0df314: 0fc547ce */ jal optionsGetCutsceneSubtitles /* f0df318: 00000000 */ nop /* f0df31c: 5040006b */ beqzl $v0,.JF0f0df4cc /* f0df320: 8fbf006c */ lw $ra,0x6c($sp) /* f0df324: 10000004 */ b .JF0f0df338 /* f0df328: 2416000b */ li $s6,0xb .JF0f0df32c: /* f0df32c: 0fc547cb */ jal optionsGetInGameSubtitles /* f0df330: 00000000 */ nop /* f0df334: 10400064 */ beqz $v0,.JF0f0df4c8 .JF0f0df338: /* f0df338: 0014c880 */ sll $t9,$s4,0x2 /* f0df33c: 3c098007 */ lui $t1,0x8007 /* f0df340: 01394821 */ addu $t1,$t1,$t9 /* f0df344: 8d291504 */ lw $t1,0x1504($t1) /* f0df348: 3c188007 */ lui $t8,0x8007 /* f0df34c: 27181540 */ addiu $t8,$t8,0x1540 /* f0df350: 00167940 */ sll $t7,$s6,0x5 /* f0df354: 01f8a821 */ addu $s5,$t7,$t8 /* f0df358: 3c0a800a */ lui $t2,0x800a /* f0df35c: aea9000c */ sw $t1,0xc($s5) /* f0df360: 8d4aa8dc */ lw $t2,-0x5724($t2) /* f0df364: 560a0040 */ bnel $s0,$t2,.JF0f0df468 /* f0df368: 92b80002 */ lbu $t8,0x2($s5) /* f0df36c: 0622003e */ bltzl $s1,.JF0f0df468 /* f0df370: 92b80002 */ lbu $t8,0x2($s5) /* f0df374: 0c012847 */ jal strlen /* f0df378: 02602025 */ move $a0,$s3 /* f0df37c: 304bffff */ andi $t3,$v0,0xffff /* f0df380: 448b4000 */ mtc1 $t3,$f8 /* f0df384: 44912000 */ mtc1 $s1,$f4 /* f0df388: 00009025 */ move $s2,$zero /* f0df38c: 468042a0 */ cvt.s.w $f10,$f8 /* f0df390: 05610005 */ bgez $t3,.JF0f0df3a8 /* f0df394: 468021a0 */ cvt.s.w $f6,$f4 /* f0df398: 3c014f80 */ lui $at,0x4f80 /* f0df39c: 44818000 */ mtc1 $at,$f16 /* f0df3a0: 00000000 */ nop /* f0df3a4: 46105280 */ add.s $f10,$f10,$f16 .JF0f0df3a8: /* f0df3a8: 02608025 */ move $s0,$s3 /* f0df3ac: 460a3503 */ div.s $f20,$f6,$f10 /* f0df3b0: 24130050 */ li $s3,0x50 /* f0df3b4: 24140070 */ li $s4,0x70 /* f0df3b8: 27b10088 */ addiu $s1,$sp,0x88 /* f0df3bc: 00004025 */ move $t0,$zero .JF0f0df3c0: /* f0df3c0: 00002025 */ move $a0,$zero /* f0df3c4: 92030000 */ lbu $v1,0x0($s0) .JF0f0df3c8: /* f0df3c8: 14600004 */ bnez $v1,.JF0f0df3dc /* f0df3cc: 00601025 */ move $v0,$v1 /* f0df3d0: 24120001 */ li $s2,0x1 /* f0df3d4: 1000000b */ b .JF0f0df404 /* f0df3d8: 24040001 */ li $a0,0x1 .JF0f0df3dc: /* f0df3dc: 12620003 */ beq $s3,$v0,.JF0f0df3ec /* f0df3e0: 26100001 */ addiu $s0,$s0,0x1 /* f0df3e4: 16820003 */ bne $s4,$v0,.JF0f0df3f4 /* f0df3e8: 02286021 */ addu $t4,$s1,$t0 .JF0f0df3ec: /* f0df3ec: 10000005 */ b .JF0f0df404 /* f0df3f0: 24040001 */ li $a0,0x1 .JF0f0df3f4: /* f0df3f4: 25080001 */ addiu $t0,$t0,0x1 /* f0df3f8: 310d00ff */ andi $t5,$t0,0xff /* f0df3fc: a1830000 */ sb $v1,0x0($t4) /* f0df400: 01a04025 */ move $t0,$t5 .JF0f0df404: /* f0df404: 5080fff0 */ beqzl $a0,.JF0f0df3c8 /* f0df408: 92030000 */ lbu $v1,0x0($s0) /* f0df40c: 02287021 */ addu $t6,$s1,$t0 /* f0df410: 11000010 */ beqz $t0,.JF0f0df454 /* f0df414: a1c00000 */ sb $zero,0x0($t6) /* f0df418: 44889000 */ mtc1 $t0,$f18 /* f0df41c: 02202025 */ move $a0,$s1 /* f0df420: 02c02825 */ move $a1,$s6 /* f0df424: 02a03025 */ move $a2,$s5 /* f0df428: 05010005 */ bgez $t0,.JF0f0df440 /* f0df42c: 46809120 */ cvt.s.w $f4,$f18 /* f0df430: 3c014f80 */ lui $at,0x4f80 /* f0df434: 44814000 */ mtc1 $at,$f8 /* f0df438: 00000000 */ nop /* f0df43c: 46082100 */ add.s $f4,$f4,$f8 .JF0f0df440: /* f0df440: 46142402 */ mul.s $f16,$f4,$f20 /* f0df444: 4600818d */ trunc.w.s $f6,$f16 /* f0df448: 44073000 */ mfc1 $a3,$f6 /* f0df44c: 0fc37c8a */ jal hudmsgCreateWithDuration /* f0df450: 00000000 */ nop .JF0f0df454: /* f0df454: 5240ffda */ beqzl $s2,.JF0f0df3c0 /* f0df458: 00004025 */ move $t0,$zero /* f0df45c: 1000001b */ b .JF0f0df4cc /* f0df460: 8fbf006c */ lw $ra,0x6c($sp) /* f0df464: 92b80002 */ lbu $t8,0x2($s5) .JF0f0df468: /* f0df468: 92a60000 */ lbu $a2,0x0($s5) /* f0df46c: 92a70001 */ lbu $a3,0x1($s5) /* f0df470: afb80010 */ sw $t8,0x10($sp) /* f0df474: 8eb90004 */ lw $t9,0x4($s5) /* f0df478: 02602025 */ move $a0,$s3 /* f0df47c: 02c02825 */ move $a1,$s6 /* f0df480: afb90014 */ sw $t9,0x14($sp) /* f0df484: 8ea90008 */ lw $t1,0x8($s5) /* f0df488: afa90018 */ sw $t1,0x18($sp) /* f0df48c: 8eaa000c */ lw $t2,0xc($s5) /* f0df490: afaa001c */ sw $t2,0x1c($sp) /* f0df494: 8eab0010 */ lw $t3,0x10($s5) /* f0df498: afab0020 */ sw $t3,0x20($sp) /* f0df49c: 92ac0014 */ lbu $t4,0x14($s5) /* f0df4a0: afac0024 */ sw $t4,0x24($sp) /* f0df4a4: 86ad0016 */ lh $t5,0x16($s5) /* f0df4a8: afad0028 */ sw $t5,0x28($sp) /* f0df4ac: 92ae0015 */ lbu $t6,0x15($s5) /* f0df4b0: afae002c */ sw $t6,0x2c($sp) /* f0df4b4: 86af0018 */ lh $t7,0x18($s5) /* f0df4b8: afa00038 */ sw $zero,0x38($sp) /* f0df4bc: afb20034 */ sw $s2,0x34($sp) /* f0df4c0: 0fc37f11 */ jal hudmsgCreateFromArgs /* f0df4c4: afaf0030 */ sw $t7,0x30($sp) .JF0f0df4c8: /* f0df4c8: 8fbf006c */ lw $ra,0x6c($sp) .JF0f0df4cc: /* f0df4cc: d7b40048 */ ldc1 $f20,0x48($sp) /* f0df4d0: 8fb00050 */ lw $s0,0x50($sp) /* f0df4d4: 8fb10054 */ lw $s1,0x54($sp) /* f0df4d8: 8fb20058 */ lw $s2,0x58($sp) /* f0df4dc: 8fb3005c */ lw $s3,0x5c($sp) /* f0df4e0: 8fb40060 */ lw $s4,0x60($sp) /* f0df4e4: 8fb50064 */ lw $s5,0x64($sp) /* f0df4e8: 8fb60068 */ lw $s6,0x68($sp) /* f0df4ec: 03e00008 */ jr $ra /* f0df4f0: 27bd01c8 */ addiu $sp,$sp,0x1c8 ); #else /** * Create a hudmsg that is tied to the given audio channel. When the audio * finishes the hudmsg is removed. * * This function is used for both in-game subtitles and cutscene subtitles. * If a cutscene is in progress, the function forces the type to cutscene. * This allows the caller to specify the type as in-game unconditionally * and it will do the right thing. * * For cutscene subtitles, a dynamic width is used which means the source text * has to be re-wrapped. There is also a limit of two lines at a time. * * The source text is split into individual messages. These splits are * usually at the end of each sentence, but they also occur after commas and * semi-colons. * * Each message is wrapped and appended to an accumulator. Every time the * accumulator would exceed two lines, the accumulator is queued as a hudmsg * and then cleared prior to appending the new message. * * Each hudmsg is assigned a duration according to its character length relative * to the entire string and the audio duration. */ void hudmsgCreateAsSubtitle(char *srctext, s32 type, u8 colourindex, s32 audiochannelnum) { s32 audioduration60; struct hudmsgtype *config; audioduration60 = propsndGetDuration60(audiochannelnum); if (type == HUDMSGTYPE_INGAMESUBTITLE) { if (g_Vars.tickmode == TICKMODE_CUTSCENE) { if (!optionsGetCutsceneSubtitles()) { return; } type = HUDMSGTYPE_CUTSCENESUBTITLE; } else if (!optionsGetInGameSubtitles()) { return; } } config = &g_HudmsgTypes[type]; config->colour = g_HudmsgColours[colourindex]; if (g_Vars.tickmode == TICKMODE_CUTSCENE && audioduration60 >= 0) { char puncchars[] = { '.', ';', '!', '?', ',' }; u16 srclen; s32 sp4a8; s32 wrapwidth; char accum[250]; char prewrap[250]; char postwrap[250]; char msg[250]; s32 msglen; bool split; s32 accumlen; s32 linecount; f32 time60perchar; s32 i; s32 j; bool append; bool foundpunctuation; srclen = strlen(srctext); wrapwidth = hudmsg0f0ddb1c(&sp4a8, config->unk16); accumlen = 0; i = 0; time60perchar = (f32)audioduration60 / srclen; // These two loops both work with the i iterator. // The inner loop increments i and is looking for places to split the // text, while the outer loop iterates once per split until the srctext // has been completely scanned. while (srctext[i] != '\0') { msglen = 0; foundpunctuation = false; split = false; while (srctext[i] != '\0' && (!foundpunctuation || !split || i > srclen - 10)) { // Check if the current char is punctuation for (j = 0; j < ARRAYCOUNT(puncchars); j++) { if (puncchars[j] == srctext[i]) { foundpunctuation = true; } } // Avoid splitting in the middle of trailing dots, // and also avoid splitting after "Dr." or "Mr." if (foundpunctuation && srctext[i] == '.') { if (srctext[i + 1] == '.') { foundpunctuation = false; } if (i >= 2) { if ((srctext[i - 2] == 'D' || srctext[i - 2] == 'd') && (srctext[i - 1] == 'r' || srctext[i - 1] == 'R')) { foundpunctuation = false; } if ((srctext[i - 2] == 'M' || srctext[i - 2] == 'm') && (srctext[i - 1] == 'r' || srctext[i - 1] == 'R')) { foundpunctuation = false; } } } // Copy the the character from srctext to msg, except: // - if it's a space at the start of the string // - if it's a consecutive space // - if it's a line break (sometimes copy a space instead) if (msglen < 249) { bool ignore = false; if (srctext[i] == ' ') { if (msglen == 0) { ignore = true; } else if (msg[msglen - 1] == ' ') { ignore = true; } } if (srctext[i] == '\n') { ignore = true; if (msglen != 0 && msg[msglen - 1] != ' ' && srctext[i + 1] != ' ') { msg[msglen] = ' '; msglen++; } } if (foundpunctuation && srctext[i] == ' ') { split = true; } if (!ignore) { msg[msglen] = srctext[i]; msglen++; } } if (1); i++; } // end of inner loop // At this point the string in msg is a single sentence, // free of line breaks. It still needs to be wrapped. // Make sure msg ends in a space if (msglen > 0 && msg[msglen - 1] != ' ') { msg[msglen] = ' '; msglen++; } // Rebuild prewrap by concatenating the accumulator and msg. // prewrap will be everything that's been read so far and has yet to // be queued. for (j = 0; j < accumlen; j++) { prewrap[j] = accum[j]; } for (j = 0; j < msglen; j++) { prewrap[j + accumlen] = msg[j]; } prewrap[accumlen + msglen] = '\n'; prewrap[accumlen + msglen + 1] = '\0'; // Apply text wrapping to prewrap textWrap(wrapwidth, prewrap, postwrap, g_CharsHandelGothicSm, g_FontHandelGothicSm); // Next, count the number of lines in the wrapped message. // If it's more than two, send the accumulator out as a hudmsg and // then put msg in the accumulator. Otherwise, just append msg to // the accumulator. // Note that these strings always end in a line break, so counting // the line breaks is the same as counting visual lines linecount = 0; for (j = 0; postwrap[j] != '\0'; j++) { if (postwrap[j] == '\n') { linecount++; } } append = true; if (linecount >= 3) { if (accumlen == 0) { // Nothing is in the accumulator, so just queue the message msg[msglen] = '\n'; msglen++; msg[msglen] = '\0'; hudmsgCreateWithDuration(msg, type, config, msglen * time60perchar); append = false; } else { // Queue the accumulator and then clear it. // The current message will be copied into the accumulator // for the next iteration. accum[accumlen] = '\n'; accumlen++; accum[accumlen] = '\0'; hudmsgCreateWithDuration(accum, type, config, accumlen * time60perchar); accumlen = 0; } } if (append) { for (j = 0; j < msglen; j++) { accum[accumlen + j] = msg[j]; } accumlen += msglen; } msg[msglen] = '\0'; } // end of outer loop // If there's anything remaining in the accumulator, queue it if (accumlen != 0) { accum[accumlen] = '\n'; accumlen++; accum[accumlen] = '\0'; hudmsgCreateWithDuration(accum, type, config, accumlen * time60perchar); } } else { hudmsgCreateFromArgs(srctext, type, config->unk00, config->unk01, config->unk02, config->unk04, config->unk08, config->colour, config->unk10, config->alignh, config->unk16, config->alignv, config->unk18, audiochannelnum, 0); } } #endif void hudmsgCreateFromArgsWithoutFlags(char *text, s32 type, s32 conf00, s32 conf01, s32 conf02, struct fontchar **conf04, struct font **conf08, u32 textcolour, u32 shadowcolour, u32 alignh, s32 conf16, u32 alignv, s32 conf18, s32 arg14) { hudmsgCreateFromArgs(text, type, conf00, conf01, conf02, conf04, conf08, textcolour, shadowcolour, alignh, conf16, alignv, conf18, arg14, 0); } void hudmsgCalculatePosition(struct hudmessage *msg) { s32 x; s32 y; s32 viewleft = g_Vars.players[msg->playernum]->viewleft / g_ScaleX; s32 viewtop = g_Vars.players[msg->playernum]->viewtop; s32 viewwidth = g_Vars.players[msg->playernum]->viewwidth / g_ScaleX; s32 viewheight = g_Vars.players[msg->playernum]->viewheight; s32 v0; #if VERSION >= VERSION_NTSC_1_0 s32 offset = (msg->alignh == HUDMSGALIGN_XMIDDLE) ? 10 : 0; if (PLAYERCOUNT() >= 3) { viewwidth -= offset; if (g_Vars.currentplayernum == 0 || g_Vars.currentplayernum == 2) { viewleft += offset; } } if (PLAYERCOUNT() == 2 && (optionsGetScreenSplit() == SCREENSPLIT_VERTICAL || IS4MB())) { #if VERSION >= VERSION_PAL_FINAL if (!g_InCutscene || g_MainIsEndscreen) #endif { viewwidth -= offset; if (g_Vars.currentplayernum == 0) { viewleft += offset; } } } #endif switch (msg->alignh) { case HUDMSGALIGN_SCREENLEFT: x = msg->xmargin; break; case HUDMSGALIGN_LEFT: v0 = (g_InCutscene && !g_MainIsEndscreen) ? 24 : msg->xmarginextra; x = viewleft + v0 + msg->xmargin + 3; if (PLAYERCOUNT() == 2 && (optionsGetScreenSplit() == SCREENSPLIT_VERTICAL || IS4MB()) && (!g_InCutscene || g_MainIsEndscreen)) { if (IS4MB()) { if (msg->playernum == 0) { x--; } else if (msg->playernum == 1) { x -= 16; } } else { if (msg->playernum == 0) { x += 15; } else if (msg->playernum == 1) { x += 4; } } } else if (PLAYERCOUNT() >= 3) { if ((msg->playernum % 2) == 0) { x--; } else { x -= 16; } } break; case HUDMSGALIGN_RIGHT: x = viewleft + viewwidth - msg->width - msg->xmargin - 57; break; case HUDMSGALIGN_XMIDDLE: x = (viewwidth - msg->width) / 2 + viewleft + msg->xmargin; break; default: x = msg->xmargin; break; } switch (msg->alignv) { case HUDMSGALIGN_SCREENTOP: y = msg->ymargin; break; case HUDMSGALIGN_TOP: y = viewtop + msg->ymargin + 13; break; case HUDMSGALIGN_BOTTOM: y = viewtop + viewheight - msg->height - msg->ymargin - 14; if (PLAYERCOUNT() == 2 && (g_InCutscene == 0 || g_MainIsEndscreen)) { if (IS4MB() || (optionsGetScreenSplit() != SCREENSPLIT_VERTICAL && msg->playernum == 0)) { y += 8; } else { y += 3; } } else if (PLAYERCOUNT() >= 3) { if (msg->playernum <= 1) { y += 8; } else { y += 3; } } else { if (optionsGetEffectiveScreenSize() != SCREENSIZE_FULL) { y += 8; } } break; case HUDMSGALIGN_YMIDDLE: y = (viewheight - msg->height) / 2 + viewtop + msg->ymargin; break; case HUDMSGALIGN_BELOWVIEWPORT: y = viewtop + viewheight - (msg->height / 2) + 18; break; default: y = msg->ymargin; break; } msg->x = x; msg->y = y; } void hudmsgCreateFromArgs(char *text, s32 type, s32 conf00, s32 conf01, s32 conf02, struct fontchar **conf04, struct font **conf08, u32 textcolour, u32 glowcolour, u32 alignh, s32 conf16, u32 alignv, s32 conf18, s32 arg14, u32 flags) { s32 j; struct hudmessage *msg; s32 hash = 0; s32 i; s32 index; s32 textwidth; s32 textheight; s32 xmarginaextra; s32 wrapwidth; char stacktext[400]; s32 writeindex; if (type == HUDMSGTYPE_INGAMESUBTITLE && !optionsGetInGameSubtitles()) { return; } for (j = 0; text[j] != '\0'; j++) { hash = hash + text[j]; } if ((flags & HUDMSGFLAG_ONLYIFALIVE) == 0 || !g_Vars.currentplayer->isdead) { if ((flags & HUDMSGFLAG_ALLOWDUPES) == 0) { // Check for duplicate messages s32 dupeofindex = -1; for (index = 0; index < g_NumHudMessages; index++) { if (g_HudMessages[index].state != HUDMSGSTATE_FREE && g_HudMessages[index].state != HUDMSGSTATE_FADINGOUT && g_HudMessages[index].playernum == g_Vars.currentplayernum && g_HudMessages[index].hash == hash) { dupeofindex = index; } } if (dupeofindex >= 0) { return; } } #if PAL g_ScaleX = 1; #else g_ScaleX = g_ViRes == VIRES_HI ? 2 : 1; #endif // Find an unused index for the new message for (index = 0; index < g_NumHudMessages; index++) { if (g_HudMessages[index].state == HUDMSGSTATE_FREE) { break; } } if (index >= g_NumHudMessages && (type == HUDMSGTYPE_OBJECTIVECOMPLETE || type == HUDMSGTYPE_OBJECTIVEFAILED || type == HUDMSGTYPE_INGAMESUBTITLE)) { // Out of space - Check if an existing message can be replaced index = hudmsgGetNext(-1); while (index >= 0) { if (g_HudMessages[index].state == HUDMSGSTATE_QUEUED) { if (g_HudMessages[index].type == HUDMSGTYPE_DEFAULT || g_HudMessages[index].type == HUDMSGTYPE_3 || g_HudMessages[index].type == HUDMSGTYPE_4) { // Good to replace this one break; } } // Can't replace - try and find another index = hudmsgGetNext(g_HudMessages[index].id); } } if (index >= 0 && index < g_NumHudMessages) { xmarginaextra = 0; msg = &g_HudMessages[index]; wrapwidth = hudmsg0f0ddb1c(&xmarginaextra, conf16); textMeasure(&textheight, &textwidth, text, *conf04, *conf08, 0); #if VERSION >= VERSION_JPN_FINAL if (textwidth > wrapwidth && (flags & HUDMSGFLAG_NOWRAP) == 0) #else if (textwidth > wrapwidth) #endif { i = 0; writeindex = 0; while (i < 400 && text[i] != '\0') { if (text[i] != '\n') { stacktext[writeindex++] = text[i]; } i++; } stacktext[writeindex++] = '\n'; stacktext[writeindex++] = '\0'; textWrap(wrapwidth, stacktext, msg->text, *conf04, *conf08); textMeasure(&textheight, &textwidth, msg->text, *conf04, *conf08, 0); } else { strncpy(msg->text, text, 399); msg->text[399] = '\0'; } msg->flags = flags; msg->playernum = g_Vars.currentplayernum; msg->type = type; msg->id = g_NextHudMessageId++; msg->state = HUDMSGSTATE_QUEUED; msg->timer = 0; msg->boxed = conf00; msg->allowfadein = conf01; msg->flash = conf02; msg->font1 = *conf04; msg->font2 = *conf08; msg->textcolour = textcolour; msg->glowcolour = glowcolour; msg->alignh = alignh; msg->alignv = alignv; msg->width = textwidth; msg->height = textheight; msg->xmarginextra = xmarginaextra; msg->xmargin = conf16; msg->ymargin = conf18; msg->hash = hash; hudmsgCalculatePosition(msg); if (flags & HUDMSGFLAG_NOCHANNEL) { msg->showduration = TICKS(arg14); msg->channelnum = -1; } else { msg->showduration = TICKS(g_HudmsgTypes[type].duration); msg->channelnum = arg14; } } g_ScaleX = 1; } } void hudmsgsTick(void) { s32 k; s32 previd; bool show; struct hudmessage *msg; #if VERSION >= VERSION_NTSC_1_0 s32 prevplayernum; #endif s32 i; s32 j; #if VERSION >= VERSION_NTSC_1_0 s32 index; bool hide; #else bool hide; s32 index; #endif f32 fadeintime; f32 fadeouttime; g_HudmsgsActive = false; #if PAL g_ScaleX = 1; #else g_ScaleX = (g_ViRes == VIRES_HI) ? 2 : 1; #endif #if VERSION >= VERSION_NTSC_1_0 prevplayernum = g_Vars.currentplayernum; for (k = 0; k < g_NumHudMessages; k++) { if (g_HudMessages[k].state != HUDMSGSTATE_FREE) { if (g_Vars.tickmode == TICKMODE_CUTSCENE) { for (j = 0; j < g_NumHudMessages; j++) { if (k != j && g_HudMessages[j].state != HUDMSGSTATE_FREE && g_HudMessages[j].hash == g_HudMessages[k].hash) { g_HudMessages[j].state = HUDMSGSTATE_FREE; } } } setCurrentPlayerNum(g_HudMessages[k].playernum); hudmsgCalculatePosition(&g_HudMessages[k]); } } setCurrentPlayerNum(prevplayernum); #else for (k = 0; k < g_NumHudMessages; k++) { if (g_HudMessages[k].state != HUDMSGSTATE_FREE) { hudmsgCalculatePosition(&g_HudMessages[k]); } } #endif previd = -1; \ while (true) { index = hudmsgGetNext(previd); if (index < 0) { break; } msg = &g_HudMessages[index]; previd = msg->id; if (msg->channelnum >= 0) { msg->opacity = propsndGetSubtitleOpacity(msg->channelnum); } else { msg->opacity = 0xff; } if (msg->type == HUDMSGTYPE_CUTSCENESUBTITLE && g_Vars.tickmode != TICKMODE_CUTSCENE) { msg->state = HUDMSGSTATE_FREE; msg->timer = 0; } switch (msg->state) { case HUDMSGSTATE_QUEUED: #if VERSION >= VERSION_NTSC_1_0 if (msg->flags & HUDMSGFLAG_DELAY) { msg->timer++; if (msg->timer > 3) { msg->flags &= ~HUDMSGFLAG_DELAY; } } else #endif { show = true; if (g_Vars.players[msg->playernum]->isdead) { show = false; } if (show) { // Check if any other message is occupying our space for (i = 0; i < g_NumHudMessages; i++) { if (g_HudMessages[i].state != HUDMSGSTATE_FREE && g_HudMessages[i].state != HUDMSGSTATE_QUEUED && g_HudMessages[i].x + g_HudMessages[i].width >= msg->x && g_HudMessages[i].x <= msg->x + msg->width && g_HudMessages[i].y + g_HudMessages[i].height >= msg->y && g_HudMessages[i].y <= msg->y + msg->height) { show = false; // Consider booting the previous message out earlier if (g_HudMessages[i].type == msg->type && msg->boxed && g_HudMessages[i].boxed && g_HudMessages[i].state == HUDMSGSTATE_FADINGOUT) { g_HudMessages[i].state = HUDMSGSTATE_FREE; g_HudMessages[i].timer = 0; msg->state = HUDMSGSTATE_FADINGIN; msg->timer = 0; } break; } } } if (show) { if (msg->boxed) { msg->state = HUDMSGSTATE_CHOOSETRANSITION; } else if (msg->allowfadein) { msg->state = HUDMSGSTATE_FADINGIN; } else { msg->state = HUDMSGSTATE_ONSCREEN; } msg->timer = 0; if (msg->type == HUDMSGTYPE_CUTSCENESUBTITLE) { msg->state = HUDMSGSTATE_ONSCREEN; } } } break; case HUDMSGSTATE_CHOOSETRANSITION: if (msg->boxed && msg->allowfadein) { msg->state = HUDMSGSTATE_FADINGIN; } else { msg->state = HUDMSGSTATE_ONSCREEN; } if (msg->type == HUDMSGTYPE_CUTSCENESUBTITLE) { msg->state = HUDMSGSTATE_ONSCREEN; } msg->timer = 0; break; case HUDMSGSTATE_FADINGIN: if (msg->type == HUDMSGTYPE_CUTSCENESUBTITLE) { // Cutscene subtitles appear immediately msg->state = HUDMSGSTATE_ONSCREEN; msg->timer = 0; } else { // Most HUD messages play a swish sound effect if (msg->timer == 0 && !lvIsPaused() && !mpIsPaused() #if VERSION >= VERSION_NTSC_1_0 && msg->type != HUDMSGTYPE_CUTSCENESUBTITLE && msg->type != HUDMSGTYPE_INGAMESUBTITLE #endif && PLAYERCOUNT() == 1) { #if VERSION >= VERSION_NTSC_1_0 sndStart(var80095200, SFX_HUDMSG, NULL, -1, -1, -1, -1, -1); #else sndStart(var80095200, SFX_HUDMSG, &var800736b0nb, -1, -1, -1, -1, -1); #endif } fadeintime = (sqrtf(msg->width * msg->width + msg->height * msg->height) + 132) / PALUPF(7.0f); msg->timer += g_Vars.lvupdate240_60; if (msg->timer >= (s32)fadeintime || msg->type == HUDMSGTYPE_CUTSCENESUBTITLE) { msg->state = HUDMSGSTATE_ONSCREEN; msg->timer = 0; } } break; case HUDMSGSTATE_ONSCREEN: msg->timer += g_Vars.lvupdate240_60; hide = false; // Subtitles have an audio channel number and are hidden when the audio stops if (msg->channelnum >= 0) { if (audioIsChannelIdle(msg->channelnum)) { hide = true; } else if (msg->flags & HUDMSGFLAG_FORCEOFF) { msg->flags &= ~HUDMSGFLAG_FORCEOFF; hide = true; } } else if (msg->timer >= msg->showduration && msg->showduration != -1) { hide = true; } if (hide) { if (msg->boxed) { msg->state = HUDMSGSTATE_FADINGOUT; } else { msg->state = HUDMSGSTATE_FREE; } msg->timer = 0; } break; case HUDMSGSTATE_FADINGOUT: fadeouttime = (sqrtf(msg->width * msg->width + msg->height * msg->height) + 92) / PALUPF(7.0f); msg->timer += g_Vars.lvupdate240_60; if (msg->timer >= (s32)fadeouttime) { msg->state = HUDMSGSTATE_FREE; msg->timer = 0; } break; case HUDMSGSTATE_FREE: break; } } g_ScaleX = 1; } void hudmsgsSetOn(u32 reason) { g_Vars.currentplayer->hudmessoff &= ~reason; } void hudmsgsSetOff(u32 reason) { g_Vars.currentplayer->hudmessoff |= reason; } void hudmsgsRemoveForDeadPlayer(s32 playernum) { s32 i; for (i = 0; i < g_NumHudMessages; i++) { if (g_HudMessages[i].state && g_HudMessages[i].playernum == playernum && (g_HudMessages[i].flags & HUDMSGFLAG_ONLYIFALIVE)) { g_HudMessages[i].state = HUDMSGSTATE_FREE; g_HudMessages[i].timer = 0; } } } #if VERSION == VERSION_JPN_FINAL GLOBAL_ASM( glabel hudmsgsRender .late_rodata glabel var7f1adedc .word 0x40490fdb glabel var7f1adee0 .word hudmsgsRender+0xa34 # f0e0504 .word hudmsgsRender+0xa34 # f0e0504 .word hudmsgsRender+0xa34 # f0e0504 .word hudmsgsRender+0x3ec # f0dfebc .word hudmsgsRender+0x644 # f0e0114 .word hudmsgsRender+0x7c8 # f0e0298 .text /* f0e0864: 27bdff00 */ addiu $sp,$sp,-256 /* f0e0868: 3c0f8007 */ lui $t7,0x8007 /* f0e086c: 8def0c18 */ lw $t7,0xc18($t7) /* f0e0870: afb20060 */ sw $s2,0x60($sp) /* f0e0874: 24020001 */ li $v0,0x1 /* f0e0878: 240e00ff */ li $t6,0xff /* f0e087c: 00809025 */ move $s2,$a0 /* f0e0880: afbf007c */ sw $ra,0x7c($sp) /* f0e0884: afbe0078 */ sw $s8,0x78($sp) /* f0e0888: afb70074 */ sw $s7,0x74($sp) /* f0e088c: afb60070 */ sw $s6,0x70($sp) /* f0e0890: afb5006c */ sw $s5,0x6c($sp) /* f0e0894: afb40068 */ sw $s4,0x68($sp) /* f0e0898: afb30064 */ sw $s3,0x64($sp) /* f0e089c: afb1005c */ sw $s1,0x5c($sp) /* f0e08a0: afb00058 */ sw $s0,0x58($sp) /* f0e08a4: f7ba0050 */ sdc1 $f26,0x50($sp) /* f0e08a8: f7b80048 */ sdc1 $f24,0x48($sp) /* f0e08ac: f7b60040 */ sdc1 $f22,0x40($sp) /* f0e08b0: f7b40038 */ sdc1 $f20,0x38($sp) /* f0e08b4: afae00e0 */ sw $t6,0xe0($sp) /* f0e08b8: 144f0005 */ bne $v0,$t7,.JF0f0e08d0 /* f0e08bc: afa200dc */ sw $v0,0xdc($sp) /* f0e08c0: 24180002 */ li $t8,0x2 /* f0e08c4: 3c018008 */ lui $at,0x8008 /* f0e08c8: 10000003 */ b .JF0f0e08d8 /* f0e08cc: ac3800f4 */ sw $t8,0xf4($at) .JF0f0e08d0: /* f0e08d0: 3c018008 */ lui $at,0x8008 /* f0e08d4: ac2200f4 */ sw $v0,0xf4($at) .JF0f0e08d8: /* f0e08d8: 0fc54b55 */ jal func0f153628 /* f0e08dc: 02402025 */ move $a0,$s2 /* f0e08e0: 3c19800a */ lui $t9,0x800a /* f0e08e4: 8f39a8c8 */ lw $t9,-0x5738($t9) /* f0e08e8: 00409025 */ move $s2,$v0 /* f0e08ec: 3c048007 */ lui $a0,0x8007 /* f0e08f0: 07210005 */ bgez $t9,.JF0f0e0908 /* f0e08f4: 3c0141f0 */ lui $at,0x41f0 /* f0e08f8: 3c08800a */ lui $t0,0x800a /* f0e08fc: 8d08a8cc */ lw $t0,-0x5734($t0) /* f0e0900: 0500000e */ bltz $t0,.JF0f0e093c /* f0e0904: 00000000 */ nop .JF0f0e0908: /* f0e0908: 3c098007 */ lui $t1,0x8007 /* f0e090c: 8d290cb4 */ lw $t1,0xcb4($t1) /* f0e0910: 1120000a */ beqz $t1,.JF0f0e093c /* f0e0914: 00000000 */ nop /* f0e0918: 3c0a8006 */ lui $t2,0x8006 /* f0e091c: 8d4ad880 */ lw $t2,-0x2780($t2) /* f0e0920: 15400006 */ bnez $t2,.JF0f0e093c /* f0e0924: 00000000 */ nop /* f0e0928: 3c0b800a */ lui $t3,0x800a /* f0e092c: 8d6ba8bc */ lw $t3,-0x5744($t3) /* f0e0930: 15600002 */ bnez $t3,.JF0f0e093c /* f0e0934: 00000000 */ nop /* f0e0938: afa000dc */ sw $zero,0xdc($sp) .JF0f0e093c: /* f0e093c: 8c841538 */ lw $a0,0x1538($a0) /* f0e0940: 27b700e4 */ addiu $s7,$sp,0xe4 /* f0e0944: 27b600e8 */ addiu $s6,$sp,0xe8 /* f0e0948: 1880029b */ blez $a0,.JF0f0e13b8 /* f0e094c: 2415ff00 */ li $s5,-256 /* f0e0950: 4481d000 */ mtc1 $at,$f26 /* f0e0954: 3c0140e0 */ lui $at,0x40e0 /* f0e0958: 4481c000 */ mtc1 $at,$f24 /* f0e095c: 3c014080 */ lui $at,0x4080 /* f0e0960: 4481b000 */ mtc1 $at,$f22 /* f0e0964: 3c013f80 */ lui $at,0x3f80 /* f0e0968: 4481a000 */ mtc1 $at,$f20 /* f0e096c: afa00088 */ sw $zero,0x88($sp) /* f0e0970: 241e00ff */ li $s8,0xff .JF0f0e0974: /* f0e0974: 3c0d8007 */ lui $t5,0x8007 /* f0e0978: 8dad153c */ lw $t5,0x153c($t5) /* f0e097c: 8fac0088 */ lw $t4,0x88($sp) /* f0e0980: 00041100 */ sll $v0,$a0,0x4 /* f0e0984: 00441023 */ subu $v0,$v0,$a0 /* f0e0988: 018d8021 */ addu $s0,$t4,$t5 /* f0e098c: 92030004 */ lbu $v1,0x4($s0) /* f0e0990: 000210c0 */ sll $v0,$v0,0x3 /* f0e0994: 00441023 */ subu $v0,$v0,$a0 /* f0e0998: 54600004 */ bnezl $v1,.JF0f0e09ac /* f0e099c: 92020000 */ lbu $v0,0x0($s0) /* f0e09a0: 10000280 */ b .JF0f0e13a4 /* f0e09a4: 00021080 */ sll $v0,$v0,0x2 /* f0e09a8: 92020000 */ lbu $v0,0x0($s0) .JF0f0e09ac: /* f0e09ac: 24010001 */ li $at,0x1 /* f0e09b0: 5040000a */ beqzl $v0,.JF0f0e09dc /* f0e09b4: 00041100 */ sll $v0,$a0,0x4 /* f0e09b8: 10410007 */ beq $v0,$at,.JF0f0e09d8 /* f0e09bc: 8fae00dc */ lw $t6,0xdc($sp) /* f0e09c0: 51c0000c */ beqzl $t6,.JF0f0e09f4 /* f0e09c4: 92190003 */ lbu $t9,0x3($s0) /* f0e09c8: 3c0f800a */ lui $t7,0x800a /* f0e09cc: 8defa8bc */ lw $t7,-0x5744($t7) /* f0e09d0: 8e1801c0 */ lw $t8,0x1c0($s0) /* f0e09d4: 11f80006 */ beq $t7,$t8,.JF0f0e09f0 .JF0f0e09d8: /* f0e09d8: 00041100 */ sll $v0,$a0,0x4 .JF0f0e09dc: /* f0e09dc: 00441023 */ subu $v0,$v0,$a0 /* f0e09e0: 000210c0 */ sll $v0,$v0,0x3 /* f0e09e4: 00441023 */ subu $v0,$v0,$a0 /* f0e09e8: 1000026e */ b .JF0f0e13a4 /* f0e09ec: 00021080 */ sll $v0,$v0,0x2 .JF0f0e09f0: /* f0e09f0: 92190003 */ lbu $t9,0x3($s0) .JF0f0e09f4: /* f0e09f4: 53200022 */ beqzl $t9,.JF0f0e0a80 /* f0e09f8: 8e130010 */ lw $s3,0x10($s0) /* f0e09fc: 96080006 */ lhu $t0,0x6($s0) /* f0e0a00: 3c014f80 */ lui $at,0x4f80 /* f0e0a04: 44882000 */ mtc1 $t0,$f4 /* f0e0a08: 05010004 */ bgez $t0,.JF0f0e0a1c /* f0e0a0c: 468021a0 */ cvt.s.w $f6,$f4 /* f0e0a10: 44814000 */ mtc1 $at,$f8 /* f0e0a14: 00000000 */ nop /* f0e0a18: 46083180 */ add.s $f6,$f6,$f8 .JF0f0e0a1c: /* f0e0a1c: 3c017f1b */ lui $at,0x7f1b /* f0e0a20: c42aec0c */ lwc1 $f10,-0x13f4($at) /* f0e0a24: 3c014270 */ lui $at,0x4270 /* f0e0a28: 44819000 */ mtc1 $at,$f18 /* f0e0a2c: 460a3402 */ mul.s $f16,$f6,$f10 /* f0e0a30: 0c0068df */ jal sinf /* f0e0a34: 46128303 */ div.s $f12,$f16,$f18 /* f0e0a38: 44802000 */ mtc1 $zero,$f4 /* f0e0a3c: 3c014340 */ lui $at,0x4340 /* f0e0a40: 44814000 */ mtc1 $at,$f8 /* f0e0a44: 4604003c */ c.lt.s $f0,$f4 /* f0e0a48: 46000086 */ mov.s $f2,$f0 /* f0e0a4c: 45000002 */ bc1f .JF0f0e0a58 /* f0e0a50: 00000000 */ nop /* f0e0a54: 46000087 */ neg.s $f2,$f0 .JF0f0e0a58: /* f0e0a58: 46024182 */ mul.s $f6,$f8,$f2 /* f0e0a5c: 8e090010 */ lw $t1,0x10($s0) /* f0e0a60: 8e140014 */ lw $s4,0x14($s0) /* f0e0a64: 92030004 */ lbu $v1,0x4($s0) /* f0e0a68: 01355024 */ and $t2,$t1,$s5 /* f0e0a6c: 4600328d */ trunc.w.s $f10,$f6 /* f0e0a70: 440c5000 */ mfc1 $t4,$f10 /* f0e0a74: 10000005 */ b .JF0f0e0a8c /* f0e0a78: 014c9821 */ addu $s3,$t2,$t4 /* f0e0a7c: 8e130010 */ lw $s3,0x10($s0) .JF0f0e0a80: /* f0e0a80: 8e140014 */ lw $s4,0x14($s0) /* f0e0a84: 366d00a0 */ ori $t5,$s3,0xa0 /* f0e0a88: 01a09825 */ move $s3,$t5 .JF0f0e0a8c: /* f0e0a8c: 240100ff */ li $at,0xff /* f0e0a90: 1061001c */ beq $v1,$at,.JF0f0e0b04 /* f0e0a94: 00601025 */ move $v0,$v1 /* f0e0a98: 326e00ff */ andi $t6,$s3,0xff /* f0e0a9c: 004e0019 */ multu $v0,$t6 /* f0e0aa0: 00401825 */ move $v1,$v0 /* f0e0aa4: 329800ff */ andi $t8,$s4,0xff /* f0e0aa8: 02754024 */ and $t0,$s3,$s5 /* f0e0aac: 02955824 */ and $t3,$s4,$s5 /* f0e0ab0: 00007812 */ mflo $t7 /* f0e0ab4: 00000000 */ nop /* f0e0ab8: 00000000 */ nop /* f0e0abc: 01fe001b */ divu $zero,$t7,$s8 /* f0e0ac0: 00002012 */ mflo $a0 /* f0e0ac4: 308900ff */ andi $t1,$a0,0xff /* f0e0ac8: 17c00002 */ bnez $s8,.JF0f0e0ad4 /* f0e0acc: 00000000 */ nop /* f0e0ad0: 0007000d */ break 0x7 .JF0f0e0ad4: /* f0e0ad4: 00780019 */ multu $v1,$t8 /* f0e0ad8: 01099821 */ addu $s3,$t0,$t1 /* f0e0adc: 0000c812 */ mflo $t9 /* f0e0ae0: 00000000 */ nop /* f0e0ae4: 00000000 */ nop /* f0e0ae8: 033e001b */ divu $zero,$t9,$s8 /* f0e0aec: 00002812 */ mflo $a1 /* f0e0af0: 30aa00ff */ andi $t2,$a1,0xff /* f0e0af4: 17c00002 */ bnez $s8,.JF0f0e0b00 /* f0e0af8: 00000000 */ nop /* f0e0afc: 0007000d */ break 0x7 .JF0f0e0b00: /* f0e0b00: 016aa021 */ addu $s4,$t3,$t2 .JF0f0e0b04: /* f0e0b04: 960c0018 */ lhu $t4,0x18($s0) /* f0e0b08: 24010006 */ li $at,0x6 /* f0e0b0c: afac00e8 */ sw $t4,0xe8($sp) /* f0e0b10: 960d001a */ lhu $t5,0x1a($s0) /* f0e0b14: afad00e4 */ sw $t5,0xe4($sp) /* f0e0b18: 8e0e01b4 */ lw $t6,0x1b4($s0) /* f0e0b1c: 55c10011 */ bnel $t6,$at,.JF0f0e0b64 /* f0e0b20: 8e0901b4 */ lw $t1,0x1b4($s0) /* f0e0b24: 0fc30a21 */ jal playerIsHealthVisible /* f0e0b28: 00000000 */ nop /* f0e0b2c: 5040000d */ beqzl $v0,.JF0f0e0b64 /* f0e0b30: 8e0901b4 */ lw $t1,0x1b4($s0) /* f0e0b34: 0fc309eb */ jal playerGetHealthBarHeightFrac /* f0e0b38: 00000000 */ nop /* f0e0b3c: 3c014180 */ lui $at,0x4180 /* f0e0b40: 44818000 */ mtc1 $at,$f16 /* f0e0b44: 8faf00e4 */ lw $t7,0xe4($sp) /* f0e0b48: 46008482 */ mul.s $f18,$f16,$f0 /* f0e0b4c: 4600910d */ trunc.w.s $f4,$f18 /* f0e0b50: 44192000 */ mfc1 $t9,$f4 /* f0e0b54: 00000000 */ nop /* f0e0b58: 01f94021 */ addu $t0,$t7,$t9 /* f0e0b5c: afa800e4 */ sw $t0,0xe4($sp) /* f0e0b60: 8e0901b4 */ lw $t1,0x1b4($s0) .JF0f0e0b64: /* f0e0b64: 2401000b */ li $at,0xb /* f0e0b68: 55210031 */ bnel $t1,$at,.JF0f0e0c30 /* f0e0b6c: 920d0000 */ lbu $t5,0x0($s0) /* f0e0b70: 8fab00e8 */ lw $t3,0xe8($sp) /* f0e0b74: 3c0c8008 */ lui $t4,0x8008 /* f0e0b78: 8d8c00f4 */ lw $t4,0xf4($t4) /* f0e0b7c: 256afffc */ addiu $t2,$t3,-4 /* f0e0b80: 3c01ed00 */ lui $at,0xed00 /* f0e0b84: 014c0019 */ multu $t2,$t4 /* f0e0b88: 02408825 */ move $s1,$s2 /* f0e0b8c: 26520008 */ addiu $s2,$s2,0x8 /* f0e0b90: 00006812 */ mflo $t5 /* f0e0b94: 448d4000 */ mtc1 $t5,$f8 /* f0e0b98: 00000000 */ nop /* f0e0b9c: 468041a0 */ cvt.s.w $f6,$f8 /* f0e0ba0: 46163282 */ mul.s $f10,$f6,$f22 /* f0e0ba4: 4600540d */ trunc.w.s $f16,$f10 /* f0e0ba8: 44188000 */ mfc1 $t8,$f16 /* f0e0bac: 00000000 */ nop /* f0e0bb0: 330f0fff */ andi $t7,$t8,0xfff /* f0e0bb4: 000fcb00 */ sll $t9,$t7,0xc /* f0e0bb8: 03214025 */ or $t0,$t9,$at /* f0e0bbc: 0c002ede */ jal viGetBufHeight /* f0e0bc0: ae280000 */ sw $t0,0x0($s1) /* f0e0bc4: 8fa900e8 */ lw $t1,0xe8($sp) /* f0e0bc8: 960b001c */ lhu $t3,0x1c($s0) /* f0e0bcc: 3c0d8008 */ lui $t5,0x8008 /* f0e0bd0: 8dad00f4 */ lw $t5,0xf4($t5) /* f0e0bd4: 012b5021 */ addu $t2,$t1,$t3 /* f0e0bd8: 254c0003 */ addiu $t4,$t2,0x3 /* f0e0bdc: 018d0019 */ multu $t4,$t5 /* f0e0be0: 44825000 */ mtc1 $v0,$f10 /* f0e0be4: 00000000 */ nop /* f0e0be8: 46805420 */ cvt.s.w $f16,$f10 /* f0e0bec: 00007012 */ mflo $t6 /* f0e0bf0: 448e9000 */ mtc1 $t6,$f18 /* f0e0bf4: 00000000 */ nop /* f0e0bf8: 46809120 */ cvt.s.w $f4,$f18 /* f0e0bfc: 46162202 */ mul.s $f8,$f4,$f22 /* f0e0c00: 00000000 */ nop /* f0e0c04: 46168482 */ mul.s $f18,$f16,$f22 /* f0e0c08: 4600418d */ trunc.w.s $f6,$f8 /* f0e0c0c: 4600910d */ trunc.w.s $f4,$f18 /* f0e0c10: 440f3000 */ mfc1 $t7,$f6 /* f0e0c14: 440b2000 */ mfc1 $t3,$f4 /* f0e0c18: 31f90fff */ andi $t9,$t7,0xfff /* f0e0c1c: 00194300 */ sll $t0,$t9,0xc /* f0e0c20: 316a0fff */ andi $t2,$t3,0xfff /* f0e0c24: 01486025 */ or $t4,$t2,$t0 /* f0e0c28: ae2c0004 */ sw $t4,0x4($s1) /* f0e0c2c: 920d0000 */ lbu $t5,0x0($s0) .JF0f0e0c30: /* f0e0c30: 2da10006 */ sltiu $at,$t5,0x6 /* f0e0c34: 10200198 */ beqz $at,.JF0f0e1298 /* f0e0c38: 000d6880 */ sll $t5,$t5,0x2 /* f0e0c3c: 3c017f1b */ lui $at,0x7f1b /* f0e0c40: 002d0821 */ addu $at,$at,$t5 /* f0e0c44: 8c2dec10 */ lw $t5,-0x13f0($at) /* f0e0c48: 01a00008 */ jr $t5 /* f0e0c4c: 00000000 */ nop /* f0e0c50: 8e110010 */ lw $s1,0x10($s0) /* f0e0c54: 92020004 */ lbu $v0,0x4($s0) /* f0e0c58: 240100ff */ li $at,0xff /* f0e0c5c: 362e0040 */ ori $t6,$s1,0x40 /* f0e0c60: 1041000e */ beq $v0,$at,.JF0f0e0c9c /* f0e0c64: 01c08825 */ move $s1,$t6 /* f0e0c68: 31d800ff */ andi $t8,$t6,0xff /* f0e0c6c: 00580019 */ multu $v0,$t8 /* f0e0c70: 0235c824 */ and $t9,$s1,$s5 /* f0e0c74: 00007812 */ mflo $t7 /* f0e0c78: 00000000 */ nop /* f0e0c7c: 00000000 */ nop /* f0e0c80: 01fe001b */ divu $zero,$t7,$s8 /* f0e0c84: 00001812 */ mflo $v1 /* f0e0c88: 306900ff */ andi $t1,$v1,0xff /* f0e0c8c: 17c00002 */ bnez $s8,.JF0f0e0c98 /* f0e0c90: 00000000 */ nop /* f0e0c94: 0007000d */ break 0x7 .JF0f0e0c98: /* f0e0c98: 03298821 */ addu $s1,$t9,$t1 .JF0f0e0c9c: /* f0e0c9c: 9602001c */ lhu $v0,0x1c($s0) /* f0e0ca0: 9603001e */ lhu $v1,0x1e($s0) /* f0e0ca4: 00420019 */ multu $v0,$v0 /* f0e0ca8: 00005812 */ mflo $t3 /* f0e0cac: 00000000 */ nop /* f0e0cb0: 00000000 */ nop /* f0e0cb4: 00630019 */ multu $v1,$v1 /* f0e0cb8: 00005012 */ mflo $t2 /* f0e0cbc: 016a4021 */ addu $t0,$t3,$t2 /* f0e0cc0: 44884000 */ mtc1 $t0,$f8 /* f0e0cc4: 0c012838 */ jal sqrtf /* f0e0cc8: 46804320 */ cvt.s.w $f12,$f8 /* f0e0ccc: 3c014304 */ lui $at,0x4304 /* f0e0cd0: 44813000 */ mtc1 $at,$f6 /* f0e0cd4: 44802000 */ mtc1 $zero,$f4 /* f0e0cd8: 3c014f80 */ lui $at,0x4f80 /* f0e0cdc: 46060280 */ add.s $f10,$f0,$f6 /* f0e0ce0: 46185083 */ div.s $f2,$f10,$f24 /* f0e0ce4: 4602d03c */ c.lt.s $f26,$f2 /* f0e0ce8: 00000000 */ nop /* f0e0cec: 45020003 */ bc1fl .JF0f0e0cfc /* f0e0cf0: 960c0006 */ lhu $t4,0x6($s0) /* f0e0cf4: 4600d086 */ mov.s $f2,$f26 /* f0e0cf8: 960c0006 */ lhu $t4,0x6($s0) .JF0f0e0cfc: /* f0e0cfc: 448c8000 */ mtc1 $t4,$f16 /* f0e0d00: 05810004 */ bgez $t4,.JF0f0e0d14 /* f0e0d04: 46808320 */ cvt.s.w $f12,$f16 /* f0e0d08: 44819000 */ mtc1 $at,$f18 /* f0e0d0c: 00000000 */ nop /* f0e0d10: 46126300 */ add.s $f12,$f12,$f18 .JF0f0e0d14: /* f0e0d14: 46026083 */ div.s $f2,$f12,$f2 /* f0e0d18: 8fa400e8 */ lw $a0,0xe8($sp) /* f0e0d1c: 8fa500e4 */ lw $a1,0xe4($sp) /* f0e0d20: 00003825 */ move $a3,$zero /* f0e0d24: 46186002 */ mul.s $f0,$f12,$f24 /* f0e0d28: 44060000 */ mfc1 $a2,$f0 /* f0e0d2c: 4602a03c */ c.lt.s $f20,$f2 /* f0e0d30: 00000000 */ nop /* f0e0d34: 45020003 */ bc1fl .JF0f0e0d44 /* f0e0d38: 4604103c */ c.lt.s $f2,$f4 /* f0e0d3c: 4600a086 */ mov.s $f2,$f20 /* f0e0d40: 4604103c */ c.lt.s $f2,$f4 .JF0f0e0d44: /* f0e0d44: 00000000 */ nop /* f0e0d48: 45000003 */ bc1f .JF0f0e0d58 /* f0e0d4c: 00000000 */ nop /* f0e0d50: 44801000 */ mtc1 $zero,$f2 /* f0e0d54: 00000000 */ nop .JF0f0e0d58: /* f0e0d58: 0fc54ce3 */ jal func0f153c20 /* f0e0d5c: e7a200c0 */ swc1 $f2,0xc0($sp) /* f0e0d60: 920d0001 */ lbu $t5,0x1($s0) /* f0e0d64: c7a200c0 */ lwc1 $f2,0xc0($sp) /* f0e0d68: 02402025 */ move $a0,$s2 /* f0e0d6c: 11a00027 */ beqz $t5,.JF0f0e0e0c /* f0e0d70: 8fa500e8 */ lw $a1,0xe8($sp) /* f0e0d74: 8fb800e4 */ lw $t8,0xe4($sp) /* f0e0d78: 9619001e */ lhu $t9,0x1e($s0) /* f0e0d7c: 8fae00e8 */ lw $t6,0xe8($sp) /* f0e0d80: 960f001c */ lhu $t7,0x1c($s0) /* f0e0d84: 03384821 */ addu $t1,$t9,$t8 /* f0e0d88: 252bffff */ addiu $t3,$t1,-1 /* f0e0d8c: 01ee3821 */ addu $a3,$t7,$t6 /* f0e0d90: 24e70002 */ addiu $a3,$a3,0x2 /* f0e0d94: afab0010 */ sw $t3,0x10($sp) /* f0e0d98: e7a2001c */ swc1 $f2,0x1c($sp) /* f0e0d9c: afb10018 */ sw $s1,0x18($sp) /* f0e0da0: e7b40014 */ swc1 $f20,0x14($sp) /* f0e0da4: 02402025 */ move $a0,$s2 /* f0e0da8: 2706fffd */ addiu $a2,$t8,-3 /* f0e0dac: 0fc37a42 */ jal hudmsgRenderBox /* f0e0db0: 25c5fffd */ addiu $a1,$t6,-3 /* f0e0db4: 0c002eeb */ jal viGetWidth /* f0e0db8: 00409025 */ move $s2,$v0 /* f0e0dbc: 00028c00 */ sll $s1,$v0,0x10 /* f0e0dc0: 00115403 */ sra $t2,$s1,0x10 /* f0e0dc4: 0c002eef */ jal viGetHeight /* f0e0dc8: 01408825 */ move $s1,$t2 /* f0e0dcc: 8e080008 */ lw $t0,0x8($s0) /* f0e0dd0: 02402025 */ move $a0,$s2 /* f0e0dd4: 02c02825 */ move $a1,$s6 /* f0e0dd8: afa80010 */ sw $t0,0x10($sp) /* f0e0ddc: 8e0c000c */ lw $t4,0xc($s0) /* f0e0de0: afa00028 */ sw $zero,0x28($sp) /* f0e0de4: afa00024 */ sw $zero,0x24($sp) /* f0e0de8: afa20020 */ sw $v0,0x20($sp) /* f0e0dec: afb1001c */ sw $s1,0x1c($sp) /* f0e0df0: afb30018 */ sw $s3,0x18($sp) /* f0e0df4: 02e03025 */ move $a2,$s7 /* f0e0df8: 26070020 */ addiu $a3,$s0,0x20 /* f0e0dfc: 0fc55886 */ jal textRenderProjected /* f0e0e00: afac0014 */ sw $t4,0x14($sp) /* f0e0e04: 1000001f */ b .JF0f0e0e84 /* f0e0e08: 00409025 */ move $s2,$v0 .JF0f0e0e0c: /* f0e0e0c: 8fa600e4 */ lw $a2,0xe4($sp) /* f0e0e10: 9619001e */ lhu $t9,0x1e($s0) /* f0e0e14: 960e001c */ lhu $t6,0x1c($s0) /* f0e0e18: afa00014 */ sw $zero,0x14($sp) /* f0e0e1c: 0326c021 */ addu $t8,$t9,$a2 /* f0e0e20: afb80010 */ sw $t8,0x10($sp) /* f0e0e24: 0fc54c68 */ jal func0f153a34 /* f0e0e28: 01c53821 */ addu $a3,$t6,$a1 /* f0e0e2c: 0c002eeb */ jal viGetWidth /* f0e0e30: 00409025 */ move $s2,$v0 /* f0e0e34: 00028c00 */ sll $s1,$v0,0x10 /* f0e0e38: 00114c03 */ sra $t1,$s1,0x10 /* f0e0e3c: 0c002eef */ jal viGetHeight /* f0e0e40: 01208825 */ move $s1,$t1 /* f0e0e44: 8e0b0008 */ lw $t3,0x8($s0) /* f0e0e48: 02402025 */ move $a0,$s2 /* f0e0e4c: 02c02825 */ move $a1,$s6 /* f0e0e50: afab0010 */ sw $t3,0x10($sp) /* f0e0e54: 8e0a000c */ lw $t2,0xc($s0) /* f0e0e58: afa0002c */ sw $zero,0x2c($sp) /* f0e0e5c: afa00028 */ sw $zero,0x28($sp) /* f0e0e60: afa20024 */ sw $v0,0x24($sp) /* f0e0e64: afb10020 */ sw $s1,0x20($sp) /* f0e0e68: afb4001c */ sw $s4,0x1c($sp) /* f0e0e6c: afb30018 */ sw $s3,0x18($sp) /* f0e0e70: 02e03025 */ move $a2,$s7 /* f0e0e74: 26070020 */ addiu $a3,$s0,0x20 /* f0e0e78: 0fc55d34 */ jal func0f1574d0jf /* f0e0e7c: afaa0014 */ sw $t2,0x14($sp) /* f0e0e80: 00409025 */ move $s2,$v0 .JF0f0e0e84: /* f0e0e84: 920801c9 */ lbu $t0,0x1c9($s0) /* f0e0e88: 24010006 */ li $at,0x6 /* f0e0e8c: 15010002 */ bne $t0,$at,.JF0f0e0e98 /* f0e0e90: 00000000 */ nop /* f0e0e94: afa000e0 */ sw $zero,0xe0($sp) .JF0f0e0e98: /* f0e0e98: 0fc54d6e */ jal func0f153e4c /* f0e0e9c: 00000000 */ nop /* f0e0ea0: 100000fe */ b .JF0f0e129c /* f0e0ea4: 8e0801b4 */ lw $t0,0x1b4($s0) /* f0e0ea8: 920c0001 */ lbu $t4,0x1($s0) /* f0e0eac: 8fa900e8 */ lw $t1,0xe8($sp) /* f0e0eb0: 8fab00e4 */ lw $t3,0xe4($sp) /* f0e0eb4: 11800037 */ beqz $t4,.JF0f0e0f94 /* f0e0eb8: 2525fffd */ addiu $a1,$t1,-3 /* f0e0ebc: 8e030010 */ lw $v1,0x10($s0) /* f0e0ec0: 92020004 */ lbu $v0,0x4($s0) /* f0e0ec4: 240100ff */ li $at,0xff /* f0e0ec8: 346e0040 */ ori $t6,$v1,0x40 /* f0e0ecc: 1041000e */ beq $v0,$at,.JF0f0e0f08 /* f0e0ed0: 01c01825 */ move $v1,$t6 /* f0e0ed4: 31cd00ff */ andi $t5,$t6,0xff /* f0e0ed8: 004d0019 */ multu $v0,$t5 /* f0e0edc: 00757824 */ and $t7,$v1,$s5 /* f0e0ee0: 0000c812 */ mflo $t9 /* f0e0ee4: 00000000 */ nop /* f0e0ee8: 00000000 */ nop /* f0e0eec: 033e001b */ divu $zero,$t9,$s8 /* f0e0ef0: 00002012 */ mflo $a0 /* f0e0ef4: 309800ff */ andi $t8,$a0,0xff /* f0e0ef8: 17c00002 */ bnez $s8,.JF0f0e0f04 /* f0e0efc: 00000000 */ nop /* f0e0f00: 0007000d */ break 0x7 .JF0f0e0f04: /* f0e0f04: 01f81821 */ addu $v1,$t7,$t8 .JF0f0e0f08: /* f0e0f08: 9608001e */ lhu $t0,0x1e($s0) /* f0e0f0c: 960a001c */ lhu $t2,0x1c($s0) /* f0e0f10: e7b4001c */ swc1 $f20,0x1c($sp) /* f0e0f14: 010b6021 */ addu $t4,$t0,$t3 /* f0e0f18: 258effff */ addiu $t6,$t4,-1 /* f0e0f1c: 01493821 */ addu $a3,$t2,$t1 /* f0e0f20: 24e70002 */ addiu $a3,$a3,0x2 /* f0e0f24: afae0010 */ sw $t6,0x10($sp) /* f0e0f28: afa30018 */ sw $v1,0x18($sp) /* f0e0f2c: e7b40014 */ swc1 $f20,0x14($sp) /* f0e0f30: 02402025 */ move $a0,$s2 /* f0e0f34: 0fc37a42 */ jal hudmsgRenderBox /* f0e0f38: 2566fffd */ addiu $a2,$t3,-3 /* f0e0f3c: 0c002eeb */ jal viGetWidth /* f0e0f40: 00409025 */ move $s2,$v0 /* f0e0f44: 00028c00 */ sll $s1,$v0,0x10 /* f0e0f48: 00116c03 */ sra $t5,$s1,0x10 /* f0e0f4c: 0c002eef */ jal viGetHeight /* f0e0f50: 01a08825 */ move $s1,$t5 /* f0e0f54: 8e190008 */ lw $t9,0x8($s0) /* f0e0f58: 02402025 */ move $a0,$s2 /* f0e0f5c: 02c02825 */ move $a1,$s6 /* f0e0f60: afb90010 */ sw $t9,0x10($sp) /* f0e0f64: 8e0f000c */ lw $t7,0xc($s0) /* f0e0f68: afa00028 */ sw $zero,0x28($sp) /* f0e0f6c: afa00024 */ sw $zero,0x24($sp) /* f0e0f70: afa20020 */ sw $v0,0x20($sp) /* f0e0f74: afb1001c */ sw $s1,0x1c($sp) /* f0e0f78: afb30018 */ sw $s3,0x18($sp) /* f0e0f7c: 02e03025 */ move $a2,$s7 /* f0e0f80: 26070020 */ addiu $a3,$s0,0x20 /* f0e0f84: 0fc55886 */ jal textRenderProjected /* f0e0f88: afaf0014 */ sw $t7,0x14($sp) /* f0e0f8c: 10000021 */ b .JF0f0e1014 /* f0e0f90: 00409025 */ move $s2,$v0 .JF0f0e0f94: /* f0e0f94: 8fa600e4 */ lw $a2,0xe4($sp) /* f0e0f98: 9608001e */ lhu $t0,0x1e($s0) /* f0e0f9c: 8fa500e8 */ lw $a1,0xe8($sp) /* f0e0fa0: 9609001c */ lhu $t1,0x1c($s0) /* f0e0fa4: 01065821 */ addu $t3,$t0,$a2 /* f0e0fa8: afab0010 */ sw $t3,0x10($sp) /* f0e0fac: afa00014 */ sw $zero,0x14($sp) /* f0e0fb0: 02402025 */ move $a0,$s2 /* f0e0fb4: 0fc54c68 */ jal func0f153a34 /* f0e0fb8: 01253821 */ addu $a3,$t1,$a1 /* f0e0fbc: 0c002eeb */ jal viGetWidth /* f0e0fc0: 00409025 */ move $s2,$v0 /* f0e0fc4: 00028c00 */ sll $s1,$v0,0x10 /* f0e0fc8: 00116403 */ sra $t4,$s1,0x10 /* f0e0fcc: 0c002eef */ jal viGetHeight /* f0e0fd0: 01808825 */ move $s1,$t4 /* f0e0fd4: 8e0e0008 */ lw $t6,0x8($s0) /* f0e0fd8: 02402025 */ move $a0,$s2 /* f0e0fdc: 02c02825 */ move $a1,$s6 /* f0e0fe0: afae0010 */ sw $t6,0x10($sp) /* f0e0fe4: 8e0d000c */ lw $t5,0xc($s0) /* f0e0fe8: afa0002c */ sw $zero,0x2c($sp) /* f0e0fec: afa00028 */ sw $zero,0x28($sp) /* f0e0ff0: afa20024 */ sw $v0,0x24($sp) /* f0e0ff4: afb10020 */ sw $s1,0x20($sp) /* f0e0ff8: afb4001c */ sw $s4,0x1c($sp) /* f0e0ffc: afb30018 */ sw $s3,0x18($sp) /* f0e1000: 02e03025 */ move $a2,$s7 /* f0e1004: 26070020 */ addiu $a3,$s0,0x20 /* f0e1008: 0fc55d34 */ jal func0f1574d0jf /* f0e100c: afad0014 */ sw $t5,0x14($sp) /* f0e1010: 00409025 */ move $s2,$v0 .JF0f0e1014: /* f0e1014: 921901c9 */ lbu $t9,0x1c9($s0) /* f0e1018: 24010006 */ li $at,0x6 /* f0e101c: 5721009f */ bnel $t9,$at,.JF0f0e129c /* f0e1020: 8e0801b4 */ lw $t0,0x1b4($s0) /* f0e1024: 1000009c */ b .JF0f0e1298 /* f0e1028: afa000e0 */ sw $zero,0xe0($sp) /* f0e102c: 9602001c */ lhu $v0,0x1c($s0) /* f0e1030: 9603001e */ lhu $v1,0x1e($s0) /* f0e1034: 00420019 */ multu $v0,$v0 /* f0e1038: 00007812 */ mflo $t7 /* f0e103c: 00000000 */ nop /* f0e1040: 00000000 */ nop /* f0e1044: 00630019 */ multu $v1,$v1 /* f0e1048: 00004812 */ mflo $t1 /* f0e104c: 01e9c021 */ addu $t8,$t7,$t1 /* f0e1050: 44984000 */ mtc1 $t8,$f8 /* f0e1054: 0c012838 */ jal sqrtf /* f0e1058: 46804320 */ cvt.s.w $f12,$f8 /* f0e105c: 3c0142b8 */ lui $at,0x42b8 /* f0e1060: 44813000 */ mtc1 $at,$f6 /* f0e1064: 8e110010 */ lw $s1,0x10($s0) /* f0e1068: 92020004 */ lbu $v0,0x4($s0) /* f0e106c: 46060280 */ add.s $f10,$f0,$f6 /* f0e1070: 240100ff */ li $at,0xff /* f0e1074: 36280040 */ ori $t0,$s1,0x40 /* f0e1078: 01008825 */ move $s1,$t0 /* f0e107c: 1041000e */ beq $v0,$at,.JF0f0e10b8 /* f0e1080: 46185083 */ div.s $f2,$f10,$f24 /* f0e1084: 310a00ff */ andi $t2,$t0,0xff /* f0e1088: 004a0019 */ multu $v0,$t2 /* f0e108c: 02356024 */ and $t4,$s1,$s5 /* f0e1090: 00005812 */ mflo $t3 /* f0e1094: 00000000 */ nop /* f0e1098: 00000000 */ nop /* f0e109c: 017e001b */ divu $zero,$t3,$s8 /* f0e10a0: 00001812 */ mflo $v1 /* f0e10a4: 306e00ff */ andi $t6,$v1,0xff /* f0e10a8: 17c00002 */ bnez $s8,.JF0f0e10b4 /* f0e10ac: 00000000 */ nop /* f0e10b0: 0007000d */ break 0x7 .JF0f0e10b4: /* f0e10b4: 018e8821 */ addu $s1,$t4,$t6 .JF0f0e10b8: /* f0e10b8: 960d0006 */ lhu $t5,0x6($s0) /* f0e10bc: 3c014f80 */ lui $at,0x4f80 /* f0e10c0: 448d8000 */ mtc1 $t5,$f16 /* f0e10c4: 05a10004 */ bgez $t5,.JF0f0e10d8 /* f0e10c8: 468084a0 */ cvt.s.w $f18,$f16 /* f0e10cc: 44812000 */ mtc1 $at,$f4 /* f0e10d0: 00000000 */ nop /* f0e10d4: 46049480 */ add.s $f18,$f18,$f4 .JF0f0e10d8: /* f0e10d8: 46121201 */ sub.s $f8,$f2,$f18 /* f0e10dc: 9619001c */ lhu $t9,0x1c($s0) /* f0e10e0: 8faf00e8 */ lw $t7,0xe8($sp) /* f0e10e4: 9609001e */ lhu $t1,0x1e($s0) /* f0e10e8: 46184002 */ mul.s $f0,$f8,$f24 /* f0e10ec: 8fb800e4 */ lw $t8,0xe4($sp) /* f0e10f0: e7a200a8 */ swc1 $f2,0xa8($sp) /* f0e10f4: 24070002 */ li $a3,0x2 /* f0e10f8: 032f2021 */ addu $a0,$t9,$t7 /* f0e10fc: 01382821 */ addu $a1,$t1,$t8 /* f0e1100: 44060000 */ mfc1 $a2,$f0 /* f0e1104: 0fc54ce3 */ jal func0f153c20 /* f0e1108: 00000000 */ nop /* f0e110c: c7a200a8 */ lwc1 $f2,0xa8($sp) /* f0e1110: 3c014f80 */ lui $at,0x4f80 /* f0e1114: 8fab00e8 */ lw $t3,0xe8($sp) /* f0e1118: 4602d03c */ c.lt.s $f26,$f2 /* f0e111c: 8fac00e4 */ lw $t4,0xe4($sp) /* f0e1120: 02402025 */ move $a0,$s2 /* f0e1124: 8fa500e8 */ lw $a1,0xe8($sp) /* f0e1128: 45000002 */ bc1f .JF0f0e1134 /* f0e112c: 8fa600e4 */ lw $a2,0xe4($sp) /* f0e1130: 4600d086 */ mov.s $f2,$f26 .JF0f0e1134: /* f0e1134: 96080006 */ lhu $t0,0x6($s0) /* f0e1138: 44883000 */ mtc1 $t0,$f6 /* f0e113c: 05010004 */ bgez $t0,.JF0f0e1150 /* f0e1140: 468032a0 */ cvt.s.w $f10,$f6 /* f0e1144: 44818000 */ mtc1 $at,$f16 /* f0e1148: 00000000 */ nop /* f0e114c: 46105280 */ add.s $f10,$f10,$f16 .JF0f0e1150: /* f0e1150: 46025083 */ div.s $f2,$f10,$f2 /* f0e1154: 4602a03c */ c.lt.s $f20,$f2 /* f0e1158: 00000000 */ nop /* f0e115c: 45020003 */ bc1fl .JF0f0e116c /* f0e1160: 920a0001 */ lbu $t2,0x1($s0) /* f0e1164: 4600a086 */ mov.s $f2,$f20 /* f0e1168: 920a0001 */ lbu $t2,0x1($s0) .JF0f0e116c: /* f0e116c: 51400027 */ beqzl $t2,.JF0f0e120c /* f0e1170: 960d001e */ lhu $t5,0x1e($s0) /* f0e1174: 960d001e */ lhu $t5,0x1e($s0) /* f0e1178: 960e001c */ lhu $t6,0x1c($s0) /* f0e117c: 4602a101 */ sub.s $f4,$f20,$f2 /* f0e1180: 01acc821 */ addu $t9,$t5,$t4 /* f0e1184: 272fffff */ addiu $t7,$t9,-1 /* f0e1188: 01cb3821 */ addu $a3,$t6,$t3 /* f0e118c: 24e70002 */ addiu $a3,$a3,0x2 /* f0e1190: afaf0010 */ sw $t7,0x10($sp) /* f0e1194: e7a4001c */ swc1 $f4,0x1c($sp) /* f0e1198: afb10018 */ sw $s1,0x18($sp) /* f0e119c: e7b40014 */ swc1 $f20,0x14($sp) /* f0e11a0: 02402025 */ move $a0,$s2 /* f0e11a4: 2565fffd */ addiu $a1,$t3,-3 /* f0e11a8: 0fc37a42 */ jal hudmsgRenderBox /* f0e11ac: 2586fffd */ addiu $a2,$t4,-3 /* f0e11b0: 0c002eeb */ jal viGetWidth /* f0e11b4: 00409025 */ move $s2,$v0 /* f0e11b8: 00028c00 */ sll $s1,$v0,0x10 /* f0e11bc: 00114c03 */ sra $t1,$s1,0x10 /* f0e11c0: 0c002eef */ jal viGetHeight /* f0e11c4: 01208825 */ move $s1,$t1 /* f0e11c8: 8e180008 */ lw $t8,0x8($s0) /* f0e11cc: 02402025 */ move $a0,$s2 /* f0e11d0: 02c02825 */ move $a1,$s6 /* f0e11d4: afb80010 */ sw $t8,0x10($sp) /* f0e11d8: 8e08000c */ lw $t0,0xc($s0) /* f0e11dc: afa00028 */ sw $zero,0x28($sp) /* f0e11e0: afa00024 */ sw $zero,0x24($sp) /* f0e11e4: afa20020 */ sw $v0,0x20($sp) /* f0e11e8: afb1001c */ sw $s1,0x1c($sp) /* f0e11ec: afb30018 */ sw $s3,0x18($sp) /* f0e11f0: 02e03025 */ move $a2,$s7 /* f0e11f4: 26070020 */ addiu $a3,$s0,0x20 /* f0e11f8: 0fc55886 */ jal textRenderProjected /* f0e11fc: afa80014 */ sw $t0,0x14($sp) /* f0e1200: 1000001e */ b .JF0f0e127c /* f0e1204: 00409025 */ move $s2,$v0 /* f0e1208: 960d001e */ lhu $t5,0x1e($s0) .JF0f0e120c: /* f0e120c: 960b001c */ lhu $t3,0x1c($s0) /* f0e1210: afa00014 */ sw $zero,0x14($sp) /* f0e1214: 01a66021 */ addu $t4,$t5,$a2 /* f0e1218: afac0010 */ sw $t4,0x10($sp) /* f0e121c: 0fc54c68 */ jal func0f153a34 /* f0e1220: 01653821 */ addu $a3,$t3,$a1 /* f0e1224: 0c002eeb */ jal viGetWidth /* f0e1228: 00409025 */ move $s2,$v0 /* f0e122c: 00028c00 */ sll $s1,$v0,0x10 /* f0e1230: 0011cc03 */ sra $t9,$s1,0x10 /* f0e1234: 0c002eef */ jal viGetHeight /* f0e1238: 03208825 */ move $s1,$t9 /* f0e123c: 8e0f0008 */ lw $t7,0x8($s0) /* f0e1240: 02402025 */ move $a0,$s2 /* f0e1244: 02c02825 */ move $a1,$s6 /* f0e1248: afaf0010 */ sw $t7,0x10($sp) /* f0e124c: 8e09000c */ lw $t1,0xc($s0) /* f0e1250: afa0002c */ sw $zero,0x2c($sp) /* f0e1254: afa00028 */ sw $zero,0x28($sp) /* f0e1258: afa20024 */ sw $v0,0x24($sp) /* f0e125c: afb10020 */ sw $s1,0x20($sp) /* f0e1260: afb4001c */ sw $s4,0x1c($sp) /* f0e1264: afb30018 */ sw $s3,0x18($sp) /* f0e1268: 02e03025 */ move $a2,$s7 /* f0e126c: 26070020 */ addiu $a3,$s0,0x20 /* f0e1270: 0fc55d34 */ jal func0f1574d0jf /* f0e1274: afa90014 */ sw $t1,0x14($sp) /* f0e1278: 00409025 */ move $s2,$v0 .JF0f0e127c: /* f0e127c: 921801c9 */ lbu $t8,0x1c9($s0) /* f0e1280: 24010006 */ li $at,0x6 /* f0e1284: 17010002 */ bne $t8,$at,.JF0f0e1290 /* f0e1288: 00000000 */ nop /* f0e128c: afa000e0 */ sw $zero,0xe0($sp) .JF0f0e1290: /* f0e1290: 0fc54d6e */ jal func0f153e4c /* f0e1294: 00000000 */ nop .JF0f0e1298: /* f0e1298: 8e0801b4 */ lw $t0,0x1b4($s0) .JF0f0e129c: /* f0e129c: 2401000b */ li $at,0xb /* f0e12a0: 15010039 */ bne $t0,$at,.JF0f0e1388 /* f0e12a4: 00000000 */ nop /* f0e12a8: afb2009c */ sw $s2,0x9c($sp) /* f0e12ac: 0c002f29 */ jal viGetViewLeft /* f0e12b0: 26520008 */ addiu $s2,$s2,0x8 /* f0e12b4: 00028400 */ sll $s0,$v0,0x10 /* f0e12b8: 00105c03 */ sra $t3,$s0,0x10 /* f0e12bc: 01608025 */ move $s0,$t3 /* f0e12c0: 0c002f2d */ jal viGetViewTop /* f0e12c4: 8fb3009c */ lw $s3,0x9c($sp) /* f0e12c8: 44829000 */ mtc1 $v0,$f18 /* f0e12cc: 44905000 */ mtc1 $s0,$f10 /* f0e12d0: 3c01ed00 */ lui $at,0xed00 /* f0e12d4: 46809220 */ cvt.s.w $f8,$f18 /* f0e12d8: 46805120 */ cvt.s.w $f4,$f10 /* f0e12dc: 46164182 */ mul.s $f6,$f8,$f22 /* f0e12e0: 00000000 */ nop /* f0e12e4: 46162482 */ mul.s $f18,$f4,$f22 /* f0e12e8: 4600340d */ trunc.w.s $f16,$f6 /* f0e12ec: 4600920d */ trunc.w.s $f8,$f18 /* f0e12f0: 440d8000 */ mfc1 $t5,$f16 /* f0e12f4: 440f4000 */ mfc1 $t7,$f8 /* f0e12f8: 31ae0fff */ andi $t6,$t5,0xfff /* f0e12fc: 01c16025 */ or $t4,$t6,$at /* f0e1300: 31e90fff */ andi $t1,$t7,0xfff /* f0e1304: 0009c300 */ sll $t8,$t1,0xc /* f0e1308: 01984025 */ or $t0,$t4,$t8 /* f0e130c: 0c002f0b */ jal viGetViewWidth /* f0e1310: ae680000 */ sw $t0,0x0($s3) /* f0e1314: 0c002f29 */ jal viGetViewLeft /* f0e1318: a7a20092 */ sh $v0,0x92($sp) /* f0e131c: 00028c00 */ sll $s1,$v0,0x10 /* f0e1320: 00115c03 */ sra $t3,$s1,0x10 /* f0e1324: 0c002f2d */ jal viGetViewTop /* f0e1328: 01608825 */ move $s1,$t3 /* f0e132c: 00028400 */ sll $s0,$v0,0x10 /* f0e1330: 00105403 */ sra $t2,$s0,0x10 /* f0e1334: 0c002f0f */ jal viGetViewHeight /* f0e1338: 01408025 */ move $s0,$t2 /* f0e133c: 87a90092 */ lh $t1,0x92($sp) /* f0e1340: 00506821 */ addu $t5,$v0,$s0 /* f0e1344: 448d3000 */ mtc1 $t5,$f6 /* f0e1348: 02296021 */ addu $t4,$s1,$t1 /* f0e134c: 448c9000 */ mtc1 $t4,$f18 /* f0e1350: 46803420 */ cvt.s.w $f16,$f6 /* f0e1354: 46809220 */ cvt.s.w $f8,$f18 /* f0e1358: 46168282 */ mul.s $f10,$f16,$f22 /* f0e135c: 00000000 */ nop /* f0e1360: 46164182 */ mul.s $f6,$f8,$f22 /* f0e1364: 4600510d */ trunc.w.s $f4,$f10 /* f0e1368: 4600340d */ trunc.w.s $f16,$f6 /* f0e136c: 44192000 */ mfc1 $t9,$f4 /* f0e1370: 44088000 */ mfc1 $t0,$f16 /* f0e1374: 332f0fff */ andi $t7,$t9,0xfff /* f0e1378: 310b0fff */ andi $t3,$t0,0xfff /* f0e137c: 000b5300 */ sll $t2,$t3,0xc /* f0e1380: 01ea6825 */ or $t5,$t7,$t2 /* f0e1384: ae6d0004 */ sw $t5,0x4($s3) .JF0f0e1388: /* f0e1388: 3c048007 */ lui $a0,0x8007 /* f0e138c: 8c841538 */ lw $a0,0x1538($a0) /* f0e1390: 00041100 */ sll $v0,$a0,0x4 /* f0e1394: 00441023 */ subu $v0,$v0,$a0 /* f0e1398: 000210c0 */ sll $v0,$v0,0x3 /* f0e139c: 00441023 */ subu $v0,$v0,$a0 /* f0e13a0: 00021080 */ sll $v0,$v0,0x2 .JF0f0e13a4: /* f0e13a4: 8fae0088 */ lw $t6,0x88($sp) /* f0e13a8: 25d901dc */ addiu $t9,$t6,0x1dc /* f0e13ac: 0322082a */ slt $at,$t9,$v0 /* f0e13b0: 1420fd70 */ bnez $at,.JF0f0e0974 /* f0e13b4: afb90088 */ sw $t9,0x88($sp) .JF0f0e13b8: /* f0e13b8: 8fa900e0 */ lw $t1,0xe0($sp) /* f0e13bc: 3c0c800a */ lui $t4,0x800a /* f0e13c0: 11200028 */ beqz $t1,.JF0f0e1464 /* f0e13c4: 00000000 */ nop /* f0e13c8: 8d8ca8b8 */ lw $t4,-0x5748($t4) /* f0e13cc: 0fc547c2 */ jal optionsGetShowMissionTime /* f0e13d0: 8d840070 */ lw $a0,0x70($t4) /* f0e13d4: 10400019 */ beqz $v0,.JF0f0e143c /* f0e13d8: 3c188007 */ lui $t8,0x8007 /* f0e13dc: 8f186350 */ lw $t8,0x6350($t8) /* f0e13e0: 24030002 */ li $v1,0x2 /* f0e13e4: 3c08800a */ lui $t0,0x800a /* f0e13e8: 14780014 */ bne $v1,$t8,.JF0f0e143c /* f0e13ec: 00000000 */ nop /* f0e13f0: 8d08a948 */ lw $t0,-0x56b8($t0) /* f0e13f4: 3c0b800a */ lui $t3,0x800a /* f0e13f8: 15000010 */ bnez $t0,.JF0f0e143c /* f0e13fc: 00000000 */ nop /* f0e1400: 8d6baae4 */ lw $t3,-0x551c($t3) /* f0e1404: 24010026 */ li $at,0x26 /* f0e1408: 3c0f800a */ lui $t7,0x800a /* f0e140c: 1161000b */ beq $t3,$at,.JF0f0e143c /* f0e1410: 00000000 */ nop /* f0e1414: 8defa8b4 */ lw $t7,-0x574c($t7) /* f0e1418: 24010001 */ li $at,0x1 /* f0e141c: 8de20000 */ lw $v0,0x0($t7) /* f0e1420: 10620006 */ beq $v1,$v0,.JF0f0e143c /* f0e1424: 00000000 */ nop /* f0e1428: 10410004 */ beq $v0,$at,.JF0f0e143c /* f0e142c: 02402025 */ move $a0,$s2 /* f0e1430: 0fc377ed */ jal hudmsgRenderMissionTimer /* f0e1434: 8fa500e0 */ lw $a1,0xe0($sp) /* f0e1438: 00409025 */ move $s2,$v0 .JF0f0e143c: /* f0e143c: 0fc3779f */ jal hudmsgIsZoomRangeVisible /* f0e1440: 00000000 */ nop /* f0e1444: 10400004 */ beqz $v0,.JF0f0e1458 /* f0e1448: 02402025 */ move $a0,$s2 /* f0e144c: 0fc378db */ jal hudmsgRenderZoomRange /* f0e1450: 8fa500e0 */ lw $a1,0xe0($sp) /* f0e1454: 00409025 */ move $s2,$v0 .JF0f0e1458: /* f0e1458: 0fc2458f */ jal countdownTimerRender /* f0e145c: 02402025 */ move $a0,$s2 /* f0e1460: 00409025 */ move $s2,$v0 .JF0f0e1464: /* f0e1464: 0fc54bb7 */ jal func0f153780 /* f0e1468: 02402025 */ move $a0,$s2 /* f0e146c: 8fbf007c */ lw $ra,0x7c($sp) /* f0e1470: 240a0001 */ li $t2,0x1 /* f0e1474: 3c018008 */ lui $at,0x8008 /* f0e1478: d7b40038 */ ldc1 $f20,0x38($sp) /* f0e147c: d7b60040 */ ldc1 $f22,0x40($sp) /* f0e1480: d7b80048 */ ldc1 $f24,0x48($sp) /* f0e1484: d7ba0050 */ ldc1 $f26,0x50($sp) /* f0e1488: 8fb00058 */ lw $s0,0x58($sp) /* f0e148c: 8fb1005c */ lw $s1,0x5c($sp) /* f0e1490: 8fb20060 */ lw $s2,0x60($sp) /* f0e1494: 8fb30064 */ lw $s3,0x64($sp) /* f0e1498: 8fb40068 */ lw $s4,0x68($sp) /* f0e149c: 8fb5006c */ lw $s5,0x6c($sp) /* f0e14a0: 8fb60070 */ lw $s6,0x70($sp) /* f0e14a4: 8fb70074 */ lw $s7,0x74($sp) /* f0e14a8: 8fbe0078 */ lw $s8,0x78($sp) /* f0e14ac: ac2a00f4 */ sw $t2,0xf4($at) /* f0e14b0: 03e00008 */ jr $ra /* f0e14b4: 27bd0100 */ addiu $sp,$sp,0x100 ); #elif VERSION == VERSION_PAL_FINAL GLOBAL_ASM( glabel hudmsgsRender .late_rodata glabel var7f1af1c4 .word 0x41066667 glabel var7f1af1c8 .word 0x40490fdb glabel var7f1af1cc .word 0x7f0e0b40 glabel var7f1af1d0 .word 0x7f0e0b40 glabel var7f1af1d4 .word 0x7f0e0b40 glabel var7f1af1d8 .word 0x7f0e04f8 glabel var7f1af1dc .word 0x7f0e0750 glabel var7f1af1e0 .word 0x7f0e08d4 .text /* f0e012c: 27bdff00 */ addiu $sp,$sp,-256 /* f0e0130: afbf007c */ sw $ra,0x7c($sp) /* f0e0134: 240e00ff */ li $t6,0xff /* f0e0138: 240f0001 */ li $t7,0x1 /* f0e013c: 24180001 */ li $t8,0x1 /* f0e0140: 3c018008 */ lui $at,0x8008 /* f0e0144: afbe0078 */ sw $s8,0x78($sp) /* f0e0148: afb70074 */ sw $s7,0x74($sp) /* f0e014c: afb60070 */ sw $s6,0x70($sp) /* f0e0150: afb5006c */ sw $s5,0x6c($sp) /* f0e0154: afb40068 */ sw $s4,0x68($sp) /* f0e0158: afb30064 */ sw $s3,0x64($sp) /* f0e015c: afb20060 */ sw $s2,0x60($sp) /* f0e0160: afb1005c */ sw $s1,0x5c($sp) /* f0e0164: afb00058 */ sw $s0,0x58($sp) /* f0e0168: f7ba0050 */ sdc1 $f26,0x50($sp) /* f0e016c: f7b80048 */ sdc1 $f24,0x48($sp) /* f0e0170: f7b60040 */ sdc1 $f22,0x40($sp) /* f0e0174: f7b40038 */ sdc1 $f20,0x38($sp) /* f0e0178: afae00e0 */ sw $t6,0xe0($sp) /* f0e017c: afaf00dc */ sw $t7,0xdc($sp) /* f0e0180: 0fc550cf */ jal func0f153628 /* f0e0184: ac380020 */ sw $t8,0x20($at) /* f0e0188: 3c19800a */ lui $t9,0x800a /* f0e018c: 8f39a7a8 */ lw $t9,-0x5858($t9) /* f0e0190: 00409025 */ move $s2,$v0 /* f0e0194: 3c048007 */ lui $a0,0x8007 /* f0e0198: 07210005 */ bgez $t9,.PF0f0e01b0 /* f0e019c: 3c0141f0 */ lui $at,0x41f0 /* f0e01a0: 3c08800a */ lui $t0,0x800a /* f0e01a4: 8d08a7ac */ lw $t0,-0x5854($t0) /* f0e01a8: 0500000e */ bltz $t0,.PF0f0e01e4 /* f0e01ac: 00000000 */ nop .PF0f0e01b0: /* f0e01b0: 3c098007 */ lui $t1,0x8007 /* f0e01b4: 8d290a44 */ lw $t1,0xa44($t1) /* f0e01b8: 1120000a */ beqz $t1,.PF0f0e01e4 /* f0e01bc: 00000000 */ nop /* f0e01c0: 3c0a8006 */ lui $t2,0x8006 /* f0e01c4: 8d4ad670 */ lw $t2,-0x2990($t2) /* f0e01c8: 15400006 */ bnez $t2,.PF0f0e01e4 /* f0e01cc: 00000000 */ nop /* f0e01d0: 3c0b800a */ lui $t3,0x800a /* f0e01d4: 8d6ba79c */ lw $t3,-0x5864($t3) /* f0e01d8: 15600002 */ bnez $t3,.PF0f0e01e4 /* f0e01dc: 00000000 */ nop /* f0e01e0: afa000dc */ sw $zero,0xdc($sp) .PF0f0e01e4: /* f0e01e4: 8c8412c8 */ lw $a0,0x12c8($a0) /* f0e01e8: 27b700e4 */ addiu $s7,$sp,0xe4 /* f0e01ec: 27b600e8 */ addiu $s6,$sp,0xe8 /* f0e01f0: 1880029b */ blez $a0,.PF0f0e0c60 /* f0e01f4: 2415ff00 */ li $s5,-256 /* f0e01f8: 4481d000 */ mtc1 $at,$f26 /* f0e01fc: 3c017f1b */ lui $at,0x7f1b /* f0e0200: c438f1c4 */ lwc1 $f24,-0xe3c($at) /* f0e0204: 3c014080 */ lui $at,0x4080 /* f0e0208: 4481b000 */ mtc1 $at,$f22 /* f0e020c: 3c013f80 */ lui $at,0x3f80 /* f0e0210: 4481a000 */ mtc1 $at,$f20 /* f0e0214: afa00088 */ sw $zero,0x88($sp) /* f0e0218: 241e00ff */ li $s8,0xff .PF0f0e021c: /* f0e021c: 3c0d8007 */ lui $t5,0x8007 /* f0e0220: 8dad12cc */ lw $t5,0x12cc($t5) /* f0e0224: 8fac0088 */ lw $t4,0x88($sp) /* f0e0228: 00041100 */ sll $v0,$a0,0x4 /* f0e022c: 00441023 */ subu $v0,$v0,$a0 /* f0e0230: 018d8021 */ addu $s0,$t4,$t5 /* f0e0234: 92030004 */ lbu $v1,0x4($s0) /* f0e0238: 000210c0 */ sll $v0,$v0,0x3 /* f0e023c: 00441023 */ subu $v0,$v0,$a0 /* f0e0240: 54600004 */ bnezl $v1,.PF0f0e0254 /* f0e0244: 92020000 */ lbu $v0,0x0($s0) /* f0e0248: 10000280 */ b .PF0f0e0c4c /* f0e024c: 00021080 */ sll $v0,$v0,0x2 /* f0e0250: 92020000 */ lbu $v0,0x0($s0) .PF0f0e0254: /* f0e0254: 24010001 */ li $at,0x1 /* f0e0258: 5040000a */ beqzl $v0,.PF0f0e0284 /* f0e025c: 00041100 */ sll $v0,$a0,0x4 /* f0e0260: 10410007 */ beq $v0,$at,.PF0f0e0280 /* f0e0264: 8fae00dc */ lw $t6,0xdc($sp) /* f0e0268: 51c0000c */ beqzl $t6,.PF0f0e029c /* f0e026c: 92190003 */ lbu $t9,0x3($s0) /* f0e0270: 3c0f800a */ lui $t7,0x800a /* f0e0274: 8defa79c */ lw $t7,-0x5864($t7) /* f0e0278: 8e1801c0 */ lw $t8,0x1c0($s0) /* f0e027c: 11f80006 */ beq $t7,$t8,.PF0f0e0298 .PF0f0e0280: /* f0e0280: 00041100 */ sll $v0,$a0,0x4 .PF0f0e0284: /* f0e0284: 00441023 */ subu $v0,$v0,$a0 /* f0e0288: 000210c0 */ sll $v0,$v0,0x3 /* f0e028c: 00441023 */ subu $v0,$v0,$a0 /* f0e0290: 1000026e */ b .PF0f0e0c4c /* f0e0294: 00021080 */ sll $v0,$v0,0x2 .PF0f0e0298: /* f0e0298: 92190003 */ lbu $t9,0x3($s0) .PF0f0e029c: /* f0e029c: 53200022 */ beqzl $t9,.PF0f0e0328 /* f0e02a0: 8e130010 */ lw $s3,0x10($s0) /* f0e02a4: 96080006 */ lhu $t0,0x6($s0) /* f0e02a8: 3c014f80 */ lui $at,0x4f80 /* f0e02ac: 44882000 */ mtc1 $t0,$f4 /* f0e02b0: 05010004 */ bgez $t0,.PF0f0e02c4 /* f0e02b4: 468021a0 */ cvt.s.w $f6,$f4 /* f0e02b8: 44814000 */ mtc1 $at,$f8 /* f0e02bc: 00000000 */ nop /* f0e02c0: 46083180 */ add.s $f6,$f6,$f8 .PF0f0e02c4: /* f0e02c4: 3c017f1b */ lui $at,0x7f1b /* f0e02c8: c42af1c8 */ lwc1 $f10,-0xe38($at) /* f0e02cc: 3c014270 */ lui $at,0x4270 /* f0e02d0: 44819000 */ mtc1 $at,$f18 /* f0e02d4: 460a3402 */ mul.s $f16,$f6,$f10 /* f0e02d8: 0c00685b */ jal sinf /* f0e02dc: 46128303 */ div.s $f12,$f16,$f18 /* f0e02e0: 44802000 */ mtc1 $zero,$f4 /* f0e02e4: 3c014340 */ lui $at,0x4340 /* f0e02e8: 44814000 */ mtc1 $at,$f8 /* f0e02ec: 4604003c */ c.lt.s $f0,$f4 /* f0e02f0: 46000086 */ mov.s $f2,$f0 /* f0e02f4: 45000002 */ bc1f .PF0f0e0300 /* f0e02f8: 00000000 */ nop /* f0e02fc: 46000087 */ neg.s $f2,$f0 .PF0f0e0300: /* f0e0300: 46024182 */ mul.s $f6,$f8,$f2 /* f0e0304: 8e090010 */ lw $t1,0x10($s0) /* f0e0308: 8e140014 */ lw $s4,0x14($s0) /* f0e030c: 92030004 */ lbu $v1,0x4($s0) /* f0e0310: 01355024 */ and $t2,$t1,$s5 /* f0e0314: 4600328d */ trunc.w.s $f10,$f6 /* f0e0318: 440c5000 */ mfc1 $t4,$f10 /* f0e031c: 10000005 */ b .PF0f0e0334 /* f0e0320: 014c9821 */ addu $s3,$t2,$t4 /* f0e0324: 8e130010 */ lw $s3,0x10($s0) .PF0f0e0328: /* f0e0328: 8e140014 */ lw $s4,0x14($s0) /* f0e032c: 366d00a0 */ ori $t5,$s3,0xa0 /* f0e0330: 01a09825 */ move $s3,$t5 .PF0f0e0334: /* f0e0334: 240100ff */ li $at,0xff /* f0e0338: 1061001c */ beq $v1,$at,.PF0f0e03ac /* f0e033c: 00601025 */ move $v0,$v1 /* f0e0340: 326e00ff */ andi $t6,$s3,0xff /* f0e0344: 004e0019 */ multu $v0,$t6 /* f0e0348: 00401825 */ move $v1,$v0 /* f0e034c: 329800ff */ andi $t8,$s4,0xff /* f0e0350: 02754024 */ and $t0,$s3,$s5 /* f0e0354: 02955824 */ and $t3,$s4,$s5 /* f0e0358: 00007812 */ mflo $t7 /* f0e035c: 00000000 */ nop /* f0e0360: 00000000 */ nop /* f0e0364: 01fe001b */ divu $zero,$t7,$s8 /* f0e0368: 00002012 */ mflo $a0 /* f0e036c: 308900ff */ andi $t1,$a0,0xff /* f0e0370: 17c00002 */ bnez $s8,.PF0f0e037c /* f0e0374: 00000000 */ nop /* f0e0378: 0007000d */ break 0x7 .PF0f0e037c: /* f0e037c: 00780019 */ multu $v1,$t8 /* f0e0380: 01099821 */ addu $s3,$t0,$t1 /* f0e0384: 0000c812 */ mflo $t9 /* f0e0388: 00000000 */ nop /* f0e038c: 00000000 */ nop /* f0e0390: 033e001b */ divu $zero,$t9,$s8 /* f0e0394: 00002812 */ mflo $a1 /* f0e0398: 30aa00ff */ andi $t2,$a1,0xff /* f0e039c: 17c00002 */ bnez $s8,.PF0f0e03a8 /* f0e03a0: 00000000 */ nop /* f0e03a4: 0007000d */ break 0x7 .PF0f0e03a8: /* f0e03a8: 016aa021 */ addu $s4,$t3,$t2 .PF0f0e03ac: /* f0e03ac: 960c0018 */ lhu $t4,0x18($s0) /* f0e03b0: 24010006 */ li $at,0x6 /* f0e03b4: afac00e8 */ sw $t4,0xe8($sp) /* f0e03b8: 960d001a */ lhu $t5,0x1a($s0) /* f0e03bc: afad00e4 */ sw $t5,0xe4($sp) /* f0e03c0: 8e0e01b4 */ lw $t6,0x1b4($s0) /* f0e03c4: 55c10011 */ bnel $t6,$at,.PF0f0e040c /* f0e03c8: 8e0901b4 */ lw $t1,0x1b4($s0) /* f0e03cc: 0fc3074e */ jal playerIsHealthVisible /* f0e03d0: 00000000 */ nop /* f0e03d4: 5040000d */ beqzl $v0,.PF0f0e040c /* f0e03d8: 8e0901b4 */ lw $t1,0x1b4($s0) /* f0e03dc: 0fc30718 */ jal playerGetHealthBarHeightFrac /* f0e03e0: 00000000 */ nop /* f0e03e4: 3c014180 */ lui $at,0x4180 /* f0e03e8: 44818000 */ mtc1 $at,$f16 /* f0e03ec: 8faf00e4 */ lw $t7,0xe4($sp) /* f0e03f0: 46008482 */ mul.s $f18,$f16,$f0 /* f0e03f4: 4600910d */ trunc.w.s $f4,$f18 /* f0e03f8: 44192000 */ mfc1 $t9,$f4 /* f0e03fc: 00000000 */ nop /* f0e0400: 01f94021 */ addu $t0,$t7,$t9 /* f0e0404: afa800e4 */ sw $t0,0xe4($sp) /* f0e0408: 8e0901b4 */ lw $t1,0x1b4($s0) .PF0f0e040c: /* f0e040c: 2401000b */ li $at,0xb /* f0e0410: 55210031 */ bnel $t1,$at,.PF0f0e04d8 /* f0e0414: 920d0000 */ lbu $t5,0x0($s0) /* f0e0418: 8fab00e8 */ lw $t3,0xe8($sp) /* f0e041c: 3c0c8008 */ lui $t4,0x8008 /* f0e0420: 8d8c0020 */ lw $t4,0x20($t4) /* f0e0424: 256afffc */ addiu $t2,$t3,-4 /* f0e0428: 3c01ed00 */ lui $at,0xed00 /* f0e042c: 014c0019 */ multu $t2,$t4 /* f0e0430: 02408825 */ move $s1,$s2 /* f0e0434: 26520008 */ addiu $s2,$s2,0x8 /* f0e0438: 00006812 */ mflo $t5 /* f0e043c: 448d4000 */ mtc1 $t5,$f8 /* f0e0440: 00000000 */ nop /* f0e0444: 468041a0 */ cvt.s.w $f6,$f8 /* f0e0448: 46163282 */ mul.s $f10,$f6,$f22 /* f0e044c: 4600540d */ trunc.w.s $f16,$f10 /* f0e0450: 44188000 */ mfc1 $t8,$f16 /* f0e0454: 00000000 */ nop /* f0e0458: 330f0fff */ andi $t7,$t8,0xfff /* f0e045c: 000fcb00 */ sll $t9,$t7,0xc /* f0e0460: 03214025 */ or $t0,$t9,$at /* f0e0464: 0c002e46 */ jal viGetBufHeight /* f0e0468: ae280000 */ sw $t0,0x0($s1) /* f0e046c: 8fa900e8 */ lw $t1,0xe8($sp) /* f0e0470: 960b001c */ lhu $t3,0x1c($s0) /* f0e0474: 3c0d8008 */ lui $t5,0x8008 /* f0e0478: 8dad0020 */ lw $t5,0x20($t5) /* f0e047c: 012b5021 */ addu $t2,$t1,$t3 /* f0e0480: 254c0003 */ addiu $t4,$t2,0x3 /* f0e0484: 018d0019 */ multu $t4,$t5 /* f0e0488: 44825000 */ mtc1 $v0,$f10 /* f0e048c: 00000000 */ nop /* f0e0490: 46805420 */ cvt.s.w $f16,$f10 /* f0e0494: 00007012 */ mflo $t6 /* f0e0498: 448e9000 */ mtc1 $t6,$f18 /* f0e049c: 00000000 */ nop /* f0e04a0: 46809120 */ cvt.s.w $f4,$f18 /* f0e04a4: 46162202 */ mul.s $f8,$f4,$f22 /* f0e04a8: 00000000 */ nop /* f0e04ac: 46168482 */ mul.s $f18,$f16,$f22 /* f0e04b0: 4600418d */ trunc.w.s $f6,$f8 /* f0e04b4: 4600910d */ trunc.w.s $f4,$f18 /* f0e04b8: 440f3000 */ mfc1 $t7,$f6 /* f0e04bc: 440b2000 */ mfc1 $t3,$f4 /* f0e04c0: 31f90fff */ andi $t9,$t7,0xfff /* f0e04c4: 00194300 */ sll $t0,$t9,0xc /* f0e04c8: 316a0fff */ andi $t2,$t3,0xfff /* f0e04cc: 01486025 */ or $t4,$t2,$t0 /* f0e04d0: ae2c0004 */ sw $t4,0x4($s1) /* f0e04d4: 920d0000 */ lbu $t5,0x0($s0) .PF0f0e04d8: /* f0e04d8: 2da10006 */ sltiu $at,$t5,0x6 /* f0e04dc: 10200198 */ beqz $at,.PF0f0e0b40 /* f0e04e0: 000d6880 */ sll $t5,$t5,0x2 /* f0e04e4: 3c017f1b */ lui $at,0x7f1b /* f0e04e8: 002d0821 */ addu $at,$at,$t5 /* f0e04ec: 8c2df1cc */ lw $t5,-0xe34($at) /* f0e04f0: 01a00008 */ jr $t5 /* f0e04f4: 00000000 */ nop /* f0e04f8: 8e110010 */ lw $s1,0x10($s0) /* f0e04fc: 92020004 */ lbu $v0,0x4($s0) /* f0e0500: 240100ff */ li $at,0xff /* f0e0504: 362e0040 */ ori $t6,$s1,0x40 /* f0e0508: 1041000e */ beq $v0,$at,.PF0f0e0544 /* f0e050c: 01c08825 */ move $s1,$t6 /* f0e0510: 31d800ff */ andi $t8,$t6,0xff /* f0e0514: 00580019 */ multu $v0,$t8 /* f0e0518: 0235c824 */ and $t9,$s1,$s5 /* f0e051c: 00007812 */ mflo $t7 /* f0e0520: 00000000 */ nop /* f0e0524: 00000000 */ nop /* f0e0528: 01fe001b */ divu $zero,$t7,$s8 /* f0e052c: 00001812 */ mflo $v1 /* f0e0530: 306900ff */ andi $t1,$v1,0xff /* f0e0534: 17c00002 */ bnez $s8,.PF0f0e0540 /* f0e0538: 00000000 */ nop /* f0e053c: 0007000d */ break 0x7 .PF0f0e0540: /* f0e0540: 03298821 */ addu $s1,$t9,$t1 .PF0f0e0544: /* f0e0544: 9602001c */ lhu $v0,0x1c($s0) /* f0e0548: 9603001e */ lhu $v1,0x1e($s0) /* f0e054c: 00420019 */ multu $v0,$v0 /* f0e0550: 00005812 */ mflo $t3 /* f0e0554: 00000000 */ nop /* f0e0558: 00000000 */ nop /* f0e055c: 00630019 */ multu $v1,$v1 /* f0e0560: 00005012 */ mflo $t2 /* f0e0564: 016a4021 */ addu $t0,$t3,$t2 /* f0e0568: 44884000 */ mtc1 $t0,$f8 /* f0e056c: 0c0127b4 */ jal sqrtf /* f0e0570: 46804320 */ cvt.s.w $f12,$f8 /* f0e0574: 3c014304 */ lui $at,0x4304 /* f0e0578: 44813000 */ mtc1 $at,$f6 /* f0e057c: 44802000 */ mtc1 $zero,$f4 /* f0e0580: 3c014f80 */ lui $at,0x4f80 /* f0e0584: 46060280 */ add.s $f10,$f0,$f6 /* f0e0588: 46185083 */ div.s $f2,$f10,$f24 /* f0e058c: 4602d03c */ c.lt.s $f26,$f2 /* f0e0590: 00000000 */ nop /* f0e0594: 45020003 */ bc1fl .PF0f0e05a4 /* f0e0598: 960c0006 */ lhu $t4,0x6($s0) /* f0e059c: 4600d086 */ mov.s $f2,$f26 /* f0e05a0: 960c0006 */ lhu $t4,0x6($s0) .PF0f0e05a4: /* f0e05a4: 448c8000 */ mtc1 $t4,$f16 /* f0e05a8: 05810004 */ bgez $t4,.PF0f0e05bc /* f0e05ac: 46808320 */ cvt.s.w $f12,$f16 /* f0e05b0: 44819000 */ mtc1 $at,$f18 /* f0e05b4: 00000000 */ nop /* f0e05b8: 46126300 */ add.s $f12,$f12,$f18 .PF0f0e05bc: /* f0e05bc: 46026083 */ div.s $f2,$f12,$f2 /* f0e05c0: 8fa400e8 */ lw $a0,0xe8($sp) /* f0e05c4: 8fa500e4 */ lw $a1,0xe4($sp) /* f0e05c8: 00003825 */ move $a3,$zero /* f0e05cc: 46186002 */ mul.s $f0,$f12,$f24 /* f0e05d0: 44060000 */ mfc1 $a2,$f0 /* f0e05d4: 4602a03c */ c.lt.s $f20,$f2 /* f0e05d8: 00000000 */ nop /* f0e05dc: 45020003 */ bc1fl .PF0f0e05ec /* f0e05e0: 4604103c */ c.lt.s $f2,$f4 /* f0e05e4: 4600a086 */ mov.s $f2,$f20 /* f0e05e8: 4604103c */ c.lt.s $f2,$f4 .PF0f0e05ec: /* f0e05ec: 00000000 */ nop /* f0e05f0: 45000003 */ bc1f .PF0f0e0600 /* f0e05f4: 00000000 */ nop /* f0e05f8: 44801000 */ mtc1 $zero,$f2 /* f0e05fc: 00000000 */ nop .PF0f0e0600: /* f0e0600: 0fc5524d */ jal func0f153c20 /* f0e0604: e7a200c0 */ swc1 $f2,0xc0($sp) /* f0e0608: 920d0001 */ lbu $t5,0x1($s0) /* f0e060c: c7a200c0 */ lwc1 $f2,0xc0($sp) /* f0e0610: 02402025 */ move $a0,$s2 /* f0e0614: 11a00027 */ beqz $t5,.PF0f0e06b4 /* f0e0618: 8fa500e8 */ lw $a1,0xe8($sp) /* f0e061c: 8fb800e4 */ lw $t8,0xe4($sp) /* f0e0620: 9619001e */ lhu $t9,0x1e($s0) /* f0e0624: 8fae00e8 */ lw $t6,0xe8($sp) /* f0e0628: 960f001c */ lhu $t7,0x1c($s0) /* f0e062c: 03384821 */ addu $t1,$t9,$t8 /* f0e0630: 252b0002 */ addiu $t3,$t1,0x2 /* f0e0634: 01ee3821 */ addu $a3,$t7,$t6 /* f0e0638: 24e70002 */ addiu $a3,$a3,0x2 /* f0e063c: afab0010 */ sw $t3,0x10($sp) /* f0e0640: e7a2001c */ swc1 $f2,0x1c($sp) /* f0e0644: afb10018 */ sw $s1,0x18($sp) /* f0e0648: e7b40014 */ swc1 $f20,0x14($sp) /* f0e064c: 02402025 */ move $a0,$s2 /* f0e0650: 2706fffd */ addiu $a2,$t8,-3 /* f0e0654: 0fc37776 */ jal hudmsgRenderBox /* f0e0658: 25c5fffd */ addiu $a1,$t6,-3 /* f0e065c: 0c002e53 */ jal viGetWidth /* f0e0660: 00409025 */ move $s2,$v0 /* f0e0664: 00028c00 */ sll $s1,$v0,0x10 /* f0e0668: 00115403 */ sra $t2,$s1,0x10 /* f0e066c: 0c002e57 */ jal viGetHeight /* f0e0670: 01408825 */ move $s1,$t2 /* f0e0674: 8e080008 */ lw $t0,0x8($s0) /* f0e0678: 02402025 */ move $a0,$s2 /* f0e067c: 02c02825 */ move $a1,$s6 /* f0e0680: afa80010 */ sw $t0,0x10($sp) /* f0e0684: 8e0c000c */ lw $t4,0xc($s0) /* f0e0688: afa00028 */ sw $zero,0x28($sp) /* f0e068c: afa00024 */ sw $zero,0x24($sp) /* f0e0690: afa20020 */ sw $v0,0x20($sp) /* f0e0694: afb1001c */ sw $s1,0x1c($sp) /* f0e0698: afb30018 */ sw $s3,0x18($sp) /* f0e069c: 02e03025 */ move $a2,$s7 /* f0e06a0: 26070020 */ addiu $a3,$s0,0x20 /* f0e06a4: 0fc55c50 */ jal textRenderProjected /* f0e06a8: afac0014 */ sw $t4,0x14($sp) /* f0e06ac: 1000001f */ b .PF0f0e072c /* f0e06b0: 00409025 */ move $s2,$v0 .PF0f0e06b4: /* f0e06b4: 8fa600e4 */ lw $a2,0xe4($sp) /* f0e06b8: 9619001e */ lhu $t9,0x1e($s0) /* f0e06bc: 960e001c */ lhu $t6,0x1c($s0) /* f0e06c0: afa00014 */ sw $zero,0x14($sp) /* f0e06c4: 0326c021 */ addu $t8,$t9,$a2 /* f0e06c8: afb80010 */ sw $t8,0x10($sp) /* f0e06cc: 0fc551d2 */ jal func0f153a34 /* f0e06d0: 01c53821 */ addu $a3,$t6,$a1 /* f0e06d4: 0c002e53 */ jal viGetWidth /* f0e06d8: 00409025 */ move $s2,$v0 /* f0e06dc: 00028c00 */ sll $s1,$v0,0x10 /* f0e06e0: 00114c03 */ sra $t1,$s1,0x10 /* f0e06e4: 0c002e57 */ jal viGetHeight /* f0e06e8: 01208825 */ move $s1,$t1 /* f0e06ec: 8e0b0008 */ lw $t3,0x8($s0) /* f0e06f0: 02402025 */ move $a0,$s2 /* f0e06f4: 02c02825 */ move $a1,$s6 /* f0e06f8: afab0010 */ sw $t3,0x10($sp) /* f0e06fc: 8e0a000c */ lw $t2,0xc($s0) /* f0e0700: afa0002c */ sw $zero,0x2c($sp) /* f0e0704: afa00028 */ sw $zero,0x28($sp) /* f0e0708: afa20024 */ sw $v0,0x24($sp) /* f0e070c: afb10020 */ sw $s1,0x20($sp) /* f0e0710: afb4001c */ sw $s4,0x1c($sp) /* f0e0714: afb30018 */ sw $s3,0x18($sp) /* f0e0718: 02e03025 */ move $a2,$s7 /* f0e071c: 26070020 */ addiu $a3,$s0,0x20 /* f0e0720: 0fc55fa0 */ jal textRender /* f0e0724: afaa0014 */ sw $t2,0x14($sp) /* f0e0728: 00409025 */ move $s2,$v0 .PF0f0e072c: /* f0e072c: 920801c9 */ lbu $t0,0x1c9($s0) /* f0e0730: 24010006 */ li $at,0x6 /* f0e0734: 15010002 */ bne $t0,$at,.PF0f0e0740 /* f0e0738: 00000000 */ nop /* f0e073c: afa000e0 */ sw $zero,0xe0($sp) .PF0f0e0740: /* f0e0740: 0fc552d8 */ jal func0f153e4c /* f0e0744: 00000000 */ nop /* f0e0748: 100000fe */ b .PF0f0e0b44 /* f0e074c: 8e0801b4 */ lw $t0,0x1b4($s0) /* f0e0750: 920c0001 */ lbu $t4,0x1($s0) /* f0e0754: 8fa900e8 */ lw $t1,0xe8($sp) /* f0e0758: 8fab00e4 */ lw $t3,0xe4($sp) /* f0e075c: 11800037 */ beqz $t4,.PF0f0e083c /* f0e0760: 2525fffd */ addiu $a1,$t1,-3 /* f0e0764: 8e030010 */ lw $v1,0x10($s0) /* f0e0768: 92020004 */ lbu $v0,0x4($s0) /* f0e076c: 240100ff */ li $at,0xff /* f0e0770: 346e0040 */ ori $t6,$v1,0x40 /* f0e0774: 1041000e */ beq $v0,$at,.PF0f0e07b0 /* f0e0778: 01c01825 */ move $v1,$t6 /* f0e077c: 31cd00ff */ andi $t5,$t6,0xff /* f0e0780: 004d0019 */ multu $v0,$t5 /* f0e0784: 00757824 */ and $t7,$v1,$s5 /* f0e0788: 0000c812 */ mflo $t9 /* f0e078c: 00000000 */ nop /* f0e0790: 00000000 */ nop /* f0e0794: 033e001b */ divu $zero,$t9,$s8 /* f0e0798: 00002012 */ mflo $a0 /* f0e079c: 309800ff */ andi $t8,$a0,0xff /* f0e07a0: 17c00002 */ bnez $s8,.PF0f0e07ac /* f0e07a4: 00000000 */ nop /* f0e07a8: 0007000d */ break 0x7 .PF0f0e07ac: /* f0e07ac: 01f81821 */ addu $v1,$t7,$t8 .PF0f0e07b0: /* f0e07b0: 9608001e */ lhu $t0,0x1e($s0) /* f0e07b4: 960a001c */ lhu $t2,0x1c($s0) /* f0e07b8: e7b4001c */ swc1 $f20,0x1c($sp) /* f0e07bc: 010b6021 */ addu $t4,$t0,$t3 /* f0e07c0: 258e0002 */ addiu $t6,$t4,0x2 /* f0e07c4: 01493821 */ addu $a3,$t2,$t1 /* f0e07c8: 24e70002 */ addiu $a3,$a3,0x2 /* f0e07cc: afae0010 */ sw $t6,0x10($sp) /* f0e07d0: afa30018 */ sw $v1,0x18($sp) /* f0e07d4: e7b40014 */ swc1 $f20,0x14($sp) /* f0e07d8: 02402025 */ move $a0,$s2 /* f0e07dc: 0fc37776 */ jal hudmsgRenderBox /* f0e07e0: 2566fffd */ addiu $a2,$t3,-3 /* f0e07e4: 0c002e53 */ jal viGetWidth /* f0e07e8: 00409025 */ move $s2,$v0 /* f0e07ec: 00028c00 */ sll $s1,$v0,0x10 /* f0e07f0: 00116c03 */ sra $t5,$s1,0x10 /* f0e07f4: 0c002e57 */ jal viGetHeight /* f0e07f8: 01a08825 */ move $s1,$t5 /* f0e07fc: 8e190008 */ lw $t9,0x8($s0) /* f0e0800: 02402025 */ move $a0,$s2 /* f0e0804: 02c02825 */ move $a1,$s6 /* f0e0808: afb90010 */ sw $t9,0x10($sp) /* f0e080c: 8e0f000c */ lw $t7,0xc($s0) /* f0e0810: afa00028 */ sw $zero,0x28($sp) /* f0e0814: afa00024 */ sw $zero,0x24($sp) /* f0e0818: afa20020 */ sw $v0,0x20($sp) /* f0e081c: afb1001c */ sw $s1,0x1c($sp) /* f0e0820: afb30018 */ sw $s3,0x18($sp) /* f0e0824: 02e03025 */ move $a2,$s7 /* f0e0828: 26070020 */ addiu $a3,$s0,0x20 /* f0e082c: 0fc55c50 */ jal textRenderProjected /* f0e0830: afaf0014 */ sw $t7,0x14($sp) /* f0e0834: 10000021 */ b .PF0f0e08bc /* f0e0838: 00409025 */ move $s2,$v0 .PF0f0e083c: /* f0e083c: 8fa600e4 */ lw $a2,0xe4($sp) /* f0e0840: 9608001e */ lhu $t0,0x1e($s0) /* f0e0844: 8fa500e8 */ lw $a1,0xe8($sp) /* f0e0848: 9609001c */ lhu $t1,0x1c($s0) /* f0e084c: 01065821 */ addu $t3,$t0,$a2 /* f0e0850: afab0010 */ sw $t3,0x10($sp) /* f0e0854: afa00014 */ sw $zero,0x14($sp) /* f0e0858: 02402025 */ move $a0,$s2 /* f0e085c: 0fc551d2 */ jal func0f153a34 /* f0e0860: 01253821 */ addu $a3,$t1,$a1 /* f0e0864: 0c002e53 */ jal viGetWidth /* f0e0868: 00409025 */ move $s2,$v0 /* f0e086c: 00028c00 */ sll $s1,$v0,0x10 /* f0e0870: 00116403 */ sra $t4,$s1,0x10 /* f0e0874: 0c002e57 */ jal viGetHeight /* f0e0878: 01808825 */ move $s1,$t4 /* f0e087c: 8e0e0008 */ lw $t6,0x8($s0) /* f0e0880: 02402025 */ move $a0,$s2 /* f0e0884: 02c02825 */ move $a1,$s6 /* f0e0888: afae0010 */ sw $t6,0x10($sp) /* f0e088c: 8e0d000c */ lw $t5,0xc($s0) /* f0e0890: afa0002c */ sw $zero,0x2c($sp) /* f0e0894: afa00028 */ sw $zero,0x28($sp) /* f0e0898: afa20024 */ sw $v0,0x24($sp) /* f0e089c: afb10020 */ sw $s1,0x20($sp) /* f0e08a0: afb4001c */ sw $s4,0x1c($sp) /* f0e08a4: afb30018 */ sw $s3,0x18($sp) /* f0e08a8: 02e03025 */ move $a2,$s7 /* f0e08ac: 26070020 */ addiu $a3,$s0,0x20 /* f0e08b0: 0fc55fa0 */ jal textRender /* f0e08b4: afad0014 */ sw $t5,0x14($sp) /* f0e08b8: 00409025 */ move $s2,$v0 .PF0f0e08bc: /* f0e08bc: 921901c9 */ lbu $t9,0x1c9($s0) /* f0e08c0: 24010006 */ li $at,0x6 /* f0e08c4: 5721009f */ bnel $t9,$at,.PF0f0e0b44 /* f0e08c8: 8e0801b4 */ lw $t0,0x1b4($s0) /* f0e08cc: 1000009c */ b .PF0f0e0b40 /* f0e08d0: afa000e0 */ sw $zero,0xe0($sp) /* f0e08d4: 9602001c */ lhu $v0,0x1c($s0) /* f0e08d8: 9603001e */ lhu $v1,0x1e($s0) /* f0e08dc: 00420019 */ multu $v0,$v0 /* f0e08e0: 00007812 */ mflo $t7 /* f0e08e4: 00000000 */ nop /* f0e08e8: 00000000 */ nop /* f0e08ec: 00630019 */ multu $v1,$v1 /* f0e08f0: 00004812 */ mflo $t1 /* f0e08f4: 01e9c021 */ addu $t8,$t7,$t1 /* f0e08f8: 44984000 */ mtc1 $t8,$f8 /* f0e08fc: 0c0127b4 */ jal sqrtf /* f0e0900: 46804320 */ cvt.s.w $f12,$f8 /* f0e0904: 3c0142b8 */ lui $at,0x42b8 /* f0e0908: 44813000 */ mtc1 $at,$f6 /* f0e090c: 8e110010 */ lw $s1,0x10($s0) /* f0e0910: 92020004 */ lbu $v0,0x4($s0) /* f0e0914: 46060280 */ add.s $f10,$f0,$f6 /* f0e0918: 240100ff */ li $at,0xff /* f0e091c: 36280040 */ ori $t0,$s1,0x40 /* f0e0920: 01008825 */ move $s1,$t0 /* f0e0924: 1041000e */ beq $v0,$at,.PF0f0e0960 /* f0e0928: 46185083 */ div.s $f2,$f10,$f24 /* f0e092c: 310a00ff */ andi $t2,$t0,0xff /* f0e0930: 004a0019 */ multu $v0,$t2 /* f0e0934: 02356024 */ and $t4,$s1,$s5 /* f0e0938: 00005812 */ mflo $t3 /* f0e093c: 00000000 */ nop /* f0e0940: 00000000 */ nop /* f0e0944: 017e001b */ divu $zero,$t3,$s8 /* f0e0948: 00001812 */ mflo $v1 /* f0e094c: 306e00ff */ andi $t6,$v1,0xff /* f0e0950: 17c00002 */ bnez $s8,.PF0f0e095c /* f0e0954: 00000000 */ nop /* f0e0958: 0007000d */ break 0x7 .PF0f0e095c: /* f0e095c: 018e8821 */ addu $s1,$t4,$t6 .PF0f0e0960: /* f0e0960: 960d0006 */ lhu $t5,0x6($s0) /* f0e0964: 3c014f80 */ lui $at,0x4f80 /* f0e0968: 448d8000 */ mtc1 $t5,$f16 /* f0e096c: 05a10004 */ bgez $t5,.PF0f0e0980 /* f0e0970: 468084a0 */ cvt.s.w $f18,$f16 /* f0e0974: 44812000 */ mtc1 $at,$f4 /* f0e0978: 00000000 */ nop /* f0e097c: 46049480 */ add.s $f18,$f18,$f4 .PF0f0e0980: /* f0e0980: 46121201 */ sub.s $f8,$f2,$f18 /* f0e0984: 9619001c */ lhu $t9,0x1c($s0) /* f0e0988: 8faf00e8 */ lw $t7,0xe8($sp) /* f0e098c: 9609001e */ lhu $t1,0x1e($s0) /* f0e0990: 46184002 */ mul.s $f0,$f8,$f24 /* f0e0994: 8fb800e4 */ lw $t8,0xe4($sp) /* f0e0998: e7a200a8 */ swc1 $f2,0xa8($sp) /* f0e099c: 24070002 */ li $a3,0x2 /* f0e09a0: 032f2021 */ addu $a0,$t9,$t7 /* f0e09a4: 01382821 */ addu $a1,$t1,$t8 /* f0e09a8: 44060000 */ mfc1 $a2,$f0 /* f0e09ac: 0fc5524d */ jal func0f153c20 /* f0e09b0: 00000000 */ nop /* f0e09b4: c7a200a8 */ lwc1 $f2,0xa8($sp) /* f0e09b8: 3c014f80 */ lui $at,0x4f80 /* f0e09bc: 8fab00e8 */ lw $t3,0xe8($sp) /* f0e09c0: 4602d03c */ c.lt.s $f26,$f2 /* f0e09c4: 8fac00e4 */ lw $t4,0xe4($sp) /* f0e09c8: 02402025 */ move $a0,$s2 /* f0e09cc: 8fa500e8 */ lw $a1,0xe8($sp) /* f0e09d0: 45000002 */ bc1f .PF0f0e09dc /* f0e09d4: 8fa600e4 */ lw $a2,0xe4($sp) /* f0e09d8: 4600d086 */ mov.s $f2,$f26 .PF0f0e09dc: /* f0e09dc: 96080006 */ lhu $t0,0x6($s0) /* f0e09e0: 44883000 */ mtc1 $t0,$f6 /* f0e09e4: 05010004 */ bgez $t0,.PF0f0e09f8 /* f0e09e8: 468032a0 */ cvt.s.w $f10,$f6 /* f0e09ec: 44818000 */ mtc1 $at,$f16 /* f0e09f0: 00000000 */ nop /* f0e09f4: 46105280 */ add.s $f10,$f10,$f16 .PF0f0e09f8: /* f0e09f8: 46025083 */ div.s $f2,$f10,$f2 /* f0e09fc: 4602a03c */ c.lt.s $f20,$f2 /* f0e0a00: 00000000 */ nop /* f0e0a04: 45020003 */ bc1fl .PF0f0e0a14 /* f0e0a08: 920a0001 */ lbu $t2,0x1($s0) /* f0e0a0c: 4600a086 */ mov.s $f2,$f20 /* f0e0a10: 920a0001 */ lbu $t2,0x1($s0) .PF0f0e0a14: /* f0e0a14: 51400027 */ beqzl $t2,.PF0f0e0ab4 /* f0e0a18: 960d001e */ lhu $t5,0x1e($s0) /* f0e0a1c: 960d001e */ lhu $t5,0x1e($s0) /* f0e0a20: 960e001c */ lhu $t6,0x1c($s0) /* f0e0a24: 4602a101 */ sub.s $f4,$f20,$f2 /* f0e0a28: 01acc821 */ addu $t9,$t5,$t4 /* f0e0a2c: 272f0002 */ addiu $t7,$t9,0x2 /* f0e0a30: 01cb3821 */ addu $a3,$t6,$t3 /* f0e0a34: 24e70002 */ addiu $a3,$a3,0x2 /* f0e0a38: afaf0010 */ sw $t7,0x10($sp) /* f0e0a3c: e7a4001c */ swc1 $f4,0x1c($sp) /* f0e0a40: afb10018 */ sw $s1,0x18($sp) /* f0e0a44: e7b40014 */ swc1 $f20,0x14($sp) /* f0e0a48: 02402025 */ move $a0,$s2 /* f0e0a4c: 2565fffd */ addiu $a1,$t3,-3 /* f0e0a50: 0fc37776 */ jal hudmsgRenderBox /* f0e0a54: 2586fffd */ addiu $a2,$t4,-3 /* f0e0a58: 0c002e53 */ jal viGetWidth /* f0e0a5c: 00409025 */ move $s2,$v0 /* f0e0a60: 00028c00 */ sll $s1,$v0,0x10 /* f0e0a64: 00114c03 */ sra $t1,$s1,0x10 /* f0e0a68: 0c002e57 */ jal viGetHeight /* f0e0a6c: 01208825 */ move $s1,$t1 /* f0e0a70: 8e180008 */ lw $t8,0x8($s0) /* f0e0a74: 02402025 */ move $a0,$s2 /* f0e0a78: 02c02825 */ move $a1,$s6 /* f0e0a7c: afb80010 */ sw $t8,0x10($sp) /* f0e0a80: 8e08000c */ lw $t0,0xc($s0) /* f0e0a84: afa00028 */ sw $zero,0x28($sp) /* f0e0a88: afa00024 */ sw $zero,0x24($sp) /* f0e0a8c: afa20020 */ sw $v0,0x20($sp) /* f0e0a90: afb1001c */ sw $s1,0x1c($sp) /* f0e0a94: afb30018 */ sw $s3,0x18($sp) /* f0e0a98: 02e03025 */ move $a2,$s7 /* f0e0a9c: 26070020 */ addiu $a3,$s0,0x20 /* f0e0aa0: 0fc55c50 */ jal textRenderProjected /* f0e0aa4: afa80014 */ sw $t0,0x14($sp) /* f0e0aa8: 1000001e */ b .PF0f0e0b24 /* f0e0aac: 00409025 */ move $s2,$v0 /* f0e0ab0: 960d001e */ lhu $t5,0x1e($s0) .PF0f0e0ab4: /* f0e0ab4: 960b001c */ lhu $t3,0x1c($s0) /* f0e0ab8: afa00014 */ sw $zero,0x14($sp) /* f0e0abc: 01a66021 */ addu $t4,$t5,$a2 /* f0e0ac0: afac0010 */ sw $t4,0x10($sp) /* f0e0ac4: 0fc551d2 */ jal func0f153a34 /* f0e0ac8: 01653821 */ addu $a3,$t3,$a1 /* f0e0acc: 0c002e53 */ jal viGetWidth /* f0e0ad0: 00409025 */ move $s2,$v0 /* f0e0ad4: 00028c00 */ sll $s1,$v0,0x10 /* f0e0ad8: 0011cc03 */ sra $t9,$s1,0x10 /* f0e0adc: 0c002e57 */ jal viGetHeight /* f0e0ae0: 03208825 */ move $s1,$t9 /* f0e0ae4: 8e0f0008 */ lw $t7,0x8($s0) /* f0e0ae8: 02402025 */ move $a0,$s2 /* f0e0aec: 02c02825 */ move $a1,$s6 /* f0e0af0: afaf0010 */ sw $t7,0x10($sp) /* f0e0af4: 8e09000c */ lw $t1,0xc($s0) /* f0e0af8: afa0002c */ sw $zero,0x2c($sp) /* f0e0afc: afa00028 */ sw $zero,0x28($sp) /* f0e0b00: afa20024 */ sw $v0,0x24($sp) /* f0e0b04: afb10020 */ sw $s1,0x20($sp) /* f0e0b08: afb4001c */ sw $s4,0x1c($sp) /* f0e0b0c: afb30018 */ sw $s3,0x18($sp) /* f0e0b10: 02e03025 */ move $a2,$s7 /* f0e0b14: 26070020 */ addiu $a3,$s0,0x20 /* f0e0b18: 0fc55fa0 */ jal textRender /* f0e0b1c: afa90014 */ sw $t1,0x14($sp) /* f0e0b20: 00409025 */ move $s2,$v0 .PF0f0e0b24: /* f0e0b24: 921801c9 */ lbu $t8,0x1c9($s0) /* f0e0b28: 24010006 */ li $at,0x6 /* f0e0b2c: 17010002 */ bne $t8,$at,.PF0f0e0b38 /* f0e0b30: 00000000 */ nop /* f0e0b34: afa000e0 */ sw $zero,0xe0($sp) .PF0f0e0b38: /* f0e0b38: 0fc552d8 */ jal func0f153e4c /* f0e0b3c: 00000000 */ nop .PF0f0e0b40: /* f0e0b40: 8e0801b4 */ lw $t0,0x1b4($s0) .PF0f0e0b44: /* f0e0b44: 2401000b */ li $at,0xb /* f0e0b48: 15010039 */ bne $t0,$at,.PF0f0e0c30 /* f0e0b4c: 00000000 */ nop /* f0e0b50: afb2009c */ sw $s2,0x9c($sp) /* f0e0b54: 0c002e91 */ jal viGetViewLeft /* f0e0b58: 26520008 */ addiu $s2,$s2,0x8 /* f0e0b5c: 00028400 */ sll $s0,$v0,0x10 /* f0e0b60: 00105c03 */ sra $t3,$s0,0x10 /* f0e0b64: 01608025 */ move $s0,$t3 /* f0e0b68: 0c002e95 */ jal viGetViewTop /* f0e0b6c: 8fb3009c */ lw $s3,0x9c($sp) /* f0e0b70: 44829000 */ mtc1 $v0,$f18 /* f0e0b74: 44905000 */ mtc1 $s0,$f10 /* f0e0b78: 3c01ed00 */ lui $at,0xed00 /* f0e0b7c: 46809220 */ cvt.s.w $f8,$f18 /* f0e0b80: 46805120 */ cvt.s.w $f4,$f10 /* f0e0b84: 46164182 */ mul.s $f6,$f8,$f22 /* f0e0b88: 00000000 */ nop /* f0e0b8c: 46162482 */ mul.s $f18,$f4,$f22 /* f0e0b90: 4600340d */ trunc.w.s $f16,$f6 /* f0e0b94: 4600920d */ trunc.w.s $f8,$f18 /* f0e0b98: 440d8000 */ mfc1 $t5,$f16 /* f0e0b9c: 440f4000 */ mfc1 $t7,$f8 /* f0e0ba0: 31ae0fff */ andi $t6,$t5,0xfff /* f0e0ba4: 01c16025 */ or $t4,$t6,$at /* f0e0ba8: 31e90fff */ andi $t1,$t7,0xfff /* f0e0bac: 0009c300 */ sll $t8,$t1,0xc /* f0e0bb0: 01984025 */ or $t0,$t4,$t8 /* f0e0bb4: 0c002e73 */ jal viGetViewWidth /* f0e0bb8: ae680000 */ sw $t0,0x0($s3) /* f0e0bbc: 0c002e91 */ jal viGetViewLeft /* f0e0bc0: a7a20092 */ sh $v0,0x92($sp) /* f0e0bc4: 00028c00 */ sll $s1,$v0,0x10 /* f0e0bc8: 00115c03 */ sra $t3,$s1,0x10 /* f0e0bcc: 0c002e95 */ jal viGetViewTop /* f0e0bd0: 01608825 */ move $s1,$t3 /* f0e0bd4: 00028400 */ sll $s0,$v0,0x10 /* f0e0bd8: 00105403 */ sra $t2,$s0,0x10 /* f0e0bdc: 0c002e77 */ jal viGetViewHeight /* f0e0be0: 01408025 */ move $s0,$t2 /* f0e0be4: 87a90092 */ lh $t1,0x92($sp) /* f0e0be8: 00506821 */ addu $t5,$v0,$s0 /* f0e0bec: 448d3000 */ mtc1 $t5,$f6 /* f0e0bf0: 02296021 */ addu $t4,$s1,$t1 /* f0e0bf4: 448c9000 */ mtc1 $t4,$f18 /* f0e0bf8: 46803420 */ cvt.s.w $f16,$f6 /* f0e0bfc: 46809220 */ cvt.s.w $f8,$f18 /* f0e0c00: 46168282 */ mul.s $f10,$f16,$f22 /* f0e0c04: 00000000 */ nop /* f0e0c08: 46164182 */ mul.s $f6,$f8,$f22 /* f0e0c0c: 4600510d */ trunc.w.s $f4,$f10 /* f0e0c10: 4600340d */ trunc.w.s $f16,$f6 /* f0e0c14: 44192000 */ mfc1 $t9,$f4 /* f0e0c18: 44088000 */ mfc1 $t0,$f16 /* f0e0c1c: 332f0fff */ andi $t7,$t9,0xfff /* f0e0c20: 310b0fff */ andi $t3,$t0,0xfff /* f0e0c24: 000b5300 */ sll $t2,$t3,0xc /* f0e0c28: 01ea6825 */ or $t5,$t7,$t2 /* f0e0c2c: ae6d0004 */ sw $t5,0x4($s3) .PF0f0e0c30: /* f0e0c30: 3c048007 */ lui $a0,0x8007 /* f0e0c34: 8c8412c8 */ lw $a0,0x12c8($a0) /* f0e0c38: 00041100 */ sll $v0,$a0,0x4 /* f0e0c3c: 00441023 */ subu $v0,$v0,$a0 /* f0e0c40: 000210c0 */ sll $v0,$v0,0x3 /* f0e0c44: 00441023 */ subu $v0,$v0,$a0 /* f0e0c48: 00021080 */ sll $v0,$v0,0x2 .PF0f0e0c4c: /* f0e0c4c: 8fae0088 */ lw $t6,0x88($sp) /* f0e0c50: 25d901dc */ addiu $t9,$t6,0x1dc /* f0e0c54: 0322082a */ slt $at,$t9,$v0 /* f0e0c58: 1420fd70 */ bnez $at,.PF0f0e021c /* f0e0c5c: afb90088 */ sw $t9,0x88($sp) .PF0f0e0c60: /* f0e0c60: 8fa900e0 */ lw $t1,0xe0($sp) /* f0e0c64: 3c0c800a */ lui $t4,0x800a /* f0e0c68: 11200028 */ beqz $t1,.PF0f0e0d0c /* f0e0c6c: 00000000 */ nop /* f0e0c70: 8d8ca798 */ lw $t4,-0x5868($t4) /* f0e0c74: 0fc54d66 */ jal optionsGetShowMissionTime /* f0e0c78: 8d840070 */ lw $a0,0x70($t4) /* f0e0c7c: 10400019 */ beqz $v0,.PF0f0e0ce4 /* f0e0c80: 3c188007 */ lui $t8,0x8007 /* f0e0c84: 8f186230 */ lw $t8,0x6230($t8) /* f0e0c88: 24030002 */ li $v1,0x2 /* f0e0c8c: 3c08800a */ lui $t0,0x800a /* f0e0c90: 14780014 */ bne $v1,$t8,.PF0f0e0ce4 /* f0e0c94: 00000000 */ nop /* f0e0c98: 8d08a828 */ lw $t0,-0x57d8($t0) /* f0e0c9c: 3c0b800a */ lui $t3,0x800a /* f0e0ca0: 15000010 */ bnez $t0,.PF0f0e0ce4 /* f0e0ca4: 00000000 */ nop /* f0e0ca8: 8d6ba9c4 */ lw $t3,-0x563c($t3) /* f0e0cac: 24010026 */ li $at,0x26 /* f0e0cb0: 3c0f800a */ lui $t7,0x800a /* f0e0cb4: 1161000b */ beq $t3,$at,.PF0f0e0ce4 /* f0e0cb8: 00000000 */ nop /* f0e0cbc: 8defa794 */ lw $t7,-0x586c($t7) /* f0e0cc0: 24010001 */ li $at,0x1 /* f0e0cc4: 8de20000 */ lw $v0,0x0($t7) /* f0e0cc8: 10620006 */ beq $v1,$v0,.PF0f0e0ce4 /* f0e0ccc: 00000000 */ nop /* f0e0cd0: 10410004 */ beq $v0,$at,.PF0f0e0ce4 /* f0e0cd4: 02402025 */ move $a0,$s2 /* f0e0cd8: 0fc37521 */ jal hudmsgRenderMissionTimer /* f0e0cdc: 8fa500e0 */ lw $a1,0xe0($sp) /* f0e0ce0: 00409025 */ move $s2,$v0 .PF0f0e0ce4: /* f0e0ce4: 0fc374d3 */ jal hudmsgIsZoomRangeVisible /* f0e0ce8: 00000000 */ nop /* f0e0cec: 10400004 */ beqz $v0,.PF0f0e0d00 /* f0e0cf0: 02402025 */ move $a0,$s2 /* f0e0cf4: 0fc3760f */ jal hudmsgRenderZoomRange /* f0e0cf8: 8fa500e0 */ lw $a1,0xe0($sp) /* f0e0cfc: 00409025 */ move $s2,$v0 .PF0f0e0d00: /* f0e0d00: 0fc241f9 */ jal countdownTimerRender /* f0e0d04: 02402025 */ move $a0,$s2 /* f0e0d08: 00409025 */ move $s2,$v0 .PF0f0e0d0c: /* f0e0d0c: 0fc55125 */ jal func0f153780 /* f0e0d10: 02402025 */ move $a0,$s2 /* f0e0d14: 8fbf007c */ lw $ra,0x7c($sp) /* f0e0d18: 240a0001 */ li $t2,0x1 /* f0e0d1c: 3c018008 */ lui $at,0x8008 /* f0e0d20: d7b40038 */ ldc1 $f20,0x38($sp) /* f0e0d24: d7b60040 */ ldc1 $f22,0x40($sp) /* f0e0d28: d7b80048 */ ldc1 $f24,0x48($sp) /* f0e0d2c: d7ba0050 */ ldc1 $f26,0x50($sp) /* f0e0d30: 8fb00058 */ lw $s0,0x58($sp) /* f0e0d34: 8fb1005c */ lw $s1,0x5c($sp) /* f0e0d38: 8fb20060 */ lw $s2,0x60($sp) /* f0e0d3c: 8fb30064 */ lw $s3,0x64($sp) /* f0e0d40: 8fb40068 */ lw $s4,0x68($sp) /* f0e0d44: 8fb5006c */ lw $s5,0x6c($sp) /* f0e0d48: 8fb60070 */ lw $s6,0x70($sp) /* f0e0d4c: 8fb70074 */ lw $s7,0x74($sp) /* f0e0d50: 8fbe0078 */ lw $s8,0x78($sp) /* f0e0d54: ac2a0020 */ sw $t2,0x20($at) /* f0e0d58: 03e00008 */ jr $ra /* f0e0d5c: 27bd0100 */ addiu $sp,$sp,0x100 ); #elif VERSION == VERSION_PAL_BETA GLOBAL_ASM( glabel hudmsgsRender .late_rodata glabel var7f1af1c4 .word 0x41066667 glabel var7f1af1c8 .word 0x40490fdb glabel var7f1af1cc .word 0x7f0e097c .word 0x7f0e097c .word 0x7f0e097c .word 0x7f0e0334 .word 0x7f0e058c .word 0x7f0e0710 .text /* f0dff68: 27bdff00 */ addiu $sp,$sp,-256 /* f0dff6c: afbf007c */ sw $ra,0x7c($sp) /* f0dff70: 240e00ff */ li $t6,0xff /* f0dff74: 240f0001 */ li $t7,0x1 /* f0dff78: 24180001 */ li $t8,0x1 /* f0dff7c: 3c018008 */ lui $at,0x8008 /* f0dff80: afbe0078 */ sw $s8,0x78($sp) /* f0dff84: afb70074 */ sw $s7,0x74($sp) /* f0dff88: afb60070 */ sw $s6,0x70($sp) /* f0dff8c: afb5006c */ sw $s5,0x6c($sp) /* f0dff90: afb40068 */ sw $s4,0x68($sp) /* f0dff94: afb30064 */ sw $s3,0x64($sp) /* f0dff98: afb20060 */ sw $s2,0x60($sp) /* f0dff9c: afb1005c */ sw $s1,0x5c($sp) /* f0dffa0: afb00058 */ sw $s0,0x58($sp) /* f0dffa4: f7ba0050 */ sdc1 $f26,0x50($sp) /* f0dffa8: f7b80048 */ sdc1 $f24,0x48($sp) /* f0dffac: f7b60040 */ sdc1 $f22,0x40($sp) /* f0dffb0: f7b40038 */ sdc1 $f20,0x38($sp) /* f0dffb4: afae00e0 */ sw $t6,0xe0($sp) /* f0dffb8: afaf00dc */ sw $t7,0xdc($sp) /* f0dffbc: 0fc5528f */ jal func0f153628 /* f0dffc0: ac381f90 */ sw $t8,0x1f90($at) /* f0dffc4: 3c19800a */ lui $t9,0x800a /* f0dffc8: 8f39e768 */ lw $t9,-0x1898($t9) /* f0dffcc: 00409025 */ move $s2,$v0 /* f0dffd0: 3c048007 */ lui $a0,0x8007 /* f0dffd4: 07210005 */ bgez $t9,.PB0f0dffec /* f0dffd8: 3c0141f0 */ lui $at,0x41f0 /* f0dffdc: 3c08800a */ lui $t0,0x800a /* f0dffe0: 8d08e76c */ lw $t0,-0x1894($t0) /* f0dffe4: 0500000e */ bltz $t0,.PB0f0e0020 /* f0dffe8: 00000000 */ nop .PB0f0dffec: /* f0dffec: 3c098007 */ lui $t1,0x8007 /* f0dfff0: 8d292434 */ lw $t1,0x2434($t1) /* f0dfff4: 1120000a */ beqz $t1,.PB0f0e0020 /* f0dfff8: 00000000 */ nop /* f0dfffc: 3c0a8006 */ lui $t2,0x8006 /* f0e0000: 8d4ae4e0 */ lw $t2,-0x1b20($t2) /* f0e0004: 15400006 */ bnez $t2,.PB0f0e0020 /* f0e0008: 00000000 */ nop /* f0e000c: 3c0b800a */ lui $t3,0x800a /* f0e0010: 8d6be75c */ lw $t3,-0x18a4($t3) /* f0e0014: 15600002 */ bnez $t3,.PB0f0e0020 /* f0e0018: 00000000 */ nop /* f0e001c: afa000dc */ sw $zero,0xdc($sp) .PB0f0e0020: /* f0e0020: 8c842cb8 */ lw $a0,0x2cb8($a0) /* f0e0024: 27b700e4 */ addiu $s7,$sp,0xe4 /* f0e0028: 27b600e8 */ addiu $s6,$sp,0xe8 /* f0e002c: 1880029b */ blez $a0,.PB0f0e0a9c /* f0e0030: 2415ff00 */ li $s5,-256 /* f0e0034: 4481d000 */ mtc1 $at,$f26 /* f0e0038: 3c017f1b */ lui $at,0x7f1b /* f0e003c: c438fc14 */ lwc1 $f24,-0x3ec($at) /* f0e0040: 3c014080 */ lui $at,0x4080 /* f0e0044: 4481b000 */ mtc1 $at,$f22 /* f0e0048: 3c013f80 */ lui $at,0x3f80 /* f0e004c: 4481a000 */ mtc1 $at,$f20 /* f0e0050: afa00088 */ sw $zero,0x88($sp) /* f0e0054: 241e00ff */ li $s8,0xff .PB0f0e0058: /* f0e0058: 3c0d8007 */ lui $t5,0x8007 /* f0e005c: 8dad2cbc */ lw $t5,0x2cbc($t5) /* f0e0060: 8fac0088 */ lw $t4,0x88($sp) /* f0e0064: 00041100 */ sll $v0,$a0,0x4 /* f0e0068: 00441023 */ subu $v0,$v0,$a0 /* f0e006c: 018d8021 */ addu $s0,$t4,$t5 /* f0e0070: 92030004 */ lbu $v1,0x4($s0) /* f0e0074: 000210c0 */ sll $v0,$v0,0x3 /* f0e0078: 00441023 */ subu $v0,$v0,$a0 /* f0e007c: 54600004 */ bnezl $v1,.PB0f0e0090 /* f0e0080: 92020000 */ lbu $v0,0x0($s0) /* f0e0084: 10000280 */ b .PB0f0e0a88 /* f0e0088: 00021080 */ sll $v0,$v0,0x2 /* f0e008c: 92020000 */ lbu $v0,0x0($s0) .PB0f0e0090: /* f0e0090: 24010001 */ li $at,0x1 /* f0e0094: 5040000a */ beqzl $v0,.PB0f0e00c0 /* f0e0098: 00041100 */ sll $v0,$a0,0x4 /* f0e009c: 10410007 */ beq $v0,$at,.PB0f0e00bc /* f0e00a0: 8fae00dc */ lw $t6,0xdc($sp) /* f0e00a4: 51c0000c */ beqzl $t6,.PB0f0e00d8 /* f0e00a8: 92190003 */ lbu $t9,0x3($s0) /* f0e00ac: 3c0f800a */ lui $t7,0x800a /* f0e00b0: 8defe75c */ lw $t7,-0x18a4($t7) /* f0e00b4: 8e1801c0 */ lw $t8,0x1c0($s0) /* f0e00b8: 11f80006 */ beq $t7,$t8,.PB0f0e00d4 .PB0f0e00bc: /* f0e00bc: 00041100 */ sll $v0,$a0,0x4 .PB0f0e00c0: /* f0e00c0: 00441023 */ subu $v0,$v0,$a0 /* f0e00c4: 000210c0 */ sll $v0,$v0,0x3 /* f0e00c8: 00441023 */ subu $v0,$v0,$a0 /* f0e00cc: 1000026e */ b .PB0f0e0a88 /* f0e00d0: 00021080 */ sll $v0,$v0,0x2 .PB0f0e00d4: /* f0e00d4: 92190003 */ lbu $t9,0x3($s0) .PB0f0e00d8: /* f0e00d8: 53200022 */ beqzl $t9,.PB0f0e0164 /* f0e00dc: 8e130010 */ lw $s3,0x10($s0) /* f0e00e0: 96080006 */ lhu $t0,0x6($s0) /* f0e00e4: 3c014f80 */ lui $at,0x4f80 /* f0e00e8: 44882000 */ mtc1 $t0,$f4 /* f0e00ec: 05010004 */ bgez $t0,.PB0f0e0100 /* f0e00f0: 468021a0 */ cvt.s.w $f6,$f4 /* f0e00f4: 44814000 */ mtc1 $at,$f8 /* f0e00f8: 00000000 */ nop /* f0e00fc: 46083180 */ add.s $f6,$f6,$f8 .PB0f0e0100: /* f0e0100: 3c017f1b */ lui $at,0x7f1b /* f0e0104: c42afc18 */ lwc1 $f10,-0x3e8($at) /* f0e0108: 3c014270 */ lui $at,0x4270 /* f0e010c: 44819000 */ mtc1 $at,$f18 /* f0e0110: 460a3402 */ mul.s $f16,$f6,$f10 /* f0e0114: 0c006b8b */ jal sinf /* f0e0118: 46128303 */ div.s $f12,$f16,$f18 /* f0e011c: 44802000 */ mtc1 $zero,$f4 /* f0e0120: 3c014340 */ lui $at,0x4340 /* f0e0124: 44814000 */ mtc1 $at,$f8 /* f0e0128: 4604003c */ c.lt.s $f0,$f4 /* f0e012c: 46000086 */ mov.s $f2,$f0 /* f0e0130: 45000002 */ bc1f .PB0f0e013c /* f0e0134: 00000000 */ nop /* f0e0138: 46000087 */ neg.s $f2,$f0 .PB0f0e013c: /* f0e013c: 46024182 */ mul.s $f6,$f8,$f2 /* f0e0140: 8e090010 */ lw $t1,0x10($s0) /* f0e0144: 8e140014 */ lw $s4,0x14($s0) /* f0e0148: 92030004 */ lbu $v1,0x4($s0) /* f0e014c: 01355024 */ and $t2,$t1,$s5 /* f0e0150: 4600328d */ trunc.w.s $f10,$f6 /* f0e0154: 440c5000 */ mfc1 $t4,$f10 /* f0e0158: 10000005 */ b .PB0f0e0170 /* f0e015c: 014c9821 */ addu $s3,$t2,$t4 /* f0e0160: 8e130010 */ lw $s3,0x10($s0) .PB0f0e0164: /* f0e0164: 8e140014 */ lw $s4,0x14($s0) /* f0e0168: 366d00a0 */ ori $t5,$s3,0xa0 /* f0e016c: 01a09825 */ move $s3,$t5 .PB0f0e0170: /* f0e0170: 240100ff */ li $at,0xff /* f0e0174: 1061001c */ beq $v1,$at,.PB0f0e01e8 /* f0e0178: 00601025 */ move $v0,$v1 /* f0e017c: 326e00ff */ andi $t6,$s3,0xff /* f0e0180: 004e0019 */ multu $v0,$t6 /* f0e0184: 00401825 */ move $v1,$v0 /* f0e0188: 329800ff */ andi $t8,$s4,0xff /* f0e018c: 02754024 */ and $t0,$s3,$s5 /* f0e0190: 02955824 */ and $t3,$s4,$s5 /* f0e0194: 00007812 */ mflo $t7 /* f0e0198: 00000000 */ nop /* f0e019c: 00000000 */ nop /* f0e01a0: 01fe001b */ divu $zero,$t7,$s8 /* f0e01a4: 00002012 */ mflo $a0 /* f0e01a8: 308900ff */ andi $t1,$a0,0xff /* f0e01ac: 17c00002 */ bnez $s8,.PB0f0e01b8 /* f0e01b0: 00000000 */ nop /* f0e01b4: 0007000d */ break 0x7 .PB0f0e01b8: /* f0e01b8: 00780019 */ multu $v1,$t8 /* f0e01bc: 01099821 */ addu $s3,$t0,$t1 /* f0e01c0: 0000c812 */ mflo $t9 /* f0e01c4: 00000000 */ nop /* f0e01c8: 00000000 */ nop /* f0e01cc: 033e001b */ divu $zero,$t9,$s8 /* f0e01d0: 00002812 */ mflo $a1 /* f0e01d4: 30aa00ff */ andi $t2,$a1,0xff /* f0e01d8: 17c00002 */ bnez $s8,.PB0f0e01e4 /* f0e01dc: 00000000 */ nop /* f0e01e0: 0007000d */ break 0x7 .PB0f0e01e4: /* f0e01e4: 016aa021 */ addu $s4,$t3,$t2 .PB0f0e01e8: /* f0e01e8: 960c0018 */ lhu $t4,0x18($s0) /* f0e01ec: 24010006 */ li $at,0x6 /* f0e01f0: afac00e8 */ sw $t4,0xe8($sp) /* f0e01f4: 960d001a */ lhu $t5,0x1a($s0) /* f0e01f8: afad00e4 */ sw $t5,0xe4($sp) /* f0e01fc: 8e0e01b4 */ lw $t6,0x1b4($s0) /* f0e0200: 55c10011 */ bnel $t6,$at,.PB0f0e0248 /* f0e0204: 8e0901b4 */ lw $t1,0x1b4($s0) /* f0e0208: 0fc30711 */ jal playerIsHealthVisible /* f0e020c: 00000000 */ nop /* f0e0210: 5040000d */ beqzl $v0,.PB0f0e0248 /* f0e0214: 8e0901b4 */ lw $t1,0x1b4($s0) /* f0e0218: 0fc306db */ jal playerGetHealthBarHeightFrac /* f0e021c: 00000000 */ nop /* f0e0220: 3c014180 */ lui $at,0x4180 /* f0e0224: 44818000 */ mtc1 $at,$f16 /* f0e0228: 8faf00e4 */ lw $t7,0xe4($sp) /* f0e022c: 46008482 */ mul.s $f18,$f16,$f0 /* f0e0230: 4600910d */ trunc.w.s $f4,$f18 /* f0e0234: 44192000 */ mfc1 $t9,$f4 /* f0e0238: 00000000 */ nop /* f0e023c: 01f94021 */ addu $t0,$t7,$t9 /* f0e0240: afa800e4 */ sw $t0,0xe4($sp) /* f0e0244: 8e0901b4 */ lw $t1,0x1b4($s0) .PB0f0e0248: /* f0e0248: 2401000b */ li $at,0xb /* f0e024c: 55210031 */ bnel $t1,$at,.PB0f0e0314 /* f0e0250: 920d0000 */ lbu $t5,0x0($s0) /* f0e0254: 8fab00e8 */ lw $t3,0xe8($sp) /* f0e0258: 3c0c8008 */ lui $t4,0x8008 /* f0e025c: 8d8c1f90 */ lw $t4,0x1f90($t4) /* f0e0260: 256afffc */ addiu $t2,$t3,-4 /* f0e0264: 3c01ed00 */ lui $at,0xed00 /* f0e0268: 014c0019 */ multu $t2,$t4 /* f0e026c: 02408825 */ move $s1,$s2 /* f0e0270: 26520008 */ addiu $s2,$s2,0x8 /* f0e0274: 00006812 */ mflo $t5 /* f0e0278: 448d4000 */ mtc1 $t5,$f8 /* f0e027c: 00000000 */ nop /* f0e0280: 468041a0 */ cvt.s.w $f6,$f8 /* f0e0284: 46163282 */ mul.s $f10,$f6,$f22 /* f0e0288: 4600540d */ trunc.w.s $f16,$f10 /* f0e028c: 44188000 */ mfc1 $t8,$f16 /* f0e0290: 00000000 */ nop /* f0e0294: 330f0fff */ andi $t7,$t8,0xfff /* f0e0298: 000fcb00 */ sll $t9,$t7,0xc /* f0e029c: 03214025 */ or $t0,$t9,$at /* f0e02a0: 0c002e40 */ jal viGetBufHeight /* f0e02a4: ae280000 */ sw $t0,0x0($s1) /* f0e02a8: 8fa900e8 */ lw $t1,0xe8($sp) /* f0e02ac: 960b001c */ lhu $t3,0x1c($s0) /* f0e02b0: 3c0d8008 */ lui $t5,0x8008 /* f0e02b4: 8dad1f90 */ lw $t5,0x1f90($t5) /* f0e02b8: 012b5021 */ addu $t2,$t1,$t3 /* f0e02bc: 254c0003 */ addiu $t4,$t2,0x3 /* f0e02c0: 018d0019 */ multu $t4,$t5 /* f0e02c4: 44825000 */ mtc1 $v0,$f10 /* f0e02c8: 00000000 */ nop /* f0e02cc: 46805420 */ cvt.s.w $f16,$f10 /* f0e02d0: 00007012 */ mflo $t6 /* f0e02d4: 448e9000 */ mtc1 $t6,$f18 /* f0e02d8: 00000000 */ nop /* f0e02dc: 46809120 */ cvt.s.w $f4,$f18 /* f0e02e0: 46162202 */ mul.s $f8,$f4,$f22 /* f0e02e4: 00000000 */ nop /* f0e02e8: 46168482 */ mul.s $f18,$f16,$f22 /* f0e02ec: 4600418d */ trunc.w.s $f6,$f8 /* f0e02f0: 4600910d */ trunc.w.s $f4,$f18 /* f0e02f4: 440f3000 */ mfc1 $t7,$f6 /* f0e02f8: 440b2000 */ mfc1 $t3,$f4 /* f0e02fc: 31f90fff */ andi $t9,$t7,0xfff /* f0e0300: 00194300 */ sll $t0,$t9,0xc /* f0e0304: 316a0fff */ andi $t2,$t3,0xfff /* f0e0308: 01486025 */ or $t4,$t2,$t0 /* f0e030c: ae2c0004 */ sw $t4,0x4($s1) /* f0e0310: 920d0000 */ lbu $t5,0x0($s0) .PB0f0e0314: /* f0e0314: 2da10006 */ sltiu $at,$t5,0x6 /* f0e0318: 10200198 */ beqz $at,.PB0f0e097c /* f0e031c: 000d6880 */ sll $t5,$t5,0x2 /* f0e0320: 3c017f1b */ lui $at,0x7f1b /* f0e0324: 002d0821 */ addu $at,$at,$t5 /* f0e0328: 8c2dfc1c */ lw $t5,-0x3e4($at) /* f0e032c: 01a00008 */ jr $t5 /* f0e0330: 00000000 */ nop /* f0e0334: 8e110010 */ lw $s1,0x10($s0) /* f0e0338: 92020004 */ lbu $v0,0x4($s0) /* f0e033c: 240100ff */ li $at,0xff /* f0e0340: 362e0040 */ ori $t6,$s1,0x40 /* f0e0344: 1041000e */ beq $v0,$at,.PB0f0e0380 /* f0e0348: 01c08825 */ move $s1,$t6 /* f0e034c: 31d800ff */ andi $t8,$t6,0xff /* f0e0350: 00580019 */ multu $v0,$t8 /* f0e0354: 0235c824 */ and $t9,$s1,$s5 /* f0e0358: 00007812 */ mflo $t7 /* f0e035c: 00000000 */ nop /* f0e0360: 00000000 */ nop /* f0e0364: 01fe001b */ divu $zero,$t7,$s8 /* f0e0368: 00001812 */ mflo $v1 /* f0e036c: 306900ff */ andi $t1,$v1,0xff /* f0e0370: 17c00002 */ bnez $s8,.PB0f0e037c /* f0e0374: 00000000 */ nop /* f0e0378: 0007000d */ break 0x7 .PB0f0e037c: /* f0e037c: 03298821 */ addu $s1,$t9,$t1 .PB0f0e0380: /* f0e0380: 9602001c */ lhu $v0,0x1c($s0) /* f0e0384: 9603001e */ lhu $v1,0x1e($s0) /* f0e0388: 00420019 */ multu $v0,$v0 /* f0e038c: 00005812 */ mflo $t3 /* f0e0390: 00000000 */ nop /* f0e0394: 00000000 */ nop /* f0e0398: 00630019 */ multu $v1,$v1 /* f0e039c: 00005012 */ mflo $t2 /* f0e03a0: 016a4021 */ addu $t0,$t3,$t2 /* f0e03a4: 44884000 */ mtc1 $t0,$f8 /* f0e03a8: 0c012ae4 */ jal sqrtf /* f0e03ac: 46804320 */ cvt.s.w $f12,$f8 /* f0e03b0: 3c014304 */ lui $at,0x4304 /* f0e03b4: 44813000 */ mtc1 $at,$f6 /* f0e03b8: 44802000 */ mtc1 $zero,$f4 /* f0e03bc: 3c014f80 */ lui $at,0x4f80 /* f0e03c0: 46060280 */ add.s $f10,$f0,$f6 /* f0e03c4: 46185083 */ div.s $f2,$f10,$f24 /* f0e03c8: 4602d03c */ c.lt.s $f26,$f2 /* f0e03cc: 00000000 */ nop /* f0e03d0: 45020003 */ bc1fl .PB0f0e03e0 /* f0e03d4: 960c0006 */ lhu $t4,0x6($s0) /* f0e03d8: 4600d086 */ mov.s $f2,$f26 /* f0e03dc: 960c0006 */ lhu $t4,0x6($s0) .PB0f0e03e0: /* f0e03e0: 448c8000 */ mtc1 $t4,$f16 /* f0e03e4: 05810004 */ bgez $t4,.PB0f0e03f8 /* f0e03e8: 46808320 */ cvt.s.w $f12,$f16 /* f0e03ec: 44819000 */ mtc1 $at,$f18 /* f0e03f0: 00000000 */ nop /* f0e03f4: 46126300 */ add.s $f12,$f12,$f18 .PB0f0e03f8: /* f0e03f8: 46026083 */ div.s $f2,$f12,$f2 /* f0e03fc: 8fa400e8 */ lw $a0,0xe8($sp) /* f0e0400: 8fa500e4 */ lw $a1,0xe4($sp) /* f0e0404: 00003825 */ move $a3,$zero /* f0e0408: 46186002 */ mul.s $f0,$f12,$f24 /* f0e040c: 44060000 */ mfc1 $a2,$f0 /* f0e0410: 4602a03c */ c.lt.s $f20,$f2 /* f0e0414: 00000000 */ nop /* f0e0418: 45020003 */ bc1fl .PB0f0e0428 /* f0e041c: 4604103c */ c.lt.s $f2,$f4 /* f0e0420: 4600a086 */ mov.s $f2,$f20 /* f0e0424: 4604103c */ c.lt.s $f2,$f4 .PB0f0e0428: /* f0e0428: 00000000 */ nop /* f0e042c: 45000003 */ bc1f .PB0f0e043c /* f0e0430: 00000000 */ nop /* f0e0434: 44801000 */ mtc1 $zero,$f2 /* f0e0438: 00000000 */ nop .PB0f0e043c: /* f0e043c: 0fc5540d */ jal func0f153c20 /* f0e0440: e7a200c0 */ swc1 $f2,0xc0($sp) /* f0e0444: 920d0001 */ lbu $t5,0x1($s0) /* f0e0448: c7a200c0 */ lwc1 $f2,0xc0($sp) /* f0e044c: 02402025 */ move $a0,$s2 /* f0e0450: 11a00027 */ beqz $t5,.PB0f0e04f0 /* f0e0454: 8fa500e8 */ lw $a1,0xe8($sp) /* f0e0458: 8fb800e4 */ lw $t8,0xe4($sp) /* f0e045c: 9619001e */ lhu $t9,0x1e($s0) /* f0e0460: 8fae00e8 */ lw $t6,0xe8($sp) /* f0e0464: 960f001c */ lhu $t7,0x1c($s0) /* f0e0468: 03384821 */ addu $t1,$t9,$t8 /* f0e046c: 252b0002 */ addiu $t3,$t1,0x2 /* f0e0470: 01ee3821 */ addu $a3,$t7,$t6 /* f0e0474: 24e70002 */ addiu $a3,$a3,0x2 /* f0e0478: afab0010 */ sw $t3,0x10($sp) /* f0e047c: e7a2001c */ swc1 $f2,0x1c($sp) /* f0e0480: afb10018 */ sw $s1,0x18($sp) /* f0e0484: e7b40014 */ swc1 $f20,0x14($sp) /* f0e0488: 02402025 */ move $a0,$s2 /* f0e048c: 2706fffd */ addiu $a2,$t8,-3 /* f0e0490: 0fc37736 */ jal hudmsgRenderBox /* f0e0494: 25c5fffd */ addiu $a1,$t6,-3 /* f0e0498: 0c002e4d */ jal viGetWidth /* f0e049c: 00409025 */ move $s2,$v0 /* f0e04a0: 00028c00 */ sll $s1,$v0,0x10 /* f0e04a4: 00115403 */ sra $t2,$s1,0x10 /* f0e04a8: 0c002e51 */ jal viGetHeight /* f0e04ac: 01408825 */ move $s1,$t2 /* f0e04b0: 8e080008 */ lw $t0,0x8($s0) /* f0e04b4: 02402025 */ move $a0,$s2 /* f0e04b8: 02c02825 */ move $a1,$s6 /* f0e04bc: afa80010 */ sw $t0,0x10($sp) /* f0e04c0: 8e0c000c */ lw $t4,0xc($s0) /* f0e04c4: afa00028 */ sw $zero,0x28($sp) /* f0e04c8: afa00024 */ sw $zero,0x24($sp) /* f0e04cc: afa20020 */ sw $v0,0x20($sp) /* f0e04d0: afb1001c */ sw $s1,0x1c($sp) /* f0e04d4: afb30018 */ sw $s3,0x18($sp) /* f0e04d8: 02e03025 */ move $a2,$s7 /* f0e04dc: 26070020 */ addiu $a3,$s0,0x20 /* f0e04e0: 0fc55e10 */ jal textRenderProjected /* f0e04e4: afac0014 */ sw $t4,0x14($sp) /* f0e04e8: 1000001f */ b .PB0f0e0568 /* f0e04ec: 00409025 */ move $s2,$v0 .PB0f0e04f0: /* f0e04f0: 8fa600e4 */ lw $a2,0xe4($sp) /* f0e04f4: 9619001e */ lhu $t9,0x1e($s0) /* f0e04f8: 960e001c */ lhu $t6,0x1c($s0) /* f0e04fc: afa00014 */ sw $zero,0x14($sp) /* f0e0500: 0326c021 */ addu $t8,$t9,$a2 /* f0e0504: afb80010 */ sw $t8,0x10($sp) /* f0e0508: 0fc55392 */ jal func0f153a34 /* f0e050c: 01c53821 */ addu $a3,$t6,$a1 /* f0e0510: 0c002e4d */ jal viGetWidth /* f0e0514: 00409025 */ move $s2,$v0 /* f0e0518: 00028c00 */ sll $s1,$v0,0x10 /* f0e051c: 00114c03 */ sra $t1,$s1,0x10 /* f0e0520: 0c002e51 */ jal viGetHeight /* f0e0524: 01208825 */ move $s1,$t1 /* f0e0528: 8e0b0008 */ lw $t3,0x8($s0) /* f0e052c: 02402025 */ move $a0,$s2 /* f0e0530: 02c02825 */ move $a1,$s6 /* f0e0534: afab0010 */ sw $t3,0x10($sp) /* f0e0538: 8e0a000c */ lw $t2,0xc($s0) /* f0e053c: afa0002c */ sw $zero,0x2c($sp) /* f0e0540: afa00028 */ sw $zero,0x28($sp) /* f0e0544: afa20024 */ sw $v0,0x24($sp) /* f0e0548: afb10020 */ sw $s1,0x20($sp) /* f0e054c: afb4001c */ sw $s4,0x1c($sp) /* f0e0550: afb30018 */ sw $s3,0x18($sp) /* f0e0554: 02e03025 */ move $a2,$s7 /* f0e0558: 26070020 */ addiu $a3,$s0,0x20 /* f0e055c: 0fc56160 */ jal textRender /* f0e0560: afaa0014 */ sw $t2,0x14($sp) /* f0e0564: 00409025 */ move $s2,$v0 .PB0f0e0568: /* f0e0568: 920801c9 */ lbu $t0,0x1c9($s0) /* f0e056c: 24010006 */ li $at,0x6 /* f0e0570: 15010002 */ bne $t0,$at,.PB0f0e057c /* f0e0574: 00000000 */ nop /* f0e0578: afa000e0 */ sw $zero,0xe0($sp) .PB0f0e057c: /* f0e057c: 0fc55498 */ jal func0f153e4c /* f0e0580: 00000000 */ nop /* f0e0584: 100000fe */ b .PB0f0e0980 /* f0e0588: 8e0801b4 */ lw $t0,0x1b4($s0) /* f0e058c: 920c0001 */ lbu $t4,0x1($s0) /* f0e0590: 8fa900e8 */ lw $t1,0xe8($sp) /* f0e0594: 8fab00e4 */ lw $t3,0xe4($sp) /* f0e0598: 11800037 */ beqz $t4,.PB0f0e0678 /* f0e059c: 2525fffd */ addiu $a1,$t1,-3 /* f0e05a0: 8e030010 */ lw $v1,0x10($s0) /* f0e05a4: 92020004 */ lbu $v0,0x4($s0) /* f0e05a8: 240100ff */ li $at,0xff /* f0e05ac: 346e0040 */ ori $t6,$v1,0x40 /* f0e05b0: 1041000e */ beq $v0,$at,.PB0f0e05ec /* f0e05b4: 01c01825 */ move $v1,$t6 /* f0e05b8: 31cd00ff */ andi $t5,$t6,0xff /* f0e05bc: 004d0019 */ multu $v0,$t5 /* f0e05c0: 00757824 */ and $t7,$v1,$s5 /* f0e05c4: 0000c812 */ mflo $t9 /* f0e05c8: 00000000 */ nop /* f0e05cc: 00000000 */ nop /* f0e05d0: 033e001b */ divu $zero,$t9,$s8 /* f0e05d4: 00002012 */ mflo $a0 /* f0e05d8: 309800ff */ andi $t8,$a0,0xff /* f0e05dc: 17c00002 */ bnez $s8,.PB0f0e05e8 /* f0e05e0: 00000000 */ nop /* f0e05e4: 0007000d */ break 0x7 .PB0f0e05e8: /* f0e05e8: 01f81821 */ addu $v1,$t7,$t8 .PB0f0e05ec: /* f0e05ec: 9608001e */ lhu $t0,0x1e($s0) /* f0e05f0: 960a001c */ lhu $t2,0x1c($s0) /* f0e05f4: e7b4001c */ swc1 $f20,0x1c($sp) /* f0e05f8: 010b6021 */ addu $t4,$t0,$t3 /* f0e05fc: 258e0002 */ addiu $t6,$t4,0x2 /* f0e0600: 01493821 */ addu $a3,$t2,$t1 /* f0e0604: 24e70002 */ addiu $a3,$a3,0x2 /* f0e0608: afae0010 */ sw $t6,0x10($sp) /* f0e060c: afa30018 */ sw $v1,0x18($sp) /* f0e0610: e7b40014 */ swc1 $f20,0x14($sp) /* f0e0614: 02402025 */ move $a0,$s2 /* f0e0618: 0fc37736 */ jal hudmsgRenderBox /* f0e061c: 2566fffd */ addiu $a2,$t3,-3 /* f0e0620: 0c002e4d */ jal viGetWidth /* f0e0624: 00409025 */ move $s2,$v0 /* f0e0628: 00028c00 */ sll $s1,$v0,0x10 /* f0e062c: 00116c03 */ sra $t5,$s1,0x10 /* f0e0630: 0c002e51 */ jal viGetHeight /* f0e0634: 01a08825 */ move $s1,$t5 /* f0e0638: 8e190008 */ lw $t9,0x8($s0) /* f0e063c: 02402025 */ move $a0,$s2 /* f0e0640: 02c02825 */ move $a1,$s6 /* f0e0644: afb90010 */ sw $t9,0x10($sp) /* f0e0648: 8e0f000c */ lw $t7,0xc($s0) /* f0e064c: afa00028 */ sw $zero,0x28($sp) /* f0e0650: afa00024 */ sw $zero,0x24($sp) /* f0e0654: afa20020 */ sw $v0,0x20($sp) /* f0e0658: afb1001c */ sw $s1,0x1c($sp) /* f0e065c: afb30018 */ sw $s3,0x18($sp) /* f0e0660: 02e03025 */ move $a2,$s7 /* f0e0664: 26070020 */ addiu $a3,$s0,0x20 /* f0e0668: 0fc55e10 */ jal textRenderProjected /* f0e066c: afaf0014 */ sw $t7,0x14($sp) /* f0e0670: 10000021 */ b .PB0f0e06f8 /* f0e0674: 00409025 */ move $s2,$v0 .PB0f0e0678: /* f0e0678: 8fa600e4 */ lw $a2,0xe4($sp) /* f0e067c: 9608001e */ lhu $t0,0x1e($s0) /* f0e0680: 8fa500e8 */ lw $a1,0xe8($sp) /* f0e0684: 9609001c */ lhu $t1,0x1c($s0) /* f0e0688: 01065821 */ addu $t3,$t0,$a2 /* f0e068c: afab0010 */ sw $t3,0x10($sp) /* f0e0690: afa00014 */ sw $zero,0x14($sp) /* f0e0694: 02402025 */ move $a0,$s2 /* f0e0698: 0fc55392 */ jal func0f153a34 /* f0e069c: 01253821 */ addu $a3,$t1,$a1 /* f0e06a0: 0c002e4d */ jal viGetWidth /* f0e06a4: 00409025 */ move $s2,$v0 /* f0e06a8: 00028c00 */ sll $s1,$v0,0x10 /* f0e06ac: 00116403 */ sra $t4,$s1,0x10 /* f0e06b0: 0c002e51 */ jal viGetHeight /* f0e06b4: 01808825 */ move $s1,$t4 /* f0e06b8: 8e0e0008 */ lw $t6,0x8($s0) /* f0e06bc: 02402025 */ move $a0,$s2 /* f0e06c0: 02c02825 */ move $a1,$s6 /* f0e06c4: afae0010 */ sw $t6,0x10($sp) /* f0e06c8: 8e0d000c */ lw $t5,0xc($s0) /* f0e06cc: afa0002c */ sw $zero,0x2c($sp) /* f0e06d0: afa00028 */ sw $zero,0x28($sp) /* f0e06d4: afa20024 */ sw $v0,0x24($sp) /* f0e06d8: afb10020 */ sw $s1,0x20($sp) /* f0e06dc: afb4001c */ sw $s4,0x1c($sp) /* f0e06e0: afb30018 */ sw $s3,0x18($sp) /* f0e06e4: 02e03025 */ move $a2,$s7 /* f0e06e8: 26070020 */ addiu $a3,$s0,0x20 /* f0e06ec: 0fc56160 */ jal textRender /* f0e06f0: afad0014 */ sw $t5,0x14($sp) /* f0e06f4: 00409025 */ move $s2,$v0 .PB0f0e06f8: /* f0e06f8: 921901c9 */ lbu $t9,0x1c9($s0) /* f0e06fc: 24010006 */ li $at,0x6 /* f0e0700: 5721009f */ bnel $t9,$at,.PB0f0e0980 /* f0e0704: 8e0801b4 */ lw $t0,0x1b4($s0) /* f0e0708: 1000009c */ b .PB0f0e097c /* f0e070c: afa000e0 */ sw $zero,0xe0($sp) /* f0e0710: 9602001c */ lhu $v0,0x1c($s0) /* f0e0714: 9603001e */ lhu $v1,0x1e($s0) /* f0e0718: 00420019 */ multu $v0,$v0 /* f0e071c: 00007812 */ mflo $t7 /* f0e0720: 00000000 */ nop /* f0e0724: 00000000 */ nop /* f0e0728: 00630019 */ multu $v1,$v1 /* f0e072c: 00004812 */ mflo $t1 /* f0e0730: 01e9c021 */ addu $t8,$t7,$t1 /* f0e0734: 44984000 */ mtc1 $t8,$f8 /* f0e0738: 0c012ae4 */ jal sqrtf /* f0e073c: 46804320 */ cvt.s.w $f12,$f8 /* f0e0740: 3c0142b8 */ lui $at,0x42b8 /* f0e0744: 44813000 */ mtc1 $at,$f6 /* f0e0748: 8e110010 */ lw $s1,0x10($s0) /* f0e074c: 92020004 */ lbu $v0,0x4($s0) /* f0e0750: 46060280 */ add.s $f10,$f0,$f6 /* f0e0754: 240100ff */ li $at,0xff /* f0e0758: 36280040 */ ori $t0,$s1,0x40 /* f0e075c: 01008825 */ move $s1,$t0 /* f0e0760: 1041000e */ beq $v0,$at,.PB0f0e079c /* f0e0764: 46185083 */ div.s $f2,$f10,$f24 /* f0e0768: 310a00ff */ andi $t2,$t0,0xff /* f0e076c: 004a0019 */ multu $v0,$t2 /* f0e0770: 02356024 */ and $t4,$s1,$s5 /* f0e0774: 00005812 */ mflo $t3 /* f0e0778: 00000000 */ nop /* f0e077c: 00000000 */ nop /* f0e0780: 017e001b */ divu $zero,$t3,$s8 /* f0e0784: 00001812 */ mflo $v1 /* f0e0788: 306e00ff */ andi $t6,$v1,0xff /* f0e078c: 17c00002 */ bnez $s8,.PB0f0e0798 /* f0e0790: 00000000 */ nop /* f0e0794: 0007000d */ break 0x7 .PB0f0e0798: /* f0e0798: 018e8821 */ addu $s1,$t4,$t6 .PB0f0e079c: /* f0e079c: 960d0006 */ lhu $t5,0x6($s0) /* f0e07a0: 3c014f80 */ lui $at,0x4f80 /* f0e07a4: 448d8000 */ mtc1 $t5,$f16 /* f0e07a8: 05a10004 */ bgez $t5,.PB0f0e07bc /* f0e07ac: 468084a0 */ cvt.s.w $f18,$f16 /* f0e07b0: 44812000 */ mtc1 $at,$f4 /* f0e07b4: 00000000 */ nop /* f0e07b8: 46049480 */ add.s $f18,$f18,$f4 .PB0f0e07bc: /* f0e07bc: 46121201 */ sub.s $f8,$f2,$f18 /* f0e07c0: 9619001c */ lhu $t9,0x1c($s0) /* f0e07c4: 8faf00e8 */ lw $t7,0xe8($sp) /* f0e07c8: 9609001e */ lhu $t1,0x1e($s0) /* f0e07cc: 46184002 */ mul.s $f0,$f8,$f24 /* f0e07d0: 8fb800e4 */ lw $t8,0xe4($sp) /* f0e07d4: e7a200a8 */ swc1 $f2,0xa8($sp) /* f0e07d8: 24070002 */ li $a3,0x2 /* f0e07dc: 032f2021 */ addu $a0,$t9,$t7 /* f0e07e0: 01382821 */ addu $a1,$t1,$t8 /* f0e07e4: 44060000 */ mfc1 $a2,$f0 /* f0e07e8: 0fc5540d */ jal func0f153c20 /* f0e07ec: 00000000 */ nop /* f0e07f0: c7a200a8 */ lwc1 $f2,0xa8($sp) /* f0e07f4: 3c014f80 */ lui $at,0x4f80 /* f0e07f8: 8fab00e8 */ lw $t3,0xe8($sp) /* f0e07fc: 4602d03c */ c.lt.s $f26,$f2 /* f0e0800: 8fac00e4 */ lw $t4,0xe4($sp) /* f0e0804: 02402025 */ move $a0,$s2 /* f0e0808: 8fa500e8 */ lw $a1,0xe8($sp) /* f0e080c: 45000002 */ bc1f .PB0f0e0818 /* f0e0810: 8fa600e4 */ lw $a2,0xe4($sp) /* f0e0814: 4600d086 */ mov.s $f2,$f26 .PB0f0e0818: /* f0e0818: 96080006 */ lhu $t0,0x6($s0) /* f0e081c: 44883000 */ mtc1 $t0,$f6 /* f0e0820: 05010004 */ bgez $t0,.PB0f0e0834 /* f0e0824: 468032a0 */ cvt.s.w $f10,$f6 /* f0e0828: 44818000 */ mtc1 $at,$f16 /* f0e082c: 00000000 */ nop /* f0e0830: 46105280 */ add.s $f10,$f10,$f16 .PB0f0e0834: /* f0e0834: 46025083 */ div.s $f2,$f10,$f2 /* f0e0838: 4602a03c */ c.lt.s $f20,$f2 /* f0e083c: 00000000 */ nop /* f0e0840: 45020003 */ bc1fl .PB0f0e0850 /* f0e0844: 920a0001 */ lbu $t2,0x1($s0) /* f0e0848: 4600a086 */ mov.s $f2,$f20 /* f0e084c: 920a0001 */ lbu $t2,0x1($s0) .PB0f0e0850: /* f0e0850: 51400027 */ beqzl $t2,.PB0f0e08f0 /* f0e0854: 960d001e */ lhu $t5,0x1e($s0) /* f0e0858: 960d001e */ lhu $t5,0x1e($s0) /* f0e085c: 960e001c */ lhu $t6,0x1c($s0) /* f0e0860: 4602a101 */ sub.s $f4,$f20,$f2 /* f0e0864: 01acc821 */ addu $t9,$t5,$t4 /* f0e0868: 272f0002 */ addiu $t7,$t9,0x2 /* f0e086c: 01cb3821 */ addu $a3,$t6,$t3 /* f0e0870: 24e70002 */ addiu $a3,$a3,0x2 /* f0e0874: afaf0010 */ sw $t7,0x10($sp) /* f0e0878: e7a4001c */ swc1 $f4,0x1c($sp) /* f0e087c: afb10018 */ sw $s1,0x18($sp) /* f0e0880: e7b40014 */ swc1 $f20,0x14($sp) /* f0e0884: 02402025 */ move $a0,$s2 /* f0e0888: 2565fffd */ addiu $a1,$t3,-3 /* f0e088c: 0fc37736 */ jal hudmsgRenderBox /* f0e0890: 2586fffd */ addiu $a2,$t4,-3 /* f0e0894: 0c002e4d */ jal viGetWidth /* f0e0898: 00409025 */ move $s2,$v0 /* f0e089c: 00028c00 */ sll $s1,$v0,0x10 /* f0e08a0: 00114c03 */ sra $t1,$s1,0x10 /* f0e08a4: 0c002e51 */ jal viGetHeight /* f0e08a8: 01208825 */ move $s1,$t1 /* f0e08ac: 8e180008 */ lw $t8,0x8($s0) /* f0e08b0: 02402025 */ move $a0,$s2 /* f0e08b4: 02c02825 */ move $a1,$s6 /* f0e08b8: afb80010 */ sw $t8,0x10($sp) /* f0e08bc: 8e08000c */ lw $t0,0xc($s0) /* f0e08c0: afa00028 */ sw $zero,0x28($sp) /* f0e08c4: afa00024 */ sw $zero,0x24($sp) /* f0e08c8: afa20020 */ sw $v0,0x20($sp) /* f0e08cc: afb1001c */ sw $s1,0x1c($sp) /* f0e08d0: afb30018 */ sw $s3,0x18($sp) /* f0e08d4: 02e03025 */ move $a2,$s7 /* f0e08d8: 26070020 */ addiu $a3,$s0,0x20 /* f0e08dc: 0fc55e10 */ jal textRenderProjected /* f0e08e0: afa80014 */ sw $t0,0x14($sp) /* f0e08e4: 1000001e */ b .PB0f0e0960 /* f0e08e8: 00409025 */ move $s2,$v0 /* f0e08ec: 960d001e */ lhu $t5,0x1e($s0) .PB0f0e08f0: /* f0e08f0: 960b001c */ lhu $t3,0x1c($s0) /* f0e08f4: afa00014 */ sw $zero,0x14($sp) /* f0e08f8: 01a66021 */ addu $t4,$t5,$a2 /* f0e08fc: afac0010 */ sw $t4,0x10($sp) /* f0e0900: 0fc55392 */ jal func0f153a34 /* f0e0904: 01653821 */ addu $a3,$t3,$a1 /* f0e0908: 0c002e4d */ jal viGetWidth /* f0e090c: 00409025 */ move $s2,$v0 /* f0e0910: 00028c00 */ sll $s1,$v0,0x10 /* f0e0914: 0011cc03 */ sra $t9,$s1,0x10 /* f0e0918: 0c002e51 */ jal viGetHeight /* f0e091c: 03208825 */ move $s1,$t9 /* f0e0920: 8e0f0008 */ lw $t7,0x8($s0) /* f0e0924: 02402025 */ move $a0,$s2 /* f0e0928: 02c02825 */ move $a1,$s6 /* f0e092c: afaf0010 */ sw $t7,0x10($sp) /* f0e0930: 8e09000c */ lw $t1,0xc($s0) /* f0e0934: afa0002c */ sw $zero,0x2c($sp) /* f0e0938: afa00028 */ sw $zero,0x28($sp) /* f0e093c: afa20024 */ sw $v0,0x24($sp) /* f0e0940: afb10020 */ sw $s1,0x20($sp) /* f0e0944: afb4001c */ sw $s4,0x1c($sp) /* f0e0948: afb30018 */ sw $s3,0x18($sp) /* f0e094c: 02e03025 */ move $a2,$s7 /* f0e0950: 26070020 */ addiu $a3,$s0,0x20 /* f0e0954: 0fc56160 */ jal textRender /* f0e0958: afa90014 */ sw $t1,0x14($sp) /* f0e095c: 00409025 */ move $s2,$v0 .PB0f0e0960: /* f0e0960: 921801c9 */ lbu $t8,0x1c9($s0) /* f0e0964: 24010006 */ li $at,0x6 /* f0e0968: 17010002 */ bne $t8,$at,.PB0f0e0974 /* f0e096c: 00000000 */ nop /* f0e0970: afa000e0 */ sw $zero,0xe0($sp) .PB0f0e0974: /* f0e0974: 0fc55498 */ jal func0f153e4c /* f0e0978: 00000000 */ nop .PB0f0e097c: /* f0e097c: 8e0801b4 */ lw $t0,0x1b4($s0) .PB0f0e0980: /* f0e0980: 2401000b */ li $at,0xb /* f0e0984: 15010039 */ bne $t0,$at,.PB0f0e0a6c /* f0e0988: 00000000 */ nop /* f0e098c: afb2009c */ sw $s2,0x9c($sp) /* f0e0990: 0c002e8b */ jal viGetViewLeft /* f0e0994: 26520008 */ addiu $s2,$s2,0x8 /* f0e0998: 00028400 */ sll $s0,$v0,0x10 /* f0e099c: 00105c03 */ sra $t3,$s0,0x10 /* f0e09a0: 01608025 */ move $s0,$t3 /* f0e09a4: 0c002e8f */ jal viGetViewTop /* f0e09a8: 8fb3009c */ lw $s3,0x9c($sp) /* f0e09ac: 44829000 */ mtc1 $v0,$f18 /* f0e09b0: 44905000 */ mtc1 $s0,$f10 /* f0e09b4: 3c01ed00 */ lui $at,0xed00 /* f0e09b8: 46809220 */ cvt.s.w $f8,$f18 /* f0e09bc: 46805120 */ cvt.s.w $f4,$f10 /* f0e09c0: 46164182 */ mul.s $f6,$f8,$f22 /* f0e09c4: 00000000 */ nop /* f0e09c8: 46162482 */ mul.s $f18,$f4,$f22 /* f0e09cc: 4600340d */ trunc.w.s $f16,$f6 /* f0e09d0: 4600920d */ trunc.w.s $f8,$f18 /* f0e09d4: 440d8000 */ mfc1 $t5,$f16 /* f0e09d8: 440f4000 */ mfc1 $t7,$f8 /* f0e09dc: 31ae0fff */ andi $t6,$t5,0xfff /* f0e09e0: 01c16025 */ or $t4,$t6,$at /* f0e09e4: 31e90fff */ andi $t1,$t7,0xfff /* f0e09e8: 0009c300 */ sll $t8,$t1,0xc /* f0e09ec: 01984025 */ or $t0,$t4,$t8 /* f0e09f0: 0c002e6d */ jal viGetViewWidth /* f0e09f4: ae680000 */ sw $t0,0x0($s3) /* f0e09f8: 0c002e8b */ jal viGetViewLeft /* f0e09fc: a7a20092 */ sh $v0,0x92($sp) /* f0e0a00: 00028c00 */ sll $s1,$v0,0x10 /* f0e0a04: 00115c03 */ sra $t3,$s1,0x10 /* f0e0a08: 0c002e8f */ jal viGetViewTop /* f0e0a0c: 01608825 */ move $s1,$t3 /* f0e0a10: 00028400 */ sll $s0,$v0,0x10 /* f0e0a14: 00105403 */ sra $t2,$s0,0x10 /* f0e0a18: 0c002e71 */ jal viGetViewHeight /* f0e0a1c: 01408025 */ move $s0,$t2 /* f0e0a20: 87a90092 */ lh $t1,0x92($sp) /* f0e0a24: 00506821 */ addu $t5,$v0,$s0 /* f0e0a28: 448d3000 */ mtc1 $t5,$f6 /* f0e0a2c: 02296021 */ addu $t4,$s1,$t1 /* f0e0a30: 448c9000 */ mtc1 $t4,$f18 /* f0e0a34: 46803420 */ cvt.s.w $f16,$f6 /* f0e0a38: 46809220 */ cvt.s.w $f8,$f18 /* f0e0a3c: 46168282 */ mul.s $f10,$f16,$f22 /* f0e0a40: 00000000 */ nop /* f0e0a44: 46164182 */ mul.s $f6,$f8,$f22 /* f0e0a48: 4600510d */ trunc.w.s $f4,$f10 /* f0e0a4c: 4600340d */ trunc.w.s $f16,$f6 /* f0e0a50: 44192000 */ mfc1 $t9,$f4 /* f0e0a54: 44088000 */ mfc1 $t0,$f16 /* f0e0a58: 332f0fff */ andi $t7,$t9,0xfff /* f0e0a5c: 310b0fff */ andi $t3,$t0,0xfff /* f0e0a60: 000b5300 */ sll $t2,$t3,0xc /* f0e0a64: 01ea6825 */ or $t5,$t7,$t2 /* f0e0a68: ae6d0004 */ sw $t5,0x4($s3) .PB0f0e0a6c: /* f0e0a6c: 3c048007 */ lui $a0,0x8007 /* f0e0a70: 8c842cb8 */ lw $a0,0x2cb8($a0) /* f0e0a74: 00041100 */ sll $v0,$a0,0x4 /* f0e0a78: 00441023 */ subu $v0,$v0,$a0 /* f0e0a7c: 000210c0 */ sll $v0,$v0,0x3 /* f0e0a80: 00441023 */ subu $v0,$v0,$a0 /* f0e0a84: 00021080 */ sll $v0,$v0,0x2 .PB0f0e0a88: /* f0e0a88: 8fae0088 */ lw $t6,0x88($sp) /* f0e0a8c: 25d901dc */ addiu $t9,$t6,0x1dc /* f0e0a90: 0322082a */ slt $at,$t9,$v0 /* f0e0a94: 1420fd70 */ bnez $at,.PB0f0e0058 /* f0e0a98: afb90088 */ sw $t9,0x88($sp) .PB0f0e0a9c: /* f0e0a9c: 8fa900e0 */ lw $t1,0xe0($sp) /* f0e0aa0: 3c0c800a */ lui $t4,0x800a /* f0e0aa4: 11200028 */ beqz $t1,.PB0f0e0b48 /* f0e0aa8: 00000000 */ nop /* f0e0aac: 8d8ce758 */ lw $t4,-0x18a8($t4) /* f0e0ab0: 0fc54f26 */ jal optionsGetShowMissionTime /* f0e0ab4: 8d840070 */ lw $a0,0x70($t4) /* f0e0ab8: 10400019 */ beqz $v0,.PB0f0e0b20 /* f0e0abc: 3c188007 */ lui $t8,0x8007 /* f0e0ac0: 8f187b70 */ lw $t8,0x7b70($t8) /* f0e0ac4: 24030002 */ li $v1,0x2 /* f0e0ac8: 3c08800a */ lui $t0,0x800a /* f0e0acc: 14780014 */ bne $v1,$t8,.PB0f0e0b20 /* f0e0ad0: 00000000 */ nop /* f0e0ad4: 8d08e7e8 */ lw $t0,-0x1818($t0) /* f0e0ad8: 3c0b800a */ lui $t3,0x800a /* f0e0adc: 15000010 */ bnez $t0,.PB0f0e0b20 /* f0e0ae0: 00000000 */ nop /* f0e0ae4: 8d6be984 */ lw $t3,-0x167c($t3) /* f0e0ae8: 24010026 */ li $at,0x26 /* f0e0aec: 3c0f800a */ lui $t7,0x800a /* f0e0af0: 1161000b */ beq $t3,$at,.PB0f0e0b20 /* f0e0af4: 00000000 */ nop /* f0e0af8: 8defe754 */ lw $t7,-0x18ac($t7) /* f0e0afc: 24010001 */ li $at,0x1 /* f0e0b00: 8de20000 */ lw $v0,0x0($t7) /* f0e0b04: 10620006 */ beq $v1,$v0,.PB0f0e0b20 /* f0e0b08: 00000000 */ nop /* f0e0b0c: 10410004 */ beq $v0,$at,.PB0f0e0b20 /* f0e0b10: 02402025 */ move $a0,$s2 /* f0e0b14: 0fc374e1 */ jal hudmsgRenderMissionTimer /* f0e0b18: 8fa500e0 */ lw $a1,0xe0($sp) /* f0e0b1c: 00409025 */ move $s2,$v0 .PB0f0e0b20: /* f0e0b20: 0fc37493 */ jal hudmsgIsZoomRangeVisible /* f0e0b24: 00000000 */ nop /* f0e0b28: 10400004 */ beqz $v0,.PB0f0e0b3c /* f0e0b2c: 02402025 */ move $a0,$s2 /* f0e0b30: 0fc375cf */ jal hudmsgRenderZoomRange /* f0e0b34: 8fa500e0 */ lw $a1,0xe0($sp) /* f0e0b38: 00409025 */ move $s2,$v0 .PB0f0e0b3c: /* f0e0b3c: 0fc241cd */ jal countdownTimerRender /* f0e0b40: 02402025 */ move $a0,$s2 /* f0e0b44: 00409025 */ move $s2,$v0 .PB0f0e0b48: /* f0e0b48: 0fc552e5 */ jal func0f153780 /* f0e0b4c: 02402025 */ move $a0,$s2 /* f0e0b50: 8fbf007c */ lw $ra,0x7c($sp) /* f0e0b54: 240a0001 */ li $t2,0x1 /* f0e0b58: 3c018008 */ lui $at,0x8008 /* f0e0b5c: d7b40038 */ ldc1 $f20,0x38($sp) /* f0e0b60: d7b60040 */ ldc1 $f22,0x40($sp) /* f0e0b64: d7b80048 */ ldc1 $f24,0x48($sp) /* f0e0b68: d7ba0050 */ ldc1 $f26,0x50($sp) /* f0e0b6c: 8fb00058 */ lw $s0,0x58($sp) /* f0e0b70: 8fb1005c */ lw $s1,0x5c($sp) /* f0e0b74: 8fb20060 */ lw $s2,0x60($sp) /* f0e0b78: 8fb30064 */ lw $s3,0x64($sp) /* f0e0b7c: 8fb40068 */ lw $s4,0x68($sp) /* f0e0b80: 8fb5006c */ lw $s5,0x6c($sp) /* f0e0b84: 8fb60070 */ lw $s6,0x70($sp) /* f0e0b88: 8fb70074 */ lw $s7,0x74($sp) /* f0e0b8c: 8fbe0078 */ lw $s8,0x78($sp) /* f0e0b90: ac2a1f90 */ sw $t2,0x1f90($at) /* f0e0b94: 03e00008 */ jr $ra /* f0e0b98: 27bd0100 */ addiu $sp,$sp,0x100 ); #elif VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel hudmsgsRender .late_rodata glabel var7f1adedc .word 0x40490fdb glabel var7f1adee0 .word hudmsgsRender+0xa34 # f0e0504 glabel var7f1adee4 .word hudmsgsRender+0xa34 # f0e0504 glabel var7f1adee8 .word hudmsgsRender+0xa34 # f0e0504 glabel var7f1adeec .word hudmsgsRender+0x3ec # f0dfebc glabel var7f1adef0 .word hudmsgsRender+0x644 # f0e0114 glabel var7f1adef4 .word hudmsgsRender+0x7c8 # f0e0298 .text /* f0dfad0: 27bdff00 */ addiu $sp,$sp,-256 /* f0dfad4: 3c0f8007 */ lui $t7,%hi(g_ViRes) /* f0dfad8: 8def06c8 */ lw $t7,%lo(g_ViRes)($t7) /* f0dfadc: afb20060 */ sw $s2,0x60($sp) /* f0dfae0: 24020001 */ addiu $v0,$zero,0x1 /* f0dfae4: 240e00ff */ addiu $t6,$zero,0xff /* f0dfae8: 00809025 */ or $s2,$a0,$zero /* f0dfaec: afbf007c */ sw $ra,0x7c($sp) /* f0dfaf0: afbe0078 */ sw $s8,0x78($sp) /* f0dfaf4: afb70074 */ sw $s7,0x74($sp) /* f0dfaf8: afb60070 */ sw $s6,0x70($sp) /* f0dfafc: afb5006c */ sw $s5,0x6c($sp) /* f0dfb00: afb40068 */ sw $s4,0x68($sp) /* f0dfb04: afb30064 */ sw $s3,0x64($sp) /* f0dfb08: afb1005c */ sw $s1,0x5c($sp) /* f0dfb0c: afb00058 */ sw $s0,0x58($sp) /* f0dfb10: f7ba0050 */ sdc1 $f26,0x50($sp) /* f0dfb14: f7b80048 */ sdc1 $f24,0x48($sp) /* f0dfb18: f7b60040 */ sdc1 $f22,0x40($sp) /* f0dfb1c: f7b40038 */ sdc1 $f20,0x38($sp) /* f0dfb20: afae00e0 */ sw $t6,0xe0($sp) /* f0dfb24: 144f0005 */ bne $v0,$t7,.L0f0dfb3c /* f0dfb28: afa200dc */ sw $v0,0xdc($sp) /* f0dfb2c: 24180002 */ addiu $t8,$zero,0x2 /* f0dfb30: 3c018008 */ lui $at,%hi(g_ScaleX) /* f0dfb34: 10000003 */ b .L0f0dfb44 /* f0dfb38: ac38fac0 */ sw $t8,%lo(g_ScaleX)($at) .L0f0dfb3c: /* f0dfb3c: 3c018008 */ lui $at,%hi(g_ScaleX) /* f0dfb40: ac22fac0 */ sw $v0,%lo(g_ScaleX)($at) .L0f0dfb44: /* f0dfb44: 0fc54d8a */ jal func0f153628 /* f0dfb48: 02402025 */ or $a0,$s2,$zero /* f0dfb4c: 3c19800a */ lui $t9,%hi(g_Vars+0x298) /* f0dfb50: 8f39a258 */ lw $t9,%lo(g_Vars+0x298)($t9) /* f0dfb54: 00409025 */ or $s2,$v0,$zero /* f0dfb58: 3c048007 */ lui $a0,%hi(g_NumHudMessages) /* f0dfb5c: 07210005 */ bgez $t9,.L0f0dfb74 /* f0dfb60: 3c0141f0 */ lui $at,0x41f0 /* f0dfb64: 3c08800a */ lui $t0,%hi(g_Vars+0x29c) /* f0dfb68: 8d08a25c */ lw $t0,%lo(g_Vars+0x29c)($t0) /* f0dfb6c: 0500000e */ bltz $t0,.L0f0dfba8 /* f0dfb70: 00000000 */ nop .L0f0dfb74: /* f0dfb74: 3c098007 */ lui $t1,%hi(g_InCutscene) /* f0dfb78: 8d290764 */ lw $t1,%lo(g_InCutscene)($t1) /* f0dfb7c: 1120000a */ beqz $t1,.L0f0dfba8 /* f0dfb80: 00000000 */ nop /* f0dfb84: 3c0a8006 */ lui $t2,%hi(g_MainIsEndscreen) /* f0dfb88: 8d4ad9d0 */ lw $t2,%lo(g_MainIsEndscreen)($t2) /* f0dfb8c: 15400006 */ bnez $t2,.L0f0dfba8 /* f0dfb90: 00000000 */ nop /* f0dfb94: 3c0b800a */ lui $t3,%hi(g_Vars+0x28c) /* f0dfb98: 8d6ba24c */ lw $t3,%lo(g_Vars+0x28c)($t3) /* f0dfb9c: 15600002 */ bnez $t3,.L0f0dfba8 /* f0dfba0: 00000000 */ nop /* f0dfba4: afa000dc */ sw $zero,0xdc($sp) .L0f0dfba8: /* f0dfba8: 8c840fe8 */ lw $a0,%lo(g_NumHudMessages)($a0) /* f0dfbac: 27b700e4 */ addiu $s7,$sp,0xe4 /* f0dfbb0: 27b600e8 */ addiu $s6,$sp,0xe8 /* f0dfbb4: 1880029b */ blez $a0,.L0f0e0624 /* f0dfbb8: 2415ff00 */ addiu $s5,$zero,-256 /* f0dfbbc: 4481d000 */ mtc1 $at,$f26 /* f0dfbc0: 3c0140e0 */ lui $at,0x40e0 /* f0dfbc4: 4481c000 */ mtc1 $at,$f24 /* f0dfbc8: 3c014080 */ lui $at,0x4080 /* f0dfbcc: 4481b000 */ mtc1 $at,$f22 /* f0dfbd0: 3c013f80 */ lui $at,0x3f80 /* f0dfbd4: 4481a000 */ mtc1 $at,$f20 /* f0dfbd8: afa00088 */ sw $zero,0x88($sp) /* f0dfbdc: 241e00ff */ addiu $s8,$zero,0xff .L0f0dfbe0: /* f0dfbe0: 3c0d8007 */ lui $t5,%hi(g_HudMessages) /* f0dfbe4: 8dad0fec */ lw $t5,%lo(g_HudMessages)($t5) /* f0dfbe8: 8fac0088 */ lw $t4,0x88($sp) /* f0dfbec: 00041100 */ sll $v0,$a0,0x4 /* f0dfbf0: 00441023 */ subu $v0,$v0,$a0 /* f0dfbf4: 018d8021 */ addu $s0,$t4,$t5 /* f0dfbf8: 92030004 */ lbu $v1,0x4($s0) /* f0dfbfc: 000210c0 */ sll $v0,$v0,0x3 /* f0dfc00: 00441023 */ subu $v0,$v0,$a0 /* f0dfc04: 54600004 */ bnezl $v1,.L0f0dfc18 /* f0dfc08: 92020000 */ lbu $v0,0x0($s0) /* f0dfc0c: 10000280 */ b .L0f0e0610 /* f0dfc10: 00021080 */ sll $v0,$v0,0x2 /* f0dfc14: 92020000 */ lbu $v0,0x0($s0) .L0f0dfc18: /* f0dfc18: 24010001 */ addiu $at,$zero,0x1 /* f0dfc1c: 5040000a */ beqzl $v0,.L0f0dfc48 /* f0dfc20: 00041100 */ sll $v0,$a0,0x4 /* f0dfc24: 10410007 */ beq $v0,$at,.L0f0dfc44 /* f0dfc28: 8fae00dc */ lw $t6,0xdc($sp) /* f0dfc2c: 51c0000c */ beqzl $t6,.L0f0dfc60 /* f0dfc30: 92190003 */ lbu $t9,0x3($s0) /* f0dfc34: 3c0f800a */ lui $t7,%hi(g_Vars+0x28c) /* f0dfc38: 8defa24c */ lw $t7,%lo(g_Vars+0x28c)($t7) /* f0dfc3c: 8e1801c0 */ lw $t8,0x1c0($s0) /* f0dfc40: 11f80006 */ beq $t7,$t8,.L0f0dfc5c .L0f0dfc44: /* f0dfc44: 00041100 */ sll $v0,$a0,0x4 .L0f0dfc48: /* f0dfc48: 00441023 */ subu $v0,$v0,$a0 /* f0dfc4c: 000210c0 */ sll $v0,$v0,0x3 /* f0dfc50: 00441023 */ subu $v0,$v0,$a0 /* f0dfc54: 1000026e */ b .L0f0e0610 /* f0dfc58: 00021080 */ sll $v0,$v0,0x2 .L0f0dfc5c: /* f0dfc5c: 92190003 */ lbu $t9,0x3($s0) .L0f0dfc60: /* f0dfc60: 53200022 */ beqzl $t9,.L0f0dfcec /* f0dfc64: 8e130010 */ lw $s3,0x10($s0) /* f0dfc68: 96080006 */ lhu $t0,0x6($s0) /* f0dfc6c: 3c014f80 */ lui $at,0x4f80 /* f0dfc70: 44882000 */ mtc1 $t0,$f4 /* f0dfc74: 05010004 */ bgez $t0,.L0f0dfc88 /* f0dfc78: 468021a0 */ cvt.s.w $f6,$f4 /* f0dfc7c: 44814000 */ mtc1 $at,$f8 /* f0dfc80: 00000000 */ nop /* f0dfc84: 46083180 */ add.s $f6,$f6,$f8 .L0f0dfc88: /* f0dfc88: 3c017f1b */ lui $at,%hi(var7f1adedc) /* f0dfc8c: c42adedc */ lwc1 $f10,%lo(var7f1adedc)($at) /* f0dfc90: 3c014270 */ lui $at,0x4270 /* f0dfc94: 44819000 */ mtc1 $at,$f18 /* f0dfc98: 460a3402 */ mul.s $f16,$f6,$f10 /* f0dfc9c: 0c0068f7 */ jal sinf /* f0dfca0: 46128303 */ div.s $f12,$f16,$f18 /* f0dfca4: 44802000 */ mtc1 $zero,$f4 /* f0dfca8: 3c014340 */ lui $at,0x4340 /* f0dfcac: 44814000 */ mtc1 $at,$f8 /* f0dfcb0: 4604003c */ c.lt.s $f0,$f4 /* f0dfcb4: 46000086 */ mov.s $f2,$f0 /* f0dfcb8: 45000002 */ bc1f .L0f0dfcc4 /* f0dfcbc: 00000000 */ nop /* f0dfcc0: 46000087 */ neg.s $f2,$f0 .L0f0dfcc4: /* f0dfcc4: 46024182 */ mul.s $f6,$f8,$f2 /* f0dfcc8: 8e090010 */ lw $t1,0x10($s0) /* f0dfccc: 8e140014 */ lw $s4,0x14($s0) /* f0dfcd0: 92030004 */ lbu $v1,0x4($s0) /* f0dfcd4: 01355024 */ and $t2,$t1,$s5 /* f0dfcd8: 4600328d */ trunc.w.s $f10,$f6 /* f0dfcdc: 440c5000 */ mfc1 $t4,$f10 /* f0dfce0: 10000005 */ b .L0f0dfcf8 /* f0dfce4: 014c9821 */ addu $s3,$t2,$t4 /* f0dfce8: 8e130010 */ lw $s3,0x10($s0) .L0f0dfcec: /* f0dfcec: 8e140014 */ lw $s4,0x14($s0) /* f0dfcf0: 366d00a0 */ ori $t5,$s3,0xa0 /* f0dfcf4: 01a09825 */ or $s3,$t5,$zero .L0f0dfcf8: /* f0dfcf8: 240100ff */ addiu $at,$zero,0xff /* f0dfcfc: 1061001c */ beq $v1,$at,.L0f0dfd70 /* f0dfd00: 00601025 */ or $v0,$v1,$zero /* f0dfd04: 326e00ff */ andi $t6,$s3,0xff /* f0dfd08: 004e0019 */ multu $v0,$t6 /* f0dfd0c: 00401825 */ or $v1,$v0,$zero /* f0dfd10: 329800ff */ andi $t8,$s4,0xff /* f0dfd14: 02754024 */ and $t0,$s3,$s5 /* f0dfd18: 02955824 */ and $t3,$s4,$s5 /* f0dfd1c: 00007812 */ mflo $t7 /* f0dfd20: 00000000 */ nop /* f0dfd24: 00000000 */ nop /* f0dfd28: 01fe001b */ divu $zero,$t7,$s8 /* f0dfd2c: 00002012 */ mflo $a0 /* f0dfd30: 308900ff */ andi $t1,$a0,0xff /* f0dfd34: 17c00002 */ bnez $s8,.L0f0dfd40 /* f0dfd38: 00000000 */ nop /* f0dfd3c: 0007000d */ break 0x7 .L0f0dfd40: /* f0dfd40: 00780019 */ multu $v1,$t8 /* f0dfd44: 01099821 */ addu $s3,$t0,$t1 /* f0dfd48: 0000c812 */ mflo $t9 /* f0dfd4c: 00000000 */ nop /* f0dfd50: 00000000 */ nop /* f0dfd54: 033e001b */ divu $zero,$t9,$s8 /* f0dfd58: 00002812 */ mflo $a1 /* f0dfd5c: 30aa00ff */ andi $t2,$a1,0xff /* f0dfd60: 17c00002 */ bnez $s8,.L0f0dfd6c /* f0dfd64: 00000000 */ nop /* f0dfd68: 0007000d */ break 0x7 .L0f0dfd6c: /* f0dfd6c: 016aa021 */ addu $s4,$t3,$t2 .L0f0dfd70: /* f0dfd70: 960c0018 */ lhu $t4,0x18($s0) /* f0dfd74: 24010006 */ addiu $at,$zero,0x6 /* f0dfd78: afac00e8 */ sw $t4,0xe8($sp) /* f0dfd7c: 960d001a */ lhu $t5,0x1a($s0) /* f0dfd80: afad00e4 */ sw $t5,0xe4($sp) /* f0dfd84: 8e0e01b4 */ lw $t6,0x1b4($s0) /* f0dfd88: 55c10011 */ bnel $t6,$at,.L0f0dfdd0 /* f0dfd8c: 8e0901b4 */ lw $t1,0x1b4($s0) /* f0dfd90: 0fc305f3 */ jal playerIsHealthVisible /* f0dfd94: 00000000 */ nop /* f0dfd98: 5040000d */ beqzl $v0,.L0f0dfdd0 /* f0dfd9c: 8e0901b4 */ lw $t1,0x1b4($s0) /* f0dfda0: 0fc305bd */ jal playerGetHealthBarHeightFrac /* f0dfda4: 00000000 */ nop /* f0dfda8: 3c014180 */ lui $at,0x4180 /* f0dfdac: 44818000 */ mtc1 $at,$f16 /* f0dfdb0: 8faf00e4 */ lw $t7,0xe4($sp) /* f0dfdb4: 46008482 */ mul.s $f18,$f16,$f0 /* f0dfdb8: 4600910d */ trunc.w.s $f4,$f18 /* f0dfdbc: 44192000 */ mfc1 $t9,$f4 /* f0dfdc0: 00000000 */ nop /* f0dfdc4: 01f94021 */ addu $t0,$t7,$t9 /* f0dfdc8: afa800e4 */ sw $t0,0xe4($sp) /* f0dfdcc: 8e0901b4 */ lw $t1,0x1b4($s0) .L0f0dfdd0: /* f0dfdd0: 2401000b */ addiu $at,$zero,0xb /* f0dfdd4: 55210031 */ bnel $t1,$at,.L0f0dfe9c /* f0dfdd8: 920d0000 */ lbu $t5,0x0($s0) /* f0dfddc: 8fab00e8 */ lw $t3,0xe8($sp) /* f0dfde0: 3c0c8008 */ lui $t4,%hi(g_ScaleX) /* f0dfde4: 8d8cfac0 */ lw $t4,%lo(g_ScaleX)($t4) /* f0dfde8: 256afffc */ addiu $t2,$t3,-4 /* f0dfdec: 3c01ed00 */ lui $at,0xed00 /* f0dfdf0: 014c0019 */ multu $t2,$t4 /* f0dfdf4: 02408825 */ or $s1,$s2,$zero /* f0dfdf8: 26520008 */ addiu $s2,$s2,0x8 /* f0dfdfc: 00006812 */ mflo $t5 /* f0dfe00: 448d4000 */ mtc1 $t5,$f8 /* f0dfe04: 00000000 */ nop /* f0dfe08: 468041a0 */ cvt.s.w $f6,$f8 /* f0dfe0c: 46163282 */ mul.s $f10,$f6,$f22 /* f0dfe10: 4600540d */ trunc.w.s $f16,$f10 /* f0dfe14: 44188000 */ mfc1 $t8,$f16 /* f0dfe18: 00000000 */ nop /* f0dfe1c: 330f0fff */ andi $t7,$t8,0xfff /* f0dfe20: 000fcb00 */ sll $t9,$t7,0xc /* f0dfe24: 03214025 */ or $t0,$t9,$at /* f0dfe28: 0c002ef5 */ jal viGetBufHeight /* f0dfe2c: ae280000 */ sw $t0,0x0($s1) /* f0dfe30: 8fa900e8 */ lw $t1,0xe8($sp) /* f0dfe34: 960b001c */ lhu $t3,0x1c($s0) /* f0dfe38: 3c0d8008 */ lui $t5,%hi(g_ScaleX) /* f0dfe3c: 8dadfac0 */ lw $t5,%lo(g_ScaleX)($t5) /* f0dfe40: 012b5021 */ addu $t2,$t1,$t3 /* f0dfe44: 254c0003 */ addiu $t4,$t2,0x3 /* f0dfe48: 018d0019 */ multu $t4,$t5 /* f0dfe4c: 44825000 */ mtc1 $v0,$f10 /* f0dfe50: 00000000 */ nop /* f0dfe54: 46805420 */ cvt.s.w $f16,$f10 /* f0dfe58: 00007012 */ mflo $t6 /* f0dfe5c: 448e9000 */ mtc1 $t6,$f18 /* f0dfe60: 00000000 */ nop /* f0dfe64: 46809120 */ cvt.s.w $f4,$f18 /* f0dfe68: 46162202 */ mul.s $f8,$f4,$f22 /* f0dfe6c: 00000000 */ nop /* f0dfe70: 46168482 */ mul.s $f18,$f16,$f22 /* f0dfe74: 4600418d */ trunc.w.s $f6,$f8 /* f0dfe78: 4600910d */ trunc.w.s $f4,$f18 /* f0dfe7c: 440f3000 */ mfc1 $t7,$f6 /* f0dfe80: 440b2000 */ mfc1 $t3,$f4 /* f0dfe84: 31f90fff */ andi $t9,$t7,0xfff /* f0dfe88: 00194300 */ sll $t0,$t9,0xc /* f0dfe8c: 316a0fff */ andi $t2,$t3,0xfff /* f0dfe90: 01486025 */ or $t4,$t2,$t0 /* f0dfe94: ae2c0004 */ sw $t4,0x4($s1) /* f0dfe98: 920d0000 */ lbu $t5,0x0($s0) .L0f0dfe9c: /* f0dfe9c: 2da10006 */ sltiu $at,$t5,0x6 /* f0dfea0: 10200198 */ beqz $at,.L0f0e0504 /* f0dfea4: 000d6880 */ sll $t5,$t5,0x2 /* f0dfea8: 3c017f1b */ lui $at,%hi(var7f1adee0) /* f0dfeac: 002d0821 */ addu $at,$at,$t5 /* f0dfeb0: 8c2ddee0 */ lw $t5,%lo(var7f1adee0)($at) /* f0dfeb4: 01a00008 */ jr $t5 /* f0dfeb8: 00000000 */ nop /* f0dfebc: 8e110010 */ lw $s1,0x10($s0) /* f0dfec0: 92020004 */ lbu $v0,0x4($s0) /* f0dfec4: 240100ff */ addiu $at,$zero,0xff /* f0dfec8: 362e0040 */ ori $t6,$s1,0x40 /* f0dfecc: 1041000e */ beq $v0,$at,.L0f0dff08 /* f0dfed0: 01c08825 */ or $s1,$t6,$zero /* f0dfed4: 31d800ff */ andi $t8,$t6,0xff /* f0dfed8: 00580019 */ multu $v0,$t8 /* f0dfedc: 0235c824 */ and $t9,$s1,$s5 /* f0dfee0: 00007812 */ mflo $t7 /* f0dfee4: 00000000 */ nop /* f0dfee8: 00000000 */ nop /* f0dfeec: 01fe001b */ divu $zero,$t7,$s8 /* f0dfef0: 00001812 */ mflo $v1 /* f0dfef4: 306900ff */ andi $t1,$v1,0xff /* f0dfef8: 17c00002 */ bnez $s8,.L0f0dff04 /* f0dfefc: 00000000 */ nop /* f0dff00: 0007000d */ break 0x7 .L0f0dff04: /* f0dff04: 03298821 */ addu $s1,$t9,$t1 .L0f0dff08: /* f0dff08: 9602001c */ lhu $v0,0x1c($s0) /* f0dff0c: 9603001e */ lhu $v1,0x1e($s0) /* f0dff10: 00420019 */ multu $v0,$v0 /* f0dff14: 00005812 */ mflo $t3 /* f0dff18: 00000000 */ nop /* f0dff1c: 00000000 */ nop /* f0dff20: 00630019 */ multu $v1,$v1 /* f0dff24: 00005012 */ mflo $t2 /* f0dff28: 016a4021 */ addu $t0,$t3,$t2 /* f0dff2c: 44884000 */ mtc1 $t0,$f8 /* f0dff30: 0c012974 */ jal sqrtf /* f0dff34: 46804320 */ cvt.s.w $f12,$f8 /* f0dff38: 3c014304 */ lui $at,0x4304 /* f0dff3c: 44813000 */ mtc1 $at,$f6 /* f0dff40: 44802000 */ mtc1 $zero,$f4 /* f0dff44: 3c014f80 */ lui $at,0x4f80 /* f0dff48: 46060280 */ add.s $f10,$f0,$f6 /* f0dff4c: 46185083 */ div.s $f2,$f10,$f24 /* f0dff50: 4602d03c */ c.lt.s $f26,$f2 /* f0dff54: 00000000 */ nop /* f0dff58: 45020003 */ bc1fl .L0f0dff68 /* f0dff5c: 960c0006 */ lhu $t4,0x6($s0) /* f0dff60: 4600d086 */ mov.s $f2,$f26 /* f0dff64: 960c0006 */ lhu $t4,0x6($s0) .L0f0dff68: /* f0dff68: 448c8000 */ mtc1 $t4,$f16 /* f0dff6c: 05810004 */ bgez $t4,.L0f0dff80 /* f0dff70: 46808320 */ cvt.s.w $f12,$f16 /* f0dff74: 44819000 */ mtc1 $at,$f18 /* f0dff78: 00000000 */ nop /* f0dff7c: 46126300 */ add.s $f12,$f12,$f18 .L0f0dff80: /* f0dff80: 46026083 */ div.s $f2,$f12,$f2 /* f0dff84: 8fa400e8 */ lw $a0,0xe8($sp) /* f0dff88: 8fa500e4 */ lw $a1,0xe4($sp) /* f0dff8c: 00003825 */ or $a3,$zero,$zero /* f0dff90: 46186002 */ mul.s $f0,$f12,$f24 /* f0dff94: 44060000 */ mfc1 $a2,$f0 /* f0dff98: 4602a03c */ c.lt.s $f20,$f2 /* f0dff9c: 00000000 */ nop /* f0dffa0: 45020003 */ bc1fl .L0f0dffb0 /* f0dffa4: 4604103c */ c.lt.s $f2,$f4 /* f0dffa8: 4600a086 */ mov.s $f2,$f20 /* f0dffac: 4604103c */ c.lt.s $f2,$f4 .L0f0dffb0: /* f0dffb0: 00000000 */ nop /* f0dffb4: 45000003 */ bc1f .L0f0dffc4 /* f0dffb8: 00000000 */ nop /* f0dffbc: 44801000 */ mtc1 $zero,$f2 /* f0dffc0: 00000000 */ nop .L0f0dffc4: /* f0dffc4: 0fc54f08 */ jal func0f153c20 /* f0dffc8: e7a200c0 */ swc1 $f2,0xc0($sp) /* f0dffcc: 920d0001 */ lbu $t5,0x1($s0) /* f0dffd0: c7a200c0 */ lwc1 $f2,0xc0($sp) /* f0dffd4: 02402025 */ or $a0,$s2,$zero /* f0dffd8: 11a00027 */ beqz $t5,.L0f0e0078 /* f0dffdc: 8fa500e8 */ lw $a1,0xe8($sp) /* f0dffe0: 8fb800e4 */ lw $t8,0xe4($sp) /* f0dffe4: 9619001e */ lhu $t9,0x1e($s0) /* f0dffe8: 8fae00e8 */ lw $t6,0xe8($sp) /* f0dffec: 960f001c */ lhu $t7,0x1c($s0) /* f0dfff0: 03384821 */ addu $t1,$t9,$t8 /* f0dfff4: 252b0002 */ addiu $t3,$t1,0x2 /* f0dfff8: 01ee3821 */ addu $a3,$t7,$t6 /* f0dfffc: 24e70002 */ addiu $a3,$a3,0x2 /* f0e0000: afab0010 */ sw $t3,0x10($sp) /* f0e0004: e7a2001c */ swc1 $f2,0x1c($sp) /* f0e0008: afb10018 */ sw $s1,0x18($sp) /* f0e000c: e7b40014 */ swc1 $f20,0x14($sp) /* f0e0010: 02402025 */ or $a0,$s2,$zero /* f0e0014: 2706fffd */ addiu $a2,$t8,-3 /* f0e0018: 0fc37612 */ jal hudmsgRenderBox /* f0e001c: 25c5fffd */ addiu $a1,$t6,-3 /* f0e0020: 0c002f02 */ jal viGetWidth /* f0e0024: 00409025 */ or $s2,$v0,$zero /* f0e0028: 00028c00 */ sll $s1,$v0,0x10 /* f0e002c: 00115403 */ sra $t2,$s1,0x10 /* f0e0030: 0c002f06 */ jal viGetHeight /* f0e0034: 01408825 */ or $s1,$t2,$zero /* f0e0038: 8e080008 */ lw $t0,0x8($s0) /* f0e003c: 02402025 */ or $a0,$s2,$zero /* f0e0040: 02c02825 */ or $a1,$s6,$zero /* f0e0044: afa80010 */ sw $t0,0x10($sp) /* f0e0048: 8e0c000c */ lw $t4,0xc($s0) /* f0e004c: afa00028 */ sw $zero,0x28($sp) /* f0e0050: afa00024 */ sw $zero,0x24($sp) /* f0e0054: afa20020 */ sw $v0,0x20($sp) /* f0e0058: afb1001c */ sw $s1,0x1c($sp) /* f0e005c: afb30018 */ sw $s3,0x18($sp) /* f0e0060: 02e03025 */ or $a2,$s7,$zero /* f0e0064: 26070020 */ addiu $a3,$s0,0x20 /* f0e0068: 0fc5580f */ jal textRenderProjected /* f0e006c: afac0014 */ sw $t4,0x14($sp) /* f0e0070: 1000001f */ b .L0f0e00f0 /* f0e0074: 00409025 */ or $s2,$v0,$zero .L0f0e0078: /* f0e0078: 8fa600e4 */ lw $a2,0xe4($sp) /* f0e007c: 9619001e */ lhu $t9,0x1e($s0) /* f0e0080: 960e001c */ lhu $t6,0x1c($s0) /* f0e0084: afa00014 */ sw $zero,0x14($sp) /* f0e0088: 0326c021 */ addu $t8,$t9,$a2 /* f0e008c: afb80010 */ sw $t8,0x10($sp) /* f0e0090: 0fc54e8d */ jal func0f153a34 /* f0e0094: 01c53821 */ addu $a3,$t6,$a1 /* f0e0098: 0c002f02 */ jal viGetWidth /* f0e009c: 00409025 */ or $s2,$v0,$zero /* f0e00a0: 00028c00 */ sll $s1,$v0,0x10 /* f0e00a4: 00114c03 */ sra $t1,$s1,0x10 /* f0e00a8: 0c002f06 */ jal viGetHeight /* f0e00ac: 01208825 */ or $s1,$t1,$zero /* f0e00b0: 8e0b0008 */ lw $t3,0x8($s0) /* f0e00b4: 02402025 */ or $a0,$s2,$zero /* f0e00b8: 02c02825 */ or $a1,$s6,$zero /* f0e00bc: afab0010 */ sw $t3,0x10($sp) /* f0e00c0: 8e0a000c */ lw $t2,0xc($s0) /* f0e00c4: afa0002c */ sw $zero,0x2c($sp) /* f0e00c8: afa00028 */ sw $zero,0x28($sp) /* f0e00cc: afa20024 */ sw $v0,0x24($sp) /* f0e00d0: afb10020 */ sw $s1,0x20($sp) /* f0e00d4: afb4001c */ sw $s4,0x1c($sp) /* f0e00d8: afb30018 */ sw $s3,0x18($sp) /* f0e00dc: 02e03025 */ or $a2,$s7,$zero /* f0e00e0: 26070020 */ addiu $a3,$s0,0x20 /* f0e00e4: 0fc55b92 */ jal textRender /* f0e00e8: afaa0014 */ sw $t2,0x14($sp) /* f0e00ec: 00409025 */ or $s2,$v0,$zero .L0f0e00f0: /* f0e00f0: 920801c9 */ lbu $t0,0x1c9($s0) /* f0e00f4: 24010006 */ addiu $at,$zero,0x6 /* f0e00f8: 15010002 */ bne $t0,$at,.L0f0e0104 /* f0e00fc: 00000000 */ nop /* f0e0100: afa000e0 */ sw $zero,0xe0($sp) .L0f0e0104: /* f0e0104: 0fc54f93 */ jal func0f153e4c /* f0e0108: 00000000 */ nop /* f0e010c: 100000fe */ b .L0f0e0508 /* f0e0110: 8e0801b4 */ lw $t0,0x1b4($s0) /* f0e0114: 920c0001 */ lbu $t4,0x1($s0) /* f0e0118: 8fa900e8 */ lw $t1,0xe8($sp) /* f0e011c: 8fab00e4 */ lw $t3,0xe4($sp) /* f0e0120: 11800037 */ beqz $t4,.L0f0e0200 /* f0e0124: 2525fffd */ addiu $a1,$t1,-3 /* f0e0128: 8e030010 */ lw $v1,0x10($s0) /* f0e012c: 92020004 */ lbu $v0,0x4($s0) /* f0e0130: 240100ff */ addiu $at,$zero,0xff /* f0e0134: 346e0040 */ ori $t6,$v1,0x40 /* f0e0138: 1041000e */ beq $v0,$at,.L0f0e0174 /* f0e013c: 01c01825 */ or $v1,$t6,$zero /* f0e0140: 31cd00ff */ andi $t5,$t6,0xff /* f0e0144: 004d0019 */ multu $v0,$t5 /* f0e0148: 00757824 */ and $t7,$v1,$s5 /* f0e014c: 0000c812 */ mflo $t9 /* f0e0150: 00000000 */ nop /* f0e0154: 00000000 */ nop /* f0e0158: 033e001b */ divu $zero,$t9,$s8 /* f0e015c: 00002012 */ mflo $a0 /* f0e0160: 309800ff */ andi $t8,$a0,0xff /* f0e0164: 17c00002 */ bnez $s8,.L0f0e0170 /* f0e0168: 00000000 */ nop /* f0e016c: 0007000d */ break 0x7 .L0f0e0170: /* f0e0170: 01f81821 */ addu $v1,$t7,$t8 .L0f0e0174: /* f0e0174: 9608001e */ lhu $t0,0x1e($s0) /* f0e0178: 960a001c */ lhu $t2,0x1c($s0) /* f0e017c: e7b4001c */ swc1 $f20,0x1c($sp) /* f0e0180: 010b6021 */ addu $t4,$t0,$t3 /* f0e0184: 258e0002 */ addiu $t6,$t4,0x2 /* f0e0188: 01493821 */ addu $a3,$t2,$t1 /* f0e018c: 24e70002 */ addiu $a3,$a3,0x2 /* f0e0190: afae0010 */ sw $t6,0x10($sp) /* f0e0194: afa30018 */ sw $v1,0x18($sp) /* f0e0198: e7b40014 */ swc1 $f20,0x14($sp) /* f0e019c: 02402025 */ or $a0,$s2,$zero /* f0e01a0: 0fc37612 */ jal hudmsgRenderBox /* f0e01a4: 2566fffd */ addiu $a2,$t3,-3 /* f0e01a8: 0c002f02 */ jal viGetWidth /* f0e01ac: 00409025 */ or $s2,$v0,$zero /* f0e01b0: 00028c00 */ sll $s1,$v0,0x10 /* f0e01b4: 00116c03 */ sra $t5,$s1,0x10 /* f0e01b8: 0c002f06 */ jal viGetHeight /* f0e01bc: 01a08825 */ or $s1,$t5,$zero /* f0e01c0: 8e190008 */ lw $t9,0x8($s0) /* f0e01c4: 02402025 */ or $a0,$s2,$zero /* f0e01c8: 02c02825 */ or $a1,$s6,$zero /* f0e01cc: afb90010 */ sw $t9,0x10($sp) /* f0e01d0: 8e0f000c */ lw $t7,0xc($s0) /* f0e01d4: afa00028 */ sw $zero,0x28($sp) /* f0e01d8: afa00024 */ sw $zero,0x24($sp) /* f0e01dc: afa20020 */ sw $v0,0x20($sp) /* f0e01e0: afb1001c */ sw $s1,0x1c($sp) /* f0e01e4: afb30018 */ sw $s3,0x18($sp) /* f0e01e8: 02e03025 */ or $a2,$s7,$zero /* f0e01ec: 26070020 */ addiu $a3,$s0,0x20 /* f0e01f0: 0fc5580f */ jal textRenderProjected /* f0e01f4: afaf0014 */ sw $t7,0x14($sp) /* f0e01f8: 10000021 */ b .L0f0e0280 /* f0e01fc: 00409025 */ or $s2,$v0,$zero .L0f0e0200: /* f0e0200: 8fa600e4 */ lw $a2,0xe4($sp) /* f0e0204: 9608001e */ lhu $t0,0x1e($s0) /* f0e0208: 8fa500e8 */ lw $a1,0xe8($sp) /* f0e020c: 9609001c */ lhu $t1,0x1c($s0) /* f0e0210: 01065821 */ addu $t3,$t0,$a2 /* f0e0214: afab0010 */ sw $t3,0x10($sp) /* f0e0218: afa00014 */ sw $zero,0x14($sp) /* f0e021c: 02402025 */ or $a0,$s2,$zero /* f0e0220: 0fc54e8d */ jal func0f153a34 /* f0e0224: 01253821 */ addu $a3,$t1,$a1 /* f0e0228: 0c002f02 */ jal viGetWidth /* f0e022c: 00409025 */ or $s2,$v0,$zero /* f0e0230: 00028c00 */ sll $s1,$v0,0x10 /* f0e0234: 00116403 */ sra $t4,$s1,0x10 /* f0e0238: 0c002f06 */ jal viGetHeight /* f0e023c: 01808825 */ or $s1,$t4,$zero /* f0e0240: 8e0e0008 */ lw $t6,0x8($s0) /* f0e0244: 02402025 */ or $a0,$s2,$zero /* f0e0248: 02c02825 */ or $a1,$s6,$zero /* f0e024c: afae0010 */ sw $t6,0x10($sp) /* f0e0250: 8e0d000c */ lw $t5,0xc($s0) /* f0e0254: afa0002c */ sw $zero,0x2c($sp) /* f0e0258: afa00028 */ sw $zero,0x28($sp) /* f0e025c: afa20024 */ sw $v0,0x24($sp) /* f0e0260: afb10020 */ sw $s1,0x20($sp) /* f0e0264: afb4001c */ sw $s4,0x1c($sp) /* f0e0268: afb30018 */ sw $s3,0x18($sp) /* f0e026c: 02e03025 */ or $a2,$s7,$zero /* f0e0270: 26070020 */ addiu $a3,$s0,0x20 /* f0e0274: 0fc55b92 */ jal textRender /* f0e0278: afad0014 */ sw $t5,0x14($sp) /* f0e027c: 00409025 */ or $s2,$v0,$zero .L0f0e0280: /* f0e0280: 921901c9 */ lbu $t9,0x1c9($s0) /* f0e0284: 24010006 */ addiu $at,$zero,0x6 /* f0e0288: 5721009f */ bnel $t9,$at,.L0f0e0508 /* f0e028c: 8e0801b4 */ lw $t0,0x1b4($s0) /* f0e0290: 1000009c */ b .L0f0e0504 /* f0e0294: afa000e0 */ sw $zero,0xe0($sp) /* f0e0298: 9602001c */ lhu $v0,0x1c($s0) /* f0e029c: 9603001e */ lhu $v1,0x1e($s0) /* f0e02a0: 00420019 */ multu $v0,$v0 /* f0e02a4: 00007812 */ mflo $t7 /* f0e02a8: 00000000 */ nop /* f0e02ac: 00000000 */ nop /* f0e02b0: 00630019 */ multu $v1,$v1 /* f0e02b4: 00004812 */ mflo $t1 /* f0e02b8: 01e9c021 */ addu $t8,$t7,$t1 /* f0e02bc: 44984000 */ mtc1 $t8,$f8 /* f0e02c0: 0c012974 */ jal sqrtf /* f0e02c4: 46804320 */ cvt.s.w $f12,$f8 /* f0e02c8: 3c0142b8 */ lui $at,0x42b8 /* f0e02cc: 44813000 */ mtc1 $at,$f6 /* f0e02d0: 8e110010 */ lw $s1,0x10($s0) /* f0e02d4: 92020004 */ lbu $v0,0x4($s0) /* f0e02d8: 46060280 */ add.s $f10,$f0,$f6 /* f0e02dc: 240100ff */ addiu $at,$zero,0xff /* f0e02e0: 36280040 */ ori $t0,$s1,0x40 /* f0e02e4: 01008825 */ or $s1,$t0,$zero /* f0e02e8: 1041000e */ beq $v0,$at,.L0f0e0324 /* f0e02ec: 46185083 */ div.s $f2,$f10,$f24 /* f0e02f0: 310a00ff */ andi $t2,$t0,0xff /* f0e02f4: 004a0019 */ multu $v0,$t2 /* f0e02f8: 02356024 */ and $t4,$s1,$s5 /* f0e02fc: 00005812 */ mflo $t3 /* f0e0300: 00000000 */ nop /* f0e0304: 00000000 */ nop /* f0e0308: 017e001b */ divu $zero,$t3,$s8 /* f0e030c: 00001812 */ mflo $v1 /* f0e0310: 306e00ff */ andi $t6,$v1,0xff /* f0e0314: 17c00002 */ bnez $s8,.L0f0e0320 /* f0e0318: 00000000 */ nop /* f0e031c: 0007000d */ break 0x7 .L0f0e0320: /* f0e0320: 018e8821 */ addu $s1,$t4,$t6 .L0f0e0324: /* f0e0324: 960d0006 */ lhu $t5,0x6($s0) /* f0e0328: 3c014f80 */ lui $at,0x4f80 /* f0e032c: 448d8000 */ mtc1 $t5,$f16 /* f0e0330: 05a10004 */ bgez $t5,.L0f0e0344 /* f0e0334: 468084a0 */ cvt.s.w $f18,$f16 /* f0e0338: 44812000 */ mtc1 $at,$f4 /* f0e033c: 00000000 */ nop /* f0e0340: 46049480 */ add.s $f18,$f18,$f4 .L0f0e0344: /* f0e0344: 46121201 */ sub.s $f8,$f2,$f18 /* f0e0348: 9619001c */ lhu $t9,0x1c($s0) /* f0e034c: 8faf00e8 */ lw $t7,0xe8($sp) /* f0e0350: 9609001e */ lhu $t1,0x1e($s0) /* f0e0354: 46184002 */ mul.s $f0,$f8,$f24 /* f0e0358: 8fb800e4 */ lw $t8,0xe4($sp) /* f0e035c: e7a200a8 */ swc1 $f2,0xa8($sp) /* f0e0360: 24070002 */ addiu $a3,$zero,0x2 /* f0e0364: 032f2021 */ addu $a0,$t9,$t7 /* f0e0368: 01382821 */ addu $a1,$t1,$t8 /* f0e036c: 44060000 */ mfc1 $a2,$f0 /* f0e0370: 0fc54f08 */ jal func0f153c20 /* f0e0374: 00000000 */ nop /* f0e0378: c7a200a8 */ lwc1 $f2,0xa8($sp) /* f0e037c: 3c014f80 */ lui $at,0x4f80 /* f0e0380: 8fab00e8 */ lw $t3,0xe8($sp) /* f0e0384: 4602d03c */ c.lt.s $f26,$f2 /* f0e0388: 8fac00e4 */ lw $t4,0xe4($sp) /* f0e038c: 02402025 */ or $a0,$s2,$zero /* f0e0390: 8fa500e8 */ lw $a1,0xe8($sp) /* f0e0394: 45000002 */ bc1f .L0f0e03a0 /* f0e0398: 8fa600e4 */ lw $a2,0xe4($sp) /* f0e039c: 4600d086 */ mov.s $f2,$f26 .L0f0e03a0: /* f0e03a0: 96080006 */ lhu $t0,0x6($s0) /* f0e03a4: 44883000 */ mtc1 $t0,$f6 /* f0e03a8: 05010004 */ bgez $t0,.L0f0e03bc /* f0e03ac: 468032a0 */ cvt.s.w $f10,$f6 /* f0e03b0: 44818000 */ mtc1 $at,$f16 /* f0e03b4: 00000000 */ nop /* f0e03b8: 46105280 */ add.s $f10,$f10,$f16 .L0f0e03bc: /* f0e03bc: 46025083 */ div.s $f2,$f10,$f2 /* f0e03c0: 4602a03c */ c.lt.s $f20,$f2 /* f0e03c4: 00000000 */ nop /* f0e03c8: 45020003 */ bc1fl .L0f0e03d8 /* f0e03cc: 920a0001 */ lbu $t2,0x1($s0) /* f0e03d0: 4600a086 */ mov.s $f2,$f20 /* f0e03d4: 920a0001 */ lbu $t2,0x1($s0) .L0f0e03d8: /* f0e03d8: 51400027 */ beqzl $t2,.L0f0e0478 /* f0e03dc: 960d001e */ lhu $t5,0x1e($s0) /* f0e03e0: 960d001e */ lhu $t5,0x1e($s0) /* f0e03e4: 960e001c */ lhu $t6,0x1c($s0) /* f0e03e8: 4602a101 */ sub.s $f4,$f20,$f2 /* f0e03ec: 01acc821 */ addu $t9,$t5,$t4 /* f0e03f0: 272f0002 */ addiu $t7,$t9,0x2 /* f0e03f4: 01cb3821 */ addu $a3,$t6,$t3 /* f0e03f8: 24e70002 */ addiu $a3,$a3,0x2 /* f0e03fc: afaf0010 */ sw $t7,0x10($sp) /* f0e0400: e7a4001c */ swc1 $f4,0x1c($sp) /* f0e0404: afb10018 */ sw $s1,0x18($sp) /* f0e0408: e7b40014 */ swc1 $f20,0x14($sp) /* f0e040c: 02402025 */ or $a0,$s2,$zero /* f0e0410: 2565fffd */ addiu $a1,$t3,-3 /* f0e0414: 0fc37612 */ jal hudmsgRenderBox /* f0e0418: 2586fffd */ addiu $a2,$t4,-3 /* f0e041c: 0c002f02 */ jal viGetWidth /* f0e0420: 00409025 */ or $s2,$v0,$zero /* f0e0424: 00028c00 */ sll $s1,$v0,0x10 /* f0e0428: 00114c03 */ sra $t1,$s1,0x10 /* f0e042c: 0c002f06 */ jal viGetHeight /* f0e0430: 01208825 */ or $s1,$t1,$zero /* f0e0434: 8e180008 */ lw $t8,0x8($s0) /* f0e0438: 02402025 */ or $a0,$s2,$zero /* f0e043c: 02c02825 */ or $a1,$s6,$zero /* f0e0440: afb80010 */ sw $t8,0x10($sp) /* f0e0444: 8e08000c */ lw $t0,0xc($s0) /* f0e0448: afa00028 */ sw $zero,0x28($sp) /* f0e044c: afa00024 */ sw $zero,0x24($sp) /* f0e0450: afa20020 */ sw $v0,0x20($sp) /* f0e0454: afb1001c */ sw $s1,0x1c($sp) /* f0e0458: afb30018 */ sw $s3,0x18($sp) /* f0e045c: 02e03025 */ or $a2,$s7,$zero /* f0e0460: 26070020 */ addiu $a3,$s0,0x20 /* f0e0464: 0fc5580f */ jal textRenderProjected /* f0e0468: afa80014 */ sw $t0,0x14($sp) /* f0e046c: 1000001e */ b .L0f0e04e8 /* f0e0470: 00409025 */ or $s2,$v0,$zero /* f0e0474: 960d001e */ lhu $t5,0x1e($s0) .L0f0e0478: /* f0e0478: 960b001c */ lhu $t3,0x1c($s0) /* f0e047c: afa00014 */ sw $zero,0x14($sp) /* f0e0480: 01a66021 */ addu $t4,$t5,$a2 /* f0e0484: afac0010 */ sw $t4,0x10($sp) /* f0e0488: 0fc54e8d */ jal func0f153a34 /* f0e048c: 01653821 */ addu $a3,$t3,$a1 /* f0e0490: 0c002f02 */ jal viGetWidth /* f0e0494: 00409025 */ or $s2,$v0,$zero /* f0e0498: 00028c00 */ sll $s1,$v0,0x10 /* f0e049c: 0011cc03 */ sra $t9,$s1,0x10 /* f0e04a0: 0c002f06 */ jal viGetHeight /* f0e04a4: 03208825 */ or $s1,$t9,$zero /* f0e04a8: 8e0f0008 */ lw $t7,0x8($s0) /* f0e04ac: 02402025 */ or $a0,$s2,$zero /* f0e04b0: 02c02825 */ or $a1,$s6,$zero /* f0e04b4: afaf0010 */ sw $t7,0x10($sp) /* f0e04b8: 8e09000c */ lw $t1,0xc($s0) /* f0e04bc: afa0002c */ sw $zero,0x2c($sp) /* f0e04c0: afa00028 */ sw $zero,0x28($sp) /* f0e04c4: afa20024 */ sw $v0,0x24($sp) /* f0e04c8: afb10020 */ sw $s1,0x20($sp) /* f0e04cc: afb4001c */ sw $s4,0x1c($sp) /* f0e04d0: afb30018 */ sw $s3,0x18($sp) /* f0e04d4: 02e03025 */ or $a2,$s7,$zero /* f0e04d8: 26070020 */ addiu $a3,$s0,0x20 /* f0e04dc: 0fc55b92 */ jal textRender /* f0e04e0: afa90014 */ sw $t1,0x14($sp) /* f0e04e4: 00409025 */ or $s2,$v0,$zero .L0f0e04e8: /* f0e04e8: 921801c9 */ lbu $t8,0x1c9($s0) /* f0e04ec: 24010006 */ addiu $at,$zero,0x6 /* f0e04f0: 17010002 */ bne $t8,$at,.L0f0e04fc /* f0e04f4: 00000000 */ nop /* f0e04f8: afa000e0 */ sw $zero,0xe0($sp) .L0f0e04fc: /* f0e04fc: 0fc54f93 */ jal func0f153e4c /* f0e0500: 00000000 */ nop .L0f0e0504: /* f0e0504: 8e0801b4 */ lw $t0,0x1b4($s0) .L0f0e0508: /* f0e0508: 2401000b */ addiu $at,$zero,0xb /* f0e050c: 15010039 */ bne $t0,$at,.L0f0e05f4 /* f0e0510: 00000000 */ nop /* f0e0514: afb2009c */ sw $s2,0x9c($sp) /* f0e0518: 0c002f40 */ jal viGetViewLeft /* f0e051c: 26520008 */ addiu $s2,$s2,0x8 /* f0e0520: 00028400 */ sll $s0,$v0,0x10 /* f0e0524: 00105c03 */ sra $t3,$s0,0x10 /* f0e0528: 01608025 */ or $s0,$t3,$zero /* f0e052c: 0c002f44 */ jal viGetViewTop /* f0e0530: 8fb3009c */ lw $s3,0x9c($sp) /* f0e0534: 44829000 */ mtc1 $v0,$f18 /* f0e0538: 44905000 */ mtc1 $s0,$f10 /* f0e053c: 3c01ed00 */ lui $at,0xed00 /* f0e0540: 46809220 */ cvt.s.w $f8,$f18 /* f0e0544: 46805120 */ cvt.s.w $f4,$f10 /* f0e0548: 46164182 */ mul.s $f6,$f8,$f22 /* f0e054c: 00000000 */ nop /* f0e0550: 46162482 */ mul.s $f18,$f4,$f22 /* f0e0554: 4600340d */ trunc.w.s $f16,$f6 /* f0e0558: 4600920d */ trunc.w.s $f8,$f18 /* f0e055c: 440d8000 */ mfc1 $t5,$f16 /* f0e0560: 440f4000 */ mfc1 $t7,$f8 /* f0e0564: 31ae0fff */ andi $t6,$t5,0xfff /* f0e0568: 01c16025 */ or $t4,$t6,$at /* f0e056c: 31e90fff */ andi $t1,$t7,0xfff /* f0e0570: 0009c300 */ sll $t8,$t1,0xc /* f0e0574: 01984025 */ or $t0,$t4,$t8 /* f0e0578: 0c002f22 */ jal viGetViewWidth /* f0e057c: ae680000 */ sw $t0,0x0($s3) /* f0e0580: 0c002f40 */ jal viGetViewLeft /* f0e0584: a7a20092 */ sh $v0,0x92($sp) /* f0e0588: 00028c00 */ sll $s1,$v0,0x10 /* f0e058c: 00115c03 */ sra $t3,$s1,0x10 /* f0e0590: 0c002f44 */ jal viGetViewTop /* f0e0594: 01608825 */ or $s1,$t3,$zero /* f0e0598: 00028400 */ sll $s0,$v0,0x10 /* f0e059c: 00105403 */ sra $t2,$s0,0x10 /* f0e05a0: 0c002f26 */ jal viGetViewHeight /* f0e05a4: 01408025 */ or $s0,$t2,$zero /* f0e05a8: 87a90092 */ lh $t1,0x92($sp) /* f0e05ac: 00506821 */ addu $t5,$v0,$s0 /* f0e05b0: 448d3000 */ mtc1 $t5,$f6 /* f0e05b4: 02296021 */ addu $t4,$s1,$t1 /* f0e05b8: 448c9000 */ mtc1 $t4,$f18 /* f0e05bc: 46803420 */ cvt.s.w $f16,$f6 /* f0e05c0: 46809220 */ cvt.s.w $f8,$f18 /* f0e05c4: 46168282 */ mul.s $f10,$f16,$f22 /* f0e05c8: 00000000 */ nop /* f0e05cc: 46164182 */ mul.s $f6,$f8,$f22 /* f0e05d0: 4600510d */ trunc.w.s $f4,$f10 /* f0e05d4: 4600340d */ trunc.w.s $f16,$f6 /* f0e05d8: 44192000 */ mfc1 $t9,$f4 /* f0e05dc: 44088000 */ mfc1 $t0,$f16 /* f0e05e0: 332f0fff */ andi $t7,$t9,0xfff /* f0e05e4: 310b0fff */ andi $t3,$t0,0xfff /* f0e05e8: 000b5300 */ sll $t2,$t3,0xc /* f0e05ec: 01ea6825 */ or $t5,$t7,$t2 /* f0e05f0: ae6d0004 */ sw $t5,0x4($s3) .L0f0e05f4: /* f0e05f4: 3c048007 */ lui $a0,%hi(g_NumHudMessages) /* f0e05f8: 8c840fe8 */ lw $a0,%lo(g_NumHudMessages)($a0) /* f0e05fc: 00041100 */ sll $v0,$a0,0x4 /* f0e0600: 00441023 */ subu $v0,$v0,$a0 /* f0e0604: 000210c0 */ sll $v0,$v0,0x3 /* f0e0608: 00441023 */ subu $v0,$v0,$a0 /* f0e060c: 00021080 */ sll $v0,$v0,0x2 .L0f0e0610: /* f0e0610: 8fae0088 */ lw $t6,0x88($sp) /* f0e0614: 25d901dc */ addiu $t9,$t6,0x1dc /* f0e0618: 0322082a */ slt $at,$t9,$v0 /* f0e061c: 1420fd70 */ bnez $at,.L0f0dfbe0 /* f0e0620: afb90088 */ sw $t9,0x88($sp) .L0f0e0624: /* f0e0624: 8fa900e0 */ lw $t1,0xe0($sp) /* f0e0628: 3c0c800a */ lui $t4,%hi(g_Vars+0x288) /* f0e062c: 11200028 */ beqz $t1,.L0f0e06d0 /* f0e0630: 00000000 */ nop /* f0e0634: 8d8ca248 */ lw $t4,%lo(g_Vars+0x288)($t4) /* f0e0638: 0fc54a3a */ jal optionsGetShowMissionTime /* f0e063c: 8d840070 */ lw $a0,0x70($t4) /* f0e0640: 10400019 */ beqz $v0,.L0f0e06a8 /* f0e0644: 3c188007 */ lui $t8,%hi(var80075d60) /* f0e0648: 8f185d60 */ lw $t8,%lo(var80075d60)($t8) /* f0e064c: 24030002 */ addiu $v1,$zero,0x2 /* f0e0650: 3c08800a */ lui $t0,%hi(g_Vars+0x318) /* f0e0654: 14780014 */ bne $v1,$t8,.L0f0e06a8 /* f0e0658: 00000000 */ nop /* f0e065c: 8d08a2d8 */ lw $t0,%lo(g_Vars+0x318)($t0) /* f0e0660: 3c0b800a */ lui $t3,%hi(g_Vars+0x4b4) /* f0e0664: 15000010 */ bnez $t0,.L0f0e06a8 /* f0e0668: 00000000 */ nop /* f0e066c: 8d6ba474 */ lw $t3,%lo(g_Vars+0x4b4)($t3) /* f0e0670: 24010026 */ addiu $at,$zero,0x26 /* f0e0674: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) /* f0e0678: 1161000b */ beq $t3,$at,.L0f0e06a8 /* f0e067c: 00000000 */ nop /* f0e0680: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) /* f0e0684: 24010001 */ addiu $at,$zero,0x1 /* f0e0688: 8de20000 */ lw $v0,0x0($t7) /* f0e068c: 10620006 */ beq $v1,$v0,.L0f0e06a8 /* f0e0690: 00000000 */ nop /* f0e0694: 10410004 */ beq $v0,$at,.L0f0e06a8 /* f0e0698: 02402025 */ or $a0,$s2,$zero /* f0e069c: 0fc373bd */ jal hudmsgRenderMissionTimer /* f0e06a0: 8fa500e0 */ lw $a1,0xe0($sp) /* f0e06a4: 00409025 */ or $s2,$v0,$zero .L0f0e06a8: /* f0e06a8: 0fc3736f */ jal hudmsgIsZoomRangeVisible /* f0e06ac: 00000000 */ nop /* f0e06b0: 10400004 */ beqz $v0,.L0f0e06c4 /* f0e06b4: 02402025 */ or $a0,$s2,$zero /* f0e06b8: 0fc374ab */ jal hudmsgRenderZoomRange /* f0e06bc: 8fa500e0 */ lw $a1,0xe0($sp) /* f0e06c0: 00409025 */ or $s2,$v0,$zero .L0f0e06c4: /* f0e06c4: 0fc2422e */ jal countdownTimerRender /* f0e06c8: 02402025 */ or $a0,$s2,$zero /* f0e06cc: 00409025 */ or $s2,$v0,$zero .L0f0e06d0: /* f0e06d0: 0fc54de0 */ jal func0f153780 /* f0e06d4: 02402025 */ or $a0,$s2,$zero /* f0e06d8: 8fbf007c */ lw $ra,0x7c($sp) /* f0e06dc: 240a0001 */ addiu $t2,$zero,0x1 /* f0e06e0: 3c018008 */ lui $at,%hi(g_ScaleX) /* f0e06e4: d7b40038 */ ldc1 $f20,0x38($sp) /* f0e06e8: d7b60040 */ ldc1 $f22,0x40($sp) /* f0e06ec: d7b80048 */ ldc1 $f24,0x48($sp) /* f0e06f0: d7ba0050 */ ldc1 $f26,0x50($sp) /* f0e06f4: 8fb00058 */ lw $s0,0x58($sp) /* f0e06f8: 8fb1005c */ lw $s1,0x5c($sp) /* f0e06fc: 8fb20060 */ lw $s2,0x60($sp) /* f0e0700: 8fb30064 */ lw $s3,0x64($sp) /* f0e0704: 8fb40068 */ lw $s4,0x68($sp) /* f0e0708: 8fb5006c */ lw $s5,0x6c($sp) /* f0e070c: 8fb60070 */ lw $s6,0x70($sp) /* f0e0710: 8fb70074 */ lw $s7,0x74($sp) /* f0e0714: 8fbe0078 */ lw $s8,0x78($sp) /* f0e0718: ac2afac0 */ sw $t2,%lo(g_ScaleX)($at) /* f0e071c: 03e00008 */ jr $ra /* f0e0720: 27bd0100 */ addiu $sp,$sp,0x100 ); #else GLOBAL_ASM( glabel hudmsgsRender .late_rodata glabel var7f1adedc .word 0x40490fdb glabel var7f1adee0 .word hudmsgsRender+0xa5c glabel var7f1adee4 .word hudmsgsRender+0xa5c glabel var7f1adee8 .word hudmsgsRender+0xa5c glabel var7f1adeec .word hudmsgsRender+0x414 glabel var7f1adef0 .word hudmsgsRender+0x66c glabel var7f1adef4 .word hudmsgsRender+0x7f0 .text /* f0dceb0: 27bdff00 */ addiu $sp,$sp,-256 /* f0dceb4: 3c0f8007 */ lui $t7,0x8007 /* f0dceb8: 8def2d88 */ lw $t7,0x2d88($t7) /* f0dcebc: afb20060 */ sw $s2,0x60($sp) /* f0dcec0: 24020001 */ addiu $v0,$zero,0x1 /* f0dcec4: 240e00ff */ addiu $t6,$zero,0xff /* f0dcec8: 00809025 */ or $s2,$a0,$zero /* f0dcecc: afbf007c */ sw $ra,0x7c($sp) /* f0dced0: afbe0078 */ sw $s8,0x78($sp) /* f0dced4: afb70074 */ sw $s7,0x74($sp) /* f0dced8: afb60070 */ sw $s6,0x70($sp) /* f0dcedc: afb5006c */ sw $s5,0x6c($sp) /* f0dcee0: afb40068 */ sw $s4,0x68($sp) /* f0dcee4: afb30064 */ sw $s3,0x64($sp) /* f0dcee8: afb1005c */ sw $s1,0x5c($sp) /* f0dceec: afb00058 */ sw $s0,0x58($sp) /* f0dcef0: f7ba0050 */ sdc1 $f26,0x50($sp) /* f0dcef4: f7b80048 */ sdc1 $f24,0x48($sp) /* f0dcef8: f7b60040 */ sdc1 $f22,0x40($sp) /* f0dcefc: f7b40038 */ sdc1 $f20,0x38($sp) /* f0dcf00: afae00e0 */ sw $t6,0xe0($sp) /* f0dcf04: 144f0005 */ bne $v0,$t7,.NB0f0dcf1c /* f0dcf08: afa200dc */ sw $v0,0xdc($sp) /* f0dcf0c: 24180002 */ addiu $t8,$zero,0x2 /* f0dcf10: 3c018008 */ lui $at,0x8008 /* f0dcf14: 10000003 */ beqz $zero,.NB0f0dcf24 /* f0dcf18: ac382320 */ sw $t8,0x2320($at) .NB0f0dcf1c: /* f0dcf1c: 3c018008 */ lui $at,0x8008 /* f0dcf20: ac222320 */ sw $v0,0x2320($at) .NB0f0dcf24: /* f0dcf24: 0fc5374a */ jal func0f153628 /* f0dcf28: 02402025 */ or $a0,$s2,$zero /* f0dcf2c: 3c19800a */ lui $t9,0x800a /* f0dcf30: 8f39e958 */ lw $t9,-0x16a8($t9) /* f0dcf34: 00409025 */ or $s2,$v0,$zero /* f0dcf38: 3c048007 */ lui $a0,0x8007 /* f0dcf3c: 07210005 */ bgez $t9,.NB0f0dcf54 /* f0dcf40: 3c0141f0 */ lui $at,0x41f0 /* f0dcf44: 3c08800a */ lui $t0,0x800a /* f0dcf48: 8d08e95c */ lw $t0,-0x16a4($t0) /* f0dcf4c: 0500000e */ bltz $t0,.NB0f0dcf88 /* f0dcf50: 00000000 */ sll $zero,$zero,0x0 .NB0f0dcf54: /* f0dcf54: 3c098007 */ lui $t1,0x8007 /* f0dcf58: 8d292e24 */ lw $t1,0x2e24($t1) /* f0dcf5c: 1120000a */ beqz $t1,.NB0f0dcf88 /* f0dcf60: 00000000 */ sll $zero,$zero,0x0 /* f0dcf64: 3c0a8006 */ lui $t2,0x8006 /* f0dcf68: 8d4af2f0 */ lw $t2,-0xd10($t2) /* f0dcf6c: 15400006 */ bnez $t2,.NB0f0dcf88 /* f0dcf70: 00000000 */ sll $zero,$zero,0x0 /* f0dcf74: 3c0b800a */ lui $t3,0x800a /* f0dcf78: 8d6be94c */ lw $t3,-0x16b4($t3) /* f0dcf7c: 15600002 */ bnez $t3,.NB0f0dcf88 /* f0dcf80: 00000000 */ sll $zero,$zero,0x0 /* f0dcf84: afa000dc */ sw $zero,0xdc($sp) .NB0f0dcf88: /* f0dcf88: 8c8436a8 */ lw $a0,0x36a8($a0) /* f0dcf8c: 27b700e4 */ addiu $s7,$sp,0xe4 /* f0dcf90: 27b600e8 */ addiu $s6,$sp,0xe8 /* f0dcf94: 188002a5 */ blez $a0,.NB0f0dda2c /* f0dcf98: 2415ff00 */ addiu $s5,$zero,-256 /* f0dcf9c: 4481d000 */ mtc1 $at,$f26 /* f0dcfa0: 3c0140e0 */ lui $at,0x40e0 /* f0dcfa4: 4481c000 */ mtc1 $at,$f24 /* f0dcfa8: 3c014080 */ lui $at,0x4080 /* f0dcfac: 4481b000 */ mtc1 $at,$f22 /* f0dcfb0: 3c013f80 */ lui $at,0x3f80 /* f0dcfb4: 4481a000 */ mtc1 $at,$f20 /* f0dcfb8: afa00088 */ sw $zero,0x88($sp) /* f0dcfbc: 241e00ff */ addiu $s8,$zero,0xff .NB0f0dcfc0: /* f0dcfc0: 3c0d8007 */ lui $t5,0x8007 /* f0dcfc4: 8dad36ac */ lw $t5,0x36ac($t5) /* f0dcfc8: 8fac0088 */ lw $t4,0x88($sp) /* f0dcfcc: 00041100 */ sll $v0,$a0,0x4 /* f0dcfd0: 00441023 */ subu $v0,$v0,$a0 /* f0dcfd4: 018d8021 */ addu $s0,$t4,$t5 /* f0dcfd8: 92030004 */ lbu $v1,0x4($s0) /* f0dcfdc: 000210c0 */ sll $v0,$v0,0x3 /* f0dcfe0: 00441023 */ subu $v0,$v0,$a0 /* f0dcfe4: 54600004 */ bnezl $v1,.NB0f0dcff8 /* f0dcfe8: 92020000 */ lbu $v0,0x0($s0) /* f0dcfec: 1000028a */ beqz $zero,.NB0f0dda18 /* f0dcff0: 00021080 */ sll $v0,$v0,0x2 /* f0dcff4: 92020000 */ lbu $v0,0x0($s0) .NB0f0dcff8: /* f0dcff8: 24010001 */ addiu $at,$zero,0x1 /* f0dcffc: 5040000a */ beqzl $v0,.NB0f0dd028 /* f0dd000: 00041100 */ sll $v0,$a0,0x4 /* f0dd004: 10410007 */ beq $v0,$at,.NB0f0dd024 /* f0dd008: 8fae00dc */ lw $t6,0xdc($sp) /* f0dd00c: 51c0000c */ beqzl $t6,.NB0f0dd040 /* f0dd010: 92190003 */ lbu $t9,0x3($s0) /* f0dd014: 3c0f800a */ lui $t7,0x800a /* f0dd018: 8defe94c */ lw $t7,-0x16b4($t7) /* f0dd01c: 8e1801c0 */ lw $t8,0x1c0($s0) /* f0dd020: 11f80006 */ beq $t7,$t8,.NB0f0dd03c .NB0f0dd024: /* f0dd024: 00041100 */ sll $v0,$a0,0x4 .NB0f0dd028: /* f0dd028: 00441023 */ subu $v0,$v0,$a0 /* f0dd02c: 000210c0 */ sll $v0,$v0,0x3 /* f0dd030: 00441023 */ subu $v0,$v0,$a0 /* f0dd034: 10000278 */ beqz $zero,.NB0f0dda18 /* f0dd038: 00021080 */ sll $v0,$v0,0x2 .NB0f0dd03c: /* f0dd03c: 92190003 */ lbu $t9,0x3($s0) .NB0f0dd040: /* f0dd040: 53200022 */ beqzl $t9,.NB0f0dd0cc /* f0dd044: 8e130010 */ lw $s3,0x10($s0) /* f0dd048: 96080006 */ lhu $t0,0x6($s0) /* f0dd04c: 3c014f80 */ lui $at,0x4f80 /* f0dd050: 44882000 */ mtc1 $t0,$f4 /* f0dd054: 05010004 */ bgez $t0,.NB0f0dd068 /* f0dd058: 468021a0 */ cvt.s.w $f6,$f4 /* f0dd05c: 44814000 */ mtc1 $at,$f8 /* f0dd060: 00000000 */ sll $zero,$zero,0x0 /* f0dd064: 46083180 */ add.s $f6,$f6,$f8 .NB0f0dd068: /* f0dd068: 3c017f1b */ lui $at,0x7f1b /* f0dd06c: c42a820c */ lwc1 $f10,-0x7df4($at) /* f0dd070: 3c014270 */ lui $at,0x4270 /* f0dd074: 44819000 */ mtc1 $at,$f18 /* f0dd078: 460a3402 */ mul.s $f16,$f6,$f10 /* f0dd07c: 0c006d55 */ jal sinf /* f0dd080: 46128303 */ div.s $f12,$f16,$f18 /* f0dd084: 44802000 */ mtc1 $zero,$f4 /* f0dd088: 3c014340 */ lui $at,0x4340 /* f0dd08c: 44814000 */ mtc1 $at,$f8 /* f0dd090: 4604003c */ c.lt.s $f0,$f4 /* f0dd094: 46000086 */ mov.s $f2,$f0 /* f0dd098: 45000002 */ bc1f .NB0f0dd0a4 /* f0dd09c: 00000000 */ sll $zero,$zero,0x0 /* f0dd0a0: 46000087 */ neg.s $f2,$f0 .NB0f0dd0a4: /* f0dd0a4: 46024182 */ mul.s $f6,$f8,$f2 /* f0dd0a8: 8e090010 */ lw $t1,0x10($s0) /* f0dd0ac: 8e140014 */ lw $s4,0x14($s0) /* f0dd0b0: 92030004 */ lbu $v1,0x4($s0) /* f0dd0b4: 01355024 */ and $t2,$t1,$s5 /* f0dd0b8: 4600328d */ trunc.w.s $f10,$f6 /* f0dd0bc: 440c5000 */ mfc1 $t4,$f10 /* f0dd0c0: 10000005 */ beqz $zero,.NB0f0dd0d8 /* f0dd0c4: 014c9821 */ addu $s3,$t2,$t4 /* f0dd0c8: 8e130010 */ lw $s3,0x10($s0) .NB0f0dd0cc: /* f0dd0cc: 8e140014 */ lw $s4,0x14($s0) /* f0dd0d0: 366d00a0 */ ori $t5,$s3,0xa0 /* f0dd0d4: 01a09825 */ or $s3,$t5,$zero .NB0f0dd0d8: /* f0dd0d8: 240100ff */ addiu $at,$zero,0xff /* f0dd0dc: 1061001c */ beq $v1,$at,.NB0f0dd150 /* f0dd0e0: 00601025 */ or $v0,$v1,$zero /* f0dd0e4: 326e00ff */ andi $t6,$s3,0xff /* f0dd0e8: 004e0019 */ multu $v0,$t6 /* f0dd0ec: 00401825 */ or $v1,$v0,$zero /* f0dd0f0: 329800ff */ andi $t8,$s4,0xff /* f0dd0f4: 02754024 */ and $t0,$s3,$s5 /* f0dd0f8: 02955824 */ and $t3,$s4,$s5 /* f0dd0fc: 00007812 */ mflo $t7 /* f0dd100: 00000000 */ sll $zero,$zero,0x0 /* f0dd104: 00000000 */ sll $zero,$zero,0x0 /* f0dd108: 01fe001b */ divu $zero,$t7,$s8 /* f0dd10c: 00002012 */ mflo $a0 /* f0dd110: 308900ff */ andi $t1,$a0,0xff /* f0dd114: 17c00002 */ bnez $s8,.NB0f0dd120 /* f0dd118: 00000000 */ sll $zero,$zero,0x0 /* f0dd11c: 0007000d */ break 0x7 .NB0f0dd120: /* f0dd120: 00780019 */ multu $v1,$t8 /* f0dd124: 01099821 */ addu $s3,$t0,$t1 /* f0dd128: 0000c812 */ mflo $t9 /* f0dd12c: 00000000 */ sll $zero,$zero,0x0 /* f0dd130: 00000000 */ sll $zero,$zero,0x0 /* f0dd134: 033e001b */ divu $zero,$t9,$s8 /* f0dd138: 00002812 */ mflo $a1 /* f0dd13c: 30aa00ff */ andi $t2,$a1,0xff /* f0dd140: 17c00002 */ bnez $s8,.NB0f0dd14c /* f0dd144: 00000000 */ sll $zero,$zero,0x0 /* f0dd148: 0007000d */ break 0x7 .NB0f0dd14c: /* f0dd14c: 016aa021 */ addu $s4,$t3,$t2 .NB0f0dd150: /* f0dd150: 960c0018 */ lhu $t4,0x18($s0) /* f0dd154: 24010006 */ addiu $at,$zero,0x6 /* f0dd158: afac00e8 */ sw $t4,0xe8($sp) /* f0dd15c: 960d001a */ lhu $t5,0x1a($s0) /* f0dd160: afad00e4 */ sw $t5,0xe4($sp) /* f0dd164: 8e0e01b4 */ lw $t6,0x1b4($s0) /* f0dd168: 55c10011 */ bnel $t6,$at,.NB0f0dd1b0 /* f0dd16c: 8e0901b4 */ lw $t1,0x1b4($s0) /* f0dd170: 0fc2fcea */ jal playerIsHealthVisible /* f0dd174: 00000000 */ sll $zero,$zero,0x0 /* f0dd178: 5040000d */ beqzl $v0,.NB0f0dd1b0 /* f0dd17c: 8e0901b4 */ lw $t1,0x1b4($s0) /* f0dd180: 0fc2fcb4 */ jal playerGetHealthBarHeightFrac /* f0dd184: 00000000 */ sll $zero,$zero,0x0 /* f0dd188: 3c014180 */ lui $at,0x4180 /* f0dd18c: 44818000 */ mtc1 $at,$f16 /* f0dd190: 8faf00e4 */ lw $t7,0xe4($sp) /* f0dd194: 46008482 */ mul.s $f18,$f16,$f0 /* f0dd198: 4600910d */ trunc.w.s $f4,$f18 /* f0dd19c: 44192000 */ mfc1 $t9,$f4 /* f0dd1a0: 00000000 */ sll $zero,$zero,0x0 /* f0dd1a4: 01f94021 */ addu $t0,$t7,$t9 /* f0dd1a8: afa800e4 */ sw $t0,0xe4($sp) /* f0dd1ac: 8e0901b4 */ lw $t1,0x1b4($s0) .NB0f0dd1b0: /* f0dd1b0: 2401000b */ addiu $at,$zero,0xb /* f0dd1b4: 5521003b */ bnel $t1,$at,.NB0f0dd2a4 /* f0dd1b8: 920d0000 */ lbu $t5,0x0($s0) /* f0dd1bc: 8fab00e8 */ lw $t3,0xe8($sp) /* f0dd1c0: 3c0c8008 */ lui $t4,0x8008 /* f0dd1c4: 8d8c2320 */ lw $t4,0x2320($t4) /* f0dd1c8: 256afffc */ addiu $t2,$t3,-4 /* f0dd1cc: 8fa900e4 */ lw $t1,0xe4($sp) /* f0dd1d0: 014c0019 */ multu $t2,$t4 /* f0dd1d4: 3c01ed00 */ lui $at,0xed00 /* f0dd1d8: 252bfffc */ addiu $t3,$t1,-4 /* f0dd1dc: 448b9000 */ mtc1 $t3,$f18 /* f0dd1e0: 02401025 */ or $v0,$s2,$zero /* f0dd1e4: 3c0b8008 */ lui $t3,0x8008 /* f0dd1e8: 46809120 */ cvt.s.w $f4,$f18 /* f0dd1ec: 26520008 */ addiu $s2,$s2,0x8 /* f0dd1f0: 00006812 */ mflo $t5 /* f0dd1f4: 448d4000 */ mtc1 $t5,$f8 /* f0dd1f8: 00000000 */ sll $zero,$zero,0x0 /* f0dd1fc: 468041a0 */ cvt.s.w $f6,$f8 /* f0dd200: 46163282 */ mul.s $f10,$f6,$f22 /* f0dd204: 00000000 */ sll $zero,$zero,0x0 /* f0dd208: 46162202 */ mul.s $f8,$f4,$f22 /* f0dd20c: 4600540d */ trunc.w.s $f16,$f10 /* f0dd210: 4600418d */ trunc.w.s $f6,$f8 /* f0dd214: 44188000 */ mfc1 $t8,$f16 /* f0dd218: 440c3000 */ mfc1 $t4,$f6 /* f0dd21c: 330f0fff */ andi $t7,$t8,0xfff /* f0dd220: 000fcb00 */ sll $t9,$t7,0xc /* f0dd224: 03214025 */ or $t0,$t9,$at /* f0dd228: 318d0fff */ andi $t5,$t4,0xfff /* f0dd22c: 010d7025 */ or $t6,$t0,$t5 /* f0dd230: ac4e0000 */ sw $t6,0x0($v0) /* f0dd234: 8faf00e8 */ lw $t7,0xe8($sp) /* f0dd238: 9618001c */ lhu $t8,0x1c($s0) /* f0dd23c: 8d6b2320 */ lw $t3,0x2320($t3) /* f0dd240: 030fc821 */ addu $t9,$t8,$t7 /* f0dd244: 27290003 */ addiu $t1,$t9,0x3 /* f0dd248: 012b0019 */ multu $t1,$t3 /* f0dd24c: 960f001e */ lhu $t7,0x1e($s0) /* f0dd250: 8fb800e4 */ lw $t8,0xe4($sp) /* f0dd254: 030fc821 */ addu $t9,$t8,$t7 /* f0dd258: 27290003 */ addiu $t1,$t9,0x3 /* f0dd25c: 44894000 */ mtc1 $t1,$f8 /* f0dd260: 00005012 */ mflo $t2 /* f0dd264: 448a5000 */ mtc1 $t2,$f10 /* f0dd268: 468041a0 */ cvt.s.w $f6,$f8 /* f0dd26c: 46805420 */ cvt.s.w $f16,$f10 /* f0dd270: 46168482 */ mul.s $f18,$f16,$f22 /* f0dd274: 00000000 */ sll $zero,$zero,0x0 /* f0dd278: 46163282 */ mul.s $f10,$f6,$f22 /* f0dd27c: 4600910d */ trunc.w.s $f4,$f18 /* f0dd280: 4600540d */ trunc.w.s $f16,$f10 /* f0dd284: 44082000 */ mfc1 $t0,$f4 /* f0dd288: 440a8000 */ mfc1 $t2,$f16 /* f0dd28c: 310d0fff */ andi $t5,$t0,0xfff /* f0dd290: 000d7300 */ sll $t6,$t5,0xc /* f0dd294: 314c0fff */ andi $t4,$t2,0xfff /* f0dd298: 01cc4025 */ or $t0,$t6,$t4 /* f0dd29c: ac480004 */ sw $t0,0x4($v0) /* f0dd2a0: 920d0000 */ lbu $t5,0x0($s0) .NB0f0dd2a4: /* f0dd2a4: 2da10006 */ sltiu $at,$t5,0x6 /* f0dd2a8: 10200198 */ beqz $at,.NB0f0dd90c /* f0dd2ac: 000d6880 */ sll $t5,$t5,0x2 /* f0dd2b0: 3c017f1b */ lui $at,0x7f1b /* f0dd2b4: 002d0821 */ addu $at,$at,$t5 /* f0dd2b8: 8c2d8210 */ lw $t5,-0x7df0($at) /* f0dd2bc: 01a00008 */ jr $t5 /* f0dd2c0: 00000000 */ sll $zero,$zero,0x0 /* f0dd2c4: 8e110010 */ lw $s1,0x10($s0) /* f0dd2c8: 92020004 */ lbu $v0,0x4($s0) /* f0dd2cc: 240100ff */ addiu $at,$zero,0xff /* f0dd2d0: 36380040 */ ori $t8,$s1,0x40 /* f0dd2d4: 1041000e */ beq $v0,$at,.NB0f0dd310 /* f0dd2d8: 03008825 */ or $s1,$t8,$zero /* f0dd2dc: 330f00ff */ andi $t7,$t8,0xff /* f0dd2e0: 004f0019 */ multu $v0,$t7 /* f0dd2e4: 02354824 */ and $t1,$s1,$s5 /* f0dd2e8: 0000c812 */ mflo $t9 /* f0dd2ec: 00000000 */ sll $zero,$zero,0x0 /* f0dd2f0: 00000000 */ sll $zero,$zero,0x0 /* f0dd2f4: 033e001b */ divu $zero,$t9,$s8 /* f0dd2f8: 00001812 */ mflo $v1 /* f0dd2fc: 306b00ff */ andi $t3,$v1,0xff /* f0dd300: 17c00002 */ bnez $s8,.NB0f0dd30c /* f0dd304: 00000000 */ sll $zero,$zero,0x0 /* f0dd308: 0007000d */ break 0x7 .NB0f0dd30c: /* f0dd30c: 012b8821 */ addu $s1,$t1,$t3 .NB0f0dd310: /* f0dd310: 9602001c */ lhu $v0,0x1c($s0) /* f0dd314: 9603001e */ lhu $v1,0x1e($s0) /* f0dd318: 00420019 */ multu $v0,$v0 /* f0dd31c: 00005012 */ mflo $t2 /* f0dd320: 00000000 */ sll $zero,$zero,0x0 /* f0dd324: 00000000 */ sll $zero,$zero,0x0 /* f0dd328: 00630019 */ multu $v1,$v1 /* f0dd32c: 00007012 */ mflo $t6 /* f0dd330: 014e6021 */ addu $t4,$t2,$t6 /* f0dd334: 448c9000 */ mtc1 $t4,$f18 /* f0dd338: 0c012e84 */ jal sqrtf /* f0dd33c: 46809320 */ cvt.s.w $f12,$f18 /* f0dd340: 3c014304 */ lui $at,0x4304 /* f0dd344: 44812000 */ mtc1 $at,$f4 /* f0dd348: 44808000 */ mtc1 $zero,$f16 /* f0dd34c: 3c014f80 */ lui $at,0x4f80 /* f0dd350: 46040200 */ add.s $f8,$f0,$f4 /* f0dd354: 46184083 */ div.s $f2,$f8,$f24 /* f0dd358: 4602d03c */ c.lt.s $f26,$f2 /* f0dd35c: 00000000 */ sll $zero,$zero,0x0 /* f0dd360: 45020003 */ bc1fl .NB0f0dd370 /* f0dd364: 96080006 */ lhu $t0,0x6($s0) /* f0dd368: 4600d086 */ mov.s $f2,$f26 /* f0dd36c: 96080006 */ lhu $t0,0x6($s0) .NB0f0dd370: /* f0dd370: 44883000 */ mtc1 $t0,$f6 /* f0dd374: 05010004 */ bgez $t0,.NB0f0dd388 /* f0dd378: 46803320 */ cvt.s.w $f12,$f6 /* f0dd37c: 44815000 */ mtc1 $at,$f10 /* f0dd380: 00000000 */ sll $zero,$zero,0x0 /* f0dd384: 460a6300 */ add.s $f12,$f12,$f10 .NB0f0dd388: /* f0dd388: 46026083 */ div.s $f2,$f12,$f2 /* f0dd38c: 8fa400e8 */ lw $a0,0xe8($sp) /* f0dd390: 8fa500e4 */ lw $a1,0xe4($sp) /* f0dd394: 00003825 */ or $a3,$zero,$zero /* f0dd398: 46186002 */ mul.s $f0,$f12,$f24 /* f0dd39c: 44060000 */ mfc1 $a2,$f0 /* f0dd3a0: 4602a03c */ c.lt.s $f20,$f2 /* f0dd3a4: 00000000 */ sll $zero,$zero,0x0 /* f0dd3a8: 45020003 */ bc1fl .NB0f0dd3b8 /* f0dd3ac: 4610103c */ c.lt.s $f2,$f16 /* f0dd3b0: 4600a086 */ mov.s $f2,$f20 /* f0dd3b4: 4610103c */ c.lt.s $f2,$f16 .NB0f0dd3b8: /* f0dd3b8: 00000000 */ sll $zero,$zero,0x0 /* f0dd3bc: 45000003 */ bc1f .NB0f0dd3cc /* f0dd3c0: 00000000 */ sll $zero,$zero,0x0 /* f0dd3c4: 44801000 */ mtc1 $zero,$f2 /* f0dd3c8: 00000000 */ sll $zero,$zero,0x0 .NB0f0dd3cc: /* f0dd3cc: 0fc5389f */ jal func0f153c20 /* f0dd3d0: e7a200c0 */ swc1 $f2,0xc0($sp) /* f0dd3d4: 920d0001 */ lbu $t5,0x1($s0) /* f0dd3d8: c7a200c0 */ lwc1 $f2,0xc0($sp) /* f0dd3dc: 02402025 */ or $a0,$s2,$zero /* f0dd3e0: 11a00027 */ beqz $t5,.NB0f0dd480 /* f0dd3e4: 8fa500e8 */ lw $a1,0xe8($sp) /* f0dd3e8: 8faf00e4 */ lw $t7,0xe4($sp) /* f0dd3ec: 9609001e */ lhu $t1,0x1e($s0) /* f0dd3f0: 8fb800e8 */ lw $t8,0xe8($sp) /* f0dd3f4: 9619001c */ lhu $t9,0x1c($s0) /* f0dd3f8: 012f5821 */ addu $t3,$t1,$t7 /* f0dd3fc: 256a0002 */ addiu $t2,$t3,0x2 /* f0dd400: 03383821 */ addu $a3,$t9,$t8 /* f0dd404: 24e70002 */ addiu $a3,$a3,0x2 /* f0dd408: afaa0010 */ sw $t2,0x10($sp) /* f0dd40c: e7a2001c */ swc1 $f2,0x1c($sp) /* f0dd410: afb10018 */ sw $s1,0x18($sp) /* f0dd414: e7b40014 */ swc1 $f20,0x14($sp) /* f0dd418: 02402025 */ or $a0,$s2,$zero /* f0dd41c: 25e6fffd */ addiu $a2,$t7,-3 /* f0dd420: 0fc36b96 */ jal hudmsgRenderBox /* f0dd424: 2705fffd */ addiu $a1,$t8,-3 /* f0dd428: 0c002f77 */ jal viGetWidth /* f0dd42c: 00409025 */ or $s2,$v0,$zero /* f0dd430: 00028c00 */ sll $s1,$v0,0x10 /* f0dd434: 00117403 */ sra $t6,$s1,0x10 /* f0dd438: 0c002f7b */ jal viGetHeight /* f0dd43c: 01c08825 */ or $s1,$t6,$zero /* f0dd440: 8e0c0008 */ lw $t4,0x8($s0) /* f0dd444: 02402025 */ or $a0,$s2,$zero /* f0dd448: 02c02825 */ or $a1,$s6,$zero /* f0dd44c: afac0010 */ sw $t4,0x10($sp) /* f0dd450: 8e08000c */ lw $t0,0xc($s0) /* f0dd454: afa00028 */ sw $zero,0x28($sp) /* f0dd458: afa00024 */ sw $zero,0x24($sp) /* f0dd45c: afa20020 */ sw $v0,0x20($sp) /* f0dd460: afb1001c */ sw $s1,0x1c($sp) /* f0dd464: afb30018 */ sw $s3,0x18($sp) /* f0dd468: 02e03025 */ or $a2,$s7,$zero /* f0dd46c: 26070020 */ addiu $a3,$s0,0x20 /* f0dd470: 0fc541a6 */ jal textRenderProjected /* f0dd474: afa80014 */ sw $t0,0x14($sp) /* f0dd478: 1000001f */ beqz $zero,.NB0f0dd4f8 /* f0dd47c: 00409025 */ or $s2,$v0,$zero .NB0f0dd480: /* f0dd480: 8fa600e4 */ lw $a2,0xe4($sp) /* f0dd484: 9609001e */ lhu $t1,0x1e($s0) /* f0dd488: 9618001c */ lhu $t8,0x1c($s0) /* f0dd48c: afa00014 */ sw $zero,0x14($sp) /* f0dd490: 01267821 */ addu $t7,$t1,$a2 /* f0dd494: afaf0010 */ sw $t7,0x10($sp) /* f0dd498: 0fc53824 */ jal func0f153a34 /* f0dd49c: 03053821 */ addu $a3,$t8,$a1 /* f0dd4a0: 0c002f77 */ jal viGetWidth /* f0dd4a4: 00409025 */ or $s2,$v0,$zero /* f0dd4a8: 00028c00 */ sll $s1,$v0,0x10 /* f0dd4ac: 00115c03 */ sra $t3,$s1,0x10 /* f0dd4b0: 0c002f7b */ jal viGetHeight /* f0dd4b4: 01608825 */ or $s1,$t3,$zero /* f0dd4b8: 8e0a0008 */ lw $t2,0x8($s0) /* f0dd4bc: 02402025 */ or $a0,$s2,$zero /* f0dd4c0: 02c02825 */ or $a1,$s6,$zero /* f0dd4c4: afaa0010 */ sw $t2,0x10($sp) /* f0dd4c8: 8e0e000c */ lw $t6,0xc($s0) /* f0dd4cc: afa0002c */ sw $zero,0x2c($sp) /* f0dd4d0: afa00028 */ sw $zero,0x28($sp) /* f0dd4d4: afa20024 */ sw $v0,0x24($sp) /* f0dd4d8: afb10020 */ sw $s1,0x20($sp) /* f0dd4dc: afb4001c */ sw $s4,0x1c($sp) /* f0dd4e0: afb30018 */ sw $s3,0x18($sp) /* f0dd4e4: 02e03025 */ or $a2,$s7,$zero /* f0dd4e8: 26070020 */ addiu $a3,$s0,0x20 /* f0dd4ec: 0fc54529 */ jal textRender /* f0dd4f0: afae0014 */ sw $t6,0x14($sp) /* f0dd4f4: 00409025 */ or $s2,$v0,$zero .NB0f0dd4f8: /* f0dd4f8: 920c01c9 */ lbu $t4,0x1c9($s0) /* f0dd4fc: 24010006 */ addiu $at,$zero,0x6 /* f0dd500: 15810002 */ bne $t4,$at,.NB0f0dd50c /* f0dd504: 00000000 */ sll $zero,$zero,0x0 /* f0dd508: afa000e0 */ sw $zero,0xe0($sp) .NB0f0dd50c: /* f0dd50c: 0fc5392a */ jal func0f153e4c /* f0dd510: 00000000 */ sll $zero,$zero,0x0 /* f0dd514: 100000fe */ beqz $zero,.NB0f0dd910 /* f0dd518: 8e0c01b4 */ lw $t4,0x1b4($s0) /* f0dd51c: 92080001 */ lbu $t0,0x1($s0) /* f0dd520: 8fab00e8 */ lw $t3,0xe8($sp) /* f0dd524: 8faa00e4 */ lw $t2,0xe4($sp) /* f0dd528: 11000037 */ beqz $t0,.NB0f0dd608 /* f0dd52c: 2565fffd */ addiu $a1,$t3,-3 /* f0dd530: 8e030010 */ lw $v1,0x10($s0) /* f0dd534: 92020004 */ lbu $v0,0x4($s0) /* f0dd538: 240100ff */ addiu $at,$zero,0xff /* f0dd53c: 34780040 */ ori $t8,$v1,0x40 /* f0dd540: 1041000e */ beq $v0,$at,.NB0f0dd57c /* f0dd544: 03001825 */ or $v1,$t8,$zero /* f0dd548: 330d00ff */ andi $t5,$t8,0xff /* f0dd54c: 004d0019 */ multu $v0,$t5 /* f0dd550: 0075c824 */ and $t9,$v1,$s5 /* f0dd554: 00004812 */ mflo $t1 /* f0dd558: 00000000 */ sll $zero,$zero,0x0 /* f0dd55c: 00000000 */ sll $zero,$zero,0x0 /* f0dd560: 013e001b */ divu $zero,$t1,$s8 /* f0dd564: 00002012 */ mflo $a0 /* f0dd568: 308f00ff */ andi $t7,$a0,0xff /* f0dd56c: 17c00002 */ bnez $s8,.NB0f0dd578 /* f0dd570: 00000000 */ sll $zero,$zero,0x0 /* f0dd574: 0007000d */ break 0x7 .NB0f0dd578: /* f0dd578: 032f1821 */ addu $v1,$t9,$t7 .NB0f0dd57c: /* f0dd57c: 960c001e */ lhu $t4,0x1e($s0) /* f0dd580: 960e001c */ lhu $t6,0x1c($s0) /* f0dd584: e7b4001c */ swc1 $f20,0x1c($sp) /* f0dd588: 018a4021 */ addu $t0,$t4,$t2 /* f0dd58c: 25180002 */ addiu $t8,$t0,0x2 /* f0dd590: 01cb3821 */ addu $a3,$t6,$t3 /* f0dd594: 24e70002 */ addiu $a3,$a3,0x2 /* f0dd598: afb80010 */ sw $t8,0x10($sp) /* f0dd59c: afa30018 */ sw $v1,0x18($sp) /* f0dd5a0: e7b40014 */ swc1 $f20,0x14($sp) /* f0dd5a4: 02402025 */ or $a0,$s2,$zero /* f0dd5a8: 0fc36b96 */ jal hudmsgRenderBox /* f0dd5ac: 2546fffd */ addiu $a2,$t2,-3 /* f0dd5b0: 0c002f77 */ jal viGetWidth /* f0dd5b4: 00409025 */ or $s2,$v0,$zero /* f0dd5b8: 00028c00 */ sll $s1,$v0,0x10 /* f0dd5bc: 00116c03 */ sra $t5,$s1,0x10 /* f0dd5c0: 0c002f7b */ jal viGetHeight /* f0dd5c4: 01a08825 */ or $s1,$t5,$zero /* f0dd5c8: 8e090008 */ lw $t1,0x8($s0) /* f0dd5cc: 02402025 */ or $a0,$s2,$zero /* f0dd5d0: 02c02825 */ or $a1,$s6,$zero /* f0dd5d4: afa90010 */ sw $t1,0x10($sp) /* f0dd5d8: 8e19000c */ lw $t9,0xc($s0) /* f0dd5dc: afa00028 */ sw $zero,0x28($sp) /* f0dd5e0: afa00024 */ sw $zero,0x24($sp) /* f0dd5e4: afa20020 */ sw $v0,0x20($sp) /* f0dd5e8: afb1001c */ sw $s1,0x1c($sp) /* f0dd5ec: afb30018 */ sw $s3,0x18($sp) /* f0dd5f0: 02e03025 */ or $a2,$s7,$zero /* f0dd5f4: 26070020 */ addiu $a3,$s0,0x20 /* f0dd5f8: 0fc541a6 */ jal textRenderProjected /* f0dd5fc: afb90014 */ sw $t9,0x14($sp) /* f0dd600: 10000021 */ beqz $zero,.NB0f0dd688 /* f0dd604: 00409025 */ or $s2,$v0,$zero .NB0f0dd608: /* f0dd608: 8fa600e4 */ lw $a2,0xe4($sp) /* f0dd60c: 960c001e */ lhu $t4,0x1e($s0) /* f0dd610: 8fa500e8 */ lw $a1,0xe8($sp) /* f0dd614: 960b001c */ lhu $t3,0x1c($s0) /* f0dd618: 01865021 */ addu $t2,$t4,$a2 /* f0dd61c: afaa0010 */ sw $t2,0x10($sp) /* f0dd620: afa00014 */ sw $zero,0x14($sp) /* f0dd624: 02402025 */ or $a0,$s2,$zero /* f0dd628: 0fc53824 */ jal func0f153a34 /* f0dd62c: 01653821 */ addu $a3,$t3,$a1 /* f0dd630: 0c002f77 */ jal viGetWidth /* f0dd634: 00409025 */ or $s2,$v0,$zero /* f0dd638: 00028c00 */ sll $s1,$v0,0x10 /* f0dd63c: 00114403 */ sra $t0,$s1,0x10 /* f0dd640: 0c002f7b */ jal viGetHeight /* f0dd644: 01008825 */ or $s1,$t0,$zero /* f0dd648: 8e180008 */ lw $t8,0x8($s0) /* f0dd64c: 02402025 */ or $a0,$s2,$zero /* f0dd650: 02c02825 */ or $a1,$s6,$zero /* f0dd654: afb80010 */ sw $t8,0x10($sp) /* f0dd658: 8e0d000c */ lw $t5,0xc($s0) /* f0dd65c: afa0002c */ sw $zero,0x2c($sp) /* f0dd660: afa00028 */ sw $zero,0x28($sp) /* f0dd664: afa20024 */ sw $v0,0x24($sp) /* f0dd668: afb10020 */ sw $s1,0x20($sp) /* f0dd66c: afb4001c */ sw $s4,0x1c($sp) /* f0dd670: afb30018 */ sw $s3,0x18($sp) /* f0dd674: 02e03025 */ or $a2,$s7,$zero /* f0dd678: 26070020 */ addiu $a3,$s0,0x20 /* f0dd67c: 0fc54529 */ jal textRender /* f0dd680: afad0014 */ sw $t5,0x14($sp) /* f0dd684: 00409025 */ or $s2,$v0,$zero .NB0f0dd688: /* f0dd688: 920901c9 */ lbu $t1,0x1c9($s0) /* f0dd68c: 24010006 */ addiu $at,$zero,0x6 /* f0dd690: 5521009f */ bnel $t1,$at,.NB0f0dd910 /* f0dd694: 8e0c01b4 */ lw $t4,0x1b4($s0) /* f0dd698: 1000009c */ beqz $zero,.NB0f0dd90c /* f0dd69c: afa000e0 */ sw $zero,0xe0($sp) /* f0dd6a0: 9602001c */ lhu $v0,0x1c($s0) /* f0dd6a4: 9603001e */ lhu $v1,0x1e($s0) /* f0dd6a8: 00420019 */ multu $v0,$v0 /* f0dd6ac: 0000c812 */ mflo $t9 /* f0dd6b0: 00000000 */ sll $zero,$zero,0x0 /* f0dd6b4: 00000000 */ sll $zero,$zero,0x0 /* f0dd6b8: 00630019 */ multu $v1,$v1 /* f0dd6bc: 00005812 */ mflo $t3 /* f0dd6c0: 032b7821 */ addu $t7,$t9,$t3 /* f0dd6c4: 448f9000 */ mtc1 $t7,$f18 /* f0dd6c8: 0c012e84 */ jal sqrtf /* f0dd6cc: 46809320 */ cvt.s.w $f12,$f18 /* f0dd6d0: 3c0142b8 */ lui $at,0x42b8 /* f0dd6d4: 44812000 */ mtc1 $at,$f4 /* f0dd6d8: 8e110010 */ lw $s1,0x10($s0) /* f0dd6dc: 92020004 */ lbu $v0,0x4($s0) /* f0dd6e0: 46040200 */ add.s $f8,$f0,$f4 /* f0dd6e4: 240100ff */ addiu $at,$zero,0xff /* f0dd6e8: 362c0040 */ ori $t4,$s1,0x40 /* f0dd6ec: 01808825 */ or $s1,$t4,$zero /* f0dd6f0: 1041000e */ beq $v0,$at,.NB0f0dd72c /* f0dd6f4: 46184083 */ div.s $f2,$f8,$f24 /* f0dd6f8: 318e00ff */ andi $t6,$t4,0xff /* f0dd6fc: 004e0019 */ multu $v0,$t6 /* f0dd700: 02354024 */ and $t0,$s1,$s5 /* f0dd704: 00005012 */ mflo $t2 /* f0dd708: 00000000 */ sll $zero,$zero,0x0 /* f0dd70c: 00000000 */ sll $zero,$zero,0x0 /* f0dd710: 015e001b */ divu $zero,$t2,$s8 /* f0dd714: 00001812 */ mflo $v1 /* f0dd718: 307800ff */ andi $t8,$v1,0xff /* f0dd71c: 17c00002 */ bnez $s8,.NB0f0dd728 /* f0dd720: 00000000 */ sll $zero,$zero,0x0 /* f0dd724: 0007000d */ break 0x7 .NB0f0dd728: /* f0dd728: 01188821 */ addu $s1,$t0,$t8 .NB0f0dd72c: /* f0dd72c: 960d0006 */ lhu $t5,0x6($s0) /* f0dd730: 3c014f80 */ lui $at,0x4f80 /* f0dd734: 448d3000 */ mtc1 $t5,$f6 /* f0dd738: 05a10004 */ bgez $t5,.NB0f0dd74c /* f0dd73c: 468032a0 */ cvt.s.w $f10,$f6 /* f0dd740: 44818000 */ mtc1 $at,$f16 /* f0dd744: 00000000 */ sll $zero,$zero,0x0 /* f0dd748: 46105280 */ add.s $f10,$f10,$f16 .NB0f0dd74c: /* f0dd74c: 460a1481 */ sub.s $f18,$f2,$f10 /* f0dd750: 9609001c */ lhu $t1,0x1c($s0) /* f0dd754: 8fb900e8 */ lw $t9,0xe8($sp) /* f0dd758: 960b001e */ lhu $t3,0x1e($s0) /* f0dd75c: 46189002 */ mul.s $f0,$f18,$f24 /* f0dd760: 8faf00e4 */ lw $t7,0xe4($sp) /* f0dd764: e7a200a8 */ swc1 $f2,0xa8($sp) /* f0dd768: 24070002 */ addiu $a3,$zero,0x2 /* f0dd76c: 01392021 */ addu $a0,$t1,$t9 /* f0dd770: 016f2821 */ addu $a1,$t3,$t7 /* f0dd774: 44060000 */ mfc1 $a2,$f0 /* f0dd778: 0fc5389f */ jal func0f153c20 /* f0dd77c: 00000000 */ sll $zero,$zero,0x0 /* f0dd780: c7a200a8 */ lwc1 $f2,0xa8($sp) /* f0dd784: 3c014f80 */ lui $at,0x4f80 /* f0dd788: 8faa00e8 */ lw $t2,0xe8($sp) /* f0dd78c: 4602d03c */ c.lt.s $f26,$f2 /* f0dd790: 8fa800e4 */ lw $t0,0xe4($sp) /* f0dd794: 02402025 */ or $a0,$s2,$zero /* f0dd798: 8fa500e8 */ lw $a1,0xe8($sp) /* f0dd79c: 45000002 */ bc1f .NB0f0dd7a8 /* f0dd7a0: 8fa600e4 */ lw $a2,0xe4($sp) /* f0dd7a4: 4600d086 */ mov.s $f2,$f26 .NB0f0dd7a8: /* f0dd7a8: 960c0006 */ lhu $t4,0x6($s0) /* f0dd7ac: 448c2000 */ mtc1 $t4,$f4 /* f0dd7b0: 05810004 */ bgez $t4,.NB0f0dd7c4 /* f0dd7b4: 46802220 */ cvt.s.w $f8,$f4 /* f0dd7b8: 44813000 */ mtc1 $at,$f6 /* f0dd7bc: 00000000 */ sll $zero,$zero,0x0 /* f0dd7c0: 46064200 */ add.s $f8,$f8,$f6 .NB0f0dd7c4: /* f0dd7c4: 46024083 */ div.s $f2,$f8,$f2 /* f0dd7c8: 4602a03c */ c.lt.s $f20,$f2 /* f0dd7cc: 00000000 */ sll $zero,$zero,0x0 /* f0dd7d0: 45020003 */ bc1fl .NB0f0dd7e0 /* f0dd7d4: 920e0001 */ lbu $t6,0x1($s0) /* f0dd7d8: 4600a086 */ mov.s $f2,$f20 /* f0dd7dc: 920e0001 */ lbu $t6,0x1($s0) .NB0f0dd7e0: /* f0dd7e0: 51c00027 */ beqzl $t6,.NB0f0dd880 /* f0dd7e4: 960d001e */ lhu $t5,0x1e($s0) /* f0dd7e8: 960d001e */ lhu $t5,0x1e($s0) /* f0dd7ec: 9618001c */ lhu $t8,0x1c($s0) /* f0dd7f0: 4602a401 */ sub.s $f16,$f20,$f2 /* f0dd7f4: 01a84821 */ addu $t1,$t5,$t0 /* f0dd7f8: 25390002 */ addiu $t9,$t1,0x2 /* f0dd7fc: 030a3821 */ addu $a3,$t8,$t2 /* f0dd800: 24e70002 */ addiu $a3,$a3,0x2 /* f0dd804: afb90010 */ sw $t9,0x10($sp) /* f0dd808: e7b0001c */ swc1 $f16,0x1c($sp) /* f0dd80c: afb10018 */ sw $s1,0x18($sp) /* f0dd810: e7b40014 */ swc1 $f20,0x14($sp) /* f0dd814: 02402025 */ or $a0,$s2,$zero /* f0dd818: 2545fffd */ addiu $a1,$t2,-3 /* f0dd81c: 0fc36b96 */ jal hudmsgRenderBox /* f0dd820: 2506fffd */ addiu $a2,$t0,-3 /* f0dd824: 0c002f77 */ jal viGetWidth /* f0dd828: 00409025 */ or $s2,$v0,$zero /* f0dd82c: 00028c00 */ sll $s1,$v0,0x10 /* f0dd830: 00115c03 */ sra $t3,$s1,0x10 /* f0dd834: 0c002f7b */ jal viGetHeight /* f0dd838: 01608825 */ or $s1,$t3,$zero /* f0dd83c: 8e0f0008 */ lw $t7,0x8($s0) /* f0dd840: 02402025 */ or $a0,$s2,$zero /* f0dd844: 02c02825 */ or $a1,$s6,$zero /* f0dd848: afaf0010 */ sw $t7,0x10($sp) /* f0dd84c: 8e0c000c */ lw $t4,0xc($s0) /* f0dd850: afa00028 */ sw $zero,0x28($sp) /* f0dd854: afa00024 */ sw $zero,0x24($sp) /* f0dd858: afa20020 */ sw $v0,0x20($sp) /* f0dd85c: afb1001c */ sw $s1,0x1c($sp) /* f0dd860: afb30018 */ sw $s3,0x18($sp) /* f0dd864: 02e03025 */ or $a2,$s7,$zero /* f0dd868: 26070020 */ addiu $a3,$s0,0x20 /* f0dd86c: 0fc541a6 */ jal textRenderProjected /* f0dd870: afac0014 */ sw $t4,0x14($sp) /* f0dd874: 1000001e */ beqz $zero,.NB0f0dd8f0 /* f0dd878: 00409025 */ or $s2,$v0,$zero /* f0dd87c: 960d001e */ lhu $t5,0x1e($s0) .NB0f0dd880: /* f0dd880: 960a001c */ lhu $t2,0x1c($s0) /* f0dd884: afa00014 */ sw $zero,0x14($sp) /* f0dd888: 01a64021 */ addu $t0,$t5,$a2 /* f0dd88c: afa80010 */ sw $t0,0x10($sp) /* f0dd890: 0fc53824 */ jal func0f153a34 /* f0dd894: 01453821 */ addu $a3,$t2,$a1 /* f0dd898: 0c002f77 */ jal viGetWidth /* f0dd89c: 00409025 */ or $s2,$v0,$zero /* f0dd8a0: 00028c00 */ sll $s1,$v0,0x10 /* f0dd8a4: 00114c03 */ sra $t1,$s1,0x10 /* f0dd8a8: 0c002f7b */ jal viGetHeight /* f0dd8ac: 01208825 */ or $s1,$t1,$zero /* f0dd8b0: 8e190008 */ lw $t9,0x8($s0) /* f0dd8b4: 02402025 */ or $a0,$s2,$zero /* f0dd8b8: 02c02825 */ or $a1,$s6,$zero /* f0dd8bc: afb90010 */ sw $t9,0x10($sp) /* f0dd8c0: 8e0b000c */ lw $t3,0xc($s0) /* f0dd8c4: afa0002c */ sw $zero,0x2c($sp) /* f0dd8c8: afa00028 */ sw $zero,0x28($sp) /* f0dd8cc: afa20024 */ sw $v0,0x24($sp) /* f0dd8d0: afb10020 */ sw $s1,0x20($sp) /* f0dd8d4: afb4001c */ sw $s4,0x1c($sp) /* f0dd8d8: afb30018 */ sw $s3,0x18($sp) /* f0dd8dc: 02e03025 */ or $a2,$s7,$zero /* f0dd8e0: 26070020 */ addiu $a3,$s0,0x20 /* f0dd8e4: 0fc54529 */ jal textRender /* f0dd8e8: afab0014 */ sw $t3,0x14($sp) /* f0dd8ec: 00409025 */ or $s2,$v0,$zero .NB0f0dd8f0: /* f0dd8f0: 920f01c9 */ lbu $t7,0x1c9($s0) /* f0dd8f4: 24010006 */ addiu $at,$zero,0x6 /* f0dd8f8: 15e10002 */ bne $t7,$at,.NB0f0dd904 /* f0dd8fc: 00000000 */ sll $zero,$zero,0x0 /* f0dd900: afa000e0 */ sw $zero,0xe0($sp) .NB0f0dd904: /* f0dd904: 0fc5392a */ jal func0f153e4c /* f0dd908: 00000000 */ sll $zero,$zero,0x0 .NB0f0dd90c: /* f0dd90c: 8e0c01b4 */ lw $t4,0x1b4($s0) .NB0f0dd910: /* f0dd910: 2401000b */ addiu $at,$zero,0xb /* f0dd914: 15810039 */ bne $t4,$at,.NB0f0dd9fc /* f0dd918: 00000000 */ sll $zero,$zero,0x0 /* f0dd91c: afb2009c */ sw $s2,0x9c($sp) /* f0dd920: 0c002fb5 */ jal viGetViewLeft /* f0dd924: 26520008 */ addiu $s2,$s2,0x8 /* f0dd928: 00028400 */ sll $s0,$v0,0x10 /* f0dd92c: 00105403 */ sra $t2,$s0,0x10 /* f0dd930: 01408025 */ or $s0,$t2,$zero /* f0dd934: 0c002fb9 */ jal viGetViewTop /* f0dd938: 8fb3009c */ lw $s3,0x9c($sp) /* f0dd93c: 44825000 */ mtc1 $v0,$f10 /* f0dd940: 44904000 */ mtc1 $s0,$f8 /* f0dd944: 3c01ed00 */ lui $at,0xed00 /* f0dd948: 468054a0 */ cvt.s.w $f18,$f10 /* f0dd94c: 46804420 */ cvt.s.w $f16,$f8 /* f0dd950: 46169102 */ mul.s $f4,$f18,$f22 /* f0dd954: 00000000 */ sll $zero,$zero,0x0 /* f0dd958: 46168282 */ mul.s $f10,$f16,$f22 /* f0dd95c: 4600218d */ trunc.w.s $f6,$f4 /* f0dd960: 4600548d */ trunc.w.s $f18,$f10 /* f0dd964: 440d3000 */ mfc1 $t5,$f6 /* f0dd968: 44199000 */ mfc1 $t9,$f18 /* f0dd96c: 31b80fff */ andi $t8,$t5,0xfff /* f0dd970: 03014025 */ or $t0,$t8,$at /* f0dd974: 332b0fff */ andi $t3,$t9,0xfff /* f0dd978: 000b7b00 */ sll $t7,$t3,0xc /* f0dd97c: 010f6025 */ or $t4,$t0,$t7 /* f0dd980: 0c002f97 */ jal viGetViewWidth /* f0dd984: ae6c0000 */ sw $t4,0x0($s3) /* f0dd988: 0c002fb5 */ jal viGetViewLeft /* f0dd98c: a7a20092 */ sh $v0,0x92($sp) /* f0dd990: 00028c00 */ sll $s1,$v0,0x10 /* f0dd994: 00115403 */ sra $t2,$s1,0x10 /* f0dd998: 0c002fb9 */ jal viGetViewTop /* f0dd99c: 01408825 */ or $s1,$t2,$zero /* f0dd9a0: 00028400 */ sll $s0,$v0,0x10 /* f0dd9a4: 00107403 */ sra $t6,$s0,0x10 /* f0dd9a8: 0c002f9b */ jal viGetViewHeight /* f0dd9ac: 01c08025 */ or $s0,$t6,$zero /* f0dd9b0: 87ab0092 */ lh $t3,0x92($sp) /* f0dd9b4: 00506821 */ addu $t5,$v0,$s0 /* f0dd9b8: 448d2000 */ mtc1 $t5,$f4 /* f0dd9bc: 022b4021 */ addu $t0,$s1,$t3 /* f0dd9c0: 44885000 */ mtc1 $t0,$f10 /* f0dd9c4: 468021a0 */ cvt.s.w $f6,$f4 /* f0dd9c8: 468054a0 */ cvt.s.w $f18,$f10 /* f0dd9cc: 46163202 */ mul.s $f8,$f6,$f22 /* f0dd9d0: 00000000 */ sll $zero,$zero,0x0 /* f0dd9d4: 46169102 */ mul.s $f4,$f18,$f22 /* f0dd9d8: 4600440d */ trunc.w.s $f16,$f8 /* f0dd9dc: 4600218d */ trunc.w.s $f6,$f4 /* f0dd9e0: 44098000 */ mfc1 $t1,$f16 /* f0dd9e4: 440c3000 */ mfc1 $t4,$f6 /* f0dd9e8: 31390fff */ andi $t9,$t1,0xfff /* f0dd9ec: 318a0fff */ andi $t2,$t4,0xfff /* f0dd9f0: 000a7300 */ sll $t6,$t2,0xc /* f0dd9f4: 032e6825 */ or $t5,$t9,$t6 /* f0dd9f8: ae6d0004 */ sw $t5,0x4($s3) .NB0f0dd9fc: /* f0dd9fc: 3c048007 */ lui $a0,0x8007 /* f0dda00: 8c8436a8 */ lw $a0,0x36a8($a0) /* f0dda04: 00041100 */ sll $v0,$a0,0x4 /* f0dda08: 00441023 */ subu $v0,$v0,$a0 /* f0dda0c: 000210c0 */ sll $v0,$v0,0x3 /* f0dda10: 00441023 */ subu $v0,$v0,$a0 /* f0dda14: 00021080 */ sll $v0,$v0,0x2 .NB0f0dda18: /* f0dda18: 8fb80088 */ lw $t8,0x88($sp) /* f0dda1c: 270901dc */ addiu $t1,$t8,0x1dc /* f0dda20: 0122082a */ slt $at,$t1,$v0 /* f0dda24: 1420fd66 */ bnez $at,.NB0f0dcfc0 /* f0dda28: afa90088 */ sw $t1,0x88($sp) .NB0f0dda2c: /* f0dda2c: 8fab00e0 */ lw $t3,0xe0($sp) /* f0dda30: 3c08800a */ lui $t0,0x800a /* f0dda34: 11600028 */ beqz $t3,.NB0f0ddad8 /* f0dda38: 00000000 */ sll $zero,$zero,0x0 /* f0dda3c: 8d08e948 */ lw $t0,-0x16b8($t0) /* f0dda40: 0fc533f6 */ jal optionsGetShowMissionTime /* f0dda44: 8d040070 */ lw $a0,0x70($t0) /* f0dda48: 10400019 */ beqz $v0,.NB0f0ddab0 /* f0dda4c: 3c0f8008 */ lui $t7,0x8008 /* f0dda50: 8def86e8 */ lw $t7,-0x7918($t7) /* f0dda54: 24030002 */ addiu $v1,$zero,0x2 /* f0dda58: 3c0c800a */ lui $t4,0x800a /* f0dda5c: 146f0014 */ bne $v1,$t7,.NB0f0ddab0 /* f0dda60: 00000000 */ sll $zero,$zero,0x0 /* f0dda64: 8d8ce9d8 */ lw $t4,-0x1628($t4) /* f0dda68: 3c0a800a */ lui $t2,0x800a /* f0dda6c: 15800010 */ bnez $t4,.NB0f0ddab0 /* f0dda70: 00000000 */ sll $zero,$zero,0x0 /* f0dda74: 8d4aeb74 */ lw $t2,-0x148c($t2) /* f0dda78: 24010026 */ addiu $at,$zero,0x26 /* f0dda7c: 3c19800a */ lui $t9,0x800a /* f0dda80: 1141000b */ beq $t2,$at,.NB0f0ddab0 /* f0dda84: 00000000 */ sll $zero,$zero,0x0 /* f0dda88: 8f39e944 */ lw $t9,-0x16bc($t9) /* f0dda8c: 24010001 */ addiu $at,$zero,0x1 /* f0dda90: 8f220000 */ lw $v0,0x0($t9) /* f0dda94: 10620006 */ beq $v1,$v0,.NB0f0ddab0 /* f0dda98: 00000000 */ sll $zero,$zero,0x0 /* f0dda9c: 10410004 */ beq $v0,$at,.NB0f0ddab0 /* f0ddaa0: 02402025 */ or $a0,$s2,$zero /* f0ddaa4: 0fc36941 */ jal hudmsgRenderMissionTimer /* f0ddaa8: 8fa500e0 */ lw $a1,0xe0($sp) /* f0ddaac: 00409025 */ or $s2,$v0,$zero .NB0f0ddab0: /* f0ddab0: 0fc368f3 */ jal hudmsgIsZoomRangeVisible /* f0ddab4: 00000000 */ sll $zero,$zero,0x0 /* f0ddab8: 10400004 */ beqz $v0,.NB0f0ddacc /* f0ddabc: 02402025 */ or $a0,$s2,$zero /* f0ddac0: 0fc36a2f */ jal hudmsgRenderZoomRange /* f0ddac4: 8fa500e0 */ lw $a1,0xe0($sp) /* f0ddac8: 00409025 */ or $s2,$v0,$zero .NB0f0ddacc: /* f0ddacc: 0fc23bd4 */ jal countdownTimerRender /* f0ddad0: 02402025 */ or $a0,$s2,$zero /* f0ddad4: 00409025 */ or $s2,$v0,$zero .NB0f0ddad8: /* f0ddad8: 0fc537a0 */ jal func0f153780 /* f0ddadc: 02402025 */ or $a0,$s2,$zero /* f0ddae0: 8fbf007c */ lw $ra,0x7c($sp) /* f0ddae4: 240e0001 */ addiu $t6,$zero,0x1 /* f0ddae8: 3c018008 */ lui $at,0x8008 /* f0ddaec: d7b40038 */ ldc1 $f20,0x38($sp) /* f0ddaf0: d7b60040 */ ldc1 $f22,0x40($sp) /* f0ddaf4: d7b80048 */ ldc1 $f24,0x48($sp) /* f0ddaf8: d7ba0050 */ ldc1 $f26,0x50($sp) /* f0ddafc: 8fb00058 */ lw $s0,0x58($sp) /* f0ddb00: 8fb1005c */ lw $s1,0x5c($sp) /* f0ddb04: 8fb20060 */ lw $s2,0x60($sp) /* f0ddb08: 8fb30064 */ lw $s3,0x64($sp) /* f0ddb0c: 8fb40068 */ lw $s4,0x68($sp) /* f0ddb10: 8fb5006c */ lw $s5,0x6c($sp) /* f0ddb14: 8fb60070 */ lw $s6,0x70($sp) /* f0ddb18: 8fb70074 */ lw $s7,0x74($sp) /* f0ddb1c: 8fbe0078 */ lw $s8,0x78($sp) /* f0ddb20: ac2e2320 */ sw $t6,0x2320($at) /* f0ddb24: 03e00008 */ jr $ra /* f0ddb28: 27bd0100 */ addiu $sp,$sp,0x100 ); #endif // Mismatch most likely due to variable re-use. //Gfx *hudmsgsRender(Gfx *gdl) //{ // s32 i; // u32 textcolour; // s3 // u32 glowcolour; // s4 // u32 stack; // f32 sin; // s32 x; // e8 // s32 y; // e4 // s32 timerthing = 255; // e0 // s32 spdc = true; // dc // // // b24 // if (g_ViRes == VIRES_HI) { // g_ScaleX = 2; // } else { // g_ScaleX = 1; // } // // // b44 // gdl = func0f153628(gdl); // // // b4c // if ((g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) // && g_InCutscene // && g_MainIsEndscreen == 0 // && g_Vars.currentplayernum == 0) { // // ba4 // spdc = false; // } // // // bac // for (i = 0; i < g_NumHudMessages; i++) { // // bbc // struct hudmessage *msg = &g_HudMessages[i]; // // // c04 // if (msg->opacity == 0) { // continue; // } // // // c14 // if (msg->state == HUDMSGSTATE_FREE // || msg->state == HUDMSGSTATE_QUEUED // || (spdc && g_Vars.currentplayernum != msg->playernum)) { // continue; // } // // // c60 // if (msg->flash) { // s32 alpha; // sin = sinf((msg->timer * M_PI) / 60.0f); // // if (sin < 0.0f) { // sin = -sin; // } // // alpha = 192.0f * sin; // // textcolour = (msg->textcolour & 0xffffff00) + alpha; // glowcolour = msg->glowcolour; // } else { // // ce8 // textcolour = msg->textcolour | 0xa0; // glowcolour = msg->glowcolour; // } // // // cf8 // if (msg->opacity != 255) { // u32 alpha; // alpha = (msg->opacity * (textcolour & 0xff)) / 255; // textcolour = (textcolour & 0xffffff00) + (alpha & 0xff); // alpha = (msg->opacity * (glowcolour & 0xff)) / 255; // glowcolour = (glowcolour & 0xffffff00) + (alpha & 0xff); // } // // // d70 // x = msg->x; // y = msg->y; // // if (msg->type == HUDMSGTYPE_INGAMESUBTITLE && playerIsHealthVisible()) { // y += (s32)(16.0f * playerGetHealthBarHeightFrac()); // } // // // dd0 // if (msg->type == HUDMSGTYPE_CUTSCENESUBTITLE) { // gDPSetScissor(gdl++, 0, // (x - 4) * g_ScaleX, 0, // (x + msg->width + 3) * g_ScaleX, viGetBufHeight()); // } // // // e9c // switch (msg->state) { // case HUDMSGSTATE_FREE: // case HUDMSGSTATE_QUEUED: // break; // case HUDMSGSTATE_FADINGIN: // f0dfebc // { // u32 bordercolour = msg->textcolour | 0x40; // f32 tmp; // f32 spc0; // // if (msg->opacity != 255) { // u32 alpha = (msg->opacity * (bordercolour & 0xff)) / 255; // bordercolour = (bordercolour & 0xffffff00) + (alpha & 0xff); // } // // // f08 // spc0 = (sqrtf(msg->width * msg->width + msg->height * msg->height) + 132.0f) / 7.0f; // // // f58 // if (spc0 > 30.0f) { // spc0 = 30.0f; // } // // spc0 = msg->timer / spc0; // // // fa0 // if (spc0 > 1.0f) { // spc0 = 1.0f; // } // // // fcc // if (spc0 < 0.0f) { // spc0 = 0.0f; // } // // tmp = msg->timer * 7.0f; // // func0f153c20(x, y, tmp, 0); // // // fd8 // if (msg->boxed) { // // fe0 // gdl = hudmsgRenderBox(gdl, x - 3, y - 3, x + msg->width + 2, y + msg->height + 2, 1.0f, bordercolour, spc0); // // 020 // gdl = textRenderProjected(gdl, &x, &y, msg->text, msg->font1, msg->font2, textcolour, viGetWidth(), viGetHeight(), 0, 0); // } else { // // 078 // gdl = func0f153a34(gdl, x, y, x + msg->width, y + msg->height, 0); // // 0e4 // gdl = textRender(gdl, &x, &y, msg->text, msg->font1, msg->font2, textcolour, glowcolour, viGetWidth(), viGetHeight(), 0, 0); // } // // if (msg->alignv == 6) { // timerthing = 0; // } // // func0f153e4c(); // } // break; // case HUDMSGSTATE_ONSCREEN: // f0e0114 // if (msg->boxed) { // u32 bordercolour = msg->textcolour | 0x40; // // if (msg->opacity != 255) { // u32 alpha = (msg->opacity * (bordercolour & 0xff)) / 255; // bordercolour = (bordercolour & 0xffffff00) + (alpha & 0xff); // } // // // 1a0 // gdl = hudmsgRenderBox(gdl, x - 3, y - 3, x + msg->width + 2, y + msg->height + 2, 1.0f, bordercolour, 1.0f); // // 1f0 // gdl = textRenderProjected(gdl, &x, &y, msg->text, msg->font1, msg->font2, textcolour, viGetWidth(), viGetHeight(), 0, 0); // } else { // // 200 // gdl = func0f153a34(gdl, x, y, x + msg->width, y + msg->height, 0); // // 274 // gdl = textRender(gdl, &x, &y, msg->text, msg->font1, msg->font2, textcolour, glowcolour, viGetWidth(), viGetHeight(), 0, 0); // } // if (msg->alignv == 6) { // timerthing = 0; // } // break; // case HUDMSGSTATE_FADINGOUT: // f0e0298 // { // u32 bordercolour; // u32 stack; // f32 spa8 = (sqrtf(msg->width * msg->width + msg->height * msg->height) + 92.0f) / 7.0f; // f32 tmp; // // bordercolour = msg->textcolour | 0x40; // // if (msg->opacity != 255) { // u32 alpha = (msg->opacity * (bordercolour & 0xff)) / 255; // bordercolour = (bordercolour & 0xffffff00) + (alpha & 0xff); // } // // tmp = (spa8 - msg->timer) * 7.0f; // // // 370 // func0f153c20(x + msg->width, y + msg->height, tmp, 2); // // // 394 // if (spa8 > 30.0f) { // spa8 = 30.0f; // } // // // 3bc // spa8 = msg->timer / spa8; // // if (spa8 > 1.0f) { // spa8 = 1.0f; // } // // // 3d8 // if (msg->boxed) { // // 414 // gdl = hudmsgRenderBox(gdl, x - 3, y - 3, x + msg->width + 2, y + msg->height + 2, 1.0f, bordercolour, 1.0f - spa8); // // 464 // gdl = textRenderProjected(gdl, &x, &y, msg->text, msg->font1, msg->font2, textcolour, viGetWidth(), viGetHeight(), 0, 0); // } else { // // 474 // gdl = func0f153a34(gdl, x, y, x + msg->width, y + msg->height, 0); // // 4dc // gdl = textRender(gdl, &x, &y, msg->text, msg->font1, msg->font2, textcolour, glowcolour, viGetWidth(), viGetHeight(), 0, 0); // } // // if (msg->alignv == 6) { // timerthing = 0; // } // // func0f153e4c(); // } // break; // } // // if (msg->type == HUDMSGTYPE_CUTSCENESUBTITLE) { // gDPSetScissor(gdl++, 0, // viGetViewLeft(), viGetViewTop(), // viGetViewLeft() + viGetViewWidth(), viGetViewTop() + viGetViewHeight()); // } // } // // if (timerthing) { // if (optionsGetShowMissionTime(g_Vars.currentplayerstats->mpindex) // && var80075d60 == 2 // && g_Vars.normmplayerisrunning == false // && g_Vars.stagenum != STAGE_CITRAINING // && g_Vars.currentplayer->cameramode != CAMERAMODE_EYESPY // && g_Vars.currentplayer->cameramode != CAMERAMODE_THIRDPERSON) { // gdl = hudmsgRenderMissionTimer(gdl, timerthing); // } // // if (hudmsgIsZoomRangeVisible()) { // gdl = hudmsgRenderZoomRange(gdl, timerthing); // } // // gdl = countdownTimerRender(gdl); // } // // gdl = func0f153780(gdl); // // g_ScaleX = 1; // // return gdl; //} void hudmsgsStop(void) { s32 i; for (i = 0; i < g_NumHudMessages; i++) { g_HudMessages[i].state = HUDMSGSTATE_FREE; } #if VERSION < VERSION_NTSC_1_0 if (var800736b0nb && sndGetState(var800736b0nb) != AL_STOPPED) { audioStop(var800736b0nb); } #endif }