directory structure reorganisation (still missing the mangle stuff)

actorid
Marc Zinnschlag 15 years ago
parent 1d84b10b3e
commit e4f85cb3e6

@ -6,62 +6,78 @@ cmake_minimum_required(VERSION 2.6)
# Add path for CMake scripts # Add path for CMake scripts
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/) set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/)
# Local files # source directory: apps
set(BSA bsa/bsa_archive.cpp bsa/bsa_file.cpp) set(GAME apps/openmw/main.cpp apps/openmw/engine.cpp)
set(BSA_HEADER bsa/bsa_archive.hpp bsa/bsa_file.hpp) set(GAME_HEADER apps/openmw/mwinput/inputmanager.hpp apps/openmw/engine.hpp)
source_group(game FILES ${GAME} ${GAME_HEADER})
set(GAMEREND apps/openmw/mwrender/mwscene.cpp apps/openmw/mwrender/cell.cpp
apps/openmw/mwrender/interior.cpp)
set(GAMEREND_HEADER apps/openmw/mwrender/cell.hpp apps/openmw/mwrender/mwscene.hpp
apps/openmw/mwrender/interior.hpp apps/openmw/mwrender/playerpos.hpp)
source_group(game_renderer FILES ${GAMEREND} ${GAMEREND_HEADER})
# set(GAMEINPUT)
set(GAMEINPUT_HEADER apps/openmw/mwinput/inputmanager.hpp)
source_group(game_input FILES ${GAMEINPUT} ${GAMEINPUT_HEADER})
set(APPS ${GAME} ${GAMEREND} ${GAMEINPUT})
set(APPS_HEADER ${GAME_HEADER} ${GAMEREND_HEADER} ${GAMEINPUT_HEADER})
# source directory: components
set(BSA components/bsa/bsa_archive.cpp components/bsa/bsa_file.cpp)
set(BSA_HEADER components/bsa/bsa_archive.hpp components/bsa/bsa_file.hpp)
source_group(bsa FILES ${BSA} ${BSA_HEADER}) source_group(bsa FILES ${BSA} ${BSA_HEADER})
set(NIF nif/nif_file.cpp) set(NIF components/nif/nif_file.cpp)
set(NIF_HEADER nif/controlled.hpp nif/effect.hpp nif/nif_types.hpp nif/record.hpp set(NIF_HEADER components/nif/controlled.hpp components/nif/effect.hpp
nif/controller.hpp nif/extra.hpp nif/node.hpp nif/record_ptr.hpp components/nif/nif_types.hpp components/nif/record.hpp
nif/data.hpp nif/nif_file.hpp nif/property.hpp) components/nif/controller.hpp components/nif/extra.hpp components/nif/node.hpp
components/nif/record_ptr.hpp
components/nif/data.hpp components/nif/nif_file.hpp components/nif/property.hpp)
source_group(nif FILES ${NIF} ${NIF_HEADER}) source_group(nif FILES ${NIF} ${NIF_HEADER})
set(NIFOGRE nifogre/ogre_nif_loader.cpp) set(NIFOGRE components/nifogre/ogre_nif_loader.cpp)
set(NIFOGRE_HEADER nifogre/ogre_nif_loader.hpp) set(NIFOGRE_HEADER components/nifogre/ogre_nif_loader.hpp)
source_group(nifogre FILES ${NIFOGRE} ${NIFOGRE_HEADER}) source_group(nifogre FILES ${NIFOGRE} ${NIFOGRE_HEADER})
set(TOOLS tools/stringops.cpp tools/fileops.cpp) set(ESM_STORE components/esm_store/store.cpp components/esm_store/cell_store.cpp)
set(TOOLS_HEADER tools/fileops.hpp tools/slice_array.hpp tools/stringops.hpp) set(ESM_STORE_HEADER components/esm_store/cell_store.hpp
source_group(tools FILES ${TOOLS} ${TOOLS_HEADER}) components/esm_store/reclists.hpp components/esm_store/store.hpp)
source_group(esm_store FILES ${ESM_STORE} ${ESM_STORE_HEADER})
set(MANGLE_VFS mangle/vfs/servers/ogre_vfs.cpp) file(GLOB ESM_HEADER components/esm/*.hpp)
source_group(mangle_vfs FILES ${MANGLE_VFS}) source_group(esm_header FILES ${ESM_HEADER})
set(OGRE ogre/renderer.cpp) set(OGRE components/engine/ogre/renderer.cpp)
set(OGRE_HEADER ogre/renderer.hpp) set(OGRE_HEADER components/engine/ogre/renderer.hpp)
source_group(ogre FILES ${OGRE} ${OGRE_HEADER}) source_group(ogre FILES ${OGRE} ${OGRE_HEADER})
set(INPUT input/oismanager.cpp) set(INPUT components/engine/input/oismanager.cpp)
set(INPUT_HEADER input/oismanager.hpp input/listener.hpp input/func_binder.hpp input/dispatch_map.hpp input/dispatcher.hpp input/poller.hpp) set(INPUT_HEADER components/engine/input/oismanager.hpp components/engine/input/listener.hpp
components/engine/input/func_binder.hpp components/engine/input/dispatch_map.hpp
components/engine/input/dispatcher.hpp components/engine/input/poller.hpp)
source_group(input FILES ${INPUT} ${INPUT_HEADER}) source_group(input FILES ${INPUT} ${INPUT_HEADER})
set(GAME game/main.cpp game/engine.cpp) set(MISC components/misc/stringops.cpp components/misc/fileops.cpp)
set(GAME_HEADER game/mwinput/inputmanager.hpp game/engine.hpp) set(MISC_HEADER components/misc/fileops.hpp components/misc/slice_array.hpp
source_group(game FILES ${GAME} ${GAME_HEADER}) components/misc/stringops.hpp)
source_group(misc FILES ${MISC} ${MISC_HEADER})
set(ESM_STORE esm_store/store.cpp esm_store/cell_store.cpp) set(COMPONENTS ${BSA} ${NIF} ${NIFOGRE} ${ESM_STORE} ${OGRE} ${INPUT} ${MISC})
set(ESM_STORE_HEADER esm_store/cell_store.hpp esm_store/reclists.hpp esm_store/store.hpp) set(COMPONENTS_HEADER ${BSA_HEADER} ${NIF_HEADER} ${NIFOGRE_HEADER} ${ESM_STORE_HEADER}
source_group(esm_store FILES ${ESM_STORE} ${ESM_STORE_HEADER}) ${ESM_HEADER} ${OGRE_HEADER} ${INPUT_HEADER} ${MISC_HEADER})
# source directory: libs
set(GAMEREND game/mwrender/mwscene.cpp game/mwrender/cell.cpp game/mwrender/interior.cpp) set(MANGLE_VFS libs/mangle/vfs/servers/ogre_vfs.cpp)
set(GAMEREND_HEADER game/mwrender/cell.hpp game/mwrender/mwscene.hpp source_group(mangle_vfs FILES ${MANGLE_VFS})
game/mwrender/interior.hpp game/mwrender/playerpos.hpp)
source_group(game_renderer FILES ${GAMEREND} ${GAMEREND_HEADER})
set(ESM_HEADER esm/defs.hpp esm/loadcell.hpp esm/loadfact.hpp esm/loadltex.hpp
esm/loadskil.hpp
esm/esm_reader.hpp esm/loadclas.hpp esm/loadglob.hpp esm/loadmgef.hpp esm/loadsndg.hpp
esm/loadacti.hpp esm/loadclot.hpp esm/loadgmst.hpp esm/loadmisc.hpp esm/loadsoun.hpp
esm/loadalch.hpp esm/loadcont.hpp esm/loadinfo.hpp esm/loadnpcc.hpp esm/loadspel.hpp
esm/loadappa.hpp esm/loadcrea.hpp esm/loadingr.hpp esm/loadnpc.hpp esm/loadsscr.hpp
esm/loadarmo.hpp esm/loadcrec.hpp esm/loadland.hpp esm/loadpgrd.hpp esm/loadstat.hpp
esm/loadbody.hpp esm/loaddial.hpp esm/loadlevlist.hpp esm/loadrace.hpp esm/loadweap.hpp
esm/loadbook.hpp esm/loaddoor.hpp esm/loadligh.hpp esm/loadregn.hpp esm/records.hpp
esm/loadbsgn.hpp esm/loadench.hpp esm/loadlocks.hpp esm/loadscpt.hpp)
source_group(esm_header FILES ${ESM_HEADER})
set(OPENMW_LIBS ${MANGLE_VFS})
set(OPENMW_LIBS_HEADER)
# Platform specific # Platform specific
if (WIN32) if (WIN32)
set(PLATFORM_INCLUDE_DIR "platform") set(PLATFORM_INCLUDE_DIR "platform")
@ -111,16 +127,9 @@ endif (CMAKE_COMPILER_IS_GNUCC)
# Main executable # Main executable
add_executable(openmw add_executable(openmw
MACOSX_BUNDLE MACOSX_BUNDLE
${BSA} ${BSA_HEADER} ${COMPONENTS} ${COMPONENTS_HEADER}
${TOOLS} ${TOOLS_HEADER} ${OPENMW_LIBS} ${OPENMW_LIBS_HEADER}
${OGRE} ${OGRE_HEADER} ${APPS} ${APPS_HEADER}
${INPUT} ${INPUT_HEADER}
${NIF} ${NIF_HEADER}
${NIFOGRE} ${NIFOGRE_HEADER}
${MANGLE_VFS}
${GAME}
${ESM_STORE} ${ESM_STORE_HEADER}
${GAMEREND} ${GAMEREND_HEADER}
${ESM_HEADER} ${ESM_HEADER}
${APPLE_BUNDLE_RESOURCES} ${APPLE_BUNDLE_RESOURCES}
) )

@ -4,14 +4,14 @@
#include <iostream> #include <iostream>
#include "esm_store/cell_store.hpp" #include "components/esm_store/cell_store.hpp"
#include "bsa/bsa_archive.hpp" #include "components/bsa/bsa_archive.hpp"
#include "ogre/renderer.hpp" #include "components/engine/ogre/renderer.hpp"
#include "tools/fileops.hpp" #include "components/misc/fileops.hpp"
#include "mwrender/interior.hpp" #include "apps/openmw/mwrender/interior.hpp"
#include "mwinput/inputmanager.hpp" #include "mwinput/inputmanager.hpp"
#include "mwrender/playerpos.hpp" #include "apps/openmw/mwrender/playerpos.hpp"
OMW::Engine::Engine() {} OMW::Engine::Engine() {}
@ -20,29 +20,29 @@ OMW::Engine::Engine() {}
void OMW::Engine::prepareMaster() void OMW::Engine::prepareMaster()
{ {
std::string::size_type sep = mMaster.find_last_of ("."); std::string::size_type sep = mMaster.find_last_of (".");
if (sep==std::string::npos) if (sep==std::string::npos)
{ {
mMaster += ".esm"; mMaster += ".esm";
} }
} }
// Load all BSA files in data directory. // Load all BSA files in data directory.
void OMW::Engine::loadBSA() void OMW::Engine::loadBSA()
{ {
boost::filesystem::directory_iterator end; boost::filesystem::directory_iterator end;
for (boost::filesystem::directory_iterator iter (mDataDir); iter!=end; ++iter) for (boost::filesystem::directory_iterator iter (mDataDir); iter!=end; ++iter)
{ {
if (boost::filesystem::extension (iter->path())==".bsa") if (boost::filesystem::extension (iter->path())==".bsa")
{ {
std::cout << "Adding " << iter->path().string() << std::endl; std::cout << "Adding " << iter->path().string() << std::endl;
addBSA(iter->path().file_string()); addBSA(iter->path().file_string());
} }
} }
} }
// add resources directory // add resources directory
// \note This function works recursively. // \note This function works recursively.
@ -50,8 +50,8 @@ void OMW::Engine::addResourcesDirectory (const boost::filesystem::path& path)
{ {
mOgre.getRoot()->addResourceLocation (path.file_string(), "FileSystem", mOgre.getRoot()->addResourceLocation (path.file_string(), "FileSystem",
Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, true); Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, true);
} }
// Set data dir // Set data dir
void OMW::Engine::setDataDir (const boost::filesystem::path& dataDir) void OMW::Engine::setDataDir (const boost::filesystem::path& dataDir)
@ -83,9 +83,9 @@ void OMW::Engine::go()
assert (!mDataDir.empty()); assert (!mDataDir.empty());
assert (!mCellName.empty()); assert (!mCellName.empty());
assert (!mMaster.empty()); assert (!mMaster.empty());
std::cout << "Hello, fellow traveler!\n"; std::cout << "Hello, fellow traveler!\n";
std::cout << "Your data directory for today is: " << mDataDir << "\n"; std::cout << "Your data directory for today is: " << mDataDir << "\n";
std::cout << "Initializing OGRE\n"; std::cout << "Initializing OGRE\n";
@ -93,16 +93,16 @@ void OMW::Engine::go()
const char* plugCfg = "plugins.cfg"; const char* plugCfg = "plugins.cfg";
mOgre.configure(!isFile("ogre.cfg"), plugCfg, false); mOgre.configure(!isFile("ogre.cfg"), plugCfg, false);
addResourcesDirectory (mDataDir / "Meshes"); addResourcesDirectory (mDataDir / "Meshes");
addResourcesDirectory (mDataDir / "Textures"); addResourcesDirectory (mDataDir / "Textures");
prepareMaster(); prepareMaster();
loadBSA(); loadBSA();
boost::filesystem::path masterPath (mDataDir); boost::filesystem::path masterPath (mDataDir);
masterPath /= mMaster; masterPath /= mMaster;
std::cout << "Loading ESM " << masterPath.string() << "\n"; std::cout << "Loading ESM " << masterPath.string() << "\n";
ESM::ESMReader esm; ESM::ESMReader esm;
ESMS::ESMStore store; ESMS::ESMStore store;
@ -141,6 +141,6 @@ void OMW::Engine::go()
// Start the main rendering loop // Start the main rendering loop
mOgre.start(); mOgre.start();
std::cout << "\nThat's all for now!\n"; std::cout << "\nThat's all for now!\n";
} }

@ -5,7 +5,7 @@
#include <boost/filesystem.hpp> #include <boost/filesystem.hpp>
#include "mwrender/mwscene.hpp" #include "apps/openmw/mwrender/mwscene.hpp"
namespace OMW namespace OMW
{ {
@ -17,21 +17,21 @@ namespace OMW
Render::OgreRenderer mOgre; Render::OgreRenderer mOgre;
std::string mCellName; std::string mCellName;
std::string mMaster; std::string mMaster;
// not implemented // not implemented
Engine (const Engine&); Engine (const Engine&);
Engine& operator= (const Engine&); Engine& operator= (const Engine&);
/// adjust name and load bsa /// adjust name and load bsa
void prepareMaster(); void prepareMaster();
/// add resources directory /// add resources directory
/// \note This function works recursively. /// \note This function works recursively.
void addResourcesDirectory (const boost::filesystem::path& path); void addResourcesDirectory (const boost::filesystem::path& path);
/// Load all BSA files in data directory. /// Load all BSA files in data directory.
void loadBSA(); void loadBSA();
public: public:
Engine(); Engine();
@ -41,7 +41,7 @@ namespace OMW
/// Set start cell name (only interiors for now) /// Set start cell name (only interiors for now)
void setCell (const std::string& cellName); void setCell (const std::string& cellName);
/// Set master file (esm) /// Set master file (esm)
/// - If the given name does not have an extension, ".esm" is added automatically /// - If the given name does not have an extension, ".esm" is added automatically
/// - Currently OpenMW only supports one master at the same time. /// - Currently OpenMW only supports one master at the same time.

@ -1,12 +1,12 @@
#ifndef _MWINPUT_MWINPUTMANAGER_H #ifndef _MWINPUT_MWINPUTMANAGER_H
#define _MWINPUT_MWINPUTMANAGER_H #define _MWINPUT_MWINPUTMANAGER_H
#include "input/listener.hpp" #include "components/engine/input/listener.hpp"
#include "input/dispatcher.hpp" #include "components/engine/input/dispatcher.hpp"
#include "input/poller.hpp" #include "components/engine/input/poller.hpp"
#include "boost/bind.hpp" #include "boost/bind.hpp"
#include "game/mwrender/playerpos.hpp" #include "apps/openmw/mwrender/playerpos.hpp"
#include "platform/strings.h" #include "libs/platform/strings.h"
namespace MWInput namespace MWInput
{ {
@ -47,7 +47,7 @@ namespace MWInput
{ {
// Find the first unused filename. // Find the first unused filename.
// //
char buf[50]; char buf[50];
do do
{ {
snprintf(buf, 50, "screenshot%03d.png", shotCount++); snprintf(buf, 50, "screenshot%03d.png", shotCount++);

@ -2,11 +2,11 @@
#include <cassert> #include <cassert>
#include "esm_store/cell_store.hpp" #include "components/esm_store/cell_store.hpp"
using namespace MWRender; using namespace MWRender;
template<typename T> template<typename T>
void insertObj(CellRender& cellRender, const T& liveRef) void insertObj(CellRender& cellRender, const T& liveRef)
{ {
assert (liveRef.base != NULL); assert (liveRef.base != NULL);
@ -18,8 +18,8 @@ void insertObj(CellRender& cellRender, const T& liveRef)
cellRender.insertEnd(); cellRender.insertEnd();
} }
} }
template<> template<>
void insertObj(CellRender& cellRender, const ESMS::LiveCellRef<ESM::Light>& liveRef) void insertObj(CellRender& cellRender, const ESMS::LiveCellRef<ESM::Light>& liveRef)
{ {
assert (liveRef.base != NULL); assert (liveRef.base != NULL);
@ -27,9 +27,9 @@ void insertObj(CellRender& cellRender, const ESMS::LiveCellRef<ESM::Light>& live
if(!model.empty()) if(!model.empty())
{ {
cellRender.insertBegin (liveRef.ref); cellRender.insertBegin (liveRef.ref);
cellRender.insertMesh ("meshes\\" + model); cellRender.insertMesh ("meshes\\" + model);
// Extract the color and convert to floating point // Extract the color and convert to floating point
const int color = liveRef.base->data.color; const int color = liveRef.base->data.color;
const float r = ((color >> 0) & 0xFF) / 255.0f; const float r = ((color >> 0) & 0xFF) / 255.0f;
@ -37,9 +37,9 @@ void insertObj(CellRender& cellRender, const ESMS::LiveCellRef<ESM::Light>& live
const float b = ((color >> 16) & 0xFF) / 255.0f; const float b = ((color >> 16) & 0xFF) / 255.0f;
const float radius = float(liveRef.base->data.radius); const float radius = float(liveRef.base->data.radius);
cellRender.insertLight(r, g, b, radius); cellRender.insertLight(r, g, b, radius);
cellRender.insertEnd(); cellRender.insertEnd();
} }
} }
template<typename T> template<typename T>
@ -49,8 +49,8 @@ void insertCellRefList (CellRender& cellRender, const T& cellRefList)
it != cellRefList.list.end(); it++) it != cellRefList.list.end(); it++)
{ {
insertObj (cellRender, *it); insertObj (cellRender, *it);
} }
} }
void CellRender::insertCell(const ESMS::CellStore &cell) void CellRender::insertCell(const ESMS::CellStore &cell)
{ {

@ -3,7 +3,7 @@
#include <OgreEntity.h> #include <OgreEntity.h>
#include <OgreLight.h> #include <OgreLight.h>
#include "nifogre/ogre_nif_loader.hpp" #include "components/nifogre/ogre_nif_loader.hpp"
#include "mwscene.hpp" #include "mwscene.hpp"
using namespace MWRender; using namespace MWRender;
@ -30,7 +30,7 @@ bool InteriorCellRender::lightOutQuadInLin = false;
void InteriorCellRender::insertBegin (const ESM::CellRef &ref) void InteriorCellRender::insertBegin (const ESM::CellRef &ref)
{ {
assert (!insert); assert (!insert);
// Create and place scene node for this object // Create and place scene node for this object
insert = base->createChildSceneNode(); insert = base->createChildSceneNode();
@ -59,7 +59,7 @@ void InteriorCellRender::insertBegin (const ESM::CellRef &ref)
void InteriorCellRender::insertMesh(const std::string &mesh) void InteriorCellRender::insertMesh(const std::string &mesh)
{ {
assert (insert); assert (insert);
NIFLoader::load(mesh); NIFLoader::load(mesh);
MovableObject *ent = scene.getMgr()->createEntity(mesh); MovableObject *ent = scene.getMgr()->createEntity(mesh);
insert->attachObject(ent); insert->attachObject(ent);
@ -74,7 +74,7 @@ void InteriorCellRender::insertLight(float r, float g, float b, float radius)
light->setDiffuseColour (r, g, b); light->setDiffuseColour (r, g, b);
float cval=0.0f, lval=0.0f, qval=0.0f; float cval=0.0f, lval=0.0f, qval=0.0f;
if(lightConst) if(lightConst)
cval = lightConstValue; cval = lightConstValue;
if(!lightOutQuadInLin) if(!lightOutQuadInLin)
@ -95,9 +95,9 @@ void InteriorCellRender::insertLight(float r, float g, float b, float radius)
// Do quadratic or linear, depending if we're in an exterior or interior // Do quadratic or linear, depending if we're in an exterior or interior
// cell, respectively. Ignore lightLinear and lightQuadratic. // cell, respectively. Ignore lightLinear and lightQuadratic.
} }
light->setAttenuation(10*radius, cval, lval, qval); light->setAttenuation(10*radius, cval, lval, qval);
insert->attachObject(light); insert->attachObject(light);
} }
@ -108,19 +108,19 @@ std::string InteriorCellRender::insertEnd()
assert (insert); assert (insert);
std::string handle = insert->getName(); std::string handle = insert->getName();
insert = 0; insert = 0;
return handle; return handle;
} }
// configure lighting according to cell // configure lighting according to cell
void InteriorCellRender::configureAmbient() void InteriorCellRender::configureAmbient()
{ {
ambientColor.setAsABGR (cell.cell->ambi.ambient); ambientColor.setAsABGR (cell.cell->ambi.ambient);
setAmbientMode(); setAmbientMode();
// Create a "sun" that shines light downwards. It doesn't look // Create a "sun" that shines light downwards. It doesn't look
// completely right, but leave it for now. // completely right, but leave it for now.
Ogre::Light *light = scene.getMgr()->createLight(); Ogre::Light *light = scene.getMgr()->createLight();
@ -130,7 +130,7 @@ void InteriorCellRender::configureAmbient()
light->setType(Ogre::Light::LT_DIRECTIONAL); light->setType(Ogre::Light::LT_DIRECTIONAL);
light->setDirection(0,-1,0); light->setDirection(0,-1,0);
} }
// configure fog according to cell // configure fog according to cell
void InteriorCellRender::configureFog() void InteriorCellRender::configureFog()
{ {
@ -144,28 +144,28 @@ void InteriorCellRender::configureFog()
scene.getCamera()->setFarClipDistance (high + 10); scene.getCamera()->setFarClipDistance (high + 10);
scene.getViewport()->setBackgroundColour (color); scene.getViewport()->setBackgroundColour (color);
} }
void InteriorCellRender::setAmbientMode() void InteriorCellRender::setAmbientMode()
{ {
switch (ambientMode) switch (ambientMode)
{ {
case 0: case 0:
scene.getMgr()->setAmbientLight(ambientColor); scene.getMgr()->setAmbientLight(ambientColor);
break; break;
case 1: case 1:
scene.getMgr()->setAmbientLight(0.7f*ambientColor + 0.3f*ColourValue(1,1,1)); scene.getMgr()->setAmbientLight(0.7f*ambientColor + 0.3f*ColourValue(1,1,1));
break; break;
case 2: case 2:
scene.getMgr()->setAmbientLight(ColourValue(1,1,1)); scene.getMgr()->setAmbientLight(ColourValue(1,1,1));
break; break;
} }
} }
void InteriorCellRender::show() void InteriorCellRender::show()
{ {
// If already loaded, just make the cell visible. // If already loaded, just make the cell visible.
@ -208,14 +208,14 @@ void InteriorCellRender::toggleLight()
ambientMode = 0; ambientMode = 0;
else else
++ambientMode; ++ambientMode;
switch (ambientMode) switch (ambientMode)
{ {
case 0: std::cout << "Setting lights to normal\n"; break; case 0: std::cout << "Setting lights to normal\n"; break;
case 1: std::cout << "Turning the lights up\n"; break; case 1: std::cout << "Turning the lights up\n"; break;
case 2: std::cout << "Turning the lights to full\n"; break; case 2: std::cout << "Turning the lights to full\n"; break;
} }
setAmbientMode(); setAmbientMode();
} }

@ -2,7 +2,7 @@
#define _GAME_RENDER_INTERIOR_H #define _GAME_RENDER_INTERIOR_H
#include "cell.hpp" #include "cell.hpp"
#include "esm_store/cell_store.hpp" #include "components/esm_store/cell_store.hpp"
#include "OgreColourValue.h" #include "OgreColourValue.h"
@ -14,7 +14,7 @@ namespace Ogre
namespace MWRender namespace MWRender
{ {
class MWScene; class MWScene;
/** /**
This class is responsible for inserting meshes and other This class is responsible for inserting meshes and other
rendering objects from the given cell into the given rendering rendering objects from the given cell into the given rendering
@ -22,10 +22,10 @@ namespace MWRender
TODO FIXME: Doesn't do full cleanup yet. TODO FIXME: Doesn't do full cleanup yet.
*/ */
class InteriorCellRender : private CellRender class InteriorCellRender : private CellRender
{ {
static bool lightConst; static bool lightConst;
static float lightConstValue; static float lightConstValue;
@ -40,19 +40,19 @@ namespace MWRender
static float lightQuadraticRadiusMult; static float lightQuadraticRadiusMult;
static bool lightOutQuadInLin; static bool lightOutQuadInLin;
const ESMS::CellStore &cell; const ESMS::CellStore &cell;
MWScene &scene; MWScene &scene;
/// The scene node that contains all objects belonging to this /// The scene node that contains all objects belonging to this
/// cell. /// cell.
Ogre::SceneNode *base; Ogre::SceneNode *base;
Ogre::SceneNode *insert; Ogre::SceneNode *insert;
// 0 normal, 1 more bright, 2 max // 0 normal, 1 more bright, 2 max
int ambientMode; int ambientMode;
Ogre::ColourValue ambientColor; Ogre::ColourValue ambientColor;
/// start inserting a new reference. /// start inserting a new reference.
@ -60,28 +60,28 @@ namespace MWRender
/// insert a mesh related to the most recent insertBegin call. /// insert a mesh related to the most recent insertBegin call.
virtual void insertMesh(const std::string &mesh); virtual void insertMesh(const std::string &mesh);
/// insert a light related to the most recent insertBegin call. /// insert a light related to the most recent insertBegin call.
virtual void insertLight(float r, float g, float b, float radius); virtual void insertLight(float r, float g, float b, float radius);
/// finish inserting a new reference and return a handle to it. /// finish inserting a new reference and return a handle to it.
virtual std::string insertEnd(); virtual std::string insertEnd();
/// configure lighting according to cell /// configure lighting according to cell
void configureAmbient(); void configureAmbient();
/// configure fog according to cell /// configure fog according to cell
void configureFog(); void configureFog();
void setAmbientMode(); void setAmbientMode();
public: public:
InteriorCellRender(const ESMS::CellStore &_cell, MWScene &_scene) InteriorCellRender(const ESMS::CellStore &_cell, MWScene &_scene)
: cell(_cell), scene(_scene), base(NULL), insert(NULL), ambientMode (0) {} : cell(_cell), scene(_scene), base(NULL), insert(NULL), ambientMode (0) {}
virtual ~InteriorCellRender() { destroy(); } virtual ~InteriorCellRender() { destroy(); }
/// Make the cell visible. Load the cell if necessary. /// Make the cell visible. Load the cell if necessary.
void show(); void show();
@ -90,8 +90,8 @@ namespace MWRender
void hide(); void hide();
/// Destroy all rendering objects connected with this cell. /// Destroy all rendering objects connected with this cell.
void destroy(); void destroy();
/// Switch through lighting modes. /// Switch through lighting modes.
void toggleLight(); void toggleLight();
}; };

@ -1,7 +1,7 @@
#ifndef _GAME_RENDER_MWSCENE_H #ifndef _GAME_RENDER_MWSCENE_H
#define _GAME_RENDER_MWSCENE_H #define _GAME_RENDER_MWSCENE_H
#include "ogre/renderer.hpp" #include "components/engine/ogre/renderer.hpp"
namespace Ogre namespace Ogre
{ {

@ -27,7 +27,7 @@
#include <OgreArchiveFactory.h> #include <OgreArchiveFactory.h>
#include <OgreArchiveManager.h> #include <OgreArchiveManager.h>
#include "bsa_file.hpp" #include "bsa_file.hpp"
#include <mangle/stream/clients/ogre_datastream.hpp> #include <libs/mangle/stream/clients/ogre_datastream.hpp>
using namespace Ogre; using namespace Ogre;
using namespace Mangle::Stream; using namespace Mangle::Stream;
@ -137,7 +137,7 @@ public:
return name; return name;
} }
Archive *createInstance( const String& name ) Archive *createInstance( const String& name )
{ {
return new BSAArchive(name); return new BSAArchive(name);
} }

@ -23,9 +23,9 @@
#include "bsa_file.hpp" #include "bsa_file.hpp"
#include <mangle/stream/servers/file_stream.hpp> #include <libs/mangle/stream/servers/file_stream.hpp>
#include <mangle/stream/filters/slice_stream.hpp> #include <libs/mangle/stream/filters/slice_stream.hpp>
#include <mangle/tools/str_exception.hpp> #include <libs/mangle/tools/str_exception.hpp>
#include <stdlib.h> #include <stdlib.h>
#include <assert.h> #include <assert.h>

@ -24,7 +24,7 @@
#ifndef _BSA_FILE_H_ #ifndef _BSA_FILE_H_
#define _BSA_FILE_H_ #define _BSA_FILE_H_
#include <mangle/stream/stream.hpp> #include <libs/mangle/stream/stream.hpp>
#include <stdint.h> #include <stdint.h>
#include <strings.h> #include <strings.h>

@ -2,7 +2,7 @@
#define _INPUT_LISTENER_H #define _INPUT_LISTENER_H
#include "oismanager.hpp" #include "oismanager.hpp"
#include "ogre/renderer.hpp" #include "components/engine/ogre/renderer.hpp"
#include "dispatcher.hpp" #include "dispatcher.hpp"
#include <OgreFrameListener.h> #include <OgreFrameListener.h>

@ -1,7 +1,7 @@
#ifndef _INPUT_OISMANAGER_H #ifndef _INPUT_OISMANAGER_H
#define _INPUT_OISMANAGER_H #define _INPUT_OISMANAGER_H
#include "ogre/renderer.hpp" #include "components/engine/ogre/renderer.hpp"
#include <OIS/OIS.h> #include <OIS/OIS.h>
namespace Input namespace Input

@ -9,10 +9,10 @@
#include <sstream> #include <sstream>
#include <iomanip> #include <iomanip>
#include <mangle/stream/stream.hpp> #include <libs/mangle/stream/stream.hpp>
#include <mangle/stream/servers/file_stream.hpp> #include <libs/mangle/stream/servers/file_stream.hpp>
#include <mangle/tools/str_exception.hpp> #include <libs/mangle/tools/str_exception.hpp>
#include "tools/stringops.hpp" #include "components/misc/stringops.hpp"
#ifdef __APPLE__ #ifdef __APPLE__
// need our own implementation of strnlen // need our own implementation of strnlen

@ -1,6 +1,6 @@
#include "cell_store.hpp" #include "cell_store.hpp"
#include <iostream> #include <iostream>
#include "mangle/tools/str_exception.hpp" #include "libs/mangle/tools/str_exception.hpp"
using namespace ESMS; using namespace ESMS;
using namespace std; using namespace std;
@ -24,7 +24,7 @@ void CellStore::loadExt(int X, int Y, const ESMStore &store, ESMReader &esm)
void CellStore::loadRefs(const ESMStore &store, ESMReader &esm) void CellStore::loadRefs(const ESMStore &store, ESMReader &esm)
{ {
assert (cell); assert (cell);
// Reopen the ESM reader and seek to the right position. // Reopen the ESM reader and seek to the right position.
cell->restore(esm); cell->restore(esm);

@ -11,9 +11,9 @@
*/ */
#include "store.hpp" #include "store.hpp"
#include "esm/records.hpp" #include "components/esm/records.hpp"
#include "esm/loadcell.hpp" #include "components/esm/loadcell.hpp"
#include <mangle/tools/str_exception.hpp> #include <libs/mangle/tools/str_exception.hpp>
#include <list> #include <list>
namespace ESMS namespace ESMS
@ -70,9 +70,9 @@ namespace ESMS
{ {
public: public:
CellStore() : cell (0) {} CellStore() : cell (0) {}
const ESM::Cell *cell; const ESM::Cell *cell;
// Lists for each individual object type // Lists for each individual object type
CellRefList<Activator> activators; CellRefList<Activator> activators;
CellRefList<Potion> potions; CellRefList<Potion> potions;

@ -1,7 +1,7 @@
#ifndef _GAME_ESM_RECLISTS_H #ifndef _GAME_ESM_RECLISTS_H
#define _GAME_ESM_RECLISTS_H #define _GAME_ESM_RECLISTS_H
#include "esm/records.hpp" #include "components/esm/records.hpp"
#include <map> #include <map>
#include <string> #include <string>
#include <assert.h> #include <assert.h>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save