Mercurial > mm7
diff mm7_5.cpp @ 688:c0bfb386b15f
some ui cleanup
author | Gloval |
---|---|
date | Sat, 16 Mar 2013 01:11:39 +0400 |
parents | ecfb1b3c9a39 |
children | 26dfde53decd |
line wrap: on
line diff
--- a/mm7_5.cpp Fri Mar 15 15:58:18 2013 +0200 +++ b/mm7_5.cpp Sat Mar 16 01:11:39 2013 +0400 @@ -2742,9 +2742,9 @@ _506F18_num_hours_to_sleep = 60 * v97 - pParty->uCurrentMinute; continue; case UIMSG_4E: - if ( dword_50654C && byte_506550 ) - { - v173 = pSpellStats->pInfos[dword_50654C + 11 * pPlayers[uActiveCharacter]->lastOpenedSpellbookPage].pName; + if ( quick_spell_at_page && byte_506550 ) + { + v173 = pSpellStats->pInfos[quick_spell_at_page + 11 * pPlayers[uActiveCharacter]->lastOpenedSpellbookPage].pName; v157 = pGlobalTXT_LocalizationStrings[483]; _sprintex_2args_draw_status_and_continue: sprintf(pTmpBuf, v157, v173); @@ -2767,7 +2767,7 @@ if ( sub_4637E0_is_there_popup_onscreen() ) dword_507B00_spell_info_to_draw_in_popup = uMessageParam + 1; v98 = *(char *)(uNumSeconds + 6734); - if ( dword_50654C - 1 == uMessageParam ) + if ( quick_spell_at_page - 1 == uMessageParam ) { v178 = pSpellStats->pInfos[uMessageParam + 11 * v98 + 1].pName; v161 = pGlobalTXT_LocalizationStrings[485]; @@ -2787,7 +2787,7 @@ if ( !uActiveCharacter ) continue; pPlayer10 = pPlayers[uActiveCharacter]; - if ( !byte_506550 || !dword_50654C ) + if ( !byte_506550 || !quick_spell_at_page ) { v165 = 0; v151 = 0; @@ -2797,11 +2797,11 @@ v132 = 0; pPlayer10->uQuickSpell = 0; v130 = 0; - dword_50654C = 0; + quick_spell_at_page = 0; v127 = 203; goto _play_sound_and_continue; } - v99 = dword_50654C + 11 * pPlayers[uActiveCharacter]->lastOpenedSpellbookPage; + v99 = quick_spell_at_page + 11 * pPlayers[uActiveCharacter]->lastOpenedSpellbookPage; pPlayers[uActiveCharacter]->uQuickSpell = v99; stru_A750F8[uActiveCharacter + 3]._494836(v99, uActiveCharacter); if ( uActiveCharacter ) @@ -2893,14 +2893,14 @@ if (player->spellbook.pChapters[player->lastOpenedSpellbookPage].bIsSpellAvailable[uMessageParam]) //if ( *(char *)(uNumSeconds + 11 * *(char *)(uNumSeconds + &lastOpenedSpellbookPage) + uMessageParam + 402) ) { - if ( dword_50654C - 1 == uMessageParam ) + if ( quick_spell_at_page - 1 == uMessageParam ) { pGUIWindow_CurrentMenu->Release(); pEventTimer->Resume(); viewparams->bRedrawGameUI = v0; pCurrentScreen = SCREEN_GAME; pIcons_LOD->_4114F2(); - v103 = dword_50654C + 11 * player->lastOpenedSpellbookPage; + v103 = quick_spell_at_page + 11 * player->lastOpenedSpellbookPage; if ( dword_50C9E8 < 40 ) { dword_50C9EC[3 * dword_50C9E8] = UIMSG_CastSpellFromBook; @@ -2912,7 +2912,7 @@ else { byte_506550 = 1; - dword_50654C = uMessageParam + 1; + quick_spell_at_page = uMessageParam + 1; } } } @@ -12424,9 +12424,11 @@ } //----- (0040DEF3) -------------------------------------------------------- -unsigned int __fastcall GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(unsigned __int16 r, unsigned __int16 g, unsigned __int16 b) -{ - 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)); +unsigned short GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat( unsigned __int16 r, unsigned __int16 g, unsigned __int16 b ) + { + 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)); } //----- (0040DF3D) -------------------------------------------------------- @@ -13220,7 +13222,7 @@ // 4E1D3A: using guessed type __int16 word_4E1D3A[]; //----- (00411300) -------------------------------------------------------- -void LoadSpellbook(unsigned int school) +void LoadSpellbook(unsigned int spell_school) { //unsigned int v1; // esi@1 Player *pPlayer; // ecx@1 @@ -13239,22 +13241,19 @@ //v1 = uID; pPlayer = pPlayers[uActiveCharacter]; v3 = pPlayer->uQuickSpell; - if ( v3 && (unsigned __int8)v3 / 11 == school ) - dword_50654C = (unsigned __int8)v3 - 11 * school; - else - dword_50654C = 0; - - //char *v11 = &pPlayer->field_152[11 * school + 63]; + if ( v3 && (unsigned __int8)v3 / 11 == spell_school ) + quick_spell_at_page = (unsigned __int8)v3 - 11 * spell_school; + else + quick_spell_at_page = 0; for (uint i = 1; i < 12; ++i) { - //if (v11[i]) - if (pPlayer->spellbook.pChapters[school].bIsSpellAvailable[i - 1]) - { - sprintf(pContainer, "SB%sS%02d", spellbook_texture_filename_suffices[school], pSpellbookSpellIndices[school][i]); + if (pPlayer->spellbook.pChapters[spell_school].bIsSpellAvailable[i - 1]) + { + sprintf(pContainer, "SB%sS%02d", spellbook_texture_filename_suffices[spell_school], pSpellbookSpellIndices[spell_school][i]); dword_506408[i] = pIcons_LOD->LoadTexturePtr(pContainer, TEXTURE_16BIT_PALETTE); - sprintf(pContainer, "SB%sC%02d", spellbook_texture_filename_suffices[school], pSpellbookSpellIndices[school][i]); + sprintf(pContainer, "SB%sC%02d", spellbook_texture_filename_suffices[spell_school], pSpellbookSpellIndices[spell_school][i]); dword_5063D8[i] = pIcons_LOD->LoadTexturePtr(pContainer, TEXTURE_16BIT_PALETTE); } } @@ -13298,30 +13297,15 @@ //----- (00411473) -------------------------------------------------------- void __cdecl sub_411473() { - Texture **v0; // esi@1 - Texture **v1; // edi@1 - Texture *v2; // ecx@2 - Texture *v3; // ecx@2 - pTexture_pagemask->Release(); pTexture_506448->Release(); pTexture_50643C->Release(); - v0 = &pTextures_tabs[0][1]; - v1 = pTextures_5064A0; - do - { - (*v1)->Release(); - v2 = *(v0 - 1); - *v1 = 0; - v2->Release(); - v3 = *v0; - *(v0 - 1) = 0; - v3->Release(); - *v0 = 0; - ++v1; - v0 += 2; - } - while ( (signed int)v1 < (signed int)&pTextures_5064A0[9] ); + for (uint i = 0; i < 8; ++i) + { + pSpellBookPagesTextr[i]->Release(); + pTextures_tabs[i][0]->Release(); + pTextures_tabs[i][1]->Release(); + } pAudioPlayer->PlaySound((SoundID)231, 0, 0, -1, 0, 0, 0, 0); pIcons_LOD->_4114F2(); } @@ -13352,14 +13336,14 @@ //----- (00412AF9) -------------------------------------------------------- -void __cdecl sub_412AF9() -{ +void sub_412AF9() + { int v0; // ecx@1 v0 = 0; if ( uActiveCharacter ) v0 = pParty->pPlayers[uActiveCharacter-1].lastOpenedSpellbookPage;//*((char *)&pParty->pPartyBuffs[5].uExpireTime + 6972 * uActiveCharacter + 2); - pRenderer->DrawTextureIndexed(8u, 8u, pTextures_5064A0[v0]); + pRenderer->DrawTextureIndexed(8u, 8u, pSpellBookPagesTextr[v0]); pRenderer->DrawTextureIndexed(0x1DCu, 0x1C2u, pTexture_50643C); pRenderer->DrawTextureIndexed(0x231u, 0x1C2u, pTexture_506448); } @@ -13411,7 +13395,7 @@ v5 = (Texture *)dword_506408[v4]; if ( v5 != v3 ) { - if ( dword_50654C == v4 ) + if ( quick_spell_at_page == v4 ) { v6 = dword_5063D8[v4]; v23 = dword_5063D8[v4]; @@ -13586,7 +13570,7 @@ Texture *v14; // [sp-4h] [bp-60h]@7 GUIWindow a1; // [sp+8h] [bp-54h]@10 - pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pTextures_5064A0[11]); + pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pSpellBookPagesTextr_11); if ( dword_506548 || !dword_506528 ) { v13 = pTex_tab_an_6a__zoom_off; @@ -13764,7 +13748,7 @@ v7 = a1.uFrameY + v6; if ( (signed int)(a1.uFrameY + v6) > (signed int)a1.uFrameHeight ) break; - pRenderer->DrawTextureTransparent(100, v7 + 12, pTextures_5064A0[10]); + pRenderer->DrawTextureTransparent(100, v7 + 12, pSpellBookPagesTextr_10); ++v3; a1.uFrameY = v7 + 24; } @@ -14071,7 +14055,7 @@ v16 = a1.uFrameY + v15; if ( (signed int)(a1.uFrameY + v15) > (signed int)a1.uFrameHeight ) break; - pRenderer->DrawTextureTransparent(0x64u, v16 + 12, pTextures_5064A0[10]); + pRenderer->DrawTextureTransparent(0x64u, v16 + 12, pSpellBookPagesTextr_10); ++v12; a1.uFrameY = v16 + 24; } @@ -14079,110 +14063,95 @@ //----- (00413980) -------------------------------------------------------- -char *__cdecl DrawBook_Maps() -{ - unsigned int v0; // eax@3 - unsigned int v1; // eax@7 - unsigned int v2; // eax@10 - unsigned int v3; // eax@13 - unsigned int v4; // eax@16 - unsigned int v5; // eax@19 +void DrawBook_Maps() + { + int v6; // eax@31 - unsigned int v7; // eax@35 - unsigned int v9; // [sp-8h] [bp-E0h]@3 - unsigned int v10; // [sp-8h] [bp-E0h]@7 - unsigned int v11; // [sp-8h] [bp-E0h]@10 - unsigned int v12; // [sp-8h] [bp-E0h]@13 - unsigned int v13; // [sp-8h] [bp-E0h]@16 - unsigned int v14; // [sp-8h] [bp-E0h]@19 - Texture *v15; // [sp-4h] [bp-DCh]@3 - Texture *v16; // [sp-4h] [bp-DCh]@7 - Texture *v17; // [sp-4h] [bp-DCh]@10 - Texture *v18; // [sp-4h] [bp-DCh]@13 - Texture *v19; // [sp-4h] [bp-DCh]@16 - Texture *v20; // [sp-4h] [bp-DCh]@19 - char Str[120]; // [sp+Ch] [bp-CCh]@37 - GUIWindow v22; // [sp+84h] [bp-54h]@35 - - pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pTextures_5064A0[12]); + unsigned int map_id; // eax@35 + Texture *buttnTxtr; // [sp-4h] [bp-DCh]@3 + char party_coord[120]; // [sp+Ch] [bp-CCh]@37 + GUIWindow map_window; // [sp+84h] [bp-54h]@35 + unsigned int textrX, textrY; + + pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pSpellBookPagesTextr_12); if ( dword_506548 || viewparams->field_2C / 128 >= 12 ) { - v15 = pTex_tab_an_6a__zoom_off; - v9 = pViewport->uViewportY + 2; - v0 = pViewport->uViewportX + 408; - } - else - { - v15 = pTex_tab_an_6b__zoom_on; - v9 = pViewport->uViewportY + 1; - v0 = pViewport->uViewportX + 398; - } - pRenderer->DrawTextureTransparent(v0, v9, v15); + buttnTxtr = pTex_tab_an_6a__zoom_off; + textrY = pViewport->uViewportY + 2; + textrX = pViewport->uViewportX + 408; + } + else + { + buttnTxtr = pTex_tab_an_6b__zoom_on; + textrY = pViewport->uViewportY + 1; + textrX = pViewport->uViewportX + 398; + } + pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); if ( dword_506544 || viewparams->field_2C / 128 <= 3 ) { - v16 = pTex_tab_an_7a__zoot_off; - v10 = pViewport->uViewportY + 38; - v1 = pViewport->uViewportX + 408; - } - else - { - v16 = pTex_tab_an_7b__zoot_on; - v10 = pViewport->uViewportY + 38; - v1 = pViewport->uViewportX + 398; - } - pRenderer->DrawTextureTransparent(v1, v10, v16); + buttnTxtr = pTex_tab_an_7a__zoot_off; + textrY = pViewport->uViewportY + 38; + textrX = pViewport->uViewportX + 408; + } + else + { + buttnTxtr = pTex_tab_an_7b__zoot_on; + textrY = pViewport->uViewportY + 38; + textrX = pViewport->uViewportX + 398; + } + pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); if ( dword_506540 ) { - v17 = pTexture_506390; - v11 = pViewport->uViewportY + 113; - v2 = pViewport->uViewportX + 408; - } - else - { - v17 = pTexture_506394; - v11 = pViewport->uViewportY + 113; - v2 = pViewport->uViewportX + 398; - } - pRenderer->DrawTextureTransparent(v2, v11, v17); + buttnTxtr = pTexture_506390; + textrY = pViewport->uViewportY + 113; + textrX = pViewport->uViewportX + 408; + } + else + { + buttnTxtr = pTexture_506394; + textrY = pViewport->uViewportY + 113; + textrX = pViewport->uViewportX + 398; + } + pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); if ( dword_50653C ) { - v18 = pTexture_506388; - v12 = pViewport->uViewportX + 150; - v3 = pViewport->uViewportY + 408; - } - else - { - v18 = pTexture_50638C; - v12 = pViewport->uViewportX + 150; - v3 = pViewport->uViewportY + 399; - } - pRenderer->DrawTextureTransparent(v3, v12, v18); + buttnTxtr = pTexture_506388; + textrY = pViewport->uViewportX + 150; + textrX = pViewport->uViewportY + 408; + } + else + { + buttnTxtr = pTexture_50638C; + textrY = pViewport->uViewportX + 150; + textrX = pViewport->uViewportY + 399; + } + pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); if ( dword_506538 ) { - v19 = pTexture_506380; - v13 = pViewport->uViewportY + 188; - v4 = pViewport->uViewportX + 408; - } - else - { - v19 = pTexture_506384; - v13 = pViewport->uViewportY + 188; - v4 = pViewport->uViewportX + 397; - } - pRenderer->DrawTextureTransparent(v4, v13, v19); + buttnTxtr = pTexture_506380; + textrY = pViewport->uViewportY + 188; + textrX = pViewport->uViewportX + 408; + } + else + { + buttnTxtr = pTexture_506384; + textrY = pViewport->uViewportY + 188; + textrX = pViewport->uViewportX + 397; + } + pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); if ( dword_506534 ) { - v20 = pTexture_506378; - v14 = pViewport->uViewportY + 226; - v5 = pViewport->uViewportX + 408; - } - else - { - v20 = pTexture_50637C; - v14 = pViewport->uViewportY + 226; - v5 = pViewport->uViewportX + 397; - } - pRenderer->DrawTextureTransparent(v5, v14, v20); + buttnTxtr = pTexture_506378; + textrY = pViewport->uViewportY + 226; + textrX = pViewport->uViewportX + 408; + } + else + { + buttnTxtr = pTexture_50637C; + textrY = pViewport->uViewportY + 226; + textrX = pViewport->uViewportX + 397; + } + pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); if ( dword_506544 ) viewparams->_443291(); if ( dword_506548 ) @@ -14193,12 +14162,9 @@ viewparams->_443231(); if ( dword_506538 ) viewparams->_44323D(); - //v6 = dword_506534; if ( dword_506534 ) - { viewparams->_443225(); - //v6 = dword_506534; - } + if ( dword_506548 | dword_506544 | dword_506540 | dword_50653C | dword_506538 | dword_506534 ) pAudioPlayer->PlaySound(SOUND_Button2, 0, 0, -1, 0, 0, 0, 0); dword_506548 = 0; @@ -14209,18 +14175,18 @@ dword_506540 = 0; DrawBook_Map_sub(97, 49, 361, 313, 0); pRenderer->DrawTextureTransparent(75, 22, pTexture_mapbordr); - v22.uFrameWidth = 460; - v22.uFrameHeight = 344; - v22.uFrameX = 8; - v22.uFrameY = 8; - v22.uFrameZ = 467; - v22.uFrameW = 467; - v7 = pMapStats->GetMapInfo(pCurrentMapName); - if ( v7 ) - v22.DrawTitleText(pBook2Font, 0xFFFFFFF2u, 0xCu, 0, pMapStats->pInfos[v7].pName, 3u); - v22.uFrameX = 0; - sprintf(Str, pGlobalTXT_LocalizationStrings[659], pParty->vPosition.x, pParty->vPosition.y); - return v22.DrawTitleText(pFontComic, 0, 0x140u, 0, Str, 0); + map_window.uFrameWidth = 460; + map_window.uFrameHeight = 344; + map_window.uFrameX = 8; + map_window.uFrameY = 8; + map_window.uFrameZ = 467; + map_window.uFrameW = 467; + map_id = pMapStats->GetMapInfo(pCurrentMapName); + if ( map_id ) + map_window.DrawTitleText(pBook2Font, -14, 12, 0, pMapStats->pInfos[map_id].pName, 3); + map_window.uFrameX = 0; + sprintf(party_coord, pGlobalTXT_LocalizationStrings[659], pParty->vPosition.x, pParty->vPosition.y); //"x: %d y: %d" + map_window.DrawTitleText(pFontComic, 0, 320, 0, party_coord, 0); } @@ -14287,7 +14253,7 @@ v0 = pParty->uCurrentHour; v6 = pMapStats->GetMapInfo(pCurrentMapName); a5 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0x4Bu, 0x4Bu, 0x4Bu); - pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pTextures_5064A0[13]); + pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pSpellBookPagesTextr_13); v7 = (unsigned __int8)pDayMoonPhase[pParty->uDaysPlayed]; if ( (signed int)v0 <= 12 ) {