Alchemy
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
The patch levels: our groups of the measured changes from the Japanese release.