OpenMW - the completely unofficial reimplementation of Morrowind ================================================================ OpenMW is an open source reimplementation of the Morrowind game engine. For more information, see README.txt or http://openmw.snaptoad.com/ Building from source ==================== Supported Windows platforms: ---------------------------- Only tested on Windows XP. If you manage to compile or run OpenMW on another Windows platform (9x/Me/NT/2000/Vista), please let me know! At the moment, only command line building is supported. Dependencies: ------------- To compile OpenMW you need Mingw with g++ (a C++ compiler) and gdc (the D compiler.) You can find them here: Mingw: http://sourceforge.net/projects/mingw/ gdc: http://sourceforge.net/projects/gdcwin/ Note that the "official" D compiler, DMD, will not currently work on Windows, because it is uses an object format incompatible with most C++ compilers. All library dependencies are included in the file openmw-dll-pack.zip. Simply download this file and unpack it in the same directory as the OpenMW source code. You should not need to download any other dependencies. Setting everything up --------------------- First, install Mingw (get the automatic installer.) Make sure gcc and g++ packages are selected. Next install the gdcwin installer (the package named 'gdc') and install it in the same directory as Mingw. Open a command line. Set up your PATH to include Mingw and gdc (eg. "set PATH=%PATH%;c:\mingw\bin"). Next you must make sure the D include files are found by the compiler. Run the following command: set DFLAGS=-Ic:\mingw\include\d\3.4.5\ where the path following -I is the path of your Mingw GDC include directory. Make sure the commands g++ and gdc work (should output "no input files".) Manually installing dependencies: --------------------------------- If you download the DLL pack mentioned above, you can skip this section. If you wish to install dependencies manually, here is a list of dependencies and where you can find them: OGRE: http://ogre3d.org OIS: Comes with the Ogre SDK OpenAL: http://openal.org/ FFmpeg: http://ffmpeg.mplayerhq.hu/ Bullet: http://bulletphysics.com/ The biggest problem is the lack of a prebuilt SDKs for FFmpeg and Bullet. You must build these yourself. FFmpeg: FFmpeg must be built under Mingw (not Cygwin!). I found the following link helpful (read the comments as well, not just the post itself): http://www.gooli.org/blog/building-ffmpeg-for-windows-with-msys-and-mingw/ After building, place the dlls in the openmw "root" (same place as build_openmw.bat) and the include files in includes/ffmpeg. Refer to build_openmw.bat for the exact names and locations of expected files. Bullet: Bullet must also be built with Mingw. I used the MSYS shell for this, and the following commands: cmake -G "MinGW Makefiles" make There might be errors building the demos, but as long as the library files are built, this is OK. Use the command "find -iname *.a" to locate the libraries. The files you need are libLibBulletDynamics.a, libLibBulletCollision.a and libLibLinearMath.a. Copy these to the "root" openmw directory and rename them to: libbulletdynamics.a libbulletcollision.a libbulletmath.a Move or copy the entire src/ folder to openmw/includes/ and rename it to bullet/. Only the .h files are needed, you can delete everything else if you want. Building -------- To build, simply run build_openmw.bat Running ------- For instructions on how to set everything up after compilation, see README-win32.txt. Good luck!