|IMP| | |.------------- vg_start(void) ---------------'
| | | |
| | | v
-|IMP| | vg_update(void)
+|IMP| | vg_pre_update(void)
| | | |
| | | .-----+.
-| | | | |
+| | | | | called 0x to 8x
| | | | v
-|IMP| | '- vg_update_fixed(void)
+|IMP| | '- vg_fixed_update(void)
| | | |
| | | .-'
| | | |
| | | v
-|IMP| | vg_update_post(void)
+|IMP| | vg_post_update(void)
| | | |
| | | v
|IMP| | vg_render(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_pre_update(void);
+VG_STATIC void vg_fixed_update(void);
+VG_STATIC void vg_post_update(void);
VG_STATIC void vg_render(void);
VG_STATIC void vg_gui(void);
/* Runtime */
double time,
+ time_real,
time_delta,
time_rate,
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 ){
+ event.key.keysym.scancode == SDL_SCANCODE_GRAVE ){
vg_console.enabled = 0;
ui_defocus_all();
}
}
}
else{
- if( event.key.keysym.sym == SDLK_BACKQUOTE ){
+ if( event.key.keysym.scancode == SDL_SCANCODE_GRAVE ){
vg_console.enabled = 1;
}
else {
vg_profile_begin( &vg_prof_update );
vg.engine_stage = k_engine_stage_update;
- vg_update();
+ vg_pre_update();
/* Fixed update loop */
vg.engine_stage = k_engine_stage_update_fixed;
vg.time_fixed_accumulator += vg.time_delta;
while( vg.time_fixed_accumulator >= VG_TIMESTEP_FIXED ){
- vg_update_fixed();
+ vg_fixed_update();
vg_lines.allow_input = 0;
-
vg.time_fixed_accumulator -= VG_TIMESTEP_FIXED;
- //vg.accumulator = VG_MAX( 0.0, vg.accumulator );
vg.fixed_iterations ++;
if( vg.fixed_iterations == 8 ){
vg.time_fixed_extrapolate = vg.time_fixed_accumulator / VG_TIMESTEP_FIXED;
vg.engine_stage = k_engine_stage_update;
- vg_update_post();
+ vg_post_update();
vg_profile_end( &vg_prof_update );
}
vg.samples,
vg.fixed_iterations,
(vg.time_fixed_accumulator/VG_TIMESTEP_FIXED)*100.0f,
- vg.time, vg.time_delta, vg.time_rate,
+ vg.time_real, vg.time_delta, vg.time_rate,
vg.time_fixed_extrapolate, vg.time_frame_delta,
vg.time_spinning );
glBlendFunc(GL_ONE_MINUS_DST_ALPHA, GL_DST_ALPHA);
glBlendEquation(GL_FUNC_ADD);
- glClearColor( 0.15f + sinf(vg.time)*0.1f, 0.0f, 0.0f,1.0f );
+ glClearColor( 0.15f + sinf(vg.time_real)*0.1f, 0.0f, 0.0f,1.0f );
glClear( GL_COLOR_BUFFER_BIT );
glViewport( 0,0, vg.window_x, vg.window_y );
return 0;
}
-VG_STATIC void _vg_gameloop(void)
-{
+VG_STATIC void _vg_gameloop(void){
//vg.time_fixed_accumulator = 0.75f * (1.0f/60.0f);
vg.time_hp = SDL_GetPerformanceCounter();
enum engine_status status = _vg_engine_status();
+ vg.time_real += vg.time_frame_delta;
vg.time_delta = vg.time_frame_delta * vg.time_rate;
vg.time += vg.time_delta;
}
if( vg.loader_ring > 0.01f ){
- vg.loader_ring -= vg.time_frame_delta * 0.5f;
_vg_loader_render_ring( vg.loader_ring );
+ vg.loader_ring -= vg.time_frame_delta * 0.5f;
}
vg.time_frame_delta = 0.0;
display_index = 0,
mode_index = 0;
-#ifdef VG_DEVWINDOW
- vg.window_x = 1600;
- vg.window_y = 1000;
-#else
-
SDL_DisplayMode video_mode;
if( SDL_GetDesktopDisplayMode( display_index, &video_mode ) ){
vg_error( "SDL_GetDesktopDisplayMode failed: %s\n", SDL_GetError() );
vg.display_refresh_rate = video_mode.refresh_rate;
vg.window_x = video_mode.w;
vg.window_y = video_mode.h;
+
+#ifdef VG_DEVWINDOW
+ vg.window_x = 1200;
+ vg.window_y = 880;
#endif
#ifndef _WIN32
#ifdef VG_DEVWINDOW
0, 0, vg.window_x, vg.window_y,
SDL_WINDOW_BORDERLESS|SDL_WINDOW_OPENGL|SDL_WINDOW_INPUT_GRABBED
- ))){}
+ ))){
+ SDL_SetWindowPosition( vg.window, video_mode.w-vg.window_x, 0 );
+ }
#else
0, 0,
vg.window_x, vg.window_y,