about summary refs log tree commit diff
path: root/src/game/client
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2009-06-07 14:36:54 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2009-06-07 14:36:54 +0000
commitcdc5f26900dc10e10679ba76a30f195e8b3f5505 (patch)
tree415b28219072589b09031c145d34def8e0f8956b /src/game/client
parent4bb1df318905f491740f4298c69cda317fb53fcb (diff)
downloadzcatch-cdc5f26900dc10e10679ba76a30f195e8b3f5505.tar.gz
zcatch-cdc5f26900dc10e10679ba76a30f195e8b3f5505.zip
new font rendering system using freetype2. only compiles under linux for now
Diffstat (limited to 'src/game/client')
-rw-r--r--src/game/client/components/console.cpp3
-rw-r--r--src/game/client/components/controls.cpp2
-rw-r--r--src/game/client/components/menus.cpp15
-rw-r--r--src/game/client/components/menus_browser.cpp5
-rw-r--r--src/game/client/gameclient.cpp11
5 files changed, 17 insertions, 19 deletions
diff --git a/src/game/client/components/console.cpp b/src/game/client/components/console.cpp
index 53d5637e..7b806b36 100644
--- a/src/game/client/components/console.cpp
+++ b/src/game/client/components/console.cpp
@@ -9,7 +9,6 @@
 
 extern "C" {
 	#include <engine/e_ringbuffer.h>
-	#include <engine/client/ec_font.h>
 }
 
 #include <cstring>
@@ -225,7 +224,7 @@ void CONSOLE::possible_commands_render_callback(const char *str, void *user)
 	
 	if(info->enum_count == info->wanted_completion)
 	{
-		float tw = gfx_text_width(info->cursor.font_set, info->cursor.font_size, str, -1);
+		float tw = gfx_text_width(info->cursor.font, info->cursor.font_size, str, -1);
 		gfx_texture_set(-1);
 		gfx_quads_begin();
 			gfx_setcolor(229.0f/255.0f,185.0f/255.0f,4.0f/255.0f,0.85f);
diff --git a/src/game/client/components/controls.cpp b/src/game/client/components/controls.cpp
index af114ce2..b48fb198 100644
--- a/src/game/client/components/controls.cpp
+++ b/src/game/client/components/controls.cpp
@@ -170,7 +170,7 @@ int CONTROLS::snapinput(int *data)
 void CONTROLS::on_render()
 {
 	// update target pos
-	if(!(gameclient.snap.gameobj && gameclient.snap.gameobj->paused || gameclient.snap.spectate))
+	if(gameclient.snap.gameobj && !(gameclient.snap.gameobj->paused || gameclient.snap.spectate))
 		target_pos = gameclient.local_character_pos + mouse_pos;
 }
 
diff --git a/src/game/client/components/menus.cpp b/src/game/client/components/menus.cpp
index 54c587ef..53b57e2c 100644
--- a/src/game/client/components/menus.cpp
+++ b/src/game/client/components/menus.cpp
@@ -13,10 +13,6 @@
 
 #include <engine/e_client_interface.h>
 
-extern "C" {
-	#include <engine/client/ec_font.h>
-}
-
 #include <game/version.hpp>
 #include <game/generated/g_protocol.hpp>
 
@@ -603,6 +599,15 @@ int MENUS::render_menubar(RECT r)
 
 void MENUS::render_loading(float percent)
 {
+	static int64 last_load_render = 0;
+
+	// make sure that we don't render for each little thing we load
+	// because that will slow down loading if we have vsync
+	if(time_get()-last_load_render < time_freq()/60)
+		return;
+		
+	last_load_render = time_get();
+	
 	// need up date this here to get correct
 	vec3 rgb = hsl_to_rgb(vec3(config.ui_color_hue/255.0f, config.ui_color_sat/255.0f, config.ui_color_lht/255.0f));
 	gui_color = vec4(rgb.r, rgb.g, rgb.b, config.ui_color_alpha/255.0f);
@@ -994,6 +999,8 @@ void MENUS::on_statechange(int new_state, int old_state)
 	}
 }
 
+extern "C" void font_debug_render();
+
 void MENUS::on_render()
 {
 	if(client_state() != CLIENTSTATE_ONLINE && client_state() != CLIENTSTATE_DEMOPLAYBACK)
diff --git a/src/game/client/components/menus_browser.cpp b/src/game/client/components/menus_browser.cpp
index c26bddba..a7751347 100644
--- a/src/game/client/components/menus_browser.cpp
+++ b/src/game/client/components/menus_browser.cpp
@@ -3,11 +3,6 @@
 #include <stdlib.h> // atoi
 
 #include <engine/e_client_interface.h>
-
-extern "C" {
-	#include <engine/client/ec_font.h>
-}
-
 #include <game/generated/g_protocol.hpp>
 #include <game/generated/gc_data.hpp>
 
diff --git a/src/game/client/gameclient.cpp b/src/game/client/gameclient.cpp
index 8d0e044c..a90cdc49 100644
--- a/src/game/client/gameclient.cpp
+++ b/src/game/client/gameclient.cpp
@@ -193,15 +193,12 @@ void GAMECLIENT::on_init()
 	for(int i = 0; i < NUM_NETOBJTYPES; i++)
 		snap_set_staticsize(i, netobj_get_size(i));
 	
-	// load default font	
-	static FONT_SET default_font;
 	int64 start = time_get();
 	
-	int before = gfx_memory_usage();
-	font_set_load(&default_font, "fonts/default_font%d.tfnt", "fonts/default_font%d.png", "fonts/default_font%d_b.png", 14, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 36);
-	dbg_msg("font", "gfx memory used for font textures: %d", gfx_memory_usage()-before);
-	
-	gfx_text_set_default_font(&default_font);
+	// load default font	
+	static FONT *default_font;
+	default_font = gfx_font_load("data/fonts/vera.ttf");
+	gfx_text_set_default_font(default_font);
 
 	config.cl_threadsoundloading = 0;