#include "d/d_msg_out_font.h" #include "JSystem/J2DGraph/J2DTextBox.h" #include "JSystem/JUtility/JUTTexture.h" #include "d/d_meter2_info.h" #include "d/d_msg_object.h" #include "f_op/f_op_msg_mng.h" extern dMsgObject_HIO_c g_MsgObject_HIO_c; /* 80225BB8-80225BF4 2204F8 003C+00 1/1 0/0 0/0 .text __ct__13COutFontSet_cFv */ COutFontSet_c::COutFontSet_c() { initialize(); } /* 80225BF4-80225C3C 220534 0048+00 1/0 0/0 0/0 .text __dt__13COutFontSet_cFv */ COutFontSet_c::~COutFontSet_c() {} /* 80225C3C-80225C70 22057C 0034+00 2/2 0/0 0/0 .text initialize__13COutFontSet_cFv */ void COutFontSet_c::initialize() { mpTextBoxPtr = NULL; mPosX = 0.0f; mPosY = 0.0f; mSizeX = 1.0f; mSizeY = 1.0f; mAlpha = 255; mType = 0x47; } /* 80225C70-80225C94 2205B0 0024+00 1/1 0/0 0/0 .text * drawFont__13COutFontSet_cFP10J2DTextBoxUcffffUlUc */ void COutFontSet_c::drawFont(J2DTextBox* i_textbox, u8 i_type, f32 i_posX, f32 i_posY, f32 i_sizeX, f32 i_sizeY, u32 i_color, u8 i_alpha) { mpTextBoxPtr = i_textbox; mPosX = i_posX; mPosY = i_posY; mSizeX = i_sizeX; mSizeY = i_sizeY; mAlpha = i_alpha; mColor = i_color; mType = i_type; } /* 80225C94-80225D60 2205D4 00CC+00 0/0 5/5 0/0 .text __ct__10COutFont_cFUc */ COutFont_c::COutFont_c(u8 param_0) { field_0x242 = param_0; for (int i = 0; i < 35; i++) { mpOfs[i] = new COutFontSet_c(); } for (int i = 0; i < 70; i++) { mpPane[i] = NULL; field_0x1b4[i] = 0; } mAlphaRatio = 0.0f; field_0x1b0 = 1.0f; field_0x1ac = 1.0f; field_0x240 = 0; mRupeeColor = 0; } /* 80225D60-80225E7C 2206A0 011C+00 1/0 0/0 0/0 .text __dt__10COutFont_cFv */ COutFont_c::~COutFont_c() { for (int i = 0; i < 35; i++) { delete mpOfs[i]; mpOfs[i] = NULL; } if (field_0x240) { field_0x240 = 0; for (int i = 0; i < 70; i++) { if (mpPane[i] != NULL) { delete mpPane[i]; mpPane[i] = NULL; } } } if (dComIfGp_getExpHeap2D() == NULL) { dComIfGp_getItemIconArchive()->removeResourceAll(); } } /* 80225E7C-80225EA8 2207BC 002C+00 1/0 0/0 0/0 .text setPane__10COutFont_cFP10J2DPicture */ void COutFont_c::setPane(J2DPicture* i_pic) { for (int i = 0; i < 70; i++) { mpPane[i] = i_pic; i_pic++; } field_0x240 = false; } /* 80225EA8-80226CF8 2207E8 0E50+00 2/0 0/0 0/0 .text createPane__10COutFont_cFv */ void COutFont_c::createPane() { ResTIMG* img; for (int i = 0; i < 70; i++) { if (i == 41) { img = (ResTIMG*)dComIfGp_getItemIconArchive()->getResource('TIMG', getBtiName(i)); } else { img = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', getBtiName(i)); } mpPane[i] = new J2DPicture(img); switch (i) { case 0: mpPane[i]->setBlackWhite(JUtility::TColor(255, 255, 255, 0), JUtility::TColor(98, 163, 46, 255)); break; case 1: mpPane[i]->setBlackWhite(JUtility::TColor(255, 255, 255, 0), JUtility::TColor(200, 39, 39, 255)); break; case 2: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 200, 50, 255)); break; case 3: case 4: case 5: case 6: case 8: if (field_0x242 == 0x1) { mpPane[i]->setBlackWhite(JUtility::TColor(255, 255, 255, 0), JUtility::TColor(120, 120, 120, 255)); } else { mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(200, 200, 200, 255)); } break; case 7: mpPane[i]->setBlackWhite(JUtility::TColor(255, 255, 255, 0), JUtility::TColor(80, 70, 165, 255)); break; case 9: case 0xe: case 0xf: case 0x10: case 0x11: case 0x12: case 0x13: img = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "font_07_02.bti"); mpPane[i]->append(img, 1.0f); mpPane[i]->setBlendRatio(1.0f, 0.0f); mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(200, 200, 200, 255)); break; case 0x14: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(220, 50, 50, 255)); break; case 0x15: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 200, 50, 255)); break; case 0x16: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 100, 0, 255)); break; case 0x17: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 255, 180, 255)); break; case 0x18: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); break; case 0x19: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(170, 255, 255, 255)); break; case 0x1a: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 255, 0), JUtility::TColor(30, 50, 120, 255)); break; case 0x1b: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 50, 50, 255)); break; case 0x1c: case 0x2b: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); break; case 0x2a: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); break; case 0x1d: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 80, 80, 255)); break; case 0x1e: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); field_0x1ac = (f32)img->width / (f32)img->height; field_0x1b0 = 1.0f; break; case 0x1f: case 0x20: case 0x21: case 0x22: case 0x23: case 0x24: case 0x25: case 0x26: case 0x27: case 0x28: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); break; case 0x29: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); break; case 0x2c: case 0x2d: case 0x2e: case 0x2f: case 0x37: case 0x38: case 0x39: case 0x3a: case 0x3d: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); break; case 0x30: img = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "font_20.bti"); mpPane[i]->append(img, 1.0f); mpPane[i]->setBlendRatio(1.0f, 0.0f); mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); break; case 0x31: case 0x32: case 0x41: case 0x42: case 0x43: case 0x44: img = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "font_21.bti"); mpPane[i]->append(img, 1.0f); mpPane[i]->setBlendRatio(1.0f, 0.0f); mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); break; case 0x33: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(190, 190, 190, 255)); break; case 0x34: case 0x35: case 0x36: case 0x3f: case 0x40: mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); break; case 0x3b: img = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "font_30.bti"); mpPane[i]->append(img, 1.0f); mpPane[i]->setBlendRatio(1.0f, 0.0f); mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); break; case 0x3c: img = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "font_31.bti"); mpPane[i]->append(img, 1.0f); mpPane[i]->setBlendRatio(1.0f, 0.0f); mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); break; case 0x3e: img = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "font_34.bti"); mpPane[i]->append(img, 1.0f); mpPane[i]->setBlendRatio(1.0f, 0.0f); mpPane[i]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); break; case 0x45: mpPane[i]->setBlackWhite(JUtility::TColor(166, 12, 0, 0), JUtility::TColor(255, 255, 255, 255)); break; } } field_0x240 = true; } /* 80226CF8-80226D4C 221638 0054+00 0/0 2/2 0/0 .text initialize__10COutFont_cFv */ void COutFont_c::initialize() { for (int i = 0; i < 35; i++) { mpOfs[i]->initialize(); } } /* 80226D4C-80226DA8 22168C 005C+00 1/0 0/0 0/0 .text * drawFont__10COutFont_cFP10J2DTextBoxUcffffUlUc */ void COutFont_c::drawFont(J2DTextBox* i_textbox, u8 i_type, f32 i_posX, f32 i_posY, f32 i_sizeX, f32 i_sizeY, u32 i_color, u8 i_alpha) { i_posY += 1.0f; for (int i = 0; i < 35; i++) { if (mpOfs[i]->getType() == 0x47) { mpOfs[i]->drawFont(i_textbox, i_type, i_posX, i_posY, i_sizeX, i_sizeY, i_color, i_alpha); return; } } } /* 80226DA8-80226DB0 2216E8 0008+00 1/0 0/0 0/0 .text setAlphaRatio__10COutFont_cFf */ void COutFont_c::setAlphaRatio(f32 i_ratio) { mAlphaRatio = i_ratio; } /* 80226DB0-80228448 2216F0 1698+00 2/0 0/0 0/0 .text draw__10COutFont_cFP10J2DTextBoxfff */ void COutFont_c::draw(J2DTextBox* i_textbox, f32 param_1, f32 param_2, f32 param_3) { s16 sp256[70]; for (int i = 0; i < 70; i++) { sp256[i] = field_0x1b4[i]; } for (int i = 0; i < 35; i++) { u8 type = mpOfs[i]->getType(); J2DTextBox* tbox = mpOfs[i]->getTextBoxPtr(); if (i_textbox == tbox && type != 0x47) { f32 scale_x = 1.0f; f32 scale_y = 1.0f; if (i_textbox != NULL) { for (J2DPane* pane = i_textbox; pane != NULL; pane = pane->getParentPane()) { scale_x *= pane->getScaleX(); scale_y *= pane->getScaleY(); } } f32 posX = param_1 + param_3 * (scale_x * mpOfs[i]->getPosX()); f32 posY = param_2 + (scale_y * mpOfs[i]->getPosY()); f32 sizeX = scale_x * mpOfs[i]->getSizeX(); f32 sizeY = scale_y * mpOfs[i]->getSizeY(); if (mpPane[type] != NULL) { mpPane[type]->setAlpha(mAlphaRatio * mpOfs[i]->getAlpha()); switch (type) { case 10: mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, true); mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor()); mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, true); break; case 11: mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, true, true); mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor()); mpPane[type]->draw(posX, posY, sizeX, sizeY, false, true, true); break; case 29: mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, true, true); mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 80, 80, 255)); mpPane[type]->draw(posX, posY, sizeX, sizeY, false, true, true); break; case 12: mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, true, false); mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor()); mpPane[type]->draw(posX, posY, sizeX, sizeY, false, true, false); break; case 5: case 6: { posY += 1.0f; sizeY -= 3.0f; JUtility::TColor black = mpPane[type]->getBlack(); JUtility::TColor white = mpPane[type]->getWhite(); mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, false); mpPane[type]->setBlackWhite(black, white); mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); break; } case 9: if (sp256[type] == field_0x1b4[type]) { field_0x1b4[type]++; if (field_0x1b4[type] >= 80) { field_0x1b4[type] = 0; } setBlendAnime(mpPane[type], field_0x1b4[type]); } if (field_0x1b4[type] < 20) { mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, true); } else if (field_0x1b4[type] < 40) { mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); } else if (field_0x1b4[type] < 60) { mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, true); } else { mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, false); } break; case 14: if (sp256[type] == field_0x1b4[type]) { field_0x1b4[type]++; if (field_0x1b4[type] >= 20) { field_0x1b4[type] = 0; } setBlendAnime(mpPane[type], field_0x1b4[type]); } mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, true); break; case 15: if (sp256[type] == field_0x1b4[type]) { field_0x1b4[type]++; if (field_0x1b4[type] >= 20) { field_0x1b4[type] = 0; } setBlendAnime(mpPane[type], field_0x1b4[type]); } mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, true); break; case 16: if (sp256[type] == field_0x1b4[type]) { field_0x1b4[type]++; if (field_0x1b4[type] >= 20) { field_0x1b4[type] = 0; } setBlendAnime(mpPane[type], field_0x1b4[type]); } mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); break; case 17: if (sp256[type] == field_0x1b4[type]) { field_0x1b4[type]++; if (field_0x1b4[type] >= 20) { field_0x1b4[type] = 0; } setBlendAnime(mpPane[type], field_0x1b4[type]); } mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, false); break; case 18: if (sp256[type] == field_0x1b4[type]) { field_0x1b4[type]++; if (field_0x1b4[type] >= 40) { field_0x1b4[type] = 0; } setBlendAnime(mpPane[type], field_0x1b4[type]); } if (field_0x1b4[type] < 20) { mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, true); } else { mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, true); } break; case 19: if (sp256[type] == field_0x1b4[type]) { field_0x1b4[type]++; if (field_0x1b4[type] >= 40) { field_0x1b4[type] = 0; } setBlendAnime(mpPane[type], field_0x1b4[type]); } if (field_0x1b4[type] < 20) { mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); } else { mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, false); } break; case 13: mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, false); mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor()); mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); break; case 24: case 27: case 28: case 43: mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor()); mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); break; case 42: mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); break; case 20: case 21: case 22: field_0x1b4[type]++; if (field_0x1b4[type] >= 28) { field_0x1b4[type] = 0; } mpPane[type]->rotate(0.5f * sizeX, 0.5f * sizeY, ROTATE_Z, (360.0f * (f32)field_0x1b4[type]) / 28.0f); mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); break; case 25: // some issues in here, 2020 if (sp256[type] == field_0x1b4[type]) { field_0x1b4[type]++; if (field_0x1b4[type] >= 18) { field_0x1b4[type] -= 18; } } f32 alpha; if (field_0x1b4[type] < 9) { alpha = 50.0f + 205.0f * (field_0x1b4[type] / 9.0f); } else { alpha = 50.0f + 205.0f * ((18.0f - field_0x1b4[type]) / 9.0f); } mpPane[26]->setAlpha(alpha * mAlphaRatio); mpPane[26]->draw( posX - 0.5f * ((g_MsgObject_HIO_c.mPortalIconScale - 1.0f) * sizeX), posY - 0.5f * ((g_MsgObject_HIO_c.mPortalIconScale - 1.0f) * sizeY), sizeX * g_MsgObject_HIO_c.mPortalIconScale, sizeY * g_MsgObject_HIO_c.mPortalIconScale, false, false, false); mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); break; case 26: mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); break; case 30: mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); mpPane[type]->draw(posX + (0.5f * (sizeX * (1.0f - field_0x1ac))), posY + (0.5f * (sizeY * (1.0f - field_0x1b0))), sizeX * field_0x1ac, sizeY * field_0x1b0, false, false, false); break; case 31: case 32: case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40: mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor()); mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); break; case 41: mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); break; case 44: mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); mpPane[type]->draw(2.0f + posX, 2.0f + ((posY + -3.0f) - 4.0f), sizeX, sizeY * 1.25f, false, false, false); mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); mpPane[type]->draw(posX, (posY + -3.0f) - 4.0f, sizeX, sizeY * 1.25f, false, false, false); break; case 45: mpPane[type]->draw(posX, (posY + -3.0f) - 4.0f, sizeX, sizeY * 1.25f, false, false, false); break; case 46: case 47: case 55: case 56: case 57: case 58: case 61: case 69: mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); break; case 49: case 50: case 65: case 66: case 67: case 68: if (sp256[type] == field_0x1b4[type]) { field_0x1b4[type]++; if (field_0x1b4[type] >= 40) { field_0x1b4[type] = 0; } setBlendAnime(mpPane[type], field_0x1b4[type]); } mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, false); mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); break; case 48: case 59: case 60: if (sp256[type] == field_0x1b4[type]) { field_0x1b4[type]++; if (field_0x1b4[type] >= 40) { field_0x1b4[type] = 0; } setBlendAnime(mpPane[type], field_0x1b4[type]); } mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); break; case 62: if (sp256[type] == field_0x1b4[type]) { field_0x1b4[type]++; if (field_0x1b4[type] >= 10) { field_0x1b4[type] = 0; } if (field_0x1b4[type] < 5) { mpPane[type]->setBlendRatio(1.0f, 0.0f); } else { mpPane[type]->setBlendRatio(0.0f, 1.0f); } } mpPane[type]->draw(posX, -3.0f + posY, sizeX, 1.25f * sizeY, false, false, false); break; default: JUtility::TColor black = mpPane[type]->getBlack(); JUtility::TColor white = mpPane[type]->getWhite(); mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, false); mpPane[type]->setBlackWhite(black, white); mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); break; } } } } } /* 80228448-80228490 222D88 0048+00 1/0 0/0 0/0 .text reset__10COutFont_cFP10J2DTextBox */ void COutFont_c::reset(J2DTextBox* i_textbox) { if (i_textbox != NULL) { for (int i = 0; i < 35; i++) { if (i_textbox == mpOfs[i]->getTextBoxPtr()) { mpOfs[i]->setTextBoxPtr(NULL); mpOfs[i]->resetType(); } } } } /* 80228490-80228530 222DD0 00A0+00 1/1 0/0 0/0 .text setBlendAnime__10COutFont_cFP10J2DPictures */ void COutFont_c::setBlendAnime(J2DPicture* i_pic, s16 param_1) { int i = param_1 % 20; if (i < 10) { f32 dVar6 = fopMsgM_valueIncrease(10, i, 0); i_pic->setBlendRatio(1.0f - dVar6, dVar6); } else { f32 dVar6 = fopMsgM_valueIncrease(10, i - 10, 0); i_pic->setBlendRatio(dVar6, 1.0f - dVar6); } } /* 80228530-80228578 222E70 0048+00 1/1 0/0 0/0 .text getBtiName__10COutFont_cFi */ const char* COutFont_c::getBtiName(int i_nameIdx) { static const char* mpIconName[] = { "font_00.bti", "font_01.bti", "font_09.bti", "font_04.bti", "font_05.bti", "font_02.bti", "font_03.bti", "font_06.bti", "font_08.bti", "font_07_01.bti", "font_10.bti", "font_10.bti", "font_10.bti", "font_10.bti", "font_07_01.bti", "font_07_01.bti", "font_07_01.bti", "font_07_01.bti", "font_07_01.bti", "font_07_01.bti", "font_15.bti", "font_15.bti", "font_15.bti", "font_12.bti", "font_15.bti", "im_map_icon_portal_4ia_40_05.bti", "font_16_backlight.bti", "font_13.bti", "font_14.bti", "font_10.bti", "im_zelda_item_icon_rupy_13.bti", "", "", "", "", "", "", "", "", "", "", "st_bompoach_lv1.bti", "font_46.bti", "font_47.bti", "font_35.bti", "font_36.bti", "font_19.bti", "font_20.bti", "font_19.bti", "font_22.bti", "font_23.bti", "font_24.bti", "font_25.bti", "font_40.bti", "font_39.bti", "font_29.bti", "font_28.bti", "font_30.bti", "font_31.bti", "font_29.bti", "font_28.bti", "font_32.bti", "font_33.bti", "font_41.bti", "font_42.bti", "font_50.bti", "font_49.bti", "font_51.bti", "font_52.bti", "font_53.bti", }; if (i_nameIdx >= 31 && i_nameIdx <= 40) { return dMeter2Info_getNumberTextureName(i_nameIdx - 31); } return mpIconName[i_nameIdx]; }