No description
Find a file
Erik Hjortsberg 6ea0e2d9fa Fixed a memory leak where the error handler wasn't properly popped,
resulting in a small memory leak for every call into lua.
2008-10-13 22:29:38 +02:00
autopackage 2007-10-15 Al Riddoch <alriddoch@zepler.org> 2007-10-15 14:03:03 +00:00
doc Updated coding guidelines. 2008-09-01 22:26:45 +02:00
media Removed caelum media since it's now in the media repository. 2008-07-21 23:06:26 +02:00
scratchpad 2007-04-14 Erik Hjortsberg <erik.hjortsberg@iteam.se> 2007-04-14 15:21:06 +00:00
scripts Stripping date from tolua-generated files. Add script to regenerate all bindings. 2008-08-03 13:01:12 +04:00
src Fixed a memory leak where the error handler wasn't properly popped, 2008-10-13 22:29:38 +02:00
test Fixed this one too 2003-10-23 10:34:09 +00:00
.gitignore Ignore vi swap files. 2008-07-31 11:48:30 +04:00
acinclude.m4 2006-12-17 Erik Hjortsberg <erik@katastrof.nu> 2006-12-17 09:30:06 +00:00
AUTHORS Added the GSoC students. 2008-09-09 09:48:36 +02:00
autogen.sh 2008-02-17 Erik Hjortsberg <erik.hjortsberg@iteam.se> 2008-02-17 13:56:20 +00:00
ChangeLog Updated ChangeLog. 2008-09-09 10:11:26 +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 Added an extra check for upper version of Ogre, since the Ogre API is guaranteed to change enough to break compilation between minor releases. 2008-09-17 22:59:09 +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
ember-media.spec.in 2005-02-04 Erik Hjortsberg <erik@katastrof.nu> 2005-02-04 21:49:26 +00:00
ember.bat 2007-03-12 Erik Hjortsberg <erik.hjortsberg@iteam.se> 2007-03-12 21:31:07 +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 Bump versions. 2008-09-10 20:43:03 +02:00
ember.desktop 2008-01-22 Erik Hjortsberg <erik.hjortsberg@iteam.se> 2008-01-22 22:55:29 +00:00
ember.dox.in Updated the doxygen format and provide a "make docs" target. 2008-05-12 19:40:42 +02:00
ember.ico 2008-01-12 Erik Hjortsberg <erik.hjortsberg@iteam.se> 2008-01-12 00:15:04 +00:00
ember.in Tweak the way Ember handles configuration directory to better handle configure directives while still working with binreloc and allowing us to set another prefix at runtime. 2008-07-07 21:31:06 +02:00
Ember.kdevelop Initial merge of Romulo's GSoC branch for better sound support. 2008-08-24 21:11:54 +02:00
Ember.nsi Updated the Nullsoft installer file for 0.5.3. 2008-08-06 21:53:19 +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 Use the numstat format to try to keep the huge size of the ChangeLog down a little. 2008-09-09 10:10:48 +02:00
INSTALL 2005-09-26 Erik Hjortsberg <erik@katastrof.nu> 2005-09-26 20:30:57 +00:00
INSTALL.lyx 2006-02-28 Erik Hjortsberg <erik@katastrof.nu> 2006-02-28 21:57:27 +00:00
make_dist_media.sh No need to copy the definitions since that's now in the shared media. 2008-09-17 23:35:16 +02:00
Makefile.am Updated the doxygen format and provide a "make docs" target. 2008-05-12 19:40:42 +02:00
NEWS Updated NEWS for release. 2008-09-09 09:45:35 +02:00
README 2005-09-26 Erik Hjortsberg <erik@katastrof.nu> 2005-09-26 20:30:57 +00:00
README.lyx 2007-12-15 Erik Hjortsberg <erik.hjortsberg@iteam.se> 2007-12-15 12:51:46 +00:00
refresh-amber-media-dev.sh Updated the dev media script after we've changed the location of the make_dist_media.sh script. 2008-05-06 22:53:23 +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

 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.

 Quickstart

In the upper part of the window is the console. It has 
two modes, full or small. In small mode, which is the 
default, only the input strip is shown. I full mode the 
console occupies half of the screen. Use F12 to switch 
console modes. The console is used for both talking in 
the world and executing commands. If you've used IRC 
before you'll find it quite similiar. All commands are 
prefixed by "/". Use the command "/list_commands" to get a 
list of all available commands. If you just enter text 
normally in the console, your character will say what 
you've entered in the world.

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.

 Moving around in the world

Once in the world you'll be presented to a third person 
view of your avatar. The default mode is GUI mode. In 
GUI mode you can interact with the different GUI 
widgets and moving your mouse will move the cursor. 
Press the right mouse button to switch to movement 
mode. When in movement mode, the mouse is used to pan 
around the world. The avatar will change direction to 
face the camera. Use the keys w,a,s,d to move around 
the world. Pressing shift will make the avatar run.

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.

 Talking to people

Use the console to talk to people in the world, just 
enter some text and press enter. (Note that all console 
commands are prefixed by "/", such as "/quit".) 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.

 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.