# HG changeset patch # User Ritor1 # Date 1361761693 -21600 # Node ID e65d7520626397673506d9f188dd8eabd80fcaf3 # Parent 6e984a4a896f9c381773497454aa21af8155717f m diff -r 6e984a4a896f -r e65d75206263 mm7_2.cpp --- a/mm7_2.cpp Fri Feb 22 14:47:17 2013 +0600 +++ b/mm7_2.cpp Mon Feb 25 09:08:13 2013 +0600 @@ -1486,51 +1486,52 @@ v3 = 0; if ( dword_F8B19C == 2 ) { - v48 = 0; + //v48 = 0; v108 = 0; - v109 = 0; - do - { - if ( pParty->field_777C[9 * (int)&v48[3 * (unsigned int)window_SpeakInHouse->ptr_1C]] ) - { - v49 = word_F8B158[(signed int)v48]; - v50 = dword_F8B168[(signed int)v48]; + int a = 0; + //do + for (int i = 0; i < 6; i++) + { + if ( pParty->field_777C[9 * (i + 12 * (unsigned int)window_SpeakInHouse->ptr_1C)] ) + { + v49 = word_F8B158[i]; + v50 = dword_F8B168[i]; v49 += 30; v51 = 60 - ((signed int)v50->uTextureWidth >> 1); pRenderer->DrawTextureTransparent(v51 + v108, v49, v50); sub_40F92A( &pRenderer->pActiveZBuffer[v51 + v108 + 640 * v49], - dword_F8B168[(signed int)v109], - (int)((char *)v109 + 1)); - v48 = v109; + dword_F8B168[a], + a++); + i = a; } v108 += 70; - v48 = (const char **)((char *)v48 + 1); - v109 = v48; - } - while ( (signed int)v48 < 6 ); + i++; + a = i; + } + //while ( (signed int)v48 < 6 ); } else { - v109 = 0; + //v109 = 0; v108 = 0; - do - { - if ( pParty->field_C59C[9 * (int)&v109[3 * (unsigned int)window_SpeakInHouse->ptr_1C] + 724] ) - { - v52 = word_F8B158[(signed int)v109] + 30; - v53 = dword_F8B168[(signed int)v109]; + //do + for (int i = 0; i < 6; i++) + { + if ( pParty->field_C59C[9 * (i + 12 * (unsigned int)window_SpeakInHouse->ptr_1C) + 724] ) + { + v52 = word_F8B158[i] + 30; + v53 = dword_F8B168[i]; v54 = 60 - ((signed int)v53->uTextureWidth >> 1); - pRenderer->DrawTextureTransparent(v54 + v108, word_F8B158[(signed int)v109] + 30, v53); - sub_40F92A( - &pRenderer->pActiveZBuffer[v54 + v108 + 640 * v52], - dword_F8B168[(signed int)v109], - (int)((char *)v109 + 1)); - } - v109 = (const char **)((char *)v109 + 1); + pRenderer->DrawTextureTransparent(v54 + v108, word_F8B158[i] + 30, v53); + sub_40F92A(&pRenderer->pActiveZBuffer[v54 + v108 + 640 * v52], + dword_F8B168[i], + i++); + } + i++; v108 += 70; } - while ( (signed int)v109 < 6 ); + //while ( (signed int)v109 < 6 ); } result = (char *)sub_4B1784_check_if_player_concious__draw_warning_else_mess_with_dlg_win(); if ( result ) @@ -3701,7 +3702,7 @@ } //----- (004BCACC) -------------------------------------------------------- -void __fastcall sub_4BCACC_bounties(signed int a1) +void __fastcall sub_4BCACC_bounties(signed int a1)//Shop_MsgUI { unsigned int v1; // edi@1 //signed int v2; // ebx@1 @@ -13806,6 +13807,7 @@ aborting_app = 1; if ( !pRenderer->bWindowMode ) pRenderer->ChangeBetweenWinFullscreenModes(); + __debugbreak; if ( MessageBoxA(0, pGlobalTXT_LocalizationStrings[176], pGlobalTXT_LocalizationStrings[59], 0x34u) == 6 ) SaveGame(1, 0); // "Internal Error" // "Might and Magic VII has detected an internal error and will be forced to close. Would you like us to autosave your game before closing?" diff -r 6e984a4a896f -r e65d75206263 mm7_data.cpp --- a/mm7_data.cpp Fri Feb 22 14:47:17 2013 +0600 +++ b/mm7_data.cpp Mon Feb 25 09:08:13 2013 +0600 @@ -1593,7 +1593,7 @@ __int16 word_4F0576[777]; // weak __int16 word_4F0578[777]; // weak __int16 word_4F05AE[777]; // weak -char _4F063C_smthn_by_2da_uType[777]; // weak +char _4F063C_smthn_by_2da_uType[3] = {0, 6, 8}; // weak __int16 word_4F063E[290]; __int16 word_4F06D8[22]; __int16 word_4F0704[40]; diff -r 6e984a4a896f -r e65d75206263 mm7_data.h --- a/mm7_data.h Fri Feb 22 14:47:17 2013 +0600 +++ b/mm7_data.h Mon Feb 25 09:08:13 2013 +0600 @@ -1006,7 +1006,7 @@ extern __int16 word_4F0576[]; // weak extern __int16 word_4F0578[]; // weak extern __int16 word_4F05AE[]; // weak -extern char _4F063C_smthn_by_2da_uType[]; // weak +extern char _4F063C_smthn_by_2da_uType[3]; // weak extern __int16 word_4F063E[290]; extern __int16 word_4F06D8[22]; extern __int16 word_4F0704[40];