diff options
Diffstat (limited to 'src/game')
-rw-r--r-- | src/game/Makefile.am | 12 | ||||
-rw-r--r-- | src/game/game.cc | 70 | ||||
-rw-r--r-- | src/game/game.h | 11 | ||||
-rw-r--r-- | src/game/player.h | 9 | ||||
-rw-r--r-- | src/game/sector.cc | 2 | ||||
-rw-r--r-- | src/game/ship.cc | 8 | ||||
-rw-r--r-- | src/game/ship.h | 11 | ||||
-rw-r--r-- | src/game/star.h | 18 | ||||
-rw-r--r-- | src/game/world.h | 4 |
9 files changed, 73 insertions, 72 deletions
diff --git a/src/game/Makefile.am b/src/game/Makefile.am index fc1b23e..4268c84 100644 --- a/src/game/Makefile.am +++ b/src/game/Makefile.am @@ -1,9 +1,11 @@ - +INCLUDES = -I$(top_srcdir)/src METASOURCES = AUTO -libgame_la_LDFLAGS = -avoid-version -no-undefined -noinst_LTLIBRARIES = libgame.la +libgame_la_LDFLAGS = -avoid-version -no-undefined libgame_la_SOURCES = game.cc sector.cc ship.cc shipspecs.cc star.cc -INCLUDES = -I$(top_srcdir)/src -libgame_la_LIBADD = $(top_builddir)/src/common/libcommon.la +libgame_la_LIBADD = $(top_builddir)/src/common/libcommon.la \ + $(top_builddir)/src/math/libmath.la \ + $(top_builddir)/src/filesystem/libfilesystem.la + +noinst_LTLIBRARIES = libgame.la noinst_HEADERS = game.h player.h sector.h ship.h shipspecs.h star.h world.h diff --git a/src/game/game.cc b/src/game/game.cc index cd80889..9fe1133 100644 --- a/src/game/game.cc +++ b/src/game/game.cc @@ -5,15 +5,12 @@ */ // project headers -#include "sector.h" -#include "ship.h" -#include "star.h" - -#include "common/console.h" -#include "common/inifile.h" -#include "common/path.h" - -#include "osirion.h" +#include "game/sector.h" +#include "game/ship.h" +#include "game/star.h" +#include "filesystem/filesystem.h" +#include "filesystem/inifile.h" +#include "common/common.h" // C++ headers #include <vector> @@ -35,28 +32,27 @@ std::vector<Sector*> sectors; // FIXME win32 directory names void init() { - using common::File; - using common::Path; - using common::IniFile; - using common::Vector3f; + using namespace filesystem; + using math::Vector3f; - conmesg << "Project::OSiRiON " << OSIRION_VERSION << std::endl; - condebug << "Debug messages enabled" << std::endl; + con_print << "Project::OSiRiON " << VERSION << std::endl; + con_debug << "Debug messages enabled" << std::endl; // initialize game data locations - File::datadir = "./data/"; - File::basedir = "base/"; - File::moddir = ""; + datadir = "./data/"; + basedir = "base/"; + moddir = ""; // FIXME win32 - File::homedir = getenv("HOME"); - File::homedir = File::homedir + "/.osirion/"; - Path::create(File::homedir); - Path::create(File::homedir+File::basedir); - if (File::moddir.size()) Path::create(File::homedir+File::moddir); + homedir = getenv("HOME"); + homedir = homedir + "/.osirion/"; + Path::create(homedir); + Path::create(homedir+basedir); + if (moddir.size() && !Path::exists(homedir+moddir)) + Path::create(homedir+moddir); // read game.ini - IniFile f; + filesystem::IniFile f; f.open("ini/game.ini"); while (f) { f.getline(); @@ -69,17 +65,17 @@ void init() // game::author if (f.got_key_string("author", author)); else // unknown value - conwarn << f.name() << " unknown key '" << f.key() << "' at line " << f.line() << std::endl; + con_warn << f.name() << " unknown key '" << f.key() << "' at line " << f.line() << std::endl; } } else if (f.got_section("game")) { } else if (f.got_section()) { - conwarn << f.name() << " unknown section '" << f.section() << "' at line " << f.line() << std::endl; + con_warn << f.name() << " unknown section '" << f.section() << "' at line " << f.line() << std::endl; } } f.close(); - conmesg << "game.ini loaded " << name << " [" << label << "] by " << author << std::endl; + con_print << "game.ini loaded " << name << " [" << label << "] by " << author << std::endl; // read world.ini std::string tmp; @@ -95,7 +91,7 @@ void init() // world:label if (f.got_key_string("label", tmp)); else // unknown value - conwarn << f.name() << " unknown key '" << f.key() << "' at line " << f.line() << std::endl; + con_warn << f.name() << " unknown key '" << f.key() << "' at line " << f.line() << std::endl; } else if (f.section() == "sector") { // sector::name if (f.got_key_string("name", tmp)) { @@ -106,22 +102,22 @@ void init() sector->label = tmp; } else // unknown value - conwarn << f.name() << " unknown key '" << f.key() << "' at line " << f.line() << std::endl; + con_warn << f.name() << " unknown key '" << f.key() << "' at line " << f.line() << std::endl; } } else if (f.got_section("world")) { - condebug << "[world] section" << std::endl; + con_debug << "[world] section" << std::endl; } else if (f.got_section("sector")) { sector = new Sector(); sectors.push_back(sector); } else if (f.got_section()) { - conwarn << f.name() << " unknown section '" << f.section() << "' at line " << f.line() << std::endl; + con_warn << f.name() << " unknown section '" << f.section() << "' at line " << f.line() << std::endl; } } f.close(); - conmesg << "Load sectors" << std::endl; - for (int i =0; i < sectors.size(); i++) - conmesg << sectors[i]->label << " " << sectors[i]->name << std::endl; + con_print << "Load sectors" << std::endl; + for (unsigned n =0; n < sectors.size(); n++) + con_print << sectors[n]->label << " " << sectors[n]->name << std::endl; star.location = Vector3f(256.0f, 0.0f, 256.0f); ship.location = Vector3f(0,0,0); @@ -135,9 +131,9 @@ void shutdown() initialized = false; // delete every sector object in the sectors vector - for (int i =0; i< sectors.size(); i++) { - delete sectors[i]; - sectors[i] = 0; + for (unsigned int n =0; n< sectors.size(); n++) { + delete sectors[n]; + sectors[n] = 0; } // clear the sectors vector sectors.clear(); diff --git a/src/game/game.h b/src/game/game.h index b86e773..f2a0eab 100644 --- a/src/game/game.h +++ b/src/game/game.h @@ -7,12 +7,13 @@ #ifndef __INCLUDED_GAME_H__ #define __INCLUDED_GAME_H__ -#include "ship.h" -#include "star.h" -#include "common/console.h" +#include "game/ship.h" +#include "game/star.h" -/// The game engine -/*! +#include "common/common.h" + +/// the game engine +/** * The main game functions. The console should be initialized before calling these. */ namespace game diff --git a/src/game/player.h b/src/game/player.h index d2f2316..0fdec76 100644 --- a/src/game/player.h +++ b/src/game/player.h @@ -4,14 +4,14 @@ the terms and conditions of the GNU General Public License version 2 */ -#ifndef __INCLUDED_PLAYER_H__ -#define __INCLUDED_PLAYER_H__ +#ifndef __INCLUDED_GAME_PLAYER_H__ +#define __INCLUDED_GAME_PLAYER_H__ #include <string> namespace game { -/// A player in the game +/// a player in the game class Player { public: Player(); @@ -23,4 +23,5 @@ public: } // namespace game -#endif // __INCLUDED_PLAYER_H__ +#endif // __INCLUDED_GAME_PLAYER_H__ + diff --git a/src/game/sector.cc b/src/game/sector.cc index 68938c2..a7a97b8 100644 --- a/src/game/sector.cc +++ b/src/game/sector.cc @@ -5,7 +5,7 @@ */ // project headers -#include "sector.h" +#include "game/sector.h" namespace game { diff --git a/src/game/ship.cc b/src/game/ship.cc index 049283f..fc18375 100644 --- a/src/game/ship.cc +++ b/src/game/ship.cc @@ -5,14 +5,14 @@ */ // project headers -#include "ship.h" -#include "common/functions.h" +#include "game/ship.h" +#include "math/mathlib.h" // C++ headers #include <iostream> -using common::degrees360f; -using common::degrees180f; +using math::degrees360f; +using math::degrees180f; namespace game { diff --git a/src/game/ship.h b/src/game/ship.h index 8c65264..d420f67 100644 --- a/src/game/ship.h +++ b/src/game/ship.h @@ -4,11 +4,11 @@ the terms and conditions of the GNU General Public License version 2 */ -#ifndef __INCLUDED_SHIP_H__ -#define __INCLUDED_SHIP_H__ +#ifndef __INCLUDED_GAME_SHIP_H__ +#define __INCLUDED_GAME_SHIP_H__ // project headers -#include "common/vector3f.h" +#include "math/vector3f.h" namespace game { @@ -22,7 +22,7 @@ public: void update(float elapsed); /// location of the ship in space - common::Vector3f location; + math::Vector3f location; /// speed vector in units/second float speed; @@ -56,4 +56,5 @@ private: } // namespace game -#endif // __INCLUDED_SHIP_H__ +#endif // __INCLUDED_GAME_SHIP_H__ + diff --git a/src/game/star.h b/src/game/star.h index e65a9fb..70ce2aa 100644 --- a/src/game/star.h +++ b/src/game/star.h @@ -4,31 +4,31 @@ the terms and conditions of the GNU General Public License version 2 */ -#ifndef __INCLUDED_STAR_H__ -#define __INCLUDED_STAR_H__ +#ifndef __INCLUDED_GAME_STAR_H__ +#define __INCLUDED_GAME_STAR_H__ // project headers -#include "common/vector3f.h" -#include "common/color.h" +#include "math/mathlib.h" // C++ headers #include <string> namespace game { -/// A star, that shines so bright +/// a star, that shines so bright class Star { public: Star(); ~Star(); - common::Vector3f location; - common::Color color; + math::Vector3f location; + math::Color color; float radius; std::string name; }; -} // namespace game +} + +#endif // __INCLUDED_GAME_STAR_H__ -#endif // __INCLUDED_STAR_H__ diff --git a/src/game/world.h b/src/game/world.h index 27909fc..11a80fc 100644 --- a/src/game/world.h +++ b/src/game/world.h @@ -9,10 +9,10 @@ #include <string> -namespace game +namespace Game { -/// The game world +/// the game world class World { /// load the intial game world into memory static void init(); |