comparison GUI/GUIProgressBar.cpp @ 2575:a76d408c5132 tip

DrawTranslucent -> DrawTextureGrayShade Removed old texture drawing stuff
author a.parshin
date Wed, 09 Mar 2016 01:39:52 +0200
parents 0c67be4ec900
children
comparison
equal deleted inserted replaced
2574:dd36326a9994 2575:a76d408c5132
83 uX = 122; 83 uX = 122;
84 uY = 151; 84 uY = 151;
85 uWidth = 449; 85 uWidth = 449;
86 uHeight = 56; 86 uHeight = 56;
87 uProgressMax = 26; 87 uProgressMax = 26;
88 pIcons_LOD->_410522(&pLoadingProgress, "loadprog", 2u); 88
89 //pIcons_LOD->PlacementLoadTexture(&pLoadingProgress, "loadprog", 2u);
90 progressbar_loading = assets->GetImage_16BitColorKey("loadprog", 0x7FF);
89 Draw(); 91 Draw();
90 return true; 92 return true;
91 } 93 }
92 94
93 switch (pParty->alignment) 95 switch (pParty->alignment)
94 { 96 {
95 case PartyAlignment_Good: pIcons_LOD->_410522(&pBardata, "bardata-b", 2); break; 97 case PartyAlignment_Good: progressbar_dungeon = assets->GetImage_16BitColorKey("bardata-b", 0x7FF); break;
96 case PartyAlignment_Neutral: pIcons_LOD->_410522(&pBardata, "bardata", 2); break; 98 case PartyAlignment_Neutral: progressbar_dungeon = assets->GetImage_16BitColorKey("bardata", 0x7FF); break;
97 case PartyAlignment_Evil: pIcons_LOD->_410522(&pBardata, "bardata-c", 2); break; 99 case PartyAlignment_Evil: progressbar_dungeon = assets->GetImage_16BitColorKey("bardata-c", 0x7FF); break;
100 //case PartyAlignment_Good: pIcons_LOD->PlacementLoadTexture(&pBardata, "bardata-b", 2); break;
101 //case PartyAlignment_Neutral: pIcons_LOD->PlacementLoadTexture(&pBardata, "bardata", 2); break;
102 //case PartyAlignment_Evil: pIcons_LOD->PlacementLoadTexture(&pBardata, "bardata-c", 2); break;
98 default: Error("Invalid alignment type: %u", pParty->alignment); 103 default: Error("Invalid alignment type: %u", pParty->alignment);
99 } 104 }
100 105
101 uProgressCurrent = 0; 106 uProgressCurrent = 0;
102 uProgressMax = 26; 107 uProgressMax = 26;
137 if ( this->uProgressCurrent != this->uProgressMax ) 142 if ( this->uProgressCurrent != this->uProgressMax )
138 { 143 {
139 this->uProgressCurrent = this->uProgressMax - 1; 144 this->uProgressCurrent = this->uProgressMax - 1;
140 Progress(); 145 Progress();
141 } 146 }
142 v3 = (int)&this->pLoadingProgress.paletted_pixels; 147
143 free(this->pLoadingProgress.paletted_pixels); 148 if (progressbar_loading)
144 free(this->pLoadingProgress.pPalette16); 149 {
145 this->pLoadingProgress.pPalette16 = 0; 150 progressbar_loading->Release();
151 progressbar_loading = nullptr;
152 }
153 //v3 = (int)&this->pLoadingProgress.paletted_pixels;
154 //free(this->pLoadingProgress.paletted_pixels);
155 //free(this->pLoadingProgress.pPalette16);
156 //this->pLoadingProgress.pPalette16 = 0;
157 //*(int *)v3 = 0;
146 } 158 }
147 else 159 else
148 { 160 {
149 if ( !this->pBardata.paletted_pixels) 161 //if ( !this->pBardata.paletted_pixels)
150 return; 162 // return;
151 free(this->pBardata.paletted_pixels); 163 //free(this->pBardata.paletted_pixels);
152 v3 = (int)&this->pBardata.pPalette16; 164 //v3 = (int)&this->pBardata.pPalette16;
153 free(this->pBardata.pPalette16); 165 //free(this->pBardata.pPalette16);
154 this->pBardata.paletted_pixels = 0; 166 //this->pBardata.paletted_pixels = 0;
155 } 167 //*(int *)v3 = 0;
156 *(int *)v3 = 0; 168 if (progressbar_dungeon)
169 {
170 progressbar_dungeon->Release();
171 progressbar_dungeon = nullptr;
172 }
173 }
157 } 174 }
158 175
159 //----- (00443670) -------------------------------------------------------- 176 //----- (00443670) --------------------------------------------------------
160 void GUIProgressBar::Draw() 177 void GUIProgressBar::Draw()
161 { 178 {
162 pRenderer->BeginScene(); 179 pRenderer->BeginScene();
163 if (uType != TYPE_Fullscreen) 180 if (uType != TYPE_Fullscreen)
164 { 181 {
165 if (pBardata.paletted_pixels) 182 //if (pBardata.paletted_pixels)
166 { 183 {
167 pRenderer->Sub01(); 184 pRenderer->Sub01();
168 185
169 pRenderer->DrawTextureTransparentColorKey(80, 122, &pBardata);//прогрессбар для данжей 186 pRenderer->DrawTextureAlphaNew(80/640.0f, 122/480.0f, progressbar_dungeon);
170 pRenderer->DrawTextureIndexedAlpha(100, 146, &pIcons_LOD->pTextures[pIconsFrameTable->GetFrame(uIconID_TurnHour, 0)->uTextureID]); 187 pRenderer->DrawTextureAlphaNew(100/640.0f, 146/480.0f, pIconsFrameTable->GetFrame(uIconID_TurnHour, 0)->texture);
171 //pRenderer->FillRectFast(174, 164, floorf(((double)(113 * uProgressCurrent) / (double)uProgressMax) + 0.5f),//COERCE_UNSIGNED_INT64(v4 + 6.7553994e15), 188 //pRenderer->FillRectFast(174, 164, floorf(((double)(113 * uProgressCurrent) / (double)uProgressMax) + 0.5f),//COERCE_UNSIGNED_INT64(v4 + 6.7553994e15),
172 //16, pRenderer->uTargetRMask); 189 //16, pRenderer->uTargetRMask);
173 pRenderer->FillRectFast(174, 164, floorf(((double)(113 * uProgressCurrent) / (double)uProgressMax) + 0.5f),//COERCE_UNSIGNED_INT64(v4 + 6.7553994e15), 190 pRenderer->FillRectFast(174, 164, floorf(((double)(113 * uProgressCurrent) / (double)uProgressMax) + 0.5f),//COERCE_UNSIGNED_INT64(v4 + 6.7553994e15),
174 16, 0xF800); 191 16, 0xF800);
175 pRenderer->EndScene(); 192 pRenderer->EndScene();
185 { 202 {
186 pRenderer->EndScene(); 203 pRenderer->EndScene();
187 } 204 }
188 else 205 else
189 { 206 {
190
191 pRenderer->DrawTextureNew(0, 0, loading_bg); 207 pRenderer->DrawTextureNew(0, 0, loading_bg);
192 //pRenderer->SetRasterClipRect(0, 0, 639, 479); 208 //pRenderer->SetRasterClipRect(0, 0, 639, 479);
193 pRenderer->SetUIClipRect(172, 459, 15 * (signed int)(signed __int64)((double)(300 * uProgressCurrent) / (double)uProgressMax) / 15 + 172, 471); 209 pRenderer->SetUIClipRect(172, 459, 15 * (signed int)(signed __int64)((double)(300 * uProgressCurrent) / (double)uProgressMax) / 15 + 172, 471);
194 pRenderer->DrawTextureIndexedAlpha(172, 459, &pLoadingProgress); 210 pRenderer->DrawTextureAlphaNew(172/640.0f, 459/480.0f, progressbar_loading);
195 pRenderer->ResetUIClipRect(); 211 pRenderer->ResetUIClipRect();
196 pRenderer->EndScene(); 212 pRenderer->EndScene();
197 pRenderer->Present(); 213 pRenderer->Present();
198 } 214 }
199 } 215 }