#ifndef VG_HEADER_H
#define VG_HEADER_H
+ const char *vg_get_basepath(void);
+
#include "vg_platform.h"
#include "vg_mem.h"
#ifdef VG_GAME
#include "dep/glad/glad.h"
- #include "submodules/SDL/include/SDL.h"
+ #include "dep/sdl/include/SDL.h"
#include "vg_stdint.h"
void vg_register_exit( void( *funcptr )(void), const char *name );
#include "vg_io.h"
#include "vg_log.h"
#include "vg_steam.h"
- #include <setjmp.h>
//#define VG_SYNC_DEBUG
#ifdef VG_SYNC_DEBUG
float loader_ring;
}
VG_STATIC vg = { .time_rate = 1.0 };
+const char *vg_get_basepath(void){
+ return vg.base_path;
+}
enum vg_thread_purpose
{
#include "vg_shader.h"
#include "vg_tex.h"
#include "vg_input.h"
-#include "vg_ui.h"
#include "vg_imgui.h"
#include "vg_lines.h"
#include "vg_loader.h"
SDL_Event event;
while( SDL_PollEvent( &event ) ){
if( event.type == SDL_KEYDOWN ){
- if( vg_console.enabled ){
+ if( vg_console.enabled &&
+ (vg_ui.focused_control_type != k_ui_control_modal) ){
if( event.key.keysym.sym == SDLK_ESCAPE ||
event.key.keysym.sym == SDLK_BACKQUOTE ){
vg_console.enabled = 0;
/* vg tools */
audio_debug_ui( vg.pv );
- ui_postrender();
-#if 0
- ui_begin( vg.window_x, vg.window_y );
-
- /* TODO */
- ui_set_mouse( vg.mouse_pos[0], vg.mouse_pos[1], 0 );
-
+ /* profiling */
int frame_target = vg.display_refresh_rate;
-
- if( vg.fps_limit > 0 ){
- frame_target = vg.fps_limit;
- }
-
+ if( vg.fps_limit > 0 ) frame_target = vg.fps_limit;
vg_profile_drawn(
(struct vg_profile *[]){
&vg_prof_update,&vg_prof_render,&vg_prof_swap}, 3,
(1.0f/(float)frame_target)*1000.0f,
(ui_rect){ 4, 4, 250, 0 }, 0
);
-
if( vg_profiler ){
char perf[256];
"samples: %d\n"
"iterations: %d (acc: %.3fms%%)\n"
"time: real(%.2f) delta(%.2f) rate(%.2f)\n"
-#ifdef _WIN32
- " extrap(%.2f) frame(%.2f) spin( %llu )\n",
-#else
- " extrap(%.2f) frame(%.2f) spin( %lu )\n",
-#endif
+ " extrap(%.2f) frame(%.2f) spin( "PRINTF_U64" )\n",
vg.window_x, vg.window_y,
frame_target, (1.0f/(float)frame_target)*1000.0f,
vg.samples,
vg.time_fixed_extrapolate, vg.time_frame_delta,
vg.time_spinning );
- ui_text( (ui_rect){258, 4+24+12+12,0,0},perf, 1,0);
+ ui_text( (ui_rect){258, 4+24+12+12,900,900},perf,1,0,k_ui_align_left);
}
-
- /* FIXME */
- vg_gui();
-
- ui_resolve();
- ui_draw( NULL );
-#endif
+ ui_postrender();
}
vg_profile_end( &vg_prof_render );