ScummVM API documentation
computer.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#ifndef HOPKINS_COMPUTER_H
23#define HOPKINS_COMPUTER_H
24
25#include "common/scummsys.h"
26#include "common/str.h"
27#include "common/rect.h"
28
29namespace Hopkins {
30
31class HopkinsEngine;
32
33enum ComputerEnum { COMPUTER_HOPKINS = 1, COMPUTER_SAMANTHA = 2, COMPUTER_PUBLIC = 3 };
34
36private:
37 HopkinsEngine *_vm;
38
39 struct MenuItem {
40 int _lineSize;
41 char _line[90];
42 };
43
44 struct ScoreItem {
45 Common::String _name;
46 Common::String _score;
47 };
48
49 MenuItem _menuText[50];
50 char _inputBuf[200];
51 ScoreItem _score[6];
52 int _textColor;
53 Common::Point _textPosition;
54 Common::Point _ballPosition;
55 byte *_breakoutSpr;
56 int16 *_breakoutLevel;
57 int _breakoutBrickNbr;
58 int _breakoutScore;
59 int _breakoutLives;
60 int _breakoutSpeed;
61 bool _ballRightFl;
62 bool _ballUpFl;
63 int _breakoutLevelNbr;
64 int _padPositionX;
65 int _lowestHiScore;
66 int _minBreakoutMoveSpeed;
67 int _maxBreakoutMoveSpeed;
68 int _lastBreakoutMoveSpeed;
69
70 void loadMenu();
71 void restoreFBIRoom();
72 void setVideoMode();
73 void setTextMode();
74 void clearScreen();
75 void setTextColor(int col);
76 void setTextPosition(int yp, int xp);
77 void outText(const Common::String &msg);
78 void outText2(const Common::String &msg);
79 void readText(int idx);
80 void loadHiscore();
81 void newLevel();
82 void setModeVGA256();
83 void displayLives();
84 void displayBricks();
85 void displayGamesSubMenu();
86 int displayHiscores();
87 void displayHiscoreLine(const byte *objectData, int x, int y, int curChar);
88 void displayMessage(int xp, int yp, int textIdx);
89 void displayScore();
90 void displayScoreChar(int charPos, int charDisp);
91 void getScoreName();
92 void playBreakout();
93 int moveBall();
94 void saveScore();
95 void checkBallCollisions();
96
97public:
99
100 void showComputer(ComputerEnum mode);
101};
102
103} // End of namespace Hopkins
104
105#endif /* HOPKINS_COMPUTER_H */
Definition: str.h:59
Definition: computer.h:35
Definition: hopkins.h:97
Definition: anim.h:30
Definition: rect.h:144