change list_size to ARRAY_LEN
[carveJwlIkooP6JGAAIwe30JlM.git] / world_entity.c
index d525572f1e7dd548b791ef50ad472bf998fd3b21..b85e6fa65fdce99149de1ab6c80a42434e270a6f 100644 (file)
@@ -14,6 +14,7 @@
 #include "ent_glider.h"
 #include "ent_region.h"
 #include "ent_npc.h"
+#include "ent_camera.h"
 #include "input.h"
 #include "player_walk.h"
 
@@ -85,17 +86,14 @@ void world_entity_clear_focus(void)
 
 void world_entity_focus_camera( world_instance *world, u32 uid )
 {
-   if( mdl_entity_id_type( uid ) == k_ent_camera ){
+   if( mdl_entity_id_type( uid ) == k_ent_camera )
+   {
       u32 index = mdl_entity_id_id( uid );
       ent_camera *cam = mdl_arritm( &world->ent_camera, index );
-
-      v3f dir = {0.0f,-1.0f,0.0f};
-      mdl_transform_vector( &cam->transform, dir, dir );
-      v3_angles( dir, world_static.focus_cam.angles );
-      v3_copy( cam->transform.co, world_static.focus_cam.pos );
-      world_static.focus_cam.fov = cam->fov;
+      ent_camera_unpack( cam, &world_static.focus_cam );
    }
-   else {
+   else 
+   {
       vg_camera_copy( &localplayer.cam, &world_static.focus_cam );
 
       /* TODO ? */
@@ -131,7 +129,7 @@ void world_entity_focus_preupdate(void)
       [ k_ent_npc ] = ent_npc_preupdate,
    };
 
-   if( (type > vg_list_size(table)) || (table[type] == NULL) )
+   if( (type > VG_ARRAY_LEN(table)) || (table[type] == NULL) )
    {
       vg_fatal_error( "No pre-update method set for entity (%u#%u)\n",
                       type, index );
@@ -148,7 +146,7 @@ void world_entity_focus_render(void)
 {
    world_instance *world = world_current_instance();
    if( skaterift.activity != k_skaterift_ent_focus ){
-      skateshop_render_nonfocused( world, &skaterift.cam );
+      skateshop_render_nonfocused( world, &g_render.cam );
       return;
    }
 
@@ -257,7 +255,7 @@ void world_gen_entities_init( world_instance *world )
       { k_ent_npc, &world->ent_npc }
    };
 
-   for( u32 i=0; i<vg_list_size(indexables); i++ )
+   for( u32 i=0; i<VG_ARRAY_LEN(indexables); i++ )
       indexed_count += mdl_arrcount( indexables[i].array );
    vg_info( "indexing %u entities\n", indexed_count );
 
@@ -265,7 +263,7 @@ void world_gen_entities_init( world_instance *world )
                                          vg_align8(indexed_count*sizeof(u32)));
 
    u32 index=0;
-   for( u32 i=0; i<vg_list_size(indexables); i++ ){
+   for( u32 i=0; i<VG_ARRAY_LEN(indexables); i++ ){
       u32 type  = indexables[i].type,
           count = mdl_arrcount( indexables[i].array );
       
@@ -767,7 +765,7 @@ void world_entity_start( world_instance *world, vg_msg *sav )
       const char *alias = mdl_pstr( &world->meta, challenge->pstr_alias );
 
       u32 result;
-      vg_msg_getkvintg( sav, alias, k_vg_msg_u32, &result );
+      vg_msg_getkvintg( sav, alias, k_vg_msg_u32, &result, NULL );
 
       if( result ){
          ent_call call;
@@ -788,11 +786,12 @@ void world_entity_start( world_instance *world, vg_msg *sav )
                                mdl_pstr(&world->meta,route->pstr_name) ) ){
 
             u32 flags;
-            vg_msg_getkvintg( &route_info, "flags", k_vg_msg_u32, &flags );
+            vg_msg_getkvintg( &route_info, "flags", k_vg_msg_u32,    
+                              &flags, NULL );
             route->flags |= flags;
 
             vg_msg_getkvintg( &route_info, "best_laptime", k_vg_msg_f64,
-                              &route->best_laptime );
+                              &route->best_laptime, NULL );
 
             f32 sections[ route->checkpoints_count ];
             vg_msg_cmd cmd;
@@ -815,7 +814,7 @@ void world_entity_start( world_instance *world, vg_msg *sav )
 
             /* LEGACY: check if steam achievements can give us a medal */
             if( steam_ready && steam_stats_ready ){
-               for( u32 j=0; j<vg_list_size(track_infos); j ++ ){
+               for( u32 j=0; j<VG_ARRAY_LEN(track_infos); j ++ ){
                   struct track_info *inf = &track_infos[j];
                   if( !strcmp(inf->name,
                               mdl_pstr(&world->meta,route->pstr_name))){