[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pingus-CVS] r3562 - in trunk/pingus: data/data data/images/core/menu sr
From: |
grumbel at BerliOS |
Subject: |
[Pingus-CVS] r3562 - in trunk/pingus: data/data data/images/core/menu src |
Date: |
Mon, 24 Mar 2008 16:16:56 +0100 |
Author: grumbel
Date: 2008-03-24 16:16:55 +0100 (Mon, 24 Mar 2008)
New Revision: 3562
Added:
trunk/pingus/data/images/core/menu/arrow_down.png
trunk/pingus/data/images/core/menu/arrow_left.png
trunk/pingus/data/images/core/menu/arrow_right.png
trunk/pingus/data/images/core/menu/arrow_up.png
Modified:
trunk/pingus/data/data/core.res
trunk/pingus/src/global_event.cpp
trunk/pingus/src/level_menu.cpp
trunk/pingus/src/level_menu.hpp
Log:
- added some dummy scroll buttons
Modified: trunk/pingus/data/data/core.res
===================================================================
--- trunk/pingus/data/data/core.res 2008-03-24 11:38:00 UTC (rev 3561)
+++ trunk/pingus/data/data/core.res 2008-03-24 15:16:55 UTC (rev 3562)
@@ -358,6 +358,22 @@
(section (name "menu")
(sprite
+ (name "arrow_up")
+ (image-file "../images/core/menu/arrow_up.png"))
+
+ (sprite
+ (name "arrow_down")
+ (image-file "../images/core/menu/arrow_down.png"))
+
+ (sprite
+ (name "arrow_left")
+ (image-file "../images/core/menu/arrow_left.png"))
+
+ (sprite
+ (name "arrow_right")
+ (image-file "../images/core/menu/arrow_right.png"))
+
+ (sprite
(name "menuitem")
(origin "center")
(image-file "../images/core/menu/menuitem.png"))
Added: trunk/pingus/data/images/core/menu/arrow_down.png
===================================================================
(Binary files differ)
Property changes on: trunk/pingus/data/images/core/menu/arrow_down.png
___________________________________________________________________
Name: svn:mime-type
+ image/png
Added: trunk/pingus/data/images/core/menu/arrow_left.png
===================================================================
(Binary files differ)
Property changes on: trunk/pingus/data/images/core/menu/arrow_left.png
___________________________________________________________________
Name: svn:mime-type
+ image/png
Added: trunk/pingus/data/images/core/menu/arrow_right.png
===================================================================
(Binary files differ)
Property changes on: trunk/pingus/data/images/core/menu/arrow_right.png
___________________________________________________________________
Name: svn:mime-type
+ image/png
Added: trunk/pingus/data/images/core/menu/arrow_up.png
===================================================================
(Binary files differ)
Property changes on: trunk/pingus/data/images/core/menu/arrow_up.png
___________________________________________________________________
Name: svn:mime-type
+ image/png
Modified: trunk/pingus/src/global_event.cpp
===================================================================
--- trunk/pingus/src/global_event.cpp 2008-03-24 11:38:00 UTC (rev 3561)
+++ trunk/pingus/src/global_event.cpp 2008-03-24 15:16:55 UTC (rev 3562)
@@ -75,12 +75,6 @@
ScreenManager::instance()->push_screen(new AddOnMenu(), true);
break;
- case SDLK_F7:
- if (maintainer_mode)
- if
(!dynamic_cast<LevelMenu*>(ScreenManager::instance()->get_screen()))
- ScreenManager::instance()->push_screen(new LevelMenu(), true);
- break;
-
case SDLK_F12:
{
std::string filename;
Modified: trunk/pingus/src/level_menu.cpp
===================================================================
--- trunk/pingus/src/level_menu.cpp 2008-03-24 11:38:00 UTC (rev 3561)
+++ trunk/pingus/src/level_menu.cpp 2008-03-24 15:16:55 UTC (rev 3562)
@@ -68,6 +68,8 @@
}
};
+
+
class LevelsetSelector : public GUI::RectComponent
{
private:
@@ -77,13 +79,21 @@
Levelset* current_levelset;
Sprite marker;
+ Sprite arrow_left;
+ Sprite arrow_right;
+ int page;
+
public:
LevelsetSelector(LevelMenu* level_menu_, const Rect& rect_)
: RectComponent(rect_),
- level_menu(level_menu_), current_levelset(NULL)
+ level_menu(level_menu_), current_levelset(NULL),
+ page(0)
{
marker = Resource::load_sprite("core/menu/marker");
+ arrow_left = Resource::load_sprite("core/menu/arrow_left");
+ arrow_right = Resource::load_sprite("core/menu/arrow_right");
+
std::string path = Pathname("levelsets",
Pathname::DATA_PATH).get_sys_path();
System::Directory directory = System::opendir(path, "*.levelset");
for(System::Directory::iterator i = directory.begin(); i !=
directory.end(); ++i)
@@ -111,23 +121,34 @@
// Color(255, 255, 0, 100));
int y = 0;
- for(Levelsets::iterator i = levelsets.begin(); i != levelsets.end(); ++i)
+ for(int i = 3*page; (i < 3*(page+1)) && (i < int(levelsets.size())); ++i)
{
- if (*i == current_levelset)
+ Levelset* levelset = levelsets[i];
+
+ if (levelset == current_levelset)
gc.draw(marker, Vector2i(0, y - 5));
- gc.draw((*i)->get_image(), Vector2i(30, y));
+ gc.draw(levelset->get_image(), Vector2i(30, y));
- gc.print_left(Fonts::chalk_normal, 85+30, 15 + y,
_((*i)->get_title()));
- gc.print_left(Fonts::chalk_small, 85+50, 40 + y,
_((*i)->get_description()));
+ gc.print_left(Fonts::chalk_normal, 85+30, 15 + y,
_(levelset->get_title()));
+ gc.print_left(Fonts::chalk_small, 85+50, 40 + y,
_(levelset->get_description()));
- gc.print_right(Fonts::chalk_normal, rect.get_width() - 30, 15 + y,
(boost::format("%1% %2%%%") % _("Solved:") % (*i)->get_completion()).str());
- gc.print_right(Fonts::chalk_small, rect.get_width() - 30, 60 + y,
(boost::format("%1% %2%") % (*i)->get_level_count() % _("levels")).str());
+ gc.print_right(Fonts::chalk_normal, rect.get_width() - 30, 15 + y,
(boost::format("%1% %2%%%") % _("Solved:") % levelset->get_completion()).str());
+ gc.print_right(Fonts::chalk_small, rect.get_width() - 30, 60 + y,
(boost::format("%1% %2%") % levelset->get_level_count() % _("levels")).str());
//gc.draw(ok_button, 620, y);
y += 95;
}
+
+ int total_pages = levelsets.size()/3 + ((levelsets.size()%3) != 0 ? 1 : 0);
+
+ gc.print_center(Fonts::chalk_normal, rect.get_width()/2, 453 - rect.top,
+ (boost::format("%1% %2%/%3%") % _("Page") % (page+1) %
total_pages).str());
+
+ gc.draw(arrow_left, Vector2i(570 - rect.left, 445 - rect.top));
+ gc.draw(arrow_right, Vector2i(630 - rect.left, 445 - rect.top));
+
gc.pop_modelview();
}
@@ -166,6 +187,8 @@
Sprite marker_locked;
Levelset* levelset;
int current_level;
+ Sprite arrow_up;
+ Sprite arrow_down;
public:
LevelSelector(LevelMenu* level_menu_, const Rect& rect_)
@@ -176,6 +199,9 @@
{
marker = Resource::load_sprite("core/menu/marker2");
marker_locked = Resource::load_sprite("core/menu/marker_locked");
+
+ arrow_up = Resource::load_sprite("core/menu/arrow_up");
+ arrow_down = Resource::load_sprite("core/menu/arrow_down");
}
void draw(DrawingContext& gc)
@@ -193,7 +219,7 @@
// Color(255, 255, 0, 100));
gc.print_left(Fonts::chalk_normal, 30, -32, _("Title"));
- gc.print_right(Fonts::chalk_normal, rect.get_width() - 30, - 32,
_("Status"));
+ gc.print_right(Fonts::chalk_normal, rect.get_width() - 30 - 40, - 32,
_("Status"));
int y = 0;
for(int i = 0; i < levelset->get_level_count(); ++i)
@@ -209,13 +235,16 @@
gc.print_left(Fonts::chalk_small, 30, y+4,
_(levelset->get_level(i)->plf.get_levelname()));
if (levelset->get_level(i)->finished)
- gc.print_right(Fonts::chalk_small, rect.get_width() -30, y+4,
_("solved"));
+ gc.print_right(Fonts::chalk_small, rect.get_width() -30 - 40,
y+4, _("solved"));
else
- gc.print_right(Fonts::chalk_small, rect.get_width() -30, y+4,
_("unsolved"));
+ gc.print_right(Fonts::chalk_small, rect.get_width() -30 - 40,
y+4, _("unsolved"));
y += 32;
}
}
+
+ gc.draw(arrow_up, Vector2i(rect.get_width() - 26 - 20, 0));
+ gc.draw(arrow_down, Vector2i(rect.get_width() - 26 - 20, 32 * 8 - 48 - 4));
gc.pop_modelview();
}
Modified: trunk/pingus/src/level_menu.hpp
===================================================================
--- trunk/pingus/src/level_menu.hpp 2008-03-24 11:38:00 UTC (rev 3561)
+++ trunk/pingus/src/level_menu.hpp 2008-03-24 15:16:55 UTC (rev 3562)
@@ -37,7 +37,7 @@
Sprite background;
Sprite ok_button;
- LevelSelector* level_selector;
+ LevelSelector* level_selector;
LevelsetSelector* levelset_selector;
public:
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] r3562 - in trunk/pingus: data/data data/images/core/menu src,
grumbel at BerliOS <=