mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-05 10:45:35 +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.
|
||||
|
||||
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.
|
||||
compiler), but you might need to rebuild some of the dependencies from
|
||||
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
|
||||
to try, please let me know!
|
||||
|
@ -38,15 +39,15 @@ Dependencies needed to build OpenMW:
|
|||
|
||||
OGRE 1.4.5 (3d engine)
|
||||
OIS-1.0.0 (input system)
|
||||
Bullet 2.72 (collision and physics library)
|
||||
OpenAL (3d sound system)
|
||||
libavcodec,
|
||||
libavformat (For MP3 playback)
|
||||
gcc and g++ (C++ compiler)
|
||||
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)
|
||||
|
||||
|
||||
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
|
||||
|
@ -56,22 +57,32 @@ try typing:
|
|||
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
|
||||
(0.0.8 SI) is out of date. Some distributions are now changing to
|
||||
OpenAL Soft, which is a newer and less hardware-dependent
|
||||
implementation. If you experience sound problems (like stuttering
|
||||
music), try switching to OpenAL Soft.
|
||||
(0.0.8 SI) is outdated. Some distributions are now changing to OpenAL
|
||||
Soft, which has a less hardware-dependent implementation. If you
|
||||
experience sound problems (like stuttering 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
|
||||
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/
|
||||
OpenAL: http://openal.org/
|
||||
Linux source: http://kcat.strangesoft.net/openal.html
|
||||
OIS: http://sourceforge.net/projects/wgois/
|
||||
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
|
||||
currently two choices for the D compiler, DMD and GDC. DMD is the
|
||||
"official" compiler and is updated more often, while GDC is a
|
||||
completely open source frontend to GCC (The GNU compiler.) Both should
|
||||
work equally well with OpenMW.
|
||||
completely open source front-end for GCC (the GNU compiler.) Both
|
||||
should work equally well with OpenMW.
|
||||
|
||||
If you want to install GDC manually, go to
|
||||
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
|
||||
|
||||
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.
|
||||
work with OpenMW. Use the stable branch (1.x) instead.
|
||||
|
||||
Also note that DMD is only available on 32 bit x86 Linux - other
|
||||
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.
|
||||
|
||||
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.
|
||||
or the last cell loaded. Move around with WASD (or arrow keys), change
|
||||
physics mode (walking, flying, ghost) with 't', exit 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
|
||||
|
|
|
@ -19,6 +19,8 @@ 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:
|
||||
|
@ -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
|
||||
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.
|
||||
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.
|
||||
|
||||
|
||||
|
||||
|
@ -75,12 +77,17 @@ OGRE: http://ogre3d.org
|
|||
OIS: Comes with the Ogre SDK
|
||||
OpenAL: http://openal.org/
|
||||
FFmpeg: http://ffmpeg.mplayerhq.hu/
|
||||
Bullet: (fill in here)
|
||||
|
||||
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):
|
||||
The biggest problem is the lack of a prebuilt SDKs for FFmpeg and
|
||||
Bullet. You must build these yourself.
|
||||
|
||||
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/
|
||||
|
||||
Bullet: (not written yet)
|
||||
|
||||
|
||||
|
||||
Building
|
||||
|
|
|
@ -19,22 +19,19 @@ openmw-0.X.zip - source code
|
|||
openmw-dll-pack.zip - library pack
|
||||
|
||||
|
||||
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.
|
||||
You only need the binary or the source package, not both. The DLL pack
|
||||
is needed in both cases.
|
||||
|
||||
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.
|
||||
If downloaded the source release, please read COMPILE-win32.txt before
|
||||
reading the rest of this file.
|
||||
|
||||
|
||||
Configuration
|
||||
-------------------
|
||||
|
||||
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.
|
||||
Files\Bethesda Softworks\Morrowind\Data Files\ . If this is not where
|
||||
you have installed Morrowind, you should edit the openmw.ini file.
|
||||
|
||||
|
||||
Running
|
||||
|
@ -42,18 +39,13 @@ 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
|
||||
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.
|
||||
Move around with WASD or arrow keys, change physics mode (walking,
|
||||
flying, ghost) with 't', exit with 'q' or escape.
|
||||
|
||||
You start in a cell called "Assu". You can change this in openmw.ini or
|
||||
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
|
||||
WWW: http://openmw.snaptoad.com
|
||||
License: See GPL3.txt
|
||||
Current version: 0.4 (still very pre-alpha)
|
||||
Date: 2008 jul. 20
|
||||
|
||||
|
||||
Current version: 0.5 (WIP)
|
||||
Date: 2008 nov. 4
|
||||
|
||||
|
||||
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
|
||||
============
|
||||
|
||||
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:
|
||||
|
||||
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
|
||||
|
||||
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.
|
||||
COMPILE-win32.txt - instructions for building from source on Windows
|
||||
COMPILE-linux.tx - instructions for building from source on Linux / Unix
|
||||
|
||||
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
|
||||
================
|
||||
|
||||
Thanks goes out to:
|
||||
Thanks go out to:
|
||||
|
||||
- Bethesda Softworks for creating Morrowind!
|
||||
|
||||
|
@ -104,13 +59,10 @@ Thanks goes out to:
|
|||
file format.
|
||||
|
||||
- Dmitry Marakasov for testing and porting to FreeBSD.
|
||||
|
||||
- Bastien Jansen for testing on 64 bit linux.
|
||||
|
||||
- Chris Robinson for OpenAL and MP3 support
|
||||
|
||||
- Various others for testing, ideas and patches
|
||||
|
||||
- Jacob Essex for landscape code (still in progress)
|
||||
- Many others for testing, ideas and patches
|
||||
|
||||
|
||||
|
||||
|
@ -119,16 +71,14 @@ Changelog:
|
|||
|
||||
0.5 (WIP)
|
||||
|
||||
- working on collision detection with Bullet
|
||||
- working on walk & fall character physics
|
||||
- working on fixing sound issues for windows (running out of sound
|
||||
resources, music playback doesn't good)
|
||||
- new key bindings:
|
||||
- Collision detection with Bullet
|
||||
- Experimental walk & fall character physics
|
||||
- (WIP) Fixed various sound issues on Windows
|
||||
- New key bindings:
|
||||
t - toggle physics mode (walking, flying, ghost)
|
||||
n - nighteye, toggle full ambient light
|
||||
- added build files for CMake (with CMakeD) and Code::Blocks (neither
|
||||
are tested yet)
|
||||
- various minor changes and updates
|
||||
n - night-eye: brightens the scene
|
||||
- Fixed incompatability with DMD 1.032 and newer
|
||||
- Various minor changes and updates
|
||||
|
||||
0.4 (2008 aug. 30) - latest release
|
||||
|
||||
|
|
|
@ -163,7 +163,10 @@ struct HashTable(Key, Value, Alloc = GCAlloc, Hash = DefHash,
|
|||
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue