mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-14 05:38:56 +00:00
added fnSetPaletteToFade/fnSetPaletteToCut
svn-id: r11851
This commit is contained in:
parent
a6fb0fd553
commit
42cea0975a
@ -889,12 +889,12 @@ int SwordLogic::fnSetFadeTargetPalette(BsObject *cpt, int32 id, int32 spritePal,
|
||||
}
|
||||
|
||||
int SwordLogic::fnSetPaletteToFade(BsObject *cpt, int32 id, int32 c, int32 d, int32 e, int32 f, int32 z, int32 x) {
|
||||
warning("fnSetPaletteToFade(xx, %d, %d, %d, %d)", id, c, d, e);
|
||||
SwordEngine::_systemVars.wantFade = true;
|
||||
return SCRIPT_CONT;
|
||||
}
|
||||
|
||||
int SwordLogic::fnSetPaletteToCut(BsObject *cpt, int32 id, int32 c, int32 d, int32 e, int32 f, int32 z, int32 x) {
|
||||
warning("fnSetPaletteToCut(xx, %d, %d, %d, %d)", id, c, d, e);
|
||||
SwordEngine::_systemVars.wantFade = false;
|
||||
return SCRIPT_CONT;
|
||||
}
|
||||
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include "common/util.h"
|
||||
#include "system.h"
|
||||
#include "menu.h"
|
||||
#include "sword1.h"
|
||||
|
||||
#define SCROLL_FRACTION 16
|
||||
#define MAX_SCROLL_DISTANCE 8
|
||||
@ -106,7 +107,7 @@ void SwordScreen::fnSetPalette(uint8 start, uint16 length, uint32 id, bool fadeU
|
||||
memset(_currentPalette, 0, 256 * 4);
|
||||
_system->set_palette(_currentPalette, 0, 256);
|
||||
} else
|
||||
_system->set_palette(_targetPalette, start, length);
|
||||
_system->set_palette(_targetPalette + 4 * start, start, length);
|
||||
}
|
||||
|
||||
void SwordScreen::refreshPalette(void) {
|
||||
@ -259,8 +260,8 @@ void SwordScreen::newScreen(uint32 screen) {
|
||||
if (_roomDefTable[_currentScreen].parallax[1])
|
||||
_parallax[1] = (uint8*)_resMan->openFetchRes(_roomDefTable[_currentScreen].parallax[1]);
|
||||
|
||||
fnSetPalette(0, 184, _roomDefTable[_currentScreen].palettes[0], true);
|
||||
fnSetPalette(184, 72, _roomDefTable[_currentScreen].palettes[1], true);
|
||||
fnSetPalette(0, 184, _roomDefTable[_currentScreen].palettes[0], SwordEngine::_systemVars.wantFade);
|
||||
fnSetPalette(184, 72, _roomDefTable[_currentScreen].palettes[1], SwordEngine::_systemVars.wantFade);
|
||||
}
|
||||
|
||||
void SwordScreen::quitScreen(void) {
|
||||
|
@ -159,6 +159,7 @@ void SwordEngine::reinitialize(void) {
|
||||
_objectMan->initialize(); // resources which have just been wiped.
|
||||
_mouse->initialize();
|
||||
// todo: reinitialize swordmenu.
|
||||
_systemVars.wantFade = true;
|
||||
}
|
||||
|
||||
void SwordEngine::startPositions(int32 startNumber) {
|
||||
@ -1116,9 +1117,8 @@ uint8 SwordEngine::mainLoop(void) {
|
||||
// do something smart here to implement pausing the game. If we even want that, that is.
|
||||
} while ((SwordLogic::_scriptVars[SCREEN] == SwordLogic::_scriptVars[NEW_SCREEN]) && (retCode == 0));
|
||||
|
||||
if (retCode == 0) {
|
||||
if (SwordLogic::_scriptVars[SCREEN] != 53) // we don't fade down after syria pan (53).
|
||||
_screen->fadeDownPalette();
|
||||
if ((retCode == 0) && (SwordLogic::_scriptVars[SCREEN] != 53) && _systemVars.wantFade) {
|
||||
_screen->fadeDownPalette();
|
||||
while (_screen->stillFading()) {
|
||||
_music->stream();
|
||||
_screen->updateScreen();
|
||||
|
@ -46,6 +46,7 @@ struct SystemVars {
|
||||
|
||||
uint8 deathScreenFlag; // 1 death screen version of the control panel, 2 = successful end of game, 3 = force restart
|
||||
bool forceRestart;
|
||||
bool wantFade; // when true => fade during scene change, else cut.
|
||||
uint8 playSpeech;
|
||||
uint8 showText;
|
||||
uint8 language;
|
||||
|
Loading…
Reference in New Issue
Block a user