From fd778219e40c5fbb4d0af1839cbc313caaf10d9d Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sun, 28 Sep 2008 15:05:13 +0000 Subject: move base game module to new subdirectory --- src/game/base/base.h | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 src/game/base/base.h (limited to 'src/game/base/base.h') diff --git a/src/game/base/base.h b/src/game/base/base.h new file mode 100644 index 0000000..fea1919 --- /dev/null +++ b/src/game/base/base.h @@ -0,0 +1,77 @@ +/* + game/game.h + This file is part of the Osirion project and is distributed under + the terms of the GNU General Public License version 2 +*/ + +#ifndef __INCLUDED_BASE_H__ +#define __INCLUDED_BASE_H__ + +#include +#include + +#include "base/ship.h" +#include "base/star.h" +#include "core/core.h" +#include "filesystem/inifile.h" +#include "sys/sys.h" + +/// the base game module +/** the base game module containis the game-specific code for Project::Osirion + */ +namespace base +{ + +// entity type constants +const unsigned int ship_enttype = 256; +const unsigned int star_enttype = 257; +const unsigned int planet_enttype = 258; +const unsigned int navpoint_enttype = 259; +const unsigned int jumppoint_enttype = 260; + +class Base : public core::Module { +public: + Base(); + ~Base(); + + /// initialize the game + void init(); + + /// shutdown the game + void shutdown(); + + /// run one time frame + void frame(float seconds); + + /// is called when a player connects + void player_connect(core::Player *player); + + /// is called when a player disconnects + void player_disconnect(core::Player *player); + + static inline Base *instance() { return game_instance; } + + core::Cvar *g_impulsespeed; + core::Cvar *g_impulseacceleration; + core::Cvar *g_strafespeed; + core::Cvar *g_jumppointrange; + core::Cvar *g_devel; + +private: + bool got_entity_key(filesystem::IniFile &inifile, core::Entity *entity); + + bool load_world(); + + bool load_zone(core::Zone *zone); + + bool validate_zone(core::Zone *zone); + + bool load_ships(); + + static Base *game_instance; +}; + +} + +#endif // __INCLUDED_BASE_H__ + -- cgit v1.2.3