19 #define _ISOC11_SOURCE
22#define LIBGAME_NAME "LibGame"
23#define LIBGAME_V_NUM "0.4.0~beta-20260815"
24#define LIBGAME_COPYRIGHT_STR "Copyright (C) Emmanuel Thomas-Maurin 2012-2026 - 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)
59 #include <android/log.h>
64 #include <SDL_image.h>
65 #include <SDL_mixer.h>
67 #include <SDL_syswm.h>
69 #include <SDL_mouse.h>
73 #include <SDL2/SDL_image.h>
74 #include <SDL2/SDL_mixer.h>
75 #include <SDL2/SDL_ttf.h>
76 #include <SDL_mouse.h>
77 #include <SDL_syswm.h>
81#include <GLES2/gl2ext.h>
83#include <GLES3/gl3ext.h>
88#define LIBETM_VERBOSE_OUTPUT
92#ifdef LIBETM_DEBUG_OUTPUT
93 #ifndef LIBETM_VERBOSE_OUTPUT
94 #define LIBETM_VERBOSE_OUTPUT
99 #include "../extra_libs/libetm-0.6.0/libetm.h"
102 #include <libetm/libetm.h>
104 #include "../extra_libs/libetm-0.6.0/libetm.h"
110 #define INFO_ERR INFO_ERR2
115#define VERBOSE_OUTPUT
119 #ifndef VERBOSE_OUTPUT
120 #define VERBOSE_OUTPUT
125 #define DEBUG_INFO_OUT(...) \
127 fprintf(STD_OUT, FILE_LINE_FUNC_STR);\
128 INFO_OUT(__VA_ARGS__)\
131 #define DEBUG_INFO_OUT(...) \
135typedef enum {LG_NONE, LG_INFO, LG_VERBOSE, LG_DEBUG} env_logging_level;
137#define TMPSTR_SIZE ((4 * 1024) - 1)
138#define FILE_NAME_MAXLEN ((2 * 1024) - 1)
141#define EXTRA_NEWLINES
143 #define __extra_newline__ INFO_OUT("\n")
145 #define __extra_newline__
148#ifdef LIBGAME_COMPILE_TIME
149 #include "../extra_libs/math_3d.h"
150 #include "../extra_libs/stb_image.h"
151 #include "../extra_libs/ufbx.h"
153 #include <libgame/extra_libs/math_3d.h>
154 #include <libgame/extra_libs/stb_image.h>
155 #include <libgame/extra_libs/ufbx.h>
161#include "lg_shader_progs.h"
162#include "lg_vertex.h"
163#include "lg_vertex_info.h"
164#include "lg_gr_func.h"
165#include "lg_textures.h"
166#include "lg_dds_loader.h"
167#include "lg_astc_loader.h"
168#include "lg_string.h"
169#include "lg_sprites.h"
170#include "lg_background.h"
173#include "lg_keyboard.h"
175#include "lg_touchscreen.h"
177#include "lg_dirs_stuff.h"
178#include "lg_quaternions.h"
181#include "lg_3d_primitives.h"
182#include "lg_opengl_2d.h"
184#include "lg_camera.h"
185#include "lg_obj_parser.h"
187#include "lg_scene_graph.h"
189#include "lg_collision_detect.h"
191#include "lg_vao_gl_ext.h"
192#include "lg_cubemap.h"
194#include "lg_file_ops.h"
195#include "lg_android_assets.h"
196#include "lg_render.h"
197#include "lg_terrain.h"
198#include "lg_perlin_noise.h"
199#include "lg_landscape.h"
200#include "lg_fbx_parser.h"
201#include "lg_cam_controls.h"
202#include "lg_part_sys.h"
203#include "lg_goodies.h"
205#include "lg_mesh_lines.h"
207#include "lg_grid_geom_shader.h"
211#include "lg_env_instance.h"
212#include "lg_math_extra.h"
218 LG_OK = LIBETM_LASTERRORCODE + 1,
221 LG_EXTRA_LIB_INIT_ERROR,
224 LG_CREATE_FILE_ERROR,
227 LG_READ_FROM_FILE_ERROR,
228 LG_WRITE_TO_FILE_ERROR,
229 LG_FILE_ACCESS_ERROR,
230 LG_READ_FROM_FILE_EOF,
237 LG_SIG_END = LG_SIG_START + 100,
238 LG_NODE_IS_NOT_A_LEAF,
243 LG_CONTINUE = LG_LASTERRORCODE + 1,
253#define ALWAYS_VSYNC 1
254#define ADAPTIVE_VSYNC -1
268#define LG_WIN_WIDTH_MIN 800
269#define LG_WIN_HEIGHT_MIN 400
271#define LG_WIN_D_HEIGHT_HACK 2
274#define LG_REQUESTED_RED_SIZE 5
275#define LG_REQUESTED_GREEN_SIZE 6
276#define LG_REQUESTED_BLUE_SIZE 5
277#define LG_REQUESTED_ALPHA_SIZE 0
278#define LG_REQUESTED_DEPTH_SIZE 16
279#define LG_REQUESTED_STENCIL_SIZE 8
281int lg_init(
int,
int,
const char *,
const char *,
const char *,
const char *,
const char *,
const char *,
const char *);
void lg_show_extra_sys_info(SDL_Window *w)
Definition libgame.c:1309
void lg_set_new_viewport(Rec2Di viewport)
Definition libgame.c:916
void lg_show_sys_info()
Definition libgame.c:1181
void lg_disable_mouse()
Definition libgame.c:941
void lg_update_gl_win_title(const char *win_title)
Definition libgame.c:1147
void lg_show_lib_info()
Definition libgame.c:1157
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:47
void lg_list_opengl_extensions()
Definition libgame.c:949
zboolean sdl2_is_installed()
Definition libgame.c:1362
void lg_enable_mouse()
Definition libgame.c:933
zboolean lg_load_engine_fonts()
Definition libgame.c:984
void lg_reset_viewport()
Definition libgame.c:924
void lg_swap_fb()
Definition libgame.c:1137
void lg_quit(int exit_code, zboolean call_exit)
Definition libgame.c:1053
Rec2Di lg_get_default_viewport()
Definition libgame.c:906
void lg_engine_fonts_info()
Definition libgame.c:1042
char * lg_get_sdl_win_flags(SDL_Window *w)
Definition libgame.c:1382
Definition lg_gr_func.h:49