# HG changeset patch # User Ritor1 # Date 1358710504 -21600 # Node ID a3e1017bfc214b98343df16eabd5b6bca04ba433 # Parent 86d05cff0a35ea5eeec4404f534a4fc47d6fedec# Parent c3a02d80c84c11eee1d65b94dfe5e2ea489f7330 Слияние diff -r 86d05cff0a35 -r a3e1017bfc21 mm7_1.cpp --- a/mm7_1.cpp Mon Jan 21 01:34:57 2013 +0600 +++ b/mm7_1.cpp Mon Jan 21 01:35:04 2013 +0600 @@ -1198,7 +1198,7 @@ if ( dword_507CC0 != uActiveCharacter ) { sub_4196A0(); - sub_419401(); + CharacterUI_SkillScreen_Draw(); } sub_419379(); CharacterUI_SkillsTab_Draw(v1); diff -r 86d05cff0a35 -r a3e1017bfc21 mm7_5.cpp --- a/mm7_5.cpp Mon Jan 21 01:34:57 2013 +0600 +++ b/mm7_5.cpp Mon Jan 21 01:35:04 2013 +0600 @@ -3314,7 +3314,7 @@ pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] = 101; sub_4196A0(); sub_419379(); - sub_419401(); + CharacterUI_SkillScreen_Draw(); pButton = pCharacterScreen_SkillsBtn; //goto LABEL_716; v163 = 0; @@ -17789,7 +17789,7 @@ //----- (00419401) -------------------------------------------------------- -void __cdecl sub_419401() +void __cdecl CharacterUI_SkillScreen_Draw() { unsigned int v0; // ecx@3 GUIButton *pButton; // eax@3 @@ -17809,7 +17809,7 @@ unsigned int *v15; // [sp+18h] [bp-Ch]@14 unsigned int *v16; // [sp+18h] [bp-Ch]@19 unsigned int *v17; // [sp+18h] [bp-Ch]@25 - char *v18; // [sp+1Ch] [bp-8h]@8 + unsigned short *v18; // [sp+1Ch] [bp-8h]@8 int a5; // [sp+20h] [bp-4h]@8 a2 = 0; @@ -17834,13 +17834,13 @@ } v12 = 0; a5 = pGUIWindow_CurrentMenu->uNumControls; - v18 = &stru_AA1058[3].pSounds[6972 * v0 + 40552]; + v18 = &pParty->pPlayers[0].pActiveSkills[0]; //&stru_AA1058[3].pSounds[6972 * v0 + 40552]; v2 = pFontLucida; v14 = (unsigned int *)dword_4E2A2C; v3 = 2 * LOBYTE(pFontLucida->uFontHeight) + 13; do { - if ( v18[2 * *v14 + 264] & 0x3F )//crash + if ( v18[*v14 + 132] & 0x3F )//crash { v4 = LOBYTE(v2->uFontHeight); v3 = v3 + v4 - 3; @@ -17858,7 +17858,7 @@ v5 = v3 + 2 * LOBYTE(v2->uFontHeight) - 6; do { - if ( v18[2 * *v15 + 264] & 0x3F && a2 < 15 ) + if ( v18[ *v15 + 132] & 0x3F && a2 < 15 ) { v6 = LOBYTE(v2->uFontHeight); v5 = v5 + v6 - 3; @@ -17868,13 +17868,13 @@ } ++v15; } - while ( (signed int)v15 < (signed int)pAwardsTextColors ); + while ( (signed int)v15 <= (signed int)_4E2A80_skills[8] ); v13 = 0; v16 = (unsigned int *)dword_4E2A18; v7 = 2 * LOBYTE(v2->uFontHeight) + 13; do { - if ( v18[2 * *v16 + 264] & 0x3F ) + if ( v18[ *v16 + 132] & 0x3F ) { v8 = LOBYTE(v2->uFontHeight); v7 = v7 + v8 - 3; @@ -17892,7 +17892,7 @@ v9 = v7 + 2 * LOBYTE(v2->uFontHeight) - 6; do { - if ( v18[2 * *v17 + 264] & 0x3F ) + if ( v18[ *v17 + 132] & 0x3F ) { v10 = LOBYTE(v2->uFontHeight); v9 = v9 + v10 - 3; diff -r 86d05cff0a35 -r a3e1017bfc21 mm7_data.h --- a/mm7_data.h Mon Jan 21 01:34:57 2013 +0600 +++ b/mm7_data.h Mon Jan 21 01:35:04 2013 +0600 @@ -1860,7 +1860,7 @@ int __cdecl sub_419100(); void __cdecl sub_419220(); void __cdecl sub_419379(); -void __cdecl sub_419401(); +void __cdecl CharacterUI_SkillScreen_Draw(); void __cdecl sub_4196A0(); char __fastcall CharacterUI_SkillsTab_Draw(unsigned int uPlayerID); // idb unsigned int __fastcall CharacterUI_AwardsTab_Draw(unsigned int uPlayerID); // idb