comparison UI/UIMainMenu.cpp @ 1667:c586fa9e4cbb

MainMenuUI_Credits_Loop() cleaning(continue)
author Ritor1
date Wed, 18 Sep 2013 17:23:54 +0600
parents 5302a9811767
children 4bbb80c7dba7 53291e8f3848
comparison
equal deleted inserted replaced
1666:5302a9811767 1667:c586fa9e4cbb
65 } 65 }
66 66
67 //----- (0041B690) -------------------------------------------------------- 67 //----- (0041B690) --------------------------------------------------------
68 void MainMenuUI_Create() 68 void MainMenuUI_Create()
69 { 69 {
70 unsigned int v14; // eax@1 70 pIconsFrameTable->InitializeAnimation(pIconsFrameTable->FindIcon("wizeyeC"));
71 unsigned int uTextureID_ib_td4_A; // eax@1 71 pIconsFrameTable->InitializeAnimation(pIconsFrameTable->FindIcon("wizeyeB"));
72 72 pIconsFrameTable->InitializeAnimation(pIconsFrameTable->FindIcon("wizeyeA"));
73 pIconsFrameTable->InitializeAnimation(pIconsFrameTable->FindIcon("wizeyeC")); 73 pIconsFrameTable->InitializeAnimation(pIconsFrameTable->FindIcon("torchC"));
74 pIconsFrameTable->InitializeAnimation(pIconsFrameTable->FindIcon("wizeyeB")); 74 pIconsFrameTable->InitializeAnimation(pIconsFrameTable->FindIcon("torchB"));
75 pIconsFrameTable->InitializeAnimation(pIconsFrameTable->FindIcon("wizeyeA")); 75 pIconsFrameTable->InitializeAnimation(pIconsFrameTable->FindIcon("torchA"));
76 pIconsFrameTable->InitializeAnimation(pIconsFrameTable->FindIcon("torchC")); 76
77 pIconsFrameTable->InitializeAnimation(pIconsFrameTable->FindIcon("torchB")); 77 pTextureIDs_pMapDirs[0] = pIcons_LOD->LoadTexture("MAPDIR1", TEXTURE_16BIT_PALETTE);
78 pIconsFrameTable->InitializeAnimation(pIconsFrameTable->FindIcon("torchA")); 78 pTextureIDs_pMapDirs[1] = pIcons_LOD->LoadTexture("MAPDIR2", TEXTURE_16BIT_PALETTE);
79 79 pTextureIDs_pMapDirs[2] = pIcons_LOD->LoadTexture("MAPDIR3", TEXTURE_16BIT_PALETTE);
80 pTextureIDs_pMapDirs[0] = pIcons_LOD->LoadTexture("MAPDIR1", TEXTURE_16BIT_PALETTE); 80 pTextureIDs_pMapDirs[3] = pIcons_LOD->LoadTexture("MAPDIR4", TEXTURE_16BIT_PALETTE);
81 pTextureIDs_pMapDirs[1] = pIcons_LOD->LoadTexture("MAPDIR2", TEXTURE_16BIT_PALETTE); 81 pTextureIDs_pMapDirs[4] = pIcons_LOD->LoadTexture("MAPDIR5", TEXTURE_16BIT_PALETTE);
82 pTextureIDs_pMapDirs[2] = pIcons_LOD->LoadTexture("MAPDIR3", TEXTURE_16BIT_PALETTE); 82 pTextureIDs_pMapDirs[5] = pIcons_LOD->LoadTexture("MAPDIR6", TEXTURE_16BIT_PALETTE);
83 pTextureIDs_pMapDirs[3] = pIcons_LOD->LoadTexture("MAPDIR4", TEXTURE_16BIT_PALETTE); 83 pTextureIDs_pMapDirs[6] = pIcons_LOD->LoadTexture("MAPDIR7", TEXTURE_16BIT_PALETTE);
84 pTextureIDs_pMapDirs[4] = pIcons_LOD->LoadTexture("MAPDIR5", TEXTURE_16BIT_PALETTE); 84 pTextureIDs_pMapDirs[7] = pIcons_LOD->LoadTexture("MAPDIR8", TEXTURE_16BIT_PALETTE);
85 pTextureIDs_pMapDirs[5] = pIcons_LOD->LoadTexture("MAPDIR6", TEXTURE_16BIT_PALETTE); 85
86 pTextureIDs_pMapDirs[6] = pIcons_LOD->LoadTexture("MAPDIR7", TEXTURE_16BIT_PALETTE); 86 uTextureID_BarBlue = pIcons_LOD->LoadTexture("ib-statB", TEXTURE_16BIT_PALETTE);
87 pTextureIDs_pMapDirs[7] = pIcons_LOD->LoadTexture("MAPDIR8", TEXTURE_16BIT_PALETTE); 87 uTextureID_BarGreen = pIcons_LOD->LoadTexture("ib-statG", TEXTURE_16BIT_PALETTE);
88 88 uTextureID_BarYellow = pIcons_LOD->LoadTexture("ib-statY", TEXTURE_16BIT_PALETTE);
89 uTextureID_BarBlue = pIcons_LOD->LoadTexture("ib-statB", TEXTURE_16BIT_PALETTE); 89 uTextureID_BarRed = pIcons_LOD->LoadTexture("ib-statR", TEXTURE_16BIT_PALETTE);
90 uTextureID_BarGreen = pIcons_LOD->LoadTexture("ib-statG", TEXTURE_16BIT_PALETTE); 90 uTextureID_mhp_bd = pIcons_LOD->LoadTexture("mhp_bg", TEXTURE_16BIT_PALETTE);
91 uTextureID_BarYellow = pIcons_LOD->LoadTexture("ib-statY", TEXTURE_16BIT_PALETTE); 91 uTextureID_mhp_capl = pIcons_LOD->LoadTexture("mhp_capl", TEXTURE_16BIT_PALETTE);
92 uTextureID_BarRed = pIcons_LOD->LoadTexture("ib-statR", TEXTURE_16BIT_PALETTE); 92 uTextureID_mhp_capr = pIcons_LOD->LoadTexture("mhp_capr", TEXTURE_16BIT_PALETTE);
93 uTextureID_mhp_bd = pIcons_LOD->LoadTexture("mhp_bg", TEXTURE_16BIT_PALETTE); 93 uTextureID_mhp_grn = pIcons_LOD->LoadTexture("mhp_grn", TEXTURE_16BIT_PALETTE);
94 uTextureID_mhp_capl = pIcons_LOD->LoadTexture("mhp_capl", TEXTURE_16BIT_PALETTE); 94 uTextureID_mhp_red = pIcons_LOD->LoadTexture("mhp_red", TEXTURE_16BIT_PALETTE);
95 uTextureID_mhp_capr = pIcons_LOD->LoadTexture("mhp_capr", TEXTURE_16BIT_PALETTE); 95 uTextureID_mhp_yel = pIcons_LOD->LoadTexture("mhp_yel", TEXTURE_16BIT_PALETTE);
96 uTextureID_mhp_grn = pIcons_LOD->LoadTexture("mhp_grn", TEXTURE_16BIT_PALETTE); 96 uTextureID_Leather = pIcons_LOD->LoadTexture("LEATHER", TEXTURE_16BIT_PALETTE);
97 uTextureID_mhp_red = pIcons_LOD->LoadTexture("mhp_red", TEXTURE_16BIT_PALETTE); 97 pTexture_Leather = pIcons_LOD->LoadTexturePtr("ibground", TEXTURE_16BIT_PALETTE);
98 uTextureID_mhp_yel = pIcons_LOD->LoadTexture("mhp_yel", TEXTURE_16BIT_PALETTE); 98 uTextureID_x_x_u = pIcons_LOD->LoadTexture("x_x_u", TEXTURE_16BIT_PALETTE);
99 uTextureID_Leather = pIcons_LOD->LoadTexture("LEATHER", TEXTURE_16BIT_PALETTE); 99 uTextureID_BUTTDESC2 = pIcons_LOD->LoadTexture("BUTTESC2", TEXTURE_16BIT_PALETTE);
100 pTexture_Leather = pIcons_LOD->LoadTexturePtr("ibground", TEXTURE_16BIT_PALETTE); 100 uTextureID_x_ok_u = pIcons_LOD->LoadTexture("x_ok_u", TEXTURE_16BIT_PALETTE);
101 uTextureID_x_x_u = pIcons_LOD->LoadTexture("x_x_u", TEXTURE_16BIT_PALETTE); 101 uTextureID_BUTTYES2 = pIcons_LOD->LoadTexture("BUTTYES2", TEXTURE_16BIT_PALETTE);
102 uTextureID_BUTTDESC2 = pIcons_LOD->LoadTexture("BUTTESC2", TEXTURE_16BIT_PALETTE); 102 uTextureID_BUTTMAKE = pIcons_LOD->LoadTexture("BUTTMAKE", TEXTURE_16BIT_PALETTE);
103 uTextureID_x_ok_u = pIcons_LOD->LoadTexture("x_ok_u", TEXTURE_16BIT_PALETTE); 103 uTextureID_BUTTMAKE2 = pIcons_LOD->LoadTexture("BUTTMAKE2", TEXTURE_16BIT_PALETTE);
104 uTextureID_BUTTYES2 = pIcons_LOD->LoadTexture("BUTTYES2", TEXTURE_16BIT_PALETTE); 104
105 uTextureID_BUTTMAKE = pIcons_LOD->LoadTexture("BUTTMAKE", TEXTURE_16BIT_PALETTE); 105 pPrimaryWindow = GUIWindow::Create(0, 0, 640, 480, WINDOW_MainMenu, 0, 0);
106 uTextureID_BUTTMAKE2 = pIcons_LOD->LoadTexture("BUTTMAKE2", TEXTURE_16BIT_PALETTE); 106 pPrimaryWindow->CreateButton(7, 8, 460, 343, 1, 0, UIMSG_MouseLeftClickInGame, 0, 0, "", 0);
107 107
108 pPrimaryWindow = GUIWindow::Create(0, 0, 640, 480, WINDOW_MainMenu, 0, 0); 108 pPrimaryWindow->CreateButton(61, 424, 31, 40, 2, 94, UIMSG_SelectCharacter, 1, '1', "", 0);
109 pPrimaryWindow->CreateButton(7, 8, 460, 343, 1, 0, UIMSG_MouseLeftClickInGame, 0, 0, "", 0); 109 pPrimaryWindow->CreateButton(177, 424, 31, 40, 2, 94, UIMSG_SelectCharacter, 2, '2', "", 0);
110 110 pPrimaryWindow->CreateButton(292, 424, 31, 40, 2, 94, UIMSG_SelectCharacter, 3, '3', "", 0);
111 pPrimaryWindow->CreateButton(61, 424, 31, 40, 2, 94, UIMSG_SelectCharacter, 1, '1', "", 0); 111 pPrimaryWindow->CreateButton(407, 424, 31, 40, 2, 94, UIMSG_SelectCharacter, 4, '4', "", 0);
112 pPrimaryWindow->CreateButton(177, 424, 31, 40, 2, 94, UIMSG_SelectCharacter, 2, '2', "", 0); 112
113 pPrimaryWindow->CreateButton(292, 424, 31, 40, 2, 94, UIMSG_SelectCharacter, 3, '3', "", 0); 113 pPrimaryWindow->CreateButton(24, 404, 5, 49, 1, 93, UIMSG_0, 1, 0, "", 0);
114 pPrimaryWindow->CreateButton(407, 424, 31, 40, 2, 94, UIMSG_SelectCharacter, 4, '4', "", 0); 114 pPrimaryWindow->CreateButton(139, 404, 5, 49, 1, 93, UIMSG_0, 2, 0, "", 0);
115 115 pPrimaryWindow->CreateButton(255, 404, 5, 49, 1, 93, UIMSG_0, 3, 0, "", 0);
116 pPrimaryWindow->CreateButton(24, 404, 5, 49, 1, 93, UIMSG_0, 1, 0, "", 0); 116 pPrimaryWindow->CreateButton(370, 404, 5, 49, 1, 93, UIMSG_0, 4, 0, "", 0);
117 pPrimaryWindow->CreateButton(139, 404, 5, 49, 1, 93, UIMSG_0, 2, 0, "", 0); 117
118 pPrimaryWindow->CreateButton(255, 404, 5, 49, 1, 93, UIMSG_0, 3, 0, "", 0); 118 pPrimaryWindow->CreateButton(97, 404, 5, 49, 1, 93, UIMSG_0, 1, 0, "", 0);
119 pPrimaryWindow->CreateButton(370, 404, 5, 49, 1, 93, UIMSG_0, 4, 0, "", 0); 119 pPrimaryWindow->CreateButton(212, 404, 5, 49, 1, 93, UIMSG_0, 2, 0, "", 0);
120 120 pPrimaryWindow->CreateButton(328, 404, 5, 49, 1, 93, UIMSG_0, 3, 0, "", 0);
121 pPrimaryWindow->CreateButton(97, 404, 5, 49, 1, 93, UIMSG_0, 1, 0, "", 0); 121 pPrimaryWindow->CreateButton(443, 404, 5, 49, 1, 93, UIMSG_0, 4, 0, "", 0);
122 pPrimaryWindow->CreateButton(212, 404, 5, 49, 1, 93, UIMSG_0, 2, 0, "", 0); 122
123 pPrimaryWindow->CreateButton(328, 404, 5, 49, 1, 93, UIMSG_0, 3, 0, "", 0); 123 uTextureID_ib_td1_A = pIcons_LOD->LoadTexture("ib-td1-A", TEXTURE_16BIT_PALETTE);
124 pPrimaryWindow->CreateButton(443, 404, 5, 49, 1, 93, UIMSG_0, 4, 0, "", 0); 124 pBtn_Quests = pPrimaryWindow->CreateButton(491, 353, pIcons_LOD->GetTexture(uTextureID_ib_td1_A)->uTextureWidth,
125 125 pIcons_LOD->GetTexture(uTextureID_ib_td1_A)->uTextureHeight, 1, 0, UIMSG_OpenQuestBook, 0, pKeyActionMap->GetActionVKey(INPUT_Quest),
126 uTextureID_ib_td1_A = pIcons_LOD->LoadTexture("ib-td1-A", TEXTURE_16BIT_PALETTE); 126 pGlobalTXT_LocalizationStrings[174], pIcons_LOD->GetTexture(uTextureID_ib_td1_A), 0); //Quests
127 pBtn_Quests = pPrimaryWindow->CreateButton(491, 353, pIcons_LOD->GetTexture(uTextureID_ib_td1_A)->uTextureWidth, 127
128 pIcons_LOD->GetTexture(uTextureID_ib_td1_A)->uTextureHeight, 1, 0, UIMSG_OpenQuestBook, 0, pKeyActionMap->GetActionVKey(INPUT_Quest), 128 uTextureID_ib_td2_A = pIcons_LOD->LoadTexture("ib-td2-A", TEXTURE_16BIT_PALETTE);
129 pGlobalTXT_LocalizationStrings[174], pIcons_LOD->GetTexture(uTextureID_ib_td1_A), 0); //Quests 129 pBtn_Autonotes = pPrimaryWindow->CreateButton(527, 353, pIcons_LOD->GetTexture(uTextureID_ib_td2_A)->uTextureWidth,
130 130 pIcons_LOD->GetTexture(uTextureID_ib_td2_A)->uTextureHeight, 1, 0, UIMSG_OpenAutonotes, 0, pKeyActionMap->GetActionVKey(INPUT_Autonotes),
131 uTextureID_ib_td2_A = pIcons_LOD->LoadTexture("ib-td2-A", TEXTURE_16BIT_PALETTE); 131 pGlobalTXT_LocalizationStrings[154], pIcons_LOD->GetTexture(uTextureID_ib_td2_A), 0);//Autonotes
132 pBtn_Autonotes = pPrimaryWindow->CreateButton(527, 353, pIcons_LOD->GetTexture(uTextureID_ib_td2_A)->uTextureWidth, 132
133 pIcons_LOD->GetTexture(uTextureID_ib_td2_A)->uTextureHeight, 1, 0, UIMSG_OpenAutonotes, 0, pKeyActionMap->GetActionVKey(INPUT_Autonotes), 133 uTextureID_ib_td3_A = pIcons_LOD->LoadTexture("ib-td3-A", TEXTURE_16BIT_PALETTE);
134 pGlobalTXT_LocalizationStrings[154], pIcons_LOD->GetTexture(uTextureID_ib_td2_A), 0);//Autonotes 134 pBtn_Maps = pPrimaryWindow->CreateButton(546, 353, pIcons_LOD->GetTexture(uTextureID_ib_td3_A)->uTextureWidth,
135 135 pIcons_LOD->GetTexture(uTextureID_ib_td3_A)->uTextureHeight, 1, 0, UIMSG_OpenMapBook, 0, pKeyActionMap->GetActionVKey(INPUT_Mapbook),
136 v14 = pIcons_LOD->LoadTexture("ib-td3-A", TEXTURE_16BIT_PALETTE); 136 pGlobalTXT_LocalizationStrings[139], pIcons_LOD->GetTexture(uTextureID_ib_td3_A), 0); //Maps
137 pBtn_Maps = pPrimaryWindow->CreateButton(546, 353, pIcons_LOD->GetTexture(v14)->uTextureWidth, 137
138 pIcons_LOD->GetTexture(v14)->uTextureHeight, 1, 0, UIMSG_OpenMapBook, 0, pKeyActionMap->GetActionVKey(INPUT_Mapbook), 138 uTextureID_ib_td4_A = pIcons_LOD->LoadTexture("ib-td4-A", TEXTURE_16BIT_PALETTE);
139 pGlobalTXT_LocalizationStrings[139], pIcons_LOD->GetTexture(v14), 0); //Maps 139 pBtn_Calendar = pPrimaryWindow->CreateButton(570, 353, pIcons_LOD->GetTexture(uTextureID_ib_td4_A)->uTextureWidth,
140 140 pIcons_LOD->GetTexture(uTextureID_ib_td4_A)->uTextureHeight, 1, 0, UIMSG_OpenCalendar, 0, pKeyActionMap->GetActionVKey(INPUT_TimeCal),
141 uTextureID_ib_td4_A = pIcons_LOD->LoadTexture("ib-td4-A", TEXTURE_16BIT_PALETTE); 141 pGlobalTXT_LocalizationStrings[78], pIcons_LOD->GetTexture(uTextureID_ib_td4_A), 0);//Calendar
142 pBtn_Calendar = pPrimaryWindow->CreateButton(570, 353, pIcons_LOD->GetTexture(uTextureID_ib_td4_A)->uTextureWidth, 142
143 pIcons_LOD->GetTexture(uTextureID_ib_td4_A)->uTextureHeight, 1, 0, UIMSG_OpenCalendar, 0, pKeyActionMap->GetActionVKey(INPUT_TimeCal), 143 uTextureID_ib_td5_A = pIcons_LOD->LoadTexture("ib-td5-A", TEXTURE_16BIT_PALETTE);
144 pGlobalTXT_LocalizationStrings[78], pIcons_LOD->GetTexture(uTextureID_ib_td4_A), 0);//Calendar 144 pBtn_History = pPrimaryWindow->CreateButton(600, 361, pIcons_LOD->GetTexture(uTextureID_ib_td5_A)->uTextureWidth,
145 145 pIcons_LOD->GetTexture(uTextureID_ib_td5_A)->uTextureHeight, 1, 0, UIMSG_OpenHistoryBook, 0, 72,//ascii
146 uTextureID_ib_td5_A = pIcons_LOD->LoadTexture("ib-td5-A", TEXTURE_16BIT_PALETTE); 146 pGlobalTXT_LocalizationStrings[602], pIcons_LOD->GetTexture(uTextureID_ib_td5_A), 0);//History
147 pBtn_History = pPrimaryWindow->CreateButton(600, 361, pIcons_LOD->GetTexture(uTextureID_ib_td5_A)->uTextureWidth, 147
148 pIcons_LOD->GetTexture(uTextureID_ib_td5_A)->uTextureHeight, 1, 0, UIMSG_OpenHistoryBook, 0, 72, 148 bFlashAutonotesBook = 0;
149 pGlobalTXT_LocalizationStrings[602], pIcons_LOD->GetTexture(uTextureID_ib_td5_A), 0);//History 149 bFlashQuestBook = 0;
150 150 bFlashHistoryBook = 0;
151 bFlashAutonotesBook = 0; 151
152 bFlashQuestBook = 0; 152 pBtn_ZoomIn = pPrimaryWindow->CreateButton(574, 136, pIcons_LOD->pTextures[uTextureID_Btn_ZoomIn].uTextureWidth,
153 bFlashHistoryBook = 0; 153 pIcons_LOD->pTextures[uTextureID_Btn_ZoomIn].uTextureHeight, 2, 0, UIMSG_ClickZoomInBtn, 0, pKeyActionMap->GetActionVKey(INPUT_ZoomIn),
154 154 pGlobalTXT_LocalizationStrings[252], &pIcons_LOD->pTextures[uTextureID_Btn_ZoomIn], 0); // Zoom In
155 pBtn_ZoomIn = pPrimaryWindow->CreateButton(574, 136, pIcons_LOD->pTextures[uTextureID_Btn_ZoomIn].uTextureWidth, 155
156 pIcons_LOD->pTextures[uTextureID_Btn_ZoomIn].uTextureHeight, 2, 0, UIMSG_ClickZoomInBtn, 0, pKeyActionMap->GetActionVKey(INPUT_ZoomIn), 156 pBtn_ZoomOut = pPrimaryWindow->CreateButton(519, 136, pIcons_LOD->pTextures[uTextureID_Btn_ZoomOut].uTextureWidth,
157 pGlobalTXT_LocalizationStrings[252], &pIcons_LOD->pTextures[uTextureID_Btn_ZoomIn], 0); // Zoom In 157 pIcons_LOD->pTextures[uTextureID_Btn_ZoomOut].uTextureHeight, 2, 0, UIMSG_ClickZoomOutBtn, 0, pKeyActionMap->GetActionVKey(INPUT_ZoomOut),
158 158 pGlobalTXT_LocalizationStrings[251], &pIcons_LOD->pTextures[uTextureID_Btn_ZoomOut], 0); // Zoom Out
159 pBtn_ZoomOut = pPrimaryWindow->CreateButton(519, 136, pIcons_LOD->pTextures[uTextureID_Btn_ZoomOut].uTextureWidth, 159
160 pIcons_LOD->pTextures[uTextureID_Btn_ZoomOut].uTextureHeight, 2, 0, UIMSG_ClickZoomOutBtn, 0, pKeyActionMap->GetActionVKey(INPUT_ZoomOut), 160 pPrimaryWindow->CreateButton(481, 0, 153, 67, 1, 92, UIMSG_0, 0, 0, "", 0);
161 pGlobalTXT_LocalizationStrings[251], &pIcons_LOD->pTextures[uTextureID_Btn_ZoomOut], 0); // Zoom Out 161 pPrimaryWindow->CreateButton(491, 149, 64, 74, 1, 0, UIMSG_StartHireling1Dialogue, 0, '5', "", 0);
162 162 pPrimaryWindow->CreateButton(561, 149, 64, 74, 1, 0, UIMSG_StartHireling2Dialogue, 0, '6', "", 0);
163 pPrimaryWindow->CreateButton(481, 0, 153, 67, 1, 92, UIMSG_0, 0, 0, "", 0); 163 pPrimaryWindow->CreateButton(476, 322, 77, 17, 1, 100, UIMSG_0, 0, 0, "", 0);
164 pPrimaryWindow->CreateButton(491, 149, 64, 74, 1, 0, UIMSG_StartHireling1Dialogue, 0, '5', "", 0); 164 pPrimaryWindow->CreateButton(555, 322, 77, 17, 1, 101, UIMSG_0, 0, 0, "", 0);
165 pPrimaryWindow->CreateButton(561, 149, 64, 74, 1, 0, UIMSG_StartHireling2Dialogue, 0, '6', "", 0); 165
166 pPrimaryWindow->CreateButton(476, 322, 77, 17, 1, 100, UIMSG_0, 0, 0, "", 0); 166 pBtn_CastSpell = pPrimaryWindow->CreateButton(476, 450,
167 pPrimaryWindow->CreateButton(555, 322, 77, 17, 1, 101, UIMSG_0, 0, 0, "", 0); 167 pIcons_LOD->GetTexture(uTextureID_Btn_CastSpell)->uTextureWidth,
168 168 pIcons_LOD->GetTexture(uTextureID_Btn_CastSpell)->uTextureHeight,
169 pBtn_CastSpell = pPrimaryWindow->CreateButton(476, 450, 169 1, 0, UIMSG_SpellBookWindow, 0, 67, pGlobalTXT_LocalizationStrings[38], pIcons_LOD->GetTexture(uTextureID_Btn_CastSpell), 0);
170 pIcons_LOD->GetTexture(uTextureID_Btn_CastSpell)->uTextureWidth, 170 pBtn_Rest = pPrimaryWindow->CreateButton(518, 450,
171 pIcons_LOD->GetTexture(uTextureID_Btn_CastSpell)->uTextureHeight, 171 pIcons_LOD->GetTexture(uTextureID_Btn_Rest)->uTextureWidth,
172 1, 0, UIMSG_SpellBookWindow, 0, 67, pGlobalTXT_LocalizationStrings[38], pIcons_LOD->GetTexture(uTextureID_Btn_CastSpell), 0); 172 pIcons_LOD->GetTexture(uTextureID_Btn_Rest)->uTextureHeight,
173 pBtn_Rest = pPrimaryWindow->CreateButton(518, 450, 173 1, 0, UIMSG_RestWindow, 0, 82, pGlobalTXT_LocalizationStrings[182], pIcons_LOD->GetTexture(uTextureID_Btn_Rest), 0);
174 pIcons_LOD->GetTexture(uTextureID_Btn_Rest)->uTextureWidth, 174 pBtn_QuickReference = pPrimaryWindow->CreateButton(560, 450,
175 pIcons_LOD->GetTexture(uTextureID_Btn_Rest)->uTextureHeight, 175 pIcons_LOD->GetTexture(uTextureID_Btn_QuickReference)->uTextureWidth,
176 1, 0, UIMSG_RestWindow, 0, 82, pGlobalTXT_LocalizationStrings[182], pIcons_LOD->GetTexture(uTextureID_Btn_Rest), 0); 176 pIcons_LOD->GetTexture(uTextureID_Btn_QuickReference)->uTextureHeight,
177 pBtn_QuickReference = pPrimaryWindow->CreateButton(560, 450, 177 1, 0, UIMSG_QuickReference, 0, 90, pGlobalTXT_LocalizationStrings[173], pIcons_LOD->GetTexture(uTextureID_Btn_QuickReference), 0);
178 pIcons_LOD->GetTexture(uTextureID_Btn_QuickReference)->uTextureWidth, 178 pBtn_GameSettings = pPrimaryWindow->CreateButton(602, 450,
179 pIcons_LOD->GetTexture(uTextureID_Btn_QuickReference)->uTextureHeight, 179 pIcons_LOD->GetTexture(uTextureID_Btn_GameSettings)->uTextureWidth,
180 1, 0, UIMSG_QuickReference, 0, 90, pGlobalTXT_LocalizationStrings[173], pIcons_LOD->GetTexture(uTextureID_Btn_QuickReference), 0); 180 pIcons_LOD->GetTexture(uTextureID_Btn_GameSettings)->uTextureHeight,
181 pBtn_GameSettings = pPrimaryWindow->CreateButton(602, 450, 181 1, 0, UIMSG_GameMenuButton, 0, 0, pGlobalTXT_LocalizationStrings[93], pIcons_LOD->GetTexture(uTextureID_Btn_GameSettings), 0);
182 pIcons_LOD->GetTexture(uTextureID_Btn_GameSettings)->uTextureWidth, 182
183 pIcons_LOD->GetTexture(uTextureID_Btn_GameSettings)->uTextureHeight, 183 pBtn_NPCLeft = pPrimaryWindow->CreateButton(469, 178,
184 1, 0, UIMSG_GameMenuButton, 0, 0, pGlobalTXT_LocalizationStrings[93], pIcons_LOD->GetTexture(uTextureID_Btn_GameSettings), 0); 184 pIcons_LOD->GetTexture(uTextureID_Btn_NPCLeft)->uTextureWidth,
185 185 pIcons_LOD->GetTexture(uTextureID_Btn_NPCLeft)->uTextureHeight,
186 pBtn_NPCLeft = pPrimaryWindow->CreateButton(469, 178, 186 1, 0, UIMSG_ScrollNPCPanel, 0, 0, "", pIcons_LOD->GetTexture(uTextureID_Btn_NPCLeft), 0);
187 pIcons_LOD->GetTexture(uTextureID_Btn_NPCLeft)->uTextureWidth, 187 pBtn_NPCRight = pPrimaryWindow->CreateButton(626, 178,
188 pIcons_LOD->GetTexture(uTextureID_Btn_NPCLeft)->uTextureHeight, 188 pIcons_LOD->GetTexture(uTextureID_Btn_NPCRight)->uTextureWidth,
189 1, 0, UIMSG_ScrollNPCPanel, 0, 0, "", pIcons_LOD->GetTexture(uTextureID_Btn_NPCLeft), 0); 189 pIcons_LOD->GetTexture(uTextureID_Btn_NPCRight)->uTextureHeight,
190 pBtn_NPCRight = pPrimaryWindow->CreateButton(626, 178, 190 1, 0, UIMSG_ScrollNPCPanel, 1, 0, "", pIcons_LOD->GetTexture(uTextureID_Btn_NPCRight), 0);
191 pIcons_LOD->GetTexture(uTextureID_Btn_NPCRight)->uTextureWidth, 191 LoadPartyBuffIcons();
192 pIcons_LOD->GetTexture(uTextureID_Btn_NPCRight)->uTextureHeight,
193 1, 0, UIMSG_ScrollNPCPanel, 1, 0, "", pIcons_LOD->GetTexture(uTextureID_Btn_NPCRight), 0);
194 LoadPartyBuffIcons();
195 } 192 }
196 193
197 //----- (004979D2) -------------------------------------------------------- 194 //----- (004979D2) --------------------------------------------------------
198 MENU_STATE MainMenuUI_Credits_Loop() 195 MENU_STATE MainMenuUI_Credits_Loop()
199 { 196 {
200 char *v0; // eax@5 197 char *v1; // edi@5
201 char *v1; // edi@5 198 FILE *pFile; // eax@5
202 FILE *pFile; // eax@5 199 unsigned int pSize; // esi@7
203 unsigned int pSize; // esi@7 200 __int16 pHeight; // ax@9
204 GUIFont *pFont; // edx@9 201 void *v7; // eax@9
205 GUIFont *pFont2; // ecx@9 202 unsigned int pNumPixels; // ST2C_4@9
206 __int16 pHeight; // ax@9 203 unsigned int v10; // ST2C_4@19
207 void *v7; // eax@9 204 MSG Msg; // [sp+84h] [bp-B8h]@10
208 unsigned int pNumPixels; // ST2C_4@9 205 int v17; // [sp+A0h] [bp-9Ch]@9
209 unsigned int teal; // eax@9 206 GUIWindow credit_window;
210 unsigned int v10; // ST2C_4@19 207 int a5; // [sp+128h] [bp-14h]@1
211 MSG Msg; // [sp+84h] [bp-B8h]@10 208 char *pString; // [sp+12Ch] [bp-10h]@9
212 int v17; // [sp+A0h] [bp-9Ch]@9 209 char *ptr; // [sp+130h] [bp-Ch]@5
213 GUIWindow a2; 210 GUIFont *pFontQuick; // [sp+134h] [bp-8h]@1
214 int pColor2; // [sp+F8h] [bp-44h]@9 211 GUIFont *pFontCChar; // [sp+138h] [bp-4h]@1
215 int pColor1; // [sp+FCh] [bp-40h]@9 212 RGBTexture pTexture; // [sp+54h] [bp-E8h]@1
216 int a5; // [sp+128h] [bp-14h]@1 213 RGBTexture pTexture2; // [sp+100h] [bp-3Ch]@1
217 char *pString; // [sp+12Ch] [bp-10h]@9 214 Texture pTexture3; // [sp+Ch] [bp-130h]@5
218 char *ptr; // [sp+130h] [bp-Ch]@5 215
219 GUIFont *pFontQuick; // [sp+134h] [bp-8h]@1 216 a5 = 0;
220 GUIFont *pFontCChar; // [sp+138h] [bp-4h]@1 217 pFontQuick = LoadFont("quick.fnt", "FONTPAL", NULL);
221 RGBTexture pTexture; // [sp+54h] [bp-E8h]@1 218 pFontCChar = LoadFont("cchar.fnt", "FONTPAL", NULL);
222 RGBTexture pTexture2; // [sp+100h] [bp-3Ch]@1 219 if ( pMessageQueue_50CBD0->uNumMessages )
223 Texture pTexture3; // [sp+Ch] [bp-130h]@5 220 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0;
224 221 ++pIcons_LOD->uTexturePacksCount;
225 a5 = 0; 222 if ( !pIcons_LOD->uNumPrevLoadedFiles )
226 pFontQuick = LoadFont("quick.fnt", "FONTPAL", NULL); 223 pIcons_LOD->uNumPrevLoadedFiles = pIcons_LOD->uNumLoadedFiles;
227 pFontCChar = LoadFont("cchar.fnt", "FONTPAL", NULL); 224 dword_A74C88 = 0;
228 if ( pMessageQueue_50CBD0->uNumMessages ) 225 pAudioPlayer->PlayMusicTrack(MUSIC_Credits);
229 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; 226 pTexture.Load("mm6title.pcx", 0);
230 ++pIcons_LOD->uTexturePacksCount; 227 ptr = (char *)pEvents_LOD->LoadRaw("credits.txt", 0);
231 if ( !pIcons_LOD->uNumPrevLoadedFiles ) 228 v1 = ptr;
232 pIcons_LOD->uNumPrevLoadedFiles = pIcons_LOD->uNumLoadedFiles; 229 pFile = pEvents_LOD->FindContainer("credits.txt", 0);
233 dword_A74C88 = 0; 230 if ( !pFile )
234 pAudioPlayer->PlayMusicTrack(MUSIC_Credits); 231 Error(pGlobalTXT_LocalizationStrings[63]); // "Might and Magic VII is having trouble loading files.
235 pTexture.Load("mm6title.pcx", 0); 232
236 v0 = (char *)pEvents_LOD->LoadRaw("credits.txt", 0); 233 // Please re-install to fix this problem. Note: Re-installing will not destroy your save games."
237 v1 = v0; 234 fread(&pTexture3, 1, 0x30, pFile);
238 ptr = v0; 235 pSize = pTexture3.uDecompressedSize;
239 pFile = pEvents_LOD->FindContainer("credits.txt", 0); 236 if ( !pTexture3.uDecompressedSize )
240 if ( !pFile ) 237 pSize = pTexture3.uTextureSize;
241 Error(pGlobalTXT_LocalizationStrings[63]); // "Might and Magic VII is having trouble loading files. 238 memset(&pTexture3, 0, 0x48);
242 239 v1[pSize] = 0;
243 // Please re-install to fix this problem. Note: Re-installing will not destroy your save games." 240
244 fread(&pTexture3, 1, 0x30, pFile); 241 credit_window.uFrameWidth = 250;
245 pSize = pTexture3.uDecompressedSize; 242 credit_window.uFrameHeight = 440;
246 if ( !pTexture3.uDecompressedSize ) 243 credit_window.uFrameX = 389;
247 pSize = pTexture3.uTextureSize; 244 credit_window.uFrameY = 19;
248 memset(&pTexture3, 0, 0x48); 245
249 pFont = pFontCChar; 246 pTexture2.uWidth = 250;
250 pFont2 = pFontQuick; 247 pHeight = pFontQuick->GetStringHeight2(pFontCChar, v1, &credit_window, 0, 1);
251 v1[pSize] = 0; 248 pTexture2.uHeight = pHeight + 2 * credit_window.uFrameHeight;
252 249 pTexture2.uNumPixels = (signed __int16)pTexture2.uWidth * (signed __int16)pTexture2.uHeight;
253 a2.uFrameWidth = 250; 250 v7 = malloc(2 * pTexture2.uNumPixels);//, "scrollermap");
254 a2.uFrameHeight = 440; 251 pNumPixels = pTexture2.uNumPixels;
255 a2.uFrameX = 389; 252 pTexture2.pPixels = (unsigned __int16 *)v7;
256 a2.uFrameY = 19; 253 fill_pixels_fast(TargetColor(0, 0xFFu, 0xFFu), pTexture2.pPixels, pNumPixels);
257 254 pTexture2._allocation_flags = 0;
258 pTexture2.uWidth = 250; 255 pString = (char *)malloc(2 * pSize);
259 pHeight = pFont2->GetStringHeight2(pFont, v1, &a2, 0, 1); 256 strncpy(pString, ptr, pSize);
260 pTexture2.uHeight = pHeight + 2 * a2.uFrameHeight; 257 pString[pSize]=0;
261 pTexture2.uNumPixels = (signed __int16)pTexture2.uWidth * (signed __int16)pTexture2.uHeight; 258 pFontQuick->_44D2FD_prolly_draw_credits_entry(pFontCChar, 0, credit_window.uFrameHeight, (signed __int16)pTexture2.uWidth,
262 v7 = malloc(2 * pTexture2.uNumPixels);//, "scrollermap"); 259 (signed __int16)pTexture2.uHeight, TargetColor(0x70u, 0x8Fu, 0xFEu), TargetColor(0xECu, 0xE6u, 0x9Cu), pString, pTexture2.pPixels,
263 pNumPixels = pTexture2.uNumPixels; 260 (signed __int16)pTexture2.uWidth);
264 pTexture2.pPixels = (unsigned __int16 *)v7; 261 free(pString);
265 teal = TargetColor(0, 0xFFu, 0xFFu); 262 pWindow_MainMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_MainMenu, 0, ptr);
266 fill_pixels_fast(teal, pTexture2.pPixels, pNumPixels); 263 pWindow_MainMenu->CreateButton(0, 0, 0, 0, 1, 0, UIMSG_Escape, 0, 0x1Bu, "", 0);
267 pTexture2._allocation_flags = 0; 264 pCurrentScreen = SCREEN_CREATORS;
268 pColor1 = TargetColor(0x70u, 0x8Fu, 0xFEu); 265 SetCurrentMenuID(MENU_CREDITSPROC);
269 pColor2 = TargetColor(0xECu, 0xE6u, 0x9Cu); 266 do
270 pString = (char *)malloc(2 * pSize); 267 {
271 strncpy(pString, ptr, pSize); 268 while ( PeekMessageA(&Msg, 0, 0, 0, 1) )
272 pString[pSize]=0; 269 {
273 pFontQuick->_44D2FD_prolly_draw_credits_entry(pFontCChar, 0, a2.uFrameHeight, (signed __int16)pTexture2.uWidth, (signed __int16)pTexture2.uHeight, pColor1, 270 if ( Msg.message == 18 )
274 pColor2, pString, pTexture2.pPixels, (signed __int16)pTexture2.uWidth); 271 Game_DeinitializeAndTerminate(0);
275 free(pString); 272 TranslateMessage(&Msg);
276 pWindow_MainMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_MainMenu, 0, ptr); 273 DispatchMessageA(&Msg);
277 pWindow_MainMenu->CreateButton(0, 0, 0, 0, 1, 0, UIMSG_Escape, 0, 0x1Bu, "", 0); 274 }
278 pCurrentScreen = SCREEN_CREATORS; 275 if ( BYTE1(dword_6BE364_game_settings_1) & 1 )
279 SetCurrentMenuID(MENU_CREDITSPROC); 276 {
280 do 277 WaitMessage();
281 { 278 }
282 while ( PeekMessageA(&Msg, 0, 0, 0, 1) ) 279 else
283 { 280 {
284 if ( Msg.message == 18 ) 281 pRenderer->BeginScene();
285 Game_DeinitializeAndTerminate(0); 282 pRenderer->DrawTextureRGB(0, 0, &pTexture);
286 TranslateMessage(&Msg); 283 pRenderer->SetTextureClipRect(credit_window.uFrameX, credit_window.uFrameY, credit_window.uFrameX + credit_window.uFrameWidth,
287 DispatchMessageA(&Msg); 284 credit_window.uFrameY + credit_window.uFrameHeight);
288 } 285 pRenderer->_4A5D33(credit_window.uFrameX, credit_window.uFrameY, 0, a5, &pTexture2);
289 if ( BYTE1(dword_6BE364_game_settings_1) & 1 ) 286 pRenderer->ResetTextureClipRect();
290 { 287 pRenderer->EndScene();
291 WaitMessage(); 288 ++a5;
292 } 289 if ( a5 >= (signed __int16)pTexture2.uHeight )
293 else 290 SetCurrentMenuID(MENU_MAIN);
294 { 291 pRenderer->Present();
295 pRenderer->BeginScene(); 292 pCurrentScreen = SCREEN_GAME;//Ritor1: temporarily, must be corrected GUI_MainMenuMessageProc()
296 pRenderer->DrawTextureRGB(0, 0, &pTexture); 293 GUI_MainMenuMessageProc();
297 pRenderer->SetTextureClipRect(a2.uFrameX, a2.uFrameY, a2.uFrameX + a2.uFrameWidth, a2.uFrameY + a2.uFrameHeight); 294 }
298 pRenderer->_4A5D33(a2.uFrameX, a2.uFrameY, 0, a5, &pTexture2); 295 }
299 pRenderer->ResetTextureClipRect(); 296 while ( GetCurrentMenuID() == MENU_CREDITSPROC );
300 pRenderer->EndScene(); 297 pAudioPlayer->_4AA258(1);
301 ++a5; 298 free(ptr);
302 if ( a5 >= (signed __int16)pTexture2.uHeight ) 299 free(pFontQuick);
303 SetCurrentMenuID(MENU_MAIN); 300 free(pFontCChar);
304 pRenderer->Present(); 301 pWindow_MainMenu->Release();
305 pCurrentScreen = SCREEN_GAME;//Ritor1: temporarily, must be corrected GUI_MainMenuMessageProc() 302 pIcons_LOD->RemoveTexturesPackFromTextureList();
306 GUI_MainMenuMessageProc(); 303 pTexture.Release();
307 } 304 pTexture2.Release();
308 } 305 return MENU_MAIN; // return MENU_Main
309 while ( GetCurrentMenuID() == MENU_CREDITSPROC ); 306 }
310 pAudioPlayer->_4AA258(1);
311 free(ptr);
312 free(pFontQuick);
313 free(pFontCChar);
314 pWindow_MainMenu->Release();
315 pIcons_LOD->RemoveTexturesPackFromTextureList();
316 pTexture.Release();
317 pTexture2.Release();
318 return MENU_MAIN; // return MENU_Main
319 }