X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=vg%2Fvg.h;h=5d67f714807264699dbda5a33984ffe6e7f2cbba;hb=638d6ecd580b58ee2fc35d24e8af46b28fd9d675;hp=b0119ecf03458ac0f3c2abe0c6a3d895c04cb336;hpb=3b9fa3ad6ac1ff919f31fafaeceac689c7c4736b;p=fishladder.git diff --git a/vg/vg.h b/vg/vg.h index b0119ec..5d67f71 100644 --- a/vg/vg.h +++ b/vg/vg.h @@ -6,14 +6,19 @@ #include #include #include +#include +#include #include "gl/glad/glad.h" #include "gl/glfw3.h" #define STB_DS_IMPLEMENTATION -#define STB_IMAGE_IMPLEMENTATION #include "stb/stb_ds.h" -#include "stb/stb_image.h" +//#define STB_IMAGE_IMPLEMENTATION +//#include "stb/stb_image.h" + +#define QOI_IMPLEMENTATION +#include "phoboslab/qoi.h" #include "vg/vg_platform.h" @@ -30,8 +35,12 @@ m3x3f vg_pv; // Engine globals GLFWwindow* vg_window; -int vg_window_x = 1280; -int vg_window_y = 720; + +// 1366, 768 +// 1920, 1080 + +int vg_window_x = 1366; +int vg_window_y = 768; v2f vg_mouse; v3f vg_mouse_ws; @@ -47,10 +56,10 @@ float vg_time_delta; #include "vg/vg_tex.h" #include "vg/vg_input.h" #include "vg/vg_ui.h" -#include "vg/vg_debug.h" #include "vg/vg_console.h" +#include "vg/vg_debug.h" -#include "steam/steamworks_thin.h" +#include "vg/vg_steamworks.h" // Engine main // =========================================================================================================== @@ -134,14 +143,8 @@ static void vg_init( int argc, char *argv[], const char *window_name ) { #ifdef VG_STEAM // Initialize steamworks - if( !sw_init( 1218140U ) ) - { - vg_exiterr( "Steamworks failed to initialize" ); - } - else - { - vg_register_exit( &sw_SteamAPI_Shutdown, "SteamAPI" ); - } + if( !sw_init() ) + return; #endif // Context creation @@ -151,6 +154,7 @@ static void vg_init( int argc, char *argv[], const char *window_name ) glfwWindowHint( GLFW_CONTEXT_VERSION_MINOR, 3 ); glfwWindowHint( GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE ); glfwWindowHint( GLFW_OPENGL_DEBUG_CONTEXT, GL_TRUE ); + glfwWindowHint( GLFW_RESIZABLE, GLFW_FALSE ); glfwWindowHint( GLFW_SAMPLES, 4 ); @@ -180,8 +184,8 @@ static void vg_init( int argc, char *argv[], const char *window_name ) glfwSetCursorPosCallback( vg_window, vg_mouse_callback ); glfwSetScrollCallback( vg_window, vg_scroll_callback ); - //glfwSetCharCallback( vg_window, console_proc_wchar ); - //glfwSetKeyCallback( vg_window, console_proc_key ); + glfwSetCharCallback( vg_window, console_proc_wchar ); + glfwSetKeyCallback( vg_window, console_proc_key ); //glfwSetInputMode(vg_window, GLFW_CURSOR, GLFW_CURSOR_HIDDEN); if( !gladLoadGLLoader((GLADloadproc)glfwGetProcAddress) ) @@ -225,14 +229,16 @@ static void vg_init( int argc, char *argv[], const char *window_name ) vg_audio_init(); vg_register_exit( &vg_audio_free, "vg_audio_free" ); - + + vg_debugtools_setup(); + // Main gameloop while( !glfwWindowShouldClose( vg_window ) ) { glfwPollEvents(); #ifdef VG_STEAM - sw_RunSteamEventLoop(); + sw_event_loop(); #endif vg_time_last = vg_time; @@ -247,23 +253,14 @@ static void vg_init( int argc, char *argv[], const char *window_name ) { ui_begin( &ui_global_ctx, vg_window_x, vg_window_y ); - - // TODO: Find a more elegent form for this - int mouse_state = 0; - if( vg_get_button( "primary" ) ) mouse_state = 2; - if( vg_get_button_down( "primary" ) ) mouse_state = 1; - if( vg_get_button_up( "primary" ) ) mouse_state = 3; - - ui_set_mouse( &ui_global_ctx, vg_mouse[0], vg_mouse[1], mouse_state ); + ui_set_mouse( &ui_global_ctx, vg_mouse[0], vg_mouse[1], vg_get_button_state( "primary" ) ); vg_ui(); vg_console_draw(); + vg_debugtools_draw(); ui_resolve( &ui_global_ctx ); - m3x3f view = M3X3_IDENTITY; - m3x3_translate( view, (v3f){ -1.0f, 1.0f, 0.0f } ); - m3x3_scale( view, (v3f){ 1.0f/((float)vg_window_x*0.5f), -1.0f/((float)vg_window_y*0.5f), 1.0f } ); - ui_draw( &ui_global_ctx ); + ui_draw( &ui_global_ctx, NULL ); } glfwSwapBuffers( vg_window );