From 9d91c563bc7b415a89b7df9a3182532f812e51a9 Mon Sep 17 00:00:00 2001 From: nkorslund Date: Sun, 31 Aug 2008 07:40:38 +0000 Subject: [PATCH] 0.4 released git-svn-id: https://openmw.svn.sourceforge.net/svnroot/openmw/trunk@43 ea6a568a-9f4f-0410-981a-c910a81bb256 --- COMPILE-linux.txt | 43 ++++++++++++------------- COMPILE-win32.txt | 80 +++++++++++++++++++++++++---------------------- README-win32.txt | 55 +++++++++++--------------------- README.txt | 54 ++++++++++++++------------------ build_openmw.bat | 18 ++--------- openmw.ini.win32 | 2 +- 6 files changed, 110 insertions(+), 142 deletions(-) diff --git a/COMPILE-linux.txt b/COMPILE-linux.txt index 28c0e8632..53afc0735 100644 --- a/COMPILE-linux.txt +++ b/COMPILE-linux.txt @@ -16,15 +16,15 @@ Installation from source Supported Unix platforms: ------------------------- -The only Unix operating system that has been tested and is known to -work is 32bit Ubuntu Linux 8.04. +OpenMW has been tested for the most part on 32bit Ubuntu Linux +8.04. It should, however, also work on most other 32bit +distributions. -FreeBSD works partially, but you have to recompile most of the -dependencies as well. There is a bug in the compiler however, that -breaks exceptions. So if anything goes wrong you probably will not get -any sensible error message. +FreeBSD is also known to work with recent versions of GDC (the D +compiler), but you might need to rebuild most of the dependencies from +source yourself. -Linux 64 bit is known NOT to work at the moment. +64bit Linux is specifically known NOT to work. If you manage to build OpenMW on a platform not listed here, or want to try, please let me know! @@ -50,7 +50,8 @@ DMD 1.031 (D compiler) The above versions are the ones I have tested recently, but other versions might work. OGRE, OpenAL and the other libraries have dependencies of their own, so I recommend using an automated package -tool to install as many of these as possible. On ubuntu, try typing: +tool to install as many of these as possible. On Ubuntu, for example, +try typing: sudo apt-get install libogre-dev libavcodec-dev libavformat-dev libois-dev build-essential g++ gdc @@ -62,7 +63,7 @@ music), try switching to OpenAL Soft. libavcodec and libavformat are part of the FFmpeg package, which is part of the 'mplayer' project. Note that some of the codecs might be -patented in your country or area. +patent protected in your country or area. If you want to install Ogre, OpenAL, OIS or FFmpeg manually, try: @@ -73,6 +74,7 @@ OIS: http://sourceforge.net/projects/wgois/ FFmpeg: http://ffmpeg.mplayerhq.hu/download.html + Choosing a D compiler --------------------- @@ -92,19 +94,20 @@ Note that the DMD unstable branch (2.000 and up) will NOT currently work with OpenMW. Use the stable branch (1.x) instead. The latest version known to work is DMD 1.031, so I recommend that. -Also note that DMD is only available on 32 bit Linux - other operating -systems or architectures will have to use GDC. However GDC might be -unstable on these platforms as well, even if it runs. +Also note that DMD is only available on 32 bit x86 Linux - other +operating systems or architectures will have to use GDC. Note however +that GDC might be unstable on these platforms as well, especially on +64 bit platforms. Building: --------- -After installing all the dependencies, you can try running make first -to see if the C++ parts compile. You may need to alter the Makefile if -you are using non-standard include paths, etc. If you have DSSS -installed (a D build tool), type: +After installing all the dependencies, you can try running "make cpp" +first to see if the C++ parts compile. You may need to alter the +Makefile if you are using non-standard include paths, etc. If you have +DSSS installed (a D build tool), type: dsss build @@ -145,7 +148,7 @@ following command: ln -s "/media/hda1/Program Files/Bethesda Softworks/Morrowind/Data Files/" data Also, if you have OGRE installed in a non-standard directory (ie. NOT -to /usr/lib/OGRE), you have to change the PluginFolder in the file +in /usr/lib/OGRE), you have to change the PluginFolder in the file plugins.cfg.linux. The first time you run openmw you will be asked to set screen @@ -166,12 +169,10 @@ favor, you should now be able to run OpenMW using the program called Write openmw -h to see a list of options. -Running without parameters should bring you into the cave called Sud, +Running without parameters should bring you into the cave called Assu, or the last cell loaded. You are in free float mode. Move around with WASD (or arrow keys), move up and down with left shift and ctrl, exit -with 'q' or escape. Note that if you have a localized (non-English) -version, the cell "Sud" might not exist. I will solve this issue in a -later version. +with 'q' or escape. To load another cell, specify the cell name on the command line. Use the 'esmtool' program to get a list of cells. Note that you must use diff --git a/COMPILE-win32.txt b/COMPILE-win32.txt index 9f0b285a8..3bca81a57 100644 --- a/COMPILE-win32.txt +++ b/COMPILE-win32.txt @@ -12,46 +12,33 @@ engine. For more information, see README.txt or 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/Vista), please let me know! +another Windows platform (9x/Me/NT/2000/Vista), please let me know! + Dependencies: ------------- -Dependencies needed to build OpenMW: - -OGRE 1.4.9 (3d engine) -OpenAL (3d sound system) -FFmpeg (For MP3 playback) -Mingw (C++ compiler) -gdc 4.1.3 (mingw) (D compiler) - -The above versions are the ones I have tested recently, but other -versions might work. OGRE, OpenAL and OIS are complex libraries with -their own set of dependencies. I recommend downloading prebuild SDKs -instead of building them from source. - -FFmpeg package contains the necessary libraries libavcodec and -libavformat. You will most likely have to build it from source. This -can be done either with Mingw32/Msys or with Cygwin. See below for -instructions. Note that some of the codecs included with FFmpeg might -be patented in your country. - -You can find the libraries here: +To compile OpenMW you need Mingw with g++ (a C++ compiler) and gdc +(the D compiler.) You can find them here: -OGRE: http://ogre3d.org (See "Getting Ogre" in README-win32.txt for details) -OIS: Comes with the Ogre SDK -OpenAL: http://openal.org/ -FFmpeg: http://ffmpeg.mplayerhq.hu/ 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 incompatible with most C++ compilers.) +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. + +As of verion 0.4, all library dependencies have been included in the +single file openmw-dll-pack.zip for convenience. Simply download the +file and unpack it in the same directory as the OpenMW source +code. You should not need to download any other files. + Setting everything up @@ -64,20 +51,36 @@ 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"). Make sure the commands g++ and -gdc work (should output "no input files".) +(eg. "set PATH=%PATH%;c:\mingw\bin"). -The build script expects to find the Ogre and FFmpeg SDKs in the -parent directory. An example directory structure is: +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. -c:\openmw\Ogre - Ogre SDK -c:\openmw\openmw - OpenMW source -c:\openmw\ffmpeg - FFmpeg +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 though, 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/ + +The biggest problem is the lack of a prebuilt SDK for FFmpeg. You must +build it under Mingw as well (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/ -You must compile FFmpeg from source, since at the time of writing -there are no prebuilt SDKs available. The source must be built with -Mingw as well (not Cygwin!) The following configure flags should work: -./configure --enable-shared --disable--ffserver --disable-ffplay Building @@ -86,6 +89,7 @@ Building To build, simply run build_openmw.bat + Running ------- diff --git a/README-win32.txt b/README-win32.txt index fe1d78f69..95a16db46 100644 --- a/README-win32.txt +++ b/README-win32.txt @@ -12,46 +12,26 @@ engine. For more information, see README.txt or Running OpenMW ============== -If you downloaded one of the binary releases, keep on reading. If you -got the source release, read the file COMPILE-win32.txt first, and -come back here when you are done. +OpenMW consists of three separate downloads: -There are two binary packages for Windows: one that includes all the -Ogre DLLs, and one doesn't. The only reason to get the non-ogre -version is to save bandwidth when you already have the Ogre SDK. - -If you have the version with Ogre, you can skip the next section. +openmw-0.X_win32.zip - binary package (with EXE file) +openmw-0.X.zip - source code +openmw-dll-pack.zip - library pack -Getting Ogre ------------- +You only need to download either the binary package or the source +code, not both. The DLL pack is needed in both cases. The DLL pack +does not change from version to version unless specified, so you +should only need to download it once. -OpenMW is built and tested against Ogre 1.4.9. You can get it using -this direct link: +If you downloaded the binary release, keep reading. If you got the +source release, please read COMPILE-win32.txt first, then return here +for final configuration instructions. -http://downloads.sourceforge.net/ogre/OgreSDKSetup1.4.9_CBMingW.exe?modtime=1213925466&big_mirror=1 -Or you can get it from: http://ogre3d.org -> Select Download --> Prebuilt SDK -> Code::Blocks + MinGW - -Once you have installed it, copy the following files from -"Ogre/bin/debug/" into the OpenMW directory: - -OgreMain_d.dll -Plugin_*.dll -RenderSystem_*.dll -cg.dll -OIS_d.dll - - -Final configuration +Configuration ------------------- -The final DLL you need (not included for copyright reasons) is -d3dx9d_30.dll. If you have DirectX installed, you most likely have -d3dx9_30.dll in your \windows\system32 folder. Copy it to the OpenMW -directory and rename it to d3dx9d_30.dll (note the "d" after the "9".) - OpenMW assumes you have the Morrowind data files in c:\Program Files\Bethesda Softworks\Morrowind\Data Files\ . If this is not the case, you should edit openmw.ini first. @@ -62,6 +42,11 @@ Running Just run openmw.exe and enjoy! ;-) +We have just updated the sound system, so it is possible things won't +work. If you get error messages related to sound, try disabling sound +with the -ns option. We are working on flattening out the remaining +bugs. + The first time you run OpenMW, you will be asked to set screen resolution and other graphics settings. To be safe, it's not recommended to select fullscreen mode on the first run. You can bring @@ -70,9 +55,7 @@ up the dialogue at any time by using the -oc switch. Move around with WASD or arrow keys, move up and down with left shift and ctrl, exit with 'q' or escape. -You start in a cell called "Sud". You can change this in openmw.ini or -by specifying a cell name on the command line. Note that if you have a -localized (non-English) version, the cell "Sud" might not exist. I -will solve this issue in a later version. +You start in a cell called "Assu". You can change this in openmw.ini or +by specifying a cell name on the command line. Write openmw -h on the command line to see a complete list of options. diff --git a/README.txt b/README.txt index 2563e9baf..fa75f045f 100644 --- a/README.txt +++ b/README.txt @@ -18,35 +18,33 @@ Morrowind installed on your system! -IMPORTANT: Subversion notes +IMPORTANT: OpenMW 0.4 notes =========================== -The subversion code is currently in the process of switching from -Audiere to OpenAL. This means that: +As of OpenMW 0.4, we have switched sound libraries from Audiere to +OpenAL + libavcodec. This means that: -- you need to install OpenAL and ALUT +- you need to install OpenAL +- you must install libavcodec / ffmpeg for mp3 playback - you no longer need Audiere -- music does not (currently) work - -Generally true for all SVN versions is that: - -- a given SVN revision is not guaranteed to work or compile -- windows compilation scripts are unlikely to work since they are - updated less often -- README and instructions might be out of date See the changelog at the end for an up-to-date list of changes. +Also new in this release is the way files are distributed for +Windows. There is now a separate "DLL pack" that can be used with +either the binary version or the source version. You no longer need to +run around the internet to find various SDKs and such - everything +should be included in the DLL-pack, including the necessary C/C++ +header files. + Note: if you are using a localized (non-English) version of Morrowind, -the default starting cell (Sud) might not exist, and the esmtool -program will probably fail with UTF errors. This will be fixed in a -future release - I have even added localized support as one of the -major goals on the web page. +the default starting cell (Assu) might not exist. Try esmtool (see +below) to get a list of existing cells. -On the immediate TODO list: +On the near-future TODO list: =========================== - full support for localized versions (with character recoding) @@ -54,8 +52,8 @@ On the immediate TODO list: - collision detection + walking & fall physics - displaying creatures correcty, animation - rendering NPCs -- choosing a GUI/HUD system that playes well with OGRE - rendering outdoor scenes (exterior cells) +- choosing a GUI/HUD system that playes well with OGRE @@ -63,8 +61,8 @@ On the immediate TODO list: Installation ============ -Currently supported platforms are Windows and Linux. Tested on Windows -XP and Ubuntu 8.04. +Currently supported platforms are Windows, Linux and FreeBSD. Most +testing has been on Windows XP and Ubuntu 8.04. For instructions, see one of the following: @@ -72,12 +70,7 @@ README-win32.txt - instructions for binary Windows release COMPILE-win32.txt - instructions for building source on Windows COMPILE-linux.tx - instructions for building source on Linux / Unix -FreeBSD has also been tested but is only partially supported, due to -sketchy D compiler support. It will run, but exceptions do not work -and will immediately abort the program. - -Linux 64 bit is known NOT to work, also because of current compiler -deficiencies. +Linux 64 bit is known NOT to work, because of compiler deficiencies. @@ -110,7 +103,7 @@ Thanks goes out to: - Dmitry Marakasov for testing and porting to FreeBSD. -- Bastien Jansen for continued testing on 64 bit linux. +- Bastien Jansen for testing on 64 bit linux. - Chris Robinson for OpenAL and MP3 support @@ -122,18 +115,19 @@ Thanks goes out to: Changelog: ========== -0.4 (2008 jul. 23) - work in progress +0.4 (2008 aug. 30) - latest release - switched from Audiere to OpenAL (BIG thanks to Chris Robinson) - added complete Makefile (again) as a alternative build tool -- much more realistic lighting (thanks again to Chris Robinson) +- more realistic lighting (thanks again to Chris Robinson) - various localization fixes - tested with Russian and French versions - temporary workaround for the Unicode issue: invalid UTF displayed as '?' +- added -ns option to disable sound, for debugging - various bug-fixes - cosmetic changes to placate gdc -Wall -0.3 (2008 jul. 10) - latest release +0.3 (2008 jul. 10) - built and tested on Windows XP - partial support for FreeBSD (exceptions do not work) diff --git a/build_openmw.bat b/build_openmw.bat index 3a25fa230..0169abeca 100755 --- a/build_openmw.bat +++ b/build_openmw.bat @@ -2,23 +2,9 @@ rem See COMPILE-win32.txt for instructions. -rem This file assumes it can find Ogre in ..\ogre and that ffmpeg -rem has been downloaded and compiled in ..\ffmpeg - echo Compiling C++ files -g++ -c sound\cpp_avcodec.cpp -I..\ffmpeg -g++ -c ogre\cpp_ogre.cpp -I..\ogre\include - -copy ..\ogre\bin\debug\ogremain_d.dll . -copy ..\ogre\bin\debug\ois_d.dll . -copy ..\ogre\bin\debug\cg.dll . -copy ..\ogre\bin\debug\RenderSystem*.dll . -copy ..\ogre\bin\debug\Plugin*.dll . -copy ..\ffmpeg\libavcodec\avcodec-51.dll . -copy ..\ffmpeg\libavformat\avformat-52.dll . -copy ..\ffmpeg\libavdevice\avdevice-52.dll . -copy ..\ffmpeg\libavutil\avutil-49.dll . -copy \windows\system32\d3dx9_30.dll d3dx9d_30.dll +g++ -c sound\cpp_avcodec.cpp -I.\includes\ffmpeg\ +g++ -c ogre\cpp_ogre.cpp -I.\includes\ogre\ echo Compiling main program (openmw.exe) gdc -Wall -g openmw.d bsa\*.d core\*.d esm\*.d input\*.d nif\*.d ogre\*.d scene\*.d sound\*.d util\*.d cpp_ogre.o cpp_avcodec.o monster\util\*.d avcodec-51.dll avformat-52.dll avdevice-52.dll avutil-49.dll openal32.dll ogremain_d.dll OIS_d.dll -lstdc++ -o openmw.exe diff --git a/openmw.ini.win32 b/openmw.ini.win32 index 8089ad85f..2a19c8a35 100755 --- a/openmw.ini.win32 +++ b/openmw.ini.win32 @@ -3,7 +3,7 @@ [General] Data Directory=c:\Program Files\Bethesda Softworks\Morrowind\Data Files\ Screenshots=0 -Default Cell=Sud +Default Cell=Assu Show Ogre Config=no First Run=yes