378 |
Surface *img_easy = enigma::GetImage("completed-easy"); |
Surface *img_easy = enigma::GetImage("completed-easy"); |
379 |
Surface *img_hard = enigma::GetImage("completed"); |
Surface *img_hard = enigma::GetImage("completed"); |
380 |
Surface *img_changed = enigma::GetImage("changed"); |
Surface *img_changed = enigma::GetImage("changed"); |
381 |
|
Surface *img_error = enigma::GetImage("error"); |
382 |
|
Surface *img_unavailable = enigma::GetImage("unavailable"); |
383 |
|
Surface *img_unknown = enigma::GetImage("unknown"); |
384 |
|
|
385 |
unsigned i=ifirst; // level index |
unsigned i=ifirst; // level index |
386 |
for (int y=0; y<height; y++) |
for (int y=0; y<height; y++) |
419 |
string fname = string("levels/") + levelinfo->filename + ".png"; |
string fname = string("levels/") + levelinfo->filename + ".png"; |
420 |
img = cache.get(enigma::FindDataFile(fname)); |
img = cache.get(enigma::FindDataFile(fname)); |
421 |
} |
} |
422 |
if( i >= (max_available)) |
if (!img && !Nozoom) { |
|
{ |
|
|
img = cache.get(enigma::FindDataFile("levels/unavailable.png")); |
|
|
} else if (!img && !Nozoom) { |
|
423 |
img = preview_cache.getPreview(level_pack, i); |
img = preview_cache.getPreview(level_pack, i); |
424 |
if (!img) |
if (!img) |
425 |
img = cache.get(enigma::FindDataFile("levels/error.png")); |
img = img_error; |
426 |
} |
} |
427 |
|
|
428 |
|
|
429 |
int imgx = xpos + 10; |
int imgx = xpos + 10; |
430 |
int imgy = ypos + 10; |
int imgy = ypos + 10; |
431 |
if (img) |
if (img) |
432 |
blit (gc, imgx, imgy, img); |
blit (gc, imgx, imgy, img); |
433 |
|
else |
434 |
|
blit (gc, imgx, imgy, img_unknown); |
435 |
|
|
436 |
|
if( i >= (max_available)) |
437 |
|
{ |
438 |
|
blit (gc, imgx, imgy, img_unavailable); |
439 |
|
} |
440 |
|
|
441 |
// Draw solved/changed icons on top of level preview |
// Draw solved/changed icons on top of level preview |
442 |
if (LevelStatus *ls=GetLevelStatus(level_pack->get_name(), |
if (LevelStatus *ls=GetLevelStatus(level_pack->get_name(), |