comparison mm7_5.cpp @ 41:fc3016f5a07a

more skills screen fix
author zipi
date Sun, 20 Jan 2013 20:52:13 +0000
parents c3a02d80c84c
children 2bcc7b24c831
comparison
equal deleted inserted replaced
40:cae8922b867a 41:fc3016f5a07a
17803 unsigned int v9; // esi@25 17803 unsigned int v9; // esi@25
17804 int v10; // eax@27 17804 int v10; // eax@27
17805 int a2; // [sp+10h] [bp-14h]@1 17805 int a2; // [sp+10h] [bp-14h]@1
17806 int v12; // [sp+14h] [bp-10h]@8 17806 int v12; // [sp+14h] [bp-10h]@8
17807 int v13; // [sp+14h] [bp-10h]@19 17807 int v13; // [sp+14h] [bp-10h]@19
17808 unsigned int *v14; // [sp+18h] [bp-Ch]@8 17808 int *v14; // [sp+18h] [bp-Ch]@8
17809 unsigned int *v15; // [sp+18h] [bp-Ch]@14 17809 int *v15; // [sp+18h] [bp-Ch]@14
17810 unsigned int *v16; // [sp+18h] [bp-Ch]@19 17810 int *v16; // [sp+18h] [bp-Ch]@19
17811 unsigned int *v17; // [sp+18h] [bp-Ch]@25 17811 int *v17; // [sp+18h] [bp-Ch]@25
17812 unsigned short *v18; // [sp+1Ch] [bp-8h]@8 17812 Player *v18; // [sp+1Ch] [bp-8h]@8
17813 int a5; // [sp+20h] [bp-4h]@8 17813 int a5; // [sp+20h] [bp-4h]@8
17814 17814
17815 a2 = 0; 17815 a2 = 0;
17816 if ( dword_507CC0 ) 17816 if ( dword_507CC0 )
17817 sub_4196A0(); 17817 sub_4196A0();
17832 v0 = uActiveCharacter; 17832 v0 = uActiveCharacter;
17833 } 17833 }
17834 } 17834 }
17835 v12 = 0; 17835 v12 = 0;
17836 a5 = pGUIWindow_CurrentMenu->uNumControls; 17836 a5 = pGUIWindow_CurrentMenu->uNumControls;
17837 v18 = &pParty->pPlayers[0].pActiveSkills[0]; //&stru_AA1058[3].pSounds[6972 * v0 + 40552]; 17837 v18 = &pParty->pPlayers[v0-1]; //&stru_AA1058[3].pSounds[6972 * v0 + 40552];
17838 v2 = pFontLucida; 17838 v2 = pFontLucida;
17839 v14 = (unsigned int *)dword_4E2A2C; 17839 v14 = dword_4E2A2C;
17840 v3 = 2 * LOBYTE(pFontLucida->uFontHeight) + 13; 17840 v3 = 2 * LOBYTE(pFontLucida->uFontHeight) + 13;
17841 do 17841 do
17842 { 17842 {
17843 if ( v18[*v14 + 132] & 0x3F )//crash 17843 if ( v18->pActiveSkills[*v14] & 0x3F )//crash
17844 { 17844 {
17845 v4 = LOBYTE(v2->uFontHeight); 17845 v4 = LOBYTE(v2->uFontHeight);
17846 v3 = v3 + v4 - 3; 17846 v3 = v3 + v4 - 3;
17847 ++a2; 17847 ++a2;
17848 ++v12; 17848 ++v12;
17849 pGUIWindow_CurrentMenu->CreateButton(0x18u, v3, 0xCCu, v4 - 3, 3, *v14 | 0x8000, 0x79u, *v14, 0, "", 0, 0); 17849 pGUIWindow_CurrentMenu->CreateButton(0x18u, v3, 0xCCu, v4 - 3, 3, *v14 | 0x8000, 0x79u, *v14, 0, "", 0, 0);
17850 v2 = pFontLucida; 17850 v2 = pFontLucida;
17851 } 17851 }
17852 ++v14; 17852 ++v14;
17853 } 17853 }
17854 while ( (signed int)v14 < (signed int)dword_4E2A50 ); 17854 while ( v14 <= &dword_4E2A2C[8] );
17855 if ( !v12 ) 17855 if ( !v12 )
17856 v3 = v3 + LOBYTE(v2->uFontHeight) - 3; 17856 v3 = v3 + LOBYTE(v2->uFontHeight) - 3;
17857 v15 = (unsigned int *)_4E2A80_skills; 17857 v15 = _4E2A80_skills;
17858 v5 = v3 + 2 * LOBYTE(v2->uFontHeight) - 6; 17858 v5 = v3 + 2 * LOBYTE(v2->uFontHeight) - 6;
17859 do 17859 do
17860 { 17860 {
17861 if ( v18[ *v15 + 132] & 0x3F && a2 < 15 ) 17861 if ( v18->pActiveSkills[*v15] & 0x3F && a2 < 15 )
17862 { 17862 {
17863 v6 = LOBYTE(v2->uFontHeight); 17863 v6 = LOBYTE(v2->uFontHeight);
17864 v5 = v5 + v6 - 3; 17864 v5 = v5 + v6 - 3;
17865 ++a2; 17865 ++a2;
17866 pGUIWindow_CurrentMenu->CreateButton(0x18u, v5, 0xCCu, v6 - 3, 3, *v15 | 0x8000, 0x79u, *v15, 0, "", 0, 0); 17866 pGUIWindow_CurrentMenu->CreateButton(0x18u, v5, 0xCCu, v6 - 3, 3, *v15 | 0x8000, 0x79u, *v15, 0, "", 0, 0);
17867 v2 = pFontLucida; 17867 v2 = pFontLucida;
17868 } 17868 }
17869 ++v15; 17869 ++v15;
17870 } 17870 }
17871 while ( (signed int)v15 <= (signed int)_4E2A80_skills[8] ); 17871 while ( v15 <= &_4E2A80_skills[8] );
17872 v13 = 0; 17872 v13 = 0;
17873 v16 = (unsigned int *)dword_4E2A18; 17873 v16 = pArmorSkills;
17874 v7 = 2 * LOBYTE(v2->uFontHeight) + 13; 17874 v7 = 2 * LOBYTE(v2->uFontHeight) + 13;
17875 do 17875 do
17876 { 17876 {
17877 if ( v18[ *v16 + 132] & 0x3F ) 17877 if ( v18->pActiveSkills[*v16] & 0x3F )
17878 { 17878 {
17879 v8 = LOBYTE(v2->uFontHeight); 17879 v8 = LOBYTE(v2->uFontHeight);
17880 v7 = v7 + v8 - 3; 17880 v7 = v7 + v8 - 3;
17881 ++a2; 17881 ++a2;
17882 ++v13; 17882 ++v13;
17883 pGUIWindow_CurrentMenu->CreateButton(0xF6u, v7, 0xCCu, v8 - 3, 3, *v16 | 0x8000, 0x79u, *v16, 0, "", 0, 0); 17883 pGUIWindow_CurrentMenu->CreateButton(0xF6u, v7, 0xCCu, v8 - 3, 3, *v16 | 0x8000, 0x79u, *v16, 0, "", 0, 0);
17884 v2 = pFontLucida; 17884 v2 = pFontLucida;
17885 } 17885 }
17886 ++v16; 17886 ++v16;
17887 } 17887 }
17888 while ( (signed int)v16 < (signed int)dword_4E2A2C ); 17888 while ( v16 <= &pArmorSkills[4] );
17889 if ( !v13 ) 17889 if ( !v13 )
17890 v7 = v7 + LOBYTE(v2->uFontHeight) - 3; 17890 v7 = v7 + LOBYTE(v2->uFontHeight) - 3;
17891 v17 = (unsigned int *)dword_4E2A50; 17891 v17 = dword_4E2A50;
17892 v9 = v7 + 2 * LOBYTE(v2->uFontHeight) - 6; 17892 v9 = v7 + 2 * LOBYTE(v2->uFontHeight) - 6;
17893 do 17893 do
17894 { 17894 {
17895 if ( v18[ *v17 + 132] & 0x3F ) 17895 if ( v18->pActiveSkills[*v17] & 0x3F )
17896 { 17896 {
17897 v10 = LOBYTE(v2->uFontHeight); 17897 v10 = LOBYTE(v2->uFontHeight);
17898 v9 = v9 + v10 - 3; 17898 v9 = v9 + v10 - 3;
17899 ++a2; 17899 ++a2;
17900 pGUIWindow_CurrentMenu->CreateButton(0xF6u, v9, 0xCCu, v10 - 3, 3, *v17 | 0x8000, 0x79u, *v17, 0, "", 0, 0); 17900 pGUIWindow_CurrentMenu->CreateButton(0xF6u, v9, 0xCCu, v10 - 3, 3, *v17 | 0x8000, 0x79u, *v17, 0, "", 0, 0);
17901 v2 = pFontLucida; 17901 v2 = pFontLucida;
17902 } 17902 }
17903 ++v17; 17903 ++v17;
17904 } 17904 }
17905 while ( (signed int)v17 < (signed int)_4E2A80_skills ); 17905 while ( v17 <= &dword_4E2A50[11] );
17906 if ( a2 ) 17906 if ( a2 )
17907 pGUIWindow_CurrentMenu->_41D08F(a2, 1, 0, a5); 17907 pGUIWindow_CurrentMenu->_41D08F(a2, 1, 0, a5);
17908 } 17908 }