aboutsummaryrefslogtreecommitdiff
path: root/sky/control.h
diff options
context:
space:
mode:
Diffstat (limited to 'sky/control.h')
-rw-r--r--sky/control.h293
1 files changed, 0 insertions, 293 deletions
diff --git a/sky/control.h b/sky/control.h
deleted file mode 100644
index d219dab749..0000000000
--- a/sky/control.h
+++ /dev/null
@@ -1,293 +0,0 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2003-2006 The ScummVM project
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- *
- */
-
-#ifndef CONTROL_H
-#define CONTROL_H
-
-#include "common/stdafx.h"
-#include "common/scummsys.h"
-
-class OSystem;
-namespace Common {
- class SaveFileManager;
-}
-
-namespace Sky {
-
-class Disk;
-class Screen;
-class Logic;
-class Mouse;
-class Text;
-class MusicBase;
-class Sound;
-class SkyCompact;
-struct Compact;
-struct dataFileHeader;
-struct MegaSet;
-
-#define MAX_SAVE_GAMES 999
-#define MAX_TEXT_LEN 80
-#define PAN_LINE_WIDTH 184
-#define PAN_CHAR_HEIGHT 12
-#define STATUS_WIDTH 146
-#define MPNL_X 60 // Main Panel
-#define MPNL_Y 10
-
-#define SPNL_X 20 // Save Panel
-#define SPNL_Y 20
-#define SP_HEIGHT 149
-#define SP_TOP_GAP 12
-#define SP_BOT_GAP 27
-#define CROSS_SZ_X 27
-#define CROSS_SZ_Y 22
-
-#define TEXT_FLAG_MASK (SF_ALLOW_SPEECH | SF_ALLOW_TEXT)
-
-#define GAME_NAME_X (SPNL_X + 18) // x coordinate of game names
-#define GAME_NAME_Y (SPNL_Y + SP_TOP_GAP) // start y coord of game names
-#define MAX_ON_SCREEN ((SP_HEIGHT - SP_TOP_GAP - SP_BOT_GAP) / PAN_CHAR_HEIGHT) // no of save games on screen
-#define CP_PANEL 60400 // main panel sprite
-
-#define MAINPANEL 0
-#define SAVEPANEL 1
-
-#define NO_MASK false
-#define WITH_MASK true
-
-// resource's onClick routines
-#define DO_NOTHING 0
-#define REST_GAME_PANEL 1
-#define SAVE_GAME_PANEL 2
-#define SAVE_A_GAME 3
-#define RESTORE_A_GAME 4
-#define SP_CANCEL 5
-#define SHIFT_DOWN_FAST 6
-#define SHIFT_DOWN_SLOW 7
-#define SHIFT_UP_FAST 8
-#define SHIFT_UP_SLOW 9
-#define SPEED_SLIDE 10
-#define MUSIC_SLIDE 11
-#define TOGGLE_FX 12
-#define TOGGLE_MS 13
-#define TOGGLE_TEXT 14
-#define EXIT 15
-#define RESTART 16
-#define QUIT_TO_DOS 17
-#define RESTORE_AUTO 18
-
-// onClick return codes
-#define CANCEL_PRESSED 100
-#define NAME_TOO_SHORT 101
-#define GAME_SAVED 102
-#define SHIFTED 103
-#define TOGGLED 104
-#define RESTARTED 105
-#define GAME_RESTORED 106
-#define RESTORE_FAILED 107
-#define NO_DISK_SPACE 108
-#define SPEED_CHANGED 109
-#define QUIT_PANEL 110
-
-#define SLOW 0
-#define FAST 1
-
-#define SPEED_MULTIPLY 8
-
-//-
-#define SAVE_EXT 1
-#define SAVE_MEGA0 2
-#define SAVE_MEGA1 4
-#define SAVE_MEGA2 8
-#define SAVE_MEGA3 16
-#define SAVE_GRAFX 32
-#define SAVE_TURNP 64
-
-#define SAVE_FILE_REVISION 6
-#define OLD_SAVEGAME_TYPE 5
-
-struct AllocedMem {
- uint16 *mem;
- AllocedMem *next;
-};
-
-class ConResource {
-public:
- ConResource(void *pSpData, uint32 pNSprites, uint32 pCurSprite, uint16 pX, uint16 pY, uint32 pText, uint8 pOnClick, OSystem *system, uint8 *screen);
- virtual ~ConResource(void) {};
- void setSprite(void *pSpData) { _spriteData = (dataFileHeader*)pSpData; };
- void setText(uint32 pText) { if (pText) _text = pText + 0x7000; else _text = 0; };
- void setXY(uint16 x, uint16 y) { _x = x; _y = y; };
- bool isMouseOver(uint32 mouseX, uint32 mouseY);
- virtual void drawToScreen(bool doMask);
-
- dataFileHeader *_spriteData;
- uint32 _numSprites, _curSprite;
- uint16 _x, _y;
- uint32 _text;
- uint8 _onClick;
- OSystem *_system;
- uint8 *_screen;
-private:
-};
-
-class TextResource : public ConResource {
-public:
- TextResource(void *pSpData, uint32 pNSprites, uint32 pCurSprite, uint16 pX, uint16 pY, uint32 pText, uint8 pOnClick, OSystem *system, uint8 *screen);
- virtual ~TextResource(void);
- virtual void drawToScreen(bool doMask);
- void flushForRedraw(void);
-private:
- uint16 _oldX, _oldY;
- uint8 *_oldScreen;
-};
-
-class ControlStatus {
-public:
- ControlStatus(Text *skyText, OSystem *system, uint8 *scrBuf);
- ~ControlStatus(void);
- void setToText(const char *newText);
- void setToText(uint16 textNum);
- void drawToScreen(void);
-private:
- TextResource *_statusText;
- dataFileHeader *_textData;
- Text *_skyText;
- OSystem *_system;
- uint8 *_screenBuf;
-};
-
-class Control {
-public:
- Control(Common::SaveFileManager *saveFileMan, Screen *screen, Disk *disk, Mouse *mouse, Text *text, MusicBase *music, Logic *logic, Sound *sound, SkyCompact *skyCompact, OSystem *system);
- void doControlPanel(void);
- void doLoadSavePanel(void);
- void restartGame(void);
- void showGameQuitMsg(void);
- void doAutoSave(void);
- uint16 quickXRestore(uint16 slot);
- bool loadSaveAllowed(void);
-
-private:
- int displayMessage(const char *altButton, const char *message, ...);
-
- void initPanel(void);
- void removePanel(void);
-
- void drawMainPanel(void);
-
- void delay(unsigned int amount);
-
- void animClick(ConResource *pButton);
- bool getYesNo(char *text);
- void buttonControl(ConResource *pButton);
- uint16 handleClick(ConResource *pButton);
- uint16 doMusicSlide(void);
- uint16 doSpeedSlide(void);
- uint16 toggleFx(ConResource *pButton);
- uint16 toggleText(void);
- void toggleMusic(void);
- uint16 shiftDown(uint8 speed);
- uint16 shiftUp(uint8 speed);
- void drawTextCross(uint32 flags);
- void drawCross(uint16 x, uint16 y);
-
- uint16 saveRestorePanel(bool allowSave);
- void loadDescriptions(uint8 *destBuf);
- void saveDescriptions(uint8 *srcBuf);
- void setUpGameSprites(uint8 *nameBuf, dataFileHeader **nameSprites, uint16 firstNum, uint16 selectedGame);
- void showSprites(dataFileHeader **nameSprites, bool allowSave);
- bool checkKeyList(uint8 key);
- void handleKeyPress(uint8 key, uint8 *textBuf);
-
- uint16 _selectedGame;
- uint16 saveGameToFile(void);
- uint32 prepareSaveData(uint8 *destBuf);
-
- bool autoSaveExists(void);
- uint16 restoreGameFromFile(bool autoSave);
- void importOldMegaSet(uint8 **srcPos, MegaSet *mega);
- void importOldCompact(Compact* destCpt, uint8 **srcPos, uint16 numElems, uint16 type, char *name);
- uint16 parseSaveData(uint8 *srcBuf);
-
- Common::SaveFileManager *_saveFileMan;
- SkyCompact *_skyCompact;
- Screen *_skyScreen;
- Disk *_skyDisk;
- Mouse *_skyMouse;
- Text *_skyText;
- MusicBase *_skyMusic;
- Logic *_skyLogic;
- Sound *_skySound;
- OSystem *_system;
- int _mouseX, _mouseY;
- bool _mouseClicked;
- byte _keyPressed;
-
- struct {
- uint8 *controlPanel;
- uint8 *button;
- uint8 *buttonDown;
- uint8 *savePanel;
- uint8 *yesNo;
- uint8 *slide;
- uint8 *slode;
- uint8 *slode2;
- uint8 *slide2;
- uint8 *musicBodge;
- } _sprites;
-
- uint8 *_screenBuf;
- int _lastButton;
- uint32 _curButtonText;
- uint16 _firstText;
- uint16 _savedMouse;
- uint32 _savedCharSet;
- uint16 _enteredTextWidth;
-
- ConResource *createResource(void *pSpData, uint32 pNSprites, uint32 pCurSprite, int16 pX, int16 pY, uint32 pText, uint8 pOnClick, uint8 panelType);
-
- dataFileHeader *_textSprite;
- TextResource *_text;
-
- ConResource *_controlPanel, *_exitButton, *_slide, *_slide2, *_slode;
- ConResource *_restorePanButton, *_savePanButton, *_dosPanButton, *_restartPanButton, *_fxPanButton, *_musicPanButton;
- ConResource *_bodge, *_yesNo;
- ConResource *_controlPanLookList[9];
-
- //- Save/restore panel
- ConResource *_savePanel;
- ConResource *_saveButton, *_downFastButton, *_downSlowButton;
- ConResource *_upFastButton, *_upSlowButton, *_quitButton, *_restoreButton;
- ConResource *_autoSaveButton;
-
- ConResource *_savePanLookList[6], *_restorePanLookList[7];
-
- ControlStatus *_statusBar;
-
- static char _quitTexts[16][35];
- static uint8 _crossImg[594];
-};
-
-} // End of namespace Sky
-
-#endif // CONTROL_H