diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2009-06-07 14:36:54 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2009-06-07 14:36:54 +0000 |
| commit | cdc5f26900dc10e10679ba76a30f195e8b3f5505 (patch) | |
| tree | 415b28219072589b09031c145d34def8e0f8956b /src/game/client | |
| parent | 4bb1df318905f491740f4298c69cda317fb53fcb (diff) | |
| download | zcatch-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.cpp | 3 | ||||
| -rw-r--r-- | src/game/client/components/controls.cpp | 2 | ||||
| -rw-r--r-- | src/game/client/components/menus.cpp | 15 | ||||
| -rw-r--r-- | src/game/client/components/menus_browser.cpp | 5 | ||||
| -rw-r--r-- | src/game/client/gameclient.cpp | 11 |
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; |