ScummVM API documentation
cge_main.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22/*
23 * This code is based on original Soltys source code
24 * Copyright (c) 1994-1995 Janusz B. Wisniewski and L.K. Avalon
25 */
26
27#ifndef CGE_CGEMAIN_H
28#define CGE_CGEMAIN_H
29
30#include "cge/events.h"
31
32namespace CGE {
33
34#define kSceneX 4
35#define kSceneY 166
36#define kSceneSX 0
37#define kSceneSY 0
38#define kInfoX 177
39#define kInfoY 164
40#define kInfoW 140
41#define kButtonX 151
42#define kButtonY 164
43#define kMiniX 86
44#define kMiniY 162
45#define kLineMax 512
46#define kDistMax 3
47#define kLgoExt ".LGO"
48#define kSvgExt ".SVG"
49#define kPaylistExt ".X00"
50#define kWinkExt ".X01"
51#define kIntroExt ".X02"
52#define kEndgExt ".X03"
53#define kWalkSide 10
54#define kBusyRef 500
55#define kSystemRate 6 // 12 Hz
56#define kHeroFun0 (40 * 12)
57#define kHeroFun1 ( 2 * 12)
58#define kShowScummVMVersion 15
59#define kTSeq 96
60#define kBadSVG 99
61#define kSeqHTalk (kTSeq + 4)
62#define kSeqTooFar (kTSeq + 5)
63#define kSeqNoWay (kTSeq + 5)
64#define kSeqPocketFull (kTSeq + 5)
65#define kSeqOffUse (kTSeq + 6)
66#define kQuitTitle 200
67#define kQuit 201
68#define kNoQuit 202
69#define kDemo 300
70#define kOffUseCount 600
71#define kOffUse 601
72#define kNoWay 671
73#define kTooFar 681
74#define kPocketFull 691
75#define kPanHeight 40
76#define kScrWidth 320
77#define kScrHeight 200
78#define kWorldHeight (kScrHeight - kPanHeight)
79#define kStackSize 2048
80#define kSavegameCheckSum (1956 + _now + _oldLev + _game + _music + kDemo)
81#define kSavegame0Name ("{{INIT}}" kSvgExt)
82#define kSavegameStrSize 11
83#define kGameFrameDelay (1000 / 50)
84#define kGameTickDelay (1000 / 62)
85
86class System : public Sprite {
87public:
88 int _funDel;
89
90 System(CGEEngine *vm);
91
92 void setPal();
93 void funTouch();
94 void touch(uint16 mask, int x, int y) override;
95 void tick() override;
96private:
97 CGEEngine *_vm;
98};
99
100class Square : public Sprite {
101public:
102 Square(CGEEngine *vm);
103 void touch(uint16 mask, int x, int y) override;
104private:
105 CGEEngine *_vm;
106};
107
108} // End of namespace CGE
109
110#endif
Definition: cge.h:150
Definition: vga13h.h:83
Definition: cge_main.h:100
Definition: cge_main.h:86