aboutsummaryrefslogtreecommitdiff
path: root/saga/saga.h
diff options
context:
space:
mode:
authorAndrew Kurushin2005-01-13 22:42:49 +0000
committerAndrew Kurushin2005-01-13 22:42:49 +0000
commit326dd0c2553db220283cda1403c77bc0870f7451 (patch)
treeed32eec8ad09f04ae4b820e1692b53a58983f1b4 /saga/saga.h
parente97c689f8bcbc925c02196b0596e9749a2533e88 (diff)
downloadscummvm-rg350-326dd0c2553db220283cda1403c77bc0870f7451.tar.gz
scummvm-rg350-326dd0c2553db220283cda1403c77bc0870f7451.tar.bz2
scummvm-rg350-326dd0c2553db220283cda1403c77bc0870f7451.zip
- introduced SagaEngine::getTextString (for i18n it should route to corresponding string array)
- first step in verb implementation: proper button draw, keyboard respond 'w','l' &etc - added comments and some fields to GameDisplayInfo svn-id: r16554
Diffstat (limited to 'saga/saga.h')
-rw-r--r--saga/saga.h81
1 files changed, 72 insertions, 9 deletions
diff --git a/saga/saga.h b/saga/saga.h
index d50a4b7de8..e1ac0a17cf 100644
--- a/saga/saga.h
+++ b/saga/saga.h
@@ -99,7 +99,7 @@ enum GameObjectTypes {
kGameObjectStepZone = 4
};
-enum scriptTimings {
+enum ScriptTimings {
kScriptTimeTicksPerSecond = (728L/10L),
kRepeatSpeed = 40, // 25 frames/sec
kNormalFadeDuration = 320, // 64 steps, 5 msec each
@@ -131,6 +131,52 @@ enum HitZoneFlags {
kHitZoneTerminus = (1 << 3)
};
+enum PanelButtonType {
+ kPanelButtonVerb = 0,
+ kPanelButtonArrow = 1
+};
+
+enum TextStringIds {
+ kTextWalkTo,
+ kTextLookAt,
+ kTextPickUp,
+ kTextTalkTo,
+ kTextOpen,
+ kTextClose,
+ kTextUse,
+ kTextGive,
+ kTextOptions,
+ kTextTest,
+ kTextDemo,
+ kTextHelp,
+ kTextQuitGame,
+ kTextFast,
+ kTextSlow,
+ kTextOn,
+ kTextOff,
+ kTextContinuePlaying,
+ kTextLoad,
+ kTextSave,
+ kTextGameOptions,
+ kTextReadingSpeed,
+ kTextMusic,
+ kTextSound,
+ kTextCancel,
+ kTextQuit,
+ kTextOK,
+ kTextMid,
+ kTextClick,
+ kText10Percent,
+ kText20Percent,
+ kText30Percent,
+ kText40Percent,
+ kText50Percent,
+ kText60Percent,
+ kText70Percent,
+ kText80Percent,
+ kText90Percent,
+ kTextMax
+};
struct IMAGE_HEADER {
int width;
@@ -236,8 +282,8 @@ struct GameFontDescription {
struct GameResourceDescription {
uint32 scene_lut_rn;
uint32 script_lut_rn;
- uint32 command_panel_rn;
- uint32 dialogue_panel_rn;
+ uint32 mainPanelResourceId;
+ uint32 conversePanelResourceId;
};
struct GameFileDescription {
@@ -245,6 +291,18 @@ struct GameFileDescription {
uint16 fileType;
};
+struct PanelButton {
+ PanelButtonType type;
+ int xOffset;
+ int yOffset;
+ int width;
+ int height;
+ int id;
+ int keyChar;
+ int upSpriteNumber;
+ int downSpriteNumber;
+};
+
struct GameDisplayInfo {
int logicalWidth;
int logicalHeight;
@@ -263,10 +321,10 @@ struct GameDisplayInfo {
int verbTextShadowColor;
int verbTextActiveColor;
- int leftPortraitX;
- int leftPortraitY;
- int rightPortraitX;
- int rightPortraitY;
+ int leftPortraitXOffset;
+ int leftPortraitYOffset;
+ int rightPortraitXOffset;
+ int rightPortraitYOffset;
int inventoryX;
int inventoryY;
@@ -274,12 +332,15 @@ struct GameDisplayInfo {
int inventoryColumns;
int inventoryIconWidth;
int inventoryIconHeight;
- int inventoryIconX;
- int inventoryIconY;
+ int inventoryIconXOffset;
+ int inventoryIconYOffset;
int inventoryXSpacing;
int inventoryYSpacing;
+ int mainPanelButtonsCount;
+ PanelButton *mainPanelButtons;
};
+
struct GameDescription {
const char *name;
SAGAGameType gameType;
@@ -433,6 +494,8 @@ public:
int getDisplayHeight() const { return _gameDisplayInfo.logicalHeight;}
int getSceneHeight() const { return _gameDisplayInfo.sceneHeight; }
const GameDisplayInfo & getDisplayInfo() { return _gameDisplayInfo; }
+
+ const char *getTextString(int textStringId);
private:
int loadLanguage(void);
int loadGame(int gameNumber);