 |
LibGame
v0.4.0
The LG Game Engine - Copyright (C) 2024-2025 ETMSoftware
|
18 #ifndef _ISOC11_SOURCE
19 #define _ISOC11_SOURCE
22 #define LIBGAME_NAME "LibGame"
23 #define LIBGAME_V_NUM "0.4.0~beta-20250408"
24 #define LIBGAME_COPYRIGHT_STR "Copyright (C) Emmanuel Thomas-Maurin 2012-2025 - All rights reserved"
26 #define LIBGAME_WEBSITE "https://www.etmsoftware.com"
27 #define LIBGAME_DOWNLOAD_WEBSITE LIBGAME_WEBSITE "/download.php"
28 #define LIBGAME_SUPPORT_WEBSITE LIBGAME_WEBSITE "/help.php"
31 #if !defined(ANDROID_V) && !defined(WIN32_V)
57 #include <android/log.h>
62 #include <SDL_image.h>
63 #include <SDL_mixer.h>
65 #include <SDL_syswm.h>
67 #include <SDL_mouse.h>
71 #include <SDL2/SDL_image.h>
72 #include <SDL2/SDL_mixer.h>
73 #include <SDL2/SDL_ttf.h>
74 #include <SDL_mouse.h>
75 #include <SDL_syswm.h>
78 #include <GLES2/gl2.h>
79 #include <GLES2/gl2ext.h>
80 #include <GLES3/gl3.h>
81 #include <GLES3/gl3ext.h>
84 #define LIBETM_VERBOSE_OUTPUT
88 #ifdef LIBETM_DEBUG_OUTPUT
89 #ifndef LIBETM_VERBOSE_OUTPUT
90 #define LIBETM_VERBOSE_OUTPUT
106 #include "../extra_libs/libetm-0.5.1/libetm.h"
109 #include <libetm/libetm.h>
111 #include "../extra_libs/libetm-0.5.1/libetm.h"
117 #define INFO_ERR INFO_ERR2
121 #define VERBOSE_OUTPUT
126 #ifndef VERBOSE_OUTPUT
127 #define VERBOSE_OUTPUT
133 #define TMPSTR_SIZE ((4 * 1024) - 1)
134 #define FILE_NAME_MAXLEN ((2 * 1024) - 1)
136 #ifdef LIBGAME_COMPILE_TIME
137 #include "../extra_libs/math_3d.h"
138 #include "../extra_libs/stb_image.h"
139 #include "../extra_libs/ufbx.h"
141 #include <libgame/extra_libs/math_3d.h>
142 #include <libgame/extra_libs/stb_image.h>
143 #include <libgame/extra_libs/ufbx.h>
149 #include "lg_shader_progs.h"
150 #include "lg_vertex.h"
151 #include "lg_gr_func.h"
152 #include "lg_textures.h"
153 #include "lg_dds_loader.h"
154 #include "lg_astc_loader.h"
155 #include "lg_string.h"
156 #include "lg_sprites.h"
157 #include "lg_background.h"
159 #include "lg_keyboard.h"
160 #include "lg_mouse.h"
161 #include "lg_touchscreen.h"
162 #include "lg_audio.h"
163 #include "lg_dirs_stuff.h"
164 #include "lg_quaternions.h"
167 #include "lg_3d_primitives.h"
168 #include "lg_opengl_2d.h"
170 #include "lg_camera.h"
171 #include "lg_obj_parser.h"
172 #include "lg_light.h"
173 #include "lg_scene_graph.h"
174 #include "lg_scene.h"
175 #include "lg_collision_detect.h"
176 #include "lg_admob.h"
177 #include "lg_vao_gl_ext.h"
178 #include "lg_cubemap.h"
179 #include "lg_error.h"
180 #include "lg_file_ops.h"
181 #include "lg_android_assets.h"
182 #include "lg_render.h"
183 #include "lg_terrain.h"
184 #include "lg_perlin_noise.h"
185 #include "lg_landscape.h"
186 #include "lg_fbx_parser.h"
189 LG_OK = LIBETM_LASTERRORCODE + 1,
192 LG_EXTRA_LIB_INIT_ERROR,
195 LG_CREATE_FILE_ERROR,
198 LG_READ_FROM_FILE_ERROR,
199 LG_WRITE_TO_FILE_ERROR,
200 LG_FILE_ACCESS_ERROR,
201 LG_READ_FROM_FILE_EOF,
215 LG_CONTINUE = LG_LASTERRORCODE + 1,
230 #define LG_WIN_WIDTH_MIN 800
231 #define LG_WIN_HEIGHT_MIN 400
233 #define LG_WIN_D_HEIGHT_HACK 2
236 #define LG_REQUESTED_RED_SIZE 5
237 #define LG_REQUESTED_GREEN_SIZE 6
238 #define LG_REQUESTED_BLUE_SIZE 5
239 #define LG_REQUESTED_ALPHA_SIZE 0
240 #define LG_REQUESTED_DEPTH_SIZE 16
241 #define LG_REQUESTED_STENCIL_SIZE 8
264 SDL_DisplayMode sdl_display_mode;
265 int sdl_convert_surf_format;
266 int sdl_create_rgb_surf_bitdepth;
267 int r_size, g_size, b_size, a_size;
268 uint32_t r_mask, g_mask, b_mask, a_mask;
278 SDL_GLContext gl_context;
290 int top_win_logical_w;
291 int top_win_logical_h;
294 float fullscreen_scale;
298 int max_combined_texture_image_units;
299 int max_texture_size;
300 int max_cubemap_texture_size;
313 char *org_name_android;
314 char *app_name_android;
322 zboolean enable_mouse;
326 zboolean oes_vao_extension;
327 void (*glGenVertexArraysOES)(GLsizei, GLuint *);
328 void (*glBindVertexArrayOES)(GLuint);
329 void (*glDeleteVertexArraysOES)(GLsizei,
const GLuint *);
330 void (*glIsVertexArrayOES)(GLuint);
331 zboolean oes_element_index_uint_extension;
332 zboolean ext_draw_instanced_extension;
333 zboolean ext_texcompr_s3tc_extension;
334 zboolean oes_texcompr_etc1_rgb8_extension;
335 zboolean khr_texcompr_astc_ldr_extension;
346 #include "lg_env_instance.h"
348 int lg_init(
int,
int,
const char *,
const char *,
const char *,
const char *,
const char *,
const char *,
const char *);
void lg_reset_viewport()
Definition: libgame.c:813
void lg_show_sys_info()
Definition: libgame.c:1013
int lg_load_engine_fonts()
Definition: libgame.c:867
Definition: lg_audio.h:40
Definition: libgame.h:259
void lg_enable_mouse()
Definition: libgame.c:822
void lg_swap_fb()
Definition: libgame.c:981
Rec2Di lg_get_default_viewport()
Definition: libgame.c:795
Definition: lg_vertex.h:111
void lg_set_new_viewport(Rec2Di viewport)
Definition: libgame.c:805
void lg_show_extra_sys_info(SDL_Window *w)
Definition: libgame.c:1110
char * lg_get_sdl_win_flags(SDL_Window *w)
Definition: libgame.c:1191
int lg_init(int win_w, int win_h, const char *win_title, const char *app_name, const char *app_cmd, const char *org_name_android, const char *app_name_android, const char *assets_folder, const char *app_wr_folder)
Definition: libgame.c:57
zboolean sdl2_is_installed()
Definition: libgame.c:1171
void lg_quit(int exit_code)
Definition: libgame.c:902
Definition: lg_textures.h:42
Definition: lg_error.h:40
void lg_list_opengl_extensions()
Definition: libgame.c:838
void lg_disable_mouse()
Definition: libgame.c:830
void lg_show_lib_info()
Definition: libgame.c:989
Definition: lg_gr_func.h:49