No description
Find a file
Erik Hjortsberg 0918222335 Directly let CEGUI use Ogre render textures.
This should speed up Ogre renders inside of CEGUI. There are some issues
however currently, so it's not complete (and not commented).
2011-07-09 23:28:38 +02:00
autopackage Bump autopackage version so that we can use the new hybrid functions. 2009-04-23 22:32:16 +02:00
doc Updated some outdated install instructions. 2010-04-05 15:31:03 +02:00
Ember.xcodeproj Added XCode project. 2008-11-15 16:08:14 +03:00
media Updated media script to handle the way we now store all materials as 2010-05-08 22:46:29 +02:00
scratchpad 2007-04-14 Erik Hjortsberg <erik.hjortsberg@iteam.se> 2007-04-14 15:21:06 +00:00
scripts Removed some parsing which isn't needed anymore. 2010-06-12 22:09:21 +02:00
src Directly let CEGUI use Ogre render textures. 2011-07-09 23:28:38 +02:00
test Clean up after test. 2011-03-11 16:34:58 +01:00
.gitignore Don't ignore the media directory. 2011-04-08 20:39:45 +02:00
acinclude.m4 Added extra check for tolua++5.1. 2011-01-16 23:04:43 +01:00
AUTHORS Added comments to various ActionBar objects. 2010-08-18 13:49:07 +02:00
autogen.sh Removed unused macros. I couldn't remove libtool though since I got some 2009-07-10 00:42:39 +02:00
ChangeLog Improve the way the ChangeLog is generated so that the "dist" make 2010-05-10 12:13:38 +02:00
ChangeLog-CVS Renamed old cvs changelog. We now use the command "git-log --stat" to generate the changelog for each release. 2008-04-19 23:51:41 +02:00
configure.ac Bumped required Eris version. 2011-05-26 21:07:30 +02:00
COPYING Since there's now parts of Ember that are licensed under GPL v3+ the end result is now also GPL 3. 2008-07-08 10:54:53 +02:00
EclipseCodeStyle.xml Name it ".xml" since Eclipse apparently wants it that way. 2009-11-22 13:59:19 +01:00
Ember-Info.plist Added XCode project. 2008-11-15 16:08:14 +03:00
ember-media.spec.in 2005-02-04 Erik Hjortsberg <erik@katastrof.nu> 2005-02-04 21:49:26 +00:00
ember.cbp Use the "dependency" package we will now provide (containing all the libraries needed by Ember). 2008-08-06 21:54:58 +02:00
ember.conf Allow the detailed log mode to be controlled. 2011-06-11 00:45:11 +02:00
ember.desktop 2008-01-22 Erik Hjortsberg <erik.hjortsberg@iteam.se> 2008-01-22 22:55:29 +00:00
ember.dox.in Assume "dot" is in the path. 2011-02-17 23:39:30 +01:00
ember.ico 2008-01-12 Erik Hjortsberg <erik.hjortsberg@iteam.se> 2008-01-12 00:15:04 +00:00
ember.in Removed dead code. 2011-06-12 21:28:34 +02:00
Ember.kdevelop Updated the kdevelop project file. 2009-03-29 14:27:03 +02:00
Ember.nsi Update Nullsoft installer to work with an MSYS installation. 2010-05-11 09:18:25 +02:00
ember.png 2005-09-24 Erik Hjortsberg <erik@katastrof.nu> 2005-09-24 16:41:36 +00:00
ember.sln 2007-07-18 Erik Hjortsberg <erik.hjortsberg@iteam.se> 2007-07-18 16:15:46 +00:00
ember.spec.in 2006-07-10 Erik Hjortsberg <erik@katastrof.nu> 2006-07-10 16:08:15 +00:00
ember.vcproj 2007-07-18 Erik Hjortsberg <erik.hjortsberg@iteam.se> 2007-07-18 16:15:46 +00:00
generate-ChangeLog.sh Improve the way the ChangeLog is generated so that the "dist" make 2010-05-10 12:13:38 +02:00
INSTALL Updated some outdated install instructions. 2010-04-05 15:31:03 +02:00
INSTALL.lyx 2006-02-28 Erik Hjortsberg <erik@katastrof.nu> 2006-02-28 21:57:27 +00:00
make_dist_media.sh Added some usage help. 2011-05-23 18:25:39 +02:00
Makefile.am Activate unit tests through CppUnit. 2010-11-21 23:25:36 +01:00
NEWS Mark release. 2011-04-17 15:05:07 +02:00
README Updated the readme text. 2008-12-06 00:37:32 +01:00
README.lyx Updated the readme text. 2008-12-06 00:37:32 +01:00
refresh-amber-media-dev.sh Use complete host name. 2011-05-22 15:08:49 +02:00
TODO Experimenting with Ogre and modifiers. So far I've been able to get a modifier applied to a terrain segment, and I'm experimenting with a method for showing which segments have modifiers applied to them. So far it doesn't look like there is a function that will tell you if a given segment has a modifier applied to it, so Ember may need to keep a list of segments with modifiers. This may have been a good idea, anyway, since searching all of the segments in the world every time you wanted to know which ones had modifiers on them could get expensive, and may cause problems if we try to apply a modifier across multiple segments. 2008-06-13 22:44:31 -07:00

