comparison mm7_5.cpp @ 688:c0bfb386b15f

some ui cleanup
author Gloval
date Sat, 16 Mar 2013 01:11:39 +0400
parents ecfb1b3c9a39
children 26dfde53decd
comparison
equal deleted inserted replaced
678:35a97ce58790 688:c0bfb386b15f
2740 v97 = sub_494820(pParty->uCurrentHour); 2740 v97 = sub_494820(pParty->uCurrentHour);
2741 dword_506F14 = v0; 2741 dword_506F14 = v0;
2742 _506F18_num_hours_to_sleep = 60 * v97 - pParty->uCurrentMinute; 2742 _506F18_num_hours_to_sleep = 60 * v97 - pParty->uCurrentMinute;
2743 continue; 2743 continue;
2744 case UIMSG_4E: 2744 case UIMSG_4E:
2745 if ( dword_50654C && byte_506550 ) 2745 if ( quick_spell_at_page && byte_506550 )
2746 { 2746 {
2747 v173 = pSpellStats->pInfos[dword_50654C + 11 * pPlayers[uActiveCharacter]->lastOpenedSpellbookPage].pName; 2747 v173 = pSpellStats->pInfos[quick_spell_at_page + 11 * pPlayers[uActiveCharacter]->lastOpenedSpellbookPage].pName;
2748 v157 = pGlobalTXT_LocalizationStrings[483]; 2748 v157 = pGlobalTXT_LocalizationStrings[483];
2749 _sprintex_2args_draw_status_and_continue: 2749 _sprintex_2args_draw_status_and_continue:
2750 sprintf(pTmpBuf, v157, v173); 2750 sprintf(pTmpBuf, v157, v173);
2751 } 2751 }
2752 else 2752 else
2765 !*(char *)(uNumSeconds + 11 * *(char *)(uNumSeconds + 6734) + uMessageParam + 402)) ) 2765 !*(char *)(uNumSeconds + 11 * *(char *)(uNumSeconds + 6734) + uMessageParam + 402)) )
2766 continue; 2766 continue;
2767 if ( sub_4637E0_is_there_popup_onscreen() ) 2767 if ( sub_4637E0_is_there_popup_onscreen() )
2768 dword_507B00_spell_info_to_draw_in_popup = uMessageParam + 1; 2768 dword_507B00_spell_info_to_draw_in_popup = uMessageParam + 1;
2769 v98 = *(char *)(uNumSeconds + 6734); 2769 v98 = *(char *)(uNumSeconds + 6734);
2770 if ( dword_50654C - 1 == uMessageParam ) 2770 if ( quick_spell_at_page - 1 == uMessageParam )
2771 { 2771 {
2772 v178 = pSpellStats->pInfos[uMessageParam + 11 * v98 + 1].pName; 2772 v178 = pSpellStats->pInfos[uMessageParam + 11 * v98 + 1].pName;
2773 v161 = pGlobalTXT_LocalizationStrings[485]; 2773 v161 = pGlobalTXT_LocalizationStrings[485];
2774 } 2774 }
2775 else 2775 else
2785 case UIMSG_58: 2785 case UIMSG_58:
2786 GUIWindow::Create(pBtn_InstallRemoveSpell->uX, pBtn_InstallRemoveSpell->uY, 0, 0, (enum WindowType)90, (int)pBtn_InstallRemoveSpell, 0); 2786 GUIWindow::Create(pBtn_InstallRemoveSpell->uX, pBtn_InstallRemoveSpell->uY, 0, 0, (enum WindowType)90, (int)pBtn_InstallRemoveSpell, 0);
2787 if ( !uActiveCharacter ) 2787 if ( !uActiveCharacter )
2788 continue; 2788 continue;
2789 pPlayer10 = pPlayers[uActiveCharacter]; 2789 pPlayer10 = pPlayers[uActiveCharacter];
2790 if ( !byte_506550 || !dword_50654C ) 2790 if ( !byte_506550 || !quick_spell_at_page )
2791 { 2791 {
2792 v165 = 0; 2792 v165 = 0;
2793 v151 = 0; 2793 v151 = 0;
2794 v144 = 0; 2794 v144 = 0;
2795 v139 = 0; 2795 v139 = 0;
2796 v135 = -1; 2796 v135 = -1;
2797 v132 = 0; 2797 v132 = 0;
2798 pPlayer10->uQuickSpell = 0; 2798 pPlayer10->uQuickSpell = 0;
2799 v130 = 0; 2799 v130 = 0;
2800 dword_50654C = 0; 2800 quick_spell_at_page = 0;
2801 v127 = 203; 2801 v127 = 203;
2802 goto _play_sound_and_continue; 2802 goto _play_sound_and_continue;
2803 } 2803 }
2804 v99 = dword_50654C + 11 * pPlayers[uActiveCharacter]->lastOpenedSpellbookPage; 2804 v99 = quick_spell_at_page + 11 * pPlayers[uActiveCharacter]->lastOpenedSpellbookPage;
2805 pPlayers[uActiveCharacter]->uQuickSpell = v99; 2805 pPlayers[uActiveCharacter]->uQuickSpell = v99;
2806 stru_A750F8[uActiveCharacter + 3]._494836(v99, uActiveCharacter); 2806 stru_A750F8[uActiveCharacter + 3]._494836(v99, uActiveCharacter);
2807 if ( uActiveCharacter ) 2807 if ( uActiveCharacter )
2808 pPlayer10->PlaySound(SPEECH_12, 0); 2808 pPlayer10->PlaySound(SPEECH_12, 0);
2809 byte_506550 = 0; 2809 byte_506550 = 0;
2891 // uNumSeconds = (unsigned int)pPlayers[uActiveCharacter]; 2891 // uNumSeconds = (unsigned int)pPlayers[uActiveCharacter];
2892 auto player = pPlayers[uActiveCharacter]; 2892 auto player = pPlayers[uActiveCharacter];
2893 if (player->spellbook.pChapters[player->lastOpenedSpellbookPage].bIsSpellAvailable[uMessageParam]) 2893 if (player->spellbook.pChapters[player->lastOpenedSpellbookPage].bIsSpellAvailable[uMessageParam])
2894 //if ( *(char *)(uNumSeconds + 11 * *(char *)(uNumSeconds + &lastOpenedSpellbookPage) + uMessageParam + 402) ) 2894 //if ( *(char *)(uNumSeconds + 11 * *(char *)(uNumSeconds + &lastOpenedSpellbookPage) + uMessageParam + 402) )
2895 { 2895 {
2896 if ( dword_50654C - 1 == uMessageParam ) 2896 if ( quick_spell_at_page - 1 == uMessageParam )
2897 { 2897 {
2898 pGUIWindow_CurrentMenu->Release(); 2898 pGUIWindow_CurrentMenu->Release();
2899 pEventTimer->Resume(); 2899 pEventTimer->Resume();
2900 viewparams->bRedrawGameUI = v0; 2900 viewparams->bRedrawGameUI = v0;
2901 pCurrentScreen = SCREEN_GAME; 2901 pCurrentScreen = SCREEN_GAME;
2902 pIcons_LOD->_4114F2(); 2902 pIcons_LOD->_4114F2();
2903 v103 = dword_50654C + 11 * player->lastOpenedSpellbookPage; 2903 v103 = quick_spell_at_page + 11 * player->lastOpenedSpellbookPage;
2904 if ( dword_50C9E8 < 40 ) 2904 if ( dword_50C9E8 < 40 )
2905 { 2905 {
2906 dword_50C9EC[3 * dword_50C9E8] = UIMSG_CastSpellFromBook; 2906 dword_50C9EC[3 * dword_50C9E8] = UIMSG_CastSpellFromBook;
2907 dword_50C9EC[3 * dword_50C9E8 + 1] = v103; 2907 dword_50C9EC[3 * dword_50C9E8 + 1] = v103;
2908 dword_50C9EC[3 * dword_50C9E8 + 2] = uActiveCharacter - 1; 2908 dword_50C9EC[3 * dword_50C9E8 + 2] = uActiveCharacter - 1;
2910 } 2910 }
2911 } 2911 }
2912 else 2912 else
2913 { 2913 {
2914 byte_506550 = 1; 2914 byte_506550 = 1;
2915 dword_50654C = uMessageParam + 1; 2915 quick_spell_at_page = uMessageParam + 1;
2916 } 2916 }
2917 } 2917 }
2918 } 2918 }
2919 continue; 2919 continue;
2920 2920
12422 { 12422 {
12423 return GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat((unsigned __int8)uColor, BYTE1(uColor), BYTE2(uColor)); 12423 return GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat((unsigned __int8)uColor, BYTE1(uColor), BYTE2(uColor));
12424 } 12424 }
12425 12425
12426 //----- (0040DEF3) -------------------------------------------------------- 12426 //----- (0040DEF3) --------------------------------------------------------
12427 unsigned int __fastcall GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(unsigned __int16 r, unsigned __int16 g, unsigned __int16 b) 12427 unsigned short GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat( unsigned __int16 r, unsigned __int16 g, unsigned __int16 b )
12428 { 12428 {
12429 return ((unsigned int)b >> (8 - LOBYTE(pRenderer->uTargetBBits))) | pRenderer->uTargetGMask & (g << (LOBYTE(pRenderer->uTargetGBits) + LOBYTE(pRenderer->uTargetBBits) - 8)) | pRenderer->uTargetRMask & (r << (LOBYTE(pRenderer->uTargetGBits) + LOBYTE(pRenderer->uTargetRBits) + LOBYTE(pRenderer->uTargetBBits) - 8)); 12429 return ((unsigned int)b >> (8 - LOBYTE(pRenderer->uTargetBBits))) | pRenderer->uTargetGMask & (g << (LOBYTE(pRenderer->uTargetGBits) +
12430 LOBYTE(pRenderer->uTargetBBits) - 8)) | pRenderer->uTargetRMask & (r << (LOBYTE(pRenderer->uTargetGBits) +
12431 LOBYTE(pRenderer->uTargetRBits) + LOBYTE(pRenderer->uTargetBBits) - 8));
12430 } 12432 }
12431 12433
12432 //----- (0040DF3D) -------------------------------------------------------- 12434 //----- (0040DF3D) --------------------------------------------------------
12433 void __cdecl CallRenderPresent() 12435 void __cdecl CallRenderPresent()
12434 { 12436 {
13218 return v6.DrawTitleText(pBook2Font, 0, 22u, 0, pGlobalTXT_LocalizationStrings[10], 3u); 13220 return v6.DrawTitleText(pBook2Font, 0, 22u, 0, pGlobalTXT_LocalizationStrings[10], 3u);
13219 } 13221 }
13220 // 4E1D3A: using guessed type __int16 word_4E1D3A[]; 13222 // 4E1D3A: using guessed type __int16 word_4E1D3A[];
13221 13223
13222 //----- (00411300) -------------------------------------------------------- 13224 //----- (00411300) --------------------------------------------------------
13223 void LoadSpellbook(unsigned int school) 13225 void LoadSpellbook(unsigned int spell_school)
13224 { 13226 {
13225 //unsigned int v1; // esi@1 13227 //unsigned int v1; // esi@1
13226 Player *pPlayer; // ecx@1 13228 Player *pPlayer; // ecx@1
13227 char v3; // al@1 13229 char v3; // al@1
13228 //int v4; // edi@5 13230 //int v4; // edi@5
13237 13239
13238 byte_506550 = 0; 13240 byte_506550 = 0;
13239 //v1 = uID; 13241 //v1 = uID;
13240 pPlayer = pPlayers[uActiveCharacter]; 13242 pPlayer = pPlayers[uActiveCharacter];
13241 v3 = pPlayer->uQuickSpell; 13243 v3 = pPlayer->uQuickSpell;
13242 if ( v3 && (unsigned __int8)v3 / 11 == school ) 13244 if ( v3 && (unsigned __int8)v3 / 11 == spell_school )
13243 dword_50654C = (unsigned __int8)v3 - 11 * school; 13245 quick_spell_at_page = (unsigned __int8)v3 - 11 * spell_school;
13244 else 13246 else
13245 dword_50654C = 0; 13247 quick_spell_at_page = 0;
13246
13247 //char *v11 = &pPlayer->field_152[11 * school + 63];
13248 13248
13249 for (uint i = 1; i < 12; ++i) 13249 for (uint i = 1; i < 12; ++i)
13250 { 13250 {
13251 //if (v11[i]) 13251 if (pPlayer->spellbook.pChapters[spell_school].bIsSpellAvailable[i - 1])
13252 if (pPlayer->spellbook.pChapters[school].bIsSpellAvailable[i - 1]) 13252 {
13253 { 13253 sprintf(pContainer, "SB%sS%02d", spellbook_texture_filename_suffices[spell_school], pSpellbookSpellIndices[spell_school][i]);
13254 sprintf(pContainer, "SB%sS%02d", spellbook_texture_filename_suffices[school], pSpellbookSpellIndices[school][i]);
13255 dword_506408[i] = pIcons_LOD->LoadTexturePtr(pContainer, TEXTURE_16BIT_PALETTE); 13254 dword_506408[i] = pIcons_LOD->LoadTexturePtr(pContainer, TEXTURE_16BIT_PALETTE);
13256 13255
13257 sprintf(pContainer, "SB%sC%02d", spellbook_texture_filename_suffices[school], pSpellbookSpellIndices[school][i]); 13256 sprintf(pContainer, "SB%sC%02d", spellbook_texture_filename_suffices[spell_school], pSpellbookSpellIndices[spell_school][i]);
13258 dword_5063D8[i] = pIcons_LOD->LoadTexturePtr(pContainer, TEXTURE_16BIT_PALETTE); 13257 dword_5063D8[i] = pIcons_LOD->LoadTexturePtr(pContainer, TEXTURE_16BIT_PALETTE);
13259 } 13258 }
13260 } 13259 }
13261 } 13260 }
13262 13261
13296 } 13295 }
13297 13296
13298 //----- (00411473) -------------------------------------------------------- 13297 //----- (00411473) --------------------------------------------------------
13299 void __cdecl sub_411473() 13298 void __cdecl sub_411473()
13300 { 13299 {
13301 Texture **v0; // esi@1
13302 Texture **v1; // edi@1
13303 Texture *v2; // ecx@2
13304 Texture *v3; // ecx@2
13305
13306 pTexture_pagemask->Release(); 13300 pTexture_pagemask->Release();
13307 pTexture_506448->Release(); 13301 pTexture_506448->Release();
13308 pTexture_50643C->Release(); 13302 pTexture_50643C->Release();
13309 v0 = &pTextures_tabs[0][1]; 13303 for (uint i = 0; i < 8; ++i)
13310 v1 = pTextures_5064A0; 13304 {
13311 do 13305 pSpellBookPagesTextr[i]->Release();
13312 { 13306 pTextures_tabs[i][0]->Release();
13313 (*v1)->Release(); 13307 pTextures_tabs[i][1]->Release();
13314 v2 = *(v0 - 1); 13308 }
13315 *v1 = 0;
13316 v2->Release();
13317 v3 = *v0;
13318 *(v0 - 1) = 0;
13319 v3->Release();
13320 *v0 = 0;
13321 ++v1;
13322 v0 += 2;
13323 }
13324 while ( (signed int)v1 < (signed int)&pTextures_5064A0[9] );
13325 pAudioPlayer->PlaySound((SoundID)231, 0, 0, -1, 0, 0, 0, 0); 13309 pAudioPlayer->PlaySound((SoundID)231, 0, 0, -1, 0, 0, 0, 0);
13326 pIcons_LOD->_4114F2(); 13310 pIcons_LOD->_4114F2();
13327 } 13311 }
13328 13312
13329 13313
13350 13334
13351 13335
13352 13336
13353 13337
13354 //----- (00412AF9) -------------------------------------------------------- 13338 //----- (00412AF9) --------------------------------------------------------
13355 void __cdecl sub_412AF9() 13339 void sub_412AF9()
13356 { 13340 {
13357 int v0; // ecx@1 13341 int v0; // ecx@1
13358 13342
13359 v0 = 0; 13343 v0 = 0;
13360 if ( uActiveCharacter ) 13344 if ( uActiveCharacter )
13361 v0 = pParty->pPlayers[uActiveCharacter-1].lastOpenedSpellbookPage;//*((char *)&pParty->pPartyBuffs[5].uExpireTime + 6972 * uActiveCharacter + 2); 13345 v0 = pParty->pPlayers[uActiveCharacter-1].lastOpenedSpellbookPage;//*((char *)&pParty->pPartyBuffs[5].uExpireTime + 6972 * uActiveCharacter + 2);
13362 pRenderer->DrawTextureIndexed(8u, 8u, pTextures_5064A0[v0]); 13346 pRenderer->DrawTextureIndexed(8u, 8u, pSpellBookPagesTextr[v0]);
13363 pRenderer->DrawTextureIndexed(0x1DCu, 0x1C2u, pTexture_50643C); 13347 pRenderer->DrawTextureIndexed(0x1DCu, 0x1C2u, pTexture_50643C);
13364 pRenderer->DrawTextureIndexed(0x231u, 0x1C2u, pTexture_506448); 13348 pRenderer->DrawTextureIndexed(0x231u, 0x1C2u, pTexture_506448);
13365 } 13349 }
13366 13350
13367 //----- (00412B58) -------------------------------------------------------- 13351 //----- (00412B58) --------------------------------------------------------
13409 if ( *(&v0->_guilds_member_bits[v1 + 63] + v4) ) 13393 if ( *(&v0->_guilds_member_bits[v1 + 63] + v4) )
13410 { 13394 {
13411 v5 = (Texture *)dword_506408[v4]; 13395 v5 = (Texture *)dword_506408[v4];
13412 if ( v5 != v3 ) 13396 if ( v5 != v3 )
13413 { 13397 {
13414 if ( dword_50654C == v4 ) 13398 if ( quick_spell_at_page == v4 )
13415 { 13399 {
13416 v6 = dword_5063D8[v4]; 13400 v6 = dword_5063D8[v4];
13417 v23 = dword_5063D8[v4]; 13401 v23 = dword_5063D8[v4];
13418 } 13402 }
13419 else 13403 else
13584 unsigned int v12; // [sp-8h] [bp-64h]@7 13568 unsigned int v12; // [sp-8h] [bp-64h]@7
13585 Texture *v13; // [sp-4h] [bp-60h]@3 13569 Texture *v13; // [sp-4h] [bp-60h]@3
13586 Texture *v14; // [sp-4h] [bp-60h]@7 13570 Texture *v14; // [sp-4h] [bp-60h]@7
13587 GUIWindow a1; // [sp+8h] [bp-54h]@10 13571 GUIWindow a1; // [sp+8h] [bp-54h]@10
13588 13572
13589 pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pTextures_5064A0[11]); 13573 pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pSpellBookPagesTextr_11);
13590 if ( dword_506548 || !dword_506528 ) 13574 if ( dword_506548 || !dword_506528 )
13591 { 13575 {
13592 v13 = pTex_tab_an_6a__zoom_off; 13576 v13 = pTex_tab_an_6a__zoom_off;
13593 v11 = pViewport->uViewportY + 2; 13577 v11 = pViewport->uViewportY + 2;
13594 v0 = pViewport->uViewportX + 407; 13578 v0 = pViewport->uViewportX + 407;
13762 a1.DrawText(pAutonoteFont, 1, 0, 0, pQuestTable[v4-1], 0, 0, 0);//(&dword_722F10)[4 * v4], 0, 0, 0); 13746 a1.DrawText(pAutonoteFont, 1, 0, 0, pQuestTable[v4-1], 0, 0, 0);//(&dword_722F10)[4 * v4], 0, 0, 0);
13763 v6 = pAutonoteFont->CalcTextHeight(v5, &a1, 1, 0); 13747 v6 = pAutonoteFont->CalcTextHeight(v5, &a1, 1, 0);
13764 v7 = a1.uFrameY + v6; 13748 v7 = a1.uFrameY + v6;
13765 if ( (signed int)(a1.uFrameY + v6) > (signed int)a1.uFrameHeight ) 13749 if ( (signed int)(a1.uFrameY + v6) > (signed int)a1.uFrameHeight )
13766 break; 13750 break;
13767 pRenderer->DrawTextureTransparent(100, v7 + 12, pTextures_5064A0[10]); 13751 pRenderer->DrawTextureTransparent(100, v7 + 12, pSpellBookPagesTextr_10);
13768 ++v3; 13752 ++v3;
13769 a1.uFrameY = v7 + 24; 13753 a1.uFrameY = v7 + 24;
13770 } 13754 }
13771 } 13755 }
13772 13756
14069 a1.DrawText(pAutonoteFont, 1, 0, 0, pAutonoteTxt[v13-1].pText, 0, 0, 0); 14053 a1.DrawText(pAutonoteFont, 1, 0, 0, pAutonoteTxt[v13-1].pText, 0, 0, 0);
14070 v15 = pAutonoteFont->CalcTextHeight(v14, &a1, 1, 0); 14054 v15 = pAutonoteFont->CalcTextHeight(v14, &a1, 1, 0);
14071 v16 = a1.uFrameY + v15; 14055 v16 = a1.uFrameY + v15;
14072 if ( (signed int)(a1.uFrameY + v15) > (signed int)a1.uFrameHeight ) 14056 if ( (signed int)(a1.uFrameY + v15) > (signed int)a1.uFrameHeight )
14073 break; 14057 break;
14074 pRenderer->DrawTextureTransparent(0x64u, v16 + 12, pTextures_5064A0[10]); 14058 pRenderer->DrawTextureTransparent(0x64u, v16 + 12, pSpellBookPagesTextr_10);
14075 ++v12; 14059 ++v12;
14076 a1.uFrameY = v16 + 24; 14060 a1.uFrameY = v16 + 24;
14077 } 14061 }
14078 } 14062 }
14079 14063
14080 14064
14081 //----- (00413980) -------------------------------------------------------- 14065 //----- (00413980) --------------------------------------------------------
14082 char *__cdecl DrawBook_Maps() 14066 void DrawBook_Maps()
14083 { 14067 {
14084 unsigned int v0; // eax@3 14068
14085 unsigned int v1; // eax@7
14086 unsigned int v2; // eax@10
14087 unsigned int v3; // eax@13
14088 unsigned int v4; // eax@16
14089 unsigned int v5; // eax@19
14090 int v6; // eax@31 14069 int v6; // eax@31
14091 unsigned int v7; // eax@35 14070 unsigned int map_id; // eax@35
14092 unsigned int v9; // [sp-8h] [bp-E0h]@3 14071 Texture *buttnTxtr; // [sp-4h] [bp-DCh]@3
14093 unsigned int v10; // [sp-8h] [bp-E0h]@7 14072 char party_coord[120]; // [sp+Ch] [bp-CCh]@37
14094 unsigned int v11; // [sp-8h] [bp-E0h]@10 14073 GUIWindow map_window; // [sp+84h] [bp-54h]@35
14095 unsigned int v12; // [sp-8h] [bp-E0h]@13 14074 unsigned int textrX, textrY;
14096 unsigned int v13; // [sp-8h] [bp-E0h]@16 14075
14097 unsigned int v14; // [sp-8h] [bp-E0h]@19 14076 pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pSpellBookPagesTextr_12);
14098 Texture *v15; // [sp-4h] [bp-DCh]@3
14099 Texture *v16; // [sp-4h] [bp-DCh]@7
14100 Texture *v17; // [sp-4h] [bp-DCh]@10
14101 Texture *v18; // [sp-4h] [bp-DCh]@13
14102 Texture *v19; // [sp-4h] [bp-DCh]@16
14103 Texture *v20; // [sp-4h] [bp-DCh]@19
14104 char Str[120]; // [sp+Ch] [bp-CCh]@37
14105 GUIWindow v22; // [sp+84h] [bp-54h]@35
14106
14107 pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pTextures_5064A0[12]);
14108 if ( dword_506548 || viewparams->field_2C / 128 >= 12 ) 14077 if ( dword_506548 || viewparams->field_2C / 128 >= 12 )
14109 { 14078 {
14110 v15 = pTex_tab_an_6a__zoom_off; 14079 buttnTxtr = pTex_tab_an_6a__zoom_off;
14111 v9 = pViewport->uViewportY + 2; 14080 textrY = pViewport->uViewportY + 2;
14112 v0 = pViewport->uViewportX + 408; 14081 textrX = pViewport->uViewportX + 408;
14113 } 14082 }
14114 else 14083 else
14115 { 14084 {
14116 v15 = pTex_tab_an_6b__zoom_on; 14085 buttnTxtr = pTex_tab_an_6b__zoom_on;
14117 v9 = pViewport->uViewportY + 1; 14086 textrY = pViewport->uViewportY + 1;
14118 v0 = pViewport->uViewportX + 398; 14087 textrX = pViewport->uViewportX + 398;
14119 } 14088 }
14120 pRenderer->DrawTextureTransparent(v0, v9, v15); 14089 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr);
14121 if ( dword_506544 || viewparams->field_2C / 128 <= 3 ) 14090 if ( dword_506544 || viewparams->field_2C / 128 <= 3 )
14122 { 14091 {
14123 v16 = pTex_tab_an_7a__zoot_off; 14092 buttnTxtr = pTex_tab_an_7a__zoot_off;
14124 v10 = pViewport->uViewportY + 38; 14093 textrY = pViewport->uViewportY + 38;
14125 v1 = pViewport->uViewportX + 408; 14094 textrX = pViewport->uViewportX + 408;
14126 } 14095 }
14127 else 14096 else
14128 { 14097 {
14129 v16 = pTex_tab_an_7b__zoot_on; 14098 buttnTxtr = pTex_tab_an_7b__zoot_on;
14130 v10 = pViewport->uViewportY + 38; 14099 textrY = pViewport->uViewportY + 38;
14131 v1 = pViewport->uViewportX + 398; 14100 textrX = pViewport->uViewportX + 398;
14132 } 14101 }
14133 pRenderer->DrawTextureTransparent(v1, v10, v16); 14102 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr);
14134 if ( dword_506540 ) 14103 if ( dword_506540 )
14135 { 14104 {
14136 v17 = pTexture_506390; 14105 buttnTxtr = pTexture_506390;
14137 v11 = pViewport->uViewportY + 113; 14106 textrY = pViewport->uViewportY + 113;
14138 v2 = pViewport->uViewportX + 408; 14107 textrX = pViewport->uViewportX + 408;
14139 } 14108 }
14140 else 14109 else
14141 { 14110 {
14142 v17 = pTexture_506394; 14111 buttnTxtr = pTexture_506394;
14143 v11 = pViewport->uViewportY + 113; 14112 textrY = pViewport->uViewportY + 113;
14144 v2 = pViewport->uViewportX + 398; 14113 textrX = pViewport->uViewportX + 398;
14145 } 14114 }
14146 pRenderer->DrawTextureTransparent(v2, v11, v17); 14115 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr);
14147 if ( dword_50653C ) 14116 if ( dword_50653C )
14148 { 14117 {
14149 v18 = pTexture_506388; 14118 buttnTxtr = pTexture_506388;
14150 v12 = pViewport->uViewportX + 150; 14119 textrY = pViewport->uViewportX + 150;
14151 v3 = pViewport->uViewportY + 408; 14120 textrX = pViewport->uViewportY + 408;
14152 } 14121 }
14153 else 14122 else
14154 { 14123 {
14155 v18 = pTexture_50638C; 14124 buttnTxtr = pTexture_50638C;
14156 v12 = pViewport->uViewportX + 150; 14125 textrY = pViewport->uViewportX + 150;
14157 v3 = pViewport->uViewportY + 399; 14126 textrX = pViewport->uViewportY + 399;
14158 } 14127 }
14159 pRenderer->DrawTextureTransparent(v3, v12, v18); 14128 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr);
14160 if ( dword_506538 ) 14129 if ( dword_506538 )
14161 { 14130 {
14162 v19 = pTexture_506380; 14131 buttnTxtr = pTexture_506380;
14163 v13 = pViewport->uViewportY + 188; 14132 textrY = pViewport->uViewportY + 188;
14164 v4 = pViewport->uViewportX + 408; 14133 textrX = pViewport->uViewportX + 408;
14165 } 14134 }
14166 else 14135 else
14167 { 14136 {
14168 v19 = pTexture_506384; 14137 buttnTxtr = pTexture_506384;
14169 v13 = pViewport->uViewportY + 188; 14138 textrY = pViewport->uViewportY + 188;
14170 v4 = pViewport->uViewportX + 397; 14139 textrX = pViewport->uViewportX + 397;
14171 } 14140 }
14172 pRenderer->DrawTextureTransparent(v4, v13, v19); 14141 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr);
14173 if ( dword_506534 ) 14142 if ( dword_506534 )
14174 { 14143 {
14175 v20 = pTexture_506378; 14144 buttnTxtr = pTexture_506378;
14176 v14 = pViewport->uViewportY + 226; 14145 textrY = pViewport->uViewportY + 226;
14177 v5 = pViewport->uViewportX + 408; 14146 textrX = pViewport->uViewportX + 408;
14178 } 14147 }
14179 else 14148 else
14180 { 14149 {
14181 v20 = pTexture_50637C; 14150 buttnTxtr = pTexture_50637C;
14182 v14 = pViewport->uViewportY + 226; 14151 textrY = pViewport->uViewportY + 226;
14183 v5 = pViewport->uViewportX + 397; 14152 textrX = pViewport->uViewportX + 397;
14184 } 14153 }
14185 pRenderer->DrawTextureTransparent(v5, v14, v20); 14154 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr);
14186 if ( dword_506544 ) 14155 if ( dword_506544 )
14187 viewparams->_443291(); 14156 viewparams->_443291();
14188 if ( dword_506548 ) 14157 if ( dword_506548 )
14189 viewparams->_443249(); 14158 viewparams->_443249();
14190 if ( dword_506540 ) 14159 if ( dword_506540 )
14191 viewparams->_443219(); 14160 viewparams->_443219();
14192 if ( dword_50653C ) 14161 if ( dword_50653C )
14193 viewparams->_443231(); 14162 viewparams->_443231();
14194 if ( dword_506538 ) 14163 if ( dword_506538 )
14195 viewparams->_44323D(); 14164 viewparams->_44323D();
14196 //v6 = dword_506534;
14197 if ( dword_506534 ) 14165 if ( dword_506534 )
14198 {
14199 viewparams->_443225(); 14166 viewparams->_443225();
14200 //v6 = dword_506534; 14167
14201 }
14202 if ( dword_506548 | dword_506544 | dword_506540 | dword_50653C | dword_506538 | dword_506534 ) 14168 if ( dword_506548 | dword_506544 | dword_506540 | dword_50653C | dword_506538 | dword_506534 )
14203 pAudioPlayer->PlaySound(SOUND_Button2, 0, 0, -1, 0, 0, 0, 0); 14169 pAudioPlayer->PlaySound(SOUND_Button2, 0, 0, -1, 0, 0, 0, 0);
14204 dword_506548 = 0; 14170 dword_506548 = 0;
14205 dword_506544 = 0; 14171 dword_506544 = 0;
14206 dword_506534 = 0; 14172 dword_506534 = 0;
14207 dword_506538 = 0; 14173 dword_506538 = 0;
14208 dword_50653C = 0; 14174 dword_50653C = 0;
14209 dword_506540 = 0; 14175 dword_506540 = 0;
14210 DrawBook_Map_sub(97, 49, 361, 313, 0); 14176 DrawBook_Map_sub(97, 49, 361, 313, 0);
14211 pRenderer->DrawTextureTransparent(75, 22, pTexture_mapbordr); 14177 pRenderer->DrawTextureTransparent(75, 22, pTexture_mapbordr);
14212 v22.uFrameWidth = 460; 14178 map_window.uFrameWidth = 460;
14213 v22.uFrameHeight = 344; 14179 map_window.uFrameHeight = 344;
14214 v22.uFrameX = 8; 14180 map_window.uFrameX = 8;
14215 v22.uFrameY = 8; 14181 map_window.uFrameY = 8;
14216 v22.uFrameZ = 467; 14182 map_window.uFrameZ = 467;
14217 v22.uFrameW = 467; 14183 map_window.uFrameW = 467;
14218 v7 = pMapStats->GetMapInfo(pCurrentMapName); 14184 map_id = pMapStats->GetMapInfo(pCurrentMapName);
14219 if ( v7 ) 14185 if ( map_id )
14220 v22.DrawTitleText(pBook2Font, 0xFFFFFFF2u, 0xCu, 0, pMapStats->pInfos[v7].pName, 3u); 14186 map_window.DrawTitleText(pBook2Font, -14, 12, 0, pMapStats->pInfos[map_id].pName, 3);
14221 v22.uFrameX = 0; 14187 map_window.uFrameX = 0;
14222 sprintf(Str, pGlobalTXT_LocalizationStrings[659], pParty->vPosition.x, pParty->vPosition.y); 14188 sprintf(party_coord, pGlobalTXT_LocalizationStrings[659], pParty->vPosition.x, pParty->vPosition.y); //"x: %d y: %d"
14223 return v22.DrawTitleText(pFontComic, 0, 0x140u, 0, Str, 0); 14189 map_window.DrawTitleText(pFontComic, 0, 320, 0, party_coord, 0);
14224 } 14190 }
14225 14191
14226 14192
14227 //----- (00413CC6) -------------------------------------------------------- 14193 //----- (00413CC6) --------------------------------------------------------
14228 void __thiscall SellectDrawBook(unsigned int uBook) 14194 void __thiscall SellectDrawBook(unsigned int uBook)
14285 int a5; // [sp+68h] [bp-4h]@1 14251 int a5; // [sp+68h] [bp-4h]@1
14286 14252
14287 v0 = pParty->uCurrentHour; 14253 v0 = pParty->uCurrentHour;
14288 v6 = pMapStats->GetMapInfo(pCurrentMapName); 14254 v6 = pMapStats->GetMapInfo(pCurrentMapName);
14289 a5 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0x4Bu, 0x4Bu, 0x4Bu); 14255 a5 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0x4Bu, 0x4Bu, 0x4Bu);
14290 pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pTextures_5064A0[13]); 14256 pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pSpellBookPagesTextr_13);
14291 v7 = (unsigned __int8)pDayMoonPhase[pParty->uDaysPlayed]; 14257 v7 = (unsigned __int8)pDayMoonPhase[pParty->uDaysPlayed];
14292 if ( (signed int)v0 <= 12 ) 14258 if ( (signed int)v0 <= 12 )
14293 { 14259 {
14294 if ( !v0 ) 14260 if ( !v0 )
14295 v0 = 12; 14261 v0 = 12;