}
netmsg_playerframe *frame = msg->m_pData;
- vg_info( "recv %i from %i.\n", (i32)tmp->inetmsg_id, (i32)frame->client );
if( frame->client >= vg_list_size(netplayers.list) ){
vg_error( "inetmsg_playerframe: player index out of range\n" );
vg_error( "inetmsg_playerframe: subsystem out of range\n" );
return;
}
- vg_info( "subsystem: %i, sfx: %i.\n", (i32)frame->subsystem,
- (i32)frame->sound_effects );
struct interp_buffer *ib = &netplayers.interp_data[ frame->client ];
struct interp_frame *dest = NULL;
ui_rect panel = { (vg.window_x / 2) - 200, 0, 400, 600 };
ui_fill( panel, (ui_colour(k_ui_bg)&0x00ffffff)|0x50000000 );
+ ui_font_face( &vgf_default_title );
+ ui_info( panel, "Network" );
+ ui_font_face( &vgf_default_large );
+ ui_info( panel, "Status" );
+ ui_font_face( &vgf_default_small );
+
char buf[512];
const char *netstatus = "PROGRAMMING ERROR";
struct network_player *player = &netplayers.list[i];
if( !player->active || player->isblocked ) continue;
if( player->active_world != world ) continue;
+
+#if 0
if( !player->isfriend &&
(world-world_static.instances == k_world_purpose_hub)) continue;
+#endif
draw_list[draw_list_count ++] = i;
/*
* Draw chat box relative to the root tag position on the screen
*/
-static void chat_box( ui_point tag_root, f64 time, const char *message ){
+static void chat_box( ui_point tag_root, f64 time, const char *message )
+{
if( (vg.time_real - time) > 15.0 )
return;
ui_rect wr;
wr[2] = ui_text_line_width( message ) + 8;
- wr[3] = vg_ui.font->glyph_height + 2;
+ wr[3] = vg_ui.font->ch + 2;
wr[0] = tag_root[0]-(wr[2]/2);
wr[1] = tag_root[1] - wr[3] - 8;
* Draw full imgui for remote player
*/
static void remote_player_nametag( ui_point tag_root,
- struct network_player *player ){
- vg_ui.font = &vg_ui_font_big;
+ struct network_player *player )
+{
+ ui_font_face( &vgf_default_large );
ui_rect wr;
wr[2] = VG_MAX( ui_text_line_width( player->username ), 140 ) + 8;
ui_fill( wr, ui_opacity( ui_colour(k_ui_bg), 0.23f ) );
ui_text( wr, player->username, 1, k_ui_align_middle_center, 0 );
- vg_ui.font = &vg_ui_font_small;
+ ui_font_face( &vgf_default_small );
/* medals */
int cols = 0;
for( int i=0; i<3; i ++ ){
if( player->medals[i] ){
ui_rect col = { wr[0] + (f32)cols*w, wr[1] + wr[3], w,
- vg_ui.font->glyph_height };
+ vg_ui.font->ch };
vg_strnull( &str, buf, 32 );
+#if 0
vg_strcatch( &str, (char)k_SRglyph_vg_circle );
+#endif
vg_strcati32( &str, player->medals[i] );
ui_text( col, buf, 1, k_ui_align_middle_center,
else
fg = ui_colour( in_world? k_ui_fg: k_ui_fg+4 );
- vg_ui.font = &vg_ui_font_big;
+ ui_font_face( &vgf_default_large );
ui_text( top, username, 1, k_ui_align_middle_center, fg );
- vg_ui.font = &vg_ui_font_small;
+ ui_font_face( &vgf_default_small );
ui_text( bottom, activity, 1, k_ui_align_middle_center, fg );
}
ui_px y = 50, width = 200, height = 42, gap = 2,
x = vg.window_x - width;
- vg_ui.font = &vg_ui_font_big;
+ ui_font_face( &vgf_default_large );
ui_text( (ui_rect){ x, 0, width, height },
"In World", 1, k_ui_align_middle_center, 0 );
- vg_ui.font = &vg_ui_font_small;
+ ui_font_face( &vgf_default_small );
ui_rect us = { x, y, width, height };