projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update finalized version
[carveJwlIkooP6JGAAIwe30JlM.git]
/
skaterift.c
diff --git
a/skaterift.c
b/skaterift.c
index 40be41ef0c7b9d4732b35509f37239987c79d1e4..c2fc2664d0263c16d33f66e4c40d9452da4f2652 100644
(file)
--- a/
skaterift.c
+++ b/
skaterift.c
@@
-104,6
+104,9
@@
static void skaterift_restore_state(void){
kvsav.len = sav.len;
kvsav.max = sizeof(sav.buf);
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;
vg_msg player = kvsav;
if( vg_msg_seekframe( &player, "player", 0 ) ){
addon_alias q;
@@
-111,21
+114,23
@@
static void skaterift_restore_state(void){
/* board */
skaterift_read_addon_alias( &player, "board", k_addon_type_board, &q );
u32 reg_id = addon_match( &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 );
/* 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;
vg_msg world = kvsav;
if( vg_msg_seekframe( &world, "world", 0 ) ){
addon_alias q;
@@
-143,15
+148,17
@@
static void skaterift_restore_state(void){
};
skaterift_world_load_thread( &args );
};
skaterift_world_load_thread( &args );
- world_s
tatic.active_instance = vg_msg_seekkvu32( &world, "index", 0
);
+ world_s
et_active_instance( vg_msg_seekkvu32( &world, "index", 0 )
);
world_static.active_trigger_volume_count = 0;
localplayer.viewable_world = world_current_instance();
world_static.active_trigger_volume_count = 0;
localplayer.viewable_world = world_current_instance();
+ }
+
+ vg_msg_cmd position = vg_msg_seekkv( &world, "position", 0 );
+ v3f pos;
+ vg_msg_convert_num( &position, k_vg_msg_float|k_vg_msg_32b, 3, pos );
- vg_msg_cmd position = vg_msg_seekkv( &world, "position", 0 );
- v3f pos;
- vg_msg_convert_num( &position, k_vg_msg_float|k_vg_msg_32b, 3, pos );
+ if( v3_length2(pos) > 1.0f )
player__setpos( &localplayer, pos );
player__setpos( &localplayer, pos );
- }
}
}
}
}
@@
-297,7
+304,7
@@
VG_STATIC void vg_pre_update(void){
vg.time_rate = vg_smoothstepf( skaterift.time_rate );
player__pre_update( &localplayer );
vg.time_rate = vg_smoothstepf( skaterift.time_rate );
player__pre_update( &localplayer );
-
global_skateshop
_preupdate();
+
world_entity_focus
_preupdate();
skaterift_replay_pre_update();
world_update( world_current_instance(), localplayer.rb.co );
skaterift_replay_pre_update();
world_update( world_current_instance(), localplayer.rb.co );
@@
-467,8
+474,8
@@
VG_STATIC void render_scene_gate_subview(void){
}
VG_STATIC void skaterift_composite_maincamera(void){
}
VG_STATIC void skaterift_composite_maincamera(void){
- camera_lerp( &localplayer.cam, &
global_skateshop.cam,
- vg_smoothstepf(
global_skateshop.factive
), &skaterift.cam );
+ camera_lerp( &localplayer.cam, &
world_static.focus_cam,
+ vg_smoothstepf(
world_static.focus_strength
), &skaterift.cam );
if( skaterift.activity == k_skaterift_replay ){
skaterift_get_replay_camera( &skaterift.cam );
if( skaterift.activity == k_skaterift_replay ){
skaterift_get_replay_camera( &skaterift.cam );
@@
-507,10
+514,17
@@
VG_STATIC void render_main_game(void){
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
- /* cubemaps TODO: Need a cubemap mark dirty thing for pordals */
world_instance *view_world = localplayer.viewable_world;
if( view_world != NULL ){
render_world_cubemaps( view_world );
world_instance *view_world = localplayer.viewable_world;
if( view_world != NULL ){
render_world_cubemaps( view_world );
+
+ ent_gate *gate = view_world->rendering_gate;
+ if( gate ){
+ if( gate->flags & k_ent_gate_nonlocal ){
+ world_instance *dest = &world_static.instances[ gate->target ];
+ render_world_cubemaps( dest );
+ }
+ }
}
/* variable res target */
}
/* variable res target */