about summary refs log tree commit diff
path: root/src/game
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2010-11-17 19:46:50 +0100
committeroy <Tom_Adams@web.de>2010-11-17 19:46:50 +0100
commitd94355729da4677f7bc7dcc59adcce33dfc7e2b4 (patch)
treef749d18c64f88b2d1e17d08b8f2753420b18859d /src/game
parent4383e1093398816a925794c1778974e29a35983c (diff)
downloadzcatch-d94355729da4677f7bc7dcc59adcce33dfc7e2b4.tar.gz
zcatch-d94355729da4677f7bc7dcc59adcce33dfc7e2b4.zip
added icons in the demo browser and the editor's file dialog. Closes #209
Diffstat (limited to 'src/game')
-rw-r--r--src/game/client/components/menus.cpp6
-rw-r--r--src/game/client/components/menus.h2
-rw-r--r--src/game/client/components/menus_browser.cpp6
-rw-r--r--src/game/client/components/menus_demo.cpp9
-rw-r--r--src/game/editor/ed_editor.cpp14
5 files changed, 26 insertions, 11 deletions
diff --git a/src/game/client/components/menus.cpp b/src/game/client/components/menus.cpp
index 8e7d9eb5..67010c91 100644
--- a/src/game/client/components/menus.cpp
+++ b/src/game/client/components/menus.cpp
@@ -112,12 +112,12 @@ vec4 CMenus::ButtonColorMul(const void *pID)
 	return vec4(1,1,1,1);
 }
 
