vg_compiler_run( &test_proj, &vg_test_env, &conf, sources.buffer, "dbtest", k_obj_type_exe );
}
+#include "vg/vg_kv.h"
+#include "vg/vg_kv.c"
+
int main( int argc, const char *argv[] )
{
vg_log_init();
_vg_opt_init( argc, argv );
+ vg_stack_allocator stacky;
+ vg_stack_init( &stacky, NULL, 0, "Stacky" );
+ vg_stack_set_flags( &stacky, VG_STACK_ALLOCATOR_METADATA|VG_STACK_ALLOCATOR_DOUBLE_IF_FULL );
+ u32 size;
+ const char *src = vg_file_read( &stacky, "/home/harry/Documents/vg_res/test.kv", &size, 1 );
+
+ if( src )
+ {
+ vg_kvs kvs;
+ vg_kv_parse( &kvs, src, &stacky );
+ vg_kv_print_info( &kvs );
+ vg_kv_print_tree( &kvs, 0, 0 );
+
+ u32 db = vg_kv_find( &kvs, 0, "skaterift_database" );
+ if( db )
+ {
+ vg_success( "Found db\n" );
+
+ u32 users = vg_kv_find( &kvs, db, "users" );
+ if( users )
+ {
+ vg_success( "Found users\n" );
+
+ u32 vt = vg_kv_find( &kvs, users, "value_type" );
+ if( vt )
+ {
+ u32 val_length;
+ const char *val = vg_kv_value( &kvs, vt, &val_length );
+
+ if( val )
+ vg_success( "-> %.*s\n", val_length, val );
+ }
+ }
+ }
+ }
+
+ return 0;
+
const char *arg;
if( (arg = vg_long_opt_arg( "glsl-dir", "Specify output directory for preprocessed GLSL" )) )
if( !ref )
{
- vg_stack_extend_last( _cutscene.stack, sizeof(struct model_ref) );
+ _cutscene.refs = vg_stack_extend_last( _cutscene.stack, sizeof(struct model_ref) );
ref_id = _cutscene.unique_refs;
ref = &_cutscene.refs[ ref_id ];
ref->name = name;
u32 skeleton_count = ref->mdl.armature_count;
if( skeleton_count )
{
- ref->skeletons = vg_stack_allocate( _cutscene.stack, sizeof(struct cs_skeleton) * skeleton_count,
- 8, "Skeletons" );
-
+ ref->skeletons = vg_stack_allocate( _cutscene.stack, sizeof(struct cs_skeleton) * skeleton_count, 8, "Skeletons" );
ref->total_skinning_bones = 0;
for( u32 j=0; j<skeleton_count; j ++ )
{
world->scene_geo.max_indices = world->scene_geo.indice_count;
world->scene_geo.max_vertices = world->scene_geo.vertex_count;
- vg_stack_resize_last( world->stack, scene_mem_required( &world->scene_geo ) );
+ buffer = vg_stack_resize_last( world->stack, scene_mem_required( &world->scene_geo ) );
world->scene_geo.arrvertices = (scene_vert *)(buffer);
world->scene_geo.arrindices = (u32 *)(buffer + new_vert_size);