Skip to content
🌋️
Alchemy
Theme: Weyard
Theme: Modern
Mode: Auto
Mode: Light
Mode: Dark
Alchemy
Source
Reference
Loading...
Searching...
No Matches
version.h
Go to the documentation of this file.
1
#ifndef TBS_VERSION_H
2
#define TBS_VERSION_H
3
4
/// @file
5
/// The patch levels: our groups of the measured changes from the Japanese
6
/// release.
7
8
#include "
game/edition.h
"
9
10
#if (defined(TBS_EDITION_JA) + defined(TBS_EDITION_EN) + \
11
defined(TBS_EDITION_DE) + defined(TBS_EDITION_ES) + \
12
defined(TBS_EDITION_FR) + defined(TBS_EDITION_IT)) > 1
13
#error Select exactly one TBS edition
14
#endif
15
#if (defined(TBS_EDITION_JA) && TBS_EDITION_JA != 1) || \
16
(defined(TBS_EDITION_EN) && TBS_EDITION_EN != 1) || \
17
(defined(TBS_EDITION_DE) && TBS_EDITION_DE != 1) || \
18
(defined(TBS_EDITION_ES) && TBS_EDITION_ES != 1) || \
19
(defined(TBS_EDITION_FR) && TBS_EDITION_FR != 1) || \
20
(defined(TBS_EDITION_IT) && TBS_EDITION_IT != 1)
21
#error Edition definitions must be 1
22
#endif
23
24
// Observed cumulative logic changes from the Japanese baseline. These are our
25
// patch groups, not recovered Camelot version numbers or a release chronology.
26
// Each conditional stays beside the behavior it changes; language choices
27
// use LANGUAGE independently of these groups.
28
#if defined(TBS_EDITION_ES) || defined(TBS_EDITION_IT)
29
#define TBS_PATCH_LEVEL 4
30
#elif defined(TBS_EDITION_FR)
31
#define TBS_PATCH_LEVEL 3
32
#elif defined(TBS_EDITION_DE)
33
#define TBS_PATCH_LEVEL 2
34
#elif defined(TBS_EDITION_EN)
35
#define TBS_PATCH_LEVEL 1
36
#else
37
#define TBS_PATCH_LEVEL 0
38
#endif
39
40
#define TBS_PATCH_1 (TBS_PATCH_LEVEL >= 1)
41
#define TBS_PATCH_2 (TBS_PATCH_LEVEL >= 2)
42
#define TBS_PATCH_3 (TBS_PATCH_LEVEL >= 3)
43
#define TBS_PATCH_4 (TBS_PATCH_LEVEL >= 4)
44
45
#endif
edition.h
The edition's language, for C to compare (LANGUAGE == LANGUAGE_GERMAN).
include
version.h