projects
/
supertux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4035275
)
Moved World loading into a factory method World::load()
author
Ingo Ruhnke
<grumbel@gmail.com>
Sun, 10 Aug 2014 20:52:49 +0000
(22:52 +0200)
committer
Ingo Ruhnke
<grumbel@gmail.com>
Mon, 11 Aug 2014 22:21:35 +0000
(
00:21
+0200)
src/supertux/menu/contrib_menu.cpp
patch
|
blob
|
history
src/supertux/menu/main_menu.cpp
patch
|
blob
|
history
src/supertux/world.cpp
patch
|
blob
|
history
src/supertux/world.hpp
patch
|
blob
|
history
diff --git
a/src/supertux/menu/contrib_menu.cpp
b/src/supertux/menu/contrib_menu.cpp
index
adeaa42
..
d957e1e
100644
(file)
--- a/
src/supertux/menu/contrib_menu.cpp
+++ b/
src/supertux/menu/contrib_menu.cpp
@@
-50,9
+50,7
@@
ContribMenu::ContribMenu() :
{
try
{
{
try
{
- std::unique_ptr<World> world (new World);
-
- world->load(*it + "/info");
+ std::unique_ptr<World> world = World::load(*it + "/info");
if (!world->hide_from_contribs())
{
if (!world->hide_from_contribs())
{
diff --git
a/src/supertux/menu/main_menu.cpp
b/src/supertux/menu/main_menu.cpp
index
61c54fe
..
65ed61d
100644
(file)
--- a/
src/supertux/menu/main_menu.cpp
+++ b/
src/supertux/menu/main_menu.cpp
@@
-57,8
+57,7
@@
MainMenu::check_menu()
{
case MNID_STARTGAME:
{
{
case MNID_STARTGAME:
{
- std::unique_ptr<World> world(new World);
- world->load("levels/world1/info");
+ std::unique_ptr<World> world = World::load("levels/world1/info");
GameManager::current()->start_game(std::move(world));
}
break;
GameManager::current()->start_game(std::move(world));
}
break;
diff --git
a/src/supertux/world.cpp
b/src/supertux/world.cpp
index
fbfe809
..
794f8ae
100644
(file)
--- a/
src/supertux/world.cpp
+++ b/
src/supertux/world.cpp
@@
-31,6
+31,14
@@
#include "util/string_util.hpp"
#include "worldmap/worldmap.hpp"
#include "util/string_util.hpp"
#include "worldmap/worldmap.hpp"
+std::unique_ptr<World>
+World::load(const std::string& filename)
+{
+ std::unique_ptr<World> world(new World);
+ world->load_(filename);
+ return std::move(world);
+}
+
World::World() :
m_worldmap_filename(),
m_levels(),
World::World() :
m_worldmap_filename(),
m_levels(),
@@
-74,7
+82,7
@@
World::set_savegame_filename(const std::string& filename)
}
void
}
void
-World::load(const std::string& filename)
+World::load
_
(const std::string& filename)
{
m_basedir = FileSystem::dirname(filename);
m_worldmap_filename = m_basedir + "worldmap.stwm";
{
m_basedir = FileSystem::dirname(filename);
m_worldmap_filename = m_basedir + "worldmap.stwm";
diff --git
a/src/supertux/world.hpp
b/src/supertux/world.hpp
index
a7ffd27
..
5d305bc
100644
(file)
--- a/
src/supertux/world.hpp
+++ b/
src/supertux/world.hpp
@@
-17,6
+17,7
@@
#ifndef HEADER_SUPERTUX_SUPERTUX_WORLD_HPP
#define HEADER_SUPERTUX_SUPERTUX_WORLD_HPP
#ifndef HEADER_SUPERTUX_SUPERTUX_WORLD_HPP
#define HEADER_SUPERTUX_SUPERTUX_WORLD_HPP
+#include <memory>
#include <squirrel.h>
#include <string>
#include <vector>
#include <squirrel.h>
#include <string>
#include <vector>
@@
-27,12
+28,18
@@
class PlayerStatus;
class World : public Currenton<World>
{
class World : public Currenton<World>
{
-p
ublic
:
+p
rivate
:
World();
World();
+
+ void load_(const std::string& filename);
+
+public:
+ static std::unique_ptr<World> load(const std::string& filename);
+
+public:
~World();
void set_savegame_filename(const std::string& filename);
~World();
void set_savegame_filename(const std::string& filename);
- void load(const std::string& filename);
void save_state();
void load_state();
void save_state();
void load_state();