#include "player_skate.h"
#include "player_basic_info.h"
#include "player_glide.h"
+#include <string.h>
i32 k_invert_y = 0;
struct localplayer localplayer =
k_var_dtype_i32, VG_VAR_PERSISTENT );
}
-void player__debugtext( int size, const char *fmt, ... )
+void player__debugtext( ui_context *ctx, int size, const char *fmt, ... )
{
char buffer[ 1024 ];
vsnprintf( buffer, 1024, fmt, args );
va_end( args );
- ui_text( g_player_debugger, buffer, size, k_ui_align_left, 0 );
+ ui_text( ctx, g_player_debugger, buffer, size, k_ui_align_left, 0 );
g_player_debugger[1] += size*16;
}
m4x4f transport_4;
m4x3_invert_affine( transport, transport_i );
m4x3_expand( transport_i, transport_4 );
- m4x4_mul( skaterift.cam.mtx.pv, transport_4, skaterift.cam.mtx.pv );
- m4x4_mul( skaterift.cam.mtx.v, transport_4, skaterift.cam.mtx.v );
+ m4x4_mul( g_render.cam.mtx.pv, transport_4, g_render.cam.mtx.pv );
+ m4x4_mul( g_render.cam.mtx.v, transport_4, g_render.cam.mtx.v );
/* we want the regular transform here no the inversion */
m4x3_expand( transport, transport_4 );
m4x4_mul( world_gates.cam.mtx.v, transport_4, world_gates.cam.mtx.v );
}
-void player__im_gui(void)
+void player__im_gui( ui_context *ctx )
{
if( !k_player_debug_info ) return;
vg.window_y
};
- ui_fill( box, (ui_colour(k_ui_bg)&0x00ffffff)|0x50000000 );
+ ui_fill( ctx, box, (ui_colour(ctx, k_ui_bg)&0x00ffffff)|0x50000000 );
g_player_debugger[0] = box[0];
g_player_debugger[1] = 0;
g_player_debugger[2] = 300;
g_player_debugger[3] = 32;
- player__debugtext( 2, "instance #%u", world_static.active_instance );
+ player__debugtext( ctx, 2, "instance #%u", world_static.active_instance );
char buf[96];
- for( u32 i=0; i<k_world_max; i++ ){
+ for( u32 i=0; i<k_world_max; i++ )
+ {
if( world_static.instance_addons[ i ] )
addon_alias_uid( &world_static.instance_addons[ i ]->alias, buf );
else
strcpy( buf, "none" );
- player__debugtext( 1, "world #%u: %s", i, buf );
+ player__debugtext( ctx, 1, "world #%u: %s", i, buf );
}
- player__debugtext( 2, "director" );
- player__debugtext( 1, "activity: %s",
+ player__debugtext( ctx, 2, "director" );
+ player__debugtext( ctx, 1, "activity: %s",
(const char *[]){ [k_skaterift_menu] = "menu",
[k_skaterift_replay] = "replay",
[k_skaterift_ent_focus] = "ent_focus",
[k_skaterift_default] = "default",
- [k_skaterift_world_map] = "world map"
} [skaterift.activity] );
- player__debugtext( 1, "time_rate: %.4f", skaterift.time_rate );
+ player__debugtext( ctx, 1, "time_rate: %.4f", skaterift.time_rate );
- player__debugtext( 2, "player" );
- player__debugtext( 1, "angles: " PRINTF_v3f( localplayer.cam.angles ) );
+ player__debugtext( ctx, 2, "player" );
+ player__debugtext( ctx, 1, "angles: " PRINTF_v3f( localplayer.cam.angles ) );
if( player_subsystems[ localplayer.subsystem ]->im_gui )
- player_subsystems[ localplayer.subsystem ]->im_gui();
+ player_subsystems[ localplayer.subsystem ]->im_gui( ctx );
- skaterift_replay_debug_info();
+ skaterift_replay_debug_info( ctx );
}
void player__setpos( v3f pos )
world_static.challenge_target = NULL;
world_static.challenge_timer = 0.0f;
- world_static.focused_entity = 0;
world_static.active_trigger_volume_count = 0;
world_static.last_use = 0.0;
- world_entity_unfocus();
+ world_entity_exit_modal();
+ world_entity_clear_focus();
localplayer.boundary_hash ^= NETMSG_BOUNDARY_BIT;
localplayer.gate_waiting = NULL;
localplayer.have_glider = 0;
localplayer.glider_orphan = 0;
+ localplayer.drowned = 0;
v3_copy( localplayer.rb.co, localplayer.cam_control.tpv_lpf );
player__clean_refs();