[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pingus-CVS] r3343 - in trunk/pingus: . data/images/core/menu data/level
From: |
grumbel at BerliOS |
Subject: |
[Pingus-CVS] r3343 - in trunk/pingus: . data/images/core/menu data/levels/halloween src |
Date: |
Sat, 27 Oct 2007 12:00:47 +0200 |
Author: grumbel
Date: 2007-10-27 12:00:45 +0200 (Sat, 27 Oct 2007)
New Revision: 3343
Modified:
trunk/pingus/TODO
trunk/pingus/data/images/core/menu/marker.png
trunk/pingus/data/images/core/menu/marker2.png
trunk/pingus/data/images/core/menu/marker_locked.png
trunk/pingus/data/levels/halloween/halloween7-grumbel.pingus
trunk/pingus/src/level_menu.cpp
Log:
- more levelselector stuff, now somewhat usable
Modified: trunk/pingus/TODO
===================================================================
--- trunk/pingus/TODO 2007-10-27 09:31:13 UTC (rev 3342)
+++ trunk/pingus/TODO 2007-10-27 10:00:45 UTC (rev 3343)
@@ -95,6 +95,8 @@
Important:
==========
+- start_pos is missing in editor
+
- Water Glitch: the water on the minimap changes color after the colmap is
altered or the first time
- Levels: All levels lack name and description
Modified: trunk/pingus/data/images/core/menu/marker.png
===================================================================
(Binary files differ)
Modified: trunk/pingus/data/images/core/menu/marker2.png
===================================================================
(Binary files differ)
Modified: trunk/pingus/data/images/core/menu/marker_locked.png
===================================================================
(Binary files differ)
Modified: trunk/pingus/data/levels/halloween/halloween7-grumbel.pingus
===================================================================
--- trunk/pingus/data/levels/halloween/halloween7-grumbel.pingus
2007-10-27 09:31:13 UTC (rev 3342)
+++ trunk/pingus/data/levels/halloween/halloween7-grumbel.pingus
2007-10-27 10:00:45 UTC (rev 3343)
@@ -7,8 +7,8 @@
(levelname "none")
(description "none")
(author "none")
- (number-of-pingus 50)
- (number-to-save 20)
+ (number-of-pingus 40)
+ (number-to-save 35)
(time -1)
(difficulty 0)
(playable 1)
Modified: trunk/pingus/src/level_menu.cpp
===================================================================
--- trunk/pingus/src/level_menu.cpp 2007-10-27 09:31:13 UTC (rev 3342)
+++ trunk/pingus/src/level_menu.cpp 2007-10-27 10:00:45 UTC (rev 3343)
@@ -29,6 +29,8 @@
#include "level_menu.hpp"
#include "gui/rect_component.hpp"
#include "gui/gui_manager.hpp"
+#include "game_session.hpp"
+#include "start_screen.hpp"
class LevelsetSelector : public GUI::RectComponent
{
@@ -125,12 +127,14 @@
Sprite marker;
Sprite marker_locked;
Levelset* levelset;
-
+ int current_level;
+
public:
LevelSelector(LevelMenu* level_menu_, const Rect& rect_)
: RectComponent(rect_),
level_menu(level_menu_),
- levelset(0)
+ levelset(0),
+ current_level(-1)
{
marker = Resource::load_sprite("core/menu/marker2");
marker_locked = Resource::load_sprite("core/menu/marker_locked");
@@ -138,26 +142,35 @@
void draw(DrawingContext& gc)
{
+ gc.print_center(Fonts::chalk_large, 800/2, 90, _(levelset->get_title()));
+
+ gc.push_modelview();
+ gc.translate(rect.left, rect.top);
+
if (levelset)
{
- gc.print_center(Fonts::chalk_large, 800/2, 90,
_(levelset->get_title()));
+ //gc.draw_fillrect(Rect(Vector2i(0,0), Size(rect.get_width(),
rect.get_height())),
+ // Color(255, 255, 0, 100));
- gc.print_left(Fonts::chalk_normal, 120, 145, "Levelname");
- gc.print_right(Fonts::chalk_normal, 660, 145, "Completed");
- int y = 185;
+ gc.print_left(Fonts::chalk_normal, 30, -32, "Levelname");
+ gc.print_right(Fonts::chalk_normal, rect.get_width() - 30, - 32,
"Completed");
+
+ int y = 0;
for(int i = 0; i < levelset->get_level_count(); ++i)
{
- if (i == 0)
- gc.draw(marker, 100, y-4);
+ if (i == current_level)
+ gc.draw(marker, 0, y);
else if (i > 3)
- gc.draw(marker_locked, 100, y-4);
+ gc.draw(marker_locked, 0, y);
std::string level = levelset->get_level(i);
- gc.print_left(Fonts::chalk_small, 120, y, level);
- gc.print_right(Fonts::chalk_small, 660, y, "[x]");
+ gc.print_left(Fonts::chalk_small, 30, y+4, level);
+ gc.print_right(Fonts::chalk_small, rect.get_width() -30, y+4,
"[x]");
y += 32;
}
}
+
+ gc.pop_modelview();
}
void set_levelset(Levelset* levelset_)
@@ -170,12 +183,20 @@
x -= rect.left;
y -= rect.top;
- std::cout << x << " " << y << std::endl;
+ current_level = y / 32;
+
+ if (current_level < 0 || current_level > levelset->get_level_count())
+ current_level = -1;
}
void on_primary_button_press (int x, int y)
{
- level_menu->set_levelset(0);
+ if (current_level != -1)
+ {
+ PingusLevel level(Pathname("levels/" +
levelset->get_level(current_level), Pathname::DATA_PATH));
+ //ScreenManager::instance()->push_screen(new PingusGameSession(level,
false), true);
+ ScreenManager::instance()->push_screen(new StartScreen(level), true);
+ }
}
void update_layout() {}
@@ -188,8 +209,8 @@
background = Resource::load_sprite("core/menu/filedialog");
ok_button = Resource::load_sprite("core/start/ok");
- level_selector = new LevelSelector(this, Rect(Vector2i(x_pos + 100, y_pos
+ 140), Size(600, 300)));
levelset_selector = new LevelsetSelector(this, Rect(Vector2i(x_pos + 100,
y_pos + 140), Size(600, 300)));
+ level_selector = new LevelSelector(this, Rect(Vector2i(x_pos + 100, y_pos
+ 160), Size(600, 300)));
gui_manager->add(levelset_selector, true);
gui_manager->add(level_selector, true);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] r3343 - in trunk/pingus: . data/images/core/menu data/levels/halloween src,
grumbel at BerliOS <=