@@ -250,79 +250,47 @@ void cUnitDetails::reset()
250
250
// ------------------------------------------------------------------------------
251
251
void cUnitDetails::drawBigSymbols (eUnitDataBigSymbolType symbolType, const cPosition& position, int value1, int value2)
252
252
{
253
- int maxX = 160 ;
254
- auto src = getBigSymbolPosition (symbolType);
255
- const auto srcSize = src.getSize ();
256
- maxX -= srcSize.x ();
253
+ auto src = GraphicsData.getBigSymbolPosition (symbolType);
254
+ int maxX = 160 - src.w ;
257
255
258
- if (value2 != value1) maxX -= srcSize. x () + 3 ;
256
+ if (value2 != value1) maxX -= src. w + 3 ;
259
257
if (value2 < value1) std::swap (value1, value2);
260
- int offX = srcSize. x () ;
258
+ int offX = src. w ;
261
259
while (offX * value2 > maxX)
262
260
{
263
261
--offX;
264
262
if (offX < 4 )
265
263
{
266
264
value1 /= 2 ;
267
265
value2 /= 2 ;
268
- offX = srcSize. x () ;
266
+ offX = src. w ;
269
267
}
270
268
}
271
- SDL_Rect dest = {position.x (), position.y () + (rowHeight - 4 - srcSize. y () ) / 2 , 0 , 0 };
269
+ SDL_Rect dest = {position.x (), position.y () + (rowHeight - 4 - src. h ) / 2 , 0 , 0 };
272
270
273
271
for (int i = 0 ; i != value1; ++i)
274
272
{
275
- auto srcRect = toSdlRect ( src) ;
273
+ auto srcRect = src;
276
274
SDL_BlitSurface (GraphicsData.gfx_hud_stuff .get (), &srcRect, surface.get (), &dest);
277
275
278
276
dest.x += offX;
279
277
}
280
278
if (value1 == value2) return ;
281
279
282
- dest.x += srcSize. x () + 3 ;
283
- SDL_Rect mark = {Sint16 (dest.x - srcSize. x () / 2 ), dest.y , 1 , srcSize. y () };
280
+ dest.x += src. w + 3 ;
281
+ SDL_Rect mark = {Sint16 (dest.x - src. w / 2 ), dest.y , 1 , src. h };
284
282
285
283
SDL_FillRect (surface.get (), &mark, 0xFFFC0000 );
286
284
287
285
if (symbolType == eUnitDataBigSymbolType::Metal)
288
286
{
289
- src = getBigSymbolPosition (eUnitDataBigSymbolType::MetalEmpty);
287
+ src = GraphicsData. getBigSymbolPosition (eUnitDataBigSymbolType::MetalEmpty);
290
288
}
291
289
for (int i = value1; i != value2; ++i)
292
290
{
293
- auto srcRect = toSdlRect ( src) ;
291
+ auto srcRect = src;
294
292
SDL_BlitSurface (GraphicsData.gfx_hud_stuff .get (), &srcRect, surface.get (), &dest);
295
293
296
294
dest.x += offX;
297
295
}
298
296
}
299
-
300
- // ------------------------------------------------------------------------------
301
- cBox<cPosition> cUnitDetails::getBigSymbolPosition (eUnitDataBigSymbolType symbolType)
302
- {
303
- SDL_Rect rect;
304
-
305
- switch (symbolType)
306
- {
307
- case eUnitDataBigSymbolType::Speed: rect = cGraphicsData::getRect_BigSymbol_Speed (); break ;
308
- case eUnitDataBigSymbolType::Hits: rect = cGraphicsData::getRect_BigSymbol_Hitpoints (); break ;
309
- case eUnitDataBigSymbolType::Ammo: rect = cGraphicsData::getRect_BigSymbol_Ammo (); break ;
310
- case eUnitDataBigSymbolType::Attack: rect = cGraphicsData::getRect_BigSymbol_Attack (); break ;
311
- case eUnitDataBigSymbolType::Shots: rect = cGraphicsData::getRect_BigSymbol_Shots (); break ;
312
- case eUnitDataBigSymbolType::Range: rect = cGraphicsData::getRect_BigSymbol_Range (); break ;
313
- case eUnitDataBigSymbolType::Armor: rect = cGraphicsData::getRect_BigSymbol_Armor (); break ;
314
- case eUnitDataBigSymbolType::Scan: rect = cGraphicsData::getRect_BigSymbol_Scan (); break ;
315
- case eUnitDataBigSymbolType::Metal: rect = cGraphicsData::getRect_BigSymbol_Metal (); break ;
316
- case eUnitDataBigSymbolType::MetalEmpty: rect = cGraphicsData::getRect_BigSymbol_MetalEmpty (); break ;
317
- case eUnitDataBigSymbolType::Oil: rect = cGraphicsData::getRect_BigSymbol_Oil (); break ;
318
- case eUnitDataBigSymbolType::Gold: rect = cGraphicsData::getRect_BigSymbol_Gold (); break ;
319
- case eUnitDataBigSymbolType::Energy: rect = cGraphicsData::getRect_BigSymbol_Energy (); break ;
320
- case eUnitDataBigSymbolType::Human: rect = cGraphicsData::getRect_BigSymbol_Human (); break ;
321
- default :
322
- rect = {0 , 109 , 1 , 1 };
323
- break ;
324
- }
325
- cPosition position (rect.x , rect.y );
326
- cPosition size (rect.w , rect.h );
327
- return cBox<cPosition> (position, position + size - 1 );
328
- }
0 commit comments