mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-20 11:11:28 +00:00
removed useless AR saving leftovers and implemented fnRestoreGame()
svn-id: r8693
This commit is contained in:
parent
b7f9b1a5d8
commit
c66457664e
@ -957,24 +957,3 @@ Compact *SkyControl::_saveLoadCpts[833] = {
|
||||
&SkyCompact::info_button
|
||||
};
|
||||
|
||||
uint8 *SkyControl::_saveLoadARs[18] = {
|
||||
SkyCompact::joey_auto,
|
||||
SkyCompact::lamb_auto,
|
||||
SkyCompact::monitor_auto,
|
||||
SkyCompact::ss_auto,
|
||||
SkyCompact::full_ss_auto,
|
||||
SkyCompact::loader_auto,
|
||||
SkyCompact::shades_auto,
|
||||
SkyCompact::jobs_auto,
|
||||
SkyCompact::foreman_auto,
|
||||
SkyCompact::radman_auto,
|
||||
SkyCompact::burke_auto,
|
||||
SkyCompact::babs_auto,
|
||||
SkyCompact::dan_auto,
|
||||
SkyCompact::spu_auto,
|
||||
SkyCompact::medi_auto,
|
||||
SkyCompact::wit_auto,
|
||||
SkyCompact::gal_auto,
|
||||
SkyCompact::ken_auto
|
||||
};
|
||||
|
||||
|
@ -292,6 +292,33 @@ void SkyControl::drawMainPanel(void) {
|
||||
_bodge->drawToScreen(WITH_MASK);
|
||||
}
|
||||
|
||||
void SkyControl::doLoadSavePanel(void) {
|
||||
if (SkyState::isDemo() && (!SkyState::isCDVersion()))
|
||||
return; // I don't think this can even happen
|
||||
initPanel();
|
||||
_skyScreen->clearScreen();
|
||||
if (SkyState::_systemVars.gameVersion < 368)
|
||||
_skyScreen->setPalette(60509);
|
||||
else
|
||||
_skyScreen->setPalette(60510);
|
||||
|
||||
_savedMouse = _skyMouse->giveCurrentMouseType();
|
||||
_skyMouse->spriteMouse(MOUSE_NORMAL,0,0);
|
||||
_lastButton = -1;
|
||||
_curButtonText = 0;
|
||||
_textSprite = NULL;
|
||||
|
||||
saveRestorePanel(false);
|
||||
|
||||
memset(_screenBuf, 0, GAME_SCREEN_WIDTH * FULL_SCREEN_HEIGHT);
|
||||
_system->copy_rect(_screenBuf, GAME_SCREEN_WIDTH, 0, 0, GAME_SCREEN_WIDTH, FULL_SCREEN_HEIGHT);
|
||||
_system->update_screen();
|
||||
_skyScreen->forceRefresh();
|
||||
_skyScreen->setPalette((uint8*)SkyState::fetchCompact(SkyState::_systemVars.currentPalette));
|
||||
removePanel();
|
||||
_skyMouse->spriteMouse(_savedMouse, 0, 0);
|
||||
}
|
||||
|
||||
void SkyControl::doControlPanel(void) {
|
||||
|
||||
if (SkyState::isDemo() && (!SkyState::isCDVersion())) {
|
||||
@ -335,7 +362,9 @@ void SkyControl::doControlPanel(void) {
|
||||
buttonControl(NULL);
|
||||
_text->drawToScreen(WITH_MASK); // flush text restore buffer
|
||||
drawMainPanel();
|
||||
if (clickRes == QUIT_PANEL) quitPanel = true;
|
||||
if ((clickRes == QUIT_PANEL) || (clickRes == GAME_SAVED) ||
|
||||
(clickRes == GAME_RESTORED))
|
||||
quitPanel = true;
|
||||
}
|
||||
_mouseClicked = false;
|
||||
}
|
||||
@ -1126,7 +1155,7 @@ uint16 SkyControl::parseSaveData(uint8 *srcBuf) {
|
||||
|
||||
LODSD(srcPos, size);
|
||||
LODSD(srcPos, saveRev);
|
||||
if (saveRev != SAVE_FILE_REVISION) {
|
||||
if (saveRev > SAVE_FILE_REVISION) {
|
||||
warning("Unknown save file revision (%d)",saveRev);
|
||||
return RESTORE_FAILED;
|
||||
}
|
||||
|
@ -147,15 +147,29 @@ class SkyControl {
|
||||
public:
|
||||
SkyControl(SkyScreen *screen, SkyDisk *disk, SkyMouse *mouse, SkyText *text, SkyMusicBase *music, SkyLogic *logic, OSystem *system, const char *savePath);
|
||||
void doControlPanel(void);
|
||||
void doLoadSavePanel(void);
|
||||
void showGameQuitMsg(bool useScreen = true);
|
||||
|
||||
private:
|
||||
void initPanel(void);
|
||||
void removePanel(void);
|
||||
void drawMainPanel(void);
|
||||
void delay(unsigned int amount);
|
||||
void buttonControl(SkyConResource *pButton);
|
||||
|
||||
void drawMainPanel(void);
|
||||
|
||||
void delay(unsigned int amount);
|
||||
|
||||
void animClick(SkyConResource *pButton);
|
||||
bool getYesNo(void);
|
||||
void buttonControl(SkyConResource *pButton);
|
||||
uint16 handleClick(SkyConResource *pButton);
|
||||
uint16 doMusicSlide(void);
|
||||
uint16 doSpeedSlide(void);
|
||||
uint16 toggleFx(SkyConResource *pButton);
|
||||
uint16 toggleText(SkyConResource *pButton);
|
||||
uint16 shiftDown(uint8 speed);
|
||||
uint16 shiftUp(uint8 speed);
|
||||
|
||||
uint16 saveRestorePanel(bool allowSave);
|
||||
void loadDescriptions(uint8 *destBuf);
|
||||
void saveDescriptions(uint8 *srcBuf);
|
||||
void setUpGameSprites(uint8 *nameBuf, dataFileHeader **nameSprites, uint16 firstNum, uint16 selectedGame, bool allowSave);
|
||||
@ -163,20 +177,6 @@ private:
|
||||
bool checkKeyList(uint8 key);
|
||||
void handleKeyPress(uint8 key, uint8 *textBuf);
|
||||
|
||||
void animClick(SkyConResource *pButton);
|
||||
bool getYesNo(void);
|
||||
uint16 doMusicSlide(void);
|
||||
uint16 doSpeedSlide(void);
|
||||
uint16 handleClick(SkyConResource *pButton);
|
||||
uint16 toggleFx(SkyConResource *pButton);
|
||||
uint16 toggleText(SkyConResource *pButton);
|
||||
uint16 shiftDown(uint8 speed);
|
||||
uint16 shiftUp(uint8 speed);
|
||||
const char *_savePath;
|
||||
|
||||
void appendMemList(uint16 *pMem);
|
||||
void freeMemList(void);
|
||||
|
||||
uint16 _selectedGame;
|
||||
uint16 saveGameToFile(void);
|
||||
void stosMegaSet(uint8 **destPos, MegaSet *mega);
|
||||
@ -190,10 +190,12 @@ private:
|
||||
void lodsStr(uint8 **srcPos, uint16 *src);
|
||||
uint16 parseSaveData(uint8 *srcBuf);
|
||||
|
||||
static Compact *_saveLoadCpts[833]; // \ moved to sky/compacts/savedata.cpp
|
||||
static uint8 *_saveLoadARs[18]; // /
|
||||
static Compact *_saveLoadCpts[833]; // moved to sky/compacts/savedata.cpp
|
||||
const char *_savePath;
|
||||
|
||||
uint16 saveRestorePanel(bool allowSave);
|
||||
AllocedMem *_memListRoot;
|
||||
void appendMemList(uint16 *pMem);
|
||||
void freeMemList(void);
|
||||
|
||||
SkyScreen *_skyScreen;
|
||||
SkyDisk *_skyDisk;
|
||||
@ -206,8 +208,6 @@ private:
|
||||
bool _mouseClicked;
|
||||
byte _keyPressed;
|
||||
|
||||
SkyConResource *createResource(void *pSpData, uint32 pNSprites, uint32 pCurSprite, int16 pX, int16 pY, uint32 pText, uint8 pOnClick, uint8 panelType);
|
||||
|
||||
struct {
|
||||
uint8 *controlPanel;
|
||||
uint8 *button;
|
||||
@ -221,14 +221,14 @@ private:
|
||||
uint8 *musicBodge;
|
||||
} _sprites;
|
||||
|
||||
AllocedMem *_memListRoot;
|
||||
|
||||
uint8 *_screenBuf;
|
||||
int _lastButton;
|
||||
uint32 _curButtonText;
|
||||
uint16 _firstText;
|
||||
uint16 _savedMouse;
|
||||
|
||||
SkyConResource *createResource(void *pSpData, uint32 pNSprites, uint32 pCurSprite, int16 pX, int16 pY, uint32 pText, uint8 pOnClick, uint8 panelType);
|
||||
|
||||
dataFileHeader *_textSprite;
|
||||
SkyTextResource *_text;
|
||||
|
||||
|
@ -2185,7 +2185,9 @@ bool SkyLogic::fnEnterSection(uint32 sectionNo, uint32 b, uint32 c) {
|
||||
}
|
||||
|
||||
bool SkyLogic::fnRestoreGame(uint32 a, uint32 b, uint32 c) {
|
||||
error("Stub: fnRestoreGame");
|
||||
|
||||
_skyControl->doLoadSavePanel();
|
||||
return false;
|
||||
}
|
||||
|
||||
bool SkyLogic::fnRestartGame(uint32 a, uint32 b, uint32 c) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user