X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/5f804973aefd36d204b2d48064800a392c9bfab2..5c392355566dce59c1e486ae934228aa9a5fa2bc:/main/bsod.cpp diff --git a/main/bsod.cpp b/main/bsod.cpp index b273eacf..bb4c7ad7 100644 --- a/main/bsod.cpp +++ b/main/bsod.cpp @@ -6,6 +6,9 @@ #include #include #include +#ifdef WITH_SDL +#include +#endif #include "version.h" @@ -92,14 +95,38 @@ void bsodFatal() system(cmd); } +#ifdef WITH_SDL + ePtr my_dc; + gSDLDC::getInstance(my_dc); +#else ePtr my_dc; gFBDC::getInstance(my_dc); +#endif { gPainter p(my_dc); p.resetOffset(); p.resetClip(eRect(ePoint(0, 0), my_dc->size())); - p.setBackgroundColor(gRGB(0x0000C0)); +#ifdef ENIGMA2_CHECKOUT_TAG + if (ENIGMA2_CHECKOUT_TAG[0] == 'T') /* tagged checkout (release) */ + p.setBackgroundColor(gRGB(0x0000C0)); + else if (ENIGMA2_CHECKOUT_TAG[0] == 'D') /* dated checkout (daily experimental build) */ + { + srand(time(0)); + int r = rand(); + unsigned int col = 0; + if (r & 1) + col |= 0x800000; + if (r & 2) + col |= 0x008000; + if (r & 4) + col |= 0x0000c0; + p.setBackgroundColor(gRGB(col)); + } +#else + p.setBackgroundColor(gRGB(0x008000)); +#endif + p.setForegroundColor(gRGB(0xFFFFFF)); ePtr font = new gFont("Regular", 20); @@ -136,7 +163,6 @@ void bsodFatal() p.renderText(usable_area, lines.substr(start), gPainter::RT_HALIGN_LEFT); - p.flush(); sleep(10); }