22#ifndef AGS_SHARED_AC_GAME_STRUCT_DEFINES_H
23#define AGS_SHARED_AC_GAME_STRUCT_DEFINES_H
25#include "ags/shared/util/geometry.h"
26#include "ags/shared/core/types.h"
32#define PAL_BACKGROUND 2
33#define MAXGLOBALMES 500
34#define GLOBALMESLENGTH 500
36#define LEGACY_MAX_FONTS 30
39#define OPT_DEBUGMODE 0
40#define OPT_SCORESOUND 1
41#define OPT_WALKONLOOK 2
42#define OPT_DIALOGIFACE 3
43#define OPT_ANTIGLIDE 4
45#define OPT_DIALOGGAP 6
46#define OPT_NOSKIPTEXT 7
47#define OPT_DISABLEOFF 8
48#define OPT_ALWAYSSPCH 9
49#define OPT_SPEECHTYPE 10
50#define OPT_PIXPERFECT 11
51#define OPT_NOWALKMODE 12
52#define OPT_LETTERBOX 13
53#define OPT_FIXEDINVCURSOR 14
54#define OPT_NOLOSEINV 15
55#define OPT_HIRES_FONTS 16
56#define OPT_SPLITRESOURCES 17
57#define OPT_ROTATECHARS 18
58#define OPT_FADETYPE 19
59#define OPT_HANDLEINVCLICKS 20
60#define OPT_MOUSEWHEEL 21
61#define OPT_DIALOGNUMBERED 22
62#define OPT_DIALOGUPWARDS 23
63#define OPT_CROSSFADEMUSIC 24
64#define OPT_ANTIALIASFONTS 25
65#define OPT_THOUGHTGUI 26
66#define OPT_TURNTOFACELOC 27
67#define OPT_RIGHTLEFTWRITE 28
68#define OPT_DUPLICATEINV 29
69#define OPT_SAVESCREENSHOT 30
70#define OPT_PORTRAITSIDE 31
71#define OPT_STRICTSCRIPTING 32
72#define OPT_LEFTTORIGHTEVAL 33
73#define OPT_COMPRESSSPRITES 34
74#define OPT_STRICTSTRINGS 35
75#define OPT_NEWGUIALPHA 36
76#define OPT_RUNGAMEDLGOPTS 37
77#define OPT_NATIVECOORDINATES 38
78#define OPT_GLOBALTALKANIMSPD 39
79#define OPT_HIGHESTOPTION_321 39
80#define OPT_SPRITEALPHA 40
81#define OPT_SAFEFILEPATHS 41
82#define OPT_DIALOGOPTIONSAPI 42
83#define OPT_BASESCRIPTAPI 43
84#define OPT_SCRIPTCOMPATLEV 44
85#define OPT_RENDERATSCREENRES 45
86#define OPT_RELATIVEASSETRES 46
87#define OPT_WALKSPEEDABSOLUTE 47
88#define OPT_CLIPGUICONTROLS 48
89#define OPT_GAMETEXTENCODING 49
90#define OPT_KEYHANDLEAPI 50
91#define OPT_CUSTOMENGINETAG 51
92#define OPT_SCALECHAROFFSETS 52
93#define OPT_HIGHESTOPTION OPT_SCALECHAROFFSETS
94#define OPT_NOMODMUSIC 98
95#define OPT_LIPSYNCTEXT 99
97#define CUSTOMENG_NONE 0
98#define CUSTOMENG_DRACONIAN 1
99#define CUSTOMENG_CLIFFTOP 2
102#define PORTRAIT_LEFT 0
103#define PORTRAIT_RIGHT 1
104#define PORTRAIT_ALTERNATE 2
105#define PORTRAIT_XPOSITION 3
109#define FADE_INSTANT 1
110#define FADE_DISSOLVE 2
112#define FADE_CROSSFADE 4
117#define FFLG_LEGACY_SIZEMASK 0x3f
118#define MAX_LEGACY_FONT_SIZE 63
120#define FFLG_SIZEMULTIPLIER 0x01
121#define FFLG_DEFLINESPACING 0x02
125#define FFLG_REPORTNOMINALHEIGHT 0x04
128#define FFLG_ASCENDERFIXUP 0x08
130#define FFLG_TTF_BACKCOMPATMASK (FFLG_REPORTNOMINALHEIGHT | FFLG_ASCENDERFIXUP)
132#define FFLG_LOADMODEMASK (FFLG_REPORTNOMINALHEIGHT | FFLG_ASCENDERFIXUP)
134#define FONT_OUTLINE_NONE -1
135#define FONT_OUTLINE_AUTO -10
137#define DIALOG_OPTIONS_HIGHLIGHT_COLOR_DEFAULT 14
140#define LEGACY_MAXVIEWNAMELENGTH 15
141#define MAXLIPSYNCFRAMES 20
142#define MAX_GUID_LENGTH 40
143#define MAX_SG_EXT_LENGTH 20
144#define LEGACY_MAX_SG_FOLDER_LEN 50
146enum GameResolutionType {
147 kGameResolution_Undefined = -1,
149 kGameResolution_Default = 0,
150 kGameResolution_320x200 = 1,
151 kGameResolution_320x240 = 2,
152 kGameResolution_640x400 = 3,
153 kGameResolution_640x480 = 4,
154 kGameResolution_800x600 = 5,
155 kGameResolution_1024x768 = 6,
156 kGameResolution_1280x720 = 7,
157 kGameResolution_Custom = 8,
160 kGameResolution_LastLoRes = kGameResolution_320x240,
161 kGameResolution_FirstHiRes = kGameResolution_640x400
164inline bool IsLegacyHiRes(GameResolutionType resolution) {
165 return resolution > kGameResolution_LastLoRes;
168Size ResolutionTypeToSize(GameResolutionType resolution,
bool letterbox =
false);
171enum DialogOptionNumbering {
172 kDlgOptNoNumbering = -1,
183enum ScriptAPIVersion {
184 kScriptAPI_Undefined = INT32_MIN,
192 kScriptAPI_v3507 = 7,
194 kScriptAPI_v360 = 3060000,
195 kScriptAPI_v36026 = 3060026,
196 kScriptAPI_v361 = 3060100,
197 kScriptAPI_Current = kScriptAPI_v361
200extern const char *GetScriptAPIName(ScriptAPIVersion v);
204enum RenderAtScreenRes {
205 kRenderAtScreenRes_UserDefined = 0,
206 kRenderAtScreenRes_Enabled = 1,
207 kRenderAtScreenRes_Disabled = 2,
211enum GameSpriteAlphaRenderingStyle {
212 kSpriteAlphaRender_Legacy = 0,
213 kSpriteAlphaRender_Proper
217enum GameGuiAlphaRenderingStyle {
218 kGuiAlphaRender_Legacy = 0,
219 kGuiAlphaRender_AdditiveAlpha,
220 kGuiAlphaRender_Proper
226#define SPF_HIRES 0x01
227#define SPF_HICOLOR 0x02
228#define SPF_DYNAMICALLOC 0x04
229#define SPF_TRUECOLOR 0x08
230#define SPF_ALPHACHANNEL 0x10
231#define SPF_VAR_RESOLUTION 0x20
232#define SPF_HADALPHACHANNEL 0x80
233#define SPF_OBJECTOWNED 0x0100
242 SpriteInfo(
int w,
int h, uint32_t flags) : Width(w), Height(h), Flags(flags) {}
244 inline Size GetResolution()
const {
return Size(Width, Height); }
246 inline bool IsDynamicSprite()
const {
return (Flags & SPF_DYNAMICALLOC) != 0; }
252 inline bool IsRelativeRes()
const {
253 return (Flags & SPF_VAR_RESOLUTION) != 0;
258 inline bool IsLegacyHiRes()
const {
259 return (Flags & SPF_HIRES) != 0;
269 enum AutoOutlineStyle :
int {
287 int AutoOutlineThickness;
289 AutoOutlineStyle AutoOutlineStyle;
Definition: game_struct_defines.h:268
Definition: geometry.h:148
Definition: game_struct_defines.h:236