vg_init( argc, argv, "Voyager Game Engine" );
}
-#if 0
-rigidbody mr_box = {
- .bbx = {{ -1.0f, -0.25f, -0.25f }, { 1.0f, 0.25f, 0.25f }}
-};
-
-rigidbody mrs_box = {
- .bbx = {{ -0.5f, -0.25f, -0.25f }, { 0.5f, 0.25f, 0.25f }}
-};
-
-#endif
-
static int playermodel( int argc, char const *argv[] )
{
if( argc < 1 ) return 0;
player_transform_update();
}
+void vg_free(void)
+{
+ vg_tex2d_free( texture_list, vg_list_size(texture_list) );
+}
+
void vg_update(void)
{
player_update();
v3f shake = { vg_randf()-0.5f, vg_randf()-0.5f, vg_randf()-0.5f };
v3_muls( shake, speed*0.01f, shake );
- if( player.is_dead )
- {
-#if 0
- v3f delta;
- v3_sub( player.mdl.ragdoll[k_chpart_head].co, player.follow, delta );
- v3_normalize(delta);
-
- v3f follow_pos;
- v3_muladds( player.mdl.ragdoll[k_chpart_head].co, delta,
- -1.5f, follow_pos );
- v3_lerp( player.follow, follow_pos, 0.1f, player.follow );
- v3_negate( player.follow, final );
-
-
- float yaw = atan2f( delta[0], -delta[2] );
- float pitch = asinf( delta[1] );
- m4x3_rotate_x( world_matrix, -pitch );
- m4x3_rotate_y( world_matrix, yaw );
-#endif
- }
- else
- {
- }
-
m4x4f world_4x4;
m4x3_expand( player.camera_inverse, world_4x4 );
render_water_texture( player.camera );
glBindFramebuffer( GL_FRAMEBUFFER, 0 );
- render_water_surface( vg_pv );
+ render_water_surface( vg_pv, player.camera );
vg_tex2d_bind( &tex_water, 1 );
draw_player();
- /* Draw back in the background */
+ /* Draw back in the background
+ *
+ * TODO: need to disable alpha write in the terrain shader so this works
+ * again.
+ */
glEnable(GL_BLEND);
glDisable(GL_DEPTH_TEST);
glBlendFunc(GL_ONE_MINUS_DST_ALPHA, GL_DST_ALPHA);
/* Other shite */
glDisable( GL_DEPTH_TEST );
vg_lines_drawall( (float *)vg_pv );
-
- /* Debugger camera */
-#if 0
- glViewport( 0,0, 800, 800 );
- glClearColor( 0.1f, 0.0f, 0.2f, 1.0f );
- glClear( GL_DEPTH_BUFFER_BIT );
-
- m4x3_identity( world_matrix );
-
- v3f debugcam;
- v3_negate( player.co, debugcam );
- debugcam[2] -= 2.0f;
- debugcam[1] -= 0.7f;
-
- m4x3_translate( world_matrix, debugcam );
- m4x3_expand( world_matrix, world_4x4 );
-
- m4x4_projection( vg_pv,
- 100.0f,
- (float)128.0f / (float)128.0f,
- 0.1f, 1000.0f );
- m4x4_mul( vg_pv, world_4x4, vg_pv );
-
- if(sv_debugcam)
- {
- glEnable( GL_DEPTH_TEST );
- draw_player();
- }
-#endif
-
- glDisable( GL_DEPTH_TEST );
- vg_lines_drawall( (float *)vg_pv );
-
glViewport( 0,0, vg_window_x, vg_window_y );
}
"Gamepad not ready", 1, k_text_align_left );
}
}
-
-void vg_free(void){}