world_instance *current =
&world_static.instances[ world_static.active_instance ];
- if( index != world_static.active_instance ){
+ if( index != world_static.active_instance )
v3_copy( localplayer.rb.co, current->player_co );
- v3_copy( localplayer.angles, current->player_angles );
- v3_copy( localplayer.cam.pos, current->cam_co );
- current->player_angles[3] = player_get_heading_yaw();
- }
-
v3_copy( new->player_co, localplayer.rb.co );
- v3_copy( new->player_angles, localplayer.angles );
- v3_copy( new->cam_co, localplayer.cam.pos );
- q_axis_angle( localplayer.rb.q, (v3f){0,1,0}, new->player_angles[3] );
-
- /* run exit events on triggers */
- for( u32 i=0; i<world_static.active_trigger_volume_count; i++ ){
- i32 idx = world_static.active_trigger_volumes[i];
- ent_volume *volume = mdl_arritm( ¤t->ent_volume, idx );
-
- ent_call basecall;
- basecall.function = k_ent_function_trigger_leave;
- basecall.id = mdl_entity_id( k_ent_volume, idx );
- basecall.data = NULL;
- entity_call( current, &basecall );
- }
world_static.active_instance = index;