fixed readme's for 0.5, various minor changes

git-svn-id: https://openmw.svn.sourceforge.net/svnroot/openmw/trunk@59 ea6a568a-9f4f-0410-981a-c910a81bb256
pull/7/head
nkorslund 16 years ago
parent d5709fa5f3
commit 5733869327

@ -76,14 +76,31 @@ OIS: http://sourceforge.net/projects/wgois/
FFmpeg: http://ffmpeg.mplayerhq.hu/download.html
Bullet: http://bulletphysics.com/
Setting up Bullet
-----------------
Bullet is not yet included in most Linux distributions. Follow these
instructions for setting it up manually.
Bullet is not yet included in most Linux distributions, and must
usually be compiled manually. Consult the documentation included with
Bullet for instructions on compiling.
After compiling, you should have the files libbulletdynamics.a,
libbulletcollision.a and libbulletmath.a. (Depending on build method,
you may end up with names like libLibBulletDynamics.a instead.) Copy
or link these to bullet/ in the openmw directory (and rename them to
the libbulletdynamics.a etc if necessary.)
Example:
cd openmw/bullet
ln -s ~/software/bullet-2.72/src/BulletCollision/libbulletcollision.a .
(to be written)
Next, create a link to the "src" directory in openmw/include/bullet/ .
Example:
cd openmw
mkdir -p include
cd include
ln -s ~/software/bullet-2.72/src bullet
Choosing a D compiler

@ -29,8 +29,8 @@ 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/
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
@ -70,8 +70,8 @@ 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:
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
@ -88,9 +88,9 @@ 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 dll files 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.
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:

@ -22,8 +22,8 @@ openmw-dll-pack.zip - library pack
You only need the binary or the source package, not both. The DLL pack
is needed in both cases.
If downloaded the source release, please read COMPILE-win32.txt before
reading the rest of this file.
NOTE: If downloaded the SOURCE release, please read COMPILE-win32.txt
before reading the rest of this file.
Configuration
@ -31,7 +31,7 @@ Configuration
OpenMW assumes you have the Morrowind data files in c:\Program
Files\Bethesda Softworks\Morrowind\Data Files\ . If this is not where
you have installed Morrowind, you should edit the openmw.ini file.
you have installed Morrowind, you should edit the file openmw.ini.
Running
@ -40,9 +40,9 @@ Running
Just run openmw.exe and enjoy! ;-)
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.
resolution and other graphics settings. To be safe, I don't recommend
setting 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, change physics mode (walking,
flying, ghost) with 't', exit with 'q' or escape.

@ -5,8 +5,8 @@ Written by Nicolay Korslund
Email: korslund@gmail.com
WWW: http://openmw.snaptoad.com
License: See GPL3.txt
Current version: 0.5 (WIP)
Date: 2008 nov. 4
Current version: 0.5
Date: 2008 nov. 5
QUICK NOTE: You must own and install Morrowind before you can use
@ -19,7 +19,7 @@ Installation
============
Currently supported platforms are Windows, Linux and FreeBSD. Most
testing has been done on Ubuntu 8.04 and Windows XP Professional.
testing is done on Ubuntu 8.04 and Windows XP Professional.
For instructions, see one of the following:
@ -27,9 +27,8 @@ README-win32.txt - instructions for binary Windows release
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.
Linux 64 does NOT work, because of problems with the D compiler. We
hope to sort this out at some point, but right now it's not supported.
@ -69,18 +68,18 @@ Thanks go out to:
Changelog:
==========
0.5 (WIP)
0.5 (2008 nov. 5) - latest release
- 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 - 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
0.4 (2008 aug. 30)
- switched from Audiere to OpenAL (BIG thanks to Chris Robinson)
- added complete Makefile (again) as a alternative build tool

@ -53,8 +53,11 @@ struct Race
// Attribute values for male/female
int[2] strength, intelligence, willpower, agility,
speed, endurance, personality, luck, height,
weight;
speed, endurance, personality, luck;
// The actual eye level height (in game units) is (probably) given
// as 'height' times 128. This has not been tested yet.
float[2] height, weight;
Flags flags; // 0x1 - playable, 0x2 - beast race

@ -381,10 +381,20 @@ void main(char[][] args)
writefln();
}
/*
writefln("Statics:");
foreach(ref s; cd.statics)
writefln("Races:");
foreach(s; races.names)
{
writefln("%s: %s", s.m.id, s.m.model.getName);
writefln("%s:", s.id);
writefln(" strength: ", s.data.strength[0]);
writefln(" intelligence: ", s.data.intelligence[0]);
writefln(" willpower: ", s.data.willpower[0]);
writefln(" agility: ", s.data.agility[0]);
writefln(" speed: ", s.data.speed[0]);
writefln(" endurance: ", s.data.endurance[0]);
writefln(" personality: ", s.data.personality[0]);
writefln(" luck: ", s.data.luck[0]);
writefln(" height: ", s.data.height[0]);
writefln(" weight: ", s.data.weight[0]);
}
*/

@ -32,6 +32,7 @@ Mute Sound=m
Toggle Fullscreen Mode=f
Toggle Battle Music=space
Toggle Physics Mode=t
Toggle Nighteye=n
OGRE Test Action=g
Pause=pause,p
Screen Shot=print_screen

@ -81,9 +81,7 @@ struct SoundList
{
SoundInstance.setPlayerPos(x,y,z,frontx,fronty,frontz,upx,upy,upz);
foreach(ref s; list)
{
if(s.owner) s.updateSound();
}
if(s.owner) s.updateSound();
}
void kill()

@ -106,9 +106,9 @@ struct SoundFile
int total = 0;
do
{
// Grow by an arbitrary amount. Should be big enough to get the
// whole sound in one or two iterations, but not allocate too much
// memory in case its short
// Grow by an arbitrary amount. Should be big enough to get
// the whole sound in one or two iterations, but not allocate
// too much memory in case it's short
outData.length = outData.length+8192;
int length = avc_getAVAudioData(audioHandle, outData.ptr+total, outData.length-total);
total += length;
@ -135,9 +135,6 @@ struct SoundFile
}
// Get an instance of this resource.
// FIXME: Should not call fail() here since it's quite possible for this to
// fail (on hardware drivers). When it does, it should check for an existing
// sound it doesn't need and kill it, then try again
SoundInstance getInstance()
{
SoundInstance si;
@ -232,6 +229,8 @@ struct SoundInstance
// culling for moving and stationary sounds
void updateSound()
{
if(owner is null) return;
ALfloat lp[3];
ALfloat p[3];
ALfloat dist;
@ -243,8 +242,16 @@ struct SoundInstance
p[0] -= lp[0];
p[1] -= lp[1];
p[2] -= lp[2];
if((p[0]*p[0] + p[1]*p[1] + p[2]*p[2]) > dist*dist)
alSourcef(inst, AL_GAIN, 0);
// If the sound is out of range, mute it
ALfloat d2 = p[0]*p[0] + p[1]*p[1] + p[2]*p[2];
if(d2 > dist*dist)
{
alSourcef(inst, AL_GAIN, 0);
// If the sound is really out of range, we should reclaim
// it. This is not implemented yet.
}
else
alSourcef(inst, AL_GAIN, volume);
}

Loading…
Cancel
Save