Skip to content
🌋️
Alchemy
Theme: Weyard
Theme: Modern
Mode: Auto
Mode: Light
Mode: Dark
Alchemy
Source
Reference
Loading...
Searching...
No Matches
tbs_edition.h
Go to the documentation of this file.
1
#ifndef GUARD_TBS_EDITION_H
2
#define GUARD_TBS_EDITION_H
3
4
/// @file
5
/// Values that differ by patch level or language, chosen once for their code.
6
7
#include "
version.h
"
8
9
#if !TBS_PATCH_1
10
#define LUNPA_RETURN_TRANSITION_VARIANT 9
11
#else
12
#define LUNPA_RETURN_TRANSITION_VARIANT 0
13
#endif
14
15
#if !TBS_PATCH_1
16
#define RENDER_DIRTY_OFFSET 0xF33
17
#define RENDER_MODE_OFFSET 0xF34
18
#define RENDER_BUSY_OFFSET 0x1189
19
#define RENDER_VALUE_TABLE_OFFSET 0x114C
20
#define RENDER_NAME_TABLE_OFFSET 0x116C
21
#define RENDER_CHANNEL_OFFSET 0x6B0
22
#define RENDER_OUTPUT_TABLE_OFFSET 0x728
23
#define RENDER_ENTRY_TABLE_OFFSET 0xF40
24
#define RENDER_MENU_STATE_OFFSET 0xF35
25
#define RENDER_MENU_BUSY_OFFSET 0xF36
26
#define RENDER_ALT_OFFSET 0xF32
27
#define RENDER_WORD_OFFSET 0xF3C
28
#define RENDER_WORD2_OFFSET 0xF38
29
#define RENDER_PARAM_OFFSET 0xF3E
30
#define RENDER_TILE_ATTR_OFFSET 0xE30
31
#define RENDER_FREE_HEAD_OFFSET 0xE28
32
#define RENDER_FREE_TAIL_OFFSET 0xE2C
33
#define RENDER_ENTRY_COUNT_OFFSET 0x1142
34
#define RENDER_RESULT_OFFSET 0x1184
35
#define RENDER_ENTRY_MASK 0xFF
36
#define WINDOW_COUNT 12
37
#define RENDER_LEVEL_OFFSET 0xF37
38
#define RENDER_COUNTER_OFFSET 0x1146
39
#define RENDER_WORK_SIZE 0x118C
40
#define RENDER_PALETTE_TABLE_OFFSET 0x1160
41
#define RENDER_SLOT_ID_OFFSET 0x117C
42
#define RENDER_SLOT_VALUE_OFFSET 0x1180
43
#define SELECT_MENU_WIDTH 5
44
#define TYPE_MENU_WIDTH 4
45
#define MENU_TEXT_X 100
46
#define MENU_LABEL_X 110
47
#define LIST_MARKER_CHAR 65
48
#else
49
#define RENDER_DIRTY_OFFSET 0xEA3
50
#define RENDER_MODE_OFFSET 0xEA4
51
#define RENDER_BUSY_OFFSET 0x12F9
52
#define RENDER_VALUE_TABLE_OFFSET 0x12BC
53
#define RENDER_NAME_TABLE_OFFSET 0x12DC
54
#define RENDER_CHANNEL_OFFSET 0x620
55
#define RENDER_OUTPUT_TABLE_OFFSET 0x698
56
#define RENDER_ENTRY_TABLE_OFFSET 0xEB0
57
#define RENDER_MENU_STATE_OFFSET 0xEA5
58
#define RENDER_MENU_BUSY_OFFSET 0xEA6
59
#define RENDER_ALT_OFFSET 0xEA2
60
#define RENDER_WORD_OFFSET 0xEAC
61
#define RENDER_WORD2_OFFSET 0xEA8
62
#define RENDER_PARAM_OFFSET 0xEAE
63
#define RENDER_TILE_ATTR_OFFSET 0xDA0
64
#define RENDER_FREE_HEAD_OFFSET 0xD98
65
#define RENDER_FREE_TAIL_OFFSET 0xD9C
66
#define RENDER_ENTRY_COUNT_OFFSET 0x12B2
67
#define RENDER_RESULT_OFFSET 0x12F4
68
#define RENDER_ENTRY_MASK 0x1FF
69
#define WINDOW_COUNT 8
70
#define RENDER_LEVEL_OFFSET 0xEA7
71
#define RENDER_COUNTER_OFFSET 0x12B6
72
#define RENDER_WORK_SIZE 0x12FC
73
#define RENDER_PALETTE_TABLE_OFFSET 0x12D0
74
#define RENDER_SLOT_ID_OFFSET 0x12EC
75
#define RENDER_SLOT_VALUE_OFFSET 0x12F0
76
#define SELECT_MENU_WIDTH 7
77
#define TYPE_MENU_WIDTH 7
78
#define MENU_TEXT_X 74
79
#define MENU_LABEL_X 82
80
#define LIST_MARKER_CHAR 49
81
#endif
82
83
#define MENU_TEXT_Y 60
84
85
#if (LANGUAGE == LANGUAGE_GERMAN) || (LANGUAGE == LANGUAGE_SPANISH) || \
86
(LANGUAGE == LANGUAGE_FRENCH) || (LANGUAGE == LANGUAGE_ITALIAN)
87
#define COLOSSO_PALETTE_BYTES 192
88
#define LOBBY_PREFIX_LIMIT 7
89
#else
90
#define COLOSSO_PALETTE_BYTES 160
91
#define LOBBY_PREFIX_LIMIT 4
92
#endif
93
94
#if (LANGUAGE == LANGUAGE_GERMAN) || (LANGUAGE == LANGUAGE_SPANISH) || \
95
(LANGUAGE == LANGUAGE_FRENCH) || (LANGUAGE == LANGUAGE_ITALIAN)
96
#define TICKET_COUNTER_WINDOW_X 18
97
#define TICKET_COUNTER_WIDTH 12
98
#define TICKET_COUNTER_X 32
99
#else
100
#define TICKET_COUNTER_WINDOW_X 19
101
#define TICKET_COUNTER_WIDTH 11
102
#if !TBS_PATCH_1
103
#define TICKET_COUNTER_X 0
104
#else
105
#define TICKET_COUNTER_X 24
106
#endif
107
#endif
108
109
#if !TBS_PATCH_1
110
#define SHOP_LIST_X 16
111
#define SHOP_LIST_WIDTH 14
112
#define HELP_TEXT_X 16
113
#define SWITCH_HELP_X 64
114
#define PAGE_ROWS 6
115
#define MENU_ROW_COUNT 4
116
#elif (LANGUAGE == LANGUAGE_GERMAN)
117
#define SHOP_LIST_X 14
118
#define SHOP_LIST_WIDTH 16
119
#define HELP_TEXT_X 0
120
#define SWITCH_HELP_X 80
121
#define PAGE_ROWS 5
122
#define MENU_ROW_COUNT 8
123
#else
124
#define SHOP_LIST_X 15
125
#define SHOP_LIST_WIDTH 15
126
#define HELP_TEXT_X 0
127
#define SWITCH_HELP_X 80
128
#define PAGE_ROWS 5
129
#define MENU_ROW_COUNT 8
130
#endif
131
132
#if !TBS_PATCH_1
133
#define SHOP_MONEY_WIDTH 11
134
#define SHOP_PRICE_WIDTH 14
135
#elif (LANGUAGE == LANGUAGE_GERMAN)
136
#define SHOP_MONEY_WIDTH 12
137
#define SHOP_PRICE_WIDTH 16
138
#else
139
#define SHOP_MONEY_WIDTH 12
140
#define SHOP_PRICE_WIDTH 15
141
#endif
142
143
#if (LANGUAGE == LANGUAGE_ITALIAN)
144
#define DJINN_JOIN_X 1
145
#define DJINN_JOIN_WIDTH 28
146
#else
147
#define DJINN_JOIN_X 2
148
#define DJINN_JOIN_WIDTH 26
149
#endif
150
151
#if !TBS_PATCH_1
152
#define OPTION_WINDOW_X 2
153
#define OPTION_WINDOW_WIDTH 26
154
#define OPTION_SLIDER_X 100
155
#define OPTION_FRAME_X 92
156
#define OPTION_SETTING_X 168
157
#define OPTION_SETTING_END 192
158
#define OPTION_SPEED_END 192
159
#else
160
#define OPTION_WINDOW_X 1
161
#define OPTION_WINDOW_WIDTH 28
162
#define OPTION_SLIDER_X 140
163
#define OPTION_FRAME_X 84
164
#define OPTION_SETTING_X 160
165
#define OPTION_SETTING_END 184
166
#if (LANGUAGE == LANGUAGE_GERMAN) || (LANGUAGE == LANGUAGE_FRENCH)
167
#define OPTION_SPEED_END 208
168
#else
169
#define OPTION_SPEED_END 200
170
#endif
171
#endif
172
173
#if (LANGUAGE == LANGUAGE_GERMAN)
174
#define STOCK_LABEL_X 32
175
#elif (LANGUAGE == LANGUAGE_SPANISH)
176
#define STOCK_LABEL_X 30
177
#elif (LANGUAGE == LANGUAGE_FRENCH)
178
#define STOCK_LABEL_X 29
179
#else
180
#define STOCK_LABEL_X 24
181
#endif
182
183
#if (LANGUAGE == LANGUAGE_SPANISH)
184
#define REEL_TITLE_LETTERS 9
185
#define REEL_TITLE_X 8
186
#else
187
#define REEL_TITLE_LETTERS 8
188
#define REEL_TITLE_X 24
189
#endif
190
191
#if TBS_PATCH_1
192
#define REEL_HELP_WINDOW_X 2
193
#define REEL_HELP_WINDOW_WIDTH 26
194
#define REEL_JACKPOT_TILES 0x06016e00
195
#define REEL_JACKPOT_COPY 0x84000480
196
#define REEL_TITLE_TILES 0x370
197
#else
198
#define REEL_HELP_WINDOW_X 6
199
#define REEL_HELP_WINDOW_WIDTH 18
200
#define REEL_JACKPOT_TILES 0x06017000
201
#define REEL_JACKPOT_COPY 0x84000400
202
#define REEL_TITLE_TILES 0x380
203
#endif
204
205
#if !TBS_PATCH_1
206
#define REEL_STOP_X 23
207
#define REEL_STOP_WIDTH 7
208
#elif (LANGUAGE == LANGUAGE_SPANISH)
209
#define REEL_STOP_X 21
210
#define REEL_STOP_WIDTH 9
211
#define REEL_ALL_HELD_X 6
212
#define REEL_ALL_HELD_WIDTH 24
213
#define REEL_START_X 22
214
#define REEL_START_WIDTH 8
215
#define REEL_HOLD_X 22
216
#define REEL_HOLD_WIDTH 8
217
#define REEL_RELEASE_X 22
218
#define REEL_RELEASE_WIDTH 8
219
#elif (LANGUAGE == LANGUAGE_ITALIAN)
220
#define REEL_STOP_X 18
221
#define REEL_STOP_WIDTH 12
222
#define REEL_ALL_HELD_X 10
223
#define REEL_ALL_HELD_WIDTH 20
224
#define REEL_START_X 21
225
#define REEL_START_WIDTH 9
226
#define REEL_HOLD_X 21
227
#define REEL_HOLD_WIDTH 9
228
#define REEL_RELEASE_X 21
229
#define REEL_RELEASE_WIDTH 9
230
#elif (LANGUAGE == LANGUAGE_GERMAN)
231
#define REEL_STOP_X 18
232
#define REEL_STOP_WIDTH 12
233
#define REEL_ALL_HELD_X 11
234
#define REEL_ALL_HELD_WIDTH 19
235
#define REEL_START_X 16
236
#define REEL_START_WIDTH 14
237
#define REEL_HOLD_X 22
238
#define REEL_HOLD_WIDTH 8
239
#define REEL_RELEASE_X 21
240
#define REEL_RELEASE_WIDTH 9
241
#else
242
#define REEL_STOP_X 18
243
#define REEL_STOP_WIDTH 12
244
#define REEL_ALL_HELD_X 11
245
#define REEL_ALL_HELD_WIDTH 19
246
#define REEL_START_X 16
247
#define REEL_START_WIDTH 14
248
#define REEL_HOLD_X 23
249
#define REEL_HOLD_WIDTH 7
250
#define REEL_RELEASE_X 23
251
#define REEL_RELEASE_WIDTH 7
252
#endif
253
#if (LANGUAGE == LANGUAGE_FRENCH) || (LANGUAGE == LANGUAGE_ITALIAN) || \
254
(LANGUAGE == LANGUAGE_SPANISH)
255
#define REEL_COIN_DIGITS 3
256
#define REEL_COIN_X 56
257
#define REEL_HINT_BEFORE_LAST_SPIN 1
258
#else
259
#define REEL_COIN_DIGITS 2
260
#define REEL_COIN_X 64
261
#define REEL_HINT_BEFORE_LAST_SPIN 0
262
#endif
263
264
#if !TBS_PATCH_1
265
#define RENDER_RESOURCE_BASE 0x9D4
266
#elif (LANGUAGE == LANGUAGE_GERMAN) || (LANGUAGE == LANGUAGE_SPANISH) || \
267
(LANGUAGE == LANGUAGE_FRENCH) || (LANGUAGE == LANGUAGE_ITALIAN)
268
#define RENDER_RESOURCE_BASE 0xBDF
269
#else
270
#define RENDER_RESOURCE_BASE 0x99B
271
#endif
272
273
#if !TBS_PATCH_1
274
#define RANGE_ICON_TILE 0xf200
275
#define LIST_FIRST_ROW 1
276
#define LIST_ICONS_X 86
277
#define LIST_ICONS_Y 53
278
#define LIST_PP_X 144
279
#define LIST_NAME_X 96
280
#define LIST_PP_NUMBER_X 168
281
#define LIST_EMPTY_Y 8
282
#else
283
#define RANGE_ICON_TILE 0xf280
284
#define LIST_FIRST_ROW 2
285
#define LIST_ICONS_X 80
286
#define LIST_ICONS_Y 58
287
#define LIST_PP_X 176
288
#define LIST_NAME_X 88
289
#define LIST_PP_NUMBER_X 176
290
#define LIST_EMPTY_Y 17
291
#endif
292
293
#if (LANGUAGE == LANGUAGE_GERMAN) || (LANGUAGE == LANGUAGE_SPANISH) || \
294
(LANGUAGE == LANGUAGE_FRENCH) || (LANGUAGE == LANGUAGE_ITALIAN)
295
#define SAVE_SLOT_NAME_X 6
296
#else
297
#define SAVE_SLOT_NAME_X 12
298
#endif
299
300
#endif
version.h
The patch levels: our groups of the measured changes from the Japanese release.
include
tbs_edition.h