audio pt. 2
[vg.git] / src / vg / vg.h
index 31cfa8065529233f091bad686717ae2b166ac12d..25771ff8d142fc9ff7b180a0048172691feb78d3 100644 (file)
@@ -1,19 +1,27 @@
 /* Copyright (C) 2021 Harry Godden (hgn) - All Rights Reserved */
 
+static void vg_exiterr( const char *err );
+static void vg_exit(void);
+
 #ifndef VG_HEADER_H
 #define VG_HEADER_H
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <dirent.h>
-#include <stdint.h>
 #include <string.h>
 #include <stdarg.h>
 #include <ctype.h>
 #include <math.h>
 
-#include "glad/glad.h"
-#include "glfw/glfw3.h"
+#if defined(VG_SERVER) || defined(VG_TOOLS)
+ #define VG_NON_CLIENT
+#endif
+
+#ifndef VG_SERVER
+#include "../../dep/glad/glad.h"
+#include "../../dep/glfw/glfw3.h"
+#endif
 
 #define STB_DS_IMPLEMENTATION
 #include "stb/stb_ds.h"
 #define QOI_IMPLEMENTATION
 #include "phoboslab/qoi.h"
 
-#include "vg/vg_platform.h"
+#include "vg_stdint.h"
+#include "vg_platform.h"
 
 void vg_register_exit( void( *funcptr )(void), const char *name );
-void vg_exiterr( const char *strErr );
 
-#include "vg/vg_m.h"
-#include "vg/vg_io.h"
-#include "vg/vg_gldiag.h"
+#include "vg_m.h"
+#include "vg_io.h"
+
+#ifdef VG_STEAM
+//#include "vg_steamworks.h"
+#include "vg_steam.h"
+#endif
 
-#ifndef VG_TOOLS
+#ifndef VG_NON_CLIENT
+#include "vg_gldiag.h"
+#endif
+
+#ifndef VG_NON_CLIENT
 
 /* Engine globals */
 GLFWwindow* vg_window;
@@ -57,18 +73,14 @@ double vg_time,
        vg_time_last,
        vg_time_delta;
 
-#include "vg/vg_audio.h"
-#include "vg/vg_shader.h"
-#include "vg/vg_tex.h"
-#include "vg/vg_input.h"
-#include "vg/vg_ui.h"
-#include "vg/vg_console.h"
-#include "vg/vg_lines.h"
-#include "vg/vg_debug.h"
-
-#ifdef VG_STEAM
-#include "vg/vg_steamworks.h"
-#endif
+#include "vg_audio.h"
+#include "vg_shader.h"
+#include "vg_tex.h"
+#include "vg_input.h"
+#include "vg_ui.h"
+#include "vg_console.h"
+#include "vg_lines.h"
+#include "vg_debug.h"
 
 #ifndef VG_RELEASE
 void vg_checkgl( const char *src_info )
@@ -98,7 +110,7 @@ void vg_register_exit( void( *funcptr )(void), const char *name )
    vg_on_exit[ vg_exit_count ++ ] = funcptr;
 }
 
-void vg_exit(void)
+static void vg_exit(void)
 {
    for( int i = vg_exit_count-1; i >= 0; i -- )
    {
@@ -107,13 +119,13 @@ void vg_exit(void)
    }
    
    vg_info( "done\n" );
+   exit(0);
 }
 
-void vg_exiterr( const char *strErr )
+static void vg_exiterr( const char *err )
 {
-   vg_error( "Engine Fatal: %s\n", strErr );
+   vg_error( "Engine Fatal: %s\n", err );
    vg_exit();
-   exit(0);
 }
 
 void vg_mouse_callback( GLFWwindow* ptrW, double xpos, double ypos )
@@ -231,16 +243,14 @@ static void vg_init( int argc, char *argv[], const char *window_name )
                .function = vg_shaders_recompile
        });
 
-   
+   if( !vg_audio_init() )
+      vg_exit();
+   vg_register_exit( &vg_audio_free, "vg_audio_free" );
+
    vg_start();
 
    vg_console_init();
    vg_register_exit( &vg_console_free, "Console" );
-
-   vg_audio_init();
-   vg_register_exit( &vg_audio_free, "vg_audio_free" );
-   
-   vg_debugtools_setup();
    
    /* 
     * Main gameloop
@@ -270,9 +280,9 @@ static void vg_init( int argc, char *argv[], const char *window_name )
          ui_set_mouse( &ui_global_ctx, vg_mouse[0], vg_mouse[1], 
                vg_get_button_state( "primary" ) );
          
+         audio_debug_ui( vg_pv );
          vg_ui();
          vg_console_draw();
-         vg_debugtools_draw();
          
          ui_resolve( &ui_global_ctx );
          ui_draw( &ui_global_ctx, NULL );