-int CMenus::DoButton_BrowseIcon(int What, const CUIRect *pRect)
+int CMenus::DoButton_Icon(int ImageId, int SpriteId, const CUIRect *pRect)
 {
-	Graphics()->TextureSet(g_pData->m_aImages[IMAGE_BROWSEICONS].m_Id);
+	Graphics()->TextureSet(g_pData->m_aImages[ImageId].m_Id);
 	
 	Graphics()->QuadsBegin();
-	RenderTools()->SelectSprite(What);
+	RenderTools()->SelectSprite(SpriteId);
 	IGraphics::CQuadItem QuadItem(pRect->x, pRect->y, pRect->w, pRect->h);
 	Graphics()->QuadsDrawTL(&QuadItem, 1);
 	Graphics()->QuadsEnd();
diff --git a/src/game/client/components/menus.h b/src/game/client/components/menus.h
index 7b661360..9b7647b1 100644
--- a/src/game/client/components/menus.h
+++ b/src/game/client/components/menus.h
@@ -47,7 +47,7 @@ class CMenus : public CComponent
 	static void ui_draw_settings_tab_button(const void *id, const char *text, int checked, const CUIRect *r, const void *extra);
 	*/
 
-	int DoButton_BrowseIcon(int Checked, const CUIRect *pRect);
+	int DoButton_Icon(int ImageId, int SpriteId, const CUIRect *pRect);
 	int DoButton_GridHeader(const void *pID, const char *pText, int Checked, const CUIRect *pRect);
 
 	//static void ui_draw_browse_icon(int what, const CUIRect *r);
diff --git a/src/game/client/components/menus_browser.cpp b/src/game/client/components/menus_browser.cpp
index 507e99d6..32f16daf 100644
--- a/src/game/client/components/menus_browser.cpp
+++ b/src/game/client/components/menus_browser.cpp
@@ -273,7 +273,7 @@ void CMenus::RenderServerbrowserServerList(CUIRect View)
 			if(Id == COL_FLAG_LOCK)
 			{
 				if(pItem->m_Flags & SERVER_FLAG_PASSWORD)
-					DoButton_BrowseIcon(SPRITE_BROWSE_LOCK, &Button);
+					DoButton_Icon(IMAGE_BROWSEICONS, SPRITE_BROWSE_LOCK, &Button);
 			}
 			else if(Id == COL_FLAG_PURE)
 			{
@@ -286,13 +286,13 @@ void CMenus::RenderServerbrowserServerList(CUIRect View)
 				else
 				{
 					// unpure
-					DoButton_BrowseIcon(SPRITE_BROWSE_UNPURE, &Button);
+					DoButton_Icon(IMAGE_BROWSEICONS, SPRITE_BROWSE_UNPURE, &Button);
 				}
 			}
 			else if(Id == COL_FLAG_FAV)
 			{
 				if(pItem->m_Favorite)
-					DoButton_BrowseIcon(SPRITE_BROWSE_HEART, &Button);
+					DoButton_Icon(IMAGE_BROWSEICONS, SPRITE_BROWSE_HEART, &Button);
 			}
 			else if(Id == COL_NAME)
 			{
diff --git a/src/game/client/components/menus_demo.cpp b/src/game/client/components/menus_demo.cpp
index 2b0cb946..25ab0240 100644
--- a/src/game/client/components/menus_demo.cpp
+++ b/src/game/client/components/menus_demo.cpp
@@ -442,7 +442,7 @@ void CMenus::DemolistFetchCallback(const char *pName, int IsDir, int StorageType
 	}
 	else
 	{
-		str_format(Item.m_aName, min(static_cast<int>(sizeof(Item.m_aName)), Length), "    %s", pName);
+		str_copy(Item.m_aName, pName, min(static_cast<int>(sizeof(Item.m_aName)), Length));
 		char aBuffer[512];
 		str_format(aBuffer, sizeof(aBuffer), "%s/%s", pSelf->m_aCurrentDemoFolder, Item.m_aFilename);
 		// TODO: many items slow this down, don't load the info from every file when making the filelist
@@ -509,7 +509,7 @@ void CMenus::RenderDemoList(CUIRect MainView)
 	RenderTools()->DrawUIRect(&MainView, ms_ColorTabbarActive, CUI::CORNER_ALL, 10.0f);
 	MainView.Margin(10.0f, &MainView);
 	
-	CUIRect ButtonBar, RefreshRect, PlayRect, DeleteRect;
+	CUIRect ButtonBar, RefreshRect, PlayRect, DeleteRect, FileIcon;
 	MainView.HSplitBottom(ms_ButtonHeight+5.0f, &MainView, &ButtonBar);
 	ButtonBar.HSplitTop(5.0f, 0, &ButtonBar);
 	ButtonBar.VSplitRight(130.0f, &ButtonBar, &PlayRect);
@@ -524,7 +524,12 @@ void CMenus::RenderDemoList(CUIRect MainView)
 	{
 		CListboxItem Item = UiDoListboxNextItem((void*)(&r.front()));
 		if(Item.m_Visible)
+		{
+			Item.m_Rect.VSplitLeft(Item.m_Rect.h, &FileIcon, &Item.m_Rect);
+			Item.m_Rect.VSplitLeft(5.0f, 0, &Item.m_Rect);
+			DoButton_Icon(IMAGE_FILEICONS, r.front().m_IsDir?SPRITE_FILE_FOLDER:SPRITE_FILE_DEMO1, &FileIcon);
 			UI()->DoLabel(&Item.m_Rect, r.front().m_aName, Item.m_Rect.h*ms_FontmodHeight, -1);
+		}
 	}
 	bool Activated = false;
 	m_DemolistSelectedIndex = UiDoListboxEnd(&s_ScrollValue, &Activated);
diff --git a/src/game/editor/ed_editor.cpp b/src/game/editor/ed_editor.cpp
index 867049e1..8beb6339 100644
--- a/src/game/editor/ed_editor.cpp
+++ b/src/game/editor/ed_editor.cpp
@@ -16,6 +16,7 @@
 #include <game/client/ui.h>
 #include <game/gamecore.h>
 #include <game/client/render.h>
+#include <game/generated/client_data.h>
 
 #include "ed_editor.h"
 #include <game/client/lineinput.h>
@@ -2136,7 +2137,7 @@ static void EditorListdirCallback(const char *pName, int IsDir, int StorageType,
 	if(IsDir)
 		str_format(Item.m_aName, sizeof(Item.m_aName), "%s/", pName);
 	else
-		str_format(Item.m_aName, min(static_cast<int>(sizeof(Item.m_aName)), Length+1), "    %s", pName);
+		str_copy(Item.m_aName, pName, min(static_cast<int>(sizeof(Item.m_aName)), Length+1));
 	Item.m_IsDir = IsDir != 0;
 	Item.m_IsLink = false;
 	Item.m_StorageType = StorageType;
@@ -2149,9 +2150,18 @@ void CEditor::AddFileDialogEntry(int Index, CUIRect *pView)
 	if(m_FilesCur-1 < m_FilesStartAt || m_FilesCur >= m_FilesStopAt)
 		return;
 
-	CUIRect Button;
+	CUIRect Button, FileIcon;
 	pView->HSplitTop(15.0f, &Button, pView);
 	pView->HSplitTop(2.0f, 0, pView);
+	Button.VSplitLeft(Button.h, &FileIcon, &Button);
+	Button.VSplitLeft(5.0f, 0, &Button);
+
+	Graphics()->TextureSet(g_pData->m_aImages[IMAGE_FILEICONS].m_Id);
+	Graphics()->QuadsBegin();
+	RenderTools()->SelectSprite(m_FileList[Index].m_IsDir?SPRITE_FILE_FOLDER:SPRITE_FILE_MAP2);
+	IGraphics::CQuadItem QuadItem(FileIcon.x, FileIcon.y, FileIcon.w, FileIcon.h);
+	Graphics()->QuadsDrawTL(&QuadItem, 1);
+	Graphics()->QuadsEnd();
 
 	if(DoButton_File((void*)(10+(int)Button.y), m_FileList[Index].m_aName, m_FilesSelectedIndex == Index, &Button, 0, 0))
 	{