mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-19 22:53:50 +00:00
Fixed DMD incompatibility. Worked on readmes
git-svn-id: https://openmw.svn.sourceforge.net/svnroot/openmw/trunk@57 ea6a568a-9f4f-0410-981a-c910a81bb256
This commit is contained in:
parent
6ba4040f08
commit
9f1a247312
5 changed files with 71 additions and 109 deletions
|
@ -21,10 +21,11 @@ OpenMW has been tested for the most part on 32bit Ubuntu Linux
|
||||||
distributions.
|
distributions.
|
||||||
|
|
||||||
FreeBSD is also known to work with recent versions of GDC (the D
|
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
|
compiler), but you might need to rebuild some of the dependencies from
|
||||||
source yourself.
|
source yourself. (If you have done this and can give more specific
|
||||||
|
instructions, please let me know!)
|
||||||
|
|
||||||
64bit Linux is specifically known NOT to work.
|
64bit systems are NOT supported.
|
||||||
|
|
||||||
If you manage to build OpenMW on a platform not listed here, or want
|
If you manage to build OpenMW on a platform not listed here, or want
|
||||||
to try, please let me know!
|
to try, please let me know!
|
||||||
|
@ -38,15 +39,15 @@ Dependencies needed to build OpenMW:
|
||||||
|
|
||||||
OGRE 1.4.5 (3d engine)
|
OGRE 1.4.5 (3d engine)
|
||||||
OIS-1.0.0 (input system)
|
OIS-1.0.0 (input system)
|
||||||
|
Bullet 2.72 (collision and physics library)
|
||||||
OpenAL (3d sound system)
|
OpenAL (3d sound system)
|
||||||
libavcodec,
|
libavcodec,
|
||||||
libavformat (For MP3 playback)
|
libavformat (For MP3 playback)
|
||||||
gcc and g++ (C++ compiler)
|
gcc and g++ (C++ compiler)
|
||||||
GNU make (build tool for C++ files)
|
GNU make (build tool for C++ files)
|
||||||
DMD 1.031 (D compiler)
|
DMD 1.036 (D compiler)
|
||||||
or GDC 4.1.3 (alternative D compiler)
|
or GDC 4.1.3 (alternative D compiler)
|
||||||
|
|
||||||
|
|
||||||
The above versions are the ones I have tested recently, but other
|
The above versions are the ones I have tested recently, but other
|
||||||
versions might work. OGRE, OpenAL and the other libraries have
|
versions might work. OGRE, OpenAL and the other libraries have
|
||||||
dependencies of their own, so I recommend using an automated package
|
dependencies of their own, so I recommend using an automated package
|
||||||
|
@ -56,22 +57,32 @@ try typing:
|
||||||
sudo apt-get install libogre-dev libavcodec-dev libavformat-dev libois-dev build-essential g++ gdc
|
sudo apt-get install libogre-dev libavcodec-dev libavformat-dev libois-dev build-essential g++ gdc
|
||||||
|
|
||||||
A note about OpenAL: The library found in most Linux distributions
|
A note about OpenAL: The library found in most Linux distributions
|
||||||
(0.0.8 SI) is out of date. Some distributions are now changing to
|
(0.0.8 SI) is outdated. Some distributions are now changing to OpenAL
|
||||||
OpenAL Soft, which is a newer and less hardware-dependent
|
Soft, which has a less hardware-dependent implementation. If you
|
||||||
implementation. If you experience sound problems (like stuttering
|
experience sound problems (like stuttering music), try switching to
|
||||||
music), try switching to OpenAL Soft.
|
OpenAL Soft.
|
||||||
|
|
||||||
libavcodec and libavformat are part of the FFmpeg package, which is
|
libavcodec and libavformat are part of the FFmpeg package, which is
|
||||||
part of the 'mplayer' project. Note that some of the codecs might be
|
part of the 'mplayer' project. Note that some of the codecs might be
|
||||||
patent protected in your country or area.
|
patent protected in your country or area.
|
||||||
|
|
||||||
If you want to install Ogre, OpenAL, OIS or FFmpeg manually, try:
|
If you want to install Ogre, Bullet, OpenAL, OIS or FFmpeg manually,
|
||||||
|
try:
|
||||||
|
|
||||||
OGRE: http://ogre3d.org/
|
OGRE: http://ogre3d.org/
|
||||||
OpenAL: http://openal.org/
|
OpenAL: http://openal.org/
|
||||||
Linux source: http://kcat.strangesoft.net/openal.html
|
Linux source: http://kcat.strangesoft.net/openal.html
|
||||||
OIS: http://sourceforge.net/projects/wgois/
|
OIS: http://sourceforge.net/projects/wgois/
|
||||||
FFmpeg: http://ffmpeg.mplayerhq.hu/download.html
|
FFmpeg: http://ffmpeg.mplayerhq.hu/download.html
|
||||||
|
Bullet: (fill in here)
|
||||||
|
|
||||||
|
Setting up Bullet
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Bullet is not yet included in most Linux distributions. Follow these
|
||||||
|
instructions for setting it up manually.
|
||||||
|
|
||||||
|
(to be written)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -81,8 +92,8 @@ Choosing a D compiler
|
||||||
The above apt-get command installs the GDC compiler. There are
|
The above apt-get command installs the GDC compiler. There are
|
||||||
currently two choices for the D compiler, DMD and GDC. DMD is the
|
currently two choices for the D compiler, DMD and GDC. DMD is the
|
||||||
"official" compiler and is updated more often, while GDC is a
|
"official" compiler and is updated more often, while GDC is a
|
||||||
completely open source frontend to GCC (The GNU compiler.) Both should
|
completely open source front-end for GCC (the GNU compiler.) Both
|
||||||
work equally well with OpenMW.
|
should work equally well with OpenMW.
|
||||||
|
|
||||||
If you want to install GDC manually, go to
|
If you want to install GDC manually, go to
|
||||||
http://sourceforge.net/projects/dgcc
|
http://sourceforge.net/projects/dgcc
|
||||||
|
@ -91,8 +102,7 @@ If you want to use DMD instead, it can be found at:
|
||||||
http://digitalmars.com/d/1.0/dmd-linux.html
|
http://digitalmars.com/d/1.0/dmd-linux.html
|
||||||
|
|
||||||
Note that the DMD unstable branch (2.000 and up) will NOT currently
|
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
|
work with OpenMW. Use the stable branch (1.x) instead.
|
||||||
version known to work is DMD 1.031, so I recommend that.
|
|
||||||
|
|
||||||
Also note that DMD is only available on 32 bit x86 Linux - other
|
Also note that DMD is only available on 32 bit x86 Linux - other
|
||||||
operating systems or architectures will have to use GDC. Note however
|
operating systems or architectures will have to use GDC. Note however
|
||||||
|
@ -170,9 +180,9 @@ favor, you should now be able to run OpenMW using the program called
|
||||||
Write openmw -h to see a list of options.
|
Write openmw -h to see a list of options.
|
||||||
|
|
||||||
Running without parameters should bring you into the cave called Assu,
|
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
|
or the last cell loaded. Move around with WASD (or arrow keys), change
|
||||||
WASD (or arrow keys), move up and down with left shift and ctrl, exit
|
physics mode (walking, flying, ghost) with 't', exit with 'q' or
|
||||||
with 'q' or escape.
|
escape.
|
||||||
|
|
||||||
To load another cell, specify the cell name on the command line. Use
|
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
|
the 'esmtool' program to get a list of cells. Note that you must use
|
||||||
|
|
|
@ -19,6 +19,8 @@ Supported Windows platforms:
|
||||||
Only tested on Windows XP. If you manage to compile or run OpenMW on
|
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!
|
another Windows platform (9x/Me/NT/2000/Vista), please let me know!
|
||||||
|
|
||||||
|
At the moment, only command line building is supported.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Dependencies:
|
Dependencies:
|
||||||
|
@ -34,10 +36,10 @@ Note that the "official" D compiler, DMD, will not currently work on
|
||||||
Windows, because it is uses an object format incompatible with most
|
Windows, because it is uses an object format incompatible with most
|
||||||
C++ compilers.
|
C++ compilers.
|
||||||
|
|
||||||
As of verion 0.4, all library dependencies have been included in the
|
All library dependencies are included in the file
|
||||||
single file openmw-dll-pack.zip for convenience. Simply download the
|
openmw-dll-pack.zip. Simply download this file and unpack it in the
|
||||||
file and unpack it in the same directory as the OpenMW source
|
same directory as the OpenMW source code. You should not need to
|
||||||
code. You should not need to download any other files.
|
download any other dependencies.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -75,12 +77,17 @@ OGRE: http://ogre3d.org
|
||||||
OIS: Comes with the Ogre SDK
|
OIS: Comes with the Ogre SDK
|
||||||
OpenAL: http://openal.org/
|
OpenAL: http://openal.org/
|
||||||
FFmpeg: http://ffmpeg.mplayerhq.hu/
|
FFmpeg: http://ffmpeg.mplayerhq.hu/
|
||||||
|
Bullet: (fill in here)
|
||||||
|
|
||||||
The biggest problem is the lack of a prebuilt SDK for FFmpeg. You must
|
The biggest problem is the lack of a prebuilt SDKs for FFmpeg and
|
||||||
build it under Mingw as well (not Cygwin!). I found the following link
|
Bullet. You must build these yourself.
|
||||||
helpful (read the comments as well, not just the post itself):
|
|
||||||
|
FFmpeg must build it 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/
|
http://www.gooli.org/blog/building-ffmpeg-for-windows-with-msys-and-mingw/
|
||||||
|
|
||||||
|
Bullet: (not written yet)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Building
|
Building
|
||||||
|
|
|
@ -19,22 +19,19 @@ openmw-0.X.zip - source code
|
||||||
openmw-dll-pack.zip - library pack
|
openmw-dll-pack.zip - library pack
|
||||||
|
|
||||||
|
|
||||||
You only need to download either the binary package or the source
|
You only need the binary or the source package, not both. The DLL pack
|
||||||
code, not both. The DLL pack is needed in both cases. The DLL pack
|
is needed in both cases.
|
||||||
does not change from version to version unless specified, so you
|
|
||||||
should only need to download it once.
|
|
||||||
|
|
||||||
If you downloaded the binary release, keep reading. If you got the
|
If downloaded the source release, please read COMPILE-win32.txt before
|
||||||
source release, please read COMPILE-win32.txt first, then return here
|
reading the rest of this file.
|
||||||
for final configuration instructions.
|
|
||||||
|
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
OpenMW assumes you have the Morrowind data files in c:\Program
|
OpenMW assumes you have the Morrowind data files in c:\Program
|
||||||
Files\Bethesda Softworks\Morrowind\Data Files\ . If this is not the
|
Files\Bethesda Softworks\Morrowind\Data Files\ . If this is not where
|
||||||
case, you should edit openmw.ini first.
|
you have installed Morrowind, you should edit the openmw.ini file.
|
||||||
|
|
||||||
|
|
||||||
Running
|
Running
|
||||||
|
@ -42,18 +39,13 @@ Running
|
||||||
|
|
||||||
Just run openmw.exe and enjoy! ;-)
|
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
|
The first time you run OpenMW, you will be asked to set screen
|
||||||
resolution and other graphics settings. To be safe, it's not
|
resolution and other graphics settings. To be safe, it's not
|
||||||
recommended to select fullscreen mode on the first run. You can bring
|
recommended to select fullscreen mode on the first run. You can bring
|
||||||
up the dialogue at any time by using the -oc switch.
|
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
|
Move around with WASD or arrow keys, change physics mode (walking,
|
||||||
and ctrl, exit with 'q' or escape.
|
flying, ghost) with 't', exit with 'q' or escape.
|
||||||
|
|
||||||
You start in a cell called "Assu". You can change this in openmw.ini or
|
You start in a cell called "Assu". You can change this in openmw.ini or
|
||||||
by specifying a cell name on the command line.
|
by specifying a cell name on the command line.
|
||||||
|
|
86
README.txt
86
README.txt
|
@ -5,10 +5,8 @@ Written by Nicolay Korslund
|
||||||
Email: korslund@gmail.com
|
Email: korslund@gmail.com
|
||||||
WWW: http://openmw.snaptoad.com
|
WWW: http://openmw.snaptoad.com
|
||||||
License: See GPL3.txt
|
License: See GPL3.txt
|
||||||
Current version: 0.4 (still very pre-alpha)
|
Current version: 0.5 (WIP)
|
||||||
Date: 2008 jul. 20
|
Date: 2008 nov. 4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QUICK NOTE: You must own and install Morrowind before you can use
|
QUICK NOTE: You must own and install Morrowind before you can use
|
||||||
|
@ -17,63 +15,21 @@ Morrowind installed on your system!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
IMPORTANT: OpenMW 0.4 notes
|
|
||||||
===========================
|
|
||||||
|
|
||||||
As of OpenMW 0.4, we have switched sound libraries from Audiere to
|
|
||||||
OpenAL + libavcodec. This means that:
|
|
||||||
|
|
||||||
- you need to install OpenAL
|
|
||||||
- you must install libavcodec / ffmpeg for mp3 playback
|
|
||||||
- you no longer need Audiere
|
|
||||||
|
|
||||||
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 (Assu) might not exist. Try esmtool (see
|
|
||||||
below) to get a list of existing cells.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
On the near-future TODO list:
|
|
||||||
===========================
|
|
||||||
|
|
||||||
- full support for localized versions (with character recoding)
|
|
||||||
- support for Mac
|
|
||||||
- collision detection + walk & fall physics
|
|
||||||
- displaying creatures correcty, animation
|
|
||||||
- rendering NPCs
|
|
||||||
- rendering outdoor scenes (exterior cells)
|
|
||||||
- choosing a GUI/HUD system that plays well with OGRE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
============
|
============
|
||||||
|
|
||||||
Currently supported platforms are Windows, Linux and FreeBSD. Most
|
Currently supported platforms are Windows, Linux and FreeBSD. Most
|
||||||
testing is on Ubuntu 8.04 and Windows XP Professional (in that order).
|
testing has been done on Ubuntu 8.04 and Windows XP Professional.
|
||||||
|
|
||||||
For instructions, see one of the following:
|
For instructions, see one of the following:
|
||||||
|
|
||||||
README-win32.txt - instructions for binary Windows release
|
README-win32.txt - instructions for binary Windows release
|
||||||
COMPILE-win32.txt - instructions for building source on Windows
|
COMPILE-win32.txt - instructions for building from source on Windows
|
||||||
COMPILE-linux.tx - instructions for building source on Linux / Unix
|
COMPILE-linux.tx - instructions for building from source on Linux / Unix
|
||||||
|
|
||||||
Linux 64 bit is known NOT to work, because of current compiler
|
|
||||||
deficiencies. This will hopefully be sorted out at some point, but
|
|
||||||
it's not a bug in the OpenMW code.
|
|
||||||
|
|
||||||
|
Linux 64 does NOT work because of problems with the D compiler. This
|
||||||
|
will hopefully be sorted out at some point, but right now it is not
|
||||||
|
supported.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -92,11 +48,10 @@ niftool - Decodes one or more NIF files and prints the details.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Acknowledgements
|
Acknowledgements
|
||||||
================
|
================
|
||||||
|
|
||||||
Thanks goes out to:
|
Thanks go out to:
|
||||||
|
|
||||||
- Bethesda Softworks for creating Morrowind!
|
- Bethesda Softworks for creating Morrowind!
|
||||||
|
|
||||||
|
@ -104,13 +59,10 @@ Thanks goes out to:
|
||||||
file format.
|
file format.
|
||||||
|
|
||||||
- Dmitry Marakasov for testing and porting to FreeBSD.
|
- Dmitry Marakasov for testing and porting to FreeBSD.
|
||||||
|
|
||||||
- Bastien Jansen for testing on 64 bit linux.
|
- Bastien Jansen for testing on 64 bit linux.
|
||||||
|
|
||||||
- Chris Robinson for OpenAL and MP3 support
|
- Chris Robinson for OpenAL and MP3 support
|
||||||
|
- Jacob Essex for landscape code (still in progress)
|
||||||
- Various others for testing, ideas and patches
|
- Many others for testing, ideas and patches
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -119,16 +71,14 @@ Changelog:
|
||||||
|
|
||||||
0.5 (WIP)
|
0.5 (WIP)
|
||||||
|
|
||||||
- working on collision detection with Bullet
|
- Collision detection with Bullet
|
||||||
- working on walk & fall character physics
|
- Experimental walk & fall character physics
|
||||||
- working on fixing sound issues for windows (running out of sound
|
- (WIP) Fixed various sound issues on Windows
|
||||||
resources, music playback doesn't good)
|
- New key bindings:
|
||||||
- new key bindings:
|
|
||||||
t - toggle physics mode (walking, flying, ghost)
|
t - toggle physics mode (walking, flying, ghost)
|
||||||
n - nighteye, toggle full ambient light
|
n - night-eye: brightens the scene
|
||||||
- added build files for CMake (with CMakeD) and Code::Blocks (neither
|
- Fixed incompatability with DMD 1.032 and newer
|
||||||
are tested yet)
|
- Various minor changes and updates
|
||||||
- various minor changes and updates
|
|
||||||
|
|
||||||
0.4 (2008 aug. 30) - latest release
|
0.4 (2008 aug. 30) - latest release
|
||||||
|
|
||||||
|
|
|
@ -163,7 +163,10 @@ struct HashTable(Key, Value, Alloc = GCAlloc, Hash = DefHash,
|
||||||
|
|
||||||
void reset()
|
void reset()
|
||||||
{
|
{
|
||||||
*this = typeof(*this).init;
|
// This stopped working in DMD 1.032 and later versions.
|
||||||
|
//*this = typeof(*this).init;
|
||||||
|
// But this seems to do the trick
|
||||||
|
*this = (HashTable!(Key, Value, Alloc, Hash, keyFormat)).init;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns number of buckets of each size. Mostly used for testing
|
// Returns number of buckets of each size. Mostly used for testing
|
||||||
|
|
Loading…
Reference in a new issue