X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=skaterift.c;h=73dd44e04cf88a9d86486e812ab082f05c0cb9a3;hb=d5f400a06400d5322330cfdbb97a661707b3d150;hp=f089f79be657241387e807c4e5e1f2f884081615;hpb=730f202673d6ceb2a5199cf244d5c0bddc064fcf;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/skaterift.c b/skaterift.c index f089f79..73dd44e 100644 --- a/skaterift.c +++ b/skaterift.c @@ -59,6 +59,33 @@ static struct player_avatar localplayer_avatar; int main( int argc, char *argv[] ){ +#if 0 + u8 buf[ 512 ]; + bitpack_ctx ctx = { + .buffer = buf, + .buffer_len = 512, + .bytes = 0, + .mode = k_bitpack_compress + }; + + v4f q = { 0.388, -0.565, 0.515, 0.515 }; + vg_info( "q: %f %f %f %f\n", q[0], q[1], q[2], q[3] ); + + /* compress */ + bitpack_qquat( &ctx, q ); + + vg_info( "compressed bytes: %u\n", ctx.bytes ); + + /* decompress */ + ctx.bytes = 0; + ctx.mode = k_bitpack_decompress; + + bitpack_qquat( &ctx, q ); + vg_info( "q: %f %f %f %f\n", q[0], q[1], q[2], q[3] ); + + return 0; +#endif + vg_mem.use_libc_malloc = 0; vg_set_mem_quota( 160*1024*1024 ); vg_enter( argc, argv, "Voyager Game Engine" ); @@ -84,6 +111,7 @@ vg_info(" ' ' '--' [] '----- '----- ' ' '---' " steam_init(); vg_loader_step( NULL, steam_end ); + vg_loader_step( remote_players_init, NULL ); vg_loader_step( network_init, network_end ); } @@ -205,7 +233,8 @@ static void vg_load(void){ /* FIXME FIXME FIXME FIXME FIXME */ u32 mtx_size = sizeof(m4x3f)*localplayer_avatar.sk.bone_count; localplayer.final_mtx = vg_linear_alloc( vg_mem.rtmemory, mtx_size ); - netplayers.final_mtx = vg_linear_alloc( vg_mem.rtmemory, mtx_size*32 ); + netplayers.final_mtx = vg_linear_alloc( vg_mem.rtmemory, + mtx_size*NETWORK_MAX_PLAYERS ); player_model_load( &localplayer.fallback_model, "models/ch_none.mdl" ); player__bind(); @@ -323,6 +352,7 @@ static void vg_pre_update(void){ player__pre_update(); world_entity_focus_preupdate(); skaterift_replay_pre_update(); + remote_sfx_pre_update(); world_update( world_current_instance(), localplayer.rb.co ); audio_ambient_sprites_update( world_current_instance(), localplayer.rb.co );