- vg_function_push( (struct vg_cmd){
- .name = "reset",
- .function = reset_player
- });
-
- v3f lightDir = { 0.1f, 0.8f, 0.2f };
- v3_normalize( lightDir );
-
- /* Unpack player */
- model *char_dev = vg_asset_read( "models/char_dev.mdl" );
- model_unpack( char_dev, &player.mesh );
- player.legl = *submodel_get( char_dev, "legl" );
- player.legu = *submodel_get( char_dev, "legu" );
- player.board = *submodel_get( char_dev, "skateboard" );
- player.torso = *submodel_get( char_dev, "torso" );
- player.wheels = *submodel_get( char_dev, "wheels" );
- free(char_dev);
-
- /* Setup scene */
- scene_init( &world.geo );
- scene_init( &world.detail );
- scene_init( &world.foliage );
-
- model *mworld = vg_asset_read( "models/free_dev.mdl" );
- model *mtest = vg_asset_read( "models/test.mdl" );
-
- model *msky = vg_asset_read( "models/skydome.mdl" );
- model_unpack( msky, &world.skydome );
- free( msky );
-
- scene_add_model( &world.geo, mworld, submodel_get( mworld, "terrain" ),
- (v3f){0.0f,0.0f,0.0f}, 0.0f, 1.0f );
- scene_copy_slice( &world.geo, &world.terrain );
-
- scene_add_model( &world.geo, mworld, submodel_get( mworld, "terrain_rocks" ),
- (v3f){0.0f,0.0f,0.0f}, 0.0f, 1.0f );
- scene_copy_slice( &world.geo, &world.terrain_rocks );
-
- submodel *ptree = submodel_get( mtest, "tree" ),
- *pt_groundcover[] =
- {
- submodel_get( mtest, "bush" ),
- submodel_get( mtest, "bush" ),
- submodel_get( mtest, "blubber" ),
- };
-
- /* Sprinkle some trees in the terrain areas */
- v3f range;
- v3_sub( world.geo.bbx[1], world.geo.bbx[0], range );
-
-#ifdef VG_RELEASE
- int const ktree_count = 8000,
- kfoliage_count = 200000;
-#else
- int const ktree_count = 200,
- kfoliage_count = 0;
-#endif