add command for spawning glider
[carveJwlIkooP6JGAAIwe30JlM.git] / world_render.c
index 613d3bffa6af21c473ff170938391b7357971624..e675abf96501afcebf59316c57e3f0150bf0deda 100644 (file)
@@ -565,19 +565,20 @@ static void world_render_challenges( world_instance *world,
    /* render texts */
    font3d_bind( &gui.font, k_font_shader_world, 0, world, &skaterift.cam );
 
-   char buf[32];
    u32 count = 0;
 
-   for( u32 i=0; i<mdl_arrcount(&world->ent_challenge); i++ ){
+   for( u32 i=0; i<mdl_arrcount(&world->ent_challenge); i++ )
+   {
       ent_challenge *challenge = mdl_arritm( &world->ent_challenge, i );
       if( challenge->status ) count ++;
    }
 
-   int c=0;
-   c+=highscore_intl( buf+c, count, 3 );
-   buf[c++] = '/';
-   c+=highscore_intl( buf+c, mdl_arrcount(&world->ent_challenge), 3 );
-   buf[c++] = '\0';
+   char buf[32];
+   vg_str str;
+   vg_strnull( &str, buf, sizeof(buf) );
+   vg_strcati32( &str, count );
+   vg_strcatch( &str, '/' );
+   vg_strcati32( &str, mdl_arrcount(&world->ent_challenge) );
 
    f32 w = font3d_string_width( 1, buf );
    m4x3f mlocal;
@@ -586,7 +587,8 @@ static void world_render_challenges( world_instance *world,
    mlocal[3][1] = 0.0f;
    mlocal[3][2] = 0.0f;
 
-   for( u32 i=0; i<challenge_count; i++ ){
+   for( u32 i=0; i<challenge_count; i++ )
+   {
       u32 index = challenge_list[ i ];
       ent_challenge *challenge = mdl_arritm( &world->ent_challenge, index );
       m4x3f mmdl;
@@ -856,6 +858,13 @@ static void world_prerender( world_instance *world ){
    state->g_debug_complexity = k_debug_light_complexity;
    state->g_time_of_day = vg_fractf( world->time );
 
+   if( vg.quality_profile == k_quality_profile_high )
+      state->g_shadow_samples = 8;
+   else if( vg.quality_profile == k_quality_profile_low )
+      state->g_shadow_samples = 2;
+   else
+      state->g_shadow_samples = 0;
+
    state->g_day_phase   = cosf( state->g_time_of_day * VG_PIf * 2.0f );
    state->g_sunset_phase= cosf( state->g_time_of_day * VG_PIf * 4.0f + VG_PIf );