-#define VG_GAME
-#define VG_AUDIO_FORCE_COMPRESSED
-#define VG_3D
-#define VG_LOG_SOURCE_INFO
-#define VG_TIMESTEP_FIXED (1.0/60.0)
-
-#ifndef VG_RELEASE
- #define VG_DEVWINDOW
-#endif
-
-#define SDL_MAIN_HANDLED
-
-#define VG_MAX_CONTACTS 2048
-
-#include "vg/vg.h"
+#include "vg/vg_engine.h"
+#include "vg/vg_opt.h"
+#include "vg/vg_audio.h"
#include "vg/vg_camera.h"
#include "vg/vg_rigidbody.h"
#include "vg/vg_rigidbody_collision.h"
+#include "vg/vg_rigidbody_view.h"
#include "vg/vg_profiler.h"
#include "vg/vg_bvh.h"
+#include "vg/vg_input.h"
#define SHAPE_MAX 256
static rigidbody shapes[SHAPE_MAX];
return 0;
}
-static void vg_launch_opt(void){
+void vg_launch_opt(void){
const char *arg;
}
-static void vg_preload(void){
+void vg_preload(void)
+{
vg_audio.dsp_enabled = 0;
}
-static void init_random(void){
+static void init_random(void)
+{
for( u32 i=0; i<(u32)k_shapes; i ++ ){
f32 h = vg_randf64( &vg.rand ) * 2.0f + 1.3f,
r = vg_randf64( &vg.rand ) * 0.5f + 0.125f,
rb_update_matrices( &racket );
}
-static void vg_load(void){
+void vg_load(void)
+{
vg_bake_shaders();
init_random();
shape_bvh_tree = bh_create( NULL, &shape_bvh, NULL, SHAPE_MAX, 1 );
reset_racket();
}
-static void vg_pre_update(void){
+void vg_pre_update(void)
+{
vg_console.cheats = 1;
vg_lines.render = 1;
}
vg_profile_increment( &prof_narrow );
vg_profile_begin( &prof_solve );
- rb_presolve_contacts( rb_contact_buffer, rb_contact_count );
+ rb_presolve_contacts( rb_contact_buffer,
+ vg.time_fixed_delta, rb_contact_count );
for( u32 i=0; i<(u32)k_iterations; i ++ )
rb_solve_contacts( rb_contact_buffer, rb_contact_count );
vg_profile_end( &prof_solve );
}
-static void vg_fixed_update(void){
+void vg_fixed_update(void)
+{
if( k_demo == 0 ) demo0();
else if( k_demo == 1 ) demo1();
}
-static void vg_post_update(void){
+void vg_post_update(void)
+{
if( vg_getkey( SDLK_8 ) )
init_random();
}
-static void vg_framebuffer_resize( int w, int h ){
+void vg_framebuffer_resize( int w, int h )
+{
}
static void draw_origin_axis(void){
vg_rb_view_capsule( mmdl, racket_cb.r, racket_cb.h, (v4f){0,1,0,1} );
}
-static void vg_render(void){
+void vg_render(void)
+{
glBindFramebuffer( GL_FRAMEBUFFER, 0 );
glViewport( 0,0, vg.window_x, vg.window_y );
glEnable( GL_DEPTH_TEST );
}
}
-static void vg_gui(void){
+void vg_gui(void)
+{
vg_ui.wants_mouse = 1;
ui_rect panel = { vg.window_x-300, 0, 300, vg.window_y };
ui_rect_pad( panel, (ui_px[2]){ 8, 8 } );