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
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (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, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20  *
21  */
22 
23 #ifndef ACCESS_AMAZON_RESOURCES_H
24 #define ACCESS_AMAZON_RESOURCES_H
25 
26 #include "common/scummsys.h"
27 #include "common/array.h"
28 #include "access/resources.h"
29 #include "access/font.h"
30 
31 namespace Access {
32 
33 namespace Amazon {
34 
35 enum InventoryEnum {
36 	INV_BAITED_POLE = 67, INV_TORCH = 76, INV_KNIFE_SPEAR = 78
37 };
38 
39 struct RiverStruct {
40 	int _id;
41 	int _width;
42 	int _riverX;
43 	int _xp;
44 	int _lane;
45 	int _offsetY;
46 };
47 
48 extern const int SIDEOFFR[];
49 extern const int SIDEOFFL[];
50 extern const int SIDEOFFU[];
51 extern const int SIDEOFFD[];
52 extern const int DIAGOFFURX[];
53 extern const int DIAGOFFURY[];
54 extern const int DIAGOFFDRX[];
55 extern const int DIAGOFFDRY[];
56 extern const int DIAGOFFULX[];
57 extern const int DIAGOFFULY[];
58 extern const int DIAGOFFDLX[];
59 extern const int DIAGOFFDLY[];
60 
61 extern const int _travelPos[][2];
62 
63 extern const int OVEROFFR[];
64 extern const int OVEROFFL[];
65 extern const int OVEROFFU[];
66 extern const int OVEROFFD[];
67 extern const int OVEROFFURX[];
68 extern const int OVEROFFURY[];
69 extern const int OVEROFFDRX[];
70 extern const int OVEROFFDRY[];
71 extern const int OVEROFFULX[];
72 extern const int OVEROFFULY[];
73 extern const int OVEROFFDLX[];
74 extern const int OVEROFFDLY[];
75 
76 extern const int DEATH_CELLS[13][3];
77 
78 extern const int CHAPTER_CELLS[17][3];
79 
80 extern const int CHAPTER_TABLE[14][5];
81 
82 extern const int CHAPTER_JUMP[14];
83 
84 extern const int COMBO_TABLE[85][4];
85 
86 extern const int ANTWALK[24];
87 
88 extern const int ANTEAT[33];
89 
90 extern const int ANTDIE[21];
91 
92 extern const int PITWALK[27];
93 
94 extern const int PITSTAB[21];
95 
96 extern const int TORCH[12];
97 
98 extern const int SPEAR[3];
99 
100 extern const int OPENING_OBJS[10][4];
101 
102 extern const byte MAP0[26];
103 extern const byte MAP1[27];
104 extern const byte MAP2[32];
105 
106 extern const byte *const MAPTBL[3];
107 
108 extern const int DOWNRIVEROBJ[14][4];
109 
110 extern RiverStruct RIVER0OBJECTS[46];
111 extern RiverStruct RIVER1OBJECTS[50];
112 extern RiverStruct RIVER2OBJECTS[54];
113 extern RiverStruct *RIVER_OBJECTS[3][2];
114 enum { RIVER_START = 0, RIVER_END = 1 };
115 
116 extern const int HELP1COORDS[2][4];
117 
118 extern const int RIVER1OBJ[23][4];
119 
120 extern const int CAST_END_OBJ[26][4];
121 extern const int CAST_END_OBJ1[4][4];
122 
123 extern const int RMOUSE[10][2];
124 
125 class AmazonResources: public Resources {
126 protected:
127 	/**
128 	 * Load data from the access.dat file
129 	 */
130 	void load(Common::SeekableReadStream &s) override;
131 public:
132 	AmazonFont *_font3x5, *_font6x6;
133 	Common::String NO_HELP_MESSAGE;
134 	Common::String NO_HINTS_MESSAGE;
135 	Common::String RIVER_HIT1;
136 	Common::String RIVER_HIT2;
137 	Common::String BAR_MESSAGE;
138 	Common::String HELPLVLTXT[3];
139 	Common::String IQLABELS[9];
140 public:
AmazonResources(AccessEngine * vm)141 	AmazonResources(AccessEngine *vm) : Resources(vm), _font3x5(nullptr), _font6x6(nullptr) {}
142 	~AmazonResources() override;
143 };
144 
145 #define AMRES (*((Amazon::AmazonResources *)_vm->_res))
146 
147 } // End of namespace Amazon
148 } // End of namespace Access
149 
150 #endif /* ACCESS_AMAZON_RESOURCES_H */
151