Ember

1 Introduction

This is the Ember client for the Worldforge project.

Ember is a fully functional 3d client for both Cyphesis and Indri 
servers. It's goal is to be used with all worlds created withing 
the Worldforge project.

2 Quickstart

The first thing you'll see when you log in is the server browser, 
which shows you all of the available servers. If the list is 
empty you might be behind a firewall which blocks the needed 
traffic.

Use the server browser to connect to a server. Once connected, 
you'll have to create a new account. Enter an account name and a 
password and press “create”. After you're logged in with an 
account, you'll have to create an avatar in the world. An account 
can have many avatars. Choose a name, a type, a sex and 
optionally a description.

2.1 Moving around in the world

Once in the world you'll be presented to a third person view of 
your avatar. By moving the mouse you can pan around, and the keys 
wasd will make your character move. If you click the right mouse 
button you'll switch to “GUI mode”, in which mouse movements will 
move the cursor instead of the camera, and you can interact with 
the gui.

When in gui mode, the gui behaves pretty much like a standard 
gui. Double click on window headers to make them roll up and 
down. 

Click on an entity in the world (a tree, a NPC) to show the mouse 
picker menu. Most options here are pretty self explanatory. If 
you have something wielded, like an axe or a shovel, you also get 
an option to use the wielded object with the picked entity.

2.1.1 Talking to people

Down to the left you have a widget which allows you to interact 
with the world. If you want to say something, just enter it here 
and press enter. When someone else in the world says something, 
it will be shown through the use of a “talk bubble” to the left 
of the person. Some NPC have a series of suggested responses. 
These will be shown to the left of the NPC. You can let your 
avatar say one of these by clicking on them.

3 Developing

The main design philosophy behind Ember is to as much as possible 
use 3d party libraries. We strive to remove as much uneccessary 
code from Ember as possible, if there's equivalent functionality 
to be found in an existing library. This prevents us from a 
Not-Invented-Here mindset and makes it easier to kill our 
darlings.

• It uses Ogre (http://www.ogre3d.org) to present the world in 
  full 3d. Ogre is very much hardwired into the core of Ember. 

• SDL is used for input handling. This is not that hard wired as 
  Ogre, but since the goal of SDL is to provide a platform 
  agnostic library there's perhaps no big reason to provide 
  support for a different input library. We will hade to do some 
  research into DirectInput though. 

• SigC++ is used for signals and events. This is also very much 
  hardwired into Ember.

Other notable libraries used: 

• CEGUI (http://www.cegui.org.uk) is used for the gui. This can 
  be removed from Ember, and another library can be used. Note 
  however that all current widgets are made for CEGUI only, ie. 
  we don't try to provide a generic widget abstraction. It seems 
  unlikely that such a construct would work. For reference, see 
  any discussion on Java's AWT, Swing and SWT. 

• OpenAL (http://www.openal.org/) is used for the sound. This 
  should be loosely decoupled from Ember, but much like SDL 
  OpenAL is geared towards providing platform agnostic sound 
  support. Then again, FMOD might be interesting. 

See the doc directory and 
http://www.worldforge.org/dev/eng/clients/ember/ for more 
information.

4 Third party libraries

This project uses the Ogre3d library licensed under the LGPL. It 
can be obtained from http://www.ogre3d.org

This project uses the CEGUI library licensed under the LGPL. It 
can be obtained from http://www.cegui.org.uk

This project uses the OpenAL library licensed under the LGPL. It 
can be obtained from http://www.openal.org/

This project uses libraries from the Worldforge project, licensed 
under the GPL. These can be obtained from 
http://www.worldforge.org/