![]() |
LibGame
v0.4.0
The LG Game Engine - Copyright (C) 2024-2025 ETMSoftware
|
Functions | |
| void | lg_enable_transparency () |
| void | lg_disable_transparency () |
| int | lg_check_gl_errors (long long log_time, const char *file, int line, const char *func) |
| int | lg_check_gl_context () |
| lg_endianness | lg_get_arch_endianness () |
| float | lg_tv_diff (struct timeval *t_diff, struct timeval *t2, struct timeval *t1) |
| int | delta_i (int i) |
| float | delta_f (float f) |
| zboolean | has_changed_i (int i) |
| zboolean | has_changed_f (float f) |
| void | lg_stack_show_full_empty_errors (zboolean show_errors) |
| LG_Stack_i * | lg_stack_i_new (int max_n) |
| void | lg_stack_i_free (LG_Stack_i *s) |
| zboolean | push_i (LG_Stack_i *s, int v) |
| zboolean | pop_i (LG_Stack_i *s, int *v) |
| LG_Stack_f * | lg_stack_f_new (int max_n) |
| void | lg_stack_f_free (LG_Stack_f *s) |
| zboolean | push_f (LG_Stack_f *s, float v) |
| zboolean | pop_f (LG_Stack_f *s, float *v) |
| double | clamp (double v, double min, double max) |
| float | lg_swap_float_values (float *x, float *y) |
| double | lg_swap_double_values (double *x, double *y) |
| int32_t | lg_swap_int32_values (int32_t *x, int32_t *y) |
| uint32_t | lg_swap_uint32_values (uint32_t *x, uint32_t *y) |
| int16_t | lg_swap_int16_values (int16_t *x, int16_t *y) |
| uint16_t | lg_swap_uint16_values (uint16_t *x, uint16_t *y) |
| int8_t | lg_swap_int8_values (int8_t *x, int8_t *y) |
| uint8_t | lg_swap_uint8_values (uint8_t *x, uint8_t *y) |
| void | debug_start_max_int_in_loop () |
| void | debug_max_int_in_loop (unsigned long i, const char *file, int line) |
| void | debug_end_max_int_in_loop () |
| void | debug_start_max_float_in_loop () |
| void | debug_max_float_in_loop (float f, const char *file, int line) |
| void | debug_end_max_float_in_loop () |
| int | lg_check_datatype_sizes () |
| void | lg_show_struct_sizes (zboolean everything) |
| int | lg_show_pixel_format_info_from_sdl_display_mode (SDL_DisplayMode *display_mode) |
| void | lg_show_utf8_drawings (zboolean extra_n) |
It's just that, a loose collection of funcs that don't belong to a specific module (at least so far ...)
| void lg_enable_transparency | ( | ) |
Enabling transparency before calling glDraw* funcs
| void lg_disable_transparency | ( | ) |
Disabling transparency (default)
| int lg_check_gl_errors | ( | long long | log_time, |
| const char * | file, | ||
| int | line, | ||
| const char * | func | ||
| ) |
Check GL errors
| log_time | lg_log_time() |
| file | __ FILE __ (without spaces) |
| line | __ LINE __ (without spaces) |
| func | __ func __ (without spaces) |
| int lg_check_gl_context | ( | ) |
Check OpenGL context, ie if the current context is not NULL and whether it has changed since app startup
| lg_endianness lg_get_arch_endianness | ( | ) |
Get architecture endianness
From: https://developer.ibm.com/articles/au-endianc/
| float lg_tv_diff | ( | struct timeval * | t_diff, |
| struct timeval * | t2, | ||
| struct timeval * | t1 | ||
| ) |
Compute t2 - t1 (in s and µs), store the result in t_diff (in s and µs), and return diff in ms (as a float)
Example use:
| t_diff | A pointer to a struct timeval |
| t2 | A pointer to a struct timeval |
| t1 | A pointer to a struct timeval |
| int delta_i | ( | int | i | ) |
Return delta of an int value since last call
| i | An int value |
| float delta_f | ( | float | f | ) |
Return delta of a float value since last call
| f | A float value |
| zboolean has_changed_i | ( | int | i | ) |
Check if an int value has changed since last call
| i | An int value |
| zboolean has_changed_f | ( | float | f | ) |
Check if a float value has changed since last call, using LG_FLOAT_EPSILON for comparison
| f | A float value |
| void lg_stack_show_full_empty_errors | ( | zboolean | show_errors | ) |
Show / don't show (= default) "Stack is full" / "Stack is empty" errors, which can be numerous
| show_errors |
| LG_Stack_i* lg_stack_i_new | ( | int | max_n | ) |
Create and init a new LG_Stack_i instance
| max_n | Max num of elements of the stack |
| void lg_stack_i_free | ( | LG_Stack_i * | s | ) |
Free a LG_Stack_i instance and all associated resources
| s | A LG_Stack_i instance |
| zboolean push_i | ( | LG_Stack_i * | s, |
| int | v | ||
| ) |
Push int value into LG_Stack_i
| s | Addr of LG_Stack_i |
| v | int value |
| zboolean pop_i | ( | LG_Stack_i * | s, |
| int * | v | ||
| ) |
Pop int value from LG_Stack_i
| s | Addr of LG_Stack_i |
| v | Addr of int |
| LG_Stack_f* lg_stack_f_new | ( | int | max_n | ) |
Create and init a new LG_Stack_f instance
| max_n | Max num of elements of the stack |
| void lg_stack_f_free | ( | LG_Stack_f * | s | ) |
Free a LG_Stack_f instance and all associated resources
| s | A LG_Stack_f instance |
| zboolean push_f | ( | LG_Stack_f * | s, |
| float | v | ||
| ) |
Push float value into LG_Stack_f
| s | Addr of LG_Stack_f |
| v | float value |
| zboolean pop_f | ( | LG_Stack_f * | s, |
| float * | v | ||
| ) |
Pop float value from LG_Stack_f
| s | Addr of LG_Stack_f |
| v | Addr of float |
| double clamp | ( | double | v, |
| double | min, | ||
| double | max | ||
| ) |
Clamp implementation
| v | Value to clamp |
| min | Min value |
| max | Max value |
| float lg_swap_float_values | ( | float * | x, |
| float * | y | ||
| ) |
Portable value swapping
| x | Pointer to float |
| y | Pointer to float |
| double lg_swap_double_values | ( | double * | x, |
| double * | y | ||
| ) |
Portable value swapping
| x | Pointer to double |
| y | Pointer to double |
| int32_t lg_swap_int32_values | ( | int32_t * | x, |
| int32_t * | y | ||
| ) |
Portable value swapping
| x | Pointer to int32_t |
| y | Pointer to int32_t |
| uint32_t lg_swap_uint32_values | ( | uint32_t * | x, |
| uint32_t * | y | ||
| ) |
Portable value swapping
| x | Pointer to uint32_t |
| y | Pointer to uint32_t |
| int16_t lg_swap_int16_values | ( | int16_t * | x, |
| int16_t * | y | ||
| ) |
Portable value swapping
| x | Pointer to int16_t |
| y | Pointer to int16_t |
| uint16_t lg_swap_uint16_values | ( | uint16_t * | x, |
| uint16_t * | y | ||
| ) |
Portable value swapping
| x | Pointer to uint16_t |
| y | Pointer to uint16_t |
| int8_t lg_swap_int8_values | ( | int8_t * | x, |
| int8_t * | y | ||
| ) |
Portable value swapping
| x | Pointer to int8_t |
| y | Pointer to int8_t |
| uint8_t lg_swap_uint8_values | ( | uint8_t * | x, |
| uint8_t * | y | ||
| ) |
Portable value swapping
| x | Pointer to uint8_t |
| y | Pointer to uint8_t |
| void debug_start_max_int_in_loop | ( | ) |
For debugging purposes - 'Reset' max_int_in_loop
| void debug_max_int_in_loop | ( | unsigned long | i, |
| const char * | file, | ||
| int | line | ||
| ) |
For debugging purposes - Print out max value found so far while running loop
Example use:
i = 0;
debug_start_max_int_in_loop();
for (y = 0; y < h; y++) {
for (x = 0; x < w; x++) {
debug_max_int_in_loop((unsigned long)i, __FILE__, __LINE__);
// ...
terrain->vbo_data[i].x = (float)x / (float)w;
terrain->vbo_data[i].y = heightmap[x + y * w] * vert_scaling_k;
terrain->vbo_data[i].z = (float)y / (float)h;
// ...
i++;
}
}
debug_end_max_int_in_loop();
| i | Integer to test |
| file | Should be "__FILE__" |
| line | Should be "__LINE__" |
| void debug_end_max_int_in_loop | ( | ) |
For debugging purposes - Just print out closing '\n'
| void debug_start_max_float_in_loop | ( | ) |
For debugging purposes - 'Reset' max_float_in_loop
| void debug_max_float_in_loop | ( | float | f, |
| const char * | file, | ||
| int | line | ||
| ) |
For debugging purposes - Print out max value found so far while running loop
Example use: same as above with float instead of int
| f | float to test |
| file | Should be "__FILE__" |
| line | Should be "__LINE__" |
| void debug_end_max_float_in_loop | ( | ) |
For debugging purposes - Just print out closing '\n'
| int lg_check_datatype_sizes | ( | ) |
Check C and OpenGL types at runtime - should be at init
Also see: https://www.khronos.org/opengl/wiki/OpenGL_Type
| void lg_show_struct_sizes | ( | zboolean | everything | ) |
Mainly for internal testing, but quite informative about memory consumption
Make sure to add new structs
| everything | Every structs if TRUE , only big or new/interesting ones otherwise |
| int lg_show_pixel_format_info_from_sdl_display_mode | ( | SDL_DisplayMode * | display_mode | ) |
Show pixel format info bla bla
See: https://wiki.libsdl.org/SDL_PixelFormat
| display_mode | Pointer to a SDL_DisplayMode struct |
| void lg_show_utf8_drawings | ( | zboolean | extra_n | ) |
Is that any useful actually ?
//Pretty handy when trying to draw UTF-8 boxes
| extra_n | Add an extra "\n" at end of lines (will look less "compact") |