summaryrefslogtreecommitdiff
path: root/include/constants/secret_bases.h
blob: e9188fbf5abdf7f6b7eae364e4933d5637e43574 (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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#ifndef GUARD_CONSTANTS_SECRET_BASES_H
#define GUARD_CONSTANTS_SECRET_BASES_H

#define SECRET_BASE_RED_CAVE 1
#define SECRET_BASE_BROWN_CAVE 2
#define SECRET_BASE_BLUE_CAVE 3
#define SECRET_BASE_YELLOW_CAVE 4
#define SECRET_BASE_TREE 5
#define SECRET_BASE_SHRUB 6

// Each secret base location is assigned an identifier value.
// The secret base's map is determined by (id / 10). The ones
// digit is used to differentiate secret bases using the same map.
// Therefore, each secret base map can be used by up to 10 different
// secret bases in the game.

// * 4 is for each byte of data per secret base group in sSecretBaseEntrancePositions
// They are the map number, the entrance warp id, and the x/y position in front of the computer
#define SECRET_BASE_GROUP(idx) ((idx) * 4)
#define SECRET_BASE_ID_TO_GROUP(baseId) SECRET_BASE_GROUP((baseId) / 10)

#define SECRET_BASE_RED_CAVE1_1     1
#define SECRET_BASE_RED_CAVE1_2     2
#define SECRET_BASE_RED_CAVE1_3     3

#define SECRET_BASE_RED_CAVE1 SECRET_BASE_GROUP(0)

#define SECRET_BASE_RED_CAVE2_1     11
#define SECRET_BASE_RED_CAVE2_2     12
#define SECRET_BASE_RED_CAVE2_3     13

#define SECRET_BASE_RED_CAVE2 SECRET_BASE_GROUP(1)

#define SECRET_BASE_RED_CAVE3_1     21
#define SECRET_BASE_RED_CAVE3_2     22
#define SECRET_BASE_RED_CAVE3_3     23

#define SECRET_BASE_RED_CAVE3 SECRET_BASE_GROUP(2)

#define SECRET_BASE_RED_CAVE4_1     31
#define SECRET_BASE_RED_CAVE4_2     32
#define SECRET_BASE_RED_CAVE4_3     33

#define SECRET_BASE_RED_CAVE4 SECRET_BASE_GROUP(3)

#define SECRET_BASE_BROWN_CAVE1_1   41
#define SECRET_BASE_BROWN_CAVE1_2   42
#define SECRET_BASE_BROWN_CAVE1_3   43

#define SECRET_BASE_BROWN_CAVE1 SECRET_BASE_GROUP(4)

#define SECRET_BASE_BROWN_CAVE2_1   51
#define SECRET_BASE_BROWN_CAVE2_2   52
#define SECRET_BASE_BROWN_CAVE2_3   53

#define SECRET_BASE_BROWN_CAVE2 SECRET_BASE_GROUP(5)

#define SECRET_BASE_BROWN_CAVE3_1   61
#define SECRET_BASE_BROWN_CAVE3_2   62
#define SECRET_BASE_BROWN_CAVE3_3   63

#define SECRET_BASE_BROWN_CAVE3 SECRET_BASE_GROUP(6)

#define SECRET_BASE_BROWN_CAVE4_1   71
#define SECRET_BASE_BROWN_CAVE4_2   72
#define SECRET_BASE_BROWN_CAVE4_3   73

#define SECRET_BASE_BROWN_CAVE4 SECRET_BASE_GROUP(7)

#define SECRET_BASE_BLUE_CAVE1_1    81
#define SECRET_BASE_BLUE_CAVE1_2    82
#define SECRET_BASE_BLUE_CAVE1_3    83

#define SECRET_BASE_BLUE_CAVE1 SECRET_BASE_GROUP(8)

#define SECRET_BASE_BLUE_CAVE2_1    91
#define SECRET_BASE_BLUE_CAVE2_2    92
#define SECRET_BASE_BLUE_CAVE2_3    93

#define SECRET_BASE_BLUE_CAVE2 SECRET_BASE_GROUP(9)

#define SECRET_BASE_BLUE_CAVE3_1    101
#define SECRET_BASE_BLUE_CAVE3_2    102
#define SECRET_BASE_BLUE_CAVE3_3    103

#define SECRET_BASE_BLUE_CAVE3 SECRET_BASE_GROUP(10)

#define SECRET_BASE_BLUE_CAVE4_1    111
#define SECRET_BASE_BLUE_CAVE4_2    112
#define SECRET_BASE_BLUE_CAVE4_3    113

#define SECRET_BASE_BLUE_CAVE4 SECRET_BASE_GROUP(11)

#define SECRET_BASE_YELLOW_CAVE1_1  121
#define SECRET_BASE_YELLOW_CAVE1_2  122
#define SECRET_BASE_YELLOW_CAVE1_3  123

#define SECRET_BASE_YELLOW_CAVE1 SECRET_BASE_GROUP(12)

#define SECRET_BASE_YELLOW_CAVE2_1  131
#define SECRET_BASE_YELLOW_CAVE2_2  132
#define SECRET_BASE_YELLOW_CAVE2_3  133

#define SECRET_BASE_YELLOW_CAVE2 SECRET_BASE_GROUP(13)

#define SECRET_BASE_YELLOW_CAVE3_1  141
#define SECRET_BASE_YELLOW_CAVE3_2  142
#define SECRET_BASE_YELLOW_CAVE3_3  143

#define SECRET_BASE_YELLOW_CAVE3 SECRET_BASE_GROUP(14)

#define SECRET_BASE_YELLOW_CAVE4_1  151
#define SECRET_BASE_YELLOW_CAVE4_2  152
#define SECRET_BASE_YELLOW_CAVE4_3  153

#define SECRET_BASE_YELLOW_CAVE4 SECRET_BASE_GROUP(15)

#define SECRET_BASE_TREE1_1         161
#define SECRET_BASE_TREE1_2         162
#define SECRET_BASE_TREE1_3         163
#define SECRET_BASE_TREE1_4         164

#define SECRET_BASE_TREE1 SECRET_BASE_GROUP(16)

#define SECRET_BASE_TREE2_1         171
#define SECRET_BASE_TREE2_2         172
#define SECRET_BASE_TREE2_3         173
#define SECRET_BASE_TREE2_4         174

#define SECRET_BASE_TREE2 SECRET_BASE_GROUP(17)

#define SECRET_BASE_TREE3_1         181
#define SECRET_BASE_TREE3_2         182
#define SECRET_BASE_TREE3_3         183

#define SECRET_BASE_TREE3 SECRET_BASE_GROUP(18)

#define SECRET_BASE_TREE4_1         191
#define SECRET_BASE_TREE4_2         192
#define SECRET_BASE_TREE4_3         193

#define SECRET_BASE_TREE4 SECRET_BASE_GROUP(19)

#define SECRET_BASE_SHRUB1_1        201
#define SECRET_BASE_SHRUB1_2        202
#define SECRET_BASE_SHRUB1_3        203
#define SECRET_BASE_SHRUB1_4        204

#define SECRET_BASE_SHRUB1 SECRET_BASE_GROUP(20)

#define SECRET_BASE_SHRUB2_1        211
#define SECRET_BASE_SHRUB2_2        212
#define SECRET_BASE_SHRUB2_3        213

#define SECRET_BASE_SHRUB2 SECRET_BASE_GROUP(21)

#define SECRET_BASE_SHRUB3_1        221
#define SECRET_BASE_SHRUB3_2        222
#define SECRET_BASE_SHRUB3_3        223

#define SECRET_BASE_SHRUB3 SECRET_BASE_GROUP(22)

#define SECRET_BASE_SHRUB4_1        231
#define SECRET_BASE_SHRUB4_2        232
#define SECRET_BASE_SHRUB4_3        233

#define SECRET_BASE_SHRUB4 SECRET_BASE_GROUP(23)

#define NUM_SECRET_BASE_GROUPS 24

#endif  // GUARD_CONSTANTS_SECRET_BASES_H