Unicode fonts
This was SVN commit r523.
This commit is contained in:
parent
48d94cd86a
commit
9aff01cf23
@ -88,7 +88,8 @@ static float g_Gamma = 1.0f;
|
|||||||
static const char* g_MapFile=0;
|
static const char* g_MapFile=0;
|
||||||
|
|
||||||
|
|
||||||
static Handle font;
|
static Handle g_Font_Console; // for the console
|
||||||
|
static Handle g_Font_Misc; // random font for miscellaneous things
|
||||||
|
|
||||||
|
|
||||||
extern CCamera g_Camera;
|
extern CCamera g_Camera;
|
||||||
@ -105,7 +106,19 @@ extern int dir_add_watch(const char* const dir, bool watch_subdirs);
|
|||||||
|
|
||||||
void Testing (void)
|
void Testing (void)
|
||||||
{
|
{
|
||||||
g_Console->InsertMessage("Testing Function Registration");
|
g_Console->InsertMessage(L"Testing Function Registration");
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestingUnicode (void)
|
||||||
|
{
|
||||||
|
// This looks really broken in my IDE's font
|
||||||
|
g_Console->InsertMessage(L" Ai! laurië lantar lassi súrinen,");
|
||||||
|
g_Console->InsertMessage(L" yéni únótimë ve rámar aldaron!");
|
||||||
|
g_Console->InsertMessage(L" Yéni ve lintë yuldar avánier");
|
||||||
|
g_Console->InsertMessage(L" mi oromardi lissë-miruvóreva");
|
||||||
|
g_Console->InsertMessage(L" Andúnë pella, Vardo tellumar");
|
||||||
|
g_Console->InsertMessage(L" nu luini yassen tintilar i eleni");
|
||||||
|
g_Console->InsertMessage(L" ómaryo airetári-lírinen.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -145,15 +158,17 @@ static int write_sys_info()
|
|||||||
fprintf(f, "%dx%d:%d@%d\n", g_xres, g_yres, g_bpp, g_freq);
|
fprintf(f, "%dx%d:%d@%d\n", g_xres, g_yres, g_bpp, g_freq);
|
||||||
// .. network name / ips
|
// .. network name / ips
|
||||||
char hostname[100]; // possibly nodename != hostname
|
char hostname[100]; // possibly nodename != hostname
|
||||||
gethostname(hostname, sizeof(hostname));
|
if (gethostname(hostname, sizeof(hostname)) == 0) // make sure it succeeded
|
||||||
fprintf(f, "%s\n", hostname);
|
|
||||||
hostent* host = gethostbyname(hostname);
|
|
||||||
if(host)
|
|
||||||
{
|
{
|
||||||
struct in_addr** ips = (struct in_addr**)host->h_addr_list;
|
fprintf(f, "%s\n", hostname);
|
||||||
for(int i = 0; ips && ips[i]; i++)
|
hostent* host = gethostbyname(hostname);
|
||||||
fprintf(f, "%s ", inet_ntoa(*ips[i]));
|
if(host)
|
||||||
fprintf(f, "\n");
|
{
|
||||||
|
struct in_addr** ips = (struct in_addr**)host->h_addr_list;
|
||||||
|
for(int i = 0; ips && ips[i]; i++)
|
||||||
|
fprintf(f, "%s ", inet_ntoa(*ips[i]));
|
||||||
|
fprintf(f, "\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose(f);
|
fclose(f);
|
||||||
@ -325,7 +340,7 @@ static void Render()
|
|||||||
g_Renderer.SetCamera(g_Camera);
|
g_Renderer.SetCamera(g_Camera);
|
||||||
|
|
||||||
// switch on wireframe for terrain if we want it
|
// switch on wireframe for terrain if we want it
|
||||||
g_Renderer.SetTerrainRenderMode( SOLID );
|
//g_Renderer.SetTerrainRenderMode( SOLID ); // (PT: If this is done here, the W key doesn't work)
|
||||||
RenderTerrain();
|
RenderTerrain();
|
||||||
RenderModels();
|
RenderModels();
|
||||||
g_Renderer.FlushFrame();
|
g_Renderer.FlushFrame();
|
||||||
@ -345,6 +360,7 @@ static void Render()
|
|||||||
|
|
||||||
// overlay mode
|
// overlay mode
|
||||||
glPushAttrib(GL_ENABLE_BIT);
|
glPushAttrib(GL_ENABLE_BIT);
|
||||||
|
glEnable(GL_TEXTURE_2D);
|
||||||
glDisable(GL_CULL_FACE);
|
glDisable(GL_CULL_FACE);
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
@ -358,28 +374,32 @@ static void Render()
|
|||||||
glMatrixMode(GL_MODELVIEW);
|
glMatrixMode(GL_MODELVIEW);
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
|
|
||||||
// FPS counter
|
|
||||||
glLoadIdentity();
|
|
||||||
glTranslatef(10, 30, 0);
|
|
||||||
font_bind(font);
|
|
||||||
glprintf("%d FPS", fps);
|
|
||||||
|
|
||||||
// view params
|
// Use the GL_ALPHA texture as the alpha channel with a flat colouring
|
||||||
|
glDisable(GL_ALPHA_TEST);
|
||||||
|
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||||
|
|
||||||
|
unifont_bind(g_Font_Misc);
|
||||||
|
|
||||||
|
glColor4f(1.0f, 0.8f, 0.0f, 1.0f);
|
||||||
|
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
glTranslatef(10, 90, 0);
|
glTranslatef(10.0f, 10.0f, 0.0f);
|
||||||
extern float g_CameraZoom;
|
|
||||||
glprintf("zoom=%.1f", g_CameraZoom);
|
glwprintf( L"%d FPS", fps);
|
||||||
|
|
||||||
#ifndef NO_GUI
|
#ifndef NO_GUI
|
||||||
// Temp GUI message GeeTODO
|
// Temp GUI message GeeTODO
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
glTranslatef(10, 60, 0);
|
glTranslatef(10, 60, 0);
|
||||||
glprintf("%s", g_GUI.TEMPmessage.c_str());
|
glwprintf( L"%S", g_GUI.TEMPmessage.c_str() );
|
||||||
|
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
g_GUI.Draw();
|
g_GUI.Draw();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
unifont_bind(g_Font_Console);
|
||||||
|
glLoadIdentity();
|
||||||
g_Console->Render();
|
g_Console->Render();
|
||||||
|
|
||||||
// restore
|
// restore
|
||||||
@ -623,9 +643,12 @@ PREVTSC=CURTSC;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
font = font_load("fonts/verdana.fnt");
|
g_Font_Console = unifont_load("fonts/console");
|
||||||
|
g_Font_Misc = unifont_load("fonts/verdana16");
|
||||||
|
|
||||||
g_Console = new CConsole(0, g_yres-600.f, (float)g_xres, 600.f);
|
g_Console = new CConsole(0, g_yres-600.f, (float)g_xres, 600.f);
|
||||||
|
g_Console->m_iFontHeight = unifont_linespacing(g_Font_Console);
|
||||||
|
g_Console->m_iFontOffset = 9;
|
||||||
|
|
||||||
// create renderer
|
// create renderer
|
||||||
new CRenderer;
|
new CRenderer;
|
||||||
@ -714,7 +737,12 @@ if(!g_MapFile)
|
|||||||
g_Camera.UpdateFrustum();
|
g_Camera.UpdateFrustum();
|
||||||
}
|
}
|
||||||
|
|
||||||
g_Console->RegisterFunc(Testing, "Testing");
|
g_Console->RegisterFunc(Testing, L"Testing");
|
||||||
|
|
||||||
|
{
|
||||||
|
wchar_t t[] = { 'T',0xE9,'s','t','i','n','g' , 0 };
|
||||||
|
g_Console->RegisterFunc(TestingUnicode, t);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user