#include "world_load.h"
#include "entity.h"
#include "audio.h"
+#include "steam.h"
VG_STATIC void ent_objective_pass( world_instance *world,
ent_objective *objective ){
audio_oneshot( &audio_challenge[2], 1.0f, 0.0f );
world_static.challenge_target = NULL;
world_static.challenge_timer = 0.0f;
+ world_static.focused_entity = 0;
if( objective->id_win ){
ent_call call;
call.id = objective->id_win;
entity_call( world, &call );
}
+
+ u32 world_completed = 1;
+ for( u32 i=0; i<mdl_arrcount(&world->ent_challenge); i++ ){
+ ent_challenge *challenge = mdl_arritm( &world->ent_challenge, i );
+ if( !challenge->status ){
+ world_completed = 0;
+ break;
+ }
+ }
+
+ if( world_completed ){
+ const char *understate = "Understate DIY park";
+ if( mdl_pstreq( &world->meta, world->info.pstr_name,
+ understate, vg_strdjb2( understate ))){
+ steam_set_achievement( "CITY_COMPLETE" );
+ }
+ }
}
}
#if 1
-//#define SR_NETWORKED
+#define SR_NETWORKED
#ifndef VG_RELEASE
#define VG_DEVWINDOW
kvsav.len = sav.len;
kvsav.max = sizeof(sav.buf);
+ u32 board_reg_id = 0,
+ player_reg_id = 0;
+
vg_msg player = kvsav;
if( vg_msg_seekframe( &player, "player", 0 ) ){
addon_alias q;
/* board */
skaterift_read_addon_alias( &player, "board", k_addon_type_board, &q );
u32 reg_id = addon_match( &q );
- if( reg_id != 0xffffffff ){
- localplayer.board_view_slot =
- addon_cache_create_viewer( k_addon_type_board, reg_id );
- }
+ if( reg_id != 0xffffffff )
+ board_reg_id = reg_id;
+
/* playermodel */
skaterift_read_addon_alias( &player, "playermodel",
k_addon_type_player, &q );
reg_id = addon_match( &q );
-
- if( reg_id == 0xffffffff ) reg_id = 0;
- localplayer.playermodel_view_slot =
- addon_cache_create_viewer( k_addon_type_player, reg_id );
+ if( reg_id != 0xffffffff )
+ player_reg_id = reg_id;
}
+ localplayer.board_view_slot =
+ addon_cache_create_viewer( k_addon_type_board, board_reg_id );
+ localplayer.playermodel_view_slot =
+ addon_cache_create_viewer( k_addon_type_player, player_reg_id );
+
vg_msg world = kvsav;
if( vg_msg_seekframe( &world, "world", 0 ) ){
addon_alias q;