parent
a8d3cdd148
commit
6224af6178
18
src/game.cc
18
src/game.cc
|
@ -1161,6 +1161,10 @@ static void showHelp()
|
||||||
bool colorCycleWasEnabled = colorCycleEnabled();
|
bool colorCycleWasEnabled = colorCycleEnabled();
|
||||||
colorCycleDisable();
|
colorCycleDisable();
|
||||||
|
|
||||||
|
// CE: Help screen uses separate color palette which is incompatible with
|
||||||
|
// colors in other windows. Setup overlay to hide everything.
|
||||||
|
int overlay = windowCreate(0, 0, screenGetWidth(), screenGetHeight(), 0, WINDOW_HIDDEN | WINDOW_MOVE_ON_TOP);
|
||||||
|
|
||||||
int helpWindowX = (screenGetWidth() - HELP_SCREEN_WIDTH) / 2;
|
int helpWindowX = (screenGetWidth() - HELP_SCREEN_WIDTH) / 2;
|
||||||
int helpWindowY = (screenGetHeight() - HELP_SCREEN_HEIGHT) / 2;
|
int helpWindowY = (screenGetHeight() - HELP_SCREEN_HEIGHT) / 2;
|
||||||
int win = windowCreate(helpWindowX, helpWindowY, HELP_SCREEN_WIDTH, HELP_SCREEN_HEIGHT, 0, WINDOW_HIDDEN | WINDOW_MOVE_ON_TOP);
|
int win = windowCreate(helpWindowX, helpWindowY, HELP_SCREEN_WIDTH, HELP_SCREEN_HEIGHT, 0, WINDOW_HIDDEN | WINDOW_MOVE_ON_TOP);
|
||||||
|
@ -1172,10 +1176,21 @@ static void showHelp()
|
||||||
if (backgroundFrmImage.lock(backgroundFid)) {
|
if (backgroundFrmImage.lock(backgroundFid)) {
|
||||||
paletteSetEntries(gPaletteBlack);
|
paletteSetEntries(gPaletteBlack);
|
||||||
blitBufferToBuffer(backgroundFrmImage.getData(), HELP_SCREEN_WIDTH, HELP_SCREEN_HEIGHT, HELP_SCREEN_WIDTH, windowBuffer, HELP_SCREEN_WIDTH);
|
blitBufferToBuffer(backgroundFrmImage.getData(), HELP_SCREEN_WIDTH, HELP_SCREEN_HEIGHT, HELP_SCREEN_WIDTH, windowBuffer, HELP_SCREEN_WIDTH);
|
||||||
windowShow(win);
|
|
||||||
colorPaletteLoad("art\\intrface\\helpscrn.pal");
|
colorPaletteLoad("art\\intrface\\helpscrn.pal");
|
||||||
paletteSetEntries(_cmap);
|
paletteSetEntries(_cmap);
|
||||||
|
|
||||||
|
// CE: Fill overlay with darkest color in the palette. It might
|
||||||
|
// not be completely black, but at least it's uniform.
|
||||||
|
bufferFill(windowGetBuffer(overlay),
|
||||||
|
screenGetWidth(),
|
||||||
|
screenGetHeight(),
|
||||||
|
screenGetWidth(),
|
||||||
|
intensityColorTable[_colorTable[0]][0]);
|
||||||
|
|
||||||
|
windowShow(overlay);
|
||||||
|
windowShow(win);
|
||||||
|
|
||||||
while (inputGetInput() == -1 && _game_user_wants_to_quit == 0) {
|
while (inputGetInput() == -1 && _game_user_wants_to_quit == 0) {
|
||||||
sharedFpsLimiter.mark();
|
sharedFpsLimiter.mark();
|
||||||
renderPresent();
|
renderPresent();
|
||||||
|
@ -1195,6 +1210,7 @@ static void showHelp()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
windowDestroy(overlay);
|
||||||
windowDestroy(win);
|
windowDestroy(win);
|
||||||
colorPaletteLoad("color.pal");
|
colorPaletteLoad("color.pal");
|
||||||
paletteSetEntries(_cmap);
|
paletteSetEntries(_cmap);
|
||||||
|
|
Loading…
Reference in New Issue