Wise&mystical  1.0
Project about Europe
Loading...
Searching...
No Matches
config.h
Go to the documentation of this file.
1
28//------------------------------------------------------------------------------------
29// Module selection - Some modules could be avoided
30// Mandatory modules: rcore, rlgl, utils
31//------------------------------------------------------------------------------------
32#define SUPPORT_MODULE_RSHAPES 1
33#define SUPPORT_MODULE_RTEXTURES 1
34#define SUPPORT_MODULE_RTEXT 1 // WARNING: It requires SUPPORT_MODULE_RTEXTURES to load sprite font textures
35#define SUPPORT_MODULE_RMODELS 1
36#define SUPPORT_MODULE_RAUDIO 1
37
38//------------------------------------------------------------------------------------
39// Module: rcore - Configuration Flags
40//------------------------------------------------------------------------------------
41// Camera module is included (rcamera.h) and multiple predefined cameras are available: free, 1st/3rd person, orbital
42#define SUPPORT_CAMERA_SYSTEM 1
43// Gestures module is included (rgestures.h) to support gestures detection: tap, hold, swipe, drag
44#define SUPPORT_GESTURES_SYSTEM 1
45// Mouse gestures are directly mapped like touches and processed by gestures system
46#define SUPPORT_MOUSE_GESTURES 1
47// Reconfigure standard input to receive key inputs, works with SSH connection.
48#define SUPPORT_SSH_KEYBOARD_RPI 1
49// Draw a mouse pointer on screen
50//#define SUPPORT_MOUSE_CURSOR_POINT 1
51// Setting a higher resolution can improve the accuracy of time-out intervals in wait functions.
52// However, it can also reduce overall system performance, because the thread scheduler switches tasks more often.
53#define SUPPORT_WINMM_HIGHRES_TIMER 1
54// Use busy wait loop for timing sync, if not defined, a high-resolution timer is setup and used
55//#define SUPPORT_BUSY_WAIT_LOOP 1
56// Use a partial-busy wait loop, in this case frame sleeps for most of the time, but then runs a busy loop at the end for accuracy
57#define SUPPORT_PARTIALBUSY_WAIT_LOOP
58// Wait for events passively (sleeping while no events) instead of polling them actively every frame
59//#define SUPPORT_EVENTS_WAITING 1
60// Allow automatic screen capture of current screen pressing F12, defined in KeyCallback()
61#define SUPPORT_SCREEN_CAPTURE 1
62// Allow automatic gif recording of current screen pressing CTRL+F12, defined in KeyCallback()
63#define SUPPORT_GIF_RECORDING 1
64// Support CompressData() and DecompressData() functions
65#define SUPPORT_COMPRESSION_API 1
66// Support saving binary data automatically to a generated storage.data file. This file is managed internally.
67#define SUPPORT_DATA_STORAGE 1
68// Support automatic generated events, loading and recording of those events when required
69//#define SUPPORT_EVENTS_AUTOMATION 1
70// Support custom frame control, only for advance users
71// By default EndDrawing() does this job: draws everything + SwapScreenBuffer() + manage frame timming + PollInputEvents()
72// Enabling this flag allows manual control of the frame processes, use at your own risk
73//#define SUPPORT_CUSTOM_FRAME_CONTROL 1
74
75// rcore: Configuration values
76//------------------------------------------------------------------------------------
77#if defined(__linux__)
78 #define MAX_FILEPATH_LENGTH 4096 // Maximum length for filepaths (Linux PATH_MAX default value)
79#else
80 #define MAX_FILEPATH_LENGTH 512 // Maximum length supported for filepaths
81#endif
82
83#define MAX_KEYBOARD_KEYS 512 // Maximum number of keyboard keys supported
84#define MAX_MOUSE_BUTTONS 8 // Maximum number of mouse buttons supported
85#define MAX_GAMEPADS 4 // Maximum number of gamepads supported
86#define MAX_GAMEPAD_AXIS 8 // Maximum number of axis supported (per gamepad)
87#define MAX_GAMEPAD_BUTTONS 32 // Maximum number of buttons supported (per gamepad)
88#define MAX_TOUCH_POINTS 8 // Maximum number of touch points supported
89#define MAX_KEY_PRESSED_QUEUE 16 // Maximum number of keys in the key input queue
90#define MAX_CHAR_PRESSED_QUEUE 16 // Maximum number of characters in the char input queue
91
92#define STORAGE_DATA_FILE "storage.data" // Automatic storage filename
93
94#define MAX_DECOMPRESSION_SIZE 64 // Max size allocated for decompression in MB
95
96
97//------------------------------------------------------------------------------------
98// Module: rlgl - Configuration values
99//------------------------------------------------------------------------------------
100
101// Enable OpenGL Debug Context (only available on OpenGL 4.3)
102//#define RLGL_ENABLE_OPENGL_DEBUG_CONTEXT 1
103
104// Show OpenGL extensions and capabilities detailed logs on init
105//#define RLGL_SHOW_GL_DETAILS_INFO 1
106
107//#define RL_DEFAULT_BATCH_BUFFER_ELEMENTS 4096 // Default internal render batch elements limits
108#define RL_DEFAULT_BATCH_BUFFERS 1 // Default number of batch buffers (multi-buffering)
109#define RL_DEFAULT_BATCH_DRAWCALLS 256 // Default number of batch draw calls (by state changes: mode, texture)
110#define RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS 4 // Maximum number of textures units that can be activated on batch drawing (SetShaderValueTexture())
111
112#define RL_MAX_MATRIX_STACK_SIZE 32 // Maximum size of internal Matrix stack
113
114#define RL_MAX_SHADER_LOCATIONS 32 // Maximum number of shader locations supported
115
116#define RL_CULL_DISTANCE_NEAR 0.01 // Default projection matrix near cull distance
117#define RL_CULL_DISTANCE_FAR 1000.0 // Default projection matrix far cull distance
118
119// Default shader vertex attribute names to set location points
120// NOTE: When a new shader is loaded, the following locations are tried to be set for convenience
121#define RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Binded by default to shader location: 0
122#define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD "vertexTexCoord" // Binded by default to shader location: 1
123#define RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL "vertexNormal" // Binded by default to shader location: 2
124#define RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR "vertexColor" // Binded by default to shader location: 3
125#define RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT "vertexTangent" // Binded by default to shader location: 4
126#define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 "vertexTexCoord2" // Binded by default to shader location: 5
127
128#define RL_DEFAULT_SHADER_UNIFORM_NAME_MVP "mvp" // model-view-projection matrix
129#define RL_DEFAULT_SHADER_UNIFORM_NAME_VIEW "matView" // view matrix
130#define RL_DEFAULT_SHADER_UNIFORM_NAME_PROJECTION "matProjection" // projection matrix
131#define RL_DEFAULT_SHADER_UNIFORM_NAME_MODEL "matModel" // model matrix
132#define RL_DEFAULT_SHADER_UNIFORM_NAME_NORMAL "matNormal" // normal matrix (transpose(inverse(matModelView))
133#define RL_DEFAULT_SHADER_UNIFORM_NAME_COLOR "colDiffuse" // color diffuse (base tint color, multiplied by texture color)
134#define RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE0 "texture0" // texture0 (texture slot active 0)
135#define RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE1 "texture1" // texture1 (texture slot active 1)
136#define RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE2 "texture2" // texture2 (texture slot active 2)
137
138
139//------------------------------------------------------------------------------------
140// Module: rshapes - Configuration Flags
141//------------------------------------------------------------------------------------
142// Use QUADS instead of TRIANGLES for drawing when possible
143// Some lines-based shapes could still use lines
144#define SUPPORT_QUADS_DRAW_MODE 1
145
146
147//------------------------------------------------------------------------------------
148// Module: rtextures - Configuration Flags
149//------------------------------------------------------------------------------------
150// Selecte desired fileformats to be supported for image data loading
151#define SUPPORT_FILEFORMAT_PNG 1
152//#define SUPPORT_FILEFORMAT_BMP 1
153//#define SUPPORT_FILEFORMAT_TGA 1
154//#define SUPPORT_FILEFORMAT_JPG 1
155#define SUPPORT_FILEFORMAT_GIF 1
156#define SUPPORT_FILEFORMAT_QOI 1
157//#define SUPPORT_FILEFORMAT_PSD 1
158#define SUPPORT_FILEFORMAT_DDS 1
159#define SUPPORT_FILEFORMAT_HDR 1
160//#define SUPPORT_FILEFORMAT_KTX 1
161//#define SUPPORT_FILEFORMAT_ASTC 1
162//#define SUPPORT_FILEFORMAT_PKM 1
163//#define SUPPORT_FILEFORMAT_PVR 1
164
165// Support image export functionality (.png, .bmp, .tga, .jpg, .qoi)
166#define SUPPORT_IMAGE_EXPORT 1
167// Support procedural image generation functionality (gradient, spot, perlin-noise, cellular)
168#define SUPPORT_IMAGE_GENERATION 1
169// Support multiple image editing functions to scale, adjust colors, flip, draw on images, crop...
170// If not defined, still some functions are supported: ImageFormat(), ImageCrop(), ImageToPOT()
171#define SUPPORT_IMAGE_MANIPULATION 1
172
173
174//------------------------------------------------------------------------------------
175// Module: rtext - Configuration Flags
176//------------------------------------------------------------------------------------
177// Default font is loaded on window initialization to be available for the user to render simple text
178// NOTE: If enabled, uses external module functions to load default raylib font
179#define SUPPORT_DEFAULT_FONT 1
180// Selected desired font fileformats to be supported for loading
181#define SUPPORT_FILEFORMAT_FNT 1
182#define SUPPORT_FILEFORMAT_TTF 1
183
184// Support text management functions
185// If not defined, still some functions are supported: TextLength(), TextFormat()
186#define SUPPORT_TEXT_MANIPULATION 1
187
188// rtext: Configuration values
189//------------------------------------------------------------------------------------
190#define MAX_TEXT_BUFFER_LENGTH 1024 // Size of internal static buffers used on some functions:
191 // TextFormat(), TextSubtext(), TextToUpper(), TextToLower(), TextToPascal(), TextSplit()
192#define MAX_TEXTSPLIT_COUNT 128 // Maximum number of substrings to split: TextSplit()
193
194
195//------------------------------------------------------------------------------------
196// Module: rmodels - Configuration Flags
197//------------------------------------------------------------------------------------
198// Selected desired model fileformats to be supported for loading
199#define SUPPORT_FILEFORMAT_OBJ 1
200#define SUPPORT_FILEFORMAT_MTL 1
201#define SUPPORT_FILEFORMAT_IQM 1
202#define SUPPORT_FILEFORMAT_GLTF 1
203#define SUPPORT_FILEFORMAT_VOX 1
204// Support procedural mesh generation functions, uses external par_shapes.h library
205// NOTE: Some generated meshes DO NOT include generated texture coordinates
206#define SUPPORT_MESH_GENERATION 1
207
208// rmodels: Configuration values
209//------------------------------------------------------------------------------------
210#define MAX_MATERIAL_MAPS 12 // Maximum number of shader maps supported
211#define MAX_MESH_VERTEX_BUFFERS 7 // Maximum vertex buffers (VBO) per mesh
212
213//------------------------------------------------------------------------------------
214// Module: raudio - Configuration Flags
215//------------------------------------------------------------------------------------
216// Desired audio fileformats to be supported for loading
217#define SUPPORT_FILEFORMAT_WAV 1
218#define SUPPORT_FILEFORMAT_OGG 1
219#define SUPPORT_FILEFORMAT_XM 1
220#define SUPPORT_FILEFORMAT_MOD 1
221#define SUPPORT_FILEFORMAT_MP3 1
222//#define SUPPORT_FILEFORMAT_FLAC 1
223
224// raudio: Configuration values
225//------------------------------------------------------------------------------------
226#define AUDIO_DEVICE_FORMAT ma_format_f32 // Device output format (miniaudio: float-32bit)
227#define AUDIO_DEVICE_CHANNELS 2 // Device output channels: stereo
228#define AUDIO_DEVICE_SAMPLE_RATE 0 // Device sample rate (device default)
229
230#define MAX_AUDIO_BUFFER_POOL_CHANNELS 16 // Maximum number of audio pool channels
231
232//------------------------------------------------------------------------------------
233// Module: utils - Configuration Flags
234//------------------------------------------------------------------------------------
235// Standard file io library (stdio.h) included
236#define SUPPORT_STANDARD_FILEIO
237// Show TRACELOG() output messages
238// NOTE: By default LOG_DEBUG traces not shown
239#define SUPPORT_TRACELOG 1
240//#define SUPPORT_TRACELOG_DEBUG 1
241
242// utils: Configuration values
243//------------------------------------------------------------------------------------
244#define MAX_TRACELOG_MSG_LENGTH 128 // Max length of one trace-log message