Mercurial > might-and-magic-trilogy
changeset 82:f9a33f75bae3
Qick Record
author | Nomad |
---|---|
date | Mon, 29 Oct 2012 00:41:51 +0200 |
parents | 8b0c4d626477 |
children | 2d5d13376e91 |
files | GUIWindow.cpp GUIWindow.h Indoor.cpp Indoor.h Player.h mm7_1.cpp mm7_2.cpp mm7_5.cpp mm7_6.cpp mm7_data.cpp mm7_data.h |
diffstat | 11 files changed, 101 insertions(+), 151 deletions(-) [+] |
line wrap: on
line diff
--- a/GUIWindow.cpp Sun Oct 28 18:51:52 2012 +0200 +++ b/GUIWindow.cpp Mon Oct 29 00:41:51 2012 +0200 @@ -145,13 +145,9 @@ //----- (0041D3B7) -------------------------------------------------------- -char GUIWindow::_41D3B7() +char GUIWindow::DrawQuickCharRecord() { - GUIWindow *v1; // edi@1 Player *pPlayer; // esi@1 - int v3; // ecx@1 - SpellBuff *v4; // eax@1 - signed int v5; // ebx@1 int v6; // eax@5 int v7; // ebx@5 unsigned int v8; // ecx@5 @@ -163,76 +159,44 @@ unsigned int v14; // eax@12 PlayerFrame *v15; // eax@12 unsigned int v16; // eax@15 - signed int v17; // ST28_4@15 - int v18; // ST24_4@15 - signed int v19; // eax@15 unsigned int v20; // eax@15 - int v21; // ST28_4@15 - int v22; // ST24_4@15 - int v23; // eax@15 unsigned int v24; // eax@15 unsigned int v25; // eax@15 - char *v26; // ST28_4@15 - signed int v27; // eax@15 unsigned __int8 v28; // al@15 char *v29; // eax@16 - unsigned int v30; // esi@18 - SpellBuff *v31; // edx@18 - char *v32; // edi@18 - signed int v33; // ecx@19 - unsigned int v34; // eax@19 __int64 v35; // ST38_8@22 int v36; // esi@22 - const char *v37; // ST1C_4@22 unsigned int v38; // eax@22 char *v39; // eax@24 - SpellBuff *v41; // [sp+14h] [bp-14h]@1 - GUIFont *a2; // [sp+18h] [bp-10h]@1 - GUIWindow *a1; // [sp+1Ch] [bp-Ch]@1 signed int uFramesetID; // [sp+20h] [bp-8h]@9 int uFramesetIDa; // [sp+20h] [bp-8h]@18 - const char **v46; // [sp+24h] [bp-4h]@18 + + pPlayer = &pParty->pPlayers[(unsigned int)ptr_1C]; + + uint numActivePlayerBuffs = 0; + + for (uint i = 0; i < 24; ++i) + if (pPlayer->pPlayerBuffs[i].uExpireTime > 0) + ++numActivePlayerBuffs; - v1 = this; - a2 = pFontComic; - pPlayer = &pParty->pPlayers[(unsigned int)this->ptr_1C]; - a1 = this; - v3 = 0; - v4 = pPlayer->pPlayerBuffs; - v5 = 24; - v41 = pPlayer->pPlayerBuffs; - do - { - if ( (signed __int64)v4->uExpireTime > 0 ) - ++v3; - ++v4; - --v5; - } - while ( v5 ); - v6 = LOBYTE(pFontArrus->uFontHeight) + 162; - v1->uFrameHeight = v6; - v7 = (v3 - 1) * LOBYTE(pFontArrus->uFontHeight); - v8 = v1->uFrameX; + v6 = pFontArrus->uFontHeight + 162; + uFrameHeight = v6; + v7 = (numActivePlayerBuffs - 1) * pFontArrus->uFontHeight; + v8 = uFrameX; v9 = v6 + v7; - v10 = v1->uFrameWidth; - v1->uFrameHeight = v9; + v10 = uFrameWidth; + uFrameHeight = v9; v11 = v10 + v8 - 1; - v12 = v1->uFrameY; - v1->uFrameZ = v11; - v1->uFrameW = v9 + v12 - 1; - v1->DrawMessageBox(0); - if ( pPlayer->pConditions[16] ) - { + v12 = uFrameY; + uFrameZ = v11; + uFrameW = v9 + v12 - 1; + DrawMessageBox(0); + if (pPlayer->Eradicated()) v13 = pTexture_PlayerFaceEradicated; - } + else if (pPlayer->Dead()) + v13 = pTexture_PlayerFaceDead; else { - if ( pPlayer->pConditions[14] ) - { - v13 = pTexture_PlayerFaceDead; - } - else - { uFramesetID = pPlayerFrameTable->GetFrameIdBy_field0(pPlayer->uExpressionID); if ( !uFramesetID ) uFramesetID = 1; @@ -249,74 +213,58 @@ v15 = pPlayerFrameTable->GetFrameBy_x(uFramesetID, v14); } pPlayer->field_1AA2 = v15->uTextureID - 1; - v13 = (Texture *)A74CEC_player_faces_minus1_indexing[v15->uTextureID + 56 * (unsigned int)v1->ptr_1C]; - } + v13 = pTextures_PlayerFaces[(unsigned int)ptr_1C][v15->uTextureID]; } - pRenderer->DrawTextureTransparent(v1->uFrameX + 24, v1->uFrameY + 24, v13); + + pRenderer->DrawTextureTransparent(uFrameX + 24, uFrameY + 24, v13); v16 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu); - sprintfex(pTmpBuf, "\xC" "00000\n", v16); - sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[429], pPlayer->pName, pClassNames[pPlayer->uClass]); + sprintf(pTmpBuf, "\xC%05d", v16); + sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[429], pPlayer->pName, pClassNames[pPlayer->uClass]); strcat(pTmpBuf, pTmpBuf2); strcat(pTmpBuf, "\xC" "00000\n"); - v17 = pPlayer->GetMaxHealth(); - v18 = pPlayer->sHealth; - v19 = pPlayer->GetMaxHealth(); - v20 = sub_4178FE(pPlayer->sHealth, v19); - sprintfex(pTmpBuf2, "%s : ", pGlobalTXT_LocalizationStrings[108], v20, v18, v17); + v20 = UI_GetHealthManaStringColor(pPlayer->sHealth, pPlayer->GetMaxHealth()); + sprintf(pTmpBuf2, "%s : \x0C" "%05u%d\x0C" "00000 / %d\n", pGlobalTXT_LocalizationStrings[108], + v20, pPlayer->sHealth, pPlayer->GetMaxHealth()); strcat(pTmpBuf, pTmpBuf2); - v21 = pPlayer->GetMaxMana(); - v22 = pPlayer->sMana; - v23 = pPlayer->GetMaxMana(); - v24 = sub_4178FE(pPlayer->sMana, v23); - sprintfex(pTmpBuf2, "%s : ", pGlobalTXT_LocalizationStrings[212], v24, v22, v21); + v24 = UI_GetHealthManaStringColor(pPlayer->sMana, pPlayer->GetMaxMana()); + sprintf(pTmpBuf2, "%s : \x0C" "%05u%d\x0C" "00000 / %d\n", pGlobalTXT_LocalizationStrings[212], + v24, pPlayer->sMana, pPlayer->GetMaxMana()); strcat(pTmpBuf, pTmpBuf2); v25 = pPlayer->GetMajorConditionIdx(); - v26 = aCharacterConditionNames[v25]; - v27 = GetConditionDrawColor(v25); - sprintfex(pTmpBuf2, "%s: ", pGlobalTXT_LocalizationStrings[47], v27, v26); + sprintf(pTmpBuf2, "%s: \x0C" "%05d%s\x0C" "00000\n", pGlobalTXT_LocalizationStrings[47], + GetConditionDrawColor(v25), aCharacterConditionNames[v25]); strcat(pTmpBuf, pTmpBuf2); v28 = pPlayer->uQuickSpell; if ( v28 ) v29 = pSpellStats->pInfos[v28].pShortName; else v29 = pGlobalTXT_LocalizationStrings[153]; - sprintfex(pTmpBuf2, "%s: %s", pGlobalTXT_LocalizationStrings[172], v29); + sprintf(pTmpBuf2, "%s: %s", pGlobalTXT_LocalizationStrings[172], v29); strcat(pTmpBuf, pTmpBuf2); - v30 = 0; - a1->DrawText(pFontArrus, 120, 22, 0, pTmpBuf, 0, 0, 0); - v31 = v41; + DrawText(pFontArrus, 120, 22, 0, pTmpBuf, 0, 0, 0); + uFramesetIDa = 0; - v32 = &_4E2AD8_ui_colors[1]; - v46 = (const char **)&aSpellNames[20]; - do + for (uint i = 0; i < 24; ++i) { - v33 = HIDWORD(v31->uExpireTime); - v34 = LODWORD(v31->uExpireTime); - if ( v33 >= (signed int)v30 && (v33 > (signed int)v30 || v34 > v30) ) + auto buff = pPlayer->pPlayerBuffs + i; + if (buff->uExpireTime > 0) { - v35 = __PAIR__(v33, v34) - pParty->uTimePlayed; - v36 = uFramesetIDa++ * LOBYTE(a2->uFontHeight) + 134; - v37 = *v46; + v35 = buff->uExpireTime - pParty->uTimePlayed; + v36 = uFramesetIDa++ * pFontComic->uFontHeight + 134; v38 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat( - (unsigned __int8)*(v32 - 1), - (unsigned __int8)*v32, - (unsigned __int8)v32[1]); - a1->DrawText(a2, 52, v36, v38, v37, 0, 0, 0); - sub_41D20D_buff_remaining_time_string(v36, a1, v35, a2); - v31 = v41; - v30 = 0; + _4E2AD8_ui_colors[i * 3], + _4E2AD8_ui_colors[i * 3 + 1], + _4E2AD8_ui_colors[i * 3 + 2]); + DrawText(pFontComic, 52, v36, v38, aSpellNames[20 + i], 0, 0, 0); + sub_41D20D_buff_remaining_time_string(v36, this, v35, pFontComic); } - ++v46; - ++v31; - v32 += 3; - v41 = v31; } - while ( (signed int)v46 < (signed int)&dword_506978 ); + v39 = ""; - if ( uFramesetIDa == v30 ) + if ( uFramesetIDa == 0 ) v39 = pGlobalTXT_LocalizationStrings[153]; - sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[450], v39); - return a1->DrawText(pFontArrus, 14, 114, v30, pTmpBuf, v30, v30, v30); + sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[450], v39); + return DrawText(pFontArrus, 14, 114, 0, pTmpBuf, 0, 0, 0); } //----- (0041D08F) --------------------------------------------------------
--- a/GUIWindow.h Sun Oct 28 18:51:52 2012 +0200 +++ b/GUIWindow.h Mon Oct 29 00:41:51 2012 +0200 @@ -72,7 +72,7 @@ GUIButton *GetControl(unsigned int uID); void Release(); void _41D08F(int a2, int a3, int a4, int a5); - char _41D3B7(); + char DrawQuickCharRecord(); char _41D73D_draw_buff_tooltip(); static GUIWindow *Create(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, enum WindowType eType, int a4, int a5);
--- a/Indoor.cpp Sun Oct 28 18:51:52 2012 +0200 +++ b/Indoor.cpp Mon Oct 29 00:41:51 2012 +0200 @@ -502,8 +502,8 @@ static_vertices_F7C228[i].vWorldPosition.x = pIndoor->pVertices[pFace->pVertexIDs[i]].x; static_vertices_F7C228[i].vWorldPosition.y = pIndoor->pVertices[pFace->pVertexIDs[i]].y; static_vertices_F7C228[i].vWorldPosition.z = pIndoor->pVertices[pFace->pVertexIDs[i]].z; - static_vertices_F7C228[i].u = (signed)pFace->pVertexUIDs[i]; - static_vertices_F7C228[i].v = (signed)pFace->pVertexUIDs[i]; + static_vertices_F7C228[i].u = (signed short)pFace->pVertexUIDs[i]; + static_vertices_F7C228[i].v = (signed short)pFace->pVertexUIDs[i]; } if (!pVertices || @@ -2568,10 +2568,10 @@ pFace->pZInterceptDisplacements = ptr_2AC + j; j += pFace->uNumVertices + 1; - pFace->pVertexUIDs = ptr_2AC + j; + pFace->pVertexUIDs = (__int16 *)(ptr_2AC + j); j += pFace->uNumVertices + 1; - pFace->pVertexVIDs = ptr_2AC + j; + pFace->pVertexVIDs = (__int16 *)(ptr_2AC + j); j += pFace->uNumVertices + 1; /*v93 = &pFaces[v92]; @@ -3543,7 +3543,7 @@ int v44; // ecx@36 int v45; // edi@36 int v46; // ecx@36 - unsigned __int16 *v47; // edx@44 + __int16 *v47; // edx@44 int v48; // ecx@44 unsigned int v49; // ecx@46 unsigned __int16 v50; // ax@48
--- a/Indoor.h Sun Oct 28 18:51:52 2012 +0200 +++ b/Indoor.h Mon Oct 29 00:41:51 2012 +0200 @@ -297,11 +297,11 @@ unsigned __int16 *pXInterceptDisplacements; unsigned __int16 *pYInterceptDisplacements; unsigned __int16 *pZInterceptDisplacements; - unsigned __int16 *pVertexUIDs; - unsigned __int16 *pVertexVIDs; - unsigned __int16 uFaceExtraID; - unsigned __int16 uBitmapID; - unsigned __int16 uSectorID; + signed __int16 *pVertexUIDs; + signed __int16 *pVertexVIDs; + unsigned __int16 uFaceExtraID; + unsigned __int16 uBitmapID; + unsigned __int16 uSectorID; __int16 uBackSectorID; struct BBox_short_ pBounding; PolygonType uPolygonType;
--- a/Player.h Sun Oct 28 18:51:52 2012 +0200 +++ b/Player.h Mon Oct 29 00:41:51 2012 +0200 @@ -93,13 +93,16 @@ { PLAYER_CLASS_KNIGHT = 0x0, PLAYER_CLASS_THEIF = 0x4, + PLAYER_CLASS_BOUNTY_HUNTER = 0x7, PLAYER_CLASS_MONK = 0x8, PLAYER_CLASS_PALADIN = 0xC, PLAYER_CLASS_SHOOTER = 0x10, PLAYER_CLASS_RANGER = 0x14, PLAYER_CLASS_CLERIC = 0x18, + PLAYER_CLASS_PRIEST_OF_MOON = 0x1B, PLAYER_CLASS_DRUID = 0x1C, PLAYER_CLASS_SORCERER = 0x20, + PLAYER_CLASS_LICH = 0x23, };
--- a/mm7_1.cpp Sun Oct 28 18:51:52 2012 +0200 +++ b/mm7_1.cpp Mon Oct 29 00:41:51 2012 +0200 @@ -1054,7 +1054,7 @@ v0); sprintfex(pTmpBuf, "%d", pPlayer->sHealth); v8 = pPlayer->GetMaxHealth(); - v9 = sub_4178FE(pPlayer->sHealth, v8); + v9 = UI_GetHealthManaStringColor(pPlayer->sHealth, v8); pGUIWindow_CurrentMenu->DrawTextInRect(pFontArrus, v44, v7, v9, pTmpBuf, 84, v0); v10 = v45 + v7; if ( v43 == v0 ) @@ -1068,7 +1068,7 @@ v0); sprintfex(pTmpBuf, "%d", pPlayer->sMana); v11 = pPlayer->GetMaxMana(); - v12 = sub_4178FE(pPlayer->sMana, v11); + v12 = UI_GetHealthManaStringColor(pPlayer->sMana, v11); pGUIWindow_CurrentMenu->DrawTextInRect(pFontArrus, v44, v10, v12, pTmpBuf, 84, v0); v13 = v45 + v10; if ( v43 == v0 ) @@ -1085,7 +1085,7 @@ v15 = v0; v16 = pPlayer->GetBaseAC(); v17 = pPlayer->GetActualAC(); - v18 = sub_4178FE(v17, v16); + v18 = UI_GetHealthManaStringColor(v17, v16); pGUIWindow_CurrentMenu->DrawTextInRect(pFontArrus, v44, v13, v18, pTmpBuf, 84, v15); v0 = 0; v19 = v45 + v13;
--- a/mm7_2.cpp Sun Oct 28 18:51:52 2012 +0200 +++ b/mm7_2.cpp Mon Oct 29 00:41:51 2012 +0200 @@ -9311,7 +9311,7 @@ } //----- (00452C49) -------------------------------------------------------- -void __cdecl InitializeGameText() +void InitializeGameText() { //char *v0; // ebx@1 char *v1; // eax@3 @@ -12475,16 +12475,16 @@ LABEL_240: if ( pVideoPlayer->pVideoFrame.pPixels != (unsigned __int16 *)v31 ) pVideoPlayer->bStopBeforeSchedule = 1; - if ( pAsyncMouse == (void *)v31 ) + if (!pAsyncMouse) pMouse->SetMouseClick((unsigned __int16)lParam, lParam >> 16); - if ( pGame != (Game *)v31 ) - { - if ( pAsyncMouse != (void *)v31 ) + if (pGame) + { + if (pAsyncMouse) goto _def_wnd_proc; v33 = GetPickDepth(); pGame->PickMouse(v33, (unsigned __int16)lParam, lParam >> 16, v31, &stru_F93E30, &a4); } - if ( pAsyncMouse == (void *)v31 ) + if (!pAsyncMouse) { sub_416D62_ShowPopupWindow_MonsterRecord_ItemInfo_etcsub_416D62(0); return DefWindowProcA(hWnd, Msg, wParam, v4);
--- a/mm7_5.cpp Sun Oct 28 18:51:52 2012 +0200 +++ b/mm7_5.cpp Mon Oct 29 00:41:51 2012 +0200 @@ -15896,6 +15896,7 @@ { if ( pCurrentScreen == 10 ) { + __debugbreak(); if ( !pPlayers[uActiveCharacter]->CanAct() ) { sprintfex( @@ -15981,8 +15982,9 @@ a1.uFrameY = pY + 5; goto LABEL_41; } - if ( (GetCurrentMenuID() & 0x80000000u) == 0 ) + if (GetCurrentMenuID() > 0) goto LABEL_132; + if ( (signed int)pY > (signed int)pViewport->uViewportW ) { a1.ptr_1C = (void *)((signed int)pX / 118); @@ -15994,7 +15996,7 @@ a1.uFrameX = 38; a1.uFrameY = 60; pAudioPlayer->StopChannels(-1, -1); - a1._41D3B7(); + a1.DrawQuickCharRecord(); } goto LABEL_132; } @@ -16401,7 +16403,7 @@ } //----- (004178FE) -------------------------------------------------------- -unsigned int __fastcall sub_4178FE(signed int a1, signed int a2) +unsigned int __fastcall UI_GetHealthManaStringColor(signed int a1, signed int a2) { unsigned __int16 v2; // dx@2 unsigned __int16 v3; // cx@2 @@ -17166,7 +17168,7 @@ v6 = pPlayer->GetActualMight(); v7 = pPlayer->GetBaseStrength(); v8 = pPlayer->GetActualMight(); - v9 = sub_4178FE(v8, v7); + v9 = UI_GetHealthManaStringColor(v8, v7); sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[144], v9, v6, v5); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, 53, 0, pTmpBuf, 0, 0, 0); v10 = LOBYTE(pFontArrus->uFontHeight) + 51; @@ -17174,7 +17176,7 @@ v12 = pPlayer->GetActualIntelligence(); v13 = pPlayer->GetBaseIntelligence(); v14 = pPlayer->GetActualIntelligence(); - v15 = sub_4178FE(v14, v13); + v15 = UI_GetHealthManaStringColor(v14, v13); sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[116], v15, v12, v11); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v10, 0, pTmpBuf, 0, 0, 0); v16 = LOBYTE(pFontArrus->uFontHeight) + v10 - 2; @@ -17182,7 +17184,7 @@ v18 = pPlayer->GetActualWillpower(); v19 = pPlayer->GetBaseWillpower(); v20 = pPlayer->GetActualWillpower(); - v21 = sub_4178FE(v20, v19); + v21 = UI_GetHealthManaStringColor(v20, v19); sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[163], v21, v18, v17); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v16, 0, pTmpBuf, 0, 0, 0); v22 = LOBYTE(pFontArrus->uFontHeight) + v16 - 2; @@ -17190,7 +17192,7 @@ v24 = pPlayer->GetActualEndurance(); v25 = pPlayer->GetBaseEndurance(); v26 = pPlayer->GetActualEndurance(); - v27 = sub_4178FE(v26, v25); + v27 = UI_GetHealthManaStringColor(v26, v25); sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[75], v27, v24, v23); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v22, 0, pTmpBuf, 0, 0, 0); v28 = LOBYTE(pFontArrus->uFontHeight) + v22 - 2; @@ -17198,7 +17200,7 @@ v30 = pPlayer->GetActualAccuracy(); v31 = pPlayer->GetBaseAccuracy(); v32 = pPlayer->GetActualAccuracy(); - v33 = sub_4178FE(v32, v31); + v33 = UI_GetHealthManaStringColor(v32, v31); sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[1], v33, v30, v29); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v28, 0, pTmpBuf, 0, 0, 0); v34 = LOBYTE(pFontArrus->uFontHeight) + v28 - 2; @@ -17206,7 +17208,7 @@ v36 = pPlayer->GetActualSpeed(); v37 = pPlayer->GetBaseSpeed(); v38 = pPlayer->GetActualSpeed(); - v39 = sub_4178FE(v38, v37); + v39 = UI_GetHealthManaStringColor(v38, v37); sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[211], v39, v36, v35); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v34, 0, pTmpBuf, 0, 0, 0); v40 = LOBYTE(pFontArrus->uFontHeight) + v34 - 2; @@ -17214,7 +17216,7 @@ v42 = pPlayer->GetActualLuck(); v43 = pPlayer->GetBaseLuck(); v44 = pPlayer->GetActualLuck(); - v45 = sub_4178FE(v44, v43); + v45 = UI_GetHealthManaStringColor(v44, v43); sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[136], v45, v42, v41); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v40, 0, pTmpBuf, 0, 0, 0); a2 = "%s"; @@ -17224,7 +17226,7 @@ v47 = pPlayer->GetMaxHealth(); v48 = pPlayer->sHealth; v49 = pPlayer->GetMaxHealth(); - v50 = sub_4178FE(pPlayer->sHealth, v49); + v50 = UI_GetHealthManaStringColor(pPlayer->sHealth, v49); sprintfex(pTmpBuf, a2, pGlobalTXT_LocalizationStrings[108], v50, v48, v47); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v46, 0, pTmpBuf, 0, 0, 0); a2a = "%s"; @@ -17234,7 +17236,7 @@ v51 = pPlayer->GetMaxMana(); v52 = pPlayer->sMana; v53 = pPlayer->GetMaxMana(); - v54 = sub_4178FE(pPlayer->sMana, v53); + v54 = UI_GetHealthManaStringColor(pPlayer->sMana, v53); sprintfex(pTmpBuf, a2a, pGlobalTXT_LocalizationStrings[212], v54, v52, v51); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, uY, 0, pTmpBuf, 0, 0, 0); v55 = LOBYTE(pFontArrus->uFontHeight) + uY - 2; @@ -17242,7 +17244,7 @@ v57 = pPlayer->GetActualAC(); v58 = pPlayer->GetBaseAC(); v59 = pPlayer->GetActualAC(); - v60 = sub_4178FE(v59, v58); + v60 = UI_GetHealthManaStringColor(v59, v58); sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[12], v60, v57, v56); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v55, 0, pTmpBuf, 0, 0, 0); v61 = v55 + 2 * LOBYTE(pFontArrus->uFontHeight) - 2; @@ -17263,7 +17265,7 @@ v69 = pPlayer->GetActualAge(); v70 = pPlayer->GetBaseAge(); v71 = pPlayer->GetActualAge(); - v72 = sub_4178FE(v71, v70); + v72 = UI_GetHealthManaStringColor(v71, v70); sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[5], v72, v69, v68); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, 50, 0, pTmpBuf, 0, 0, 0); a2b = "%s"; @@ -17274,7 +17276,7 @@ v74 = pPlayer->GetActualLevel(); v75 = pPlayer->GetBaseLevel(); v76 = pPlayer->GetActualLevel(); - v77 = sub_4178FE(v76, v75); + v77 = UI_GetHealthManaStringColor(v76, v75); sprintfex(pTmpBuf, a2b, pGlobalTXT_LocalizationStrings[131], v77, v74, v73); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYa, 0, pTmpBuf, 0, 0, 0); uYb = uYa + LOBYTE(pFontArrus->uFontHeight) - 2; @@ -17310,7 +17312,7 @@ if ( v131 > 99 || v90 > 99 ) a2c = format_4E2E68; v91 = v90; - v92 = sub_4178FE(v131, v90); + v92 = UI_GetHealthManaStringColor(v131, v90); sprintfex(pTmpBuf, a2c, pGlobalTXT_LocalizationStrings[87], v92, v131, v91); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYc, 0, pTmpBuf, 0, 0, 0); a2d = format_4E2E10; @@ -17320,7 +17322,7 @@ if ( v132 > 99 || v93 > 99 ) a2d = format_4E2E68; v94 = v93; - v95 = sub_4178FE(v132, v93); + v95 = UI_GetHealthManaStringColor(v132, v93); sprintfex(pTmpBuf, a2d, pGlobalTXT_LocalizationStrings[6], v95, v132, v94); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYd, 0, pTmpBuf, 0, 0, 0); a2e = format_4E2E10; @@ -17330,7 +17332,7 @@ if ( v133 > 99 || v96 > 99 ) a2e = format_4E2E68; v97 = v96; - v98 = sub_4178FE(v133, v96); + v98 = UI_GetHealthManaStringColor(v133, v96); sprintfex(pTmpBuf, a2e, pGlobalTXT_LocalizationStrings[240], v98, v133, v97); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYe, 0, pTmpBuf, 0, 0, 0); a2f = format_4E2E10; @@ -17340,7 +17342,7 @@ if ( v134 > 99 ) a2f = format_4E2E68; v100 = v99; - v101 = sub_4178FE(v134, v99); + v101 = UI_GetHealthManaStringColor(v134, v99); sprintfex(pTmpBuf, a2f, pGlobalTXT_LocalizationStrings[70], v101, v134, v100); pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYf, 0, pTmpBuf, 0, 0, 0); a2g = format_4E2E10; @@ -17351,12 +17353,12 @@ if ( v135 > 99 || v102 > 99 ) a2g = format_4E2E68; v103 = v102; - v104 = sub_4178FE(v135, v102); + v104 = UI_GetHealthManaStringColor(v135, v102); sprintfex(pTmpBuf, a2g, pGlobalTXT_LocalizationStrings[142], v104, v135, v103); if ( pPlayer->uClass == 35 && v137 == 200 ) { v105 = pGlobalTXT_LocalizationStrings[625]; - v106 = sub_4178FE(v135, 200); + v106 = UI_GetHealthManaStringColor(v135, 200); sprintfex(pTmpBuf, format_4E2E00, pGlobalTXT_LocalizationStrings[142], v106, v105); } pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYg, 0, pTmpBuf, 0, 0, 0); @@ -17368,12 +17370,12 @@ if ( v136 > 99 || v107 > 99 ) a2h = format_4E2E68; v108 = v107; - v109 = sub_4178FE(v136, v107); + v109 = UI_GetHealthManaStringColor(v136, v107); sprintfex(pTmpBuf, a2h, pGlobalTXT_LocalizationStrings[29], v109, v136, v108); if ( pPlayer->uClass == 35 && v138 == 200 ) { v110 = pGlobalTXT_LocalizationStrings[625]; - v111 = sub_4178FE(v136, 200); + v111 = UI_GetHealthManaStringColor(v136, 200); sprintfex(pTmpBuf, format_4E2E00, pGlobalTXT_LocalizationStrings[29], v111, v110); } return pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYh, 0, pTmpBuf, 0, 0, 0);
--- a/mm7_6.cpp Sun Oct 28 18:51:52 2012 +0200 +++ b/mm7_6.cpp Mon Oct 29 00:41:51 2012 +0200 @@ -8922,7 +8922,6 @@ switch ( inputAction ) { case INPUT_MoveForward: - __debugbreak(); if ( pCurrentScreen ) break; if (!pParty->bTurnBasedModeOn)
--- a/mm7_data.cpp Sun Oct 28 18:51:52 2012 +0200 +++ b/mm7_data.cpp Mon Oct 29 00:41:51 2012 +0200 @@ -2492,7 +2492,6 @@ struct Texture *pTexture_PlayerFaceMask; struct Texture *pTexture_PlayerFaceEradicated; struct Texture *pTexture_PlayerFaceDead; -int A74CEC_player_faces_minus1_indexing[777]; // weak struct Texture *pTextures_PlayerFaces[4][56]; int dword_A75070; // weak struct Player *pPlayers[5];
--- a/mm7_data.h Sun Oct 28 18:51:52 2012 +0200 +++ b/mm7_data.h Mon Oct 29 00:41:51 2012 +0200 @@ -2445,7 +2445,6 @@ extern struct Texture *pTexture_PlayerFaceMask; extern struct Texture *pTexture_PlayerFaceEradicated; extern struct Texture *pTexture_PlayerFaceDead; -extern int A74CEC_player_faces_minus1_indexing[]; // weak extern struct Texture *pTextures_PlayerFaces[4][56]; extern int dword_A75070; // weak extern struct Player *pPlayers[5]; @@ -2641,7 +2640,7 @@ void __thiscall sub_417871(int *pXY); void __cdecl sub_4178C4(); void __cdecl sub_4178E1(); -unsigned int __fastcall sub_4178FE(signed int a1, signed int a2); +unsigned int __fastcall UI_GetHealthManaStringColor(signed int a1, signed int a2); signed int __thiscall GetConditionDrawColor(unsigned int uConditionIdx); // idb char __fastcall sub_4179BC_draw_tooltip(const char *a1, const char *a2); // idb unsigned int __fastcall sub_417AD4(unsigned int uPlayerClass, enum PLAYER_SKILL_TYPE uPlayerSkillType, signed int a3);