/** * Initialise the default colours (remaps and the likes), and load the main windows. */ void SetupColoursAndInitialWindow() { for (uint i = 0; i != 16; i++) { const byte *b = GetNonSprite(PALETTE_RECOLOUR_START + i, ST_RECOLOUR); assert(b); memcpy(_colour_gradient[i], b + 0xC6, sizeof(_colour_gradient[i])); } new MainWindow(&_main_window_desc); /* XXX: these are not done */ switch (_game_mode) { default: NOT_REACHED(); case GM_MENU: ShowSelectGameWindow(); ShowTutorialWindowOnceAfterInstall(); break; case GM_NORMAL: case GM_EDITOR: ShowVitalWindows(); break; } }
void Blitter_8bppBase::DrawColourMappingRect(void *dst, int width, int height, int pal) { const uint8 *ctab = GetNonSprite(pal, ST_RECOLOUR) + 1; do { for (int i = 0; i != width; i++) *((uint8 *)dst + i) = ctab[((uint8 *)dst)[i]]; dst = (uint8 *)dst + _screen.pitch; } while (--height); }