From 4a3f6b0ff1240c30b199a3a7ee203b9dbf07d64c Mon Sep 17 00:00:00 2001 From: Nicolay Korslund Date: Fri, 2 Jul 2010 10:41:39 +0200 Subject: [PATCH] Various fixes to get openmw to compile and run properly --- .gitignore | 1 + apps/clientconsole/CMakeLists.txt | 3 +++ apps/clientconsole/client.cpp | 6 +++++- apps/openmw/engine.cpp | 16 +++++++--------- components/commandserver/command.hpp | 4 +++- components/commandserver/server.cpp | 6 ++++-- components/engine/input/oismanager.cpp | 2 +- 7 files changed, 24 insertions(+), 14 deletions(-) mode change 100755 => 100644 apps/clientconsole/CMakeLists.txt diff --git a/.gitignore b/.gitignore index b02e6010d..09efb2d3f 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ Doxygen resources mwcompiler mwinterpreter +clientconsole diff --git a/apps/clientconsole/CMakeLists.txt b/apps/clientconsole/CMakeLists.txt old mode 100755 new mode 100644 index 702fbbf8a..f73610863 --- a/apps/clientconsole/CMakeLists.txt +++ b/apps/clientconsole/CMakeLists.txt @@ -1,2 +1,5 @@ project(clientconsole) +find_package(Boost REQUIRED COMPONENTS system) +link_directories(${Boost_LIBRARY_DIRS}) add_executable(clientconsole client.cpp) +target_link_libraries(clientconsole ${Boost_LIBRARIES}) diff --git a/apps/clientconsole/client.cpp b/apps/clientconsole/client.cpp index d7d93e030..6d3e0ccc4 100755 --- a/apps/clientconsole/client.cpp +++ b/apps/clientconsole/client.cpp @@ -2,9 +2,13 @@ #include #include +#include + using boost::asio::ip::tcp; +#ifdef WIN32 #pragma warning( disable : 4966 ) +#endif class Client { @@ -85,7 +89,7 @@ public: } } else - throw std::exception("Unexpected header!"); + throw str_exception("Unexpected header!"); } return false; } diff --git a/apps/openmw/engine.cpp b/apps/openmw/engine.cpp index fd8f70d1e..86c72391d 100644 --- a/apps/openmw/engine.cpp +++ b/apps/openmw/engine.cpp @@ -11,6 +11,8 @@ #include "world.hpp" +#include "mwrender/sky.hpp" + class ProcessCommandsHook : public Ogre::FrameListener { public: @@ -25,7 +27,7 @@ protected: }; -OMW::Engine::Engine() +OMW::Engine::Engine() : mWorld(NULL) { mspCommandServer.reset( new OMW::CommandServer::Server(&mCommandQueue, kCommandServerPort)); @@ -87,8 +89,6 @@ void OMW::Engine::addMaster (const std::string& master) } } -<<<<<<< HEAD -======= // Enables sky rendering // void OMW::Engine::enableSky (bool bEnable) @@ -111,7 +111,6 @@ void OMW::Engine::processCommands() } } ->>>>>>> 450542b4b9a7cf6987c192abbf7e2cc44da286d2 // Initialise and enter main loop. void OMW::Engine::go() @@ -157,12 +156,11 @@ void OMW::Engine::go() // Start the main rendering loop mOgre.start(); -<<<<<<< HEAD -======= - mspCommandServer->stop(); - delete mpSkyManager; + // TODO/FIXME: This hangs + //mspCommandServer->stop(); + // TODO/FIXME: This crashes + //delete mpSkyManager; ->>>>>>> 450542b4b9a7cf6987c192abbf7e2cc44da286d2 std::cout << "\nThat's all for now!\n"; } diff --git a/components/commandserver/command.hpp b/components/commandserver/command.hpp index 128b87697..f58177f6e 100755 --- a/components/commandserver/command.hpp +++ b/components/commandserver/command.hpp @@ -1,6 +1,8 @@ #ifndef COMMANDSERVER_COMMAND_HPP #define COMMANDSERVER_COMMAND_HPP +#include + namespace OMW { /// @@ -16,4 +18,4 @@ namespace OMW }; } -#endif COMMANDSERVER_COMMAND_HPP +#endif //COMMANDSERVER_COMMAND_HPP diff --git a/components/commandserver/server.cpp b/components/commandserver/server.cpp index 7b9198e0b..c8bf34bfa 100755 --- a/components/commandserver/server.cpp +++ b/components/commandserver/server.cpp @@ -3,6 +3,8 @@ using boost::asio::ip::tcp; +#include + // // Namespace for containing implementation details that the // rest of OpenMW doesn't need to worry about @@ -103,7 +105,7 @@ namespace OMW { namespace CommandServer { namespace Detail { bDone = true; } else - throw std::exception("Unexpected header!"); + throw str_exception("Unexpected header!"); } else bDone = true; @@ -119,8 +121,8 @@ namespace OMW { namespace CommandServer { Server::Server (Deque* pCommandQueue, const int port) : mAcceptor (mIOService, tcp::endpoint(tcp::v4(), port)) - , mpCommandQueue (pCommandQueue) , mbStopping (false) + , mpCommandQueue (pCommandQueue) { } diff --git a/components/engine/input/oismanager.cpp b/components/engine/input/oismanager.cpp index 92495f967..74239c652 100644 --- a/components/engine/input/oismanager.cpp +++ b/components/engine/input/oismanager.cpp @@ -32,7 +32,7 @@ OISManager::OISManager(Render::OgreRenderer &rend) // Non-exclusive mouse and keyboard input in debug mode. Debug mode // isn't implemented yet though. - if(false) + if(true) { #if defined OIS_WIN32_PLATFORM pl.insert(std::make_pair(std::string("w32_mouse"),