19 #define _ISOC11_SOURCE
22#define LIBGAME_NAME "LibGame"
23#define LIBGAME_V_NUM "0.4.0~beta-20260318"
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)
58 #include <android/log.h>
63 #include <SDL_image.h>
64 #include <SDL_mixer.h>
66 #include <SDL_syswm.h>
68 #include <SDL_mouse.h>
72 #include <SDL2/SDL_image.h>
73 #include <SDL2/SDL_mixer.h>
74 #include <SDL2/SDL_ttf.h>
75 #include <SDL_mouse.h>
76 #include <SDL_syswm.h>
80#include <GLES2/gl2ext.h>
82#include <GLES3/gl3ext.h>
87#define LIBETM_VERBOSE_OUTPUT
91#ifdef LIBETM_DEBUG_OUTPUT
92 #ifndef LIBETM_VERBOSE_OUTPUT
93 #define LIBETM_VERBOSE_OUTPUT
98 #include "../extra_libs/libetm-0.5.1/libetm.h"
101 #include <libetm/libetm.h>
103 #include "../extra_libs/libetm-0.5.1/libetm.h"
109 #define INFO_ERR INFO_ERR2
114#define VERBOSE_OUTPUT
118 #ifndef VERBOSE_OUTPUT
119 #define VERBOSE_OUTPUT
124 #define DEBUG_INFO_OUT(...) \
126 fprintf(STD_OUT, FILE_LINE_FUNC_STR);\
127 INFO_OUT(__VA_ARGS__)\
130 #define DEBUG_INFO_OUT(...) \
134typedef enum {LG_NONE, LG_INFO, LG_VERBOSE, LG_DEBUG} env_logging_level;
136#define TMPSTR_SIZE ((4 * 1024) - 1)
137#define FILE_NAME_MAXLEN ((2 * 1024) - 1)
139#ifdef LIBGAME_COMPILE_TIME
140 #include "../extra_libs/math_3d.h"
141 #include "../extra_libs/stb_image.h"
142 #include "../extra_libs/ufbx.h"
144 #include <libgame/extra_libs/math_3d.h>
145 #include <libgame/extra_libs/stb_image.h>
146 #include <libgame/extra_libs/ufbx.h>
152#include "lg_shader_progs.h"
153#include "lg_vertex.h"
154#include "lg_gr_func.h"
155#include "lg_textures.h"
156#include "lg_dds_loader.h"
157#include "lg_astc_loader.h"
158#include "lg_string.h"
159#include "lg_sprites.h"
160#include "lg_background.h"
162#include "lg_keyboard.h"
164#include "lg_touchscreen.h"
166#include "lg_dirs_stuff.h"
167#include "lg_quaternions.h"
170#include "lg_3d_primitives.h"
171#include "lg_opengl_2d.h"
173#include "lg_camera.h"
174#include "lg_obj_parser.h"
176#include "lg_scene_graph.h"
178#include "lg_collision_detect.h"
180#include "lg_vao_gl_ext.h"
181#include "lg_cubemap.h"
183#include "lg_file_ops.h"
184#include "lg_android_assets.h"
185#include "lg_render.h"
186#include "lg_terrain.h"
187#include "lg_perlin_noise.h"
188#include "lg_landscape.h"
189#include "lg_fbx_parser.h"
190#include "lg_cam_controls.h"
191#include "lg_part_sys.h"
192#include "lg_goodies.h"
196#include "lg_env_instance.h"
197#include "lg_math_extra.h"
203 LG_OK = LIBETM_LASTERRORCODE + 1,
206 LG_EXTRA_LIB_INIT_ERROR,
209 LG_CREATE_FILE_ERROR,
212 LG_READ_FROM_FILE_ERROR,
213 LG_WRITE_TO_FILE_ERROR,
214 LG_FILE_ACCESS_ERROR,
215 LG_READ_FROM_FILE_EOF,
222 LG_SIG_END = LG_SIG_START + 100,
227 LG_CONTINUE = LG_LASTERRORCODE + 1,
237#define ALWAYS_VSYNC 1
238#define ADAPTIVE_VSYNC -1
252#define LG_WIN_WIDTH_MIN 800
253#define LG_WIN_HEIGHT_MIN 400
255#define LG_WIN_D_HEIGHT_HACK 2
258#define LG_REQUESTED_RED_SIZE 5
259#define LG_REQUESTED_GREEN_SIZE 6
260#define LG_REQUESTED_BLUE_SIZE 5
261#define LG_REQUESTED_ALPHA_SIZE 0
262#define LG_REQUESTED_DEPTH_SIZE 16
263#define LG_REQUESTED_STENCIL_SIZE 8
265int 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:1235
void lg_set_new_viewport(Rec2Di viewport)
Definition libgame.c:873
void lg_show_sys_info()
Definition libgame.c:1119
void lg_disable_mouse()
Definition libgame.c:898
void lg_show_lib_info()
Definition libgame.c:1095
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:906
zboolean sdl2_is_installed()
Definition libgame.c:1296
void lg_enable_mouse()
Definition libgame.c:890
zboolean lg_load_engine_fonts()
Definition libgame.c:941
void lg_reset_viewport()
Definition libgame.c:881
void lg_swap_fb()
Definition libgame.c:1087
void lg_quit(int exit_code, zboolean call_exit)
Definition libgame.c:1003
Rec2Di lg_get_default_viewport()
Definition libgame.c:863
void lg_engine_fonts_info()
Definition libgame.c:992
char * lg_get_sdl_win_flags(SDL_Window *w)
Definition libgame.c:1316
Definition lg_gr_func.h:49