1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-03-03 21:19:40 +00:00

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
This commit is contained in:
nkorslund 2008-11-05 20:39:32 +00:00
parent d5709fa5f3
commit 5733869327
9 changed files with 76 additions and 41 deletions

View file

@ -76,14 +76,31 @@ OIS: http://sourceforge.net/projects/wgois/
FFmpeg: http://ffmpeg.mplayerhq.hu/download.html FFmpeg: http://ffmpeg.mplayerhq.hu/download.html
Bullet: http://bulletphysics.com/ Bullet: http://bulletphysics.com/
Setting up Bullet Setting up Bullet
----------------- -----------------
Bullet is not yet included in most Linux distributions. Follow these Bullet is not yet included in most Linux distributions, and must
instructions for setting it up manually. usually be compiled manually. Consult the documentation included with
Bullet for instructions on compiling.
(to be written) 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 .
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 Choosing a D compiler

View file

@ -29,8 +29,8 @@ Dependencies:
To compile OpenMW you need Mingw with g++ (a C++ compiler) and gdc To compile OpenMW you need Mingw with g++ (a C++ compiler) and gdc
(the D compiler.) You can find them here: (the D compiler.) You can find them here:
Mingw http://sourceforge.net/projects/mingw/ Mingw: http://sourceforge.net/projects/mingw/
gdc http://sourceforge.net/projects/gdcwin/ gdc: http://sourceforge.net/projects/gdcwin/
Note that the "official" D compiler, DMD, will not currently work on 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
@ -70,8 +70,8 @@ Manually installing dependencies:
--------------------------------- ---------------------------------
If you download the DLL pack mentioned above, you can skip this If you download the DLL pack mentioned above, you can skip this
section. If you wish to install dependencies manually though, here is section. If you wish to install dependencies manually, here is a list
a list of dependencies and where you can find them: of dependencies and where you can find them:
OGRE: http://ogre3d.org OGRE: http://ogre3d.org
OIS: Comes with the Ogre SDK 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): 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/
After building, place the dll files in the openmw "root" (same place After building, place the dlls in the openmw "root" (same place as
as build_openmw.bat) and the include files in includes/ffmpeg. Refer build_openmw.bat) and the include files in includes/ffmpeg. Refer to
to build_openmw.bat for the exact names and locations of expected files. build_openmw.bat for the exact names and locations of expected files.
Bullet: Bullet:

View file

@ -22,8 +22,8 @@ openmw-dll-pack.zip - library pack
You only need the binary or the source package, not both. The DLL pack You only need the binary or the source package, not both. The DLL pack
is needed in both cases. is needed in both cases.
If downloaded the source release, please read COMPILE-win32.txt before NOTE: If downloaded the SOURCE release, please read COMPILE-win32.txt
reading the rest of this file. before reading the rest of this file.
Configuration Configuration
@ -31,7 +31,7 @@ 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 where 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 Running
@ -40,9 +40,9 @@ Running
Just run openmw.exe and enjoy! ;-) Just run openmw.exe and enjoy! ;-)
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, I don't recommend
recommended to select fullscreen mode on the first run. You can bring setting fullscreen mode on the first run. You can bring up the
up the dialogue at any time by using the -oc switch. dialogue at any time by using the -oc switch.
Move around with WASD or arrow keys, change physics mode (walking, Move around with WASD or arrow keys, change physics mode (walking,
flying, ghost) with 't', exit with 'q' or escape. flying, ghost) with 't', exit with 'q' or escape.

View file

@ -5,8 +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.5 (WIP) Current version: 0.5
Date: 2008 nov. 4 Date: 2008 nov. 5
QUICK NOTE: You must own and install Morrowind before you can use 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 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: 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-win32.txt - instructions for building from source on Windows
COMPILE-linux.tx - instructions for building from source on Linux / Unix COMPILE-linux.tx - instructions for building from source on Linux / Unix
Linux 64 does NOT work because of problems with the D compiler. This Linux 64 does NOT work, because of problems with the D compiler. We
will hopefully be sorted out at some point, but right now it is not hope to sort this out at some point, but right now it's not supported.
supported.
@ -69,18 +68,18 @@ Thanks go out to:
Changelog: Changelog:
========== ==========
0.5 (WIP) 0.5 (2008 nov. 5) - latest release
- Collision detection with Bullet - Collision detection with Bullet
- Experimental walk & fall character physics - Experimental walk & fall character physics
- (WIP) Fixed various sound issues on Windows
- New key bindings: - New key bindings:
t - toggle physics mode (walking, flying, ghost) t - toggle physics mode (walking, flying, ghost)
n - night-eye: brightens the scene n - night-eye: brightens the scene
- Fixed incompatability with DMD 1.032 and newer - Fixed incompatability with DMD 1.032 and newer
- Various minor changes and updates - 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) - switched from Audiere to OpenAL (BIG thanks to Chris Robinson)
- added complete Makefile (again) as a alternative build tool - added complete Makefile (again) as a alternative build tool

View file

@ -53,8 +53,11 @@ struct Race
// Attribute values for male/female // Attribute values for male/female
int[2] strength, intelligence, willpower, agility, int[2] strength, intelligence, willpower, agility,
speed, endurance, personality, luck, height, speed, endurance, personality, luck;
weight;
// 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 Flags flags; // 0x1 - playable, 0x2 - beast race

View file

@ -381,10 +381,20 @@ void main(char[][] args)
writefln(); writefln();
} }
/* /*
writefln("Statics:"); writefln("Races:");
foreach(ref s; cd.statics) 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]);
} }
*/ */

View file

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

View file

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

View file

@ -106,9 +106,9 @@ struct SoundFile
int total = 0; int total = 0;
do do
{ {
// Grow by an arbitrary amount. Should be big enough to get the // Grow by an arbitrary amount. Should be big enough to get
// whole sound in one or two iterations, but not allocate too much // the whole sound in one or two iterations, but not allocate
// memory in case its short // too much memory in case it's short
outData.length = outData.length+8192; outData.length = outData.length+8192;
int length = avc_getAVAudioData(audioHandle, outData.ptr+total, outData.length-total); int length = avc_getAVAudioData(audioHandle, outData.ptr+total, outData.length-total);
total += length; total += length;
@ -135,9 +135,6 @@ struct SoundFile
} }
// Get an instance of this resource. // 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 getInstance()
{ {
SoundInstance si; SoundInstance si;
@ -232,6 +229,8 @@ struct SoundInstance
// culling for moving and stationary sounds // culling for moving and stationary sounds
void updateSound() void updateSound()
{ {
if(owner is null) return;
ALfloat lp[3]; ALfloat lp[3];
ALfloat p[3]; ALfloat p[3];
ALfloat dist; ALfloat dist;
@ -243,8 +242,16 @@ struct SoundInstance
p[0] -= lp[0]; p[0] -= lp[0];
p[1] -= lp[1]; p[1] -= lp[1];
p[2] -= lp[2]; 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 else
alSourcef(inst, AL_GAIN, volume); alSourcef(inst, AL_GAIN, volume);
} }