*/
-#ifdef VG_RELEASE
- #define VG_STATIC static
-#else
- #define VG_STATIC
-#endif
-
-/* API */
-VG_STATIC void vg_enter( int argc, char *argv[], const char *window_name );
-
-/* Thread 1 */
-VG_STATIC void vg_preload(void);
-VG_STATIC void vg_load(void);
-
-/* Main thread */
-VG_STATIC void vg_launch_opt(void);
-VG_STATIC void vg_start(void);
-
-VG_STATIC void vg_framebuffer_resize(int w, int h);
-VG_STATIC void vg_update(void);
-VG_STATIC void vg_update_fixed(void);
-VG_STATIC void vg_update_post(void);
-
-VG_STATIC void vg_render(void);
-VG_STATIC void vg_ui(void);
-
#ifndef VG_HEADER_H
#define VG_HEADER_H
#ifndef _WIN32
#include <execinfo.h>
#endif
+
+VG_STATIC void vg_print_backtrace(void)
+{
+#ifndef _WIN32
+
+ void *array[20];
+ char **strings;
+ int size, i;
+
+ size = backtrace( array, 20 );
+ strings = backtrace_symbols( array, size );
+
+ if( strings != NULL ){
+ vg_error( "---------------- gnu backtrace -------------\n" );
+
+ for( int i=0; i<size; i++ )
+ vg_info( "%s\n", strings[i] );
+
+ vg_error( "---------------- gnu backtrace -------------\n" );
+ }
+
+ free( strings );
+
+#endif
+}
#ifdef VG_GAME
#include "dep/glad/glad.h"
#define VG_SYNC_LOG(...)
#endif
+/* API */
+VG_STATIC void vg_enter( int argc, char *argv[], const char *window_name );
+
+/* Thread 1 */
+VG_STATIC void vg_preload(void);
+VG_STATIC void vg_load(void);
+
+/* Main thread */
+VG_STATIC void vg_launch_opt(void);
+VG_STATIC void vg_start(void);
+
+VG_STATIC void vg_framebuffer_resize(int w, int h);
+VG_STATIC void vg_update(void);
+VG_STATIC void vg_update_fixed(void);
+VG_STATIC void vg_update_post(void);
+
+VG_STATIC void vg_render(void);
+VG_STATIC void vg_ui(void);
+
struct vg
{
/* Engine sync */
SDL_Quit();
}
-void vg_print_backtrace(void)
-{
-#ifndef _WIN32
-
- void *array[20];
- char **strings;
- int size, i;
-
- size = backtrace( array, 20 );
- strings = backtrace_symbols( array, size );
-
- if( strings != NULL ){
- vg_error( "---------------- gnu backtrace -------------\n" );
-
- for( int i=0; i<size; i++ )
- vg_info( "%s\n", strings[i] );
-
- vg_error( "---------------- gnu backtrace -------------\n" );
- }
-
- free( strings );
-
-#endif
-}
-
/*
* Immediately transfer away from calling thread into a safe loop, signal for
* others to shutdown, then free everything once the user closes the window.