Conflicts:
	data/languages/russian.txt
	readme.txt
	src/game/variables.h
This commit is contained in:
GreYFoXGTi 2011-01-06 01:49:58 +02:00
commit 1d9190fd5b
26 changed files with 381 additions and 373 deletions

View file

@ -4,9 +4,24 @@
%d of %d servers, %d players
== %d od %d server(a), %d igrač(a)
%d%% loaded
== Učitano %d%%
%ds left
== Još %ds
%i minute left
== Preostalo: %i min.
%i minutes left
== Preostalo: %i min.
%i second left
== Preostalo: %i sek.
%i seconds left
== Preostalo: %i sek.
Abort
== Prekini
@ -22,12 +37,21 @@ Alpha
Always show name plates
== Uvijek prikaži imena igrača
Are you sure that you want to delete the demo?
== Jeste li sigurni da želite obrisati demo-snimak?
Are you sure that you want to quit?
== Jeste li sigurni da želite izići?
As this is the first time you launch the game, please enter your nick name below. It's recommended that you check the settings to adjust them to your liking before joining a server.
== Pošto prvi put pokrećete igru, molimo da ispod unesete Vaš nadimak (nick). Preporučujemo da provjerite postavke i podesite ih prema Vašem ukusu prije nego se konektujete na server.
Automatically record demos
== Automatski demo-snimci
Automatically take game over screenshot
== Automatski screenshot po završetku igre
Blue team
== Plavi tim
@ -76,6 +100,9 @@ Custom colors
Delete
== Obriši
Delete demo
== Brisanje demo-snimka
Demos
== Demo
@ -127,6 +154,9 @@ Filter
Fire
== Pucanje
Folder
== Direktorij
Force vote
== Obavezno glasanje
@ -181,6 +211,9 @@ Info
Internet
== Internet
Invalid Demo
== Neispravan demo-snimak
Join blue
== U plavi tim
@ -214,6 +247,12 @@ MOTD
Map
== Mapa
Max Screenshots
== Maksimalan broj screenshot-a
Max demos
== Maximalan broj demo-snimaka
Maximum ping:
== Maksimalan ping:
@ -262,6 +301,12 @@ No servers match your filter criteria
Ok
== OK
Open
== Otvori
Parent Folder
== Prethodni direktorij
Password
== Lozinka
@ -275,7 +320,7 @@ Pistol
== Pištolj
Play
== Pokreni
== Pogledaj
Player
== Igrač
@ -298,6 +343,9 @@ Quick search:
Quit
== Izlaz
Record demo
== Snimi demo
Red team
== Crveni tim
@ -415,6 +463,9 @@ The server is running a non-standard tuning on a pure game type.
Time limit
== Max. vremena
Time limit: %d min
== Max. vremena: %d min.
Try again
== Pokušaj ponovo
@ -462,9 +513,6 @@ Your skin
##### needs translation #####
%d%% loaded
==
%s Right click for context menu.
==
@ -504,18 +552,9 @@ Append
Append map
==
Are you sure that you want to delete the demo?
==
Aspect ratio
==
Automatically record demos
==
Automatically take game over screenshot
==
Blue value of the envelope
==
@ -582,9 +621,6 @@ Decrease
Decrease animation speed
==
Delete demo
==
Delete group
==
@ -642,9 +678,6 @@ File: %s
Filename:
==
Folder
==
Green value of the envelope
==
@ -669,9 +702,6 @@ Increase
Increase animation speed
==
Invalid Demo
==
Layers
==
@ -702,10 +732,7 @@ Make collision
Make external
==
Max Screenshots
==
Max demos
Name plates size
==
Name:
@ -726,9 +753,6 @@ None
Normal animation speed
==
Open
==
Opens a map and adds everything from that map to the current one
==
@ -744,9 +768,6 @@ Para X
Para Y
==
Parent Folder
==
Pos X
==
@ -780,9 +801,6 @@ REC
Reason:
==
Record demo
==
Red value of the envelope
==
@ -867,9 +885,6 @@ Switch curve type
Tiles
==
Time limit: %d min
==
Toggle group visibility
==
@ -945,23 +960,8 @@ ZO
[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
==
left
==
minute
==
minutes
==
no limit
==
second
==
seconds
==
##### old translations #####

View file

@ -441,6 +441,18 @@ Your skin
%ds left
==
%i minute left
==
%i minutes left
==
%i second left
==
%i seconds left
==
%s Right click for context menu.
==
@ -696,6 +708,9 @@ Max Screenshots
Max demos
==
Name plates size
==
Name:
==
@ -945,23 +960,8 @@ ZO
[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
==
left
==
minute
==
minutes
==
no limit
==
second
==
seconds
==
##### old translations #####

View file

@ -1,3 +1,4 @@
##### translated strings #####
%d of %d servers, %d players
@ -417,9 +418,6 @@ Layers
Left
== Links
left
== nog
Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.
== Linkermuisknop om te bewegen. Houd shift ingedrukt om te roteren. Houd ctrl ingedrukt om te draaien.
@ -457,21 +455,15 @@ Make external
Map
== Kaart
Max demos
== Maximaal aantal demo's
Max Screenshots
== Maximaal aantal schermafbeeldingen
Max demos
== Maximaal aantal demo's
Maximum ping:
== Hoogste ping:
minute
== minuut
minutes
== minuten
Miscellaneous
== Diverse
@ -517,9 +509,6 @@ Nickname
No
== Nee
no limit
== ongelimiteerd
No password
== Geen wachtwoord
@ -733,12 +722,6 @@ Scoreboard
Screenshot
== Schermafbeelding
second
== seconde
seconds
== seconden
Select group. Right click for properties.
== Kies een groep. Rechtermuisknop voor eigenschappen.
@ -961,8 +944,26 @@ ZO
[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
== [ctrl+p] Test grenzen. Deze grenzen laten zien wat een speler maximaal kan zien.
no limit
== ongelimiteerd
##### needs translation #####
%i minute left
==
%i minutes left
==
%i second left
==
%i seconds left
==
Name plates size
==
##### old translations #####

View file

@ -465,6 +465,18 @@ Your skin
%d%% loaded
==
%i minute left
==
%i minutes left
==
%i second left
==
%i seconds left
==
%s Right click for context menu.
==
@ -708,6 +720,9 @@ Max Screenshots
Max demos
==
Name plates size
==
Name:
==
@ -945,23 +960,8 @@ ZO
[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
==
left
==
minute
==
minutes
==
no limit
==
second
==
seconds
==
##### old translations #####

View file

@ -10,6 +10,18 @@
%ds left
== %ds a quitté
%i minute left
== %i minute restante
%i minutes left
== %i minutes restantes
%i second left
== %i seconde restante
%i seconds left
== %i secondes restantes
Abort
== Annuler
@ -55,6 +67,12 @@ Are you sure that you want to quit?
As this is the first time you launch the game, please enter your nick name below. It's recommended that you check the settings to adjust them to your liking before joining a server.
== Comme c'est la première fois que vous lancez le jeu, veuillez entrer votre pseudonyme ci-dessous. Vous devriez vérifier les réglages et les ajuster avant de rejoindre un serveur.
Automatically record demos
== Enregistrer automatiquement une démo
Automatically take game over screenshot
== Faire automatiquement une capture d'écran à la fin de la partie
Blue team
== Équipe bleue
@ -67,6 +85,12 @@ Body
Border
== Bordure
CCW
== SAH
CW
== SH
Call vote
== Voter
@ -214,6 +238,9 @@ Feet
File
== Fichier
File: %s
== Fichier : %s
Filename:
== Nom du fichier:
@ -259,6 +286,9 @@ Grenade
Group
== Groupe
HD
== HD
Hammer
== Maillet
@ -357,6 +387,12 @@ Make external
Map
== Carte
Max Screenshots
== Nombre max de captures d'écran
Max demos
== Nombre max de démos
Maximum ping:
== Ping maximum:
@ -723,6 +759,9 @@ ZO
[NumPad-] Zoom out
== [ClavierNum-] Dézoomer
no limit
== pas de limite
##### needs translation #####
%s Right click for context menu.
@ -746,21 +785,9 @@ Alpha value of the envelope
Aspect ratio
==
Automatically record demos
==
Automatically take game over screenshot
==
Blue value of the envelope
==
CCW
==
CW
==
Clip H
==
@ -806,9 +833,6 @@ Enable/disable layer for saving
Envelopes
==
File: %s
==
Green value of the envelope
==
@ -824,10 +848,7 @@ Left mouse button to move. Hold shift to move the texture.
Left mouse to drag. Hold ctrl to be more precise. Hold shift to alter time point aswell. Right click to delete.
==
Max Screenshots
==
Max demos
Name plates size
==
Next Envelope
@ -947,24 +968,6 @@ Y-axis of the envelope
[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
==
left
==
minute
==
minutes
==
no limit
==
second
==
seconds
==
##### old translations #####

View file

@ -943,26 +943,26 @@ ZO
[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
== [Strg+P] Schaltet Testrahmen um. Diese Rahmen zeigen, wie viel der Spieler höchstens sehen kann.
left
== noch
minute
== Minute
minutes
== Minuten
no limit
== Keine Begrenzung
second
== Sekunde
seconds
== Sekunden
##### needs translation #####
%i minute left
==
%i minutes left
==
%i second left
==
%i seconds left
==
Name plates size
==
##### old translations #####
Loading DDRace Client

View file

@ -435,6 +435,18 @@ You must restart the game for all settings to take effect.
%ds left
==
%i minute left
==
%i minutes left
==
%i second left
==
%i seconds left
==
%s Right click for context menu.
==
@ -693,6 +705,9 @@ Max Screenshots
Max demos
==
Name plates size
==
Name:
==
@ -945,23 +960,8 @@ ZO
[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
==
left
==
minute
==
minutes
==
no limit
==
second
==
seconds
==
##### old translations #####

View file

@ -783,6 +783,18 @@ ZO
%d%% loaded
==
%i minute left
==
%i minutes left
==
%i second left
==
%i seconds left
==
Alpha value of the envelope
==
@ -864,6 +876,9 @@ Max Screenshots
Max demos
==
Name plates size
==
New folder
==
@ -945,23 +960,8 @@ Y-axis of the envelope
[HOME] Restore map focus
==
left
==
minute
==
minutes
==
no limit
==
second
==
seconds
==
##### old translations #####

View file

@ -462,6 +462,18 @@ Your skin
%d%% loaded
==
%i minute left
==
%i minutes left
==
%i second left
==
%i seconds left
==
%s Right click for context menu.
==
@ -708,6 +720,9 @@ Max Screenshots
Max demos
==
Name plates size
==
Name:
==
@ -945,23 +960,8 @@ ZO
[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
==
left
==
minute
==
minutes
==
no limit
==
second
==
seconds
==
##### old translations #####

View file

@ -795,6 +795,18 @@ ZO
##### needs translation #####
%i minute left
==
%i minutes left
==
%i second left
==
%i seconds left
==
Alpha value of the envelope
==
@ -870,6 +882,9 @@ Max Screenshots
Max demos
==
Name plates size
==
New folder
==
@ -945,24 +960,9 @@ Y-axis of the envelope
[HOME] Restore map focus
==
left
==
minute
==
minutes
==
no limit
==
second
==
seconds
==
==
##### old translations #####

View file

@ -465,6 +465,18 @@ Your skin
%d%% loaded
==
%i minute left
==
%i minutes left
==
%i second left
==
%i seconds left
==
%s Right click for context menu.
==
@ -708,6 +720,9 @@ Max Screenshots
Max demos
==
Name plates size
==
Name:
==
@ -945,23 +960,8 @@ ZO
[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
==
left
==
minute
==
minutes
==
no limit
==
second
==
seconds
==
##### old translations #####

View file

@ -435,6 +435,18 @@ You must restart the game for all settings to take effect.
%ds left
==
%i minute left
==
%i minutes left
==
%i second left
==
%i seconds left
==
%s Right click for context menu.
==
@ -693,6 +705,9 @@ Max Screenshots
Max demos
==
Name plates size
==
Name:
==
@ -945,23 +960,8 @@ ZO
[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
==
left
==
minute
==
minutes
==
no limit
==
second
==
seconds
==
##### old translations #####

View file

@ -849,6 +849,18 @@ ZO
##### needs translation #####
%i minute left
==
%i minutes left
==
%i second left
==
%i seconds left
==
Alpha value of the envelope
==
@ -900,6 +912,9 @@ Max Screenshots
Max demos
==
Name plates size
==
Para X
==
@ -945,23 +960,8 @@ Y-axis of the envelope
[HOME] Restore map focus
==
left
==
minute
==
minutes
==
no limit
==
second
==
seconds
==
##### old translations #####

View file

@ -1,4 +1,4 @@
Copyright (C) 2007-2010 Magnus Auvinen
Copyright (C) 2007-2011 Magnus Auvinen
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages

View file

@ -3,7 +3,7 @@ This is a mod (DDRace) and it's for the game Teeworlds and it's being maintained
DDRace has been rebuilt from scratch by btd based on DDRace-Beta to Teeworlds Trunk 0.5, GreYFoX@GTi helped re-adding features once it was Trunk, you can track this in the commit log.
Teeworlds README is as follows:
Copyright (c) 2010 Magnus Auvinen
Copyright (c) 2011 Magnus Auvinen
This software is provided 'as-is', without any express or implied

View file

@ -539,7 +539,7 @@ void CServerBrowser::Refresh(int Type)
void CServerBrowser::RequestImpl(const NETADDR &Addr, CServerEntry *pEntry) const
{
//unsigned char buffer[sizeof(SERVERBROWSE_GETINFO)+1];
unsigned char Buffer[sizeof(SERVERBROWSE_GETINFO)+1];
CNetChunk Packet;
if(g_Config.m_Debug)
@ -551,19 +551,15 @@ void CServerBrowser::RequestImpl(const NETADDR &Addr, CServerEntry *pEntry) cons
m_pConsole->Print(IConsole::OUTPUT_LEVEL_DEBUG, "client_srvbrowse", aBuf);
}
/*mem_copy(buffer, SERVERBROWSE_GETINFO, sizeof(SERVERBROWSE_GETINFO));
buffer[sizeof(SERVERBROWSE_GETINFO)] = current_token;*/
mem_copy(Buffer, SERVERBROWSE_GETINFO, sizeof(SERVERBROWSE_GETINFO));
Buffer[sizeof(SERVERBROWSE_GETINFO)] = m_CurrentToken;
Packet.m_ClientID = -1;
Packet.m_Address = Addr;
Packet.m_Flags = NETSENDFLAG_CONNLESS;
/*p.data_size = sizeof(buffer);
p.data = buffer;
netclient_send(net, &p);*/
// send old request style aswell
Packet.m_DataSize = sizeof(SERVERBROWSE_OLD_GETINFO);
Packet.m_pData = SERVERBROWSE_OLD_GETINFO;
Packet.m_DataSize = sizeof(Buffer);
Packet.m_pData = Buffer;
m_pNetClient->Send(&Packet);
if(pEntry)

View file

@ -354,8 +354,11 @@ class CTextRender : public IEngineTextRender
}
else
{
Grow(ms_aGlyphData, ms_aGlyphDataOutlined, SlotW, SlotH);
Grow(ms_aGlyphDataOutlined, ms_aGlyphData, SlotW, SlotH);
for(int i = OutlineThickness; i > 0; i-=2)
{
Grow(ms_aGlyphData, ms_aGlyphDataOutlined, SlotW, SlotH);
Grow(ms_aGlyphDataOutlined, ms_aGlyphData, SlotW, SlotH);
}
UploadGlyph(pSizeData, 1, SlotId, Chr, ms_aGlyphData);
}

View file

@ -53,7 +53,6 @@ CMenus::CMenus()
m_NeedSendinfo = false;
m_MenuActive = true;
m_UseMouseButtons = true;
m_DemolistDelEntry = false;
m_EscapePressed = false;
m_EnterPressed = false;
@ -164,6 +163,8 @@ int CMenus::DoEditBox(void *pID, const CUIRect *pRect, char *pStr, unsigned StrS
static bool s_DoScroll = false;
static float s_ScrollStart = 0.0f;
FontSize *= UI()->Scale();
if(UI()->LastActiveItem() == pID)
{
int Len = str_length(pStr);
@ -259,11 +260,11 @@ int CMenus::DoEditBox(void *pID, const CUIRect *pRect, char *pStr, unsigned StrS
// check if the text has to be moved
if(UI()->LastActiveItem() == pID && !JustGotActive && (UpdateOffset || m_NumInputEvents))
{
float w = TextRender()->TextWidth(0, FontSize, pDisplayStr, s_AtIndex)*UI()->Scale();
float w = TextRender()->TextWidth(0, FontSize, pDisplayStr, s_AtIndex);
if(w-*Offset > Textbox.w)
{
// move to the left
float wt = TextRender()->TextWidth(0, FontSize, pDisplayStr, -1)*UI()->Scale();
float wt = TextRender()->TextWidth(0, FontSize, pDisplayStr, -1);
do
{
*Offset += min(wt-*Offset-Textbox.w, Textbox.w/3);
@ -281,7 +282,7 @@ int CMenus::DoEditBox(void *pID, const CUIRect *pRect, char *pStr, unsigned StrS
}
}
UI()->ClipEnable(pRect);
Textbox.x -= *Offset*UI()->Scale();
Textbox.x -= *Offset;
UI()->DoLabel(&Textbox, pDisplayStr, FontSize, -1);
@ -291,7 +292,7 @@ int CMenus::DoEditBox(void *pID, const CUIRect *pRect, char *pStr, unsigned StrS
float w = TextRender()->TextWidth(0, FontSize, pDisplayStr, s_AtIndex);
Textbox = *pRect;
Textbox.VSplitLeft(2.0f, 0, &Textbox);
Textbox.x += (w-*Offset-TextRender()->TextWidth(0, FontSize, "|", -1)/2)*UI()->Scale();
Textbox.x += (w-*Offset-TextRender()->TextWidth(0, FontSize, "|", -1)/2);
if((2*time_get()/time_freq()) % 2) // make it blink
UI()->DoLabel(&Textbox, "|", FontSize, -1);
@ -615,7 +616,7 @@ void CMenus::RenderLoading(float Percent)
CUIRect Screen = *UI()->Screen();
Graphics()->MapScreen(Screen.x, Screen.y, Screen.w, Screen.h);
RenderBackground();
float tw;
@ -868,23 +869,23 @@ int CMenus::Render()
CUIRect Box, Part;
Box = Screen;
Box.VMargin(150.0f, &Box);
Box.HMargin(150.0f, &Box);
Box.VMargin(150.0f/UI()->Scale(), &Box);
Box.HMargin(150.0f/UI()->Scale(), &Box);
// render the box
RenderTools()->DrawUIRect(&Box, vec4(0,0,0,0.5f), CUI::CORNER_ALL, 15.0f);
Box.HSplitTop(20.f, &Part, &Box);
Box.HSplitTop(24.f, &Part, &Box);
UI()->DoLabel(&Part, pTitle, 24.f, 0);
Box.HSplitTop(20.f, &Part, &Box);
Box.HSplitTop(24.f, &Part, &Box);
Part.VMargin(20.f, &Part);
Box.HSplitTop(20.f/UI()->Scale(), &Part, &Box);
Box.HSplitTop(24.f/UI()->Scale(), &Part, &Box);
UI()->DoLabelScaled(&Part, pTitle, 24.f, 0);
Box.HSplitTop(20.f/UI()->Scale(), &Part, &Box);
Box.HSplitTop(24.f/UI()->Scale(), &Part, &Box);
Part.VMargin(20.f/UI()->Scale(), &Part);
if(ExtraAlign == -1)
UI()->DoLabel(&Part, pExtraText, 20.f, -1, (int)Part.w);
UI()->DoLabelScaled(&Part, pExtraText, 20.f, -1, (int)Part.w);
else
UI()->DoLabel(&Part, pExtraText, 20.f, 0, -1);
UI()->DoLabelScaled(&Part, pExtraText, 20.f, 0, -1);
if(m_Popup == POPUP_QUIT)
{
@ -985,13 +986,13 @@ int CMenus::Render()
if(TimeLeft >= 60)
{
TimeLeft /= 60;
pTimeLeftString = TimeLeft == 1 ? Localize("minute") : Localize("minutes");
pTimeLeftString = TimeLeft == 1 ? Localize("%i minute left") : Localize("%i minutes left");
}
else
pTimeLeftString = TimeLeft == 1 ? Localize("second") : Localize("seconds");
pTimeLeftString = TimeLeft == 1 ? Localize("%i second left") : Localize("%i seconds left");
Box.HSplitTop(20.f, 0, &Box);
Box.HSplitTop(24.f, &Part, &Box);
str_format(aBuf, sizeof(aBuf), "%i %s %s", TimeLeft, pTimeLeftString, Localize("left"));
str_format(aBuf, sizeof(aBuf), pTimeLeftString, TimeLeft);
UI()->DoLabel(&Part, aBuf, 20.f, 0, -1);
// progress bar
@ -1040,7 +1041,19 @@ int CMenus::Render()
if(DoButton_Menu(&s_ButtonTryAgain, Localize("Yes"), 0, &Yes) || m_EnterPressed)
{
m_Popup = POPUP_NONE;
m_DemolistDelEntry = true;
// delete demo
if(m_DemolistSelectedIndex >= 0 && !m_DemolistSelectedIsDir)
{
char aBuf[512];
str_format(aBuf, sizeof(aBuf), "%s/%s", m_aCurrentDemoFolder, m_lDemos[m_DemolistSelectedIndex].m_aFilename);
if(Storage()->RemoveFile(aBuf, m_lDemos[m_DemolistSelectedIndex].m_StorageType))
{
DemolistPopulate();
DemolistOnUpdate(false);
}
else
PopupMessage(Localize("Error"), Localize("Unable to delete the demo"), Localize("Ok"));
}
}
}
else if(m_Popup == POPUP_FIRST_LAUNCH)

View file

@ -81,7 +81,7 @@ class CMenus : public CComponent
void UiDoListboxStart(void *pId, const CUIRect *pRect, float RowHeight, const char *pTitle, const char *pBottomText, int NumItems,
int ItemsPerRow, int SelectedIndex, float ScrollValue);
CListboxItem UiDoListboxNextItem(void *pID, bool Selected = false);
static CListboxItem UiDoListboxNextRow();
CListboxItem UiDoListboxNextRow();
int UiDoListboxEnd(float *pScrollValue, bool *pItemActivated);
//static void demolist_listdir_callback(const char *name, int is_dir, void *user);
@ -181,7 +181,6 @@ class CMenus : public CComponent
sorted_array<CDemoItem> m_lDemos;
char m_aCurrentDemoFolder[256];
bool m_DemolistDelEntry;
int m_DemolistSelectedIndex;
bool m_DemolistSelectedIsDir;
int m_DemolistStorageType;

View file

@ -130,11 +130,11 @@ void CMenus::RenderServerbrowserServerList(CUIRect View)
MsgBox.y += View.h/3;
if(m_ActivePage == PAGE_INTERNET && ServerBrowser()->IsRefreshingMasters())
UI()->DoLabel(&MsgBox, Localize("Refreshing master servers"), 16.0f, 0);
UI()->DoLabelScaled(&MsgBox, Localize("Refreshing master servers"), 16.0f, 0);
else if(!ServerBrowser()->NumServers())
UI()->DoLabel(&MsgBox, Localize("No servers found"), 16.0f, 0);
UI()->DoLabelScaled(&MsgBox, Localize("No servers found"), 16.0f, 0);
else if(ServerBrowser()->NumServers() && !NumServers)
UI()->DoLabel(&MsgBox, Localize("No servers match your filter criteria"), 16.0f, 0);
UI()->DoLabelScaled(&MsgBox, Localize("No servers match your filter criteria"), 16.0f, 0);
}
int Num = (int)(View.h/s_aCols[0].m_Rect.h) + 1;
@ -323,7 +323,7 @@ void CMenus::RenderServerbrowserServerList(CUIRect View)
else if(Id == COL_MAP)
{
CTextCursor Cursor;
TextRender()->SetCursor(&Cursor, Button.x, Button.y, 12.0f, TEXTFLAG_RENDER|TEXTFLAG_STOP_AT_END);
TextRender()->SetCursor(&Cursor, Button.x, Button.y, 12.0f * UI()->Scale(), TEXTFLAG_RENDER|TEXTFLAG_STOP_AT_END);
Cursor.m_LineWidth = Button.w;
TextRender()->TextEx(&Cursor, pItem->m_aMap, -1);
}
@ -332,25 +332,23 @@ void CMenus::RenderServerbrowserServerList(CUIRect View)
str_format(aTemp, sizeof(aTemp), "%i/%i", pItem->m_NumPlayers, pItem->m_MaxPlayers);
if(g_Config.m_BrFilterString[0] && (pItem->m_QuickSearchHit&IServerBrowser::QUICK_PLAYERNAME))
TextRender()->TextColor(0.4f,0.4f,1.0f,1);
UI()->DoLabel(&Button, aTemp, 12.0f, 1);
UI()->DoLabelScaled(&Button, aTemp, 12.0f, 1);
TextRender()->TextColor(1,1,1,1);
}
else if(Id == COL_PING)
{
str_format(aTemp, sizeof(aTemp), "%i", pItem->m_Latency);
UI()->DoLabel(&Button, aTemp, 12.0f, 1);
UI()->DoLabelScaled(&Button, aTemp, 12.0f, 1);
}
else if(Id == COL_VERSION)
{
const char *pVersion = pItem->m_aVersion;
if(str_comp(pVersion, "0.3 e2d7973c6647a13c") == 0) // TODO: remove me later on
pVersion = "0.3.0";
UI()->DoLabel(&Button, pVersion, 12.0f, 1);
UI()->DoLabelScaled(&Button, pVersion, 12.0f, 1);
}
else if(Id == COL_GAMETYPE)
{
CTextCursor Cursor;
TextRender()->SetCursor(&Cursor, Button.x, Button.y, 12.0f, TEXTFLAG_RENDER|TEXTFLAG_STOP_AT_END);
TextRender()->SetCursor(&Cursor, Button.x, Button.y, 12.0f*UI()->Scale(), TEXTFLAG_RENDER|TEXTFLAG_STOP_AT_END);
Cursor.m_LineWidth = Button.w;
TextRender()->TextEx(&Cursor, pItem->m_aGameType, -1);
}
@ -376,7 +374,7 @@ void CMenus::RenderServerbrowserServerList(CUIRect View)
CUIRect QuickSearch, Button;
Status.VSplitLeft(260.0f, &QuickSearch, &Status);
const char *pLabel = Localize("Quick search:");
UI()->DoLabel(&QuickSearch, pLabel, 12.0f, -1);
UI()->DoLabelScaled(&QuickSearch, pLabel, 12.0f, -1);
float w = TextRender()->TextWidth(0, 12.0f, pLabel, -1);
QuickSearch.VSplitLeft(w, 0, &QuickSearch);
QuickSearch.VSplitLeft(5.0f, 0, &QuickSearch);
@ -402,7 +400,7 @@ void CMenus::RenderServerbrowserServerList(CUIRect View)
else
str_format(aBuf, sizeof(aBuf), Localize("%d of %d servers, %d players"), ServerBrowser()->NumSortedServers(), ServerBrowser()->NumServers(), NumPlayers);
Status.VSplitRight(TextRender()->TextWidth(0, 14.0f, aBuf, -1), 0, &Status);
UI()->DoLabel(&Status, aBuf, 14.0f, -1);
UI()->DoLabelScaled(&Status, aBuf, 14.0f, -1);
}
void CMenus::RenderServerbrowserFilters(CUIRect View)
@ -448,7 +446,7 @@ void CMenus::RenderServerbrowserFilters(CUIRect View)
View.HSplitTop(5.0f, 0, &View);
View.HSplitTop(19.0f, &Button, &View);
UI()->DoLabel(&Button, Localize("Game types:"), 12.0f, -1);
UI()->DoLabelScaled(&Button, Localize("Game types:"), 12.0f, -1);
Button.VSplitLeft(95.0f, 0, &Button);
View.HSplitTop(3.0f, 0, &View);
static float Offset = 0.0f;
@ -460,7 +458,7 @@ void CMenus::RenderServerbrowserFilters(CUIRect View)
Button.VSplitRight(50.0f, &Button, &EditBox);
EditBox.VSplitRight(5.0f, &EditBox, 0);
UI()->DoLabel(&Button, Localize("Maximum ping:"), 12.0f, -1);
UI()->DoLabelScaled(&Button, Localize("Maximum ping:"), 12.0f, -1);
char aBuf[5];
str_format(aBuf, sizeof(aBuf), "%d", g_Config.m_BrFilterPing);
@ -505,7 +503,7 @@ void CMenus::RenderServerbrowserServerDetail(CUIRect View)
RenderTools()->DrawUIRect(&ServerHeader, vec4(1,1,1,0.25f), CUI::CORNER_T, 4.0f);
RenderTools()->DrawUIRect(&ServerDetails, vec4(0,0,0,0.15f), CUI::CORNER_B, 4.0f);
ServerHeader.VSplitLeft(8.0f, 0x0, &ServerHeader);
UI()->DoLabel(&ServerHeader, Localize("Server details"), FontSize+2.0f, -1);
UI()->DoLabelScaled(&ServerHeader, Localize("Server details"), FontSize+2.0f, -1);
ServerDetails.VSplitLeft(5.0f, 0x0, &ServerDetails);
@ -543,19 +541,19 @@ void CMenus::RenderServerbrowserServerDetail(CUIRect View)
for (unsigned int i = 0; i < sizeof(s_aLabels) / sizeof(s_aLabels[0]); i++)
{
LeftColumn.HSplitTop(15.0f, &Row, &LeftColumn);
UI()->DoLabel(&Row, s_aLabels[i], FontSize, -1);
UI()->DoLabelScaled(&Row, s_aLabels[i], FontSize, -1);
}
RightColumn.HSplitTop(15.0f, &Row, &RightColumn);
UI()->DoLabel(&Row, pSelectedServer->m_aVersion, FontSize, -1);
UI()->DoLabelScaled(&Row, pSelectedServer->m_aVersion, FontSize, -1);
RightColumn.HSplitTop(15.0f, &Row, &RightColumn);
UI()->DoLabel(&Row, pSelectedServer->m_aGameType, FontSize, -1);
UI()->DoLabelScaled(&Row, pSelectedServer->m_aGameType, FontSize, -1);
char aTemp[16];
str_format(aTemp, sizeof(aTemp), "%d", pSelectedServer->m_Latency);
RightColumn.HSplitTop(15.0f, &Row, &RightColumn);
UI()->DoLabel(&Row, aTemp, FontSize, -1);
UI()->DoLabelScaled(&Row, aTemp, FontSize, -1);
}
@ -566,7 +564,7 @@ void CMenus::RenderServerbrowserServerDetail(CUIRect View)
RenderTools()->DrawUIRect(&ServerHeader, vec4(1,1,1,0.25f), CUI::CORNER_T, 4.0f);
RenderTools()->DrawUIRect(&ServerScoreBoard, vec4(0,0,0,0.15f), CUI::CORNER_B, 4.0f);
ServerHeader.VSplitLeft(8.0f, 0x0, &ServerHeader);
UI()->DoLabel(&ServerHeader, Localize("Scoreboard"), FontSize+2.0f, -1);
UI()->DoLabelScaled(&ServerHeader, Localize("Scoreboard"), FontSize+2.0f, -1);
ServerScoreBoard.VSplitLeft(5.0f, 0x0, &ServerScoreBoard);
@ -581,7 +579,7 @@ void CMenus::RenderServerbrowserServerDetail(CUIRect View)
ServerScoreBoard.HSplitTop(16.0f, &Row, &ServerScoreBoard);
str_format(aTemp, sizeof(aTemp), "%d", pSelectedServer->m_aPlayers[i].m_Score);
UI()->DoLabel(&Row, aTemp, FontSize, -1);
UI()->DoLabelScaled(&Row, aTemp, FontSize, -1);
Row.VSplitLeft(25.0f, 0x0, &Row);
@ -700,7 +698,7 @@ void CMenus::RenderServerbrowser(CUIRect MainView)
str_format(aBuf, sizeof(aBuf), Localize("Teeworlds %s is out! Download it at www.teeworlds.com!"), Client()->LatestVersion());
else
str_format(aBuf, sizeof(aBuf), Localize("Current version: %s"), GAME_VERSION);
UI()->DoLabel(&StatusToolBox, aBuf, 14.0f, -1);
UI()->DoLabelScaled(&StatusToolBox, aBuf, 14.0f, -1);
}
// do the button box
@ -727,7 +725,7 @@ void CMenus::RenderServerbrowser(CUIRect MainView)
static float Offset = 0.0f;
DoEditBox(&g_Config.m_UiServerAddress, &Button, g_Config.m_UiServerAddress, sizeof(g_Config.m_UiServerAddress), 14.0f, &Offset);
ButtonBox.HSplitBottom(20.0f, &ButtonBox, &Button);
UI()->DoLabel(&Button, Localize("Host address"), 14.0f, -1);
UI()->DoLabelScaled(&Button, Localize("Host address"), 14.0f, -1);
}
}

View file

@ -304,7 +304,7 @@ CMenus::CListboxItem CMenus::UiDoListboxNextRow()
if(gs_ListBoxItemIndex%gs_ListBoxItemsPerRow == 0)
gs_ListBoxView.HSplitTop(gs_ListBoxRowHeight /*-2.0f*/, &s_RowView, &gs_ListBoxView);
s_RowView.VSplitLeft(s_RowView.w/(gs_ListBoxItemsPerRow-gs_ListBoxItemIndex%gs_ListBoxItemsPerRow), &Item.m_Rect, &s_RowView);
s_RowView.VSplitLeft(s_RowView.w/(gs_ListBoxItemsPerRow-gs_ListBoxItemIndex%gs_ListBoxItemsPerRow)/(UI()->Scale()), &Item.m_Rect, &s_RowView);
Item.m_Visible = 1;
//item.rect = row;
@ -477,22 +477,6 @@ void CMenus::RenderDemoList(CUIRect MainView)
s_Inited = 1;
}
// delete demo
if(m_DemolistDelEntry)
{
if(m_DemolistSelectedIndex >= 0 && !m_DemolistSelectedIsDir)
{
char aBuf[512];
str_format(aBuf, sizeof(aBuf), "%s/%s", m_aCurrentDemoFolder, m_lDemos[m_DemolistSelectedIndex].m_aFilename);
if(Storage()->RemoveFile(aBuf, m_lDemos[m_DemolistSelectedIndex].m_StorageType))
{
DemolistPopulate();
DemolistOnUpdate(false);
}
}
m_DemolistDelEntry = false;
}
char aFooterLabel[128] = {0};
if(m_DemolistSelectedIndex >= 0)
{

View file

@ -192,8 +192,8 @@ void CMenus::RenderServerInfo(CUIRect MainView)
MainView.Margin(10.0f, &View);
// serverinfo
View.HSplitTop(View.h/2-5.0f, &ServerInfo, &Motd);
ServerInfo.VSplitLeft(View.w/2-5.0f, &ServerInfo, &GameInfo);
View.HSplitTop(View.h/2/UI()->Scale()-5.0f, &ServerInfo, &Motd);
ServerInfo.VSplitLeft(View.w/2/UI()->Scale()-5.0f, &ServerInfo, &GameInfo);
RenderTools()->DrawUIRect(&ServerInfo, vec4(1,1,1,0.25f), CUI::CORNER_ALL, 10.0f);
ServerInfo.Margin(5.0f, &ServerInfo);
@ -299,7 +299,7 @@ void CMenus::RenderServerControlServer(CUIRect MainView)
CListboxItem Item = UiDoListboxNextItem(pOption);
if(Item.m_Visible)
UI()->DoLabel(&Item.m_Rect, FormatCommand(pOption->m_aCommand), 16.0f, -1);
UI()->DoLabelScaled(&Item.m_Rect, FormatCommand(pOption->m_aCommand), 16.0f, -1);
}
m_CallvoteSelectedOption = UiDoListboxEnd(&s_ScrollValue, 0);
@ -335,7 +335,7 @@ void CMenus::RenderServerControlKick(CUIRect MainView)
Item.m_Rect.HSplitTop(5.0f, 0, &Item.m_Rect); // some margin from the top
RenderTools()->RenderTee(CAnimState::GetIdle(), &Info, EMOTE_NORMAL, vec2(1,0), vec2(Item.m_Rect.x+Item.m_Rect.h/2, Item.m_Rect.y+Item.m_Rect.h/2));
Item.m_Rect.x +=Info.m_Size;
UI()->DoLabel(&Item.m_Rect, m_pClient->m_aClients[aPlayerIDs[i]].m_aName, 16.0f, -1);
UI()->DoLabelScaled(&Item.m_Rect, m_pClient->m_aClients[aPlayerIDs[i]].m_aName, 16.0f, -1);
}
}
@ -422,7 +422,7 @@ void CMenus::RenderServerControl(CUIRect MainView)
Bottom.VSplitRight(160.0f, &Bottom, &Reason);
Reason.HSplitTop(5.0f, 0, &Reason);
const char *pLabel = Localize("Reason:");
UI()->DoLabel(&Reason, pLabel, 14.0f, -1);
UI()->DoLabelScaled(&Reason, pLabel, 14.0f, -1);
float w = TextRender()->TextWidth(0, 14.0f, pLabel, -1);
Reason.VSplitLeft(w+10.0f, 0, &Reason);
static float s_Offset = 0.0f;

View file

@ -52,7 +52,7 @@ void CMenus::RenderSettingsPlayer(CUIRect MainView)
CUIRect Button;
CUIRect LeftView, RightView;
MainView.VSplitLeft(MainView.w/2, &LeftView, &RightView);
MainView.VSplitMid(&LeftView, &RightView);
LeftView.HSplitTop(20.0f, &Button, &LeftView);
// render settings
@ -133,16 +133,16 @@ void CMenus::RenderSettingsPlayer(CUIRect MainView)
OwnSkinInfo.m_Texture = pOwnSkin->m_ColorTexture;
}
OwnSkinInfo.m_Size = UI()->Scale()*50.0f;
OwnSkinInfo.m_Size = 50.0f*UI()->Scale();
LeftView.HSplitTop(20.0f, &Button, &LeftView);
LeftView.HSplitTop(20.0f, &Button, &LeftView);
str_format(aBuf, sizeof(aBuf), "%s:", Localize("Your skin"));
UI()->DoLabel(&Button, aBuf, 14.0, -1);
UI()->DoLabelScaled(&Button, aBuf, 14.0f, -1);
CUIRect SkinRect;
LeftView.VSplitLeft(LeftView.w/1.2f, &SkinRect, 0);
LeftView.VSplitLeft(LeftView.w/1.2f/UI()->Scale(), &SkinRect, 0);
SkinRect.HSplitTop(50.0f, &SkinRect, 0);
RenderTools()->DrawUIRect(&SkinRect, vec4(1, 1, 1, 0.25f), CUI::CORNER_ALL, 10.0f);
@ -156,7 +156,7 @@ void CMenus::RenderSettingsPlayer(CUIRect MainView)
str_format(aBuf, sizeof(aBuf), "%s", g_Config.m_PlayerSkin);
CTextCursor Cursor;
TextRender()->SetCursor(&Cursor, Button.x, Button.y, 14.0f, TEXTFLAG_RENDER|TEXTFLAG_STOP_AT_END);
TextRender()->SetCursor(&Cursor, Button.x, Button.y, 14.0f*UI()->Scale(), TEXTFLAG_RENDER|TEXTFLAG_STOP_AT_END);
Cursor.m_LineWidth = SkinRect.w-(Button.x-SkinRect.x)-5.0f;
TextRender()->TextEx(&Cursor, aBuf, -1);
}
@ -191,7 +191,7 @@ void CMenus::RenderSettingsPlayer(CUIRect MainView)
CUIRect Text;
RightView.HSplitTop(20.0f, &Text, &RightView);
Text.VSplitLeft(15.0f, 0, &Text);
UI()->DoLabel(&Text, paParts[i], 14.0f, -1);
UI()->DoLabelScaled(&Text, paParts[i], 14.0f, -1);
int PrevColor = *paColors[i];
int Color = 0;
@ -208,7 +208,7 @@ void CMenus::RenderSettingsPlayer(CUIRect MainView)
k = DoScrollbarH(&s_aColorSlider[i][s], &Button, k);
Color <<= 8;
Color += clamp((int)(k*255), 0, 255);
UI()->DoLabel(&Text, paLabels[s], 15.0f, -1);
UI()->DoLabelScaled(&Text, paLabels[s], 15.0f, -1);
}
@ -348,7 +348,7 @@ void CMenus::UiDoGetButtons(int Start, int Stop, CUIRect View)
char aBuf[64];
str_format(aBuf, sizeof(aBuf), "%s:", (const char *)Key.m_Name);
UI()->DoLabel(&Label, aBuf, 14.0f, -1);
UI()->DoLabelScaled(&Label, aBuf, 14.0f, -1);
int OldId = Key.m_KeyId;
int NewId = DoKeyReader((void *)&gs_aKeys[i].m_Name, &Button, OldId);
if(NewId != OldId)
@ -391,7 +391,7 @@ void CMenus::RenderSettingsControls(CUIRect MainView)
RenderTools()->DrawUIRect(&MovementSettings, vec4(1,1,1,0.25f), CUI::CORNER_ALL, 10.0f);
MovementSettings.Margin(10.0f, &MovementSettings);
TextRender()->Text(0, MovementSettings.x, MovementSettings.y, 14, Localize("Movement"), -1);
TextRender()->Text(0, MovementSettings.x, MovementSettings.y, 14.0f*UI()->Scale(), Localize("Movement"), -1);
MovementSettings.HSplitTop(14.0f+5.0f+10.0f, 0, &MovementSettings);
@ -399,7 +399,7 @@ void CMenus::RenderSettingsControls(CUIRect MainView)
CUIRect Button, Label;
MovementSettings.HSplitTop(20.0f, &Button, &MovementSettings);
Button.VSplitLeft(130.0f, &Label, &Button);
UI()->DoLabel(&Label, Localize("Mouse sens."), 14.0f, -1);
UI()->DoLabel(&Label, Localize("Mouse sens."), 14.0f*UI()->Scale(), -1);
Button.HMargin(2.0f, &Button);
g_Config.m_InpMousesens = (int)(DoScrollbarH(&g_Config.m_InpMousesens, &Button, (g_Config.m_InpMousesens-5)/500.0f)*500.0f)+5;
//*key.key = ui_do_key_reader(key.key, &Button, *key.key);
@ -416,7 +416,7 @@ void CMenus::RenderSettingsControls(CUIRect MainView)
RenderTools()->DrawUIRect(&WeaponSettings, vec4(1,1,1,0.25f), CUI::CORNER_ALL, 10.0f);
WeaponSettings.Margin(10.0f, &WeaponSettings);
TextRender()->Text(0, WeaponSettings.x, WeaponSettings.y, 14, Localize("Weapon"), -1);
TextRender()->Text(0, WeaponSettings.x, WeaponSettings.y, 14.0f*UI()->Scale(), Localize("Weapon"), -1);
WeaponSettings.HSplitTop(14.0f+5.0f+10.0f, 0, &WeaponSettings);
UiDoGetButtons(5, 12, WeaponSettings);
@ -429,7 +429,7 @@ void CMenus::RenderSettingsControls(CUIRect MainView)
RenderTools()->DrawUIRect(&VotingSettings, vec4(1,1,1,0.25f), CUI::CORNER_ALL, 10.0f);
VotingSettings.Margin(10.0f, &VotingSettings);
TextRender()->Text(0, VotingSettings.x, VotingSettings.y, 14, Localize("Voting"), -1);
TextRender()->Text(0, VotingSettings.x, VotingSettings.y, 14.0f*UI()->Scale(), Localize("Voting"), -1);
VotingSettings.HSplitTop(14.0f+5.0f+10.0f, 0, &VotingSettings);
UiDoGetButtons(12, 14, VotingSettings);
@ -442,7 +442,7 @@ void CMenus::RenderSettingsControls(CUIRect MainView)
RenderTools()->DrawUIRect(&ChatSettings, vec4(1,1,1,0.25f), CUI::CORNER_ALL, 10.0f);
ChatSettings.Margin(10.0f, &ChatSettings);
TextRender()->Text(0, ChatSettings.x, ChatSettings.y, 14, Localize("Chat"), -1);
TextRender()->Text(0, ChatSettings.x, ChatSettings.y, 14.0f*UI()->Scale(), Localize("Chat"), -1);
ChatSettings.HSplitTop(14.0f+5.0f+10.0f, 0, &ChatSettings);
UiDoGetButtons(14, 17, ChatSettings);
@ -451,11 +451,11 @@ void CMenus::RenderSettingsControls(CUIRect MainView)
// misc settings
{
MiscSettings.HSplitTop(10.0f, 0, &MiscSettings);
MiscSettings.HSplitTop(MainView.h/2-5.0f-45.0f, &MiscSettings, &ResetButton);
MiscSettings.HSplitBottom(50.0f*UI()->Scale(), &MiscSettings, &ResetButton);
RenderTools()->DrawUIRect(&MiscSettings, vec4(1,1,1,0.25f), CUI::CORNER_ALL, 10.0f);
MiscSettings.Margin(10.0f, &MiscSettings);
TextRender()->Text(0, MiscSettings.x, MiscSettings.y, 14, Localize("Miscellaneous"), -1);
TextRender()->Text(0, MiscSettings.x, MiscSettings.y, 14.0f*UI()->Scale(), Localize("Miscellaneous"), -1);
MiscSettings.HSplitTop(14.0f+5.0f+10.0f, 0, &MiscSettings);
UiDoGetButtons(17, 21, MiscSettings);
@ -517,7 +517,7 @@ void CMenus::RenderSettingsGraphics(CUIRect MainView)
if(Item.m_Visible)
{
str_format(aBuf, sizeof(aBuf), " %dx%d %d bit", s_aModes[i].m_Width, s_aModes[i].m_Height, Depth);
UI()->DoLabel(&Item.m_Rect, aBuf, 16.0f, -1);
UI()->DoLabelScaled(&Item.m_Rect, aBuf, 16.0f, -1);
}
}
@ -594,7 +594,7 @@ void CMenus::RenderSettingsGraphics(CUIRect MainView)
MainView.HSplitTop(20.0f, 0, &MainView);
MainView.HSplitTop(20.0f, &Text, &MainView);
//text.VSplitLeft(15.0f, 0, &text);
UI()->DoLabel(&Text, Localize("UI Color"), 14.0f, -1);
UI()->DoLabelScaled(&Text, Localize("UI Color"), 14.0f, -1);
const char *paLabels[] = {
Localize("Hue"),
@ -614,7 +614,7 @@ void CMenus::RenderSettingsGraphics(CUIRect MainView)
float k = (*pColorSlider[s]) / 255.0f;
k = DoScrollbarH(pColorSlider[s], &Button, k);
*pColorSlider[s] = (int)(k*255.0f);
UI()->DoLabel(&Text, paLabels[s], 15.0f, -1);
UI()->DoLabelScaled(&Text, paLabels[s], 15.0f, -1);
}
}
@ -644,7 +644,7 @@ void CMenus::RenderSettingsSound(CUIRect MainView)
char aBuf[64];
str_format(aBuf, sizeof(aBuf), "%d", g_Config.m_SndRate);
MainView.HSplitTop(20.0f, &Button, &MainView);
UI()->DoLabel(&Button, Localize("Sample rate"), 14.0f, -1);
UI()->DoLabelScaled(&Button, Localize("Sample rate"), 14.0f, -1);
Button.VSplitLeft(110.0f, 0, &Button);
Button.VSplitLeft(180.0f, &Button, 0);
static float Offset = 0.0f;
@ -663,7 +663,7 @@ void CMenus::RenderSettingsSound(CUIRect MainView)
MainView.HSplitTop(20.0f, &Button, &MainView);
Button.VSplitLeft(110.0f, &Label, &Button);
Button.HMargin(2.0f, &Button);
UI()->DoLabel(&Label, Localize("Sound volume"), 14.0f, -1);
UI()->DoLabelScaled(&Label, Localize("Sound volume"), 14.0f, -1);
g_Config.m_SndVolume = (int)(DoScrollbarH(&g_Config.m_SndVolume, &Button, g_Config.m_SndVolume/100.0f)*100.0f);
MainView.HSplitTop(20.0f, 0, &MainView);
}
@ -748,7 +748,7 @@ void CMenus::RenderLanguageSelection(CUIRect MainView)
CListboxItem Item = UiDoListboxNextItem(&r.front());
if(Item.m_Visible)
UI()->DoLabel(&Item.m_Rect, r.front().m_Name, 16.0f, -1);
UI()->DoLabelScaled(&Item.m_Rect, r.front().m_Name, 16.0f, -1);
}
s_SelectedLanguage = UiDoListboxEnd(&s_ScrollValue, 0);
@ -787,7 +787,7 @@ void CMenus::RenderSettingsGeneral(CUIRect MainView)
str_format(aBuf, sizeof(aBuf), "%s: %i", Localize("Max demos"), g_Config.m_ClAutoDemoMax);
else
str_format(aBuf, sizeof(aBuf), "%s: %s", Localize("Max demos"), Localize("no limit"));
UI()->DoLabel(&Label, aBuf, 13.0f, -1);
UI()->DoLabelScaled(&Label, aBuf, 13.0f, -1);
g_Config.m_ClAutoDemoMax = static_cast<int>(DoScrollbarH(&g_Config.m_ClAutoDemoMax, &Button, g_Config.m_ClAutoDemoMax/1000.0f)*1000.0f+0.1f);
Right.HSplitTop(10.0f, 0, &Right);
@ -798,7 +798,7 @@ void CMenus::RenderSettingsGeneral(CUIRect MainView)
str_format(aBuf, sizeof(aBuf), "%s: %i", Localize("Max Screenshots"), g_Config.m_ClAutoScreenshotMax);
else
str_format(aBuf, sizeof(aBuf), "%s: %s", Localize("Max Screenshots"), Localize("no limit"));
UI()->DoLabel(&Label, aBuf, 13.0f, -1);
UI()->DoLabelScaled(&Label, aBuf, 13.0f, -1);
g_Config.m_ClAutoScreenshotMax = static_cast<int>(DoScrollbarH(&g_Config.m_ClAutoScreenshotMax, &Button, g_Config.m_ClAutoScreenshotMax/1000.0f)*1000.0f+0.1f);
}

