aboutsummaryrefslogtreecommitdiff
path: root/engines/access/amazon/amazon_resources.h
blob: ca0bfeb5b77c5dbe70322d7ea4bc5dc86449f3c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/* ScummVM - Graphic Adventure Engine
 *
 * ScummVM is the legal property of its developers, whose names
 * are too numerous to list here. Please refer to the COPYRIGHT
 * file distributed with this source distribution.
 *
 * 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.
 *
 */

#ifndef ACCESS_AMAZON_RESOURCES_H
#define ACCESS_AMAZON_RESOURCES_H

#include "common/scummsys.h"
#include "common/array.h"
#include "access/resources.h"

namespace Access {

namespace Amazon {

enum InventoryEnum {
	INV_BAITED_POLE = 67, INV_TORCH = 76, INV_KNIFE_SPEAR = 78
};

struct RiverStruct {
	int _id;
	int _width;
	int _riverX;
	int _xp;
	int _lane;
	int _offsetY;
};

extern const int SIDEOFFR[];
extern const int SIDEOFFL[];
extern const int SIDEOFFU[];
extern const int SIDEOFFD[];
extern const int DIAGOFFURX[];
extern const int DIAGOFFURY[];
extern const int DIAGOFFDRX[];
extern const int DIAGOFFDRY[];
extern const int DIAGOFFULX[];
extern const int DIAGOFFULY[];
extern const int DIAGOFFDLX[];
extern const int DIAGOFFDLY[];

extern const int _travelPos[][2];

extern const int OVEROFFR[];
extern const int OVEROFFL[];
extern const int OVEROFFU[];
extern const int OVEROFFD[];
extern const int OVEROFFURX[];
extern const int OVEROFFURY[];
extern const int OVEROFFDRX[];
extern const int OVEROFFDRY[];
extern const int OVEROFFULX[];
extern const int OVEROFFULY[];
extern const int OVEROFFDLX[];
extern const int OVEROFFDLY[];

extern const int DEATH_CELLS[13][3];

extern const int CHAPTER_CELLS[17][3];

extern const int CHAPTER_TABLE[14][5];

extern const int CHAPTER_JUMP[14];

extern const int COMBO_TABLE[85][4];

extern const int ANTWALK[24];

extern const int ANTEAT[33];

extern const int ANTDIE[21];

extern const int PITWALK[27];

extern const int PITSTAB[21];

extern const int TORCH[12];

extern const int SPEAR[3];

extern const int OPENING_OBJS[10][4];

extern const byte MAP0[26];
extern const byte MAP1[27];
extern const byte MAP2[32];

extern const byte *const MAPTBL[3];

extern const int DOWNRIVEROBJ[14][4];

extern RiverStruct RIVER0OBJECTS[46];
extern RiverStruct RIVER1OBJECTS[50];
extern RiverStruct RIVER2OBJECTS[54];
extern RiverStruct *RIVER_OBJECTS[3][2];
enum { RIVER_START = 0, RIVER_END = 1 };

extern const int HELP1COORDS[2][4];

extern const int RIVER1OBJ[23][4];

extern const int CAST_END_OBJ[26][4];
extern const int CAST_END_OBJ1[4][4];

extern const int RMOUSE[10][2];

class AmazonResources: public Resources {
protected:
	/**
	 * Load data from the access.dat file
	 */
	virtual void load(Common::SeekableReadStream &s);
public:
	Common::Array<int> FONT2_INDEX;
	Common::Array<byte> FONT2_DATA;
	Common::Array<int> FONT6x6_INDEX;
	Common::Array<byte> FONT6x6_DATA;
	Common::String NO_HELP_MESSAGE;
	Common::String NO_HINTS_MESSAGE;
	Common::String RIVER_HIT1;
	Common::String RIVER_HIT2;
	Common::String BAR_MESSAGE;
	Common::String HELPLVLTXT[3];
	Common::String IQLABELS[9];
public:
	AmazonResources(AccessEngine *vm);
};

#define AMRES (*((Amazon::AmazonResources *)_vm->_res))

} // End of namespace Amazon
} // End of namespace Access

#endif /* ACCESS_AMAZON_RESOURCES_H */