View file

@ -69,13 +69,18 @@ CUIRect *CUI::Screen()
void CUI::SetScale(float s)
{
//config.UI()->Scale = (int)(s*100.0f);
g_Config.m_UiScale = (int)(s*100.0f);
}
/*float CUI::Scale()
float CUI::Scale()
{
return config.UI()->Scale/100.0f;
}*/
return g_Config.m_UiScale/100.0f;
}
float CUIRect::Scale() const
{
return g_Config.m_UiScale/100.0f;
}
void CUI::ClipEnable(const CUIRect *r)
{
@ -138,6 +143,7 @@ void CUIRect::VSplitMid(CUIRect *pLeft, CUIRect *pRight) const
{
CUIRect r = *this;
float Cut = r.w/2;
// Cut *= Scale();
if (pLeft)
{
@ -313,7 +319,6 @@ void CUI::DoLabel(const CUIRect *r, const char *pText, float Size, int Align, in
{
// TODO: FIX ME!!!!
//Graphics()->BlendNormal();
Size *= Scale();
if(Align == 0)
{
float tw = TextRender()->TextWidth(0, Size, pText, MaxWidth);
@ -327,3 +332,8 @@ void CUI::DoLabel(const CUIRect *r, const char *pText, float Size, int Align, in
TextRender()->Text(0, r->x + r->w-tw, r->y - Size/10, Size, pText, MaxWidth);
}
}
void CUI::DoLabelScaled(const CUIRect *r, const char *pText, float Size, int Align, int MaxWidth)
{
DoLabel(r, pText, Size*Scale(), Align, MaxWidth);
}

View file

@ -6,7 +6,7 @@
class CUIRect
{
// TODO: Refactor: Redo UI scaling
float Scale() const { return 1.0f; }
float Scale() const;
public:
float x, y, w, h;
@ -85,12 +85,13 @@ public:
// TODO: Refactor: Redo UI scaling
void SetScale(float s);
float Scale() const { return 1.0f; }
float Scale();
int DoButtonLogic(const void *pID, const char *pText /* TODO: Refactor: Remove */, int Checked, const CUIRect *pRect);
// TODO: Refactor: Remove this?
void DoLabel(const CUIRect *pRect, const char *pText, float Size, int Align, int MaxWidth = -1);
void DoLabelScaled(const CUIRect *pRect, const char *pText, float Size, int Align, int MaxWidth = -1);
};

View file

@ -44,7 +44,7 @@ MACRO_CONFIG_STR(PlayerSkin, player_skin, 24, "default", CFGFLAG_CLIENT|CFGFLAG_
MACRO_CONFIG_INT(UiPage, ui_page, 5, 0, 9, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Interface page", -1)
MACRO_CONFIG_INT(UiToolboxPage, ui_toolbox_page, 0, 0, 1, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Toolbox page", -1)
MACRO_CONFIG_STR(UiServerAddress, ui_server_address, 25, "localhost:8303", CFGFLAG_CLIENT|CFGFLAG_SAVE, "Interface server address", -1)
MACRO_CONFIG_INT(UiScale, ui_scale, 100, 1, 100000, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Interface scale", -1)
MACRO_CONFIG_INT(UiScale, ui_scale, 100, 50, 150, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Interface scale", -1)
MACRO_CONFIG_INT(UiColorHue, ui_color_hue, 160, 0, 255, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Interface color hue", -1)
MACRO_CONFIG_INT(UiColorSat, ui_color_sat, 70, 0, 255, CFGFLAG_CLIENT|CFGFLAG_SAVE, "Interface color saturation", -1)